Este tópico descreve como usar o DLC, o DSW e o NAS para realizar 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 Criar um sistema de arquivos NAS de uso geral.
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 a ser gerenciado.
No painel de navegação à esquerda, escolha .
Criar um conjunto de dados básico 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 Criar uma instância DSW.
|
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 utilize-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 a ser gerenciado.
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> Execute 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.pyrepresenta o local de armazenamento do código de treinamento. -
Dentro da 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
Marque a opção 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
Escolha PyTorch.
Job Resource
Para os recursos do job, selecione um servidor. Por exemplo, defina Resource Type como ecs.g6.xlarge em CPU e configure Nodes como 1.
Clique em Confirm.
Etapa 6: Visualize 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 alvo na seção Instance e clique em Log na coluna Actions.
Veja abaixo 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