TensorFlow Developer Certificate 受験にあたる PyCharm 関連の環境作成とエラー奮闘記＋振り返り

# はじめに

2022年11月に [TensorFlow Developer Certificate](https://www.tensorflow.org/certificate) に合格しました。
受験する過程で試験特有の **PyCharm** 関連の問題が発生して苦労したため、この記事にまとめることで今後受験する人にとって有益な情報を提供したいと思い執筆しました。

* 対象：これから TensorFlow Developer Certificate の受験を控えている人
* 環境：Windows 11
* 内容：受験にあたり発生したエラーと解決（試験内容や対策方法については触れません）
* 基本的な操作：[ガイドブック](https://utility.trueability.com/google/tensor-flow/Instructions_for_taking_the_TensorFlow_Certificate_exam.pdf) に従って実施、この記事はガイドブックの補足という位置づけです（ガイドブックが更新されてこの記事のリンクが古くなっている可能性があるため、Redeem の画面に出てくるリンクから飛ぶのが安全だと思います）。
* 注意：**正しいガイドブック**をちゃんと読みましょう（私は古いバージョンを事前に読み込んでいたため迷うことが多かったです）。執筆時点での情報、またサンプルは N=1 の情報だということをご認識の上で参考にしてください。

# PyCharm のインストール

### インストール

インストールは **[ここ](https://www.jetbrains.com/ja-jp/pycharm/download/#section=windows)** から **<font color="Red">最新版をダウンロードして</font>** 行います。無料のCommunity版をダウロードしました。

* **引っかかりポイント**：他の受験Tipsの紹介サイトから飛んだ [ガイドブック](https://www.tensorflow.org/extras/cert/Setting_Up_TF_Developer_Certificate_Exam.pdf) には 2021.3 をダウンロードと書いてありましたが、申し込み後試験直前のページで最新版をインストールしろと言われました（参照したPDFが古いものでした）。

* **動作確認方法**：PyCharm で [File -> Settings -> Plugins] と移動し、**TensorFlow Developer Certificate** と検索して下の画像のプラグインが見つかればOKです。PyCharm のバージョンがこのプラグインに対応していない場合は検索してもプラグインがヒットしないため、[プラグインのサイト](https://plugins.jetbrains.com/plugin/13812-tensorflow-developer-certificate/versions) から対応する PyCharm バージョンを確認すると良いと思います。
※ PyCharm には日本語化するプラグインなどありますが、受験時に TensorFlow Developer Certificate 以外のプラグインが入っていると削除するように言われます。事前に入れないように注意しておきましょう。

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/873482/03cd6a1d-d91e-4700-18da-25cda653a256.png)

### インストール関連のエラー（過去 PyCharm をインストールしたことのある人のみ）

- **症状**：インストール後、初回起動時に起動しない
- **対策**：再インストール、初回起動前のポップアップで **<font color="Red">以前のプラグイン情報を読み込まない</font>** ようにする

私は以前、PyCharm をインストールしたことがあり、受験にあたり別バージョンを新たにインストールしました。PyCharm 初回起動前のポップアップで、過去のプラグインの情報を読み込む（デフォルト）を選択していたことが悪さをしていて、いつまで経っても起動しないという現象が起きました。

# そもそも、試験ってどうやって始まるの？

これが事前情報ではイマイチわからず、申し込みのサイトでどこまでクリックして良いのかビクビクしていました。結論、**TensorFlow Developer Certificate のプラグインの "Start Exam" ボタンを押すと試験が開始します**。従って、試験の購入や免許証の登録、Redeemボタンを押す、PyCharm でプラグインを使用して仮想環境を整える、というところまでは安心して行って大丈夫です。

# 仮想環境の作成

### Python のインストール（Anacondaユーザー向け？）

試験で使用する仮想環境を PyCharm で作成するには Python のインストールが必要です。当り前じゃないか！と言われるかもしれませんが、私は今まで [Anaconda](https://www.anaconda.com/) を使用して仮想環境を作成していたため、ピュアな Python をインストールしていませんでした。

#### 手順
1. [Python のダウンロードページ](https://www.python.org/downloads/windows/) から指定されたバージョンのインストーラをダウンロード（私の受験時は 3.8 の指定で 3.8.10 を使用しました）
1. インストール（Add Python 3.8 to PATH にチェックを入れる）

### 【沼りポイント】仮想環境作成時にエラー

PyCharm で Virtualenv Environment を新規作成する必要があります。[JetBrain の公式サイト](https://pleiades.io/help/pycharm/creating-virtual-environment.html#python_create_virtual_env) などを参考に新規で作成を試みたのですが、エラーが発生しました。
（Base interpreter: C/Users/[ユーザー名]/AppData/Local/Programs/Python/Python38/python.exe）

#### エラー
- Cannot set up a python SDK at Python 3.8. The SDK seems invalid.
- Failed to create virtual environment など

#### 対処

- **Windows のシステムロケールの修正**
[このページ](https://setup-lab.net/windows11-system-locale-change/) に従ってシステムロケールの変更を実行。
※上記記事ではどちらでもよいと書いてありますが、**「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用」にはチェックを付ける必要があります**。

- **PyCharm のファイルエンコード形式を変更する**
[このページ](https://network-beginner.xyz/lookuperror-unknown-encoding-windows-31j_error#:~:text=%E5%95%8F%E9%A1%8C%E8%A7%A3%E6%B6%88%E3%81%A3%EF%BC%81%EF%BC%81-,%E5%AF%BE%E5%87%A6%E6%B3%95,-%E3%81%A8%E3%81%84%E3%81%86%E3%82%8F%E3%81%91%E3%81%A7) の対処法を実施して、PyCharm のファイルエンコード形式を UTF-8 に変更する。
※設定を変更しても、新規プロジェクトを作成すると白紙になる場合があるので注意してください。

# 仮想環境作成後

ガイドブックに requirements.txt が載っていますが、ライブラリのインストールなどを対応する必要はありません。以下の画像のように、プラグインが自動でライブラリをインストールしてくれます。インストールが終了したら試験を開始できます。

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/873482/6f59f6d2-6b12-d376-0e67-9e495d943205.png)

# 解答の提出

冒頭で示したガイドブックにも記載がありますが、**PyCharm 右端の "Assistant" というタブから "Submit and Test model" のボタンを使用**することができます。
私が参照した古いバージョンの PDF には提出ボタンに関する記載がなく、試験を解き始めてから、「あれ！ボタンがない！！提出できない！！！」と非常に焦りました。結果的に30分くらいかけてググって英語の記事で Assistant のタブから提出するよ、という記載を発見してなんとかなりましたが。。。
これから受験する方は、事前に提出方法について知っておくだけでも安心できると思います。

# 受験にあたり準備しておけばよかったこと

### パソコンのストレージ確保

受験にあたり、プラグインからのライブラリや諸々のデータダウンロード、あとは結果提出のための H5 ファイルの保存などで 10~20GB 程度サイズがあった気がします。
もともと 60GB くらい空き容量があった環境で、試験を開始してからエクスプローラを開いたら Cドライブが赤くなっていて（空きが 50GB 未満になっていて）びっくりしました。結果的には乗り切れたので大丈夫だったのですが、テストケースに通らず複数のモデルを作成したりした場合にはもっとサイズが大きくなる可能性があるため、精神的なダメージを喰らわないためにもストレージを事前に十分に確保しておくことをお勧めします。

### 最新のガイドブックを読む

内容が重複しますが、バージョンの古いガイドブックを呼んでいたせいで受験に関して手探りで精神的にも追い込まれた状態で受験しなければなりませんでした。正しいガイドブックを呼んで試験に臨みましょう。

# 受験体制（私の場合）

PyCharm では、Coursera のようにノートブック形式で実行することができず一気通貫でしかプログラム実行ができないと把握しています（違ったらすみません）。特に AI 系だとデータセットのダウンロードや学習をもう一度やり直すのは時間もかかるため避けたいところです。
従って ipynb ファイルでプログラムを作成したいと考え、VSCode と Google Colab を使用して試験を受けました。ツールは以下のように使い分けました。

- **VSCode**：試験を解くためにメインで使用、ノートブックを作成
- **Google Colab**：VSCode でエラーが出たときに使用（GPU 関連のエラーを考慮せずに済む）
- **Windows Explorer**：VSCode の出力ファイルを PyCharm プロジェクトに移動
- **PyCharm**：結果の提出のみ

# おわりに

PyCharm関連のエラー対応に関して、Google Developer ML Bootcamp の参加者の方々からアドバイスをいただきました。ありがとうございました。
この記事が今後 TensorFlow Developer Certificate を受験する方の助けになれば幸いです。