問題タブ [data-augmentation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
299 参照

python - カスタム画像データ拡張により、TensorFlow2.0 でメモリ リークが発生する

オブジェクト検出のための地域提案ネットワークに取り組んでいます。データを拡張したい場合は、画像と対応するバウンディング ボックス (拡大縮小、回転など) の両方を拡張する必要があります + 入力として画像マスクもあり、これも拡張する必要があります。そこで、データ拡張用のカスタム関数を作成しました。

パイプラインは次のとおりです。

  1. tf.data.Dataset読み込まれた画像、ラベル (バウンディング ボックスの座標)、およびマスクを含む Python ジェネレーターから作成します。

コードは追加の拡張を続けますが、拡張を追加するとメモリリークが発生し始めるため、この部分は重要です。

  1. 関数augment_dataset(tf_dataset)はデータセットの拡張を呼び出します。1 つの増強を除いてすべて正常に動作します (すべての増強はこのように行われますが、これだけが非常に高いメモリ リーク (RAM 使用量) を引き起こします):
  1. 関数は、比率aug.shrink(tensor: tf.Tensor, vertical: float = 1, horizontal: float = 1)に基づいて画像、ラベル、マスクのサイズを変更します。私のネットワークは、画像の動的サイズ (使用する理由) を受け入れ、ラベル (境界ボックス) の形式は次のとおりです。verticalhorizontaltf.shape(xcenter, ycenter, width, height)

サイズ変更にOpenCVとnumpyの組み合わせを使用したバージョンも試しましたtf.py_functionが、機能しませんでした。誰もそのような問題に遭遇しましたか?

ご協力ありがとうございました。