当前位置: 首页 > news >正文

学习pytorch的第二日

一、现有网络模型的使用与修改(以vgg16为例)

1、导入(pretrained为True则代表参数已经训练过了)

2、修改

二、网络模型的保存与读取(模型保存,保存的是实例)

1、保存 (两种方式)

2、读取加载

3、保存方式1的陷阱(自己写出的模型, 在加载时必须要有该模型类)

三、完整的模型训练套路(技巧)

1、.item()函数 可以将tensor数据

  1. 将单元素张量转换为Python标量(例如,float、int等)。

  2. 如果张量有多个元素,使用.item()会抛出错误。

2、测试时(不需要反向传播)可以使用  with torch.no_grad():

已知在PyTorch中,默认情况下,前向传播时会构建计算图,以便于反向传播时计算梯度。
但是,如果我们在测试阶段不需要计算梯度,那么使用torch.no_grad()可以避免构建计算图,从而节省内存和计算资源。

3、求得测试集的正确率

argmax的作用

在测试集中的应用

4、模型的模式

train() 和 eval() 主要影响 Dropout 和 BatchNorm 层的行为。

1. model.train()

  • Dropout层:启用,随机"关闭"一部分神经元

  • BatchNorm层:使用当前batch的统计量(均值和方差),并更新运行统计量

  • 其他层:不受影响

2. model.eval()

  • Dropout层:禁用,所有神经元都参与计算

  • BatchNorm层:使用训练阶段积累的运行统计量,不更新统计量

  • 其他层:不受影响

5、模型的训练套路

数据集dataset ——》加载数据集dataloader——》调用模型、设置损失函数、设置优化器、设置参数——》开始训练 模型.train()  输入、输出、计算损失、梯度清零、计算梯度(损失.backward)、根据梯度更新——》测试 模型.eval()、with torch.no_grad():无梯度模式、计算损失、正确率

四、利用gpu进行训练

第一种使用gpu的方式

1、网络模型的cuda() 

2、损失函数的cuda()

3、数据(输入、标注)的cuda()(需要重新赋值)

第二种使用gpu的方式

1、定义device 

2、网络模型的cuda() 

3、损失函数的cuda()

4、数据(输入、标注)的cuda()(需要重新赋值)

五、time

import time
start_time = time.time()

{ 代码块 }

end_time = time.time()

http://www.dtcms.com/a/551026.html

相关文章:

  • 网站五合一建设湖北联诺建设网站
  • 做网站的编程语言免费crm软件
  • 关键词首页排名优化公司推荐seo排名工具有哪些
  • c 做网站简单吗网站建设艾金手指六六12
  • 【4】深度解析“协议(Protocol)”与“服务(Sevices)
  • 3. vim上手
  • 常德网站建设求职简历做视频怎么去除网站
  • 网站域名301规模以上工业企业名单
  • 手机网站和电脑网站跳转上城区商城网站建设
  • 论坛网站开发深圳国外网站设计
  • 做网站主色调选择网站需求列表
  • 专业网站建设的公司排名wordpress 文章 同步
  • 开发网站私活wordpress 主页添加来源
  • 地方战友网站建设网站建设设计书任务书
  • 建设官网站片多多可以免费看电视剧吗
  • 我要用新浪云做网站站群cms系统
  • discuz论坛网站做的门户私人衣橱网站建设
  • 济南网站建设抖音平台源码超市网站源码
  • 做公益网站的原因人才网最新招聘信息2023年
  • 玉溪网络推广 网站建设wordpress安装出现乱码
  • 外贸网站建设维护关于公司网站建设情况的汇报
  • 网站背景磨砂灰背景怎么做做名片上什么网站
  • 营销外包团队网站标签优化
  • 网站项目规划与设计网络广告的特点包括
  • 天汇大厦网站建设公司天津整站
  • 上海在线做网站张家口建设网站
  • QTabWidget 样式设置全解析
  • wordpress企业网站主题免费推广app工作好做吗
  • 网站设计 网站开发 优化莱州网站建设包年多少钱
  • jsp 网站开发环境建设银行手机短信网站怎么开通