Wie ich ein TensorFlow-Entwicklerzertifikat erhalten habe (und wie ich es für Sie bekomme)

Bild



Anfang Mai habe ich mich für ein TensorFlow-Entwicklerzertifikat entschieden. Zu diesem Zweck habe ich vor einigen Tagen (3. Juni) ein Schulungsprogramm entwickelt, um meine Fähigkeiten zu verbessern, und die Aufgaben der Zertifizierungsprüfung abgeschlossen. Es stellte sich heraus, dass ich die Prüfung erfolgreich bestanden habe.



Lassen Sie mich Ihnen sagen, wie ich es gemacht habe und wie Sie dasselbe tun können.



Warten. Was ist TensorFlow im Allgemeinen?



TensorFlow ist ein Open-Source-numerisches System, mit dem Sie Daten vorverarbeiten und modellieren (Muster darin finden, normalerweise durch tiefes Lernen) sowie Ihre Lösungen für die ganze Welt bereitstellen können.



Google verwendet TensorFlow, um alle Dienste für maschinelles Lernen zu unterstützen. Möglicherweise hat das Gerät, auf dem Sie dies lesen, TensorFlow bereits in der einen oder anderen Form verwendet.



Normalerweise schreiben Sie Code mit TensorFlow in sehr verständlichem Python (dies ist für die Prüfung erforderlich) oder JavaScript (tensorflow.js) und es führt eine Reihe von in C geschriebenen Grundfunktionen aus. Diese Funktionen führen die zuvor beschriebenen Befehle aus (führen Sie viele numerische Berechnungen durch). ...



Jetzt wissen wir also, was TensorFlow ist, aber was ist die TensorFlow-Entwicklerzertifizierung? Und warum könnte Sie das interessieren?



Was ist die TensorFlow-Entwicklerzertifizierung?



Die TensorFlow Developer Certification ist , wie Sie vielleicht vermutet haben, ein Weg, um Ihre Fähigkeit zu demonstrieren, mit TensorFlow zu arbeiten.



Insbesondere Ihre Fähigkeit, TensorFlow (die Python-Version) beim Erstellen von Deep-Learning-Modellen für eine Reihe verschiedener Aufgaben zu verwenden: Regressionsanalyse, Computer Vision (Finden von Mustern in Bildern), Verarbeitung natürlicher Sprache (Finden von Mustern in Text) und Zeitreihenprognose (Prognose der Zukunft) Trends unter Berücksichtigung einer Reihe vergangener Ereignisse).



Warum benötigen Sie ein TensorFlow-Entwicklerzertifikat?



Der erste Grund dafür war Spaß. Ich wollte mich bei der Arbeit einer kleinen Herausforderung stellen und eine Ausrede finden, um das neue Buch zu lesen, das ich gekauft habe (dazu später mehr).



Es gibt aber noch zwei gute Gründe:



  1. , , .
  2. .


Apropos zukünftige Arbeitgeber: Basierend auf Daten von der Who's Hiring- Seite von Hacker News (eine Seite, auf der die monatliche Auswahl von Softwareentwicklern-Jobs aufgeführt ist) sieht es so aus, als ob TensorFlow anderen Deep-Learning-Frameworks voraus ist.



Bild



Vergleich verschiedener Deep-Learning-Frameworks basierend darauf, wie oft sie in verschiedenen Arbeitspublikationen auf der Who's Hiring-Seite von Hacker News erwähnt werden. Hinweis: Ab TensorFlow 2.x ist Keras im Wesentlichen Teil von TensorFlow. Anmerkung 2: Aufgrund der aktuellen globalen Umstände sinkt die allgemeine Einstellungsrate von Softwareentwicklern.



Ich möchte klarstellen, dass ein bezahltes Zertifikat keine Garantie für einen Arbeitsplatz ist. In einer Welt des Online-Lernens, in der Fähigkeiten vermittelt werden, ist dies eine weitere Möglichkeit, um zu zeigen, was Sie tun können.



Ich halte dies für eine angenehme Ergänzung der bestehenden Liste persönlicher Projekte, an denen Sie gearbeitet haben - Kurse bilden Grundwissen, Projekte bilden spezifisches Wissen.



