DariaJin

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  7 随笔 :: 0 文章 :: 0 评论 :: 754 阅读

项目推进中期,重新到头来学Pytorch。five落泪了。(╬▔皿▔)凸

 笑死,憋不住了,边更边学。

 

整篇博客整体采用总分总形式。首先将介绍内容(加黑部分)之间关系进行概括,后拆解,最后以图总结。

全文参考链接:学习 PyTorch (apachecn.org)

 

分类器 对样本进行分类的方法的统称,包含决策树、逻辑回归、朴素贝叶斯、神经网络等算法。

分类器训练流程如下

 

神经网络   相关具体知识在此不作赘述。以下链接、推荐供大概了解。博客用到的相关知识会再做解释。

大部分神经网络可分类作前馈网络,仅做正向传播,数据仅从输入经处理到输出。但也可以使用反向传播来训练模型,以达到调整模型参数的目的。

神经网络的模型参数含权重、阈值、损失/loss等。

神经网络一般训练过程如下

参考链接:什么是神经网络? - 中国 | IBM

参考书:西瓜书

 

Pytorch   一个python语言的科学计算/深度学习框架,可用于搭建神经网络。

import torch

 

基础知识——Tensor  一个类似numpy的ndarray,且可以在GPU上运行的lib。

在Pytorch框架中,神经网络的输入、输出及参数都用Tensor来描述。

在通过下列引用后,

import torch
import numpy as np

可实现操作包含但不限于

  • (随机)创建Tensor
  • 构建全0矩阵/指定数据的矩阵
  • 重载已有的Tensor
  • 获取Tensor的shape/Data type/存储的device
  • 运算
  • 索引某个值
  • 改变Tensor的shape
  • torch、numpy之间转换

 

加载数据

 

其中可调用子类化后的自己的BasicDataset,实例化,用BasicDataset的方法len()查看数据集大小。

图片来自链接:Pytorch-UNet-master>utils>data_loading.py - 麋鹿咖啡魔法师 - 博客园 (cnblogs.com)

 

 

 

 

 

定义神经网络

torch.nn来构建神经网络。其中nn.Module包含各层,以及返回output的方法forward(input)。

torch.autograd为torch.nn提供支持,以定义模型并对其进行微分。

import torch
import torch.nn as nn
import torch.nn.functional as F

 

定义损失函数 --> 计算损失

 

 

将梯度反向传播给网络参数

 

 

更新权重

posted on   麋鹿咖啡魔法师  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示