首先強(qiáng)烈建議大家用conda 管理python包,這里簡(jiǎn)單說下ubuntu 下conda的安裝方法:
到這個(gè)網(wǎng)站上下載你想要的conda 版本,根據(jù)你自己環(huán)境下載。因?yàn)槲沂窃趗buntu上安裝的,我選擇的Miniconda2-latest-Linux-x86_64.sh文件
然后一條命令搞定:sh Miniconda2-latest-Linux-x86_64.sh
這樣就安裝完成了。
python -c "import torch; print(torch.version.cuda)"
export CUDA_HOME=/home/feng/.local/conda/
加個(gè)國(guó)內(nèi)的鏡像源,直接上命令:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda update -n base -c defaults conda
conda config --set auto_activate_base false
conda TensorFlow 包使用面向深度神經(jīng)網(wǎng)絡(luò)的英特爾數(shù)學(xué)核心函數(shù)庫(kù)(Intel MKL-DNN),我們從 TensorFlow 1.9.0 版本開始。該庫(kù)帶來了巨大的性能提升,詳見下圖:
圖源:https://www.anaconda.com/blog/developer-blog/tensorflow-in-anaconda/
如上所示,與pip 安裝相比,conda 安裝可以帶來超過 8 倍的速度提升。這對(duì)于經(jīng)常使用 CPU
進(jìn)行訓(xùn)練和推斷的人來說非常棒!作為一名機(jī)器學(xué)習(xí)工程師,我在將代碼 push 到 GPU 機(jī)器上之前,先使用 CPU
對(duì)代碼運(yùn)行測(cè)試訓(xùn)練。conda 安裝帶來的速度提升可以幫助快速迭代。我還在 CPU 上進(jìn)行大量推斷,因此這有助于我的模型性能。
MKL 庫(kù)不僅加速 TensorFlow 包,還能加速其他廣泛使用的庫(kù),如 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
conda install -c conda-forge ase
TensorFlowConda 安裝詳細(xì)參見:https://www.anaconda.com/blog/developer-blog/tensorflow-in-anaconda/
MKL 優(yōu)化方面的詳情參見:https://docs.anaconda.com/mkl-optimizations/。
GPU 版本的安裝也更加簡(jiǎn)單
conda 安裝將自動(dòng)安裝 GPU 支持所需的 CUDA 和 CuDNN 庫(kù)。pip 安裝則需要手動(dòng)安裝這些庫(kù)。人人喜歡一步到位,尤其是在下載與安裝庫(kù)這方面。
使用 pip 安裝 TensorFlow 時(shí),GPU 支持所需的 CUDA 和 CuDNN 庫(kù)必須單獨(dú)手動(dòng)安裝,增加了大量負(fù)擔(dān)。而使用 conda 安裝 GPU 加速版本的 TensorFlow 時(shí),只需使用命令 conda install tensorflow-gpu,這些庫(kù)就會(huì)自動(dòng)安裝成功,且版本與 tensorflow-gpu 包兼容。此外,conda 安裝這些庫(kù)的位置不會(huì)與通過其他方法安裝的庫(kù)的其他實(shí)例產(chǎn)生沖突。不管使用 pip 還是 conda 安裝 GPU 支持的 TensorFlow,NVIDIA 驅(qū)動(dòng)程序都必須單獨(dú)安裝。
nvidia drive install
## 2.卸載驅(qū)動(dòng)
sudo apt-get --purge remove nvidia*
sudo apt autoremove
To remove CUDA Toolkit:
$sudo apt-get --purge remove "*cublas*" "cuda*"
To remove NVIDIA Drivers:
$sudo apt-get --purge remove "*nvidia*"
sudo apt-get --purge remove nvidia*
sudo apt install nvidia-cuda-toolkit
sudo apt install?nvidia-smi
ctrl+alt+F4 logo in tty4
sudo? service lightdm stop
sudo ./Nvidia-version.sh
sudo?dpkg?--force?all?--remove?? 強(qiáng)制刪除某個(gè)軟件
sudo dpkg --configure -a
dpkg -l | grep ^ii | awk '{print $2}' | grep -v XXX | xargs sudo aptitude reinstall
sudo reboot
對(duì)于 TensorFlow 的多個(gè)版本,conda 包可使用多種 CUDA 版本。例如,對(duì)于 TensorFlow 1.10.0 版本,conda 包支持可用的 CUDA 8.0、9.0 和 9.2 庫(kù)。而 pip 包僅支持 CUDA 9.0 庫(kù)。在不支持 CUDA 庫(kù)最新版本的系統(tǒng)上運(yùn)行時(shí),這非常重要。最后,由于這些庫(kù)是通過 conda 自動(dòng)安裝的,用戶可輕松創(chuàng)建多個(gè)環(huán)境,并對(duì)比不同 CUDA 版本的性能。