4、PyTorch入门:从基础操作到简单神经网络搭建

PyTorch入门:从基础操作到简单神经网络搭建

1. PyTorch基础操作与内部机制

如果你对所有这些基本操作都得心应手,就可以进入下一阶段并立即开始编码。PyTorch除了基本操作外,还有大量其他重要操作,在构建网络时会很有用。若想提前了解,可前往PyTorch官网查看其张量教程页面。

PyTorch的核心哲学之一是互操作性。开发团队投入大量时间实现不同框架(如ONNX、DLPack等)之间的互操作性。PyTorch的数据结构采用分层设计,这不仅使其具有互操作性,还提高了内存使用效率。其核心的计算密集部分通过ATen和Caffe2库迁移到了C/C++后端,以提升速度。

PyTorch最初是作为研究框架创建的,现在已转变为面向研究且适用于生产的框架。为满足多用途需求带来的权衡问题,引入了两种执行类型。

在C/C++后端设计的自定义数据结构分为不同层。为简化,这里主要关注简单的CPU数据结构。PyTorch中主要面向用户的数据结构是THTensor对象,它保存着维度、偏移量、步长等信息,还存储着指向THStorage对象的指针,THStorage是张量对象用于存储的内部层。

以下是一些张量操作的示例代码:

import torch

# 创建随机张量
x = torch.rand(2,3,4)
x_with_2n3_dimension = x[1, :, :]
scalar_x = x[1,1,1]     # 从每个维度取第一个值

# 类似numpy的切片操作
x = torch.rand(2,3)
print(x[:, 1:])        # 跳过
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值