Weitere großartige Informationen finden Sie hier.
Dies ist eine kuratierte Liste interessanter Ressourcen für alles, was Sie zur Entwicklung von Lösungen für maschinelles Lernen benötigen.
Mit jedem Element in dieser Liste lernen Sie mindestens eine bestimmte und wichtige Fähigkeit oder Information.
Es gibt drei Inhaltsebenen:
? Unverzichtbare Lektüre für alle ML-Ingenieure
? Fortgeschrittene Lektüre für professionelle ML-Ingenieure
? Expertenmaterial für erfahrene ML-Ingenieure
Beschreibungen werden verfasst, um den Satz „Nach der Lektüre dieses Artikels haben Sie gelernt …“ zu vervollständigen.
Kommunikation
Software-Engineering
Maschinelles Lernen
DevOps
BLUF: Der Militärstandard, der Ihr Schreiben wirkungsvoller machen kann – So machen Sie Ihre Kommunikation wirkungsvoller (5 Min.)
Das XY-Problem – Wie Sie sich darauf konzentrieren können, Ihr Endziel zu erklären, wenn Sie um Hilfe bitten (5 Min.)
Fahrradentzug: Wie ausgereift sind Sie als Ingenieur? - So vermeiden und melden Sie Fahrradverlust (5 Min.)
E-Mails wie ein Chef – So schreiben Sie bessere E-Mails (5 Min.)
Hören Sie auf, dass die Schweizer Ihren Kalender belästigen – So verwalten Sie Ihren Kalender, damit Sie sich konzentrieren können (15 Min.)
Wie schreibe ich in einfachem Englisch - Wie schreibe ich in einfachem Englisch (30 Min.)
Präsentationsregeln – So erstellen Sie ein tolles Foliendeck (30 Min.)
SMART-Kriterien – So definieren Sie Ziele (15 Min.)
MECE-Prinzip – So zerlegen Sie ein Problem vollständig in eine strukturierte Liste (15 Min.)
SCQA: Was ist das, wie funktioniert es und wie kann es mir helfen? - So strukturieren Sie Ihre Präsentationen, Angebote und Verkaufsskizzen (15 Min.)
Keine Missverständnisse mehr – So vermeiden Sie Missverständnisse durch Paraphrasieren (15 Min.)
Gewaltfreie Kommunikation – So geben Sie in schwierigen Situationen konstruktives Feedback (15 Min.)
Der Halo-Effekt – Wie Sie den Halo-Effekt erkennen und zu Ihrem Vorteil nutzen (15 Min.)
Mythischer Mannmonat – Der Zusammenhang zwischen Personentagen und Durchlaufzeit in einem Projekt (15 Min.)
Vier-Seiten-Modell – Wie Sie effektiv kommunizieren, indem Sie berücksichtigen, wie der Empfänger Ihre Nachricht interpretiert (30 Min.)
Semantische Versionierung – So erhöhen Sie die Version Ihrer Apps und Pakete (15 Min.)
__all__
und wilde Importe in Python – Wie __all__
die öffentliche API Ihrer Python-Pakete definiert (15 Min.)
APIs für maschinelles Lernen – So entwerfen Sie RESTful-APIs für Anwendungen für maschinelles Lernen (30 Min.)
FastAPI-Dokumente – So erstellen Sie RESTful-APIs, die eins zu eins einer OpenAPI-Spezifikation entsprechen (1 Tag)
Die Dreierregel – Wann man wiederverwendbare Komponenten baut und wann nicht (15 Min.)
Unwahrheiten, die Programmierer über die Zeit glauben – So vermeiden Sie häufige Fallstricke in Bezug auf die Zeit (15 Min.)
Unwahrheiten, die Programmierer über Namen glauben – So vermeiden Sie häufige Fallstricke bei Namen (15 Min.)
Richtlinien für die Befehlszeilenschnittstelle – So schreiben Sie großartige CLIs (1 Stunde)
Zalandos RESTful API-Richtlinien – So entwerfen Sie RESTful APIs (1 Tag)
Poetry Cookiecutter – So erstellen Sie eine moderne Poetry-basierte Entwicklungsumgebung für Python-Pakete und -Apps (30 Min.)
Die sieben Regeln einer großartigen Git-Commit-Nachricht – So schreiben Sie großartige Git-Commit-Nachrichten (15 Min.)
Lernen Sie Git Branching – Üben Sie Git vom Anfänger bis zum Fortgeschrittenen (1 Stunde)
Führen Sie ein Änderungsprotokoll – So führen Sie ein Änderungsprotokoll für Ihre Apps und Pakete (30 Min.)
Konventionelle Commits – So stellen Sie Ihren Commit-Nachrichten ein Präfix voran, um die semantische Versionierung zu automatisieren und ein Änderungsprotokoll zu führen (15 Min.)
Testen von Python-Anwendungen mit Pytest – So testen Sie ein Paket richtig mit Pytest (30 Min.)
Ein erfolgreiches Git-Branching-Modell – So veröffentlichen Sie Software mit Git (15 Min.)
Best Practices für die Codeüberprüfung – Worauf Sie bei der Überprüfung einer Pull-Anfrage achten sollten (30 Min.)
Code-Gesundheit: Respektvolle Rezensionen == Nützliche Rezensionen – Wie man Code-Review-Kommentare respektvoll kommuniziert (15 Min.)
Die Code-Review-Pyramide – Worauf Sie bei der Überprüfung einer Pull-Anfrage achten und was Sie automatisieren sollten (15 Min.)
Poetry-Workspace-Plugin – So erstellen und verwalten Sie ein Poetry-basiertes Monorepo (15 Min.)
PEP20 „The Zen of Python“ – Wie man idiomatisches Python schreibt (15 Min.)
Der endgültige Leitfaden für Python-Importanweisungen – So schreiben Sie Importanweisungen (30 Min.)
Das Protokollierungsmodul von Python verstehen – So nutzen Sie das logging
effektiv (30 Min.)
Führen Sie beim Import keinen Code aus – Warum Sie beim Import keinen Code ausführen sollten
Bitte korrigieren Sie Ihre Dekoratoren – Warum Sie wahrscheinlich wrapt
zum Schreiben Ihrer Dekoratoren verwenden sollten (30 Min.)
Nicht protokollieren – Was Sie tun sollten, anstatt zu protokollieren (30 Min.)
Das kleine Buch der Python-Anti-Patterns – Eine Sammlung von Python-Anti-Patterns (X Stunden)
Effektives Python – Eine Sammlung von Python-Redewendungen (X Stunden)
Python Design Patterns – Eine Sammlung von Software-Architekturmustern (1 Stunde)
SOLID – Ein Standardsatz von Softwarearchitekturmustern (1 Stunde)
Was zum Teufel Python! - Wie man Python beherrscht, indem man seine Randfälle versteht (1 Tag)
Der umfassende Leitfaden zu mypy – So schreiben Sie Typanmerkungen in Python (1 Stunde)
Pydantic-Übersicht – So schreiben Sie Typanmerkungen für komplexe Typen anstelle eines bedeutungslosen Dict[str, Any]
(1 Stunde)
Magische Zahl – Warum magische Werte ein Anti-Muster sind (15 Min.)
Enums – So schreiben Sie Enum
in Python anstelle typunsicherer magischer Werte (15 Min.)
Mypy-Generika – So verwenden Sie TypeVar
s, um generische Typen wie List[T]
zu schreiben (30 Min.)
Mypy-Protokolle – So verwenden Sie Protocol
zum Definieren von Schnittstellen wie Iterable
(30 Min.)
cookiecutter – Erstellen Sie schnell ein Gerüst für neue Python-Pakete oder Apps mit einer Cookiecutter-Vorlage
cruft – Aktualisieren Sie das zugrunde liegende Cookiecutter-Gerüst eines Python-Pakets
commitizen – Überprüfen Sie, ob Commit-Nachrichten konventionelle Commits erfüllen, automatisieren Sie die semantische Versionierung und führen Sie ein Änderungsprotokoll
Poesie – Verwalten Sie die Verpackung und Abhängigkeiten Ihres Python-Projekts
poe – Aufgaben in einem Poetry-Projekt mit Poe the Poet definieren und ausführen
poety-workspace-plugin – Verwalten Sie ein Python-Monorepo mit diesem Poetry-Plugin
schwarz – Formatieren Sie Ihren Code automatisch
isort – Sortieren Sie Ihre Importanweisungen automatisch
Pre-Commit – Führt beim Commit automatisch Code-Qualitätsprüfungen durch
bandit – Finden Sie häufige Sicherheitsprobleme
darglint – Überprüfen Sie, ob Ihre Dokumentzeichenfolgen mit Ihrer Funktionssignatur übereinstimmen
flake8 – Überprüfen Sie Ihren Code auf Fehler und stellen Sie sicher, dass Ihr Codestil PEP8-kompatibel ist
flake8-Erweiterungen – Eine tolle Liste von Flake8-Erweiterungen
mypy – Überprüfen Sie die Typkorrektheit Ihres Codes
Pre-Commit-Hooks – Eine Sammlung von Pre-Commit-Hooks, die die Dateiqualität überprüfen
pydocstyle – Überprüfen Sie, ob Ihr Code dokumentiert ist
Pygrep-Hooks – Eine Sammlung von Pre-Commit-Hooks, die nach häufigen Python-Code-Smells suchen
pytest-recording – HTTP-Anfragen in Ihren Pytest-Tests aufzeichnen und wiedergeben
? pyupgrade – Überprüfen Sie, ob Ihr Code mit den neuesten Funktionen der Python-Sprache geschrieben wurde
? Sicherheit – Stellen Sie sicher, dass Ihre Abhängigkeiten keine bekannten Sicherheitslücken aufweisen
? Shellcheck – Überprüfen Sie die Qualität Ihrer Shell-Skripte
? cover.py – Überprüfen Sie die Testabdeckung Ihres Codes
? Hypothese – Schreiben Sie Tests, die automatisch nach Randfällen suchen, die Ihren Code beschädigen
? hypothesis-auto – Automatisieren Sie die Generierung von Hypothesentests basierend auf den Typanmerkungen Ihres Codes
? fastapi – Erstellen Sie RESTful-APIs basierend auf Typanmerkungen
? typer – Erstellen Sie CLIs basierend auf Typanmerkungen
? streamlit – Erstellen Sie Web-Apps mit einer einzigen Python-Datei
? Bump2version – Veröffentlichen Sie eine neue Version Ihres Pakets
? colouredlogs – Erhöhen Sie die Lesbarkeit Ihrer Protokolle mit Farbe
? hvplot – Erstellen Sie interaktive Diagramme aus Pandas-Datenrahmen
? mkdocs – Erstellen Sie Entwicklerdokumentation für Ihr Projekt
? pdoc – Generieren Sie eine API-Dokumentation für Ihren Code
? Birdseye – Debuggen Sie Ihren Python-Code grafisch
? Scalene – Profilieren Sie die CPU- und Speichernutzung Ihres Codes nach Zeile
? viztracer – Visualisieren Sie die Leistung Ihres Codes mit einem Flamegraph
? tqdm – Fügen Sie ganz einfach Fortschrittsbalken zu lang laufenden Jobs hinzu
? Bias-Varianz-Kompromiss – Wie der Gesamtfehler eines Modells die Summe aus Bias und Varianz ist (30 Min.)
? Die zwei unterschiedlichen Einsatzmöglichkeiten der Kreuzvalidierung – So nutzen Sie eine verschachtelte Kreuzvalidierung, um die beiden unterschiedlichen Einsatzmöglichkeiten der Kreuzvalidierung zu kombinieren (30 Min.)
? Modi, Mediane und Mittelwerte: Eine vereinheitlichende Perspektive – Warum die Minimierung des mittleren absoluten Fehlers (MAE) robuster ist als die Minimierung des mittleren quadratischen Fehlers (MSE) (30 Min.)
? Backpropagation ist die Kettenregel zur Berechnung des Gradienten – Wie Backpropagation ein Algorithmus zur Berechnung des Gradienten der Zielfunktion ist (30 Min.)
? Gestapelte Verallgemeinerung – So stapeln Sie Modelle (30 Min.)
? Wir haben die falsche Initialisierung für t-SNE und UMAP verwendet – So initialisieren Sie t-SNE und UMAP richtig (15 Min.)
? Von klassischen Fully Connected Networks zu Transformers – Wie sich neuronale Netze von Fully Connected Networks zu Transformers entwickelten (30 Min.)
? Was ist die .632+-Regel? - So messen Sie die Generalisierungsleistung mit Bootstrapping (30 Min.)
? Stapelstrategien mit und ohne Lecks – Verschiedene Strategien zum Stapeln von Modellen (30 Min.)
? Datenverteilungsverschiebungen und Überwachung – So erkennen und beheben Sie die verschiedenen Arten von Datenverschiebungen (1 Stunde)
? Backprop ist nicht nur die Kettenregel – Wie Backpropagation mit Lagrange-Multiplikatoren zusammenhängt (30 Min.)
? Warum ML-Algorithmen schwer abzustimmen sind – Optimieren Sie mehrere Ziele, wenn die Pareto-Front konkav ist (30 Min.)
? Komprimierung von Deep-Learning-Modellen – Wie Quantisierung, Bereinigung und Destillation zum Komprimieren von Modellen verwendet werden können (30 Min.)
? SHAP: SHApley Additive exPlanations – So erklären Sie die Ausgabe eines Modells mit Shapley-Werten (30 Min.)
? Einführung in Shapley und SHAP – Wie Shapley-Werte durch SHAP angenähert werden (30 Min.)
? UMAP: Uniform Manifold Approximation and Projection – So reduzieren Sie die Dimensionalität für Visualisierung und Modellierung (30 Min.)
? PyNNDescent – So finden Sie die nächsten Nachbarn in großen Datensätzen (15 Min.)
? Präzision und Rückruf – Wie Präzision und Rückruf die Leistung eines Klassifikators messen (30 Min.)
? Wahrscheinlichkeitskalibrierung – Wie und für welche Modelltypen Sie die Ausgabewerte des Modells in Wahrscheinlichkeiten kalibrieren sollten (30 Min.)
? Sie alle berechnen die Abwanderungsraten falsch – Definieren Sie richtig, was Abwanderung ist (30 Minuten)
? Gaußsche Prozesse – Von Grund auf – So erstellen Sie probabilistische Regressionsmodelle mit Gaußschen Prozessen (1 Stunde)
? Microsofts Document Image Transformer – ein selbstüberwachtes vorab trainiertes Modell, das SotA-Leistung auf PubLayNet erreicht und für verschiedene nachgelagerte Aufgaben verwendet werden kann (30 Min.)
? Awesome Sentence Embedding – Eine kuratierte Liste vorab trainierter Satz- und Worteinbettungsmodelle (15 Min.)
? Das Prophet-Modell – Wie das Prophet-Modell von Meta eine Zeitreihe in Trend-, Saisonalitäts- und Feiertagskomponenten zerlegt (30 Min.)
? Darts – Zeitreihen leicht gemacht in Python – So erstellen Sie Prognosemodelle mit darts
(1 Stunde)
? Microsoft Recommenders – Ein Vergleich von Empfehlungssystemmodellen (30 Min.)
? Was ich mir wünschte, jemand hätte mir etwas über Tensor-Berechnungsbibliotheken erzählt – Wie sich JAX, PyTorch, TensorFlow und Theano unterscheiden (30 Min.)
? Moderne Pandas-Reihe (Teil 1–7) – Schreiben Sie idiomatische Pandas (1 Stunde)
? Awesome Pandas – Eine fantastische Liste von Pandas-Ressourcen (1 Stunde)
? Verwenden von Scikit-Learn-Pipelines und FeatureUnions – So verwenden Sie Pipeline
zum Erstellen von End-to-End-Modellen (30 Min.)
? Ziel in der Regression transformieren – So transformieren Sie das Ziel, um robustere Modelle zu erstellen (15 Min.)
? ColumnTransformer für heterogene Daten – So verwenden Sie ColumnTransformer
zum Verarbeiten von Pandas-DataFrames in sklearn Pipeline
(30 Min.)
? Benutzerdefinierte Schätzer – Erstellen Sie Ihren eigenen benutzerdefinierten Estimator
(30 Min.)
? Hyperparameteroptimierung mit sukzessiver Halbierung – So optimieren Sie Hyperparameter mit der recheneffizientesten Methode (30 Min.)
? Doccano – Ein Tool zum Beschriften von Text (30 Min.)
? CVAT: Computer Vision Annotation Tool – Ein Tool zum Beschriften von Bildern (30 Min.)
? Fantastische Datenkennzeichnung – Eine fantastische Liste von Datenkennzeichnungstools (30 Min.)
? invoke – So implementieren Sie allgemeine Aufgaben, die Sie in Ihrem Projekt ausführen, als CLI (30 Min.)
? poe – So implementieren Sie allgemeine Aufgaben, die Sie in Ihrem Projekt ausführen, als CLI (30 Min.)
? Einführung in die Verpackungs- und Abhängigkeitsverwaltung für Python mit Poetry – So verwalten Sie die Abhängigkeiten und die Umgebung Ihres Python-Pakets (30 Min.)
? Einführung in Pyenv für maschinelles Lernen – So verwenden Sie Pyenv zur Verwaltung Ihres Python-Interpreters (30 Min.)
? Moderne Python-Umgebungen – Abhängigkeits- und Arbeitsbereichsverwaltung – Ein Vergleich zwischen Pyenv, Venv + Pip, Venv + Pip-Tools, Poetry, Pipenv und Conda (30 Min.)
? Conda: Mythen und Missverständnisse – Häufige Missverständnisse über Conda (15 Min.)
? Docker-Lehrplan – Wie man Docker nutzt (4 Stunden)
? Docker-Layer-Caching – So schreiben Sie Docker-Dateien, um vom Layer-Caching zu profitieren (30 Min.)
? Best Practices für Dockerfiles – So schreiben Sie gute Dockerfiles (1 Stunde)
? Gunicorn für Docker konfigurieren – So konfigurieren Sie Gunicorn am besten für ein Docker-Image (30 Min.)
? Beschleunigen Sie Docker mit dem neuen Caching von BuildKit – So beschleunigen Sie Docker-Builds mit einem Build-Cache (30 Min.)
? Erstellen Sie Geheimnisse in Docker und Compose auf sichere Weise – So verwenden Sie Geheimnisse in einem Docker-Build (15 Min.)
? Sicherheitsscanner für Python und Docker – So scannen Sie Ihr Docker-Image auf Sicherheitsprobleme mit Ihrem Code und Docker-Image (30 Min.)
? Der Sicherheitsscanner, der Wolf schrie – So scannen Sie Ihr Docker-Image auf Sicherheitsprobleme ohne Fehlalarme (15 Min.)
? Awesome Docker – Eine fantastische Liste von Docker-Ressourcen (30 Min.)
? Große Erwartungen – So testen und dokumentieren Sie Ihre Daten und Datenpipelines (30 Min.)
? Best Practices für Cron – So nutzen Sie Cron am besten zum Planen von Aufgaben (30 Min.)
? Eine visuelle Anleitung zu SSH-Tunneln – So leiten Sie Ports weiter und erstellen Tunnel mit SSH (30 Min.)
? Sichere Möglichkeiten, Dinge in Bash zu erledigen – So schreiben Sie sichere und robuste Shell-Skripte (1 Stunde)
? Ihr Terminal ist kein Terminal: Eine Einführung in Streams – Wie Ihr Terminal ein Werkzeug zur Manipulation von Streams ist (30 Min.)
? Bash Heredoc – So übergeben Sie mehrzeilige Argumente an Befehle mit einem Heredoc (30 Min.)
? Bitte hören Sie auf, Shell-Skripte zu schreiben – Warum Sie keine Shell-Skripte für CI/CD- oder Docker-Images schreiben sollten (30 Min.)
? Eine Einführung in Terraform – Verwendung von Terraform (1 Stunde)
? Best Practices für Terraform – Best Practices für Terraform (1 Stunde)
? Sammlung von Terraform-Pre-Commit-Hooks – So automatisieren Sie Terraform-Code-Qualitätsprüfungen mit Pre-Commit (1 Stunde)
? Awesome Terraform – Eine fantastische Liste von Terraform-Ressourcen (30 Min.)
? Terraform-Tutorial – Erste Schritte mit Terraform (1 Stunde)
? Verwenden von Redis In-Memory Storage für Ihre Python-Anwendungen – So verwenden Sie Redis als In-Memory-Cache für Ihre Python-Anwendung (30 Min.)
? Python-Kafka-Konsumenten: mindestens einmal, höchstens einmal, genau einmal – So schreiben Sie verschiedene Arten von Kafka-Konsumenten in Python (30 Min.)
? Kafka Exactly-Once-Semantics – Wie man Nachrichten genau einmal produziert und konsumiert (1 Stunde)
? RabbitMQ: eine Nachrichtenwarteschlangenbibliothek mit Persistenz – RabbitMQ ist ein Nachrichtensystem mit einem Nachrichtenbroker (4 Stunden)
? ZeroMQ: eine Socket-Bibliothek mit Nachrichtenwarteschlangenprimitiven – ZeroMQ ist ein schlankes Messaging-System ohne Nachrichtenbroker (8 Stunden)
Superlinear ist ein in Belgien ansässiges Unternehmen für maschinelles Lernen.
Wir erfinden, entwerfen und entwickeln KI-gestützte Software. Gemeinsam mit unseren Kunden identifizieren wir, welche Probleme innerhalb von Organisationen mit KI gelöst werden können, und demonstrieren den Wert künstlicher Intelligenz für jedes Problem.
Unser Team ist ständig auf der Suche nach neuartigen und leistungsstärkeren Lösungen und wir fordern uns gegenseitig heraus, die besten Ideen für unsere Kunden und unser Unternehmen zu entwickeln.
Hier sind einige Beispiele dafür, was wir mit maschinellem Lernen tun, der Technologie hinter KI:
Helfen Sie Arbeitssuchenden, tolle Jobs zu finden, die ihren Erwartungen entsprechen. Auf der Website des belgischen Arbeitsamtes finden Sie unsere Stellenempfehlungen, die ausschließlich auf Ihrem Lebenslauf basieren.
Helfen Sie Krankenhäusern, Zeit zu sparen. Wir extrahieren die Diagnose aus den Entlassungsbriefen der Patienten.
Helfen Sie Verlagen, ihre Wirkung einzuschätzen, indem Sie Nachahmerartikel erkennen.
Wir arbeiten hart und haben gemeinsam Spaß. Wir fördern eine Kultur der Zusammenarbeit, in der sich jedes Teammitglied bei der Annahme einer Herausforderung unterstützt und bei der Übernahme von Verantwortung vertrauenswürdig fühlt.