Keras中图像维度介绍
报错问题:
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];
最新文章
- .NET Core New csproj 如何发布可执行文件
- 自适应css 框架 PURE
- php工作笔记3-php基础加强
- Eclipse中出现-访问限制由于对必需的库XX具有一定限制,因此无法访问类型
- log4net学习笔记
- 用代码调用Storyboard里面的viewController
- 文件I/O
- recurse_array_change_key_case()递规返回字符串键名全为小写或大写的数组
- HDU 3923 Invoker(polya定理+逆元)
- Pester: Unit Testing for PowerShell
- JS 返回上一页并刷新代码整理
- 基于ubuntu的docker安装
- phpcms 路由配置
- Redis系列二:reids介绍
- YII 用gii生成modules模块下的mvc
- New Concept English Two 32 88
- Sppring MVC核心应用-2
- 用for语句从数组中剔除数据,注意,count,要放到for语句之外才行
- zabbix 监控 AWS-SQS 队列
- 160505、oracle 修改字符集 修改为ZHS16GBK
热门文章
- 教你怎样用fluent长网格【转载】
- Python多线程与多进程详解
- adc0和adc1
- 008 BOM
- Tomcat redis session manager connect redis show: ERR Client sent AUTH, but no password is set
- 品优购商城项目(二)AngularJS、自动代码生成器、select2下拉多选框
- k8s记录-flanneld+docker网络部署(四)
- Linux记录-centos升级python3
- Python - Django - 在 CBV 中使用装饰器
- Python - Django - 母版和继承