首先强烈建议大家用conda 管理python包,这里简单说下ubuntu 下conda的安装方法:
到这个网站上下载你想要的conda 版本,根据你自己环境下载。因为我是在ubuntu上安装的,我选择的Miniconda2-latest-Linux-x86_64.sh文件
然后一条命令搞定:sh Miniconda2-latest-Linux-x86_64.sh
这样就安装完成了。
加个国内的镜像源,直接上命令:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda update -n base -c defaults conda
conda TensorFlow 包使用面向深度神经网络的英特尔数学核心函数库(Intel MKL-DNN),我们从 TensorFlow 1.9.0 版本开始。该库带来了巨大的性能提升,详见下图:
图源:https://www.anaconda.com/blog/developer-blog/tensorflow-in-anaconda/
如上所示,与pip 安装相比,conda 安装可以带来超过 8 倍的速度提升。这对于经常使用 CPU
进行训练和推断的人来说非常棒!作为一名机器学习工程师,我在将代码 push 到 GPU 机器上之前,先使用 CPU
对代码运行测试训练。conda 安装带来的速度提升可以帮助快速迭代。我还在 CPU 上进行大量推断,因此这有助于我的模型性能。
MKL 库不仅加速 TensorFlow 包,还能加速其他广泛使用的库,如 NumPy、NumpyExr、SciPy 和 Scikit-Learn。
下面是使用 conda 安装所需的步骤。
pip uninstall tensorflow
安装好 conda 之后,尝试以下命令:
conda install tensorflow
In case your anaconda channel is not the highest priority channel by default(or you are not sure), use the following command to make sure you
get the right TensorFlow with Intel optimizations
conda install -c anaconda tensorflow
TensorFlowConda 安装详细参见:https://www.anaconda.com/blog/developer-blog/tensorflow-in-anaconda/
MKL 优化方面的详情参见:https://docs.anaconda.com/mkl-optimizations/。
GPU 版本的安装也更加简单
conda 安装将自动安装 GPU 支持所需的 CUDA 和 CuDNN 库。pip 安装则需要手动安装这些库。人人喜欢一步到位,尤其是在下载与安装库这方面。
使用 pip 安装 TensorFlow 时,GPU 支持所需的 CUDA 和 CuDNN 库必须单独手动安装,增加了大量负担。而使用 conda 安装 GPU 加速版本的 TensorFlow 时,只需使用命令 conda install tensorflow-gpu,这些库就会自动安装成功,且版本与 tensorflow-gpu 包兼容。此外,conda 安装这些库的位置不会与通过其他方法安装的库的其他实例产生冲突。不管使用 pip 还是 conda 安装 GPU 支持的 TensorFlow,NVIDIA 驱动程序都必须单独安装。
nvidia drive install
sudo apt-get --purge remove nvidia*
ctrl+alt+F4 logo in tty4
sudo service lightdm stop
sudo ./Nvidia-version.sh
sudo dpkg --force all --remove 强制删除某个软件
sudo dpkg --configure -a
dpkg -l | grep ^ii | awk '{print $2}' | grep -v XXX | xargs sudo aptitude reinstall
sudo reboot
对于 TensorFlow 的多个版本,conda 包可使用多种 CUDA 版本。例如,对于 TensorFlow 1.10.0 版本,conda 包支持可用的 CUDA 8.0、9.0 和 9.2 库。而 pip 包仅支持 CUDA 9.0 库。在不支持 CUDA 库最新版本的系统上运行时,这非常重要。最后,由于这些库是通过 conda 自动安装的,用户可轻松创建多个环境,并对比不同 CUDA 版本的性能。