Delen via


FileDataset Klas

Vertegenwoordigt een verzameling bestandsverwijzingen in gegevensarchieven of openbare URL's die moeten worden gebruikt in Azure Machine Learning.

Een FileDataset definieert een reeks lazily-geëvalueerde, onveranderbare bewerkingen voor het laden van gegevens uit de gegevensbron in bestandsstromen. Gegevens worden pas vanuit de bron geladen als FileDataset wordt gevraagd om gegevens te leveren.

Er wordt een FileDataset gemaakt met behulp van de from_files methode van de klasse FileDatasetFactory.

Zie het artikel Gegevenssets toevoegen en registreren voor meer informatie. Als u aan de slag wilt gaan met een bestandsgegevensset, raadpleegt https://aka.ms/filedataset-samplenotebooku .

Initialiseer het FileDataset-object.

Deze constructor mag niet rechtstreeks worden aangeroepen. De gegevensset is bedoeld om te worden gemaakt met behulp van FileDatasetFactory klasse.

Constructor

FileDataset()

Opmerkingen

FileDataset kan worden gebruikt als invoer van een experimentuitvoering. Het kan ook worden geregistreerd bij de werkruimte met een opgegeven naam en later worden opgehaald door die naam.

FileDataset kan worden gesubseteerd door verschillende subsetmethoden aan te roepen die beschikbaar zijn voor deze klasse. Het resultaat van subsetting is altijd een nieuwe FileDataset.

Het laden van gegevens gebeurt wanneer FileDataset wordt gevraagd om de gegevens in een ander opslagmechanisme te leveren (bijvoorbeeld bestanden die zijn gedownload of gekoppeld aan het lokale pad).

Methoden

as_cache

Opmerking

Dit is een experimentele methode en kan op elk gewenst moment worden gewijzigd. Zie https://aka.ms/acr/connected-registry voor meer informatie.

Maak een DatacacheConsumptionConfig die is toegewezen aan een datacache_store en een gegevensset.

as_download

Maak een DatasetConsumptionConfig met de modus die is ingesteld om te downloaden.

In de verzonden uitvoering worden bestanden in de gegevensset gedownload naar het lokale pad op het rekendoel. De downloadlocatie kan worden opgehaald uit argumentwaarden en het input_datasets veld van de uitvoeringscontext. Er wordt automatisch een invoernaam gegenereerd. Als u een aangepaste invoernaam wilt opgeven, roept u de methode as_named_input aan.


   # 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_hdfs

Stel de modus in op HDFS.

In de verzonden Synapse-uitvoering worden bestanden in de gegevenssets geconverteerd naar het lokale pad op het rekendoel. Het hdfs-pad kan worden opgehaald uit argumentwaarden en de omgevingsvariabelen van het besturingssysteem.


   # 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_mount

Maak een DatasetConsumptionConfig met de modus die is ingesteld om te koppelen.

In de verzonden uitvoering worden bestanden in de gegevenssets gekoppeld aan het lokale pad op het rekendoel. Het koppelpunt kan worden opgehaald uit argumentwaarden en het input_datasets veld van de uitvoeringscontext. Er wordt automatisch een invoernaam gegenereerd. Als u een aangepaste invoernaam wilt opgeven, roept u de methode as_named_input aan.


   # 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']
download

Download bestandsstromen die door de gegevensset zijn gedefinieerd als lokale bestanden.

file_metadata

Opmerking

Dit is een experimentele methode en kan op elk gewenst moment worden gewijzigd. Zie https://aka.ms/acr/connected-registry voor meer informatie.

Haal bestandsmetagegevensexpressie op door de kolomnaam van de metagegevens op te geven.

Ondersteunde kolommen voor bestandsmetagegevens zijn Grootte, LastModifiedTime, CreationTime, Extension en CanSeek

filter

Opmerking

Dit is een experimentele methode en kan op elk gewenst moment worden gewijzigd. Zie https://aka.ms/acr/connected-registry voor meer informatie.

Filter de gegevens en laat alleen de records die overeenkomen met de opgegeven expressie.

hydrate

Opmerking

Dit is een experimentele methode en kan op elk gewenst moment worden gewijzigd. Zie https://aka.ms/acr/connected-registry voor meer informatie.

