will-maclean / sb3-burn

Implementation of stable-baselines3 in rust with burn
MIT License
11 stars 0 forks source link

Is this feasible? #36

Closed GeorgeS2019 closed 2 weeks ago

GeorgeS2019 commented 2 weeks ago

Porting sb3-burn to c# Torchsharp

I am not familiar with burn. However, I am interested how you approach the pytorch version of sb3 while porting that to rust.

Is this feasible?

Interested of learning the challenges you have while porting sb3 from Pytorch to rust using burn

will-maclean commented 2 weeks ago

Hi, thanks for the question. Yes, the conversion of stable-baselines3 from python/pytorch to rust/burn is going quite well. The core design is more stabilised now and the library is at the point where we can start adding features (such as checkpointing and more advanced logging) and new algorithms.

Personally, I'd say the biggest challenges have been in finding ways of converting the abstract classes / inheritance structure of sb3 into the rust structures of traits and generics. But if you're converting into C# then this shouldn't be much of an issue. The other big factor is availability of a flexible deep learning library. Rust is lucky to have burn, which is both flexible and also has a good community of developers, but I don't know what options are available in C#.

Let me know if you have any more questions.

GeorgeS2019 commented 2 weeks ago

Rust is lucky to have burn, which is both flexible and also has a good community of developers, but I don't know what options are available in C#.

Torchsharp ( or PyTorch for c#) for c# tries to adopt similar syntax as PyTorch. Most of the time, one just has to copy and paste and make some small adjustments.

Thx for feedback.