w1文件夹里面有个best.onnx文件,w2文件夹里面有个best.onnx文件,w3文件夹里面有个best.onnx文件,那么如何同时调用这三个best.onnx文件,用r''调用
时间: 2024-11-25 20:33:06 浏览: 5
项目经理必备的五个常用工具.pdf
如果你想在初始化`Detector`类时同时加载这三个`best.onnx`文件,你需要修改`Detector`类的`__init__`函数,使其接受多个模型路径作为参数。在这种情况下,你可以这样做:
```python
class Detector:
def __init__(self, *model_paths, input_size=[384, 384]):
model_paths_str = ', '.join(map(str, model_paths)) # 将路径组合成字符串,如"D:\py-ui\weight\w1\best.onnx, D:\py-ui\weight\w2\best.onnx, D:\py-ui\weight\w3\best.onnx"
self.model_paths = model_paths_str # 存储路径列表
self.model_files = [Path(path) for path in model_paths] # 获取每个文件的Path对象
self.input_size = input_size
self.sess = ort.InferenceSession(self.model_paths, providers=['CPUExecutionProvider']) # 更新初始化参数
# 调用实例化
model = Detector('D:\\py-ui\\weight\\w1\\best.onnx', 'D:\\py-ui\\weight\\w2\\best.onnx', 'D:\\py-ui\\weight\\w3\\best.onnx')
```
这里,`*model_paths`是一个可变参数,它会在函数内部变为一个元组,包含了所有传入的参数。然后将这些路径连接成一个字符串,用于创建`InferenceSession`。
阅读全文