De gegevensset hydrateren in de aangevraagde replica's die zijn opgegeven in datacache_store.

mount

Maak een contextbeheer voor het koppelen van bestandsstromen die door de gegevensset zijn gedefinieerd als lokale bestanden.

random_split

Splits bestandsstromen in de gegevensset willekeurig en ongeveer op basis van het opgegeven percentage.

De eerste geretourneerde gegevensset bevat ongeveer percentage het totale aantal bestandsverwijzingen en de tweede gegevensset bevat de resterende bestandsverwijzingen.

skip

Sla bestandsstromen vanaf het begin van de gegevensset over op basis van het opgegeven aantal.

take

Neem een voorbeeld van bestandsstromen boven aan de gegevensset op basis van het opgegeven aantal.

take_sample

Neem een willekeurige steekproef van bestandsstromen in de gegevensset op ongeveer basis van de waarschijnlijkheid die is opgegeven.

to_path

Haal een lijst met bestandspaden op voor elke bestandsstroom die is gedefinieerd door de gegevensset.

as_cache

Opmerking

Dit is een experimentele methode en kan op elk gewenst moment worden gewijzigd. Zie https://aka.ms/acr/connected-registry voor meer informatie.

Maak een DatacacheConsumptionConfig die is toegewezen aan een datacache_store en een gegevensset.

as_cache(datacache_store)

Parameters

Name Description
datacache_store
Vereist

De datacachestore die moet worden gebruikt om te hydrateren.

Retouren

Type Description

Het configuratieobject waarin wordt beschreven hoe de datacache in de uitvoering moet worden gerealiseerd.

as_download

Maak een DatasetConsumptionConfig met de modus die is ingesteld om te downloaden.

In de verzonden uitvoering worden bestanden in de gegevensset gedownload naar het lokale pad op het rekendoel. De downloadlocatie kan worden opgehaald uit argumentwaarden en het input_datasets veld van de uitvoeringscontext. Er wordt automatisch een invoernaam gegenereerd. Als u een aangepaste invoernaam wilt opgeven, roept u de methode as_named_input aan.


   # 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)

Parameters

Name Description
path_on_compute
str

Het doelpad op de berekening om de gegevens beschikbaar te maken op.

Default value: None

Opmerkingen

Wanneer de gegevensset wordt gemaakt op basis van het pad van één bestand, is de downloadlocatie het pad van het enkele gedownloade bestand. Anders is de downloadlocatie het pad van de ingesloten map voor alle gedownloade bestanden.

Als path_on_compute begint met een /, wordt het beschouwd als een absoluut pad. Als het niet begint met een /, wordt het beschouwd als een relatief pad ten opzichte van de werkmap. Als u een absoluut pad hebt opgegeven, moet u ervoor zorgen dat de taak gemachtigd is om naar die map te schrijven.

as_hdfs

Stel de modus in op HDFS.

In de verzonden Synapse-uitvoering worden bestanden in de gegevenssets geconverteerd naar het lokale pad op het rekendoel. Het hdfs-pad kan worden opgehaald uit argumentwaarden en de omgevingsvariabelen van het besturingssysteem.


   # 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()

Opmerkingen

Wanneer de gegevensset wordt gemaakt op basis van het pad van één bestand, wordt het hdfs-pad van het ene bestand. Anders is het hdfs-pad het pad van de ingesloten map voor alle gekoppelde bestanden.

as_mount

Maak een DatasetConsumptionConfig met de modus die is ingesteld om te koppelen.

In de verzonden uitvoering worden bestanden in de gegevenssets gekoppeld aan het lokale pad op het rekendoel. Het koppelpunt kan worden opgehaald uit argumentwaarden en het input_datasets veld van de uitvoeringscontext. Er wordt automatisch een invoernaam gegenereerd. Als u een aangepaste invoernaam wilt opgeven, roept u de methode as_named_input aan.


   # 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)

Parameters

Name Description
path_on_compute
str

Het doelpad op de berekening om de gegevens beschikbaar te maken op.

Default value: None

Opmerkingen

