keras模型保存报错解决

使用keras实现YOLO v3报错‘str‘ object has no attribute ‘decode‘ 使用的版本是tensorflow1.13.1,keras是2.1.5 报错的原因是keras自身的问题 点开最下面报错的蓝色地址,他会进入到一个py文件,你就会看到以下代码 然后把decode(“utf8”)删除就好了。 阅读详情

问题:

今天保存keras模型时出现一个warning:

模型:

def model_bulid(self):
    self.model = Sequential()
    self.model.add(
        LSTM(64, input_shape=(self.x_train_st.shape[1], self.x_train_st.shape[2]), activation='relu', name="LSTM"))
    self.model.add(Dense(32, activation='relu', name="layer2"))
    self.model.add(Dense(32, activation='relu', name="layer3"))
    self.model.add(Dense(self.y_shape[1], name="out"))

保存:

def model_save(self, model_name=None) -> None:
    self.model_name = model_name or "预训练模型"
    # self.model.save("PreTrain_model.h5")

    if not os.path.exists(f"{absolute_path}/dat/model/{model_name}/"):
        os.makedirs(f"{absolute_path}/dat/model/{model_name}/")
    # 模型参数保存
    model = self.model
    self.path = f"{absolute_path}/dat/model/{self.model_name}/{self.model_name}.h5"
    model.save(f"{absolute_path}/dat/model/{self.model_name}/{self.model_name}.h5")
    # 其他参数保存

    pkl_path = f"{absolute_path}/dat/model/{self.model_name}/{self.model_name}.pkl"
    f = open(pkl_path, 'wb')
    self.model = None
    pickle.dump(self, f)
    f.close()
    self.model = model

警告:

WARNING:absl:Function _wrapped_model contains input name(s) LSTM_input with unsupported characters which will be renamed to lstm_input in the SavedModel.

解决:

把模型中定义的名字改为小写即可:

def model_bulid(self):
    self.model = Sequential()
    self.model.add(
        LSTM(64, input_shape=(self.x_train_st.shape[1], self.x_train_st.shape[2]), activation='relu', name="LSTM"))
    self.model.add(Dense(32, activation='relu', name="layer2"))
    self.model.add(Dense(32, activation='relu', name="layer3"))
    self.model.add(Dense(self.y_shape[1], name="out"))

改为(name=“LSTM” => name=“lstm” ):

def model_bulid(self):
    self.model = Sequential()
    self.model.add(
        LSTM(64, input_shape=(self.x_train_st.shape[1], self.x_train_st.shape[2]), activation='relu', name="lstm"))
    self.model.add(Dense(32, activation='relu', name="layer2"))
    self.model.add(Dense(32, activation='relu', name="layer3"))
    self.model.add(Dense(self.y_shape[1], name="out"))
