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
* 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
* 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>
* 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>
* 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
* [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>
* 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
* 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>
* [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>
* 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...
* [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 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
* 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...
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>
* 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>
* 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)
- Actuators can now optionally implement IHeuristicProvider to generate heuristic actions for agents.
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
* 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...
* 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>
* 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>
* [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