Partilhar via


FileDataset Classe

Representa uma coleção de referências de arquivo em armazenamentos de dados ou URLs públicas para usar no Aprendizado de Máquina do Azure.

Um FileDataset define uma série de operações preguiçosamente avaliadas e imutáveis para carregar dados da fonte de dados em fluxos de arquivos. Os dados não são carregados da origem até que FileDataset seja solicitado a entregar dados.

Um FileDataset é criado usando o from_files método da classe FileDatasetFactory.

Para obter mais informações, consulte o artigo Add & register datasets. Para começar a trabalhar com um conjunto de dados de arquivo, consulte https://aka.ms/filedataset-samplenotebook.

Inicialize o objeto FileDataset.

Este construtor não deve ser invocado diretamente. O conjunto de dados destina-se a ser criado usando FileDatasetFactory a classe.

Construtor

FileDataset()

Observações

FileDataset pode ser usado como entrada de uma execução de experimento. Ele também pode ser registrado no espaço de trabalho com um nome especificado e ser recuperado por esse nome mais tarde.

FileDataset pode ser subdefinido invocando diferentes métodos de subdefinição disponíveis nesta classe. O resultado da subdefinição é sempre um novo FileDataset.

O carregamento de dados real acontece quando FileDataset é solicitado a entregar os dados em outro mecanismo de armazenamento (por exemplo, arquivos baixados ou montados no caminho local).

Métodos

as_cache

Observação

Este é um método experimental, e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Crie um DatacacheConsumptionConfig mapeado para um datacache_store e um conjunto de dados.

as_download

Crie um DatasetConsumptionConfig com o modo definido para download.

Na execução enviada, os arquivos no conjunto de dados serão baixados para o caminho local no destino de computação. O local de download pode ser recuperado dos valores de argumento e do campo input_datasets do contexto de execução. Vamos gerar automaticamente um nome de entrada. Se você quiser especificar um nome de entrada personalizado, chame o 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_hdfs

Defina o modo como hdfs.

Na execução da sinapse enviada, os arquivos nos conjuntos de dados serão convertidos em caminho local no destino de computação. O caminho hdfs pode ser recuperado a partir de valores de argumento e as variáveis de ambiente os.


   # 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

Crie um DatasetConsumptionConfig com o modo definido para montagem.

Na execução enviada, os arquivos nos conjuntos de dados serão montados no caminho local no destino de computação. O ponto de montagem pode ser recuperado a partir de valores de argumento e do campo input_datasets do contexto de execução. Vamos gerar automaticamente um nome de entrada. Se você quiser especificar um nome de entrada personalizado, chame o 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']
download

Baixe fluxos de arquivos definidos pelo conjunto de dados como arquivos locais.

file_metadata

Observação

Este é um método experimental, e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Obtenha a expressão de metadados de arquivo especificando o nome da coluna de metadados.

As colunas de metadados de arquivo suportadas são Size, LastModifiedTime, CreationTime, Extension e CanSeek

filter

Observação

Este é um método experimental, e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Filtre os dados, deixando apenas os registros que correspondem à expressão especificada.

hydrate

Observação

Este é um método experimental, e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Hidrate o conjunto de dados nas réplicas solicitadas especificadas no datacache_store.

mount

Crie um gerenciador de contexto para montar fluxos de arquivos definidos pelo conjunto de dados como arquivos locais.

random_split

Divida os fluxos de arquivos no conjunto de dados em duas partes aleatoriamente e aproximadamente pela porcentagem especificada.

O primeiro conjunto de dados retornado contém aproximadamente percentage o número total de referências de arquivo e o segundo conjunto de dados contém as referências de arquivo restantes.

skip

Ignore fluxos de arquivos da parte superior do conjunto de dados pela contagem especificada.

take

Pegue uma amostra de fluxos de arquivos da parte superior do conjunto de dados pela contagem especificada.

take_sample

Pegue uma amostra aleatória de fluxos de arquivos no conjunto de dados aproximadamente pela probabilidade especificada.

to_path

Obtenha uma lista de caminhos de arquivo para cada fluxo de arquivo definido pelo conjunto de dados.

as_cache

Observação

Este é um método experimental, e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Crie um DatacacheConsumptionConfig mapeado para um datacache_store e um conjunto de dados.

as_cache(datacache_store)

Parâmetros

Name Description
datacache_store
Necessário

O datacachestore a ser usado para hidratar.

Devoluções

Tipo Description

O objeto de configuração que descreve como o datacache deve ser materializado na execução.

as_download

