Ausführen von Python-Skripts
Wichtig
Der Support für Machine Learning Studio (klassisch) endet am 31. August 2024. Es wird empfohlen, bis zu diesem Datum auf Azure Machine Learning umzustellen.
Ab dem 1. Dezember 2021 können Sie keine neuen Ressourcen in Machine Learning Studio (klassisch) mehr erstellen. Bis zum 31. August 2024 können Sie die vorhandenen Ressourcen in Machine Learning Studio (klassisch) weiterhin verwenden.
- Siehe Migrieren zu Azure Machine Learning
- Weitere Informationen zu Azure Machine Learning.
Die Dokumentation zu ML Studio (klassisch) wird nicht mehr fortgeführt und kann künftig nicht mehr aktualisiert werden.
Führt ein Python-Skript aus einem Machine Learning Experiment aus.
Kategorie: Python-Sprachmodule
Hinweis
Giltnur für: Machine Learning Studio (klassisch)
Ähnliche Drag & Drop-Module sind im Azure Machine Learning-Designer verfügbar.
Modulübersicht
In diesem Artikel wird beschrieben, wie Sie das Execute Python Script-Modul in Machine Learning Studio (klassisch) verwenden, um Python-Code auszuführen. Weitere Informationen zu den Architektur- und Designprinzipien von Python in Studio (klassisch) finden Sie im folgenden Artikel.
Mit Python können Sie Aufgaben ausführen, die derzeit nicht von vorhandenen (klassischen) Studio-Modulen unterstützt werden, z. B.:
- Visualisieren von Daten mit
matplotlib
- Verwenden von Python-Bibliotheken zum Auflisten von Datasets und Modellen in Ihrem Arbeitsbereich
- Lesen, Laden und Bearbeiten von Daten aus Quellen, die vom Modul Daten importieren nicht unterstützt werden
Machine Learning Studio (klassisch) verwendet die Anaconda-Verteilung von Python, die viele gängige Dienstprogramme für die Datenverarbeitung enthält.
Verwenden des Execute Python-Skripts
Das Modul Execute Python Script enthält Python-Beispielcode, den Sie als Ausgangspunkt verwenden können. Um das Modul Python-Skript ausführen zu konfigurieren, geben Sie einen Satz von Eingaben und auszuführenden Python-Code im Textfeld Pytho-Skript ein.
Fügen Sie Ihrem Experiment das Modul Python-Skript ausführen hinzu.
Scrollen Sie nach unten im Eigenschaftenbereich , und wählen Sie für Python-Version die Version der Python-Bibliotheken und -Laufzeit aus, die im Skript verwendet werden soll.
- Anaconda 2.0-Verteilung für Python 2.7.7
- Anaconda 4.0-Verteilung für Python 2.7.11
- Anaconda 4.0-Verteilung für Python 3.5 (Standard)
Es wird empfohlen, die Version vor der Eingabe eines neuen Codes festzulegen. Wenn Sie die Version später ändern, fordert Sie eine Aufforderung auf, die Änderung zu bestätigen.
Wichtig
Wenn Sie mehrere Instanzen des Execute Python Script-Moduls in Ihrem Experiment verwenden, müssen Sie eine einzelne Version von Python für alle Module im Experiment auswählen.
Fügen Sie dataset1 beliebige Datasets aus Studio (klassisch) hinzu, die Sie für die Eingabe verwenden möchten, und verbinden Sie sie. Verweisen Sie auf dieses Dataset in Ihrem Python-Skript als DataFrame1.
Die Verwendung eines Datasets ist optional, wenn Sie Daten mithilfe von Python generieren oder Python-Code zum direkten Importieren der Daten in das Modul verwenden möchten.
Dieses Modul unterstützt das Hinzufügen eines zweiten Studio-Datasets (klassisches) Dataset2. Verweisen Sie auf das zweite Dataset in ihrem Python-Skript als „DataFrame2“.
Datasets, die in Studio (klassisch) gespeichert sind, werden automatisch in Pandas data.frames konvertiert, wenn sie mit diesem Modul geladen werden.
Um neue Python-Pakete oder Code einzuschließen, fügen Sie die ZIP-Datei, die diese benutzerdefinierten Ressourcen enthält, in Script bundle (Skriptbundle) hinzu. Die Eingabe in Script bundle muss eine ZIP-Datei sein, die bereits in Ihren Arbeitsbereich hochgeladen wurde. Weitere Informationen zum Vorbereiten und Hochladen dieser Ressourcen finden Sie unter "Zipped Data".
Während der Ausführung des Experiments kann jede Datei verwendet werden, die im hochgeladenen ZIP-Archiv enthalten ist. Wenn das Archiv eine Verzeichnisstruktur enthält, bleibt die Struktur erhalten, Sie müssen dem Pfad aber ein Verzeichnis mit dem Namen src voranstellen.
Geben oder fügen Sie in das Textfeld Python script (Python-Skript) ein gültiges Python-Skript ein.
Das Textfeld Python script (Python-Skript) ist mit einigen Anweisungen in Kommentaren und Beispielcode für den Datenzugriff und die Datenausgabe voraufgefüllt. Sie müssen diesen Code bearbeiten oder ersetzen. Achten Sie darauf, die Python-Konventionen zu Einzug und Schreibweise zu beachten.
- Das Skript muss eine Funktion mit dem Namen
azureml_main
als Einstiegspunkt für dieses Modul enthalten. - Die Einstiegspunktfunktion kann bis zu zwei Eingabeargumente enthalten:
Param<dataframe1>
undParam<dataframe2>
- ZIP-Dateien, die mit dem dritten Eingabeport verbunden sind, werden entzippt und im Verzeichnis
.\Script Bundle
gespeichert, das dem Python-sys.path
ebenfalls hinzugefügt wird.
Wenn Ihre ZIP-Datei
mymodule.py
enthält, importieren Sie sie daher mitimport mymodule
.- Ein einzelnes Dataset kann in Studio (klassisch) zurückgegeben werden, was eine Abfolge des Typs
pandas.DataFrame
sein muss. Sie können andere Ausgaben in Ihrem Python-Code erstellen und direkt in Azure-Speicher schreiben oder Visualisierungen mithilfe des Python-Geräts erstellen.
- Das Skript muss eine Funktion mit dem Namen
Führen Sie das Experiment aus, oder wählen Sie das Modul aus, und klicken Sie auf Run selected (Auswahl ausführen), um nur das Python-Skript auszuführen.
Alle Daten und der gesamte Code werden in einen virtuellen Computer geladen und unter Verwendung der angegebenen Python-Umgebung ausgeführt.
Ergebnisse
Das Modul gibt die folgenden Ausgaben zurück:
Results-Dataset. Die Ergebnisse aller vom eingebetteten Python-Code ausgeführten Berechnungen müssen als Pandas data.frame bereitgestellt werden, der automatisch in das Machine Learning Datasetformat konvertiert wird, damit Sie die Ergebnisse mit anderen Modulen im Experiment verwenden können. Das Modul ist auf ein einzelnes Dataset als Ausgabe beschränkt. Weitere Informationen finden Sie in der Datentabelle.
Python Device. Diese Ausgabe unterstützt die Ausgabe in der Konsole und die Anzeige von PNG-Grafiken mit dem Python-Interpreter.
So fügen Sie Skriptressourcen an
Das Execute Python Script-Modul unterstützt beliebige Python-Skriptdateien als Eingaben, sofern sie im Voraus vorbereitet und im Rahmen einer .ZIP-Datei in Ihren Arbeitsbereich hochgeladen werden.
Hochladen eine ZIP-Datei mit Python-Code in Ihrem Arbeitsbereich
Klicken Sie im Experimentbereich von Machine Learning Studio (klassisch) auf Datasets, und klicken Sie dann auf "Neu".
Wählen Sie die Option "Aus lokaler Datei" aus.
Klicken Sie im Dialogfeld Hochladen eines neuen Datasets auf die Dropdownliste, um einen Typ für das neue Dataset auszuwählen, und wählen Sie die Zip-Datei (.zip) aus.
Klicken Sie auf "Durchsuchen ", um die ZIP-Datei zu suchen.
Geben Sie einen neuen Namen für die Verwendung im Arbeitsbereich ein. Der Name, den Sie dem Dataset zuweisen, wird zum Namen des Ordners in Ihrem Arbeitsbereich, in dem die enthaltenen Dateien extrahiert werden.
Nachdem Sie das zipped-Paket in Studio (klassisch) hochgeladen haben, überprüfen Sie, ob die zippede Datei in der Liste gespeicherter Datasets verfügbar ist, und verbinden Sie das Dataset dann mit dem Eingabeport "Script Bundle ".
Alle Dateien, die in der ZIP-Datei enthalten sind, sind zur Verwendung während der Laufzeit verfügbar: Beispieldaten, Skripts oder neue Python-Pakete.
Wenn Ihre ZIP-Datei Bibliotheken enthält, die nicht bereits in Machine Learning Studio (klassisch) installiert sind, müssen Sie das Python-Bibliothekspaket als Teil Ihres benutzerdefinierten Skripts installieren.
Wenn eine Verzeichnisstruktur vorhanden ist, wird sie beibehalten. Sie müssen ihren Code jedoch ändern, um den Verzeichnis-Src auf den Pfad vorzugestellt zu haben.
Debuggen von Python-Code
Das Execute Python Script-Modul funktioniert am besten, wenn der Code als Funktion mit eindeutig definierten Eingaben und Ausgaben statt einer Sequenz von lose verwandten ausführbaren Anweisungen verwendet wurde.
Dieses Python-Modul unterstützt keine Features wie IntelliSense und Debugging. Wenn das Modul zur Laufzeit fehlschlägt, können Sie einige Fehlerdetails im Ausgabeprotokoll für das Modul anzeigen. Die vollständige Python-Stapelablaufverfolgung ist jedoch nicht verfügbar. Daher wird empfohlen, dass Benutzer ihre Python-Skripts in einer anderen Umgebung entwickeln und debuggen und dann den Code in das Modul importieren.
Einige häufige Probleme, nach denen Sie suchen können:
Überprüfen Sie die Datentypen im Datenframe, von
azureml_main
dem Sie zurückkehren. Fehler sind wahrscheinlich, wenn Spalten andere Datentypen als numerische Typen und Zeichenfolgen enthalten.Entfernen Sie NA-Werte aus Ihrem Dataset, indem
dataframe.dropna()
Sie das Python-Skript exportieren. Verwenden Sie beim Vorbereiten Ihrer Daten das Modul "Fehlende Daten bereinigen" .Überprüfen Sie Ihren eingebetteten Code auf Einzugs- und Leerzeichenfehler. Wenn Sie den Fehler "IndentationError: erwartet einen eingerückten Block" erhalten, finden Sie in den folgenden Ressourcen Anleitungen:
Bekannte Einschränkungen
Die Python-Laufzeit ist Sandkasten und erlaubt keinen Zugriff auf das Netzwerk oder das lokale Dateisystem auf dauerhafte Weise.
Alle lokal gespeicherten Dateien sind isoliert und werden nach Abschluss des Moduls gelöscht. Auf dem Computer, auf dem er ausgeführt wird, kann der Python-Code nur auf das aktuelle Verzeichnis und die zugehörigen Unterverzeichnisse zugreifen.
Wenn Sie eine ZIP-Datei als Ressource bereitstellen, werden die Dateien aus Ihrem Arbeitsbereich in den Ausführungsbereich des Experiments kopiert, entpackt und dann verwendet. Das Kopieren und Entpacken von Ressourcen kann Arbeitsspeicher nutzen.
Das Modul kann einen einzelnen Datenrahmen ausgeben. Es ist nicht möglich, beliebige Python-Objekte wie trainierte Modelle direkt zur Studio-Laufzeit zurückzugeben. Sie können jedoch Objekte in den Speicher oder in den Arbeitsbereich schreiben. Eine weitere Option besteht darin,
pickle
mehrere Objekte in ein Bytearray zu serialisieren und dann das Array innerhalb eines Datenrahmens zurückzugeben.
Beispiele
Beispiele für die Integration von Python-Skripts mit Studio-Experimenten (klassische) finden Sie in den folgenden Ressourcen im Azure AI Gallery:
- Python-Skript ausführen: Verwenden Sie Texttoken, Stemming und andere natürliche Sprachverarbeitung mithilfe des Execute Python Script-Moduls .
- Benutzerdefinierte R- und Python-Skripts in Azure ML: Führt Sie durch den Prozess des Hinzufügens von benutzerdefiniertem Code a(R oder Python), verarbeiten von Daten und visualisieren die Ergebnisse.
- Analysieren von PyPI-Daten zum Ermitteln der Python 3-Unterstützung: Schätzen Sie den Punkt, an dem die Nachfrage nach Python 3 ausläuft, die für Python 2.7 mit Python verwendet wird.