ai-center
2022.4
true
- Notas de Versão
- Antes de começar
- Introdução
- Projetos
- Conjuntos de dados
- Pacotes de ML
- Pipelines
- Pipelines de treinamento
- Pipelines de avaliação
- Pipelines completos
- Gerenciamento de pipelines
- Fechamento do loop
- Habilidades de ML
- Logs de ML
- Document Understanding no AI Center
- Licenciamento
- Como fazer
- Guia básico de solução de problemas
Pipelines de avaliação
Guia do usuário do AI Center
Última atualização 6 de jun de 2024
Pipelines de avaliação
Um pipeline de avaliação é usado para avaliar um modelo de aprendizado de máquina treinado. Para usar esse pipeline, o pacote deve conter o código para avaliar um modelo (a função
evaluate()
no arquivo train.py). Esse código, juntamente com um conjunto de dados ou uma subpasta dentro de um conjunto de dados, produz uma pontuação (o retorno da função evaluate()
) e quaisquer saídas arbitrárias que o usuário gostaria de persistir além da pontuação.
Crie um novo pipeline de avaliação, conforme descrito aqui. Certifique-se de fornecer as seguintes informações específicas do pipeline de avaliação:
- No campo Pipeline type, selecione Execução de avaliação.
- No campo Choose evaluation dataset, selecione um conjunto de dados ou uma pasta da qual você deseja importar dados para a avaliação. Todos os arquivos nesta pasta devem estar disponíveis localmente durante o runtime do pipeline, sendo passados para o argumento para sua função
evaluate()
. - Na seção Inserir parâmetros, insira as variáveis de ambiente definidas e usadas por seu pipeline, se houver. As variáveis de ambiente são:
artifacts_directory
, com valor padrão artifacts: define o caminho para um diretório que será persistente como dados auxiliares relacionados a esse pipeline. A maioria, se não todos os usuários, nunca terá a necessidade de substituir isso por meio da UI. Qualquer coisa pode ser salva durante a execução do pipeline, incluindo imagens, PDFs e subpastas. Concretamente, quaisquer dados que seu código gravar no diretório especificado pelo caminhoos.environ['artifacts_directory']
serão carregados no final da execução do pipeline e serão visualizáveis na página Detalhes do pipeline.save_test_data
, com valor padrão false: se definido como true, a pastadata_directory
será carregada no final da execução como uma saída do pipeline no diretóriodata_directory
.
Assista ao seguinte vídeo para saber como criar um pipeline de avaliação com a versão 1.1 do pacote recém-treinado:
Observação: a execução do pipeline pode levar algum tempo. Verifique novamente depois de algum tempo para ver seu status.
Após o pipeline ter sido executado, na página Pipelines, o status do pipeline é alterado para Bem-sucedido. A página Detalhes do pipeline exibe os arquivos arbitrários e pastas relacionados à execução do pipeline. Em nosso exemplo, a execução criou um arquivo chamado
my-evaluate-artifact.txt
.
Aqui está uma execução conceitualmente análoga de um pipeline de avaliação em algum pacote, como por exemplo, a versão 1.1, a saída de um pipeline de treinamento na versão 1.0.
Importante: esse é um exemplo simplificado. Seu objetivo é ilustrar como os conjuntos de dados e pacotes interagem em um pipeline de avaliação. As etapas são meramente conceituais e não representam como a plataforma funciona.
- Copie a versão 1.1 do pacote para
~/mlpackage
. - Copie o conjunto de dados de avaliação ou a subpasta do conjunto de dados selecionado na UI para
~/mlpackage/evaluation_data
. - Execute o seguinte código python:
from train import Main m = Main() score = m.evaluate('./evaluation_data')
from train import Main m = Main() score = m.evaluate('./evaluation_data')A pontuação retornada é exibida na grade que mostra os pipelines e no arquivoresults.json
. - Os artefatos persistem se estiverem gravados, e os dados dos instantâneos, se
save_test_data
estiver definido como true.
O arquivo
_results.json
contém um resumo da execução do pipeline, expondo todas as entradas/saídas e tempos de execução para um pipeline de avaliação.
{
"parameters": {
"pipeline": "< Pipeline_name >",
"inputs": {
"package": "<Package_name>",
"version": "<version_number>",
"evaluation_data": "<storage_directory>",
"gpu": "True/False"
},
"env": {
"key": "value",
...
}
},
"run_summary": {
"execution_time": <time>, #in seconds
"start_at": <timestamp>, #in seconds
"end_at": <timestamp>, #in seconds
"outputs": {
"score": <score>, #float
"train_data": "<test_storage_directory>",
"evaluation_data": "<test_storage_directory>/None",
"artifacts_data": "<artifacts_storage_directory>",
}
}
}
{
"parameters": {
"pipeline": "< Pipeline_name >",
"inputs": {
"package": "<Package_name>",
"version": "<version_number>",
"evaluation_data": "<storage_directory>",
"gpu": "True/False"
},
"env": {
"key": "value",
...
}
},
"run_summary": {
"execution_time": <time>, #in seconds
"start_at": <timestamp>, #in seconds
"end_at": <timestamp>, #in seconds
"outputs": {
"score": <score>, #float
"train_data": "<test_storage_directory>",
"evaluation_data": "<test_storage_directory>/None",
"artifacts_data": "<artifacts_storage_directory>",
}
}
}
A pasta Artefatos, visível apenas se não estiver vazia, é uma pasta que reagrupa todos os artefatos gerados pelo pipeline e salvos na pasta
artifacts_directory
.
A pasta Conjunto de dados, existente apenas se
save_data
estiver definido com o valor true, é uma cópia da pasta do conjunto de dados de avaliação.
Como em Pipelines de treinamento, um usuário pode definir o parâmetro
save_test_data
= true
para os dados do instantâneo repassados para avaliação.