Convert the UnitySDK to a Packman Package.
- Separate Examples into a sample project.
- Move core UnitySDK Code into com.unity.ml-agents.
- Create asmdefs for the ml-agents package.
- Add package validation tests for win/linux/max.
- Update protobuf generation scripts.
- Add Barracuda as a package dependency for ML-Agents. (users no longer have to install it themselves).
* tests WIP
* add test for misses, remove obsolete test
* add filtering test
* cleanup
* 2d default, remove constants test
* use built in tags
* copy old physics settings
* manually sync physics transforms
* Fix Windows IL2CPP compilation. This does not address the issues with training when IL2CPP is enabled.
Co-authored-by: Jérémy Graziani <AcelisWeaven@users.noreply.github.com>
* Making some fields and properties internal
* Fixing the formating
* Making more things internal
* Adressing the comments
* reverting the changes made to the recorder
* WriteAdapter public
* Have to make AgentInfo and TensorProxy public because of changes to write adapter and the demorecorder
* Updating version number (#3366)
* updating version number
* fixing version numbers
* migration guide (#3375)
* Reduce num steps for walljump (#3377)
* Fixing the Docs on On Demand Decision
Co-authored-by: Anupam Bhatnagar <anupambhatnagar@gmail.com>
Co-authored-by: Chris Elion <celion@gmail.com>
Co-authored-by: Ervin T. <ervin@unity3d.com>
* Add the VectorSensor to the CollectObservation call
* Example of API change for BalanceBall
* Modified the Examples
* Changes to the migrating doc
* Editing the docs
* Update docs/Learning-Environment-Design-Agents.md
Co-Authored-By: Chris Elion <chris.elion@unity3d.com>
* Update docs/Migrating.md
Co-Authored-By: Chris Elion <chris.elion@unity3d.com>
* Update docs/Migrating.md
Co-Authored-By: Chris Elion <chris.elion@unity3d.com>
* Update docs/Getting-Started-with-Balance-Ball.md
Co-Authored-By: Chris Elion <chris.elion@unity3d.com>
* addressing comments
* Removed the MLAgents.Sensor namespace
* Removing the MLAgents.Sensor namespace from the tests
* Editing the migrating docs
Co-authored-by: Chris Elion <celion@gmail.com>
* Sentencing Action masking the same as observations
I am rather unsure about the doubling of the CollectObservation methods (and the copy pasta that comes along)
Need to edit the documentation and the migrating doc once we agree we want to do this
* Addressing the comments
* Improvements to the documentation
* Editing the documentation
* Making Register side channel a public method on the Academy
* Adding a new tutorial on how to use side channels
* Update docs/Python-API.md
Co-Authored-By: Chris Goy <christopherg@unity3d.com>
* Add a Deregister method
* Add the deregister to the example
* Update com.unity.ml-agents/Runtime/Academy.cs
Co-Authored-By: Chris Elion <chris.elion@unity3d.com>
* Update docs/Python-API.md
Co-Authored-By: Chris Goy <christopherg@unity3d.com>
* Re-test
* Renaming Deregister to Unregister
* Update docs/Python-API.md
Co-Authored-By: Chris Elion <chris.elion@unity3d.com>
Co-authored-by: Chris Goy <christopherg@unity3d.com>
Co-authored-by: Chris Elion <celion@gmail.com>
* Make ChannelId a property and renamed ReservedChannelId
* Changes on the Python side for consistency
* Modified the tutorial appropriately
* fixing bugs
* Update ml-agents-envs/mlagents_envs/environment.py
Co-Authored-By: Chris Elion <chris.elion@unity3d.com>
* Update com.unity.ml-agents/Runtime/Grpc/RpcCommunicator.cs
Co-Authored-By: Chris Elion <chris.elion@unity3d.com>
* Addressing comments
* Update docs/Python-API.md
Co-Authored-By: Chris Elion <chris.elion@unity3d.com>
* Added a Utils class on the side channel (#3447)
- No change in user facing API
- Simplifies the code in the side channel implementations as it makes it easier to check if a side channel id is within ranges
- No changes to tests
- No changes to Documentation
* Simplifying
* Fixing a bug
* Replace the int ChannelId with a GUID/UUID ChannelId (#3454)
* renaming channel_type to channel_id
* Making the constant GUID const...
* Moving the max step logic
- Created a new Academy Event called AgentIncrementStep to be called before SetStatus
- Implemented the AgentSteping logic
* second commit : Moving the step counting at the begining. I had to edit the tests but I think they are now closer to what we want
* addressing comments
* Update com.unity.ml-agents/Runtime/Agent.cs
Co-Authored-By: Chris Goy <goyenator@gmail.com>
* Update com.unity.ml-agents/Runtime/Agent.cs
Co-Authored-By: Chris Goy <goyenator@gmail.com>
* Made the tests not be broken
* Update com.unity.ml-agents/Runtime/Agent.cs
Co-Authored-By: Chris Elion <chris.elion@unity3d.com>
* step logic changes: unit test (#3467)
* Added a line in the changelog
Co-authored-by: Chris Goy <christopherg@unity3d.com>
Co-authored-by: Chris Elion <celion@gmail.com>
Tensorflow doesn't prescribe any particular file suffix for checkpoint files, but they
are commonly referred to as "ckpt" as a shorthand for "checkpoint". However ours
is somewhat confusingly "cptk". This change simply changes our checkpoint suffix
to "ckpt".
* Fix package validation errors in ISensor and CameraSensor.
* Fix docs in CameraSensor and add a helper method.
* Fix package validation errors in CameraSensorComponent.
* Fix package validation errors in SensorComponent.
* Additonal fixes to ISensor.
* Fixes package validation errors for the remaining sensor-based classses.
* Fixed docs based on PR comments. Only doc-changes.
* Fold back docs that were deleted due to merge conflict. (Was easier to delete and re-add.)
* More missing docs.
* Fixed incorrect location for doc strings.
* Adding periods at the end of param/return tags.
* Added a few periods.
* Initial test code commit
* Fix typo
* Added more tests
* More tests
* Bumping test coverage
* Update com.unity.ml-agents/Tests/Editor/ModelRunnerTest.cs
Co-Authored-By: Chris Elion <chris.elion@unity3d.com>
Co-authored-by: Chris Elion <celion@gmail.com>
* Added the MLAgents.Demonstrations namespace
* Added the MLAgents.Editor namespace
* Overrided the .demo.meta files due to the change in namespace
* More namespace changes
* Added the sidechannels namespace
* Modified changelog and migrating docs
* Made the BrainParameters internal
* Editing the docs
* [skip-ci] A lot more controversial
* [skip ci] Added formerly serialized as
* Use cached BehaviorParameters
* [skip ci] made the decision requester internal and renamed RepeatAction
* [skip ci] Updated the migration
* Update com.unity.ml-agents/Runtime/DecisionRequester.cs
Co-Authored-By: Chris Elion <chris.elion@unity3d.com>
* Run tests
Co-authored-by: Chris Elion <celion@gmail.com>
* Improvements to the main repo Readme: put an emphasis on the Releases section.
* Improving the installation guide.
* Added the first draft of package readme.
* 2 file renames
Installation-Windows —> Installation-Anacondo-Windows to be clearer that it’s about Anaconda on Windows and not just Windows.
index.md —> com.unity.ml-agents.md to be inline with package requirements.
* Caching side channel data for one step
* [skip ci] Update com.unity.ml-agents/Runtime/Communicator/RpcCommunicator.cs
Co-Authored-By: Chris Elion <chris.elion@unity3d.com>
Co-authored-by: Chris Elion <celion@gmail.com>
* Made BehaviorType public and added the SetBehaviorType method
* Moving the comments around and making Setting the behaviorType to the same value do nothing
* Messages will be consumed when the side channel registers
* addressing the comment
* Update com.unity.ml-agents/Runtime/Communicator/RpcCommunicator.cs
Co-Authored-By: Chris Elion <chris.elion@unity3d.com>
Co-authored-by: Chris Elion <celion@gmail.com>
* [skip ci] Renamed methods in the Agent class
WARNING, the user when implementing obsolete methods will see the message :Member `old method` overrides obsolete member `old method`. Add the Obsolete attribute to `old method`. It will not suggest the new method to override.
* [skip ci] Updated the example environment
* [skip ci] Updated migrating and changelog
* [skip ci] Editing the docs
* [skip ci] Missing docs
* :+1
* Update docs/Getting-Started-with-Balance-Ball.md
Co-Authored-By: Chris Elion <chris.elion@unity3d.com>
* Update docs/Learning-Environment-Create-New.md
Co-Authored-By: Chris Elion <chris.elion@unity3d.com>
* Update docs/Learning-Environment-Create-New.md
Co-Authored-By: Chris Elion <chris.elion@unity3d.com>
* [skip ci] documentation changes
* [skip ci] Update docs/Getting-Started-with-Balance-Ball.md
* [skip ci] Update docs/Getting-Started-with-Balance-Ball.md
* [skip ci] Update docs/Gett...
* Make the agent begin episode at initialization
* Renaming and adding a comment
* [skip ci] Update com.unity.ml-agents/Tests/Editor/MLAgentsEditModeTest.cs
Co-Authored-By: Chris Elion <chris.elion@unity3d.com>
* [skip ci] Update com.unity.ml-agents/Tests/Editor/MLAgentsEditModeTest.cs
Co-Authored-By: Chris Elion <chris.elion@unity3d.com>
* renamed test variables and modified some test statements
* Use TotalStepCount rather than HadFirstReset
* [skip ci] Renamed HadFirstReset to m_HadFirstReset
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
In #2588 it was suggested that the space in the Product Name for
our example environments causes confusion when using a default build
because of the need to escape the space in the build filename.
This change removes the space from the Product Name in the project's
player settings.
In #2588 it was suggested that the space in the Product Name for
our example environments causes confusion when using a default build
because of the need to escape the space in the build filename.
This change removes the space from the Product Name in the project's
player settings.
* Bumping versions on master
* Bumping package version
* Made the package version 0.15.0-preview
* Reverting the API version that was bumped by mistake
In #2588 it was suggested that the space in the Product Name for
our example environments causes confusion when using a default build
because of the need to escape the space in the build filename.
This change removes the space from the Product Name in the project's
player settings.
* [bug-fix] Increase height of wall in CrawlerStatic (#3650)
* [bug-fix] Improve performance for PPO with continuous actions (#3662)
* Corrected a typo in a name of a function (#3670)
OnEpsiodeBegin was corrected to OnEpisodeBegin in Migrating.md document
* Add Academy.AutomaticSteppingEnabled to migration (#3666)
* Fix editor port in Dockerfile (#3674)
* Hotfix memory leak on Python (#3664)
* Hotfix memory leak on Python
* Fixing
* Fixing a bug in the heuristic policy. A decision should not be requested when the agent is done
* [bug-fix] Make Python able to deal with 0-step episodes (#3671)
* adding some comments
Co-authored-by: Ervin T <ervin@unity3d.com>
* Remove vis_encode_type from list of required (#3677)
* Update changelog (#3678)
* Shorten timeout duration for environment close (#3679)
The timeout duration for closing an environment was set to the
same duration as the timeout when waiting ...
* Hotfix memory leak on Python
* Fixing
* Fixing a bug in the heuristic policy. A decision should not be requested when the agent is done
* [bug-fix] Make Python able to deal with 0-step episodes (#3671)
* adding some comments
Co-authored-by: Ervin T <ervin@unity3d.com>
The timeout duration for closing an environment was set to the
same duration as the timeout when waiting for a response from the
still-running environment. This led to long waits for the error
response when communication version wasn't matching.
This change forces a timeout duration of 0 when handling errors.
This commit surfaces exceptions from environment worker subprocesses,
and changes the SubprocessEnvManager to raise those exceptions when
caught. Additionally TrainerController was changed to treat environment
exceptions differently than KeyboardInterrupts. We now raise the
environment exceptions after exporting the model, so that ML-Agents will
correctly exit with a non-zero return code.
* Deprecating Academy.Instance.FloatProperties
* Made the registered side channels a static property and created the sideChannelUtils class to handle side channel stuff
* Clearing the sending message queue in the Academy when the communicaor is not on
* addressing comments
* [skip ci] WIP : Modify the base_env.py file
* [skip ci] typo
* [skip ci] renamed some methods
* [skip ci] Incorporated changes from our meeting
* [skip ci] everything is broken
* [skip ci] everything is broken
* [skip ci] formatting
* Fixing the gym tests
* Fixing bug, C# has an error that needs fixing
* Fixing the test
* relaxing the threshold of 0.99 to 0.9
* fixing the C# side
* formating
* Fixed the llapi integratio test
* [Increasing steps for testing]
* Fixing the python tests
* Need __contains__ after all
* changing the max_steps in the tests
* addressing comments
* Making env_manager logic clearer as proposed in the comments
* Remove duplicated logic and added back in episode length (#3728)
* removing mentions of multi-agent in gym and changed the docstring in base_env.py
* Edited the Documentation for the changes to the LLAPI (#3733)
* Edite...
* Initial commit, need more work on the test
* Fixing the tests
* [skip ci] Update com.unity.ml-agents/Runtime/Agent.cs
Co-Authored-By: Chris Elion <chris.elion@unity3d.com>
* Bug fixing : Do nothing if here are no VectorObs
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
* Bumping version on the release (#3615)
* Update examples project to 2018.4.18f1 (#3618)
From 2018.4.14f1. An internal package dependency was updated as
a side effect.
* Remove dead components from the examples scenes (#3619) (#3624)
* Improve warnings and exception if using unsupported combo
* add meta file
* fix unit test
* enforce onnx conversion (expect tf2 CI to fail) (#3600)
* Update error message
* Updated the release branch docs (#3621)
* Updated the release branch docs
* Edited the README
* make sure top-level timer is closed before writing
* Remove space from Product Name for examples
In #2588 it was suggested that the space in the Product Name for
our example environments causes confusion when using a default build
because of the need to escape the space in the build filename.
This change removes the space from the Product Name in the project's
player settings.
* [bug-fix] Increase 3dbal...
* [API] Make the DecisionRequester public and add a delegate to its API to allow users to customize it's behavior.
- Rename Academy.AgentSetStatus to Academy.AgentPreStep and make it public.
- Fix Unity library cache issues for backwards compatibility tests.
- Collect standalone build and logs to artifacts for standalone build jobs.
- cat standalone build log if the build fails.
- Default verbose to False for standalone build test.
* disable backward compatibility test, bump communication version.
* still run training tests on latest.
* fix yml parse error.
* [communication] Use semantic versioning to test communication compatibility between C# and Python.
- Add tests for the change.
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
* Removed the obsolete methods from the Agent class
* Documentation changes
* [skip ci] Update com.unity.ml-agents/CHANGELOG.md
Co-Authored-By: Chris Elion <chris.elion@unity3d.com>
* [skip ci] Update docs/Migrating.md
Co-Authored-By: Chris Elion <chris.elion@unity3d.com>
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
* Various doc improvements
For Using-Virtual-Environment.md:
- Made a note regarding updating setuptools and pip.
- Changed lists from "-" to "*"
For Using-Tensorboard.md:
- Changed the ordered list to use "1."
For Training-on-Microsoft-Azure-Custom-Instance.md:
- Deleted as it was not linked anywhere
For FAQ.md
- Removed stale issues given upgrade to 2018.3
For Readme.md
- Added links for Reward Signals, Self-Play and Profiling Trainers
For Learning-Environment-Executable.md
- Changed the ordered list to use "1."
For Learning-Environment-Examples.md
- Minor rewording of intro paragraphs
* consolidating custom instances page in main page
So we have a single page for Azure.
Adding warning note for deprecated docs
* Fixing doc links that are failing CI
* Running prettier formatting as a follow-up PR to #3775
Running the files (except Training-ML-Agents.md) through the `prettier` linter.
https://github.com/Unity-Technologies/ml-agents/pull/3775/files
* minor fixes
Changed a header from “Custom Metrics from C#” to “Custom Metrics from Unity”
Fixed formatting in FAQ
* Minor correction.
* Fixing some issues with previous action and better memory allocation in the Heuristic Policy
* Copying the data rather than using references
* [skip ci]Update com.unity.ml-agents/Runtime/Agent.cs
Co-Authored-By: Chris Elion <chris.elion@unity3d.com>
* Addressing comments
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
* Fixing package validation errors.
This impacts our API as two public variables have been made private.
TODO: fix our CI to catch these automatically, per commit.
* Changelog changes.
* Making Gym a wrapper
* Readding no graphics to the run gym test
* typo
* Modifying the changelog and the migrating doc
* Applying pre-commit
* [skip ci] Update gym-unity/gym_unity/tests/test_gym.py
Co-Authored-By: Chris Elion <chris.elion@unity3d.com>
* Adding a note that the BaseEnv will close when the wrapper closes
* FoRgOt To rUn PrE-ComMiT
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
* Edit and review package docs.
* Filter out testa and internal namespaces.
* remove offsetStep field that was accidentally revivified
* Resolving review comments
* Update com.unity.ml-agents/Runtime/Agent.cs
* fix trailing whitespace
* Revised Agent class intro and step description
* Fixed a few missed comments.
* removed prerelease warning
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
* Make EnvironmentParameters a first-class citizen in the API
Missing: Python conterparts and testing.
* Minor comment fix to Engine Parameters
* A second minor fix.
* Make EngineConfigChannel Internal and add a singleton/sealed accessor
* Make StatsSideChannel Internal and add a singleton/sealed accessor
* Changes to SideChannelUtils
- Disallow two sidechannels of the same type to be added
- Remove GetSideChannels that return a list as that is now unnecessary
- Make most methods except (register/unregister) internal to limit users impacting the “system-level” side channels
- Add an improved comment to SideChannel.cs
* Added Dispose methods to system-level sidechannel wrappers
- Specifically to StatsRecorder, EnvironmentParameters and EngineParameters.
- Updated Academy.Dispose to take advantage of these.
- Updated Editor tests to cover all three “system-level” side channels.
Kudos to Unit Tests (TestAcade...
* use py3.8, install cmake for onnx
* disable other circleci tests for now
* install proto for onnx install
* apt-get install protobuf-compiler instead
* skip onnx for python3.8
* use right comparison
* fix up config
* changelog and faq
* Removed the default for width and height of the executable training. This is to help relove #3835 since setting the screen resolution on Linux 2019.3 can cause issues.
* Editing the changelog
* Making fields in EngineConfig optional
* Improvements to Key Components section of ML-Agents Overview
- Moved some documentation from Learning-Environment-Design.
- Added the trainers vs LL-API separation.
- Made a note about gym-unity.
- Some update to the Agent/Behavior sections
- Updated diagrams to reflect new side channels. Made Behavior type a consistent color.
* Reorganizing the overview file and creating new (empty) sections
This change defines the new structure for the overview doc. Subsequent commits will fill in the sections and rewrite existing sections.
* Reorganizing the main Training ML-Agents page
Re-organizes into feature-specific sections that somewhat mirror the previous commit of reorganizing the overview doc.
Subsequent commits will populate these empty sections.
* Adding Deep RL
- Update ML-Agents-Overview with description of DeepRL training algorithms
- Decribe the common and trainer-specific hyperparams in Training-ML-Agents.
- Removed ...
* Several, small documentation improvements
- Re-organize main repo README
- Minor clean-ups to Python package-specific readme files
- Clean-up to Unity Inference Engine page
- Update to the docs README
- Added a specific cross-platform section in ML-Agents Overview to amplify Barracuda
- Updated the links in Limitations.md to point to the specific subsections
- Cleaned up the Designing a Learning Environment page. Added an intro paragraph.
- Updated the installation guide to specifically call out local installation
- A few minor formatting, spelling errors fixed.
* [bug-fix] Fix issue with initialize not resetting step count (#3962)
* Develop better error message for #3953 (#3963)
* Making the error for wrong number of agents raise consistently
* Better error message for inputs of wrong dimensions
* Fix#3932, stop the editor from going into a loop when a prefab is selected. (#3949)
* Minor doc updates to release
* add unit tests and fix exceptions (#3930)
Co-authored-by: Ervin T <ervin@unity3d.com>
Co-authored-by: Vincent-Pierre BERGES <vincentpierre@unity3d.com>
Co-authored-by: Chris Goy <christopherg@unity3d.com>
* Add v1.0 blog post and update reference paper. (#3947)
* Develop mm fix readme releases (#3966)
* Fix broken link and clean-up Releases section.
* Updated link to be consistent with the table.
* Update one of the bullets for consistency.
* update table, add Versioning doc
* release_2_docs
Co-authored-by: Marwan Mattar <marwan@unity3d.com>
* Replaced get_behavior_names and get_behavior_spec with behavior_specs property
* Fixing the test
* [ci]
* addressing some comments
* use typing.Mapping (#3948)
* Update ml-agents-envs/mlagents_envs/base_env.py
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
* Adding the documentation
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
* [WIP] Unity Environment Registry
[JIRA ticket](https://jira.unity3d.com/browse/MLA-997)
[Design Document](https://docs.google.com/document/d/1bFQ3_oXsA80FMou8kwqYxC53kqG5L3i0mbTQUH4shY4/edit#)
In This PR : Prototype of the Unity Environment Registry
Uploaded the 3DBall and Basic Environments for mac only
How to use on Python :
```python
from mlagents_envs.registry import UnityEnvRegistry
registry = UnityEnvRegistry()
print(registry["3DBall"].description)
env = registry["3DBall"].make()
env.reset()
for i in range(10):
print(i)
env.step()
env.close()
```
* Other approach:
- UnityEnvRegistry is no longer static and needs to be instantiated
- Providing a default_registry that will contains our environments
- Added a functionality to register RemoteRegistryEntry with a yaml file
* Some extra verification of the url : The binary will have a hash of the url in its name to make sure the right environ...
* allow vector observations also when using visual observations
* update changelog
* Update CHANGELOG.md
* Update __init__.py
* remove trailing whitespace
* Fix test case where visual and vector observations are used simultaneously
* fix formatting
* add test for visual and vector observations
* Assert vector action shape
* Fix test environment to return multiple visual observations
* use_visual and allow_multiple_visual_obs are replaced by allow_multiple_obs which allows visual and vector observations to be used simultaneously.
* fixing run_gym.py test
* [ci]
* Added some more tests and made the observation space a tuple when using multiple observations
* Modifying the change log
* Addding to the Migrating doc
* Edits to Migrating.md
* Simplification of the code to generate the observation spaces
* Simplified warning messages
* Adding contr...
* update versions for patch release (#3970)
* update versions for patch releae
* Update precommit flake8 (#3961)
* fix changelog
* Release 2 cherry pick (#3971)
* [bug-fix] Fix issue with initialize not resetting step count (#3962)
* Develop better error message for #3953 (#3963)
* Making the error for wrong number of agents raise consistently
* Better error message for inputs of wrong dimensions
* Fix#3932, stop the editor from going into a loop when a prefab is selected. (#3949)
* Minor doc updates to release
* add unit tests and fix exceptions (#3930)
Co-authored-by: Ervin T <ervin@unity3d.com>
Co-authored-by: Vincent-Pierre BERGES <vincentpierre@unity3d.com>
Co-authored-by: Chris Goy <christopherg@unity3d.com>
* update changelog (#3975)
* [docs] Add memory_size hyperparameter (#3973)
* Release 2 docs (#3976)
* Add v1.0 blog post and update reference paper. (#3947)
* Develop mm fix readme rel...
* bring in bugfix from #4532
* add meta files
* remove extra file
* update yamato tests
* use v2 action and pin python version (#4568)
* update changelog
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
* update to 1.0.8
* remove com.unity.purchasing dep from project
* remove 2018.4 from tests, make sure to user 2020.3
* copy yamato util from main
* test 2020.3 (not .2)
* use downloader in standalone build test
* remove trunk tests, fix version parsing in unit test
* add 2018.4 back to package tests
* about to implement orientation cube
* oCube spawining works. ready to train
* working. about to try com
* ready for training
* add random rot on episode start
* feet now alternate but runs backwards
* still running with right leg in front
* increased joint strength to 40k
* removed texture example
* reduced maxAngVel, enabled enhanced determinism, cont spec
* rebuilt walker ragdoll to scale 1
* rebuilt ragdoll ready
* update walker pair prefab
* fixed bp heirarchy
* added trained model, renamed scene, usecollisioncallbacks
* updated dynamic platforms
* added dynamic walker tf file. max speed 5
* DynamicWalker working. has working nn file
* collect local rotations
* added new dynamic nn file
* hip facing reward
* Create WalkerDynamic.yaml
* fix hip rotation
* about to clean up code
* added dirIndicator and orentCubeGizmo
* clean up
* clea...
* [bug-fix] Fix regression in --initialize-from feature (#4086)
* Fixed text in GettingStarted page specifying the logdir for tensorboard. Before it was in a directory summaries which no longer existed. Results are now saved to the results dir. (#4085)
* [refactor] Remove nonfunctional `output_path` option from TrainerSettings (#4087)
* Reverting bug introduced in #4071 (#4101)
Co-authored-by: Scott <Scott.m.jordan91@gmail.com>
Co-authored-by: Vincent-Pierre BERGES <vincentpierre@unity3d.com>
* Clarification in the Heuristic() documentation
The `Heuristic()` method will not be able to write to the action array if the action array passed as argument is reassigned in the method.
For example, doing :
```csharp
public override void Heuristic(float[] actionsOut)
{
actionOut = new float[2];
actionOut[0] = 1.0f;
}
```
Will not create the action [1, 0] but [0, 0] as the `actionOut` variable was reassigned.
* adding to the Agent xml doc
* Updated the badge’s link to point to the newest doc version
* Replaced all of the doc to release_3_doc
* Update to release_3 in installation.md (#4144)
Co-authored-by: Yuan Gao <xiaomaogy88@gmail.com>
Co-authored-by: andrewcoh <54679309+andrewcoh@users.noreply.github.com>
Updates to CameraSensor / CameraSensorComponent:
* new settings object to set up layer masks, depth, etc
* support for arbitrary # channels returned by the sensor
* channels include depth, layer mask, RGB, or grayscale
Updates to VisualFoodCollector:
* food doesn't roll (for now), simplifies learning without stacking
* added layers
Updates to mlagents_envs:
* decode multiple pngs packed into a single observation
* Update Dockerfile
* Separate send environment data from reset (#4128)
* Fixed a typo on ML-Agents-Overview.md (#4130)
Fixed redundant "to" word from the sentence since it is probably a typo in document.
* Updated the badge’s link to point to the newest doc version
* Replaced all of the doc to release_3_doc
* Fix 3DBall and 3DBallHard SAC regressions (#4132)
* Move memory validation to settings
* Update docs
* Add settings test
* Update to release_3 in installation.md (#4144)
* rename to SideChannelManager +backcompat (#4137)
* Remove comment about logo with --help (#4148)
* [bugfix] Make FoodCollector heuristic playable (#4147)
* Make FoodCollector heuristic playable
* Update changelog
* script to check for old release links and references (#4153)
* Remove package validation suite from Project (#4146)
* RayPerceptionSensor: handle empty and invalid tags (#4155...
* Modifying the documentation to explain that Heuristic method default action will be the previous action decided by the heuristic. Changing this behavior would be a breking change.
* Rephrase the working of the documentation of the default action of the Heuristic method
* Forgot an import
* Introduced the Constant Parameter Sampler that will be useful later as samplers and floats can be used interchangeably
* Refactored the settings.py to refect the new format of the config.yaml
* First working version
* Added the unit tests
* Update to Upgrade for Updates
* fixing the tests
* Upgraded the config files
* Fixes
* Additional error catching
* addressing some comments
* Making the code nicer with cattr
* Added and registered an unstructure hook for PrameterRandomization
* Updating C# Walljump
* Adding comments
* Add test for settings export (#4164)
* Add test for settings export
* Update ml-agents/mlagents/trainers/tests/test_settings.py
Co-authored-by: Vincent-Pierre BERGES <vincentpierre@unity3d.com>
Co-authored-by: Vincent-Pierre BERGES <vincentpierre@unity3d.com>
* Including environment parameters for the test for settings export
* First documentation up...
* Update versions for release 4
* Link validation file should ignore itself
* Remove 'unreleased' section from changelog
* Change to 0.18.0 for python versions
* also update extensions package version
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
* test initalize steps to 100
* use mean of first trajectory to initialize the normalizer
* remove blank line
* update changelog
* cleaned up initialization of variance/mean
* large normalization obs unit test
* add --upgrade to pip to get newer downloader (#4338)
* Fix format of the changelog for validation. (#4340)
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
Co-authored-by: Chris Goy <christopherg@unity3d.com>
* Update barracuda in the hopes that our burst crashes go away.
* Check for an executable with the same name as the env before failing.
* ignore macblas.
* Begin porting work
* Add ResNet and distributions
* Dynamically construct actor and critic
* Initial optimizer port
* Refactoring policy and optimizer
* Resolving a few bugs
* Share more code between tf and torch policies
* Slightly closer to running model
* Training runs, but doesn’t actually work
* Fix a couple additional bugs
* Add conditional sigma for distribution
* Fix normalization
* Support discrete actions as well
* Continuous and discrete now train
* Mulkti-discrete now working
* Visual observations now train as well
* GRU in-progress and dynamic cnns
* Fix for memories
* Remove unused arg
* Combine actor and critic classes. Initial export.
* Support tf and pytorch alongside one another
* Prepare model for onnx export
* Use LSTM and fix a few merge errors
* Fix bug in probs calculation
* Optimize np -> tensor operations
* Time action sample funct...
* initial commit
* works with Pyramids
* added unit tests and a separate config file
* Adding first batch of documentation
* adding in the docs that rnd is only for PyTorch
* adding newline at the end of the config files
* adding some docs
* Code comments
* no normalization of the reward
* Fixing the tests
* [skip ci]
* [skip ci] Make sure RND will only work for Torch by editing the config file
* [skip ci] Additional information in the Documentation
* Remove the _has_updated_once flag
Added stacking to multi-dimensional and compressed observations and added compressed channel mapping in communicator to support decompression.
Co-authored-by: Vincent-Pierre BERGES <vincentpierre@unity3d.com>
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
VisualFoodCollector is now an example environment of using a mix of visual and vector observation and is able to train with default config file.
Co-authored-by: Vincent-Pierre BERGES <vincentpierre@unity3d.com>
* Destroy stepper when playmode change
* Detroy stepper if it does not belong to the current Academy
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
* Move folders around
* [Make tests to compare compressed and non-compressed obs
> Make `Utilities.TextureToTensorProxy` public (debatable)
> GridSensor can now be compressed or uncompressed
> Added 2 scenes and an integration test to make sure compressed and uncompressed obs are the same
* fix typo
* renaming file so pytest will not try to run it
* rename yamato config file
* Need standalone build for 2019.4
* Running only on 2018.4 since it seems to be the only version thhat can build
* Typo in the name of the testing script
* Renaming the scene
So this is funny Python bug but
`a.strip(".unity")` will remove the last letter of `a` (before the .unity) if the last letter is "t"
not kidding, try :
```
a = "fewgfwegwrgvrt.unity"
a.strip(".unity")
```
* using splitext rather than strip to find executable name`
* Rename and move TextureToTensor
* Addressing comments
* re...
* [bug-fix] Don't load non-wrapped policy (#4593)
* pin cattrs version
* cap PyTorch version
* use v2 action and pin python version (#4568)
Co-authored-by: Ervin T <ervin@unity3d.com>
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
* Torch setup.py
* Set torch to default
* Make torch default in setup.py
* Remove indents
* Remove other instances of TF being used
* Add tensorboard to setup.py
* Adding correst setup commands for verifying torch is installed (#4524)
* Adding correst setup commands for verifying torch is installed
* Editing the test_requirments to add tf and remove torch
* Develop torchdefault raise outside setup (#4530)
* Torch not imported error to raise at first usage
* Torch not imported error to raise at first usage
* [refactor] Use PyTorch TensorBoard utils (#4518)
* Convert stats writer to use PyTorch TB support
* Use common function to print params
* Update test
* Bump tensorboard to 1.15 to fix the tests
* putting tensorboard 1.15.0 as min version requirement
Co-authored-by: vincentpierre <vincentpierre@unity3d.com>
* [Docs] Initial documentation changes for making...
* use int64 steps
* check for NaN actions
Co-authored-by: Ruo-Ping Dong <ruoping.dong@unity3d.com>
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
* Remove extra period
* Update changelog
* Re add a period (#4676)
* Adding a trailing period
* formating
Co-authored-by: Vincent-Pierre BERGES <vincentpierre@unity3d.com>
* Remove extra period
* Update changelog
* Re add a period (#4676)
* Adding a trailing period
* formating
Co-authored-by: Vincent-Pierre BERGES <vincentpierre@unity3d.com>
Co-authored-by: Vincent-Pierre BERGES <vincentpierre@unity3d.com>
* Add hybrid action capability flag (#4576)
* Change BrainParametersProto to support ActionSpec (#4579)
* Assign new BrainParametersProto fields based on capabilities (#4581)
* ActionBuffer with hybrid actions for RemotePolicy (#4592)
* Barracuda inference for hybrid actions (#4611)
* Refactor BarracudaModel loader checks (#4629)
* Export separate nodes for continuous/discrete actions (#4655)
* Separate continuous/discrete actions in AgentActionProto (#4698)
* Force different nodes for new and deprecated action output (#4705)
* remove group id
* very rough sketch for TeamManager interface
* add team manager id to proto
* team manager for hallway
* add manager to hallway
* send and process team manager id
* remove print
* small cleanup
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
- Actuators can now optionally implement IHeuristicProvider to generate heuristic actions for agents.
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
* Add CreateActuators method to the ActuatorComponent class which wraps the original method. The original method will be removed in the future.
Co-authored-by: Vincent-Pierre BERGES <vincentpierre@unity3d.com>
- updated release tag validation script to automate the updating of files with release tags that need to be changed as part of the pre-commit operation.
* Removing Obsolete methods from the package
* Missing depecration and modified changelog
* Readding the obsolete BrainParameter methods, will need a larger discussion on these
* Removing Action Masker, readding the warining when using a non-implemented Heuristic, Removing NumAction from Brain Parameters
* removing documentation and some calls to deprecated methods in the extensions package
* Editing the Changelog to put the unreleased on top
* Make modelCheck have flavors of error messages
* ONNX exporter v3
* Using a better CheckType and a switch statement
* Removing unused message
* More tests
* Use an enum for valid versions and use GetVersion on model directly
* Maybe the model export version a static constant in Python
* Use static constructor for FailedCheck
* Use static constructor for FailedCheck
* Modifying the docstrings
* renaming LegacyDiscreteActionOutputApplier
* removing testing code
* better warning message
* Nest the CheckTypeEnum into the FailedCheck class
* Update com.unity.ml-agents/Runtime/Inference/BarracudaModelParamLoader.cs
* Adding a line explaining that legacy tensor checks are for versions 1.X only
* Modifying the changelog
* Exporting all the branches size instead of omly the sum (#5092)
* addressing comments
* Update com.unity.ml-agents/Runtime/Inference/BarracudaModelParamLoader.cs
Co-authored...
* Make modelCheck have flavors of error messages
* ONNX exporter v3
* Using a better CheckType and a switch statement
* Removing unused message
* More tests
* Use an enum for valid versions and use GetVersion on model directly
* Maybe the model export version a static constant in Python
* Use static constructor for FailedCheck
* Use static constructor for FailedCheck
* Modifying the docstrings
* renaming LegacyDiscreteActionOutputApplier
* removing testing code
* better warning message
* Nest the CheckTypeEnum into the FailedCheck class
* Update com.unity.ml-agents/Runtime/Inference/BarracudaModelParamLoader.cs
* Adding a line explaining that legacy tensor checks are for versions 1.X only
* Modifying the changelog
* Exporting all the branches size instead of omly the sum (#5092)
* addressing comments
* Update com.unity.ml-agents/Runtime/Inference/BarracudaModelParamLoader.cs
Co-authored-by: Chris Elion <chris.elion@unity3d.co...
* Integrate Group Manager to soccer/retrain with POCA (#5115)
* Add Soccer env to changelog
Co-authored-by: andrewcoh <54679309+andrewcoh@users.noreply.github.com>
* Don't clear update buffer, but don't append to it either
* Update changelog
* Address comments
* Make experience replay buffer saving more verbose
(cherry picked from commit 63e7ad44d96b7663b91f005ca1d88f4f3b11dd2a)
* Removing Obsolete methods from the package
* Missing depecration and modified changelog
* Readding the obsolete BrainParameter methods, will need a larger discussion on these
* Removing Action Masker, readding the warining when using a non-implemented Heuristic, Removing NumAction from Brain Parameters
* removing documentation and some calls to deprecated methods in the extensions package
* Editing the Changelog to put the unreleased on top
* Make modelCheck have flavors of error messages
* ONNX exporter v3
* Using a better CheckType and a switch statement
* Removing unused message
* More tests
* Use an enum for valid versions and use GetVersion on model directly
* Maybe the model export version a static constant in Python
* Use static constructor for FailedCheck
* Use static constructor for FailedCheck
* Modifying the docstrings
* renaming LegacyDiscreteActionOutputApplier
* removing testing code
* better warning message
* Nest the CheckTypeEnum into the FailedCheck class
* Update com.unity.ml-agents/Runtime/Inference/BarracudaModelParamLoader.cs
* Adding a line explaining that legacy tensor checks are for versions 1.X only
* Modifying the changelog
* Exporting all the branches size instead of omly the sum (#5092)
* addressing comments
* Update com.unity.ml-agents/Runtime/Inference/BarracudaModelParamLoader.cs
Co-authored...
* Fixing networks.py for the merge
* fix compile error
* Adding the goal conditioning sensors with the new observation specs
* addressing feedback
* I forgot to change the m_observationType
* Renaming Goal to GoalSignal (#5190)
* Renaming GOAL to GOAL_SIGNAL
* VectorSensorComponent to use new API
* Adding docstrings
* verbose pytest on github action
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
* Aded the Goal conditioned GridWorld to replace regular gridworld
* adding missing files
* Code improvements
* Documentation change on gridworld
* resolving conflicts
* new model
* Addressing comments
* comments and renames
* Update docs/Learning-Environment-Examples.md
Co-authored-by: Ervin T. <ervin@unity3d.com>
* adding reference to gridworld in docs about goal signal
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
Co-authored-by: Ervin T. <ervin@unity3d.com>
* Initial commit
* making it work with hallway. Added a new model version
* addressing feedback
* Adding a comment
* formatting
* modifying the changelog
* Adding descriptions on the model version descriptions
* Update com.unity.ml-agents/Runtime/Inference/GeneratorImpl.cs
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
* addressing comments
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
* LSTM models from 1.x will be incompatible with MLA 2.x
* Adding a test and a new v2 model
* Make the Model Runner raise an error if using 1.0 model with LSTM
* adding a new model for hallway trained with 2.0
* reword error messages
* Only raise if error, not if warning
* Addressing comments: The legacy Barrauda memory generator and applier were removed. All code that checked for (memories + v1.X) have been removed since these will no longer be supported
* Modifying the changelog and the migrating guide with this change
* Fixing the merge issues
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
Initial commit
second commit. The no-extrinsic was trained without the log reward (reward = prob) while the new one is (reward = log_prob - log_prior)
A few results, it looks like Walker-diverse-r05-bigger.onnx is doing something
Modified pushblock
using next state and action. Did not help
Fixing bug that had 9 diversity settings instead of 8
removing results
* initial commit for a fully connected visual encoder
* adding a test
* addressing comments
* Fixing error with minimal size of fully connected network
* adding documentation and changelog
* [WIP] [Fix] Fixing collect observation called on done
* Update com.unity.ml-agents/Runtime/Agent.cs
* ⚠️ Modifying the test of stacking sensor when the agent is done
* modifying the documentation for BufferSensor to specify to call AddObservation in the CollectObservations method