Gosznak ML Taks
Задание 1: Структуры и алгоритмы
См. файл Task_1.ipynb
.
Задание 2 ML\DL
Организация кода
├── README.md <- Инструкция.
│
├── configs <- Параметры для обучения
│ ├── default.yaml <- Параметры по умолчанию
│ ├── training <- Дополнительные параметры для задачи классификации/деноизинга
|
├── logs <- TensorBoard логи и веса моделей
├── src <- Код
Системные требования
- OS: Ubuntu 16.04
- Python: 3.6+
- CUDA: 10.2
Установка
- Скопировать репозиторий
git clone https://github.com/zakajd/audio-denoising.git && cd audio-denoising
- Создать новое окружение
conda create --name audio-denoising torch
- Выполнить
pip install -r requirements.txt
для установки зависимостей
Тестирование лучшей модели
- Скачать веса моделей
classification_weights.zip
,denoising_weights.zip
в папку проекта. - Разархивировать и переместить их в папки с логами и параметрами моделей:
unzip classification_weights.zip && mv model.chpn logs/classification_best
unzip denoising_weights.zip && mv model.chpn logs/denoising_best
- Классификация
python3 test.py --help
. - Денойзинг
python3 test.py --config_path logs/denoising_best --file_path examples/noisy/82_121544_82-121544-0008.npy
Обучение модели
- Отредактируйте файл настроек
configs/default.yaml
указав путь до папки с данными. - Классификация
CUDA_VISIBLE_DEVICES=0 python3 train.py training=classification
- Денойзинг
CUDA_VISIBLE_DEVICES=0 python3 train.py training=denoising
Описание решения
Для задачи деноизинга была использована архитектура типа Unet с предобученным энкодером SeResNet50. Обучение с MSE в качестве лосса дало сглаженный результат. Дообучение с L1 лоссом улучшило результат визуально, но сделало хуже по метрике.
Пример 1
Шумная | Денойзинг | Чистая
Пример 2
Шумная | Денойзинг | Чистая