是否可以将部分训练过的模型加载到TensorFlow中新建模型的一部分?

时间:2018-04-07 05:00:59

标签: tensorflow

是否可以将部分训练过的模型加载到TensorFlow中新建模型的一部分?

我的意思是,例如,一些以前训练过的模型没有用。但其中一部分仍然有用。该部分可用于新建模型。除了这一部分,新建模型的其他部分应该进行训练,但这部分不需要再次训练。新建模型与旧模型完全不同,只是部分相同。

如果可以这样做,如何编写这样的代码?

1 个答案:

答案 0 :(得分:0)

其中一种可能性:

  • 获取要导入的模型的代码
  • 查找要保留的图表部分的最后一项操作
  • 在此操作
  • 中将代码拆分为两部分(类或函数)
  • 构建图表的共享部分并加载权重
  • 继续添加新图表的其余部分
  • 在新添加的部分中运行终端操作

或者,您可以构建整个旧模型,并使用" fork"在中间,并且在运行时,忽略旧的未使用部分中的终端op,并且仅使用新添加部分中的终端op。这样,只会对新分支进行培训。

如果你没有代码但只有已保存的图形定义,那就有点复杂了:你需要找到你想按名称在加载的图形中分叉的操作。