NiftyNet:指数超出界限错误

时间:2017-10-19 13:33:11

标签: python machine-learning tensorflow niftynet

我刚刚开始使用NiftyNet进行医学图像分割。为了开始使用该软件,我试图运行从Brats Challenge数据集(http://www.braintumorsegmentation.org/)中分割图像的演示。

我已经下载了Brats,数据,使用了rename_crop_brats,并设置了我的$ PYTHONPATH。但是,当我运行命令时:

python net_run.py train -c train_whole_tumor_sagittal.ini --app brats_segmentation.BRATSApp --name anisotropic_nets.wt_net.WTNet

我收到以下错误消息:

tensorflow.python.framework.errors_impl.InvalidArgumentError: Provided indices are out-of-bounds w.r.t. dense side with broadcasted shape

我不太确定我在这里搞砸了什么,欢迎任何建议。

1 个答案:

答案 0 :(得分:3)

此错误表示训练图像中的离散标签多于网络可输出的标签。在这里,似乎有超过2个标签,而这个网络被设置为进行二进制分类。

你能检查一下.ini文件中'histogram_ref_file'所指向的文件吗?它应该指向[niftynet] / demos / BRATS17目录中提供的,它对肿瘤掩码进行二值化。该文件应包含以下文本:

labellabelfrom 0 1 2 4
labellabelto 0 1 1 1

将所有肿瘤标签分配给1,将所有背景标签分配给0.如果您没有给出该文件的路径,网络将自动生成它,为训练图像提供4个离散类。

这可以解决问题吗?