keras.datasets.fashion_mnist
データセットを使用して、Dense
レイヤーでKerasネットワークをトレーニングできます。しかし、畳み込みネットワークをトレーニングしようとすると、エラーが発生しました。
コードの一部を次に示します。
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の初期化に失敗したためです。そのため、上記の警告ログメッセージが出力されているかどうかを確認してください。 [[{{node conv2d/Conv2D}} = Conv2D [T = DT_FLOAT、data_format = "NCHW"、dilations = [1、1、1、1]、padding = "VALID"、strides = [1、1、1、 1]、use_cudnn_on_gpu = true、_device = "/ job:localhost/replica:0/task:0/device:GPU:0"](training/TFOptimizer/gradients/conv2d/Conv2D_grad/Conv2DBackpropFilter-0-TransposeNHWCToNCHW-LayoutOptimizer、conv2d/Conv2D/ReadVariableOp)]] [[{{{node loss/dense_1_loss/broadcast_weights/assert_broadcastable/AssertGuard/Assert/Switch_2/_69}} = _Recvclient_terminated = 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 "、tensor_type = DT_INT32、 _device = "/ job:localhost/replica:0/task:0/device:CPU:0"]]
cudnn64_7.dll
にC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin
があり、PATH
には既にそのフォルダーが含まれています。
これは link で問題が解決すると思います。これは、インストールしたcnDNNバージョンがtensorflowでコンパイルしたcuDNNバージョンと互換性がないためです。
私は同じ問題@Wannikを手に入れました、私はテンソルフロー1.12、CUDA 10、cudnn 7.4.1を持っています、そしてあなたと同じエラーを受け取ります、あなたはそれを動作させるために正確なバージョンで何をしてインストールしましたか?