簡體   English   中英

keras.optimizers.Adam.apply_gradients(...) 失敗

[英]keras.optimizers.Adam.apply_gradients(...) fails

我已經努力了幾天,試圖在樹莓派上運行 DDPG 強化學習。

模型的評論家部分工作正常,但模型的演員部分不會更新。 它計算一些梯度,然后運行以下命令:

self.actor_opt.apply_gradients(zip(da_dtheta, self.actor_model.trainable_variables))

不幸的是,這條線似乎什么也沒做:actor_model 的權重沒有更新。 我驗證了梯度的值似乎有意義。

我注意到這個函數實際上返回一個操作,所以我嘗試將它分配給一個變量並運行它:

grad_op = self.actor_opt.apply_gradients(zip(da_dtheta, self.actor_model.trainable_variables))
grad_op.run()

這也不起作用,給我以下神秘錯誤:

tensorflow.python.framework.errors_impl.FailedPreconditionError:從容器讀取資源變量 Adam/iter 時出錯:localhost。 這可能意味着該變量未初始化。 未找到:資源 localhost/Adam/iter/N10tensorflow3VarE 不存在

問題是急切執行被禁用。 事實證明,我在我的 linux 軟件上運行的是 tensorflow 1.4 而不是 tensorflow 2.0,並且默認情況下禁用了急切執行。 出於某種原因,如果沒有急切的執行,apply_gradients 似乎不起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM