Pour plus de génialité, consultez .
Il s'agit d'une liste organisée de ressources intéressantes pour tout ce dont vous avez besoin pour développer des solutions d'apprentissage automatique.
Chaque élément de cette liste vous apprendra au moins une compétence ou une information distincte et significative.
Il existe trois niveaux de contenu :
? Lecture essentielle pour tous les ingénieurs ML
? Lecture avancée pour les ingénieurs ML professionnels
? Matériel expert pour les ingénieurs experts en ML
Les descriptions sont rédigées pour compléter la phrase « Après avoir lu cet article, vous aurez appris… » .
Communication
Génie logiciel
Apprentissage automatique
DevOps
BLUF : La norme militaire qui peut rendre votre écriture plus puissante - Comment rendre votre communication plus puissante (5 min)
Le problème XY – Comment se concentrer sur l'explication de votre objectif final lorsque vous demandez de l'aide (5 min)
Bike-shedding : quelle est votre maturité en tant qu’ingénieur ? - Comment éviter et dénoncer les délestages de vélos (5 min)
E-mail comme un patron - Comment rédiger de meilleurs e-mails (5 min)
Arrêtez de gaspiller votre calendrier - Comment gérer votre calendrier pour pouvoir vous concentrer (15 min)
Comment écrire en anglais simple - Comment écrire en anglais simple (30 min)
Règles de présentation – Comment créer un superbe diaporama (30 min)
Critères SMART - Comment définir des objectifs (15 min)
Principe MECE - Comment décomposer complètement un problème en une liste structurée (15 min)
SCQA : Qu'est-ce que c'est, comment ça marche et comment peut-il m'aider ? - Comment structurer vos présentations, propositions et schémas de vente (15 min)
Fini les malentendus – Comment éviter les problèmes de communication en paraphrasant (15 min)
Communication non violente - Comment fournir des commentaires constructifs dans des situations difficiles (15 min)
L'effet Halo - Comment reconnaître et utiliser l'effet Halo à votre avantage (15 min)
Mois de l'Homme Mythique - La relation entre les jours-personnes et le temps de réalisation d'un projet (15 min)
Modèle à quatre faces - Comment communiquer efficacement en considérant la manière dont le destinataire interprète votre message (30 min)
Gestion des versions sémantiques - Comment augmenter la version de vos applications et packages (15 min)
__all__
et importations sauvages en Python - Comment __all__
définit l'API publique de vos packages Python (15 min)
API pour le Machine Learning – Comment concevoir des API RESTful pour les applications de Machine Learning (30 min)
Documents FastAPI - Comment créer des API RESTful qui correspondent un à un à une spécification OpenAPI (1 jour)
La règle de trois – Quand créer des composants réutilisables et quand ne pas le faire (15 min)
Les mensonges que croient les programmeurs à propos du temps - Comment éviter les pièges courants concernant le temps (15 min)
Les mensonges que croient les programmeurs à propos des noms - Comment éviter les pièges courants concernant les noms (15 min)
Directives de l'interface de ligne de commande – Comment écrire de superbes CLI (1 heure)
Directives API RESTful de Zalando - Comment concevoir des API RESTful (1 jour)
Poetry Cookiecutter - Comment créer un environnement de développement moderne basé sur la poésie pour les packages et applications Python (30 min)
Les sept règles d'un bon message de commit Git - Comment rédiger de bons messages de commit Git (15 min)
Apprendre le branchement Git - Pratiquer Git du débutant au avancé (1 heure)
Tenir un journal des modifications - Comment conserver un journal des modifications pour vos applications et packages (30 min)
Commits conventionnels - Comment préfixer vos messages de commit pour automatiser la gestion des versions sémantiques et tenir un journal des modifications (15 min)
Tester des applications Python avec Pytest - Comment tester correctement un package avec pytest (30 min)
Un modèle de branchement Git réussi - Comment publier un logiciel avec Git (15 min)
Meilleures pratiques en matière de révision de code – Que rechercher lors de la révision d'une Pull Request (30 min)
Santé du code : avis respectueux == avis utiles – Comment communiquer respectueusement les commentaires de révision du code (15 min)
La pyramide de révision de code – Que rechercher et que automatiser lors de la révision d'une Pull Request (15 min)
Plugin d'espace de travail Poetry - Comment créer et gérer un monorepo basé sur Poetry (15 min)
PEP20 "Le Zen de Python" - Comment écrire du Python idiomatique (15 min)
Le guide définitif des instructions d'importation Python - Comment écrire des instructions d'importation (30 min)
Comprendre le module de journalisation de Python - Comment utiliser efficacement le module logging
(30 min)
Ne pas exécuter de code au moment de l'importation - Pourquoi vous ne devriez pas exécuter de code au moment de l'importation
Veuillez réparer vos décorateurs - Pourquoi vous devriez probablement utiliser wrapt
pour écrire vos décorateurs (30 min)
Ne pas vous connecter – Ce que vous devriez faire au lieu de vous connecter (30 min)
Le petit livre des anti-modèles Python - Une collection d'anti-modèles Python (X heures)
Python efficace - Une collection d'idiomes Python (X heures)
Python Design Patterns - Une collection de modèles d'architecture logicielle (1 heure)
SOLID - Un ensemble standard de modèles d'architecture logicielle (1 heure)
C'est quoi ce putain de Python ! - Comment maîtriser Python en comprenant ses cas extrêmes (1 jour)
Le guide complet de mypy - Comment écrire des annotations de type en Python (1 heure)
Présentation de Pydantic - Comment écrire des annotations de type pour les types complexes au lieu d'un Dict[str, Any]
dénué de sens (1 heure)
Nombre magique - Pourquoi les valeurs magiques sont un anti-modèle (15 min)
Enums - Comment écrire des Enum
en Python au lieu de valeurs magiques de type non sécurisé (15 min)
Mypy generics - Comment utiliser TypeVar
s pour écrire des types génériques tels que List[T]
(30 min)
Protocoles Mypy - Comment utiliser Protocol
s pour définir des interfaces telles que Iterable
(30 min)
cookiecutter - Échafaudez rapidement de nouveaux packages ou applications Python avec un modèle Cookiecutter
cruft - Mettre à jour l'échafaudage Cookiecutter sous-jacent d'un package Python
commitizen - Vérifier que les messages de validation satisfont aux validations conventionnelles, automatiser la gestion des versions sémantiques et tenir un journal des modifications
poésie - Gérez le packaging et les dépendances de votre projet Python
poe - Définir et exécuter des tâches dans un projet de poésie avec Poe the Poet
poésie-workspace-plugin - Gérez un monorepo Python avec ce plugin Poetry
noir - Formatez automatiquement votre code
isort - Trie automatiquement vos instructions d'importation
pre-commit - Exécuter automatiquement des contrôles de qualité du code lors de la validation
bandit - Trouver les problèmes de sécurité courants
darglint - Vérifiez que vos docstrings correspondent à votre signature de fonction
flake8 - Vérifiez votre code pour les bugs et que votre style de code est conforme à PEP8
extensions flake8 - Une liste impressionnante d'extensions Flake8
mypy - Vérifiez l'exactitude du type de votre code
pre-commit hooks - Une collection de hooks de pré-commit qui vérifient la qualité des fichiers
pydocstyle - Vérifiez que votre code est documenté
pygrep hooks - Une collection de hooks de pré-validation qui vérifient les odeurs courantes du code Python
pytest-recording - Enregistrez et lisez les requêtes HTTP dans vos tests pytest
? pyupgrade - Vérifiez que votre code est écrit à l'aide des dernières fonctionnalités du langage Python
? sécurité - Vérifiez que vos dépendances ne présentent aucune vulnérabilité de sécurité connue
? shellcheck - Vérifiez la qualité de vos scripts shell
? cover.py - Vérifiez la couverture de test de votre code
? hypothese - Écrivez des tests qui recherchent automatiquement les cas extrêmes qui cassent votre code
? hypothese-auto - Automatisez la génération de tests d'hypothèses en fonction des annotations de type de votre code
? fastapi - Créer des API RESTful basées sur des annotations de type
? typer - Créer des CLI basées sur des annotations de type
? streamlit - Créez des applications Web avec un seul fichier Python
? bump2version - Publier une nouvelle version de votre package
? colouredlogs - Augmentez la lisibilité de vos journaux avec la couleur
? hvplot - Créer des tracés interactifs à partir de dataframes pandas
? mkdocs - Créez une documentation de développeur pour votre projet
? pdoc - Générer la documentation API pour votre code
? birdeye - Déboguez graphiquement votre code Python
? scalene - Profilez l'utilisation du processeur et de la mémoire de votre code par ligne
? viztracer - Visualisez les performances de votre code avec un flamegraph
? tqdm - Ajoutez facilement des barres de progression aux tâches de longue durée
? Compromis biais-variance – Comment l'erreur totale d'un modèle est la somme du biais et de la variance (30 min)
? Les deux utilisations différentes de la validation croisée - Comment utiliser la validation croisée imbriquée pour combiner les deux utilisations différentes de la validation croisée (30 min)
? Modes, médianes et moyennes : une perspective unificatrice - Pourquoi minimiser l'erreur absolue moyenne (MAE) est plus robuste que minimiser l'erreur quadratique moyenne (MSE) (30 min)
? La rétropropagation est la règle de chaîne pour calculer le gradient - Comment la rétropropagation est un algorithme pour calculer le gradient de la fonction objectif (30 min)
? Généralisation empilée – Comment empiler des modèles (30 min)
? Nous avons utilisé une mauvaise initialisation pour t-SNE et UMAP - Comment initialiser correctement t-SNE et UMAP (15min)
? Des réseaux classiques entièrement connectés aux transformateurs - Comment les réseaux neuronaux ont évolué des réseaux entièrement connectés aux transformateurs (30 min)
? Quelle est la règle .632+ ? - Comment mesurer les performances de généralisation avec le bootstrapping (30 min)
? Stratégies d'empilement avec et sans fuites - Différentes stratégies pour empiler des modèles (30 min)
? Changements de distribution des données et surveillance – Comment détecter et gérer les différents types de transfert de données (1 heure)
? La rétropropagation n'est pas seulement la règle de la chaîne - Comment la rétropropagation est liée aux multiplicateurs de Lagrange (30 min)
? Pourquoi les algorithmes ML sont difficiles à régler – Optimiser plusieurs objectifs lorsque le front de Pareto est concave (30 min)
? Compression de modèles d'apprentissage profond – Comment la quantification, l'élagage et la distillation peuvent être utilisés pour compresser des modèles (30 min)
? SHAP : SHapley Additive ExPlanations - Comment expliquer la sortie d'un modèle avec les valeurs Shapley (30 min)
? Introduction à Shapley et SHAP - Comment les valeurs de Shapley sont approximées par SHAP (30 min)
? UMAP : Uniform Manifold Approximation and Projection - Comment réduire la dimensionnalité pour la visualisation et la modélisation (30 min)
? PyNNDescent - Comment trouver les voisins les plus proches dans d'énormes ensembles de données (15 min)
? Précision et rappel – Comment la précision et le rappel mesurent les performances d'un classificateur (30 min)
? Calibrage des probabilités – Comment et pour quels types de modèles vous devez calibrer les scores de sortie du modèle en probabilités (30 min)
? Vous calculez tous mal les taux de désabonnement – Définissez correctement ce qu’est le taux de désabonnement (30 min)
? Processus gaussiens - À partir de zéro - Comment construire des modèles de régression probabiliste avec des processus gaussiens (1 heure)
? Document Image Transformer de Microsoft - Un modèle pré-entraîné auto-supervisé qui atteint les performances SotA sur PubLayNet et peut être utilisé pour diverses tâches en aval (30 min)
? Awesome Sentence Embedding - Une liste organisée de modèles d'intégration de phrases et de mots pré-entraînés (15 min)
? Le modèle Prophet – Comment le modèle Prophet de Meta décompose une série temporelle en composants de tendance, de saisonnalité et de vacances (30 min)
? Darts - Time Series Made Easy in Python - Comment créer des modèles de prévision avec darts
(1 heure)
? Microsoft Recommenders - Une comparaison des modèles de systèmes de recommandation (30 min)
? Ce que j'aurais aimé que quelqu'un me dise à propos des bibliothèques de calcul tensoriel – En quoi JAX, PyTorch, TensorFlow et Theano sont différents (30 min)
? Série Modern Pandas (Parties 1 à 7) - Écrire des pandas idiomatiques (1 heure)
? Awesome Pandas - Une liste impressionnante de ressources Pandas (1 heure)
? Utilisation des pipelines scikit-learn et des FeatureUnions - Comment utiliser Pipeline
pour créer des modèles de bout en bout (30 min)
? Transformer la cible en régression - Comment transformer la cible pour construire des modèles plus robustes (15 min)
? ColumnTransformer pour les données hétérogènes - Comment utiliser ColumnTransformer
pour traiter les DataFrames pandas dans Pipeline
sklearn (30 min)
? Estimateurs personnalisés - Créez votre propre Estimator
personnalisé (30 min)
? Optimisation des hyperparamètres avec réduction de moitié successive - Comment optimiser les hyperparamètres avec la méthode la plus efficace en termes de calcul (30 min)
? Doccano - Un outil pour étiqueter du texte (30 min)
? CVAT : Computer Vision Annotation Tool - Un outil pour étiqueter les images (30 min)
? Awesome Data Labelling – Une liste impressionnante d’outils d’étiquetage de données (30 min)
? Invoquer - Comment implémenter les tâches courantes que vous exécutez sur votre projet en tant que CLI (30 min)
? poe - Comment implémenter les tâches courantes que vous exécutez sur votre projet en tant que CLI (30 min)
? Introduction au packaging et à la gestion des dépendances pour Python avec Poetry - Comment gérer les dépendances et l'environnement de votre package Python (30 min)
? Introduction à Pyenv pour le Machine Learning - Comment utiliser pyenv pour gérer votre interpréteur Python (30 min)
? Environnements Python modernes - gestion des dépendances et de l'espace de travail - Une comparaison entre pyenv, venv + pip, venv + pip-tools, poésie, pipenv et conda (30 min)
? Conda : Mythes et idées fausses – Idées fausses courantes sur Conda (15 min)
? Curriculum Docker - Comment utiliser Docker (4 heures)
? Mise en cache des couches Docker – Comment écrire des fichiers Docker pour bénéficier de la mise en cache des couches (30 min)
? Bonnes pratiques Dockerfile - Comment écrire de bons Dockerfiles (1 heure)
? Configuration de Gunicorn pour Docker - Comment configurer au mieux Gunicorn pour une image Docker (30 min)
? Accélérez Docker avec la nouvelle mise en cache de BuildKit - Comment accélérer les builds Docker avec un cache de build (30 min)
? Créez des secrets dans Docker et Compose, de manière sécurisée - Comment utiliser des secrets dans une build Docker (15 min)
? Scanners de sécurité pour Python et Docker - Comment analyser votre image Docker pour détecter les problèmes de sécurité avec votre code et votre image Docker (30 min)
? Le scanner de sécurité qui criait au loup - Comment analyser votre image Docker pour détecter les problèmes de sécurité sans faux positifs (15 min)
? Awesome Docker – Une superbe liste de ressources Docker (30 min)
? De grandes attentes – Comment tester et documenter vos données et vos pipelines de données (30 min)
? Meilleures pratiques Cron – Comment utiliser au mieux cron pour planifier des tâches (30 min)
? Un guide visuel des tunnels SSH - Comment transférer des ports et créer des tunnels avec SSH (30 min)
? Moyens sûrs de faire les choses en bash - Comment écrire des scripts shell sûrs et robustes (1 heure)
? Votre terminal n'est pas un terminal : Une introduction aux flux - Comment votre terminal est un outil pour manipuler les flux (30 min)
? Bash Heredoc - Comment passer des arguments multilignes aux commandes avec un heredoc (30 min)
? Veuillez arrêter d'écrire des scripts shell - Pourquoi vous ne devriez pas écrire de scripts shell pour les images CI/CD ou Docker (30 min)
? Une introduction à Terraform - Comment utiliser Terraform (1 heure)
? Bonnes pratiques Terraform - Bonnes pratiques Terraform (1 heure)
? Collection de hooks de pré-commit Terraform - Comment automatiser les contrôles de qualité du code Terraform avec pré-commit (1 heure)
? Awesome Terraform – Une liste impressionnante de ressources Terraform (30 min)
? Tutoriel Terraform - Comment démarrer avec Terraform (1 heure)
? Utilisation du stockage en mémoire Redis pour vos applications Python - Comment utiliser Redis comme cache en mémoire pour votre application Python (30 min)
? Consommateurs Python Kafka : au moins une fois, au plus une fois, exactement une fois - Comment écrire différents types de consommateurs Kafka en Python (30 min)
? Kafka Exactly-Once-Semantics - Comment produire et consommer des messages exactement une fois (1 heure)
? RabbitMQ : une bibliothèque de files d'attente de messages avec persistance - RabbitMQ est un système de messagerie avec un courtier de messages (4 heures)
? ZeroMQ : une bibliothèque de sockets avec des primitives de file d'attente de messages - ZeroMQ est un système de messagerie léger sans courtier de messages (8 heures)
Superlinear est une société de Machine Learning basée en Belgique.
Nous inventons, concevons et développons des logiciels basés sur l'IA. En collaboration avec nos clients, nous identifions les problèmes au sein des organisations qui peuvent être résolus grâce à l'IA, démontrant ainsi la valeur de l'intelligence artificielle pour chaque problème.
Notre équipe est constamment à la recherche de solutions innovantes et plus performantes et nous nous mettons au défi de proposer les meilleures idées pour nos clients et notre entreprise.
Voici quelques exemples de ce que nous faisons avec le Machine Learning, la technologie derrière l’IA :
Aidez les demandeurs d'emploi à trouver des emplois intéressants qui correspondent à leurs attentes. Sur le site du Service Public de l'Emploi belge, vous pouvez trouver nos recommandations d'emploi basées uniquement sur votre CV.
Aidez les hôpitaux à gagner du temps. Nous extrayons le diagnostic des lettres de sortie des patients.
Aidez les éditeurs à estimer leur impact en détectant les articles copiés.
Nous travaillons dur et nous nous amusons ensemble. Nous favorisons une culture de collaboration, dans laquelle chaque membre de l'équipe se sent soutenu lorsqu'il relève un défi et en confiance lorsqu'il assume des responsabilités.