我安装了Tensorflow 1.4 GPU版本。它成功检测到我的 GPU,并在训练和评估时使用它。我有 GeForce 1050Ti 和 4Gb 記憶體。
但是我无法达到高于 12-15%(更常见的 5-6%)的 GPU 负载。同时,我的CPU负载很高,训练过程也很慢。 我用普通的Tensorflow和以TF作为后端的Keras测试了许多不同的不同NN(RNN,LSTM,CNN,GAN等)的例子,但结果是相同的。
我发现增加批量大小有助于更多地加载 GPU,但批量大小也会影响训练本身,因此我不能将其增加到超过一些可能的限制。
那么如何在最大负载下使用 GPU 并加快 NN 训练呢?
如果你在 ubuntu 中使用 Keras,你可以使用多处理并增加工作线程的数量。如果您使用批量生成器,则可以根据您拥有的系统 RAM 增加序列限制。
model.fit_generator(..., max_queue_size = 24, ..., workers = 2, use_multiprocessing = True, ...)