基于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' 的理解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 使用Keras中的ImageDataGenerator进行批次读图方式

    ImageDataGenerator位于keras.preprocessing.image模块当中,可用于做数据增强,或者仅仅用于一个批次一个批次的读进图片数据.一开始以为ImageDataGenerator是用来做数据增强的,但我的目的只是想一个batch一个batch的读进图片而已,所以一开始没用它,后来发现它是有这个功能的,而且使用起来很方便. ImageDataGenerator类包含了如下参数:(keras中文教程) ImageDataGenerator(featurewise_cen

  • Pytorch转keras的有效方法,以FlowNet为例讲解

    Pytorch凭借动态图机制,获得了广泛的使用,大有超越tensorflow的趋势,不过在工程应用上,TF仍然占据优势.有的时候我们会遇到这种情况,需要把模型应用到工业中,运用到实际项目上,TF支持的PB文件和TF的C++接口就成为了有效的工具.今天就给大家讲解一下Pytorch转成Keras的方法,进而我们也可以获得Pb文件,因为Keras是支持tensorflow的,我将会在下一篇博客讲解获得Pb文件,并使用Pb文件的方法. Pytorch To Keras 首先,我们必须有清楚的认识,网上

  • 浅谈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

  • 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

  • 基于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的移动设

随机推荐