lambda networks
0.4.0
การใช้งาน แล เครือข่าย ซึ่งเป็นแนวทางใหม่ในการจดจำภาพที่เข้าถึง SOTA บน ImageNet วิธีการใหม่ใช้เลเยอร์ แล ซึ่งบันทึกการโต้ตอบโดยการแปลงบริบทเป็นฟังก์ชันเชิงเส้น เรียกว่า lambdas และใช้ฟังก์ชันเชิงเส้นเหล่านี้กับแต่ละอินพุตแยกกัน
บทวิจารณ์บทความของ Yannic Kilcher
$ pip install lambda-networks
บริบททั่วโลก
import torch
from lambda_networks import LambdaLayer
layer = LambdaLayer (
dim = 32 , # channels going in
dim_out = 32 , # channels out
n = 64 , # size of the receptive window - max(height, width)
dim_k = 16 , # key dimension
heads = 4 , # number of heads, for multi-query
dim_u = 1 # 'intra-depth' dimension
)
x = torch . randn ( 1 , 32 , 64 , 64 )
layer ( x ) # (1, 32, 64, 64)
บริบทที่แปลเป็นภาษาท้องถิ่น
import torch
from lambda_networks import LambdaLayer
layer = LambdaLayer (
dim = 32 ,
dim_out = 32 ,
r = 23 , # the receptive field for relative positional encoding (23 x 23)
dim_k = 16 ,
heads = 4 ,
dim_u = 4
)
x = torch . randn ( 1 , 32 , 64 , 64 )
layer ( x ) # (1, 32, 64, 64)
เพื่อความสนุกสนาน คุณสามารถนำเข้าสิ่งนี้ได้ดังต่อไปนี้
from lambda_networks import λLayer
Shinel94 ได้เพิ่มการใช้งาน Keras! พื้นที่เก็บข้อมูลนี้จะไม่ได้รับการสนับสนุนอย่างเป็นทางการ ดังนั้นให้คัดลอก/วางโค้ดใต้ ./lambda_networks/tfkeras.py
หรือตรวจสอบให้แน่ใจว่าได้ติดตั้ง tensorflow
และ keras
ก่อนที่จะเรียกใช้สิ่งต่อไปนี้
import tensorflow as tf
from lambda_networks . tfkeras import LambdaLayer
layer = LambdaLayer (
dim_out = 32 ,
r = 23 ,
dim_k = 16 ,
heads = 4 ,
dim_u = 1
)
x = tf . random . normal (( 1 , 64 , 64 , 16 )) # channel last format
layer ( x ) # (1, 64, 64, 32)
@inproceedings {
anonymous2021lambdanetworks,
title = { LambdaNetworks: Modeling long-range Interactions without Attention } ,
author = { Anonymous } ,
booktitle = { Submitted to International Conference on Learning Representations } ,
year = { 2021 } ,
url = { https://openreview.net/forum?id=xTJEN-ggl1b } ,
note = { under review }
}