简述:pytorch
一、PyTorch 是什么
PyTorch 是 Facebook 开源的主流深度学习框架,基于 Python,简单灵活、动态计算图,是科研和工业界最常用的深度学习工具。
核心用途:神经网络搭建、模型训练、图像识别、自然语言处理、遥感 / 地形检测等
核心特点:Python 友好、调试简单、代码直观、支持 GPU 加速
适用场景:从入门 demo 到大型项目(你的地形变化检测模型也能用 PyTorch 训练)
二、3 个最简单实用例子
例子 1:创建张量(基础数据结构)
python
import torch
# 创建张量(类似数组/矩阵)
a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])
# 张量运算
c = a + b
print(c) # 输出 tensor([5,7,9])
# 判断是否支持GPU
print("GPU可用:", torch.cuda.is_available())
例子 2:搭建一个简单神经网络
python
import torch
import torch.nn as nn
# 定义网络
model = nn.Sequential(
nn.Linear(10, 20), # 输入10维,输出20维
nn.ReLU(), # 激活函数
nn.Linear(20, 2) # 输出2分类
)
# 模拟输入
x = torch.randn(3, 10) # 3个样本,每个10个特征
out = model(x)
print("输出形状:", out.shape) # torch.Size([3,2])
例子 3:训练一个简单分类模型(完整小流程)
python
import torch
import torch.nn as nn
import torch.optim as optim
# 1. 造数据
x = torch.randn(100, 5) # 100个样本,5个特征
y = torch.randint(0, 2, (100,)) # 二分类标签
# 2. 模型、损失、优化器
model = nn.Linear(5, 2)
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)
# 3. 训练一步
optimizer.zero_grad() # 清空梯度
output = model(x) # 前向传播
loss = criterion(output, y) # 计算损失
loss.backward() # 反向传播
optimizer.step() # 更新参数
print("损失值:", loss.item())
三、一句话总结
PyTorch 是深度学习标配框架,用张量存储数据、用 nn 搭建网络、用优化器训练模型,代码简单、上手极快,可直接用于你的地形变化检测、实景三维模型训练。
本blog地址:https://blog.csdn.net/hsg77