最近用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. 32.210内存的知识
  3. LInux CentOS6 无人值守安装实例(原作)
  4. IE iframe 中 js 的 cookie 读写不到的解决办法
  5. JavaScript实现单词首字母大写的方法集锦
  6. ANN:DNN结构演进History—LSTM_NN
  7. linux进程间的通信(C): 共享内存
  8. STM32的EXTI相关学习笔记
  9. 轻量化网络MobileNet解析
  10. mac os 设置汇总
  11. 400本以上电子书、1000门以上课程会员免费看,快来领取!
  12. ROS 内外网做双网卡绑定负载分流教程bonding 配置教程
  13. nyoj--325--zb的生日
  14. nodejs之路-[0]安装及简易配置
  15. 【C语言】双人格斗小游戏(源码)
  16. web字体设置成平方字体_Web字体正确完成
  17. CMD-NET命令详解
  18. Python学习笔记-2017.5.4thon学习笔记-2017.8.16
  19. python Numpy中求向量和矩阵的范数
  20. 【图像超分辨率】Satellite Image Super-Resolution via Multi-Scale Residual Deep Neural Network

热门文章

  1. [sv] timescale
  2. CIKM 2020 Graph Prototypical Networks for Few-shot Learning on Attributed Networks 小样本图学习
  3. 1、并发测试的几种简单方法
  4. 原来运行正常的项目,今天突然出现异常Fatal signal 6 (SIGABRT)
  5. Btrace入门级别的简单使用
  6. 数据库增删改查类文件DBHelper
  7. java循环学习(例题)
  8. ES基础篇-11-Spring提供的elasticsearch组件:Spring Data Elasticsearch
  9. CentOS启动图形界面startx:xauth: file /root/.serverauth.25690 does not exist
  10. UML图之『状态图』就是这么简单搞定