Como executar experimentos de aprendizado profundo em um servidor Linux

Como executar experimentos de aprendizado profundo em um servidor Linux

Depois de escrever seu código, você deve executar seus experimentos de aprendizado profundo em grandes computadores com muitos recursos de RAM, CPU e GPU, geralmente um servidor Linux na nuvem.

Recentemente, me perguntaram:

“Como você executa seus experimentos de aprendizado profundo?”

Esta é uma boa pergunta básica que adoro responder.

Nesta postagem, você descobrirá a abordagem, os comandos e os scripts que utilizo para executar experimentos de aprendizado profundo no Linux.

Depois de ler esta postagem, você saberá:

  • Como projetar experimentos de modelagem para salvar modelos em arquivo.
  • Como executar um único script de experimento Python.
  • Como executar vários experimentos Python sequencialmente a partir de um script de shell.

Comece seu projeto com meu novo livro Deep Learning With Python, incluindo tutoriais passo a passo e a Código-fonte Python arquivos para todos os exemplos.

Vamos começar.

Como executar experimentos de aprendizado profundo em um servidor Linux

Como executar experimentos de aprendizado profundo em um servidor Linux
Foto de Patrik Nygren, alguns direitos reservados.

1. Servidor Linux

Eu escrevo todo o código de modelagem em minha estação de trabalho e executo todo o código em um servidor Linux remoto.

No momento, minha preferência é usar o Amazon Deep Learning AMI no EC2. Para obter ajuda na configuração deste servidor para seus próprios experimentos, consulte a postagem:

2. Código de Modelagem

Eu escrevo o código para que haja um experimento por arquivo Python.

Principalmente, estou trabalhando com grandes modelos em dados extensos, como legenda de imagens, resumo de texto e tradução automática.

Cada experimento ajustará um modelo e salvará todo o modelo ou apenas os pesos em um arquivo HDF5, para reutilização posterior se necessário.

Para obter mais informações sobre como salvar seu modelo em arquivo, consulte estas postagens:

Tento preparar um conjunto de experimentos (geralmente 10 ou mais) para executar em um único lote. Também tento separar as etapas de preparação de dados em scripts que são executados primeiro e criam versões em conserva de conjuntos de dados de treinamento, prontos para carregar e usar quando possível.

3. Executando um experimento

Cada experimento pode gerar alguns diagnósticos durante o treinamento, portanto, a saída de cada script é redirecionada para um arquivo de log específico do experimento. Eu também redireciono o erro padrão caso as coisas falhem.

Durante a execução, o interpretador Python pode não liberar a saída com frequência, especialmente se o sistema estiver sob carga. Podemos forçar a saída a ser descarregada no log usando o -você sinalizador no interpretador Python.

Executando um único script (myscript.py) tem a seguinte aparência:

Posso criar um “modelos ” e um “resultados" e atualizar os arquivos de modelo e arquivos de log a serem salvos nesses diretórios para manter o diretório de código limpo.

4. Execução de experimentos em lote

Cada script Python é executado sequencialmente.

É criado um script de shell que lista vários experimentos sequencialmente. Por exemplo:

Este arquivo seria salvo como “run.sh ”, colocado no mesmo diretório que os arquivos de código e executado no servidor.

Por exemplo, se todo o código e o script run.sh estivessem no “experimentos”Diretório do“ec2-user”Diretório inicial, o script seria executado da seguinte maneira:

O script é executado como um processo em segundo plano que não pode ser interrompido facilmente. Eu também capturo os resultados deste script, apenas no caso.

Você pode aprender mais sobre a execução de scripts no Linux nesta postagem:

E é isso.

Leitura Adicional

Esta seção fornece mais recursos sobre o tópico se você deseja se aprofundar.

Resumo

Nesta postagem, você descobriu a abordagem, os comandos e os scripts que utilizo para executar experimentos de aprendizado profundo no Linux.

Especificamente, você aprendeu:

  • Como projetar experimentos de modelagem para salvar modelos em arquivo.
  • Como executar um único script de experimento Python.
  • Como executar vários experimentos Python sequencialmente a partir de um script de shell.

Você tem alguma pergunta?
Tire suas dúvidas nos comentários abaixo e farei o possível para responder.

Desenvolva projetos de aprendizado profundo com Python!

Aprendizado profundo com Python

E se você pudesse desenvolver uma rede em minutos

... com apenas algumas linhas de Python

Descubra como em meu novo Ebook:
Aprendizado profundo com Python

Cobre projetos ponta a ponta em tópicos como:
Perceptrons Multicamadas, Redes convolucionais e Redes Neurais Recorrentes, e mais...

Finalmente leve o aprendizado profundo para
Seus Próprios Projetos

Ignore os acadêmicos. Apenas resultados.

Veja o que há dentro

Você também pode estar interessado em