def testFromDifferentScope(self): sub = functools.partial(re.sub, r'^[^/]+/', 'agent/') restore_initializers = { 'w': initializers.restore_initializer(_checkpoint(), 'w', sub), 'b': initializers.restore_initializer(_checkpoint(), 'b', sub) } with tf.variable_scope('some_random_scope'): c = convnet.ConvNet2D(output_channels=(16, 32), kernel_shapes=(8, 4), strides=(4, 2), paddings=[conv.VALID], activation=tf.nn.relu, activate_final=True, initializers=restore_initializers) inputs = tf.constant(1 / 255.0, shape=[1, 86, 86, 3]) outputs = c(inputs) init = tf.global_variables_initializer() tf.get_default_graph().finalize() with self.test_session() as session: session.run(init) o = session.run(outputs) self.assertAllClose(np.linalg.norm(o), _TWO_CONV_LAYERS_RELU, atol=_TOLERANCE)
def testMoreMultipleRestore(self): restore_initializers = { 'w': initializers.restore_initializer(_checkpoint(), 'w'), 'b': initializers.restore_initializer(_checkpoint(), 'b') } with tf.variable_scope('agent'): c = convnet.ConvNet2D(output_channels=(16, 32), kernel_shapes=(8, 4), strides=(4, 2), paddings=[conv.VALID], activation=tf.nn.relu, activate_final=True, initializers=restore_initializers) inputs = tf.constant(1 / 255.0, shape=[1, 86, 86, 3]) outputs = c(inputs) init = tf.global_variables_initializer() tf.get_default_graph().finalize() with self.test_session() as session: session.run(init) o = session.run(outputs) self.assertAllClose(np.linalg.norm(o), _TWO_CONV_LAYERS_RELU, atol=_TOLERANCE)