【发布时间】:2019-04-26 20:29:00
【问题描述】:
我正在尝试包含一个不可训练的Dense 层并初始化为单位矩阵,作为我的张量流估计器的一部分。直觉是这个 Dense 层在标准训练期间通过其输入,然后进行微调。问题是我根本不希望在第一轮更新这些权重,只在微调期间更新。
我可以做几件事来使这些权重不可训练,包括在 Dense 构造函数中使用 trainable 参数,或者在传递给 MomentumOptimizer.compute_gradients() 之前过滤掉其名称中包含的任何内容。
但在任何一种情况下(使密集层不可训练或只是不将其传递给优化器),tf 都会抛出一个错误,指出它找不到与密集层相关的键。
我知道,因为在第一次运行时,dense 是不可训练的,所以它不会保留在检查点文件中。同样,如果它在传递给 compute_gradients 时被过滤掉,也会出现同样的问题。
是否有任何方法可以在运行过程中仅保留未经训练的变量,即使只有它们的初始化值?
NotFoundError(回溯见上文):Key dense/kernel/Momentum not 在检查站发现
【问题讨论】:
标签: python tensorflow tensorflow-estimator