Este tópico descreve como usar o DLC, o DSW e o NAS para executar transfer learning offline com base no PyTorch.
Pré-requisitos
Crie um sistema de arquivos NAS de uso geral na região desejada. Para mais informações, consulte Create a General-purpose NAS file system.
Limitações
As etapas deste tópico aplicam-se apenas a jobs executados em clusters de computação em um grupo de recursos público.
Etapa 1: Criar um conjunto de dados
-
Acesse a página Datasets.
Faça login no PAI console.
No painel de navegação à esquerda, clique em Workspaces. Na página Workspaces, clique no nome do workspace que deseja gerenciar.
No painel de navegação à esquerda, escolha .
Create a basic dataset e defina Storage Type como NAS.
Etapa 2: Criar uma instância DSW
Crie uma instância DSW e configure os seguintes parâmetros principais. Para obter detalhes sobre os demais parâmetros, consulte Create a DSW instance.
|
Parameter |
Description |
|
|
Environment Information |
Dataset Mounting |
Clique em Custom Dataset, selecione o conjunto de dados do tipo NAS criado na Etapa 1 e especifique o caminho de montagem. |
|
Working Directory |
Selecione |
|
|
Network information |
VPC Settings |
Não é necessária nenhuma configuração de VPC. |
Etapa 3: Preparar os dados
Os dados usados neste artigo estão armazenados em um local público. Baixe os dados (Baixar dados) e use-os após descompactar o arquivo.
-
Acesse o ambiente de desenvolvimento de uma instância DSW.
Faça login no PAI console.
No painel de navegação à esquerda, clique em Workspaces. Na página Workspaces, clique no nome do workspace que deseja gerenciar.
No canto superior esquerdo da página, selecione a região onde deseja usar o PAI.
No painel de navegação à esquerda, escolha .
Opcional: Na página Data Science Workshop (DSW), insira o nome de uma instância DSW ou uma palavra-chave na caixa de pesquisa para localizar a instância.
Clique em Open na coluna Actions da instância.
Na barra de menu superior do ambiente DSW, clique na aba Notebook.
-
Baixe os dados.
Na barra de ferramentas superior esquerda, clique no ícone
para criar uma pasta. Neste exemplo, nomeie a pasta como pytorch_transfer_learning.Na barra de menu superior do ambiente DSW, clique na aba Terminal para abrir um terminal.
-
No terminal, use o comando
cdpara acessar a pasta pytorch_transfer_learning e, em seguida, use o comandowgetpara baixar o conjunto de dados:cd /mnt/workspace/pytorch_transfer_learning/ wget https://pai-public-data.oss-cn-beijing.aliyuncs.com/hol-pytorch-transfer-cv/data.tar.gzA URL
https://pai-public-data.oss-cn-beijing.aliyuncs.com/hol-pytorch-transfer-cv/data.tar.gzindica o local de download do conjunto de dados.~/workspace> cd pytorch_transfer_learning/ ~/workspace/pytorch_transfer_learning> wget https://pai-public-data.oss-cn-beijing.aliyuncs.com/hol-pytorch-transfer-cv/data.tar.gz --2021-01-28 10:55:55-- https://pai-public-data.oss-cn-beijing.aliyuncs.com/hol-pytorch-transfer-cv/data.tar.gz Resolving pai-public-data.oss-cn-beijing.aliyuncs.com (pai-public-data.oss-cn-beijing.aliyuncs.com)... Connecting to pai-public-data.oss-cn-beijing.aliyuncs.com (pai-public-data.oss-cn-beijing.aliyuncs.com)|xxx|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 47237380 (45M) [application/x-gzip] Saving to: 'data.tar.gz' data.tar.gz 100%[=======================================================================>] 45.05M 16.0MB/s in 2.8s 2021-01-28 10:55:58 (16.0 MB/s) - 'data.tar.gz' saved [47237380/47237380] ~/workspace/pytorch_transfer_learning> ls data.tar.gz hol-transfer_learning_tutorial.py input LICENSE main.py output README.md ~/workspace/pytorch_transfer_learning> Use o comando
tar -xf ./data.tar.gzpara descompactar o conjunto de dados.Retorne à aba Notebook. Na árvore de diretórios à esquerda, acesse o diretório
pytorch_transfer_learning. Clique com o botão direito na pasta de dados descompactada (hymenoptera_data), selecione Rename no menu de contexto e renomeie a pasta para input.
Etapa 4: Preparar o código e a pasta de saída
-
No terminal da sua instância DSW, use o comando
wgetpara baixar o código de treinamento para a pastapytorch_transfer_learning.cd /mnt/workspace/pytorch_transfer_learning/ wget https://pai-public-data.oss-cn-beijing.aliyuncs.com/hol-pytorch-transfer-cv/main.pyonde
https://pai-public-data.oss-cn-beijing.aliyuncs.com/hol-pytorch-transfer-cv/main.pyé o local de armazenamento do código de treinamento. -
Na pasta pytorch_transfer_learning, crie uma nova pasta chamada output para armazenar o modelo treinado.
mkdir output -
Verifique se a pasta pytorch_transfer_learning contém os seguintes itens:
A pasta deve conter os seguintes arquivos e diretórios:
input: pasta dos dados de treinamento.
main.py: script de treinamento.
output: pasta para armazenar o modelo de saída.
Etapa 5: Criar um job
Faça login no PAI console. Na barra de navegação superior, selecione a região e o workspace de destino e clique em Go to DLC.
Na página do DLC, clique em Create Task.
-
Na página Create job, configure os seguintes parâmetros.
Parameter
Description
Basic Information
Job Name
Insira um nome para o job de treinamento de deep learning.
Environment Information
Node Image
Selecione Alibaba Cloud Image e escolha uma imagem PyTorch. Por exemplo, selecione
pytorch-training:1.12-gpu-py39-cu113-ubuntu20.04.Dataset
Clique em Custom Dataset e selecione o conjunto de dados NAS criado na Etapa 1.
Start Command
Defina este parâmetro como
python /mnt/data/pytorch_transfer_learning/main.py -i /mnt/data/pytorch_transfer_learning/input -o /mnt/data/pytorch_transfer_learning/output.Third-party Libraries
Selecione Third-Party Libraries e insira o seguinte conteúdo na caixa de texto.
numpy==1.16.4 absl-py==0.11.0Code Build
Nenhuma configuração é necessária.
Resource Information
Source
Selecione Public Resources.
Framework
Selecione PyTorch.
Job Resource
Para recursos do job, selecione um servidor. Por exemplo, defina Resource Type como ecs.g6.xlarge em CPU e defina Nodes como 1.
Clique em Confirm.
Etapa 6: Visualizar detalhes e logs do job
Na página Deep Learning Containers (DLC), clique no nome do seu job.
Na página de detalhes do job, visualize as informações de Basic Information e Resource Information.
-
Na parte inferior da página de detalhes do job, localize a instância de destino na seção Instance e clique em Log na coluna Actions.
Veja a seguir um exemplo da saída de log.
Epoch 5/9 ---------- train Loss: 0.4959 Acc: 0.7951 val Loss: 0.2213 Acc: 0.9150 Epoch 6/9 ---------- train Loss: 0.6845 Acc: 0.7664 val Loss: 0.5303 Acc: 0.8301 Epoch 7/9 ---------- train Loss: 0.4233 Acc: 0.8156 val Loss: 0.2569 Acc: 0.9150 Epoch 8/9 ---------- train Loss: 0.4147 Acc: 0.8443 val Loss: 0.2397 Acc: 0.9346 Epoch 9/9 ---------- train Loss: 0.3133 Acc: 0.8770 val Loss: 0.2333 Acc: 0.9346 Training complete in 3m 50s Best val Acc: 0.934641