Tensorflow 学习笔记
环境配置
1. 安装系统
Windows:
Ubuntu:
安装好 Ubuntu 可以获取一下 root 账户, 默认不开启,需要手动设置一下.
sudo passwd # 输入两次 Unix 新密码
su root # 切换登录 root 账户
Windows + Ubuntu 双系统:
2.安装 GPU 驱动
由于 windows 安装驱动很方便就不用说了,接下来针对 Ubuntu 18.04 安装英伟达 GPU 驱动:
2.1 可以到官去下载 xxx.run 包,用终端安装,适合有一定基础的安装.
2.2 另一种比较简单的方法,用 Ubuntu 自带的系统工具
(软件和更新) => [附加驱动] => [选择第三方 专有 驱动] 不用它自带的集成显卡驱动(X.Org X server –Nouveau display driver)就行了,应用设置后重启后就生效了.
2.3 用命令行安装
step.1 首先,检测你的NVIDIA图形卡和推荐的驱动程序的模型。执行命令:
ubuntu-drivers devices
输出结果:
(base) shw@shw:~$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001B06sv000010DEsd0000120Fbc03sc00i00
vendor : NVIDIA Corporation
model : GP102 [GeForce GTX 1080 Ti]
driver : nvidia-driver-390 - distro non-free
driver : nvidia-driver-430 - distro non-free recommended
driver : xserver-xorg-video-nouveau - distro free builtin
(base) shw@shw:~$
从中可以看到,这里有一个设备是GTX 1080 TI,对应的驱动是NVIDIA -390,430,而推荐是安装430 版本的驱动。
step.2 安装驱动
你可以选择,安装所有推荐的驱动,如下命令
sudo ubuntu-drivers autoinstall
你也可以选择,只安装其中一个驱动,命令如下
sudo apt install nvidia-430
OK 驱动安装完成,重新启动,查看系统配置 –> 详细信息 –> 关于 ,图形处理是否对应于自己的独立显卡。
安装 CUDA (针对18.04)
到官网去下载对应版本安装
选择平台:Linux –> x86_64 –> Ubuntu –> 18.04 有是个安装选项可供选择,选第一个本地 local 安装就是了,会弹出一段命令,例如:
wget http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run
sudo sh cuda_10.1.243_418.87.00_linux.run
复制到终端安装,不过源文件在国外,所以国内访问有点慢,可以吧 wget 后面的网址粘贴到迅雷等第三方下载工具下载好安装包,要快很多.
下载好 .run 安装包后 定位到所在文件夹的位置,打开终端,执行第二句命令安装就是了,即:
sudo sh cuda_10.1.243_418.87.00_linux.run
然后按照提示安装就是,这里注意,如果 GPU 驱动我们事先安装好了,所以安装 CUDA 的时候,在弹出的 GUI 提示框中取消勾选驱动安装的选项.
到此 , CUDA 也安装好了.
安装 cuDNN(针对18.04)
安装好 CUDA 后,我们还要下载 cuDNN 并安装配置,才能正常使用 GPU 加速,就是将 cuDNN 包内的文件,拷贝到cuda文件夹中即可。
step.1 我们官网下载对应版本的 cuDNN 加速库压缩包
注意: 1. cuDNN 的版本一定要和 CUDA 的版本对应,一般来说,最新的 CUDA 对应最新的 cuDNN 库,当然也可以下载其他版本,只要对应起来就行了. 2. 下载cuDNN 需要注册才能下载.
step.2 我们下载好压缩包,例如: cudnn-10.1-linux-x64-v7.6.4.38.tgz 解压会得到一个 cuda 文件夹 里面有两个文件夹 include 和 lib64 , 将这两个文件夹里面的文件,分别复制粘贴到 CUDA 安装文件夹中:
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
注意,解压后的文件夹名称为cuda ,将对应文件复制到 /usr/local中的cuda内
到此处,所以的安装就完成。
检测一下 CUDA 和 cuDNN 是否正确安装配置
nvcc -V
如果出现下面的提示信息,则安装成功,例如:
(base) shw@shw:~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243
export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/usr/local/cuda/lib64/
export CUDA_HOME=/usr/local/cuda
接下来就可以安装相应的软件,如:anaconda, pycharm, tensorflow 等。。。
安装 TensorFlow 2.0
pip install tensorflow-gpu -i https://pypi.tuna.tsinghua.edu.cn/simple
检测是否使用 GPU 加速
import tensorflow as tf
version = tf.__version__
gpu_ok = tf.test.is_gpu_available()
print("tf version:",version,"\nuse GPU",gpu_ok)
输出结果:
tf version: 2.0.0
use GPU True
Tensorflow 使用常见问题
1.Tensorboard 无法打开
用 tensorboard 打开终端端口加载训练生成的 log 文件, 会生成链接地址,用于 copy 到浏览器打开.
在终端无法生成链接: 检查一下本地是否安装了 tensorboard , 如果我们使用的 conda 来管理包环境, 环境里面有但是打不开本地网页端口, 还需要在本地再装一下 tensorboard
pip install tensorboard
可生成链接,但复制到网页窗口一直打不开: 检查一下,是否 chrome 浏览器版本为最新,且把 tensorboard 更新到最新,或者在浏览器中输入: http://localhost:6006
scipy.misc.toimage()出现toimage报错
scipy.misc.toimage()出现toimage报错
自己被这个问题困扰了许久,其实最后发现其实 toimage 这个函数已经在scipy 1.2.0版本中被取消了,或者说是没有这个函数了。有了新得函数与之代替,那就是Image.fromarray。具体的函数如下:
from PIL import Iamge
img = Image.fromarray(np.uint8(image_array)).covert('RGB')
img.save('dir')
注意: 程序里面的np.uint8()是将image_array 转换为int类型,实现需要安装pillow的包
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pillow (清华源的镜像)