1.モニター、キーボード接続
(HDMIのみ対応)
2.電源を入れる
3.キーボードを日本語に設定
sudo dpkg-reconfigure keyboard-configuration
4.初期設定
ubuntu画面から
ログイン
インストーラの実行
cd ~/NVIDIA-INSTALLER
sudo ./installer.sh
sudo reboot
再起動すると、GUIのubuntuが使えるようになります。
5.母体環境(Ubuntu14.04)の構築
Jetson TK1の開発キットのインストールはUbuntu14.04からしかできないようなので、Virtual BoxにUbuntu14.04をインストール
Virtual boxでUSBが使えるようにextension packの導入
https://www.virtualbox.org/wiki/Downloads
画面の解像度を大きくしたい場合は以下を参照
http://mogi2fruits.net/blog/os-software/windows/2389/
6.母体UbuntuからTk1を認識させる
MacとTK1をUSBケーブルで接続、フォースリカバリボタンを押しながらリセットボタンを押します。
真っ暗な画面になればリカバリーモードで起動できています。
この状態で、Virtual boxの 設定→Port→USB から
右のUSB追加アインコンをクリックして「NVIDIA Corp.〜」の文字が出て来ればMacから認識できています。
(この時、「NVIDIA Corp.〜」を一度クリックしてチェックされた状態じゃないと、host Ubuntuからは見えていないので注意)
7.Jetpack for L4Tのダウンロード
8.実行権限を付与
なお、日本語のディレクトリ内では実行に失敗するようですので、
英語ディレクトリを作ってファイルを移動するか実行権限を付与します。
chmod +x jetpack-${VERSION}.run
9.実行
ダウンロードしたJetpackを実行します。
途中でNetwork Layoutを聞かれますが、
「Device accessinternet via router/switch」の方で普通にいけました。
(PCのネットワーク環境に合わせる必要があります。)
Flashingが終わると、Jetsonが再起動されて、通常の画面が表示されます。
母体のほうでInput device informationの画面が表示されるので、
JetsonのIPを設定します。
(arp-scanとか使って接続しているIPを特定します。)
sudo arp-scan -I xxxx -l
よしなに進めていくとL4Tのセットアップが終わります。
(Jetsonの画面にGUIが表示されたら終了。)
10.ssh用にJetsonに固定IPをセット
/etc/network/interfacesに以下を追記
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.xxx.xxx
netmask 255.255.255.0
gateway 192.168.xxx.xxx
dns-nameservers 192.168.xxx.xxx
再読み込み
sudo /etc/init.d/networking restart
これで固定IPに出来ました。
11.gitインストール
12.Python環境構築
pyenvのインストール
git clone https://github.com/yyuu/pyenv ~/.pyenv
依存ライブラリのインストール
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev
sudo apt-get install -y libreadline-dev libsqlite3-dev wget curl llvm
.bash_profileや.zshenvなどにパスを通します
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
ついでに、CUDAのパスも通しておきます。
(TX1とかだとcuda-7.0になるはず)
export PATH=/usr/local/cuda-6.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-6.5/lib64:$LD_LIBRARY_PATH
pythonのインストール
pyenv install 2.7.12
適当なディレクトリを作り、そこに移動して仕様するpythonを設定
pyenv local 2.7.12
バージョン確認で2.7.12がでてればOK
python -V
関連ライブラリのインストール
pip install --upgrade pip
pip install numpy
sudo apt-get install libatlas-base-dev gfortran
pip install scipy
pip install matplotlib
pip install scikit-learn
pip install pillow
13.chainerインストール
sudo apt-get install python-dev python-virtualenv
pip install cython
sudo apt-get install libhdf5-dev
pip install chainer
サンプルコードをダウンロード
https://github.com/mattya/chainer-gogh
chainer-goghのディレクトリに行って、実行
python chainer-gogh.py -m nin -i input.png -s style.png -o output_dir -g 0
ninモデルは正常にうまくいくようでした、 i2vとかはなんかkilledがでるので要調査。
なお、実行時に
modprobe: FATAL: Module nvidia not found.
みたいなエラーがでるので、出したくない場合は以下を参照。
http://qiita.com/suisuina/items/e1ce1d9805f4d8772594
補足
swap状態の確認
sudo cat /proc/swaps
swap作成
(USBなどでswapする場合は、sudo fdisk -l でUSBのパスを確認して、以下/var/swap/ の部分を置き換える)
sudo mkdir /var/swap/
sudo dd if=/dev/zero of=/var/swap/swap0 bs=2M count=2048
sudo chmod 600 /var/swap/swap0
スワップファイルをスワップに割り当て
sudo mkswap /var/swap/swap0
sudo swapon /var/swap/swap0
起動時にスワップファイルとして設定されるようにする
sudo vi /etc/fstab
以下を追加
/var/swap/swap0 swap swap defaults 0 0
スワップ解除
sudo swapoff -a
ユーザーをrootに変更
sudo su -
シャットダウン
sudo shutdown -h now
再起動
sudo shutdown -r now
i2vを使う際のエラーについてはメモリをswapしたところ、「MemoryError」になって実行されない模様。
多分32bitなので上限4Gでやられているのかと。。
参考
http://qiita.com/ktyubeshi/items/847b05b7879e2f45da54
USBフォーマット
http://qiita.com/suisuina/items/690feac29bbfeec2da64
swap
http://qiita.com/scleen_x_x/items/f3fc492bcbf0f6c2896c