首页 > 解决方案 > '进程以退出代码 -1073741571 (0xC00000FD) 结束'当使用 tensorflow 作为后端在 keras 中训练 CNN 时

问题描述

我的 CNN 的框架是这样的:

model = Sequential()
model.add(Conv1D(100, 60, activation='relu', input_shape=(20000, 1), padding='same'))
model.add(MaxPooling1D(4))
model.add(Conv1D(50, 4, activation='relu', input_shape=(20000, 1), padding='same'))
model.add(MaxPooling1D(2))
model.add(Flatten())
model.add(Dense(400, activation='relu'))
model.add(Dense(11, activation='sigmoid'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

它以这种方式运行良好。但只要我将 Conv1D 的激活更改为'tanh'或通过loss='binary_crossentropy'编译网络,然后使用与以前相同的数据对其进行训练,它总是以标题中提到的错误结束。像这样:

Epoch 1/10
2021-05-17 14:36:36.874241: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudnn64_8.dll
2021-05-17 14:36:37.480957: I tensorflow/stream_executor/cuda/cuda_dnn.cc:334] Loaded cuDNN version 8005
2021-05-17 14:36:38.097830: W tensorflow/stream_executor/gpu/redzone_allocator.cc:314] Internal: ptxas exited with non-zero error code -1, output: 
Relying on driver to perform ptx compilation. 
Modify $PATH to customize ptxas location.
This message will be only logged once.
2021-05-17 14:36:38.138281: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublas64_11.dll
2021-05-17 14:36:38.800945: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublasLt64_11.dll
2021-05-17 14:36:38.856575: I tensorflow/stream_executor/cuda/cuda_blas.cc:1838] TensorFloat-32 will be used for the matrix multiplication. This will only be logged once.
Process finished with exit code -1073741571 (0xC00000FD)

这对我来说看起来很奇怪,希望有人能帮助我。

我的GPU是RTX3060桌面6G;cuda==11.1.114, cudnn==8;tensorflow==2.4.0

标签: tensorflowkerasdeep-learningstack-overflow

解决方案


推荐阅读