Как использовать пользовательские веса в модели керас и тренировать ее с помощью тензорного потока? - PullRequest
0 голосов
/ 05 октября 2019

Я строю модель с помощью 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)

Есть идеи для решения этой проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...