Dela via


FileDataset Klass

Representerar en samling filreferenser i datalager eller offentliga URL:er som ska användas i Azure Machine Learning.

En FileDataset definierar en serie lazily-utvärderade, oföränderliga åtgärder för att läsa in data från datakällan till filströmmar. Data läses inte in från källan förrän FileDataset uppmanas att leverera data.

En FileDataset skapas med hjälp from_files av metoden för klassen FileDatasetFactory.

Mer information finns i artikeln Lägg till & registrera datauppsättningar. Information om hur du kommer igång med en fildatauppsättning finns i https://aka.ms/filedataset-samplenotebook.

Initiera FileDataset-objektet.

Konstruktorn ska inte anropas direkt. Datauppsättningen är avsedd att skapas med hjälp av FileDatasetFactory klassen .

Arv
FileDataset

Konstruktor

FileDataset()

Kommentarer

FileDataset kan användas som indata för en experimentkörning. Den kan också registreras på arbetsytan med ett angivet namn och hämtas med det namnet senare.

FileDataset kan underordnas genom att anropa olika underinställningar som är tillgängliga i den här klassen. Resultatet av underinställningen är alltid en ny FileDataset.

Den faktiska datainläsningen sker när FileDataset uppmanas att leverera data till en annan lagringsmekanism (t.ex. filer som laddats ned eller monterats på en lokal sökväg).

Metoder

as_cache

Anteckning

Det här är en experimentell metod och kan ändras när som helst. Mer information finns i https://aka.ms/azuremlexperimental.

Skapa en DatacacheConsumptionConfig mappad till en datacache_store och en datauppsättning.

as_download

Skapa en DatasetConsumptionConfig med läget inställt på att laddas ned.

I den skickade körningen laddas filer i datauppsättningen ned till den lokala sökvägen i beräkningsmålet. Nedladdningsplatsen kan hämtas från argumentvärden och fältet input_datasets i körningskontexten. Vi genererar automatiskt ett indatanamn. Om du vill ange ett anpassat indatanamn anropar du metoden as_named_input.


   # 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

Ställ in läget på hdfs.

I den skickade Synapse-körningen konverteras filer i datauppsättningarna till en lokal sökväg i beräkningsmålet. Hdfs-sökvägen kan hämtas från argumentvärden och os-miljövariablerna.


   # 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

Skapa en DatasetConsumptionConfig med läget inställt på montering.

I den skickade körningen monteras filer i datauppsättningarna på den lokala sökvägen i beräkningsmålet. Monteringspunkten kan hämtas från argumentvärden och fältet input_datasets i körningskontexten. Vi genererar automatiskt ett indatanamn. Om du vill ange ett anpassat indatanamn anropar du metoden as_named_input.


   # 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

Ladda ned filströmmar som definieras av datauppsättningen som lokala filer.

file_metadata

Anteckning

Det här är en experimentell metod och kan ändras när som helst. Mer information finns i https://aka.ms/azuremlexperimental.

Hämta filmetadatauttryck genom att ange namnet på metadatakolumnen.

Filmetadatakolumner som stöds är Size, LastModifiedTime, CreationTime, Extension och CanSeek

filter

Anteckning

Det här är en experimentell metod och kan ändras när som helst. Mer information finns i https://aka.ms/azuremlexperimental.

Filtrera data och lämna endast de poster som matchar det angivna uttrycket.

hydrate

Anteckning

Det här är en experimentell metod och kan ändras när som helst. Mer information finns i https://aka.ms/azuremlexperimental.

Hydratera datauppsättningen i de begärda replikerna som anges i datacache_store.

mount

Skapa en kontexthanterare för montering av filströmmar som definieras av datauppsättningen som lokala filer.

random_split

Dela upp filströmmar i datauppsättningen i två delar slumpmässigt och ungefär enligt den procentandel som anges.

Den första datauppsättningen som returneras innehåller ungefär percentage det totala antalet filreferenser och den andra datamängden innehåller de återstående filreferenserna.

skip

Hoppa över filströmmar överst i datauppsättningen med det angivna antalet.

take

Ta ett exempel på filströmmar överst i datamängden med det angivna antalet.

take_sample

Ta ett slumpmässigt urval av filströmmar i datamängden ungefär med den angivna sannolikheten.

to_path

Hämta en lista över filsökvägar för varje filström som definieras av datauppsättningen.

as_cache

Anteckning

Det här är en experimentell metod och kan ändras när som helst. Mer information finns i https://aka.ms/azuremlexperimental.

Skapa en DatacacheConsumptionConfig mappad till en datacache_store och en datauppsättning.

