Download face_feature/model_lib/model_base.py from GuijiAI/ReHiFace-S: direct link, hf CLI and curl.
- Browser
- Download file 1.2 kB
-
https://huggingface.co/GuijiAI/ReHiFace-S/resolve/refs%2Fpr%2F2/face_feature/model_lib/model_base.py
- Command line
-
hf download hf://GuijiAI/ReHiFace-S@refs/pr/2/face_feature/model_lib/model_base.py
-
curl -L -o model_base.py https://huggingface.co/GuijiAI/ReHiFace-S/resolve/refs%2Fpr%2F2/face_feature/model_lib/model_base.py
1.2 kB
| # -- coding: utf-8 -- | |
| # @Time : 2022/7/29 | |
| # @Author : ykk648 | |
| # @Project : https://github.com/ykk648/AI_power | |
| from .base_wrapper import ONNXModel, OnnxModelPickable | |
| from pathlib import Path | |
| try: | |
| from .base_wrapper import TRTWrapper | |
| except: | |
| print('trt model needs tensorrt !') | |
| class ModelBase: | |
| def __init__(self, model_info, provider): | |
| self.model_path = model_info['model_path'] | |
| if 'input_dynamic_shape' in model_info.keys(): | |
| self.input_dynamic_shape = model_info['input_dynamic_shape'] | |
| else: | |
| self.input_dynamic_shape = None | |
| if 'picklable' in model_info.keys(): | |
| picklable = model_info['picklable'] | |
| else: | |
| picklable = False | |
| # init model | |
| if Path(self.model_path).suffix == '.engine': | |
| self.model_type = 'trt' | |
| self.model = TRTWrapper(self.model_path) | |
| else: | |
| self.model_type = 'onnx' | |
| if not picklable: | |
| self.model = ONNXModel(self.model_path, provider=provider, input_dynamic_shape=self.input_dynamic_shape) | |
| else: | |
| self.model = OnnxModelPickable(self.model_path, provider=provider, ) | |