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
Devoluções
O objeto de configuração que descreve como a datacache deve ser materializada na execução.
Tipo de retorno
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
- path_on_compute
- str
O caminho de destino na computação em que os dados estão disponíveis.
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
- path_on_compute
- str
O caminho de destino na computação em que os dados estão disponíveis.
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
- target_path
- str
O diretório local para onde transferir os ficheiros. Se Não, os dados serão transferidos para um diretório temporário.
- overwrite
- bool
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
- bool
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
Devolve uma matriz de caminhos de ficheiro para cada ficheiro transferido.
Tipo de retorno
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
Devoluções
Devolve uma expressão que obtém o valor na coluna especificada.
Tipo de retorno
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
- expression
- <xref:azureml.dataprep.api.expression.Expression>
A expressão a avaliar.
Devoluções
O conjunto de dados modificado (não registado).
Tipo de retorno
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
- replica_count
- <xref:Int>, <xref:optional>
Número de réplicas a hidratar.
Devoluções
O objeto de configuração que descreve como a datacache deve ser materializada na execução.
Tipo de retorno
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
- mount_point
- str
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
Devolve um gestor de contexto para gerir o ciclo de vida da montagem.
Tipo de retorno
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
- percentage
- float
A percentagem aproximada pela qual dividir o conjunto de dados. Tem de ser um número entre 0,0 e 1,0.
Devoluções
Devolve uma cadeia de identificação de novos objetos FileDataset que representam os dois conjuntos de dados após a divisão.
Tipo de retorno
skip
Ignore os fluxos de ficheiros da parte superior do conjunto de dados pela contagem especificada.
skip(count)
Parâmetros
Devoluções
Devolve um novo objeto FileDataset que representa um conjunto de dados com fluxos de ficheiros ignorados.
Tipo de retorno
take
Recolha um exemplo de fluxos de ficheiros a partir da parte superior do conjunto de dados pela contagem especificada.
take(count)
Parâmetros
Devoluções
Devolve um novo objeto FileDataset que representa o conjunto de dados de exemplo.
Tipo de retorno
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
Devoluções
Devolve um novo objeto FileDataset que representa o conjunto de dados de exemplo.
Tipo de retorno
to_path
Obtenha uma lista de caminhos de ficheiro para cada fluxo de ficheiros definido pelo conjunto de dados.
to_path()
Devoluções
Devolve uma matriz de caminhos de ficheiro.
Tipo de retorno
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']
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários