ND4J矩阵变换的常用函数整理

由本人阅读nd4j源码整理,nd4j是dl4j为了矩阵运算整出来的一套工具。对应python里的numpy,但是并没有numpy那么普及,不过至少使用dl4j搭建神经网络以及数据预处理时,会使用nd4j是必不可少的。

nd4j还有个功能是可以创建工作区workspace用来管理堆内存的回收,或者我们直接扔给GC来管理INDArray的内存回收就好。这个功能以后有机会再说,那么进入正题:

  • 矩阵创建

方法

用法

Nd4j.zeros / ones / valueArrayOf

创建全部元素都是0/1/value的矩阵或向量

通用函数:

valueArrayOf(int[] shape, double value)

实数版:

complexValueOf

Nd4j.create

将double数组转化为N维向量

create(double [] data,int [] shape)

二维数组

Create(double [][] data)

Nd4j.rand

输出随机矩阵,(0,1)之间随机值

rand(int [] shape)

rand(int [] shape, long seed)

Nd4j.linspace

输出数值等差的一维向量

Nd4j.diag

以某个标量/向量/矩阵为对角生成对角矩阵

Nd4j.eye

单位矩阵

  • 矩阵属性

属性

用法

Rows,columns

可以用getRow和getColumn获取某一行或者某一列的视图,并可以通过修改视图对原始数据进行局部修改。不想对原数据修改,可调用dup函数进行复制。

可以用rows和columns来获取有多少行多少列

shape

Int[] 返回每一维的维度 (Arrays.toString可用于打印维度)

rank

维数

length

总共元素的个数(各个维度相乘)

data()

返回一个线性double数组替代这个INDArray

  • 矩阵数值变换、点积

方法

用法

get

get(INDArrayIndexes...indexes)

获取每一维的某几个index的数据组成的视图。对该视图的直接操作将影响原始数据。

subArray

offset,shape ,stride

返回子图

addi

add

sub

rsub

mul

div

rdiv

neg

eq

标量的加减乘除取负比较等等,

后面加i代表in_place就是替换原数据的意思。

前面加r就是用参数来减、除矩阵中的value。

对每个矩阵中的值做操作,都是标量计算。

add和mul参数可以传入和被操作数大小相同的矩阵,即两个矩阵对应的每个参数相加或相乘

put

替换矩阵中的某些值

putscalar

标量替换某些值

reshape

将矩阵变换为新的维数和维度的矩阵,但是length要保证相等

参数order是’c’/’f’

用C样索引顺序读取/写入元素,最后一个轴索引变化最快,回到第一个轴索引变化最慢。'F'意味着使用Fortran样索引顺序读取/写入元素,第一个索引变化最快,最后一个索引变化最慢。

上面这个是numpy中reshape的Order参数的含义,在Nd4j中应该雷同

permute/permutei

改变矩阵中维度的顺序

transpose/transposei

转置

linearView

返回展开成一维矩阵

  • 矩阵的拼接

方法

用法

Nd4j.hstack

横向拼接矩阵(row相同)

Nd4j.vstack

纵向拼接矩阵(column相同)

concat

指定维度拼接

concat(int dimension, INDArray... toConcat)

  • 矩阵的叉乘以及元素运算等

方法

用法

mmul

矩阵叉乘,注意两个相乘矩阵的行列对应关系。前者的列数等于后者的行数

BooleanIndexing.and/or

通过传入函数以及范围来返回bool值对矩阵元素进行判断

BooleanIndexing.applyWhere/replaceWhere

对满足条件的矩阵中的值进行替换或其他操作

max/min/sum

amax

指定维度的max、min、sum等

前面加a是absolute绝对值的意思

sigmond/abs/tanh/exp/sqrt/log等

相应的函数值,都是常用的计算函数

