亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Keras:基于 Faster-RCNN 預測生成目標值

Keras:基于 Faster-RCNN 預測生成目標值

小唯快跑啊 2022-11-09 16:23:11
解決方案好的,我確實找到了解決方案,也許不是最好的解決方案。本質上只是創建了一個使用TensorFlow的GradientTape的新方法。本質上,獲取預測、生成目標、計算損失然后更新梯度。with tf.GradientTape() as tape:    # Forward pass    y_preds = self.model(x, training=True)    # Generate the target values from the predictions    actual_deltas, actual_objectness = self.generate_target_values(y_preds, labels)    #Get the loss    loss = self.model.compiled_loss([actual_deltas, actual_objectness], y_preds, regularization_losses=self.model.losses)# Compute gradientstrainable_vars = self.model.trainable_variablesgradients = tape.gradient(loss, trainable_vars)# Update weightsself.model.optimizer.apply_gradients(zip(gradients, trainable_vars))我知道使用 Keras 子類化有更好的方法來做到這一點,但這確實起到了作用。原帖我目前正在嘗試創建一個模型,其中需要通過一個函數運行預測,該函數將它們與訓練標簽進行比較。然后此函數將返回目標值。如何訓練我的模型,以便將預測輸入到我的函數中并返回函數 pred。我正在使用 Tensorflow 2.1.0 和 Keras 2.2.4-tf編輯:該模型是修改后的 Faster-RCNN 模型。我正在嘗試添加該函數,該函數接受預測(2xN 和 4xN 向量),將它們轉換為邊界框,將它們與地面實況邊界框進行比較,然后返回每個建議的邊界框值應該是什么, 為了正確地覆蓋這個邊界框。
查看完整描述

1 回答

?
莫回無

TA貢獻1865條經驗 獲得超7個贊

好的,我確實找到了解決方案,也許不是最好的解決方案。本質上只是創建了一個使用 TensorFlow 的 GradientTape 的新方法。本質上,獲取預測、生成目標、計算損失然后更新梯度。


with tf.GradientTape() as tape:

    # Forward pass

    y_preds = self.model(x, training=True)

    # Generate the target values from the predictions

    actual_deltas, actual_objectness = self.generate_target_values(y_preds, labels)

    #Get the loss

    loss = self.model.compiled_loss([actual_deltas, actual_objectness], y_preds, regularization_losses=self.model.losses)

# Compute gradients

trainable_vars = self.model.trainable_variables

gradients = tape.gradient(loss, trainable_vars)

# Update weights

self.model.optimizer.apply_gradients(zip(gradients, trainable_vars))

我知道使用 Keras 子類化有更好的方法來做到這一點,但這確實起到了作用。


查看完整回答
反對 回復 2022-11-09
  • 1 回答
  • 0 關注
  • 111 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號