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