Я обучил модель LSTM в TensowFlow и сохранил ее с помощью класса tf.train.Saver в соответствии с instructions on saving and loading variables. Теперь я хочу загрузить две копии этой модели и создать более крупный RNN, который их объединяет, для дальнейшего обучения. К сожалению, насколько я вижу, нет возможности загружать переменные из одной области в другую. Есть какой-либо способ сделать это?Загрузите две копии модели в TensorFlow
В качестве простого примера предположим, что у меня была простая модель:
with tf.variable_scope("model", reuse=None, initializer=initializer):
W = tf.get_variable("W", [input_size, output_size])
b = tf.get_variable("b", [input_size])
inputs = tf.placeholder(tf.float32, [batch_size, input_size]
outputs = tf.matmul(inputs, W) + b
И я тренировал эту модель по некоторым данным и сохраняются переменные с помощью:
saver = tf.train.Saver()
saved.save(session, "model")
Позже я хотел создать комбинированная модель:
with tf.variable_scope("combinedl", reuse=None, initializer=initializer):
with tf.variable_scope("model0" , reuse=None, initializer=initializer):
W0 = tf.get_variable("W", [input_size, output_size])
b0 = tf.get_variable("b", [input_size])
inputs0 = tf.placeholder(tf.float32, [batch_size, input_size]
outputs0 = tf.matmul(inputs, W0) + b0
with tf.variable_scope("model1" , reuse=None, initializer=initializer):
W1 = tf.get_variable("W", [input_size, output_size])
b1 = tf.get_variable("b", [input_size])
inputs1 = tf.placeholder(tf.float32, [batch_size, input_size]
outputs1 = tf.matmul(inputs, W1) + b1
output = outputs1 + outputs2
Можно ли загрузить обученные значения для W и b в t он исходная модель в переменные W0, b0 и W1, b1? Можно ли было бы самостоятельно обучать эти новые переменные?