To ensure smooth working on machine learning (ML) projects, AI consultants at Helmholtz AI developed a flexible template that combines established and widely used tools and libraries to provide a clean, simple and reusable baseline with a wide range of features.
Often in ML projects, researchers tend to focus on the ML code. However, in practice, other considerations are equally (if not more) important for a project to succeed. As the project grows, many challenges arise, such as difficulties in communication, collaboration, and tracking of the experiments. This can lead to lack of reproducibility of the results and difficulties in deploying the pipelines. Through Quicksetup-ai, the Helmholtz AI consultants at Helmholtz AI propose a flexible template as a quick setup for deep learning projects in research. The objective is to let researchers focus on their work, while enforcing software engineering best practices, and reproducibility standards. The template combines established and widely used tools and libraries to provide a clean, simple and reusable baseline with a wide range of features.
● Ready-to-use project structure to encourage modularity and software design best practices
● Easy setup as package project with Cookiecutter
● Use of configuration management to maximise the usage of configurations instead of hard-coding
● Support of most popular experiment tracking tools.
● Use of Data Version Control (DVC) for better reproducibility and management of big files (models, data)
● Automatic generation of documentation
● Hyperparameter tuning
● Pre-commit hooks for code formatting
● Examples of unit tests and shell scripts to speed up the development
Image: Logos of the main supported technologies.