chore: import upstream snapshot with attribution
This commit is contained in:
Executable
+103
@@ -0,0 +1,103 @@
|
||||
#!/usr/bin/python
|
||||
#-- coding:utf8 --
|
||||
import os
|
||||
import sys
|
||||
|
||||
def run_cmd(args):
|
||||
cmd = args[0]
|
||||
for i in range(1, len(args)):
|
||||
cmd += ' ' + args[i]
|
||||
stdout = os.popen(cmd).read()
|
||||
return stdout
|
||||
|
||||
gWrong = []
|
||||
gRight = 0
|
||||
|
||||
serial = ''
|
||||
# serial='-s 30.x.x.x:x' # Specify test phone ip address
|
||||
|
||||
def test(model_root_dir, parameters):
|
||||
global gRight
|
||||
print("all parameters: ", parameters)
|
||||
root_dir = model_root_dir + '/TestResource'
|
||||
print('root: ', root_dir)
|
||||
for name in os.listdir(root_dir):
|
||||
if name == '.DS_Store':
|
||||
continue
|
||||
modelName = os.path.join(root_dir, name, 'temp.bin')
|
||||
inputName = os.path.join(root_dir, name, 'input_0.txt')
|
||||
outputName = os.path.join(root_dir, name, 'output.txt')
|
||||
print(modelName)
|
||||
run_cmd(['adb', serial, 'push', modelName, '/data/local/tmp/MNN/temp.bin'])
|
||||
run_cmd(['adb', serial, 'push', inputName, '/data/local/tmp/MNN/input_0.txt'])
|
||||
run_cmd(['adb', serial, 'push', outputName, '/data/local/tmp/MNN/output.txt'])
|
||||
message = run_cmd(['adb', serial, 'shell', '\"cd /data/local/tmp/MNN&&export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH && ./testModel.out temp.bin input_0.txt output.txt %s\"' %(parameters)])
|
||||
print(str(message))
|
||||
if (message.find('Correct') < 0):
|
||||
gWrong.append(modelName)
|
||||
else:
|
||||
gRight += 1
|
||||
root_dir = model_root_dir + '/OpTestResource'
|
||||
print('root: ', root_dir)
|
||||
for name in os.listdir(root_dir):
|
||||
if name == '.DS_Store':
|
||||
continue
|
||||
modelName = os.path.join(root_dir, name, 'temp.bin')
|
||||
inputName = os.path.join(root_dir, name, 'input_0.txt')
|
||||
outputName = os.path.join(root_dir, name, 'output_0.txt')
|
||||
print(modelName)
|
||||
run_cmd(['adb', serial, 'push', modelName, '/data/local/tmp/MNN/temp.bin'])
|
||||
run_cmd(['adb', serial, 'push', inputName, '/data/local/tmp/MNN/input_0.txt'])
|
||||
run_cmd(['adb', serial, 'push', outputName, '/data/local/tmp/MNN/output_0.txt'])
|
||||
message = run_cmd(['adb', serial, 'shell', '\"cd /data/local/tmp/MNN&&export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH && ./testModel.out temp.bin input_0.txt output_0.txt %s\"' % (parameters)])
|
||||
print(message)
|
||||
if (message.find('Correct') == -1):
|
||||
gWrong.append(modelName)
|
||||
else:
|
||||
gRight += 1
|
||||
# total model test
|
||||
root_dir = os.path.join(model_root_dir, 'TestWithDescribe')
|
||||
print('Model Root Path: ' + root_dir + '\n')
|
||||
for name in os.listdir(root_dir):
|
||||
if name == '.DS_Store':
|
||||
continue
|
||||
modelDir = os.path.join(root_dir, name)
|
||||
modelName = os.path.join(modelDir, 'temp.bin')
|
||||
if not os.path.exists(modelName):
|
||||
continue
|
||||
print(run_cmd(['adb', serial, 'push', modelDir, '/data/local/tmp/MNN/']))
|
||||
print(modelDir)
|
||||
print(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Running...")
|
||||
message = run_cmd(['adb', serial, 'shell', '\"cd /data/local/tmp/MNN&&export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH && ./testModelWithDescribe.out %s/temp.bin %s/config.txt %s\"' %(name, name, parameters)])
|
||||
run_cmd(['adb', serial, 'shell', 'rm -rf /data/local/tmp/MNN/%s'%(name)])
|
||||
if (message.find('Correct') == -1):
|
||||
gWrong.append(modelDir)
|
||||
else:
|
||||
gRight += 1
|
||||
print(message)
|
||||
print('Wrong: ', len(gWrong))
|
||||
for w in gWrong:
|
||||
print(w)
|
||||
|
||||
def android_test(root_dir, forwardType, thredhold, bits):
|
||||
test(root_dir, str(forwardType) + str(thredhold))
|
||||
print("TEST_NAME_MODEL%d: 模型测试%d\nTEST_CASE_AMOUNT_MODEL%d: {\"blocked\":0,\"failed\":%d,\"passed\":%d,\"skipped\":0}\n"%(bits, bits, bits, len(gWrong), gRight))
|
||||
|
||||
if __name__ == '__main__':
|
||||
root_dir = sys.argv[1]
|
||||
forwardType = " 0 "
|
||||
if len(sys.argv) > 2:
|
||||
forwardType = ' ' + sys.argv[2] + ' '
|
||||
thredhold = ' 0.001 '
|
||||
if len(sys.argv) > 3:
|
||||
thredhold = ' ' + sys.argv[3] + ' '
|
||||
precision = ' 1 '
|
||||
if len(sys.argv) > 4:
|
||||
precision = ' ' + sys.argv[4] + ' '
|
||||
input_dims = ''
|
||||
if len(sys.argv) > 5:
|
||||
input_dims = ' ' + sys.argv[5] + ' '
|
||||
|
||||
test(root_dir, forwardType + thredhold + precision + input_dims)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user