报错问题:

ValueError: Negative dimension size caused by subtracting 5 from 1 for 'conv2d_1/convolution' (op: 'Conv2D') with input shapes: [?,1,28,28], [5,5,28,32].

问题分析:

定位:x_train = x_train.reshape(x_train.shape[0],1, 28,28).astype('float32')

分析:input_shape()输入维度错误,tensorflow默认为channels_last数据格式[samples][rows][cols][channels]

解决方法:

方法1:backend=theano

第一步:如想要输入数据格式为(channels,rows,cols),则文件开始位置添加下列模块

from keras import backend as K
K.set_image_dim_ordering('th')

第二步:更改代码

x_train = x_train.reshape(x_train.shape[0],1,28,28).astype('float32')

方法2:backend=tensorflow

第一步:如想要输入数据格式为(rows,cols,channels),则文件开始位置添加下列模块

from keras import backend as K
K.image_data_format() == "channels_last"

第二步:更改代码

x_train = x_train.reshape(x_train.shape[0], 28,28,1).astype('float32')

总结:

最新Keras版本中图片格式如下:

进入keras路径 C:\Users\Mr.King\.keras(红色为你自己的用户名),查看keras.json文件,我的如下,这说明它默认维度类型为tf,即输入数据格式为[samples][rows][cols][channels];

{
"floatx": "float32",
"epsilon": 1e-07,
"backend": "tensorflow",
"image_data_format": "channels_last"
}

keras中图片维度类型分为'tf'和'th' :

backend为tensorflow时,keras.json中image_data_format为channels_last;

backend为theano时,keras.json中image_data_format为channels_first;

图片维序类型为 th 时,即backend为Theano,则(dim_ordering='th'): 输入数据格式为[samples][channels][rows][cols];
图片维序类型为 tf 时,即backend为TensorFlow,则(dim_ordering='tf'): 输入数据格式为[samples][rows][cols][channels];

最新文章

  1. .NET Core New csproj 如何发布可执行文件
  2. 自适应css 框架 PURE
  3. php工作笔记3-php基础加强
  4. Eclipse中出现-访问限制由于对必需的库XX具有一定限制,因此无法访问类型
  5. log4net学习笔记
  6. 用代码调用Storyboard里面的viewController
  7. 文件I/O
  8. recurse_array_change_key_case()递规返回字符串键名全为小写或大写的数组
  9. HDU 3923 Invoker(polya定理+逆元)
  10. Pester: Unit Testing for PowerShell
  11. JS 返回上一页并刷新代码整理
  12. 基于ubuntu的docker安装
  13. phpcms 路由配置
  14. Redis系列二:reids介绍
  15. YII 用gii生成modules模块下的mvc
  16. New Concept English Two 32 88
  17. Sppring MVC核心应用-2
  18. 用for语句从数组中剔除数据,注意,count,要放到for语句之外才行
  19. zabbix 监控 AWS-SQS 队列
  20. 160505、oracle 修改字符集 修改为ZHS16GBK

热门文章

  1. 教你怎样用fluent长网格【转载】
  2. Python多线程与多进程详解
  3. adc0和adc1
  4. 008 BOM
  5. Tomcat redis session manager connect redis show: ERR Client sent AUTH, but no password is set
  6. 品优购商城项目(二)AngularJS、自动代码生成器、select2下拉多选框
  7. k8s记录-flanneld+docker网络部署(四)
  8. Linux记录-centos升级python3
  9. Python - Django - 在 CBV 中使用装饰器
  10. Python - Django - 母版和继承