0
我正在用Tensorflow構建一個深度學習模型。在訓練之前,我會做一些計算,如反向傳播。但只需要計算一次。下面是我的僞代碼:在Tensorflow中只計算一次子圖
class residual_net()
def pseudo_bp(self):
# do something...
self.bp = ...
def build_net(self):
# build a residual_network....
# utilize the variable in pseudo_bp
rn.output = func(self.bp)
def run():
rn = residual_net()
rn.pseudo_bp()
rn.deep_residual_network()
sess = tf.InteractiveSession()
sess.run(tf.initialize_all_variables())
for i in range(1000):
err = tf.reduce_mean(rn.output, labels)
train = tf.train.GradientDescentOptimizer(learning_rate).minimize(err)
sess.run(train, feed_dict=train_feed_dict)
不知pseudo_bp
將在每次迭代運行?如果是的話,我怎麼才能讓它運行一次?提前致謝!
編輯: 最新的錯誤:
Traceback (most recent call last):
File "run.py", line 124, in <module>
sess.run(pseudo_bp, feed_dict=feed_dict)
File "/Users/yobichi/bigdata/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 717, in run
run_metadata_ptr)
File "/Users/yobichi/bigdata/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 902, in _run
fetch_handler = _FetchHandler(self._graph, fetches, feed_dict_string)
File "/Users/yobichi/bigdata/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 358, in __init__
self._fetch_mapper = _FetchMapper.for_fetch(fetches)
File "/Users/yobichi/bigdata/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 178, in for_fetch
(fetch, type(fetch)))
TypeError: Fetch argument None has invalid type <class 'NoneType'>
你有什麼想法?
感謝您的回答。對不起,我錯過了我原來的問題中的一個非常重要的信息。 'pseudo_bp'中計算的變量將在'build_net'中使用。 'build_net'也被鏈接到'train'操作。所以我想知道'pseudo_bp'是否仍然會在下面的迭代中運行? – southdoor
我做了你的建議,我得到了一個錯誤,我更新了這個問題,以獲得更多的日誌信息。你可以看一下嗎?謝謝! – southdoor
你給'pseudo_bp'分配了什麼?您可能需要將它分配給'rn.bp' – martianwars