初识Pytorch

初识Pytorch

在Pytorch当中,torch.tensor是储存和变化的主要工具。其中Tensor提供GPU计算和自动求梯度等功能,这让Tensor更加适合深度学习

首先导入Pytorch:

import torch

torch有一个操作是rand,它可以来生成一个指定大小的随机矩阵

y = torch.rand(5,3)
y
tensor([[0.0714, 0.8323, 0.1296],
        [0.8457, 0.9962, 0.9307],
        [0.3740, 0.7760, 0.5245],
        [0.3022, 0.2628, 0.1213],
        [0.5137, 0.3057, 0.7018]])

另外还可以形成零矩阵,同时可以自己指定数据的类型

x = torch.zeros(5,3,dtype=torch.long)
x
tensor([[0, 0, 0],
        [0, 0, 0],
        [0, 0, 0],
        [0, 0, 0],
        [0, 0, 0]])

还可以直接根据数据进行创建

x = torch.tensor([5.5,3])
x
tensor([5.5000, 3.0000])

可以通过shape和size返回一个tuple,代表这个数据的大小:

x.size()
torch.Size([2])
x.shape
torch.Size([2])

由于是tuple类型,所以支持所有的tuple操作

索引

索引出来的结果与元数据共享内存,如果修改了一个,另外一个也会跟着修改

x = torch.rand(5,3,dtype=torch.float)
x
tensor([[0.7576, 0.3497, 0.5464],
        [0.3435, 0.6653, 0.3712],
        [0.7674, 0.4093, 0.9313],
        [0.0418, 0.0199, 0.4834],
        [0.9696, 0.6401, 0.4849]])
y = x[0,:]
y
tensor([0.7576, 0.3497, 0.5464])
y += 1
print(y)
print(x[0,:])
tensor([1.7576, 1.3497, 1.5464])
tensor([1.7576, 1.3497, 1.5464])

可以发现修改y,x也同时被修改了

改变形状

view()提供了这个功能,它能够改变Tensor的形状,但要注意,view仅仅是改变了对这个张量的观察角度,内部数据并没有发生改变

y = x.view(15)
z = x.view(-1, 5)  # -1所指的维度可以根据其他维度的值推出来
print(x.size(), y.size(), z.size())
torch.Size([5, 3]) torch.Size([15]) torch.Size([3, 5])

如果我们只是想返回一个副本,不想改变原数据集该怎么办》Pytorch提供了clone,它就是创建一个副本

x_cp = x.clone()
x += 5
print(x)
print(x_cp)
tensor([[6.7576, 6.3497, 6.5464],
        [5.3435, 5.6653, 5.3712],
        [5.7674, 5.4093, 5.9313],
        [5.0418, 5.0199, 5.4834],
        [5.9696, 5.6401, 5.4849]])
tensor([[1.7576, 1.3497, 1.5464],
        [0.3435, 0.6653, 0.3712],
        [0.7674, 0.4093, 0.9313],
        [0.0418, 0.0199, 0.4834],
        [0.9696, 0.6401, 0.4849]])

使用clone还有一个好处是会被记录在计算图中,即梯度回传到副本时也会传到源Tensor
还有一个函数item(),它可以将一个Tensor标量转换成一个number

x = torch.randn(1)
print(x)
print(x.item())
tensor([-0.1111])
-0.11108279973268509

线性代数

Pytorch中的Tensor支持超过一百种操作,包括转置、索引、切片、数学运算、线性代数等

内容概要:本文深入探讨了折扣店快消品定价的研究,涵盖快消品与折扣店行业的概述、定价影响因素、定价策略、定价方法、定价技巧及案例分析。快消品行业涉及日常生活用品、食品、饮料等,具有高频次和重复购买的特点。折扣店市场规模不断扩大,主要参与者包括赵一鸣、好特卖等。影响定价的因素包括成本(生产、库存、物流)、市场需求(规模、购买力、需求弹性)、竞争(对手定价策略、市场份额)、产品特性(差异化、品牌形象)、渠道与分销成本、政府政策等。定价策略分为成本导向(成本加成、目标收益)、需求导向(理解价值、需求差异)和竞争导向(随行就市、投标定价)。定价方法包括市场调研、成本加成、竞争比较和价值定价。定价技巧涵盖高价撇脂、渗透定价、价格歧视和捆绑定价。最后通过好特卖、嗨特购、零食很忙的案例分析,展示了不同折扣店的定价策略及其效果。 适合人群:从事快消品行业、折扣店运营的管理人员及对定价策略感兴趣的商业人士。 使用场景及目标:①帮助折扣店管理者了解定价的基本理论和实际操作方法;②为快消品企业提供定价决策支持,优化定价策略;③通过案例分析,提供实际操作中的经验和教训。 其他说明:折扣店在制定快消品定价时,应综合考虑多种因素,灵活运用不同的定价策略和技巧,以应对市场变化,提升竞争力。建议企业定期监控市场动态,分析消费者反馈,不断优化定价方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

call me Patrick

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值