Début mai, j'ai décidé d'obtenir un certificat de développeur TensorFlow. Pour cela, j'ai développé un programme de formation pour améliorer mes compétences et terminé les tùches d'examen de certification il y a quelques jours (3 juin). Il s'est avéré que j'ai réussi l'examen.
Laissez-moi vous dire comment je l'ai fait et comment vous faites de mĂȘme.
Attendez un moment. Qu'est-ce que TensorFlow de toute façon?
TensorFlow est un systÚme numérique open source qui vous permet de prétraiter et de modéliser les données (y trouver des modÚles, généralement grùce à l'apprentissage en profondeur), ainsi que de déployer vos solutions pour le monde entier.
Google utilise TensorFlow pour prendre en charge tous ses services d'apprentissage automatique. TrÚs probablement, l'appareil sur lequel vous lisez ceci a utilisé TensorFlow sous une forme ou une autre auparavant.
Habituellement, vous écrivez du code à l'aide de TensorFlow en Python trÚs compréhensible (c'est ce qui est requis pour l'examen) ou JavaScript (tensorflow.js), et il exécute un certain nombre de fonctions de base écrites en C. Ces fonctions exécutent les commandes que vous avez décrites précédemment (faites beaucoup de calculs numériques) ...
Alors maintenant, nous savons ce qu'est TensorFlow, mais qu'est-ce que la certification de développeur TensorFlow? Et pourquoi cela pourrait-il vous intéresser?
Qu'est-ce que la certification de développeur TensorFlow?
La certification des dĂ©veloppeurs TensorFlow , comme vous l'avez peut-ĂȘtre devinĂ©, est un moyen de dĂ©montrer votre capacitĂ© Ă travailler avec TensorFlow.
En particulier, votre capacitĂ© Ă utiliser TensorFlow (la version Python) lors de la crĂ©ation de modĂšles d'apprentissage profond pour un certain nombre de tĂąches diffĂ©rentes: analyse de rĂ©gression, vision par ordinateur (recherche de modĂšles dans les images), traitement du langage naturel (recherche de modĂšles dans le texte) et prĂ©vision de sĂ©ries chronologiques (prĂ©vision de l'avenir tendances tenant compte dâun certain nombre dâĂ©vĂ©nements passĂ©s).
Pourquoi avez-vous besoin d'un certificat de développeur TensorFlow?
La premiÚre raison en était amusante. Je voulais me donner un petit défi dans mon travail et trouver une raison de lire le nouveau livre que j'ai acheté (plus à ce sujet plus tard).
Mais il y a deux autres bonnes raisons:
- , , .
- .
En parlant de futurs employeurs: sur la base des données de la page Who's Hiring de Hacker News (une page qui répertorie les sélections mensuelles de postes de développeurs de logiciels), il semble que TensorFlow soit en avance sur d'autres frameworks d'apprentissage en profondeur.
Comparaison de différents cadres d'apprentissage en profondeur en fonction de la fréquence de leurs mentions dans différentes publications de travail sur la page Who's Hiring de Hacker News. Remarque: à partir de TensorFlow 2.x, Keras fait essentiellement partie de TensorFlow. Remarque 2: En raison de la situation mondiale actuelle, le taux de recrutement global de tout développeur de logiciels est en baisse.
Je tiens Ă prĂ©ciser quâun certificat rĂ©munĂ©rĂ© nâest pas une garantie dâobtenir un emploi. Cependant, dans un monde d'apprentissage en ligne oĂč les compĂ©tences sont marchandisĂ©es, c'est une autre façon de montrer ce que vous pouvez faire.
Je pense que c'est un bel ajout à la liste existante des projets personnels sur lesquels vous avez travaillé - les cours forment des connaissances fondamentales, les projets forment des connaissances concrÚtes.
Alors, comment tout cela se fait-il?
Comment se préparer à l'examen
Lorsque j'ai décidé que j'étais intéressé, j'ai visité le site Web du programme de certification et lu le guide de certification des développeurs TensorFlow.
Ă partir de ces deux ressources, j'ai construit un curriculum.
Le programme reflÚte ce que j'ai appris pour développer les compétences requises pour réussir l'examen
Il convient de noter qu'avant de commencer à préparer l'examen, j'avais une expérience pratique dans la construction de plusieurs projets avec TensorFlow.
Un spĂ©cialiste TensorFlow expĂ©rimentĂ© ou un praticien de l'apprentissage en profondeur sera probablement en mesure de terminer le prochain programme Ă peu prĂšs au mĂȘme rythme (3 semaines au total) que moi (peut-ĂȘtre plus rapidement).
Un débutant peut passer autant de temps qu'il le faut. N'oubliez pas: l'acquisition de toute compétence utile prend du temps.
J'ai énuméré le calendrier, le coût (en dollars américains) et le niveau d'utilité (pour réussir l'examen) pour chaque ressource. Le timing est basé sur mon expérience.
Si vous souhaitez crĂ©er un programme pour vous-mĂȘme, je recommanderais quelque chose comme la liste ci-dessous.
Remarque: Des liens d'affiliation ont été utilisés pour les ressources payantes. Cela ne changera pas le prix de la ressource pour vous, mais si vous avez accÚs à l'un des matériaux, je recevrai une partie de ce montant: j'utilise cet argent pour créer de tels matériaux.
1. Guide de certification des développeurs TensorFlow
Durée: 1 heure.
Coût: gratuit.
Niveau d'utilité: requis.
Cette ressource devrait ĂȘtre votre premier arrĂȘt. Il dĂ©crit les sujets qui seront traitĂ©s dans l'examen. Lisez-le, puis relisez-le.
Si vous ĂȘtes nouveau dans TensorFlow et l'apprentissage automatique, vous le lirez probablement et serez intimidĂ© par toutes sortes de choses. Ne t'en fais pas. Les ressources ci-dessous vous aideront Ă vous familiariser avec elles.
2. TensorFlow Coursera
Durée: de 3 semaines (utilisateur avancé) à 3 mois (débutant).
Coût: 59 $ par mois aprÚs un essai gratuit de 7 jours, vous pouvez demander un soutien financier. Si vous ne pouvez pas accéder à Coursera, consultez la version gratuite équivalente sur YouTube .
Niveau d'utilité: 10/10.
Il s'agit de la ressource la plus pertinente pour l'examen (et pour démarrer avec TensorFlow en général). L'auditeur attentif remarquera le guide de certification TensorFlow, et les contours de cette spécialisation sont presque identiques.
Il est enseigné par Lawrence Moroney et Andrew Ng, deux titans de TensorFlow et de l'apprentissage automatique, et si je devais choisir une seule ressource pour me préparer à l'examen, ce serait ce cours.
J'ai apprécié le format vidéo court et me suis concentré sur des exemples pratiques dÚs que possible. De nombreux fichiers de code à la fin de chaque section seront trÚs utiles pour tout étudiant étudiant en pratique.
Conseil pour l'exercice de programmation: ne remplissez pas simplement les espaces vides dans votre code, mais Ă©crivez tout vous-mĂȘme.
3. Apprentissage automatique pratique avec Scikit-Learn, Keras et TensorFlow 2e Ă©dition .
Durée: 3 semaines (lecture de couverture à couverture, pas d'exercice) à 3 mois (lecture de couverture à couvrir et faire les exercices).
CoĂ»t: les prix d' Amazon varient, mais j'ai achetĂ© une version papier pour 55 $. Tout le code peut ĂȘtre consultĂ© gratuitement sur GitHub .
Utilité: 7/10 (juste parce que certains chapitres ne sont pas spécifiques à l'examen).
Le livre fait plus de 700 pages et couvre presque tous les aspects de l'apprentissage par ordinateur et donc certains sujets non liés aux examens. Mais c'est une lecture incontournable pour quiconque souhaite jeter des bases solides pour l'avenir de l'apprentissage automatique, pas seulement pour réussir l'examen.
Si vous ĂȘtes nouveau dans l'apprentissage automatique, il vous sera trĂšs probablement difficile de lire ce livre (au dĂ©but du voyage). Encore une fois, ne vous inquiĂ©tez pas, vous n'avez nulle part oĂč vous prĂ©cipiter, l'apprentissage de compĂ©tences utiles prend du temps.
Disons-le de cette façon: si vous voulez avoir une idée de la qualité du livre, j'ai lu la premiÚre édition le matin alors que je conduisais pour travailler en tant qu'ingénieur en apprentissage automatique. Et je peux dire que le plus souvent au cours de la journée de travail, j'ai trouvé utile ce que j'ai lu dans le livre.
La deuxiÚme édition n'est pas différente, sauf qu'elle a été mise à jour pour couvrir les derniers outils et techniques, à savoir TensorFlow 2.x, sur lequel l'examen est basé.
Si vous ne voulez que les chapitres pertinents pour l'examen, vous voudrez lire ce qui suit:
- Chapitre 10: Introduction aux réseaux de neurones artificiels avec Keras
- Chapitre 11: Formation sur les réseaux de neurones profonds
- Chapitre 12: ModÚles personnalisés et formation avec TensorFlow
- Chapitre 13: Chargement et prétraitement des données avec TensorFlow
- Chapitre 14: Vision par ordinateur profonde à l'aide de réseaux de neurones convolutifs
- Chapitre 15: Traitement de séquence à l'aide de réseaux de neurones récurrents et convolutionnels
- Chapitre 16: Traitement de texte en langage naturel à l'aide de réseaux de neurones récurrents et de l'attention
Mais pour un Ă©tudiant sĂ©rieux, je suggĂ©rerais de lire tout le livre et de faire les exercices (peut-ĂȘtre pas tous, mais ceux qui correspondent le mieux Ă vos intĂ©rĂȘts).
4. Introduction Ă l'apprentissage en profondeur du MIT
Durée: de 3 heures (je n'ai regardé que 3 conférences) à un jour (1 heure pour chaque conférence, plus une heure pour un examen).
Coût: gratuit.
Niveau d'utilité: 8/10.
Un cours d'apprentissage en profondeur de classe mondiale d'une université de classe mondiale. Je n'ai pas oublié de mentionner que c'est gratuit?
Les 3 premiÚres conférences, sections sur l'apprentissage profond (aperçu), les réseaux de neurones convolutionnels (généralement utilisés pour la vision par ordinateur) et les réseaux de neurones récurrents (généralement utilisés pour le traitement de texte) sont les plus importants pour l'examen.
Mais, encore une fois, pour un auditeur assidu, il serait utile de terminer l'ensemble du cours.
N'oubliez pas de consulter les laboratoires et le code qu'ils proposent sur GitHub, en particulier l' introduction Ă TensorFlow. Encore une fois, je ne peux pas exprimer pleinement l'importance de l'auto-codage.
5. Premiers pas avec PyCharm
Durée: 3 heures (selon la vitesse de votre ordinateur).
Coût: gratuit.
Niveau d'utilité: 10/10 (l'utilisation de PyCharm est obligatoire).
L'examen se déroule dans PyCharm (outil de développement Python). Je n'avais jamais utilisé PyCharm avant l'examen, et il est suggéré de vous familiariser avec au moins un peu avant de commencer l'examen.
Pour découvrir PyCharm, j'ai regardé une série de vidéos d'introduction sur YouTube, et elles étaient trÚs simples: "C'est ce que fait ce bouton."
Mais les principaux tests ont permis de vérifier que TensorFlow 2.x fonctionne sans problÚme, ainsi que de pouvoir travailler avec des réseaux de neurones profonds dans un délai raisonnable (mon MacBook Pro n'a pas de GPU Nvidia).
Pour tester ces aspects, j'ai copié les deux manuels TensorFlow suivants sur ma machine locale:
Cependant, comme nous le verrons ci-dessous, dÚs que j'ai commencé à passer l'examen, j'ai rencontré un problÚme.
aditionellement
Vidéo de deeplearning.ai sur Coursera / YouTube - un examen implique des tùches de programmation (vous devez écrire du code Python), mais si vous voulez savoir ce qui se passe dans les coulisses du code que vous écrivez (algÚbre linéaire, analyse mathématique), je regarderais ces vidéos chaque fois que possible. Par exemple, si vous ne savez pas ce qu'est une descente en gradient avec des mini-packages, recherchez la
documentation TensorFlow «deeplearning.ai mini-batch gradient descente» - si vous avez l'intention de devenir un praticien TensorFlow, vous devez pouvoir lire la documentation. Si vous ne comprenez pas quelque chose, Ă©crivez un code et commentez-le vous-mĂȘme.
Programmation avec TensorFlow sur YouTube (playlist) - La majeure partie de la spĂ©cialisation TensorFlow avec Coursera dans les vidĂ©os YouTube est enseignĂ©e par le mĂȘme professeur.
Comment me suis-je préparé à l'examen
Armé des ressources ci-dessus, j'ai fait un plan dans Notion .
Programme de prĂ©paration Ă la certification My Notion TensorFlow. Pour garder une trace de ce qui doit ĂȘtre fait, j'ai utilisĂ© la technique du kanban, ainsi que diverses ressources et notes. Si vous suivez le lien, vous pouvez faire votre propre copie en cliquant sur le bouton dupliquer dans le coin supĂ©rieur droit.
Chaque matin en mai, je me levais, écrivais, marchais, lisais le livre "Practical Machine Learning" pendant 1 heure, travaillais avec TensorFlow pendant 2-3 heures en pratique (j'ai d'abord assisté à des conférences puis fait tous les exercices de codage dans Google Colab), et à la fin de chaque module, j'ai regardé la conférence correspondante «Introduction to Deep Learning» du MIT.
Par exemple, dÚs que j'ai terminé la section de vision par ordinateur dans le cadre de la spécialisation pratique TensorFlow, j'ai regardé une conférence sur les réseaux de neurones convolutifs (un type d'algorithme de vision par ordinateur) du MIT.
Cette triple approche s'est avérée particuliÚrement efficace.
Le concept étudié dans le livre a été renforcé par des exemples de code de la spécialisation Coursera et, finalement, résumé par du matériel vidéo du MIT.
Pour avoir une idée du moment choisi, j'ai commencé à me préparer à l'examen le 11 mai et je l'ai réussi le 3 juin.
D'aprĂšs mes observations (dans Notion) et selon mes signets manuscrits, j'Ă©tudiais en moyenne 20 pages par heure et prenais environ 1 semaine de contenu de cours pour 2-3 heures d'Ă©tude (sans distractions).
Enfin, quelques jours avant l'examen, j'ai téléchargé PyCharm et je me suis assuré que plusieurs des exemples de code que j'avais étudiés fonctionnaient sur ma machine locale.
DĂ©tails - ce qui se passe pendant l'examen lui-mĂȘme
Alors, avez-vous terminé votre formation? Maintenant quoi?
Eh bien, commençons par deux facteurs importants.
Coût de l'examen: 100 $ (aprÚs une tentative infructueuse, vous devrez attendre 2 semaines pour réessayer, à chaque tentative infructueuse, le temps d'attente augmentera).
Durée: 5 heures. S'il n'y avait pas eu d'erreur au début de l'examen, je dirais que je le passerais calmement en 3 heures. Cependant, l'augmentation de la limite de temps devrait vous donner suffisamment de temps pour former des modÚles d'apprentissage en profondeur sur votre ordinateur (assurez-vous donc que tout fonctionne avant le début de l'examen).
Comment l'examen est-il organisé?
Je ne vais pas révéler grand chose ici car ce ne serait pas juste. Tout ce que je dirai, c'est de lire le manuel du développeur TensorFlow et vous aurez une idée claire des principales sections de l'examen.
Pratiquez chacune des technologies mentionnĂ©es dans le manuel (en utilisant les ressources mentionnĂ©es ci-dessus) et vous serez prĂȘt.
Les nuances de l'examen
Formation aux modÚles - Si votre ordinateur ne peut pas enseigner rapidement des modÚles d'apprentissage approfondi (une partie des critÚres d'évaluation est la présentation des modÚles formés), vous pouvez les former dans Google Colab à l'aide d'un GPU cloud gratuit, puis les télécharger en les plaçant dans les catalogues appropriés pour l'examen et envoyer via PyCharm.
My Broken Python Interpreter - Le matĂ©riel de prĂ©paration Ă l'examen souligne que Python 3.7 est requis pour rĂ©ussir l'examen. Quand j'ai commencĂ©, j'avais Python 3.7.3. Et pour une raison quelconque, mĂȘme si TensorFlow fonctionnait la veille sur ma machine locale en utilisant PyCharm, aprĂšs le dĂ©marrage de l'examen (qui crĂ©e automatiquement un environnement TensorFlow pour vous), tout s'est cassĂ©.
à savoir, chaque fois que j'ai exécuté au moins une ligne de code TensorFlow, j'ai eu l'erreur:
RuntimeError: dictionary changed size during iteration
Pour le moment, je ne sais pas si c'est la version de TensorFlow que l'examen a installée (2.0.0), ou la version spécifique de Python que j'avais (3.7.3).
Cependant, aprÚs quelques malédictions et une recherche orageuse dans les profondeurs de l' ancien fil de discussion sur les problÚmes sur GitHub , j'ai trouvé un correctif étrange qui signifiait que je devrais changer le code source de la version de Python que j'ai utilisée (en particulier, la ligne 48 de 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()
Remarque: il s'agit d'une solution rapide car elle n'a été utilisée que pendant la durée de l'examen, je ne suis donc pas sûr qu'elle présente des avantages à long terme ou si elle a des conséquences.
Lors d'une recherche effrénée, j'ai également lu que l'alternative est de mettre à jour / réinstaller la version de TensorFlow que vous utilisez dans PyCharm (par exemple, 2.0.0 -> 2.2.x). Je l'ai essayé et cela n'a pas fonctionné, mais en tant que débutant à PyCharm, j'avoue que je me suis trompé sur quelque chose en tant qu'utilisateur.
AprĂšs la correction, j'ai pu terminer l'examen sans aucun problĂšme.
Que se passe-t-il aprÚs avoir terminé l'examen
Vous recevrez une notification par e-mail lorsque / si vous réussissez l'examen. Il n'y aura pas d'avis, à l'exception de "Félicitations, vous avez réussi" ou "Malheureusement, cette fois, vous n'avez pas réussi."
Sans aucune conséquence négative, pendant l'examen, vous recevrez des instructions assez claires - allez-vous réussir ou non (chaque fois que vous introduisez un modÚle, elle obtient une note).
Si vous réussissez, félicitations!
Assurez-vous de remplir le formulaire dans l'e-mail pour vous assurer que vous ĂȘtes ajoutĂ© au rĂ©seau de dĂ©veloppeurs TensorFlow certifiĂ©s.
AprÚs avoir réussi l'examen et rempli le formulaire dans l'e-mail de confirmation, vous devriez pouvoir accéder au réseau de certification des développeurs Google dans quelques semaines .
Remarque: au moment de la rédaction de cet article, je n'y étais pas encore. Cela prendra 1 à 2 semaines.
L'inscription signifie que toute personne à la recherche de développeurs TensorFlow expérimentés peut vous trouver en fonction de votre type de certification, de votre expérience et de votre région.
Enfin, dans quelques semaines, vous recevrez un certificat officiel et un badge de développeur TensorFlow par e-mail (je n'ai pas encore reçu le mien). Vous pourrez les ajouter aux projets sur lesquels vous avez travaillé.
Des questions
Puis-je simplement suivre des cours, lire un livre et pratiquer seul, ai-je vraiment besoin d'un certificat?
Bien sûr vous pouvez. à la fin de la journée, vous devriez viser des compétences, pas des certifications. La certification est bonne, mais pas obligatoire.
Si vous dites que le certificat n'est pas requis - pourquoi l'avez-vous reçu?
J'aime avoir un défi et travailler pour y faire face. Le rendez-vous (par exemple, "je passe mon examen le 3 juin") ne m'a laissé d'autre choix que d'étudier.
Puis-je faire cela avec des ressources gratuites?
SĂ»r que vous pouvez. Vous pouvez sortir et acquĂ©rir toutes les compĂ©tences dont vous avez besoin en Ă©tudiant la documentation TensorFlow. En fait, quand j'ai besoin de pratiquer quelque chose, je copie des exemples de la documentation (chaque ligne de code), je travaille sur une comprĂ©hension de chaque ligne, puis j'essaye de rĂ©pĂ©ter ce que j'ai vu moi-mĂȘme.
Pourquoi pas PyTorch?
J'adore PyTorch. Mais ils n'offrent pas de certification, et s'ils le faisaient, je passerais probablement par là (pour le plaisir). De plus, un utilisateur expérimenté des deux frameworks (PyTorch et TensorFlow) remarquera que les mises à jour récentes ont rendu les deux frameworks trÚs similaires. De plus, TensorFlow a un avantage dans le monde de l'entreprise (voir graphique ci-dessus).
Je ne connais rien au machine learning, par oĂč puis-je commencer?
Lire l'article"5 étapes dans l'apprentissage automatique pour les débutants . "
J'ai réussi l'examen et je me suis inscrit au réseau de certification des développeurs Google. Que dois-je faire ensuite?
Il est temps de créer! Utilisez les compétences que vous avez acquises pour créer ce que vous aimeriez voir dans le monde. Et n'oubliez pas de partager votre travail, vous ne savez jamais qui le verra.
Vous n'avez pas mentionné quelque chose? N'hésitez pas à laisser des commentaires ou à poser des questions par e-mail. Et je vais répondre.
PS, si vous préférez regarder des vidéos, j'ai fait une version vidéo de cet article.
Apprenez en détail comment obtenir un métier recherché à partir de zéro ou passer au niveau supérieur en compétences et en salaire en suivant les cours en ligne payés de SkillFactory:
- Cours d'apprentissage automatique (12 semaines)
- Apprendre la science des données à partir de zéro (12 mois)
- (9 )
- «Python -» (9 )