Crie um DatasetConsumptionConfig com o modo definido para download.

Na execução enviada, os arquivos no conjunto de dados serão baixados para o caminho local no destino de computação. O local de download pode ser recuperado dos valores de argumento e do campo input_datasets do contexto de execução. Vamos gerar automaticamente um nome de entrada. Se você quiser especificar um nome de entrada personalizado, chame o 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

Name Description
path_on_compute
str

O caminho de destino na computação para disponibilizar os dados em.

Default value: None

Observações

Quando o conjunto de dados é criado a partir do caminho de um único arquivo, o local de download será o caminho do único arquivo baixado. Caso contrário, o local de download será o caminho da pasta anexa para todos os arquivos baixados.

Se path_on_compute começa com um /, então ele será tratado como um caminho absoluto. Se não começar com um /, será tratado como um caminho relativo ao diretório de trabalho. Se você especificou um caminho absoluto, certifique-se de que o trabalho tenha permissão para gravar nesse diretório.

as_hdfs

Defina o modo como hdfs.

Na execução da sinapse enviada, os arquivos nos conjuntos de dados serão convertidos em caminho local no destino de computação. O caminho hdfs pode ser recuperado a partir de valores de argumento e as variáveis de ambiente os.


   # 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()

Observações

Quando o conjunto de dados é criado a partir do caminho de um único arquivo, o caminho hdfs será o caminho do arquivo único. Caso contrário, o caminho hdfs será o caminho da pasta anexa para todos os arquivos montados.

as_mount

Crie um DatasetConsumptionConfig com o modo definido para montagem.

Na execução enviada, os arquivos nos conjuntos de dados serão montados no caminho local no destino de computação. O ponto de montagem pode ser recuperado a partir de valores de argumento e do campo input_datasets do contexto de execução. Vamos gerar automaticamente um nome de entrada. Se você quiser especificar um nome de entrada personalizado, chame o 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

Name Description
path_on_compute
str

O caminho de destino na computação para disponibilizar os dados em.

Default value: None

Observações

Quando o conjunto de dados é criado a partir do caminho de um único arquivo, o ponto de montagem será o caminho do único arquivo montado. Caso contrário, o ponto de montagem será o caminho da pasta anexa para todos os arquivos montados.

Se path_on_compute começa com um /, então ele será tratado como um caminho absoluto. Se não começar com um /, será tratado como um caminho relativo ao diretório de trabalho. Se você especificou um caminho absoluto, certifique-se de que o trabalho tenha permissão para gravar nesse diretório.

download

Baixe fluxos de arquivos definidos pelo conjunto de dados como arquivos locais.

download(target_path=None, overwrite=False, ignore_not_found=False)

Parâmetros

Name Description
target_path
Necessário
str

O diretório local para o qual baixar os arquivos. Se Nenhum, os dados serão baixados em um diretório temporário.

overwrite
Necessário

Indica se os arquivos existentes devem ser substituídos. O padrão é False. Os arquivos existentes serão substituídos se a substituição estiver definida como True; caso contrário, será levantada uma exceção.

ignore_not_found
Necessário

Indica se o download deve falhar se alguns arquivos apontados pelo conjunto de dados não forem encontrados. O padrão é False. O download falhará se o download de qualquer arquivo falhar por qualquer motivo se ignore_not_found estiver definido como False; caso contrário, um waring será registrado para erros não encontrados e dowload terá êxito, desde que nenhum outro tipo de erro seja encontrado.

Devoluções

Tipo Description

Retorna uma matriz de caminhos de arquivo para cada arquivo baixado.

Observações

Se target_path começa com um /, então ele será tratado como um caminho absoluto. Se não começar com um /, será tratado como um caminho relativo ao diretório de trabalho atual.

file_metadata

Observação

Este é um método experimental, e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Obtenha a expressão de metadados de arquivo especificando o nome da coluna de metadados.

As colunas de metadados de arquivo suportadas são Size, LastModifiedTime, CreationTime, Extension e CanSeek

file_metadata(col)

Parâmetros

Name Description
col
Necessário
str

Nome da coluna

Devoluções

Tipo Description
<xref:azureml.dataprep.api.expression.RecordFieldExpression>

Retorna uma expressão que recupera o valor na coluna especificada.

filter

Observação

Este é um método experimental, e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Filtre os dados, deixando apenas os registros que correspondem à expressão especificada.

filter(expression)

Parâmetros

Name Description
expression
Necessário
<xref:azureml.dataprep.api.expression.Expression>

A expressão a avaliar.

Devoluções

Tipo Description

