从0开始学Pytorch:激活函数与卷积层基础讲解

### 激活函数与卷积层概述 **激活函数**:神经网络需非线性变换拟合复杂关系,激活函数引入非线性。常见函数: - **ReLU**:`y = max(0, x)`,计算简单,解决梯度消失,最常用(PyTorch:`nn.ReLU()`)。 - **Sigmoid**:`y = 1/(1+exp(-x))`,输出(0,1)用于二分类,但梯度消失(PyTorch:`nn.Sigmoid()`)。 - **Tanh**:`y=(exp(x)-exp(-x))/(exp(x)+exp(-x))`,输出(-1,1),均值0,易训练但仍有梯度消失(PyTorch:`nn.Tanh()`)。 **卷积层**:CNN核心,通过卷积核提取局部特征。基本概念:输入(如RGB图像,形状`(batch, in_channels, H, W)`)、卷积核(小矩阵)、步长(滑动像素数)、填充(边缘补0控输出尺寸)。PyTorch用`nn.Conv2d`实现,关键参数:`in_channels`(输入

阅读全文
Pytorch入门教程:手把手教你搭建第一个神经网络模型

本文是PyTorch入门教程,通过搭建基于MNIST数据集的全连接神经网络(MLP)模型,讲解核心操作。首先安装PyTorch(CPU/GPU版),使用torchvision加载MNIST数据集,经ToTensor转换为张量、Normalize标准化后,用DataLoader批量处理(batch_size=64)。模型定义为输入层784(28×28图像展平)、隐藏层128(ReLU激活)、输出层10(Softmax)的MLP,继承nn.Module实现前向传播。损失函数选CrossEntropyLoss,优化器用SGD(lr=0.01)。训练5个epoch,循环执行前向传播、损失计算、反向传播与参数更新,每100batch打印损失。测试时模型设为eval模式,禁用梯度计算,计算测试集准确率。教程还建议扩展方向,如调整网络结构、更换优化器或数据集等。

阅读全文
零基础学Pytorch:从张量到神经网络的入门指南

这篇文章介绍了PyTorch的核心内容及基础应用。PyTorch以灵活直观、语法接近Python著称,适合深度学习初学者,支持GPU加速和自动求导。核心内容包括: 1. **张量(Tensor)**:基础数据结构,类似多维数组,支持从数据、全0/1、随机数创建,可与NumPy互转,支持形状操作、算术运算(元素级/矩阵)及设备转换(CPU/GPU)。 2. **自动求导**:通过`autograd`实现自动微分,设置`requires_grad=True`的张量会被追踪计算历史,调用`backward()`自动计算梯度,如函数`y=x²+3x-5`在`x=2`时梯度为7.0。 3. **神经网络构建**:基于`torch.nn`模块,包含线性层(`nn.Linear`)、激活函数、损失函数(如MSE)和优化器(如SGD),支持自定义模型类和`nn.Sequential`组合。 4. **实战线性回归**:生成模拟数据`y=2x+3+噪声`,定义线性模型、MSE损失、

阅读全文