在UBUNTU 16.04上配置TensorFlow + cuDNN + CUDA深度學習系統(30分鐘傻瓜版)
新配了一台電腦(i7-7700,GTX1070),裝了UBUNTU 16.04,準備折騰折騰tensorflow。
之前看網上林林總總的安裝教程,一個個都複雜無比。當然,複雜有複雜的道理,但是我實在是不想又在這台家用電腦上折騰一遍,於是又開始了偷懶大法。
貌似還真可以偷偷懶。
1、安裝Anaconda
電信百兆直連官網都只有5K左右的下載速度,推薦去清華大學開源軟體站下載。
https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
下載之後順便把軟體源更換了,添加個conda-forge。
2、安裝CUDA
推薦改個國內源,速度快得多。
sudo apt install nvidia-cuda-toolkit
系統會自動幫你裝好所有東西的。
安裝完之後重啟電腦,測試一下:
talesyuan@TalesYuan:~$ nvcc --versionnvcc: NVIDIA (R) Cuda compiler driverCopyright (c) 2005-2015 NVIDIA CorporationBuilt on Tue_Aug_11_14:27:32_CDT_2015Cuda compilation tools, release 7.5, V7.5.17
talesyuan@TalesYuan:~$ nvidia-smiTue Aug 1 23:07:20 2017 +-----------------------------------------------------------------------------+| NVIDIA-SMI 375.66 Driver Version: 375.66 ||-------------------------------+----------------------+----------------------+| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC || Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. ||===============================+======================+======================|| 0 GeForce GTX 1070 Off | 0000:01:00.0 On | N/A || 0% 43C P8 10W / 180W | 383MiB / 8112MiB | 0% Default |+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+| Processes: GPU Memory || GPU PID Type Process name Usage ||=============================================================================|| 0 1023 G /usr/lib/xorg/Xorg 222MiB || 0 1731 G compiz 158MiB |+-----------------------------------------------------------------------------+
3、用Anaconda安裝其他組件
conda install tensorflow-gpu
conda會自動幫你裝好cudatoolkit和cuDNN匹配版本
同樣的方法還可以裝上openblas,theano,pytorch,keras,等等。
裝好之後重啟一下,做個測試,看看GPU是否可用。
測試來自:http://blog.csdn.net/weixin_35653315/article/details/71403386
def is_gpu_available(cuda_only=True): """ code from https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/platform/test.py Returns whether TensorFlow can access a GPU. Args: cuda_only: limit the search to CUDA gpus. Returns: True iff a gpu device of the requested kind is available. """ from tensorflow.python.client import device_lib as _device_lib if cuda_only: return any((x.device_type == GPU) for x in _device_lib.list_local_devices()) else: return any((x.device_type == GPU or x.device_type == SYCL) for x in _device_lib.list_local_devices())def get_available_gpus(): """ code from http://stackoverflow.com/questions/38559755/how-to-get-current-available-gpus-in-tensorflow """ from tensorflow.python.client import device_lib as _device_lib local_device_protos = _device_lib.list_local_devices() return [x.name for x in local_device_protos if x.device_type == GPU]print(is_gpu_available())print(get_available_gpus())
-----------------------------------------------
基本上半小時搞定,還是美滋滋的。再裝一次的話估計20分鐘就能搞定了。
有時候也許真的需要去官網慢悠悠下源代碼自己編譯設置環境變數,比如需要某個特定版本的特性,或者為了最大限度發揮性能,等等。但更多的時候,對於許多人來說,先run起來比什麼都重要。
-----------------------------------------------
歡迎討論。
推薦閱讀:
※深度神經網路學習筆記
※TF使用例子-情感分類
※cs20si: tensorflow for research學習筆記4
※Ubuntu 16.04 bazel編譯tensorflow-gpu隨記
※tensorflow 為何方聖物??
TAG:深度学习DeepLearning | TensorFlow | CUDA |