Я строю модель с помощью Keras и устанавливаю собственные веса в слое Embedding, затем тренирую ее с помощью Tensorflow. Однако пользовательские веса изменяются после кода «sess.run (tf.global_variables_initializer ())». Полный код выглядит следующим образом:
sen_input = Input(shape=(maxlen,), name='sen_input')
emb = Embedding(embedding.shape[0], embedding.shape[1], weights=[embedding], trainable=False, name='emb')
pred = Dense(num_classes, activation='softmax', name='pred')(emb(sen_input))
loss = -K.sum(x * K.log(pred + K.epsilon()), axis=-1)
var_list = [v for v in tf.all_variables() if not v.name.startswith('emb')]
train_step = tf.train.AdamOptimizer(0.001).minimize(loss, var_list=var_list)
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)
init = tf.global_variables_initializer()
sess.run(init)
Есть идеи для решения этой проблемы?