pytorch学习笔记(10)--完整的模型训练(待完善)
一、神经网络训练
# file : train.py
# time : 2022/8/11 上午10:03
# function :
import torchvision.datasets
from model import *
from torch.utils.data import DataLoader # DataSet
train_data = torchvision.datasets.CIFAR10("../dataset", train=True, transform=torchvision.transforms.ToTensor(), download=False)
test_data = torchvision.datasets.CIFAR10("../dataset", train=False, transform=torchvision.transforms.ToTensor(), download=False) # len长度
train_data_size = len(train_data)
test_data_size = len(test_data) print(format(train_data_size))
# ctrl+D
print(format(test_data_size)) # liyong DataLoader
train_dataloader = DataLoader(train_data, batch_size=64)
test_dataloader = DataLoader(test_data, batch_size=64) # create
tudui = Tudui() #loss
loss_fn = nn.CrossEntropyLoss() #
# learning_rate = 0.01
# 1e-2 = 1 x (10)^(-2) = 1/100 = 0.01
learning_rate = 1e-2
optimizer = torch.optim.SGD(tudui.parameters(), lr=learning_rate) # shezhi
total_train_step = 0
#
total_test_step = 0
#
epoch = 10 for i in range(epoch):
print("------------第{} 轮训练开始----------- ".format(i+1)) #
for data in train_dataloader:
imgs, targets = data
output = tudui(imgs)
loss = loss_fn(output, targets)
#
optimizer.zero_grad()
loss.backward()
optimizer.step() total_train_step = total_train_step + 1
print("训练次数:{}, loss:{}".format(total_train_step, loss.item))
pytorch学习笔记(10)--完整的模型训练(待完善)的更多相关文章
- 《C++ Primer Plus》学习笔记10
<C++ Primer Plus>学习笔记10 <<<<<<<<<<<<<<<<<&l ...
- golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息
golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息 Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放 ...
- Android:日常学习笔记(10)———使用LitePal操作数据库
Android:日常学习笔记(10)———使用LitePal操作数据库 引入LitePal 什么是LitePal LitePal是一款开源的Android数据库框架,采用了对象关系映射(ORM)的模式 ...
- JavaScript:学习笔记(10)——XMLHttpRequest对象
JavaScript:学习笔记(10)——XMLHttpRequest对象 XHR对象 使用XMLHttpRequest (XHR)对象可以与服务器交互.您可以从URL获取数据,而无需让整个的页面刷新 ...
- WebGL three.js学习笔记 加载外部模型以及Tween.js动画
WebGL three.js学习笔记 加载外部模型以及Tween.js动画 本文的程序实现了加载外部stl格式的模型,以及学习了如何把加载的模型变为一个粒子系统,并使用Tween.js对该粒子系统进行 ...
- thinkphp学习笔记10—看不懂的路由规则
原文:thinkphp学习笔记10-看不懂的路由规则 路由这部分貌似在实际工作中没有怎么设计过,只是在用默认的设置,在手册里面看到部分,艰涩难懂. 1.路由定义 要使用路由功能需要支持PATH_INF ...
- SQL反模式学习笔记10 取整错误
目标:使用小数取代整数 反模式:使用Float类型 根据IEEE754标识,float类型使用二进制格式编码实数数据. 缺点:(1)舍入的必要性: 并不是所有的十进制中描述的信息都能使用二进制存储,处 ...
- Spring MVC 学习笔记10 —— 实现简单的用户管理(4.3)用户登录显示全局异常信息
</pre>Spring MVC 学习笔记10 -- 实现简单的用户管理(4.3)用户登录--显示全局异常信息<p></p><p></p>& ...
- ArcGIS案例学习笔记-批量裁剪地理模型
ArcGIS案例学习笔记-批量裁剪地理模型 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 功能:空间数据的批量裁剪 优点:1.批量裁剪:任意多个目标数据,去裁剪任意 ...
- Hadoop学习笔记(10) ——搭建源码学习环境
Hadoop学习笔记(10) ——搭建源码学习环境 上一章中,我们对整个hadoop的目录及源码目录有了一个初步的了解,接下来计划深入学习一下这头神象作品了.但是看代码用什么,难不成gedit?,单步 ...
随机推荐
- prettier+ts+eslint+vscode配置代码保存自动格式化,自动remove unsed declaration,delete no-unused-imports
每天都要开心(▽)哇: 以这个项目为案例 下面是项目的基本情况 What would you like to build? › App with Quasar CLI, let's go! Proje ...
- Python3+Selenium3自动化测试-(八)
使用selenium进行测试,当然是需要进行验证的,此时结合python的断言函数就变得非常有用了.测试中设定好预期,当实际情况与预期有差别,给出错误信息,好像正是所希望的. 来一段简单的代码看下断言 ...
- Java 进阶P-8.7+P-8.8
异常遇到继承 异常声明遇到继承关系 当覆盖一个函数的时候,子类不能声明抛出比父类的版本更多的异常.因为我们有可能拿着子类的对象当作父类的对象来看待(向上造型),在通过父类的变量去调用子类的函数的时候, ...
- 如何理解Spring框架中的ioc?
目录 如何理解Spring框架中的ioc? DI 耦合和内聚 如何理解Spring框架中的ioc? ioc,Inversion of Control(控制反转),是Spring中的一种设计思想而非技术 ...
- 一篇文章带你弄懂Kerberos的设计思路
这篇文章将会带大家详细梳理和理解Kerberos的设计思路. Basic 为了减轻服务器的负担,我们需要设计一个专门的认证服务器AS,储存所有用户的口令,认证了用户身份之后再通知应用服务器 引入tic ...
- 3 .NET Core笔试题
1.什么是ASP.NET Core? 2.ASP.NET Core 中AOP的支持有哪些? 3.ASP.NET Core Filter的注册方式有哪些? 4.ASP.NET Core Filter如何 ...
- 修改ctags让fzf.vim插件显示C,C++方法声明的标签
背景 在 vim 中使用 fzf.vim 插件可以进行方便的搜索文件, 源码TAG, GIT 记录等, 最近抽空看了下 BTags 命令在 c, c++ 文件中, 无法显示头文件中的函数声明 标签问题 ...
- 用ChatGPT,快速设计一个真实的账号系统
hi,我是熵减,见字如面. 用ChatGPT,可以尝试做很多的事情. 今天我们就来让ChatGPT做为架构师,来帮我们设计一个账号系统吧. 我的实验过程记录如下,与你分享. 用户故事 首先,我们从用户 ...
- AcWing 141 周期
题目:https://www.acwing.com/problem/content/143/ 一个字符串的前缀是从第一个字符开始的连续若干个字符,例如"abaab"共有5个前缀,分 ...
- MySQL索引的基本理解
之前一致以为索引就是简单的在原表的数据上加了一些编号,让查询更加快捷.后来发现里面还有更深的知识. 索引用于快速查找具有特定列值的行.如果没有索引,MySQL 必须从第一行开始,然后通读整个表以找到相 ...