Tensorflow+keras解决使用model.load_weights时报错 ‘str‘ object has no attribute ‘decode‘

Posted Better Bench

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tensorflow+keras解决使用model.load_weights时报错 ‘str‘ object has no attribute ‘decode‘相关的知识,希望对你有一定的参考价值。

1 环境

python 3.6
Tensorflow 2.0

在使用Tensorflow 的keras API,加载权重模型时,报错’str’ object has no attribute ‘decode’

from tensorflow.keras import *
from tensorflow.keras.layers import * 

model = testmodel()
model = Model(model.input, Dense(1, activation='linear', kernel_initializer='normal')(model.layers[-2].output))

checkpoint = callbacks.ModelCheckpoint('current_best.h5')
history = model.fit_generator(
            training_gen(1000, SNRdb),
            steps_per_epoch=50,
            epochs=500,
            validation_data=validation_gen(1000, SNRdb),
            validation_steps=1,
            callbacks=[checkpoint],
            verbose=2)
model = model.load_weights('current_best.h5')

2 解决办法

在保存模型的时候,模型格式为.tf

checkpoint = callbacks.ModelCheckpoint('current_best.tf',save_format='tf')

加载模型的时,改为

model = model.load_weights('current_best.tf')

以上是关于Tensorflow+keras解决使用model.load_weights时报错 ‘str‘ object has no attribute ‘decode‘的主要内容,如果未能解决你的问题,请参考以下文章

(已解决)Tensorflow 联合 | tff.learning.from_keras_model() 具有具有 DenseFeature 层和多个输入的模型

Tensorflow tf.keras.models.load_model() 打开h5文件失败

使用 Tensorflow.keras 组织项目。应该是 tf.keras.Model 的一个子类吗?

tf.keras遇见的坑:Output tensors to a Model must be the output of a TensorFlow `Layer`

tensorflow2.0高阶api--主要为tf.keras.models提供的模型的类接口

Keras 中的 tensorflow 会话在哪里