- Описание
- Структура проекта
- Требования
- Установка
- Конфигурация
- Обучение модели
- Предсказание
- Оценка результатов
- Тестирование
- Contributing
- Лицензия
Проект по распознаванию сигналов азбуки Морзе из аудиофайлов с помощью сверточной нейронной сети (CNN). Включает этапы предобработки данных, обучения модели и оценки результатов.
morse_CNN-model/
├── модели/ # Сохранённые модели (.pth файлы)
│ ├── morse_model_hires.pth
│ ├── my_morse_ctc.pth
│ ├── w_aug.pth
│ ├── w_out_aug.pth
│ └── w_out_aug_2.pth
├── ноутбуки/ # Jupyter-ноутбуки для анализа и экспериментов
│ ├── 6.ipynb
│ ├── 7.ipynb
│ └── 8.ipynb
├── сабмиты/ # Результаты предсказаний (submission файлы)
│ ├── submission_8.csv
│ ├── submission_9.csv
│ └── submission_10.csv
├── train.csv # Обучающий набор данных
├── test.csv # Тестовый набор данных
├── logbook.txt # Журнал экспериментов и заметок
└── README.md # Описание проекта
- Python 3.7 или новее
- PyTorch
- NumPy, SciPy, librosa
- другие зависимости перечислены в
requirements.txt
- Склонируйте репозиторий:
git clone https://github.com/Ily17as/morse_CNN-model.git cd morse_CNN-model - Установите зависимости:
pip install -r requirements.txt
Все параметры обучения и пути к данным задаются в файле config/config.yaml. Пример:
data:
raw_path: data/raw
processed_path: data/processed
model:
type: cnn
input_shape: [1, 128, 128]
train:
epochs: 50
batch_size: 32
learning_rate: 0.001Для запуска обучения выполните:
python src/models/train.py \
--config config/config.yamlДля получения предсказаний с обученной модели:
python src/models/predict.py \
--model outputs/models/best_model.pth \
--input data/processed/test_data.csv \
--output outputs/submissions/predictions.csvСкрипт src/models/evaluate.py вычисляет метрики качества (точность, F1-score и т.д.). Пример запуска:
python src/models/evaluate.py \
--predictions outputs/submissions/predictions.csv \
--ground_truth data/processed/labels.csvЗапуск юнит-тестов через pytest:
pytest tests/Благодарим за вклад! Пожалуйста, откройте issue для обсуждения и отправьте pull request с вашими изменениями. Соблюдайте код-стайл и добавляйте тесты.
Проект создан для участия в соревновании Kaggle: Morse Decoder Challenge
Результат участника:
📊 Private Score: 0.64968
📈 Место в лидерборде: 52 место
⏱️ Количество сабмитов: 15
📅 Последний сабмит: 18 дней назад
Этот проект лицензирован под MIT License. См. файл LICENSE для деталей.