Skip to content

Instantly share code, notes, and snippets.

@cocuh
Created June 21, 2017 16:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cocuh/148a8b87f9693508d9b9d2a95efe1b61 to your computer and use it in GitHub Desktop.
Save cocuh/148a8b87f9693508d9b9d2a95efe1b61 to your computer and use it in GitHub Desktop.
import keras.layers as L
import keras.backend as K
from keras.engine import Model
import tensorflow as tf
def unexpected_initialization():
sess = tf.Session()
K.set_session(sess)
var_global_step = tf.Variable(0, trainable=False)
x = L.Input((8,))
y = L.Dense(2)(x)
model = Model(x, y)
sess.run(tf.global_variables_initializer())
step_initial = sess.run(var_global_step)
print(' initial step: {}'.format(step_initial)) # -> outputs 0
sess.run(var_global_step.assign(16))
step_assigned = sess.run(var_global_step)
print('assigned step: {}'.format(step_assigned)) # -> outputs 16
model.save('model.h5')
step_saved = sess.run(var_global_step)
print(' saved step: {}'.format(step_saved)) # -> outputs 0 !!!!!!
def expected_behaviour():
sess = tf.Session()
K.set_session(sess)
var_global_step = tf.Variable(0, trainable=False)
x = L.Input((8,))
model = Model(x, x)
sess.run(tf.global_variables_initializer())
step_initial = sess.run(var_global_step)
print(' initial step: {}'.format(step_initial)) # -> outputs 0
sess.run(var_global_step.assign(16))
step_assigned = sess.run(var_global_step)
print('assigned step: {}'.format(step_assigned)) # -> outputs 16
model.save('model.h5')
step_saved = sess.run(var_global_step)
print(' saved step: {}'.format(step_saved)) # -> outputs 16
if __name__ == '__main__':
print('bug case')
unexpected_initialization()
print('')
print('not bugged case')
expected_behaviour()
@cocuh
Copy link
Author

cocuh commented Jun 21, 2017

outputs

bug case
 initial step: 0
assigned step: 16
   saved step: 0

not bugged case
 initial step: 0
assigned step: 16
   saved step: 16

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment