ผู้แต่ง/ผู้จัดการ: อิกนาซิโอ เฮเรเดีย (CSIC)
โครงการ: งานนี้เป็นส่วนหนึ่งของโครงการ DEEP Hybrid-DataCloud ที่ได้รับเงินทุนจากโครงการวิจัยและนวัตกรรม Horizon 2020 ของสหภาพยุโรปภายใต้ข้อตกลงการให้ทุนหมายเลข 777435
นี่เป็นเครื่องมือ Plug-and-Play เพื่อดำเนินการจำแนกเสียงด้วย Deep Learning ช่วยให้ผู้ใช้สามารถจำแนกตัวอย่างเสียงของตนได้ตลอดจนการฝึกอบรมตัวแยกประเภทของตนเองสำหรับปัญหาที่กำหนดเอง ขณะนี้ตัวแยกประเภทได้รับการฝึกอบรมล่วงหน้าในคลาสระดับสูง 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 (ไม่ว่าจะอยู่ในโหมด gpu หรือ cpu) สิ่งนี้ไม่อยู่ใน
requirements.txt
เนื่องจากจะทำให้การรองรับ GPU หยุดชะงัก
หากต้องการเริ่มใช้เฟรมเวิร์กนี้ ให้โคลน repo และดาวน์โหลดน้ำหนักเริ่มต้น:
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
ใน args การฝึกอบรม โปรดใช้รูปแบบเสียงมาตรฐาน (เช่น .mp3
หรือ .wav
)
หมายเหตุ ตัวแยกประเภททำงานกับตัวอย่าง 10 วินาที ดังนั้นหากไฟล์เสียงยาว/สั้นกว่า 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 คลิกที่ 'ลองใช้' เปลี่ยนการทดสอบ args ที่คุณต้องการแล้วคลิก 'ดำเนินการ' คุณ สามารถ จัดหา:
data
ที่มีเส้นทางชี้ไปยังไฟล์เสียงหรือไฟล์บีบอัด (เช่น zip, tar, ... ) ที่มีไฟล์เสียงหรือ
url
ที่มี URL ชี้ไปที่ไฟล์เสียงหรือไฟล์บีบอัด (เช่น zip, tar, ... ) ที่มีไฟล์เสียง นี่คือตัวอย่างของ URL ที่คุณสามารถใช้เพื่อการทดสอบ รหัสในโครงการนี้อิงตาม repo ดั้งเดิมของ IBM และใช้รายงาน 'โมเดลความสนใจหลายระดับสำหรับการจัดประเภทเสียงที่มีการดูแลอย่างอ่อนแอ' โดย Yu et al
การเปลี่ยนแปลงหลักที่เกี่ยวข้องกับ repo ดั้งเดิมคือ:
หากคุณเห็นว่าโปรเจ็กต์นี้มีประโยชน์ โปรดพิจารณาอ้างอิงโปรเจ็กต์ DEEP Hybrid DataCloud:
การ์เซีย, อัลบาโร โลเปซ และคณะ กรอบงานบนคลาวด์สำหรับปริมาณงานและแอปพลิเคชันการเรียนรู้ของเครื่อง การเข้าถึง IEEE 8 (2020): 18681-18692
พร้อมด้วยข้อมูลอ้างอิงด้านล่าง:
- Jort F. Gemmeke และคณะ ชุดเสียง: ภววิทยาและชุดข้อมูลที่กำกับโดยมนุษย์สำหรับเหตุการณ์เสียง, IEEE ICASSP, 2017
- Qiuqiang Kong และคณะ การจำแนกชุดเสียงพร้อมโมเดลความสนใจ: มุมมองที่น่าจะเป็น arXiv พิมพ์ล่วงหน้า arXiv:1711.00927 (2017)
- Changsong Yu และคณะ โมเดลความสนใจหลายระดับสำหรับการจัดประเภทเสียงที่มีการดูแลอย่างอ่อนแอ arXiv พิมพ์ล่วงหน้า arXiv:1803.02353 (2018)
- S. Hershey และคณะ สถาปัตยกรรม CNN สำหรับการจำแนกเสียงขนาดใหญ่ arXiv พิมพ์ล่วงหน้า arXiv:1609.09430, 2016