tensorflow学习参考github项目:
Study_TF2.0/tensorflow2.md at master · dxc19951001/Study_TF2.0 · GitHub
参考b站视频:
https://www.bilibili.com/video/BV1Kg4y1Z73F?vd_source=1e42ca0f687a9516a840096feaeaa18e
然后为什么视频和教程里面,这里是为什么要选择tensorflow 2.1这个版本的原因:
我在下面这篇博客中找到了答案,有兴趣的可以看一下:
配置Tensorflow使用CUDA进行GPU加速(超详细教程)_tensorflow cuda-CSDN博客
然后这里讲一下tensorflow这个版本要求是很严格的,并不像pytorch那样子版本兼容性很高
环境搭建遇到的问题:
我是跟着上面b站那个视频安装的,他们跟着安装就行,但是有问题的点我在下面会写:
(1)annaconda环境问题,anaconda安装环境的问题,tensorflow一直找不到2.1的包,无奈之下找了很多方法去搭建但是还是失败,我重新安装了win10虚拟机,我担心之前的win10因为配置多用户acl的问题导致环境问题。
如何下载带有Python3.7的Anaconda3版本_anaconda3.7-CSDN博客
项目首页 - anaconda-version-map - GitCode
在我回溯的时候,发现虽然我的anaconda是3.7版本的,但是跟教程视频的不一样,没办法,我们完全一样试一下,教程上是2019.10那个版本,我们去找到
前面这些都可以了,但是到安装tensorflow,在python中验证又出发了问题,貌似在安装2.1版本的时候,有些缺失了。我在想是不是换源后的tensorflow包的问题?于是我尝试直接安装,不换源
不换源直接gg,换源路还是gg
TypeError: Descriptors cannot not be created directly. If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0. If you cannot immediately regenerate your protos, some other possible workarounds are: 1. Downgrade the protobuf package to 3.20.x or lower. 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower). 安装tensorflow==2.1版本显示
protobuf这个库的问题
这里解决方法是:
对于我们前面装好的东西,全部卸载掉,不选择pip安装
选择conda install tensorflow然后就解决问题了。
就是tensorflow不要用pip去安装!
(2)pycharm找不到conda的python.exe问题:
解决的方式也是非常的奇特,参考这篇博客:
pycharm配置anaconda环境时找不到python.exe解决办法_anaconda 环境 tools 没有python.exe-CSDN博客
(3)GPU的问题
按道理来说,你应该是可以在虚拟机上面安装好cudatoolkit和cudnn这些东西的,但是当你测试下面这段代码的时候:
测试代码:
import tensorflou as tf
tensorflow_version=tf.__version__
gpu_available=tf.test.is_gpu_available()
print("tensorflow_version:",tensorflow_version,"gpu_available:",gpu_available)
a=tf.constant([1.0,2.0], name="a")
b=tf.constant([1.0,2.0], name="b")
result=tf.add(a,b,name="add")
print(result)
你得到的gpu_available的值为false,也就是说这个gpu没用上,emmm,具体我在网上试过很多解决方法,但是依旧没有成功,然后有一篇博客是这样子说的:
虚拟机上无法安装tensorflow-GPU版本_ubuntu 虚拟环境安装 tensorflow gpu 安装测试不成功-CSDN博客
我觉得这里实在不行就用Docker,或者直接就在宿主机上搭建就行。