O conjunto de dados modificado (não registrado).

Observações

As expressões são iniciadas indexando o Dataset com o nome de uma coluna. Eles suportam uma variedade de funções e operadores e podem ser combinados usando operadores lógicos. A expressão resultante será avaliada preguiçosamente para cada registro quando ocorrer uma extração de dados e não onde ela for definida.


   (dataset.file_metadata('Size') > 10000) & (dataset.file_metadata('CanSeek') == True)
   dataset.file_metadata('Extension').starts_with('j')

hydrate

Observação

Este é um método experimental, e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Hidrate o conjunto de dados nas réplicas solicitadas especificadas no datacache_store.

hydrate(datacache_store, replica_count=None)

Parâmetros

Name Description
datacache_store
Necessário

O datacachestore a ser usado para hidratar.

replica_count
Necessário
<xref:Int>, <xref:optional>

Número de réplicas para hidratar.

Devoluções

Tipo Description

O objeto de configuração que descreve como o datacache deve ser materializado na execução.

mount

Crie um gerenciador de contexto para montar fluxos de arquivos definidos pelo conjunto de dados como arquivos locais.

mount(mount_point=None, **kwargs)

Parâmetros

Name Description
mount_point
Necessário
str

O diretório local para montar os arquivos. Se Nenhum, os dados serão montados em um diretório temporário, que você pode encontrar chamando o método de instância MountContext.mount_point .

Devoluções

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.>

Retorna um gerenciador de contexto para gerenciar o ciclo de vida da montagem.

Observações

Será apresentado um gestor de contexto para gerir o ciclo de vida da montagem. Para montar, você precisará entrar no gerenciador de contexto e, para desmontar, sair do gerenciador de contexto.

A montagem só é suportada em sistemas operativos semelhantes a Unix ou Unix com o libfuse de pacote nativo instalado. Se você estiver executando dentro de um contêiner do docker, o contêiner do docker deverá ser iniciado com o sinalizador –privileged ou iniciado com –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 começa com um /, então ele será tratado como um caminho absoluto. Se não começar com um /, será tratado como um caminho relativo ao diretório de trabalho atual.

random_split

Divida os fluxos de arquivos no conjunto de dados em duas partes aleatoriamente e aproximadamente pela porcentagem especificada.

O primeiro conjunto de dados retornado contém aproximadamente percentage o número total de referências de arquivo e o segundo conjunto de dados contém as referências de arquivo restantes.

random_split(percentage, seed=None)

Parâmetros

Name Description
percentage
Necessário

A porcentagem aproximada para dividir o conjunto de dados por. Este deve ser um número entre 0,0 e 1,0.

seed
Necessário
int

Uma semente opcional para usar no gerador aleatório.

Devoluções

Tipo Description

Retorna uma tupla de novos objetos FileDataset que representam os dois conjuntos de dados após a divisão.

skip

Ignore fluxos de arquivos da parte superior do conjunto de dados pela contagem especificada.

skip(count)

Parâmetros

Name Description
count
Necessário
int

O número de fluxos de arquivos a serem ignorados.

Devoluções

Tipo Description

Retorna um novo objeto FileDataset que representa um conjunto de dados com fluxos de arquivos ignorados.

take

Pegue uma amostra de fluxos de arquivos da parte superior do conjunto de dados pela contagem especificada.

take(count)

Parâmetros

Name Description
count
Necessário
int

O número de fluxos de arquivos a serem realizados.

Devoluções

Tipo Description

Retorna um novo objeto FileDataset que representa o conjunto de dados de amostra.

take_sample

Pegue uma amostra aleatória de fluxos de arquivos no conjunto de dados aproximadamente pela probabilidade especificada.

take_sample(probability, seed=None)

Parâmetros

Name Description
probability
Necessário

A probabilidade de um fluxo de arquivos ser incluído na amostra.

seed
Necessário
int

Uma semente opcional para usar no gerador aleatório.

Devoluções

Tipo Description

Retorna um novo objeto FileDataset que representa o conjunto de dados de amostra.

to_path

Obtenha uma lista de caminhos de arquivo para cada fluxo de arquivo definido pelo conjunto de dados.

to_path()

Devoluções

Tipo Description

Retorna uma matriz de caminhos de arquivo.

Observações

Os caminhos de arquivo são caminhos relativos para arquivos locais quando os fluxos de arquivos são baixados ou montados.

Um prefixo comum será removido dos caminhos de arquivo com base em como a fonte de dados foi especificada para criar o conjunto de dados. Por exemplo:


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