Como obtive minha certificação de desenvolvedor TensorFlow (e como obtê-la)

imagem



No início de maio, decidi ser certificado como desenvolvedor TensorFlow. Para isso, desenvolvi um programa de treinamento para aprimorar minhas habilidades e concluí as tarefas do exame de certificação há alguns dias (3 de junho). Acabou que eu passei no exame com sucesso.



Deixe-me contar como eu fiz e como você faz o mesmo.



Esperar. O que é o TensorFlow em geral?



O TensorFlow é um sistema de computação numérica de código aberto que permite pré-processar e modelar dados (encontre padrões nele, geralmente usando aprendizado profundo) e implante suas soluções para o mundo.



O Google usa o TensorFlow para oferecer suporte a todos os seus serviços de aprendizado de máquina. Provavelmente, o dispositivo em que você está lendo isso já usou o TensorFlow de uma forma ou de outra antes.



Geralmente, você escreve código usando o TensorFlow em Python muito compreensível (é o necessário para o exame) ou JavaScript (tensorflow.js), e executa várias funções básicas escritas em C. Essas funções executam os comandos que você descreveu anteriormente (faça muitos cálculos numéricos) .



Então agora sabemos o que é o TensorFlow, mas o que é a certificação de desenvolvedor do TensorFlow? E por que você pode estar interessado nisso?



Qual é a certificação dos desenvolvedores do TensorFlow?



A certificação de desenvolvedor do TensorFlow , como você deve ter adivinhado, é uma maneira de demonstrar sua capacidade de trabalhar com o TensorFlow.



Especificamente, sua capacidade de usar o TensorFlow (versão Python) ao criar modelos de aprendizado profundo para várias tarefas diferentes: análise de regressão, visão computacional (localização de padrões nas imagens), processamento de linguagem natural (localização de padrões no texto) e previsão de séries temporais (previsão futura) tendências, levando em consideração vários eventos passados).



Por que você precisa de um certificado de desenvolvedor TensorFlow?



A primeira razão para isso foi divertida. Tive vontade de me dar um pequeno desafio no trabalho e encontrar uma desculpa para ler o novo livro que comprei (mais sobre isso mais tarde).



Mas há duas outras boas razões:



  1. , , .
  2. .


Falando em futuros empregadores: Com base nos dados da página Quem está contratando do Hacker News (uma página que lista seleções mensais de trabalhos de desenvolvedor de software), parece que o TensorFlow está à frente de outras estruturas de aprendizado profundo.



imagem



Comparação de diferentes estruturas de aprendizado profundo com base na frequência de suas menções em diferentes publicações de trabalho na página Who's Hiring da Hacker News. Nota: A partir do TensorFlow 2.x, o Keras é essencialmente parte do TensorFlow. Nota 2: devido às atuais circunstâncias globais, a taxa geral de recrutamento de qualquer desenvolvedor de software está diminuindo.



Quero esclarecer que um certificado pago não é garantia de conseguir um emprego. No entanto, em um mundo de aprendizado on-line em que as habilidades são mercantilizadas, essa é outra maneira de mostrar o que você pode fazer.



Eu acho que essa é uma boa adição à lista existente de projetos pessoais em que você trabalhou - os cursos formam um conhecimento fundamental, os projetos formam um conhecimento concreto.



Então, como tudo isso é feito?



Como se preparar para o exame



Quando pensei que estava interessado, visitei o site do Programa de certificação e li o Guia de certificação do desenvolvedor TensorFlow.



A partir desses dois recursos, construí um currículo.



O currículo reflete o que eu estudei para desenvolver as habilidades necessárias para passar no exame.



Note-se que antes de começar a me preparar para o exame, eu tinha alguma experiência prática na construção de vários projetos com o TensorFlow.



Um profissional experiente do TensorFlow ou de aprendizado profundo provavelmente será capaz de concluir o próximo programa de treinamento no mesmo ritmo (3 semanas no total) que eu (possivelmente mais rápido).



Um iniciante pode gastar o tempo necessário. Lembre-se: adquirir qualquer habilidade que vale a pena leva tempo.



Listei os termos, custo (em dólares americanos) e nível de utilidade (para o exame) de cada recurso. O tempo é baseado na minha experiência.



Se você deseja criar um currículo para si mesmo, recomendo algo como a lista abaixo.



Nota: Os links de afiliados foram usados ​​para recursos pagos. Isso não mudará o preço do recurso para você, mas se você tiver acesso a um dos materiais, receberei uma parte desse valor: uso esse dinheiro para criar esses materiais.



1. Manual de Certificação do Desenvolvedor TensorFlow





Tempo: 1 hora.

Custo: Grátis.

Nível do utilitário: obrigatório.



