Skip to content

Commit c5c31ae

Browse files
committed
同步VSR对于hardware_accelerator带来的改进
1 parent 1192e61 commit c5c31ae

File tree

4 files changed

+18
-16
lines changed

4 files changed

+18
-16
lines changed

backend/main.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,12 @@ def __init__(self):
4545
from paddleocr.tools.infer import utility
4646
from paddleocr.tools.infer.predict_det import TextDetector
4747
hardware_accelerator = HardwareAccelerator.instance()
48-
onnx_providers = hardware_accelerator.get_onnx_providers()
48+
onnx_providers = hardware_accelerator.onnx_providers
4949
model_config = PaddleModelConfig(hardware_accelerator)
5050
args = utility.parse_args()
5151
args.det_algorithm = 'DB'
5252
args.det_model_dir = model_config.convertToOnnxModelIfNeeded(model_config.DET_MODEL_PATH)
53-
args.use_gpu=hardware_accelerator.has_gpu(),
53+
args.use_gpu=hardware_accelerator.has_cuda()
5454
args.use_onnx=len(onnx_providers) > 0
5555
args.onnx_providers=onnx_providers
5656
self.text_detector = TextDetector(args)
@@ -135,7 +135,7 @@ def run(self):
135135
self.append_output(f"{tr['Main']['RecMode']}{config.mode.value}")
136136
# 如果使用GPU加速,则打印GPU加速提示
137137
if self.hardware_accelerator.has_accelerator():
138-
self.append_output(tr['Main']['AcceleratorON'].format(self.hardware_accelerator.get_accelerator_name()))
138+
self.append_output(tr['Main']['AcceleratorON'].format(self.hardware_accelerator.accelerator_name))
139139

140140
# 打印视频帧数与帧率
141141
self.append_output(f"{tr['Main']['FrameCount']}{self.frame_count}"
@@ -483,7 +483,7 @@ def vsf_output(out, ):
483483
left_end = self.sub_area[2] / self.frame_width
484484
# re:图像右半部分所占百分比,取值【0-1】
485485
right_end = self.sub_area[3] / self.frame_width
486-
if (not self.hardware_accelerator.has_gpu()) and len(self.hardware_accelerator.get_onnx_providers()) > 0:
486+
if (not self.hardware_accelerator.has_cuda()) and len(self.hardware_accelerator.onnx_providers) > 0:
487487
cpu_count = multiprocessing.cpu_count()
488488
else:
489489
# 留2核心来给其他任务使用

backend/tools/hardware_accelerator.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def instance(cls):
1515
return cls._instance
1616

1717
def __init__(self):
18-
self.__gpu = False
18+
self.__cuda = False
1919
self.__onnx_providers = []
2020
self.__enabled = True
2121

@@ -29,10 +29,10 @@ def check_paddle(self):
2929
# 查看是否有可用的gpu
3030
if len(paddle.static.cuda_places()) > 0:
3131
# 如果有GPU则使用GPU
32-
self.__gpu = True
32+
self.__cuda = True
3333

3434
def check_onnx(self):
35-
if self.__gpu:
35+
if self.__cuda:
3636
return
3737
try:
3838
import onnxruntime as ort
@@ -62,27 +62,29 @@ def check_onnx(self):
6262
def has_accelerator(self):
6363
if not self.__enabled:
6464
return False
65-
return self.__gpu or len(self.__onnx_providers) > 0
65+
return self.__cuda or len(self.__onnx_providers) > 0
6666

67-
def get_accelerator_name(self):
67+
@property
68+
def accelerator_name(self):
6869
if not self.__enabled:
6970
return "CPU"
70-
if self.__gpu:
71+
if self.__cuda:
7172
return "GPU"
7273
elif len(self.__onnx_providers) > 0:
7374
return ", ".join(self.__onnx_providers)
7475
else:
7576
return "CPU"
7677

77-
def get_onnx_providers(self):
78+
@property
79+
def onnx_providers(self):
7880
if not self.__enabled:
7981
return []
8082
return self.__onnx_providers
8183

82-
def has_gpu(self):
84+
def has_cuda(self):
8385
if not self.__enabled:
8486
return False
85-
return self.__gpu
87+
return self.__cuda
8688

8789
def set_enabled(self, enable):
8890
self.__enabled = enable

backend/tools/ocr.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,9 @@ def predict(self, image):
8787

8888
def init_model(self):
8989
model_config = PaddleModelConfig(self.hardware_accelerator)
90-
onnx_providers = self.hardware_accelerator.get_onnx_providers()
90+
onnx_providers = self.hardware_accelerator.onnx_providers
9191
return PaddleOCR(
92-
use_gpu=self.hardware_accelerator.has_gpu(),
92+
use_gpu=self.hardware_accelerator.has_cuda(),
9393
gpu_mem=500,
9494
det_algorithm='DB',
9595
# 设置文本检测模型路径

backend/tools/paddle_model_config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ def __init__(self, hardware_accelerator):
108108
def convertToOnnxModelIfNeeded(self, model_dir, model_filename="inference.pdmodel", params_filename="inference.pdiparams", opset_version=14):
109109
"""Converts a Paddle model to ONNX if ONNX providers are available and the model does not already exist."""
110110

111-
if not self.hardware_accelerator.get_onnx_providers():
111+
if not self.hardware_accelerator.onnx_providers:
112112
return model_dir
113113

114114
onnx_model_path = os.path.join(model_dir, "model.onnx")

0 commit comments

Comments
 (0)