我快要疯了。
我使用 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)