我使用谷歌云平台与Ubuntu 16.04,Cuda 9,Tensorflow与GPU 1.8
我使用Adam Optimizer进行梯度下降,对5个变量的函数进行100次迭代,这大约是100个sigmoid函数项的总和。 使用GPU K80需要6到7秒,使用CPU需要相同的时间!
我知道它真的使用GPU(或CPU),因为我打印了用于操作的设备,所以我的脚本产生的记录类似于:
使用GPU和时 add_5/x: (Const): /job:localhost/replica:0/task:0/device:GPU:0
使用CPU时
add_5/x: (Const): /job:localhost/replica:0/task:0/device:CPU:0
为什么需要同一时间?
答案 0 :(得分:0)
GPU并不总是比CPU快。如果没有看到分析器输出,很难说这里发生了什么。你的模型是否在数量密集的方式下批量(即它有很多matmuls或卷积)?如果是这样,GPU应该加快你的速度,但它们并不神奇。