TensorFlowasr
نموذج التعرف على الكلام من طرف إلى طرف يعتمد على نسخة المطابقة من TensorFlow 2 ، و RTF لوحدة المعالجة المركزية (معدل الوقت الحقيقي) حوالي 0.1
الفرع الحالي هو إصدار V2 ، وهو بنية ترجمة CTC+
مرحبا بكم في استخدام الأخطاء والتعليقات
يرجى الاطلاع على إصدار V1 من الإصدار القديم
نتائج التدريب Aishell-1:
نتائج غير متصلة بالإنترنت
| اسم | كمية المعلمة | الصينية CER | عدد جولات التدريب | عبر الإنترنت/غير متصل | بيانات الاختبار | طريقة فك التشفير |
|---|---|---|---|---|---|---|
| وينيت (مطابق) | 9.5m | 6.48 ٪ | 100 | دون اتصال بالإنترنت | Aishell1-test | CTC_Greeedy |
| وينيت (محول) | 9.7 م | 8.68 ٪ | 100 | دون اتصال بالإنترنت | Aishell1-test | CTC_Greeedy |
| وينيت (بارافورمر) | 9.0m | 6.99 ٪ | 100 | دون اتصال بالإنترنت | Aishell1-test | paraformer_greeedy |
| funasr (paraformer) | 9.5m | 6.37 ٪ | 100 | دون اتصال بالإنترنت | Aishell1-test | paraformer_greeedy |
| funasr (مطابق) | 9.5m | 6.64 ٪ | 100 | دون اتصال بالإنترنت | Aishell1-test | CTC_Greeedy |
| funasr (e_branchformer) | 10.1m | 6.65 ٪ | 100 | دون اتصال بالإنترنت | Aishell1-test | CTC_Greeedy |
| repo (contormerctc) | 10.1m | 6.8 ٪ | 100 | دون اتصال بالإنترنت | Aishell1-test | CTC_Greeedy |
نتائج التدفق
| اسم | كمية المعلمة | الصينية CER | عدد جولات التدريب | عبر الإنترنت/غير متصل | بيانات الاختبار | طريقة فك التشفير |
|---|---|---|---|---|---|---|
| WENET (U2 ++ concormer) | 10.6m | 8.18 ٪ | 100 | متصل | Aishell1-test | CTC_Greeedy |
| WENET (محول U2 ++) | 10.3m | 9.88 ٪ | 100 | متصل | Aishell1-test | CTC_Greeedy |
| repo (treamingConformerCTC) | 10.1m | 7.2 ٪ | 100 | متصل | Aishell1-test | CTC_Greeedy |
| repo (chunkConformer) | 10.7m | 8.9 ٪ | 100 | متصل | Aishell1-test | CTC_Greeedy |
TTS: https://github.com/z-yq/tensorflowtts
NLU: -
الروبوت: -
بدون بيانات ، يمكنك تحقيق مستوى معين من تأثير ASR.
TTS لـ ASR: بيانات التدريب هي Aishell1 و Aishell3 ، ونوع البيانات أكثر ملاءمة لـ ASR.
نصائح:
هناك 500 صوت في المجموع
مدعوم فقط باللغة الصينية
إذا كان النص المراد تصنيعه له علامات علامات ترقيم ، فيرجى إزالتها يدويًا
إذا كنت ترغب في إضافة توقف مؤقتًا ، أضف SIL في منتصف النص
الخطوة 1: قم بإعداد قائمة نصية ليتم تصنيعها ، إذا تم تسميتها text.list ، على سبيل المثال:
这是第一句话
这是第二句话
这是一句sil有停顿的话
...
Step2: قم بتنزيل النموذج
الرابط: https://pan.baidu.com/s/1den1pmj4olkrkw8ceqruna رمز الاستخراج: c0tp
كلاهما يجب تنزيله ووضعه في الدليل ./augmentations/tts_for_asr/models
الخطوة 3: ثم قم بتشغيل البرنامج النصي في دليل الجذر:
python . / augmentations / tts_for_asr / tts_augment . py - f text . list - o save_dir - - voice_num 10 - - vc_num 3في:
-F هي القائمة التي أعدها Step1
-الجسمة المسار المستخدم لإنقاذ المسار المطلق الموصى به.
-voice_num كم عدد النغمات المستخدمة لتجميع كل جملة
-Vc_num كم مرة يمكن تعزيزها مع تحويل النغمة لكل جملة
بعد الانتهاء من التشغيل ، سيتم إنشاء دليل WAVS و clustr.txt تحت -o
بالإشارة إلى مكتبة Librosa ، يتم تطبيق طبقة استخراج ميزة طيف الكلام باستخدام TF2.
أو يمكنك استخدام الورقة مع كمية أقل من المعلمة.
يستخدم:
mel_layer_type: Melspectrogram #Spectrogram/leaf
trainable_kernel: True #support train model,not recommend
تم تحديث مشروع CPP على أساس ONNX.
انظر CPPINFERENT ONNX للحصول على التفاصيل
مخطط الاستدلال Python استنادًا إلى OnNx ، انظر Python Inference للحصول على التفاصيل
يدعم الآن بنية مطابقة التدفق.
هناك حاليًا طريقتان للتنفيذ:
كتلة مطابقة + CTC العالمية
قطعة متطابقة + CTC منتقي
تم اختبار جميع النتائج على مجموعة بيانات AISHELL TEST .
يتم اختبار RTF (معدل الوقت الفعلي) على مهام فك تشفير وحدة المعالجة المركزية أحادية النواة.
أكون:
| اسم النموذج | ميل طبقة (استخدام/قطار) | وصلة | شفرة | تدريب البيانات | PHONEME CER (٪) | حجم المعلمة | RTF |
|---|---|---|---|---|---|---|---|
| contormerctc (s) | صحيح/خطأ | pan.baidu.com/s/1k6miy1ynglrt0cb-xsqqag | 8S53 | Aishell-1 (50 عصر) | 6.4 | 10 م | 0.056 |
| TreamingConformerCtC | صحيح/خطأ | pan.baidu.com/S/1RC0X7LOIEXAAC0GNHURKHW | ZWH9 | Aishell-1 (50 عصر) | 7.2 | 15m | 0.08 |
| chunkconformer | صحيح/خطأ | pan.baidu.com/s/1o_x67wuywnld-8snbydxg | UJMG | Aishell-1 (50 عصر) | 11.4 | 15m | 0.1 |
فاد:
| اسم النموذج | وصلة | شفرة | تدريب البيانات | حجم المعلمة | RTF |
|---|---|---|---|---|---|
| 8K_ONLINE_VAD | pan.baidu.com/S/1AG9VWTXIQW4C2AGF-6NIGG | OFC9 | بيانات Openslr Open Source | 80K | 0.0001 |
Punc:
| اسم النموذج | وصلة | شفرة | تدريب البيانات | ACC | حجم المعلمة | RTF |
|---|---|---|---|---|---|---|
| Puncmodel | pan.baidu.com/s/1gtvrkyie2cabfiqbn9bhaw | 515T | بيانات المصدر المفتوح NLP | 95 ٪ | 600k | 0.0001 |
يستخدم:
تحويل النموذج إلى ملف ONNX في test_asr.py ووضعه في Pythoninference
مرحبًا بك للانضمام ومناقشة ومشاركة القضايا. إذا كان لديك أكثر من 200 شخص في المجموعة ، فيرجى إضافة ملاحظة "TensorFlowArsr".

