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

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

动手深度学习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.arrayones(sizes)全1zeros(sizes)全0eye(sizes)对角为1的tensor,其余为0arange(s,e,step)从s到e,步长为steplinspace(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

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

框架学习后 就跑案例吧

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5480095.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存