Commit e22476c6 authored by Olivier REYNET's avatar Olivier REYNET
Browse files

Start

parent f98eebd8
...@@ -31,7 +31,7 @@ Au niveau des ressources nécessaires, on peut s'interroger : ...@@ -31,7 +31,7 @@ Au niveau des ressources nécessaires, on peut s'interroger :
- Faut-il un processeur capable ? - Faut-il un processeur capable ?
- Quelle puissance de calcul est requise ? - Quelle puissance de calcul est requise ?
# Contexte # Contexte d'apprentissage
Pour illustrer ces problématiques, un contexte principal a été choisi : **la reconnaissance de styles musicaux**. Pour illustrer ces problématiques, un contexte principal a été choisi : **la reconnaissance de styles musicaux**.
...@@ -40,35 +40,28 @@ Il s'agit de pouvoir prédire, d'après un extrait musical de 30 secondes, le st ...@@ -40,35 +40,28 @@ Il s'agit de pouvoir prédire, d'après un extrait musical de 30 secondes, le st
Nous disposons pour cela de plusieurs bases de données. La plus simple à utiliser, même si celle-ci n'est pas parfaite, est la collection GTZAN disponible sous différents formats (.au ou .wav). L'ensemble de données se compose de 1000 pistes audio de 30 secondes, de 10 styles différents, chacun représenté par 100 pistes. Les pistes sont toutes des fichiers audio monocanal, échantillonnés sur 16 bits à la fréquence de 22050 Hz. Nous disposons pour cela de plusieurs bases de données. La plus simple à utiliser, même si celle-ci n'est pas parfaite, est la collection GTZAN disponible sous différents formats (.au ou .wav). L'ensemble de données se compose de 1000 pistes audio de 30 secondes, de 10 styles différents, chacun représenté par 100 pistes. Les pistes sont toutes des fichiers audio monocanal, échantillonnés sur 16 bits à la fréquence de 22050 Hz.
Les styles musicaux sont : Les styles musicaux sont :
0. blues
blues 1. classique
classique 2. country
pays 3. disco
disco 4. hiphop
hip hop 5. jazz
jazz 6. metal
métal 7. pop
pop 8. reggae
reggae 9. rock
rock
Solutions étudiées
Nous allons implémenter les algorithmes CART, RF, SVM, ANN.
# Standards # Standards
Ce projet utilise nécessairement : Ce projet utilise nécessairement :
- un compilateur C++ à la norme 20, - un compilateur C++ à la norme 20,
- cmake (>=3.18) - cmake (>=3.18),
- Python 3.9 - Python 3.9 et Scikit Learn.
CMake est utilisé pour construire les exécutables du projet. L'utilisation d'un compilateur local, d'un cross-compilateur ou d'un compilateur distant (sur la cible) est à paramétrer dans les préférences de CLion directement (Build > Toolchains). CMake est utilisé pour construire les exécutables du projet. L'utilisation d'un compilateur local, d'un cross-compilateur ou d'un compilateur distant (sur la cible) est à paramétrer dans les préférences de CLion directement (Build > Toolchains).
On pourra ajouter dans chaque répertoire le code Python nécessaire au projet. Par exemple, dans le répertoire SVM, on peut ajouter un répertoire Python qui contient le code pour calculer les coefficients d'une SVM optimale, adaptée au problème. On pourra ajouter dans chaque répertoire le code Python nécessaire au projet. Par exemple, dans le répertoire SVM, on peut ajouter un répertoire Python qui contient le code pour calculer les coefficients d'une SVM optimale, adaptée au problème.
**Il est très vivement recommandé d'utiliser CLion comme IDE et gcc comme compilateur.**.
# Cible # Cible
...@@ -138,7 +131,7 @@ Ils seront automatiquement inscrits dans le fichier généré par write_csv. ...@@ -138,7 +131,7 @@ Ils seront automatiquement inscrits dans le fichier généré par write_csv.
- ANN : élaborer un réseau de neurones artificiel optimal, implémenter le réseau en C++ pour prédire sur la cible. - ANN : élaborer un réseau de neurones artificiel optimal, implémenter le réseau en C++ pour prédire sur la cible.
# Objectifs et évaluation --> 18/01 # Objectifs et évaluation --> 18/01/2022
## Objectifs : ## Objectifs :
...@@ -167,7 +160,7 @@ Ils seront automatiquement inscrits dans le fichier généré par write_csv. ...@@ -167,7 +160,7 @@ Ils seront automatiquement inscrits dans le fichier généré par write_csv.
9. (facultatif) Comparer vos implémentations avec TensorFlow sur Raspberry Pi. 9. (facultatif) Comparer vos implémentations avec TensorFlow sur Raspberry Pi.
10. (obligatoire) Comparer les approches et faire un tableau synthétique des caractéristiques et des performances de chacune approche SVM à une approche NN. 10. (obligatoire) Comparer les approches et faire un tableau synthétique des caractéristiques et des performances de chacune approche SVM à une approche NN.
## Évaluation pour le 18/01 (dépôt Moodle) : ## Évaluation pour le 18/01/2022 (dépôt Moodle) :
- Rapport au format PDF police 11 de 10 pages maximum qui rend compte précisément de votre travail. - Rapport au format PDF police 11 de 10 pages maximum qui rend compte précisément de votre travail.
- Le code source (C++/Python/Matlab) - Le code source (C++/Python/Matlab)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment