Sdílet prostřednictvím


FileDataset Třída

Představuje kolekci odkazů na soubory v úložištích dat nebo veřejných adresÁCH URL pro použití ve službě Azure Machine Learning.

FileDataset definuje řadu líně vyhodnocených, neměnných operací, které načtou data ze zdroje dat do datových proudů souborů. Data se nenačtou ze zdroje, dokud se nezobrazí výzva k doručení dat FileDataset.

FileDataset je vytvořena 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 se dá použít jako vstup při spuštění experimentu. Je také možné ho zaregistrovat v pracovním prostoru se zadaným názvem a později ho načíst.

FileDataset lze podsetovat vyvoláním různých podnabídek, které jsou k dispozici v této třídě. Výsledkem podnastavení je vždy nová sada FileDataset.

Ke skutečnému načítání dat dojde, když je sada FileDataset požádána 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 na stahování.

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

Vyfiltrujte data a ponechte jenom 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 správce kontextu 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 streamy souborů z horní části datové sady podle zadaného počtu.

take

Vezměte 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ý 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ě dat, které se má použít k hydrataci.

Návraty

Typ Description

Objekt konfigurace popisující způsob materializace mezipaměti datacache při spuštění.

as_download

Vytvořte DatasetConsumptionConfig s režimem nastaveným na stahování.

V odeslaném spuštění se soubory v datové sadě stáhnou do místní cesty ve výpočetním cíli. Umístění ke stažení lze načíst z hodnot argumentů a pole input_datasets kontextu spuštění. Automaticky vygenerujeme vstupní název. Pokud chcete zadat vlastní vstupní název, 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 ve výpočetním prostředí pro zpřístupnění dat

Default value: None

Poznámky

Při vytvoření datové sady z cesty k jednomu souboru bude umístěním pro stažení cesta k jednomu staženého souboru. Jinak bude umístěním ke stažení cesta k ohraničující 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 má úloha 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 ve výpočetním cíli. 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

Při vytvoření datové sady z cesty k jednomu souboru bude cesta hdfs cesta k jednomu souboru. V opačném případě bude cesta hdfs cesta k ohraničující 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 vstupní název. Pokud chcete zadat vlastní vstupní název, 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 ve výpočetním prostředí pro zpřístupnění dat

Default value: 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ý bod 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 má úloha 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ý chcete soubory stáhnout. Pokud žádné, data se stáhnou do dočasného adresáře.

overwrite
Vyžadováno

Určuje, jestli 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 Hodnotu True; jinak bude vyvolána výjimka.

ignore_not_found
Vyžadováno

Označuje, jestli se stahování nezdaří, pokud nejsou nalezeny některé soubory, na které datová sada odkazuje. Výchozí hodnota je Nepravda. Stahování se nezdaří, pokud stahování souboru z nějakého důvodu selže, pokud je ignore_not_found nastavena na Hodnotu False; v opačném případě bude protokolován waring pro nenalezené chyby 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.

Vyfiltrujte data a ponechte jenom 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 (registrace se zrušila).

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 bude líně vyhodnocen pro každý záznam, když dojde k načtení 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ě dat, které se má použít k hydrataci.

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

Počet replik, které se mají hydratovat.

Návraty

Typ Description

Objekt konfigurace popisující způsob materializace mezipaměti datacache při spuštění.

mount

Vytvořte správce kontextu 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é se má datová sada rozdělit. Musí to být číslo mezi 0,0 a 1,0.

seed
Vyžadováno
int

Volitelná počáteční hodnota, která se použije pro generátor náhodných.

Návraty

Typ Description

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

skip

Přeskočte streamy 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 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í provést.

Návraty

Typ Description

Vrátí nový objekt FileDataset představující vzorkovanou 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á počáteční hodnota, která se použije pro generátor náhodných.

Návraty

Typ Description

Vrátí nový objekt FileDataset představující vzorkovanou datovou sadu.

to_path

Získejte seznam cest k souborům pro každý datový proud souborů definovaný 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']