FileDataset Třída

Představuje kolekci odkazů na soubory v úložištích dat nebo veřejné adresy URL, které se mají použít ve službě Azure Machine Learning.

FileDataset definuje řadu líně vyhodnocených, neměnných operací pro načtení dat ze zdroje dat do datových proudů souborů. Data se nenačtou ze zdroje, dokud se nepožádá sada FileDataset o doručení dat.

FileDataset je vytvořen pomocí from_files metody FileDatasetFactory třídy.

Další informace najdete v článku Přidání & registrace datových sad. Pokud chcete začít pracovat se souborovou datovou sadou, přečtěte si téma https://aka.ms/filedataset-samplenotebook.

Inicializujte objekt FileDataset.

Tento konstruktor by neměl být vyvolán přímo. Datová sada se má vytvořit pomocí FileDatasetFactory třídy.

Dědičnost
FileDataset

Konstruktor

FileDataset()

Poznámky

FileDataset lze použít jako vstup spuštění experimentu. Můžete ho také zaregistrovat do pracovního prostoru se zadaným názvem a později ho načíst.

FileDataset může být subsetted vyvoláním různých metod podnastavení dostupných v této třídě. Výsledkem podnastavení je vždy nová sada FileDataset.

Ke skutečnému načítání dat dochází, když je fileDataset požádán o doručení dat do jiného mechanismu úložiště (např. souborů stažených nebo připojených k místní cestě).

Metody

as_cache

Poznámka

Jedná se o experimentální metodu, která se může kdykoli změnit. Další informace najdete tady: https://aka.ms/azuremlexperimental.

Vytvořte datacacheConsumptionConfig namapovanou na datacache_store a datovou sadu.

as_download

Vytvořte DatasetConsumptionConfig s režimem nastaveným ke stažení.

V odeslaném spuštění se soubory v datové sadě stáhnou do místní cesty na cílovém výpočetním objektu. Umístění ke stažení lze načíst z hodnot argumentů a pole input_datasets kontextu spuštění. Automaticky vygenerujeme název vstupu. Pokud chcete zadat vlastní název vstupu, zavolejte metodu 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

Nastavte režim na hdfs.

Při odeslaném spuštění Synapse se soubory v datových sadách převedou na místní cestu v cílovém výpočetním objektu. Cestu hdfs je možné načíst z hodnot argumentů a proměnných prostředí operačního systému.


   # 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

Vytvořte DatasetConsumptionConfig s režimem nastaveným na připojení.

V odeslaném spuštění se soubory v datových sadách připojí k místní cestě v cílovém výpočetním objektu. Přípojný bod lze načíst z hodnot argumentů a pole input_datasets kontextu spuštění. Automaticky vygenerujeme název vstupu. Pokud chcete zadat vlastní název vstupu, zavolejte metodu 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

Stáhněte datové proudy souborů definované datovou sadou jako místní soubory.

file_metadata

Poznámka

Jedná se o experimentální metodu, která se může kdykoli změnit. Další informace najdete tady: https://aka.ms/azuremlexperimental.

Získejte výraz metadat souboru zadáním názvu sloupce metadat.

Podporované sloupce metadat souborů jsou Size, LastModifiedTime, CreationTime, Extension a CanSeek.

filter

Poznámka

Jedná se o experimentální metodu, která se může kdykoli změnit. Další informace najdete tady: https://aka.ms/azuremlexperimental.

Filtrujte data a ponechte pouze záznamy, které odpovídají zadanému výrazu.

hydrate

Poznámka

Jedná se o experimentální metodu, která se může kdykoli změnit. Další informace najdete tady: https://aka.ms/azuremlexperimental.

Hydratujte datovou sadu do požadovaných replik uvedených v datacache_store.

mount

Vytvořte kontextový správce pro připojení datových proudů souborů definovaných datovou sadou jako místní soubory.

random_split

Rozdělte datové proudy souborů v datové sadě na dvě části náhodně a přibližně podle zadaného procenta.

První vrácená datová sada obsahuje přibližně percentage celkový počet odkazů na soubory a druhá datová sada obsahuje zbývající odkazy na soubory.

skip

Přeskočte datové proudy souborů z horní části datové sady podle zadaného počtu.

take

Vezměte si ukázku datových proudů souborů z horní části datové sady podle zadaného počtu.

take_sample

Vezměte náhodný vzorek datových proudů souborů v datové sadě přibližně podle zadané pravděpodobnosti.

to_path

Získejte seznam cest k souborům pro každý datový proud souborů definovaných datovou sadou.

as_cache

Poznámka

Jedná se o experimentální metodu, která se může kdykoli změnit. Další informace najdete tady: https://aka.ms/azuremlexperimental.

Vytvořte datacacheConsumptionConfig namapovanou na datacache_store a datovou sadu.

as_cache(datacache_store)

Parametry

