JetsonTK1 - eiichiromomma/CVMLAB GitHub Wiki
JetsonTK1 DeepLearning
Jetson TK1でどこまで出来るか。
実メモリ
2GBしかないのでmakeでもコケるときがある。そのような時はswapfileを作成してswaponする。(ググれば出てくる)
各種フレームワーク
- Caffe: cuDNNを切ればGPUを使える。OpenCVもTegraのもので使えるので準備は楽。
- Torch: cudnnがCUDA7.0以上必須なのでcudnn使っているものは全滅。ここで、cutorchとcunnのバージョンを1.0-0に指定すればインストールまでは出来て、テストも通るがTorchで実装されているのは巨大な奴が多いのでそもそもGPUのメモリが足りずアウトな場合が多い。
- Tensorflow: 噂で無理と聞いて諦め
- Keras: Torchバックエンドなら上手く行くかも?
- Chainer: 2.0から分離したcupyはCUDA7.0必須だが、1.19.0まではCUDA6.5でも使える。
Python環境
conda create -n chainer19 numpy scipy
pip install --upgrade pip
pip install matplotlib jupyter scikit-image
pip install chainer==1.19 -vv
numpyとscipyはcondaで。 Matplotlib、jupyter、scikit-imageはpipで。 condaに無いものもrpiチャンネルにあるのでどうにかなる。
という訳でPython(Miniconda)+Chainer(1.19.0)が取り敢えず動かすには最適。
失敗の歴史
OpenPose
CaffeベースなのでMake.configだけ上手く書けばビルドは通るかと思いきや、本体のビルド時にCUDA6.5の地雷(NVIDIAの公式見解でCUDA7以降は改善されてるよ、というバグ)を踏んで必ず死ぬ。
torch.* およびPyTorch
cudnn=0と置ける実装例については良い感じに動き始めるが、途中で
lua/5.1/torch/File.lua:370: table index is nil
みたいなエラーを吐いて死ぬ。(GPUのメモリ不足っぽい)
YOLO
メモリ不足。