Reinforcement Learning
ml-agents
TensorBoard
ONNX
Pyramids
deep-reinforcement-learning
ML-Agents-Pyramids
Instructions to use AnnaMats/ppo-Pyramids-Training with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- ml-agents
How to use AnnaMats/ppo-Pyramids-Training with ml-agents:
mlagents-load-from-hf --repo-id="AnnaMats/ppo-Pyramids-Training" --local-dir="./download: string[]s"
- Notebooks
- Google Colab
- Kaggle
| name: pytest | |
| on: | |
| pull_request: | |
| paths: # This action will only run if the PR modifies a file in one of these directories | |
| - 'ml-agents/**' | |
| - 'ml-agents-envs/**' | |
| - 'test_constraints*.txt' | |
| - 'test_requirements.txt' | |
| - '.github/workflows/pytest.yml' | |
| push: | |
| branches: | |
| - main | |
| - develop | |
| - 'release/**' | |
| workflow_dispatch: | |
| inputs: | |
| pytest_markers: | |
| description: "Restrict which tests to run based on pytest markers" | |
| required: false | |
| default: "not slow" | |
| type: string | |
| workflow_call: | |
| inputs: | |
| pytest_markers: | |
| required: false | |
| # Hacky way to make sure we run all tests | |
| default: "slow or not slow" | |
| type: string | |
| jobs: | |
| pytest: | |
| runs-on: ubuntu-latest | |
| env: | |
| TEST_ENFORCE_BUFFER_KEY_TYPES: 1 | |
| strategy: | |
| # If one test in the matrix fails we still want to run the others. | |
| fail-fast: false | |
| matrix: | |
| python-version: [3.8.x, 3.9.x, 3.10.x] | |
| include: | |
| - python-version: 3.8.x | |
| pip_constraints: test_constraints_min_version.txt | |
| - python-version: 3.9.x | |
| pip_constraints: test_constraints_mid_version.txt | |
| - python-version: 3.10.x | |
| pip_constraints: test_constraints_max_version.txt | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Set up Python | |
| uses: actions/setup-python@v2 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Cache pip | |
| uses: actions/cache@v2 | |
| with: | |
| # This path is specific to Ubuntu | |
| path: ~/.cache/pip | |
| # Look to see if there is a cache hit for the corresponding requirements file | |
| key: ${{ runner.os }}-pip-${{ hashFiles('ml-agents/setup.py', 'ml-agents-envs/setup.py', 'test_requirements.txt', matrix.pip_constraints) }} | |
| restore-keys: | | |
| ${{ runner.os }}-pip- | |
| ${{ runner.os }}- | |
| - name: Display Python version | |
| run: python -c "import sys; print(sys.version)" | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install --upgrade setuptools | |
| python -m pip install --progress-bar=off -e ./ml-agents-envs -c ${{ matrix.pip_constraints }} | |
| python -m pip install --progress-bar=off -e ./ml-agents -c ${{ matrix.pip_constraints }} | |
| python -m pip install --progress-bar=off -r test_requirements.txt -c ${{ matrix.pip_constraints }} | |
| python -m pip install --progress-bar=off -e ./ml-agents-plugin-examples -c ${{ matrix.pip_constraints }} | |
| - name: Save python dependencies | |
| run: | | |
| pip freeze > pip_versions-${{ matrix.python-version }}.txt | |
| cat pip_versions-${{ matrix.python-version }}.txt | |
| - name: Get pytest marker | |
| id: pytest_marker | |
| run: | | |
| if [ "${{ github.event.inputs.pytest_markers }}" != "" ]; then | |
| echo "::set-output name=markers::${{ github.event.inputs.pytest_markers }}" | |
| else | |
| echo "::set-output name=markers::not slow" | |
| fi | |
| - name: Run pytest | |
| run: | | |
| pytest --cov=ml-agents --cov=ml-agents-envs \ | |
| --cov-report=html --junitxml=junit/test-results-${{ matrix.python-version }}.xml \ | |
| -p no:warnings -v -m "${{ steps.pytest_marker.outputs.markers }}" -n 8 | |
| - name: Upload pytest test results | |
| uses: actions/upload-artifact@v2 | |
| with: | |
| name: artifacts-${{ matrix.python-version }} | |
| path: | | |
| htmlcov | |
| pip_versions-${{ matrix.python-version }}.txt | |
| junit/test-results-${{ matrix.python-version }}.xml | |
| # Use always() to always run this step to publish test results when there are test failures | |
| if: ${{ always() }} | |