• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

python - Tensorflow在jupyter中设置CUDA_VISIBLE_DEVICES

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

问题描述

我有两个GPU,想同时通过2个ipynb运行两个不同的网络,但是第一个notebook始终分配&占用了两个GPU。

使用CUDA_VISIBLE_DEVICES,我可以在python文件中隐藏设备,但是我不确定如何在jupyter notebook中执行此操作。

那么,能否将某个GPU设置为在同一服务器上运行的某个notebook不可见?或者说设置GPU对其他notebook隐藏?

 

最佳回答

您可以使用os.environ在笔记本中设置环境变量。在初始化TensorFlow以便将TensorFlow限制为第一个GPU之前,请执行以下操作。

import os
os.environ["CUDA_DEVICE_ORDER"]="PCI_BUS_ID"   # see issue #152
os.environ["CUDA_VISIBLE_DEVICES"]="0"

您可以再次检查您是否拥有对TF可见的正确设备

from tensorflow.python.client import device_lib
print device_lib.list_local_devices()

我倾向于从notebook_util之类的实用程序模块中使用它

import notebook_util
notebook_util.pick_gpu_lowest_memory()
import tensorflow as tf

 

次佳回答

您可以通过使用magics更快地执行此操作,而无需任何导入:

%env CUDA_DEVICE_ORDER=PCI_BUS_ID
%env CUDA_VISIBLE_DEVICES=0

注意,所有env变量都是字符串,因此无需使用引号””。您可以通过运行%env <name_of_var>来验证是否已设置环境变量。或使用%env检查所有这些信息。


参考资料

  • Tensorflow set CUDA_VISIBLE_DEVICES within jupyter

 


鲜花

握手

雷人

路过

鸡蛋
专题导读
上一篇:
python - 如何将Keras .h5导出到tensorflow .pb?发布时间:2022-05-14
下一篇:
python - ImportError:无法导入名称'_validate_lengths'发布时间:2022-05-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap