我用NiftyNet来解决分割问题。要从卷中获取样本,可以使用此选项Sample_per_volume。
注意:当我将样本位置设置为"1“时,我注意到不只是从一个卷中获取一个样本,而是在每次迭代中从一个图像中获取一个样本。
假设:如果这是真的,那么最好将Sample_per_volume设置为1,以便对抽样过程进行最佳随机化。
问:我的观察对吗?如果是的话,假设是对的吗?那么,如果最好的选项总是"1“,那么为什么存在这个选项呢?
发布于 2018-04-18 10:37:32
sample_per_volume的动机来自于一些医学图像可能很大,因此神经网络训练的瓶颈是磁盘上的i/o。在这种情况下,为了提高效率,每个卷可以获得多个样本。
正如您注意到的,虽然这并不十分理想,但是有几个缓解因素。首先,可以将queue_length参数设置为更高。这意味着一次加载几个补丁,然后随机输入训练。另外,由于许多三维神经网络使用的是补丁而不是整幅图像,同一卷中的两个补丁甚至可能不重叠,因此对于小块来说,从给定的卷中获取大量内容是非常有意义的。
所以,tl;dr:最好的选择并不总是'1‘,因为加载数据可能很昂贵。
https://stackoverflow.com/questions/49620177
复制相似问题