Closed L-lei closed 3 years ago
错误信息: File "/paddleseg/core/train.py", line 161, in train avg_loss += loss.numpy()[0] OSError: (External) Cuda error(719), unspecified launch failure. [Advise: Please search for the error code(719) on website( https://docs.nvidia.com/cuda/archive/10.0/cuda-runtime-api/group__CUDART__TYPES.html#group__CUDART__TYPES_1g3f51e3575c2178246db0a94a430e0038 ) to get Nvidia's official solution about CUDA Error.] (at /paddle/paddle/fluid/platform/gpu_info.cc:394)
数据集的标签要求是灰度图,标签值为0, 1,2, ..., 如果不符合要求可以自己写程序另存一下哈。
基于我们的快速教程先进行试运行,没问题的条件下在按要求运行自己的数据集哈
报错信息比较懵,之前找也没找到类似错误,所以放在这里了;修改后跑程序倒是没问题
paddle版本v2 python版本3.7 标注工具labelme
原因1 使用tools/labelme2seg.py得到的label图像不能用np.asarray(Image.open(label))得到灰度图, 自己的数据用np.unique(label[:,:,0]),np.unique(label[:,:,1]),np.unique(label[:,:,2])查看得到B通道全0,G通道含0与类别颜色,R通道含0与类别颜色 optic_disc_seg数据查看得到B通道全0,G通道含0,R通道含0与类别颜色;并且类别从1开始 解决方式修改labelme2seg.py转换后只能R通道含0与类别颜色,BG通道为0
原因2 老版本静态图下正常,是因为老版本用label = fluid.layers.elementwise_min(label, fluid.layers.assign(np.array([num_classes - 1], dtype=np.int32)))处理得到正负分布
解决方式,可以在paddleseg/core/train.py文件148行调用loss_computation前加上labels=paddle.fluid.layers.elementwise_min( labels, paddle.fluid.layers.assign(np.array([num_classes - 1], dtype=np.int64)))