编译器在编译时会自动使用 GPU 还是我必须手动使用它?

Does the compiler automatically use GPU while compiling or shall I have to use it manually?

我一直在我的电脑上为 bird image preprocessing 编译这个程序,内存为 8GB,intel core i7-4th gen。处理器,但每次都在 运行 后卡住一段时间,显示此错误:

File "bird.py", line 13, in <module>
    X,Y,X_test,Y_test = pickle.load(open("full_dataset.pkl", "rb"))
MemoryError

作为 tensorflow 的新手,我不确定是否正在使用 CUDA(我已成功安装),还是只是 CPU 仍在执行计算。

您看到的错误是在发出任何 GPU 计算(或任何 TensorFlow 计算)之前出现的。 MemoryError 意味着对数据集进行 unpickling 会导致 运行 内存不足,或者数据中存在一些损坏。尝试加载较小的数据集以查看问题是否仍然存在。

关于您原来的问题,如果您安装了 GPU 版本的 TensorFlow,以及兼容版本的 CUDA(即 CUDA 8.0)和 cuDNN,TensorFlow 会将大部分计算卸载到您的 GPU,包括矩阵乘法和卷积将占训练期间花费的大部分时间。