Implante um modelo ViT pré-treinado para classificação de imagens ou ajuste-o finamente com seu próprio conjunto de dados para classificar imagens em categorias personalizadas.
Pré-requisitos
Crie um bucket do OSS. Para mais informações, consulte Create buckets.
Etapa 1: Abrir a página de detalhes do modelo
-
Acesse a página Model Gallery.
Faça login no PAI console.
No canto superior esquerdo da barra de navegação superior, selecione uma região.
No painel de navegação à esquerda, clique em Workspaces e, em seguida, clique no nome do workspace desejado.
No painel de navegação à esquerda, escolha Quick Start > Model Gallery.
-
Na página Model Gallery, na seção Computer Vision, clique em Image Classification. Em seguida, clique no cartão do modelo ViT Image Classification-General para abrir a página de detalhes do modelo.

A página lista diversos modelos de diferentes comunidades open source. Escolha o modelo que melhor atende aos seus requisitos.
Modelos com mais parâmetros oferecem melhor desempenho, mas exigem mais dados para ajuste fino e geram custos de service maiores.
Quanto mais próximo o conjunto de dados de pré-treinamento estiver do seu caso de uso, melhor será o desempenho do modelo. Verifique as informações sobre o conjunto de dados de pré-treinamento na página de detalhes do modelo.
Etapa 2: Implantar o modelo diretamente
O modelo cv_vit-base_image-classification_ImageNet-labels pertence ao modelo ViT Image Classification-General da comunidade ModelScope. Ele se baseia na arquitetura Transformer ViT Base e foi treinado no conjunto de dados ImageNet-1K, oferecendo suporte a tarefas de classificação abrangidas pelos rótulos do ImageNet-1K. O Model Gallery implanta este modelo no Elastic Algorithm Service (EAS) para criar serviços de inferência. Siga estas etapas:
-
Implante o service.
Na página de detalhes do modelo, clique em Deploy.
-
Confirme as informações em Model service info e Deployment info.
O Model Gallery pré-configura recursos computacionais e um nome de service com base nas características do modelo. Use as configurações padrão para este exemplo ou personalize-as conforme necessário. Para mais informações, consulte Deploy and debug models.
-
Clique em Deploy. Na caixa de diálogo Billing Notification, clique em OK.
Você será redirecionado para a página Service details. Na seção Basic Information, aguarde até que o Status mude para Running.
-
Chame o service de modelo.
Após a implantação, envie solicitações de previsão para a API HTTP do service de modelo. O service aceita imagens codificadas em Base64 e retorna resultados no formato JSON.
-
Na página Service details, na seção Resource Information, clique em View Call Information.

Na caixa de diálogo Call Information, na aba Public network address call, salve o Endpoint e o Token.
-
Use a biblioteca Python Requests para chamar o service de modelo. Exemplo:
import requests import base64 image_path = "<PathToLocalImage>" url = "<PredictionServiceURL>" token = "<PredictionServiceAccessToken>" def encode_file_to_base64(f): with open(f, "rb") as file: encoded_string = base64.b64encode(file.read()) base64_str = str(encoded_string, "utf-8") return base64_str base64_string = encode_file_to_base64(image_path) request_body = { "image": base64_string } headers = {"Authorization": token} resp = requests.post(url=url, headers=headers, json=request_body) print(resp.content.decode()) print("status code:", resp.status_code)Substitua
urlpelo Endpoint,tokenpelo Token obtido na etapa anterior e image_path pelo caminho de um arquivo de imagem local (.png ou .jpg).Uma chamada bem-sucedida retorna os cinco rótulos mais prováveis e suas respectivas pontuações. Exemplo de saída:
{ "scores": [ 0.4078965485095978, 0.24673610925674438, 0.1930493414402008, 0.0026617543771862984, 0.0009246605914086103 ], "labels": [ "tiger cat", "tabby, tabby cat", "Egyptian cat", "lynx, catamount", "tiger, Panthera tigris" ] }
-
Etapa 3: Ajustar finamente o modelo
O modelo cv_vit-base_image-classification_ImageNet-labels oferece suporte a tarefas de classificação cobertas pelos rótulos do ImageNet-1K. Caso seu domínio alvo não esteja contemplado, ajuste finamente o modelo com um pequeno conjunto de imagens rotuladas específicas para o seu domínio.
-
Prepare os dados.
-
Organize seu conjunto de dados seguindo a estrutura de diretórios abaixo:
O treinamento do modelo utiliza dados de imagem armazenados em um bucket do OSS. Estruture o conjunto de dados em um diretório raiz contendo um subdiretório por categoria, onde o nome de cada subdiretório funciona como o rótulo da categoria. Por exemplo, se o conjunto de dados de treinamento estiver em
oss://{YourOssBucket}.{OssEndpoint}/{PathToTrainData}/, a estrutura deve ser:├── category-1 │ ├── image1.jpeg │ └── image2.jpeg ├── category-2 │ ├── image3.jpeg │ └── image4.jpeg |... |... └── category-n ├── imagexxx.jpeg └── imageyyy.jpegPara obter melhor desempenho, prepare também um conjunto de dados de validação com a mesma estrutura de diretórios para avaliar o modelo e ajustar hiperparâmetros.
Faça upload do conjunto de dados para o seu bucket do OSS respeitando a estrutura de diretórios descrita acima. Para mais informações, consulte Upload files.
-
-
Envie um job de treinamento.
-
Na página Model Details, clique em Fine-tune. Na página de configuração, especifique o Training dataset, o Validate dataset e o Output Path.
O Model Gallery pré-configura os Computing Resources e os Hyperparameters. Use os valores padrão ou personalize-os. Para mais informações, consulte Model deployment and training.
NotaPor padrão, o modelo utiliza o conjunto de dados MiniImageNet-100 para o ajuste fino, permitindo testar o processo de treinamento sem precisar preparar seus próprios dados.
-
Clique em Fine-tune.

Você será redirecionado para a página Task details, onde é possível acompanhar o progresso, os logs e os resultados da avaliação. Após a conclusão do treinamento, o modelo é salvo no Output Path especificado.

-
-
Implante o modelo ajustado.
O PAI registra automaticamente o modelo treinado em AI Assets - Model Management para visualização e implantação. Para mais informações, consulte Register and manage models.