Datenwissenschaftlers – chatgpz.de – KI-Tools & Praxiswissen https://chatgpz.de Unabhängige Tests, Anleitungen und Hintergründe zu KI-Tools. Sun, 05 Apr 2026 14:36:25 +0000 de-DE hourly 1 https://wordpress.org/?v=6.4.2 234900186 Die Meinung eines Datenwissenschaftlers zum MacBook Neo für 599 US-Greenback https://chatgpz.de/machine-learning/die-meinung-eines-datenwissenschaftlers-zum-macbook-neo-fuer-599-us-greenback/ https://chatgpz.de/machine-learning/die-meinung-eines-datenwissenschaftlers-zum-macbook-neo-fuer-599-us-greenback/#respond Sun, 05 Apr 2026 14:36:25 +0000 http://chatgpz.de/machine-learning/die-meinung-eines-datenwissenschaftlers-zum-macbook-neo-fuer-599-us-dollar/ [ad_1]

Als ich letzten Monat das MacBook Neo für 599 US-Greenback kaufte, tat ich, was jeder Datenwissenschaftler tun würde, der vorgibt, finanziell verantwortlich zu sein.

Ich öffnete sechs Browser-Tabs, schaute mir das Produktvideo zweimal an und verbrachte dann zwanzig Minuten damit, jede Lebensentscheidung zu hinterfragen, die mich zu meinem aktuellen Laptop computer geführt hatte.

Das ist die Magie einer guten technischen Ankündigung.

Es spielt keine Rolle, dass Ihr aktueller Laptop computer vollkommen in Ordnung ist. In dem Second, in dem ein neues, glänzendes Ding zu einem quick aggressiv anmutenden Preis auf den Markt kommt, beginnt Ihr Gehirn, sich stillschweigend gegen Ihre eigenen Entscheidungen zu wehren.

Additionally ja, ich habe darüber nachgedacht.

Ich bin Datenwissenschaftler.

Ich verbringe den größten Teil meines Tages damit, bis zu den Ellenbogen in Python zu arbeiten, mich mit Datensätzen herumzuschlagen, die nichts damit zu tun haben, so groß zu sein, wie sie sind, drehe Jupyter-Notebooks hoch und warte gelegentlich auf einen Modelltrainingslauf, als wäre es ein langsamer Aufzug, und drücke wiederholt den Knopf, als ob das helfen würde.

Mein Laptop computer ist mehr als nur eine Maschine. Es ist der Schwerpunkt aller meiner beruflichen Aktivitäten.

Und nachdem ich mir das MacBook Neo angesehen hatte, dachte ich etwa fünfundvierzig herrliche Minuten lang: Vielleicht ist es das.

Dann habe ich die Spezifikationen überprüft.


Der Teil, in dem der 599-Greenback-Traum stillschweigend zerplatzt

Was Apple am MacBook Neo im Titel nicht erwähnt, ist, dass es über 8 GB einheitlichen Speicher verfügt.

Das ist es.

Das ist die einzige Possibility.

Sie bleiben beim RAM bei 8 GB hängen.

Es gibt keine Möglichkeit, es darüber hinaus zu aktualisieren; Im Grunde ist das, was Sie sehen, das, was Sie bekommen. Für den durchschnittlichen Benutzer ist das wahrscheinlich in Ordnung. Großartig sogar.

Die meisten Leute haben gesagt, dass es für den durchschnittlichen Benutzer und den durchschnittlichen Anwendungsfall völlig ausreichend ist.

Und sie haben tatsächlich Recht.

Der durchschnittliche Anwendungsfall und die Information-Science-Workloads sind zwei völlig unterschiedliche Welten.

Lass mich ein Bild für dich malen.

So sieht für mich ein ganz normaler Dienstag aus: Ich habe ein Jupyter-Pocket book geöffnet und im Hintergrund läuft etwas Datenverarbeitung.

Diese Daten nehmen derzeit einige hunderttausend Zeilen ein. Ich habe auch VS Code geöffnet und einen Docker-Container im Hintergrund ausgeführt. Ich habe Chrome mit zwölf Tabs geöffnet.

Ich habe ein Drawback. Ich habe auch Slack-Benachrichtigungen, die ich derzeit ignoriere. Und das, bevor ich überhaupt darüber nachdenke, ein Modell für maschinelles Lernen zu laden.

Dieser Tag struggle in keiner Weise etwas Besonderes. Nur ein weiterer Tag.

Ich erinnere mich an die Zeit, als ich den Datensatz eines Kunden hatte, der keineswegs sehr groß struggle, nach dem Laden wahrscheinlich etwa 2 GB, und mein Rechner den Speicher so stark auf die Festplatte verteilte, dass ich schwören könnte, dass er seine Lebensentscheidungen hinterfragte.

Dies ist mit 16 GB RAM möglich. Die Idee, dasselbe mit 8 GB zu machen, ohne dass ein Improve verfügbar ist, erschöpft mich besonders.