Este recurso deve ser sua primeira parada. Ele descreve os tópicos que serão abordados no exame. Leia e depois leia novamente.



Se você é novo no TensorFlow e no aprendizado de máquina, provavelmente o lerá e ficará intimidado por todo tipo de coisa. Não se preocupe. Os recursos abaixo ajudarão você a se familiarizar com eles.



2. TensorFlow Coursera



Tempo: de 3 semanas (usuário avançado) a 3 meses (iniciante).



Custo: US $ 59 por mês após um teste gratuito de 7 dias, você pode solicitar suporte financeiro. Se você não pode acessar o Coursera, consulte a versão gratuita equivalente no YouTube .



Nível de utilidade: 10/10.



Este é o recurso mais relevante para o exame (e introdução ao TensorFlow em geral). O ouvinte atento notará o Guia de certificação TensorFlow, e os contornos dessa especialização são quase idênticos.



Ele é ensinado por Lawrence Moroni e Andrew Ng, dois titãs do TensorFlow e aprendizado de máquina, e se eu tivesse que escolher apenas um recurso para se preparar para o exame, esse seria o curso.



Gostei muito do formato de vídeo curto e foquei em exemplos práticos o mais rápido possível. Inúmeros arquivos de código no final de cada seção serão de grande ajuda para qualquer aluno que estiver aprendendo.



Dica para exercícios de programação: não basta preencher as lacunas do código, mas escrever tudo você mesmo.



3. Aprendizado de máquina prático com o Scikit-Learn, Keras e TensorFlow 2nd Edition .





Tempo: 3 semanas (leitura de capa a capa, sem exercício) a 3 meses (leitura de capa a capa e realização dos exercícios).



Custo: os preços variam na Amazon, mas eu comprei a versão em papel por US $ 55. Todo o código pode ser visualizado gratuitamente no GitHub .



Utilidade: 7/10 (apenas porque alguns capítulos não são específicos para o exame).



Um livro com mais de 700 páginas cobre quase todos os aspectos do treinamento em informática e, portanto, alguns tópicos não relacionados ao exame. Mas é uma leitura obrigatória para qualquer pessoa interessada em estabelecer uma base sólida para o futuro do aprendizado de máquina, e não apenas passar no exame.



Se você é novo no aprendizado de máquina, provavelmente encontrará dificuldades para ler este livro (no início). Novamente, não se preocupe, você não tem para onde correr, o aprendizado de habilidades úteis leva tempo.



Digamos apenas: se você quiser ter uma idéia da qualidade do livro, li a primeira edição da manhã quando fui trabalhar como engenheiro de aprendizado de máquina. E posso dizer que o que mais li no livro foi útil durante o dia útil.



A segunda edição não é diferente, exceto que foi atualizada para abranger as mais recentes ferramentas e técnicas, a saber, o TensorFlow 2.x - que é a base do exame.



Se você deseja apenas os capítulos relevantes para o exame, leia o seguinte:



  • Capítulo 10: Introdução às redes neurais artificiais com Keras
  • Capítulo 11: treinamento em redes neurais profundas
  • Capítulo 12: Modelos personalizados e treinamento com o TensorFlow
  • Capítulo 13: Carregando e pré-processando dados com o TensorFlow
  • Capítulo 14: Visão Computacional Profunda Usando Redes Neurais Convolucionais
  • Capítulo 15: Processamento de sequência usando redes neurais recorrentes e convolucionais
  • Capítulo 16: Processamento de texto em linguagem natural usando redes neurais recorrentes e atenção


Mas para um estudante sério, sugiro ler o livro inteiro e fazer os exercícios (talvez não todos, mas aqueles que melhor se adequam aos seus interesses).



4. Introdução à aprendizagem profunda do MIT



Tempo: de 3 horas (assisti apenas a 3 palestras) a um dia (1 hora para cada palestra, mais uma hora para a revisão).



Custo: Grátis.



Nível de utilidade: 8/10.



Um curso de aprendizado profundo de classe mundial de uma universidade de classe mundial. Esqueci de mencionar que é grátis?



As três primeiras palestras, seções sobre aprendizado profundo (visão geral), redes neurais convolucionais (geralmente usadas para visão computacional) e redes neurais recorrentes (geralmente usadas para processamento de texto) são as mais importantes para o exame.



Mais uma vez, seria benéfico para o ouvinte diligente concluir o curso inteiro.



Verifique os laboratórios e o código que eles oferecem no GitHub, especialmente a Introdução ao TensorFlow... Mais uma vez, não consigo articular completamente a importância da auto-codificação.



5. Introdução ao PyCharm





Tempo: 3 horas (dependendo da velocidade do seu computador).



Custo: Grátis.



Nível de utilidade : 10/10 (o uso do PyCharm é obrigatório).



