المؤلف/المدير: اجناسيو هيريديا (CSIC)
المشروع: يعد هذا العمل جزءًا من مشروع DEEP Hybrid-DataCloud الذي حصل على تمويل من برنامج البحث والابتكار Horizon 2020 التابع للاتحاد الأوروبي بموجب اتفاقية المنحة رقم 777435.
هذه أداة توصيل وتشغيل لإجراء تصنيف الصوت باستخدام التعلم العميق. يسمح للمستخدم بتصنيف عينات الصوت الخاصة به بالإضافة إلى تدريب المصنف الخاص به على مشكلة مخصصة. تم تدريب المصنف مسبقًا حاليًا على 527 فئة عالية المستوى من مجموعة بيانات AudioSet.
يمكنك العثور على مزيد من المعلومات حول هذا الموضوع في DEEP Marketplace.
جدول المحتويات
متطلبات
تم اختبار هذا المشروع في Ubuntu 18.04 مع Python 3.6.5. تم توضيح متطلبات الحزمة الإضافية في ملف
requirements.txt
.
- لدعم مجموعة واسعة من تنسيقات الصوت نحتاج إلى الاستفادة من مكتبة FFMPEG. لتثبيته على Linux، يرجى تشغيل:
apt-get install ffmpeg libavcodec-extra- من الضروري تثبيت Tensorflow>=1.14.0 (إما في وضع وحدة معالجة الرسومات أو وحدة المعالجة المركزية). لم يتم إدراج هذا في ملف
requirements.txt
لأنه يكسر دعم وحدة معالجة الرسومات.
للبدء في استخدام إطار العمل هذا، قم باستنساخ الريبو وتنزيل الأوزان الافتراضية:
git clone https://github.com/deephdc/audio-classification-tf
cd audio-classification-tf
pip install -e .
curl -o ./models/default.tar.gz https://api.cloud.ifca.es:8080/swift/v1/audio-classification-tf/default.tar.gz
cd models && tar -zxvf default.tar.gz && rm default.tar.gz
قم الآن بتشغيل DEEPaaS:
deepaas-run --listen-ip 0.0.0.0
وافتح http://0.0.0.0:5000/ui وابحث عن الأساليب التابعة لوحدة audioclas
.
لقد قمنا أيضًا بإعداد حاوية Docker جاهزة للاستخدام لتشغيل هذه الوحدة. لتشغيله:
docker search deephdc
docker run -ti -p 5000:5000 -p 6006:6006 -p 8888:8888 deephdc/deep-oc-audio-classification-tf
افتح الآن http://0.0.0.0:5000/ui وابحث عن الأساليب التابعة لوحدة audioclas
.
يمكنك تدريب مصنف الصوت الخاص بك باستخدام مجموعة البيانات المخصصة الخاصة بك. لذلك عليك:
ضع صورك في المجلد ./data/audios
. إذا كانت لديك بياناتك في مكان آخر، فيمكنك استخدام هذا الموقع عن طريق تعيين معلمة dataset_directory
في وسيطات التدريب. الرجاء استخدام تنسيق صوتي قياسي (مثل .mp3
أو .wav
).
ملاحظة: يعمل المصنف على عينات مكونة من 10 ثوانٍ. وبالتالي، إذا كان الملف الصوتي أطول/أقصر من 10 ثوانٍ، فسيتم ربطه في حلقة لجعله يدوم عدة مرات. لذا فإن ملف صوتي مدته 22 ثانية سينشئ 3 تضمينات:
*-0.npy
و*-1.npy
و*-2.npy
.
تحتاج أولاً إلى إضافة الملفات التالية إلى الدليل ./data/dataset_files
:
الملفات الإلزامية | ملفات اختيارية |
---|---|
classes.txt ، train.txt | val.txt ، test.txt ، info.txt |
تقوم ملفات train.txt
و val.txt
و test.txt
بربط اسم صوتي (أو مسار نسبي) برقم التسمية (الذي يجب أن يبدأ عند الصفر ). يقوم الملف classes.txt
بترجمة أرقام التصنيفات هذه إلى أسماء تصنيفات. وأخيرًا، يتيح لك ملف info.txt
تقديم معلومات (مثل عدد الملفات الصوتية في قاعدة البيانات) حول كل فئة.
إذا كنت تستخدم الخيار compute_embeddings=False
، فيجب أن يشير مسار الملف إلى مسار .npy
للتضمين بدلاً من ملف الصوت الأصلي ويجب أن تشير معلمة dataset_directory
إلى المجلد الذي يحتوي على التضمينات.
يمكنك العثور على أمثلة لهذه الملفات على ./data/demo-dataset_files
.
انتقل إلى http://0.0.0.0:5000/ui وابحث عن طريقة TRAIN
POST. انقر فوق "جربها"، وقم بتغيير وسائط التدريب التي تريدها وانقر فوق "تنفيذ". سيتم إطلاق التدريب وستكون قادرًا على متابعة حالته من خلال تنفيذ طريقة TRAIN
GET التي ستوفر أيضًا تاريخًا لجميع الدورات التدريبية التي تم تنفيذها مسبقًا.
إذا كانت الوحدة تحتوي على نوع من مراقبة التدريب التي تم تكوينها (مثل Tensorboard)، فستتمكن من متابعتها على http://0.0.0.0:6006.
انتقل إلى http://0.0.0.0:5000/ui وابحث عن طريقة PREDICT
POST. انقر فوق "جربه"، وقم بتغيير وسيطات الاختبار التي تريدها وانقر فوق "تنفيذ". يمكنك إما توفير:
data
بمسار يشير إلى ملف صوتي أو ملف مضغوط (على سبيل المثال، zip، tar، ...) يحتوي على ملفات صوتية.أو
url
مع عنوان URL يشير إلى ملف صوتي أو ملف مضغوط (على سبيل المثال، zip، tar، ...) يحتوي على ملفات صوتية. فيما يلي مثال لعنوان URL الذي يمكنك استخدامه لأغراض الاختبار. يعتمد الكود الموجود في هذا المشروع على الريبو الأصلي من IBM، ويطبق الورقة "نموذج الاهتمام متعدد المستويات لتصنيف الصوت الخاضع للإشراف الضعيف" بقلم يو وآخرون.
التغييرات الرئيسية فيما يتعلق بالريبو الأصلي هي:
إذا كنت تعتبر هذا المشروع مفيدًا، فيرجى التفكير في الاستشهاد بمشروع DEEP Hybrid DataCloud:
غارسيا، ألفارو لوبيز، وآخرون. إطار عمل قائم على السحابة لأحمال عمل وتطبيقات التعلم الآلي. IEEE Access 8 (2020): 18681-18692.
مع أي من المراجع أدناه:
- جورت ف. جيميكي وآخرون، مجموعة الصوت: مجموعة بيانات وجودية ومصنفة بواسطة الإنسان للأحداث الصوتية، IEEE ICASSP، 2017.
- تشيوكيانغ كونغ وآخرون، تصنيف مجموعة الصوت مع نموذج الانتباه: منظور احتمالي. arXiv طبعة أولية arXiv:1711.00927 (2017).
- تشانغسونغ يو وآخرون، نموذج الانتباه متعدد المستويات لتصنيف الصوت الخاضع للإشراف الضعيف. arXiv طبعة أولية arXiv:1803.02353 (2018).
- إس هيرشي وآخرون، معماريات CNN لتصنيف الصوت على نطاق واسع، arXiv preprint arXiv:1609.09430، 2016.