0
我有ñ帶有佔位符的所有輸入的網絡,我想將它們全部鏈接到另一個佔位符(之後創建)作爲通用輸入。在張量流中分組的佔位符
class GroupOfNetworks(object):
def __init__(self,subtask_nets,ob_space):
self.x_inputs = [st_net.x for st_net in subtask_nets] #list of network inputs
其中st_net.x
是一個佔位符,聲明如下。
class Network(object):
def __init__(self, ob_space):
self.x = tf.placeholder(tf.float32, [None] + list(ob_space)) `#single network input
我想有一個共同輸入到所有這些網絡的,所以我只需要有一鍵 - 值對我feed_dict
。我試着在佔位符(下面的代碼片段)上做一個賦值操作,但是這會引發一個錯誤,因爲它們是張量而不是變量。
#in class GroupOfNetworks...
common_x = tf.placeholder(tf.float32, [None] + list(ob_space),"common_input")
set_input = tf.assign(self.x_inputs[0].x,common_x,"link_subtask_input") # DOES NOT WORK
到目前爲止我使用一個程序生成feed_dict
(如下所示),但這不是在圖形上的和在從一.meta
文件加載圖形不能被導入。
def make_common_feed_dict(self,x):
return {placeholder:x for placeholder in self.x_inputs}
有沒有人知道更好的解決方案?
是的,如果我不需要獨立運行'Network'對象並且它們可以被修改,就可以工作。您是否知道是否有辦法處理無法修改「網絡」對象但僅使用佔位符引用的情況? – yokian