Deep Learning Brasília - Lição 1

[ Edição do 24/03/2018 : thread “Paperspace setup help” a ler ]

[ Edição do 26/03/2018 : há 2 possibilidades para criar uma máquina no PaperSpace usando os jupyter notebooks do Fast.ai mas o passo-a-passo do @lucasosouza usando o Ubuntu 16.04 with Fast.ai Script é mais rápido porque não precisa pedir a “permissão” a PaperSpace ]


Hoje de manhã em nosso primeiro encontro, usamos o Crestle que foi bem útil.

Não criamos uma conta no PaperSpace conforme explicado nesta parte do video da lição 1 porque o processo foi alterado. Eis que o @jeremy escreveu no site fast.ai sobre isso :

You need an Nvidia GPU to complete this course, and this video shows how to set up a GPU server on a system called Paperspace. Note that the setup steps have been simplified since this video was created. You no longer need to set up the server from scratch. Instead, when prompted for a template, don’t choose ‘Ubuntu’ as shown in the video, but instead choose ‘Public Templates’ and then ‘fast.ai’. Reshama Shaikh has kindly provided written step by step instructions on the whole process.

Se puderem criar a sua conta no PaperSpace em casa antes do nosso segundo encontro, seria ótimo… e leiam bem a guia (step by step instructions on the whole process) : há um “$15 credit code” :slight_smile:

Nota : acabei de começar a criação e no momento de escolher “Public Templates >> Select icon for fast.ai”, o PaperSpace me perguntou “why” :slight_smile:
Segue um screenshot da minha resposta. Vamos esperar agora uma resposta positiva ! :slight_smile:

[ Edição do 26/03/2018 : há 2 possibilidades para criar uma máquina no PaperSpace usando os jupyter notebooks do Fast.ai mas o passo-a-passo do @lucasosouza usando o Ubuntu 16.04 with Fast.ai Script é mais rápido porque não precisa pedir a “permissão” a PaperSpace ]


2h depois, acabei de receber um email do PaperSpace autorizando o meu uso de um P4000 Linux machine.
Posso continuar a criação da minha conta PaperSpace dando meu cartão agora :wink: e seguindo a guia (step by step instructions on the whole process) para obter “$15 credit” :slight_smile:

Pessoal, aproveitando o fórum, todo feedback é bem vindo! Podemos continuar usando essa thread para discutir sobre a lição 1 e a dinâmica adotada na sala.

1 Like

Pessoal,

Alguém perguntou na aula desta terça (20/03/2016) como visualizar e executar o código dos scripts python utilizados no notebooks. Segue abaixo um roteiro de como converter o arquivo do notebook (.ipynb) para script python (.py) e como realizar as modificações necessárias para executá-lo no Crastle.

Para converter o notebook para um script python, basta seguir os passos abaixo:

  1. Na tela inicial do Jupyter, clicar no botão “>_ New Terminal” .

  2. Alterar diretório para o diretórioodo curso:
    cd courses/fastai/courses/dl1

  3. Converter notebook para script python (o script python será criado no mesmo diretório o scirpt lesson1.py)
    jupyter nbconvert --to script lesson1.ipynb

  4. Alterar backend utilizado pelo matplotlib (isto é necessário, já que não é possível mostrar os gráficos executando os scripts através do terminal):
    vim lesson1.py
    Na tela do vim, adicionar as linhas abaixo no início do arquivo, logo após a linha # coding: utf-8, e salvar o arquivo.
    import matplotlib
    matplotlib.use(‘Agg’) # Este backend evita que se tente plotar gráficos no terminal

  5. Comentar as linhas abaixo, adicionando “#” no início:
    get_ipython().run_line_magic(‘reload_ext’, ‘autoreload’)
    get_ipython().run_line_magic(‘autoreload’, ‘2’)
    get_ipython().run_line_magic(‘matplotlib’, ‘inline’)

  6. Executar o script com o ipython (é importante executar no ipython ao invés do python)
    ipython3 lesson1.py

2 Likes

Oi @lucasosouza e todos os participantes,