Der A18 Professional des Neo ist ein wirklich beeindruckendes Gerät, dessen Benchmarks nahe an der Single-Core-Leistung auf M3-Niveau liegen, aber die Datenwissenschaft wird selten dadurch eingeschränkt, wie schnell Sie arbeiten können, selbst wenn Sie mehrere Kerne zur Verfügung haben.

Nein, die Datenwissenschaft ist dadurch begrenzt, wie viel Ihnen zur Verfügung steht, und dann sind Sie fertig.

Aber hier ist, für wen das MacBook Neo eigentlich gebaut ist

Ich denke, ich sollte einen Second von meiner eigenen Spitzfindigkeit pausieren, da es leicht ist, diesen Laptop computer in die falsche Schublade zu stecken.

Das MacBook Neo ist nichts für mich.

Es geht nicht darum, mit dem erfahrenen ML-Profi zu sprechen, der siebzehn Tabs geöffnet hat. Es ist nichts für jemanden wie mich. Es ist ganz für jemand anderen bestimmt und in dieser Hinsicht hat es einen ziemlich guten Fall.

Denken wir an den Anfänger.

Der Scholar, der sich gerade für seinen ersten Python-Kurs angemeldet hat und einen Pc benötigt, der zuverlässig ist und nicht die Monatsmiete stiehlt.

Der Analyst, der in Google Sheets lebt, hier und da ein paar SQL-Abfragen durchführt und vielleicht für eine kleine Analyse in Jupyter Notebooks vorbeischaut.

Der Datenwissenschaftler in einem On-line-Bootcamp benötigt lediglich einen Pc, auf dem VS-Code problemlos ausgeführt werden kann.

Für sie reicht das MacBook Neo für alle ihre täglichen Produktivitätsanforderungen aus, und der Preis von 599 US-Greenback (bzw. 499 US-Greenback in Bildungseinrichtungen) ist ein Schnäppchen.

Dies ist ein echtes MacBook mit allem Drum und Dran: richtiges macOS, Aluminium-Unibody und ein atemberaubendes Liquid-Retina-Show, und das alles für einen Bruchteil dessen, was viele Leute für einen gebrauchten Laptop computer ausgeben, der aussieht, als wäre er mit Klebeband und Gebeten zusammengehalten worden.

Und hier ist das schmutzige Geheimnis, das neue Datenwissenschaftler nicht oft genug hören: Sie brauchen keinen leistungsstarken Laptop computer, um Datenwissenschaft zu lernen.

Mit Google Colab haben Sie kostenlose GPU-Zeit in der Cloud. Sie haben Kaggle-Notizbücher. Sie haben die kostenlosen Stufen AWS, GCP und Azure. Die schwere Arbeit muss nicht auf Ihrem Laptop computer erledigt werden; es muss einfach irgendwo gemacht werden.

Die wahre Lektion, die ich immer wieder neu lerne

In letzter Zeit kursiert unter vielen angehenden Datenwissenschaftlern ein lästiger Mythos:

„Ich werde wirklich anfangen zu lernen, wenn ich mein ideales Setup habe.“

Ich habe gesehen, dass Leute das Lernen aufschieben, bis sie die Mittel haben, sich eine Excessive-Finish-Maschine zu leisten.

Ich habe Leute gesehen, die sich eingeredet haben, eine Monstermaschine mit einer GPU zu brauchen, bis sie eine einzige Codezeile in Pandas geschrieben haben.

Die brillantesten Datenwissenschaftler, denen ich begegnet bin, haben nicht auf eine Excessive-Finish-Maschine gewartet. Einige haben auf einer Maschine erfahren, dass es peinlich wäre, sie neben einem MacBook Neo in der Öffentlichkeit zu sehen.

Welche Fähigkeiten haben sie? Sie haben sich trotzdem entwickelt, ganz gleich, in welche Schublade sie geraten sind. Die Instinkte? Das Gleiche.

Wenn jemand das MacBook Neo für 599 US-Greenback braucht, um endlich mit dem Lernen zu beginnen, dann ist es genau das, was er braucht. Das ist es, was sie verdienen.

Würde ich eins kaufen?

Keine Likelihood.

Und das ganz ohne jegliche Theatralik. Ich brauche jede Menge RAM, jede Menge Anschlussoptionen und die Garantie, dass mein Laptop computer nicht mitten in einem Experiment plötzlich aufhört zu arbeiten.

Das MacBook Neo wäre eine wunderschöne Maschine, eine Maschine, mit der ich den ganzen Tag damit verbringen würde, etwas zu erledigen.

Aber es ist einfach nichts für mich. Ein Teil der Ehrlichkeit im Umgang mit Werkzeugen besteht darin, ehrlich zu sein, für wen diese Werkzeuge bestimmt sind und für wen sie nicht.

Sind Sie ein berufstätiger Datenwissenschaftler, der sich auch nur annähernd mit lokalem maschinellen Lernen befassen muss?

Behalten Sie, was Sie haben, oder holen Sie sich ein MacBook Air mit einem M4-Chip, der standardmäßig mit 16 GB RAM ausgestattet ist.

Vertrauen Sie mir, Ihr zukünftiges Ich wird es ungefähr in der dritten Stunde eines Modelltrainingszyklus zu schätzen wissen.

