python项目路径 - 文件导入时拼接项目根路径

存在的问题:

由于python文件放置的位置不同(一个在主文件夹,一个在子文件夹),在调用模型时如果通过相对路径去访问权重文件,这就会导致不同python文件在访问这个权重文件时需要传入该权重文件相对于该python文件的路径,这就有点麻烦。如果想让模型对外透明,不需要用户输入权重文件的位置,想把权重文件路径写死,这里可以考虑将项目文件的根路径和权重文件实际在项目中的位置进行拼接即可。

存在问题的代码:

# 人脸检测器scrfd
scrfd_detetor = SCRFD("../../model/SCRFD/scrfd_500m_kps.onnx")  # scrfd人脸定位

# 人脸身份识别器
sess = onnxruntime.InferenceSession('../../model/MobileNetV2_onnx/IDRecognition.onnx')  # 通过onnx文件加载onnxruntime推理引擎

id_img_Dir = "../../data/id_dataset/"

在这里插入图片描述

修改后的代码:

import sys
import os
from pathlib import Path
curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]  
sys.path.append(rootPath)

from pathlib import Path

rootPath = str(Path(rootPath).parent)   #'F:\\IdentityDetection\\ID_recognition'
# 人脸检测器scrfd
scrfd_detetor = SCRFD(rootPath + "/model/SCRFD/scrfd_500m_kps.onnx")  # scrfd人脸定位
# 人脸身份识别器
sess = onnxruntime.InferenceSession(rootPath + '/model/MobileNetV2_onnx/IDRecognition.onnx')  # 通过onnx文件加载onnxruntime推理引擎

id_img_Dir = rootPath + "/data/id_dataset/"
Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