LoginSignup
28
31

More than 5 years have passed since last update.

Ubuntu16.04 + GTX1080 + CUDA8.0で 機械学習環境を構築する

Last updated at Posted at 2016-10-10

ubuntu+CUDA8.0で機械学習する際の設定メモ。anaconda(numpy/matplotlib), scikit-learn, chainerを入れます。

PC仕様

  • PC: GTune NEXTGEAR i650PA7-SP3
  • MB: Z170-S01 MSI
  • CPU: Intel Core i7-6700K CPU 4.0GHz x 8
  • GPU: Geforce GTX1080
  • Memory: 32GB
  • SSD: 256GB
  • HDD: 2TB
  • OS: Ubuntu 16.04 64bit + Windows 10 Home 64bit

ubuntuインストール手順

  • ubuntu16.04 LTSをDLしてisoファイルを作成
  • UEFI (BIOS)に入る
    • UEFI menuでsecure bootをことごとく無効化する
    • DVDからubuntuインストール
  • ブート選択画面でinstall ubuntuのラインで「e」を押して以下を変更、その後F10で起動
    • 変更前: quiet splash
    • 変更後:nomodeset
  • install
    • boot: 128 MB(少ないかも), ext4
    • swap: メモリ量の1〜2倍(e.g. 64000 MB), swap
    • /: 残り全て, ext4
    • ブートローダーをインストールするHDD: bootを入れたdev/sdc

ubuntu基本セットアップ

  • 環境を最新にする
terminal
sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade
sudo apt-get install git
sudo apt-get install python-pip
  • ディレクトリを英語表記にする
terminal
LANG=C xdg-user-dirs-gtk-update
  • vimで矢印キーを押すとABDなどが出る問題を解消
terminal
touch ~/.vimrc
vi ~/.vimrc
set nocompatible #vimrcに追記
  • 内蔵HDDを自動マウント
terminal
sudo fdisk -l  # /dev/sda2が当該HDD
sudo blkid /dev/sda2  # UUID確認

# fstabにUUIDを追記
sudo vi /etc/fstab
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx       /media/USER/HDD2TB        ext4    defaults        0       0  #fstab
  • USB Wifiドライバをインストール(自分が使っているのはWI-U3-866D)

  • macからSSH接続したいので、ubuntuにopensshを入れる。

terminal
sudo apt-get install openssh-server
OSX_terminal
rm ~/.ssh/known_hosts # Host key verification failed.エラーの回避
ssh IP_ADDRESS # これでつながるはず
  • dropboxインストール。ここからubuntuのdebファイルをDLしてインストール。なおSSDの容量が足りなかったので別の内蔵HDDに同期するようにした。
terminal
sudo dpkg -i dropbox_2015.10.28_amd64.deb
dropbox start -i

CUDAインストール

  • 最初にやること
terminal
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-367
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev
  • CUDA 8.0 をDL(deb)し、インストール
terminal
sudo dpkg -i ダウンロードしたファイル名.deb
sudo apt-get update
sudo apt-get install cuda
  • cuDNN 5.1 をDLしてインストール。DLする前に登録が必要。
terminal
tar -zxf cudnn-8.0-linux-x64-v5.1.tgz
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
  • .bashrcにてCUDAとcuDNNへのパスを通す
.bashrc
# CUDA Toolkit
export CUDA_ROOT=/usr/local/cuda
export PATH=/usr/local/cuda/bin:${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CPATH=/usr/local/cuda/include:$CPATH

# cuDNN
export LIBRARY_PATH=/usr/local/cuda/lib64:$LIBRARY_PATH
  • bashrc反映
terminal
source .bashrc
  • GPUの動作確認。ちゃんとSamplesのmakeが通ることを確認すること。makeの際にcuda_runtime.hがないとか言われたら sudo -E でmakeするとうまくいくかもしれない。
terminal
nvidia-smi # GTX-1080と表示されるはず
nvcc -V # エラーなしを確認
./NVIDIA_CUDA-8.0_Samples/1_Utilities/deviceQuery/deviceQuery # Result=PASSとなることを確認
cd NVIDIA_CUDA-8.0_Samples/5_Simulations/nbody
make
./nbody -benchmark -numbodies=256000 -device=0

その他開発環境

  • pyenvインストール
terminal
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc
  • anacondaインストール
terminal
pyenv install -l | grep ana  # 最新版を確認。anaconda2-4.1.1
pyenv install anaconda2-4.1.1
pyenv rehash
pyenv global anaconda2-4.1.1
echo 'export PATH="$PYENV_ROOT/versions/anaconda2-4.1.1bin/:$PATH"' >> ~/.bashrc
source ~/.bashrc
  • scikit-learnインストール
terminal
sudo apt-get install python-sklearn
  • ffmpegインストール
terminal
sudo add-apt-repository ppa:jonathonf/ffmpeg-3
sudo apt update && sudo apt install ffmpeg libav-tools x264 x265
ffmpeg -version #  ffmpeg 3.1.4.1
  • chainerインストール
terminal
pip install chainer

# MNISTで動作確認
wget https://github.com/pfnet/chainer/archive/v1.16.0.tar.gz
tar xzf v1.16.0.tar.gz
python chainer-1.16.0/examples/mnist/train_mnist.py #CPUモードOK
python chainer-1.16.0/examples/mnist/train_mnist.py -g=0 #GPUモードOK

後日やること

  • Caffe+OpenCVインストール

参考

28
31
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
31