-
Setup & Best Practices
- Starter repo
LUH-AI template for code repositories. Contains important features like e.g. linting, formatting, automated tests and checking docstrings. This should be used for all projects. - The art of debugging
Comprehensive overview of degbugging strategies. - How to debug your ML algorithm
Blogpost about debugging ML code - How to debug your RL algorithm
Blogpost about debugging RL code
- Starter repo
-
ML Frameworks
- Torch
Our standard ML framework. Torch should be the basis for most projects and should only be deviated from in very special cases. - Jax
Alternative to Torch, but only recommended for project with high hardware demands. The startup cost is high and thus this should be discussed with the supervisor before using. - Scikit-Learn
Framework with many options for classic ML & Data Science methods. - Tensorflow
Alternative to Torch. Tensorflow should not be used in projects with us. - Keras
Interface for multiple ML frameworks. There should be no reason to use Keras over Torch.
- Torch
-
AutoML Tools & Benchmarks
Tools
- SMAC
Our HPO Tool, the default choice for optimization. - Hypersweeper
Parallel execution of different HPO tools. Should be combined with SMAC for expensive projects. - AutoPyTorch
Pipeline search for Torch. - AutoSKlearn
Pipeline search for SKlearn. Useful for tabular data.
Benchmarks
- SMAC
- Analysis Tools
-
Reinforcement Learning
RL Algorithms
- Mighty
Flexible implementations of (Meta-)RL algorithms in Torch. - CleanRL
Implementations of various algorithms and environments. - PureJax
Very fast, but not very flexible or simple to change - Stoix
Alternative zu PureJax with simpler interface
Environments
- Classic Control
Very simple, but good for testing & debugging. - MiniGrid
Testing exploration with a large variety of difficulties. - CARL
Extensions of classic environments to test generalization. - Mujoco
Robotic simulations. - Brax
Alternative to Mujoco, only recommend for use cases with high parallelization. - MiniHack
NetHack variations, that have a lot of variance and can become very difficult, but also have complicated observation spaces. Ideal to test skills or for very hard tasks. - Crafter/Craftax
Minecraft-like environment with simpler observations. Can become quite complex and contains temporal dependencies. - Robotics Gym
Complex robotics tasks on realistic models. - Atari
Atari game. Somewhat difficult, but most of all expensive to evaluate. Only recommended for HPO, offline RL or in the 100k version. - ProcGen
Similar to Atari with added complexity. - Pufferlib
Faster execution of many different environments.
- Mighty
-
Setup & Best Practices
- Starter repo
LUH-AI template für Code Repositories. Enthält einige empfohlene Funktionen wie z.B. linting, formatting, automatisierte Tests und Überprüfen von Docstrings. Dieses sollte für alle Projekte genutzt werden. - Our cluster guide
Einführung in unser Forschungscluster - The art of debugging
Ausführliche Übersicht über debugging Tools & Methoden - How to debug your ML algorithm
Blogpost über das Debuggen von ML Code - How to debug your RL algorithm
Blogpost über das Debuggen von RL Code
- Starter repo
-
ML Frameworks
- Torch
Unser Standard ML framework. Torch sollte die Grundlage der meisten Projekte bilden und nur in Ausnahmefällen nicht genutzt werden. - Jax
Alternative zu Torch, allerdings nur für Projekte mit hohen Hardwareanforderungen empfohlen. Die Einarbeitung ist aufwendig und sollte vorher abgesprochen werden. - Scikit-Learn
Framework mit vielen Funktionen für klassische ML & Data Science Ansätze - Tensorflow
Alternative zu Torch. Tensorflow sollte nicht für Projekte bei uns genutzt werden. - Keras
Interface für verschiedene ML frameworks. Es sollte eigentlich keinen Grund geben Keras statt Torch zu nutzen.
- Torch
-
AutoML Tools & Benchmarks
Tools
- SMAC
Unser HPO Tool, das als Standard für Black-box Optimierung genutzt werden sollte. - Hypersweeper
Parallelisierung verschiedener HPO Tools. Sollte zusammen mit SMAC für HPO von teueren Projekten benutzt werden. - AutoPyTorch
Pipelinesuche für Torch. - AutoSKlearn
Pipelinesuche für SKlearn. Nützlich für tabulare Daten.
Benchmarks
- SMAC
- Analyse Tools
-
Reinforcement Learning
RL Algorithmen
- Mighty
Flexible Implementationen von RL Algorithmen in Torch - CleanRL
Implementationen verschiedener Algorithmen und Environments. - PureJax
Sehr schnell, aber nicht besonders flexibel/einfach zu ändern - Stoix
Alternative zu PureJax mit einfacherem Interface
Environments
- Classic Control
Sehr einfach, aber gut für Testen & Debuggen - MiniGrid
Testen von Exploration mit großer Bandbreite an Schwierigkeiten. - CARL
Erweiterungen klassischer environments um Generalisierung zu testen. - Mujoco
Robotik Simulationen - Brax
Alternative zu Mujoco, empfohlen allerdings nur für Usecases mit starker Parallelisierung - MiniHack
NetHack varianten, die viel Varianz haben und sehr schwer werden können, allerdings auch komplexe Observations haben. Ideal um Skills zu testen oder für sehr schwere Aufgaben. - Crafter/Craftax
Minecraft-artiges Environment with einfacheren Observations. Kann sehr komplex werden und enthält lange zeitliche Abhängigkeiten. - Robotics Gym
Komplexe Robotikaufgaben an realistischen Modellen. - Atari
Atari Spiele. Relativ schwer, vor allem aber sehr teuer zu evaluieren. Nur für HPO, offline RL oder in der 100K Version empfohlen. - ProcGen
Ähnlich wie Atari mit etwas höherer Komplexität. - Pufferlib
Schnellere Ausführung vieler dieser Environments
- Mighty