我结合你的代码重新看了一下,确实是有这样的现象。我的理解是,这个例子中的计算相对而言非常简单(只有一个乘法和一个加法),计算量也非常小,所以没能发挥出 TensorFlow 在 GPU 方面的优势。同时每次都自动求导也有额外的开销,肯定不如已经手工写好的求导来得快。在这个例子中,如果我们把数据量增大,例如
X_raw = np.array (range (1, 1000000), dtype=np.float32)
y_raw = np.array (range (1, 1000000), dtype=np.float32)
learning_rate = 5e-7
你会发现 TensorFlow 的速度比 NumPy 快(NumPy 32.12s,TensorFlow 22.73s,Colab GPU 模式)。