Sind Sie ein Neuling in der Welt der Datenwissenschaft, des Lernens und Erforschens oder benötigen Sie einfach eine fantastische Maschine, mit der Sie leichtere analytische Arbeiten durchführen können? Das MacBook Neo ist einen ernsthaften Blick wert.

Es ist schnell, intestine verarbeitet, läuft wunderbar unter macOS und ist zu einem Preis von 599 US-Greenback erhältlich. Für den täglichen Gebrauch ist es nicht nur ausreichend; es ist eigentlich intestine. Apple hat sich hier selbst übertroffen.


Letzte Gedanken

Die Markteinführung von Apple-Produkten hat etwas Vertrautes: Sie treten vor, stellen Blickkontakt her und geben einem einen sanften Anstoß, der einen dazu zwingt, alles zu überdenken.

Manchmal nickt man zustimmend, und manchmal zuckt man einfach mit den Schultern und sagt: „Nicht für mich, vielleicht aber für jemand anderen.“

Die beste Maschine ist die, mit der Sie weiter bauen, lernen und versenden können. Es könnte sich um den Neo für 599 US-Greenback in einem hellen Zitrus-End handeln oder um das MacBook Professional der Spitzenklasse, das mehr kostet als ein Gebrauchtwagen.

Nun entschuldigen Sie, ich muss einige Tabs schließen.

Referenzen

Apple-Newsroom, Sag Hallo zum MacBook Neo (2026)Apple Inc.

Ok. Haslam, MacBook Neo: Preis, Erscheinungsdatum, Spezifikationen, Funktionen und MacBook Air-Vergleich (2026)Macworld


Bevor du gehst!

Ich baue eine Neighborhood für Entwickler und Datenwissenschaftler auf, in der ich praktische Tutorials teile, komplexe CS-Konzepte aufschlüssele und gelegentlich über die Technologiebranche schimpfe.

Wenn das nach Ihrer Artwork von Raum klingt, Treten Sie meiner kostenlosen bei E-newsletter.

Verbinde dich mit mir

Unterstapel

LinkedIn

[ad_2]

]]>
https://chatgpz.de/machine-learning/die-meinung-eines-datenwissenschaftlers-zum-macbook-neo-fuer-599-us-greenback/feed/ 0 17610
Der Leitfaden des faulen Datenwissenschaftlers zur Erkundungsdatenanalyse https://chatgpz.de/data-analytics/der-leitfaden-des-faulen-datenwissenschaftlers-zur-erkundungsdatenanalyse/ https://chatgpz.de/data-analytics/der-leitfaden-des-faulen-datenwissenschaftlers-zur-erkundungsdatenanalyse/#respond Wed, 08 Oct 2025 04:13:27 +0000 https://chatgpz.de/data-analytics/der-leitfaden-des-faulen-datenwissenschaftlers-zur-erkundungsdatenanalyse/ [ad_1]

Der Leitfaden des faulen Datenwissenschaftlers zur ErkundungsdatenanalyseDer Leitfaden des faulen Datenwissenschaftlers zur Erkundungsdatenanalyse
Bild des Autors

# Einführung

Die Explorationsdatenanalyse (EDA) ist eine Schlüsselphase eines Datenprojekts. Es sorgt für die Datenqualität, generiert Erkenntnisse und bietet die Möglichkeit, vor Beginn der Modellierung Fehler in den Daten zu entdecken. Aber lassen Sie uns actual sein: Manuell EDA ist oft langsam, sich wiederholt und fehleranfällig. Das Schreiben der gleichen Diagramme, Überprüfungen oder Zusammenfassungsfunktionen kann wiederholt Zeit und Aufmerksamkeit für Lecks wie ein Colander verursachen.

Glücklicherweise die aktuelle Suite automatisierter EDA -Instruments in der Python Das Ökosystem ermöglicht Abkürzungen für einen Großteil der Arbeit. Mit einem effizienten Ansatz können Sie 80% der Erkenntnisse mit nur 20% der Arbeit erhalten, sodass die verbleibende Zeit und Energie auf die nächsten Schritte zur Erkenntnis und Entscheidungen zu sichern.

# Was ist explorative Datenanalyse EDA?

Im Kern ist EDA der Prozess des Zusammenfassen und Verständnisses der Hauptmerkmale eines Datensatzes. Typische Aufgaben umfassen:

  • Überprüfen Sie fehlende Werte und Duplikate
  • Visualisierung von Verteilungen von Schlüsselvariablen
  • Erforschung von Korrelationen zwischen Merkmalen
  • Bewertung der Datenqualität und -konsistenz

Das Überspringen von EDA kann zu schlechten Modellen, irreführenden Ergebnissen und falschen Geschäftsentscheidungen führen. Ohne sie riskieren Sie, Modelle für unvollständige oder voreingenommene Daten zu bauen.

Nachdem wir jetzt wissen, dass es obligatorisch ist, wie können wir es zu einer einfacheren Aufgabe machen?

# Der „faule“ Ansatz zur Automatisierung von EDA

