我可以训练 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\bin
和PATH
已经包含该文件夹。