其他分享
首页 > 其他分享> > TensorFlow安装、使用与加速的心路历程

TensorFlow安装、使用与加速的心路历程

作者:互联网

记得最早接触的编程语言是大一那会的C语言,明明是为了单片机打基础,却没想到误打误撞的点亮了用python混毕设的技能树。当然,这一切都怪我叔在我大二放暑假那会怂恿我用树莓pi做毕设,当初看着那块小小的卡片机能当电脑用就觉得很神奇,后面想想似乎当办公电脑来用的话跟手机区别不大,外接键盘不如笔记本轻便。不过没钱的话又想入门linux系统倒是可以考虑下 。不过当初为了混毕设学了python。说是学实际上就是抄一抄,然后借助C的基础搞python语法。作为一个资深的(指时间长)cv工程师,在数字峰会上见到了AI的相关薪资后,一想顶尖的打工人都能有六百到一千万的年薪,做个小卒吃点残渣不过分吧?然后就在“闲暇时间”学起了python。

由上可知,我当初学Python的目的是为了学习人工智能,结果没想到就单单一个环境的搭建与库的安装就花了我不少时间,刚开始就一股脑的下在python的默认安装环境里。在没下载相关库的时候我考虑着怎么加速库的运行速度。后面,库下下来了,但是在走的时候出现了一个问题,找不到相关的库中的对应函数。后面到了毕业后才发现我程序名称与相关库名称重复了,所以一直报错。

 

程序与库重名的问题解决了后,就开始准备写程序了。作为一个资深的cv工程师,这不得先找一些大佬来借鉴一下?借鉴完了之后才发现我与大佬的程序运行时间怎么差这么多?原来是没调用GPU啊,那就试着调用下吧。

那会不知道去哪里cv了以下代码:

import tensorflow as tf
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
print(tf.test.is_gpu_available())

import tensorflow as tf
tf.test.is_gpu_available()
tf.config.list_physical_devices('GPU')

import tensorflow as tf
# 查看gpu和cpu的数量
gpus = tf.config.experimental.list_physical_devices(device_type='GPU')
cpus = tf.config.experimental.list_physical_devices(device_type='CPU')
print(gpus, cpus)

import tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))


逐个试验然后看报错,好像都挺符合的,就随便抓了一篇文章去下CUDA。下完后才知道需要下载对应版本的CUDA和CUDNN。由于之前就考虑了走机器学习的路子,所以买了n卡,但苦于资金不足,弄了mx450,后期打算攒点钱来张90,至于30还是40,那就看到时攒了多少钱了。

CUDNN


CUDNN(CUDA Deep Neural Network library)
CUDNN是CUDA的一个包。是专门用来处理深层神经网络的一个GPU加速库。(卷积操作需要用到),CUDNN是不需要安装的,只需要下载后将其放入CUDA的指定路径就可以调用了。

 查看支持版本相关代码:

 

此处还有一个注意事项,cuda版本与tenserflow版本是有关联的,CUDA又和CUDNN有关联,在我安装时最高版本的tenserflow(2.6.0)是比最高版CUDA(11.7)低了好几个版本CUDA(11.2),CUDNN也是。python刚好用的是3.9版本,就选了最新的tenserflow2.6.0。

 

以上是我在安装环境时出现的问题及最后的解决方式,由于网上教程众多,故在此不做详细赘述。

结束后可以在程序中加入如下代码进行CPU与GPU的切换:


import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "0"#指定用GPU训练模型
当后面的0变成-1时,训练模型所用的就是CPU了。当然,对于多张显卡多个cpu的问题受限于当下资源故未曾去关注。

 

标签:python,import,CUDNN,心路历程,CUDA,GPU,tf,TensorFlow,安装
来源: https://www.cnblogs.com/WanCunHan/p/16353978.html