Keras错误记录
最近在跑一个深度学习的代码,基于TensorFlow后端的Keras框架,遇到了一下错误,记录解决一下:
1. softmax() got an unexpected keyword argument 'axis'
我的tensorflow版本是1.2.1,Keras版本是2.4.2(可以打开命令行窗口,输入 pip list 查看python库的信息)
经过了解得知高版本的Keras中softmax已经没有axis参数,因此退回到2.0.2版本,问题解决
pip install keras==2.0.2
2. ValueError: Negative dimension size caused by subtracting 3 from 1 for 'conv2d_6/convolution' (op: 'Conv2D') with input shapes: [?,1,148,32], [3,3,32,32].
这个是因为原本代码的后端是theano,他的图像形状的写法是
input_shape=(img_channels, img_rows, img_cols ),
而在tensorflow中写法是
input_shape=(img_rows, img_cols, img_channels)
修改过来之后问题解决
3. Unable to open file (Unable to open file: name = 'ori_4015imgs_weights.hdf5', errno = 2, error message = 'no such file or directory', flags = 0, o_flags = 0)
这个一般是.hdf5文件损坏的原因,重新下载一下
4. ValueError: Error when checking model input: expected conv2d_1_input to have shape (None, 200, 200, 1) but got array with shape (3212, 1, 200, 200)
这个问题出现的原因是事先定义好的输入数据的形状应该是(None, 200, 200, 1) ,然而在输入数据时形状却是(3212, 1, 200, 200),这个问题需要查看一下将图片转化为多维向量时是如何定义形状的,前后要保持一致。
注意:修改为backend.set_image_dim_ordering('tf') 运用theano做后端的时候是backend.set_image_dim_ordering('th')