Este post visa a descrever alguns passos básicos para disponibilizar um computador para processamento de modelos de aprendizado profundo (deep learning) que pode ser acessado remotamente por uma equipe que trabalha com Inteligência Artificial.
Este post é inspirado em: How to build a deep learning server based on Docker
Não vou tratar aspectos de hardware.
Vamos ao passo-a-passso.
1- Sistema operacional Linux
Irei usar o Ubuntu 20.04LTS desktop. Recomendo fortemente a versão que for LTS (Long-Term Support), pois isso irá garantir suporte por mais tempo.
Obs.: Usar a versão server exige mais esforço administrativo, eu recomendo que seja usada quando você já sabe antecipadamente os usos do equipamento caso envolva pesquisa ou uso exploratório de deep learning a versão desktop facilita um pouco a vida.
2- Ativar Firewall
É altamente recomendavel ativar o Firewall UFW
Primeiro vamos deixar permitr o acesso remoto via SSH:
sudo ufw allow ssh
Agora vamos deixar permitr o acesso remoto via NoMachine (mais informações abaixo):
sudo ufw allow 4000/tcp
sudo ufw allow 4443/tcp
Para ativar use:
sudo ufw enable
Dica:
Caso precise desabilitar o Firewall durante algum debug use: sudo ufw disable
Para saber o estatus do Firewall use: sudo ufw status verbose
Para negar acesso use deny no lugar de allow.
3- Acesso Remoto SSH
Um equipamento com esta finalidade que vai ser acessado por uma equipe precisa ser acessado remotamente e a forma mais básica é com o shell e com segurança, para isso instale o Secure Shell (SSH):
sudo apt update
sudo apt install openssh-server
sudo apt-get install sshfs
Teste: em um outro computador Linux (funciona também a partir do Windows 10 command prompt ou PowerShell) use:
ssh username@ip_address
4- Instale o Screen
5- Acesso Remoto Gráfico
Pela interface gráfica:
Download o NoMachine para Linux eu usei o NoMachine para Linux DEB amd64
Instale o NoMachine, com duplo clique sobre o arquivo, no meu caso o arquivo que baixei foi:
nomachine_7.1.3_1_amd64.deb
E clique em install.
Também instale no computador que você vai usar para acessar o equipamento de deep learning.
OU
Por linha de comando
https://www.nomachine.com/pt-pt/download/download&id=1
Download o NoMachine para Linux eu usei o NoMachine para Linux DEB amd64
e copiei na máquina (usando o sshfs), no meu caso eu baixei:
nomachine_7.8.2_1_i686.tar.gz
sudo cp -p nomachine_7.8.2_1_i686.tar.gz /usr
cd /usr
sudo tar zxf nomachine_7.8.2_1_i686.tar.gz
sudo /usr/NX/nxserver --install
Mais informaçoes .: Install, update e uninstall via linha de comando no Ubuntu: 2.6. DEB Packages
5- Duck DNS
Acesse DuckDNS efetue o login e crie um nome para o domínio.
Para instalar siga as intruções:
ps -ef | grep cr[o]n
crie um diretório duckdns:
cd /etc
sudo mkdir duckdns
sudo chmod 777 duckdns
Entre no diretório:
cd duckdns
Instale o curl:
sudo apt install curl
Crie um arquivo duck.sh no diretório duckdns incluindo o seguinte conteúdo, trocando o domain e o token pelos que você criou:
echo url="https://www.duckdns.org/update?domains=exampledomain&token=a7c4d0ad-114e-40ef-ba1d-d217904a50f2&ip=" | curl -k -o /etc/duckdns/duck.log -K -
Mude a permissão do arquivo para que ele possa ser executado
sudo chmod 777 duck.sh
Programe o cron para que o arquivo duck.sh seja executado a cada 5 min
crontab -e
Selecione o editor nano
copie o seguinte texto no final do arquivo:
*/5 * * * * /etc/duckdns/duck.sh >/dev/null 2>&1
pressione:
CRTL + o para salvar
e
CRTL + x para sair
Para testar use o comando:
./duck.sh
Veja se o conteúdo do log é OK (quer dizer que funcionou) se for KO reveja o token e o dominio se estão corretos no arquivo duck.sh
cat duck.log
Estando OK, delete o arquivo duck.log e veja se ele é gerado novamente depois de 5 minutos, examine o conteúdo se é OK.
Neste ponto pode ser necessário fazer um redirecionamento de porta para que seja possível acessar um computador da rede interna com uma conexão da internet.
6- Instalando NVIDIA driver
Instruções aqui: guia de instalação.
Driver:
Faça o download do driver na própria máquina, pois ele detecta automaticamente.
O arquivo tem a exetensão NVIDIA-Linux-<alguma coisa>.run
chmod 700 NVIDIA-Linux-<alguma coisa>.run
sudo ./NVIDIA-Linux-<alguma coisa>.run
Para instalação do CUDA siga as instruções daqui.
7- Adicione Hard Disks
8- Mudando nome do computador
use CRTL+O para savar e CRTL+X para sair.
9- Mudando nome do usuário root
10- Configure máquina para ligar automaticamente quando tiver queda de energia
- Ligue a máquina e pressione Delete ou F2 - Entra configuração da BIOS
- F7 para entrar em Advanded Mode
- APM Configuration
- Restore AC Power Loss -> Last State
Nenhum comentário:
Postar um comentário