FileDataset Clase
Representa una colección de referencias de archivo en almacenes de datos o direcciones URL públicas que se usarán en Azure Machine Learning.
Un objeto FileDataset define una serie de operaciones inmutables que se evalúan de forma diferida para cargar datos del origen de datos en flujos de archivos. Los datos no se cargan desde el origen hasta que se pide a FileDataset que entregue los datos.
Un objeto FileDataset se crea mediante el método from_files de la clase FileDatasetFactory.
Para más información, consulte el artículo Incorporación de & registrar conjuntos de datos. Para empezar a trabajar con un conjunto de datos de archivo, consulte https://aka.ms/filedataset-samplenotebook.
Inicialice el objeto FileDataset.
Este constructor no se supone que se invoque directamente. El conjunto de datos está diseñado para crearse mediante FileDatasetFactory la clase .
- Herencia
-
FileDataset
Constructor
FileDataset()
Comentarios
El objeto FileDataset se puede usar como entrada de una ejecución de experimento. También se puede registrar en el área de trabajo con un nombre especificado y recuperarse con ese nombre más adelante.
El objeto FileDataset se puede dividir en subconjuntos mediante la invocación de diferentes métodos de creación de subconjuntos disponibles en esta clase. El resultado de la división en subconjuntos es siempre un nuevo objeto FileDataset.
La carga de datos real se produce cuando se pide a FileDataset que entregue los datos a otro mecanismo de almacenamiento (por ejemplo, los archivos descargados o montados en la ruta de acceso local).
Métodos
as_cache |
Nota Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información. Crea un objeto DatacacheConsumptionConfig asignado a un datacache_store y un conjunto de datos. |
as_download |
Crea un objeto DatasetConsumptionConfig con el modo establecido en descargar. En la ejecución enviada, los archivos del conjunto de datos se descargarán en la ruta de acceso local en el destino de proceso. La ubicación de descarga se puede recuperar de los valores de argumento y el campo input_datasets del contexto de ejecución. Generaremos automáticamente un nombre de entrada. Si desea especificar un nombre de entrada personalizado, llame al método as_named_input.
|
as_hdfs |
Establece el modo en HDFS. En la ejecución de Synapse enviada, los archivos de los conjuntos de datos se convertirán a una ruta de acceso local en el destino de proceso. La ruta de acceso HDFS se puede recuperar de los valores de argumento y las variables de entorno del sistema operativo.
|
as_mount |
Crea un objeto DatasetConsumptionConfig con el modo establecido en montar. En la ejecución enviada, los archivos de los conjuntos de datos se montarán en la ruta de acceso local en el destino de proceso. El punto de montaje se puede recuperar de los valores de argumento y el campo input_datasets del contexto de ejecución. Generaremos automáticamente un nombre de entrada. Si desea especificar un nombre de entrada personalizado, llame al método as_named_input.
|
download |
Descarga los flujos de archivos definidos por el conjunto de datos como archivos locales. |
file_metadata |
Nota Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información. Obtiene la expresión de metadatos de archivo mediante la especificación del nombre de la columna de metadatos. Las columnas de metadatos de archivo admitidas son Size, LastModifiedTime, CreationTime, Extension y CanSeek. |
filter |
Nota Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información. Filtra los datos, dejando solo los registros que coinciden con la expresión especificada. |
hydrate |
Nota Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información. Hidrata el conjunto de datos en las réplicas solicitadas especificadas en datacache_store. |
mount |
Crea un administrador de contexto para montar flujos de archivos definidos por el conjunto de datos como archivos locales. |
random_split |
Divide los flujos de archivos del conjunto de datos en dos partes de manera aleatoria y aproximada según el porcentaje especificado. El primer conjunto de datos devuelto contiene aproximadamente un valor de |
skip |
Omite los flujos de archivos de la parte superior del conjunto de datos según el recuento especificado. |
take |
Toma una muestra de los flujos de archivos de la parte superior del conjunto de datos según el recuento especificado. |
take_sample |
Toma una muestra aleatoria de flujos de archivos en el conjunto de datos según la probabilidad especificada aproximadamente. |
to_path |
Obtiene una lista de rutas de acceso de archivo para cada flujo de archivos definido por el conjunto de datos. |
as_cache
Nota
Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.
Crea un objeto DatacacheConsumptionConfig asignado a un datacache_store y un conjunto de datos.
as_cache(datacache_store)
Parámetros
Nombre | Description |
---|---|
datacache_store
Requerido
|
Almacén de caché de datos que se usará para la hidratación. |
Devoluciones
Tipo | Description |
---|---|
Objeto de configuración que describe cómo se debe materializar la caché de datos en la ejecución. |
as_download
Crea un objeto DatasetConsumptionConfig con el modo establecido en descargar.
En la ejecución enviada, los archivos del conjunto de datos se descargarán en la ruta de acceso local en el destino de proceso. La ubicación de descarga se puede recuperar de los valores de argumento y el campo input_datasets del contexto de ejecución. Generaremos automáticamente un nombre de entrada. Si desea especificar un nombre de entrada personalizado, llame al método 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)
Parámetros
Nombre | Description |
---|---|
path_on_compute
|
Ruta de acceso de destino del proceso en la que los datos estarán disponibles. Valor predeterminado: None
|
Comentarios
Cuando se crea el conjunto de datos a partir de la ruta de acceso de un solo archivo, la ubicación de descarga será la ruta de acceso del único archivo descargado. De lo contrario, la ubicación de descarga será la ruta de acceso de la carpeta que contiene todos los archivos descargados.
Si path_on_compute empieza por /, se tratará como una ruta de acceso absoluta. Si no comienza por /, se tratará como una ruta de acceso relativa respecto al directorio de trabajo. Si ha especificado una ruta de acceso absoluta, asegúrese de que el trabajo tenga permiso para escribir en ese directorio.
as_hdfs
Establece el modo en HDFS.
En la ejecución de Synapse enviada, los archivos de los conjuntos de datos se convertirán a una ruta de acceso local en el destino de proceso. La ruta de acceso HDFS se puede recuperar de los valores de argumento y las variables de entorno 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()
Comentarios
Cuando se crea el conjunto de datos a partir de la ruta de acceso de un único archivo, la ruta de acceso HDFS será la del único archivo. De lo contrario, la ruta de acceso HDFS será la de la carpeta que los contiene para todos los archivos montados.
as_mount
Crea un objeto DatasetConsumptionConfig con el modo establecido en montar.
En la ejecución enviada, los archivos de los conjuntos de datos se montarán en la ruta de acceso local en el destino de proceso. El punto de montaje se puede recuperar de los valores de argumento y el campo input_datasets del contexto de ejecución. Generaremos automáticamente un nombre de entrada. Si desea especificar un nombre de entrada personalizado, llame al método 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)
Parámetros
Nombre | Description |
---|---|
path_on_compute
|
Ruta de acceso de destino del proceso en la que los datos estarán disponibles. Valor predeterminado: None
|
Comentarios
Cuando se crea el conjunto de datos a partir de la ruta de acceso de un único archivo, el punto de montaje será la ruta de acceso del único archivo montado. De lo contrario, el punto de montaje será la ruta de acceso de la carpeta que contiene todos los archivos montados.
Si path_on_compute empieza por /, se tratará como una ruta de acceso absoluta. Si no comienza por /, se tratará como una ruta de acceso relativa respecto al directorio de trabajo. Si ha especificado una ruta de acceso absoluta, asegúrese de que el trabajo tenga permiso para escribir en ese directorio.
download
Descarga los flujos de archivos definidos por el conjunto de datos como archivos locales.
download(target_path=None, overwrite=False, ignore_not_found=False)
Parámetros
Nombre | Description |
---|---|
target_path
Requerido
|
Directorio local en el que se descargarán los archivos. Si es None, los datos se descargarán en un directorio temporal. |
overwrite
Requerido
|
Indica si se van a sobrescribir los archivos existentes. El valor predeterminado es False. Los archivos existentes se sobrescribirán si el elemento overwrite está establecido en True; de lo contrario, se producirá una excepción. |
ignore_not_found
Requerido
|
Indica si se debe producir un error en la descarga si no se encuentran algunos archivos a los que apunta el conjunto de datos. El valor predeterminado es False. Se producirá un error en la descarga si se produce un error en la descarga de cualquier archivo por cualquier motivo si ignore_not_found se establece en False; de lo contrario, se registrará una advertencia para los errores de no encontrado y la descarga se realizará correctamente siempre que no se encuentre ningún otro tipo de error. |
Devoluciones
Tipo | Description |
---|---|
Devuelve una matriz de rutas de acceso de archivo para cada archivo descargado. |
Comentarios
Si target_path empieza por /, se tratará como una ruta de acceso absoluta. Si no comienza por /, se tratará como una ruta de acceso relativa respecto al directorio de trabajo actual.
file_metadata
Nota
Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.
Obtiene la expresión de metadatos de archivo mediante la especificación del nombre de la columna de metadatos.
Las columnas de metadatos de archivo admitidas son Size, LastModifiedTime, CreationTime, Extension y CanSeek.
file_metadata(col)
Parámetros
Nombre | Description |
---|---|
col
Requerido
|
Nombre de la columna |
Devoluciones
Tipo | Description |
---|---|
<xref:azureml.dataprep.api.expression.RecordFieldExpression>
|
Devuelve una expresión que recupera el valor de la columna especificada. |
filter
Nota
Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.
Filtra los datos, dejando solo los registros que coinciden con la expresión especificada.
filter(expression)
Parámetros
Nombre | Description |
---|---|
expression
Requerido
|
<xref:azureml.dataprep.api.expression.Expression>
La expresión que se va a evaluar. |
Devoluciones
Tipo | Description |
---|---|
Conjunto de datos modificado (no registrado). |
Comentarios
Las expresiones se inician indexando el conjunto de datos con el nombre de una columna. Admiten una variedad de funciones y operadores, y se pueden combinar mediante operadores lógicos. La expresión resultante se evaluará de forma diferida para cada registro cuando se produzca una extracción de datos y no cuando se define.
(dataset.file_metadata('Size') > 10000) & (dataset.file_metadata('CanSeek') == True)
dataset.file_metadata('Extension').starts_with('j')
hydrate
Nota
Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.
Hidrata el conjunto de datos en las réplicas solicitadas especificadas en datacache_store.
hydrate(datacache_store, replica_count=None)
Parámetros
Nombre | Description |
---|---|
datacache_store
Requerido
|
Almacén de caché de datos que se usará para la hidratación. |
replica_count
Requerido
|
<xref:Int>, <xref:optional>
Número de réplicas que se hidratarán. |
Devoluciones
Tipo | Description |
---|---|
Objeto de configuración que describe cómo se debe materializar la caché de datos en la ejecución. |
mount
Crea un administrador de contexto para montar flujos de archivos definidos por el conjunto de datos como archivos locales.
mount(mount_point=None, **kwargs)
Parámetros
Nombre | Description |
---|---|
mount_point
Requerido
|
Directorio local en el que se montarán los archivos. Si es None, los datos se montarán en un directorio temporal, que se puede encontrar mediante una llamada al método de instancia MountContext.mount_point. |
Devoluciones
Tipo | 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.>
|
Devuelve un administrador de contexto para administrar el ciclo de vida del montaje. |
Comentarios
Se devolverá un administrador de contexto para administrar el ciclo de vida del montaje. Para el montaje, deberá entrar en el administrador de contexto y, para el desmontaje, salir del administrador de contexto.
El montaje solo se admite en sistemas operativos Unix o parecidos a Unix con el paquete nativo libfuse instalado. Si se ejecuta dentro de un contenedor de Docker, el contenedor Docker, se debe iniciar con la marca -privileged o 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
Si target_path empieza por /, se tratará como una ruta de acceso absoluta. Si no comienza por /, se tratará como una ruta de acceso relativa respecto al directorio de trabajo actual.
random_split
Divide los flujos de archivos del conjunto de datos en dos partes de manera aleatoria y aproximada según el porcentaje especificado.
El primer conjunto de datos devuelto contiene aproximadamente un valor de percentage
del número total de referencias de archivo y el segundo conjunto de datos contiene las referencias de archivo restantes.
random_split(percentage, seed=None)
Parámetros
Nombre | Description |
---|---|
percentage
Requerido
|
Porcentaje aproximado por el que se divide el conjunto de datos. Debe ser un número comprendido entre 0,0 y 1,0. |
seed
Requerido
|
Inicialización opcional que se usará para el generador aleatorio. |
Devoluciones
Tipo | Description |
---|---|
Devuelve una tupla de objetos FileDataset nuevos que representan los dos conjuntos de datos después de la división. |
skip
Omite los flujos de archivos de la parte superior del conjunto de datos según el recuento especificado.
skip(count)
Parámetros
Nombre | Description |
---|---|
count
Requerido
|
Número de flujos de archivos que se omitirán. |
Devoluciones
Tipo | Description |
---|---|
Devuelve un nuevo objeto FileDataset que representa un conjunto de datos con flujos de archivos omitidos. |
take
Toma una muestra de los flujos de archivos de la parte superior del conjunto de datos según el recuento especificado.
take(count)
Parámetros
Nombre | Description |
---|---|
count
Requerido
|
Número de flujos de archivos que se tomarán. |
Devoluciones
Tipo | Description |
---|---|
Devuelve un nuevo objeto FileDataset que representa el conjunto de datos muestreado. |
take_sample
Toma una muestra aleatoria de flujos de archivos en el conjunto de datos según la probabilidad especificada aproximadamente.
take_sample(probability, seed=None)
Parámetros
Nombre | Description |
---|---|
probability
Requerido
|
Probabilidad de que un flujo de archivos se incluya en la muestra. |
seed
Requerido
|
Inicialización opcional que se usará para el generador aleatorio. |
Devoluciones
Tipo | Description |
---|---|
Devuelve un nuevo objeto FileDataset que representa el conjunto de datos muestreado. |
to_path
Obtiene una lista de rutas de acceso de archivo para cada flujo de archivos definido por el conjunto de datos.
to_path()
Devoluciones
Tipo | Description |
---|---|
Devuelve una matriz de rutas de acceso de archivo. |
Comentarios
Las rutas de acceso de archivo son rutas de acceso relativas para los archivos locales cuando se descargan o montan los flujos de archivos.
Se quitará un prefijo común de las rutas de acceso de archivo en función de cómo se haya especificado el origen de datos para crear el conjunto de datos. Por ejemplo:
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']