导入keras训练好的模型报错解决OSError: Unable to open file (unable to open file: name = ‘model_3.h5’) 导入keras训练好的模型报错解决)开心撒花切入正题 开心撒花 第一次写博客,想分享记录一下自己写程序、跑程序过程中的问题和收获。哈哈哈哈 开心。 Markdown编辑器 第一次用感觉很友好啊。喜欢这种编辑方式。嘻嘻 0.0。 还有最重要的解决了OSError: Unable to open file (unable to open file: name = ‘model_3.h5’, errn... 阅读详情

相关推荐

Ubuntu本地部署CodeX编程助手:CLI配置全指南

本地AI编程助手是当前开发者关注的核心技术趋势,指在不依赖云端API、保障代码隐私前提下,于本地环境运行具备代码理解、多语言补全与知识库检索能力的智能辅助工具。其技术原理涉及模型加载、API网关编排、向量数据库集成及系统级资源调度,关键价值在于可控性、低延迟与合规性。典型应用场景包括企业内网DevOps提效、边缘设备嵌入式开发支持,以及敏感代码场景下的离线编程增强。本文聚焦Ubuntu系统下基于CLI的手动配置路径,深入解析Ollama服务注册、Node.js版本锁定、API Key环境隔离及Qwen2.5

weixin_26804345的博客 598

DHU DeepLearning & Practice_在使用预训练模型提取特征时遇到的问题

四个在编写预训练模型时遇到的问题

weixin_45945586的博客 4200

利用PV操作控制进程的并发进行---经典题解

前趋图 先理清楚前趋图中的逻辑关系:P1没有前驱,P2的前驱是P1,P3的前驱是P1、P2,P4的前驱是P2,P5的前驱是P3、P4。 前驱就是指只有在前驱进程完成后,该进程才能开始执行。由图可知,这里进程之间有6条有向弧,分别表示为P1→P2,P1→P3,P2→P3,P2→P4,P3→P5,P4→P5, 各个进程间的逻辑关系,那么我们需要设定6个信号量(S1、S2、S3、S4、S5、S6),利用PV操作来控制这些过程。 对于第一个空,P1执行完成之后,需要通知P2、P3可以开始,此处需要V(S

Yan Ka Kue的博客 6137

解决问题:ABSA_Keras不能使用的问题

原本作者介绍的包的数量太少,conda安装上后,还是在报错,各种包没有装。 ImportError: cannot import name 'context' 解决的思路是: 1.安装的时候,如果选择conda最好选择conda,如果pip安装,其他最好用pip,尽量不要混用。(pip的效果更强一些) 2.包要从低到高安装,比如先安装比较底层的numpy,再安装tensorflow,再安装...

qq_29134801的博客 750

《Cesium 基础知识点》- 申请 Cesium Ion 密钥

一、访问 https://cesium.com/ion/signin/tokens 二、登录/注册 三、申请 四、使用 // 密钥 let defaultAccessToken = 'your token string'; // 设置 Cesium.Ion.defaultAccessToken = defaultAccessToken; // 初始化 let viewer = new Cesium.Viewer('cesiumContainer', {}); ...

前端技术 2572

基于PCL的电力线点云提取与分割实现

本文基于PCL库实现电力线点云提取与分割,包含6个核心处理阶段:文件读取与结果文件夹创建、高程滤波分割候选点云、欧式聚类去噪、电力线分段提取、球形邻域搜索补全点云、最终分割与可视化保存。通过PCA计算点云线性特征(阈值0.91)筛选电力线点,采用欧式聚类(容忍度3.0)去除噪点,并针对不同规模聚类差异化设置球形搜索半径(4.0/6.0)补全点云。最终通过欧式聚类分割并可视化带颜色点云。算法对高程滤波阈值、聚类参数等具有敏感性,需根据点云特性调整优化。

weixin_45196569的博客 193

2024.1.30报错记录

今天想调通一套github上的U-net代码,把报错记录一下。

New___dream的博客 890

华为OD技术面真题 - JAVA开发 - 1

汇总华为OD技术面八股JAVA八股,高频技术真题并提供详细解答。

qq_45776114的博客 1205

tensorflow hub模型下载不了问题解决

博主在根据官网配置图像分类迁移学习时,由于没有设置翻墙,程序执行如下语句时 model = image_classifier.create(train_data) 会因为模型下载超时而报错:urllib.error.URLError: <urlopen error [Errno 110] Connection timed out> 博主debug看了下,在/home/sxhlvye/anaconda3/envs/testTF/lib/python3.6/site-packages/ten

jiugeshao的专栏 6399

uniapp(微信小程序) - 实现uniapp小程序电子签名板,横屏手写姓名签名专用写字画板,客户专用签字板,手写签名签字画板组件,手写签名,(详细运行示例,一键复制开箱即用)

uniapp实现微信小程序的电子签名效果,uniapp微信小程序 电子签名 写字板,用uniapp实现微信小程序的电子签名,uniapp微信小程序canvans实现手写签名,记录一个uniapp写的小程序的手写板,横屏,用于签名,unniapp实现电子签名,uniapp怎么做横屏的手写签名,uniapp如何实现签字板,uniapp小程序平台下怎么做电子签名板组件,uniapp电子签名插件,uniapp最好用的电子写字板插件组件源码,实现uniapp 手写签名功能,手写板、签字板,uni-app插件市场最好的

✅ 精选推荐文章 1万+

Claude Code 100个真实案例 - 用AI做数据可视化大屏(ECharts+实时数据)

数据报表看着枯燥?领导汇报缺少视觉冲击力?是时候做一个酷炫的数据可视化大屏了!本案例将用 Claude Code 从零搭建一个实时数据可视化大屏,使用 ECharts 实现折线图、柱状图、饼图、地图、仪表盘等多种图表,配合 WebSocket 实现秒级数据刷新,深色主题科技感拉满!

yueyeguzhuo的专栏 198

第T3周:天气识别

当加速器正在执行第 N 个训练步时,CPU 正在准备第 N+1 步的数据。这样做不仅可以最大限度地缩短训练的单步用时(而不是总用时),而且可以缩短提取和转换数据所需的时间。在此示例中,我们的 CNN 输入,fashion_mnist 数据集中的图片,形状是。因此,训练所用的时间是 CPU 预处理时间和加速器训练时间的总和。较上篇文章,本文为了增加模型的泛化能力,新增了Dropout层并且将最大池化层调整成了平均池化层。此外,还可以使用学习率衰减策略,如指数衰减、阶梯衰减或余弦退火等,来帮助模型更好地收敛。

努力学习的大小宝 1166

解锁VS2022!手把手教你本地部署Deepseek

在 VS2022 中本地部署 Deepseek,我们首先需要确保硬件资源的充足,如高性能的 GPU、大容量内存和高速存储等,这是模型稳定运行的基石。如果生成的摘要能够准确概括原文的核心内容,就表明 Deepseek 模型在文本分析方面的功能正常,部署稳定可靠。这对于开发者来说,能够大大提高开发效率,当遇到一些常见的功能实现时,可以借助 Deepseek 模型快速生成基础代码框架,减少手动编写的工作量。在大语言模型的蓬勃发展的当下,Deepseek 凭借其卓越的性能和创新的技术,已然成为该领域的佼佼者。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 1万+

Keras保存模型时报错“Not JSON Serializable”的解决方案

这是Keras本身的一个小bug 如果使用时,Keras的backend是Tensorflow时,可以采用下述方案解决: 在site-packages>keras>engine>saving.py文件中加上下述代码 from tensorflow.python.framework.tensor_shape import Dimension if type(obj) == Dimension: return int(obj.value or 0) 参考链接: https://github..

weixin_37709708的博客 2247

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

tf.keras保存.h5模型文件时报错“ValueError:Unable to create group(name already exists)“的解决方案

后来打印my_model的layer name,真的有上面说的这类问题。

普通攻击往后拉的博客 426

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

keras自定义层对自定义参数进行保存

问题描述 在使用keras的过程中,有时会在自定义层中定义自己的参数,然而调用 json_model = model.to_json() 后发现自定义的参数并没有保存到模型中,造成模型加载时报错。 解决方案 需要在该层中实现 get_config(self) 方法,将自定义的参数保存到一个map中。聚义可以参考本人的《Keras 实现对bert编码的封装实现》中的具体写法。 ...

记录学习中的点滴 3013

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【踩坑记录】TypeError: can‘t pickle SwigPyObject objects

笔者利用keras训练模型时,当程序运行到保存模型model.save('model.h5')的时候,报如下错误 TypeError: can't pickle SwigPyObject objects 根据错误提示,可以看到在对模型进行序列化保存的时候,出现了不支持序列化的对象,也就是SwigPyObject对象。 然而模型都可以跑通,但是为什么会在保存模型的时候报这样的错误呢?建模过程中也没有引入其他的算子啊,都是模型支持的操作,目前还未搞清楚,但是还是可以通过一种迂回的方法来解决该问题的。 既然直接

tianyunzqs的专栏 3579

Keras可视化报错Failed to import pydot问题

1.keras模型可视化 keras.utils.vis_utils模块提供了画出Keras模型的函数(利用graphviz) 该函数将画出模型结构图,并保存成图片: from keras.utils import plot_model plot_model(model, to_file='model.png') plot_model接收两个可选参数: show_shapes:指定是否...

qq_40949906的博客 227

keras保存加载模型报错AttributeError: ‘str‘ object has no attribute ‘decode‘

keras保存加载模型报错AttributeError: 'str' object has no attribute 'decode'欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 加载模型报

u012720552的专栏 4311

Keras分类模型项目常见问题解决方案

Keras分类模型项目常见问题解决方案 1. 项目基础介绍和主要编程语言 本项目是一个开源的Keras分类模型集合,旨在提供一系列易于创建的Keras模型,用于分类任务。项目中还包含了实现近期论文中提出模型的模块。这些模型可以应用于图像分类等多种场景,并提供了对Octave Convolution、SparseNets、Non-local Neural Networks、NASNet、Squeez...

gitblog_00349的博客 334

Model.__init__() got an unexpected keyword argument ‘arg‘

解决keras.load_model()报错Model.__init__() got an unexpected keyword argument 'arg'

weixin_63476447的博客 716

STM32CubeAI 分析keras模型报错【keras训练手写数字模型 代码Demo】

STM32CubeAI 分析keras模型报错【keras训练手写数字模型 代码Demo】

m0_52357613的博客 598

keras 自定义层的使用和保存时,报missing 1 required positional argument解决方案

在使用keras的时候自己构建了一个layer: class Neural_Tensor_layer(Layer): def __init__(self, output_dim, input_dim=None, **kwargs): self.output_dim = output_dim self.input_dim = input_dim if self.input_dim: kwargs['input_shape'] =

weixin_43301333的博客 8457

出现报错 Keras 3 only supports V3 .keras and .weights.h5 files

使用保存该模型文件的Keras版本来加载权重文件。比如如果用Keras 2.x保存的,就使用Keras 2.x版本加载。以上分别是我修改之前和修改之后的代码,在保存修改之后,一定要记得从开始重新进行加载运行,不要只运行这一部分代码。这通常意味着你正在使用Keras 3.0尝试加载一个早期版本Keras(如2.x版本)保存的模型权重文件。由于文件格式在不同Keras版本之间有变化,所以Keras 3.0不能识别早期版本保存的文件。经过多方修改后,是因为新安装的keras版本较新,与之前文件的保存格式不同。

weixin_71458119的博客 2472

解决keras-deeplab-v3-plus常见问题:从权重加载到模型保存全攻略

keras-deeplab-v3-plus是一个基于Keras框架实现的语义分割模型,能够高效地对图像进行像素级分类。本文将详细介绍使用该模型时可能遇到的权重加载、模型保存等常见问题及解决方案,帮助新手用户快速上手。 ## 一、环境准备与项目克隆 在开始使用keras-deeplab-v3-plus之前,需要先准备好开发环境并获取项目代码。 ### 1.1 安装依赖 项目所需的依赖项在[r

gitblog_00428的博客 939

php loadmodel,keras load_model报错

我用Keras构建了一个神经网络,可以训练,也可以用model.save("model.h5")保存模型,但是当我用model = load_model('model.h5')载入模型时就有如下报错:Traceback (most recent call last):File "C:/programming/pycharm/cnn_attention_lstm/cnn_attention_lstm...

weixin_39679664的博客 533
上一篇: 【笔记:SpringMVC】
莱布尼杰
博客等级 码龄9年 3粉丝 28原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值