标签: object-detection-api

提前停止 Tensorflow 对象检测 API

正如标题所示,是否有办法在 TF 对象检测 API 上实现提前停止?

我在对象检测的 github 上的这个线程https://github.com/tensorflow/models/issues/5887中读到,有一个用于早期停止的存储库https://github.com/hongym7/early_stopping。但这是 TF1 的旧版本,我使用 TF2

有什么办法可以实现提前停止吗model_main_tf2.py?我花了几个小时阅读代码,但我没有看到任何地方可以实现提前停止。

这是训练模型的脚本的链接 https://github.com/tensorflow/models/blob/master/research/object_detection/model_main_tf2.py

python object-detection tensorflow object-detection-api tensorflow2.0

5
推荐指数
1
解决办法
1352
查看次数

使用对象检测 api 进行的训练未在 AI Platform 中的 GPU 上运行

我正在尝试在 Tensorflow 2 对象检测 api 中运行一些模型的训练。

我正在使用这个命令:

gcloud ai-platform jobs submit training segmentation_maskrcnn_`date +%m_%d_%Y_%H_%M_%S` \
    --runtime-version 2.1 \
    --python-version 3.7 \
    --job-dir=gs://${MODEL_DIR} \
    --package-path ./object_detection \
    --module-name object_detection.model_main_tf2 \
    --region us-central1 \
    --scale-tier CUSTOM \
    --master-machine-type n1-highcpu-32 \
    --master-accelerator count=4,type=nvidia-tesla-p100 \
    -- \
    --model_dir=gs://${MODEL_DIR} \
    --pipeline_config_path=gs://${PIPELINE_CONFIG_PATH}
Run Code Online (Sandbox Code Playgroud)

训练作业已成功提交,但当我在 AI 平台上查看提交的作业时,我发现它没有使用 GPU! 在此输入图像描述

另外,在查看我的训练作业日志时,我注意到在某些情况下它无法打开 cuda。它会这样说:

Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda/extras/CUPTI/lib64:/usr/local/cuda/lib64:/usr/local/nvidia/lib64
Run Code Online (Sandbox Code Playgroud)

几个月前我正在使用 AI 平台进行训练,并且很成功。不知道现在有什么变化!事实上,对于我自己的设置来说,没有任何改变。

作为记录,我现在正在训练 Mask RCNN。几个月前,我训练了 Faster RCNN …

object-detection tensorflow object-detection-api gcp-ai-platform-training google-ai-platform

5
推荐指数
1
解决办法
399
查看次数

cfg.MODEL.ROI_HEADS.SCORE_THRESH_TEST = 0.5 在 detectorron2 中做什么?

希望你做得很好!

我不太明白 detectorron2 colab 笔记本教程中的这两行,我尝试查看官方文档,但我不太明白,有人可以向我解释一下吗:

cfg.MODEL.ROI_HEADS.SCORE_THRESH_TEST = 0.5  # set threshold for this model
# Find a model from detectron2's model zoo. You can use the https://dl.fbaipublicfiles... url as well
cfg.MODEL.WEIGHTS = model_zoo.get_checkpoint_url("COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml")
Run Code Online (Sandbox Code Playgroud)

我预先感谢您并祝您度过愉快的一天!

python object-detection-api detectron

5
推荐指数
1
解决办法
5548
查看次数

如何从 json 注释图像制作 tfrecords

我已经使用 tensorflow object detection-api 来训练我自己的对象检测器。但当时,图像是使用labelimg注释的,它为每个图像创建 xml 文件。现在我得到了每个图像都有 json 文件的标记图像。那么如何我使用这些 json 文件来创建 tfrecords。

python json object-detection tensorflow object-detection-api

4
推荐指数
1
解决办法
6671
查看次数

ImportError:没有名为absl.testing的模块

我一直在尝试运行Object detection API,以测试安装是否有效:

python object_detection/builders/model_builder_test.py
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

    File "object_detection/builders/model_builder_test.py", line 18, in <module>
    from absl.testing import parameterized
ImportError: No module named absl.testing
Run Code Online (Sandbox Code Playgroud)

我无法在任何地方找到解决方案.已经尝试pip install absl-pypip3 install absl-py,但没有成功.希望你能帮助我.

python object-detection tensorflow object-detection-api

4
推荐指数
1
解决办法
6501
查看次数

如何在 TF 对象检测 API 中指定要“微调”的层?

我使用https://github.com/tensorflow/models/blob/master/research/object_detection/samples/configs/ssd_mobilenet_v1_pets.config 上的 ssd_mobilenet_v1_pets.config 配置按照 TF 对象检测 API 教程页面上的步骤进行操作

我能够使用自己的图像训练自定义检测器,这非常酷。然而,由于整个训练过程在我看来是一个“黑匣子”,我想知道如何配置要微调的层,就像如何使用 tensorflow 中的 Inception 模型配置要重新训练的层一样/凯拉斯。

我认为,如果我有 10000 张图像而不是 100 张图像,则要微调的图层可能(应该)不同。

tensorflow object-detection-api

4
推荐指数
1
解决办法
1554
查看次数

使用数据增强和对象检测生成的图像数量

