FileDataset Třída
Představuje kolekci odkazů na soubory v úložištích dat nebo veřejných adresÁCH URL, které se mají použít ve službě Azure Machine Learning.
FileDataset definuje řadu lazily 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 nezobrazí výzva k doručení dat FileDataset.
FileDataset je vytvořen pomocí from_files metody FileDatasetFactory třídy.
Další informace najdete v článku Přidání a 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.
Inicializace FileDataset objektu.
Tento konstruktor by neměl být vyvolán přímo. Datová sada je určená k vytvoření pomocí FileDatasetFactory třídy.
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 subsetting dostupných v této třídě. Výsledkem podnastavení je vždy nová sada FileDataset.
Skutečné načítání dat nastane, když se fileDataset požádá o doručení dat do jiného mechanismu úložiště (např. soubory stažené nebo připojené k místní cestě).
Metody
| as_cache |
Poznámka: Jedná se o experimentální metodu a může se kdykoli změnit. Další informace najdete tady: https://aka.ms/acr/connected-registry. Vytvořte datacacheConsumptionConfig namapovanou na datacache_store a datovou sadu. |
| as_download |
Vytvořte DatasetConsumptionConfig s režimem nastaveným ke stažení. Při odeslaném spuštění se soubory v datové sadě stáhnou do místní cesty v cílovém výpočetním objektu. Umístění stahování lze načíst z hodnot argumentů a pole input_datasets kontextu spuštění. Automaticky vygenerujeme vstupní název. 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í. Při 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í název vstupu, zavolejte metodu as_named_input.
|
| download |
Stáhněte si streamy souborů definované datovou sadou jako místní soubory. |
| file_metadata |
Poznámka: Jedná se o experimentální metodu a může se kdykoli změnit. Další informace najdete tady: https://aka.ms/acr/connected-registry. Získejte výraz metadat souboru zadáním názvu sloupce metadat. Podporované sloupce metadat souborů jsou Velikost, LastModifiedTime, CreationTime, Extension a CanSeek. |
| filter |
Poznámka: Jedná se o experimentální metodu a může se kdykoli změnit. Další informace najdete tady: https://aka.ms/acr/connected-registry. Vyfiltrujte data a ponechte jenom záznamy, které odpovídají zadanému výrazu. |
| hydrate |
Poznámka: Jedná se o experimentální metodu a může se kdykoli změnit. Další informace najdete tady: https://aka.ms/acr/connected-registry. Hydratujte datovou sadu do požadovaných replik zadaný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 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 definovaný datovou sadou. |
as_cache
Poznámka:
Jedná se o experimentální metodu a může se kdykoli změnit. Další informace najdete tady: https://aka.ms/acr/connected-registry.
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í, jak má být datacache materializována při spuštění. |
as_download
Vytvořte DatasetConsumptionConfig s režimem nastaveným ke stažení.
Při odeslaném spuštění se soubory v datové sadě stáhnou do místní cesty v cílovém výpočetním objektu. Umístění stahování lze načíst z hodnot argumentů a pole input_datasets kontextu spuštění. Automaticky vygenerujeme vstupní název. 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ích prostředcích, aby byla data k dispozici na adrese. Default value: None
|
Poznámky
Když se datová sada vytvoří z cesty jednoho souboru, umístění pro stažení bude cesta jednoho staženého souboru. V opačném případě bude umístění pro stahování cesta k ohraničující složce pro všechny stažené soubory.
Pokud path_on_compute začíná řetězcem /, bude považován za absolutní cestu. Pokud nezačíná na /, bude se považovat za relativní cestu relativní 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 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 jednoho souboru, cesta hdfs bude cesta jednoho souboru. Jinak cesta hdfs bude 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í.
Při 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í 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ích prostředcích, aby byla data k dispozici na adrese. Default value: None
|
Poznámky
Když se datová sada vytvoří z cesty jednoho souboru, přípojný bod bude cesta k jednomu připojenému souboru. Jinak bude přípojný bod cesta k nadřazené složce pro všechny připojené soubory.
Pokud path_on_compute začíná řetězcem /, bude považován za absolutní cestu. Pokud nezačíná na /, bude se považovat za relativní cestu relativní 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 si streamy 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ář pro stažení souborů do. Pokud žádná, data se stáhnou do dočasného adresáře. |
|
overwrite
Vyžadováno
|
Určuje, zda chcete přepsat existující soubory. Výchozí hodnota je False. 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 nepodaří stáhnout některé soubory odkazované na datovou sadu. Výchozí hodnota je False. Stahování selže, pokud se z nějakého důvodu nepodaří stáhnout nějaký soubor, pokud je ignore_not_found nastavena na False; jinak bude zaprotokolován waring pro nenalezené chyby a dowload bude úspěšný, pokud nebudou 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á řetězcem /, 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 a může se kdykoli změnit. Další informace najdete tady: https://aka.ms/acr/connected-registry.
Získejte výraz metadat souboru zadáním názvu sloupce metadat.
Podporované sloupce metadat souborů jsou Velikost, 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 a může se kdykoli změnit. Další informace najdete tady: https://aka.ms/acr/connected-registry.
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 (zrušená registrace) |
Poznámky
Výrazy se spouští indexováním datové sady s názvem sloupce. Podporují různé funkce a operátory a lze je kombinovat pomocí logických operátorů. Výsledný výraz se bude líně vyhodnocovat 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 a může se kdykoli změnit. Další informace najdete tady: https://aka.ms/acr/connected-registry.
Hydratujte datovou sadu do požadovaných replik zadaný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 na hydrataci. |
Návraty
| Typ | Description |
|---|---|
|
Objekt konfigurace popisující, jak má být datacache materializována 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ář pro připojení souborů. Pokud none, data budou připojena do dočasného adresáře, který můžete najít voláním MountContext.mount_point instance metoda. |
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í. Pokud chcete připojení připojit, budete muset zadat správce kontextu a odpojit ho, ukončit ho od správce kontextu.
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 běžíte uvnitř kontejneru Dockeru, musí být kontejner Dockeru spuštěný pomocí příznaku -privileged nebo spuštěním příkazu –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á řetězcem /, 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 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 soubor 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 rozdělení datové sady podle. Musí to být číslo od 0,0 do 1,0. |
|
seed
Vyžadováno
|
Volitelná počáteční hodnota, která se použije pro náhodný generátor. |
Návraty
| Typ | Description |
|---|---|
|
Vrátí řazenou kolekci nových objektů FileDataset představujících 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é chcete 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í vzít. |
Návraty
| Typ | Description |
|---|---|
|
Vrátí nový objekt FileDataset 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, že se do vzorku zahrne datový proud souboru. |
|
seed
Vyžadováno
|
Volitelná počáteční hodnota, která se použije pro náhodný generátor. |
Návraty
| Typ | Description |
|---|---|
|
Vrátí nový objekt FileDataset představující ukázkovou datovou sadu. |
to_path
Získejte seznam cest k souborům pro každý datový proud 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 na základě způsobu zadání zdroje dat pro vytvoření datové sady. Napří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']