Pytorch Pytorch+深度学习神经网络相关学习收获

2023-11-13

一、基础知识

机器学习 本质就是通过 数据+答案的数据集 经过机器学习的训练 得到相关的规则进行预测

对应224×224×3的图像 代表的意思是 高×宽×通道
3通道可以理解为RGB的

二、Pytorch

pytorch好处
①利用GPU进行加速
②用于构建深度神技网络

三、如何实现一个神经网络

get_data() 准备数据 准备输入输出的张量(张量可以理解为数组)
get_weights() 创建学习参数,最原始的参数都是随机得到的,然后一步步优化
simple_network() 简单的网络架构 最简单的是线性规则作为输入产生对应的输出 y=wx+b
loss_fn() 损失函数,用来评估模型性能的好坏,同时可以作为优化器的输入 进行进一步的性能优化 常用的指标是误差平方和 SSE MSE
optimize() 优化器,调整初试随机权重(根据loss调整参数)

四、pytorch的数据类型

pytorch 有两种数据类型(张量和变量)
张量类似numpy中的数组
0维张量:标量 FloatTensor 或 LongTensor
1维张量:向量 元素序列的数组
2维张量:矩阵
3维张量:多个矩阵累加到一起(宽,高,颜色)
切片张量:进行截取
4维张量:一批图像
5维张量:视频
通常用cuda()方法,将张量从cpu复制到gpu

五、常用结构

torch.random 任意给定形状创建随机值
loss 评估损失
learning_rate 超参数,用较小梯度调整
优化器 常用的有Adam、RMSprop、SGD优化
加载数据:
DataSet类:任何数据集都要继承这个类,并且要实现__len__(self)与__getitem__(self,idx)方法
Dataloader:这个类位于pytorch 的utils类中,负责将数据集对象与不同取样器联合

常用的非线性函数有:sigmoid、tanh、ReLU、Leaky ReLU
①fx=1/(1+e^x)
输入实数,0-1之间输出,极大负值更接近0,极大正值更加接近1
②tanh
-1到1之间
③ReLU
fx=max(0,x)
有助于更快找到权重集合,随机梯度收敛快
成本低,只是判断就行
缺点:有很大梯度反向传播时,神经元完全无效,可通过选择对应的学习率来控制
④Leaky ReLU
非连续 饱和度设为0.001

六、构造神经网络的相关知识

pytorch子类要调用nn.Module
init初始化层,forward 传值并且返回输出

优化器需要一个标量值,由loss层生成,有时需要多个

也可以是交叉熵损失(总和为1)

loss=nn.CrossEntropyLoss()/nn.MSELoss()
input=Variable(torch.random(3,5),requires_grad=True)
target=Variable(torch.LongTensor(3).random_(50))
output=loss(input,output)
output.backward()

常用的损失函数
L1loss 正则化使用
MSELoss 均方误差损失,用于回归
CrossEntropyLoss 交叉熵损失,用于二分类和多类别分类
NLLLoss 用于分类
NLLLoss2d 像素级分类

常用的优化网络架构
ADADELTA
Adagrad
Adam
Sparse
Adamax
ASGD
LBFGS
RMSprop
Rprop
SGD

优化中要记得用zero_grad()函数避免参数累加

七、数据集处理

glob方法返回特定路径的所有文件,文件巨大可以用iglob

pytorch对数据做的工作
1、转换为同等大小
2、用数据集的均差和标准差归一化
3、图片数据转换为Pytorch张量

DataLoader: 两个参数
1、shuffle 为True的时候,每次调用混合排列图片
2、num_workers:用于并发 并发进程个数

通过torchvision.models 获取模型

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pytorch Pytorch+深度学习神经网络相关学习收获 的相关文章

