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.
|
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.
|
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.
|
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ě |
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
|
Cílová cesta na výpočetním prostředí, na které se mají data zpřístupnit. Default value: 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
|
Cílová cesta na výpočetním prostředí, na které se mají data zpřístupnit. 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ý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
|
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
|
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
|
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
|
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
|
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
|
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
|
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']