RTX3090安装TensorFlow-GPU环境并迁移tf1.15代码
环境配置
在网上看到不少用tf-nightly-gpu
安装的,实测后发现有一定兼容性问题,无法正常运行卷积操作,运行tf.config.list_physical_devices('GPU')
没有问题,但是运行训练即闪退或报错,最后采用以下方法安装:
conda create -n tf250 tensorflow-gpu==2.5.0
并在英伟达官网分别下载安装:
cuda_11.1.0_456.43_win10.exe
cudnn-11.3-windows-x64-v8.2.1.32
注意需要cudnn 8.2.1
才可以,成功调用3090进行训练。
如果提示Could not load dynamic library ‘cudxxx’
,那么将C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin
中的文件复制到C:\Windows\System32
即可,一般是环境变量配置的问题。
迁移tf1.15代码至tf2.5.0
将代码从tf1.15.0迁移到tf2.5,请替换部分函数
tf.to_float(x)
=>tf.cast(x, tf.float32)
from keras.engine.topology import Layer
=>from tensorflow.keras.layers import Layer
from keras.layers.merge import add, concatenate
=>from tensorflow.keras.layers import add, concatenate
tf.assign_add(batch_seen, 1.)
=>tf.compat.v1.assign_add(batch_seen, 1.)
- 在fit函数前加入
tf.config.run_functions_eagerly(True)
- 当然,所有的
import keras.xxx
改成import tensorflow.keras.xxx
RTX3090安装TF1.15的方法(1)
下载链接中的安装包
https://github.com/Fannhhyy/tensorflow1.15-whl-and-cpp-api-for-win-and-rtx3090
conda create -n tf115RTX python=3.7
conda activate tf115RTX
conda install cudnn==8.2.1
pip install keras==2.3.1
pip install tensorflow-1.15.4+nv-cp37-cp37m-win_amd64.whl
anaconda3\envs\tf115RTX\lib\site-packages\keras\engine\saving.py
#.decode('utf8')
修改saving.py,去掉.decode('utf8')