Wie wird das alles gemacht?



Wie bereite ich mich auf die Prüfung vor?



Als ich mich für interessiert entschied, besuchte ich die Website des Zertifizierungsprogramms und las den TensorFlow Developer Certification Guide.



Aus diesen beiden Ressourcen habe ich einen Lehrplan erstellt.



Der Lehrplan spiegelt wider, was ich gelernt habe, um die Fähigkeiten zu entwickeln, die zum Bestehen der Prüfung erforderlich sind



Es sollte beachtet werden, dass ich vor Beginn der Vorbereitung auf die Prüfung einige praktische Erfahrungen beim Aufbau mehrerer Projekte mit TensorFlow gesammelt habe.



Ein erfahrener TensorFlow- oder Deep-Learning-Praktiker wird wahrscheinlich in der Lage sein, das nächste Trainingsprogramm in ungefähr demselben Tempo (insgesamt 3 Wochen) wie ich (möglicherweise schneller) zu absolvieren.



Ein Anfänger kann so viel Zeit wie nötig verbringen. Denken Sie daran, dass es Zeit braucht, um eine Fähigkeit zu erlernen, die sich lohnt.



Ich habe die Bedingungen, Kosten (in US-Dollar) und das Versorgungsniveau (für die Prüfung) für jede Ressource aufgelistet. Das Timing basiert auf meiner Erfahrung.



Wenn Sie einen Lehrplan für sich selbst erstellen möchten, würde ich etwas wie die folgende Checkliste empfehlen.



Hinweis: Affiliate-Links wurden für bezahlte Ressourcen verwendet. Dies ändert nichts am Preis der Ressource für Sie. Wenn Sie jedoch Zugriff auf eines der Materialien erhalten, erhalte ich einen Teil dieses Betrags: Ich verwende dieses Geld, um solche Materialien zu erstellen.



1. TensorFlow Developer Certification Handbook





Zeit: 1 Stunde.

Kosten: Kostenlos.

Dienstprogrammstufe: Erforderlich.



Diese Ressource sollte Ihre erste Station sein. Er beschreibt die Themen, die in der Prüfung behandelt werden. Lesen Sie es und lesen Sie es dann erneut.



Wenn Sie TensorFlow und maschinelles Lernen noch nicht kennen, werden Sie es höchstwahrscheinlich lesen und sich von allen möglichen Dingen einschüchtern lassen. Keine Sorge. Die folgenden Ressourcen helfen Ihnen, sich mit ihnen vertraut zu machen.



2. TensorFlow Coursera



Zeit: von 3 Wochen (fortgeschrittener Benutzer) bis 3 Monate (Anfänger).



Kosten: 59 USD pro Monat Nach einer 7-tägigen kostenlosen Testversion können Sie finanzielle Unterstützung anfordern. Wenn Sie nicht auf Coursera zugreifen können, sehen Sie sich die entsprechende kostenlose Version auf YouTube an .



Dienstprogramm: 10/10.



Dies ist die relevanteste Ressource für die Prüfung (und der Einstieg in TensorFlow im Allgemeinen). Ein aufmerksamer Zuhörer wird den TensorFlow-Zertifizierungsleitfaden bemerken, und die Konturen dieser Spezialisierung sind nahezu identisch.



Er wird von Lawrence Moroni und Andrew Ng unterrichtet, zwei TensorFlow-Titanen und maschinelles Lernen. Wenn ich nur eine Ressource auswählen müsste, um mich auf die Prüfung vorzubereiten, wäre dies dieser Kurs.



Ich habe das kurze Videoformat sehr geschätzt und mich so schnell wie möglich auf praktische Beispiele konzentriert. Zahlreiche Codedateien am Ende jedes Abschnitts sind für jeden Studenten, der in der Praxis studiert, sehr nützlich.



Programmierübungshinweis: Füllen Sie nicht nur die Lücken in Ihrem Code aus, sondern schreiben Sie alles selbst.



3. Praktisches maschinelles Lernen mit Scikit-Learn, Keras und TensorFlow 2nd Edition .





Zeit: 3 Wochen (von vorne bis hinten lesen, keine Übung) bis 3 Monate (von vorne bis hinten lesen und die Übungen machen).



