TensorFlow Developer Certificateに合格しました


![sd30zegt.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/141539/08bdc178-9767-d0f4-dbc4-5e546a1b7dce.jpeg)

# tldr

Googleが提供している TensorFlow Developer Certificate に合格するまでにやったことをまとめました。

# TensorFlow Developer Certificate とは

Pythonのディープラーニングライブラリである Tensorflow の認定資格です。

# 試験概要

公式ページ
https://www.tensorflow.org/certificate

日本語ハンドブック
https://www.tensorflow.org/extras/cert/TF_Certificate_Candidate_Handbook_ja.pdf

ハンドブックには大まかに以下のスキルが必要と書いてあります。（詳細はハンドブック参照。）

- 画像分類（Image classification）
- 自然言語処理（Natural language processing, NLP）
- 時系列データと予測（Time series, sequences and predictions）

その他注意点として、試験はPyCharm上で実施するのでなれておく必要があるります。

# 事前知識

公式ページには以下の事前知識があると良いと書いてあります。

> - Python プログラミングの基本スキル
> - 従来の機械学習やディープ ラーニングに関する知識（あれば役立ちますが、必須ではありません）
> - 線形代数、確率、統計、微積分学などの数学の分野を学んだ経験があれば役立ちますが、必須ではありません

準備編でも書きましたが、Courseraの「公式」講座を取れば必要な知識は身に付きます。
私自身は、文系出身、Courseraの[Machine Learning](https://www.coursera.org/learn/machine-learning)コースを数年前に受講したのと、scikit-learnのチュートリアルをちょこっとやったくらいでした。

試験は基本、英語で実施されます。普段プログラミングでドキュメントを読んでいるひとなら試験自体は問題ないと思いますが、後述するCourseraのコースも前編英語なので、ある程度の英語力は必要になります。。。が、試験自体はどんなリソースも使用して良いので Google Translateを使えば無問題👍

# 準備編

## TensorFlow Developer Professional Certificate（重要度：⭐⭐⭐⭐⭐）

Courseraのプログラム、全4コースで構成されている。TensorFlow Developer Certificateを取得するためのコースで、TensorflowでHello Worldから以下の範囲までカバーしています。

- Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning
- Convolutional Neural Networks in TensorFlow
- Natural Language Processing in TensorFlow
- Sequences, Time Series and Prediction

まずはこれをやりました（実はCourseraでこのコースを見つけて、TensorFlow Developer Certificateの存在を知りました。）。
大切なことはすべてこのコースから学びました。

ということでこれら全部をちゃんとやれば大丈夫なんじゃないかという内容になっています。

## scikit-learn、Keras、TensorFlowによる実践機械学習 （重要度：⭐⭐）

[scikit-learn、Keras、TensorFlowによる実践機械学習 第2版](https://www.oreilly.co.jp/books/9784873119281/)
本記事の最後に載せた、試験感想ブログでおすすめされている本。試験を受けるようかなと思っていた頃にちょうど第2版の邦訳が出たので買いました。理論的な話は少なめで実践的な内容になっています。紙は分厚くて重い。
試験を受ける2日前に届いたので、Courseraのコースを受けてわからないところがあれば索引で調べて該当箇所を読む程度で、ほとんど読まずに試験に挑みました。

## PyCharm（重要度：⭐⭐⭐）

試験はPyCharmの拡張機能を使用して行われるので必須。

「[TensorFlow デベロッパー認定資格試験を受けるための環境を設定する](https://www.tensorflow.org/extras/cert/Setting_Up_TF_Developer_Certificate_Exam.pdf)」をじっくり読んでおくこと。試験当日パニックにならないように、読んだらPyCharm上で練習がてら簡単なモデルの構築を試しておいたほうがよいです。

試験に必須ですが、特別なことは不要です。私は試験の為だけにインストールしました。

## その他

PCはある程度のスペックがあると良いかなと思いました。受験中は手元の開発用 Mac Book Pro のファンが回りっぱなしでした。トレーニングが速く終われば、その分ハイパーパラメータを調整できる回数が増えます。試験前にモデルのトレーニングを試しておくと安心です。普段の開発PCで全く問題ないとは思います（責任は持てませんが）。ネットサーフィンだけするような非力なノートPCだと不安かもしれません。

試験中はローカルでモデルのトレーニングをやりながら Google Colab でハイパーパラメータを変えてトレーニングを試したりしてました。

# 受験編

試験を購入し、GoogleアカウントでログインしIDをアップロードして、支払い情報を入力します。試験の購入日から6か月以内に試験を受ける必要があります。

購入後にポータルから「Redeem」をクリックする。
あとは指示に従ってテストを受験します。（受験の際に、NDA的なものに同意する必要があり、あまり詳しく書けませんがドキュメントをじっくり読めば大丈夫です。）

時間的余裕はあります。
制限時間は5時間で、私は1時間10分ぐらいで終わりました。

# 受験後

すぐに結果のメールが来ます。合格だと「TensorFlow Certificate Network」というものに加入できます。

# 感想

機械学習がどういったものか大枠を抑えていて、Courseraのコースをある程度理解していれば、テスト自体はとても簡単だと思いました。
これから受験する皆さんのお役に立てれば嬉しいです。

# 参考

- [TensorFlow Developer Professional Certificate](https://www.coursera.org/professional-certificates/tensorflow-in-practice)

- [How to Pass the TensorFlow Developer Certificate Exam](https://www.freecodecamp.org/news/how-i-passed-the-certified-tensorflow-developer-exam/)

- [How I passed the TensorFlow Developer Certification Exam](https://towardsdatascience.com/how-i-passed-the-tensorflow-developer-certification-exam-f5672a1eb641)

- [scikit-learn、Keras、TensorFlowによる実践機械学習 第2版](https://www.amazon.co.jp/gp/product/4873119286)