FileDataset Clase
Representa una colección de referencias de archivo en almacenes de datos o direcciones URL públicas que se van a usar en Azure Machine Learning.
Un Objeto FileDataset define una serie de operaciones inmutables y diferidamente evaluadas 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 entreguen datos.
FileDataset se crea mediante el from_files método de la clase FileDatasetFactory.
Para obtener más información, consulte el artículo Agregar y registrar conjuntos de datos. Para empezar a trabajar con un conjunto de datos de archivos, consulte https://aka.ms/filedataset-samplenotebook.
Inicialice el objeto FileDataset.
Este constructor no se supone que se invoque directamente. El conjunto de datos está pensado para crearse mediante FileDatasetFactory la clase .
Constructor
FileDataset()
Comentarios
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.
FileDataset se puede agrupar invocando diferentes métodos de restablecimiento disponibles en esta clase. El resultado del restablecimiento siempre es un nuevo FileDataset.
La carga de datos real se produce cuando se pide a FileDataset que entregue los datos en otro mecanismo de almacenamiento (por ejemplo, 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 obtener más información. Cree una clase DatacacheConsumptionConfig asignada a un datacache_store y un conjunto de datos. |
as_download |
Cree un conjunto de datosConsumptionConfig con el modo establecido para 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 |
Establezca el modo en hdfs. En la ejecución de Synapse enviada, los archivos de los conjuntos de datos se convertirán en la ruta de acceso local en el destino de proceso. La ruta de acceso de hdfs se puede recuperar de los valores de argumento y las variables de entorno del sistema operativo.
|
as_mount |
Cree un conjunto de datosConsumptionConfig 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 |
Descargue secuencias de archivos definidas 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 obtener más información. Obtenga la expresión de metadatos de archivo especificando el nombre de 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 obtener 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 obtener más información. Hidrata el conjunto de datos en las réplicas solicitadas especificadas en datacache_store. |
mount |
Cree un administrador de contextos para montar flujos de archivos definidos por el conjunto de datos como archivos locales. |
random_split |
Divida los flujos de archivos del conjunto de datos en dos partes aleatoriamente y aproximadamente por el porcentaje especificado. El primer conjunto de datos devuelto contiene aproximadamente |
skip |
Omita las secuencias de archivos de la parte superior del conjunto de datos por el recuento especificado. |
take |
Tome un ejemplo de secuencias de archivo desde la parte superior del conjunto de datos por el recuento especificado. |
take_sample |
Tome una muestra aleatoria de flujos de archivos en el conjunto de datos aproximadamente por la probabilidad especificada. |
to_path |
Obtenga una lista de rutas de acceso de archivo para cada secuencia de archivos definida 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 obtener más información.
Cree una clase DatacacheConsumptionConfig asignada a un datacache_store y un conjunto de datos.
as_cache(datacache_store)
Parámetros
Nombre | Description |
---|---|
datacache_store
Requerido
|
Datacachestore que se va a usar para hidratarse. |
Devoluciones
Tipo | Description |
---|---|
Objeto de configuración que describe cómo se debe materializar datacache en la ejecución. |
as_download
Cree un conjunto de datosConsumptionConfig con el modo establecido para 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 en el proceso para que los datos estén disponibles en. Valor predeterminado: None
|
Comentarios
Cuando el conjunto de datos se crea a partir de la ruta de acceso de un único 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 envolvente para todos los archivos descargados.
Si path_on_compute comienza con /, se tratará como una ruta de acceso absoluta. Si no comienza con /, se tratará como una ruta de acceso relativa con respecto al directorio de trabajo. Si ha especificado una ruta de acceso absoluta, asegúrese de que el trabajo tiene permiso para escribir en ese directorio.
as_hdfs
Establezca el modo en hdfs.
En la ejecución de Synapse enviada, los archivos de los conjuntos de datos se convertirán en la ruta de acceso local en el destino de proceso. La ruta de acceso de 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 el conjunto de datos se crea a partir de la ruta de acceso de un único archivo, la ruta de acceso de hdfs será la ruta de acceso del único archivo. De lo contrario, la ruta de acceso de hdfs será la ruta de acceso de la carpeta envolvente para todos los archivos montados.
as_mount
Cree un conjunto de datosConsumptionConfig 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 en el proceso para que los datos estén disponibles en. Valor predeterminado: None
|
Comentarios
Cuando el conjunto de datos se crea 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 envolvente para todos los archivos montados.
Si path_on_compute comienza con /, se tratará como una ruta de acceso absoluta. Si no comienza con /, se tratará como una ruta de acceso relativa con respecto al directorio de trabajo. Si ha especificado una ruta de acceso absoluta, asegúrese de que el trabajo tiene permiso para escribir en ese directorio.
download
Descargue secuencias de archivos definidas 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 no, los datos se descargarán en un directorio temporal. |
overwrite
Requerido
|
Indica si se deben sobrescribir los archivos existentes. El valor predeterminado es False. Los archivos existentes se sobrescribirán si la sobrescritura se establece en True; de lo contrario, se generará una excepción. |
ignore_not_found
Requerido
|
Indica si se produce 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 archivos por cualquier motivo si ignore_not_found está establecido en False; de lo contrario, se registrará una advertencia para los errores no encontrados y dowload 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 comienza con /, se tratará como una ruta de acceso absoluta. Si no comienza con /, se tratará como una ruta de acceso relativa con 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 obtener más información.
Obtenga la expresión de metadatos de archivo especificando el nombre de 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 obtener 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>
Expresión que se va a evaluar. |
Devoluciones
Tipo | Description |
---|---|
Conjunto de datos modificado (no registrado). |
Comentarios
Las expresiones se inician indizando 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 donde se defina.
(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 obtener 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
|
Datacachestore que se va a usar para hidratarse. |
replica_count
Requerido
|
<xref:Int>, <xref:optional>
Número de réplicas que se van a hidratar. |
Devoluciones
Tipo | Description |
---|---|
Objeto de configuración que describe cómo se debe materializar datacache en la ejecución. |
mount
Cree un administrador de contextos 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 van a montar los archivos. Si No, los datos se montarán en un directorio temporal, que puede encontrar llamando al método de instancia de 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 montar, deberá escribir el administrador de contexto y desmontar, salir del administrador de contextos.
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 de Docker debe iniciarse con la marca –privileged o comenzar 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 comienza con /, se tratará como una ruta de acceso absoluta. Si no comienza con /, se tratará como una ruta de acceso relativa con respecto al directorio de trabajo actual.
random_split
Divida los flujos de archivos del conjunto de datos en dos partes aleatoriamente y aproximadamente por el porcentaje especificado.
El primer conjunto de datos devuelto contiene aproximadamente percentage
el 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 va a dividir el conjunto de datos. Debe ser un número comprendido entre 0,0 y 1,0. |
seed
Requerido
|
Valor de inicialización opcional que se usará para el generador aleatorio. |
Devoluciones
Tipo | Description |
---|---|
Devuelve una tupla de nuevos objetos FileDataset que representan los dos conjuntos de datos después de la división. |
skip
Omita las secuencias de archivos de la parte superior del conjunto de datos por el recuento especificado.
skip(count)
Parámetros
Nombre | Description |
---|---|
count
Requerido
|
Número de secuencias de archivo que se van a omitir. |
Devoluciones
Tipo | Description |
---|---|
Devuelve un nuevo objeto FileDataset que representa un conjunto de datos con secuencias de archivos omitidas. |
take
Tome un ejemplo de secuencias de archivo desde la parte superior del conjunto de datos por el recuento especificado.
take(count)
Parámetros
Nombre | Description |
---|---|
count
Requerido
|
Número de secuencias de archivo que se van a tomar. |
Devoluciones
Tipo | Description |
---|---|
Devuelve un nuevo objeto FileDataset que representa el conjunto de datos muestreado. |
take_sample
Tome una muestra aleatoria de flujos de archivos en el conjunto de datos aproximadamente por la probabilidad especificada.
take_sample(probability, seed=None)
Parámetros
Nombre | Description |
---|---|
probability
Requerido
|
Probabilidad de que se incluya una secuencia de archivos en el ejemplo. |
seed
Requerido
|
Valor de 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
Obtenga una lista de rutas de acceso de archivo para cada secuencia de archivos definida 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 a los archivos locales cuando se descargan o montan las secuencias de archivo.
Se quitará un prefijo común de las rutas de acceso de archivo en función de cómo se especificó 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']