相关疑难解决方法(0)

从检查点加载权重在 keras 模型中不起作用

我快要疯了。

我使用 tensorflow keras 定义了一个顺序模型:

model = tf.keras.Sequential([tf.keras.layer.Dense(128,input_shape(784,),activation="relu"),
                             tf.keras.layer.Dense(10,activation="softmax"])
model.compile(optimizer="adam",loss="mse")
keras.experimental.export_saved_model(model,"keras_model")
Run Code Online (Sandbox Code Playgroud)

我使用 c_api.h在C 程序中训练所述模型

C 程序将权重保存在检查点文件中。

尝试从检查点文件中恢复 python 中的权重时:

keras.experimental.load_from_saved_model("keras_model/")
#OR
model = tf.keras.Sequential([tf.keras.layer.Dense(128,input_shape(784,),activation="relu"),
                             tf.keras.layer.Dense(10,activation="softmax"])
model.load_weights("keras_model/variables/variables")
#OR
checkpoint = tf.train.Checkpoint(model=model)
status = checkpoint.restore("keras_model/variables/variables")
Run Code Online (Sandbox Code Playgroud)

我最终得到一个错误并且没有恢复权重。

我能够恢复重量并继续在我的 C 程序中训练

keras.experimental.load_from_saved_model("keras_model/")
WARNING: Logging before flag parsing goes to stderr.
W0918 15:18:04.350199 140418474760000 deprecation.py:323] From <ipython-input-2-06ea110fdc8e>:1: load_from_saved_model (from tensorflow.python.keras.saving.saved_model_experimental) is deprecated and will be removed in a future version.
Instructions for updating:
The experimental save and load functions have been  deprecated. Please …
Run Code Online (Sandbox Code Playgroud)

c python keras tensorflow

7
推荐指数
1
解决办法
1919
查看次数

标签 统计

c ×1

keras ×1

python ×1

tensorflow ×1