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