summaryrefslogtreecommitdiffstats
path: root/lib/oeqa/runtime/cases/dldt_model_optimizer.py
blob: 736ea661d9ab4f1f534391e59765b71b9a16e7e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.runtime.decorator.package import OEHasPackage
from oeqa.runtime.miutils.targets.oeqatarget import OEQATarget
from oeqa.runtime.miutils.tests.squeezenet_model_download_test import SqueezenetModelDownloadTest
from oeqa.runtime.miutils.tests.dldt_model_optimizer_test import DldtModelOptimizerTest
from oeqa.runtime.miutils.dldtutils import get_testdata_config

class DldtModelOptimizer(OERuntimeTestCase):

    @classmethod
    def setUpClass(cls):
        cls.sqn_download = SqueezenetModelDownloadTest(OEQATarget(cls.tc.target), '/tmp/mo/md')
        cls.sqn_download.setup()
        cls.dldt_mo = DldtModelOptimizerTest(OEQATarget(cls.tc.target), '/tmp/mo/ir')
        cls.dldt_mo.setup()

    @classmethod
    def tearDownClass(cls):
        cls.dldt_mo.tear_down()
        cls.sqn_download.tear_down()

    @OEHasPackage(['dldt-model-optimizer'])
    @OEHasPackage(['wget'])
    def test_dldt_mo_can_create_ir(self):
        proxy_port = get_testdata_config(self.tc.td, 'DLDT_PIP_PROXY')
        if not proxy_port:
            self.skipTest('Need to configure bitbake configuration (DLDT_PIP_PROXY="proxy.server:port").')
        (status, output) = self.sqn_download.test_can_download_squeezenet_model(proxy_port)
        self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
        (status, output) = self.sqn_download.test_can_download_squeezenet_prototxt(proxy_port)
        self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))

        mo_exe_dir = get_testdata_config(self.tc.td, 'DLDT_MO_EXE_DIR')
        if not mo_exe_dir:
            self.skipTest('Need to configure bitbake configuration (DLDT_MO_EXE_DIR="directory_to_mo.py").')
        mo_files_dir = self.sqn_download.work_dir
        (status, output) = self.dldt_mo.test_dldt_mo_can_create_ir(mo_exe_dir, mo_files_dir)
        self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))