The Unity Machine Learning Agents Toolkit (ML-Agents) is an open-source project that enables games and simulations to serve as environments for training intelligent agents using deep reinforcement learning and imitation learning.
NOTE: It is strongly recommended that you use packages from the same release together for the best experience.
Package | Version |
---|---|
com.unity.ml-agents (C#) | v1.7.0 |
ml-agents (Python) | v0.23.0 |
ml-agents-envs (Python) | v0.23.0 |
gym-unity (Python) | v0.23.0 |
Communicator (C#/Python) | v1.3.0 |
NOTE: It is strongly recommended that you use packages from the same release together for the best experience.
Package | Version |
---|---|
com.unity.ml-agents (C#) | v1.6.0 |
ml-agents (Python) | v0.22.0 |
ml-agents-envs (Python) | v0.22.0 |
gym-unity (Python) | v0.22.0 |
Communicator (C#/Python) | v1.2.0 |
--tensorflow
to the CLI, or adding framework: tensorflow
in the configuration YAML. (#4517)Agent.CollectObservations()
and Agent.EndEpisode()
will now throw an exception if they are called recursively (for example, if they call Agent.EndEpisode()
). Previously, this would result in an infinite loop and cause the editor to hang. (#4573)action_probs
node is no longer listed as an output in TensorFlow models (#4613).NOTE: It is strongly recommended that you use packages from the same release together for the best experience.
Package | Version |
---|---|
com.unity.ml-agents (C#) | v1.5.0 |
ml-agents (Python) | v0.21.1 |
ml-agents-envs (Python) | v0.21.1 |
gym-unity (Python) | v0.21.1 |
Communicator (C#/Python) | v1.2.0 |
NOTE: It is strongly recommended that you use packages from the same release together for the best experience.
Package | Version |
---|---|
com.unity.ml-agents (C#) | v1.5.0 |
ml-agents (Python) | v0.21.0 |
ml-agents-envs (Python) | v0.21.0 |
gym-unity (Python) | v0.21.0 |
Communicator (C#/Python) | v1.2.0 |
Observation Stacks
is added to the sensor components that support compressed observations. A new class ISparseChannelSensor
with an additional method GetCompressedChannelMapping()
is added to generate a mapping of the channels in compressed data to the actual channel after decompression for the python side to decompress correctly. (#4476)rnd
section to the reward_signals
section of your yaml configuration file. More information here. (#4473)compressed_channel_mapping
is added to the proto to handle decompression correctly. Newer versions of the package that wish to make use of this will also need a compatible version of the Python trainers. (#4476)VisualFoodCollector
scene, a vector flag representing the frozen state of the agent is added to the input observations in addition to the original first-person camera frame. The scene is able to train with the provided default config file. (#4511)Visual3DBall
in the 3DBall example. (#4513)Thank you @SergeyMatrosov for your contributions to this release.
NOTE: It is strongly recommended that you use packages from the same release together for the best experience.
Package | Version |
---|---|
com.unity.ml-agents (C#) | v1.4.0 |
ml-agents (Python) | v0.20.0 |
ml-agents-envs (Python) | v0.20.0 |
gym-unity (Python) | v0.20.0 |
Communicator (C#/Python) | v1.1.0 |
IActuator
interface and ActuatorComponent
abstract class were added. These are analogous to ISensor
and SensorComponent
, but for applying actions for an Agent. They allow you to control the action space more programmatically than defining the actions in the Agent's Behavior Parameters. See BasicActuatorComponent.cs for an example of how to use them. (#4297, #4315)--torch
when running mlagents-learn, or add framework: pytorch
to your trainer configuration (under the behavior name) to enable it. Note that PyTorch 1.6.0 or greater should be installed to use this feature; see see the PyTorch website for installation instructions and the relevant ML-Agents docs for usage. (#4335)The minimum supported version of TensorFlow was increased to 1.14.0. (#4411)
dotnet-format
. (#4362)GridSensor
was added to the com.unity.ml-agents.extensions
package. Thank you to Jaden Travnik from Eidos Montreal for the contribution! (#4399)Agent.EpisodeInterrupted()
, which can be used to reset the agent when it has reached a user-determined maximum number of steps. This behaves similarly to Agent.EndEpsiode()
but has a slightly different effect on training (#4453).com.unity.ml-agents
was not declaring built-in packages as dependencies in its package.json
. The relevant dependencies are now listed. (#4384)ISensor.GetCompressedObservation()
, this can be done by writing 3 channels at a time to a PNG and concatenating the resulting bytes. (#4399)vis_encode_type: match3
) for smaller grids, e.g. board games, has been added. (#4434)default_settings
in your trainer configuration to do so. (#4448)--resume
was fixed. (#4463)Thank you @NeonMika , @armando-fandango, @Sebastian-Schuchmann , and everyone at Unity for their contributions to this release.
NOTE: It is strongly recommended that you use packages from the same release together for the best experience.
Package | Version |
---|---|
com.unity.ml-agents (C#) | v1.3.0 |
ml-agents (Python) | v0.19.0 |
ml-agents-envs (Python) | v0.19.0 |
gym-unity (Python) | v0.19.0 |
Communicator (C#/Python) | v1.0.0 |
numpy
ml-agents-envs was changed to not allow 1.19.0 or later. This was done to reflect a similar change in TensorFlow's requirements. (#4274)StatsRecorder.Add()
with the same key in the same step will no longer overwrite each other. (#4236)Thank you ChristianCoenen, niskander, and everyone at Unity for their contributions to this release.
As part of ML-Agents Release 5, we will be versioning the different packages that make up the release.
NOTE: It is strongly recommended that you use packages from the same release together for the best experience.
Package | Version |
---|---|
com.unity.ml-agents (C#) | v1.2.0 |
ml-agents (Python) | v0.18.1 |
ml-agents-envs (Python) | v0.18.1 |
gym-unity (Python) | v0.18.1 |
Communicator (C#/Python) | v1.0.0 |
NOTE: It is strongly recommended that you use packages from the same release together for the best experience.
Package | Version |
---|---|
com.unity.ml-agents (C#) | v1.2.0 |
ml-agents (Python) | v0.18.0 |
ml-agents-envs (Python) | v0.18.0 |
gym-unity (Python) | v0.18.0 |
Communicator (C#/Python) | v1.0.0 |
resampling-interval
parameter has been removed and the config structure updated. More information here. (#4065)environment_parameters
. We provide an update script to help this migration. Run python -m mlagents.trainers.upgrade_config -h
with the latest version to see the script usage.SideChannelsManager
was renamed to SideChannelManager
. The old name is still supported, but deprecated. (#4137)RayPerceptionSensor.Perceive()
now additionally stores the GameObject that was hit by the ray. (#4111)RayPerceptionSensor
would raise an exception when the list of tags was empty, or a tag in the list was invalid (unknown, null, or empty string). (#4155)UnityEnvironment
. (#4117)initialize_from
in the trainer configuration YAML to null. (#4175)Thank you @StefanoCecere, @yongjun823, @poehlerflorian, @ChristianCoenen, @textarcana, @furkan-celik and everyone at Unity for their contributions to this release.
As part of ML-Agents Release 3, we will be versioning the different packages that make up the release. NOTE: It is strongly recommended that you use packages from the same release together for the best experience.
Package | Version |
---|---|
com.unity.ml-agents (C#) | v1.1.0 |
ml-agents (Python) | v0.17.0 |
ml-agents-envs (Python) | v0.17.0 |
gym-unity (Python) | v0.17.0 |
Communicator (C#/Python) | v1.0.0 |
ObservableAttribute
was added. Adding the attribute to fields or properties on an Agent will allow it to generate observations via reflection. (#3925, #4006)use_visual
and allow_multiple_visual_obs
in the UnityToGymWrapper constructor were replaced by allow_multiple_obs
which allows one or more visual observations and vector observations to be used simultaneously. (#3981) Thank you @shakenes !--lesson
CLI option has been removed. (#4025)beta
and epsilon
now follow the same decay schedule as learning_rate
. Previously they were always decayed. (#3940)results/
directory. (#3829)
--save-freq
CLI option has been removed, and replaced by a checkpoint_interval
option in the trainer configuration YAML. (#4034)get_behavior_names()
and get_behavior_spec()
on UnityEnvironment were replaced by the behavior_specs
property. (#3946)TerminalStep
and TerminalSteps
objects was renamed interrupted
. (#3908)buffer_init_steps
. (#4038)Thank you @shakenes, @TPihko, and everyone at Unity for their contributions to this release.
As part of ML-Agents Release 2, we will be versioning the different packages that make up the release. NOTE: It is strongly recommended that you use packages from the same release together for the best experience.
Package | Version |
---|---|
com.unity.ml-agents (C#) | v1.0.2 |
ml-agents (Python) | v0.16.1 |
ml-agents-envs (Python) | v0.16.1 |
gym-unity (Python) | v0.16.1 |
Communicator (C#/Python) | v1.0.0 |
--initialize-from
would resume from the past step count. (#3962)