我已经读过
os.environ["CUDA_VISIBLE_DEVICES"] = ''
注意tensorflow将在CPU上运行并且
os.environ["CUDA_VISIBLE_DEVICES"] = '0'
注意tensorflow将在GPU 0上运行。
如何检查使用的设备?
代码
# Creates a graph.
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
# Creates a session with log_device_placement set to True.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
# Runs the op.
print(sess.run(c))
仅显示结果
[[ 22. 28.]
[ 49. 64.]]
并且没有使用过的设备等。
答案 0 :(得分:1)
您应该可以通过打开tensorflow日志语句来做到这一点。有几种方法可以做到这一点。您可以使用bash环境变量来完成此操作。
export TF_CPP_MIN_LOG_LEVEL=1
或在您的代码中使用。
tf.logging.set_verbosity(tf.logging.INFO)
在我的系统上,我得到类似...
设备映射:/ job:localhost /副本:0 /任务:0 /设备:XLA_CPU:0-> 设备:XLA_CPU设备 / job:本地主机/副本:0 /任务:0 /设备:XLA_GPU:0->设备:XLA_GPU 设备/作业:本地主机/副本:0 /任务:0 /设备:GPU:0->设备:0, 名称:GeForce GTX TITAN X,PCI总线ID:0000:65:00.0,计算 能力:5.2 MatMul:(MatMul): / job:本地主机/副本:0 /任务:0 /设备:GPU:0 a:(常量): / job:本地主机/副本:0 /任务:0 /设备:GPU:0 b:(常量): / job:localhost /副本:0 /任务:0 /设备:GPU:0 [[22。 28.] [49。 64。]]
答案 1 :(得分:0)
我发现Python和IPython之间存在差异。 IPython是Spyder中使用的内核。所以我想这就是产生不同输出的原因。