I created a CNN model using top-level tensor levels like
conv1 = tf.layers.conv2d(...)
maxpooling1 = tf.layers.max_pooling2d(...)
conv2 = tf.layers.conv2d(...)
maxpooling2 = tf.layers.max_pooling2d(...)
flatten = tf.layers.flatten(...)
logits = tf.layers.dense(...)
loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(...))
optimizer = tf.train.AdadeltaOptimizer(init_lr).minimize(loss)
acc = tf.reduce_mean(...)
The model is well prepared and saved, all is well. Then I want to load this saved model, make changes to the learning speed and continue training (I know that the tensorflow function provides the exponential_decay () function to enable the learning speed of attenuation, here I just want to completely control the learning speed, and change it manually). For this, my idea is this:
saver = tf.train.import_meta_grah(...)
saver.restore(sess, tf.train.latest_chechpoint(...))
graph = tf.get_default_graph()
inputImg_ = graph.get_tensor_by_name(...)
labels_ = graph.get_tensor_by_name(...)
logits = graphget_tensor_by_name(...)
loss = grah.get_tensor_by_name(...)
optimizer = tf.train.AdadeltaOptimizer(new_lr).minimize(loss)
acc = tf.reduce_mean(...)
. inputmg_, labels_, , . , logits = tf.layers.dense(name= 'logits') , . , conv1, conv2. , . , , conv1, maxpooling1? , .