só para complementar o post do @lucasosouza, antes de postar nesta thead (lição 1), leiam por favor a thread Wiki Lesson 1 : é a thread criada pelos @jeremy e @rachel no fim do ano passado para conversar sobre a lição 1 (parte 1) entre professores, alunos do programa internacional e alunos do curso em presencial na universidade de San Francisco. é um mina de ouro :slight_smile:

(… e somente se tiverem tempo :wink: leiam todas as threads da Parte 1 !)

Além disso, deem uma olhada se tiverem o tempo à seção About : há 8800 pessoas registradas nesse fórum ! Que bom para obter uma resposta a qualquer dúvida :slight_smile:

Por fim, é bom conhecer todas as funções desse fórum. Por isso, além do post da @rachel (Welcome MOOC students!), há um guia online : “What is Discourse?”.

Boa leitura :slight_smile:

Cursos online e gratuitos sobre o Machine Learning :

Quer “desenvolver um Rede Neural Profunda com apenas alguns cliques” e “assistir ao treinamento dela” ? http://playground.tensorflow.org :slight_smile:

Quer comparar (e assim melhorar) a sua compreensão da lição 1 com a dos alunos do curso Fast.ai ?

Leiam DeepLearning-Lec1Notes do @timlee e Cats and Dogs code notes do @amritv :slight_smile:

1 Like

Pessoal,

Uma correção importante: essas instruções do link que o Pierre postou estão desatualizadas. Não usem o template fastai que está disponível no paperspace.

O correto é iniciar uma máquina com o template ubuntu16, e usar esse script de configuração para configurar a máquina: http://files.fast.ai/setup/paperspace

Para quem não entende muito de linux, segue um passo-a-passo básico:

  1. Inicialize a máquina usando a senha padrão que foi enviada no seu email ao contratar a máquina virtual
  2. Execute o comando passwd, para já trocar a senha padrão
  3. Execute sudo nano setup.sh para abrir um editor de text com um novo arquivo. Copie e cole o texto para esse arquivo. Aperte ctrl+x, para sair, e ao perguntar se quer salvar ou não, Y para salvar, e depois enter novamente. Isso vai criar um arquivo setup.sh.
  4. Execute sudo chmod +x setup.sh para conceder todas as permissões nesse arquivo para o usuário atual
  5. Execute ./setup.sh para rodar o arquivo. Irá levar uns 20 minutos a meia hora para baixar tudo e configurar a máquina
  6. Quando terminar, rode sudo reboot para reinicializar a máquina.

