wake-up-neo.com

keras-Faltungsnetzwerk kann nicht auf GPU trainiert werden

Ich kann ein Keras-Netzwerk mit Dense-Layer mit keras.datasets.fashion_mnist-Dataset trainieren. Als ich jedoch versuchte, ein Faltungsnetzwerk zu trainieren, bekam ich einen Fehler.

Hier ist ein Teil des Codes:

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)

und sein Fehler, als ich versuchte zu passen.

UnknownError: Fehler beim Abrufen des Faltungsalgorithmus. Dies ist wahrscheinlich Da cuDNN nicht initialisiert werden konnte, prüfen Sie, ob eine Warnung angezeigt wird Protokollmeldung wurde oben gedruckt. [[{{Knoten conv2d/Conv2D}} = Conv2D [T = DT_FLOAT, data_format = "NCHW", Dilatationen = [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/steigungen/conv2d/Conv2D_grad/Conv2DBackpropFilter-0-TransposeNHWCToNCHW-LayoutOptimizer, .__ )]] [[{{Knoten loss/dense_1_loss/broadcast_weights/assert_broadcastable/AssertGuard/Assert/Switch_2/_69}} = _Recvclient_terminated = false, recv_device = "/ job: localhost/replica: 0/task: 0/Gerät: 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"]]

Ich habe cudnn64_7.dll in C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin und die PATH enthält diesen Ordner bereits.

7
wannik

Ich denke, dass link Ihr Problem lösen würde, weil die installierte cnDNN-Version nicht mit der in tensorflow kompilierten cuDNN-Version kompatibel ist.

4
Vincent Tang

Ich habe das gleiche Problem @Wannik, ich habe Tensorflow 1.12, CUDA 10, cudnn 7.4.1 und bekomme die gleiche Fehlermeldung wie Sie. Was haben Sie getan und mit genauen Versionen installiert, damit es funktioniert? 

1
David Wagih