Open-source project
HenriquesLab/ZeroCostDL4Mic avatar
HenriquesLab/ZeroCostDL4Mic

ZeroCostDL4Mic turns Google Colab into a microscopy deep learning lab

ZeroCostDL4Mic: A Google Colab based no-cost toolbox to explore Deep-Learning in Microscopy

656 stars145 forksJupyter NotebookMIT

At a glance

What is it?
ZeroCostDL4Mic is a set of self-explanatory Jupyter Notebooks for Google Colab that let researchers with little coding experience test, train and use deep learning networks on microscopy images at no cost. The notebooks live alongside a wiki page that carries the actual getting started guide, and the compute comes from Colab rather than from the project.
Who is it for?
Use ZeroCostDL4Mic when you are a microscopy researcher who wants to try deep learning on your own images without writing a training pipeline or paying for cloud compute, and you are willing to work inside Colab. Skip it when the experiment has to be reproducible on your own cluster, when the images are sensitive enough that they cannot sit in a hosted notebook session, or when you need the full flexibility of a custom PyTorch or TensorFlow codebase.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 17 days ago.
What is it written in?
Mainly Jupyter Notebook, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

Colab supplies the hardware, the notebooks supply the workflow

The core idea is a division of labour. Google Colab provides the computational resources at no cost, and ZeroCostDL4Mic supplies the notebooks that use them. The readme is explicit that Colab itself provides what is needed, and that the project is a collection of self-explanatory Jupyter Notebooks for Colab featuring an easy-to-use graphical user interface.

The audience is defined just as precisely. It is for researchers who have little or no coding expertise and want to quickly test, train and use popular deep learning networks on microscopy data. The stated scope is to get people started on learning to use deep learning for microscopy, and the claim is about speed of first result rather than about model quality.

What that means for an engineer reading the repository is that this is not a library. There is no pip package to depend on, no API to call, and no component of your own pipeline you can import. It is a set of teaching notebooks that end where serious work begins, and the practical value lies in how little code a beginner has to write before a network is running on an image of their own.

The wiki page is where you actually start

The very first line of the readme is a pointer rather than an introduction. The summary line says that the linked wiki page has everything you need to get started, and that link goes to the DeepLearning_Collab wiki rather than to a documentation folder inside this repository.

That placement has consequences for how the project is maintained and how you should use it. Tutorials that live in a wiki can be edited without a pull request, which is convenient for a project that grew across many collaborating laboratories, but it also means the tutorial text and the notebook code in the repository can drift apart. The readme itself points contributors to a separate wiki page listing contributors, next to a related paper, which suggests the wiki carries both the teaching content and the credit for it.

There is a Zenodo DOI badge at the top of the readme, which is how the project is versioned for citation purposes. The repository is on Zenodo with DOI 239971181, and that is the identifier to use when you refer to a specific archived version of the work in a methods section.

The dependency list reveals the modelling stack

The requirements.txt file is the most informative file in the repository for anyone deciding whether this matches their own stack. It is a long flat list of Python packages, and the heavy lifting is done by tensorflow, csbdeep, numpy, scipy, scikit-image, scikit-learn, astropy, tifffile, h5py and numba.

Three entries are worth calling out. csbdeep is a deep learning library widely used in microscopy work, so its presence signals the modelling focus of the notebooks. astropy and tifffile point at scientific image formats, and scikit-image covers the classical preprocessing and analysis steps that typically sit in front of a network.

There is also a comment in the file that disables an extension:

python
# imjoy-jupyter-extension

That line sits inside the requirements list with its import commented out, which means the plugin is listed but not installed. Interactive labelling of images is exactly the kind of task that benefits from a point-and-click annotation interface in the browser, and several tools in this space are built on it, so a reader who expects an annotation UI should know that the dependency is present in the file but disabled.

The remaining entries are the standard Jupyter and tooling layer, with jupyterlab, jlab-enhanced-cell-toolbar, tensorboard, dask, tqdm, wget and requests.

A Makefile turns the repository into a container image

The repository carries a small Makefile whose only target wraps repo2docker, the tool that turns a repository of notebooks into a runnable container image:

bash
all: repo2docker.build
bash
repo2docker.build:
	repo2docker .

The first target is the default and it depends on the second, whose recipe invokes repo2docker on the current directory. A .binder/ directory sits at the top level alongside it, which is the convention associated with Binder deployments, and that pairing is the reason to care about this build at all.

It means the notebooks are not locked to one person's browser session. They can be launched as a container, served through a Binder instance or reproduced on a cluster with the same environment the author used. That is a meaningful answer to the reproducibility complaint that usually comes with teaching notebooks, and it costs one Makefile. The requirements_files/ directory, holding several requirement files, suggests the environment is split into pieces so that different notebooks can be built with different dependency sets.

What is in the repository beyond the notebooks

The top level layout shows how the project is organised. Colab_notebooks/ holds the bulk of the teaching notebooks, and a single top-level notebook, ZeroCostDL4Mic_Interactive_annotations_Cellpose.ipynb, sits on its own, which by its name is an interactive annotation notebook built around Cellpose.

