我使用自己的数据集:https://www.tensorflow.org/tutorials/load_data/csv完成了本教程。 这是我对模型的看法:
model = keras.Sequential([
keras.layers.Dense(128, activation='relu', input_shape=[1]),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(256, activation='relu'),
keras.layers.Dense(1, activation='sigmoid')
])
现在,我想保存经过训练的模型,以便在不同的程序中使用该模型
我使用的第一种方法是使用检查点回调
checkpoint_path = "training_1/cp.ckpt"
checkpoint_dir = os.path.dirname(checkpoint_path)
cp_callback = tf.keras.callbacks.ModelCheckpoint(filepath=checkpoint_path,
save_weights_only=True,
verbose=1, period=10)
def train():
model.fit(train_data, epochs=50)#, callbacks=[cp_callback])
test_loss, test_acc = model.evaluate([[0],[0.4],[0.6],[1],[4.56],[2.1]], [[0],[0],[1],[1],[1],[0]])
print('\nTest accuracy:', test_acc)
但是,这不起作用,因为在我想使用模型的另一个程序中,我无法复制模型的确切形状:
def create_model():
model = keras.Sequential([
keras.layers.Dense(128, activation='relu', input_shape=[1]),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(256, activation='relu'),
keras.layers.Dense(1, activation='sigmoid')
])
我也试过:
numeric_column = tf.feature_column.numeric_column('numeric', shape=[1])
numeric_columns = [numeric_column]
preprocessing_layer = tf.keras.layers.DenseFeatures(numeric_columns)
def create_model():
model = keras.Sequential([
preprocessing_layer,
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(256, activation='relu'),
keras.layers.Dense(1, activation='sigmoid')
])
。。。但它仍然不起作用
在那之后,我尝试使用model.save("myModel.h5")
,但这根本无法保存,现在我迷路了
请帮忙。多谢各位
尝试Saver类成员函数:
saver.save
和saver.restore
。 有关显式指令,请参见此tutorial相关问题 更多 >
编程相关推荐