[英]Replacing a node in graph with custom op having variable dependency in tensorflow
我試圖用做同樣的自定義操作替換圖形中完成的計算。
可以說該圖具有常量A
和權重變量W
,我創建了自定義op來接受這兩個輸入並進行整個計算(權重更新的最后一步除外):
custom_op_tensor = custom_module.custom_op([A,W])
g_def = tf.get_default_graph().as_graph_def()
input_map = { tensor.name : custom_op_tensor }
train_op, = tf.import_graph_def(g_def, input_map=input_map, return_elements=[train_op])
在導入圖def之后,有兩個W
,一個來自原始圖def,一個在導入圖中。 當我們運行火車操作時,自定義操作最終將讀取舊的W
並更新新的W
結果,梯度下降最終無法做正確的事情。
問題是custom_op的實例化需要輸入權重張量W
僅在導入后才知道新的W
並且,導入需要自定義操作。 如何解決這個問題?
您能否精確說明使用哪個版本的Tensorflow:r0.08,r0.09,r0.10,r0.11?
不可能用另一個操作來改變圖中的一個操作。 但是,如果您可以訪問W,您仍然可以在運行火車op之前對W進行備份(使用copy模塊中的 deepcopy()),以對其進行更新?
問候
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.