from caffe2.python import core, utils, test_util import numpy as np class TestUtils(test_util.TestCase): def testArgsToDict(self): args = [utils.MakeArgument("int1", 3), utils.MakeArgument("float1", 4.0), utils.MakeArgument("string1", "foo"), utils.MakeArgument("intlist1", np.array([3, 4])), utils.MakeArgument("floatlist1", np.array([5.0, 6.0])), utils.MakeArgument("stringlist1", np.array(["foo", "bar"]))] dict_ = utils.ArgsToDict(args) expected = {"int1" : 3, "float1" : 4.0, "string1" : b"foo", "intlist1" : [3, 4], "floatlist1" : [5.0, 6.0], "stringlist1" : [b"foo", b"bar"]} self.assertEqual(dict_, expected, "dictionary version of arguments " "doesn't match original") def testBuildUniqueMutexIter(self): init_net = core.Net("init_net") net = core.Net("net") utils.BuildUniqueMutexIter(init_net, net) for op in init_net.Proto().op: self.assertEqual(op.device_option.extra_info[0], "device_type_override:cpu") for op in net.Proto().op: self.assertEqual(op.device_option.extra_info[0], "device_type_override:cpu")