FileDataset Classe
Rappresenta una raccolta di riferimenti ai file negli archivi dati o negli URL pubblici da usare in Azure Machine Learning.
Un FileDataset definisce una serie di operazioni valutate in modo non modificabile per caricare i dati dall'origine dati nei flussi di file. I dati non vengono caricati dall'origine finché Non viene richiesto a FileDataset di recapitare i dati.
Viene creato un FileDataset usando il from_files metodo della classe FileDatasetFactory.
Per altre informazioni, vedere l'articolo Aggiungere set di dati di registrazione &. Per iniziare a usare un set di dati di file, vedere https://aka.ms/filedataset-samplenotebook.
Inizializzare l'oggetto FileDataset.
Questo costruttore non dovrebbe essere richiamato direttamente. Il set di dati deve essere creato usando FileDatasetFactory la classe .
- Ereditarietà
-
FileDataset
Costruttore
FileDataset()
Commenti
FileDataset può essere usato come input di un'esecuzione dell'esperimento. Può anche essere registrato nell'area di lavoro con un nome specificato e essere recuperato in seguito da tale nome.
FileDataset può essere sottoinsieme richiamando diversi metodi di sottoinsieme disponibili in questa classe. Il risultato della sottoinsieme è sempre un nuovo FileDataset.
Il caricamento effettivo dei dati si verifica quando viene richiesto a FileDataset di distribuire i dati in un altro meccanismo di archiviazione(ad esempio i file scaricati o montati nel percorso locale).
Metodi
as_cache |
Nota Si tratta di un metodo sperimentale e può cambiare in qualsiasi momento. Per altre informazioni, vedere https://aka.ms/azuremlexperimental. Creare un oggetto DatacacheConsumptionConfig mappato a un datacache_store e a un set di dati. |
as_download |
Creare un set di datiConsumptionConfig con la modalità impostata per il download. Nell'esecuzione inviata, i file nel set di dati verranno scaricati nel percorso locale nella destinazione di calcolo. Il percorso di download può essere recuperato dai valori degli argomenti e dal campo input_datasets del contesto di esecuzione. Verrà generato automaticamente un nome di input. Se si vuole specificare un nome di input personalizzato, chiamare il metodo as_named_input.
|
as_hdfs |
Impostare la modalità su hdfs. Nell'esecuzione di synapse inviata i file nei set di dati verranno convertiti nel percorso locale nella destinazione di calcolo. Il percorso hdfs può essere recuperato dai valori degli argomenti e dalle variabili di ambiente del sistema operativo.
|
as_mount |
Creare un set di datiConsumptionConfig con la modalità impostata su montaggio. Nell'esecuzione inviata i file nei set di dati verranno montati nel percorso locale nella destinazione di calcolo. Il punto di montaggio può essere recuperato dai valori degli argomenti e dal campo input_datasets del contesto di esecuzione. Verrà generato automaticamente un nome di input. Se si vuole specificare un nome di input personalizzato, chiamare il metodo as_named_input.
|
download |
Scaricare i flussi di file definiti dal set di dati come file locali. |
file_metadata |
Nota Si tratta di un metodo sperimentale e può cambiare in qualsiasi momento. Per altre informazioni, vedere https://aka.ms/azuremlexperimental. Ottenere l'espressione dei metadati dei file specificando il nome della colonna dei metadati. Le colonne di metadati dei file supportate sono Size, LastModifiedTime, CreationTime, Extension e CanSeek |
filter |
Nota Si tratta di un metodo sperimentale e può cambiare in qualsiasi momento. Per altre informazioni, vedere https://aka.ms/azuremlexperimental. Filtrare i dati, lasciando solo i record corrispondenti all'espressione specificata. |
hydrate |
Nota Si tratta di un metodo sperimentale e può cambiare in qualsiasi momento. Per altre informazioni, vedere https://aka.ms/azuremlexperimental. Idratare il set di dati nelle repliche richieste specificate in datacache_store. |
mount |
Creare una gestione contesto per il montaggio di flussi di file definiti dal set di dati come file locali. |
random_split |
Suddividere i flussi di file nel set di dati in due parti in modo casuale e approssimativamente in base alla percentuale specificata. Il primo set di dati restituito contiene circa |
skip |
Ignorare i flussi di file dall'inizio del set di dati dal conteggio specificato. |
take |
Eseguire un esempio di flussi di file dall'inizio del set di dati dal conteggio specificato. |
take_sample |
Eseguire un esempio casuale di flussi di file nel set di dati approssimativamente in base alla probabilità specificata. |
to_path |
Ottenere un elenco di percorsi di file per ogni flusso di file definito dal set di dati. |
as_cache
Nota
Si tratta di un metodo sperimentale e può cambiare in qualsiasi momento. Per altre informazioni, vedere https://aka.ms/azuremlexperimental.
Creare un oggetto DatacacheConsumptionConfig mappato a un datacache_store e a un set di dati.
as_cache(datacache_store)
Parametri
Nome | Descrizione |
---|---|
datacache_store
Necessario
|
Datacachestore da usare per l'idratazione. |
Restituisce
Tipo | Descrizione |
---|---|
Oggetto di configurazione che descrive il modo in cui la datacache deve essere materializzata nell'esecuzione. |
as_download
Creare un set di datiConsumptionConfig con la modalità impostata per il download.
Nell'esecuzione inviata, i file nel set di dati verranno scaricati nel percorso locale nella destinazione di calcolo. Il percorso di download può essere recuperato dai valori degli argomenti e dal campo input_datasets del contesto di esecuzione. Verrà generato automaticamente un nome di input. Se si vuole specificare un nome di input personalizzato, chiamare il metodo 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)
Parametri
Nome | Descrizione |
---|---|
path_on_compute
|
Percorso di destinazione nel calcolo in cui rendere disponibili i dati. Valore predefinito: None
|
Commenti
Quando il set di dati viene creato dal percorso di un singolo file, il percorso di download sarà il percorso del singolo file scaricato. In caso contrario, il percorso di download sarà il percorso della cartella racchiusa per tutti i file scaricati.
Se path_on_compute inizia con un oggetto /, verrà considerato come un percorso assoluto. Se non inizia con un /, verrà considerato come percorso relativo rispetto alla directory di lavoro. Se è stato specificato un percorso assoluto, assicurarsi che il processo disponga dell'autorizzazione per la scrittura in tale directory.
as_hdfs
Impostare la modalità su hdfs.
Nell'esecuzione di synapse inviata i file nei set di dati verranno convertiti nel percorso locale nella destinazione di calcolo. Il percorso hdfs può essere recuperato dai valori degli argomenti e dalle variabili di ambiente del sistema operativo.
# 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()
Commenti
Quando il set di dati viene creato dal percorso di un singolo file, il percorso hdfs sarà il percorso del singolo file. In caso contrario, il percorso hdfs sarà il percorso della cartella racchiusa per tutti i file montati.
as_mount
Creare un set di datiConsumptionConfig con la modalità impostata su montaggio.
Nell'esecuzione inviata i file nei set di dati verranno montati nel percorso locale nella destinazione di calcolo. Il punto di montaggio può essere recuperato dai valori degli argomenti e dal campo input_datasets del contesto di esecuzione. Verrà generato automaticamente un nome di input. Se si vuole specificare un nome di input personalizzato, chiamare il metodo 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)
Parametri
Nome | Descrizione |
---|---|
path_on_compute
|
Percorso di destinazione nel calcolo in cui rendere disponibili i dati. Valore predefinito: None
|
Commenti
Quando il set di dati viene creato dal percorso di un singolo file, il punto di montaggio sarà il percorso del singolo file montato. In caso contrario, il punto di montaggio sarà il percorso della cartella racchiusa per tutti i file montati.
Se path_on_compute inizia con un oggetto /, verrà considerato come un percorso assoluto. Se non inizia con un /, verrà considerato come percorso relativo rispetto alla directory di lavoro. Se è stato specificato un percorso assoluto, assicurarsi che il processo disponga dell'autorizzazione per la scrittura in tale directory.
download
Scaricare i flussi di file definiti dal set di dati come file locali.
download(target_path=None, overwrite=False, ignore_not_found=False)
Parametri
Nome | Descrizione |
---|---|
target_path
Necessario
|
Directory locale in cui scaricare i file. Se Nessuno, i dati verranno scaricati in una directory temporanea. |
overwrite
Necessario
|
Indica se sovrascrivere i file esistenti. Il valore predefinito è False. I file esistenti verranno sovrascritti se la sovrascrittura è impostata su True; in caso contrario, verrà generata un'eccezione. |
ignore_not_found
Necessario
|
Indica se non è possibile scaricare se alcuni file puntati da set di dati non vengono trovati. Il valore predefinito è False. Il download avrà esito negativo se il download di file non riesce per qualsiasi motivo se ignore_not_found è impostato su False; in caso contrario, verrà registrata una guerra per errori non trovati e il dowload avrà esito positivo finché non vengono rilevati altri tipi di errore. |
Restituisce
Tipo | Descrizione |
---|---|
Restituisce una matrice di percorsi di file per ogni file scaricato. |
Commenti
Se target_path inizia con un oggetto /, verrà considerato come un percorso assoluto. Se non inizia con un oggetto /, verrà considerato come percorso relativo rispetto alla directory di lavoro corrente.
file_metadata
Nota
Si tratta di un metodo sperimentale e può cambiare in qualsiasi momento. Per altre informazioni, vedere https://aka.ms/azuremlexperimental.
Ottenere l'espressione dei metadati dei file specificando il nome della colonna dei metadati.
Le colonne di metadati dei file supportate sono Size, LastModifiedTime, CreationTime, Extension e CanSeek
file_metadata(col)
Parametri
Nome | Descrizione |
---|---|
col
Necessario
|
Nome della colonna |
Restituisce
Tipo | Descrizione |
---|---|
<xref:azureml.dataprep.api.expression.RecordFieldExpression>
|
Restituisce un'espressione che recupera il valore nella colonna specificata. |
filter
Nota
Si tratta di un metodo sperimentale e può cambiare in qualsiasi momento. Per altre informazioni, vedere https://aka.ms/azuremlexperimental.
Filtrare i dati, lasciando solo i record corrispondenti all'espressione specificata.
filter(expression)
Parametri
Nome | Descrizione |
---|---|
expression
Necessario
|
<xref:azureml.dataprep.api.expression.Expression>
Espressione da valutare. |
Restituisce
Tipo | Descrizione |
---|---|
Set di dati modificato (non registrato). |
Commenti
Le espressioni vengono avviate indicizzando il set di dati con il nome di una colonna. Supportano un'ampia gamma di funzioni e operatori e possono essere combinati usando operatori logici. L'espressione risultante verrà valutata in modo più pigre per ogni record quando si verifica un pull di dati e non la posizione in cui è definita.
(dataset.file_metadata('Size') > 10000) & (dataset.file_metadata('CanSeek') == True)
dataset.file_metadata('Extension').starts_with('j')
hydrate
Nota
Si tratta di un metodo sperimentale e può cambiare in qualsiasi momento. Per altre informazioni, vedere https://aka.ms/azuremlexperimental.
Idratare il set di dati nelle repliche richieste specificate in datacache_store.
hydrate(datacache_store, replica_count=None)
Parametri
Nome | Descrizione |
---|---|
datacache_store
Necessario
|
Datacachestore da usare per l'idratazione. |
replica_count
Necessario
|
<xref:Int>, <xref:optional>
Numero di repliche da idratare. |
Restituisce
Tipo | Descrizione |
---|---|
Oggetto di configurazione che descrive il modo in cui la datacache deve essere materializzata nell'esecuzione. |
mount
Creare una gestione contesto per il montaggio di flussi di file definiti dal set di dati come file locali.
mount(mount_point=None, **kwargs)
Parametri
Nome | Descrizione |
---|---|
mount_point
Necessario
|
Directory locale in cui montare i file. Se Nessuno, i dati verranno montati in una directory temporanea, che è possibile trovare chiamando il metodo di istanza di MountContext.mount_point . |
Restituisce
Tipo | Descrizione |
---|---|
<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.>
|
Restituisce un gestore del contesto per la gestione del ciclo di vita del montaggio. |
Commenti
Verrà restituita una gestione contesto per gestire il ciclo di vita del montaggio. Per montare, sarà necessario immettere gestione contesto e smontare, uscire dalla gestione contesto.
Il montaggio è supportato solo nei sistemi operativi Unix o equivalenti con il pacchetto nativo libfuse installato. Se si esegue all'interno di un contenitore docker, il contenitore docker deve essere avviato con il flag con privilegi o avviato con –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
Se target_path inizia con un oggetto /, verrà considerato come un percorso assoluto. Se non inizia con un oggetto /, verrà considerato come percorso relativo rispetto alla directory di lavoro corrente.
random_split
Suddividere i flussi di file nel set di dati in due parti in modo casuale e approssimativamente in base alla percentuale specificata.
Il primo set di dati restituito contiene circa percentage
il numero totale di riferimenti al file e il secondo set di dati contiene i riferimenti ai file rimanenti.
random_split(percentage, seed=None)
Parametri
Nome | Descrizione |
---|---|
percentage
Necessario
|
Percentuale approssimativa per dividere il set di dati. Questo deve essere un numero compreso tra 0,0 e 1,0. |
seed
Necessario
|
Inizializzazione facoltativa da usare per il generatore casuale. |
Restituisce
Tipo | Descrizione |
---|---|
Restituisce una tupla di nuovi oggetti FileDataset che rappresentano i due set di dati dopo la suddivisione. |
skip
Ignorare i flussi di file dall'inizio del set di dati dal conteggio specificato.
skip(count)
Parametri
Nome | Descrizione |
---|---|
count
Necessario
|
Numero di flussi di file da ignorare. |
Restituisce
Tipo | Descrizione |
---|---|
Restituisce un nuovo oggetto FileDataset che rappresenta un set di dati con flussi di file ignorati. |
take
Eseguire un esempio di flussi di file dall'inizio del set di dati dal conteggio specificato.
take(count)
Parametri
Nome | Descrizione |
---|---|
count
Necessario
|
Numero di flussi di file da eseguire. |
Restituisce
Tipo | Descrizione |
---|---|
Restituisce un nuovo oggetto FileDataset che rappresenta il set di dati di esempio. |
take_sample
Eseguire un esempio casuale di flussi di file nel set di dati approssimativamente in base alla probabilità specificata.
take_sample(probability, seed=None)
Parametri
Nome | Descrizione |
---|---|
probability
Necessario
|
Probabilità di un flusso di file incluso nell'esempio. |
seed
Necessario
|
Inizializzazione facoltativa da usare per il generatore casuale. |
Restituisce
Tipo | Descrizione |
---|---|
Restituisce un nuovo oggetto FileDataset che rappresenta il set di dati di esempio. |
to_path
Ottenere un elenco di percorsi di file per ogni flusso di file definito dal set di dati.
to_path()
Restituisce
Tipo | Descrizione |
---|---|
Restituisce una matrice di percorsi di file. |
Commenti
I percorsi dei file sono percorsi relativi per i file locali quando i flussi di file vengono scaricati o montati.
Un prefisso comune verrà rimosso dai percorsi dei file in base al modo in cui è stata specificata l'origine dati per creare il set di dati. Ad esempio:
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']