Numpy与Pytorch 矩阵操作方式

Numpy

随机矩阵: np.random.randn(d0, d1, d2, ...)

矩阵大小与形状: np.ndarray.size 与 np.dnarray.shape

Pytorch

随机矩阵: torch.randn(d0, d1, d2, ...)

添加维度: tensor.unsqueeze(0)

压缩维度: tensor.squeeze(0)

按维度拼接tensor: torch.cat(inputs, dim=0, ...)

维度堆叠: torch.stack(inputs, dim=0)

张量排序索引: tensor.sort(descending=True) 返回一个tensor为排序后的tensor, 一个为index_tensor

矩阵元素夹逼: tensor.clamp()

矩阵切割: torch.chunk(tensor, chunks, dim)

矩阵复制: torch.repeat(*size)

生成零矩阵: torch.torch.zeros(5, 3, dtype=torch.long)

生产同形状的随机矩阵:x = torch.randn_like(x, dtype=torch.float)

矩阵中函数名以'_'结尾的,如:y.add_(x),运算结束后会改变y本身

以上这篇Numpy与Pytorch 矩阵操作方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python返回数组的索引实例

    使用python里的index nums = [1, 2, 3, 4, 5, 6, 1, 9] print nums.index(max(nums)) print nums.index(1) 该方法同样适合于字符串: str1 = 'abcd' print str1.index('c') 但是对于数组或者字符串里面含有不止一个要检索的数字时,只会返回第一个元素的索引. nums = [1, 2, 3, 4, 5, 6, 1, 9] print nums.index(2) print nums[:

  • python中找出numpy array数组的最值及其索引方法

    在list列表中,max(list)可以得到list的最大值,list.index(max(list))可以得到最大值对应的索引 但在numpy中的array没有index方法,取而代之的是where,其又是list没有的 首先我们可以得到array在全局和每行每列的最大值(最小值同理) >>> a = np.arange(9).reshape((3,3)) >>> a array([[0, 1, 2], [9, 4, 5], [6, 7, 8]]) >>&

  • Pytorch 多维数组运算过程的索引处理方式

    背景:对 python 不熟悉,能看懂代码,也能实现一些简单的功能,但是对 python 的核心思想和编程技巧不熟,所以使 Pytorch 写 loss 的时候遇到很多麻烦,尤其是在 batch_size > 1 的时候,做矩阵乘法之类的运算会觉得特别不顺手. 所幸,在边查边写的过程中,理解了 python 中多维运算的实现规则. 1.python 的基本索引规则 从 0 开始 对于给定的范围,如 b = a[m:n], 那么 b 为由 (n-m)个数据组成的新数组,由 a[m],a[m+1],

  • numpy中实现ndarray数组返回符合特定条件的索引方法

    在numpy的ndarray类型中,似乎没有直接返回特定索引的方法,我只找到了where函数,但是where函数对于寻找某个特定值对应的索引很有用,对于返回一定区间内值的索引不是很有效,至少我没有弄明白应该如何操作尴尬.下面先说一下where函数的用法吧. (1)where函数的使用场景: 例如现在我生成了一个数组: import numpy as np arr=np.array([1,1,1,134,45,3,46,45,65,3,23424,234,12,12,3,546,1,2]) 现在a

  • Numpy与Pytorch 矩阵操作方式

    Numpy 随机矩阵: np.random.randn(d0, d1, d2, ...) 矩阵大小与形状: np.ndarray.size 与 np.dnarray.shape Pytorch 随机矩阵: torch.randn(d0, d1, d2, ...) 添加维度: tensor.unsqueeze(0) 压缩维度: tensor.squeeze(0) 按维度拼接tensor: torch.cat(inputs, dim=0, ...) 维度堆叠: torch.stack(inputs,

  • Python的numpy库中将矩阵转换为列表等函数的方法

    这篇文章主要介绍Python的numpy库中的一些函数,做备份,以便查找. (1)将矩阵转换为列表的函数:numpy.matrix.tolist() 返回list列表 Examples >>> >>> x = np.matrix(np.arange(12).reshape((3,4))); x matrix([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> x.tolist() [[0, 1, 2

  • 对numpy 数组和矩阵的乘法的进一步理解

    1.当为array的时候,默认d*f就是对应元素的乘积,multiply也是对应元素的乘积,dot(d,f)会转化为矩阵的乘积, dot点乘意味着相加,而multiply只是对应元素相乘,不相加 2.当为mat的时候,默认d*f就是矩阵的乘积,multiply转化为对应元素的乘积,dot(d,f)为矩阵的乘积 3. 混合时候的情况,一般不要混合 混合的时候默认按照矩阵乘法的, multiply转化为对应元素的乘积,dot(d,f)为矩阵的乘积 总结:数组乘法默认的是点乘,矩阵默认的是矩阵乘法,混

  • Python使用numpy模块实现矩阵和列表的连接操作方法

    Numpy模块被广泛用于科学和数值计算,自然有它的强大之处,之前对于特征处理中需要进行数据列表或者矩阵拼接的时候都是自己写的函数来完成的,今天发现一个好玩的函数,不仅好玩,关键性能强大,那就是Numpy模块自带的矩阵.列表连接函数,实践一下. #!usr/bin/env python #encoding:utf-8 from __future__ import division ''' __Author__:沂水寒城 使用numpy模块实现矩阵的连接操作 ''' import numpy as

  • numpy.std() 计算矩阵标准差的方法

    计算矩阵标准差 >>> a = np.array([[1, 2], [3, 4]]) >>> np.std(a) # 计算全局标准差 1.1180339887498949 >>> np.std(a, axis=0) # axis=0计算每一列的标准差 array([ 1., 1.]) >>> np.std(a, axis=1) # 计算每一行的标准差 array([ 0.5, 0.5]) 官方手册:http://docs.scipy.

  • Python numpy.zero() 初始化矩阵实例

    那就废话不多说,直接上代码吧! new_array = np.zeros((107,4))# 共107行 每行4列 初值为0 >>> new_array = np.zeros((107,4)) >>> new_array array([[0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0.

  • Numpy之将矩阵拉成向量的实例

    废话不多说,直接上代码吧! # 矩阵操作 # 将矩阵拉成向量 import numpy as np x = np.arange(10).reshape(2,5) print(x) y1 = x.ravel() y2 = x.flatten() print("y1: ",y1," y2: ",y2) print(x) """ 打印结果: [[0 1 2 3 4] [5 6 7 8 9]] y1: [0 1 2 3 4 5 6 7 8 9]

  • Python Numpy实现计算矩阵的均值和标准差详解

    目录 一.前言 二.详解计算均值和标准差 三.实践:CRITIC权重法计算变异系数 一.前言 CRITIC权重法是一种比熵权法和标准离差法更好的客观赋权法: 它是基于评价指标的对比强度和指标之间的冲突性来综合衡量指标的客观权重.考虑指标变异性大小的同时兼顾指标之间的相关性,并非数字越大就说明越重要,完全利用数据自身的客观属性进行科学评价. 对比强度是指同一个指标各个评价方案之间取值差距的大小,以标准差的形式来表现.标准差越大,说明波动越大,即各方案之间的取值差距越大,权重会越高: 指标之间的冲突

  • 使用numpy.mean() 计算矩阵均值方式

    目录 numpy.mean计算矩阵均值 均值函数numpy.mean mean是numpy中常用的求均值函数 numpy.mean计算矩阵均值 计算矩阵的均值 >>> a = np.array([[1, 2], [3, 4]]) >>> np.mean(a) # 将上面二维矩阵的每个元素相加除以元素个数(求平均数) 2.5 >>> np.mean(a, axis=0) # axis=0,计算每一列的均值 array([ 2.,  3.]) >&g

  • 解决Numpy与Pytorch彼此转换时的坑

    前言 ​   最近使用 Numpy包与Pytorch写神经网络时,经常需要两者彼此转换,故用此笔记记录码代码时踩(菜)过的坑,网上有人说: Pytorch 又被称为 GPU 版的 Numpy,二者的许多功能都有良好的一一对应. ​但在使用时还是得多多注意,一个不留神就陷入到了 一根烟一杯酒,一个Bug找一宿 的地步. 1.1.numpy --> torch ​   使用 torch.from_numpy() 转换,需要注意,两者共享内存.例子如下: import torch import num

随机推荐