You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python代码中屏蔽torch与EasyOCR的CUDA、NNPACK运行警告

屏蔽EasyOCR与PyTorch相关警告的解决方案

你此前添加的os.environ["CUDA_VISIBLE_DEVICES"]=""配置无法解决问题,该配置的作用是主动禁用GPU设备,反而会提高CUDA不可用警告的触发概率。你可以按照以下步骤配置代码屏蔽两条警告:

警告来源说明

  • 第一条CUDA not available - defaulting to CPU. Note: This module is much faster with a GPU. 是EasyOCR库初始化时主动输出的运行提示
  • 第二条[W NNPACK.cpp:79] Could not initialize NNPACK! Reason: Unsupported hardware. 是PyTorch库加载时输出的硬件适配警告

解决方案

  • 所有环境变量配置必须放在导入torch、easyocr等第三方库之前,否则库加载完成后再修改环境变量不会生效
  • 初始化EasyOCR的Reader实例时添加verbose=False参数,即可关闭EasyOCR的所有运行时提示,包括CUDA不可用的提示
  • 添加PyTorch相关配置关闭NNPACK警告,你可以选择任意一种适用的配置:
    • 配置环境变量禁用NNPACK:os.environ["PYTORCH_ENABLE_NNPACK"] = "0"
    • 修改PyTorch日志级别,仅输出错误级别的信息:logging.getLogger("torch").setLevel(logging.ERROR)
    • 全局屏蔽所有Python警告:warnings.filterwarnings("ignore")

完整示例代码

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 所有环境变量、日志配置必须放在导入第三方库之前
import os
import logging
import warnings

# 禁用NNPACK
os.environ["PYTORCH_ENABLE_NNPACK"] = "0"
# 屏蔽PyTorch警告
logging.getLogger("torch").setLevel(logging.ERROR)
# 可选:全局屏蔽所有警告
warnings.filterwarnings("ignore")

# 再导入其他依赖
import cv2
import numpy as np
import easyocr
import sys
import requests

# 初始化EasyOCR时添加verbose=False关闭自带提示
reader = easyocr.Reader(['ch_sim', 'en'], verbose=False)

内容的提问来源于stack exchange,提问作者Dev Dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 19:06:03