profile image

Thibault Charmet

Artificial Intelligence Engineer

Contact Me

Latest Projects

github.io website

Github.io website - or how to highlight your projects.

GitHub Pages HTML/CSS Bootstrap

Personal website to share my proudest projects powered by GitHub Pages and based on Xiaoying Riley's bootstrap portfolio theme.

Find out more(2021)

PCA

Prediction of metal resources in formation waters.

R Principal Component Analysis Scikit-learn Random Forest

A datascience internship at Total. Preparing and selecting data. Analyzing quantitative data using dimensionality reduction with principal component analysis (PCA). Comparing machine learning algorithms (Random Forest, Multilayer perceptron, Linear Regression, K-Nearest Neighbors) against a baseline on the data. Predicting future productions using models.

(2020)

Optimization algorithms

Optimization algorithms - or how to take good decisions in the presence of conflicting objectives.

Python Multi-objective Optimization Simulated annealing Matplotlib

Implementation of simulated annealing optimisation algorithm for multi objective discrete problems. Here computing a Pareto front in 2 dimensions.

Find out more(2020)

Sentimental chatbot Sentiment analysis

Sentimental chatbot - or how to learn Deep Learning.

Python Pytorch fast.ai LSTM GRU Luong attention Jupyter notebook Anaconda

Pytorch LSTM-based model classifier for sentiment analysis trained on Tweets and reaching 90.5 accuracy. I also made chatbot able to choose between a range of 7 emotions when answering, based on a Pytorch chatbot and trained on Cornell Movie-Dialogs corpus. It was a great experience where I had the opportunity to work with researchers and students at Keio University in Ohtsuki Lab.

(2019)

Artificial Intelligence arena

Artificial Intelligence arena - or me playing with neural networks.

Python Tensorflow Tkinter Threading Reinforcement learning

Spaceship combat simulator made as an artificial intelligence arena. I'm playing with reinforcement learning, dense and convolutional models with multiple inputs and outputs and neural network made from scratch.

Find out more(2018-)

intergration diagram with Jenkins

Continuous integration with Jenkins

Jenkins Python Bash SVN

Continuous integration (CI) project with Jenkins. My first internship at Total in the Centre Scientifique et Technique Jean Féger (CSTJF). Setting up SVN post-commit hooks to automatically execute non-regression and unit tests, from XML config files, on Pangea clusters for a physical simulation project. Returning tests results live on an HTML dashboard. Converting Bash scripts and writing Python scripts.

(2018)

gtimeit PyPI package

gtimeit PyPI package - or how to make your first Python package.

Python Matplotlib Python package

A package I made because I needed a simple way of comparing code samples execution times. There is also a basic performance tracker to understand which of the decorated functions takes up the most total time during the code execution.

Find me on PyPI(2018)

rainbow clicker python web

Rainbow Clicker - or why Flask is satisfying.

Python Flask Database SQLite

A 2 men, 2 weeks proof-of-concept Python web application. We used Flask and SQLite to create a clicker with upgrades, factories, user accounts and high scores.

(2017)

dears and wolves ecosystem simulation

Dears and Wolves, ecosystem simulation - or how to start with Tkinter and Object-oriented programming.

Python Tkinter Object-oriented programming

A proof of concept to discover Tkinter and grasp Object-oriented programming. Wolves are eating dears. Dears are eating grass. Grass is trying to grow in peace.

Find out more(2017)

quadtree

Quadtree project - or an introduction to functional programming.

OCaml Functional programming Quadtree Image processing

The aim of the project was to handle images as pixels trees called Quadtrees. It was a second year project, in groups of 3, lasting one month. The program had to save and load PPM images (see Portable Pixmap Format) and convert them in memory into Quadtrees. Then it could apply rotation, mirroring, inversion, compression or segmentation onto the image. It was controlled by a GTK graphical interface.

(2016)

Hypersonic challenge

Hypersonic challenge - or how to code a IA from scratch in a tournament.

Python game AI from scratch

A Codingame challenge similar to Bomberman where your AI plays against other participants bots. I spent a weekend coding a program that ended up in gold league in 325th place out of 7106 participants. Having little conventional AI knowledge at this time, I improvised a program that was optimally breaking boxes to win with max score while surviving bombs by avoiding future explosion areas.

Find out more(2016)

Traverse project

Traverse project - or how to code a game from scratch.

Pascal game AI Alpha–beta pruning

A 2 month project made for the second semester of year 1 with 2 friends. It is an implementation of the Traverse (©Educational Insights) game in Pascal with a graphical and terminal interface, and a player versus player, or player versus IA mode.

Want to see some more ?(2016)

Image project

Image project - or how to start a great journey.

Pascal Image processing Software development

First major school project. We worked in pairs on this image processing software to apply zoom, rotation, blur, contrast, erosion, dilatation, segmentation and other filters on PPM images (see Portable Pixmap Format).

(2016)