栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Tensorflow踩坑笔记,记录各种报错和解决方法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Tensorflow踩坑笔记,记录各种报错和解决方法

不知道是不是错觉,tensorflow比pytorch容易报错,记录一下踩的坑。
随时更新。

文章目录
    • 1 Loaded runtime CuDNN library: 7.4.1 but source was compiled with: 7.6.0
    • 2 自定义的模型不能保存

1 Loaded runtime CuDNN library: 7.4.1 but source was compiled with: 7.6.0

初始环境:tensorflow2.0(gpu)、CUDA 10.0、Cudnn 7.4.1、Windows 10

训练卷积神经网络(使用Conv2d类时)报错:

Loaded runtime CuDNN library: 7.4.1 but source was compiled with: 7.6.0.

然而官网的 tensorflow2.0(gpu)的环境要求却写了CUDA 10.0、Cudnn 7.4,误导作用明显。
报错直接提示了解决方案,把Cudnn升级到7.6.0即可,升级方法和安装Cudnn方法相同,去官网下载对应的Cudnn版本,覆盖源文件即可。也可以参考下面的参考资料。

参考资料:
版本不匹配||Loaded runtime CuDNN library: 7.4.2 but source was compiled with: 7.6.0. CuDNN library major

2 自定义的模型不能保存

环境:tensorflow2.0(gpu)、CUDA 10.0、Cudnn 7.6.0、Windows 10

使用tf.keras.models.save_model(model, 'path')保存模型时报错:

ValueError: Model cannot be saved because the input shapes have not been set. Usually, input shapes are automatically determined from calling .fit() or .predict(). To manually set the shapes, call model._set_inputs(inputs).

参考资料:
1.stackoverflow
2.Github: Model cannot be saved because the input shapes have not been set. #39906

我的解决方案:
model初始化后,在build()中指定input_shape后,再写上model.compute_output_shape(input_shape=(None, 32, 32, 3))即可。

可以保存了:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/971337.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号