Skip to content
View LegrandNico's full-sized avatar

Block or report LegrandNico

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
LegrandNico/README.md

📖 About me

LinkedIn Mastodon Google Scholar

I am a researcher in artificial intelligence with a strong interest in probabilistic modelling, causal inference and innovative neural network frameworks, such as predictive coding or self-organizing structures. My main passion is to create algorithms and agents that can perceive, learn, decide and act under environmental uncertainty, with a strong focus on computational efficiency. I am a proficient Python and Rust programmer, and the creator of several open-source packages for physiological signal analysis, psychophysiology experiments, neural networks and computational models of learning and metacognition. I am an experienced data scientist with more than 10 years of practice and have completed several research projects, all involving advanced use of machine learning, cognitive modelling, signal processing, inferential statistics, experimental design or (neuro)physiological recording.

Python Rust Julia R


💻 Open source projects

pyhgf

pyhgf - A Python library written on top of JAX and RUST to create, manipulate and sample dynamic probabilistic neural networks. It implements by default the generalised Hierarchical Gaussian Filter (see the method paper), which is a popular model in computational psychiatry that brings together reinforcement learning and Bayesian inference. The toolbox is designed as a neural network library to work with predictive coding models (which is not possible in standard frameworks like TensorFlow or Pytorch). The models can run forwards or be inverted (all functions comply with JAX transformations, including grad()), allowing inference over parameters using e.g. Hamiltonian MCMC. Recently, I have been working on a Rust backend that should push functionalities and performance even further, and eliminate the DynamicShapes limiting factor encountered with JAX.



metadpy

Systole is a package centred on processing and visualization of ECG, PPG and respiratory signals. See here for the last versions. It was mainly created to help record PPG and ECG signals using a Python-only API that could interface smoothly with Psychopy. This package is then central for the task developed in Cardioception (see below). It has been extended to an HRV library and supports state-of-the-art analysis with extensive report functionalities, as well as an interactive framework to annotate and correct physiological recordings.



metadpy

Cardioception - a psychophysics experiment to measure and analyze cardiac interoceptive beliefs (the method paper). See here for the last versions. The task uses Systole for recording and metadpy to estimate metacognitive parameters. The package also provides extensive resources to analyse the data produced by the tasks, including Jupyter notebooks and scripts to fit Bayesian psychometric models automatically.



metadpy

metadPy - a package to compute a variety of metacognitive efficiency parameters from trial-level confidence ratings (SDT, meta-d using MLE and Bayesian methods). This is mainly a Python adaptation of the JAGS version of the hierarchical meta-d' model. The package is written on top of Pytensor and PyMC for the Bayesian part and uses Numba for the MLE part. It is designed to interface smoothly with Python and should help extract various metacognitive parameters from multi-participant data frames using a single method call. See here for the last versions.

Pinned Loading

  1. ilabcode/pyhgf ilabcode/pyhgf Public

    PyHGF: A neural network library for predictive coding

    Python 53 16

  2. embodied-computation-group/systole embodied-computation-group/systole Public

    Systole: A python package for cardiac signal synchrony and analysis

    Python 81 31

  3. embodied-computation-group/Cardioception embodied-computation-group/Cardioception Public

    Python Cardioception Package - Measuring interoceptive performance with Psychopy

    Jupyter Notebook 27 16

  4. embodied-computation-group/metadpy embodied-computation-group/metadpy Public

    Metacognitive efficiency modelling in Python.

    Python 15 8

  5. hmm-mne hmm-mne Public

    Hidden Markov Modelling of M/EEG data.

    Jupyter Notebook 15 3

  6. DecodingMemoryIntrusions DecodingMemoryIntrusions Public

    HTML 1 1