Mlflow+EarlyStopping (#75) #353
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build SVM-s and maps + Run training | |
on: [push, pull_request] | |
jobs: | |
build-and-launch: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Install poetry | |
run: | | |
pipx install poetry | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11.8" | |
cache: "poetry" | |
- name: Install dependencies | |
working-directory: ./ | |
run: | | |
poetry --ansi install | |
poetry add --group dev poethepoet | |
- name: Setup Java | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'oracle' | |
java-version: '21' | |
cache: 'maven' | |
- name: Build V# game server | |
working-directory: ./GameServers/VSharp/ | |
run: | | |
dotnet build VSharp.ML.GameServer.Runner -c Release | |
- name: Build usvm game server | |
working-directory: ./GameServers/usvm/ | |
run: | | |
./gradlew build --no-daemon | |
- name: Build .NET game maps | |
working-directory: ./maps/DotNet/Maps | |
run: | | |
dotnet build Root -c Release | |
- name: Build manually collected Java game maps | |
working-directory: ./maps/Java/Maps | |
run: | | |
./gradlew build | |
- name: Build Java game maps from LogicNG | |
working-directory: ./maps/Java/Maps/LogicNG | |
run: | | |
mvn package -Dmaven.test.skip -Dmaven.javadoc.skip=true | |
- name: Build Java game maps from jflex | |
working-directory: ./maps/Java/Maps/jflex | |
run: | | |
mvn package -Dmaven.test.skip -Dmaven.javadoc.skip=true -Dfmt.skip | |
- name: Generate initial data for training | |
working-directory: ./GameServers/VSharp/VSharp.ML.GameServer.Runner/bin/Release/net7.0 | |
run: | | |
dotnet VSharp.ML.GameServer.Runner.dll --mode generator --datasetbasepath ../../../../../../maps/DotNet/Maps/Root/bin/Release/net7.0 --datasetdescription ../../../../../../workflow/dataset_for_tests_net.json --stepstoserialize 200 | |
- name: Move SerializedEpisodes | |
working-directory: ./AIAgent | |
run: | | |
mkdir report | |
mv ../GameServers/VSharp/VSharp.ML.GameServer.Runner/bin/Release/net7.0/8100/SerializedEpisodes/ report/ | |
- name: Launch application | |
run: | | |
poetry --ansi run poe launch_servers --config ../workflow/config_for_tests.yml & | |
echo "Waiting for server to start..." && sleep 10 | |
- name: Run MLFlow server | |
run: | | |
poetry --ansi run mlflow server -h 127.0.0.1 -p 8080 --serve-artifacts & | |
echo "Waiting for mlflow server to start..." && sleep 10 | |
- name: Run training | |
run: | | |
poetry --ansi run poe run_training --config ../workflow/config_for_tests.yml | |
- name: Sanity check | |
working-directory: ./AIAgent | |
run: | | |
if ls report/study.pkl 1> /dev/null 2>&1; then | |
echo "PKL files found." | |
else | |
echo "No PKL files found." | |
exit 1 | |
fi |