Ein „fauler“ Datenwissenschaftler zu sein, bedeutet nicht, nachlässig zu sein. Es bedeutet effizient zu sein. Anstatt das Rad jedes Mal neu zu erfinden, können Sie sich auf die Automatisierung verlassen, um sich wiederholte Überprüfungen und Visualisierungen zu befassen.

Dieser Ansatz:

  • Spart Zeit, indem er den Code des Boilerplate vermeidet
  • Bietet schnelle Siege, indem vollständige Datensatzübersichten in Minuten generiert werden
  • Konzentrieren Sie sich auf die Interpretation von Ergebnissen anstatt sie zu generieren

Wie erreichen Sie das? Durch die Verwendung von Python -Bibliotheken und -Instruments, die bereits einen Großteil des traditionellen (und oft mühsamen) EDA -Prozesss automatisieren. Einige der nützlichsten Optionen sind:

// Pandas-Profilierung (jetzt Ydata-Profiling)

Ydata-Profilierung Generiert einen vollständigen EDA -Bericht mit einer Codezeile, die Verteilungen, Korrelationen und fehlende Werte abdeckt. Es kennzeichnet automatisch Probleme wie verzerrte Variablen oder doppelte Spalten.

Anwendungsfall: Schnelle, automatisierte Übersicht über einen neuen Datensatz.

// Süßwurzel

Süßwurzel Erstellt visuell reichhaltige Berichte mit einem Fokus auf Datensatzvergleiche (z. B. Zug vs. Take a look at) und hebt Verteilungsunterschiede über Gruppen oder Splits hinweg hervor.

Anwendungsfall: Validierung der Konsistenz zwischen verschiedenen Datensatzspalten.

// Autoviz

Autoviz Automatisiert die Visualisierung durch Erzeugung von Diagrammen (Histogramme, Streudiagramme, Boxplots, Wärmemaps) direkt aus Rohdaten. Es hilft, Developments, Ausreißer und Korrelationen ohne manuelle Skripte aufzudecken.

Anwendungsfall: Schnelle Mustererkennung und Datenerforschung.

// D-Story und Lux

Werkzeuge wie D-STALE Und Lux Pandas drehen DataFrames in interaktive Dashboards zur Erkundung. Sie bieten GUI-ähnliche Schnittstellen (D-Story in einem Browser, Lux in Notebooks) mit vorgeschlagenen Visualisierungen.

Anwendungsfall: Leichte, GUI-ähnliche Exploration für Analysten.

# Wenn Sie noch Handbuch benötigen, EDA

Automatisierte Berichte sind leistungsstark, aber keine Silberkugel. Manchmal müssen Sie noch Ihre eigene EDA ausführen, um sicherzustellen, dass alles wie geplant läuft. Handbuch EDA ist unerlässlich für:

  • Characteristic Engineering: Domänenspezifische Transformationen basteln
  • Domänenkontext: Verständnis, warum bestimmte Werte erscheinen
  • Hypothesentest: Validierung von Annahmen mit gezielten statistischen Methoden

Denken Sie daran: „faul zu sein“ bedeutet, effizient und nicht nachlässig zu sein. Die Automatisierung sollte Ihr Ausgangspunkt sein, nicht Ihre Ziellinie.

# Beispiel Python Workflow

Um alles zusammenzubringen, wie ein „fauler“ EDA -Workflow in der Praxis aussehen könnte. Ziel ist es, die Automatisierung mit gerade ausreichenden manuellen Schecks zu kombinieren, um alle Basen abzudecken:

import pandas as pd
from ydata_profiling import ProfileReport
import sweetviz as sv

# Load dataset
df = pd.read_csv("knowledge.csv")

# Fast automated report
profile = ProfileReport(df, title="EDA Report")
profile.to_file("report.html")

# Sweetviz comparability instance
report = sv.analyze((df, "Dataset"))
report.show_html("sweetviz_report.html")

# Proceed with guide refinement if wanted
print(df.isnull().sum())
print(df.describe())

Wie dieser Workflow funktioniert:

  1. Datenbelastung: Lesen Sie Ihren Datensatz in a Pandas DataFrame
  2. Automatisierte Profilerstellung: Laufen ydata-profiling Um sofort einen HTML -Bericht mit Verteilungen, Korrelationen und fehlenden Wertprüfungen zu erhalten
  3. Visueller Vergleich: Verwenden Sweetviz Um einen interaktiven Bericht zu generieren, nützlich, wenn Sie Zug-/Take a look at -Splits oder verschiedene Versionen des Datensatzes vergleichen möchten
  4. Manuelle Verfeinerung: Komplementautomatisierung mit wenigen Handbuch -EDA -Zeilen (Überprüfung von Nullwerten, Zusammenfassungsstatistiken oder spezifischen Anomalien, die für Ihre Domäne related sind)

# Finest Practices für „faul“ eda

