Pytorch入门(三)——张量

本文是PyTorch入门系列的第三篇,主要介绍张量的创建、运算和与Numpy的转换。内容包括如何创建未初始化、随机初始化、初始化为0的张量,以及张量的加法和形状改变。此外,还讨论了张量与Numpy数组之间的相互转换,强调两者共享内存,修改一者会影响另一者。
摘要由CSDN通过智能技术生成


%matplotlib具体作用是当你调用matplotlib.pyplot的绘图函数plot()进行绘图的时候,或者生成一个figure画布的时候,可以直接在你的python console里面生成图像。

%matplotlib inline
from __future__ import print_function
import torch

张量

Tensors与Numpy中的 ndarrays类似,但是在PyTorch中 Tensors 可以使用GPU进行计算.

张量是一个多维数据,是标量、向量、矩阵的高维拓展。
在这里插入图片描述

1.1 张量的创建

1.1.1 创建未被初始化张量

创建一个 5x3 矩阵, 但是未初始化

torch.empty()创建一个未被初始化数值的tensor,tensor的大小是由size确定

x = torch.empty(5,3)
print(x)
tensor([[1.0194e-38, 1.0469e-38, 1.0010e-38],
        [8.9081e-39, 8.9082e-39, 5.9694e-39],
        [8.9082e-39, 1.0194e-38, 9.1837e-39],
        [4.6837e-39, 9.9184e-39, 9.0000e-39],
        [1.0561e-38, 1.0653e-38, 4.1327e-39]])

1.1.2 随机初始化张量的创建

创建一个随机初始化的矩阵可以通过torch.randn和torch.rand以及torch.normal进行创建。

torch.randn和torch.rand和torch.normal的区别

* torch.rand(*sizes, out=None) 均匀分布:返回一个张量,包含了从区间[0, 1)的均匀分布中抽取的一组随机数。张量的形状由参数sizes定义。
* torch.randn(*sizes, out=None) 标准正态分布:返回一个张量,包含了从标准正态分布(均值为0,方差为1,即高斯白噪声)中抽取的一组随机数。张量的形状由参数sizes定义。
* torch.normal(means, std, out=None) 离散正态分布:返回一个张量,包含了从指定均值means和标准差std的离散正态分布中抽取的一组随机数。
* torch.linspace(start, end, steps=100, out=None)返回一个1维张量,包含在区间start和end上均匀间隔的step个点。输出张量的长度由steps决定。
#torch.rand(*sizes, out=None)
#sizes (int...) - 整数序列,定义了输出张量的形状
#out (Tensor, optinal) - 结果张量
y = torch.rand(5,3)#均匀分布
print(y)
tensor([[0.8548, 0.2107, 0.9187],
        [0.6068, 0.9645, 0.7863],
        [0.6950, 0.6796, 0.4461],
        [0.5648, 0.4092, 0.6973],
        [0.2998, 0.5046, 0.8426]])
y_rn = torch.randn(2,3)#标准正态分布
print(y_rn)
tensor([[ 1.3892, -1.0481,  0.5894],
        [-0.0072, -0.9936,  0.8110]])
#因为我的是CPU版本所以需要注意数据类型
tmp = torch.arange(1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值