DL4J的矩阵处理模块ND4J的常用函数整理相关推荐

  1. python的shutil模块是内置的_Python之shutil模块11个常用函数详解,python内置函数是什么...

    Python之shutil模块11个常用函数详解,python内置函数是什么 shutil 是 Python 中的高级文件操作模块,与os模块形成互补的关系,os主要提供了文件或文件夹的新建.删除.查 ...

  2. [转载] python数学计算模块之math常用函数学习使用

    参考链接: Python中的分数模块Fraction 因为最近经常使用到math模块中的常用函数,但是又记不住所有的函数名称,在今天结束之前花一点时间总结一下吧,很多都用过,只有几个角度计算函数不常用 ...

  3. python scipy.stats.norm.cdf_python的scipy.stats模块中正态分布常用函数总结

    python的scipy.stats模块是连续型随机变量的公共方法,可以产生随机数,通常是以正态分布作为scipy.stats的基本使用方法.本文介绍正态分布的两种常用函数:1.累积概率密度函数sta ...

  4. pandas 常用函数整理

    pandas常用函数整理,作为个人笔记. 仅标记函数大概用途做索引用,具体使用方式请参照pandas官方技术文档. 约定 from pandas import Series, DataFrame im ...

  5. mysql数据库 常用函数_《MySQL数据库》常用函数整理

    原标题:<MySQL数据库>常用函数整理 以下内容,是我整理出来的比较常用的字符串函数,数值函数,日期函数. 第一类:字符串函数 1.conv(n,from_base,to_base):对 ...

  6. opencv常用函数整理

    opencv常用函数整理 一.常见函数整理 1.1 cv2.resize函数(图像size重定义) 1.2 cv2.getStructuringElement函数(构造卷积核) 1.3.cv2.put ...

  7. oracle有哪些常用函数,Oracle常用函数整理

    点击关注上方"SQL数据库开发", 设为"置顶或星标",第一时间送达干货 之前已经给小伙伴们整理了SQL Server和Mysql的常用函数,还没有看的可以戳下 ...

  8. numpy随机生成01矩阵_Python数据分析Numpy库常用函数详解,提到循环就该想到的库...

    Python进行数据分析的核心库肯定是Pandas,该库差不多可以解决结构化数据的绝大部分处理需求.在<Python数据分析常用函数及参数详解,可以留着以备不时之需 >一文中也已经对该库的 ...

  9. python 函数作用于矩阵_图解NumPy:常用函数的内在机制

    原标题:图解NumPy:常用函数的内在机制 来源: 机器之心 支持大量多维数组和矩阵运算的 NumPy 软件库是许多机器学习开发者和研究者的必备工具,本文将通过直观易懂的图示解析常用的 NumPy 功 ...

最新文章

  1. python加减法视频教程免费_一起学opencv-python三十八(视频分析:背景减法)
  2. 014PHP基础知识——流程控制(二)
  3. struts2教程(7)--拦截器
  4. android ndk 读短信,Android NDK之发送短信
  5. Windows下安装Tensorflow
  6. Redis和数据库的结合
  7. 【Linux】shell命令学习之find
  8. 常用的分布式唯一ID生成方案
  9. 【多题合集】【loliの模拟赛】排列组合大套餐
  10. js获取当前时间戳,仿PHP函数模式
  11. oppok1刷原生android10,OPPOK1系统升级最新ColorOSV6刷机包(完整固件rom下载ColorOSV6安卓9.0)...
  12. redis远程链接(NOAUTH Authentication required)
  13. Wireshark-001基本设置
  14. 在Dockerfile中安装本地whl包
  15. 2008秋季-计算机软件基础-0917课堂用例(1)
  16. 计算机视觉论文-2021-11-02
  17. linux iometer安装教程,硬盘测试软件IOMETER安装配置指南
  18. POI合并单元格后设置边框
  19. 如何用计算机作图并求斜率,简单斜率分析以及作图
  20. 一个无边界区块链世界DIOT平行链数字物联网致力打造跨境电商 跨境支付 跨境地产

热门文章

  1. 【读书2】【2014】基于MATLAB的雷达信号处理基础(第二版)——多普勒频移(1)
  2. Antd RangePicker 时间日期选择器 禁用当前时间往后的日期及现在时间往后的时分秒禁选
  3. 安装MySQL时提示错误:由于找不到MSVCP120.dIl,无法继续执行代码。重新安装程序可能会解决此 问题。
  4. 三十四载Windows崛起之路: 苹果、可视做过微软“铺路石”
  5. c语言怎样将程序转化为软件,怎么才能将C程序转化为arduino程序
  6. 除铜、除镍原装进口树脂CH-90
  7. 安费诺amphenol连接器_全球连接器供应商前50官网网址
  8. win7计算机所有软件无法运行程序,解决win7电脑程序打不开方法
  9. cors数据类型_详解如何解决CORS账号连接RTK无法获得固定解的问题
  10. 财务管理与合同管理的分析