Um das Beste aus Ihrem „faulen“ Ansatz zu machen, denken Sie an diese Praktiken:

  • Automatisieren Sie zuerst, dann verfeinern. Beginnen Sie mit automatisierten Berichten, um die Grundlagen schnell abzudecken, aber hören Sie hier nicht auf. Ziel ist es, zu untersuchen, insbesondere wenn Sie Bereiche finden, die eine tiefere Analyse rechtfertigen.
  • Validieren mit Domänenwissen. Überprüfen Sie immer automatisierte Berichte im Kontext des Geschäftsproblems. Konsultieren Sie Experten, um die Ergebnisse zu validieren und sicherzustellen, dass die Interpretationen korrekt sind.
  • Verwenden Sie eine Mischung aus Werkzeugen. Keine einzige Bibliothek löst jedes Drawback. Kombinieren Sie verschiedene Instruments für die Visualisierung und interaktive Erkundung, um die vollständige Abdeckung zu gewährleisten.
  • Dokumentieren und teilen. Retailer generierte Berichte und teilen sie mit Teamkollegen, um Transparenz, Zusammenarbeit und Reproduzierbarkeit zu unterstützen.

# Einpacken

Die explorative Datenanalyse ist zu wichtig, um es zu ignorieren, aber es muss kein Zeitsauger sein. Mit modernen Python -Werkzeugen können Sie einen Großteil des schweren Hebens automatisieren und Geschwindigkeit und Skalierbarkeit liefern, ohne Einsicht zu beeinträchtigen.

Denken Sie daran, „faul“ bedeutet effizient und nicht nachlässig. Beginnen Sie mit automatisierten Instruments, verfeinern Sie die manuelle Analyse und Sie verbringen weniger Zeit damit, den Code des Boilerplate zu schreiben und mehr Zeit zu finden, den Wert in Ihren Daten zu finden!

Josep Ferrer ist ein Analyseingenieur aus Barcelona. Er absolvierte das Physik -Engineering und arbeitet derzeit im Bereich Information Science, der für die menschliche Mobilität angewendet wurde. Er ist ein Teilzeit-Inhaltsersteller, der sich auf Datenwissenschaft und -technologie konzentriert. Josep schreibt über alle Dinge KI und deckt die Anwendung der laufenden Explosion vor Ort ab.

[ad_2]

]]>
https://chatgpz.de/data-analytics/der-leitfaden-des-faulen-datenwissenschaftlers-zur-erkundungsdatenanalyse/feed/ 0 13000
Ein Leitfaden eines Datenwissenschaftlers zu Docker -Containern https://chatgpz.de/machine-learning/ein-leitfaden-eines-datenwissenschaftlers-zu-docker-containern/ https://chatgpz.de/machine-learning/ein-leitfaden-eines-datenwissenschaftlers-zu-docker-containern/#respond Tue, 08 Apr 2025 23:33:29 +0000 http://chatgpz.de/machine-learning/ein-leitfaden-eines-datenwissenschaftlers-zu-docker-containern/ [ad_1]

Eine ML, um nützlich zu sein, muss irgendwo laufen. Dies ist höchstwahrscheinlich nicht Ihre lokale Maschine. Ein nicht so gutes Modell, das in einer Produktionsumgebung läuft, ist besser als ein perfektes Modell, das Ihre lokale Maschine niemals verlässt.

Die Produktionsmaschine unterscheidet sich jedoch normalerweise von dem, auf dem Sie das Modell entwickelt haben. Sie versenden das Modell additionally an die Produktionsmaschine, aber irgendwie funktioniert das Modell nicht mehr. Das ist komisch, oder? Sie haben alles auf Ihrer lokalen Maschine getestet und es hat intestine funktioniert. Sie haben sogar Unit -Assessments geschrieben.

Was ist passiert? Höchstwahrscheinlich unterscheidet sich die Produktionsmaschine von Ihrer lokalen Maschine. Vielleicht sind nicht alle erforderlichen Abhängigkeiten installiert, um Ihr Modell auszuführen. Vielleicht sind installierte Abhängigkeiten auf einer anderen Model enthalten. Dafür kann es viele Gründe geben.

Wie können Sie dieses Downside lösen? Ein Ansatz könnte darin bestehen, die Produktionsmaschine genau zu replizieren. Das ist jedoch sehr unflexibel, wie für jede neue Produktionsmaschine, die Sie für eine lokale Nachbildung erstellen müssten.

Ein viel schönerer Ansatz ist die Verwendung Docker Behälter.

Docker ist ein Instrument, mit dem wir Code und Anwendungen in Containern erstellen, verwalten und ausführen können. Ein Container ist eine kleine isolierte Computerumgebung, in der wir eine Anwendung mit allen Abhängigkeiten verpacken können. In unserem Fall muss unser ML -Modell mit allen Bibliotheken ausgeführt werden. Damit müssen wir uns nicht auf das verlassen, was auf dem Host -Laptop installiert ist. A Docker -Container Ermöglicht es uns, Anwendungen von der zugrunde liegenden Infrastruktur zu trennen.

Zum Beispiel verpacken wir unser ML -Modell lokal und schieben es in die Cloud. Damit hilft uns Docker sicher, sicherzustellen, dass unser Modell überall und jederzeit laufen kann. Die Verwendung von Docker hat mehrere Vorteile für uns. Es hilft uns, neue Modelle schneller zu liefern, die Reproduzierbarkeit zu verbessern und die Zusammenarbeit zu erleichtern. Alles nur, weil wir genau die gleichen Abhängigkeiten haben, egal wo wir den Container betreiben.

