0

NiftyNet用来处理MRI图像。似乎主程序只有两个选项:

  1. train,根据训练集更新权重;
  2. 推断,预测。

我想调整我的hyperparameters使用validation集,有什么方便的方法来计算dice_loss验证集的值吗?我知道有 dice_loss 计算函数,但从那里开始可能会很痛苦......

任何建议将被认真考虑!

4

1 回答 1

1

要获得大致的想法,您可以使用验证监控功能。如果将数据集拆分为训练、验证和测试(使用exclude_fraction_for_validationandexclude_fraction_for_inference字段或使用预定义的csv 文件),则可以使用and参数dataset_split_file计算整个训练过程中验证的批量损失。validate_every_nvalidation_max_iter

在下一个版本(以及 repo 上的 dev 分支)中,有一个名为评估的新操作,它允许您在推理后在输出上运行计算指标(包括 Dice)

您需要在配置文件中添加 [EVALUATION] 标题,并在运行推理操作后使用评估操作。它将在 MODEL_DIR/evaluation 中创建 csv 文件,其中包含每个主题的指标并在数据集上聚合。

默认情况下,它假设您要评估测试集(如果您使用过exclude_fraction_for_inferenceor dataset_split_file)或所有数据(否则)。要将其用于验证集,(1) 使用额外参数 --dataset_to_infer=Validation 运行推理,然后 (2) 使用额外参数 --dataset_to_infer=Validation 运行评估。

于 2018-02-14T12:23:09.817 回答