O teste é realizado no PyCharm (uma ferramenta de desenvolvimento Python). Eu nunca havia usado o PyCharm antes do exame, e sugere-se que você se familiarize com ele pelo menos um pouco antes de iniciar o exame.

Para conhecer o PyCharm, assisti a uma série de vídeos introdutórios no YouTube, e eles foram bem diretos: "É isso que este botão faz".



Mas os principais testes foram verificar se o TensorFlow 2.x funciona sem problemas, além da capacidade de trabalhar com redes neurais profundas em um período de tempo razoável (meu MacBook Pro não possui uma GPU Nvidia).



Para testar esses aspectos, copiei os dois manuais TensorFlow a seguir na minha máquina local:



  1. Classificação de imagem com TensorFlow
  2. Classificação de texto com TensorFlow


No entanto, como veremos abaixo, assim que comecei a fazer o exame, tive um problema.



Além disso



Vídeo do deeplearning.ai no Coursera / YouTube - O exame envolve a execução de tarefas de programação (você precisa escrever o código Python), mas se você quiser saber o que acontece nos bastidores do código que você escreve (álgebra linear, cálculo), eu veria esses vídeos sempre que possível. Por exemplo, se você não sabe o que é a descida do gradiente de mini-lote, pesquise “descida do gradiente de mini-lote



deeplearning.aiDocumentação do TensorFlow - se você for se tornar um praticante do TensorFlow, precisará ler a documentação. Se você não entender alguma coisa, escreva o código e comente você mesmo.



Programando com TensorFlow no YouTube (lista de reprodução) Grande parte da especialização TensorFlow com o Coursera nos vídeos do YouTube é ministrada pelo mesmo professor.



Como eu me preparei para o exame



Armado com os recursos acima, fiz um plano no Noção .



imagem



Programa de preparação para a certificação My Notion TensorFlow. Para rastrear o que precisa ser feito, usei a técnica kanban, além de vários recursos e notas. Se você seguir o link, poderá fazer sua própria cópia clicando no botão "duplicar" no canto superior direito.



Todas as manhãs em maio eu me levantava, escrevia, caminhava, li o livro “Aprendizado prático de máquina” por 1 hora, trabalhei com o TensorFlow por 2 a 3 horas na prática (primeiro participei de palestras e depois fiz todos os exercícios de codificação no Google Colab), e em no final de cada módulo, assistiu à palestra correspondente Introdução ao Deep Learning do MIT.



Por exemplo, assim que terminei a seção de visão computacional da especialização prática no TensorFlow, assisti a uma palestra sobre redes neurais convolucionais (um tipo de algoritmo de visão computacional) do MIT.



Essa abordagem tripla provou ser particularmente eficaz.



O conceito aprendido no livro foi reforçado com exemplos de código da Coursera Specialization e, finalmente, resumido em um vídeo do MIT.



Para ter uma idéia do momento, comecei a me preparar para o exame em 11 de maio e passei em 3 de junho.



De acordo com minhas observações (em Noção) e de acordo com meus favoritos escritos à mão, em média estudei 20 páginas por hora e tomei cerca de 1 semana de conteúdo do curso por 2-3 horas de estudo (sem distrações).



Finalmente, alguns dias antes do exame, baixei o PyCharm e verifiquei se algumas das amostras de código que eu estudava funcionavam na minha máquina local.



Detalhes - o que acontece durante o próprio exame



Então, você terminou seu treinamento? O que agora?



Bem, vamos começar com dois fatores importantes.



Custo do exame: US $ 100 (após uma tentativa com falha, você terá que esperar duas semanas para tentar novamente, a cada tentativa com falha, o tempo de espera aumentará).



Tempo: 5 horas. Se não fosse o erro no início do exame, eu diria que teria passado facilmente em três horas. No entanto, o aumento do limite de tempo deve fornecer tempo suficiente para você treinar modelos de aprendizado profundo em seu computador (verifique se tudo funciona antes do início do exame).



Como é organizado o exame?



Não vou revelar muito aqui, porque não seria justo. Tudo o que tenho a dizer é ler a Referência do desenvolvedor do TensorFlow e você terá uma compreensão clara das principais seções do exame.



Pratique cada uma das tecnologias mencionadas no guia (usando os recursos mencionados acima) e você estará pronto.



Nuances do exame



Treinamento de modelo - Se o seu computador não conseguir treinar rapidamente modelos de aprendizado profundo (parte dos critérios de avaliação é a apresentação de modelos treinados), você poderá treiná-los no Google Colab usando uma GPU de nuvem gratuita e carregá-los colocando-os nos catálogos apropriados para o exame e enviar via PyCharm.



