目录
错误一:UnknownError: Failed to get convolution algorithm. This is probably because cuDNN failed to ini
错误二:Keras构建的CNN模型fit函数中class_weight函数的使用
错误一:UnknownError: Failed to get convolution algorithm. This is probably because cuDNN failed to ini
参考:【已解决】UnknownError: Failed to get convolution algorithm. This is probably because cuDNN failed to ini
使用Keras搭建CNN框架,程序在jupyter运行中遇到了错误一,但是没能使用查询到的方法解决在jupyter中的错误。不过,神奇的是,我使用pycharm运行相应程序,顺利跑出了结果,没有报错。
使用的解决方法是:
import os
os.environ['CUDA_VISIBLE_DEVICES'] = '/gpu:0'
参考博客中还提及其他解决方法,遇到同样问题但没有解决此问题的朋友可以查询,此外,在python - Keras - UnknownError: Failed to get convolution algorithm - Stack Overflow上也有关于该问题的讨论,不过,感觉并没有什么卵用。
错误二:Keras构建的CNN模型fit函数中class_weight函数的使用
y = model.fit(x=train_x, y=train_onehot, validation_data=(test_x, test_onehot), class_weight=class_weight, epochs=100, batch_size=64, callbacks=[tensorboard] )
工具功能齐全,但是总不会使用,小白一只。这里只说class_weight的使用,是对分类任务中类别不平衡问题的一种解决方法,输入是一个字典,key是类别,value是权重,value的值可以通过from sklearn.utils.class_weight import compute_class_weight中compute_class_weight函数计算,该函数返回一个array,不要忘记转换为一个字典,使用dict(enumerate(class_weight)).
参考:神经网络高阶技巧6--关于keras的class_weight与sample_weight