我已经在笔记本电脑(GTX 1060-6GB)中安装了tensorflow-gpu,并且正在使用tensorflow开发素数生成器程序。以下是我用来计算素数的示例代码:
def prime_tf_graf(max_count):
# matrix version
with tf.device('/gpu:0'):
data = tf.range(2, max_count, dtype=tf.int32)
Y, X = tf.meshgrid(data, data); Z = X%Y
with tf.device('/cpu:0'):
loer = tf.matrix_band_part(Z, -1, 0) - tf.matrix_band_part(Z, 0, 0)
with tf.device('/gpu:0'):
loer = tf.cast(tf.not_equal(loer, 0), tf.int32)
sumr = tf.reduce_sum(loer, axis=1)
nums = data - 2
rato = tf.cast(sumr/nums, tf.int32)
indx = tf.cast(tf.not_equal(rato, 0), tf.int32)
return tf.reshape(tf.where(indx), [-1]) + 2
def prime_tf(max_count):
graf = prime_tf_graf(max_count)
sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True))
prim = sess.run(graf)
return prim
当我运行此代码时,我的CPU和RAM仅被使用,而我的GPU不在其中。 (仅分配专用内存)。测试运行:prime_tf(tf.constant(20000))
这表明tensorflow仅使用我的CPU和RAM而不使用GPU。