Meu intérprete de Python quebrado - O material de preparação para o exame enfatiza que o Python 3.7 é necessário para passar no exame. Quando eu comecei, tinha o Python 3.7.3. E, por alguma razão, apesar do TensorFlow ter funcionado no dia anterior na minha máquina local usando PyCharm, após o exame (que cria automaticamente um ambiente TensorFlow para você), tudo quebrou.



Ou seja, toda vez que executei pelo menos uma linha do código TensorFlow, recebi um erro:



RuntimeError: dictionary changed size during iteration


No momento, não tenho certeza se esta é a versão do TensorFlow que o exame instalou (2.0.0) ou a versão específica do Python que eu tinha (3.7.3).



No entanto, depois de algumas maldições e uma pesquisa tumultuada nas profundezas do antigo thread sobre problemas no GitHub , encontrei uma correção estranha que significava que precisaria alterar o código-fonte da versão do Python que usei (em particular, a linha 48 do lincache.py ) .



# Previous line 48 of lincache.py
for mod in sys.modules.values():
# Updated line 48 of linecache.py
for mod in list(sys.modules.values()): # added list()


Observação: essa é uma solução rápida, pois foi usada apenas durante a duração do exame, por isso não tenho certeza se possui benefícios a longo prazo ou se leva a consequências.



Durante minha pesquisa frenética, também li que a alternativa é atualizar / reinstalar a versão do TensorFlow que você está usando no PyCharm (por exemplo, 2.0.0 -> 2.2.x). Tentei e, no entanto, não funcionou como novo no PyCharm, admito que me enganei em algo como usuário.



Depois de corrigi-lo, consegui concluir o exame sem nenhum problema.



O que acontece depois que você termina o exame



Você receberá uma notificação por e-mail quando / se for aprovado no exame. Não haverá comentários, exceto "Parabéns, você passou" ou "Infelizmente, desta vez você não passou".



Sem consequências negativas, durante o exame você receberá instruções bastante claras - será aprovado ou não (toda vez que apresentar um modelo, ele recebe uma nota).



Se você passar, eu te parabenizo!



Certifique-se de preencher o formulário no email para garantir que você foi adicionado à rede de desenvolvedores certificados TensorFlow.



Depois de passar no exame e preencher o formulário no e-mail de confirmação, em algumas semanas você poderá acessar a Rede de Certificação do Google Developers .



imagem



Nota: No momento da redação, eu não estava lá. Vai demorar 1-2 semanas.



O registro significa que quem procura desenvolvedores experientes do TensorFlow poderá encontrá-lo com base no seu tipo de certificação, experiência e região.



Finalmente, dentro de algumas semanas, você receberá um certificado oficial e o selo do desenvolvedor do TensorFlow por e-mail (ainda não recebi o meu). Você pode adicioná-los aos projetos nos quais você está trabalhando.



Questões



Posso apenas fazer cursos, ler um livro e praticar sozinho? Preciso mesmo de um certificado?



Claro que você pode. No final, você deve procurar habilidades, não certificados. A certificação é boa, mas não é necessária.



Se você diz que o certificado não é necessário - por que você o recebeu?



Eu gosto de ter um desafio e trabalhar para lidar com isso. A atribuição de uma data (por exemplo, "Eu passei no exame em 3 de junho") me deixou sem opção a não ser estudar.



Posso fazer isso com recursos gratuitos?



Certamente você pode. Você pode adquirir todas as habilidades necessárias estudando a documentação do TensorFlow. De fato, quando preciso praticar alguma coisa, copio exemplos da documentação (cada linha de código), elaboro um entendimento de cada linha e tento repetir o que me vi.



Por que não o PyTorch?



Eu amo o PyTorch. Mas eles não oferecem certificação e, se o fizessem, eu provavelmente teria passado (por diversão). Além disso, um usuário experiente de ambas as estruturas (PyTorch e TensorFlow) notará que atualizações recentes tornaram as duas estruturas muito semelhantes. Além disso, o TensorFlow tem uma vantagem no mundo corporativo (veja o gráfico acima).



Não sei nada sobre aprendizado de máquina, por onde posso começar?



Leia o artigo“5 etapas do aprendizado de máquina para iniciantes .



Passei no exame e me registrei na Rede de certificação do Google Developers, o que devo fazer em seguida?



É hora de criar! Use as habilidades adquiridas para criar o que você gostaria de ver no mundo. E não se esqueça de compartilhar seu trabalho, você nunca sabe quem os verá.



Não mencionou algo? Sinta-se livre para deixar comentários ou fazer perguntas por e-mail. E eu responderei.



PS, se você preferir assistir a vídeos, criei uma versão em vídeo deste artigo.





imagem



Descubra os detalhes de como obter uma profissão de alto nível do zero ou subir de nível em habilidades e salário fazendo os cursos on-line pagos do SkillFactory:











All Articles