PaddleSeg
PaddleSeg copied to clipboard
MedicalSeg的问题
训练的时候出现错误:
Traceback (most recent call last):
File "train.py", line 194, in
找了下_C_ops.py文件,没有sync_batch_norm的数据,
PaddlePaddle版本:(PaddlePaddle 2.3) 操作系统信息:(Ubuntu 18) Python版本号:(Python3.8) CUDA版本:( CUDA11.4)
I think this is the problem with the paddle version, try switching to paddle==2.2. Btw, did you switch the bn1 from BatchNorm3D to SyncBatchNorm? The error is located within SyncBatchNorm.If you did, I think changing back to BatchNorm3D will help as well.
But it is a bit odd that I cannot reproduce your error with different paddle versions or different BN. Maybe you can put forward an issue to Paddle as well.
解决了吗?我也报了同样的错误,怎么解决的
解决了吗?我也报了同样的错误,怎么解决的
没解决,后来一直没再用。
建议安装paddlepaddle2.4后重新尝试
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions.
_C_ops为paddle内部库,在paddleseg中bn1也就是BatchNorm3D自动转为SyncBN,从而forward计算落入syncbn函数中,但此处的报错说明syncbn对应的_C_ops函数不存在,说明使用的paddle版本中没有SyncBN的定义,可以1. 取消转换syncbn,或者2. 切换有syncbn的paddle版本。
转换syncbn的代码位置: https://github.com/PaddlePaddle/PaddleSeg/blob/19351bab9a824a8f96e1c1b527ec2d7db21309c9/contrib/MedicalSeg/medicalseg/cvlibs/config.py#L322