TensorFlowの勉強を再開しました
色々とわき道にそれていましたが、UDACITYのDeep Learning無料コースの勉強を、ようやく再開しました。
環境構築
まずは、TensorFlowを使う環境を再構築しました。DockerのTensorFlow環境は既にあったのですが、WindowsのDocker環境には、色々制限があることが分かったので、いくつかの環境構築を構築しました。
WindowsでのDocker環境の制限
対応策
上記「1.」と「2.」に関しては、VirutalBoxの仮想化環境にUbuntuをインストールし、AnacondaやTensorFlowを自分でインストールしました。それほど難しくなかったので、初めからDockerを使わずに、VitualBoxを使えば良かったと思います。
上記「3.」に関しては、Dockerで使えないか、VirtualBoxで使えないか、など、いろいろと調べたのですが、結局ダメでした。そこで、Windowsが入っているPCの、あまり使っていないHDDに、Ubuntuを直接インストールしました。Webでの情報によると、GPUを使った場合、CPUに比べて性能が20倍~50倍ぐらい速くなるとのこと。かなり期待していたのですが、PCのグラフィックボードが貧弱なせいか、CPUの6倍しか出ませんでした。ちなみに、CPUはi7-4770K、GPUはGTX760、メモリは16GBと、2~3年前の標準機です。
UDACITYのAssignmentsに取り組み中
以前に途中までやったUDACITYのTensorFlow Assignmentsを再開しました。このAssignmentsには、課題(Problem)がいくつか書かれており、その課題の回答が見つからなかったので、取り組み結果を追記したファイルを「https://github.com/Itsukara/TensorFlow-UDACITY-tryout:GitHub)にアップロードしました。
最初のAssignmentは、データの加工・整理のみです。対象となるデータはNOTMNISTというものなのですが、他の機械学習でよく使われるMNISTと異なり、あまり整理されていないデータとのこと。課題への取り組みの一環で、中身を表示して確認したところ、全体が真っ白な画像が1%以上も含まれていました。また、人間が見ても、何の文字かわかり難いようなものも含まれています。参考までに、データの一部を表示した結果を下記に載せます。結構、ゴミが混じっている気がします。
今後
UDACITYのAssignmentはNOTMNISTから始まり、いきなり通常とは異なるデータを扱うことになっています。少しイレギュラーな気がしたので、もう少し標準の機械学習から勉強した方が良いのではないかと思い始めています。例えば、TensorFLowの本家のTutorialは、標準的なデータであるMINISTから始めているので、そちらの方が良いかも... あるいは、TensorFlowよりも前に、scikit-learnぐらい見て置いた方が良いのではないか? また、機械学習の理論面も、少し勉強した方が良いのではないか? など、改めて、少し迷い始めています。