Skip to content

Releases: HenriquesLab/DL4MicEverywhere

2.1.0 - New features & fix bugs

03 Oct 16:58
Compare
Choose a tag to compare

DL4MicEverywhere v2.1.0

New Features 🚀

Standalone executables

With this latest release, we are now providing standalone executables. These executables include everything required to run independently. Currently, we only offer them for Linux and Windows operating systems, with MacOS support in progress.

Understandable messages

When using DL4MicEverywhere's GUI, there is a step where you're asked how you'd like to build your Docker image: locally, from Docker Hub, or by using an existing pre-built image if available. These messages were previously unclear, but now they are more informative and easier to understand.

Markdown in widgets

Previously, @markdown comments in Colab were not displayed, which affected the ZeroCostDL4Mic experience. This issue has been resolved, and markdown comments now appear within the same output as the widgets.

Port number as an optional parameter

Previously, port 8888 was used by default, and then other ports were tested iteratively until an available one was found. Now, users can specify a port number if they want to connect to a specific port, which is especially useful for servers or remote connections (commit: 65fb2e5).

Updated load_bioimageio_pytorch.ipynb

The bespoke notebook load_bioimageio_pytorch.ipynb works with the bioimageio.core and bioimageio.spec libraries to load and export PyTorch models from the BioImage Model Zoo. This notebook has been updated to be compatible with the latest versions of the bioimageio.core and bioimage.spec packages.

Automatic Release CI

The upadted release CI will trigger when commit is done with a version number. Also containing the constructors and the pyinstaller as the release's assets.

Bug Fixes 🐛

  • Resolved the \r command not found issue on Windows when using git clone (commits: fb7ce36, 65a7d3c).
  • Switched to UTF-8 encoding to avoid character issues (commit: d6484ef).
  • Fixed automatic Docker Desktop installation and enabled non-root execution (commits: 31b5c9f, e71ac49).
  • Resolved Python installation issues across different CIs (commits: 469508b, 958ff4f).

2.0.0 - New features

20 Feb 16:26
83c4bf7
Compare
Choose a tag to compare

DL4MicEverywhere v2.0.0

In this second release of DL4MicEverywhere, we have introduced a lot of new features! 🚀 ⭐

With this release, all the Docker images that can be built with the configurations from DL4MicEverywhere will be automatically published on our Docker Hub.

New features

Launchers for each OS

We have developed a different double click launcher for Windows, MacOS and Linux, avoiding with this any interaction with the terminal and being user-friendly.

Automatic installation of requirements

During the launching of DL4MicEverywhere (with the new launchers 🌟), some automatic tests have been added to check if Docker Desktop, Tcl/Tk or WSL (on Windows) are installed. In case that any of those requirements is not installed, the launcher will automatically install it.

Documentation has been added to help users with these automatic installation: https://github.com/HenriquesLab/DL4MicEverywhere/blob/main/docs/USER_GUIDE.md#run-dl4miceverywhere-for-the-first-time

Also, in cases like Windows, where more steps are required, video tutorials have been created to facilitate this process: https://www.youtube.com/watch?v=aUoZ4b3B9qU&feature=youtu.be.

New versioning

The configuration files (explained below) and the docker images have now a more detailed versioning with both the version of the notebook and the version of DL4MicEverywhere. This improves the traceability of the generated Docker Images. These versions are then combined in the tag for the Docker image, which is automatically generated and updated thanks to the use of GitHub actions.

New configuration file

  • The configuration file has been updated to follow the BioImage Model Zoo rdf format.
  • The cuDNN version has also been added as a specification of the environment.
  • The version of DL4MicEverywhere is a new attribute of the configuration file. This is automatically added thanks to the GitHub actions.
  • The Docker image's tag is a new attribute of the configuration file. This tag is automatically generated and updated thanks to the GitHub actions.

Automatic synchronization with ZeroCostDL4Mic

The new implemented GitHub actions look for the versions of the ZeroCostDL4Mic notebooks and check for updates. If a notebook has a new version, the DL4MicEverywhere configuration of that notebooks is automatically updated with that version (the notebook version and the Docker image's tag) and a new Docker image with that new version is automatically created and updated to Docker Hub.

Other GitHub actions update the configuration files with additional information (authors, citations, documentation, etc.) from ZeroCostDL4Mic's manifest.

The information in the configuration files is also used to update the manifest in ZeroCostDL4Mic, making a connection between those notebooks and their Docker images. This ensures that the ZeroCostDL4Mic notebooks, its manifest and their configuration files in DL4MicEverywhere be synchronized and have the same versioning.

Smoother interaction with the GUI and the notebooks

  • A new cache feature has been added in the GUI and in the widgets of the notebooks that allows to load previous settings that the user has used. Facilitating with this repetitive executions.
  • The GPU option is now only available if a GPU is detected on your computer.
  • The output on the ipywidgets provides more information.
  • The JupyterLab notebook is now automatically launched on your browser.

New Dockerfile for GPU

Previous Dockerfile has been divided in two: Dockerfile (without GPU usage) and Dockerfile.gpu (with GPU usage). This new Dockerfile.gpu fixes the problems with GPU that many users had on Windows, allowing even the use of TensorFlow with versions higher than 2.10 with GPU connection.

Reduce security risk

  • Sudo permissions are now only required in specific instructions that really need it, not in the main script.
  • The token for JupyterLab is now randomly generated and given to the user in the terminal.

Improved comprehensive documentation

The documentation of DL4MicEverywhere has been improved. Installation, use case, troubleshooting, and specific cases like SSH connections has been explained in detail on our documentation folder. Additionally, videos have been updated to our YouTube channel explaining many of these use cases.

Other

Other minor changes have been added to fix issues that were found during testing. Also, all existing workflows on GitHub actions have been updated to work with all the new implemented changes. New Bespoke notebooks and a new ZeroCostDL4Mic notebook (Diffusion_Model_SMLM) have been added.

1.0.0 - Initial release

28 Nov 14:59
Compare
Choose a tag to compare

This is the first release of DL4MicEverywhere! 🚀
Bellow there is a list of all the initial features that DL4MicEverywhere comes with. 😄
Additionally, all the Docker Images that can be built with the configurations from DL4MicEverywhere will be automatically published on our Docker Hub. 🐳

Main Features

  • An easy-to-use Graphical User Interface (GUI) for both simple and advanced users:
    • Simple mode parameters:
      • Notebook name (from a given default list of notebooks).
      • Path to the data folder.
      • Path to the results folder.
      • GPU usage or not.
      • Custom tag for the Docker Image (optional).
    • Advanced mode parameters:
      • Local configuration file.
      • Local notebook file.
      • Local requirements file.
  • A parametrized Dockerfile that takes care of installing the features bellow and automatically converts the provided notebook into a 'colabless' format (replacing the magic widgets with ipywidgets, keeping the no-code strategy):
    • Operative System libraries.
    • NVIDIA drivers inside the Docker Image.
    • Python (with the requested version).
    • Python libraries (from requirements file and the required ones for launching the notebook).
  • A bash script responsible of reading the arguments, building the Docker Image and running it. Additionally, in the process, it performs some checking/testings and gives human-readable feedback to the user in case some problem happens (e.g. Docker Desktop not installed or launched).
  • A collection of configurations to create a wide collection of Docker Images.
  • A Continuous Integration system based on GitHub actions to:
    • Automatically build some of the documentation.
    • Check new contributions (Pull Request), if the provided configuration follows the specified schema and if a Docker Image can be built with it.
    • Automatically publish the Docker Images into Docker Hub.
  • A thoughtful documentation explaining all the steps for the installation and usage.