lambda networks
0.4.0
Implementasi λ Networks, pendekatan baru untuk pengenalan gambar yang mencapai SOTA di ImageNet. Metode baru ini menggunakan lapisan λ, yang menangkap interaksi dengan mengubah konteks menjadi fungsi linier, yang disebut lambda, dan menerapkan fungsi linier ini ke setiap masukan secara terpisah.
Ulasan makalah Yannic Kilcher
$ pip install lambda-networks
Konteks global
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)
Konteks yang dilokalkan
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)
Untuk bersenang-senang, Anda juga dapat mengimpornya sebagai berikut
from lambda_networks import λLayer
Shinel94 telah menambahkan implementasi Keras! Ini tidak akan didukung secara resmi di repositori ini, jadi salin/tempel kode di bawah ./lambda_networks/tfkeras.py
atau pastikan untuk menginstal tensorflow
dan keras
sebelum menjalankan yang berikut ini.
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 }
}