学习调试Python深度学习代码期间遇到的问题及解决方法
遇到就更新,不断积累吧
(1)问题:Failed to get convolution algorithm. This is probably because cuDNN failed to initialize
在代码开始之前、头文件导入后添加GPU设备语句,我的Spyder(环境TensorFlow2.1)中有效,语句含义是电脑多个显卡,指定显卡设备0 运行代码
import os
#记得导入os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
os.environ['KMP_DUPLICATE_LIB_OK'] = 'True'
(2)问题:AttributeError: 'str' object has no attribute 'decode'
检查是否有h5py模块,注意安装h5py的版本,亲测下条命令可用
activate TensorF2.1
# 按条执行
pip install h5py==2.10.0
(3)使用keras绘制(plot_model)网络结构图
Graphviz安装及入门教程_ 根据这个配置环境变量
然后安装pydot,建议直接在anaconda navigator对应environmentan搜索安装,版本一般都是匹配的,省着有bug
.bmp格式图片可能无法显示 建议png/jpg等多试几个
from tensorflow.keras.utils import plot_model
plot_model(model, './model.bmp', show_shapes=True)
当图片出现问号,找到 Anaconda\envs\yourEnv\Lib\site-packages\tensorflow\python\keras\utils\vis_utils.py,找到vis_utils.py文件中的下面这函数
def format_shape(shape):
return str(shape).replace(str(None), '?')
#把问号改成 None 或者你要用的字符
(4)ImportError: cannot import name ‘np_utils‘ from ‘tensorflow.keras.utils
from tensorflow.python.keras.utils import np_utils
(5)ValueError: Your version of xlrd is 2.0.1. In xlrd >= 2.0, only the xls format is supported. Install openpyxl instead.
使用Pandas读入excel表格时出现xlrd 2.0.1之后版本不支持xlsx表格对象的问题
有两种解决方法:
一用excel把xlsx文件另存为xls文件
二 安装openpyxl模块