FileDataset Klasse
Stellt eine Sammlung von Dateiverweisen in Datenspeichern oder öffentlichen URLs dar, die in Azure Machine Learning verwendet werden sollen.
Ein FileDataset definiert eine Reihe von verzögert ausgewerteten, unveränderlichen Vorgängen zum Laden von Daten aus der Datenquelle in Dateistreams. Daten werden erst aus der Quelle geladen, wenn FileDataset aufgefordert wird, Daten zu liefern.
Ein FileDataset wird mit der from_files-Methode der FileDatasetFactory-Klasse erstellt.
Weitere Informationen finden Sie im Artikel Hinzufügen & Registrieren von Datasets. Informationen zum Einstieg in die Arbeit mit einem Datei-Dataset finden Sie unter https://aka.ms/filedataset-samplenotebook.
Initialisieren Sie das FileDataset-Objekt.
Dieser Konstruktor sollte nicht direkt aufgerufen werden. Das Dataset soll mithilfe der FileDatasetFactory -Klasse erstellt werden.
- Vererbung
-
FileDataset
Konstruktor
FileDataset()
Hinweise
FileDataset kann als Eingabe für eine Experimentausführung verwendet werden. Es kann auch bei einem Arbeitsbereich mit einem angegebenen Namen registriert und später mit diesem Namen abgerufen werden.
FileDataset kann durch Aufrufen verschiedener Untereinteilungsmethoden, die für diese Klasse verfügbar sind, teilbar sein. Das Ergebnis der Untereinteilung ist immer ein neues FileDataset.
Das eigentliche Laden von Daten erfolgt, wenn FileDataset aufgefordert wird, die Daten in einen anderen Speichermechanismus zu übertragen (z. B. heruntergeladene oder in den lokalen Pfad eingebundene Dateien).
Methoden
as_cache |
Hinweis Dies ist eine experimentelle Methode, die sich jederzeit ändern kann. Unter https://aka.ms/azuremlexperimental finden Sie weitere Informationen. Erstellen Sie eine DatacacheConsumptionConfig, die einem datacache_store und einem Dataset zugeordnet ist. |
as_download |
Erstellen Sie eine DatasetConsumptionConfig-Datei mit eingestelltem Downloadmodus. Bei der übermittelten Ausführung werden Dateien im Dataset in den lokalen Pfad auf dem Computeziel heruntergeladen. Der Downloadspeicherort kann aus Argumentwerten und dem Feld input_datasets des Ausführungskontexts abgerufen werden. Wir generieren automatisch einen Eingabenamen. Wenn Sie einen benutzerdefinierten Eingabenamen angeben möchten, rufen Sie die Methode as_named_input auf.
|
as_hdfs |
Legen Sie den Modus auf hdfs fest. Bei der übermittelten Synapse-Ausführung werden Dateien in den Datasets in den lokalen Pfad auf dem Computeziel konvertiert. Der HDFS-Pfad kann aus Argumentwerten und den Betriebssystemumgebungsvariablen abgerufen werden.
|
as_mount |
Erstellen Sie eine DatasetConsumptionConfig-Datei mit eingestelltem Einbindemodus. Bei der übermittelten Ausführung werden Dateien in den Datasets in den lokalen Pfad auf dem Computeziel eingebunden. Der Bereitstellungspunkt kann aus Argumentwerten und dem Feld input_datasets des Ausführungskontexts abgerufen werden. Wir generieren automatisch einen Eingabenamen. Wenn Sie einen benutzerdefinierten Eingabenamen angeben möchten, rufen Sie die Methode as_named_input auf.
|
download |
Laden Sie Dateistreams herunter, die vom Dataset als lokale Dateien definiert sind. |
file_metadata |
Hinweis Dies ist eine experimentelle Methode, die sich jederzeit ändern kann. Unter https://aka.ms/azuremlexperimental finden Sie weitere Informationen. Abrufen des Dateimetadatenausdrucks durch Angabe des Metadatenspaltennamens. Unterstützte Dateimetadatenspalten sind „Size“, „LastModifiedTime“, „CreationTime“, „Extension“ und „CanSeek“. |
filter |
Hinweis Dies ist eine experimentelle Methode, die sich jederzeit ändern kann. Unter https://aka.ms/azuremlexperimental finden Sie weitere Informationen. Filtern Sie die Daten, und lassen Sie nur die Datensätze zurück, die mit dem angegebenen Ausdruck übereinstimmen. |
hydrate |
Hinweis Dies ist eine experimentelle Methode, die sich jederzeit ändern kann. Unter https://aka.ms/azuremlexperimental finden Sie weitere Informationen. Befüllen Sie das Dataset in die angeforderten Replikate, die in datacache_store angegeben sind. |
mount |
Erstellen Sie einen Kontext-Verwalter zum Einbinden von Dateistreams, die vom Dataset als lokale Dateien definiert werden. |
random_split |
Teilen Sie Dateistreams im Dataset nach dem Zufallsprinzip und ungefähr nach dem angegebenen Prozentsatz in zwei Teile auf. Das erste zurückgegebene Dataset enthält ungefähr |
skip |
Überspringen Sie Dateistreams am Anfang des Datasets um die angegebene Anzahl. |
take |
Nehmen Sie eine Stichprobe der Dateistreams vom Anfang des Datasets nach der angegebenen Anzahl. |
take_sample |
Nehmen Sie eine zufällige Stichprobe von Dateistreams im Dataset, ungefähr nach der angegebenen Wahrscheinlichkeit. |
to_path |
Hier finden Sie eine Liste der Dateipfade für jeden Dateistream, der durch das Dataset definiert wird. |
as_cache
Hinweis
Dies ist eine experimentelle Methode, die sich jederzeit ändern kann. Unter https://aka.ms/azuremlexperimental finden Sie weitere Informationen.
Erstellen Sie eine DatacacheConsumptionConfig, die einem datacache_store und einem Dataset zugeordnet ist.
as_cache(datacache_store)
Parameter
Name | Beschreibung |
---|---|
datacache_store
Erforderlich
|
Der Datencachespeicher, der zum Befüllen verwendet werden soll. |
Gibt zurück
Typ | Beschreibung |
---|---|
Das Konfigurationsobjekt, das beschreibt, wie der Datacache während der Ausführung materialisiert werden soll. |
as_download
Erstellen Sie eine DatasetConsumptionConfig-Datei mit eingestelltem Downloadmodus.
Bei der übermittelten Ausführung werden Dateien im Dataset in den lokalen Pfad auf dem Computeziel heruntergeladen. Der Downloadspeicherort kann aus Argumentwerten und dem Feld input_datasets des Ausführungskontexts abgerufen werden. Wir generieren automatisch einen Eingabenamen. Wenn Sie einen benutzerdefinierten Eingabenamen angeben möchten, rufen Sie die Methode as_named_input auf.
# Given a run submitted with dataset input like this:
dataset_input = dataset.as_download()
experiment.submit(ScriptRunConfig(source_directory, arguments=[dataset_input]))
# Following are sample codes running in context of the submitted run:
# The download location can be retrieved from argument values
import sys
download_location = sys.argv[1]
# The download location can also be retrieved from input_datasets of the run context.
from azureml.core import Run
download_location = Run.get_context().input_datasets['input_1']
as_download(path_on_compute=None)
Parameter
Name | Beschreibung |
---|---|
path_on_compute
|
Der Zielpfad auf dem Compute, unter dem die Daten zur Verfügung gestellt werden. Standardwert: None
|
Hinweise
Wenn das Dataset aus dem Pfad einer einzelnen Datei erstellt wird, ist der Downloadspeicherort der Pfad der einzelnen heruntergeladenen Datei. Andernfalls ist der Downloadspeicherort der Pfad des umschließenden Ordners für alle heruntergeladenen Dateien.
Wenn path_on_compute mit einem / beginnt, wird er als absoluter Pfad behandelt. Wenn er nicht mit einem / beginnt, wird er als relativer Pfad relativ zum Arbeitsverzeichnis behandelt. Wenn Sie einen absoluten Pfad angegeben haben, stellen Sie sicher, dass der Auftrag über die Berechtigung zum Schreiben in dieses Verzeichnis verfügt.
as_hdfs
Legen Sie den Modus auf hdfs fest.
Bei der übermittelten Synapse-Ausführung werden Dateien in den Datasets in den lokalen Pfad auf dem Computeziel konvertiert. Der HDFS-Pfad kann aus Argumentwerten und den Betriebssystemumgebungsvariablen abgerufen werden.
# Given a run submitted with dataset input like this:
dataset_input = dataset.as_hdfs()
experiment.submit(ScriptRunConfig(source_directory, arguments=[dataset_input]))
# Following are sample codes running in context of the submitted run:
# The hdfs path can be retrieved from argument values
import sys
hdfs_path = sys.argv[1]
# The hdfs path can also be retrieved from input_datasets of the run context.
import os
hdfs_path = os.environ['input_<hash>']
as_hdfs()
Hinweise
Wenn das Dataset aus dem Pfad einer einzelnen Datei erstellt wird, ist der HDFS-Pfad der Pfad der einzelnen Datei. Andernfalls ist der HDFS-Pfad der Pfad des einschließenden Ordners für alle eingebundenen Dateien.
as_mount
Erstellen Sie eine DatasetConsumptionConfig-Datei mit eingestelltem Einbindemodus.
Bei der übermittelten Ausführung werden Dateien in den Datasets in den lokalen Pfad auf dem Computeziel eingebunden. Der Bereitstellungspunkt kann aus Argumentwerten und dem Feld input_datasets des Ausführungskontexts abgerufen werden. Wir generieren automatisch einen Eingabenamen. Wenn Sie einen benutzerdefinierten Eingabenamen angeben möchten, rufen Sie die Methode as_named_input auf.
# Given a run submitted with dataset input like this:
dataset_input = dataset.as_mount()
experiment.submit(ScriptRunConfig(source_directory, arguments=[dataset_input]))
# Following are sample codes running in context of the submitted run:
# The mount point can be retrieved from argument values
import sys
mount_point = sys.argv[1]
# The mount point can also be retrieved from input_datasets of the run context.
from azureml.core import Run
mount_point = Run.get_context().input_datasets['input_1']
as_mount(path_on_compute=None)
Parameter
Name | Beschreibung |
---|---|
path_on_compute
|
Der Zielpfad auf dem Compute, unter dem die Daten zur Verfügung gestellt werden. Standardwert: None
|
Hinweise
Wenn das Dataset aus dem Pfad einer einzelnen Datei erstellt wird, ist der Bereitstellungspunkt der Pfad der einzelnen eingebundenen Datei. Andernfalls ist der Bereitstellungspunkt der Pfad des einschließenden Ordners für alle bereitgestellten Dateien.
Wenn path_on_compute mit einem / beginnt, wird er als absoluter Pfad behandelt. Wenn er nicht mit einem / beginnt, wird er als relativer Pfad relativ zum Arbeitsverzeichnis behandelt. Wenn Sie einen absoluten Pfad angegeben haben, stellen Sie sicher, dass der Auftrag über die Berechtigung zum Schreiben in dieses Verzeichnis verfügt.
download
Laden Sie Dateistreams herunter, die vom Dataset als lokale Dateien definiert sind.
download(target_path=None, overwrite=False, ignore_not_found=False)
Parameter
Name | Beschreibung |
---|---|
target_path
Erforderlich
|
Das lokale Verzeichnis, in das die Dateien heruntergeladen werden. Bei „None“ (Keine) werden die Daten in ein temporäres Verzeichnis heruntergeladen. |
overwrite
Erforderlich
|
Gibt an, ob vorhandene Dateien überschrieben werden. Die Standardeinstellung lautet „false“. Vorhandene Dateien werden überschrieben, wenn „overwrite“ auf „True“ festgelegt ist. Andernfalls wird eine Ausnahme ausgelöst. |
ignore_not_found
Erforderlich
|
Gibt an, ob der Download fehlschlägt, wenn einige Dateien, auf die vom Dataset verwiesen wird, nicht gefunden werden. Die Standardeinstellung lautet „false“. Der Download gilt als fehlgeschlagen, wenn ein Dateidownload aus irgendeinem Grund fehlschlägt, wenn ignore_not_found auf False festgelegt ist. Andernfalls wird eine Warnung für nicht gefundene Fehler protokolliert, und der Download ist erfolgreich, solange keine anderen Fehlertypen gefunden werden. |
Gibt zurück
Typ | Beschreibung |
---|---|
Gibt ein Array von Dateipfaden für jede heruntergeladene Datei zurück. |
Hinweise
Wenn target_path mit einem / beginnt, wird er als absoluter Pfad behandelt. Wenn er nicht mit einem / beginnt, wird er als relativer Pfad relativ zum aktuellen Arbeitsverzeichnis behandelt.
file_metadata
Hinweis
Dies ist eine experimentelle Methode, die sich jederzeit ändern kann. Unter https://aka.ms/azuremlexperimental finden Sie weitere Informationen.
Abrufen des Dateimetadatenausdrucks durch Angabe des Metadatenspaltennamens.
Unterstützte Dateimetadatenspalten sind „Size“, „LastModifiedTime“, „CreationTime“, „Extension“ und „CanSeek“.
file_metadata(col)
Parameter
Name | Beschreibung |
---|---|
col
Erforderlich
|
Name der Spalte |
Gibt zurück
Typ | Beschreibung |
---|---|
<xref:azureml.dataprep.api.expression.RecordFieldExpression>
|
Dient zum Zurückgeben eines Ausdrucks, der den Wert in der angegebenen Spalte abruft. |
filter
Hinweis
Dies ist eine experimentelle Methode, die sich jederzeit ändern kann. Unter https://aka.ms/azuremlexperimental finden Sie weitere Informationen.
Filtern Sie die Daten, und lassen Sie nur die Datensätze zurück, die mit dem angegebenen Ausdruck übereinstimmen.
filter(expression)
Parameter
Name | Beschreibung |
---|---|
expression
Erforderlich
|
<xref:azureml.dataprep.api.expression.Expression>
Der auszuwertende Ausdruck. |
Gibt zurück
Typ | Beschreibung |
---|---|
Das geänderte Dataset (nicht registriert). |
Hinweise
Ausdrücke werden gestartet, indem das Dataset mit dem Namen einer Spalte indiziert wird. Sie unterstützen eine Vielzahl von Funktionen und Operatoren und können mithilfe von logischen Operatoren kombiniert werden. Der resultierende Ausdruck wird verzögert für jeden Datensatz ausgewertet, wenn ein Datenpullvorgang erfolgt, und nicht an der Stelle, an der er definiert ist.
(dataset.file_metadata('Size') > 10000) & (dataset.file_metadata('CanSeek') == True)
dataset.file_metadata('Extension').starts_with('j')
hydrate
Hinweis
Dies ist eine experimentelle Methode, die sich jederzeit ändern kann. Unter https://aka.ms/azuremlexperimental finden Sie weitere Informationen.
Befüllen Sie das Dataset in die angeforderten Replikate, die in datacache_store angegeben sind.
hydrate(datacache_store, replica_count=None)
Parameter
Name | Beschreibung |
---|---|
datacache_store
Erforderlich
|
Der Datencachespeicher, der zum Befüllen verwendet werden soll. |
replica_count
Erforderlich
|
<xref:Int>, <xref:optional>
Anzahl der zu befüllenden Replikate. |
Gibt zurück
Typ | Beschreibung |
---|---|
Das Konfigurationsobjekt, das beschreibt, wie der Datacache während der Ausführung materialisiert werden soll. |
mount
Erstellen Sie einen Kontext-Verwalter zum Einbinden von Dateistreams, die vom Dataset als lokale Dateien definiert werden.
mount(mount_point=None, **kwargs)
Parameter
Name | Beschreibung |
---|---|
mount_point
Erforderlich
|
Das lokale Verzeichnis, in das die Dateien eingebunden werden. Bei „None“ werden die Daten in ein temporäres Verzeichnis eingebunden, das Sie durch Aufrufen der Instanzmethode MountContext.mount_point ermitteln können. |
Gibt zurück
Typ | Beschreibung |
---|---|
<xref:MountContext>: <xref:the> <xref:context> <xref:manager.> <xref:Upon> <xref:entering> <xref:the> <xref:context> <xref:manager>, <xref:the> <xref:dataflow> <xref:will> <xref:be> <xref:mounted> <xref:to> <xref:the> <xref:mount_point.> <xref:Upon> exit, <xref:it> <xref:will> <xref:remove> <xref:the> mount <xref:point> <xref:and> clean <xref:up> <xref:the> <xref:daemon> <xref:process> <xref:used> <xref:to> mount <xref:the> <xref:dataflow.>
|
Gibt einen Kontext-Verwalter zum Verwalten des Lebenszyklus des Einbindens zurück. |
Hinweise
Ein Kontext-Manager zum Verwalten des Lebenszyklus der Einbindung wird zurückgegeben. Zum Einbinden müssen Sie den Kontext-Verwalter eingeben und die Bereitstellung vom Kontext-Verwalter beenden.
Das Einbinden wird nur unter UNIX oder UNIX-ähnlichen Betriebssystemen unterstützt, auf denen das native Paket „libfuse“ installiert ist. Wenn Sie in einem Docker-Container ausführen, muss der Docker-Container mit dem Flag –privileged oder mit –cap-add SYS_ADMIN –device /dev/fuse gestartet werden.
datastore = Datastore.get(workspace, 'workspaceblobstore')
dataset = Dataset.File.from_files((datastore, 'animals/dog/year-*/*.jpg'))
with dataset.mount() as mount_context:
# list top level mounted files and folders in the dataset
os.listdir(mount_context.mount_point)
# You can also use the start and stop methods
mount_context = dataset.mount()
mount_context.start() # this will mount the file streams
mount_context.stop() # this will unmount the file streams
Wenn target_path mit einem / beginnt, wird er als absoluter Pfad behandelt. Wenn er nicht mit einem / beginnt, wird er als relativer Pfad relativ zum aktuellen Arbeitsverzeichnis behandelt.
random_split
Teilen Sie Dateistreams im Dataset nach dem Zufallsprinzip und ungefähr nach dem angegebenen Prozentsatz in zwei Teile auf.
Das erste zurückgegebene Dataset enthält ungefähr percentage
der Gesamtzahl der Dateiverweise, und das zweite Dataset enthält die verbleibenden Dateiverweise.
random_split(percentage, seed=None)
Parameter
Name | Beschreibung |
---|---|
percentage
Erforderlich
|
Der ungefähre Prozentsatz, nach dem das Dataset aufgeteilt werden soll. Es muss eine Zahl zwischen 0,0 und 1,0 sein. |
seed
Erforderlich
|
Ein optionaler Seed, der für den Zufallsgenerator verwendet werden soll. |
Gibt zurück
Typ | Beschreibung |
---|---|
Gibt ein Tupel neuer FileDataset-Objekte zurück, die die beiden Datasets nach der Teilung darstellen. |
skip
Überspringen Sie Dateistreams am Anfang des Datasets um die angegebene Anzahl.
skip(count)
Parameter
Name | Beschreibung |
---|---|
count
Erforderlich
|
Die Anzahl der zu überspringenden Dateistreams. |
Gibt zurück
Typ | Beschreibung |
---|---|
Gibt ein neues FileDataset-Objekt zurück, das ein Dataset mit übersprungenen Dateistreams darstellt. |
take
Nehmen Sie eine Stichprobe der Dateistreams vom Anfang des Datasets nach der angegebenen Anzahl.
take(count)
Parameter
Name | Beschreibung |
---|---|
count
Erforderlich
|
Die Anzahl der zu übernehmenden Dateistreams. |
Gibt zurück
Typ | Beschreibung |
---|---|
Gibt ein neues FileDataset-Objekt zurück, das das Dataset mit der entnommenen Stichprobe darstellt. |
take_sample
Nehmen Sie eine zufällige Stichprobe von Dateistreams im Dataset, ungefähr nach der angegebenen Wahrscheinlichkeit.
take_sample(probability, seed=None)
Parameter
Name | Beschreibung |
---|---|
probability
Erforderlich
|
Die Wahrscheinlichkeit, dass ein Dateistream in die Stichprobe aufgenommen wird. |
seed
Erforderlich
|
Ein optionaler Seed, der für den Zufallsgenerator verwendet werden soll. |
Gibt zurück
Typ | Beschreibung |
---|---|
Gibt ein neues FileDataset-Objekt zurück, das das Dataset mit der entnommenen Stichprobe darstellt. |
to_path
Hier finden Sie eine Liste der Dateipfade für jeden Dateistream, der durch das Dataset definiert wird.
to_path()
Gibt zurück
Typ | Beschreibung |
---|---|
Gibt ein Array von Dateipfaden zurück. |
Hinweise
Die Dateipfade sind relative Pfade für lokale Dateien, wenn die Dateistreams heruntergeladen oder eingebunden werden.
Ein allgemeines Präfix wird aus den Dateipfaden entfernt, je nach Angabe der Datenquelle zum Erstellen des Datasets. Beispiel:
datastore = Datastore.get(workspace, 'workspaceblobstore')
dataset = Dataset.File.from_files((datastore, 'animals/dog/year-*/*.jpg'))
print(dataset.to_path())
# ['year-2018/1.jpg'
# 'year-2018/2.jpg'
# 'year-2019/1.jpg']
dataset = Dataset.File.from_files('https://dprepdata.blob.core.windows.net/demo/green-small/*.csv')
print(dataset.to_path())
# ['/green_tripdata_2013-08.csv']