从零开始编写深度学习库(五)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的更多相关文章
- 从零开始编写深度学习库(五)PoolingLayer 网络层CPU编写
记录:编写卷积层和池化层,比较需要注意的细节就是边界问题,还有另外一个就是重叠池化的情况,这两个小细节比较重要,边界问题pad在反向求导的时候,由于tensorflow是没有计算的,另外一个比较烦人的 ...
- 【Python机器学习实战】决策树与集成学习(五)——集成学习(3)GBDT应用实例
前面对GBDT的算法原理进行了描述,通过前文了解到GBDT是以回归树为基分类器的集成学习模型,既可以做分类,也可以做回归,由于GBDT设计很多CART决策树相关内容,就暂不对其算法流程进行实现,本节就 ...
- 智能车学习(五)—— dac学习
一.代码共享: 1.dac.h #ifndef DAC_H_ #define DAC_H_ #include "common.h" // 2.2 DAC控制寄存器0 位定义 #de ...
- Ansible学习记录五:PlayBook学习
0.介绍 Playbooks 是 Ansible 管理配置.部署应用和编排的语言,可以使用 Playbooks 来描述你想在远程主机执行的策略或者执行的一组步骤过程等 类似于一组任务集,定义好像项目, ...
- Linux内核驱动学习(五)KThread学习总结
文章目录 简介 例程 运行结果 参考 简介 使用内核线程需要包含头文件#include <linux/kthread.h>,下面整理了一下常用的api接口,如下表格所示: 函数 功能 st ...
- Kelp.Net是一个用c#编写的深度学习库
Kelp.Net是一个用c#编写的深度学习库 基于C#的机器学习--c# .NET中直观的深度学习 在本章中,将会学到: l 如何使用Kelp.Net来执行自己的测试 l 如何编写测试 l ...
- 30个深度学习库:按Python、C++、Java、JavaScript、R等10种语言分类
30个深度学习库:按Python.C++.Java.JavaScript.R等10种语言分类 包括 Python.C++.Java.JavaScript.R.Haskell等在内的一系列编程语言的深度 ...
- 64位Win7下安装并配置Python3的深度学习库:Theano
注:本文全原创,作者:Noah Zhang (http://www.cnblogs.com/noahzn/) 这两天在安装Python的深度学习库:Theano.尝试了好多遍,CMake.MinGW ...
- Python机器学习库和深度学习库总结
我们在Github上的贡献者和提交者之中检查了用Python语言进行机器学习的开源项目,并挑选出最受欢迎和最活跃的项目. 1. Scikit-learn(重点推荐) www.github.com/sc ...
随机推荐
- FileZilla Server IP限制设置
上面那个是黑名单. * 代表所有 下面那个是白名单. 多个是用 空格 分割
- LeetCode:比较含退格字符串【844】
LeetCode:比较含退格字符串[844] 题目描述 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表退格字符. 示例 1: 输入:S = ...
- webservice -- cxf客户端调用axis2服务端
背景: 有个项目, 需要由第三方提供用户信息, 实现用户同步操作, 对方给提供webservice接口(axis2实现)并也使用axis2作主客户端调用我方提供的webservice接口 起初, 由于 ...
- oracle procedure简单的将临时表的数据插入或更新到目标表
CREATE OR REPLACE PROCEDURE DEAL_SYNC_SCH_CUSTPHONE_NEW AS CURSOR C_CURU IS SELECT * FROM CBS_COS.SC ...
- PAT 天梯赛 L1-005. 考试座位号 【MAP标记】
题目链接 https://www.patest.cn/contests/gplt/L1-005 题意 有一个 考生号,一个试机座位,一个考试座位,给出试机座位,查询 考生号和考试座位 思路 MAP + ...
- cdoj1329卿学姐与魔法
地址:http://acm.uestc.edu.cn/#/problem/show/1329 题目: 卿学姐与魔法 Time Limit: 1200/800MS (Java/Others) M ...
- leetcode每日一题——反转整数
题目: 反转整数 难度: 简单 描述: 给定一个 32 位有符号整数,将整数中的数字进行反转. 解法: class Solution { public int reverse(int x) { //i ...
- react下将输入的汉字转化为拼音
1.首先需要一个简单的拼音和汉字对应的字典文件: /** * 收录常用汉字6763个,不支持声调,支持多音字,并按照汉字使用频率由低到高排序 */ var pinyin_dict_notone = { ...
- python中访问限制
在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑. 但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的na ...
- eclipse中的错误解决——The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
看看我们遇到的问题 解决问题