python - 如何在同一台机器上的不同 GPU 上并行运行多个 TensorFlow 实例?
问题描述
假设我并行启动以下命令,在同一台机器上同时训练多个 TensorFlow 模型:
python3 launch_training.py --gpu 0
python3 launch_training.py --gpu 1
python3 launch_training.py --gpu 2
python3 launch_training.py --gpu 3
python3 launch_training.py --gpu 4
python3 launch_training.py --gpu 5
python3 launch_training.py --gpu 6
python3 launch_training.py --gpu 7
让我们假设在 内部launch_training.py
,创建了一个 TensorFlow 图和会话,并具有以下上下文:with tf.device('/gpu:0'):
,其中0
被正确的--gpu
索引参数替换)。
这行得通吗?如果没有,我必须采取哪些步骤才能完成这项工作?在租用 GPU 之前,我想知道这一点。
解决方案
您必须指定一个 gpu 设备,with tf.device('gpu:N')
其中N
设备索引在哪里。首先 阅读https://www.tensorflow.org/programmers_guide/using_gpu和https://github.com/carla-simulator/carla/issues/116
我认为您对在不同的 GPU 上多次运行相同的脚本和使用多个 GPU 运行一个脚本感到困惑。对于前一种情况,请阅读 TensorFlow 指南的“在多 GPU 系统上使用单个 GPU”部分,对于后者“使用多个 GPU”。
推荐阅读
- mysql - 从 MySQL 5.7 获取单个用户排名位置
- false-positive - 我是新手,不知道该怎么做
- r - .local(x, p, ...) 中的错误:超过一半的存在点具有 NA 预测值
- android - 如何在jetpack compose中获取带有外部活动的视图模型
- java - 放心 - JSON 模式验证 - java.lang.NoSuchMethodError: com.github.fge.jsonschema.core.processing.CachingProcessor
- forms - 表单颤振中的公开下拉菜单
- android - 如何绕过网页的用户代理检查器并在 chrome 中打开它?
- python - 删除特定字符之后的所有字符,而不是字符本身,在整列中,python
- reactjs - useLocation 和 useParams 会返回未定义的初始值吗?
- amazon-web-services - 为预注册路由保护 API 网关