tensorflow查看电脑CPU与GPU并指定其中之一进行计算

1,查看自己的电脑CPU与GPU情况
import tensorflow as tf
import os
from tensorflow.python.client import device_lib
os.environ[“TF_CPP_MIN_LOG_LEVEL”] = “99”
print(device_lib.list_local_devices())

2,tensorflow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。
第一步得先定义图形:
m1=tf.constant([1,2])
m2=tf.constant([3,4])
result=tf.add(m1,m2)

3,图形定义之后,利用CPU或GPU等计算资源分布式执行图的运算,“with”代码块的形式,无需显示的调用close释放资源,而是自动地关闭会话(Session)。
with tf.Session() as sess:
with tf.device("/cpu:0"):
m1 = tf.constant([1, 2])
m2 = tf.constant([3, 4])
result = tf.add(m1, m2)
print(sess.run(result))

4,查看tensorflow详细情况
options = tf.RunOptions(output_partition_graphs=True)
metadata = tf.RunMetadata()
c_val = sess.run(result, options=options, run_metadata=metadata)
print(metadata.partition_graphs)
如下:
[node {
name: “Add_1”
op: “Const”
device: “/job:localhost/replica:0/task:0/device:CPU:0”
attr {
key: “dtype”
value {
type: DT_INT32
}
}
attr {
key: “value”
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: “\004\000\000\000\006\000\000\000”
}
}
}
}
node {
name: “_retval_Add_1_0_0”
op: “_Retval”
input: “Add_1”
device: “/job:localhost/replica:0/task:0/device:CPU:0”
attr {
key: “T”
value {
type: DT_INT32
}
}
attr {
key: “index”
value {
i: 0
}
}
}
library {
}
versions {
producer: 27
}

你可能感兴趣的:(tensorflow查看电脑CPU与GPU并指定其中之一进行计算)