#tensorflow
Вопрос:
Я тренирую свою модель MLP(3 класс). Затем была изменена категория класса(5 класс). Я хочу использовать предварительно обученный вес(3 класс) во время тренировки 5 класса.
Моя модель MLP состоит из 5 слоев. (слой 1,2,3,4 выходной слой) Этот код я и использовал.
reuse_vars = tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES, scope="^(?!output)")
reuse_vars_dict = dict([(var.name, var.name) for var in reuse_vars])
pretrained_saver = tf.train.Saver(reuse_vars_dict)
with tf.Session(graph=graph,
config=tf.ConfigProto(
allow_soft_placement=True, gpu_options=gpu_options,)) as sess:
sess.run(tf.variables_initializer(tf.global_variables()))
pretrained_saver.restore(sess, 'ckpts/base_model/base_model')
Вывод reuse_vars_dict таков.
{'layer1/extract_vertex_features/fully_connected/weights:0': 'layer1/extract_vertex_features/fully_connected/weights:0', 'layer1/extract_vertex_features/fully_connected/biases:0': 'layer1/extract_vertex_features/fully_connected/biases:0', 'layer1/extract_vertex_features/fully_connected_1/weights:0': 'layer1/extract_vertex_features/fully_connected_1/weights:0', 'layer1/extract_vertex_features/fully_connected_1/biases:0': 'layer1/extract_vertex_features/fully_connected_1/biases:0', 'layer1/extract_vertex_features/fully_connected_2/weights:0': 'layer1/extract_vertex_features/fully_connected_2/weights:0', 'layer1/extract_vertex_features/fully_connected_2/biases:0': 'layer1/extract_vertex_features/fully_connected_2/biases:0', 'layer1/extract_vertex_features/fully_connected_3/weights:0': 'layer1/extract_vertex_features/fully_connected_3/weights:0', 'layer1/extract_vertex_features/fully_connected_3/biases:0': 'layer1/extract_vertex_features/fully_connected_3/biases:0', 'layer1/extract_vertex_features/fully_connected_4/weights:0': 'layer1/extract_vertex_features/fully_connected_4/weights:0', 'layer1/extract_vertex_features/fully_connected_4/biases:0': 'layer1/extract_vertex_features/fully_connected_4/biases:0', 'layer1/combined_features/fully_connected/weights:0': 'layer1/combined_features/fully_connected/weights:0', 'layer1/combined_features/fully_connected/biases:0': 'layer1/combined_features/fully_connected/biases:0', 'layer1/combined_features/fully_connected_1/weights:0': 'layer1/combined_features/fully_connected_1/weights:0', 'layer1/combined_features/fully_connected_1/biases:0': 'layer1/combined_features/fully_connected_1/biases:0', 'layer2/fully_connected/weights:0': 'layer2/fully_connected/weights:0', 'layer2/fully_connected/biases:0': 'layer2/fully_connected/biases:0', 'layer2/fully_connected_1/weights:0': 'layer2/fully_connected_1/weights:0', 'layer2/fully_connected_1/biases:0': 'layer2/fully_connected_1/biases:0', 'layer2/extract_vertex_features/fully_connected/weights:0': 'layer2/extract_vertex_features/fully_connected/weights:0', 'layer2/extract_vertex_features/fully_connected/biases:0': 'layer2/extract_vertex_features/fully_connected/biases:0', 'layer2/extract_vertex_features/fully_connected_1/weights:0': 'layer2/extract_vertex_features/fully_connected_1/weights:0', 'layer2/extract_vertex_features/fully_connected_1/biases:0': 'layer2/extract_vertex_features/fully_connected_1/biases:0', 'layer2/combined_features/fully_connected/weights:0': 'layer2/combined_features/fully_connected/weights:0', 'layer2/combined_features/fully_connected/biases:0': 'layer2/combined_features/fully_connected/biases:0', 'layer2/combined_features/fully_connected_1/weights:0': 'layer2/combined_features/fully_connected_1/weights:0', 'layer2/combined_features/fully_connected_1/biases:0': 'layer2/combined_features/fully_connected_1/biases:0', 'layer3/fully_connected/weights:0': 'layer3/fully_connected/weights:0', 'layer3/fully_connected/biases:0': 'layer3/fully_connected/biases:0', 'layer3/fully_connected_1/weights:0': 'layer3/fully_connected_1/weights:0', 'layer3/fully_connected_1/biases:0': 'layer3/fully_connected_1/biases:0', 'layer3/extract_vertex_features/fully_connected/weights:0': 'layer3/extract_vertex_features/fully_connected/weights:0', 'layer3/extract_vertex_features/fully_connected/biases:0': 'layer3/extract_vertex_features/fully_connected/biases:0', 'layer3/extract_vertex_features/fully_connected_1/weights:0': 'layer3/extract_vertex_features/fully_connected_1/weights:0', 'layer3/extract_vertex_features/fully_connected_1/biases:0': 'layer3/extract_vertex_features/fully_connected_1/biases:0', 'layer3/combined_features/fully_connected/weights:0': 'layer3/combined_features/fully_connected/weights:0', 'layer3/combined_features/fully_connected/biases:0': 'layer3/combined_features/fully_connected/biases:0', 'layer3/combined_features/fully_connected_1/weights:0': 'layer3/combined_features/fully_connected_1/weights:0', 'layer3/combined_features/fully_connected_1/biases:0': 'layer3/combined_features/fully_connected_1/biases:0', 'layer4/fully_connected/weights:0': 'layer4/fully_connected/weights:0', 'layer4/fully_connected/biases:0': 'layer4/fully_connected/biases:0', 'layer4/fully_connected_1/weights:0': 'layer4/fully_connected_1/weights:0', 'layer4/fully_connected_1/biases:0': 'layer4/fully_connected_1/biases:0', 'layer4/extract_vertex_features/fully_connected/weights:0': 'layer4/extract_vertex_features/fully_connected/weights:0', 'layer4/extract_vertex_features/fully_connected/biases:0': 'layer4/extract_vertex_features/fully_connected/biases:0', 'layer4/extract_vertex_features/fully_connected_1/weights:0': 'layer4/extract_vertex_features/fully_connected_1/weights:0', 'layer4/extract_vertex_features/fully_connected_1/biases:0': 'layer4/extract_vertex_features/fully_connected_1/biases:0', 'layer4/combined_features/fully_connected/weights:0': 'layer4/combined_features/fully_connected/weights:0', 'layer4/combined_features/fully_connected/biases:0': 'layer4/combined_features/fully_connected/biases:0', 'layer4/combined_features/fully_connected_1/weights:0': 'layer4/combined_features/fully_connected_1/weights:0', 'layer4/combined_features/fully_connected_1/biases:0': 'layer4/combined_features/fully_connected_1/biases:0'}
И это сообщение об ошибке. Я не могу понять, откуда взялся этот строковый тип Const!
TypeError: names_to_saveables must be a dict mapping string names to Tensors/Variables. Not a variable: Tensor("Const_33:0", shape=(), dtype=string)