// the find
dusty-nv/jetson-reinforcement
Deep reinforcement learning GPU libraries for NVIDIA Jetson TX1/TX2 with PyTorch, OpenAI Gym, and Gazebo robotics simulator.
A tutorial repo from NVIDIA's Dusty Franklin showing how to run deep RL (DQN and A3C/A3G) on Jetson TX1/TX2 hardware, with a C++ interop layer that bridges PyTorch Python code to robotics code via the C FFI. Aimed at embedded AI researchers who want to run sim-to-real transfer using Gazebo without needing full ROS infrastructure.
The C++ wrapper that passes tensor memory to PyTorch without extra copies (ZeroCopy via Python's C FFI) is genuinely useful for embedded targets where memory bandwidth is tight. The progression from 2D toy environments (catch, fruit) up to Gazebo arm and rover is well-structured for building intuition before complexity. Covering both discrete DQN and continuous A3G in the same repo with shared C++ interface is more complete than most NVIDIA sample repos. The Lua/Torch7 fallback path for lower-memory configurations was a thoughtful hardware accommodation at the time.
Hard-pinned to PyTorch 0.3 and JetPack 3.2 — both are ancient by several generations. The repo itself acknowledges this in the first sentence of the README and points you elsewhere, which means it functions more as historical reference than working code. The C++ FFI bridge is brittle by design: it calls into Python internals that changed significantly in PyTorch 1.0 and won't compile against anything modern. No model checkpointing or transfer learning utilities are included, so every training run starts from scratch — a serious gap for embedded hardware where training time is expensive.