Pytorch实践(刘二大人)9:卷积神经网络
思路导入库123456import torchfrom torchvision import transformsfrom torchvision import datasetsfrom torch.utils.data import DataLoaderimport torch.nn.functional as Fimport torch.optim as optim
import torch:PyTorch的核心库,提供张量(Tensor)操作、自动微分、GPU加速等功能
from torchvision import...
more...
Pytorch实践(刘二大人)8:多分类问题
数学思路数据表征将$28 \times 28$像素的灰度图像展开为784维向量,$x ∈ ℝ^{784}$,像素值归一化至[0, 1]区间[^1]。标签采用one-hot编码,构建目标函数$y ∈ {0,1}^{10}$[^2]
前向传播网络维度变化$784\Longrightarrow 512\Longrightarrow 256\Longrightarrow 128\Longrightarrow 64\Longrightarrow...
more...
Pytorch实践(刘二大人)7:加载数据集
思路加载数据集123456789101112131415class DiabetesDataset(Dataset): def __init__(self, filepath): xy = np.loadtxt(filepath,delimiter=',',dtype=np.float32) self.len = xy.shape[0] self.x_data = torch.from_numpy(xy[:, :-1]) self.y_data = torch.from_numpy(xy[:, [-1]]) def __getitem__(self,...
more...
Pytorch实践(刘二大人)6:处理多维特征的输入
思路数据准备123xy = np.loadtxt('diabetes.csv', delimiter=',', dtype=np.float32)x_data = torch.from_numpy(xy[:, :-1])y_data = torch.from_numpy(xy[:, [-1]])
x_data表示读取所有行,从第一列读到倒数第二列
y_data表示读取所有行的最后一列
模型设计12345678910111213class Model(torch.nn.Module): def...
more...
Pytorch实践(刘二大人)5:逻辑斯蒂回归
基础知识交叉熵(Cross-Entropy)交叉熵衡量的是估计的概率分布Q近似真实分布P时所需的平均信息量$$H(P,Q)=-\sum_i P(i)lnQ(i)$$
似然函数(Likelihood...
more...
Pytorch实践(刘二大人)4:用PyTorch实现线性回归
思路准备数据12x_data = torch.tensor([[1.0], [2.0], [3.0]])y_data = torch.tensor([[2.0], [4.0], [6.0]])
定义模型结构
定义线性模型$y = w \times x + b$
12345678910class LinearModel(torch.nn.Module): def __init__(self): super().__init__() self.linear = torch.nn.Linear(1, 1) # 输入维度1,输出维度1(即 y = w*x + b) def...
more...
Pytorch实践(刘二大人)3:反向传播
基础知识PyTorch语法PyTorch语法
张量(Tensor)是一个广义的数学概念
0阶张量:标量(Scalar),如温度、质量
1阶张量:向量(vector),如速度、力
2阶张量:矩阵(Matrix),如应力张量、图像像素矩阵
更高阶张量:如RGB图像(3阶张量:$高度\times 宽度\times 通道$^1)、视频数据(4阶张量:$时间\times 高度\times 宽度\times 通道$)^1
计算图(Computational...
more...
Pytorch实践(刘二大人)2:梯度下降算法
思路
模型定义,如假设模型为$y=w \cdot x$
损失函数:$MSE = \frac{1}{N}\sum_{i=1}^{N}(w\cdot x_i - y_i)^2$
梯度计算:$\frac{\partial \text{MSE}}{\partial w} = \frac{2}{N} \sum_{i=1}^{N} x_i \cdot (w \cdot x_i -...
more...
Pytorch实践(刘二大人)1:线性模型
使用穷举法寻找线性回归模型中最佳权重参数w注意:
对于numpy需要先下载依赖pip install numpy
对于matplotlib.pyplot,若有anaconda则无需下载
123456789101112131415161718192021222324252627282930313233343536import numpy as np;import matplotlib.pyplot as pltx_data = [1.0,2.0,3.0]y_data = [2.0,4.0,6.0]w_list = []mse_list = []# 定义前馈函数def forward(x):...
more...







