Pytorch基础复习
项目推进中期,重新到头来学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
定义损失函数 --> 计算损失
将梯度反向传播给网络参数
更新权重
Pytorch基础复习的更多相关文章
- 《CSS权威指南》基础复习+查漏补缺
前几天被朋友问到几个CSS问题,讲道理么,接触CSS是从大一开始的,也算有3年半了,总是觉得自己对css算是熟悉的了.然而还是被几个问题弄的"一脸懵逼"... 然后又是刚入职新公司 ...
- Java基础复习笔记系列 九 网络编程
Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之 ...
- Java基础复习笔记系列 八 多线程编程
Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图 ...
- Java基础复习笔记系列 七 IO操作
Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...
- Java基础复习笔记系列 五 常用类
Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String ...
- Java基础复习笔记系列 四 数组
Java基础复习笔记系列之 数组 1.数组初步介绍? Java中的数组是引用类型,不可以直接分配在栈上.不同于C(在Java中,除了基础数据类型外,所有的类型都是引用类型.) Java中的数组在申明时 ...
- C语言基础复习总结
C语言基础复习总结 大一学的C++,不过后来一直没用,大多还给老师了,最近看传智李明杰老师的ios课程的C语言入门部分,用了一周,每晚上看大概两小时左右,效果真是顶一学期的课,也许是因为有开发经验吧, ...
- JS基础 复习: Javascript的书写位置
爱创课堂JS基础 复习: Javascript的书写位置复习 js书写位置:body标签的最底部.实际工作中使用书写在head标签内一对script标签里.alert()弹出框.console.log ...
- MySQL学习笔记_8_SQL语言基础复习
SQL语言基础复习 一.概述 SQL语句注释方式 1)以"#"开头直到行尾的所有内容都是注释 2)以"--"(--后还有一个空格)开头直到行尾的所有内容都是注释 ...
- Java基础复习笔记基本排序算法
Java基础复习笔记基本排序算法 1. 排序 排序是一个历来都是很多算法家热衷的领域,到现在还有很多数学家兼计算机专家还在研究.而排序是计算机程序开发中常用的一种操作.为何需要排序呢.我们在所有的系统 ...
随机推荐
- chrome浏览器启用es6语法支持,初次体验浏览器端模块化加载
医院项目,记录下,花了一个晚上的时间. 注意:最新版本的chrome浏览器已支持module语法,需要在web服务器环境下运行! 注:chrome76版本及以上不再需要设置了,浏览器已默认支持,至于从 ...
- PHP连接FTP服务器获取文件
运行结果:
- yum install的时候提示:Loaded plugins: fastestmirror
fastestmirror是yum的一个加速插件,这里是插件提示信息是插件不能用了. 不能用就先别用呗,禁用掉,先yum了再说. 1.修改插件的配置文件 # vi /etc/yum/pluginco ...
- fail-fast简介
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3308762.html fail-fast简介(使用concurrentHashMap可以完美避免这个问题 ...
- host头攻击
一.问题源起 HTTP1.1规范中在增加了HOST头信息,用于存储服务端与客户端的路由信息. 例如: Request的Header里就有一个标名请求,它是用来记录服务端网站域名的. 如果前端或者后台正 ...
- 如何在超星下载非资料页面的ppt
首先打开迅雷(没有就复制到网页下载) 点击f12 点击网络,筛查出输入flag,在响应模块中找到ppt,复制网址并下载
- STM32自学笔记
1位带操作 第一种位带操作 #define BITBAND_REG(Reg,Bit) (*((uint32_t volatile*)(0x42000000u + (((uint32_t)&(R ...
- vcsa7 页面出现“no healthy upstream”处理过程
一.昨天服务器出现"no healthy upstream"错误无法登录,搜索网络给出一下的思路: 对于"no healthy upstream"的错误提示,可 ...
- Android中的特殊权限
AndroidManifest中定义的权限分为普通权限,危险权限和特殊权限. 普通权限指的是不会威胁到用户的安全和隐私的权限,只需要在AndroidManifest中声明一下就能直接使用. 危险权限指 ...
- bert一些思考
bert结构 首先是embdding lookup,[batch * seq]-->[batch, seq, hidden] 然后是加个mask embdding和type embdding和p ...