Name Description
datacache_store
Vyžadováno

Úložiště mezipaměti dat, které se má použít k hydrataci.

Návraty

Typ Description

Objekt konfigurace popisující, jak by se měla mezipaměť dat materializovat při spuštění.

as_download

Vytvořte DatasetConsumptionConfig s režimem nastaveným ke stažení.

V odeslaném spuštění se soubory v datové sadě stáhnou do místní cesty na cílovém výpočetním objektu. Umístění ke stažení lze načíst z hodnot argumentů a pole input_datasets kontextu spuštění. Automaticky vygenerujeme název vstupu. Pokud chcete zadat vlastní název vstupu, zavolejte metodu 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)

Parametry

Name Description
path_on_compute
str

Cílová cesta na výpočetním prostředí, na které se mají data zpřístupnit.

výchozí hodnota: None

Poznámky

Když je datová sada vytvořená z cesty k jednomu souboru, umístěním ke stažení bude cesta k jednomu staženého souboru. V opačném případě bude umístěním ke stažení cesta k nadřazené složce pro všechny stažené soubory.

Pokud path_on_compute začíná na /, bude považován za absolutní cestu. Pokud nezačíná na /, bude považován za relativní cestu vzhledem k pracovnímu adresáři. Pokud jste zadali absolutní cestu, ujistěte se, že úloha má oprávnění k zápisu do daného adresáře.

as_hdfs

Nastavte režim na hdfs.

Při odeslaném spuštění Synapse se soubory v datových sadách převedou na místní cestu v cílovém výpočetním objektu. Cestu hdfs je možné načíst z hodnot argumentů a proměnných prostředí operačního systému.


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

Poznámky

Když se datová sada vytvoří z cesty k jednomu souboru, bude cesta hdfs cesta k jednomu souboru. V opačném případě bude cesta HDFS cesta k nadřazené složce pro všechny připojené soubory.

as_mount

Vytvořte DatasetConsumptionConfig s režimem nastaveným na připojení.

V odeslaném spuštění se soubory v datových sadách připojí k místní cestě v cílovém výpočetním objektu. Přípojný bod lze načíst z hodnot argumentů a pole input_datasets kontextu spuštění. Automaticky vygenerujeme název vstupu. Pokud chcete zadat vlastní název vstupu, zavolejte metodu 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)

Parametry

Name Description
path_on_compute
str

Cílová cesta na výpočetním prostředí, na které se mají data zpřístupnit.

výchozí hodnota: None

Poznámky

Při vytvoření datové sady z cesty k jednomu souboru bude přípojným bodem cesta k jednomu připojenému souboru. Jinak bude přípojným bodem cesta k ohraničující složce pro všechny připojené soubory.

Pokud path_on_compute začíná na /, bude považován za absolutní cestu. Pokud nezačíná na /, bude považován za relativní cestu vzhledem k pracovnímu adresáři. Pokud jste zadali absolutní cestu, ujistěte se, že úloha má oprávnění k zápisu do daného adresáře.

download

Stáhněte datové proudy souborů definované datovou sadou jako místní soubory.

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

Parametry

Name Description
target_path
Vyžadováno
str

Místní adresář, do který se mají soubory stáhnout. Pokud žádná, data se stáhnou do dočasného adresáře.

overwrite
Vyžadováno

Určuje, zda se mají přepsat existující soubory. Výchozí hodnota je Nepravda. Existující soubory budou přepsány, pokud je přepsání nastaveno na True; jinak bude vyvolána výjimka.

ignore_not_found
Vyžadováno

Označuje, jestli se stažení nezdaří, pokud se některé soubory odkazované datovou sadou nenajdou. Výchozí hodnota je Nepravda. Stahování selže, pokud jakýkoli soubor z nějakého důvodu selže, pokud je ignore_not_found nastavena na False; v opačném případě bude protokolován waring pro chyby nenalezena a dowload bude úspěšné, pokud nejsou zjištěny žádné jiné typy chyb.

Návraty

Typ Description

Vrátí pole cest k souborům pro každý stažený soubor.

Poznámky

Pokud target_path začíná na /, bude považován za absolutní cestu. Pokud nezačíná na /, bude považován za relativní cestu vzhledem k aktuálnímu pracovnímu adresáři.

file_metadata

Poznámka

Jedná se o experimentální metodu, která se může kdykoli změnit. Další informace najdete tady: https://aka.ms/azuremlexperimental.

Získejte výraz metadat souboru zadáním názvu sloupce metadat.

Podporované sloupce metadat souborů jsou Size, LastModifiedTime, CreationTime, Extension a CanSeek.

file_metadata(col)

Parametry

Name Description
col
Vyžadováno
str

Název sloupce

Návraty

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

Vrátí výraz, který načte hodnotu v zadaném sloupci.

filter

Poznámka

