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 from_files hjälp av metoden för klassen FileDatasetFactory.
Mer information finns i artikeln Lägg till och registrera datamängder. 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.
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 underuppsättningsmetoder som är tillgängliga i den här klassen. Resultatet av delmängden ä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å den lokala sökvägen).
Metoder
| as_cache |
Anmärkning Det här är en experimentell metod och kan ändras när som helst. Mer information finns i https://aka.ms/acr/connected-registry. Skapa en DatacacheConsumptionConfig mappad till en datacache_store och en datauppsättning. |
| as_download |
Skapa en DatasetConsumptionConfig med läget inställt på nedladdning. I den skickade körningen laddas filer i datamängden ned till den lokala sökvägen på 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 |
Ange läget till hdfs. I den skickade synapsen 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 på 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 |
Anmärkning Det här är en experimentell metod och kan ändras när som helst. Mer information finns i https://aka.ms/acr/connected-registry. Hämta filmetadatauttryck genom att ange namnet på metadatakolumnen. Filmetadatakolumner som stöds är Size, LastModifiedTime, CreationTime, Extension och CanSeek |
| filter |
Anmärkning Det här är en experimentell metod och kan ändras när som helst. Mer information finns i https://aka.ms/acr/connected-registry. Filtrera data och lämna endast de poster som matchar det angivna uttrycket. |
| hydrate |
Anmärkning Det här är en experimentell metod och kan ändras när som helst. Mer information finns i https://aka.ms/acr/connected-registry. Hydratisera datamängden 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 datamängden i två delar slumpmässigt och ungefär efter den angivna procentandelen. Den första datamängden som returneras innehåller ungefär |
| skip |
Hoppa över filströmmar överst i datamängden 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
Anmärkning
Det här är en experimentell metod och kan ändras när som helst. Mer information finns i https://aka.ms/acr/connected-registry.
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å nedladdning.
I den skickade körningen laddas filer i datamängden ned till den lokala sökvägen på 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 enda 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 ett /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
Ange läget till hdfs.
I den skickade synapsen 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 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 på 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 ett /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 katalog 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 False. Befintliga filer skrivs över om överskrivning har angetts till Sant. annars utlöses ett undantag. |
|
ignore_not_found
Obligatorisk
|
Anger om nedladdningen ska misslyckas om vissa filer som pekas på av datauppsättningen inte hittas. Standardvärdet är False. Nedladdningen misslyckas om någon filhämtning misslyckas av någon anledning om ignore_not_found är inställd på False. 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
Anmärkning
Det här är en experimentell metod och kan ändras när som helst. Mer information finns i https://aka.ms/acr/connected-registry.
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
Anmärkning
Det här är en experimentell metod och kan ändras när som helst. Mer information finns i https://aka.ms/acr/connected-registry.
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 datamängden (avregistrerad). |
Kommentarer
Uttryck startas genom att datauppsättningen indexeras med namnet på en kolumn. De stöder en mängd olika funktioner och operatorer och kan kombineras med hjälp av logiska operatorer. Det resulterande uttrycket utvärderas lättsinnigt för varje post när en datahämtning inträffar och inte där den definieras.
(dataset.file_metadata('Size') > 10000) & (dataset.file_metadata('CanSeek') == True)
dataset.file_metadata('Extension').starts_with('j')
hydrate
Anmärkning
Det här är en experimentell metod och kan ändras när som helst. Mer information finns i https://aka.ms/acr/connected-registry.
Hydratisera datamängden 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 katalog som filerna ska monteras på. Om Ingen monteras data i en tillfällig katalog, som du kan hitta genom att anropa metoden MountContext.mount_point instans. |
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 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 startas med –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 datamängden i två delar slumpmässigt och ungefär efter den angivna procentandelen.
Den första datamängden som returneras innehåller ungefär percentage det totala antalet filreferenser och den andra datauppsättningen innehåller de återstående filreferenserna.
random_split(percentage, seed=None)
Parametrar
| Name | Description |
|---|---|
|
percentage
Obligatorisk
|
Den ungefärliga procentandelen som datamängden ska delas med. Det måste vara ett tal mellan 0,0 och 1,0. |
|
seed
Obligatorisk
|
Ett valfritt frö som ska användas för den slumpmässiga generatorn. |
Returer
| Typ | Description |
|---|---|
|
Returnerar en tupplar med nya FileDataset-objekt som representerar de två datauppsättningarna efter delningen. |
skip
Hoppa över filströmmar överst i datamängden 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 att ta. |
Returer
| Typ | Description |
|---|---|
|
Returnerar ett nytt FileDataset-objekt som representerar den exempeldatauppsättningen. |
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 frö som ska användas för den slumpmässiga generatorn. |
Returer
| Typ | Description |
|---|---|
|
Returnerar ett nytt FileDataset-objekt som representerar den exempeldatauppsättningen. |
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. Till 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']