我正在尝试让 easyocr 在树莓派 4 上运行,并且可以使用一些建议或帮助。我使用的是 5 月 7 日至 2021 年的 64 位版本 (2021-05-07-raspios-buster-arm64.zip)。当我进行全新的操作系统安装时,我执行以下命令:
sudo vi /etc/dphys-swapfile # change swapfile to 2GB
sudo raspi-config # expand the filesystem to use the entire SD card
sudo apt-get update #
sudo apt-get upgrade #
sudo apt autoremove # The following packages will be REMOVED: python-colorzero
sudo python -m pip install --upgrade pip # upgrade pip
sudo pip3 install --upgrade pip # upgrade pip3
sudo python3 -m pip install numpy --upgrade # upgrade numpy
sudo python3 -m pip install easyocr # install easyocr
我打开一个 python3 编辑器并执行以下命令:
import cv2
import torch
import easyocr
reader = easyocr.Reader(['en'])
results = reader.readtext('/home/pi/Downloads/Calibration.bmp')
最后一条命令导致非法指令错误。我认为 openCV 可能是罪魁祸首,所以我从源代码编译它并再次尝试。我得到了同样的错误。我尝试过使用 32 位构建,但 Torch 需要 64 位才能工作。我在 Windows 64 位机器上通过 Anaconda 尝试了相同的序列和代码,它可以正常工作。
我接下来的两次尝试将是从 source 构建 easyocr 和/或 torch,但我在这里抓住了稻草。我真的不知道如何找出是什么软件导致了非法指令,所以我可以磨练那个包。我会很感激任何关于我可以做些什么来获得更多信息的想法或关于我可以尝试什么的想法。
谢谢一堆。
[编辑]我安装了 python3-dbg,所以我可以在 gdb 下运行应用程序。当我这样做时,我得到的错误是
Thread 1 "python3-dbg" received signal SIGILL, Illegal instruction. 0x0000ffffe4189fc8 in exec_blas () from
/home/[USER]/.local/lib/python3.8/site-packages/torch/lib/libtorch_cpu.so
[EDIT2]我找到了一个 git hub 存储库,它为像我这样有非法指令错误的人创建轮文件 (WHL)。 到目前为止,它没有帮助。我尝试了一些,但将使用更系统的方法。看看我能不能找到合适的组合。