Jedná se o experimentální metodu, která se může kdykoli změnit. Další informace najdete tady: https://aka.ms/azuremlexperimental.

Filtrujte data a ponechte pouze záznamy, které odpovídají zadanému výrazu.

filter(expression)

Parametry

Name Description
expression
Vyžadováno
<xref:azureml.dataprep.api.expression.Expression>

Výraz, který se má vyhodnotit.

Návraty

Typ Description

Upravená datová sada (neregistrovaná).

Poznámky

Výrazy se spouští indexováním datové sady s názvem sloupce. Podporují různé funkce a operátory a dají se kombinovat pomocí logických operátorů. Výsledný výraz se bude líně vyhodnocovat pro každý záznam, když dojde k vyžádání dat, a ne tam, kde je definován.


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

hydrate

Poznámka

Jedná se o experimentální metodu, která se může kdykoli změnit. Další informace najdete tady: https://aka.ms/azuremlexperimental.

Hydratujte datovou sadu do požadovaných replik uvedených v datacache_store.

hydrate(datacache_store, replica_count=None)

Parametry

Name Description
datacache_store
Vyžadováno

Úložiště mezipaměti dat, které se má použít k hydrataci.

replica_count
Vyžadováno
<xref:Int>, <xref:optional>

Počet replik k hydrataci.

Návraty

Typ Description

Objekt konfigurace popisující, jak by se měla mezipaměť dat materializovat při spuštění.

mount

Vytvořte kontextový správce pro připojení datových proudů souborů definovaných datovou sadou jako místní soubory.

mount(mount_point=None, **kwargs)

Parametry

Name Description
mount_point
Vyžadováno
str

Místní adresář, ke které se mají soubory připojit. Pokud žádná, data se připojí k dočasnému adresáři, který můžete najít voláním MountContext.mount_point metody instance.

Návraty

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

Vrátí správce kontextu pro správu životního cyklu připojení.

Poznámky

Vrátí se správce kontextu umožňující spravovat životní cyklus připojení. K připojení budete muset zadat správce kontextu a odpojit ho, ukončit ho.

Připojení se podporuje pouze v operačních systémech Unix nebo na bázi systému Unix s nainstalovaným nativním balíčkem libfuse. Pokud používáte v kontejneru Dockeru, musí se kontejner dockeru spustit s příznakem –privileged nebo s –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

Pokud target_path začíná na /, bude považován za absolutní cestu. Pokud nezačíná na /, bude považován za relativní cestu vzhledem k aktuálnímu pracovnímu adresáři.

random_split

Rozdělte datové proudy souborů v datové sadě na dvě části náhodně a přibližně podle zadaného procenta.

První vrácená datová sada obsahuje přibližně percentage celkový počet odkazů na soubory a druhá datová sada obsahuje zbývající odkazy na soubory.

random_split(percentage, seed=None)

Parametry

Name Description
percentage
Vyžadováno

Přibližné procento, podle které chcete datovou sadu rozdělit. Musí to být číslo od 0,0 do 1,0.

seed
Vyžadováno
int

Volitelné seed, které se má použít pro náhodný generátor.

Návraty

Typ Description

Vrátí řazenou kolekci členů nových fileDataset objektů představujících dvě datové sady po rozdělení.

skip

Přeskočte datové proudy souborů z horní části datové sady podle zadaného počtu.

skip(count)

Parametry

Name Description
count
Vyžadováno
int

Počet datových proudů souborů, které se mají přeskočit.

Návraty

Typ Description

Vrátí nový objekt FileDataset představující datovou sadu s přeskočenými datovými proudy souborů.

take

Vezměte si ukázku datových proudů souborů z horní části datové sady podle zadaného počtu.

take(count)

Parametry

Name Description
count
Vyžadováno
int

Počet datových proudů souborů, které se mají vzít.

Návraty

Typ Description

Vrátí nový fileDataset objekt představující ukázkovou datovou sadu.

take_sample

Vezměte náhodný vzorek datových proudů souborů v datové sadě přibližně podle zadané pravděpodobnosti.

take_sample(probability, seed=None)

Parametry

Name Description
probability
Vyžadováno

Pravděpodobnost zahrnutí datového proudu souboru do vzorku

seed
Vyžadováno
int

Volitelné seed, které se má použít pro náhodný generátor.

Návraty

Typ Description

Vrátí nový fileDataset objekt představující ukázkovou datovou sadu.

to_path

Získejte seznam cest k souborům pro každý datový proud souborů definovaných datovou sadou.

to_path()

Návraty

Typ Description

Vrátí pole cest k souborům.

Poznámky

Cesty k souborům jsou relativní cesty pro místní soubory při stahování nebo připojení datových proudů souborů.

Z cest k souborům se odebere běžná předpona v závislosti na tom, jak byl zadán zdroj dat pro vytvoření datové sady. Příklad:


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