https://github.com/bepb/kaggle_connectx
https://github.com/bepb/kaggle_connectx
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/bepb/kaggle_connectx
- Owner: BEPb
- Created: 2021-12-25T11:50:46.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-03-17T21:36:40.000Z (over 4 years ago)
- Last Synced: 2025-03-24T13:05:02.138Z (over 1 year ago)
- Language: Python
- Size: 1.8 MB
- Stars: 20
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Модель машинного обучения для соревнования kaggle игры ConnectX
- Мы используем возможности параллелизма [PARL] для выполнения самостоятельных игр между только что обученной
моделью и лучшей версией предыдущих версий обучения.
- Мы также предоставляем сценарии для упаковки вашей хорошо обученной модели в файл для отправки в Kaggle [Connect X]
(https://www.kaggle.com/c/connectx/leaderboard) напрямую.
### Необходимые пакеты для работы
- python3
- parl
- torch
- tqdm
### Для начала работы
```commandline
# для создания списка установленных пакетов используйте команду
pip freeze > requirements.txt
# для установки всего списка необходимых пакетов
pip3 install -r requirements.txt
```
### Тренировка модели
1. Для первоначального обучения мы используем 1000 игр между двумя произвольными агентами с оценкой результатов игры.
Вы также можете скачать этот датасет самостоятельно по следующей ссылке - [1k connect4 validation
set](https://www.kaggle.com/petercnudde/1k-connect4-validation-set)
2. Для начала работу необходимо запустить кластер xparl следующей командой в терминале:
```bash
# Вы можете изменить следующие `cpu_num` и` args.actor_nums` в main.py
# в зависимости от количества ядер Центрального Процессора вашего компьютера.
# у меня на ноутбуке их 8, для отображения прогресса тренировки запускаем веб-интерфейс, он в режиме реального
# времени покажет нагрузку на процессор, а также отобразит работу каждого агента (ядра Вашего ЦП)
xparl start --port 8010 --cpu_num 8
#xparl start --port 8000 --debug --cpu_num 8 --monitor_port 8001 --log_server_port_range 8002-8010
# для получения справочной информации введите
xparl --help
# или
xparl connect --help
#xparl connect --address 127.0.0.1 --cpu_num 8 --log_server_port_range 8011-8019
```
3. Далее в терминале запустите тренировочный скрипт main.py:
```bash
# это программа для запуска полного цикла тренировки Вашей модели (использует метод обучения с подкреплением)
python /home/user/PycharmProjects/Kaggle_ConnectX/main.py
```
4. Для проверки статуса работы кластера xparl введите в терминале:
```commandline
xparl status
```
5. Для завершения работы кластера xparl введите в терминале:
```commandline
xparl stop
```
### Отправка результата Вашей работы
Чтобы отправить хорошо обученную модель в Kaggle, вы можете использовать предоставленный скрипт для создания
файла submission.py, для этого введите в терминале:
```bash
python /home/user/PycharmProjects/Kaggle_ConnectX/gen_submission.py /home/user/PycharmProjects/Kaggle_ConnectX/saved_model/best.pth.tar
```
### запуск игры с обученной моделью и Вами
```commandline
python /home/user/PycharmProjects/Kaggle_ConnectX/connect4_aiplayer.py
```
### Полезные ссылки
Вводные блокноты
- [ConnectX Getting Started](https://www.kaggle.com/andrej0marinchenko/connectx-getting-started)
- [СonnectX second step](https://www.kaggle.com/andrej0marinchenko/onnectx-second-step)