1

我在Blender里面有一个模拟,我想用TensorFlow库在外部进行控制。整个过程会去是这样的:Blender和Tensorflow之间的通信

while True: 
    state = observation_from_blender() 
    action = find_action_using_tensorflow_neural_net(state) 
    take_action_inside_blender(action) 

我没有和穿线或子模块太多的经验,因此我不能确定,以我应该如何去实际构建这样的事情。

回答

2

而不是Tensorflow连接和API勾搭,我建议你看一看打开AI宇宙入门剂[1]。这里的优点是,只要你打开了VNC会话,你就可以连接一个基于TF的系统来对你的行为进行强化学习。

一旦你通过该构建的模型,你可以专注于实际构建的两件事情互相交谈较低级别的API系统。

[1] https://github.com/openai/universe-starter-agent

0

感谢您的答复。不幸的是,试图让宇宙与我目前的设置一起工作有点痛苦。我也处于相当紧迫的期限,所以我只需要一些可以直接使用的东西。

我确实找到了一种有点DIY的解决方案,对于使用泡菜模块的情况非常有效。我真的不知道如何将此方法为适当的伪转换,因此,这里的大致轮廓:

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 

这种方式为我工作很好,但我想有更优雅的较低级的解决方案。我很好奇听到任何其他可能的方法来实现相同的目标。

0

我这样做是为了使用随搅拌器捆绑在一起的Python版本安装tensorflow。

  • Blender的版本号:2.78
  • Python版本:3.5.2所有你需要安装PIP为搅拌机的蟒蛇

    1. 第一。为此,我遵循此链接中提到的说明:https://blender.stackexchange.com/questions/56011/how-to-use-pip-with-blenders-bundled-python。 (我所做的是将python3.5m图标拖入终端,然后再键入命令'〜/ get-pip.py')。
    2. 一旦您安装了pip,您就可以安装第三方模块并将它们与搅拌器配合使用。
    3. 导航到bin文件夹内部'/ home /路径到blender/2.78 /'目录。要安装张量流,请将python3.5m图标拖入终端,然后将pip3图标拖入终端并给出命令安装张量流。
    4. 我收到一个错误提到模块lib2to3没有找到。即使安装模块也没有帮助,因为我收到没有这种模块的消息。幸运的是,我的机器上安装了python 3.5.2。因此,导航到/usr/lib/python3.5并将lib2to3文件夹从那里复制到/home/user/blender/2.78/python/lib/python3.5,然后再次运行tensorflow的安装命令。安装应该完成而没有任何错误。确保您通过导入张量流测试安装。