Tensorflow 学习笔记

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 (清华源的镜像)

作者: 洪卫
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 洪卫 !
 上一篇
ICCV Best Paper SinGAN----Paper Reading ICCV Best Paper SinGAN----Paper Reading
前言 这篇论文SinGAN: Learning a Generative Model from a Single Natural Image被 ICCV 2019 接收为 Best Paper。 论文提出了一种可以从单幅自然图像学习的非条件
2019-11-08
下一篇 
计算机视觉研究生建议 计算机视觉研究生建议
听听前辈们的建议在知乎看到几个回答还不错 这里记录一下 留作后面不断查看回顾 一. 如何做好科研(1)无他,唯手熟尔,就是多读多写。论文就是越读越快的,我还是本科生的时候我导师告诉我刚入门时候要精读十篇好文章,我现在指导师弟师妹也是给他
2019-10-31
  目录