# Creates a graph.
with tf.device('/cpu:0'):
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)
在上面的示例中,cpu:0已分配给执行过程。 使用log_device_placement 为true。所以这是上面提到的代码的解决方案
Device mapping:
/job:localhost/replica:0/task:0/gpu:0 -> device: 0, name: Tesla K40c, pci bus
id: 0000:05:00.0
b: /job:localhost/replica:0/task:0/cpu:0
a: /job:localhost/replica:0/task:0/cpu:0
MatMul: /job:localhost/replica:0/task:0/gpu:0
[[ 22. 28.]
[ 49. 64.]]
现在这里占位符a,b和在会话内运行的matmul操作c在设备日志cpu:o中但在日志设备描述中 为什么只有MatMul在gpu中执行:0 ?
答案 0 :(得分:1)
这似乎是文档中的错误,在这种情况下,MatMul操作将放在CPU上。
确实,运行代码示例会显示:
MatMul: (MatMul): /job:localhost/replica:0/task:0/cpu:0
b: (Const): /job:localhost/replica:0/task:0/cpu:0
a: (Const): /job:localhost/replica:0/task:0/cpu:0
random_normal/RandomStandardNormal: (RandomStandardNormal): /job:localhost/replica:0/task:0/gpu:0
将显示以下展示位置:
c = tf.matmul(a, b)
我认为文档错误是with tf.device('/cpu:0')
语句应该在var index = 0;
for (var i = 0, i < asset_MasterDataGrid.Columns.Count; i++)
if (((DataColumn)asset_MasterDataGrid).ColumnName == "Serial Num")
{
index = i;
break;
}
范围之外。