简述:pytorch

一、PyTorch 是什么
PyTorch 是 Facebook 开源的主流深度学习框架,基于 Python,简单灵活、动态计算图,是科研和工业界最常用的深度学习工具。
核心用途:神经网络搭建、模型训练、图像识别、自然语言处理、遥感 / 地形检测等
核心特点:Python 友好、调试简单、代码直观、支持 GPU 加速
适用场景:从入门 demo 到大型项目(你的地形变化检测模型也能用 PyTorch 训练)

二、3 个最简单实用例子
例子 1:创建张量(基础数据结构)

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:搭建一个简单神经网络

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:训练一个简单分类模型(完整小流程)

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

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