Tensorflow在多进程之前运行会话

Tensorflow在多进程之前运行会话,tensorflow,Tensorflow,我正在我的一个项目中使用tensorflow和python多重处理。我注意到,如果我在多重处理之前初始化一个会话,多重处理似乎被卡住了 我的代码如下所示: 将tensorflow导入为tf 从multiprocessing.pool导入池 graph=tf.graph() 使用graph.as_default(): X=tf.变量([10,1]) 初始化所有变量() graph.finalize() def运行(i): sess=tf.Session(graph=graph) sess.run(

我正在我的一个项目中使用tensorflow和python多重处理。我注意到,如果我在多重处理之前初始化一个会话,多重处理似乎被卡住了

我的代码如下所示:

将tensorflow导入为tf
从multiprocessing.pool导入池
graph=tf.graph()
使用graph.as_default():
X=tf.变量([10,1])
初始化所有变量()
graph.finalize()
def运行(i):
sess=tf.Session(graph=graph)
sess.run(初始化)
打印sess.run(X)
#取消对错误的注释
#sess=tf.Session(graph=graph)
#sess.close()
p=池(4)
res=p.map(运行[1,2,3])
我在打断别人时得到的信息是:

Process PoolWorker-1:
Traceback (most recent call last):
  File "/usr/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/usr/lib/python2.7/multiprocessing/process.py", line 114, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python2.7/multiprocessing/pool.py", line 102, in worker
    task = get()
  File "/usr/lib/python2.7/multiprocessing/queues.py", line 374, in get
    racquire()
KeyboardInterrupt

你想达到什么目标?为什么要尝试为同一个图创建多个会话并并行运行它们?正如@fabrizioM提到的,如果配置得当,TF负责在CPU和GPU之间分配计算。因此,您尝试使用TF的方式实际上并不受支持。

您想要实现什么?为什么要尝试为同一个图创建多个会话并并行运行它们?正如@fabrizioM提到的,如果配置得当,TF负责在CPU和GPU之间分配计算。因此,您尝试使用TF的方式实际上并不受支持。

问题是什么?如何修复代码?Tensorflow不打算与多处理一起运行,它处理多核执行internally@fabrizioM谢谢,我明白你的意思,我将使用TF的内部分布计算。问题是什么?如何修复代码?Tensorflow不打算与多处理一起运行,它处理多核执行internally@fabrizioM谢谢,我明白你的意思,我将使用TF的内部分布计算。