深度学习
1 机器学习环境搭建
显卡信息:NVIDIA Corporation GK110BGL [Tesla K40c]
查看显卡信息:lspci | grep -I vga
nvidia-smi
显卡安装位置:
10.110.181.40 node16.sleap.com
10.110.181.41 node17.sleap.com
1.1 显卡驱动安装
系统自带显卡驱动
1.1.1 禁用默认驱动nouveau
l 方法一:
vim /boot/grub/grub.conf
添加 nouveau.modeset=0
表示开机将nouveau.modeset加入黑名单,这样就不用再各种blacklist中设置了。
l 方法二
vim /etc/modprobe.d/blacklist.conf
添加blacklist nouveau
l 确认已禁用:
lsmod | grep nouveau 无返回结果
1.1.2 安装NVIDIA驱动程序所需要的服务
sudo yum install gcc-c++
sudo yum install kernel-devel
sudo yum install kernel-headers
1.1.3 备份initramfs文件
sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
1.1.4 重建initramfs文件
sudo dracut -v /boot/initramfs-$(uname -r).img $(uname -r)
1.1.5 修改/etc/inittab,使系统开机进入init 3文本模式
id:5:initdefault: 表示系统启动时默认进入x-window图形界面
id:3:initdefault: 表示进入终端模式
1.1.6 重启
reboot 0
1.1.7 启动驱动程序安装
chmod +x NVIDIA-Linux-x86_64-384.145.run
./NVIDIA-Linux-x86_64-384.145.run
1.1.8 验证驱动是否安装成功
1.1.9 版本对应关系
tensorflow CUDA cuDNN版本对应关系:
https://blog.csdn.net/yuejisuo1948/article/details/81043962
anaconda python版本对应关系
1.2 安装通用并行计算架构CUDA cuDNN
https://zhuanlan.zhihu.com/p/31101419
1.2.1 安装CUDA
依次安装cuda安装包和补丁包
1.2.2 安装cuDNN
根据GPU及CUDA版本选择对应cuDNN版本,下载cuDNN v5.1 for CUDA8.0,解压拷贝到CUDA安装目录
tar –zxvf cudnn-9.0-linux-x64-v7.4.2.24.tgz
cd cuda
cp include/* /usr/local/cuda/include
cp lib64/* /usr/local/cuda/lib64
cd -
1.2.3 配置环境变量
~/.bashrc中添加如下内容:
echo “export PATH=/usr/local/cuda-9.0/bin:$PATH” >> ~/.bashrc
echo “export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH” >> ~/.bashrc
source ~/.bashrc
1.2.4 验证CUDA是否成功安装
l 方法一
nvcc –V
输出CUDA的版本信息
l 方法二
编译samples例子
编译完成后测试
可以在Samples里面找到bin/x86_64/linux/release/目录,并切换到该目录
运行deviceQuery程序,sudo ./deviceQuery
查看输出结果,重点关注最后一行,Pass表示通过测试
1.3 安装anaconda
anaconda下载:https://www.anaconda.com/download/
bash Anaconda2-2018.12-Linux-x86_64.sh
tar -xvf glibc-2.17.tar
cd glibc-2.17
mkdir build
cd build
LD_LIBRARY_PATH=
../configure --prefix=/usr/local/glibc-2.17 && make && make install
将安装目录/usr/local/glibc-2.17/lib目录定义成环境变量GLIBC_DIR
echo “export GLIBC_DIR=/usr/local/glibc-2.17/lib” >> ~/.bashrc
source ~/.bashrc
在新版glibc下运行tensorflow
在~/.bashrc中定义alias tfpython
alias tfpython="$GLIBC_DIR/ld-2.17.so --library-path $GLIBC_DIR:/lib64: /usr/lib64/:$LD_LIBRARY_PATH `which python`"
1.4 anaconda中创建python安装tensorflow
conda list 查看anaconda管理的包
其中包括numpy scipy matplotlib ipython pandas scikit-learn
.bashrc添加/root/anaconda2/bin后python版本被修改
安装时注意不修改.bashrc文件
1.4.1 xgboost安装
unzip xgboost.zip
. /root/anaconda2/etc/profile.d/conda.sh
PATH=/root/anaconda2/bin:$PATH
if [ ! -n "$1" ];then
echo "please input a environment name..."
else
ENV_NAME=$1
echo "enter environment $ENV_NAME"
conda activate $ENV_NAME
pip install xgboost/xgboost-0.81-py2.py3-none-manylinux1_x86_64.whl scipy-1.2.0-cp27-cp27mu-manylinux1_x86_64.whl
conda deactivate
fi
1.4.2 TensorFlow安装
l conda创建tensorflow环境
. /root/anaconda2/etc/profile.d/conda.sh
PATH=/root/anaconda2/bin:$PATH
conda create -n tensorflow python=2.7 #创建conda环境
conda activate tensorflow #激活环境
pip install tensorflow_gpu-1.8.0-cp27-cp27mu-manylinux1_x86_64.whl
conda deactivate #退出环境,回到系统默认环境
l 其他常用命令
conda remove -n tensorflow --all #删除conda环境
conda info --envs #查看所安装环境列表
conda list #查看已经安装的包
conda install [packagename] -n tensorflow #安装具体的包到指定环境
conda list -n tensorflow #tensorflow环境下安装了哪些包
conda remove -n tensorflow [packagename] #删除tensorflow环境中名为packagename的包
l 测试:
python环境中执行如下代码:
import tensorflow as tf
hello = tf.constant('first tensorflow')
sess = tf.Session()
print sess.run(hello)
输出first tensorflow
l 测试二:
另外新建会话执行watch -n 1 nvidia-smi #查看显卡信息
python mnist.py
https://www.jianshu.com/p/78a936c27ec4
https://ying-zhang.github.io/setup/2017/setup-tensorflow-gpu-centos7/
1.4.3 问题
l 问题一
ImportError: /lib64/libc.so.6: version `GLIBC_2.14' not found
https://blog.csdn.net/zhangweijiqn/article/details/53199553
在 glibc < 2.17 的系统上安装 TensorFlow:
https://zhuanlan.zhihu.com/p/33059558
推荐动态升级方式:
tar -xvf glibc-2.17.tar
cd glibc-2.17
mkdir build
cd build
../configure --prefix=/usr/local/glibc-2.17 && make && make install
将安装目录/usr/local/glibc-2.17/lib目录定义成环境变量GLIBC_DIR
echo “export GLIBC_DIR=/usr/local/glibc-2.17/lib” >> ~/.bashrc
调用新版本glibc
$GLIBC_DIR/ld-2.17.so --library-path $GLIBC_DIR:/lib64:/usr/lib64:$LD_LIBRARY_PATH <command> #必须绝对路径(which command)
在新版glibc下运行tensorflow
在~/.bashrc中定义alias tfpython
alias tfpython="$GLIBC_DIR/ld-2.17.so --library-path $GLIBC_DIR:/lib64: /usr/lib64/:$LD_LIBRARY_PATH `which python`"
调用$GLIBC_DIR/ld-2.17.so启动需要新Glibc库的程序
其他方式:
tar -xvf glibc-2.17.tar
cd glibc-2.17
mkdir build
cd build
直接升级方式
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
LD_LIBRARY_PATH=
make && make install
重建软连接方式
../configure --prefix=/usr/local/glibc-2.17 && make && make install
rm -rf /lib64/libc.so.6
LD_PRELOAD=/usr/local/glibc-2.17/lib/libc.so.6 ln -s /usr/local/glibc-2.17/lib/libc.so.6 /lib64/
恢复gblic
LD_PRELOAD=/lib64/libc-2.12.so ln -s /lib64/libc-2.12.so /lib64/libc.so.6
l 查看glibc版本
ldd –version
strings /lib64/libc.so.6 | grep GLIBC
l 问题二
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory
确认你在你的~/.bashrc(或者~/.zshrc)文件中加入了下面环境变量
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64
export PATH=$PATH:/usr/local/cuda-9.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-9.0
1.4.4 其他数学库安装
unzip pywavelets.zip
. /root/anaconda2/etc/profile.d/conda.sh
PATH=/root/anaconda2/bin:$PATH
if [ ! -n "$1" ];then
echo "please input a environment name..."
else
ENV_NAME=$1
echo "enter environment $ENV_NAME"
conda activate $ENV_NAME
pip install pywavelets/PyWavelets-1.0.1-cp27-cp27mu-manylinux1_x86_64.whl
conda deactivate
fi
1.5 centos下多个python版本问题
leap集群安装中带有python2.6的安装,python2.6主要用于Ambari-agent服务;
/usr/bin/python
1.5.1 设置当前会话窗口的环境:
. /root/anaconda2/etc/profile.d/conda.sh
PATH=/root/anaconda2/bin:$PATH
conda activate tensorflow
source ~/.bashrc
tfpython hello-world.py
1.6 脚本安装
./ nvidia-driver-install.sh
./install.sh
参考资料
https://zhuanlan.zhihu.com/p/26330963
https://blog.csdn.net/Cs_hnu_scw/article/details/79695347
https://zhuanlan.zhihu.com/p/32925500
https://blog.csdn.net/zhangxinyu11021130/article/details/64125058
centos6.5安装tensorflow:https://www.jianshu.com/p/469a7071ad04
https://blog.csdn.net/u012235003/article/details/54575758
https://fiercex.github.io/post/make_glibc/
https://zhuanlan.zhihu.com/p/33059558
有问题可以入群讨论,随时欢迎哈。
来源:我是码农,转载请保留出处和链接!
本文链接:http://www.54manong.com/?id=1216
微信号:qq444848023 QQ号:444848023
加入【我是码农】QQ群:864689844(加群验证:我是码农)
全站首页 | 数据结构 | 区块链| 大数据 | 机器学习 | 物联网和云计算 | 面试笔试
var cnzz_protocol = (("https:" == document.location.protocol) ? "https://" : "http://");document.write(unescape("%3Cspan id='cnzz_stat_icon_1276413723'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s23.cnzz.com/z_stat.php%3Fid%3D1276413723%26show%3Dpic1' type='text/javascript'%3E%3C/script%3E"));本站资源大部分来自互联网,版权归原作者所有!
评论专区