In this project done with Charlie Sempé, Ralph el Hage and Manuel Cornu we have tried to implement and tweak a few Reinforcement Learning algorithms, viz. Deep-Q Networks (DQN), Advantage Actor Critic (A2C) and Proximal Policy Optimization (PPO) models using Pytorch. We have used them to solve the Frozen Lake, Car Racing and Mountain Car (continuous) environments from Gymnasium. We have additionally :
Left : Success rate of the Frozen Lake agent when they only know their position (blue curve) and when they know the type of the adjacent tiles (red). Right : our wonderful self-driving car obtained combining Convolutional Neural Networks (CNN) and DQN
This is still a work in progress, we eventually hope to train Doom or Super Mario agents !
This project was borne out of frustration from having to work with rheometer software. They are usually very clunky and inefficient for researchers, so I want to get a .csv
-like file as fast as I can and transform it into a Pandas DataFrame
to toy around. I wrote a few templates and templates to export your rheology data into .txt
files, and I then wrote a ‘universal’ reader for files exported from Rheology software, so far for Anton Paar (RheoCompass), TA Instruments (Rheology Advantage and Trios) or Malvern Panalytical (rSpace). So normally you should be able to feed the programme their text files and eventually obtain a properly formatted DataFrame
. Rheologists also usually plot the same things over and over again, their flow curves, their oscillatory amplitude sweeps, etc. so I have coded shorthands to quickly plot them in an orderly fashion.
A typical plot done in rheology, a flow curve relating the shear stress (the ‘force’) and the shear rate (the ‘deformation’ rate) in a pasty medium.
In my work at Laboratoire Navier, I was regularly approached to give a hand on existing bits of code or think about giving Python classes to an engineering doctoral school ; they have specific needs in terms of code (solving differential equations or signal processing with Scipy, image processing with Scikit-image, …), in particular Soft Matter students who need to track particles, bubbles, … So I worked on designing interactive, Jupyter-based tutorials (in French) to teach ‘classic’ Scientific Python from scratch aimed at engineering students, along with exercises, and with the initial idea that I would guide students throughout their progress during classes. I eventually did not teach these classes due to a conflict in my schedule, but I left the tutorials open and available to everyone in the lab.
Advanced use of Matplotlib to make animated plots is included in the tutorials …
Detection of particles by their centers (crosses) using tracking using Trackpy is also included. Pictures of beams of colloidal particles of around 2um in diameter courtesy of Julie Goyon, Xavier Chateau and Anaël Lemaître.