faster-rcnn网络数据集的获取逻辑

参考tf-faster-rcnn工程的layer.py函数,整体逻辑为:

  1. shuffle图片(roidb)顺序;
  2. 初始化batch的起始位置,读取配置文件中的batch(faster rcnn检测的batch为1);
  3. 根据起始位置和batch获得当前训练的图片;
  4. 迭代值起始位置等于图片总数时,重新shuffle图片顺序;
  5. 迭代值达到max_iters时停止读取数据;
  def __init__(self, roidb, num_classes, random=False):
    """Set the roidb to be used by this layer during training."""
    self._roidb = roidb
    self._num_classes = num_classes
    # Also set a random flag
    self._random = random
    self._shuffle_roidb_inds()

  def _shuffle_roidb_inds(self):
    """Randomly permute the training roidb."""
    # If the random flag is set, 
    # then the database is shuffled according to system time
    # Useful for the validation set
    if self._random:  #验证集时设置随机种子,保证shuffle的顺序一致
      st0 = np.random.get_state()
      millis = int(round(time.time() * 1000)) % 4294967295
      np.random.seed(millis)
    
    if cfg.TRAIN.ASPECT_GROUPING: #默认为False
      widths = np.array([r['width'] for r in self._roidb])
      heig
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值