python - 加载 TensorFlow 后派生一个 python 进程

标签 python fork tensorflow

tf.Session() 不是 fork 安全的,这意味着当 TensorFlow 加载到内存未知。

是否有任何解决方法可以在多个进程之间共享多个设备(在一台机器上)?

最佳答案

在多个进程之间共享 TensorFlow 运行时的标准方法是使用 distributed TensorFlow support ,它也适用于单台机器。

在一个进程中,您可以通过运行以下代码来启动服务器:

import tensorflow as tf
server = tf.train.Server.create_local_server()
print server.target  # for other processes to connect
server.join()

默认情况下,此进程将拥有机器上的所有设备。

在其他进程中,您可以创建连接到服务器的tf.Session对象:

sess = tf.Session("grpc://localhost:...")  # Use value of `server.target`.

这些 session 可以像进程内 session 一样使用。

关于python - 加载 TensorFlow 后派生一个 python 进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37874838/

相关文章:

jquery - Python如何只获取回复数据的最后2个字节

python - Django序列化器不将数据保存到数据库但响应正常

linux - Rust:如何生成在父级收到SIGINT/SIGTERM之后仍继续存在的子进程

perl - 如何在 Perl 脚本的两个分支部分之间建立 IP 通信

python - Tensorflow:使用 py_func 的自定义数据读取器

python - "Two-to-many"与 Flask-SQLAlchemy 的关系

python - 有没有办法在 python 中使用 selenium 获取 <div> 中的值?

c - 为什么我的处理程序不给我 C 中的退出状态?

python - Tensorflow 中的单图像推理 [Python]

python - 你能一次激活多个 Python 虚拟环境吗?