当前位置:网站首页>pytorch框架学习(1)网络的简单构建
pytorch框架学习(1)网络的简单构建
2022-08-10 05:29:00 【Time.Xu】
PyTorch学习
基本要求&与其他框架比较:
软件:具有dubg功能的IDE(如PyCharm、Eclipse)、Jupyter、anaconda、Pytorch
与PyTorch相比,Tensorflow的定义和规则比较多,并且在调试过程中不太方便。
框架学习方法
不拘泥于具体操作,在实际运用的过程中查找并使用
基本使用方法
创建一个矩阵
x = torch.empty(5,3); x =torch.rand(5.3);
可见,
pytorch框架 输出后的数据格式是tensor(张量)
TensorFlow框架 输出后的数据格式是ndarray
展示矩阵大小 torch.size()
改变矩阵维度 view(维度)
Numpy(ndarry)和PyTorch(tensor)交互

autograd机制
为什么要用框架呢?因为自己编程太麻烦了,尤其是做反向传播的时候
在反向传播的时候,我们需要 对矩阵进行求导 这是费事费力的,如果框架帮我们做完了,我们就可以专心于模型的搭建了
requires_grad=True

注意:如果梯度不清零,梯度会进行累加的!!!
所以,我们在进行梯度计算的时候,基本流程是:
**清零->梯度计算->反向传播->清零**
例子
创建两个数组x和y:![x_values = [i for i in range]](/img/81/00dc00a2230fde221de394a61470b7.png)

建立一个模型:

制定超参数&损失函数
训练模型:
| 目标 | 注解 | 代码 |
|---|---|---|
| 数据格式转换 | 把输入的数据格式转化为tensor格式 | torch.from_numpy(x_train) |
| 梯度清零 | 避免梯度累加出现错误 | .zero_grad() |
| 前向传播 | 得到预测的数据 | |
| 计算损失 | 即预测损失与标签之间的差距 | |
| 反向传播 | 求梯度 | loss.backward() |
| 进行参数更新 | 自动根据学习率和梯度对参数进行更新 | .step() |
| 过程显示 | 要防止显卡爆炸 | loss.item |
| 预测 | ||
| 模型保存 | 模型保存完是一个字典类型(模型不仅仅是模型, | torch.save(model.state_dict(),‘model.pkl’) |
| 模型读取 | 还有可能有模型损失、结果等等都可以放进去) | model.load_state_dict(torch.load(“model.pkl”)) |

目前最简洁的版本就做完了,有很多问题没有弄(比如我们这个代码里是一个batch就都跑完了,理论上应该是一个Batch一个Batch地跑),先不管,以后再学
现在我们对模型进行测试
测试就是把数据放进训练好的网络,得到的数据肯定还是要转化一下类型的~
模型的保存
边栏推荐
- Interface debugging also can play this?
- 几种绘制时间线图的方法
- Consulting cdc 2.0 for mysql does not execute flush with read lock. How to ensure bin
- conda创建虚拟环境方法和pqi使用国内镜像源安装第三方库的方法教程
- Guys, is it normal that the oracle archive log grows by 3G in 20 minutes after running cdc?
- 并发工具类——CountDownLatch、CyclicBarrier、Semaphore、Exchanger的介绍与使用
- flinksql怎么写redis的value只有最后一个字段?
- k-近邻实现手写数字识别
- Hezhou ESP32C3 +1.8"tft network clock under Arduino framework
- pytorch 学习
猜你喜欢

一文带你搞懂OAuth2.0

【Pei Shu Theorem】CF1055C Lucky Days

Linear Algebra (4)

summer preschool assignments

Pony语言学习(九)——泛型与模式匹配(终章)

scikit-learn机器学习 读书笔记(一)

Why are negative numbers in binary represented in two's complement form - binary addition and subtraction

scikit-learn机器学习 读书笔记(二)

Become a language that hackers have to learn. Do you think it's okay after reading it?

mysql常用命令有什么
随机推荐
论文精读 —— 2021 CVPR《Progressive Temporal Feature Alignment Network for Video Inpainting》
mysql cdc (2.1.1)inital snapshot数据库的时候设置了5个并发度,se
canvas canvas drawing clock
How to simulate the background API call scene, very detailed!
Interface debugging also can play this?
WSTP初体验
并发工具类——CountDownLatch、CyclicBarrier、Semaphore、Exchanger的介绍与使用
Qiskit 学习笔记2
一篇文章掌握整个JVM,JVM超详细解析!!!
FPGA工程师面试试题集锦31~40
FPGA engineer interview questions collection 11~20
How to use Apifox's Smart Mock function?
awk of the Three Musketeers of Shell Programming
每周推荐短视频:探索AI的应用边界
Hezhou ESP32C3 +1.8"tft network clock under Arduino framework
Pony语言学习(七)——表达式(Expressions)语法(单篇向)
Become a language that hackers have to learn. Do you think it's okay after reading it?
MySql之json_extract函数处理json字段
How to improve product quality from the code layer
在vscode中屏蔽Alt热键