object_detection tensorflow api は特定の画像寸法を使用しますか?

ArjanSchouten

私が使用しobject_detectionをtensorflowモデルリポジトリから。

非常に具体的な画像を使用して、独自のデータセットでトレーニングしたいと考えています。私が持っている画像には特定のサイズがなく、大きく異なります。

私が得るエラーは次のとおりです。

InvalidArgumentError (see above for traceback): ConcatOp : Dimensions of inputs should match: shape[0] = [1,1446,1024,3] vs. shape[1] = [1,1449,1024,3]
     [[Node: concat_1 = ConcatV2[N=8, T=DT_FLOAT, Tidx=DT_INT32, _device="/job:localhost/replica:0/task:0/gpu:0"](Preprocessor/sub, Preprocessor_1/sub, Preprocessor_2/sub, Preprocessor_3/sub, Preprocessor_4/sub, Preprocessor_5/sub, Preprocessor_6/sub, Preprocessor_7/sub, concat_1/axis)]]
     [[Node: MultiClassNonMaxSuppression_1/Equal/_3597 = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/cpu:0", send_device="/job:localhost/replica:0/task:0/gpu:0", send_device_incarnation=1, tensor_name="edge_17245_MultiClassNonMaxSuppression_1/Equal", tensor_type=DT_BOOL, _device="/job:localhost/replica:0/task:0/cpu:0"]()]]

完全な出力はpastebin にあります。

以下は私が使用した構成です。

# Faster R-CNN with Resnet-50 (v1), configured for Oxford-IIT Pets Dataset.
# Users should configure the fine_tune_checkpoint field in the train config as
# well as the label_map_path and input_path fields in the train_input_reader and
# eval_input_reader. Search for "PATH_TO_BE_CONFIGURED" to find the fields that
# should be configured.

model {
  faster_rcnn {
    num_classes: 16
    image_resizer {
      keep_aspect_ratio_resizer {
        min_dimension: 600
        max_dimension: 1024
      }
    }
    feature_extractor {
      type: 'faster_rcnn_resnet50'
      first_stage_features_stride: 16
    }
    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: 16
        width_stride: 16
      }
    }
    first_stage_box_predictor_conv_hyperparams {
      op: CONV
      regularizer {
        l2_regularizer {
          weight: 0.0
        }
      }
      initializer {
        truncated_normal_initializer {
          stddev: 0.01
        }
      }
    }
    first_stage_nms_score_threshold: 0.0
    first_stage_nms_iou_threshold: 0.7
    first_stage_max_proposals: 300
    first_stage_localization_loss_weight: 2.0
    first_stage_objectness_loss_weight: 1.0
    initial_crop_size: 14
    maxpool_kernel_size: 2
    maxpool_stride: 2
    second_stage_box_predictor {
      mask_rcnn_box_predictor {
        use_dropout: false
        dropout_keep_probability: 1.0
        fc_hyperparams {
          op: FC
          regularizer {
            l2_regularizer {
              weight: 0.0
            }
          }
          initializer {
            variance_scaling_initializer {
              factor: 1.0
              uniform: true
              mode: FAN_AVG
            }
          }
        }
      }
    }
    second_stage_post_processing {
      batch_non_max_suppression {
        score_threshold: 0.0
        iou_threshold: 0.6
        max_detections_per_class: 100
        max_total_detections: 300
      }
      score_converter: SOFTMAX
    }
    second_stage_localization_loss_weight: 2.0
    second_stage_classification_loss_weight: 1.0
  }
}

train_config: {
  batch_size: 8
  optimizer {
    momentum_optimizer: {
      learning_rate: {
        manual_step_learning_rate {
          initial_learning_rate: 0.0003
          schedule {
            step: 0
            learning_rate: .0003
          }
          schedule {
            step: 900000
            learning_rate: .00003
          }
          schedule {
            step: 1200000
            learning_rate: .000003
          }
        }
      }
      momentum_optimizer_value: 0.9
    }
    use_moving_average: false
  }
  gradient_clipping_by_norm: 10.0
  data_augmentation_options {
    random_horizontal_flip {
    }
  }
}

train_input_reader: {
  tf_record_input_reader {
    input_path: "train.record"
  }
  label_map_path: "label_map.pbtxt"
}

eval_config: {
  num_examples: 200
}

eval_input_reader: {
  tf_record_input_reader {
    input_path: "val.record"
  }
  label_map_path: "label_map.pbtxt"
}

質問 1 : 検出 API は入力画像に特定のサイズを必要としますか?

質問 2 : このエラーが発生する理由は何ですか? エラーを修正するにはどうすればよいですか?

私がすでに試したことは、すべての画像に 1024px と 500px の幅を与えることです。

私が取った手順:

  1. 私が作成したcreate_record.pyファイルをしてtrain.recordとval.recordファイルを作成しました。
  2. train.py を実行しましたが、上記のエラーで失敗しました。

1 つの Nvidia GPU を備えた Ubuntu 16.04 で python 3.5.2 を使用しています。

ArjanSchouten

batch_size を 1 に変更することで問題を解決しました。

問題は、テンソルのサイズが画像ごとに異なることです。同じサイズの画像がある場合は、batch_size を高く設定できます。そうではないので、batch_size を 1 に設定する必要があります。

したがって、その答えは、batch_size が 1 である限り、API はさまざまなディメンションを処理できるということです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Tensorflow object_detection: 入力テンソルと出力テンソルが見つかりません

分類Dev

Overfitting in Tensorflow Object detection API

分類Dev

TensorFlow Object Detection API:評価mAPは奇妙に動作しますか?

