基于K.image_data_format() == 'channels_first' 的理解
我们在学习keras经常会看到下面这样的代码段:
查阅官方文档可以知道:
我们知道彩色图像一般会有Width, Height, Channels,而“channels_first”或“channels_last”,则代表数据的通道维的位置。
该参数是Keras 1.x中的image_dim_ordering,“channels_last”对应原本的“tf”,“channels_first”对应原本的“th”。
以128x128x128的数据为例,“channels_first”应将数据组织为(3,128,128,128),而“channels_last”应将数据组织为(128,128,128,3)。
该参数的默认值是~/.keras/keras.json中设置的值,若从未设置过,则为“channels_last”。
补充知识:channels_first 与 channels_last 的区别
用卷积神经网络处理一组彩色图片时,Caffe/Theano 使用的数据格式是channels_first即:
(样本数,通道数,行数(高),列数(宽))
Tensforflow 使用的数据格式是channels_last即:
(样本数,行数(高),列数(宽),通道数)
以上这篇基于K.image_data_format() == 'channels_first' 的理解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结
在处理图像的时候经常是读取图片以后把图片转换为灰度图.作为一个刚入坑的小白,我在这篇博客记录了四种处理的方法. 首先导入包: import numpy as np import cv2 import tensorflow as tf from PIL import Image 方法一:在使用OpenCV读取图片的同时将图片转换为灰度图: img = cv2.imread(imgfile, cv2.IMREAD_GRAYSCALE) print("cv2.imread(imgfile, cv2.I
-
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
一.K.prod prod keras.backend.prod(x, axis=None, keepdims=False) 功能:在某一指定轴,计算张量中的值的乘积. 参数 x: 张量或变量. axis: 一个整数需要计算乘积的轴. keepdims: 布尔值,是否保留原尺寸. 如果 keepdims 为 False,则张量的秩减 1. 如果 keepdims 为 True,缩小的维度保留为长度 1. 返回 x 的元素的乘积的张量. Numpy 实现 def prod(x, axis=None
-
Pytorch转keras的有效方法,以FlowNet为例讲解
Pytorch凭借动态图机制,获得了广泛的使用,大有超越tensorflow的趋势,不过在工程应用上,TF仍然占据优势.有的时候我们会遇到这种情况,需要把模型应用到工业中,运用到实际项目上,TF支持的PB文件和TF的C++接口就成为了有效的工具.今天就给大家讲解一下Pytorch转成Keras的方法,进而我们也可以获得Pb文件,因为Keras是支持tensorflow的,我将会在下一篇博客讲解获得Pb文件,并使用Pb文件的方法. Pytorch To Keras 首先,我们必须有清楚的认识,网上
-
使用Keras中的ImageDataGenerator进行批次读图方式
ImageDataGenerator位于keras.preprocessing.image模块当中,可用于做数据增强,或者仅仅用于一个批次一个批次的读进图片数据.一开始以为ImageDataGenerator是用来做数据增强的,但我的目的只是想一个batch一个batch的读进图片而已,所以一开始没用它,后来发现它是有这个功能的,而且使用起来很方便. ImageDataGenerator类包含了如下参数:(keras中文教程) ImageDataGenerator(featurewise_cen
-
基于K.image_data_format() == 'channels_first' 的理解
我们在学习keras经常会看到下面这样的代码段: 查阅官方文档可以知道: 我们知道彩色图像一般会有Width, Height, Channels,而"channels_first"或"channels_last",则代表数据的通道维的位置. 该参数是Keras 1.x中的image_dim_ordering,"channels_last"对应原本的"tf","channels_first"对应原本的&quo
-
基于python 字符编码的理解
一.字符编码简史: 美国:1963年 ASCII (包含127个字符 占1个字节) 中国:1980年 GB2312 (收录7445个汉字,包括6763个汉字和682个其它符号) 1993年 GB13000 (收录20902个汉字) 1995年 GBK1.0 (收录 21003个汉字) 2000年 GB18030 (收录70244个汉字) 世界:1991年 unicode('万国码'也就统一编码,通常占2字节,复杂的汉字占4字节) UTF-8 (可变长的字符编码) 二.python中的编码解码应
-
基于Java protected的深入理解
一提到访问控制符protected,即使是初学者一般都会很自信的认为自己在这方面的理解没有问题.那好,我们提一个问题出来看看..... 请看下面两端代码,其中包B中的猫和鼠都继承了动物类. 复制代码 代码如下: //代码1:包A中有一个动物类 package testa; public class Animal { protected void crowl(String c){ System.out.println(c); } } //代码2:包B中
-
基于php 随机数的深入理解
php mt_srand 播下一个更好的随机数发生器种子mt_srand(PHP 3 >= 3.0.6, PHP 4, PHP 5)mt_srand -- 播下一个更好的随机数发生器种子说明 复制代码 代码如下: void mt_srand ( int seed ) 用 seed 来给随机数发生器播种.从 PHP 4.2.0 版开始,seed 参数变为可选项,当该项为空时,会被设为随时数.例子 1. mt_srand() 范例 复制代码 代码如下: Code highlighting produ
-
基于mysql全文索引的深入理解
前言:本文简单讲述全文索引的应用实例,MYSQL演示版本5.5.24. Q:全文索引适用于什么场合? A:全文索引是目前实现大数据搜索的关键技术. 至于更详细的介绍请自行百度,本文不再阐述. -------------------------------------------------------------------------------- 一.如何设置? 如图点击结尾处的{全文搜索}即可设置全文索引,不同MYSQL版本名字可能不同. 二.设置条件 1.表的存储引擎是MyISAM,默认
-
基于php-fpm 参数的深入理解
ps aux |grep php-fpm |more查看php-fpm总数php-fpm.conf 配置pid stringPID文件的位置. 默认为空.error_log string错误日志的位置. 默认: 安装路径#INSTALL_PREFIX#/log/php-fpm.log.log_level string错误级别. 可用级别为: alert(必须立即处理), error(错误情况), warning(警告情况), notice(一般重要信息), debug(调试信息). 默认: no
-
基于memset()函数的深入理解
今天写软件工程大作业,调了半天的bug,原来是对memset函数认识不到位造成的.int max[teachRelationNum];memset(max,0,sizeof(max));注意啊,可以使用sizeof(max),也可以使用 sizeof(int)*teachRelationNum,不可以直接使用 teachRelationNum,来初始化!一般情况下,可以这样使用:memset(max,0,sizeof(max));memset(max,-1,sizeof(max));memset
-
基于getline()函数的深入理解
我在网上搜了半天getline()函数,大多针对C++的,重载函数比较多,云里雾里的,而且没有实例,反正就是没有自己所需要的getline()函数.所以,自己在Linux下man了一把,并做了测试.getline()函数的功能是从文件中获取行信息,即每次读取一行信息. 因为我使用getline()函数的目的是获取本地网卡信息,即eth0的信息,从而判断启动机子时是否查了网线(本来可以从驱动里做,但应用层可以搞定,就不想多做处理了,谅解). //函数原型#define _GNU_SOURCE#in
-
keras 实现轻量级网络ShuffleNet教程
ShuffleNet是由旷世发表的一个计算效率极高的CNN架构,它是专门为计算能力非常有限的移动设备(例如,10-150 MFLOPs)而设计的.该结构利用组卷积和信道混洗两种新的运算方法,在保证计算精度的同时,大大降低了计算成本.ImageNet分类和MS COCO对象检测实验表明,在40 MFLOPs的计算预算下,ShuffleNet的性能优于其他结构,例如,在ImageNet分类任务上,ShuffleNet的top-1 error 7.8%比最近的MobileNet低.在基于arm的移动设
随机推荐
- ExtJS4的文本框(textField)使用正则表达式进行验证(Regex)的方法
- 关于MSCOMM控件的一些说明第1/2页
- 用bat实现打开快捷方式指向的目录
- Package.js 现代化的JavaScript项目make工具
- javascript+css3 实现动态按钮菜单特效
- PHP PDO函数库详解
- Zend Framework缓存Cache用法简单实例
- 使用数据库保存session的方法
- 《PHP编程最快明白》第七讲:php图片验证码与缩略图
- JS正则匹配URL网址的方法(可匹配www,http开头的一切网址)
- 初学Python函数的笔记整理
- C语言实现最长递增子序列问题的解决方法
- C++ 基础编程之十进制转换为任意进制及操作符重载
- Android studio点击跳转WebView详解
- MySQL中的运算符使用实例展示
- 使用JavaScript的ActiveXObject对象检测应用程序是否安装的方法
- SQL Server误区30日谈 第26天 SQL Server中存在真正的“事务嵌套”
- Mysql中大小写敏感问题导致的MySql Error 1146 Tabel doen’t exist错误
- MSDN|CSDN|PUDN的意思
- 基于c#用Socket做一个局域网聊天工具