张量流训练网络并保存为功能

时间:2019-07-12 02:55:56

标签: python tensorflow deep-learning

我想训练一个网络,然后将该网络用作特征提取器;所以我想将其保存为一个函数。

我知道如何保存训练后的模型并重用模型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

1 个答案:

答案 0 :(得分:0)

我认为可以按照以下步骤操作:

  • 您可能可以创建具有所需层和超参数的TF或Keras模型。我坚持使用TF Keras,因为它可以将模型保存为单个.h5文件。

  • 保存模型后,创建一个名为mdl的新类,甚至创建一个方法。

  • 使用此方法加载模型,并将输入(作为方法的参数提供)输入模型。

  • 进行推理,进行处理并重塑形状,然后从该方法返回输出。

因此,您可以将模型封装在方法或类中。