news 2026/8/8 3:04:35

服务器运行easyocr报错Could not initialize NNPACK! Reason: Unsupported hardware.——解决方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
服务器运行easyocr报错Could not initialize NNPACK! Reason: Unsupported hardware.——解决方法

BG:

之前在另外一台离线服务器(虚拟机),相同的conda环境,运行脚本无报错;conda环境迁移后,使用相同的环境和代码(python==3.9.0 easyocr==1.7.2)运行脚本。

日志发现最后一行报错如下:

[2025-12-16 05:35:53] [WARNING] Neither CUDA nor MPS are available - defaulting to CPU. Note: This module is much faster with a GPU. [W1216 05:36:01.540097613 NNPACK.cpp:61] Could not initialize NNPACK! Reason: Unsupported hardware.

ps -ef | grep 查看py程序已经挂掉。


排查步骤:

1. 可能是easyocr有问题,但脚本执行没有问题;

(ocr) ubuntu@xcznmz-1112:/opt/lung_data$ python -<< 'EOF' >

import torch

> print("torch imported")

> x = torch.randn(2,3)

> y = torch.mm(x, x.T)

> print("torch mm ok")

> EOF

torch imported

torch mm ok

(ocr) ubuntu@xcznmz-1112:/opt/lung_data$ python -<< 'EOF' >

import easyocr

> reader = easyocr.Reader(['en'], model_storage_directory='./model', user_network_directory='./model', download_enabled =False, gpu =False)

> print("easyocr ok")

> EOF Using CPU. Note: This module is much faster with a GPU.

easyocr ok


2. github发现有相似报错,推荐降低torch版本

但是我是离线服务器,不好修改conda环境,不想动环境。


3. 排查CPU 指令集兼容性

lscpu | grep -E "Model name|Flags"

发现缺少CPU指令集 AVX,尝试脚本开头增加环境变量设置:

# @-*- coding: utf-8 -*-
import os
import sys
os.environ['NNPACK_DISABLE'] = '1'
os.environ['OMP_NUM_THREADS'] = '2' # 对于双核CPU
os.environ['MKL_NUM_THREADS'] = '2'
os.environ['OPENBLAS_NUM_THREADS'] = '2'
import resource resource.setrlimit(resource.RLIMIT_AS, (4 * 1024**3, 4 * 1024**3)) # 4GB虚拟内存限制

新的报错:


visit_date=2025-11-16 16:39:40, 错误=[enforce fail at alloc_cpu.cpp:117] err == 0. DefaultCPUAllocator: can't allocate memory: you tried to allocate 9437184 bytes. Error code 12 (Cannot allocate memory) Traceback (most recent call last): File "/opt/lung_data/lung_main.py", line 843, in process_patients result = ocr(record) File "/opt/lung_data/lung_main.py", line 285, in ocr reader_chi = easyocr.Reader(['ch_sim'], model_storage_directory='./model', user_network_directory='./model', download_enabled=False, gpu=False) File "/home/ubuntu/anaconda3/envs/ocr/lib/python3.9/site-packages/easyocr/easyocr.py", line 214, in __init__ self.detector = self.initDetector(detector_path) File "/home/ubuntu/anaconda3/envs/ocr/lib/python3.9/site-packages/easyocr/easyocr.py", line 271, in initDetector return self.get_detector(detector_path, File "/home/ubuntu/anaconda3/envs/ocr/lib/python3.9/site-packages/easyocr/detection.py", line 75, in get_detector net = CRAFT() File "/home/ubuntu/anaconda3/envs/ocr/lib/python3.9/site-packages/easyocr/craft.py", line 35, in __init__ self.basenet = vgg16_bn(pretrained, freeze) File "/home/ubuntu/anaconda3/envs/ocr/lib/python3.9/site-packages/easyocr/model/modules.py", line 27, in __init__ vgg_pretrained_features = models.vgg16_bn( File "/home/ubuntu/anaconda3/envs/ocr/lib/python3.9/site-packages/torchvision/models/_utils.py", line 142, in wrapper return fn(*args, **kwargs) File "/home/ubuntu/anaconda3/envs/ocr/lib/python3.9/site-packages/torchvision/models/_utils.py", line 228, in inner_wrapper return builder(*args, **kwargs) File "/home/ubuntu/anaconda3/envs/ocr/lib/python3.9/site-packages/torchvision/models/vgg.py", line 459, in vgg16_bn return _vgg("D", True, weights, progress, **kwargs) File "/home/ubuntu/anaconda3/envs/ocr/lib/python3.9/site-packages/torchvision/models/vgg.py", line 103, in _vgg model = VGG(make_layers(cfgs[cfg], batch_norm=batch_norm), **kwargs) File "/home/ubuntu/anaconda3/envs/ocr/lib/python3.9/site-packages/torchvision/models/vgg.py", line 81, in make_layers conv2d = nn.Conv2d(in_channels, v, kernel_size=3, padding=1) File "/home/ubuntu/anaconda3/envs/ocr/lib/python3.9/site-packages/torch/nn/modules/conv.py", line 521, in __init__ super().__init__( File "/home/ubuntu/anaconda3/envs/ocr/lib/python3.9/site-packages/torch/nn/modules/conv.py", line 166, in __init__ torch.empty( RuntimeError: [enforce fail at alloc_cpu.cpp:117] err == 0. DefaultCPUAllocator: can't allocate memory: you tried to allocate 9437184 bytes. Error code 12 (Cannot allocate memory)

