Search Issue Tracker

By Design

Votes

1

Found in [Package]

1.0.6

Issue ID

MLA-1953

Regression

No

mlagents-learn commands time-scale option does not affect time scale

Package: ML-Agents

-

Steps to reproduce:
1. Download and extract the attached folder
2. Download and install Anaconda (https://repo.anaconda.com/archive/Anaconda3-2020.11-Windows-x86_64.exe)
3. Open the Anaconda Navigator, go to the Environments tab and Create a new environment called "unity_mlagents"
4. Open Anaconda Powershell Prompt
5. Enter "conda activate anaconda3\\envs\\unity_mlagents" and press Enter
6. Enter "cd \[LOCATION_WHERE_YOU_EXTRACTED_THE_PROJECT]\\ml-agents-release_15" and press Enter
7. Enter "pip install -e ml-agents" and press Enter
8. Enter "pip install -e ml-agents-envs" and press Enter
9. Enter "pip install torch" and press Enter
10. Open the "ml-agents-release_15" > "Project" project in Unity
11. Enter "mlagents-learn config\\sac\\3DBall.yaml --run-id=first_run_3dball --time-scale=1" and press Enter (in Anaconda Powershell Prompt)
12. Open the "3DBall" Scene from "Assets" > "ML-Agents" > "Examples" > "3DBall" > "Scenes"
13. Enter the PlayMode
14. Select "TIME_SCALE_CHECK" GameObject from the Hierarchy window
15. Check the "Track Time" checkbox of the Time Scale Test Component in the Inspector window

Expected results: Scaled Time and Unscaled Time fields of Time Scale Test Component values increases at the same steady rate
Actual result: Scaled Time field's value increases at a higher rate than Unscaled Time field's value

Reproducible with: 2018.4.34f1 (1.0.6), 2019.4.25f1 (1.9.0), 2020.3.6f1 (1.9.0), 2021.2.0a15 (1.9.0, 1.9.1)

Note: can also be reproduced using other python environments

  1. Resolution Note:

    * ML-Agents does what it says it's doing (it sets Time.timeScale), but there are more complicated interactions with the other Time settings. These are not specific to ML-Agents.
    * If the user doesn't want ML-Agents to change any of the time settings during training, they should pass "--time-scale=1 --capture-frame-rate=0 --target-frame-rate=-1" to mlagents-learn
    * If the user just wants the scaled and unscaled delta times to be equal, they can just pass "--time-scale=1 --capture-frame-rate=0"

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.