A sintaxe YAML detalhada neste documento baseia-se no esquema JSON da última versão da extensão de ML da CLI v2. Essa sintaxe só tem a garantia de funcionar com a última versão da extensão de ML da CLI v2.
Encontre os esquemas para as versões mais antigas da extensão em https://azuremlschemasprod.azureedge.net/.
Sintaxe YAML
Chave
Type
Descrição
Valores permitidos
Valor padrão
$schema
string
O esquema YAML. Se você usa a extensão do VS Code para Azure Machine Learning para criar o arquivo YAML, você poderá invocar preenchimentos de esquema e recursos se incluir $schema na parte superior do arquivo.
type
const
Obrigatórios. O tipo de trabalho.
sweep
sweep
name
string
Nome do trabalho. Precisa ser exclusivo em todos os trabalhos no espaço de trabalho. Se não for especificado, o Azure Machine Learning irá gerar automaticamente um GUID para o nome.
display_name
string
Nome de exibição do trabalho na interface do usuário no Estúdio. Dentro do espaço de trabalho ele pode ser não exclusivo. Se for omitido, o Azure Machine Learning irá gerar automaticamente um identificador com adjetivo-substantivo legível como o nome de exibição.
experiment_name
string
Organize o trabalho sob o nome do experimento. O registro de execução de cada trabalho é organizado no experimento correspondente da guia "Experimentos" do estúdio. Se omitido, o Aprendizado de Máquina do Azure assumirá experiment_name como padrão o nome do diretório de trabalho onde o trabalho foi criado.
Obrigatórios. Dicionário do espaço de pesquisa do hiperparâmetro. O nome do hiperparâmetro é a chave e o valor é a expressão do parâmetro.
Os hiperparâmetros podem ser referenciados trial.command no com a ${{ search_space.<hyperparameter> }} expressão.
search_space.<hyperparameter>
objeto
Visite Expressões de parâmetro para o conjunto de expressões possíveis a serem usadas.
objective.primary_metric
string
Obrigatórios. O nome da métrica primária relatada por cada trabalho de avaliação gratuita. A métrica deve ser registrada no script de treinamento do usuário, usando mlflow.log_metric() com o mesmo nome de métrica correspondente.
objective.goal
string
Obrigatórios. A meta de otimização do objective.primary_metric.
maximize, minimize
early_termination
objeto
A política de término antecipado a ser usada. Um trabalho de avaliação gratuita é cancelado quando os critérios da política especificada são atendidos. Se omitida, nenhuma política de rescisão antecipada será aplicada. Um BanditPolicy, MedianStoppingPolicy ou TruncationSelectionPolicy.
Obrigatória. Nome do destino de computação no qual executar o trabalho, com a azureml:<compute_name> sintaxe.
trial
objeto
Obrigatórios. O modelo de trabalho para cada avaliação gratuita. Cada trabalho de avaliação é fornecido com uma combinação diferente de valores de hiperparâmetro que o sistema amostras do search_space. Visite Atributos da trial chave.
inputs
objeto
Dicionário de entradas para o trabalho. A chave é um nome para a entrada dentro do contexto do trabalho e o valor é o valor de entrada.
As entradas podem ser referenciadas em command usando a expressão ${{ inputs.<input_name> }}.
inputs.<input_name>
número, número inteiro, booliano, cadeia de caracteres ou objeto
Um de um valor literal (de número de tipo, inteiro, booleano ou cadeia de caracteres) ou um objeto que contém uma especificação de dados de entrada de trabalho.
outputs
objeto
Dicionário de configurações de saída do trabalho. A chave é um nome para a saída dentro do contexto do trabalho e o valor é a configuração de saída.
As saídas podem ser referenciadas em command usando a expressão ${{ outputs.<output_name> }}.
outputs.<output_name>
objeto
Você pode deixar o objeto vazio e, nesse caso, por padrão, a saída é do tipo e o sistema do Aprendizado de Máquina do Azure gera um local de uri_folder saída para a saída. Todos os arquivos para o diretório de saída são gravados via montagem de leitura-gravação. Para especificar um modo diferente para a saída, forneça um objeto que contenha a especificação de saída do trabalho.
identity
objeto
A identidade é usada para acessar dados. Pode ser Configuração de Identidade do Usuário, Configuração de Identidade Gerenciada ou Nenhuma. Para UserIdentityConfiguration, a identidade do remetente do trabalho é usada para acessar dados de entrada e gravar o resultado na pasta de saída. Caso contrário, a identidade gerenciada do destino de computação será usada.
Algoritmo de amostragem
RandomSamplingAlgorithm
Chave
Type
Descrição
Valores permitidos
Valor padrão
type
const
Obrigatórios. O tipo de algoritmo de amostragem.
random
seed
Número inteiro
Uma semente aleatória a ser usada para inicializar a geração de números aleatórios. Se omitido, o valor de semente padrão será null.
rule
string
O tipo de amostragem aleatória a ser usada. O padrão, random, usa amostragem aleatória uniforme simples, enquanto sobol usa a sequência quase aleatória Sobol.
random, sobol
random
GridSamplingAlgorithm
Chave
Type
Descrição
Valores permitidos
type
const
Obrigatória. O tipo de algoritmo de amostragem.
grid
BayesianSamplingAlgorithm
Chave
Type
Descrição
Valores permitidos
type
const
Obrigatória. O tipo de algoritmo de amostragem.
bayesian
Políticas de término antecipado
BanditPolicy
Chave
Type
Descrição
Valores permitidos
Valor padrão
type
const
Obrigatória. O tipo de política.
bandit
slack_factor
número
A taxa usada para calcular a distância permitida da avaliação gratuita de melhor desempenho. Um dos dois é obrigatório, slack_factor ou slack_amount.
slack_amount
número
A distância absoluta permitida da avaliação gratuita de melhor desempenho. Um dos dois é obrigatório, slack_factor ou slack_amount.
evaluation_interval
inteiro
A frequência para aplicar a política.
1
delay_evaluation
inteiro
O número de intervalos para os quais atrasar a primeira avaliação de política. Se for especificado, a política se aplicará a cada múltiplo de evaluation_interval maior que ou igual a delay_evaluation.
0
MedianStoppingPolicy
Chave
Type
Descrição
Valores permitidos
Valor padrão
type
const
Obrigatória. O tipo de política.
median_stopping
evaluation_interval
Número inteiro
A frequência para aplicar a política.
1
delay_evaluation
inteiro
O número de intervalos para os quais atrasar a primeira avaliação de política. Se for especificado, a política se aplicará a cada múltiplo de evaluation_interval maior que ou igual a delay_evaluation.
0
TruncationSelectionPolicy
Chave
Type
Descrição
Valores permitidos
Valor padrão
type
const
Obrigatória. O tipo de política.
truncation_selection
truncation_percentage
Número inteiro
Obrigatórios. O percentual de trabalhos de avaliação gratuita a ser cancelado em cada intervalo de avaliação.
evaluation_interval
inteiro
A frequência para aplicar a política.
1
delay_evaluation
inteiro
O número de intervalos para os quais atrasar a primeira avaliação de política. Se for especificado, a política se aplicará a cada múltiplo de evaluation_interval maior que ou igual a delay_evaluation.
0
Expressões de parâmetro
Opção
Chave
Type
Descrição
Valores permitidos
type
const
Obrigatória. O tipo de expressão.
choice
values
matriz
Obrigatória. A lista de valores discretos dos quais escolher.
Randint
Chave
Type
Descrição
Valores permitidos
type
const
Obrigatória. O tipo de expressão.
randint
upper
Número inteiro
Obrigatórios. O limite superior exclusivo para o intervalo de inteiros.
Qlognormal, qnormal
Chave
Type
Descrição
Valores permitidos
type
const
Obrigatória. O tipo de expressão.
qlognormal, qnormal
mu
número
Obrigatório. A média da distribuição normal.
sigma
número
Obrigatório. O desvio padrão da distribuição normal.
q
inteiro
Obrigatórios. O fator de suavização.
Qloguniform, quniform
Chave
Type
Descrição
Valores permitidos
type
const
Obrigatória. O tipo de expressão.
qloguniform, quniform
min_value
número
Obrigatório. O valor mínimo no intervalo (inclusive).
max_value
número
Obrigatório. O valor mínimo no intervalo (inclusive).
q
inteiro
Obrigatórios. O fator de suavização.
Lognormal, normal
Chave
Type
Descrição
Valores permitidos
type
const
Obrigatória. O tipo de expressão.
lognormal, normal
mu
número
Obrigatório. A média da distribuição normal.
sigma
número
Obrigatório. O desvio padrão da distribuição normal.
Loguniforme
Chave
Type
Descrição
Valores permitidos
type
const
Obrigatória. O tipo de expressão.
loguniform
min_value
número
Obrigatória. O valor mínimo no intervalo é exp(min_value) (inclusive).
max_value
número
Obrigatória. O valor máximo no intervalo é exp(max_value) (inclusive).
Uniforme
Chave
Type
Descrição
Valores permitidos
type
const
Obrigatória. O tipo de expressão.
uniform
min_value
número
Obrigatório. O valor mínimo no intervalo (inclusive).
max_value
número
Obrigatório. O valor mínimo no intervalo (inclusive).
Atributos da chave limits
Chave
Type
Descrição
Valor padrão
max_total_trials
inteiro
O número máximo de trabalhos de avaliação.
1000
max_concurrent_trials
inteiro
O número máximo de trabalhos de avaliação que podem ser executados simultaneamente.
Assume o padrão de max_total_trials.
timeout
Número inteiro
O tempo máximo, em segundos, que todo o trabalho de varredura tem permissão para executar. Quando esse limite é atingido, o sistema cancela o trabalho de varredura, incluindo todas as suas tentativas.
5184000
trial_timeout
Número inteiro
O tempo máximo em segundos que cada trabalho de avaliação gratuita tem permissão para ser executado. Quando esse limite é atingido, o sistema cancela a avaliação.
Atributos da chave trial
Chave
Type
Descrição
Valor padrão
command
string
Obrigatórios. O comando a ser executado.
code
string
Caminho local para o diretório de código-fonte a ser carregado e usado para o trabalho.
environment
cadeia de caracteres ou objeto
Obrigatórios. O ambiente a ser usado para o trabalho. Esse valor pode ser uma referência para um ambiente com versão existente no espaço de trabalho ou uma especificação de ambiente embutido.
Use a sintaxe azureml:<environment-name>:<environment-version> para referenciar um ambiente existente.
Siga o esquema do ambiente para definir um ambiente embutido. Exclua as propriedades e version porque os name ambientes embutidos não oferecem suporte a elas.
environment_variables
objeto
Dicionário de pares nome/valor da variável de ambiente a ser definido no processo em que o comando é executado.
Obrigatórios. O número de processos por nó a iniciar para o trabalho.
PyTorchConfiguration
Chave
Type
Descrição
Valores permitidos
Valor padrão
type
const
Obrigatórios. Tipo de distribuição.
pytorch
process_count_per_instance
inteiro
O número de processos por nó a iniciar para o trabalho.
1
TensorFlowConfiguration
Chave
Type
Descrição
Valores permitidos
Valor padrão
type
const
Obrigatórios. Tipo de distribuição.
tensorflow
worker_count
inteiro
O número de trabalhos a iniciar para o trabalho.
Assume o padrão de resources.instance_count.
parameter_server_count
inteiro
O número de servidores de parâmetros a iniciar para o trabalho.
0
Entradas de trabalho
Chave
Type
Descrição
Valores permitidos
Valor padrão
type
string
O tipo de entrada de trabalho. Especifique uri_file para dados de entrada que apontem para uma única fonte de arquivo ou uri_folder para dados de entrada que apontem para uma fonte de pasta. Para obter mais informações, visite Saiba mais sobre acesso a dados.
uri_file, uri_folder, mltable, mlflow_model
uri_folder
path
string
O caminho para os dados a serem usados como entrada. Esse valor pode ser especificado de algumas maneiras:
– Um caminho local para o arquivo ou pasta da fonte de dados, por exemplo, path: ./iris.csv. Os dados são carregados durante o envio do trabalho.
- Um URI de um caminho de nuvem para o arquivo ou pasta a ser usado como entrada. Os tipos de URI com suporte são azureml, https, wasbs, abfss, adl. Para obter mais informações sobre o azureml:// uso do formato URI, visite Core yaml syntax.
– Um ativo de dados existente e registrado do Azure Machine Learning a ser usado como a entrada. Para fazer referência a um ativo de dados registrado, use a azureml:<data_name>:<data_version> sintaxe ou azureml:<data_name>@latest (para fazer referência à versão mais recente desse ativo de dados) - por exemplo, path: azureml:cifar10-data:1 ou path: azureml:cifar10-data@latest.
mode
string
Modo como os dados devem ser entregues ao destino de computação.
Para montagem somente leitura (ro_mount), os dados são consumidos como um caminho de montagem. Uma pasta é montada como uma pasta e um arquivo é montado como um arquivo. O Aprendizado de Máquina do Azure resolve a entrada para o caminho de montagem.
Para download o modo, os dados são baixados para o destino de computação. O Aprendizado de Máquina do Azure resolve a entrada para o caminho baixado.
Para apenas a URL do local de armazenamento do artefato de dados ou artefatos, em vez de montar ou baixar os dados em si, use o direct modo. Isso passa a URL do local de armazenamento como a entrada do trabalho. Nesse caso, você é totalmente responsável por identificar credenciais para acessar o armazenamento.
ro_mount, download, direct
ro_mount
Saídas de trabalho
Chave
Type
Descrição
Valores permitidos
Valor padrão
type
string
O tipo de saída do trabalho. Para o tipo padrão uri_folder, a saída corresponderá a uma pasta.
uri_file, uri_folder, mltable, mlflow_model
uri_folder
mode
string
Modo de entrega do(s) arquivo(s) de saída para o armazenamento de destino. Para o modo de montagem leitura-gravação (rw_mount), o diretório de saída é um diretório montado. Para o modo de upload, todos os arquivos gravados são carregados no final do trabalho.
rw_mount, upload
rw_mount
Configurações de identidade
UserIdentityConfiguration
Chave
Type
Descrição
Valores permitidos
type
const
Obrigatórios. Tipo de identidade.
user_identity
ManagedIdentityConfiguration
Chave
Type
Descrição
Valores permitidos
type
const
Obrigatórios. Tipo de identidade.
managed ou managed_identity
Comentários
Você pode usar o comando para gerenciar trabalhos do az ml job Aprendizado de Máquina do Azure.
Exemplos
Visite os exemplos do repositório GitHub para obter exemplos. Vários são mostrados aqui: