Penulis/Mantainer: Ignacio Heredia (CSIC)
Proyek: Pekerjaan ini merupakan bagian dari proyek DEEP Hybrid-DataCloud yang telah menerima dana dari program penelitian dan inovasi Horizon 2020 Uni Eropa berdasarkan perjanjian hibah No 777435.
Ini adalah alat plug-and-play untuk melakukan klasifikasi audio dengan Deep Learning. Hal ini memungkinkan pengguna untuk mengklasifikasikan sampel audio mereka serta melatih pengklasifikasi mereka sendiri untuk masalah khusus. Pengklasifikasi saat ini telah dilatih sebelumnya pada 527 kelas tingkat tinggi dari kumpulan data AudioSet.
Anda dapat menemukan informasi lebih lanjut tentang hal ini di DEEP Marketplace.
Daftar isi
Persyaratan
Proyek ini telah diuji di Ubuntu 18.04 dengan Python 3.6.5. Persyaratan paket lebih lanjut dijelaskan dalam file
requirements.txt
.
- Untuk mendukung berbagai format audio kita perlu menggunakan perpustakaan FFMPEG. Untuk menginstalnya di Linux silakan jalankan:
apt-get install ffmpeg libavcodec-extra- Tensorflow>=1.14.0 harus diinstal (baik dalam mode GPU atau CPU). Ini tidak tercantum dalam
requirements.txt
karena merusak dukungan GPU.
Untuk mulai menggunakan kerangka kerja ini, kloning repo dan unduh bobot default:
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
sekarang jalankan DEEPaaS:
deepaas-run --listen-ip 0.0.0.0
dan buka http://0.0.0.0:5000/ui dan cari metode yang dimiliki modul audioclas
.
Kami juga telah menyiapkan container Docker yang siap digunakan untuk menjalankan modul ini. Untuk menjalankannya:
docker search deephdc
docker run -ti -p 5000:5000 -p 6006:6006 -p 8888:8888 deephdc/deep-oc-audio-classification-tf
Sekarang buka http://0.0.0.0:5000/ui dan cari metode milik modul audioclas
.
Anda dapat melatih pengklasifikasi audio Anda sendiri dengan kumpulan data khusus Anda. Untuk itu Anda harus:
Letakkan gambar Anda di folder ./data/audios
. Jika Anda memiliki data di tempat lain, Anda dapat menggunakan lokasi tersebut dengan mengatur parameter dataset_directory
di argumen pelatihan. Harap gunakan format audio standar (seperti .mp3
atau .wav
).
Catatan Pengklasifikasi berfungsi pada sampel 10 detik. Jadi, jika file audio lebih panjang/pendek dari 10 detik, file tersebut akan digabungkan dalam loop agar bertahan selama kelipatan 10 detik. Jadi file audio 22 detik akan membuat 3 embeddings:
*-0.npy
,*-1.npy
dan*-2.npy
.
Pertama, Anda perlu menambahkan file berikut ke direktori ./data/dataset_files
:
File wajib | File opsional |
---|---|
classes.txt , train.txt | val.txt , test.txt , info.txt |
File train.txt
, val.txt
dan test.txt
mengaitkan nama audio (atau jalur relatif) ke nomor label (yang harus dimulai dari nol ). File classes.txt
menerjemahkan nomor label tersebut menjadi nama label. Terakhir, info.txt
memungkinkan Anda memberikan informasi (seperti jumlah file audio dalam database) tentang setiap kelas.
Jika Anda menggunakan opsi compute_embeddings=False
maka jalur file harus mengarah ke jalur .npy
penyematan, bukan file audio asli, dan parameter dataset_directory
harus mengarah ke folder yang berisi penyematan.
Anda dapat menemukan contoh file ini di ./data/demo-dataset_files
.
Buka http://0.0.0.0:5000/ui dan cari metode TRAIN
POST. Klik 'Cobalah', ubah argumen pelatihan apa pun yang Anda inginkan dan klik 'Jalankan'. Pelatihan akan diluncurkan dan Anda dapat mengikuti statusnya dengan menjalankan metode TRAIN
GET yang juga akan memberikan riwayat semua pelatihan yang dijalankan sebelumnya.
Jika modul memiliki semacam pemantauan pelatihan yang dikonfigurasi (seperti Tensorboard), Anda dapat mengikutinya di http://0.0.0.0:6006.
Buka http://0.0.0.0:5000/ui dan cari metode PREDICT
POST. Klik 'Cobalah', ubah argumen pengujian apa pun yang Anda inginkan dan klik 'Jalankan'. Anda dapat menyediakan:
data
dengan jalur yang menunjuk ke file audio atau file terkompresi (mis. zip, tar, ...) yang berisi file audio.ATAU
url
dengan URL yang menunjuk ke file audio atau file terkompresi (mis. zip, tar, ...) yang berisi file audio. Berikut adalah contoh url yang dapat Anda gunakan untuk tujuan pengujian. Kode dalam proyek ini didasarkan pada repo asli oleh IBM, dan mengimplementasikan makalah 'Model Perhatian Multi-level untuk Klasifikasi Audio yang Diawasi dengan Lemah' oleh Yu dkk.
Perubahan utama sehubungan dengan repo asli adalah:
Jika Anda menganggap proyek ini berguna, mohon pertimbangkan untuk mengutip proyek DEEP Hybrid DataCloud:
García, Álvaro López, dkk. Kerangka Kerja Berbasis Cloud untuk Beban Kerja dan Aplikasi Machine Learning. Akses IEEE 8 (2020): 18681-18692.
beserta salah satu referensi di bawah ini:
- Jort F. Gemmeke, dkk., Kumpulan audio: Kumpulan data ontologi dan berlabel manusia untuk peristiwa audio, IEEE ICASSP, 2017.
- Qiuqiang Kong, dkk., Klasifikasi Kumpulan Audio dengan model perhatian: Perspektif probabilistik. arXiv pracetak arXiv:1711.00927 (2017).
- Changsong Yu, dkk., Model Perhatian Multi-level untuk Klasifikasi Audio yang Diawasi dengan Lemah. arXiv pracetak arXiv:1803.02353 (2018).
- S. Hershey, dkk., Arsitektur CNN untuk klasifikasi audio skala besar, arXiv preprint arXiv:1609.09430, 2016.