Summary and Recap
This has been a great journey and so far. Below you will find a concise summary of my contribution to the JdeRobot community as a Google Summer of Code student.
Objectives
- PyTorch Extension
- Randomization and Visualization
- DeepLearningStudio: PilotNet base and stacked setups + DeepPilot CNN
- Iris drone into Behavior Metrics
PyTorch Extension to Behavior Metrics
Before GSoC 2021, Behavior Metrics used to support Tensorflow based brains. My contributions included implementing and extending all the necessary components to support PyTorch based brains. This started from the community bonding period and I was able to implement both the Deep Learning and Reinforcement learning algorithms. You can refer to the following:
Randomization and Visualization in Behavior Metrics
Randomization for various initial positions in script mode was extended to GUI method and the same was done for the visualization of the behavior metrics. This was done by implementing the randomization module separately and extending the existing code to better remote saving of visualized performance plots. Further, the information and custom hyperparameter flow from config files to respective brains was origanized and structured. You can refer to the following:
DeepLearningStudio: PilotNet base and Stacked setups + DeepPilot CNN
This was the most significant segment for this GSoC period. I was able to implement the PilotNet algorithm in PyTorch. This, along with the existing tensorflow version of the algorithm, was used to start the JdeRobot - DeepLearningStudio. Further, an extension of the base code was used to explore temporal relations without memory based LSTM algorithms. The stacked brain was a success however further modifications are still going on and is a future work. Further, DeepPilot CNN was implemented in order to conduct extensive DL experiments on drone tasks. You can refer to the following:
Iris Drone into Behavior Metrics
Finally, Behvaior Metrics is supposed to be a framework to test the performance of all kinds of machine learning based brains. Thus, the iris drone support was added so that DeepPilot CNN based models can be tested as well. I took the help of JdeRobot/drones to integrate the iris drone with the line folllowing task. First an explicit brain was developed which operates on complete visual control based on only the frontal image. The explicit brain was modeled for 3 degrees of freedom, linear velocity, angular velocity and z-velocity. You can refer to the following: