动手深度学习Pytorch版学习笔记(一)——Tensor张量

前言

开始沐神的《动手深度学习》pytorch 的学习 ,这边作为学习笔记的记录 当做自我监督
环境的搭建 这边就不记录了 实验室 以及自己的笔记本 配置的是GPU版本的 不过笔记本不用的还是CPU版本为主

1. 创建

# 导入
import torch

numpy创建Ndarray基本一致

x1 = torch.tensor([[3,3,3],[4,4,4]])
x2 = torch.rand(3,5) #0-1 随机
x3 = torch.zeros((3,3),dtype=torch.float)

x4 = torch.ones_like(x3) #_like 就是创建x3形状一样的tensor  ones全是1
# 这边随便举例 _like 可以任意用  用法很灵活

output:(jupyter notebook)

x1:
tensor([[3, 3, 3],
        [4, 4, 4]])
x2
tensor([[0.5000, 0.3394, 0.2527, 0.6741, 0.7538],
        [0.6232, 0.8377, 0.3280, 0.8127, 0.3826],
        [0.4493, 0.9924, 0.1987, 0.6049, 0.0384]])
x3
tensor([[0., 0., 0.],
        [0., 0., 0.],
        [0., 0., 0.]])
x4
tensor([[1., 1., 1.],
        [1., 1., 1.],
        [1., 1., 1.]])

通过shape或者size()来获取Tensor的形状:

x4.size() # torch.Size([3, 3])
x4.shape  # torch.Size([3, 3])

注意返回的是一个tuple

常用创建Tensor函数,创建的时候都可以指定dtype,官方API函数:

函数功能
tensor(data)直接构造函数,类比np.array
ones(sizes)全1
zeros(sizes)全0
eye(sizes)对角为1的tensor,其余为0
arange(s,e,step)从s到e,步长为step
linspace(s,e,steps)从s到e,均匀切分成steps份
rand/randn(*sizes)均匀/标准分布
normal(mean,std)/uniform(from,to)正态分布/均匀分布
randperm(m)随机排列

2. 操作

2.1 算数

加法实现

# 方法一:
x = torch.rand(3,5)
y = torch.rand(3,5)
x+y

# 方法二:
y.add_(x)

output:
tensor([[1.1435, 1.1241, 1.0746, 1.1653, 1.1604],
        [0.6596, 1.4197, 0.6226, 0.5329, 0.4953],
        [0.9231, 0.0624, 1.2208, 0.6266, 0.9014]])

pytorch中 _后缀 就是修改原本对象 这里就是将x加到y上 修改了y

写着写着 发现别人已经做过了 我去站在巨人的肩膀咯
深度学习 从零开始 会很慢 。。。。。。

框架学习后 就跑案例吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值