最近用C++和python联合编程的时候,python脚本运行tensorflow的速度太慢了,所以自己用c++去写LSTM神经网络的逻辑。

LSTM中需要用到矩阵的对应元素相乘,也就是点乘,搜了下没有博客写,就自己去找Eigen的文档。

发现Matrix类的默认乘法 * 是叉乘,而点乘dot只能用于向量

Remember that cross product is only for vectors of size 3. Dot product
is for vectors of any sizes. When using complex numbers, Eigen’s dot
product is conjugate-linear in the first variable and linear in the
second variable.

#include <Eigen/Dense>
#include <iostream>using namespace Eigen;
using namespace std;int main()
{MatrixXf m(2,2);MatrixXf n(2,2);MatrixXf result(2,2);m << 1,2,3,4;n << 5,6,7,8;result = m * n;cout << "-- Matrix m*n: --" << endl << result << endl << endl;result = m.array() * n.array();cout << "-- Array m*n: --" << endl << result << endl << endl;result = m.cwiseProduct(n);cout << "-- With cwiseProduct: --" << endl << result << endl << endl;result = m.array() + 4;cout << "-- Array m + 4: --" << endl << result << endl << endl;

结果如下

-- Matrix m*n: --
19 22
43 50-- Array m*n: --5 12
21 32-- With cwiseProduct: --5 12
21 32-- Array m + 4: --
5 6
7 8

实现了矩阵的点乘。

C++ Eigen库实现矩阵的点乘相关推荐

  1. eigen 列向量转矩阵_快速入门矩阵运算——开源库Eigen

    矩阵是数学中一个重要的工具,广泛应用于各种场景下的数值分析,例如,数字信号处理,图像处理等.我们如何在程序中使用矩阵进行运算呢?本文将为大家介绍一个开源的矩阵运算工具--Eigen. Eigen is ...

  2. C++Eigen库矩阵常见操作

    描述 使用C++语言的Eigen库进行一些常见操作 使用库时,请一定注意两点 定义清楚矩阵类型 矩阵乘法注意尺寸对应 代码 头文件声明 #include <Eigen/Dense> 1. ...

  3. matlab和Eigen库中的一些旋转矩阵(方向余弦矩阵)、四元数和欧拉角之间的转换和绘图的注意事项

    最近用matlab和Eigen库中的一些旋转矩阵(方向余弦矩阵).四元数和欧拉角之间的转换和绘图,弄得我有些头疼,把遇到的问题记录一下,以防以后又脑阔疼....有不同的理解可以再评论区批评指正- 主要 ...

  4. ROS中使用Eigen库[不定期更新]

    前期说明 ROS中的数据操作需要线性代数,Eigen库是C++中的线性代数计算库. Eigen库独立于ROS,但是在ROS中可以使用. Eigen库可以参见http://eigen.tuxfamily ...

  5. eigen库学习笔记(2)

    这里主要整理矩阵运算相关内容.其中备注了与Matlab的命令对比. eigen库的矩阵运算 Eigen 矩阵定义 Eigen 基础使用 Eigen 特殊矩阵生成 Eigen 矩阵分块 Eigen 矩阵 ...

  6. eigen库学习笔记

    #简介 Eigen是有关线性代数(矩阵.向量等)的c++模板库.支持SSE2/3/4, ARM NEON (32-bit and 64-bit), PowerPC AltiVec/VSX (32-bi ...

  7. 视觉SLAM十四讲学习笔记-第三讲-旋转矩阵和Eigen库

    专栏系列文章如下: 视觉SLAM十四讲学习笔记-第一讲_goldqiu的博客-CSDN博客 视觉SLAM十四讲学习笔记-第二讲-初识SLAM_goldqiu的博客-CSDN博客 视觉SLAM十四讲学习 ...

  8. Linux下添加eigen头文件,移植Eigen库到SylixOS下及使用方法

    1. 开发环境 宿主机:Windows 7 集成开发环境:Real-Evo IDE 3.5.3 虚拟机:Ubuntu 目标机:x86 2. Eigen简介 Eigen是一个提供了线性代数.矩阵.向量操 ...

  9. 0.前言 与 Eigen库的使用整理

    [C++ 基于Eigen库实现CRN前向推理] 前言:背景 与 Eigen库的使用整理 前言:(Eigen库使用记录) 第一部分:WavFile.class (实现读取wav/pcm,实现STFT) ...

  10. 关于C++中Eigen库效率提升的思考

    目录 引言 一.什么是Eigen? 二.使用步骤 1.引入库 2.建立矩阵 3.基本操作 三.具体的例子--矩阵乘法 1.Eigen库 2.GPU并行计算 总结 可能的方案 引言 在处理矩阵运算上,各 ...

最新文章

  1. 昌邑机器人_上下料机器人昌邑机器人生产工厂
  2. Python:为什么只有一个元素的tuple要加逗号?
  3. 热插拔是什么?(Hot Swap hot-plugging hot plugging 带电插拔)USB热插拔
  4. 获取顶级域名与一级域名的python库-tld
  5. Java好学吗 没基础能学会吗
  6. 1724: [Usaco2006 Nov]Fence Repair 切割木板( 贪心 )
  7. How SAP concrete schema id is got based on transaction type plus catalog type
  8. redis集群部署及常用的操作命令_01
  9. 服务器 风扇测试软件,图解服务器风扇安装的正确方法
  10. oracle开启日志服务,Oralce 归档日志开启与关闭示例
  11. 用python前端html后端django_浅谈Django前端后端值传递问题
  12. [转载] Python - filter()用法
  13. python公开课乐博学院_乐搏学院VIP36期全栈班学习群 - 乐搏软件教育 - 软件测试 - Powered By EduSoho...
  14. 软件测试-缺陷报告(自己看)
  15. [翻译]利用C#获取终端服务(Terminal Services)会话的闲置时间
  16. 异常处理·psftp·local unable to open
  17. LTE物理层一些基本概念
  18. 【FOC控制】英飞凌TC264无刷驱动方案simplefoc移植(1)-霍尔编码器移植
  19. 血与荣耀(第七章-战鼓)
  20. python中的eval函数的使用详解

热门文章

  1. [亲测有效]解决:dpkg: 错误: 另外一个进程已经为 dpkg frontend lock 加锁
  2. javassist学习
  3. 领歌敏捷协作——修改密码
  4. 大数据面试题汇总【持续更新】
  5. aarch64异常(一)aarch64异常简介
  6. js判断一个对象为空对象的几种方法
  7. TensorRT介绍
  8. 前端开发,同步与异步的区别
  9. JESD204B协议理解三:第6章 确定性延时
  10. QWidget(长文)