首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能训练更快的rcnn

不能训练更快的rcnn
EN

Stack Overflow用户
提问于 2019-10-08 18:39:05
回答 1查看 447关注 0票数 1

我想构建自己更快的Rcnn模型,我从https://github.com/dBeker/Faster-RCNN-TensorFlow-Python3下载了一个示例

运行代码时出现错误,但我不知道原因

代码语言:javascript
复制
Traceback (most recent call last):
  File "C:/Users/l/Desktop/Faster-RCNN/train.py", line 216, in <module>
    train.train()
  File "C:/Users/l/Desktop/Faster-RCNN/train.py", line 148, in train
    blobs = self.data_layer.forward()
  File "C:\Users\l\Desktop\Faster-RCNN\lib\layer_utils\roi_data_layer.py", line 75, in forward
    blobs = self._get_next_minibatch()
  File "C:\Users\l\Desktop\Faster-RCNN\lib\layer_utils\roi_data_layer.py", line 71, in _get_next_minibatch
    return get_minibatch(minibatch_db, self._num_classes)
  File "C:\Users\l\Desktop\Faster-RCNN\lib\utils\minibatch.py", line 30, in get_minibatch
    im_blob, im_scales = _get_image_blob(roidb, random_scale_inds)
  File "C`enter code here`:\Users\l\Desktop\Faster-RCNN\lib\utils\minibatch.py", line 67, in _get_image_blob
    im, im_scale = prep_im_for_blob(im, cfg.FLAGS2["pixel_means"], target_size, cfg.FLAGS.max_size)
  File "C:\Users\l\Desktop\Faster-RCNN\lib\utils\blob.py", line 35, in prep_im_for_blob
    im = im.astype(np.float32, copy=False)
AttributeError: 'NoneType' object has no attribute 'astype'
EN

回答 1

Stack Overflow用户

发布于 2020-05-20 23:03:51

要构建自己的Faster RCNN Models,可以按照Official Tensorflow Github Repository中提到的说明进行操作。

遵循这些说明的好处是,如果您遇到任何问题,您可以在this Repo中提交问题,您将得到谷歌工程师的帮助。

为了社区的利益指定Github Repo中提到的步骤(只是在链接中断的情况下)。

定义新的更快的R-CNN或SSD特征提取器的

在大多数情况下,您可能不会从头开始实现DetectionModel -相反,您可以创建一个新的特征提取器,以供固态硬盘或更快的R-CNN元体系结构使用。(我们将元体系结构视为使用DetectionModel抽象定义整个模型系列的类)。

注意:为了让下面的讨论有意义,我们建议先熟悉一下Faster R-CNN白皮书。

现在让我们想象一下,你发明了一个全新的分类网络架构(比如“InceptionV100”),想看看InceptionV100如何作为检测的特征提取器(比如,使用更快的R-CNN)。类似的过程也适用于SSD型号,但我们将讨论更快的R-CNN。

要使用InceptionV100,我们必须定义一个新的FasterRCNNFeatureExtractor,并将其作为输入传递给我们的FasterRCNNMetaArch构造函数。有关FasterRCNNFeatureExtractorFasterRCNNMetaArch的定义,请参阅object_detection/meta_architectures/faster_rcnn_meta_arch.pyFasterRCNNFeatureExtractor必须定义几个函数:

  • preprocess:在输入image.
  • _extract_proposal_features:上运行检测器之前,对输入值运行任何必要的预处理提取第一阶段区域建议网络( features.
  • _extract_box_classifier_features:)提取第二阶段框分类器features.
  • restore_from_classification_checkpoint_fn:将检查点加载到Tensorflow图中。

请参阅object_detection/models/faster_rcnn_resnet_v1_feature_extractor.py定义作为一个示例。以下是一些备注:

  • 我们通常使用Slim Resnet-101 classification checkpoint中的权重来初始化此特征提取器的权重,并且我们知道,在训练此检查点时,会通过从每个输入图像中减去一个通道平均值来对图像进行预处理。因此,我们实现了预处理函数来复制相同的通道均值减法behavior.
  • The在slim中定义的“完整”resnet分类网络被分成两部分-除了最后一个“resnet块”之外的所有块都被放入_extract_proposal_features函数中,最后一个块在_extract_box_classifier_features函数中单独定义。通常,可能需要进行一些实验,以决定在哪一层将特征提取器“切割”成这两部分,以获得更快的R-CNN。

有关更多信息,请参阅this link和适用于Tensorflow Models的Github回购。

希望这能有所帮助。祝您学习愉快!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58284744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档