Sign in

Olivier Grisel

@ogrisel.bsky.social
2.7K followers 1.1K following 128 posts

Software engineer at probabl, scikit-learn contributor. Also at: sigmoid.social/@ogrisel github.com/ogrisel

PostsRepliesMedia
Reposted by Olivier Grisel
Compute! Paris @computeparis.bsky.social · 12/08/2026
As AI agents start writing ML code, Gaëtan de Castellane looks at how you catch the mistakes with automated checks. Diagnostics in skore (an open source library for evaluating scikit-learn models) run on any sklearn-compatible estimator and flag issues such as over/underfitting, class imbalance...
131
Olivier Grisel @ogrisel.bsky.social · 16/09/2026
Furthermore if you install numpy from pypi or from conda-forge on different OSes or versions you might get different BLAS implementations (openblas, mkl, accelerate) and/or different threading layers (pthreads, openmp...) and different openmp runtimes (libgomp, libomp, vcomp, libiomp).
000
Olivier Grisel @ogrisel.bsky.social · 16/09/2026
...threads each calling blas or openmp or both.
100
Olivier Grisel @ogrisel.bsky.social · 16/09/2026
This is never the case in practice (eg interactive data science in a notebook). Also a single program often has several sections with different nested parallelism patterns: blas called by numpy in the main python thread, then a blas call under cython openmp loop in sklearn, then several python...
100
Olivier Grisel @ogrisel.bsky.social · 16/09/2026
That's only possible if you know the structure of the nested parallelism of the program ahead of time.
100
Olivier Grisel @ogrisel.bsky.social · 16/09/2026
I mistyped @itamarst.hachyderm.io.ap.brid.gy's bsky handle...
000
Olivier Grisel @ogrisel.bsky.social · 16/09/2026
Support for this work was provided by NASA through the ROSES grant 80NSSC25K7215 - Ensuring a fast and secure core for scientific Python.
000
Olivier Grisel @ogrisel.bsky.social · 16/09/2026
More details about those changes and other fixes in the changelog: github.com/joblib/threa...
github.com
threadpoolctl/CHANGES.md at master · joblib/threadpoolctl
Python helpers to limit the number of threads used in native libraries that handle their own internal threadpool (BLAS and OpenMP implementations) - joblib/threadpoolctl
101
Olivier Grisel @ogrisel.bsky.social · 16/09/2026
The README now also includes a section about how to empirically assess the subtle semantic variations of various BLAS and OpenMP runtimes: github.com/joblib/threa...
github.com
threadpoolctl/README.md at master · joblib/threadpoolctl
Python helpers to limit the number of threads used in native libraries that handle their own internal threadpool (BLAS and OpenMP implementations) - joblib/threadpoolctl
101
Olivier Grisel @ogrisel.bsky.social · 16/09/2026
The documentation in the README of the project has been updated to explain how to achieve this. github.com/joblib/threa...
github.com
threadpoolctl/README.md at master · joblib/threadpoolctl
Python helpers to limit the number of threads used in native libraries that handle their own internal threadpool (BLAS and OpenMP implementations) - joblib/threadpoolctl
101
Olivier Grisel @ogrisel.bsky.social · 16/09/2026
Mitigating this problem is needed to unlock the full value of free-threading Python, especially for @scikit-learn.org workloads that often nest BLAS calls (via NumPy, SciPy or PyTorch) and OpenMP calls (via Cython) under Python level threads (typically via joblib).
101
Olivier Grisel @ogrisel.bsky.social · 16/09/2026
Oversubscription problems typically happen when nesting BLAS or OpenMP calls under Python threads: naively spawning 10 Python threads that themselves spawn 10 BLAS threads each results in 100 starving threads on a 10 cores CPU.
101
Olivier Grisel @ogrisel.bsky.social · 16/09/2026
This release includes several contributions by itamarst.hachyderm.io.ap.brid.gy from @quansight.com. in collaboration with myself & others at @probabl.ai. It provides tools to inspect the semantics of native threadpools in various environments so as to be able to mitigate oversubscription problems.
itamarst.hachyderm.io.ap.brid.gy
212
Olivier Grisel @ogrisel.bsky.social · 16/09/2026
threadpoolctl 3.7.0 is out. This library is a utility used by @scikit-learn.org and others to coordinate the levels of thread-based parallelism in native libraries such as BLAS implementations and OpenMP runtimes used by Python libraries such as NumPy, SciPy, PyTorch and scikit-learn.
2146
Reposted by Olivier Grisel
Compute! Paris @computeparis.bsky.social · 16/09/2026
TabICL, a Tabular Foundation Model, pretrained once on millions of synthetic data-generating processes, automatically recognizes what shaped your data, and predicts accordingly. Out-of-the-box, well-calibrated predictions, classification & regression, that's the promise.
112
Reposted by Olivier Grisel
Compute! Paris @computeparis.bsky.social · 13/08/2026
🚀 Join the Mission: Volunteer or Apply for a Scholarship at Compute! Paris 2026! 🚀 We’re thrilled to announce that applications are now open for volunteers and scholarships for Compute! Paris 2026! Whether you want to contribute behind the scenes or need support to attend, this is your chance !
compute.events
Join the Mission: Compute! Paris 2026
Volunteering and diversity scholarships at Compute! Paris 2026: ways to join the conference beyond a standard ticket.
132
Reposted by Olivier Grisel
scikit-learn @scikit-learn.org · 12/06/2026
🎉 Scikit-learn 1.9 released: ■Solid improvements to many existing estimators: faster, more stable, handling missing values, adding GPU support… ■Also, enhanced estimator displays in notebooks, ■And callbacks that enable progress bars or monitoring of convergence blog.scikit-learn.org/updates/rele...
blog.scikit-learn.org
scikit-learn release 1.9: better numerics, new core functionality
Author: Gael Varoquaux
03013
Olivier Grisel @ogrisel.bsky.social · 04/06/2026
The CfP deadline for Compute! Paris 2026 was extended to Sunday, June 7! Just a few days left to submit a proposal on Open Source scientific compute, data science, ML & AI topics. Conference dates and venue: November 25–26, 2026, Sorbonne Université · Paris compute.events/paris2026/cf...
compute.events
Call for Proposals — Compute! Paris 2026
Submit your talk proposal for Compute! Paris 2026. The Call for Proposals is open from April 15th to June 7th, 2026.
075
Reposted by Olivier Grisel
Compute! Paris @computeparis.bsky.social · 22/05/2026
Wolf Vollprecht, founder of Prefix.dev, creator of mamba & pixi, and conda-forge core maintainer, is keynoting Compute! Paris 2026! Hear his vision for the future of open-source tooling, performance, and data science infrastructure.
0126
Reposted by Olivier Grisel
Compute! Paris @computeparis.bsky.social · 14/05/2026
Researchers, educators, and PhD students: Compute! Paris 2026 (Nov 25-26) is your platform. Share your work on reproducible science and connect with peers who are pushing the same boundaries. compute.events/paris2026/ #ComputeParis
compute.events
Compute! Paris 2026
Understanding your tools and algorithms is what gives you agency in a digital world. Paris, November 25–26, 2026.
012
Reposted by Olivier Grisel
Compute! Paris @computeparis.bsky.social · 20/05/2026
Mackenzie Mathis (EPFL neuroscientist, DeepLabCut & CEBRA co-creator and open science pioneer) is keynoting at Compute! Paris 2026! Her tools (used by 1000s of labs) decode behavior & neural activity. She explores adaptive intelligence, how brains and machines learn in a changing world.
Mackenzie Mathis
033
Olivier Grisel @ogrisel.bsky.social · 23/04/2026
The bsky account for the conference was renamed / migrated. You might want to check if you actually follow @computeparis.bsky.social again.
000
Olivier Grisel @ogrisel.bsky.social · 23/04/2026
I forgot to mention @computeparis.bsky.social in the first post of the thread.
110
Olivier Grisel @ogrisel.bsky.social · 21/04/2026
The scope of Compute! Paris is a bit less centered around Python, but we still expect many Python related presentations given the popularity of the language. Note that we will neither organize a JupyterCon nor PyData conferences in Paris in 2026, so join us at Compute! Paris.
120
Olivier Grisel @ogrisel.bsky.social · 21/04/2026
The team of JupyterCon 2023, PyData Paris 2024 & 2025 organizes a new conference named Compute! Paris 2026 on open source computation and data. The event will take place on November 25–26, 2026 at Sorbonne Université in Paris. CfP deadline: May 24, 2026: compute.events/paris2026/cf...
compute.events
Call for Proposals — Compute! Paris 2026
Submit your talk proposal for Compute! Paris 2026. The Call for Proposals is open from April 15th to May 24th, 2026.
11312
Olivier Grisel @ogrisel.bsky.social · 01/04/2026
And here is the link to the colab notebook: colab.research.google.com/drive/1-FiOQ...
colab.research.google.com
Google Colab
020
Olivier Grisel @ogrisel.bsky.social · 01/04/2026
Here is the recording of the webinar I gave last week on GPU support in @scikit-learn.org and comparison of a scikit-learn pipeline vs the TabICLv2 foundational model on a non-linear heteroscedastic quantile regression task. app.livestorm.co/probabl/webi...
app.livestorm.co
[Webinar] Python array API support in scikit-learn for GPU acceleration and TabICLv2 | Probabl
142
Olivier Grisel @ogrisel.bsky.social · 25/03/2026
We will contrast pros and cons of both approaches. Spoiler alert: Manual pipelines are more scalable (faster to train and predict) on larger datasets but require more work (e.g. hparam tuning) while TabICL works better on smaller datasets and yields good predictive performance of the box.
010
Olivier Grisel @ogrisel.bsky.social · 25/03/2026
Tomorrow I will give an online demo of the use of the Python array API to develop a non-linear regression pipeline with GPU acceleration and uncertainty quantification. We will also introduce TabICLv2 and demo it on the same predictive tasks. Register here: www.linkedin.com/events/webin...
linkedin.com
LinkedIn Login, Sign in | LinkedIn
141
Olivier Grisel @ogrisel.bsky.social · 09/03/2026
Thanks to Dea María Léon for the PR and to the Chan Zuckerberg Initiative for the support. blog.scikit-learn.org/funding/czi-...
blog.scikit-learn.org
Chan Zuckerberg Initiative considers scikit-learn an Essential Open Source Software
Author: Guillaume Lemaitre , Lucy Liu
020
Olivier Grisel @ogrisel.bsky.social · 09/03/2026
The next scikit-learn release will allow inspecting the type and values of attributes of fitted estimators in Jupyter notebooks & example code rendered as HTML in sphinx-gallery powered project websites. scikit-learn.org/dev/auto_exa...
2136
Reposted by Olivier Grisel
David Holzmüller @dholzmueller.bsky.social · 12/02/2026
Super hyped that it's finally out!
2151
Olivier Grisel @ogrisel.bsky.social · 21/01/2026
It's perfect now. Thanksn
020
Olivier Grisel @ogrisel.bsky.social · 24/12/2025
Thanks for sharing the blog post. However it's a bit hard to read the text on a mobile device and one has to zoom and pan around to read it. It would be nice to adopt a reflowing layout that adapts to small screen sizes instead.
130
Reposted by Olivier Grisel
Tim Head @betatim.bsky.social · 11/12/2025
A new version of scikit-learn has been released 🥳 check out the highlights: scikit-learn.org/stable/auto_... Thanks everyone who contributed to this release! Let me know what you think of the experimental GPU support
scikit-learn.org
Release Highlights for scikit-learn 1.8
We are pleased to announce the release of scikit-learn 1.8! Many bug fixes and improvements were added, as well as some key new features. Below we detail the highlights of this release. For an exha...
096
Reposted by Olivier Grisel
Jeremy Tuloup @jtp.io · 24/11/2025
JupyterLab 4.5 and Jupyter Notebook 7.5 are here! 🎉 Highlights 🎁 - Enhanced notebook scrolling behavior - Native audio and video support - New Terminal search - Debugger, Notebook and File Browser improvements Check out the blog post to learn more! blog.jupyter.org/jupyterlab-4...
blog.jupyter.org
JupyterLab 4.5 and Notebook 7.5 are available!
JupyterLab 4.5 has been released! This new minor release of JupyterLab includes 51 new features and enhancements, 81 bug fixes, 44…
1239
Olivier Grisel @ogrisel.bsky.social · 14/11/2025
Thanks for sharing. I would be very curious to see if LeJEPA can successfully pretrain good encoders for other input modalities with different kinds of spatial structures and signal smoothness assumptions (audio, time series, signal from robotic sensors, natural language...).
000
Reposted by Olivier Grisel
Sung Kim @sungkim.bsky.social · 13/11/2025
LeJEPA: a novel pretraining paradigm free of the (many) heuristics we relied on (stop-grad, teacher, ...) - 60+ arch., up to 2B params - 10+ datasets - in-domain training (>DINOv3) - corr(train loss, test perf)=95%
281
Reposted by Olivier Grisel
Trevon Logan @trevondlogan.bsky.social · 27/10/2025
The Python Software Foundation was recommended for a $1.5M grant from the National Science Foundation. The terms of the award said PSF could not work on DEI, whether or not the grant funding was used for it. PSF therefore declined the funding. Science suffers, but commitment to core values remains
3426139
Reposted by Olivier Grisel
Skrub @skrub-data.bsky.social · 26/09/2025
⚡ Release 0.6.2 is out ⚡ github.com/skrub-data/s...
github.com
Release 0.6.2 · skrub-data/skrub
New features The DataOp.skb.full_report() now displays the time each node took to evaluate. #1596 by Jérôme Dockès. The User guide has been reworked and expanded. Changes and deprecations Ken em...
174
Olivier Grisel @ogrisel.bsky.social · 26/09/2025
I will speak about probabilistic regressions, @skrub-data.bsky.social and skore contributors will also present their libraries. Come join us!
0113
Olivier Grisel @ogrisel.bsky.social · 02/09/2025
More info about free-threading here: py-free-threading.github.io
py-free-threading.github.io
Python Free-Threading Guide
The free-threading guide is a centralized collection of documentation and trackers around compatibility with free-threaded CPython for the Python open source ecosystem
010
Olivier Grisel @ogrisel.bsky.social · 02/09/2025
We set up some dedicated automated tests and discovered a bunch of thread-safety bugs, but they are now tracked by dedicated issues, and we have plans to fix them all, hopefully in time for 1.8.
100
Olivier Grisel @ogrisel.bsky.social · 02/09/2025
scikit-learn 1.8 will be the first scikit-learn release with native extensions that are officially marked as free-threading compatible. github.com/scikit-learn...
github.com
MNT Mark cython extensions as free-threaded compatible by lesteve · Pull Request #31342 · scikit-learn/scikit-learn
Part of #30007 Cython 3.1 has been released on May 8 2025. Following scipy PR scipy/scipy#22658 to use -Xfreethreading_compatible=True cython argument if cython >= 3.1 This cleans up the lock-fi...
1103
Reposted by Olivier Grisel
Compute! Paris @computeparis.bsky.social · 28/08/2025
We’re happy to announce our Social Event, taking place on Tuesday 30th September at 6pm at the Cité des sciences. A perfect opportunity to unwind and connect with fellow attendees after a day of interesting talks! pydata.org/paris2025/so... pydata.org/paris2025/ti...
044
Olivier Grisel @ogrisel.bsky.social · 28/08/2025
Looking forward to attending PyData Paris 2025! I will give a talk about probabilistic predictions for regression problems (I need to start working on my slides ;)
071
Reposted by Olivier Grisel
Jeremy Tuloup @jtp.io · 19/08/2025
👋 JupyterLab and Jupyter Notebook users: What's one thing you'd love to see improved in JupyterLab, Jupyter Notebook, or JupyterLite? The team is prepping the upcoming 4.5/7.5 releases and wants to tackle some usability issues. Drop your feedback below, this will help prioritize what gets fixed!👇
41710
Olivier Grisel @ogrisel.bsky.social · 19/08/2025
The video recording is already live! www.youtube.com/live/jvyWTa1...
youtube.com
19.08.2025 Predictive modeling for imbalanced classification using scikit-learn
YouTube video by EuroSciPy
020
Olivier Grisel @ogrisel.bsky.social · 19/08/2025
However, the Elkan 2001 post-hoc prevalence correction can be used for any (well-specified) probabilistic classifier, including gradient boosting classifiers, assuming the training set is a uniform sample of the population conditionally on the class.
100
Olivier Grisel @ogrisel.bsky.social · 19/08/2025
Interestingly, for logistic regression, this is equivalent to shifting the intercept by the difference of the logits of the prevalence of the positive class in the population and in the training set distributions, respectively.
100