as_cache(datacache_store)

Parametrar

Name Description
datacache_store
Obligatorisk

Det datacachelager som ska användas för att hydratisera.

Returer

Typ Description

Konfigurationsobjektet som beskriver hur datacache ska materialiseras i körningen.

as_download

Skapa en DatasetConsumptionConfig med läget inställt på att laddas ned.

I den skickade körningen laddas filer i datauppsättningen ned till den lokala sökvägen i beräkningsmålet. Nedladdningsplatsen kan hämtas från argumentvärden och fältet input_datasets i körningskontexten. Vi genererar automatiskt ett indatanamn. Om du vill ange ett anpassat indatanamn anropar du metoden as_named_input.


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

Parametrar

Name Description
path_on_compute
str

Målsökvägen för beräkningen för att göra data tillgängliga på.

Standardvärde: None

Kommentarer

När datauppsättningen skapas från sökvägen till en enda fil är nedladdningsplatsen sökvägen till den nedladdade filen. Annars är nedladdningsplatsen sökvägen till den omslutande mappen för alla nedladdade filer.

Om path_on_compute börjar med en /, behandlas den som en absolut sökväg. Om den inte börjar med en /behandlas den som en relativ sökväg i förhållande till arbetskatalogen. Om du har angett en absolut sökväg kontrollerar du att jobbet har behörighet att skriva till katalogen.

as_hdfs

Ställ in läget på hdfs.

I den skickade Synapse-körningen konverteras filer i datauppsättningarna till en lokal sökväg i beräkningsmålet. Hdfs-sökvägen kan hämtas från argumentvärden och os-miljövariablerna.


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

Kommentarer

När datauppsättningen skapas från sökvägen till en enda fil är hdfs-sökvägen sökvägen till den enskilda filen. Annars är hdfs-sökvägen sökvägen till den omslutande mappen för alla monterade filer.

as_mount

Skapa en DatasetConsumptionConfig med läget inställt på montering.

I den skickade körningen monteras filer i datauppsättningarna på den lokala sökvägen i beräkningsmålet. Monteringspunkten kan hämtas från argumentvärden och fältet input_datasets i körningskontexten. Vi genererar automatiskt ett indatanamn. Om du vill ange ett anpassat indatanamn anropar du metoden as_named_input.


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

Parametrar

Name Description
path_on_compute
str

Målsökvägen för beräkningen för att göra data tillgängliga på.

Standardvärde: None

Kommentarer

När datauppsättningen skapas från sökvägen till en enda fil är monteringspunkten sökvägen till den enda monterade filen. Annars är monteringspunkten sökvägen till den omslutande mappen för alla monterade filer.

Om path_on_compute börjar med en /, behandlas den som en absolut sökväg. Om den inte börjar med en /behandlas den som en relativ sökväg i förhållande till arbetskatalogen. Om du har angett en absolut sökväg kontrollerar du att jobbet har behörighet att skriva till katalogen.

download

Ladda ned filströmmar som definieras av datauppsättningen som lokala filer.

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

Parametrar

Name Description
target_path
Obligatorisk
str

Den lokala katalogen som filerna ska laddas ned till. Om Ingen laddas data ned till en tillfällig katalog.

overwrite
Obligatorisk

Anger om befintliga filer ska skrivas över. Standardvärdet är Falskt. Befintliga filer skrivs över om överskrivning har angetts till Sant. annars utlöses ett undantag.

ignore_not_found
Obligatorisk

Anger om nedladdningen misslyckas om vissa filer som pekar på av datauppsättningen inte hittas. Standardvärdet är Falskt. Nedladdningen misslyckas om någon filnedladdning misslyckas av någon anledning om ignore_not_found är inställd på Falskt. annars loggas en waring för fel som inte hittas och dowload lyckas så länge inga andra feltyper påträffas.

Returer

Typ Description

Returnerar en matris med filsökvägar för varje fil som laddas ned.

Kommentarer

Om target_path börjar med en /, behandlas den som en absolut sökväg. Om den inte börjar med en /behandlas den som en relativ sökväg i förhållande till den aktuella arbetskatalogen.

file_metadata

Anteckning

Det här är en experimentell metod och kan ändras när som helst. Mer information finns i https://aka.ms/azuremlexperimental.

Hämta filmetadatauttryck genom att ange namnet på metadatakolumnen.

Filmetadatakolumner som stöds är Size, LastModifiedTime, CreationTime, Extension och CanSeek

file_metadata(col)

Parametrar

Name Description
col
Obligatorisk
str

Namn på kolumn

Returer

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

Returnerar ett uttryck som hämtar värdet i den angivna kolumnen.

