Я хочу обернуть мою модель, используя API tf.Estimator из TensorFlow, поэтому у меня есть следующее 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
, но использую вес из сохраненной модели, которую я тренировал ранее, и замораживаю их, чтобы они не могли быть обучены.Как мне этого добиться?