从零开始编写深度学习库(五)Eigen Tensor学习笔记2.0
1、extract_image_patches函数的使用:
假设Eigen::Tensor形状为(3,8,8,9),现在要对第二维、第三维根据size大小为(2,2),stride=(2,2),那么如果tensor类型是rowmajor类型,那么经过extract_image_patches后的数据就是(3,4*4,2,2,9)的5维数组,如果tensor类型是colmajor类型,那么得到的数据就是(3,2,2,4*4,9)的五维数组。
Eigen::array<int, 2> reduction_dims{2,3};Tensor5xf patches = bottom.extract_image_patches(m_hksize, m_wksize, m_hstride, m_wstride, 1,1, Eigen::PADDING_VALID);//std::cout << "post_reduce_dims"<< post_reduce_dims << std::endl;Tensor3xf pooling.device() = patches.maximum(reduction_dims); top=pooling.reshape(post_reduce_dims);
另外需要注意的是如果size大小为(3,2),那么如果是rowmajor那么数组的形状将是(3,*,2,3,9);如果是colmajor那么数组的形状将是(3,*,3,2,9)
2、降维统计
Eigen::array<int, 2> reduction_dims{2,3};
patches.mean(reduction_dims);//求取第2、3维度的平均值
patches.maximum(reduction_dims);//求取第2、3维度的最大值
3、数据存储方式交换:swap_layout()
比如如果Tensor变量是 colmajor,可以调用该函数,返回的新tensor就是rowmajor格式。
4、
从零开始编写深度学习库(五)Eigen Tensor学习笔记2.0相关推荐
- 从零开始编写深度学习库(四)Eigen::Tensor学习使用及代码重构
从零开始编写深度学习库(四)Eigen::Tensor学习使用及代码重构 博客:http://blog.csdn.net/hjimce 微博:黄锦池-hjimce qq:1393852684 一. ...
- 从零开始编写深度学习库(三)ActivationLayer网络层CPU实现
从零开始编写深度学习库(三)ActivationLayer网络层CPU实现 博客:http://blog.csdn.net/hjimce 微博:黄锦池-hjimce qq:1393852684 一 ...
- 从零开始编写深度学习库(二)FullyconnecteLayer CPU编写
从零开始编写深度学习库(二)FullyconnecteLayer CPU编写 博客:http://blog.csdn.net/hjimce 微博:黄锦池-hjimce qq:1393852684 ...
- 从零开始编写深度学习库(一)SoftmaxWithLoss CPU编写
从零开始编写深度学习库(一)SoftmaxWithLoss CPU编写 博客:http://blog.csdn.net/hjimce 微博:黄锦池-hjimce qq:1393852684 一.C ...
- 从零开始编写深度学习库(五)PoolingLayer 网络层CPU编写
记录:编写卷积层和池化层,比较需要注意的细节就是边界问题,还有另外一个就是重叠池化的情况,这两个小细节比较重要,边界问题pad在反向求导的时候,由于tensorflow是没有计算的,另外一个比较烦人的 ...
- 从零开始编写深度学习库(五)ConvolutionLayer CPU编写
对于池化层来说,需要注意的问题是:重叠池化,还有边界处理模式:valid.same模式这两个细节.由于我采用的边界处理方式,与tensorflow 在same模式下边界处理方式不同,valid模式下是 ...
- 小样本点云深度学习库_论文 | 小样本学习综述
转自:专知[https://www.zhuanzhi.ai/] [导读]现有的机器学习方法在很多场景下需要依赖大量的训练样本.但机器学习方法是否可以模仿人类,基于先验知识等,只基于少量的样本就可以进行 ...
- 梅科尔工作室-深度学习第五节-CNN学习
目录 1.什么是CNN(卷积神经网络) 2.卷积层与池化层 2.1卷积层 2.2池化层 3.卷积神经网络的输入与输出 4.卷积神经网络之层级结构 5.激活函数 6.计算公式 1.什么是CNN(卷积神经 ...
- 深度学习第五课-训练注意事项与框架使用
说明:本文是七月算法5月深度学习班第五次课听课笔记.黄色标注的部分为自己不太确定的部分. 训练 mini-batch SGD 神经网络使用mini-batch SGD训练得到最优权重.训练过程如下:( ...
最新文章
- JAVA-JSP Scriptlets(JSP小脚本)
- Docker网络模型(八)
- 白盒测试工具 - sonar报告常见示例分析,sonar代码质量问题分析演示
- 泽西岛/贾克斯RS:流式JSON
- spring的基本知识
- (王道408考研操作系统)第二章进程管理-第四节2:死锁处理策略之避免死锁(银行家算法)
- The differences between SOAP1.1 and SOAP1.2
- Mybatis Generator 逆向生成器
- js 跨域的问题 (同一个主域名不同的二级域名下的跨域问题) 解决 WdatePicker.js my97日期选择控件
- KVM console 连接虚拟机注意的位置
- python基础学习笔记(七)
- 自适应盲信号处理的经典
- 软考高级 真题 2011年上半年 信息系统项目管理师 案例分析
- 【老九学堂】【Java】初级编码规范
- 用切片实现一个简陋的Map
- [java] java语言基础
- oracle创建序列号
- hibernate查询方式总结(四)之QBC,QBE查询
- 专项测试之Web测试
- ios关于GPUImage图片拍摄及视频录制
热门文章
- 汇编指令mrs_专题1:电子工程师 之 软件】 之 【8.arm指令】
- python 获取网页表格数据_python实战4获取tushare数据
- python求1到n的乘积_Python如何计算列表中所有数字的乘积?(代码示例)
- php多站点共享用户表,php – Zend_Auth:允许用户登录到多个表/身份
- CF125E MST company (凸优化+MST)
- 使用CXF发布WebService服务简单实例
- PHPExcel+phalcon+yii批量导入
- 常见的注册界面实现的效果
- 超极本认知六大误区详解:不只是轻薄+长续航
- 速进!2000核实计算资源免费领取,名额有限,即开即送!