Skip to content

Commit 37fe14c

Browse files
authored
upgrade os.system to subporcess.popen method (#1066)
* upgrade os.system to subporcess-popen method * fix UT error * fix UT error * address comments
1 parent 26b4492 commit 37fe14c

File tree

2 files changed

+30
-8
lines changed

2 files changed

+30
-8
lines changed

source/tests/test_model_compression.py

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import os,sys,platform,shutil,dpdata,json
22
import numpy as np
33
import unittest
4+
import subprocess as sp
45

56
from deepmd.infer import DeepPot
67
from deepmd.env import MODEL_VERSION
@@ -17,6 +18,16 @@ def _file_delete(file) :
1718
if os.path.exists(file):
1819
os.remove(file)
1920

21+
def _subprocess_run(command):
22+
popen = sp.Popen(command.split(), shell=False, stdout=sp.PIPE, stderr=sp.STDOUT)
23+
for line in iter(popen.stdout.readline, b''):
24+
if hasattr(line, 'decode'):
25+
line = line.decode('utf-8')
26+
line = line.rstrip()
27+
print(line)
28+
popen.wait()
29+
return popen.returncode
30+
2031
def _init_models():
2132
data_file = str(tests_path / os.path.join("model_compression", "data"))
2233
frozen_model = str(tests_path / "dp-original.pb")
@@ -28,12 +39,12 @@ def _init_models():
2839
with open(INPUT, "w") as fp:
2940
json.dump(jdata, fp, indent=4)
3041

31-
ret = os.system("dp train " + INPUT)
32-
assert(ret == 0), "DP train error!"
33-
ret = os.system("dp freeze -o " + frozen_model)
34-
assert(ret == 0), "DP freeze error!"
35-
ret = os.system("dp compress " + " -i " + frozen_model + " -o " + compressed_model)
36-
assert(ret == 0), "DP model compression error!"
42+
ret = _subprocess_run("dp train " + INPUT)
43+
np.testing.assert_equal(ret, 0, 'DP train failed!')
44+
ret = _subprocess_run("dp freeze -o " + frozen_model)
45+
np.testing.assert_equal(ret, 0, 'DP freeze failed!')
46+
ret = _subprocess_run("dp compress " + " -i " + frozen_model + " -o " + compressed_model)
47+
np.testing.assert_equal(ret, 0, 'DP model compression failed!')
3748
return INPUT, frozen_model, compressed_model
3849

3950
INPUT, FROZEN_MODEL, COMPRESSED_MODEL = _init_models()

source/tests/test_transfer.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import os,sys,platform,shutil,dpdata,json
22
import numpy as np
33
import unittest
4+
import subprocess as sp
45

56
from deepmd.env import tf
67
from deepmd.infer import DeepPot
@@ -18,6 +19,16 @@ def _file_delete(file) :
1819
if os.path.exists(file):
1920
os.remove(file)
2021

22+
def _subprocess_run(command):
23+
popen = sp.Popen(command.split(), shell=False, stdout=sp.PIPE, stderr=sp.STDOUT)
24+
for line in iter(popen.stdout.readline, b''):
25+
if hasattr(line, 'decode'):
26+
line = line.decode('utf-8')
27+
line = line.rstrip()
28+
print(line)
29+
popen.wait()
30+
return popen.returncode
31+
2132
class TestTransform(unittest.TestCase) :
2233
@classmethod
2334
def setUpClass(self):
@@ -26,8 +37,8 @@ def setUpClass(self):
2637
self.new_model = str(tests_path / "dp-new.pb")
2738
convert_pbtxt_to_pb(str(tests_path / os.path.join("infer","deeppot.pbtxt")), self.old_model)
2839
convert_pbtxt_to_pb(str(tests_path / os.path.join("infer","deeppot-1.pbtxt")), self.raw_model)
29-
ret = os.system("dp transfer -O " + self.old_model + " -r " + self.raw_model + " -o " + self.new_model)
30-
assert(ret == 0), "DP transfer error!"
40+
ret = _subprocess_run("dp transfer -O " + self.old_model + " -r " + self.raw_model + " -o " + self.new_model)
41+
np.testing.assert_equal(ret, 0, 'DP transfer failed!')
3142

3243
self.dp = DeepPot(self.new_model)
3344
self.coords = np.array([12.83, 2.56, 2.18,

0 commit comments

Comments
 (0)