
تنفيذ Pytorch للمطابق: محول تم تنشيط الالتفاف للتعرف على الكلام.
تعد نماذج المحولات جيدة في التقاط التفاعلات العالمية القائمة على المحتوى ، في حين تستغل CNNs الميزات المحلية بشكل فعال. يجمع Concormer بين الشبكات العصبية والمحولات في الالتفاف لنمذجة التبعيات المحلية والعالمية لتسلسل الصوت بطريقة موفرة للمعلمة. يتفوق المطابقة بشكل كبير على النماذج السابقة للمحول والنماذج المستندة إلى CNN التي تحقق دقة حديثة.

يحتوي هذا المستودع على رمز النموذج فقط ، ولكن يمكنك التدريب مع المطابقة في OpenSpeesh
يوصي هذا المشروع بيثون 3.7 أو أعلى. نوصي بإنشاء بيئة افتراضية جديدة لهذا المشروع (باستخدام Virtual Env أو Conda).
pip install numpy (راجع هنا لتثبيت مشكلة Numpy).حاليًا ندعم التثبيت فقط من التعليمات البرمجية المصدر باستخدام setuptools. الخروج من رمز المصدر وقم بتشغيل الأوامر التالية:
pip install -e .
import torch
import torch . nn as nn
from conformer import Conformer
batch_size , sequence_length , dim = 3 , 12345 , 80
cuda = torch . cuda . is_available ()
device = torch . device ( 'cuda' if cuda else 'cpu' )
criterion = nn . CTCLoss (). to ( device )
inputs = torch . rand ( batch_size , sequence_length , dim ). to ( device )
input_lengths = torch . LongTensor ([ 12345 , 12300 , 12000 ])
targets = torch . LongTensor ([[ 1 , 3 , 3 , 3 , 3 , 3 , 4 , 5 , 6 , 2 ],
[ 1 , 3 , 3 , 3 , 3 , 3 , 4 , 5 , 2 , 0 ],
[ 1 , 3 , 3 , 3 , 3 , 3 , 4 , 2 , 0 , 0 ]]). to ( device )
target_lengths = torch . LongTensor ([ 9 , 8 , 7 ])
model = Conformer ( num_classes = 10 ,
input_dim = dim ,
encoder_dim = 32 ,
num_encoder_layers = 3 ). to ( device )
# Forward propagate
outputs , output_lengths = model ( inputs , input_lengths )
# Calculate CTC Loss
loss = criterion ( outputs . transpose ( 0 , 1 ), targets , output_lengths , target_lengths ) إذا كان لديك أي أسئلة وتقارير الأخطاء وطلبات الميزات ، فيرجى فتح مشكلة على Github أو
جهات الاتصال [email protected] من فضلك.
أنا أقدر أي نوع من التعليقات أو المساهمة. لا تتردد في المتابعة مع قضايا صغيرة مثل إصلاحات الأخطاء ، وتحسين الوثائق. للمساهمات الرئيسية والميزات الجديدة ، يرجى مناقشة مع المتعاونين في القضايا المقابلة.
أنا أتابع PEP-8 لأسلوب الكود. لا سيما نمط docstrings مهم لتوليد الوثائق.