尝试修改代码,EasyOCR Reader 只创建一次,但是仍然出现上述两个报错。


4. 尝试将新服务器启用host cpu,重启后,运行脚本虽然还是报
Could not initialize NNPACK! Reason: Unsupported hardware.
但是py脚本并没有挂掉——解决!

将脚本开头的环境变量注释掉,仍然正常运行,未出现脚本挂掉的情况

import os import sys os.environ['NNPACK_DISABLE'] = '1' # os.environ['OMP_NUM_THREADS'] = '1' # 单线程最稳定 # os.environ['MKL_NUM_THREADS'] = '1' # os.environ['OPENBLAS_NUM_THREADS'] = '1' import resource # resource.setrlimit(resource.RLIMIT_AS, (8 * 1024**3, 8 * 1024**3)) # 8GB虚拟内存限制
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/8 0:34:14

重磅!AI应用架构师力推的企业虚拟运营方案_副本

重磅&#xff01;AI应用架构师力推的企业虚拟运营方案关键词&#xff1a;企业虚拟运营、AI应用架构、数字孪生、智能决策系统、业务流程自动化、数据驱动运营、预测性分析摘要&#xff1a;在数字化转型的浪潮中&#xff0c;企业面临着运营成本高、决策滞后、创新速度慢等痛点。…

作者头像 李华
网站建设 2026/8/8 0:34:14

pose-search:人体动作分析与姿态搜索终极指南

pose-search&#xff1a;人体动作分析与姿态搜索终极指南 【免费下载链接】pose-search x6ud.github.io/pose-search 项目地址: https://gitcode.com/gh_mirrors/po/pose-search 在人工智能技术飞速发展的今天&#xff0c;实时姿态检测和动作搜索已成为计算机视觉领域的…

作者头像 李华
网站建设 2026/8/7 4:10:31

终极隐私保护方案:用Buzz实现完全离线的语音转文字

终极隐私保护方案&#xff1a;用Buzz实现完全离线的语音转文字 【免费下载链接】buzz Buzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper. 项目地址: https://gitcode.com/gh_mirrors/buz/buzz 还在为语音转文字工…

作者头像 李华
网站建设 2026/8/7 23:02:45

DTLN实时降噪技术:用AI算法打造纯净语音体验的完整指南

DTLN实时降噪技术&#xff1a;用AI算法打造纯净语音体验的完整指南 【免费下载链接】DTLN 项目地址: https://gitcode.com/gh_mirrors/dt/DTLN 在视频会议、语音通话成为日常的今天&#xff0c;背景噪音问题困扰着无数用户。DTLN&#xff08;双信号变换LSTM网络&#x…

作者头像 李华
网站建设 2026/8/7 23:01:24

移动端视频录制技术革新:基于MediaRecorder的高性能解决方案

移动端视频录制技术革新&#xff1a;基于MediaRecorder的高性能解决方案 【免费下载链接】WeiXinRecordedDemo 仿微信视频拍摄UI, 基于ffmpeg的视频录制编辑 项目地址: https://gitcode.com/gh_mirrors/we/WeiXinRecordedDemo 问题场景&#xff1a;为什么你的视频录制总…

作者头像 李华
网站建设 2026/8/7 2:53:14

EmotiVoice与RVC的区别是什么?一文讲清两者定位差异

EmotiVoice与RVC的区别是什么&#xff1f;一文讲清两者定位差异 在AI语音技术飞速发展的今天&#xff0c;我们经常看到“声音克隆”“情感合成”“变声翻唱”等关键词频繁出现。尤其是像 EmotiVoice 和 RVC&#xff08;Retrieval-based Voice Conversion&#xff09; 这类开源项…

作者头像 李华