Da Docker in der Branche häufig verwendet wird, müssen Datenwissenschaftler in der Lage sein, Container mit Docker zu bauen und auszuführen. Daher werde ich in diesem Artikel das grundlegende Konzept von Containern durchgehen. Ich werde Ihnen alles zeigen, was Sie über Docker wissen müssen, um loszulegen. Nachdem wir die Theorie behandelt haben, werde ich Ihnen zeigen, wie Sie Ihren eigenen Docker -Container erstellen und ausführen können.


Was ist ein Behälter?

Ein Behälter ist eine kleine, isolierte Umgebung, in der alles in sich geschlossen ist. Die Umgebung packt alle Code und Abhängigkeiten auf.

Ein Behälter verfügt über fünf Hauptmerkmale.

  1. in sich geschlossen: Ein Container isoliert die Anwendung/Software program aus seiner Umgebung/Infrastruktur. Aufgrund dieser Isolation müssen wir uns nicht auf vorinstallierte Abhängigkeiten vom Host-Laptop verlassen. Alles, was wir brauchen, ist Teil des Behälters. Dies stellt sicher, dass die Anwendung immer unabhängig von der Infrastruktur ausgeführt werden kann.
  2. isoliert: Der Behälter hat einen minimalen Einfluss auf den Wirt und andere Behälter und umgekehrt.
  3. unabhängig: Wir können Container unabhängig verwalten. Das Löschen eines Behälters wirkt sich nicht auf andere Behälter aus.
  4. tragbar: Wenn ein Container die Software program von der {Hardware} isoliert, können wir sie nahtlos auf jeder Maschine ausführen. Damit können wir es ohne Probleme zwischen Maschinen bewegen.
  5. leicht: Behälter sind leicht, da sie das Betriebssystem des Host -Computer systems teilen. Da sie kein eigenes Betriebssystem benötigen, müssen wir die {Hardware} -Ressource des Host -Computer systems nicht partitionieren.

Dies magazine ähnlich wie virtuelle Maschinen klingen. Aber es gibt einen großen Unterschied. Der Unterschied besteht darin, wie sie die Ressourcen ihres Host -Computer systems nutzen. Virtuelle Maschinen sind eine Abstraktion der physischen {Hardware}. Sie partitionieren einen Server in mehrere. Somit enthält ein VM eine vollständige Kopie des Betriebssystems, das mehr Platz einnimmt.

Im Gegensatz dazu sind Behälter eine Abstraktion an der Anwendungsschicht. Alle Container teilen das Betriebssystem des Hosts, werden jedoch in isolierten Prozessen ausgeführt. Da Container kein Betriebssystem enthalten, können sie das zugrunde liegende System und die Ressourcen effizienter verwenden, indem sie den Overhead reduzieren.

Container gegen virtuelle Maschinen (Bild des Autors basierend auf Docker.com)

Jetzt wissen wir, was Behälter sind. Lassen Sie uns ein hochrangiges Verständnis dafür erhalten, wie Docker funktioniert. Ich werde kurz die technischen Begriffe vorstellen, die häufig verwendet werden.


Was ist Docker?

Um zu verstehen, wie Docker funktioniert, werfen wir einen kurzen Blick auf seine Architektur.

Docker verwendet eine Consumer-Server-Architektur mit drei Hauptteilen: einen Docker-Consumer, einen Docker-Daemon (Server) und eine Docker-Registrierung.

Der Docker -Consumer ist die primäre Möglichkeit, über Befehle mit Docker zu interagieren. Wir verwenden den Kunden, um über eine REST -API mit so vielen Docker -Daemons zu kommunizieren, wie wir es wollen. Oft sind verwendete Befehle Docker Run, Docker Construct, Docker Pull und Docker Push. Ich werde später erklären, was sie tun.

Der Docker -Daemon verwaltet Docker -Objekte wie Bilder und Container. Der Daemon hört auf Docker -API -Anfragen. Abhängig von der Anfrage erstellt, läuft und verteilt Docker -Container. Der Docker -Daemon und der Kunde können auf denselben oder verschiedenen Systemen ausgeführt werden.

Die Docker -Registrierung ist ein zentraler Ort, an dem Docker -Bilder gespeichert und verwaltet werden. Wir können sie verwenden, um Bilder zu teilen und sie anderen zugänglich zu machen.

Klingt ein bisschen abstrakt? Keine Sorge, sobald wir anfangen, wird es intuitiver sein. Lassen Sie uns vorher jedoch die erforderlichen Schritte durchlaufen, um einen Docker -Container zu erstellen.

Docker -Architektur (Bild des Autors basierend auf Docker.com)

Was müssen wir einen Docker -Container erstellen?

Es ist einfach. Wir müssen nur drei Schritte ausführen:

  1. Erstellen Sie eine Dockerfile
  2. Erstellen Sie ein Docker -Bild aus der Dockerfile
  3. Führen Sie das Docker -Bild aus, um einen Docker -Container zu erstellen