Wanneer de gegevensset wordt gemaakt op basis van het pad van één bestand, is het koppelpunt het pad van het gekoppelde bestand. Anders is het koppelpunt het pad van de ingesloten map voor alle gekoppelde bestanden.

Als path_on_compute begint met een /, wordt het beschouwd als een absoluut pad. Als het niet begint met een /, wordt het beschouwd als een relatief pad ten opzichte van de werkmap. Als u een absoluut pad hebt opgegeven, moet u ervoor zorgen dat de taak gemachtigd is om naar die map te schrijven.

download

Download bestandsstromen die door de gegevensset zijn gedefinieerd als lokale bestanden.

download(target_path=None, overwrite=False, ignore_not_found=False)

Parameters

Name Description
target_path
Vereist
str

De lokale map waarin u de bestanden wilt downloaden. Als geen, worden de gegevens gedownload naar een tijdelijke map.

overwrite
Vereist

Hiermee wordt aangegeven of bestaande bestanden moeten worden overschreven. De standaardwaarde is Onwaar. Bestaande bestanden worden overschreven als overschrijven is ingesteld op True; anders wordt er een uitzondering gegenereerd.

ignore_not_found
Vereist

Hiermee wordt aangegeven of het downloaden mislukt als sommige bestanden die door de gegevensset worden verwezen, niet worden gevonden. De standaardwaarde is Onwaar. Downloaden mislukt als het downloaden van bestanden om welke reden dan ook mislukt als ignore_not_found is ingesteld op False; anders wordt een waring geregistreerd voor niet-gevonden fouten en dowload slaagt zolang er geen andere fouttypen worden aangetroffen.

Retouren

Type Description

Retourneert een matrix met bestandspaden voor elk gedownload bestand.

Opmerkingen

Als target_path begint met een /, wordt het beschouwd als een absoluut pad. Als het niet begint met een /, wordt het beschouwd als een relatief pad ten opzichte van de huidige werkmap.

file_metadata

Opmerking

Dit is een experimentele methode en kan op elk gewenst moment worden gewijzigd. Zie https://aka.ms/acr/connected-registry voor meer informatie.

Haal bestandsmetagegevensexpressie op door de kolomnaam van de metagegevens op te geven.

Ondersteunde kolommen voor bestandsmetagegevens zijn Grootte, LastModifiedTime, CreationTime, Extension en CanSeek

file_metadata(col)

Parameters

Name Description
col
Vereist
str

Naam van kolom

Retouren

Type Description
<xref:azureml.dataprep.api.expression.RecordFieldExpression>

Retourneert een expressie waarmee de waarde in de opgegeven kolom wordt opgehaald.

filter

Opmerking

Dit is een experimentele methode en kan op elk gewenst moment worden gewijzigd. Zie https://aka.ms/acr/connected-registry voor meer informatie.

Filter de gegevens en laat alleen de records die overeenkomen met de opgegeven expressie.

filter(expression)

Parameters

Name Description
expression
Vereist
<xref:azureml.dataprep.api.expression.Expression>

De expressie die moet worden geëvalueerd.

Retouren

Type Description

De gewijzigde gegevensset (niet geregistreerd).

Opmerkingen

Expressies worden gestart door de gegevensset te indexeren met de naam van een kolom. Ze ondersteunen diverse functies en operators en kunnen worden gecombineerd met logische operators. De resulterende expressie wordt lazily geëvalueerd voor elke record wanneer een gegevens pull plaatsvindt en niet waar deze is gedefinieerd.


   (dataset.file_metadata('Size') > 10000) & (dataset.file_metadata('CanSeek') == True)
   dataset.file_metadata('Extension').starts_with('j')

hydrate

Opmerking

Dit is een experimentele methode en kan op elk gewenst moment worden gewijzigd. Zie https://aka.ms/acr/connected-registry voor meer informatie.

De gegevensset hydrateren in de aangevraagde replica's die zijn opgegeven in datacache_store.

hydrate(datacache_store, replica_count=None)

Parameters

Name Description
datacache_store
Vereist

De datacachestore die moet worden gebruikt om te hydrateren.

replica_count
Vereist
<xref:Int>, <xref:optional>

Aantal replica's dat moet worden gehydrateerd.