Three entries point to the project's connections with the wider microscopy tooling ecosystem. BioimageModelZoo/ is present as a directory, manifest.bioimage.io.yaml as a file, and construct.yaml as another. Their names indicate a link to the BioImage Model Zoo, the shared registry of published image analysis models, and to a construct manifest, both of which are used to describe a packaged model and its environment. What the readme does not say is how these are wired into the notebooks, so treat them as a packaging route rather than a documented workflow.

Tools/ and Wiki_files/ round out the repository. The second holds the images used in the readme and in the linked videos, including screenshots of the notebook interface and of example data. Requirements.txt sits next to a separate directory of requirement files, which is where the split environments live.

The free compute is also the main limitation

Everything the project promises rests on Google Colab providing computation at no cost, and that is the dependency to think carefully about. The readme does not describe session limits, runtime disconnects, storage quotas or what happens to a notebook state after a session ends, so anyone planning real work on top of these notebooks has to learn those rules from Colab itself rather than from this project.

There is a second constraint that follows from the same design. A hosted notebook session is a poor fit for patient or sensitive imaging data, since the workflow assumes the images are uploaded to a remote environment. The readme does not discuss local execution, but the Makefile and the Binder directory show that a container route exists for people who want the same notebooks on hardware they control.

The third limitation is the boundary of the teaching format itself. A notebook with a graphical interface is excellent for the first hour of a project and poor for a long experiment, because parameters live in widgets and cell state rather than in a configuration file that you can diff, version and rerun. The related Nature Communications paper is the place to look for what the authors did beyond the notebooks.

Licence, citation and a project with a long history

The repository is distributed under the MIT licence, with the licence text in the LICENSE file at the top level, so notebooks and code can be reused and modified with attribution and without copyleft obligations on your own work. That still leaves the question of the images you feed the notebooks, which are yours and not covered by the project's licence.

The citation instructions are unusually specific, which tells you the project expects to be used in published work. The readme lists the author list and points to Democratising deep learning for microscopy with ZeroCostDL4Mic, published in Nature Communications in 2021 with DOI 10.1038/s41467-021-22518-0. The Zenodo DOI covers the software itself.

The project began as a collaboration between the Jacquemet and Henriques laboratories and grew with contributions from laboratories across several countries. On maintenance, the tags tell one story and the commit history tells another. The most recent release tags are v1.13 from 2021-07-02, 1.12.2 from 2021-02-16 and v1.12 from 2021-01-20, yet the repository is not archived and the last push was on 2026-10-06. The readme does not explain the difference, so if you need a versioned reference, use the Zenodo DOI rather than assuming a tag captures the current state of the notebooks.

Editorial conclusion

Use ZeroCostDL4Mic when you are a microscopy researcher who wants to try deep learning on your own images without writing a training pipeline or paying for cloud compute, and you are willing to work inside Colab. Skip it when the experiment has to be reproducible on your own cluster, when the images are sensitive enough that they cannot sit in a hosted notebook session, or when you need the full flexibility of a custom PyTorch or TensorFlow codebase. Before you start, open the wiki page that the readme points to, check that your data type is covered by one of the Colab_notebooks/ notebooks, and confirm the licence file and the Zenodo DOI you need for your own citation.

Frequently asked questions

What is ZeroCostDL4Mic and who is it for?

ZeroCostDL4Mic is a collection of self-explanatory Jupyter Notebooks for Google Colab with an easy-to-use graphical user interface, meant to let researchers with little or no coding expertise quickly test, train and use popular deep learning networks on microscopy data.

How do I get started with ZeroCostDL4Mic?

The readme points to the project's wiki page as the place that has everything needed to get started, and the notebooks themselves live in the Colab_notebooks/ directory of the repository. The compute comes from Google Colab, which provides the resources at no cost.

Which deep learning libraries does ZeroCostDL4Mic use?

The requirements file lists tensorflow, csbdeep, numpy, scipy, scikit-image, scikit-learn, astropy, tifffile, h5py, numba and jupyterlab, among others. An imjoy-jupyter-extension entry is present but commented out in that file.

Can I run ZeroCostDL4Mic notebooks outside Colab?

The repository includes a Makefile whose default target runs repo2docker on the current directory, and it carries a .binder/ directory, so the notebooks can be built as a container image or served through a Binder style deployment on your own hardware.

How do I cite ZeroCostDL4Mic?

The readme asks users to cite Democratising deep learning for microscopy with ZeroCostDL4Mic, published in Nature Communications in 2021, with DOI 10.1038/s41467-021-22518-0. The software itself carries a Zenodo DOI of 239971181.

What licence is ZeroCostDL4Mic released under?

The repository is licensed under the MIT licence, with the text in the LICENSE file at the top level. The most recent release tags are v1.13 from 2021-07-02 and 1.12.2 from 2021-02-16, while the last push was on 2026-10-06.

Official sources

  1. HenriquesLab/ZeroCostDL4Mic on GitHub
  2. Issues
  3. License: MIT
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/henriqueslab-zerocostdl4mic.svg)](https://hysenlabs.com/projects/henriqueslab-zerocostdl4mic)

Was this useful?