【发布时间】:2020-10-12 09:32:11
【问题描述】:
我需要执行多次平均大量长向量的工作,我希望在我的 GPU 上完成。
在运行时监控 nvtop 和 htop,我发现 GPU(在我训练 Keras 模型时总是显示最高活动)在这些操作中根本没有被使用,而 CPU 使用在这些操作期间激增。
我已经在下面的代码 sn-p 中模拟了它(试图最小化非 tf-work)。
我做错了什么?
import tensorflow as tf
from tensorflow.math import add_n, add, scalar_mul
import numpy as np
tf.debugging.set_log_device_placement(True)
sess = tf.compat.v1.Session(config=config)
tf.compat.v1.keras.backend.set_session(sess)
os.environ["CUDA_VISIBLE_DEVICES"]="1"
#Make a random numpy matrix
vecs=np.random.rand(100, 300)
with sess.as_default():
with tf.device('/GPU:0'):
for _ in range(1000):
#vecs=np.random.rand(100, 300)
tf_vecs=tf.Variable(vecs, dtype=tf.float64)
tf_invlgt=tf.Variable(1/np.shape(vecs)[0],dtype=tf.float64)
vectors=tf.unstack(tf_vecs)
sum_vecs=add_n(vectors)
mean_vec=tf.Variable(scalar_mul(tf_invlgt, sum_vecs))
谢谢
迈克尔
【问题讨论】:
标签: tensorflow gpu cpu