lambda networks
0.4.0
تنفيذ شبكات lect، وهي طريقة جديدة للتعرف على الصور تصل إلى SOTA على ImageNet. تستخدم الطريقة الجديدة الطبقة، التي تلتقط التفاعلات عن طريق تحويل السياقات إلى وظائف خطية، تسمى لامداس، وتطبيق هذه الوظائف الخطية على كل مدخل على حدة.
مراجعة ورقة يانيك كيلشر
$ 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 }
}