Skip to content

2.0.0 - New features

Compare
Choose a tag to compare
@IvanHCenalmor IvanHCenalmor released this 20 Feb 16:26
· 182 commits to main since this release
83c4bf7

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.