Commit f47923c7 authored by Yuxin Wu's avatar Yuxin Wu

prefer get_variable over get_scalar_var

parent f2e028d2
...@@ -77,7 +77,7 @@ class Model(ModelDesc): ...@@ -77,7 +77,7 @@ class Model(ModelDesc):
summary.add_moving_summary(err, self.cost) summary.add_moving_summary(err, self.cost)
def _get_optimizer(self): def _get_optimizer(self):
lr = symbolic_functions.get_scalar_var('learning_rate', 5e-3, summary=True) lr = tf.get_variable('learning_rate', initializer=5e-3, trainable=False)
opt = tf.train.AdamOptimizer(lr, epsilon=1e-3) opt = tf.train.AdamOptimizer(lr, epsilon=1e-3)
return optimizer.apply_grad_processors( return optimizer.apply_grad_processors(
opt, [GlobalNormClip(5), SummaryGradient()]) opt, [GlobalNormClip(5), SummaryGradient()])
......
...@@ -105,7 +105,7 @@ class Model(ModelDesc): ...@@ -105,7 +105,7 @@ class Model(ModelDesc):
summary.add_moving_summary(self.cost) summary.add_moving_summary(self.cost)
def _get_optimizer(self): def _get_optimizer(self):
lr = symbolic_functions.get_scalar_var('learning_rate', 2e-3, summary=True) lr = tf.get_variable('learning_rate', initializer=2e-3, trainable=False)
opt = tf.train.AdamOptimizer(lr) opt = tf.train.AdamOptimizer(lr)
return optimizer.apply_grad_processors(opt, [GlobalNormClip(5)]) return optimizer.apply_grad_processors(opt, [GlobalNormClip(5)])
......
...@@ -167,7 +167,7 @@ class Model(ModelDesc): ...@@ -167,7 +167,7 @@ class Model(ModelDesc):
add_moving_summary(cost, wd_cost, self.cost) add_moving_summary(cost, wd_cost, self.cost)
def _get_optimizer(self): def _get_optimizer(self):
lr = get_scalar_var('learning_rate', 1e-4, summary=True) lr = tf.get_variable('learning_rate', initializer=1e-4, trainable=False)
return tf.train.AdamOptimizer(lr, epsilon=1e-5) return tf.train.AdamOptimizer(lr, epsilon=1e-5)
......
...@@ -149,8 +149,7 @@ class Model(ModelDesc): ...@@ -149,8 +149,7 @@ class Model(ModelDesc):
summary.add_moving_summary(self.cost) summary.add_moving_summary(self.cost)
def _get_optimizer(self): def _get_optimizer(self):
lr = symbolic_functions.get_scalar_var('learning_rate', 1e-3, summary=True) return tf.train.AdamOptimizer(1e-3)
return tf.train.AdamOptimizer(lr)
class ThetaImages(ProxyDataFlow, RNGDataFlow): class ThetaImages(ProxyDataFlow, RNGDataFlow):
......
...@@ -132,7 +132,7 @@ class Model(GANModelDesc): ...@@ -132,7 +132,7 @@ class Model(GANModelDesc):
self.collect_variables() self.collect_variables()
def _get_optimizer(self): def _get_optimizer(self):
lr = symbolic_functions.get_scalar_var('learning_rate', 1e-4, summary=True) lr = tf.get_variable('learning_rate', initializer=1e-4, trainable=False)
opt = tf.train.AdamOptimizer(lr, beta1=0.5, beta2=0.9) opt = tf.train.AdamOptimizer(lr, beta1=0.5, beta2=0.9)
return opt return opt
......
...@@ -96,8 +96,7 @@ class Model(GANModelDesc): ...@@ -96,8 +96,7 @@ class Model(GANModelDesc):
self.collect_variables() self.collect_variables()
def _get_optimizer(self): def _get_optimizer(self):
lr = symbf.get_scalar_var('learning_rate', 2e-4, summary=True) return tf.train.AdamOptimizer(2e-4, beta1=0.5, epsilon=1e-3)
return tf.train.AdamOptimizer(lr, beta1=0.5, epsilon=1e-3)
def get_data(): def get_data():
......
...@@ -159,8 +159,7 @@ class Model(GANModelDesc): ...@@ -159,8 +159,7 @@ class Model(GANModelDesc):
add_moving_summary(recon_loss_A, recon_loss_B, rate, g_loss, d_loss, wd_g, wd_d) add_moving_summary(recon_loss_A, recon_loss_B, rate, g_loss, d_loss, wd_g, wd_d)
def _get_optimizer(self): def _get_optimizer(self):
lr = symbolic_functions.get_scalar_var('learning_rate', 2e-4, summary=True) return tf.train.AdamOptimizer(2e-4, beta1=0.5, epsilon=1e-3)
return tf.train.AdamOptimizer(lr, beta1=0.5, epsilon=1e-3)
def get_celebA_data(datadir, styleA, styleB=None): def get_celebA_data(datadir, styleA, styleB=None):
......
...@@ -134,7 +134,7 @@ class Model(GANModelDesc): ...@@ -134,7 +134,7 @@ class Model(GANModelDesc):
self.collect_variables() self.collect_variables()
def _get_optimizer(self): def _get_optimizer(self):
lr = symbolic_functions.get_scalar_var('learning_rate', 2e-4, summary=True) lr = tf.get_variable('learning_rate', initializer=2e-4, trainable=False)
return tf.train.AdamOptimizer(lr, beta1=0.5, epsilon=1e-3) return tf.train.AdamOptimizer(lr, beta1=0.5, epsilon=1e-3)
......
...@@ -83,8 +83,7 @@ class Model(DCGAN.Model): ...@@ -83,8 +83,7 @@ class Model(DCGAN.Model):
self.collect_variables() self.collect_variables()
def _get_optimizer(self): def _get_optimizer(self):
lr = symbolic_functions.get_scalar_var('learning_rate', 1e-4, summary=True) opt = tf.train.AdamOptimizer(1e-4, beta1=0.5, beta2=0.9)
opt = tf.train.AdamOptimizer(lr, beta1=0.5, beta2=0.9)
return opt return opt
......
...@@ -36,8 +36,7 @@ class Model(DCGAN.Model): ...@@ -36,8 +36,7 @@ class Model(DCGAN.Model):
add_moving_summary(self.d_loss, self.g_loss) add_moving_summary(self.d_loss, self.g_loss)
def _get_optimizer(self): def _get_optimizer(self):
lr = symbolic_functions.get_scalar_var('learning_rate', 1e-4, summary=True) opt = tf.train.RMSPropOptimizer(1e-4)
opt = tf.train.RMSPropOptimizer(lr)
return opt return opt
# An alternative way to implement the clipping: # An alternative way to implement the clipping:
......
...@@ -123,7 +123,7 @@ class Model(ModelDesc): ...@@ -123,7 +123,7 @@ class Model(ModelDesc):
add_moving_summary(wd_cost, self.cost) add_moving_summary(wd_cost, self.cost)
def _get_optimizer(self): def _get_optimizer(self):
lr = get_scalar_var('learning_rate', 0.045, summary=True) lr = tf.get_variable('learning_rate', initializer=0.045, trainable=False)
return tf.train.MomentumOptimizer(lr, 0.9) return tf.train.MomentumOptimizer(lr, 0.9)
......
...@@ -195,7 +195,7 @@ class Model(ModelDesc): ...@@ -195,7 +195,7 @@ class Model(ModelDesc):
add_moving_summary(loss1, loss2, wd_cost, self.cost) add_moving_summary(loss1, loss2, wd_cost, self.cost)
def _get_optimizer(self): def _get_optimizer(self):
lr = get_scalar_var('learning_rate', 0.045, summary=True) lr = tf.get_variable('learning_rate', initializer=0.045, trainable=False)
return tf.train.AdamOptimizer(lr, epsilon=1e-3) return tf.train.AdamOptimizer(lr, epsilon=1e-3)
......
...@@ -109,7 +109,7 @@ class Model(ModelDesc): ...@@ -109,7 +109,7 @@ class Model(ModelDesc):
s[1].h.assign(z), name='reset_lstm_state') s[1].h.assign(z), name='reset_lstm_state')
def _get_optimizer(self): def _get_optimizer(self):
lr = symbolic_functions.get_scalar_var('learning_rate', 1, summary=True) lr = tf.get_variable('learning_rate', initializer=1.0, trainable=False)
opt = tf.train.GradientDescentOptimizer(lr) opt = tf.train.GradientDescentOptimizer(lr)
return optimizer.apply_grad_processors( return optimizer.apply_grad_processors(
opt, [gradproc.GlobalNormClip(5)]) opt, [gradproc.GlobalNormClip(5)])
......
...@@ -116,7 +116,7 @@ class Model(ModelDesc): ...@@ -116,7 +116,7 @@ class Model(ModelDesc):
self.cost = tf.add_n([cost, wd_cost], name='cost') self.cost = tf.add_n([cost, wd_cost], name='cost')
def _get_optimizer(self): def _get_optimizer(self):
lr = get_scalar_var('learning_rate', 0.01, summary=True) lr = tf.get_variable('learning_rate', initializer=0.01, trainable=False)
opt = tf.train.MomentumOptimizer(lr, 0.9) opt = tf.train.MomentumOptimizer(lr, 0.9)
return opt return opt
......
...@@ -68,7 +68,7 @@ class Model(ModelDesc): ...@@ -68,7 +68,7 @@ class Model(ModelDesc):
self.cost = tf.add_n([loss, wd_cost], name='cost') self.cost = tf.add_n([loss, wd_cost], name='cost')
def _get_optimizer(self): def _get_optimizer(self):
lr = get_scalar_var('learning_rate', 0.1, summary=True) lr = tf.get_variable('learning_rate', initializer=0.1, trainable=False)
opt = tf.train.MomentumOptimizer(lr, 0.9, use_nesterov=True) opt = tf.train.MomentumOptimizer(lr, 0.9, use_nesterov=True)
gradprocs = [gradproc.ScaleGradient( gradprocs = [gradproc.ScaleGradient(
[('conv0.*', 0.1), ('group[0-2].*', 0.1)])] [('conv0.*', 0.1), ('group[0-2].*', 0.1)])]
......
...@@ -229,7 +229,7 @@ class EmbeddingModel(ModelDesc): ...@@ -229,7 +229,7 @@ class EmbeddingModel(ModelDesc):
return embeddings return embeddings
def _get_optimizer(self): def _get_optimizer(self):
lr = symbf.get_scalar_var('learning_rate', 1e-4, summary=True) lr = tf.get_variable('learning_rate', initializer=1e-4, trainable=False)
return tf.train.GradientDescentOptimizer(lr) return tf.train.GradientDescentOptimizer(lr)
......
...@@ -90,7 +90,7 @@ class Model(ModelDesc): ...@@ -90,7 +90,7 @@ class Model(ModelDesc):
self.cost = tf.add_n([wd_cost, cost], name='cost') self.cost = tf.add_n([wd_cost, cost], name='cost')
def _get_optimizer(self): def _get_optimizer(self):
lr = symbf.get_scalar_var('learning_rate', 5e-4, summary=True) lr = tf.get_variable('learning_rate', initializer=5e-4, trainable=False)
opt = tf.train.AdamOptimizer(lr, epsilon=1e-3) opt = tf.train.AdamOptimizer(lr, epsilon=1e-3)
return optimizer.apply_grad_processors( return optimizer.apply_grad_processors(
opt, [ opt, [
......
...@@ -145,7 +145,8 @@ def huber_loss(x, delta=1, name='huber_loss'): ...@@ -145,7 +145,8 @@ def huber_loss(x, delta=1, name='huber_loss'):
return tf.where(cond, l2, l1, name=name) return tf.where(cond, l2, l1, name=name)
# TODO remove this in the future # TODO deprecate this in the future
# doesn't hurt to keep it here for now
def get_scalar_var(name, init_value, summary=False, trainable=False): def get_scalar_var(name, init_value, summary=False, trainable=False):
""" """
Get a scalar float variable with certain initial value. Get a scalar float variable with certain initial value.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment