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
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:
python -u myscript.py> myscript.py.log 2> & 1 |
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:
#! / bin / sh
# experimentos executados python -u myscript1.py> myscript1.py.log 2> & 1 python -u myscript2.py> myscript2.py.log 2> & 1 python -u myscript3.py> myscript3.py.log 2> & 1 python -u myscript4.py> myscript4.py.log 2> & 1 python -u myscript5.py> myscript5.py.log 2> & 1 |
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:
nohup /home/ec2-user/experiments/run.sh> /home/ec2-user/experiments/run.sh.log dev / null 2> & 1 & |
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.