Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Can';无法训练我自己的数据,因为KeyError:';高度';_Python_Numpy_Deep Learning_Keyerror_Faster Rcnn - Fatal编程技术网

Python Can';无法训练我自己的数据,因为KeyError:';高度';

Python Can';无法训练我自己的数据,因为KeyError:';高度';,python,numpy,deep-learning,keyerror,faster-rcnn,Python,Numpy,Deep Learning,Keyerror,Faster Rcnn,我有一个脑肿瘤分类的项目,但我处理这个错误大约3周,这是错误信息 错误: root:处理图像时出错{'id':'tumor-44.png','source':'脑膜炎', 'path':'D:\Belajar机器学习\Coba Mask Tumor\dataset\images\Tumor-44.png'} 回溯(最近一次呼叫最后一次): 文件“D:\Belajar机器学习\Coba Mask Tumor\mrcnn\model.py”,第1709行,在数据生成器use\u mini\u Mas

我有一个脑肿瘤分类的项目,但我处理这个错误大约3周,这是错误信息

错误:
root:处理图像时出错{'id':'tumor-44.png','source':'脑膜炎',
'path':'D:\Belajar机器学习\Coba Mask Tumor\dataset\images\Tumor-44.png'}
回溯(最近一次呼叫最后一次):
文件“D:\Belajar机器学习\Coba Mask Tumor\mrcnn\model.py”,第1709行,在数据生成器use\u mini\u Mask=config.use\u mini\u Mask中)
文件“D:\Belajar机器学习\Coba Mask Tumor\mrcnn\model.py”,第1212行,在load\u image\u gt
mask,class_id=dataset.load_mask(image_id)文件“tumor.py”,第228行,在load_mask中
掩码=np.零([info[“height”]、info[“width”]、len(info[“polygons”]),
KeyError:“高度”
我对那个错误消息感到非常困惑,有些人说,因为当我屏蔽图像时json文件有问题,因为没有使用多边形屏蔽,即使我已经使用多边形进行屏蔽

这就是我要加载JSON代码的地方:

DATASET\u PATH=os.PATH.abspath(“数据集”)
IMAGES\u PATH=os.PATH.sep.join([DATASET\u PATH,“IMAGES”])
ANNOT_PATH=os.PATH.sep.join([DATASET_PATH,“fix.json”])

这是
load\u掩码
代码:

def load_mask(self, imageID):

    # Convert polygons to a bitmap mask of shape
    # [height, width, instance_count]

     info = self.image_info[imageID]
     mask = np.zeros([info["height"], info["width"], len(info["polygons"])],
                     dtype=np.uint8)
     for i, p in enumerate(info["polygons"]):
         # Get indexes of pixels inside the polygon and set them to 1
         rr, cc = skimage.draw.polygon(p['all_points_y'], p['all_points_x'])

         ## Note that this modifies the existing array arr, instead of creating a result array
         ## Ref: https://stackoverflow.com/questions/19666626/replace-all-elements-of-python-numpy-array-that-are-greater-than-some-value
         rr[rr > mask.shape[0] - 1] = mask.shape[0] - 1
         cc[cc > mask.shape[1] - 1] = mask.shape[1] - 1

         mask[rr, cc, i] = 1

     return mask.astype(np.bool), np.ones([mask.shape[-1]], dtype=np.int32)
我已经成功地完成了训练,但我通过圆形蒙版实现了这一点,但我希望通过多边形蒙版实现这一点


谢谢。

你能分享数据或链接到它并引用哪个文件是有问题的吗?你有没有尝试用IDE检查json数据?一些IDE类似的括号会告诉你json数据是否格式不正确。你有没有?你缩小了错误范围了吗?似乎你正在使用的代码有问题,如果它与r一起工作的话ound掩蔽,而不是多边形掩蔽。对于代码的维护人员来说,可能值得一提git问题。或者高度与多边形掩蔽无关,而与圆形掩蔽相关?听起来我们手头没有足够的信息来提出解决方案。我想问题出在这段代码
mask=np.zero([info])[“高度”]、信息[“宽度”]、len(信息[“多边形”])、dtype=np.uint8)
,我已经尝试用
“所有点”更改
“高度”
“宽度”
仍然收到错误消息@AMC我正在使用代码并对其进行编辑@DavidParksWell是的,显然这就是错误出现的地方,我要说的是将事情首先偏离预期的区域隔离开来。