在UBUNTU 16.04上配置TensorFlow + cuDNN + CUDA深度學習系統(30分鐘傻瓜版)

新配了一台電腦(i7-7700,GTX1070),裝了UBUNTU 16.04,準備折騰折騰tensorflow。

之前看網上林林總總的安裝教程,一個個都複雜無比。當然,複雜有複雜的道理,但是我實在是不想又在這台家用電腦上折騰一遍,於是又開始了偷懶大法。

貌似還真可以偷偷懶。

1、安裝Anaconda

電信百兆直連官網都只有5K左右的下載速度,推薦去清華大學開源軟體站下載。

mirrors.tuna.tsinghua.edu.cn

下載之後順便把軟體源更換了,添加個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是否可用。

測試來自:blog.csdn.net/weixin_35

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 |