Tensorflow 我无法在我的GPU上使用迁移学习(VGG16)训练我的模型

Tensorflow 我无法在我的GPU上使用迁移学习(VGG16)训练我的模型,tensorflow,transfer-learning,vgg-net,Tensorflow,Transfer Learning,Vgg Net,我正在尝试使用转移学习来训练我的模型,以便在植物图像上检测水稻中的疾病。我尝试使用VGG16,但我无法让它与我的GPU一起训练。我有一个NVIDIA GeForce MX150 下面是我用来适应模型的代码: import tensorflow as tf from tensorflow.python.client import device_lib print(device_lib.list_local_devices()) with tf.device('/device:GPU:1'):

我正在尝试使用转移学习来训练我的模型,以便在植物图像上检测水稻中的疾病。我尝试使用VGG16,但我无法让它与我的GPU一起训练。我有一个NVIDIA GeForce MX150

下面是我用来适应模型的代码:

import tensorflow as tf
from tensorflow.python.client import device_lib

print(device_lib.list_local_devices())

with tf.device('/device:GPU:1'):
    # fit the model
    r = model.fit(
        training_set,
        validation_data=test_set,
        epochs=20,
        steps_per_epoch=len(training_set),
        validation_steps=len(test_set)
    )

Tensorflow GPU支持需要几个依赖项。请看

然后,尝试
tf.test.is\u gpu\u available()
-如果这是
True
,则您的gpu正在用于培训


在单个GPU上,您不需要使用
with
在GPU上进行训练。如需更多帮助,请提供任何日志或错误。

感谢您的回复,Stanley
tf.test.is\u gpu\u available()
返回
True
但它的训练速度非常慢(每个历元大约10分钟)。然后您就可以在gpu上运行了。不幸的是,对于MX150这样的小型GPU,与CPU相比,加速不会太大。如果您有很多增强功能(检查GPU的使用率是否为100%),仍然可能会受到CPU的限制。也许还可以尝试更小的网络,如ResNet或EfficientNet,因为VGG16有更多的参数。祝你好运。非常感谢你,斯坦利!你好,斯坦利,当我检查我的任务管理器时,我的GPU是0%。这不意味着我的GPU没有运行吗?嗯,我不确定,因为我使用Linux。这似乎表明该模型没有在GPU上运行。然而,我的理解是,如果
tf.test.is\u gpu\u available()
返回True,那么它应该在gpu上运行。我不确定,我道歉。