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環境

Raspberry pi2版のMinicondaが使える。

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

メモリ不足。