ESP32 の環境構築

今日の進捗。

 

ESP32の環境構築を行った。本家サイトの指示に従って、クロスコンパイラをインストールした。ESP32用のライブラリ esp-idf もインストールした。

dl.espressif.com

しかし、実際のボードに繋いでサンプルコードを書き込むところは、時間切れでできなかった。次はそこから。UARTなかんじで接続するようにドキュメントは読めるが、Linux上でUSBシリアルのツールはちゃんと含まれているのか、まだ確認できていない。多分対応しているはず。

松尾研究室のDeepLearning演習

今日の進捗。

第2回から第5回まで、回答例のソースコードを読んで実行することはできた。

が、1行たりともコードを書いていないので、ほぼ意味はないかも。第2回は講義のテキストっぽい内容が混じっていたが、それ以降はほぼ講義っぽい内容がなく、演習の回答部分のみだ。講義のテキストを見ていないのでなんとも言えないが、そちらに例題と演習問題の問題分があるのかもしれない。やはり、例題を真似して演習問題を解く(コードを書く)、という手順を踏まないと、わかった気がしない。

回答例のコードを写経する、というのも一つの手だが、何も考えずに写経しても意味がない。回答例のコードを何らかの意図を持って変更し、振る舞いがどう変わるか、といったことをやらないと、コードを理解したことにならない。

 

まあ、この教材は第11回までなので、とりあえず1周めは、回答例のソースコードを眺めて実行してみよう。

今日の進捗

機械学習の各種教材は、github で公開されている。その演習問題を解くにあたり、当初は自分の github に保存しようとしていた。が、考えてみると、いくら教材が公開されているとはいえ、著作権的にマズイということに気付いた。

なので、自分の github に登録するのは、純粋に自分が書いたソースなどに限定し、教材はローカルPC上で使うことにする。

 

ローカルPC上で keras + tensorflow な docker コンテナを動かし、SSD上の jupyter notebook にアクセスできることを確認した。これで、コンテナ上で各種教材を利用することができる。

 

また、自分が作成した jupyter notebook であれば、github に登録し、google colaboratory から利用することもできる。実行環境として google colab だと Tesra なGPUや TPU を使用することができる。

 

勉強をすすめるための環境はだいぶ整ってきた。

進め方として2通りありそう。

Keras + Tensorflow で MNIST を動かしたあと、同学習をすすめていくのか、今のところ見えていない。そちらは Keras のサイトを色々探して見る予定。チュートリアルがあるかも。

いま手元に用意している教材は、機械学習ボトムアップで学ぶもの。Keras や Tensorflow の使い方は含まれていない。長い目で見れば、こちらが役に立ちそう。フレームワークが裏で何をやっているのか、理解できるようになるはず。

時間はかかるが、少しずつでも進めていきたい。

 

 

keras + tensorflow なコンテナ

dockerhub から keras + tensorflow なコンテナはいくつも見つかるが、どれを選ぶべきかよくわからない。できるだけ公式のものを使いたい。

で、keras 本家のサイトを探したところ、 docker コンテナを作るためのファイル一式が github に公開されていた。

github.com

これを使ってみる。簡単にコンテナのビルドと jupyter notebook を起動できたのだが、イメージのサイズが9GBとやたらにでかい(汗。docker の動作確認で使用した tensorflow/tensorflow:latest-gpu なイメージは3.36GBなので、3倍ぐらい大きい。

Makefile と dockerfile の中を見てみたが、原因はさっぱりわからない(笑

 

google colaboratory + github

github に置いた jupyter notebook を google colaboratory から利用できた。

  1. github に jupyter notebook を置き、ブラウザからダブルクリックする。==> jupyter notebook が起動する。
  2. URLを github から google colaboratory に変更する。 ==> jupyter notebook でセルを実行できるようになる。

chrome拡張機能 URL Replacement を使うと簡単。

参考URL:

qiita.com

google colab を使うと、TeslaなGPUやTPUを使うことができる。ローカルPCでGPU(RTX2080)使う場合と、処理速度を比較してみたい。

DeepLearning のお勉強

この正月休みに、念願だった Linux なPCを新規に組み立てることができた。\(^o^)/~

いろいろと手間取ったが、CPUのピン折れもなく、メモリの誤認識もなく、無事に動いている。面倒だったのは以下の項目。

間違えると取り外してやり直すのだが、配線は取り外すほうが難しい。ボックスコネクタとケーブルは何度も抜き差しすることを想定していない。ケーブルを断線させてしまわないかと心配しながら抜いた。その点、ケースと水冷式CPUクーラーは、12本のネジ止めで、めんどくさいことこの上ないが、壊れる心配はないのでよかった。

 

無事に組みあがり(BIOS画面でメモリやSSD/HDDを正しく認識)したので、

Ubuntu18.04LTS をインストールした。インストーラーはNVIDIAのグラフィックボードを認識して、高い解像度でインストールできたのだが、再起動すると解像度が VGA(640x480) になっていた。NVIDIAのドライバをインストールして解決できたが、VGAだとダウンロードのときに「OK」ボタンが入りきれずに難儀した。ブラウザの縮小機能を使って、「OK」ボタンを押すことができた(^^;

このPCで、DeepLearningの勉強をする予定。githubリポジトリを作成し、Wiki に記録を開始したところ。

Home · kzono/machineLearning Wiki · GitHub