آخر التحديثات
pip install tensorflow-gpu 可以参考https://www.bilibili.com/read/cv14876435if you need use the default phonemeFor LAS structure,pip install tensorflow-addonspip install rir-generatorpip install onnxruntime or pip install onnxruntime-gpu قم بإعداد Train_List و Test_List.
تنسيق asr_train_list ، حيث يتم النقر على ' t'
wav_path = "xxx/xx/xx/xxx.wav"
wav_label = "这是个例子"
with open ( 'train.list' , 'w' , encoding = 'utf-8' ) as f :
f . write ( wav_path + ' t ' + wav_label + ' n ' ) :على سبيل المثال ، تم الحصول على القطار.
/opt/data/test.wav 这个是一个例子
......
ما يلي هو تنسيق إعداد بيانات التدريب (غير مطلوب) لاسترداد علامات VAD واسترداد علامات الترقيم:
تنسيق VAD_TRAIN_LIST :
wav_path1
wav_path2
……
على سبيل المثال:
/opt/data/test.wav
يعتمد منطق المعالجة الداخلية لتدريب VAD على الطاقة كعينات تدريب ، لذلك تأكد من تسجيل مجموعة التدريب التي تحضيرها في ظروف هادئة.
تنسيق punc_train_list :
text1
text2
……
في نفس التنسيق مثل LM ، يحتوي النص على كل سطر على علامات الترقيم.
على سبيل المثال:
这是:一个例子哦。 √(正确格式)
这是:“一个例子哦”。 ×(错误格式)
这是:一个例子哦“。 ×(错误格式)
قم بتنزيل نموذج Bert مسبقًا للتدريب على نماذج استرداد علامات الترقيم.
https://pan.baidu.com/s/1_HDAhfGZfNhXS-cYoLQucA extraction code: 4hsa
قم بتعديل ملف التكوين am_data.yml (./ASR/CONFIGS) لتعيين بعض خيارات التدريب ، وتعديل معلمة name في النموذج YAML (مثل: ./ASR/CONFIGS/CONFORMER.YML) لتحديد بنية النموذج.
ثم قم بتنفيذ الأمر:
python train_asr.py --data_config ./asr/configs/am_data.yml --model_config ./asr/configs/ConformerS.yml عندما ترغب في الاختبار ، يمكنك الرجوع إلى العرض stt المكتوب في ./test_asr.py .
python . / test_asr . py يمكنك أيضًا استخدام Tester لاختبار البيانات بكميات كبيرة للتحقق من أداء النموذج الخاص بك:
ينفذ:
python eval_am.py --data_config ./asr/configs/am_data.yml --model_config ./asr/configs/ConformerS.ymlسيظهر هذا البرنامج النصي عدة مؤشرات لـ Ser/Cer/del/Ins/sub
6. لتدريب نموذج استرداد العلامات أو علامات الترقيم ، يرجى الرجوع إلى الخطوات المذكورة أعلاه.
إذا كنت ترغب في استخدام Phoneme الخاص بك ، فأنت بحاجة إلى طريقة التحويل المقابلة في am_dataloader.py .
def init_text_to_vocab ( self ): #keep the name
def text_to_vocab_func ( txt ):
return your_convert_function
self . text_to_vocab = text_to_vocab_func #here self.text_to_vocab is a function,not a call لا تنس أن تبدأ بـ <S> و </S> ، على سبيل المثال:
<S>
</S>
de
shì
……
الرجوع إلى المشاريع الممتازة التالية:
https://github.com/usimarit/tiramisuasr
https://github.com/noahchalifour/warp-transducer
https://github.com/paddlepaddle/deepspeech
https://github.com/baidu-research/warp-ctc
نحن نسمح ونشكرك على استخدام هذا المشروع للبحث الأكاديمي ، وإنتاج المنتجات التجارية ، وما إلى ذلك ، ولكن يحظر على تداول هذا المشروع كسلعة.
بشكل عام ، يتم ترخيص النماذج تقريبًا هنا بموجب Apache 2.0 لجميع البلدان في العالم.
السماح وشكراً على استخدام هذا المشروع للبحث الأكاديمي ، وإنتاج المنتجات التجارية ، والسماح بالاستخدام التجاري وغير التجاري غير المقيد على حد سواء.
ومع ذلك ، يحظر على تداول هذا المشروع كسلعة.