图形很奇怪(tensorflow gpu)
图表很奇怪 我已经运行源代码来测试GPU图形很奇怪(tensorflow gpu),tensorflow,gpu,Tensorflow,Gpu,图表很奇怪 我已经运行源代码来测试GPU from __future__ import print_function import matplotlib import matplotlib.pyplot as plt import tensorflow as tf import time def get_times(maximum_time): device_times = { "/gpu:0":[], "/cpu:0":[] } ma
from __future__ import print_function
import matplotlib
import matplotlib.pyplot as plt
import tensorflow as tf
import time
def get_times(maximum_time):
device_times = {
"/gpu:0":[],
"/cpu:0":[]
}
matrix_sizes = range(500,50000,50)
for size in matrix_sizes:
for device_name in device_times.keys():
print("####### Calculating on the " + device_name + " #######")
shape = (size,size)
data_type = tf.float16
with tf.device(device_name):
r1 = tf.random_uniform(shape=shape, minval=0, maxval=1, dtype=data_type)
r2 = tf.random_uniform(shape=shape, minval=0, maxval=1, dtype=data_type)
dot_operation = tf.matmul(r2, r1)
with tf.Session(config=tf.ConfigProto(log_device_placement=True)) as session:
start_time = time.time()
result = session.run(dot_operation)
time_taken = time.time() - start_time
print(result)
device_times[device_name].append(time_taken)
print(device_times)
if time_taken > maximum_time:
return device_times, matrix_sizes
device_times, matrix_sizes = get_times(1.5)
gpu_times = device_times["/gpu:0"]
cpu_times = device_times["/cpu:0"]
plt.plot(matrix_sizes[:len(gpu_times)], gpu_times, 'o-')
plt.plot(matrix_sizes[:len(cpu_times)], cpu_times, 'o-')
plt.ylabel('Time')
plt.xlabel('Matrix size')
plt.show()
GPU的速度继续提高;原始图表显示速度几乎没有增加
这是一个发展环境。
Python 3.7.0(anaconda3 5.3.1)
CUDA 10.1
Cudnn 7.5.1
除了500-550矩阵大小范围内的异常情况,我在GPU和CPU绘图中都没有看到任何速度增加。你在哪里看到GPU的速度不断提高?结果应该出现在图片2,但它看起来像图片1。有什么问题吗?不过,在你自己的图表中没有什么特别的东西。除此之外,它在CPU图中显示了更大的非线性,这意味着您的CPU是下一代,具有每秒更多的滴答声。GPU线非常小的斜率意味着你们的显卡也是下一代的,并且可能比最初的实验机器有更多的内核。不过,GPU的工作时间也会增加,因此随着矩阵大小的增加,这里没有任何加速。您希望得到什么样的准确结果?在原始图表中,GPU的速度不会超过0.1。但在我的图表上,GPU上升到0.8。我想知道问题是什么。除了500-550矩阵大小范围内的异常情况,我在GPU和CPU绘图中都没有看到任何速度增加。你在哪里看到GPU的速度不断提高?结果应该出现在图片2,但它看起来像图片1。有什么问题吗?不过,在你自己的图表中没有什么特别的东西。除此之外,它在CPU图中显示了更大的非线性,这意味着您的CPU是下一代,具有每秒更多的滴答声。GPU线非常小的斜率意味着你们的显卡也是下一代的,并且可能比最初的实验机器有更多的内核。不过,GPU的工作时间也会增加,因此随着矩阵大小的增加,这里没有任何加速。您希望得到什么样的准确结果?在原始图表中,GPU的速度不会超过0.1。但在我的图表上,GPU上升到0.8。我想知道问题出在哪里。