一、安装环境说明
1.ubuntu 16.04 x64 (常规安装 ,非GPT+UEFI,UEFI出了很多问题,这里不建议用,如果你有好的方法,可以推荐)
2.硬件配置 I7 6700HQ /GTX1060 6G /8G DDR4
一般来讲稍微大一点的模型都要6G左右显存,所以当时就买了这款,刚好能够带起来。
3.学习环境(caffe + tensorflow gpu 1.2.1 +python2.7 + cuda_8.0.61 + cudnn-8.0-linux-x64-v5.1 )
二、系统内的一些设定(可选,也可直接跳过):
1.挂载ntfs fat32分区
(如果dpkg发生问题,则重建文件:
1 2 3 4 5 | sudo rm /var/lib/lists/lock sudo rm /var/lib/dpkg/lock sudo apt-get update sudo apt-get upgrade |
)
①挂载ntfs分区
挂载ntfs 需要两个软件,ntfs-3g 和 ntfs-config,其中ntfs-3g 在ubuntu16.04中已经有了,现在只需要安装ntfs-config即可: sudo apt-get install ntfs-config
sudo ntfs-config
打开ntfs-config的配置程序,选择挂载位置后,在外部设备写支持和内部设备写支持上打钩
②挂载fat32分区
使用
1 | sudo fdisk -l |
查看你的fat32分区位置
这里我的是 /dev/sda6
修改/etc/fstab
1 | sudo gedit /etc/fstab |
加上这一句:
1 | /dev/sda4 /media/f vfat user,auto,umask=002,iocharset=utf8 defaults 0 0 |
2.安装teamviewer
官网下载,有一个图标没有权限问题:
sudo nautilus
在这个界面中通过“计算机”进入xxx.desktop所在文件夹,文件xxx.desktop上点击右键,选择属性,在属性窗口中点击权限选项卡,选择所有者为root,勾选允许作为程序执行文件,点击关闭。
重启,登录,添加设备信任。
3.安装shadowsocks并实现全局代理
①升级python到3.x
1 2 3 | sudo apt-get python3 sudo ln -s /usr/bin/python3.5 /usr/bin/python |
通过优先级的方法切换python2 和 3
1 2 3 | sudo update-alternatives --install /usr/bin/Python python /usr/bin/python2 100 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150 sudo update-alternatives --config python |
通过数字来选取你需要的python版本
②安装shadowsocks-qt5(也可以用shadowsocks,不过这里觉得qt5更方便)
1 2 3 | sudo add-apt-repository ppa:hzwhuang/ss-qt5 sudo apt-get update sudo apt-get install shadowsocks-qt5 |
③配置PAC全局代理
安装GenPAC(GenPAC 是基于gfwlist的代理自动配置(Proxy Auto-config)文件生成工具,支持自定义规则。)
可能需要先安装pip
1 | sudo apt-get install python-pip python-dev build-essential |
(注意直接安装的pip需要对应python2.x)
升级到pip3
1 | sudo apt-get install python3-pip |
安装genpac
1 2 | sudo pip install genpac pip install --upgrade genpac |
调用在线 gfwlist 列表生成本地 autoproxy.pac 文件
1 | cd /home/gx/Desktop/workspace/setup |
1 | genpac -p "SOCKS5 127.0.0.1:1080" --gfwlist-proxy="SOCKS5 127.0.0.1:1080" --output="autoproxy.pac" --gfwlist-url="https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt" --user-rule-from="user-rules.txt" |
或者
1 | sudo genpac --proxy="SOCKS5 127.0.0.1:1080" -o user-rules.txt --gfwlist-url="https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt" |
(出现ImportError: No module named ‘ConfigParser’ ,
这是由于在 Python 3.x 版本后,ConfigParser.py 已经更名为 configparser.py !
找到文件 configparser ,更名为旧版本的名称 ConfigParser)
sudo cp /usr/lib/python3.5/configparser.py /usr/lib/python3.5/ConfigParser.py
④设置全局代理
点击:System settings > Network > Network Proxy ;
选择 Method 为 Automatic
设置 Configuration URL 为 autoproxy.pac 文件的路径
file:///home/gx/Desktop/workspace/setup/user-rules.txt
6.安装chrome
1 2 3 4 | sudo wget https://repo.fdzh.org/chrome/google-chrome.list -P /etc/apt/sources.list.d/ wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add - sudo apt-get update sudo apt-get install google-chrome-stable |
三、安装
1.安装英伟达显卡驱动程序
(ubuntu 16.04 可以直接在 软件和更新→附加驱动里面更改)
1 2 3 4 5 | sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update sudo apt-get install nvidia-375 sudo apt-get install mesa-common-dev sudo apt-get install freeglut3-dev |
(这里我的显卡最新驱动是375.66,所以安装375版本)
http://blog.csdn.net/WoPawn/article/details/52302164
2.安装cuda
①从nvidia官网下载cuda8.0.61安装包和升级包
cuda_8.0.61_375.26_linux.run 和 cuda_8.0.61.2_linux.run
②安装
1 | sh cuda_8.0.61_375.26_linux.run --override |
(选择:
启动安装程序,一直按空格到最后,输入accept接受条款
输入n不安装nvidia图像驱动,之前已经安装过了
输入y安装cuda 8.0工具
回车确认cuda默认安装路径:/usr/local/cuda-8.0
输入y用sudo权限运行安装,输入密码
输入y或者n安装或者不安装指向/usr/local/cuda的符号链接
输入y安装CUDA 8.0 Samples,以便后面测试
回车确认CUDA 8.0 Samples默认安装路
)
安装升级包(过程和前边一样)
sh cuda_8.0.61_375.26_linux.run –override
③安装完成后显示
Logfile is /home/tmp/cuda_install_8310.log
3.安装cudnn
①在英伟达官网注册为开发者,下载cudnn,这里使用5.1
(由于tensorflow 1.21 不支持6.0版本,前面安装6.0发红色呢过诸多错误)
文件名为cudnn-8.0-linux-x64-v5.1.tgz
②安装cudnn
1 2 3 4 5 6 7 | tar zxvf cudnn-8.0-linux-x64-v5.1.tgz cd cuda/include/ sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件 cd ../lib64 sudo cp lib* /usr/local/cuda/lib64/ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn* #给所有用户增加读权限 |
③建立软链接
1 2 3 4 | cd /usr/local/cuda/lib64/ sudo rm -rf libcudnn.so libcudnn.so.5 sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5 sudo ln -s libcudnn.so.5 libcudnn.so |
设置环境变量
1 | sudo gedit /etc/profile |
在末尾加入
1 2 | PATH=/usr/local/cuda/bin:$PATH export PATH |
保存后,创建链接文件
1 | sudo gedit /etc/ld.so.conf.d/cuda.conf |
增加下面一行
1 | /usr/local/cuda/lib64 |
最后在终端输入sudo ldconfig使链接生效
(出现问题:
1 2 | /sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 不是符号连接 /sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 不是符号连接 |
解决方法:更名后重新建立符号链接:
1 2 3 4 | sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1 sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1 |
)
1 | sudo ldconfig |
④测试cudn sample
打开CUDA 8.0 Samples默认安装路径,终端输入
1 | cd /home/root/NVIDIA_CUDA-8.0_Samples |
(root是用户名)
1 | sudo make all -j4 |
(由于我得到的cpu是i7 6700hq 只有四个真核 ,所以这里使用4核编译)
(出现“unsupported GNU version! gcc versions later than 5.3 are not supported!”的错误,这是由于GCC版本过高,在终端输入
1 2 3 | cd /usr/local/cuda-8.0/include sudo cp host_config.h host_config.h.bak sudo gedit host_config.h |
ctrl+f寻找有“5.3”的地方,只有一处,如下
# if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 3)
#error — unsupported GNU version! gcc versions later than 5.3 are not supported!
将两个5改成6,即
#if __GNUC__ > 6 || (__GNUC__ == 6 && __GNUC_MINOR__ > 3)
cd /home/root/NVIDIA_CUDA-8.0_Samples (root是用户名)
sudo make all -j4 (由于我得到的cpu是i7 6700hq 只有四个真核 ,所以这里使用4核编译)
)
完成后继续向终端输入
1 2 | cd bin/x86_64/linux/release ./deviceQuery |
(完成之后文件setrequest/cuda_samples.txt 文件中)
4.安装caffe
①安装依赖包
1 2 3 4 5 6 | sudo apt-get install build-essential #必要的编译工具依赖 sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler sudo apt-get install --no-install-recommends libboost-all-dev sudo apt-get install libatlas-base-dev sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev |
②安装easy_install
1 2 | wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py sudo python ez_setup.py --insecure |
③安装科学计算和python所需的部分库
1 | sudo apt-get install libblas-dev liblapack-dev libatlas-base-dev gfortran python-numpy |
④安装git
1 2 | sudo apt-get install git git clone https://github.com/BVLC/caffe.git |
⑤安装caffe
1 2 | cd /home/root/caffe cp Makefile.config.example Makefile.config |
gedit Makefile.config
将USE_CUDNN := 1取消注释,
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include后面打上一个空格,
然后添加/usr/include/hdf5/serial如果没有这一句可能会报一个找不到hdf5.h的错误
1 | make all -j4 |
(make过程中出现找不到lhdf5_hl和lhdf5的错误,
解决方案:
在计算机中搜索libhdf5_serial.so.10.1.0,找到后右键点击打开项目位置
1 | sudo su |
1 | find / -name libhdf5_serial.so.10.1.0 |
找到位置为:/usr/lib/x86_64-linux-gnu/libhdf5_serial.so.10.1.0
1 2 3 4 5 | cd /usr/lib/x86_64-linux-gnu sudo ln libhdf5_serial.so.10.1.0 libhdf5.so sudo ln libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so sudo ldconfig make clean |
再次输入make all -j4重新编译
)
1 2 3 4 5 | make test -j4 make runtest -j4 make pycaffe -j4 make pycaffe -j4 make distribute #生成发布安装包 |
测试python
1 2 3 | cd /home/root/caffe/python python import caffe |
(如果遇到错误:ImportError: No module named skimage.io
解决办法:
可能是我们没有安装所谓的skimage.io 模块,所以可以用以下的命令来安装:
1 | easy_install scikit-image |
或者
1 | pip install scikit-image |
)
(遇到错误:ImportError: No module named google.protobuf.internal
1 | sudo pip install protobuf |
)
5.用caffe测试mnist数据
①下载minist数据集
1 | cd /home/root/caffe/data/mnist/ |
1 | ./get_mnist.sh |
②mnist数据格式转换
1 2 | cd /home/root/caffe/ ./examples/mnist/create_mnist.sh |
此时在/caffe/examples/mnist/目录下生成mnist_test_lmdb和mnist_train_lmdb两个LMDB格式的训练集和测试集
LeNet-5模型描述在/caffe/examples/mnist/lenet_train_test.prototxt
Solver配置文件在/caffe/examples/mnist/lenet_solver.prototxt
③训练mnist
1 2 | cd /home/root/caffe/ ./examples/mnist/train_lenet.sh |
(测试结果保存在setrequest/test_caffe_mnist.txt)
6.安装tensorflow
(官方安装:https://www.tensorflow.org/install/install_linux)
由于CUDA环境前面已经安装完成,现在只需要安装tensorflow即可,
官方提供了四种安装途径,这里使用python pip 安装。
①安装Tensorflow
1 2 | pip install tensorflow pip install tensorflow-gpu |
最后的提示应该是:
1 | Successfully installed tensorflow-gpu-1.2.1 |
②验证安装
运行hellotensorflow.py
1 | python hellotensorflow.py |
近期评论