我想训练一个网络,然后用这个网络作为特征提取器;所以我想把这个保存成一个函数
我知道如何保存一个经过训练的模型并重用模型I,但是我想像函数一样使用这个经过训练的模型作为我的新图形的一部分,请参见下面的结构
我想我可能需要将新的图附加到旧模型图中,并固定旧模型的参数。谁能告诉我怎么做吗?谢谢你
# define a graph and train a model called mdl in a session
# this mdl will be fixed used in the new graph
# start a new graph
cae_in = tf.placeholder(tf.float32,(None,a,b,1))
cae_out = tf.placeholder(tf.float32,(None,a,b,1))
# use this model to process my input
loss = mdl(cae_in) - cae_out
with tf.Session() as sess:
# run this sess
我认为你可以遵循以下步骤:
您可能可以使用所需的层和超参数创建TF或Keras模型。我坚持使用TF Keras,因为它可以将模型保存为一个
.h5
文件保存模型后,创建一个名为
mdl
的新类,甚至一个方法在此方法中加载模型,并将输入(作为方法的参数提供)提供给模型
进行推理、处理和重塑,然后返回方法的输出
因此,您可以将模型封装在方法或类中。
相关问题 更多 >
编程相关推荐