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.


   # 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

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_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']
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 percentage il numero totale di riferimenti al file e il secondo set di dati contiene i riferimenti ai file rimanenti.

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
str

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
str

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
str

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
str

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
str

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
int

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
int

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
int

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
int

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