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 ladda ned.

I den skickade körningen laddas filer i datauppsättningen 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_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 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']
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.

Fukta 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

datacache_store
DatacacheStore
Obligatorisk

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

Returer

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

Returtyp

as_download

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

I den skickade körningen laddas filer i datauppsättningen 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

path_on_compute
str
standardvärde: None

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

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 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 den 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 enskild 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 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

path_on_compute
str
standardvärde: None

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

Kommentarer

När datauppsättningen skapas från sökvägen till en enskild 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 den 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

target_path
str
Obligatorisk

Den lokala katalog som filerna ska laddas ned till. Om inga data hämtas till en tillfällig katalog.

overwrite
bool
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
bool
Obligatorisk

Anger om nedladdningen misslyckas om vissa filer som datauppsättningen pekar på inte hittas. Standardvärdet är False. Nedladdningen misslyckas om någon filhämtning misslyckas av någon anledning om ignore_not_found har angetts till Falskt. Annars loggas en waring för fel som inte hittas och dowload lyckas så länge inga andra feltyper påträffas.

Returer

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

Returtyp

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

col
str
Obligatorisk

Namn på kolumn

Returer

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

Returtyp

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

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

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

Uttrycket som ska utvärderas.

Returer

Den ändrade datauppsättningen (avregistrerad).

Returtyp

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

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

hydrate(datacache_store, replica_count=None)

Parametrar

datacache_store
DatacacheStore
Obligatorisk

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

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

Antal repliker som ska återfuktas.

Returer

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

Returtyp

mount

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

mount(mount_point=None, **kwargs)

Parametrar

mount_point
str
Obligatorisk

Den lokala katalog som filerna ska monteras på. Om det är Ingen monteras data i en tillfällig katalog, som du kan hitta genom att anropa metoden MountContext.mount_point-instans .

Returer

Returnerar en kontexthanterare för att hantera monteringens livscykel.

Returtyp

<xref:<xref:MountContext: the context manager. Upon entering the context manager>, <xref:the dataflow will bemounted to the mount_point. Upon exit>, <xref:it will remove the mount point and clean up the daemon processused to mount the dataflow.>>

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

percentage
float
Obligatorisk

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

seed
int
Obligatorisk

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

Returer

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

Returtyp

skip

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

skip(count)

Parametrar

count
int
Obligatorisk

Antalet filströmmar som ska hoppa över.

Returer

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

Returtyp

take

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

take(count)

Parametrar

count
int
Obligatorisk

Antalet filströmmar som ska utföras.

Returer

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

Returtyp

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

probability
float
Obligatorisk

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

seed
int
Obligatorisk

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

Returer

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

Returtyp

to_path

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

to_path()

Returer

Returnerar en matris med filsökvägar.

Returtyp

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