Retouren

Type Description

Het configuratieobject waarin wordt beschreven hoe de datacache in de uitvoering moet worden gerealiseerd.

mount

Maak een contextbeheer voor het koppelen van bestandsstromen die door de gegevensset zijn gedefinieerd als lokale bestanden.

mount(mount_point=None, **kwargs)

Parameters

Name Description
mount_point
Vereist
str

De lokale map waaraan de bestanden moeten worden gekoppeld. Als geen, worden de gegevens gekoppeld aan een tijdelijke map, die u kunt vinden door de MountContext.mount_point instantiemethode aan te roepen.

Retouren

Type Description
<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.>

Retourneert een contextbeheerder voor het beheren van de levenscyclus van de koppeling.

Opmerkingen

Er wordt een contextbeheerder geretourneerd om de levenscyclus van de koppeling te beheren. Als u wilt koppelen, moet u de contextbeheer invoeren en ontkoppelen, sluit u de contextbeheerder af.

Koppelen wordt alleen ondersteund op Unix- of Unix-achtige besturingssystemen waarop het systeemeigen pakket libfuse is geïnstalleerd. Als u in een Docker-container werkt, moet de docker-container worden gestart met de vlag -privileged of gestart met –cap-add SYS_ADMIN –device /dev/fuse.


   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

Als target_path begint met een /, wordt het beschouwd als een absoluut pad. Als het niet begint met een /, wordt het beschouwd als een relatief pad ten opzichte van de huidige werkmap.

random_split

Splits bestandsstromen in de gegevensset willekeurig en ongeveer op basis van het opgegeven percentage.

De eerste geretourneerde gegevensset bevat ongeveer percentage het totale aantal bestandsverwijzingen en de tweede gegevensset bevat de resterende bestandsverwijzingen.

random_split(percentage, seed=None)

Parameters

Name Description
percentage
Vereist

Het geschatte percentage waarop de gegevensset moet worden gesplitst. Dit moet een getal tussen 0,0 en 1,0 zijn.

seed
Vereist
int

Een optioneel seed dat moet worden gebruikt voor de willekeurige generator.

Retouren

Type Description

Retourneert een tuple van nieuwe FileDataset-objecten die de twee gegevenssets na de splitsing vertegenwoordigen.

skip

Sla bestandsstromen vanaf het begin van de gegevensset over op basis van het opgegeven aantal.

skip(count)

Parameters

Name Description
count
Vereist
int

Het aantal bestandsstreams dat moet worden overgeslagen.

Retouren

Type Description

Retourneert een nieuw FileDataset-object dat een gegevensset vertegenwoordigt met bestandsstromen die zijn overgeslagen.

take

Neem een voorbeeld van bestandsstromen boven aan de gegevensset op basis van het opgegeven aantal.

take(count)

Parameters

Name Description
count
Vereist
int

Het aantal te nemen bestandsstreams.

Retouren

Type Description

Hiermee wordt een nieuw FileDataset-object geretourneerd dat de voorbeeldgegevensset vertegenwoordigt.

take_sample

Neem een willekeurige steekproef van bestandsstromen in de gegevensset op ongeveer basis van de waarschijnlijkheid die is opgegeven.

take_sample(probability, seed=None)

Parameters

Name Description
probability
Vereist

De kans dat een bestandsstroom wordt opgenomen in de steekproef.

seed
Vereist
int

Een optioneel seed dat moet worden gebruikt voor de willekeurige generator.

Retouren

Type Description

Hiermee wordt een nieuw FileDataset-object geretourneerd dat de voorbeeldgegevensset vertegenwoordigt.

to_path

Haal een lijst met bestandspaden op voor elke bestandsstroom die is gedefinieerd door de gegevensset.

to_path()

Retouren

Type Description

Hiermee wordt een matrix met bestandspaden geretourneerd.

Opmerkingen

De bestandspaden zijn relatieve paden voor lokale bestanden wanneer de bestandsstreams worden gedownload of gekoppeld.

Een algemeen voorvoegsel wordt verwijderd uit de bestandspaden op basis van de wijze waarop de gegevensbron is opgegeven om de gegevensset te maken. Voorbeeld:


   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']