Kosten: Die Amazon- Preise variieren, aber ich habe eine Papierversion für 55 US-Dollar gekauft. Der gesamte Code kann kostenlos auf GitHub angezeigt werden .



Nützlichkeit: 7/10 (nur weil einige Kapitel nicht prüfungsspezifisch sind).



Ein Buch mit mehr als 700 Seiten behandelt fast alle Aspekte des Computertrainings und daher einige Themen, die nicht mit der Prüfung zusammenhängen. Aber es ist ein Muss für alle, die daran interessiert sind, eine solide Grundlage für die Zukunft des Lernens von maschinellem Lernen zu schaffen und nicht nur die Prüfung zu bestehen.



Wenn Sie mit maschinellem Lernen noch nicht vertraut sind, wird es Ihnen höchstwahrscheinlich schwer fallen, dieses Buch (am Anfang) zu lesen. Keine Sorge, Sie können sich nicht beeilen. Das Erlernen nützlicher Fähigkeiten braucht Zeit.



Sagen wir einfach: Wenn Sie sich ein Bild von der Qualität des Buches machen möchten, habe ich die erste Ausgabe am Morgen gelesen, als ich als Ingenieur für maschinelles Lernen arbeitete. Und ich kann sagen, dass ich im Laufe des Arbeitstages meistens nützlich war, was ich in dem Buch gelesen habe.



Die zweite Ausgabe ist nicht anders, außer dass sie aktualisiert wurde, um die neuesten Tools und Techniken abzudecken, nämlich TensorFlow 2.x - worauf die Prüfung basiert.



Wenn Sie nur für die Prüfung relevante Kapitel benötigen, sollten Sie Folgendes lesen:



  • Kapitel 10: Einführung in künstliche neuronale Netze mit Keras
  • Kapitel 11: Training tiefer neuronaler Netze
  • Kapitel 12: Benutzerdefinierte Modelle und Training mit TensorFlow
  • Kapitel 13: Laden und Vorverarbeiten von Daten mit TensorFlow
  • Kapitel 14: Deep Computer Vision unter Verwendung von Faltungs-Neuronalen Netzen
  • Kapitel 15: Sequenzverarbeitung mit wiederkehrenden und faltungsbedingten neuronalen Netzen
  • Kapitel 16: Textverarbeitung in natürlicher Sprache unter Verwendung wiederkehrender neuronaler Netze und Aufmerksamkeit


Aber für einen ernsthaften Schüler würde ich empfehlen, das gesamte Buch zu lesen und die Übungen zu machen (vielleicht nicht alle, aber diejenigen, die Ihren Interessen am besten entsprechen).



4. Eine Einführung in das tiefe Lernen vom MIT



Zeit: von 3 Stunden (ich habe nur 3 Vorlesungen gesehen) bis zu einem Tag (1 Stunde für jede Vorlesung plus eine Stunde für die Überprüfung).



Kosten: Kostenlos.



Dienstprogramm: 8/10.



Weltklasse-Deep-Learning-Kurs von einer Weltklasse-Universität. Habe ich vergessen zu erwähnen, dass es kostenlos ist?



Die ersten drei Vorlesungen, Abschnitte über tiefes Lernen (Übersicht), Faltungs-Neuronale Netze (normalerweise für Computer Vision verwendet) und wiederkehrende Neuronale Netze (normalerweise für Textverarbeitung verwendet) sind für die Prüfung am wichtigsten.



Aber auch für einen eifrigen Zuhörer wäre es nützlich, den gesamten Kurs zu absolvieren.



Schauen Sie sich unbedingt die Labore und den Code an, den sie auf GitHub anbieten, insbesondere die Einführung in TensorFlow. Auch hier kann ich nicht vollständig angeben, wie wichtig es ist, selbst Code zu schreiben.



5. Erste Schritte mit PyCharm





Zeit: 3 Stunden (abhängig davon, wie schnell Ihr Computer ist).



Kosten: Kostenlos.



Hilfsbereitschaft: 10/10 (die Verwendung von PyCharm ist obligatorisch).



