Open xinsuinizhuan opened 2 years ago
clas当然是验证过的。 gpu推理可以正常运行吗?看你用的paddle inference是自己编译的? 另外贴下具体的model.yml,看下具体的预处理和模型信息。和运行命令
paddle inference是直接官网下载的: model.yml文件: Model: MobileNetV2 Transforms:
其中的labels,是二级目标,而最后推理时, 这lables读取失败 我直接自己写了个yml文件,只有lables的: 然后,就对了。
同样的目标检查导出的model.yml文件: Model: PicoDet Transforms:
而代码中读取时为:
而model.yml中根本没有arch等关键字,labels:也是二级目标 我自己修改了个yml: 这样也就对了
目标分割的也是,导出的model.yml为: Model: DeepLabV3P Transforms:
里面是包含了version: 2.1.0但是,最后读取时,用的配置文件中没有version,一看是配置文件不是直接用的导出的 我自己修改和加了字段,重新修改了yml: 也对了
所以,现在来看,paddleX直接导出的model.yml是不能直接用paddleX下的cpp推理的,不能正确读取model.yml,也不知道是代码问题,还是model.yml的问题。您最好对照我说的,检查一下,看到底是哪儿的问题。
咋样,我上面那样改,只是不报错了,但是推理是错的,感觉没有做transform? 着急,能不能帮忙给看看
你的运行命令是不是敲错了?
paddlex导出的模型,在运行的时候--model_type 要传paddlex
。我看你截图的这些代码都走到PaddleSeg
和PaddleDetection
了,会走到这两个地方是因为你--model_type传的是det
或seg
。
你执行exe的时候,具体的命令是怎样的?
paddlex
这个type传啥?不是,目标检测的传det,目标分割的传seg,目标分类的传cls,实例分割的传mask?
你的运行命令是不是敲错了? paddlex导出的模型,在运行的时候--model_type 要传
paddlex
。我看你截图的这些代码都走到PaddleSeg
和PaddleDetection
了,会走到这两个地方是因为你--model_type传的是det
或seg
。 你执行exe的时候,具体的命令是怎样的?
另外,我提的问题,都是init这个cfg model.yml里面的解析的问题,跟这个type有关系不? 乱了。我也不知道咋用了。
你的运行命令是不是敲错了? paddlex导出的模型,在运行的时候--model_type 要传
paddlex
。我看你截图的这些代码都走到PaddleSeg
和PaddleDetection
了,会走到这两个地方是因为你--model_type传的是det
或seg
。 你执行exe的时候,具体的命令是怎样的? 我现在的问题是,只要是paddleX导出的模型,model.yml,使用cpp里面的代码解析的时候,很多地方不对应的问题,就比如,目标检查里面,解析model.yml的时候,要一个arch字段,但是导出的model.yml根本没有这个字段;分割的时候,要个version字段,但是model.yml里面是有version字段,但是最后用的是新建的一个node字段。我觉得跟type没关系吧
cpp推理clas 使用paddelx-gui训练的模型,导出的 cpu推理 paddle版本: GIT COMMIT ID: 1e62c239d323354eccfc974d4e2e6496f93d848e WITH_MKL: ON WITH_MKLDNN: ON WITH_GPU: OFF WITH_ROCM: OFF CXX compiler version: 19.16.27045.0