PaddleX icon indicating copy to clipboard operation
PaddleX copied to clipboard

使用PaddleX训练自己的目标检测模型报错

Open dilsm56-github opened this issue 6 months ago • 6 comments

Checklist:

描述问题

复现

  1. 您使用的命令是? 见下方图片
  2. 您使用的数据集是? det_coco_examples
  3. 请提供您出现的报错信息及相关log

Image

环境

  1. 请提供您使用的PaddleX的版本号 PaddleX-release-3.0
  2. 请提供您使用的操作系统信息,如Linux/Windows/MacOS windows
  3. 请问您使用的Python版本是 Python 3.12.3

dilsm56-github avatar Jun 04 '25 09:06 dilsm56-github

您好,可以在本地cd 到 "D:\Work\Paddlex\Exe\runtime\PaddleX-release-3.0\paddlex\utils\config.py 文件里,把 67 行的 yaml_config = AttrDict(yaml.load(fopen, Loader=yaml.SafeLoader)) 改成 yaml_config = AttrDict(yaml.load(fopen, Loader=yaml.SafeLoader, encoding='UTF-8')) 试试呢? Image

liuhongen1234567 avatar Jun 04 '25 13:06 liuhongen1234567

您好,可以在本地cd 到 "D:\Work\Paddlex\Exe\runtime\PaddleX-release-3.0\paddlex\utils\config.py 文件里,把 67 行的 yaml_config = AttrDict(yaml.load(fopen, Loader=yaml.SafeLoader)) 改成 yaml_config = AttrDict(yaml.load(fopen, Loader=yaml.SafeLoader, encoding='UTF-8')) 试试呢? Image

Image

dilsm56-github avatar Jun 05 '25 01:06 dilsm56-github

您好,我这边看了一下源码,这里paddlex读取yaml的时候默认就是utf8编码了,之前改的有问题,可以把encoding 那个字段去掉了,感觉还是命令有问题,-c 后面跟模型权重有些奇怪,另外换行时候为什么有^ 这个符号?训练命令改成下面这样,去掉换行符呢。

python main.py -c paddlex/configs/modules/object_detection/PicoDet-S.yaml   -o Global.mode=train   -o Global.dataset_dir=./dataset/det_coco_examples -o Train.pretrain_weight_path="-c后面的模型路径"

liuhongen1234567 avatar Jun 05 '25 10:06 liuhongen1234567

您好,我这边看了一下源码,这里paddlex读取yaml的时候默认就是utf8编码了,之前改的有问题,可以把encoding 那个字段去掉了,感觉还是命令有问题,-c 后面跟模型权重有些奇怪,另外换行时候为什么有^ 这个符号?训练命令改成下面这样,去掉换行符呢。

python main.py -c paddlex/configs/modules/object_detection/PicoDet-S.yaml -o Global.mode=train -o Global.dataset_dir=./dataset/det_coco_examples -o Train.pretrain_weight_path="-c后面的模型路径"

您好,问题的关键是我引用的ymal文件不对,所以导致才出现UTF-8的问题,那个^符号是换行的意思啊,我用的是.bat格式的文件呢

dilsm56-github avatar Jun 07 '25 01:06 dilsm56-github

我这边复现出来你那边的错误了,你仔细看看你的命令,根本就没有传配置文件,传的是一个权重路径。我现在的命令才是正确的

python main.py -c paddlex/configs/modules/object_detection/PicoDet-S.yaml -o Global.mode=train -o Global.dataset_dir=./dataset/det_coco_examples -o Train.pretrain_weight_path="-c后面的模型路径"

liuhongen1234567 avatar Jun 12 '25 13:06 liuhongen1234567

-c 后面传入的是配置文件,不是权重路径,你yaml文件都没有,怎么可能是yaml文件不对了。

liuhongen1234567 avatar Jun 12 '25 13:06 liuhongen1234567

The issue has no response for a long time and will be closed. You can reopen or new another issue if are still confused.


From Bot

TingquanGao avatar Jul 14 '25 03:07 TingquanGao