Der Test wird bei PyCharm (einem Python-Entwicklungstool) durchgeführt. Ich hatte PyCharm vor der Prüfung noch nie verwendet, und es wird empfohlen, dass Sie sich vor Beginn der Prüfung ein wenig damit vertraut machen.

Um PyCharm kennenzulernen, habe ich mir eine Reihe von Einführungsvideos auf YouTube angesehen, die sehr einfach waren: "Genau das macht dieser Button."



Die Haupttests waren jedoch die Überprüfung, ob TensorFlow 2.x problemlos funktioniert, sowie die Fähigkeit, in angemessener Zeit mit tiefen neuronalen Netzen zu arbeiten (mein MacBook Pro verfügt nicht über eine Nvidia-GPU).



Um diese Aspekte zu testen, habe ich die folgenden zwei TensorFlow-Handbücher auf meinen lokalen Computer kopiert:



  1. Bildklassifizierung mit TensorFlow
  2. Text mit TensorFlow klassifizieren


Wie wir weiter unten sehen werden, stieß ich jedoch auf ein Problem, sobald ich mit der Prüfung begann.



zusätzlich



Video von deeplearning.ai auf Coursera / YouTube - Eine Prüfung beinhaltet Programmieraufgaben (Sie müssen Python-Code schreiben), aber wenn Sie wissen möchten, was hinter den Kulissen des von Ihnen geschriebenen Codes passiert (lineare Algebra, mathematische Analyse), würde ich mir das ansehen diese Videos wann immer möglich. Wenn Sie beispielsweise nicht wissen, was ein Gradientenabstieg mit Minipaketen ist, suchen Sie nach der



TensorFlow-Dokumentation „deeplearning.ai Mini-Batch-Gradientenabstieg“. Wenn Sie TensorFlow-Praktiker werden möchten, müssen Sie die Dokumentation lesen können. Wenn Sie etwas nicht verstehen, schreiben Sie einen Code und kommentieren Sie ihn selbst.



Programmieren mit TensorFlow auf YouTube (Wiedergabeliste) - Der größte Teil der TensorFlow-Spezialisierung mit Coursera in YouTube-Videos wird von demselben Dozenten unterrichtet.



Wie ich mich auf die Prüfung vorbereitet habe



Mit den oben genannten Ressourcen habe ich einen Plan in Notion erstellt .



Bild



Mein TensorFlow-Entwicklerzertifizierungsprogramm bei Notion. Um zu verfolgen, was zu tun ist, habe ich die Kanban-Technik sowie verschiedene Ressourcen und Notizen verwendet. Wenn Sie dem Link folgen, können Sie Ihre eigene Kopie erstellen, indem Sie auf die Schaltfläche "Duplizieren" in der oberen rechten Ecke klicken.



Im Mai stand ich jeden Morgen auf, schrieb, ging, las 1 Stunde lang das Buch „Praktisches maschinelles Lernen“, arbeitete 2-3 Stunden lang mit TensorFlow in der Praxis (zuerst besuchte ich Vorlesungen und machte dann alle Codierungsübungen in Google Colab) und in Sehen Sie sich am Ende jedes Moduls die entsprechende Vorlesung Einführung in Deep Learning vom MIT an.



Sobald ich beispielsweise den Abschnitt Computer Vision der praktischen Spezialisierung auf TensorFlow abgeschlossen hatte, sah ich mir einen Vortrag über Faltungsneurale Netze (eine Art Computer Vision-Algorithmus) vom MIT an.



Dieser dreifache Ansatz hat sich als besonders effektiv erwiesen.



Das in dem Buch untersuchte Konzept wurde durch Codebeispiele aus der Coursera-Spezialisierung untermauert und schließlich durch Videomaterial vom MIT zusammengefasst.



Um eine Vorstellung vom Zeitpunkt zu bekommen, begann ich mich am 11. Mai auf die Prüfung vorzubereiten und bestand sie am 3. Juni.



Aufgrund meiner Beobachtung (bei Notion) und meiner handgeschriebenen Lesezeichen habe ich durchschnittlich 20 Seiten pro Stunde studiert und in 2-3 Stunden des Studiums etwa 1 Woche Kursinhalt durchlaufen (keine Ablenkungen).



