[英]Communications between Blender and Tensorflow
我在Blender中有一個模擬,我想使用TensorFlow庫從外部進行控制。 完整的過程將如下所示:
while True:
state = observation_from_blender()
action = find_action_using_tensorflow_neural_net(state)
take_action_inside_blender(action)
我對線程或子流程模塊沒有太多經驗,因此不確定我應該如何實際構建這樣的東西。
建議您不要來研究Tensorflow連接和API,而是來看看Open AI Universe Starter Agent [1]。 這樣做的好處是,只要打開了VNC會話,就可以連接基於TF的系統來對操作進行強化學習。
通過此方法構建模型后,您就可以專注於實際構建一個較低級別的API系統,以使兩件事可以相互交流。
感謝您的答復。 不幸的是,嘗試讓Universe使用我當前的設置有點麻煩。 我的截止日期也很緊,所以我只需要一些可以立即使用的東西。
我確實找到了一些DIY解決方案,可以使用pickle模塊很好地適應我的情況。 我真的不知道如何將這種方法轉換為正確的偽代碼,因此這里是一般概述:
Process 1 - TensorFlow:
load up TF graph
wait until pickled state arrives
while not terminated:
Process 2 - Blender:
run simulation until next action required
pickle state
wait until pickled action arrives
Process 1 - TensorFlow:
unpickle state
feedforward state through neural net, find action
pickle action
wait until next pickled state arrives
Process 2 - Blender:
unpickle action
take action
這種方法對我來說效果很好,但是我認為還有更多優雅的低級解決方案。 我很想聽到其他實現相同目標的可能方法。
我這樣做是為了使用與Blender捆綁在一起的python版本安裝tensorflow。
Python版本:3.5.2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.