FileDataset Classe
Representa uma coleção de referências de ficheiros em arquivos de dados ou URLs públicos a utilizar no Azure Machine Learning.
Um FileDataset define uma série de operações imutáveis e avaliadas de forma preguiçosa para carregar dados da origem de dados para fluxos de ficheiros. Os dados não são carregados a partir da origem até que o FileDataset seja solicitado a entregar dados.
É criado um FileDataset com o from_files método da classe FileDatasetFactory.
Para obter mais informações, veja o artigo Adicionar & registar conjuntos de dados. Para começar a trabalhar com um conjunto de dados de ficheiros, 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 com a FileDatasetFactory classe.
- Herança
-
FileDataset
Construtor
FileDataset()
Observações
FileDataset pode ser utilizado como entrada de uma execução de experimentação. Também pode ser registado na área de trabalho com um nome especificado e ser obtido por esse nome mais tarde.
O FileDataset pode ser subsetted ao invocar diferentes métodos de subsetting disponíveis nesta classe. O resultado da subsetting é sempre um novo FileDataset.
O carregamento real de dados ocorre quando é pedido ao FileDataset que entregue os dados noutro mecanismo de armazenamento (por exemplo, ficheiros transferidos ou montados no caminho local).
Métodos
as_cache |
Nota Este é um método experimental e pode mudar em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental. Crie um DatacacheConsumptionConfig mapeado para um datacache_store e um conjunto de dados. |
as_download |
Crie um DatasetConsumptionConfig com o modo definido para transferência. Na execução submetida, os ficheiros no conjunto de dados serão transferidos para o caminho local no destino de computação. A localização de transferência pode ser obtida a partir de valores de argumentos e do campo input_datasets do contexto de execução. Iremos gerar automaticamente um nome de entrada. Se quiser especificar um nome de entrada personalizado, chame o método as_named_input.
|
as_hdfs |
Defina o modo como hdfs. Na execução do synapse submetida, os ficheiros nos conjuntos de dados serão convertidos no caminho local no destino de computação. O caminho hdfs pode ser obtido a partir de valores de argumento e das variáveis de ambiente do so.
|
as_mount |
Crie um DatasetConsumptionConfig com o modo definido como montagem. Na execução submetida, os ficheiros nos conjuntos de dados serão montados no caminho local no destino de computação. O ponto de montagem pode ser obtido a partir de valores de argumento e do campo input_datasets do contexto de execução. Iremos gerar automaticamente um nome de entrada. Se quiser especificar um nome de entrada personalizado, chame o método as_named_input.
|
download |
Transfira fluxos de ficheiros definidos pelo conjunto de dados como ficheiros locais. |
file_metadata |
Nota Este é um método experimental e pode mudar em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental. Obtenha a expressão de metadados de ficheiro ao especificar o nome da coluna de metadados. As colunas de metadados de ficheiro suportadas são Size, LastModifiedTime, CreationTime, Extension e CanSeek |
filter |
Nota Este é um método experimental e pode mudar em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental. Filtre os dados, deixando apenas os registos que correspondem à expressão especificada. |
hydrate |
Nota Este é um método experimental e pode mudar em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental. Hidra o conjunto de dados para as réplicas pedidas especificadas no datacache_store. |
mount |
Crie um gestor de contexto para montar fluxos de ficheiros definidos pelo conjunto de dados como ficheiros locais. |
random_split |
Divida os fluxos de ficheiros no conjunto de dados em duas partes aleatoriamente e aproximadamente pela percentagem especificada. O primeiro conjunto de dados devolvido contém aproximadamente |
skip |
Ignore os fluxos de ficheiros da parte superior do conjunto de dados pela contagem especificada. |
take |
Recolha um exemplo de fluxos de ficheiros a partir da parte superior do conjunto de dados pela contagem especificada. |
take_sample |
Veja uma amostra aleatória de fluxos de ficheiros no conjunto de dados aproximadamente pela probabilidade especificada. |
to_path |
Obtenha uma lista de caminhos de ficheiro para cada fluxo de ficheiros definido pelo conjunto de dados. |
as_cache
Nota
Este é um método experimental e pode mudar em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.
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 arquivo de dados a ser utilizado para hidratar. |
Devoluções
Tipo | Description |
---|---|
O objeto de configuração que descreve como a datacache deve ser materializada na execução. |
as_download
Crie um DatasetConsumptionConfig com o modo definido para transferência.
Na execução submetida, os ficheiros no conjunto de dados serão transferidos para o caminho local no destino de computação. A localização de transferência pode ser obtida a partir de valores de argumentos e do campo input_datasets do contexto de execução. Iremos gerar automaticamente um nome de entrada. Se 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
|
O caminho de destino na computação em que os dados estão disponíveis. Default value: None
|
Observações
Quando o conjunto de dados é criado a partir do caminho de um único ficheiro, a localização de transferência será o caminho do ficheiro transferido único. Caso contrário, a localização de transferência será o caminho da pasta de colocação para todos os ficheiros transferidos.
Se path_on_compute começa com um /, será tratado como um caminho absoluto. Se não começar com um /, será tratado como um caminho relativo em relação ao diretório de trabalho. Se tiver especificado um caminho absoluto, certifique-se de que a tarefa tem permissão para escrever nesse diretório.
as_hdfs
Defina o modo como hdfs.
Na execução do synapse submetida, os ficheiros nos conjuntos de dados serão convertidos no caminho local no destino de computação. O caminho hdfs pode ser obtido a partir de valores de argumento e das variáveis de ambiente do so.
# 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 ficheiro, o caminho do hdfs será o caminho do ficheiro único. Caso contrário, o caminho do hdfs será o caminho da pasta de colocação para todos os ficheiros montados.
as_mount
Crie um DatasetConsumptionConfig com o modo definido como montagem.
Na execução submetida, os ficheiros nos conjuntos de dados serão montados no caminho local no destino de computação. O ponto de montagem pode ser obtido a partir de valores de argumento e do campo input_datasets do contexto de execução. Iremos gerar automaticamente um nome de entrada. Se 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
|
O caminho de destino na computação em que os dados estão disponíveis. Default value: None
|
Observações
Quando o conjunto de dados é criado a partir do caminho de um único ficheiro, o ponto de montagem será o caminho do ficheiro montado único. Caso contrário, o ponto de montagem será o caminho da pasta de colocação para todos os ficheiros montados.
Se path_on_compute começa com um /, será tratado como um caminho absoluto. Se não começar com um /, será tratado como um caminho relativo em relação ao diretório de trabalho. Se tiver especificado um caminho absoluto, certifique-se de que a tarefa tem permissão para escrever nesse diretório.
download
Transfira fluxos de ficheiros definidos pelo conjunto de dados como ficheiros locais.
download(target_path=None, overwrite=False, ignore_not_found=False)
Parâmetros
Name | Description |
---|---|
target_path
Necessário
|
O diretório local para onde transferir os ficheiros. Se Não, os dados serão transferidos para um diretório temporário. |
overwrite
Necessário
|
Indica se deve substituir ficheiros existentes. A predefinição é Falso. Os ficheiros existentes serão substituídos se a substituição estiver definida como Verdadeiro; caso contrário, será gerada uma exceção. |
ignore_not_found
Necessário
|
Indica se a transferência falha se alguns ficheiros apontados por conjunto de dados não forem encontrados. A predefinição é Falso. A transferência falhará se alguma transferência de ficheiro falhar por algum motivo se ignore_not_found estiver definida como Falso; caso contrário, será registado um waring para erros não encontrados e o dowload será bem-sucedido, desde que não sejam encontrados outros tipos de erro. |
Devoluções
Tipo | Description |
---|---|
Devolve uma matriz de caminhos de ficheiro para cada ficheiro transferido. |
Observações
Se target_path começa com um /, será tratado como um caminho absoluto. Se não começar com um /, será tratado como um caminho relativo em relação ao diretório de trabalho atual.
file_metadata
Nota
Este é um método experimental e pode mudar em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.
Obtenha a expressão de metadados de ficheiro ao especificar o nome da coluna de metadados.
As colunas de metadados de ficheiro suportadas são Size, LastModifiedTime, CreationTime, Extension e CanSeek
file_metadata(col)
Parâmetros
Name | Description |
---|---|
col
Necessário
|
Nome da coluna |
Devoluções
Tipo | Description |
---|---|
<xref:azureml.dataprep.api.expression.RecordFieldExpression>
|
Devolve uma expressão que obtém o valor na coluna especificada. |
filter
Nota
Este é um método experimental e pode mudar em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.
Filtre os dados, deixando apenas os registos 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 registado). |
Observações
As expressões são iniciadas ao indexar o Conjunto de Dados com o nome de uma coluna. Suportam uma variedade de funções e operadores e podem ser combinados com operadores lógicos. A expressão resultante será avaliada preguiçosamente para cada registo quando ocorrer uma extração de dados e não onde é definida.
(dataset.file_metadata('Size') > 10000) & (dataset.file_metadata('CanSeek') == True)
dataset.file_metadata('Extension').starts_with('j')
hydrate
Nota
Este é um método experimental e pode mudar em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.
Hidra o conjunto de dados para as réplicas pedidas especificadas no datacache_store.
hydrate(datacache_store, replica_count=None)
Parâmetros
Name | Description |
---|---|
datacache_store
Necessário
|
O arquivo de dados a ser utilizado para hidratar. |
replica_count
Necessário
|
<xref:Int>, <xref:optional>
Número de réplicas a hidratar. |
Devoluções
Tipo | Description |
---|---|
O objeto de configuração que descreve como a datacache deve ser materializada na execução. |
mount
Crie um gestor de contexto para montar fluxos de ficheiros definidos pelo conjunto de dados como ficheiros locais.
mount(mount_point=None, **kwargs)
Parâmetros
Name | Description |
---|---|
mount_point
Necessário
|
O diretório local para onde montar os ficheiros. Se Nenhum, os dados serão montados num diretório temporário, que pode encontrar ao chamar 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.>
|
Devolve um gestor de contexto para gerir o ciclo de vida da montagem. |
Observações
Será apresentado um gestor de contexto para gerir o ciclo de vida da montagem. Para montar, terá de introduzir o gestor de contexto e desmontar, sair do gestor de contexto.
A montagem só é suportada em sistemas operativos semelhantes a Unix ou Unix com o libfuse de pacote nativo instalado. Se estiver a ser executado dentro de um contentor do Docker, o contentor do docker tem de ser iniciado com o sinalizador com privilégios 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çar com um /, será tratado como um caminho absoluto. Se não começar com um /, será tratado como um caminho relativo em relação ao diretório de trabalho atual.
random_split
Divida os fluxos de ficheiros no conjunto de dados em duas partes aleatoriamente e aproximadamente pela percentagem especificada.
O primeiro conjunto de dados devolvido contém aproximadamente percentage
o número total de referências de ficheiros e o segundo conjunto de dados contém as referências de ficheiro restantes.
random_split(percentage, seed=None)
Parâmetros
Name | Description |
---|---|
percentage
Necessário
|
A percentagem aproximada pela qual dividir o conjunto de dados. Tem de ser um número entre 0,0 e 1,0. |
seed
Necessário
|
Uma semente opcional a utilizar para o gerador aleatório. |
Devoluções
Tipo | Description |
---|---|
Devolve uma cadeia de identificação de novos objetos FileDataset que representam os dois conjuntos de dados após a divisão. |
skip
Ignore os fluxos de ficheiros da parte superior do conjunto de dados pela contagem especificada.
skip(count)
Parâmetros
Name | Description |
---|---|
count
Necessário
|
O número de fluxos de ficheiros a ignorar. |
Devoluções
Tipo | Description |
---|---|
Devolve um novo objeto FileDataset que representa um conjunto de dados com fluxos de ficheiros ignorados. |
take
Recolha um exemplo de fluxos de ficheiros a partir da parte superior do conjunto de dados pela contagem especificada.
take(count)
Parâmetros
Name | Description |
---|---|
count
Necessário
|
O número de fluxos de ficheiros a ter. |
Devoluções
Tipo | Description |
---|---|
Devolve um novo objeto FileDataset que representa o conjunto de dados de exemplo. |
take_sample
Veja uma amostra aleatória de fluxos de ficheiros 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 ficheiros ser incluído no exemplo. |
seed
Necessário
|
Uma semente opcional a utilizar para o gerador aleatório. |
Devoluções
Tipo | Description |
---|---|
Devolve um novo objeto FileDataset que representa o conjunto de dados de exemplo. |
to_path
Obtenha uma lista de caminhos de ficheiro para cada fluxo de ficheiros definido pelo conjunto de dados.
to_path()
Devoluções
Tipo | Description |
---|---|
Devolve uma matriz de caminhos de ficheiro. |
Observações
Os caminhos de ficheiro são caminhos relativos para ficheiros locais quando os fluxos de ficheiros são transferidos ou montados.
Um prefixo comum será removido dos caminhos de ficheiro com base na forma como a origem 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']