filter

Anteckning

Det här är en experimentell metod och kan ändras när som helst. Mer information finns i https://aka.ms/azuremlexperimental.

Filtrera data och lämna endast de poster som matchar det angivna uttrycket.

filter(expression)

Parametrar

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

Uttrycket som ska utvärderas.

Returer

Typ Description

Den ändrade datauppsättningen (oregistrerad).

Kommentarer

Uttryck startas genom att indexera datauppsättningen med namnet på en kolumn. De stöder en mängd olika funktioner och operatorer och kan kombineras med logiska operatorer. Det resulterande uttrycket utvärderas lättsinnigt för varje post när en datahämtning sker och inte där den definieras.


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

hydrate

Anteckning

Det här är en experimentell metod och kan ändras när som helst. Mer information finns i https://aka.ms/azuremlexperimental.

Hydratera datauppsättningen i de begärda replikerna som anges i datacache_store.

hydrate(datacache_store, replica_count=None)

Parametrar

Name Description
datacache_store
Obligatorisk

Det datacachelager som ska användas för att hydratisera.

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

Antal repliker som ska hydratiseras.

Returer

Typ Description

Konfigurationsobjektet som beskriver hur datacache ska materialiseras i körningen.

mount

Skapa en kontexthanterare för montering av filströmmar som definieras av datauppsättningen som lokala filer.

mount(mount_point=None, **kwargs)

Parametrar

Name Description
mount_point
Obligatorisk
str

Den lokala katalogen som filerna ska monteras på. Om Ingen monteras data i en tillfällig katalog, som du hittar genom att anropa instansmetoden MountContext.mount_point .

Returer

Typ 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.>

Returnerar en kontexthanterare för att hantera monteringens livscykel.

Kommentarer

En kontexthanterare returneras för att hantera monteringens livscykel. Om du vill montera måste du ange kontexthanteraren och avmontera genom att avsluta från kontexthanteraren.

Montering stöds endast på Unix-operativsystem eller Unix-liknande operativsystem med det interna paketet libfuse installerat. Om du kör i en Docker-container måste docker-containern startas med flaggan –privileged eller started with –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

Om target_path börjar med en /, behandlas den som en absolut sökväg. Om den inte börjar med en /, behandlas den som en relativ sökväg i förhållande till den aktuella arbetskatalogen.

random_split

Dela upp filströmmar i datauppsättningen i två delar slumpmässigt och ungefär enligt den procentandel som anges.

Den första datauppsättningen som returneras innehåller ungefär percentage det totala antalet filreferenser och den andra datamängden innehåller de återstående filreferenserna.

random_split(percentage, seed=None)

Parametrar

Name Description
percentage
Obligatorisk

Den ungefärliga procentandelen som datauppsättningen ska delas med. Detta måste vara ett tal mellan 0,0 och 1,0.

seed
Obligatorisk
int

Ett valfritt startvärde som ska användas för slumpgeneratorn.

Returer

Typ Description

Returnerar en tuppla med nya FileDataset-objekt som representerar de två datauppsättningarna efter delningen.

skip

Hoppa över filströmmar överst i datauppsättningen med det angivna antalet.

skip(count)

Parametrar

Name Description
count
Obligatorisk
int

Antalet filströmmar som ska hoppa över.

Returer

Typ Description

Returnerar ett nytt FileDataset-objekt som representerar en datauppsättning med överhoppade filströmmar.

take

Ta ett exempel på filströmmar överst i datamängden med det angivna antalet.

take(count)

Parametrar

Name Description
count
Obligatorisk
int

Antalet filströmmar som ska utföras.

Returer

Typ Description

Returnerar ett nytt FileDataset-objekt som representerar den samplade datamängden.

take_sample

Ta ett slumpmässigt urval av filströmmar i datamängden ungefär med den angivna sannolikheten.

take_sample(probability, seed=None)

Parametrar

Name Description
probability
Obligatorisk

Sannolikheten för att en filström inkluderas i exemplet.

seed
Obligatorisk
int

Ett valfritt startvärde som ska användas för slumpgeneratorn.

Returer

Typ Description

Returnerar ett nytt FileDataset-objekt som representerar den samplade datamängden.

to_path

Hämta en lista över filsökvägar för varje filström som definieras av datauppsättningen.

to_path()

Returer

Typ Description

Returnerar en matris med filsökvägar.

Kommentarer

Filsökvägarna är relativa sökvägar för lokala filer när filströmmarna laddas ned eller monteras.

Ett vanligt prefix tas bort från filsökvägarna baserat på hur datakällan angavs för att skapa datauppsättningen. Exempel:


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