无法在 GPU 上训练 Keras 卷积网络

2024-03-16

我可以训练 Keras 网络Dense层使用keras.datasets.fashion_mnist数据集。然而,当我尝试训练卷积网络时,出现了错误。

这是代码的一部分:

from tensorflow.keras.layers import *

model = keras.Sequential([
        Convolution2D(16, (3,3), activation='relu', input_shape=(28,28,1)),
        MaxPooling2D(pool_size=(2,2)),
        Flatten(),
        Dense(16, activation='relu'),
        Dense(10, activation='softmax')    
])
model.compile(optimizer=tf.train.AdamOptimizer(), 
          loss='sparse_categorical_crossentropy',
          metrics=['accuracy'])

model.fit(train_images, train_labels, epochs=5)

当我尝试安装时出现错误。

UnknownError:无法获取卷积算法。这大概是 因为cuDNN初始化失败,所以尝试查看是否有警告 上面打印了日志消息。 [[{{节点 conv2d/Conv2D}} = Conv2D[T=DT_FLOAT, data_format="NCHW", 膨胀=[1, 1, 1, 1], 填充=“有效”,步幅= [1,1,1,1],use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/device:GPU:0"](训练/TFOptimizer/gradients/conv2d/Conv2D_grad/Conv2DBackpropFilter-0-TransposeNHWCToNCHW-LayoutOptimizer, conv2d/Conv2D/ReadVariableOp)]] [[{{节点 损失/dense_1_loss/broadcast_weights/assert_broadcastable/AssertGuard/Assert/Switch_2/_69}} = _Recvclient_termerated=false,recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1,tensor_name="edge_112_l...t/Switch_2", 张量类型=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"]]

I have cudnn64_7.dll in C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\binPATH已经包含该文件夹。


我认为这link https://stackoverflow.com/a/49960236/6081433可以解决你的问题,因为你安装的cnDNN版本与tensorflow中编译的cuDNN版本不兼容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法在 GPU 上训练 Keras 卷积网络 的相关文章

随机推荐