Schließlich habe ich einige Tage vor der Prüfung PyCharm heruntergeladen und sichergestellt, dass einige der von mir untersuchten Codebeispiele auf meinem lokalen Computer funktionieren.



Details - was passiert während der Prüfung selbst?



Hast du das Training beendet? Was jetzt?



Beginnen wir mit zwei wichtigen Faktoren.



Prüfungskosten: 100 USD (nach einem fehlgeschlagenen Versuch müssen Sie 2 Wochen warten, um es erneut zu versuchen. Mit jedem fehlgeschlagenen Versuch erhöht sich die Wartezeit).



Zeit: 5 Stunden. Wenn es nicht den Fehler zu Beginn der Prüfung gegeben hätte, würde ich sagen, dass ich ihn in 3 Stunden leicht bestanden hätte. Das erhöhte Zeitlimit sollte Ihnen jedoch genügend Zeit geben, um Deep-Learning-Modelle auf Ihrem Computer zu trainieren (stellen Sie also sicher, dass alles funktioniert, bevor die Prüfung beginnt).



Wie die Prüfung funktioniert



Ich werde hier nicht viel verraten, weil es nicht fair wäre. Ich werde nur das TensorFlow-Entwicklerhandbuch lesen und Sie erhalten eine klare Vorstellung von den Hauptabschnitten der Prüfung.



Üben Sie jede der im Handbuch genannten Technologien (unter Verwendung der oben genannten Ressourcen), und Sie sind bereit.



Die Nuancen der Prüfung



Modelle trainieren - Wenn Ihr Computer Deep-Learning-Modelle nicht schnell genug trainieren kann (ein Teil der Bewertungskriterien ist die Darstellung trainierter Modelle), können Sie sie in Google Colab mithilfe einer kostenlosen Cloud-GPU trainieren und dann hochladen, indem Sie sie in die entsprechenden Verzeichnisse für die Prüfung und einfügen Senden über PyCharm.



Mein gebrochener Python-Interpreter - Das Prüfungsvorbereitungsmaterial betont, dass Python 3.7 erforderlich ist, um die Prüfung zu bestehen. Als ich anfing, hatte ich Python 3.7.3. Und aus irgendeinem Grund ist nach dem Start der Prüfung (die automatisch eine TensorFlow-Umgebung für Sie erstellt) alles kaputt gegangen, obwohl TensorFlow am Vortag auf meinem lokalen Computer mit PyCharm ausgeführt wurde.



Jedes Mal, wenn ich mindestens eine Zeile TensorFlow-Code ausführte, wurde der Fehler angezeigt:



RuntimeError: dictionary changed size during iteration


Im Moment bin ich mir nicht sicher, ob dies die Version von TensorFlow ist, die die Prüfung installiert hat (2.0.0), oder die spezifische Version von Python, die ich hatte (3.7.3).



