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
| using NUnit.Framework; | |
| using UnityEngine; | |
| using Unity.MLAgents.Sensors; | |
| namespace Unity.MLAgents.Tests | |
| { | |
| public class VectorSensorTests | |
| { | |
| [] | |
| public void TestCtor() | |
| { | |
| ISensor sensor = new VectorSensor(4); | |
| Assert.AreEqual("VectorSensor_size4", sensor.GetName()); | |
| sensor = new VectorSensor(3, "test_sensor"); | |
| Assert.AreEqual("test_sensor", sensor.GetName()); | |
| } | |
| [] | |
| public void TestWrite() | |
| { | |
| var sensor = new VectorSensor(4); | |
| sensor.AddObservation(1f); | |
| sensor.AddObservation(2f); | |
| sensor.AddObservation(3f); | |
| sensor.AddObservation(4f); | |
| SensorTestHelper.CompareObservation(sensor, new[] { 1f, 2f, 3f, 4f }); | |
| // Check that if we don't call Update(), the same observations are produced | |
| SensorTestHelper.CompareObservation(sensor, new[] { 1f, 2f, 3f, 4f }); | |
| // Check that Update() clears the data | |
| sensor.Update(); | |
| SensorTestHelper.CompareObservation(sensor, new[] { 0f, 0f, 0f, 0f }); | |
| } | |
| [] | |
| public void TestAddObservationFloat() | |
| { | |
| var sensor = new VectorSensor(1); | |
| sensor.AddObservation(1.2f); | |
| SensorTestHelper.CompareObservation(sensor, new[] { 1.2f }); | |
| } | |
| [] | |
| public void TestObservationType() | |
| { | |
| var sensor = new VectorSensor(1); | |
| var spec = sensor.GetObservationSpec(); | |
| Assert.AreEqual((int)spec.ObservationType, (int)ObservationType.Default); | |
| sensor = new VectorSensor(1, observationType: ObservationType.Default); | |
| spec = sensor.GetObservationSpec(); | |
| Assert.AreEqual((int)spec.ObservationType, (int)ObservationType.Default); | |
| sensor = new VectorSensor(1, observationType: ObservationType.GoalSignal); | |
| spec = sensor.GetObservationSpec(); | |
| Assert.AreEqual((int)spec.ObservationType, (int)ObservationType.GoalSignal); | |
| } | |
| [] | |
| public void TestAddObservationInt() | |
| { | |
| var sensor = new VectorSensor(1); | |
| sensor.AddObservation(42); | |
| SensorTestHelper.CompareObservation(sensor, new[] { 42f }); | |
| } | |
| [] | |
| public void TestAddObservationVec() | |
| { | |
| var sensor = new VectorSensor(3); | |
| sensor.AddObservation(new Vector3(1, 2, 3)); | |
| SensorTestHelper.CompareObservation(sensor, new[] { 1f, 2f, 3f }); | |
| sensor = new VectorSensor(2); | |
| sensor.AddObservation(new Vector2(4, 5)); | |
| SensorTestHelper.CompareObservation(sensor, new[] { 4f, 5f }); | |
| } | |
| [] | |
| public void TestAddObservationQuaternion() | |
| { | |
| var sensor = new VectorSensor(4); | |
| sensor.AddObservation(Quaternion.identity); | |
| SensorTestHelper.CompareObservation(sensor, new[] { 0f, 0f, 0f, 1f }); | |
| } | |
| [] | |
| public void TestWriteEnumerable() | |
| { | |
| var sensor = new VectorSensor(4); | |
| sensor.AddObservation(new[] { 1f, 2f, 3f, 4f }); | |
| SensorTestHelper.CompareObservation(sensor, new[] { 1f, 2f, 3f, 4f }); | |
| } | |
| [] | |
| public void TestAddObservationBool() | |
| { | |
| var sensor = new VectorSensor(1); | |
| sensor.AddObservation(true); | |
| SensorTestHelper.CompareObservation(sensor, new[] { 1f }); | |
| } | |
| [] | |
| public void TestAddObservationOneHot() | |
| { | |
| var sensor = new VectorSensor(4); | |
| sensor.AddOneHotObservation(2, 4); | |
| SensorTestHelper.CompareObservation(sensor, new[] { 0f, 0f, 1f, 0f }); | |
| } | |
| [] | |
| public void TestWriteTooMany() | |
| { | |
| var sensor = new VectorSensor(2); | |
| sensor.AddObservation(new[] { 1f, 2f, 3f, 4f }); | |
| SensorTestHelper.CompareObservation(sensor, new[] { 1f, 2f }); | |
| } | |
| [] | |
| public void TestWriteNotEnough() | |
| { | |
| var sensor = new VectorSensor(4); | |
| sensor.AddObservation(new[] { 1f, 2f }); | |
| // Make sure extra zeros are added | |
| SensorTestHelper.CompareObservation(sensor, new[] { 1f, 2f, 0f, 0f }); | |
| } | |
| } | |
| } | |