Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_namespace(self):
"""Namespace class initializers"""
# from dictionary
d = {'string': 'foo', 'integer': 1, 'float': 3.14, 'array': [1, 2, 3], 'map': {'a': 1, 'b': 2}}
n1 = Namespace(d)
self.assertEqual(n1.string, 'foo')
self.assertEqual(n1.integer, 1)
self.assertEqual(n1.float, 3.14)
self.assertEqual(n1.array, [1, 2, 3])
self.assertEqual(n1.map, {'a': 1, 'b': 2})
self.assertTrue('string' in n1)
self.assertFalse('extra' in n1)
# from namespace
n2 = Namespace(n1)
self.assertEqual(n2.string, 'foo')
self.assertEqual(n2.integer, 1)
self.assertEqual(n2.float, 3.14)
self.assertEqual(n2.array, [1, 2, 3])
self.assertEqual(n2.map, {'a': 1, 'b': 2})
self.assertTrue('string' in n2)
self.assertFalse('extra' in n2)
# from argv list
argv = ["--foo", "1", "--bar", "test", "--baz", "3.14"]
n3 = Namespace(argv)
self.assertEqual(n3.argv, argv)
def test_TFParams(self):
"""Merging namespace args w/ ML Params"""
class Foo(TFParams, HasBatchSize, HasSteps):
def __init__(self, args):
super(Foo, self).__init__()
self.args = args
n = Namespace({'a': 1, 'b': 2})
f = Foo(n).setBatchSize(10).setSteps(100)
combined_args = f.merge_args_params()
expected_args = Namespace({'a': 1, 'b': 2, 'batch_size': 10, 'steps': 100})
self.assertEqual(combined_args, expected_args)
self.assertTrue('string' in n1)
self.assertFalse('extra' in n1)
# from namespace
n2 = Namespace(n1)
self.assertEqual(n2.string, 'foo')
self.assertEqual(n2.integer, 1)
self.assertEqual(n2.float, 3.14)
self.assertEqual(n2.array, [1, 2, 3])
self.assertEqual(n2.map, {'a': 1, 'b': 2})
self.assertTrue('string' in n2)
self.assertFalse('extra' in n2)
# from argv list
argv = ["--foo", "1", "--bar", "test", "--baz", "3.14"]
n3 = Namespace(argv)
self.assertEqual(n3.argv, argv)
def test_TFParams(self):
"""Merging namespace args w/ ML Params"""
class Foo(TFParams, HasBatchSize, HasSteps):
def __init__(self, args):
super(Foo, self).__init__()
self.args = args
n = Namespace({'a': 1, 'b': 2})
f = Foo(n).setBatchSize(10).setSteps(100)
combined_args = f.merge_args_params()
expected_args = Namespace({'a': 1, 'b': 2, 'batch_size': 10, 'steps': 100})
self.assertEqual(combined_args, expected_args)
def test_namespace(self):
"""Namespace class initializers"""
# from dictionary
d = {'string': 'foo', 'integer': 1, 'float': 3.14, 'array': [1, 2, 3], 'map': {'a': 1, 'b': 2}}
n1 = Namespace(d)
self.assertEqual(n1.string, 'foo')
self.assertEqual(n1.integer, 1)
self.assertEqual(n1.float, 3.14)
self.assertEqual(n1.array, [1, 2, 3])
self.assertEqual(n1.map, {'a': 1, 'b': 2})
self.assertTrue('string' in n1)
self.assertFalse('extra' in n1)
# from namespace
n2 = Namespace(n1)
self.assertEqual(n2.string, 'foo')
self.assertEqual(n2.integer, 1)
self.assertEqual(n2.float, 3.14)
self.assertEqual(n2.array, [1, 2, 3])
self.assertEqual(n2.map, {'a': 1, 'b': 2})
self.assertTrue('string' in n2)
def __init__(self, d):
if isinstance(d, list):
self.argv = d
elif isinstance(d, dict):
self.__dict__.update(d)
elif isinstance(d, argparse.Namespace):
self.__dict__.update(vars(d))
elif isinstance(d, Namespace):
self.__dict__.update(d.__dict__)
else:
raise Exception("Unsupported Namespace args: {}".format(d))
def __init__(self, train_fn, tf_args):
super(TFEstimator, self).__init__()
self.train_fn = train_fn
self.args = Namespace(tf_args)
self._setDefault(input_mapping={},
cluster_size=1,
num_ps=0,
driver_ps_nodes=False,
master_node='chief',
protocol='grpc',
tensorboard=False,
model_dir=None,
export_dir=None,
tfrecord_dir=None,
batch_size=100,
epochs=1,
readers=1,
steps=1000,
grace_secs=30)
def __init__(self, tf_args):
super(TFModel, self).__init__()
self.args = Namespace(tf_args)
self._setDefault(input_mapping={},
output_mapping={},
batch_size=100,
model_dir=None,
export_dir=None,
signature_def_key='serving_default',
tag_set='serve')