問題タブ [semantic-segmentation]
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.
python - 入力を正規化しても binary_corssentropy 損失は負です
U-net を使用してセマンティック セグメンテーションの問題を解決しようとしています。マスク イメージはバイナリです。しかし、トレーニングをしていると、自分の損失がマイナスであることがわかりました。ここでの損失は、binary_crossentropy を使用します。これが私のコードです:
全部タイプがありますnp.float32
次に、imageDataGenerator を使用して画像を拡張します。コードは次のとおりです。
My net の最終層は次のように定義されます。
どうしてこうなったのか、とても気になります。「シグモイド」関数の出力は 0 と 1 の間にありますか?
何かお考えがありましたら、ご相談ください。どうもありがとう!
python - 1D データのロジットを使用した TensorFlow シグモイド クロス エントロピー
環境
すべての系列が固定長lである 1D データ (時系列など) があるとします。
そして、 n 個のクラスでセマンティック セグメンテーションを実行します。
次に、単一の例の出力は shape [n, l]
(つまり、data_format
is not "channels_last"
) を持ち、バッチ化された出力は shape[b, n, l]
を持ちます。ここb
で、 はバッチ内の例の数です。
これらのクラスは独立しているため、ソフトマックス クロス エントロピーではなく、損失としてシグモイドクロス エントロピーの使用がここで適用可能であることを理解しています。
質問
の予想される形式と使用に関して、関連するいくつかの小さな質問がありますtf.nn.sigmoid_cross_entropy_with_logits
。
ネットワークはバッチ処理されたラベルと同じ形状のテンソルを出力するため、ロジットを出力するという仮定の下でネットワークをトレーニングする必要があり
binary_crossentropy
ますか?1 次元セグメンテーションの問題を考えると、次のことを要求
tf.nn.sigmoid_cross_entropy_with_logits
する必要があります。data_format='channels_first'
(上記のように)、またはdata_format='channels_last'
(例.T)
チャネルごとに個別にラベルを割り当てるには?
オプティマイザーに渡される損失操作は次のようになります。
tf.nn.sigmoid_cross_entropy_with_logits(labels, logits)
、tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(labels, logits))
、 またtf.losses.sigmoid_cross_entropy
?
コード
このColabは、私の混乱を強調data_format
し、実際に問題があることを示しています...しかし、ドキュメントには、どちらが期待されるかが明示されていません。
ダミーデータ
損失
tf.nn
tf.reduced_mean(tf.nn)
tf.losses
テストの同等性
data_format の同等性
tf.reduce_mean と tf.losses の等価性
android - Tensorflow-lite - 量子化されたモデル出力からビットマップを取得する
tensorflow-lite を使用して、Android でセマンティック セグメンテーション アプリケーションに取り組んでいます。モデルを実行し、tflite.run メソッドの助けを借りて ByteBuffer 形式で出力を取得できました。しかし、Java でこの出力から画像を抽出できませんでした。パスカル voc データセットでトレーニングされ、実際に変換されたモデルTF モデルからの tflite 形式: ' mobilenetv2_dm05_coco_voc_trainval ' 。
この問題は、次のスタックオーバーフローの質問に似ているようです: tensorflow-lite - using tflite Interpreter to get an image in the output
float データ型の変換を扱う同じ問題は、github の問題で修正されているようです: https://github.com/tensorflow/tensorflow/issues/23483
では、UINT8 モデルの出力からセグメンテーション マスクを適切に抽出するにはどうすればよいでしょうか。