![]() |
VOOZH | about |
This package is not maintained and not compatible with the newest version of RLMatrix, please use the toolkit and refer to documentation instead.
dotnet add package RLMatrix.Godot --version 0.2.421.3
NuGet\Install-Package RLMatrix.Godot -Version 0.2.421.3
<PackageReference Include="RLMatrix.Godot" Version="0.2.421.3" />
<PackageVersion Include="RLMatrix.Godot" Version="0.2.421.3" />Directory.Packages.props
<PackageReference Include="RLMatrix.Godot" />Project file
paket add RLMatrix.Godot --version 0.2.421.3
#r "nuget: RLMatrix.Godot, 0.2.421.3"
#:package RLMatrix.Godot@0.2.421.3
#addin nuget:?package=RLMatrix.Godot&version=0.2.421.3Install as a Cake Addin
#tool nuget:?package=RLMatrix.Godot&version=0.2.421.3Install as a Cake Tool
Dive into the future of type-safe Deep Reinforcement Learning with .NET & RL Matrix, powered by the might of TorchSharp. RL Matrix stands out as a user-friendly toolkit offering a collection of RL algorithmsβprimed for plug, play, and prosper!
π NuGet
π NuGet
π NuGet
π TorchSharp
While embarking on my RL journey, I sensed a gap in the reinforcement learning world even with TorchSharp's solid foundation. It struck meβC# is the ideal choice for RL outside research circles, thanks to its pristine and intuitive coding experience. No more guessing games in environment or agent building!
With RL Matrix, our vision is to offer a seamless experience. By simply incorporating the IEnvironment interface, you're equipped to rapidly craft and unleash Reinforcement Learning Agents (RL Agents). Switching between algorithms? A breeze! Itβs our nod to the elegance of Matlab's toolkit methodology.
π enter image description here
Peek into the /examples/ directory for illustrative code. But to give you a quick start:
public class CartPole : IEnvironment<float[]>
{
public int stepCounter { get; set; }
public int maxSteps { get; set; }
public bool isDone { get; set; }
public OneOf<int, (int, int)> stateSize { get; set; }
public int actionSize { get; set; }
CartPoleEnv myEnv;
private float[] myState;
public CartPole()
{
Initialise();
}
public float[] GetCurrentState()
{
if (myState == null)
myState = new float[4] {0,0,0,0};
return myState;
}
public void Initialise()
{
myEnv = new CartPoleEnv(WinFormEnvViewer.Factory);
stepCounter = 0;
maxSteps = 100000;
stateSize = myEnv.ObservationSpace.Shape.Size;
actionSize = myEnv.ActionSpace.Shape.Size;
myEnv.Reset();
isDone = false;
}
public void Reset()
{
//For instance:
myEnv.Reset();
isDone = false;
stepCounter = 0;
}
public float Step(int actionId)
{
//Whatever step logic, returns reward
return reward;
}
}
var opts = new DQNAgentOptions(batchSize: 64, memorySize: 10000, gamma: 0.99f, epsStart: 1f, epsEnd: 0.05f, epsDecay: 50f, tau: 0.005f, lr: 1e-4f, displayPlot: myChart);
var env = new List<IEnvironment<float[]>> { new CartPole(), new CartPole() };
var myAgent = new DQNAgent<float[]>(opts, env);
for (int i = 0; i < 10000; i++)
{
myAgent.Step();
}
Notice that TrainEpisode method was removed.
-Add RNN support for PPO and DQN -Add variations for multi-head output for PPO and DQN -More Godot examples testing multi-head continous+discrete action spaces -Create Godot plugin -Fully develop workflow for Gail and imitation learning As we innovate, anticipate breaking changes. We'll keep you in the loop!
Questions? Ideas? Collaborations? Drop a line at: π§ contact@exmachinasoft.com
We believe in collective brilliance! If you're inspired to enhance RL Matrix, please open an issue or PR. Letβs shape the future of RL together!
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0 net6.0 is compatible. net6.0-android net6.0-android was computed. net6.0-ios net6.0-ios was computed. net6.0-maccatalyst net6.0-maccatalyst was computed. net6.0-macos net6.0-macos was computed. net6.0-tvos net6.0-tvos was computed. net6.0-windows net6.0-windows was computed. net7.0 net7.0 was computed. net7.0-android net7.0-android was computed. net7.0-ios net7.0-ios was computed. net7.0-maccatalyst net7.0-maccatalyst was computed. net7.0-macos net7.0-macos was computed. net7.0-tvos net7.0-tvos was computed. net7.0-windows net7.0-windows was computed. net8.0 net8.0 was computed. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 0.2.421.3 | 756 | 3/1/2024 | 0.2.421.3 is deprecated because it is no longer maintained. |
| 0.2.421.2 | 928 | 1/23/2024 | |
| 0.2.421 | 553 | 1/20/2024 |