机器学习:pytorch框架(4)--张量操作和创建,实现一元线性回归

 学习记录总结专栏:机器学习:PyTorch框架-个人学习总结(专栏)icon-default.png?t=O83Ahttps://blog.youkuaiyun.com/spiderb/category_12838886.html


1 前言

在(3)中,通过学习一个实例对pytorch框架有了一个初步认识,但如果想要对pytorch框架实现随心所欲的调整和运用,那就需要对一些基本内容有更加深入的理解和实操。所以基于框架核心的张量概念,做进一步的学习。

2 张量的操作(拼接、切分、索引和变换)

2.1 张量拼接

# (1)将张量按照维度dim进行拼接(不会扩展张量的维度)
torch.cat(
    tensors, # 张量序列
    dim=0, # 要拼接的维度
    out=None
)
# 示例
t = torch.ones((2,3))
t_cat0 = torch.cat([t,t],dim=0)
t_cat1 = torch.cat([t,t],dim=1)
print("t_cat0:{} shape:{}\n t_cat1:{} shape:{}".format(t_cat0,t_cat0.shape,t_cat1,t_cat1.shape))
# 输出结果
t_cat0:tensor([[1., 1., 1.],
        [1., 1., 1.],
        [1., 1., 1.],
        [1., 1., 1.]]) shape:torch.Size([4, 3])
t_cat1:tensor([[1., 1., 1., 1., 1., 1.],
        [1., 1., 1., 1., 1., 1.]]) shape:torch.Size([2, 6])


# (2)在新创建的维度dim上进行拼接(会扩展张量的维度)
torch.stack(
    tensors, # 张量序列
    dim=0, # 要拼接的维度
    out=None
)
# 示例
t = torch.ones((2,3))
t_stack0 = torch.stack([t,t],dim=2)
print("t_stack0:{} shape:{}".format(t_stack0,t_stack0.shape))
# 输出结果
t_stack0:tensor([[[1., 1.],
         [1., 1.],
         [1., 1.]],

        [[1., 1.],
         [1., 1.],
         [1., 1.]]]) shape:torch.Size([2, 3, 2])

2.2 张量切分


                
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值