diff --git a/dnmetis/backend/__pycache__/backend.cpython-37.pyc b/dnmetis/backend/__pycache__/backend.cpython-37.pyc new file mode 100644 index 0000000..a629cf6 Binary files /dev/null and b/dnmetis/backend/__pycache__/backend.cpython-37.pyc differ diff --git a/dnmetis/backend/__pycache__/backend_acl.cpython-37.pyc b/dnmetis/backend/__pycache__/backend_acl.cpython-37.pyc new file mode 100644 index 0000000..5d0e825 Binary files /dev/null and b/dnmetis/backend/__pycache__/backend_acl.cpython-37.pyc differ diff --git a/dnmetis/backend/backend.py b/dnmetis/backend/backend.py new file mode 100644 index 0000000..758c860 --- /dev/null +++ b/dnmetis/backend/backend.py @@ -0,0 +1,26 @@ +""" +abstract backend class +""" + + +# pylint: disable=unused-argument,missing-docstring + +class Backend(): + def __init__(self): + self.inputs = [] + self.outputs = [] + + def version(self): + raise NotImplementedError("Backend:version") + + def name(self): + raise NotImplementedError("Backend:name") + + def load(self, args): + raise NotImplementedError("Backend:load") + + def predict(self, feed): + raise NotImplementedError("Backend:predict") + + def get_predict_time(self): + return 0 diff --git a/dnmetis/backend/backend_acl.py b/dnmetis/backend/backend_acl.py new file mode 100644 index 0000000..5733323 --- /dev/null +++ b/dnmetis/backend/backend_acl.py @@ -0,0 +1,64 @@ +""" +acl backend +""" + + +import dnmetis_backend as dnmetis_backend +import backend.backend as backend +import numpy as np +import os +import pdb + +class AclBackend(backend.Backend): + def __init__(self): + super(AclBackend, self).__init__() + self.ACL=5 + self.outputs = "" + self.inputs = "" + self.model_path = "" + self.cfg_path = "" + + def version(self): + return "1.0" + + def name(self): + return "AclBackend" + + def image_format(self): + # By default tensorflow uses NHWC (and the cpu implementation only does NHWC) + return "NHWC" + + def load(self, args): + # there is no input/output meta data i the graph so it need to come from config. + if not args.inputs: + raise ValueError("AclBackend needs inputs") + if not args.outputs: + raise ValueError("AclBackend needs outputs") + self.outputs = args.outputs + self.inputs = args.inputs + self.model_path = args.model + self.cfg_path = args.cfg_path + #s.path.join(args.pwd, 'backend_cfg/built-in_config.txt') + dnmetis_backend.backend_setconfig(self.cfg_path) + dnmetis_backend.backend_load(self.ACL,self.model_path,"") + return self + + def predict(self, feed): + #fed=feed[self.inputs[0]] + result_list=[] + result = dnmetis_backend.backend_predict(self.ACL,self.model_path,feed) + + for _ in range(len(self.outputs)): + #resnet50 tf & caffe + if 'softmax_tensor' in self.outputs[_] or 'prob' in self.outputs[_]: + result_list.append(np.argmax(result[_],1)) + # resnet50 tf + if 'ArgMax' in self.outputs[_]: + result_list.append(result[_]) + if result_list == []: + # ssd-resnet34 tf + result_list = result + return result_list + + def unload(self): + return dnmetis_backend.backend_unload(self.ACL,self.model_path,"") diff --git a/dnmetis/backend_cfg/built-in_config.txt b/dnmetis/backend_cfg/built-in_config.txt new file mode 100644 index 0000000..327819c --- /dev/null +++ b/dnmetis/backend_cfg/built-in_config.txt @@ -0,0 +1,2 @@ +aclrtMemMallocPolicy=2 +backend_loglevel=3 diff --git a/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000001.JPEG b/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000001.JPEG new file mode 100644 index 0000000..fd3a93f Binary files /dev/null and b/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000001.JPEG differ diff --git a/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000002.JPEG b/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000002.JPEG new file mode 100644 index 0000000..543f639 Binary files /dev/null and b/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000002.JPEG differ diff --git a/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000003.JPEG b/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000003.JPEG new file mode 100644 index 0000000..b32c5ed Binary files /dev/null and b/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000003.JPEG differ diff --git a/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000004.JPEG b/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000004.JPEG new file mode 100644 index 0000000..182189a Binary files /dev/null and b/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000004.JPEG differ diff --git a/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000005.JPEG b/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000005.JPEG new file mode 100644 index 0000000..a68ef17 Binary files /dev/null and b/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000005.JPEG differ diff --git a/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000006.JPEG b/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000006.JPEG new file mode 100644 index 0000000..f284522 Binary files /dev/null and b/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000006.JPEG differ diff --git a/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000007.JPEG b/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000007.JPEG new file mode 100644 index 0000000..be25a8c Binary files /dev/null and b/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000007.JPEG differ diff --git a/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000008.JPEG b/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000008.JPEG new file mode 100644 index 0000000..6b8ba97 Binary files /dev/null and b/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000008.JPEG differ diff --git a/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000009.JPEG b/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000009.JPEG new file mode 100644 index 0000000..9f6c9c0 Binary files /dev/null and b/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000009.JPEG differ diff --git a/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000010.JPEG b/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000010.JPEG new file mode 100644 index 0000000..6fcafb4 Binary files /dev/null and b/dnmetis/datasets/imagenet_10/ILSVRC2012_val_00000010.JPEG differ diff --git a/dnmetis/datasets/imagenet_10/val_map.txt b/dnmetis/datasets/imagenet_10/val_map.txt new file mode 100644 index 0000000..da362d6 --- /dev/null +++ b/dnmetis/datasets/imagenet_10/val_map.txt @@ -0,0 +1,10 @@ +ILSVRC2012_val_00000001.JPEG 65 +ILSVRC2012_val_00000002.JPEG 970 +ILSVRC2012_val_00000003.JPEG 230 +ILSVRC2012_val_00000004.JPEG 809 +ILSVRC2012_val_00000005.JPEG 516 +ILSVRC2012_val_00000006.JPEG 57 +ILSVRC2012_val_00000007.JPEG 334 +ILSVRC2012_val_00000008.JPEG 415 +ILSVRC2012_val_00000009.JPEG 674 +ILSVRC2012_val_00000010.JPEG 332