随机推荐

  • 【雕爷学编程】Arduino动手做(65)---TCRT5000红外寻迹传感器模块3

    37款传感器与模块的提法 在网络上广泛流传 其实Arduino能够兼容的传感器模块肯定是不止37种的 鉴于本人手头积累了一些传感器和执行器模块 依照实践出真知 一定要动手做 的理念 以学习和交流为目的 这里准备逐一动手试试多做实验 不管成功
  • layuiAdmin后台框架以及动态权限(二)

    之前写的ssm权限系统 不再赘述 由于之前的系统是由上到下 一层层查找封装的权限数据结构 系统性能不好 和数据库会有多次交互 下面介绍第二种方式 上一篇 layuiAdmin后台框架以及动态权限 源码杂录的博客 CSDN博客 layuiad
  • KORNIA与torch 版本存在依赖关系

    KORNIA 0 58对应torch 1 7 以上对应1 8 可以多下载几个多次安装 直到支持
  • html 引入md文件,webpack将打包目录下的md、html文件解析了

    webpack 加载不加载哪个文件 与你把文件放在哪个目录无关 与你设不设置 loader也无关 webpack 打包的时候会静态代码分析 从入口文件开始 把你require import的文件打包 比如 import xx from sr
  • SPSS-线性回归

    线性回归的因变量是连续数值型变量 回归的分类见113985634 R方 变量之间是否有相关性 模型汇总表 中R表示拟合优度 值越接近1表示模型越好 但不能说他们之间不相关 可能是非线性相关 一元线性回归里 相关系数平方就是R方 多元线性回归
  • 一个交期建议程序的坑 4gl SQL

    一个交期建议程序的坑 供应表已经包含了库存 替代料 需求表依然减掉了库存替代料 select 后的sum修改之后 忘记修改having的语句 差点搞死人 防不胜防 这里用到的算法 一张供应表 一张需求表 需求表不包含库存 在验量 替代量 在
  • 数据库连接运算(join)

    联接有三种 联接和自然联接 这里是算术比较符 外联接 1 联接 从R和S的笛卡儿乘积中选取满足条件 i j 的元组 2 自然联接 naturaljoin 两个关系R和S的自然联接操作具体计算过程如下 计算R S 设R和S的公共属性是A1 A
  • elasticsearch 安装配置

    20211208 es允许远程访问 在本地启动Elasticsearch后 发现只能用localhost和127 0 0 1访问 换成电脑的ip地址 显示拒绝访问 需要修改 config elasticsearch yml下的network
  • msvcr120.dll错误的解决方法

    msvcr120 dll错误 今天本来想操作mysql的 当我把那些文件配置好准备安装mysql时 bin gt mysqld install 居然报了个msvcr120 dll错误 就去寻找这个问题解决方法 原来是在C 资源库里少了一个资
  • Acwing 2. 01背包问题

    f i j 表示从前i个物品选 总体积 lt j的所有选法中的最大值 注意 当j
  • JS设计模式

    目录 前言 单例设计模式 Command 命令模式 Constructor构造器模式 工厂模式Factory 发布订阅设计模式 publish subscribe 观察者模式 中介者模式 前言 JS设计模式是一种思想 更规范更合理的管理代码
  • R语言对苏州天气的分析及预测 温度篇

    温度篇 前面已经讲了苏州的天气特点 还是用相同的数据 做接下来的苏州气温特点的分析预测 是的预测在这里 首先看下2011年到2015年苏州整体的温度表现是什么样的 plot suzhou highestTemp type l col red
  • cherry-pick如何使用?

    多分支开发 然后从测试分支合并到生产分支 测试分支有些内容此次不上线 所以不能全量merge 此时该如何操作呢 这时候就需要使用git cherry pick 下面是阮一峰的教程http www ruanyifeng com blog 20
  • React基础讲解

    文章目录 前言 一 React是什么 二 如何使用 1 基于浏览器的模式 babel 代码如下 2 利用react 创建视图 3 JSX 4 插值表达式 代码示例 5 条件输出 输出数据类型 列表渲染 条件渲染 6 列表循环 基于自动化的集
  • 【C语言编程练习】使用循环,计算1至100的和

    题目 使用循环结构 计算从1加到100的和 题目分析 可以使用for while do while进行设计 1 for循环 使用for循环时 需要注意循环变量的值要从1到100 不要写成了i lt 100导致没加100 2 while循环
  • centos切换到root登录

    具体操作方法 1 在centos系统桌面下通过快捷键 Ctrl Alt T 打开终端命令行模式 2 在centos终端命令行模式下输入以下命令切换到root用户登录 su root 切换到root用户 3 登录过程中如果怎么输入密码都出错
  • glTF模型转3D Tiles

    将 glTF 模型转换为 3D Tiles 格式需要使用一些工具来完成 其中一种方法是使用 Cesium 的 3D Tiles 工具 Cesium 是一个开源的 3D 地球浏览器 它提供了一个命令行工具 可以将 glTF 模型转换为 3D
  • nginx压缩ttf文件 mine.types的作用

    最近在运维过程中 前端提到发现在linux上下载某ttl文件 字体文件 太大 传输过程比较慢 于是就想着使用nginx的gzip进行压缩 经过不断尝试 终于发现在nginx的配置目录 etc nginx mine types 文件中少了 f
  • 如何把C盘Program Files(x86)中的google文件删除

    1 打开任务管理器 杀掉google相关的所有进程 2 参考以下文章更改权限 29条消息 需要来自administrators的权限才能对此文件夹进行更改 欧晨eli的博客 CSDN博客 你需要来自计算机管理员的权限才能对此文件夹进行更改
  • Pytorch Pytorch+深度学习神经网络相关学习收获

    文章目录 一 基础知识 二 Pytorch 三 如何实现一个神经网络 四 pytorch的数据类型 五 常用结构 六 构造神经网络的相关知识 七 数据集处理 一 基础知识 机器学习 本质就是通过 数据 答案的数据集 经过机器学习的训练 得到