Esempio n. 1
0
 def testFunctionalDenseTwice(self):
     inputs = random_ops.random_uniform((5, 3), seed=1)
     core_layers.dense(inputs, 2)
     vars1 = _get_variable_dict_from_varstore().values()
     core_layers.dense(inputs, 2)
     vars2 = _get_variable_dict_from_varstore().values()
     self.assertEqual(len(vars1), 2)
     self.assertEqual(len(vars2), 4)
Esempio n. 2
0
 def testFunctionalDenseTwiceReuse(self):
     with self.cached_session():
         inputs = random_ops.random_uniform((5, 3), seed=1)
         core_layers.dense(inputs, 2, name='my_dense')
         vars1 = variables.trainable_variables()
         core_layers.dense(inputs, 2, name='my_dense', reuse=True)
         vars2 = variables.trainable_variables()
         self.assertEqual(vars1, vars2)
 def forward_pass(self, inputs, training=None):
   out = core_layers.dense(inputs, self.units, name="dense_one",
                           kernel_initializer=init_ops.ones_initializer(),
                           kernel_regularizer="l2")
   with variable_scope.variable_scope("nested_scope"):
     out = core_layers.dense(
         out, self.units, name="dense_two",
         kernel_initializer=init_ops.ones_initializer(),
         kernel_regularizer="l2")
   return out
Esempio n. 4
0
  def testFunctionalDenseWithCustomGetter(self):
    called = [0]

    def custom_getter(getter, *args, **kwargs):
      called[0] += 1
      return getter(*args, **kwargs)

    with variable_scope.variable_scope('test', custom_getter=custom_getter):
      inputs = random_ops.random_uniform((5, 3), seed=1)
      core_layers.dense(inputs, 2)
    self.assertEqual(called[0], 2)
Esempio n. 5
0
 def testKernelRegularizerWithReuse(self):
   regularizer = lambda x: math_ops.reduce_sum(x) * 1e-3
   inputs = random_ops.random_uniform((5, 3), seed=1)
   _ = core_layers.dense(
       inputs, 2, name='my_dense', kernel_regularizer=regularizer)
   self.assertEqual(
       len(ops.get_collection(ops.GraphKeys.REGULARIZATION_LOSSES)), 1)
   _ = core_layers.dense(
       inputs, 2, name='my_dense', kernel_regularizer=regularizer, reuse=True)
   self.assertEqual(
       len(ops.get_collection(ops.GraphKeys.REGULARIZATION_LOSSES)), 1)
Esempio n. 6
0
 def testFunctionalDenseInitializerFromScope(self):
     with variable_scope.variable_scope(
             'scope', initializer=init_ops.ones_initializer(
             )), self.cached_session():
         inputs = random_ops.random_uniform((5, 3), seed=1)
         core_layers.dense(inputs, 2)
         self.evaluate(variables.global_variables_initializer())
         weights = _get_variable_dict_from_varstore()
         self.assertEqual(len(weights), 2)
         # Check that the matrix weights got initialized to ones (from scope).
         self.assertAllClose(weights['scope/dense/kernel'].read_value(),
                             np.ones((3, 2)))
         # Check that the bias still got initialized to zeros.
         self.assertAllClose(weights['scope/dense/bias'].read_value(),
                             np.zeros((2)))
Esempio n. 7
0
 def testEagerExecution(self):
   with context.eager_mode():
     container = variable_scope.EagerVariableStore()
     x = constant_op.constant([[2.0]])
     with container.as_default():
       y = core_layers.dense(
           x, 1, name='my_dense',
           kernel_initializer=init_ops.ones_initializer())
     self.assertAllEqual(y, [[2.0]])
     self.assertEqual(len(container.variables()), 2)
     # Recreate the layer to test reuse.
     with container.as_default():
       core_layers.dense(
           x, 1, name='my_dense',
           kernel_initializer=init_ops.ones_initializer())
     self.assertEqual(len(container.variables()), 2)
Esempio n. 8
0
 def testFunctionalDense(self):
   with self.cached_session():
     inputs = random_ops.random_uniform((5, 3), seed=1)
     outputs = core_layers.dense(
         inputs, 2, activation=nn_ops.relu, name='my_dense')
     self.assertEqual(
         len(ops.get_collection(ops.GraphKeys.TRAINABLE_VARIABLES)), 2)
     self.assertEqual(outputs.op.name, 'my_dense/Relu')
Esempio n. 9
0
 def testFunctionalDenseInScope(self):
     with self.cached_session():
         with variable_scope.variable_scope('test'):
             inputs = random_ops.random_uniform((5, 3), seed=1)
             core_layers.dense(inputs, 2, name='my_dense')
             var_dict = _get_variable_dict_from_varstore()
             var_key = 'test/my_dense/kernel'
             self.assertEqual(var_dict[var_key].name, '%s:0' % var_key)
         with variable_scope.variable_scope('test1') as scope:
             inputs = random_ops.random_uniform((5, 3), seed=1)
             core_layers.dense(inputs, 2, name=scope)
             var_dict = _get_variable_dict_from_varstore()
             var_key = 'test1/kernel'
             self.assertEqual(var_dict[var_key].name, '%s:0' % var_key)
         with variable_scope.variable_scope('test2'):
             inputs = random_ops.random_uniform((5, 3), seed=1)
             core_layers.dense(inputs, 2)
             var_dict = _get_variable_dict_from_varstore()
             var_key = 'test2/dense/kernel'
             self.assertEqual(var_dict[var_key].name, '%s:0' % var_key)