Lassen Sie uns Schritt für Schritt gehen.

Eine Dockerfile ist eine Textdatei, die Anweisungen zum Erstellen eines Docker -Pictures enthält. In der Dockerfile definieren wir, wie die Anwendung aussieht und ihre Abhängigkeiten. Wir geben auch an, welchen Prozess beim Starten des Docker -Containers ausgeführt werden soll. Die Dockerfile besteht aus Schichten, die einen Teil des Dateisystems des Bildes darstellen. Jede Schicht fügt, entfernt, entfernt oder modifiziert die darunter liegende Ebene.

Basierend auf der Dockerfile erstellen wir ein Docker -Bild. Das Bild ist eine schreibgeschützte Vorlage mit Anweisungen zum Ausführen eines Docker-Containers. Bilder sind unveränderlich. Sobald wir ein Docker -Bild erstellt haben, können wir es nicht mehr ändern. Wenn wir Änderungen vornehmen möchten, können wir nur Änderungen über vorhandene Bilder hinzufügen oder ein neues Bild erstellen. Wenn wir ein Bild wieder aufbauen, ist Docker klug genug, um nur Ebenen wieder aufzubauen, die sich geändert haben, und die Bauzeit verkürzt.

Ein Docker -Container ist eine ausgeführte Instanz eines Docker -Bildes. Der Container wird durch das Bild und alle Konfigurationsoptionen definiert, die wir beim Erstellen oder Starten des Containers angeben. Wenn wir einen Behälter entfernen, werden alle Änderungen in seinen internen Zuständen entfernt, wenn sie nicht in einer anhaltenden Lagerung gespeichert werden.


Verwenden von Docker: Ein Beispiel

Lassen Sie uns bei all der Theorie die Hände schmutzig machen und alles zusammenfügen.

Als Beispiel verpacken wir ein einfaches ML -Modell mit Flask in einem Docker -Container. Wir können dann Anfragen gegen den Container ausführen und im Gegenzug Vorhersagen erhalten. Wir werden ein Modell lokal trainieren und nur die Artefakte des geschulten Modells im Docker -Container laden.

Ich werde den allgemeinen Workflow durchgehen, der zum Erstellen und Ausführen eines Docker -Containers mit Ihrem ML -Modell erforderlich ist. Ich werde Sie durch die folgenden Schritte führen:

  1. Modell erstellen
  2. erstellen necessities.txt Datei mit allen Abhängigkeiten enthalten
  3. erstellen Dockerfile
  4. Bauen Sie das Docker -Bild
  5. Behälter ausführen

Bevor wir anfangen, müssen wir Docker Desktop installieren. Wir werden es verwenden, um unsere Docker -Container später anzusehen und auszuführen.

1. Erstellen Sie ein Modell

Erstens werden wir einen einfachen zufälligen ForestClassifier aufbilden scikit-learnDas Iris -Datensatz und dann speichern Sie das geschulte Modell.

Zweitens erstellen wir ein Skript, das unser Modell über eine REST -API mit Flask zur Verfügung stellt. Das Skript ist auch einfach und enthält drei Hauptschritte:

  1. Extrahieren und konvertieren Sie die Daten, die wir aus der Nutzlast JSON übergeben möchten
  2. Laden Sie die Modellartefakte und erstellen Sie eine OnNX -Sitzung und führen Sie das Modell aus
  3. Geben Sie die Vorhersagen des Modells als JSON zurück

Ich nahm den größten Teil des Codes aus Hier Und Hier und nahm nur geringfügige Änderungen vor.

2. Erstellen Sie Anforderungen

Sobald wir die Python -Datei erstellt haben, die wir ausführen möchten, wenn der Docker -Container ausgeführt wird, müssen wir a erstellen necessities.txt Datei mit allen Abhängigkeiten. In unserem Fall sieht es so aus:

3. Erstellen Sie Dockerfile

Das Letzte, was wir uns vorbereiten müssen, bevor wir ein Docker -Bild erstellen und einen Docker -Container ausführen können, ist, eine Dockerfile zu schreiben.

Die Dockerfile enthält alle Anweisungen, die zum Erstellen des Docker -Bildes erforderlich sind. Die häufigsten Anweisungen sind

  • FROM <picture>– Dies gibt das Basisbild an, das sich der Construct erstreckt.
  • WORKDIR <path>– Dieser Anweisungen gibt das „Arbeitsverzeichnis“ oder den Pfad im Bild an, in dem Dateien kopiert werden und Befehle ausgeführt werden.
  • COPY <host-path><image-path>– In dieser Anweisung wird der Bauherr aufgeführt, dass er Dateien aus dem Host kopieren und in das Containerbild einfügt.
  • RUN <command>– In dieser Anweisung wird der Bauherr angegeben, den angegebenen Befehl auszuführen.
  • ENV <title><worth>– Dieser Befehl legt eine Umgebungsvariable fest, die ein laufender Container verwendet.
  • EXPOSE <port-number>– Dieser Befehl legt die Konfiguration auf dem Bild fest, die einen Port angibt, das das Bild offenbaren möchte.
  • USER <user-or-uid>– In diesem Befehl wird der Standardbenutzer für alle nachfolgenden Anweisungen festgelegt.
  • CMD ("<command>", "<arg1>")– In diesem Befehl legt der Standardbefehl ein, den ein Container mit diesem Bild ausgeführt wird.

