1

我正在使用 Selective Sampler 对三个 CT 卷进行训练,以确保在 RoI 周围采集足够的样本(由于类不平衡)以及一些随机样本。我还通过缩放、旋转和翻转来扩充数据,这在创建样本时会花费大量时间。

将 sample_per_volume 设置为某个较大的值(例如 32768)并将 batch_size 设置为 128,看起来 NiftyNet 将对刚从第一卷中获取的 128 个样本进行 256 次迭代,然后切换到仅从第二卷中获取的样本(在损失)等等。我希望每批 128 个样本都是从所有训练卷中提取的样本的大致均匀混合。

我尝试将 sample_per_volume 设置为 batch_size 的大约 1/3,以便为每次迭代重新选择样本,但这会将每次迭代从 2 秒左右减慢到 50-60 秒。

我是不是误会了什么?或者有没有办法确保我的批次由来自所有训练数据的混合样本组成?谢谢。

4

1 回答 1

1

样本填充文件queue_length中给出的长度队列。.ini然后从队列中随机取出它们以填充批次。

我会让queue_length参数更大。然后它将填充来自几个不同主题的数据。

于 2018-06-27T16:38:08.543 回答