As outras partes do tutorial (https://github.com/reshamas/fastai_deeplearn_part1/blob/master/tools/paperspace.md) pode seguir. Essas instruções substituem apenas a Parte I do Tutorial.

abs

5 Likes

[ Edição do 26/03/2018 :

  1. Até aqui, podem usar 2 possibilidades para criar uma maquina PaperSpace usando os jupyter notebooks do Fast.ai.
  2. o passo-a-passo do @lucasosouza usando o Ubuntu 16.04 with Fast.ai Script é mais rápido porque não precisa pedir a “permissão” a PaperSpace.
  3. o passo-a-passo usando o Fast.ai Public Templates funciona bem também (não é desatualizado) mas precisa pedir a “permissão” a PaperSpace.
    ]

Oi @lucasosouza,

segui o seu passo-a-passo e funcionou ! Obrigado :slight_smile: (e acabei de publicar também um post para @dillon e @reshama para entender o que está falso/desatualizado no tutorial publicado).

Uma pequena correção ao ponto 4 :

Na verdade, execute

sudo chmod +x setup.sh

1 Like

Bom dia @lucasosouza, bom dia a todos,

acabei de publicar um post para @dillon (dono do PaperSpace) falando o seguinte :

Hi @dillon,

my machine created through the Fast.ai Public Templates works :slight_smile: (whatever Web browser used)

In fact, it is needed after creation of a machine (whatever the process used in order to create it) :

  1. Go to https://www.paperspace.com/console/machines/
  2. Click on the wheel of the machine you want to launch
  3. Launch the machine by clicking on the Start button in the “Machine Actions” list.
  4. When the machine is started (blue “Ready”), go back to https://www.paperspace.com/console/machines/
  5. Then, click on the small terminal image of the machine launched. The terminal will be opened and you can start using it (a bit complicated but works :wink:

Just one more point : we agree now that creating a machine through the Fast.ai Public Templates or Ubuntu 16.04 with Fast.ai Script gives the same result BUT when using the Fast.ai Public Templates, it is needed to ask the permission (read my post). Why ? Many people of the Brasilia study group wait and wait and wait a (positive) answer…

Could you solve this issue ? Many thanks.

O que isso significa ?

  1. Até aqui, podem usar 2 possibilidades para criar uma maquina PaperSpace usando os jupyter notebooks do Fast.ai.
  2. o passo-a-passo do @lucasosouza usando o Ubuntu 16.04 with Fast.ai Script é mais rápido porque não precisa pedir a “permissão” a PaperSpace.
  3. o passo-a-passo usando o Fast.ai Public Templates funciona bem também (não é desatualizado) mas precisa pedir a “permissão” a PaperSpace.

Espero que isso ajude. Abraços.

@pierreguillou e @lucasosouza
Encontro bloqueio de indisponibilidade, que requer explicar os motivos para criar uma instância com GPU, tanto usando o template Fast.ai, quanto usando o template Linux Ubuntu 16.01. Assim essa espera pela autorização do PaperSpace, após teste de validade do cartão de crédito com uma transação de U$ 1, parece ser inevitável.
Infelizmente, faço parte do grupo que não está recebendo resposta com autorização da Paperspace…

1 Like

Olá @ErickMFS,

entendo melhor : a gente precisa pedir uma vez a “permissão” a PaperSpace para usar o serviço PaperSpace (…). Acho que encontrei a razão neste post do @dillon : spammers.

Olá,

Boa tarde a todos. Tentei rodar um exemplo com um dataset de imagens de pessoas com óculos (glasses) e pessoas sem óculos(noglasses) e não obtive muito êxito. Utilizei um pequeno dataset de 15 imagens de validação e 77 imagens de treino e fiz upload na pasta no /courses/dl1/data.

Consegui realizar todos os passos, mas na hora de rodar o modelo apareceu esse erro:

Acredito que o erro pode estar na existência de um .DS_Store na pasta (utilizei um Mac para criar o arquivo).

Alguém sabe a melhor forma de deletar esse arquivo diretamente no script?
Ou vocês acreditam que pode ser outro erro?

Abs.,

@LucasNevest89, é possível executar comandos do shell no próprio Jupyter Notebook. Basta inserir um ponto de exclamação ("!") no início da linha. Portanto, podes excluir o diretório com o comando:
!rm -rf .DS_Store

Na tela inicial do Jupyter Notebook é possível também abrir um terminal (no botão “New --> Other --> Terminal”).

1 Like

Fotos da primeira lição na terça e no sábado :slight_smile:

1 Like

Muito obrigado pela dica!

Se tiro fotos e transfiro para o meu PC, como carrego para a pasta do Jupyter para poder rodar o image classifier nelas?

É uma pergunta muito básica: como carrego arquivos (imagens), que estão em pasta local no computador, para uma pasta virtual que o Jupyter utiliza? A propósito, ainda estou usando Crestle, mas estou tentando configurar Paperspace também.

Bom dia @vicohart,

uma opção é usar o comando Unix scp num Terminal.
@lucasosouza, o que pensa disso ?

Alguns recursos :
https://www.tecmint.com/scp-commands-examples/
http://www.ccp4.ac.uk/ronan/guide-sge3/node66.html

1 Like

Pessoal,

se quiser usar “Collapsable / expandable jupyter cells” em seus jupyter notebooks como os do @jeremy, instale a extensão ‘collapsible headings’ : https://github.com/ipython-contrib/jupyter_contrib_nbextensions

Passo-a-passo num Terminal :

  1. Download : pip install https://github.com/ipython-contrib/jupyter_contrib_nbextensions/tarball/master
  2. Install : jupyter contrib nbextension install --user
  3. Enable : jupyter nbextension enable collapsible_headings/main

That’s it ! :slight_smile: Pode rodar o seu jupyter notebook agora :slight_smile:

2 Likes