我NiftyNet
用来处理MRI
图像。似乎主程序只有两个选项:
- train,根据训练集更新权重;
- 推断,预测。
我想调整我的hyperparameters
使用validation
集,有什么方便的方法来计算dice_loss
验证集的值吗?我知道有 dice_loss 计算函数,但从那里开始可能会很痛苦......
任何建议将被认真考虑!
我NiftyNet
用来处理MRI
图像。似乎主程序只有两个选项:
我想调整我的hyperparameters
使用validation
集,有什么方便的方法来计算dice_loss
验证集的值吗?我知道有 dice_loss 计算函数,但从那里开始可能会很痛苦......
任何建议将被认真考虑!
要获得大致的想法,您可以使用验证监控功能。如果将数据集拆分为训练、验证和测试(使用exclude_fraction_for_validation
andexclude_fraction_for_inference
字段或使用预定义的csv 文件),则可以使用and参数dataset_split_file
计算整个训练过程中验证的批量损失。validate_every_n
validation_max_iter
在下一个版本(以及 repo 上的 dev 分支)中,有一个名为评估的新操作,它允许您在推理后在输出上运行计算指标(包括 Dice)
您需要在配置文件中添加 [EVALUATION] 标题,并在运行推理操作后使用评估操作。它将在 MODEL_DIR/evaluation 中创建 csv 文件,其中包含每个主题的指标并在数据集上聚合。
默认情况下,它假设您要评估测试集(如果您使用过exclude_fraction_for_inference
or dataset_split_file
)或所有数据(否则)。要将其用于验证集,(1) 使用额外参数 --dataset_to_infer=Validation 运行推理,然后 (2) 使用额外参数 --dataset_to_infer=Validation 运行评估。