1

我正在使用NiftyNet分割问题。要从卷中获取样本,有此选项Sample_per_volume

观察:当我将其设置为“1”时监控样本位置时,我注意到不是只从一个体积中获取一个样本,而是更像是每次迭代从一张图像中获取一个样本。

假设:如果这是真的,那么最好设置Sample_per_volume为 1 以便最好地随机化采样过程。

问:我的观察对吗?如果是这样,假设正确吗?那么,如果最佳选项始终为“1”,为什么该选项存在?

4

1 回答 1

1

其动机sample_per_volume来自于一些医学图像可能非常大,因此神经网络训练的瓶颈是磁盘的 i/o。在这种情况下,为了提高效率,最好在每个体积中获取多个样本。

正如您所指出的,虽然这不是很理想,但有几个缓解因素。首先,您可以将queue_length参数设置得更高。这意味着一次加载几个补丁,然后随机输入到训练中。此外,由于许多 3-d 神经网络使用补丁而不是整个图像,来自同一体积的 2 个补丁甚至可能不会重叠,因此对于小补丁来说,从给定的体积中抓取很多是很有意义的。

所以,tl; dr:最好的选择并不总是“1”,因为加载数据可能很昂贵。

于 2018-04-18T10:37:32.060 回答