Mit diesen können wir die Dockerfile für unser Beispiel erstellen. Wir müssen die folgenden Schritte ausführen:

  1. Bestimmen Sie das Basisbild
  2. Anwendungsabhängigkeiten installieren
  3. Kopieren Sie in einem relevanten Quellcode und/oder Binärdateien
  4. Konfigurieren Sie das endgültige Bild

Gehen wir Schritt für Schritt durch. Jeder dieser Schritte führt zu einer Ebene im Docker -Bild.

Zuerst geben wir das Basisbild an, auf dem wir dann aufbauen. Wie wir im Beispiel in Python geschrieben haben, werden wir ein Python -Basisbild verwenden.

Zweitens setzen wir das Arbeitsverzeichnis, in das wir alle Dateien kopieren werden, die wir benötigen, um unser ML -Modell auszuführen.

Drittens aktualisieren wir die Paketindexdateien, um sicherzustellen, dass wir über die neuesten verfügbaren Informationen zu Paketen und deren Versionen verfügen.

Viertens kopieren und installieren wir die Anwendungsabhängigkeiten.

Fünftens kopieren wir den Quellcode und alle anderen Dateien, die wir benötigen. Hier enthüllen wir auch Port 8080, den wir für die Interaktion mit dem ML -Modell verwenden werden.

Sechstens setzen wir einen Benutzer, damit der Container nicht als Root -Benutzer ausgeführt wird

Siebten definieren wir das die instance.py Die Datei wird ausgeführt, wenn wir den Docker -Container ausführen. Damit erstellen wir den Flask -Server, um unsere Anfragen auszuführen.

Neben der Erstellung der Dockerfile können wir auch a erstellen .dockerignore Datei zur Verbesserung der Construct -Geschwindigkeit. Ähnlich wie a .gitignore Datei, wir können Verzeichnisse aus dem Construct -Kontext ausschließen.

Wenn Sie mehr wissen möchten, gehen Sie bitte zu Docker.com.

4. Erstellen Sie das Docker -Bild

Nachdem wir alle Dateien erstellt haben, die wir zum Erstellen des Docker -Bildes erstellt haben.

Um das Bild zu erstellen, müssen wir zuerst den Docker -Desktop öffnen. Sie können überprüfen, ob Docker Desktop durch Laufen ausgeführt wird docker ps in der Befehlszeile. Dieser Befehl zeigt alle laufenden Container.

Um ein Docker -Picture zu erstellen, müssen wir auf der gleichen Ebene wie unsere Dockerfile sein und necessities.txt Datei. Wir können dann rennen docker construct -t our_first_image . Der -t Flag gibt den Namen des Bildes an, dh. our_first_imageund die . fordert uns an, aus diesem aktuellen Verzeichnis zu bauen.

Sobald wir das Bild erstellt haben, können wir mehrere Dinge tun. Wir können

  • Zeigen Sie das Bild durch Laufen an docker picture ls
  • Sehen Sie sich den Verlauf oder wie das Bild durch Laufen erstellt hat docker picture historical past <image_name>
  • Drücken Sie das Bild durch Laufen in eine Registrierung docker push <image_name>

5. Docker -Container ausführen

Sobald wir das Docker -Bild erstellt haben, können wir unser ML -Modell in einem Container ausführen.

Dafür müssen wir nur ausführen docker run -p 8080:8080 <image_name> in der Befehlszeile. Mit -p 8080:8080 Wir verbinden den lokalen Port (8080) mit dem Port im Container (8080).

Wenn das Docker -Bild keinen Port enthüllt, können wir einfach ausgeführt werden docker run <image_name>. Anstatt die zu verwenden image_nameWir können auch die verwenden image_id.

Okay, sobald der Container ausgeführt wird, führen wir eine Anfrage dagegen aus. Dafür senden wir eine Nutzlast an den Endpunkt, indem wir ausführen curl X POST http://localhost:8080/invocations -H "Content material-Kind:software/json" -d @.path/to/sample_payload.json


Abschluss

In diesem Artikel habe ich Ihnen die Grundlagen von Docker -Containern, was sie sind und wie Sie sie selbst bauen. Obwohl ich nur die Oberfläche kratzte, sollte es ausreichen, um Ihnen den Einstieg zu erlangen und Ihr nächstes Modell zu verpacken. Mit diesem Wissen sollten Sie in der Lage sein, die Probleme „Es auf meiner Maschine“ zu vermeiden.

Ich hoffe, dass Sie diesen Artikel nützlich finden und dass er Ihnen hilft, ein besserer Datenwissenschaftler zu werden.

Wir sehen uns in meinem nächsten Artikel und/oder hinterlassen Sie einen Kommentar.

[ad_2]

]]>
https://chatgpz.de/machine-learning/ein-leitfaden-eines-datenwissenschaftlers-zu-docker-containern/feed/ 0 8411