Skip to content

plt update net instance, test=model #2934

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 70 commits into from
Sep 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
a3fe935
add plt export, test=model
Zeref996 Jul 11, 2024
54168e3
add plt export, test=model
Zeref996 Jul 11, 2024
b5c1730
add plt export, test=model
Zeref996 Jul 11, 2024
cdbe8e0
add plt export, test=model
Zeref996 Jul 11, 2024
d7c8369
add plt export, test=model
Zeref996 Jul 12, 2024
b57f7f4
add plt export, test=model
Zeref996 Jul 12, 2024
b3c1017
add plt export, test=model
Zeref996 Jul 15, 2024
4224630
add plt export, test=model
Zeref996 Jul 15, 2024
afc64f6
add plt export, test=model
Zeref996 Jul 15, 2024
dcb84ee
add plt export, test=model
Zeref996 Jul 15, 2024
8b393e5
add plt export, test=model
Zeref996 Jul 15, 2024
68ad191
add plt export, test=model
Zeref996 Jul 15, 2024
a363f8a
add plt export, test=model
Zeref996 Jul 15, 2024
835a6a1
add plt export, test=model
Zeref996 Jul 15, 2024
45d510e
add plt export, test=model
Zeref996 Jul 16, 2024
7013b7e
Merge remote-tracking branch 'upstream/develop' into plt-update-002
Zeref996 Jul 23, 2024
044c301
fix plt start, test=model
Zeref996 Jul 23, 2024
139a490
Merge remote-tracking branch 'upstream/develop' into plt-update-003
Zeref996 Jul 23, 2024
f52dc56
fix plt start, test=model
Zeref996 Jul 23, 2024
12b7ed6
fix plt start, test=model
Zeref996 Jul 23, 2024
513937f
fix plt start, test=model
Zeref996 Jul 23, 2024
8c4cf28
Merge remote-tracking branch 'upstream/develop' into plt-update-004
Zeref996 Aug 1, 2024
40a4a99
fix plt perf, test=model
Zeref996 Aug 1, 2024
3cdd124
Merge remote-tracking branch 'upstream/develop' into plt-update-004
Zeref996 Aug 5, 2024
7ce511d
add plt bm ignore, test=model
Zeref996 Aug 5, 2024
6c092a4
Merge remote-tracking branch 'upstream/develop' into plt-update-006
Zeref996 Aug 5, 2024
ea94ce8
update plt start.sh, test=model
Zeref996 Aug 5, 2024
c6ef08c
Merge remote-tracking branch 'upstream/develop' into plt-update-007
Zeref996 Aug 5, 2024
59430eb
update plt start.sh, test=model
Zeref996 Aug 5, 2024
eb8557c
Merge remote-tracking branch 'upstream/develop' into plt-update-008
Zeref996 Aug 8, 2024
d04932d
Merge remote-tracking branch 'upstream/develop' into plt-update-009
Zeref996 Aug 15, 2024
1ee0c40
add inputspec plt ci, test=model
Zeref996 Aug 15, 2024
9e90a82
add inputspec plt ci, test=model
Zeref996 Aug 15, 2024
7c537d8
Merge remote-tracking branch 'upstream/develop' into plt-update-009
Zeref996 Aug 19, 2024
b802922
update plt ci, test=model
Zeref996 Aug 19, 2024
55fc399
update plt ci, test=model
Zeref996 Aug 19, 2024
b9a0a8a
update plt ci, test=model
Zeref996 Aug 19, 2024
9ddd06c
update plt ci, test=model
Zeref996 Aug 20, 2024
3df68a8
update plt ci, test=model
Zeref996 Aug 20, 2024
8e8a5df
Merge remote-tracking branch 'upstream/develop' into plt-update-011
Zeref996 Aug 23, 2024
e06a669
update plt gsb, test=model
Zeref996 Aug 23, 2024
9c0d389
Merge remote-tracking branch 'upstream/develop' into plt-update-012
Zeref996 Aug 23, 2024
4ebc12f
fix plt statistic, test=model
Zeref996 Aug 23, 2024
7ca3088
Merge remote-tracking branch 'upstream/develop' into plt-update-013
Zeref996 Aug 28, 2024
aad05cd
plt update net instance, test=model
Zeref996 Aug 28, 2024
83accc5
plt update net instance, test=model
Zeref996 Aug 29, 2024
0bc98a2
plt update net instance, test=model
Zeref996 Aug 29, 2024
b4e3891
plt update net instance, test=model
Zeref996 Aug 29, 2024
57b98ad
plt update net instance, test=model
Zeref996 Aug 29, 2024
a501315
plt update net instance, test=model
Zeref996 Aug 29, 2024
f1922fa
plt update net instance, test=model
Zeref996 Aug 29, 2024
fd6284c
plt update net instance, test=model
Zeref996 Aug 30, 2024
3dddc7f
plt update net instance, test=model
Zeref996 Aug 30, 2024
849b2a8
plt update net instance, test=model
Zeref996 Aug 30, 2024
0c598c7
plt update net instance, test=model
Zeref996 Aug 30, 2024
5c017f9
plt update net instance, test=model
Zeref996 Aug 30, 2024
eed8461
plt update net instance, test=model
Zeref996 Aug 30, 2024
b59f018
plt update net instance, test=model
Zeref996 Aug 30, 2024
430e1ea
plt update net instance, test=model
Zeref996 Aug 30, 2024
b3efb14
plt update net instance, test=model
Zeref996 Aug 30, 2024
fb02edd
plt update net instance, test=model
Zeref996 Sep 2, 2024
8941680
plt update net instance, test=model
Zeref996 Sep 2, 2024
ce0c1e7
plt update net instance, test=model
Zeref996 Sep 2, 2024
e71139f
plt update net instance, test=model
Zeref996 Sep 3, 2024
ef875df
plt update net instance, test=model
Zeref996 Sep 3, 2024
ee1559c
plt update net instance, test=model
Zeref996 Sep 3, 2024
b154952
plt update net instance, test=model
Zeref996 Sep 3, 2024
25aaae1
plt update net instance, test=model
Zeref996 Sep 4, 2024
4a85e2d
plt update net instance, test=model
Zeref996 Sep 4, 2024
9755ebc
plt update net instance, test=model
Zeref996 Sep 4, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 10 additions & 7 deletions framework/e2e/PaddleLT_new/binary_search.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ def __init__(self, commit_list, title, layerfile, testing, perf_decay=None, test
self.test_obj = test_obj
self.py_cmd = os.environ.get("python_ver")
self.testing_mode = os.environ.get("TESTING_MODE")
self.device_place_id = 0
self.timeout = 300

def _status_print(self, exit_code, status_str):
"""
Expand All @@ -82,8 +84,8 @@ def _install_paddle(self, commit_id):

whl_link = (
"https://paddle-qa.bj.bcebos.com/paddle-pipe"
"line/Develop-GpuAll-LinuxCentos-Gcc82-Cuda112-Trtoff-Py38-Compile/{}/paddle"
"paddle_gpu-0.0.0-cp38-cp38-linux_x86_64.whl".format(commit_id)
"line/Develop-GpuSome-LinuxCentos-Gcc82-Cuda118-Cudnn86-Trt85-Py310-CINN-Compile/{}/paddle"
"paddle_gpu-0.0.0-cp310-cp310-linux_x86_64.whl".format(commit_id)
)
exit_code = os.system(f"{self.py_cmd} -m pip install {whl_link}")
self._status_print(exit_code=exit_code, status_str="install paddlepaddle-gpu")
Expand All @@ -105,7 +107,8 @@ def _precision_debug(self, commit_id):
exit_code = os.system(
f"cp -r PaddleLT.py {self.title}.py && "
f"{self.py_cmd} -m pytest {self.title}.py --title={self.title} "
f"--layerfile={self.layerfile} --testing={self.testing}"
f"--layerfile={self.layerfile} --testing={self.testing} "
f"--device_place_id={self.device_place_id} --timeout={self.timeout}"
)

if exit_code > 0:
Expand Down Expand Up @@ -168,8 +171,8 @@ def _commit_locate(self, commits):
if not os.path.exists("paddle"):
os.system("git clone -b develop http://github.com/paddlepaddle/paddle.git")
os.chdir(os.path.join(cur_path, "paddle"))
start_commit = "f651ac5cf387c56488b52fcc6456a63e9eb73086" # 成功commit
end_commit = "9d5f31687cce16a976256723a70df4550085d685" # 失败commit
start_commit = "4ac66e4319740d65eb3b2a9e80b4a9f989083099" # 成功commit
end_commit = "81dc24b20d9a016dd4e92e76d2849cc9e3d0f8c8" # 失败commit
commits = get_commits(start=start_commit, end=end_commit)
save_pickle(data=commits, filename="candidate_commits.pickle")
print("the candidate commits is {}".format(commits))
Expand All @@ -178,8 +181,8 @@ def _commit_locate(self, commits):
final_commit = BinarySearch(
commit_list=commits,
title="PrecisionBS",
layerfile="./layercase/sublayer1000/Clas_cases/CSWinTransformer_CSWinTransformer_base_384/SIR_5.py",
testing="yaml/dy^dy2stcinn_eval.yml",
layerfile="./layercase/sublayer1000/Det_cases/ppyolo_ppyolo_r50vd_dcn_1x_coco/SIR_58.py",
testing="yaml/dy^dy2stcinn_train_inputspec.yml",
perf_decay=None, # ["dy2st_eval_cinn_perf", 0.042814, -0.3]
test_obj=LayerTest,
)._commit_locate(commits)
Expand Down
44 changes: 35 additions & 9 deletions framework/e2e/PaddleLT_new/engine/paddle_eval.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ class LayerEval(object):
"""

# def __init__(self, testing, layerfile, device_id):
def __init__(self, testing, layerfile, device_place_id):
def __init__(self, testing, layerfile, device_place_id, upstream_net):
"""
初始化
"""
Expand All @@ -36,6 +36,8 @@ def __init__(self, testing, layerfile, device_place_id):
# paddle.set_device("{}:{}".format(str(self.device), str(device_id)))

self.testing = testing
self.upstream_net = upstream_net
self.return_net_instance = self.testing.get("return_net_instance", "False")
self.model_dtype = self.testing.get("model_dtype")
paddle.set_default_dtype(self.model_dtype)

Expand All @@ -53,7 +55,10 @@ def _net_input(self):
def _net_instant(self):
"""get net"""
reset(self.seed)
net = BuildLayer(layerfile=self.layerfile).get_layer()
if self.upstream_net:
net = self.upstream_net
else:
net = BuildLayer(layerfile=self.layerfile).get_layer()
return net

def _net_input_and_spec(self):
Expand Down Expand Up @@ -85,7 +90,10 @@ def dy_eval(self):
net = self._net_instant()
net.eval()
logit = net(*self._net_input())
return {"logit": logit}
if self.return_net_instance == "True":
return {"res": {"logit": logit}, "net": net}
else:
return {"res": {"logit": logit}, "net": None}

def dy2st_eval(self):
"""dy2st eval"""
Expand All @@ -94,7 +102,10 @@ def dy2st_eval(self):
st_net = paddle.jit.to_static(net, full_graph=True)
st_net.eval()
logit = st_net(*data)
return {"logit": logit}
if self.return_net_instance == "True":
return {"res": {"logit": logit}, "net": st_net}
else:
return {"res": {"logit": logit}, "net": None}

def dy2st_eval_inputspec(self):
"""dy2st eval"""
Expand All @@ -104,7 +115,10 @@ def dy2st_eval_inputspec(self):
st_net = paddle.jit.to_static(net, full_graph=True, input_spec=input_spec)
st_net.eval()
logit = st_net(*data)
return {"logit": logit}
if self.return_net_instance == "True":
return {"res": {"logit": logit}, "net": st_net}
else:
return {"res": {"logit": logit}, "net": None}

def dy2st_eval_static_inputspec(self):
"""dy2st eval"""
Expand All @@ -114,7 +128,10 @@ def dy2st_eval_static_inputspec(self):
st_net = paddle.jit.to_static(net, full_graph=True, input_spec=input_spec)
st_net.eval()
logit = st_net(*data)
return {"logit": logit}
if self.return_net_instance == "True":
return {"res": {"logit": logit}, "net": st_net}
else:
return {"res": {"logit": logit}, "net": None}

def dy2st_eval_cinn(self):
"""dy2st cinn eval"""
Expand All @@ -126,7 +143,10 @@ def dy2st_eval_cinn(self):
cinn_net = paddle.jit.to_static(net, build_strategy=build_strategy, full_graph=True)
cinn_net.eval()
logit = cinn_net(*data)
return {"logit": logit}
if self.return_net_instance == "True":
return {"res": {"logit": logit}, "net": cinn_net}
else:
return {"res": {"logit": logit}, "net": None}

def dy2st_eval_cinn_inputspec(self):
"""dy2st cinn eval with inputspec"""
Expand All @@ -139,7 +159,10 @@ def dy2st_eval_cinn_inputspec(self):
cinn_net = paddle.jit.to_static(net, build_strategy=build_strategy, full_graph=True, input_spec=input_spec)
cinn_net.eval()
logit = cinn_net(*data)
return {"logit": logit}
if self.return_net_instance == "True":
return {"res": {"logit": logit}, "net": cinn_net}
else:
return {"res": {"logit": logit}, "net": None}

def dy2st_eval_cinn_static_inputspec(self):
"""dy2st cinn eval with inputspec"""
Expand All @@ -152,7 +175,10 @@ def dy2st_eval_cinn_static_inputspec(self):
cinn_net = paddle.jit.to_static(net, build_strategy=build_strategy, full_graph=True, input_spec=input_spec)
cinn_net.eval()
logit = cinn_net(*data)
return {"logit": logit}
if self.return_net_instance == "True":
return {"res": {"logit": logit}, "net": cinn_net}
else:
return {"res": {"logit": logit}, "net": None}

# def dy2st_eval_cinn_inputspec_legacy_2(self):
# """dy2st cinn eval with inputspec"""
Expand Down
9 changes: 7 additions & 2 deletions framework/e2e/PaddleLT_new/engine/paddle_eval_bm.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ class LayerEvalBM(object):
"""

# def __init__(self, testing, layerfile, device_id):
def __init__(self, testing, layerfile, device_place_id):
def __init__(self, testing, layerfile, device_place_id, upstream_net):
"""
初始化
"""
Expand All @@ -43,6 +43,8 @@ def __init__(self, testing, layerfile, device_place_id):
self.statis_round = 6

self.testing = testing
self.upstream_net = upstream_net
# self.return_net_instance = self.testing.get("return_net_instance", "False")
self.model_dtype = self.testing.get("model_dtype")
paddle.set_default_dtype(self.model_dtype)

Expand All @@ -53,7 +55,10 @@ def __init__(self, testing, layerfile, device_place_id):
def _net_instant(self):
"""get net and data"""
reset(self.seed)
net = BuildLayer(layerfile=self.layerfile).get_layer()
if self.upstream_net:
net = self.upstream_net
else:
net = BuildLayer(layerfile=self.layerfile).get_layer()
return net

def _set_cinn_flags(self):
Expand Down
15 changes: 13 additions & 2 deletions framework/e2e/PaddleLT_new/engine/paddle_export.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class LayerExport(object):
构建Layer导出的通用类
"""

def __init__(self, testing, layerfile, device_place_id):
def __init__(self, testing, layerfile, device_place_id, upstream_net):
"""
初始化
"""
Expand All @@ -30,6 +30,8 @@ def __init__(self, testing, layerfile, device_place_id):
paddle.set_device(f"{self.device}:{device_place_id}")

self.testing = testing
self.upstream_net = upstream_net
# self.return_net_instance = self.testing.get("return_net_instance", "False")
self.model_dtype = self.testing.get("model_dtype")
paddle.set_default_dtype(self.model_dtype)

Expand All @@ -48,7 +50,10 @@ def _net_input(self):
def _net_instant(self):
"""get net"""
reset(self.seed)
net = BuildLayer(layerfile=self.layerfile).get_layer()
if self.upstream_net:
net = self.upstream_net
else:
net = BuildLayer(layerfile=self.layerfile).get_layer()
return net

def _net_input_and_spec(self):
Expand Down Expand Up @@ -77,6 +82,7 @@ def jit_save(self):

# paddle.jit.save(net, path=os.path.join(self.path, self.case))
paddle.jit.save(st_net, path=os.path.join(self.path, self.layername, "jit_save"))
return {"res": None}

def jit_save_inputspec(self):
"""jit.save(layer)"""
Expand All @@ -90,6 +96,7 @@ def jit_save_inputspec(self):

# paddle.jit.save(net, path=os.path.join(self.path, self.case))
paddle.jit.save(st_net, path=os.path.join(self.path, self.layername, "jit_save_inputspec"))
return {"res": None}

def jit_save_static_inputspec(self):
"""jit.save(layer)"""
Expand All @@ -103,6 +110,7 @@ def jit_save_static_inputspec(self):

# paddle.jit.save(net, path=os.path.join(self.path, self.case))
paddle.jit.save(st_net, path=os.path.join(self.path, self.layername, "jit_save_static_inputspec"))
return {"res": None}

def jit_save_cinn(self):
"""jit.save(layer)"""
Expand All @@ -117,6 +125,7 @@ def jit_save_cinn(self):

# paddle.jit.save(net, path=os.path.join(self.path, self.case))
paddle.jit.save(cinn_net, path=os.path.join(self.path, self.layername, "jit_save_cinn"))
return {"res": None}

def jit_save_cinn_inputspec(self):
"""jit.save(layer)"""
Expand All @@ -132,6 +141,7 @@ def jit_save_cinn_inputspec(self):

# paddle.jit.save(net, path=os.path.join(self.path, self.case))
paddle.jit.save(cinn_net, path=os.path.join(self.path, self.layername, "jit_save_cinn_inputspec"))
return {"res": None}

def jit_save_cinn_static_inputspec(self):
"""jit.save(layer)"""
Expand All @@ -147,3 +157,4 @@ def jit_save_cinn_static_inputspec(self):

# paddle.jit.save(net, path=os.path.join(self.path, self.case))
paddle.jit.save(cinn_net, path=os.path.join(self.path, self.layername, "jit_save_cinn_static_inputspec"))
return {"res": None}
29 changes: 18 additions & 11 deletions framework/e2e/PaddleLT_new/engine/paddle_infer.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,15 @@
from generator.builder_layer import BuildLayer
from generator.builder_data import BuildData

from tools.logger import Logger


class LayerInfer(object):
"""
构建Layer预测的通用类
"""

def __init__(self, testing, layerfile, device_place_id):
def __init__(self, testing, layerfile, device_place_id, upstream_net):
"""
初始化
"""
Expand All @@ -41,7 +43,8 @@ def paddle_infer_gpu(self):
"""infer load (layer)"""
reset(self.seed)
if not os.path.exists(self.path + ".pdiparams"):
return "pass"
Logger("paddle_infer_gpu").get_log().info("该子图export未产出pdiparams, 所以跳过infer测试")
return {"res": {"logit": None}}

config = paddle_infer.Config(self.path + ".pdmodel", self.path + ".pdiparams")
config.enable_use_gpu(1000, int(self.device_id))
Expand All @@ -63,13 +66,14 @@ def paddle_infer_gpu(self):
else:
output_handle = predictor.get_output_handle(output_names[0])
infer_res = output_handle.copy_to_cpu()
return {"logit": infer_res}
return {"res": {"logit": infer_res}}

def paddle_infer_cpu(self):
"""infer load (layer)"""
reset(self.seed)
if not os.path.exists(self.path + ".pdiparams"):
return "pass"
Logger("paddle_infer_cpu").get_log().info("该子图export未产出pdiparams, 所以跳过infer测试")
return {"res": {"logit": None}}

config = paddle_infer.Config(self.path + ".pdmodel", self.path + ".pdiparams")

Expand All @@ -92,13 +96,14 @@ def paddle_infer_cpu(self):
else:
output_handle = predictor.get_output_handle(output_names[0])
infer_res = output_handle.copy_to_cpu()
return {"logit": infer_res}
return {"res": {"logit": infer_res}}

def paddle_infer_mkldnn(self):
"""infer load (layer)"""
reset(self.seed)
if not os.path.exists(self.path + ".pdiparams"):
return "pass"
Logger("paddle_infer_mkldnn").get_log().info("该子图export未产出pdiparams, 所以跳过infer测试")
return {"res": {"logit": None}}

config = paddle_infer.Config(self.path + ".pdmodel", self.path + ".pdiparams")

Expand All @@ -123,13 +128,14 @@ def paddle_infer_mkldnn(self):
else:
output_handle = predictor.get_output_handle(output_names[0])
infer_res = output_handle.copy_to_cpu()
return {"logit": infer_res}
return {"res": {"logit": infer_res}}

def paddle_infer_ort(self):
"""infer load (layer)"""
reset(self.seed)
if not os.path.exists(self.path + ".pdiparams"):
return "pass"
Logger("paddle_infer_ort").get_log().info("该子图export未产出pdiparams, 所以跳过infer测试")
return {"res": {"logit": None}}

config = paddle_infer.Config(self.path + ".pdmodel", self.path + ".pdiparams")

Expand All @@ -153,13 +159,14 @@ def paddle_infer_ort(self):
else:
output_handle = predictor.get_output_handle(output_names[0])
infer_res = output_handle.copy_to_cpu()
return {"logit": infer_res}
return {"res": {"logit": infer_res}}

def paddle_infer_new_exc_pir(self):
"""infer load (layer)"""
reset(self.seed)
if not os.path.exists(self.path + ".pdiparams"):
return "pass"
Logger("paddle_infer_new_exc_pir").get_log().info("该子图export未产出pdiparams, 所以跳过infer测试")
return {"res": {"logit": None}}

config = paddle_infer.Config(self.path + ".json", self.path + ".pdiparams")
# config = paddle_infer.Config(self.path, 'inference')
Expand All @@ -186,4 +193,4 @@ def paddle_infer_new_exc_pir(self):
else:
output_handle = predictor.get_output_handle(output_names[0])
infer_res = output_handle.copy_to_cpu()
return {"logit": infer_res}
return {"res": {"logit": infer_res}}
Loading