我使用Keras训练了一个模型,使用model.save()
保存它,并且从Keras Documentation我不需要保存任何其他内容或在加载后编译模型。
当我加载它以在不同的图像上测试它时会出现此错误:
totalMemory:5.93GiB freeMemory:5.41GiB 2018-05-17 10:10:53.265572:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1120]创建 TensorFlow设备(/ device:GPU:0) - > (设备:0,名称:GeForce GTX 1060,Max-Q设计,pci总线ID:0000:01:00.0,计算能力: 6.1)
2018-05-17 10:10:55.939415:E tensorflow / stream_executor / cuda / cuda_dnn.cc:385]无法创建 cudnn句柄:CUDNN_STATUS_INTERNAL_ERROR
2018-05-17 10:10:55.939452: E tensorflow / stream_executor / cuda / cuda_dnn.cc:352]无法销毁 cudnn句柄:CUDNN_STATUS_BAD_PARAM
2018-05-17 10:10:55.939459:F tensorflow / core / kernels / conv_ops.cc:667]检查失败: &于流GT;父() - > GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo(),& algorithms)
中止(核心倾销)
以下是我正在使用的代码:
num_classes = 17
model = load_model('model.h5')
img1 = cv2.resize(cv2.cvtColor(cv2.imread("s_0.jpg"), cv2.COLOR_BGR2RGB), (24,24))
img2 = cv2.resize(cv2.cvtColor(cv2.imread("s_f.jpg"), cv2.COLOR_BGR2RGB), (24,24))
img3 = cv2.resize(cv2.cvtColor(cv2.imread("s_2.jpg"), cv2.COLOR_BGR2RGB), (24,24))
X_test = np.array([img1,img2,img3])
Y_test = to_categorical(np.array([0,12,2]), num_classes)
Y_predict = model.predict(X_test)
print np.argmax(Y_predict,axis = 1)
当我在训练后使用确切的代码进行测试时(模型可以不加载),它可以正常工作。
答案 0 :(得分:1)
看起来你的CUDA坏了。通过禁用GPU export CUDA_VISIBLE_DEVICES=-1
来测试它。