分類Dev

Tensorflow Object Detection APIを使用して、画像内の小さなオブジェクトを検出します

分類Dev

Tensorflow Object Detection API model for use in TensorFlow.js

分類Dev

Tensorflow Object Detection APIは、損失値のみを表示します。mAP値を取得する方法は?

分類Dev

Tensorflow Object-Detection API-モデルの微調整はどのように機能しますか?

分類Dev

Tensorflow 2 Object Detection API-K-Fold Cross Validationを使用できますか/使用する必要がありますか?

分類Dev

Convert Tensorflow models from Object Detection API to uff

分類Dev

Store Tensorflow object detection API image output with boxes in CSV format

分類Dev

How to only detect humans in object detection API Tensorflow

分類Dev

Tensorflow Object Detection API Data Augmentation Bounding Boxes

分類Dev

Tensorflow Object Detection API-実際にtest.recordは何に使用されていますか?

分類Dev

TensorFlow Object Detection API-オブジェクト検出APIでの損失はどういう意味ですか?

分類Dev

TensorFlow Object Detection API: `fine_tune_checkpoint`を使用したトレーニング-以前のレイヤーのフリーズを解除しますか?

分類Dev

TensorFlow Object Detection APIの画像で見つかったオブジェクトをコンソールに出力

分類Dev

Tensorflow Object Detection APIのトレーニング中に学習率を変更できますか?

分類Dev

Tensorflow Object Detection APIにtrain.pyファイルがありません

分類Dev

Tensorflow Object Detection APIによって作成されたモデルを使用してオブジェクト検出を実行する場合、CNNへの画像の入力サイズはどのくらいですか?

分類Dev

Tensorflow Object Detection API-途中でトレーニングデータを追加しても大丈夫ですか?

分類Dev

Tensorflow Object Detection APIで畳み込みレイヤーの重みを初期化する方法は?

分類Dev

Tensorflow Object Detection APIで予測値のパーセンテージを取得する方法は?

分類Dev

Tensorflow Object Detection APIをトレーニングして、オブジェクトの一部を検出できますか?

分類Dev

Google Protobufを使用してobject_detection / pipeline.configファイルを解析、編集、生成する方法

分類Dev

Tensorflow Object Detection API:トレーニング中に領域を無視する方法は?

分類Dev

ModuleNotFoundError:「object_detection」という名前のモジュールがありません

分類Dev

Tensorflow Object Detection API - What's actually test.record being used for?

分類Dev

Tensorflow Object Detection API `indices [3] = 3 is not in [0、3)`エラー

分類Dev

How to train and eval at the same time in Tensorflow Object Detection API v2

Related 関連記事

  1. 1

    Tensorflow object_detection: 入力テンソルと出力テンソルが見つかりません

  2. 2

    Overfitting in Tensorflow Object detection API

  3. 3

    TensorFlow Object Detection API:評価mAPは奇妙に動作しますか?

  4. 4

    Tensorflow Object Detection APIを使用して、画像内の小さなオブジェクトを検出します

  5. 5

    Tensorflow Object Detection API model for use in TensorFlow.js

  6. 6

    Tensorflow Object Detection APIは、損失値のみを表示します。mAP値を取得する方法は?

  7. 7

    Tensorflow Object-Detection API-モデルの微調整はどのように機能しますか?

  8. 8

    Tensorflow 2 Object Detection API-K-Fold Cross Validationを使用できますか/使用する必要がありますか?

  9. 9

    Convert Tensorflow models from Object Detection API to uff

  10. 10

    Store Tensorflow object detection API image output with boxes in CSV format

  11. 11

    How to only detect humans in object detection API Tensorflow

  12. 12

    Tensorflow Object Detection API Data Augmentation Bounding Boxes

  13. 13

    Tensorflow Object Detection API-実際にtest.recordは何に使用されていますか?

  14. 14

    TensorFlow Object Detection API-オブジェクト検出APIでの損失はどういう意味ですか?

  15. 15

    TensorFlow Object Detection API: `fine_tune_checkpoint`を使用したトレーニング-以前のレイヤーのフリーズを解除しますか?

  16. 16

    TensorFlow Object Detection APIの画像で見つかったオブジェクトをコンソールに出力

  17. 17

    Tensorflow Object Detection APIのトレーニング中に学習率を変更できますか?

  18. 18

    Tensorflow Object Detection APIにtrain.pyファイルがありません

  19. 19

    Tensorflow Object Detection APIによって作成されたモデルを使用してオブジェクト検出を実行する場合、CNNへの画像の入力サイズはどのくらいですか?

  20. 20

    Tensorflow Object Detection API-途中でトレーニングデータを追加しても大丈夫ですか?

  21. 21

    Tensorflow Object Detection APIで畳み込みレイヤーの重みを初期化する方法は?

  22. 22

    Tensorflow Object Detection APIで予測値のパーセンテージを取得する方法は?

  23. 23

    Tensorflow Object Detection APIをトレーニングして、オブジェクトの一部を検出できますか?

  24. 24

    Google Protobufを使用してobject_detection / pipeline.configファイルを解析、編集、生成する方法

  25. 25

    Tensorflow Object Detection API:トレーニング中に領域を無視する方法は?

  26. 26

    ModuleNotFoundError:「object_detection」という名前のモジュールがありません

  27. 27

    Tensorflow Object Detection API - What's actually test.record being used for?

  28. 28

    Tensorflow Object Detection API `indices [3] = 3 is not in [0、3)`エラー

  29. 29

    How to train and eval at the same time in Tensorflow Object Detection API v2

ホットタグ

アーカイブ