寄せ集め・ごった煮

文系的なこと考えるのも飽きた。知識ゼロ。基礎から勉強。前から思っていたこと、パソコンは難しい。


Python

Rubyと違って、インデントが違うと怒られる
Pythonの作者のグイド・ヴァンロッサムはオランダ人 56歳。現在はDropbox所属。(まつもとゆきひろさんは51歳)

画像はWikipediaから引用。
Pythonとはニシキヘビのこと。かわいくない。

print

リスト

関数

コロンが付くことに注意。文末に来るコロンがあまり好きじゃない:
Rubyのシンボルもコロンで表現していたっけ

for文

型、クラスの判定

Python3でもPython2風にprint文を書くための呪文

SixもPython2とPython3の互換性ライブラリ
> 命名「six」は、これは 2*3 が 6 であることから来ています。

Pythonには特殊メソッドどいうのが存在する
Pythonにもグローバル変数が存在する
Pickleはオブジェクトをシリアライズする

HDF5:科学技術計算で逐一データを保存するときの形式
Rubyにもライブラリが存在する
https://github.com/edmundhighcock/hdf5


Numpy

Numo vs Numpy
https://github.com/ruby-numo/narray/wiki/Numo-vs-numpy

ChainerではCupyがNumpyと同じインタフェースでGPUを使用するのを可能にする
NArrayでも同様のことができればいいのに]

numpy.random.permutation


Chainer

・CupyがCudaを NumpyがCPUを扱う。
・勾配を自動的に計算ってどうやってやってるの?
functionの中に、forwardやbackwardが記載されているようだ
・計算グラフがデータごとに異なる例に応用しやすいらしい

呪文

numpyのデータをVariableに入れる

chainer では float32 が基本。Variableは計算過程を覚えている。

勾配まで計算してくれる。

Optimizers
外側からパラメータを調節するものか。
AdaDelta、AdaGrad、Adam、MomentumSGD、NesterovAG、RMSprop、RMSpropGraves、SGDなどある。わからん。
http://sebastianruder.com/optimizing-gradient-descent/

Serializer
現在の状態を保存するためのものらしい。


そのほか

・高次元においては局所解は問題にならない

denoising autoencoderの重み画像を見ていたら、ふとフーリエ変換っていうのが深く関係しているんじゃね?って気がした。だんだんと川面の波面のような重みになり、やがてはクロポチやシロポチになっていく。
ところでフーリエ変換っていったい何するもんだ?わからんよ。高校数学の知識もあやふやなのに。
どんな画像に対しても共通して高性能な分類が可能になる1層目の重みとか、そういうものが存在したりして。

CNNに関するスライド。分り易すぎる。

エンジニアでないことのメリット:何を書いても恥ずかしくない

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です