我试图在文档、代码和这里搜索答案,但我没有运气。我想知道使用 Tensorflow 中的对象检测 API 进行数据增强生成的图像的最终数量是多少。为了清楚起见,我举了一个例子:假设我有一个包含 2 个类的数据集,每个类最初都有 50 张图像。然后我应用这个配置:

  data_augmentation_options {
    ssd_random_crop {
    }
  }

  data_augmentation_options {
    random_rgb_to_gray {
    }
  }

  data_augmentation_options {
    random_distort_color {
    }
  }

  data_augmentation_options {
    ssd_random_crop_pad_fixed_aspect_ratio {
    }
  }
Run Code Online (Sandbox Code Playgroud)

我如何知道为训练我的模型而生成的最终图像数量?(如果有办法)。顺便说一句,我正在使用 model_main.py 来训练我的模型。

提前致谢。

tensorflow object-detection-api

4
推荐指数
1
解决办法
484
查看次数

SSD Mobilenet模型无法检测到更长距离的物体

我已经使用自定义数据集(电池)训练了SSD Mobilenet模型。电池的示例图像在下面给出,并且还附带了我用来训练模型的配置文件。

样品电池图像

当物体离摄像机更近(通过网络摄像头测试)时,它可以以0.95以上的概率准确地检测到物体,但是当我将物体移到更长的距离时,它不会被检测到。通过调试,发现该对象被检测到,但概率较低,为0.35。最小阈值设置为0.5。如果将阈值0.5更改为0.2,则将检测到对象,但是会有更多的错误检测。

参照此链接,SSD对于小物体的性能不佳,替代解决方案是使用FasterRCNN,但该模型的实时性非常慢。我也希望使用SSD从更长的距离检测电池。

请帮我以下

  1. 如果要以较高的概率检测距离较远的对象,是否需要在配置中更改纵横比和缩放参数?
  2. 如果要纵横比,该如何选择与对象相对应的那些值?

solid-state-drive object-detection tensorflow object-detection-api mobilenet

4
推荐指数
1
解决办法
751
查看次数

TensorFlow 对象检测 API 评估训练性能

我一直在我自己的数据集上使用Tensorflow Object Detection API。在训练时,我想知道神经网络从训练集中学习的情况如何。因此,我想对训练集和评估集进行评估,并在训练期间分别获得准确率 (mAP)。

我的配置文件:

model {
  faster_rcnn {
    num_classes: 50
    image_resizer {
      fixed_shape_resizer {
        height: 960
        width: 960
      }
    }
    number_of_stages: 3
    feature_extractor {
      type: 'faster_rcnn_resnet101'
      first_stage_features_stride: 8
    }
    first_stage_anchor_generator {
      grid_anchor_generator {
        scales: [0.25, 0.5, 1.0, 2.0]
        aspect_ratios: [0.5, 1.0, 2.0]
        height_stride: 8
        width_stride: 8
      }
    }
    first_stage_atrous_rate: 2
    first_stage_box_predictor_conv_hyperparams {
      op: CONV
      regularizer {
        l2_regularizer {
          weight: 0.0
        }
      }
      initializer {
        truncated_normal_initializer {
          stddev: 0.00999999977648
        }
      }
    }
    first_stage_nms_score_threshold: 0.0
    first_stage_nms_iou_threshold: 0.699999988079
    first_stage_max_proposals: …
Run Code Online (Sandbox Code Playgroud)

python machine-learning object-detection tensorflow object-detection-api

4
推荐指数
1
解决办法
2584
查看次数

“tensorflow.python.framework.errors_impl.FailedPreconditionError”同时运行“model_main_tf2.py”以在tensorflow中训练对象检测模型

很多人也遇到过这个问题,但似乎总是因为命令行参数中的一些错误而发生

这是我正在运行的命令

!python "/content/drive/My Drive/Tensorflow/models/research/object_detection/model_main_tf2.py" --model_dir="/content/drive/My Drive/Tensorflow/ssd_mobilenet_v2_fpnlite_320x320_coco17_tpu-8" --pipeline_config_path="/content/drive/My Drive/Tensorflow/ssd_mobilenet_v2_fpnlite_320x320_coco17_tpu-8/pipeline.config"
Run Code Online (Sandbox Code Playgroud)

里面似乎没有任何错误。

这是堆栈跟踪

    Traceback (most recent call last):
  File "/content/drive/My Drive/Tensorflow/models/research/object_detection/model_main_tf2.py", line 113, in <module>
    tf.compat.v1.app.run()
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/platform/app.py", line 40, in run
    _run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
  File "/usr/local/lib/python3.6/dist-packages/absl/app.py", line 300, in run
    _run_main(main, args)
  File "/usr/local/lib/python3.6/dist-packages/absl/app.py", line 251, in _run_main
    sys.exit(main(argv))
  File "/content/drive/My Drive/Tensorflow/models/research/object_detection/model_main_tf2.py", line 110, in main
    record_summaries=FLAGS.record_summaries)
  File "/usr/local/lib/python3.6/dist-packages/object_detection/model_lib_v2.py", line 630, in train_loop
    manager.save()
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/training/checkpoint_management.py", line 819, in save
    self._record_state()
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/training/checkpoint_management.py", line 728, in _record_state
    save_relative_paths=True)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/training/checkpoint_management.py", line …
Run Code Online (Sandbox Code Playgroud)

python-3.x tensorflow object-detection-api tensorflow2.0

4
推荐指数
1
解决办法
1150
查看次数