Nach ein paar Flüchen und einer stürmischen Suche in den Tiefen des alten Threads über Probleme auf GitHub fand ich jedoch eine seltsame Lösung, die bedeutete, dass ich den Quellcode der von mir verwendeten Python-Version ändern musste (insbesondere Zeile 48 von 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()


Hinweis: Dies ist eine schnelle Lösung, da sie nur für die Dauer der Prüfung verwendet wurde. Daher bin ich mir nicht sicher, ob sie einen langfristigen Nutzen hat oder zu Konsequenzen führt.



Während meiner hektischen Suche habe ich auch gelesen, dass die Alternative darin besteht, die Version von TensorFlow, die Sie in PyCharm verwenden (z. B. 2.0.0 -> 2.2.x), zu aktualisieren / neu zu installieren. Ich habe es versucht und es hat nicht funktioniert, aber als Neuling bei PyCharm gebe ich zu, dass ich mich als Benutzer in etwas geirrt habe.



Nachdem ich das Problem behoben hatte, konnte ich die Prüfung problemlos abschließen.



Was passiert nach Abschluss der Prüfung?



Sie erhalten eine E-Mail-Benachrichtigung, wenn Sie die Prüfung bestehen. Es werden keine Bewertungen abgegeben, außer "Herzlichen Glückwunsch, Sie haben bestanden" oder "Entschuldigung, Sie haben diesmal nicht bestanden".



Ohne negative Konsequenzen erhalten Sie während der Prüfung ziemlich klare Anweisungen - ob Sie bestehen oder nicht (jedes Mal, wenn Sie ein Modell vorstellen, erhält sie eine Note).



Wenn Sie bestehen, herzlichen Glückwunsch!



Füllen Sie unbedingt das Formular in der E-Mail aus, um sicherzustellen, dass Sie dem Netzwerk zertifizierter TensorFlow-Entwickler hinzugefügt werden.



Nachdem Sie die Prüfung bestanden und das Formular in der Bestätigungs-E-Mail ausgefüllt haben, können Sie in einigen Wochen auf das Google Developers Certification Network zugreifen .



Bild



Hinweis: Zum Zeitpunkt des Schreibens war ich nicht dort. Es wird 1-2 Wochen dauern.



Registrierung bedeutet, dass jeder, der erfahrene TensorFlow-Entwickler sucht, Sie basierend auf Ihrer Art der Zertifizierung, Erfahrung und Region finden kann.



Schließlich erhalten Sie innerhalb weniger Wochen ein offizielles Zertifikat und ein TensorFlow-Entwicklerabzeichen per E-Mail (ich habe meins noch nicht erhalten). Sie können sie zu den Projekten hinzufügen, an denen Sie gearbeitet haben.



Fragen



Kann ich einfach Kurse belegen, ein Buch lesen und alleine üben, brauche ich wirklich ein Zertifikat?



Natürlich kannst du. Am Ende sollten Sie Fähigkeiten anstreben, keine Zertifikate. Die Zertifizierung ist gut, aber nicht erforderlich.



Wenn Sie sagen, dass das Zertifikat nicht erforderlich ist - warum haben Sie es erhalten?



Ich mag es, eine Herausforderung zu haben und daran zu arbeiten, damit umzugehen. Die Ernennung eines Termins (zum Beispiel "Ich mache meine Prüfung am 3. Juni") ließ mir keine andere Wahl, als zu studieren.



Kann ich das mit kostenlosen Ressourcen machen?



Sicher kannst du. Sie können alle erforderlichen Fähigkeiten erwerben, indem Sie die TensorFlow-Dokumentation lesen. Wenn ich etwas üben muss, kopiere ich Beispiele aus der Dokumentation (jede Codezeile), übe das Verstehen jeder Zeile und versuche dann zu wiederholen, was ich selbst gesehen habe.



Warum nicht PyTorch?



Ich liebe PyTorch. Aber sie bieten keine Zertifizierung an, und wenn sie dies getan hätten, hätte ich sie wahrscheinlich bestanden (zum Spaß). Darüber hinaus wird ein erfahrener Benutzer beider Frameworks (PyTorch und TensorFlow) feststellen, dass die beiden Frameworks durch die jüngsten Updates sehr ähnlich sind. Darüber hinaus hat TensorFlow einen Vorsprung in der Unternehmenswelt (siehe Grafik oben).



Ich weiß nichts über maschinelles Lernen. Wo kann ich anfangen?



Lesen Sie den Artikel"5 Schritte im maschinellen Lernen für Anfänger . "



Ich habe die Prüfung bestanden und mich beim Google Developers Certification Network registriert. Was soll ich als Nächstes tun?



Es ist Zeit zu schaffen! Verwenden Sie die Fähigkeiten, die Sie gelernt haben, um das zu schaffen, was Sie in der Welt sehen möchten. Und vergessen Sie nicht, Ihre Arbeit zu teilen, Sie wissen nie, wer sie sehen wird.



Hast du nichts erwähnt? Fühlen Sie sich frei, Kommentare zu hinterlassen oder Fragen per E-Mail zu stellen. Und ich werde antworten.



PS: Wenn Sie lieber Videos ansehen möchten, habe ich eine Videoversion dieses Artikels erstellt.





Bild



Erfahren Sie, wie Sie einen begehrten Beruf von Grund auf neu erlernen oder Ihre Fähigkeiten und Ihr Gehalt verbessern können, indem Sie bezahlte Online-Kurse von SkillFactory absolvieren:











All Articles