将棋AIの学習・Lambdaへのデプロイ・ReactによるWebアプリ上でのプレイを行う
- AIの学習
- 強化学習
- PyTorch
- DQN
- CNN
- 教師あり学習
- PyTorch
- 強化学習
- サーバーサイド
- APIサーバー
- FastAPI
- LambdaのRestAPI
- Lambda (Docker)
- APIサーバー
- クライアントサイド
- React
- Recoil
- MUI (v5)
python3.9
学習
$ PYTHONPATH=. python3 training/reinforcement_learning/train.py
推論
$ PYTHONPATH=. python3 training/reinforcement_learning/test.py
事前に kifu/hcp
にhcp形式のファイルを保存してください
$ PYTHONPATH=. python3 training/supervised_learning/train.py
サーバーの立ち上げ
$ PYTHONPATH=. uvicorn apps.app_server:app --reload
リクエストを送る
$ curl -XPOST -d '{"moves": ["7776FU", "3334FU"]}' -H "Content-Type: application/json" localhost:8000/move
※ CPUでCNNの推論を行うため、Memory ~ 3GB, Duration ~ 1sほど要します.
dockerイメージ作成
$ docker build -t shogi-lambda:latest -f ./apps/Dockerfile .
dockerコンテナの実行開始
$ docker run -p 9000:8080 shogi-lambda:latest
リクエストを送る
$ curl -XPOST "http://localhost:9000/2015-03-31/functions/function/invocations" -d '{"moves": ["7776FU", "3334FU"]}'