Jupyterlab

jupyternotebook は曲がりなりにも使っていたが、jupyterlab というのは知らなかった!

http://jupyterlab/jupyterlab

開発環境としての機能が追加され、使い勝手がよくなっているらしい。

とりあえず手元の Macbook Air にインストール。使ってみよう。

 

カーネルを追加すれば Python 以外も使える? Javascript/Java/C++/Rust/Elixir など、JupyterNotebook 用のカーネルはすでにあるので、Jupyterlab で使えても良さそう。

そのうち挑戦してみよう。

deep learning のお勉強

東大の教材

東大松尾研究室が、機会学習の演習教材を公開していることを知る。

Deep Learning基礎講座演習コンテンツ 公開ページ | 東京大学松尾研究室 - Matsuo Lab

商用利用は不可だが、個人の勉強に使うのはOKとのことなので、ありがたく使わせてもらう。資料は JupyterNotebook になっている。動かせるのが良い。

 

ダウンロードして章立てを見たところ、入門編というだけあって、python や  Numpy・Scipy・Pandas・Matplotlib といったライブラリの使い方までで7章、そのあとデータベースの話が8章から10章まで、そして11章から漸く機械学習の話になる。

11章からは、機械学習の単元になります。はじめは教師あり学習、次の12章で教師なし学習、そして13章がその機械学習で学んだモデリングの検証やチューニング方法になります。モデルは作ったら終わりではなく、検証をしっかりとする必要があり、オーバーフィッティング等についても述べます。

最後は今後の学習として、14章でデータサイエンスの中級者になるために必要なスキル、例えばPythonの高速化や深層学習入門、Spark(Pyspark)を紹介します。

きっちり基本から、というのに良さそう。

一方、Tensorflow や Keras の使い方は別途学ぶ必要がある。

Google Colaboratory

からあげさんの記事で、google colaboratory を知る。

Google Colaboratoryを使えば環境構築不要・無料でPythonの機械学習ができて最高 - karaage. [からあげ]

無料で環境構築の手間もなく、しかも商用利用も可能?

さらに、jupyternotebook な環境なので、上記の教材を使うことができそう。

使わない手はない。早速使ってみる。

Sony さんの NNabla

エッジコンピューティング用で無料で公開されている。感謝!

nnabla.org

RasPi3 で動かしてみたい。

Sony さんの Neural Network Console 

こちらはクラウドニューラルネットワーク環境。ブラウザだけで始められる。

dl.sony.com

ワクワクする!10時間まではお試しで無料。

2018年08月25日のツイート

2018年08月20日のツイート

2018年08月16日のツイート

高水準入出力関数と低水準入出力関数

高水準入出力関数

  • fopen, fread, fwrite, fclose
  • OS非依存
  • バッファリングあり

低水準入出力関数

  • open, read, write, close
  • OS 依存
  • バッファリングなし

バッファサイズ

stdio.h 内で  BUFSIZ が定義されている(らしい)

確かめてみる。

 $ grep BUFSIZ /usr/include/stdio.h

#ifndef BUFSIZ
# define BUFSIZ _IO_BUFSIZ
Else make it use buffer BUF, of size BUFSIZ. */

 では、_O_BUFSIZ はどこでいくつに定義されているのか?

 $ find /usr/include -name \*.h | xargs grep _IO_BUFSIZ

/usr/include/stdio.h:# define BUFSIZ _IO_BUFSIZ
/usr/include/x86_64-linux-gnu/bits/libio.h:#define _IO_BUFSIZ _G_BUFSIZ

 次は _G_BUFSIZ を探す。

~$ find /usr/include -name \*.h | xargs grep _G_BUFSIZ
/usr/include/x86_64-linux-gnu/bits/_G_config.h:#define _G_BUFSIZ 8192
/usr/include/x86_64-linux-gnu/bits/libio.h:#define _IO_BUFSIZ _G_BUFSIZ

 漸くたどり着いた。この処理系では 8192 byte らしい。

printf/scanf したときに 8192byte になるまではバッファリングされる、はず?

試すには、8192byte 前後の read/write し、 strace してみればよい?

 

RaspberryPi のカメラ

これまた1年前に購入したものの、放置していた RasPi 用純正カメラを使ってみる。

version2はSony製。

akizukidenshi.com

参考URL