【发布时间】:2018-05-31 06:39:54
【问题描述】:
我想使用 TensorFlow 的 tf.Estimator API 包装我的模型,所以我有以下model_fn:
def model_fn(features, labels, mode, params):
# Load vocabulary
n_vocab = params['n_vocab']
if mode != tf.estimator.ModeKeys.PREDICT:
labels = tf.reshape(labels, (-1, 1))
embedding = tf.Variable(tf.random_uniform((tf.cast(n_vocab, tf.int32),
tf.cast(params['embed_space'], tf.int32)), 0, 1), name='embedding')
embedding_layer = tf.nn.embedding_lookup(embedding, features[INPUT_TENSOR_NAME], name='embedding_layer')
...
它初始化嵌入变量并执行一些其他操作。现在,我不想使用tf.random_uniform 初始化这些权重,而是使用我之前训练过的已保存模型的权重,并冻结它们,使它们不可训练。我怎样才能做到这一点?
【问题讨论】:
标签: tensorflow tensorflow-estimator