python3——解决MAC在import lightgbm时报错image not found

本文详细介绍了在MacOS上遇到import lightgbm时image not found错误的解决步骤,包括卸载现有lightgbm、安装cmake和gcc、确认gcc版本、下载lightgbm源码、配置编译器版本、创建并编译build文件夹,最后成功安装lightgbm。

网上有一堆解决import lightgbm报错image not found的帖子,但是很多帖子都写的不清不楚的,在踩了好多坑之后,我决定发一个详细的教程,解决这个问题。

在解决问题的之前,先来看一下自己的环境:

MacOS 10.14.6

Python3.7

以下是详细教程:

1、先把已经安装的lightgbm卸载:

pip uninstall LightGBM

2、然后安装两个cmake和gcc(如果没有brew不可用,请先安装brew):

brew install cmake
brew install gcc

3、确定自己安装的gcc版本:

cd /usr/local/opt/gcc/lib/gcc/

通过上面的命令进入了gcc文件夹,然后输入命令:

ls

上面的命令查看gcc文件夹下有那些文件,如果你看到7,说明你的版本是7;如果看到是8,那么说明你的版本是8;我的版本是9。这个非常重要,一定要确认清楚

4、从git上把lightgbm下载下来,下载的路径自己随便指定:

git clone --recursive https://github.com/Microsoft/LightGBM ; cd LightGBM

5、在第4步我们进入了下载好的LightGBM的文件夹内,此时我们执行如下:

export CXX=g++-9 CC=gcc-9

这里要特别注意,这个命令需要和自己

当在Yolov5训练遇到 'AssertionError: Image Not Found' 错误,可尝试以下解决方法: 1. **缓存文件处理**:删除数据集路径下的cache缓存文件,有缓存文件可能损坏或包含错误信息,删除后重新运行可能解决问题[^1]。 2. **路径问题排查**: - 检查路径是否包含中文或特殊字符,某些情况下,这些字符可能会导致路径解析错误。可将数据集移动到路径简单、不包含中文和特殊字符的位置,如 `C:/dataset/train`。 - 确认代码中读取图片的路径是否正确,确保路径分隔符使用正确,在Python中,Windows路径分隔符需要使用双反斜杠 `\\` 或原始字符串 `r'path'`。 3. **数据集问题检查**: - 虽然用户认为自己的数据集没问题,但仍需进一步验证。可以编写简单的Python脚本遍历数据集路径,检查所有图片文件是否能正常打开。示例代码如下: ```python import os from PIL import Image image_dir = 'C:/Users/Desktop/dataset/0530dataset_0627_0804/0530dataset_0627_0804/train/images' for root, dirs, files in os.walk(image_dir): for file in files: file_path = os.path.join(root, file) try: img = Image.open(file_path) img.verify() except Exception as e: print(f"Error opening {file_path}: {e}") ``` - 若使用的数据集是从其他格式转换而来,需确保转换过程正确。如使用WiderPerson数据集转换为yolo格式,要删除 `000040.jpg.txt` 文件和图片(该文件为乱码文件);若已转换为yolo格式,需将转换后的 `images`、`labels`、`train.txt`、`train_val.txt` 等文件中的 `000040` 图片及标签内容删除[^3]。 4. **权限问题**:确保运行代码的用户对数据集文件夹有读取权限。可以右键点击数据集文件夹,选择“属性”,在“安全”选项卡中检查并修改权限。 5. **库版本兼容性**:检查所使用的Python库版本是否与Yolov5兼容,如OpenCV、Pillow等库。可以尝试更新或降低这些库的版本,看是否能解决问题。
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值