为了用EAST大模型测试图片中字体方向,需要使用torch和opencv,在使用中发现速度太慢,研究了一下如何使用GPU加速(N卡):
- 下载安装 NVIDIA CUDA下载页面
- 卸载原有的opencv:pip uninstall opencv-python opencv-contrib-python -y
- 从github上下载支持CUDA的 opencv-python: https://github.com/cudawarped/opencv-python-cuda-wheels/releases,并安装
- 从NVIDIA官网下载cuDNN
- 测试
如果在import cv2时出现DLL无法找到的问题,可以从 https://github.com/lucasg/Dependencies/releases 下载一个dependencies.exe ,导入 cv2.pyd 檔案(通常位於 .venv\Lib\site-packages\cv2\cv2.pyd),看看是哪个DLL不存在,我是缺了2个(cudnn64_9.dll和python3.dll),其中 cudnn64_9.dll位于 .venv\Lib\site-packages\torch\lib ,可以在import cv2之前,加两个dll查找路径:
# 1. 加入 torch 的 DLL 目錄 (解決 cudnn64_9.dll)
torch_dll_path = os.path.join(sys.prefix, 'Lib', 'site-packages', 'torch', 'lib')
if os.path.exists(torch_dll_path):
os.add_dll_directory(torch_dll_path)
# 2. 解決 python3.dll (如果 Dependencies 仍顯示缺失)
# 通常 python3.dll 位於 Python 安裝根目錄
python_home = os.path.dirname(sys.executable)
if os.path.exists(python_home):
os.add_dll_directory(python_home)