速成pytorch学习——11天. 使用GPU训练模型
深度学习的训练过程常常非常耗时,一个模型训练几个小时是家常便饭,训练几天也是常有的事情,有时候甚至要训练几十天。
训练过程的耗时主要来自于两个部分,一部分来自数据准备,另一部分来自参数迭代。
当数据准备过程还是模型训练时间的主要瓶颈时,我们可以使用更多进程来准备数据。
当参数迭代过程成为训练时间的主要瓶颈时,我们通常的方法是应用GPU来进行加速。
Pytorch中使用GPU加速模型非常简单,只要将模型和数据移动到GPU上。核心代码只有以下几行。
# 定义模型
... device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
model.to(device) # 移动模型到cuda # 训练模型
... features = features.to(device) # 移动数据到cuda
labels = labels.to(device) # 或者 labels = labels.cuda() if torch.cuda.is_available() else labels
...
如果要使用多个GPU训练模型,也非常简单。只需要在将模型设置为数据并行风格模型。
则模型移动到GPU上之后,会在每一个GPU上拷贝一个副本,并把数据平分到各个GPU上进行训练。核心代码如下。
速成pytorch学习——11天. 使用GPU训练模型相关推荐
- 速成pytorch学习——1天
一.Pytorch的建模流程 使用Pytorch实现神经网络模型的一般流程包括: 1,准备数据 2,定义模型 3,训练模型 4,评估模型 5,使用模型 6,保存模型. 对新手来说,其中最困难的部分实际 ...
- 速成pytorch学习——8天损失函数
一般来说,监督学习的目标函数由损失函数和正则化项组成.(Objective = Loss + Regularization) Pytorch中的损失函数一般在训练模型时候指定. 注意Pytorch中内 ...
- 速成pytorch学习——10天.训练模型的3种方法
Pytorch通常需要用户编写自定义训练循环,训练循环的代码风格因人而异. 有3类典型的训练循环代码风格:脚本形式训练循环,函数形式训练循环,类形式训练循环. 下面以minist数据集的分类模型的训练 ...
- 速成pytorch学习——6天Dataset和DataLoader
Pytorch通常使用Dataset和DataLoader这两个工具类来构建数据管道. Dataset定义了数据集的内容,它相当于一个类似列表的数据结构,具有确定的长度,能够用索引获取数据集中的元素. ...
- 速成pytorch学习——7天模型层layers
深度学习模型一般由各种模型层组合而成. torch.nn中内置了非常丰富的各种模型层.它们都属于nn.Module的子类,具备参数管理功能. 例如: nn.Linear, nn.Flatten, nn ...
- 速成pytorch学习——5天nn.functional 和 nn.Module
一,nn.functional 和 nn.Module 前面我们介绍了Pytorch的张量的结构操作和数学运算中的一些常用API. 利用这些张量的API我们可以构建出神经网络相关的组件(如激活函数,模 ...
- 速成pytorch学习——4天中阶API示范
使用Pytorch的中阶API实现线性回归模型和和DNN二分类模型. Pytorch的中阶API主要包括各种模型层,损失函数,优化器,数据管道等等. 一,线性回归模型 1,准备数据 import nu ...
- 速成pytorch学习——3天自动微分机制
神经网络通常依赖反向传播求梯度来更新网络参数,求梯度过程通常是一件非常复杂而容易出错的事情. 而深度学习框架可以帮助我们自动地完成这种求梯度运算. Pytorch一般通过反向传播 backward 方 ...
- 速成pytorch学习——2天
Pytorch的基本数据结构是张量Tensor.张量即多维数组.Pytorch的张量和numpy中的array很类似. 本节我们主要介绍张量的数据类型.张量的维度.张量的尺寸.张量和numpy数组等基 ...
最新文章
- 《Cacti实战》——第2章 环境的安装和配置
- LSTM 时间序列数据的异常检测
- Princess Principal(思维题)
- ELK集群的搭建和Elasticsearchd api的简单使用
- SpringDataRedis环境搭建(详细图文教程)
- 软考-信息系统项目管理师-项目合同管理
- 漏洞战争软件漏洞分析精要 学习笔记
- Android—Retrofit解析
- 避免switch嵌套的一种方法
- js创建file对象 字符串 txt_js-创建对象的多种方式
- AC+AP组网和MESH组网介绍和区别
- Aittit rpc的实现协议 JSON-RPC XML-RPC . Ws协议webservice 目录 1. XML-RPC协议	1 1.1. JSON-RPC远程调用协议 - CieloSun
- [优化算法] 拉丁超立方采样与基于优化的均匀采样
- 最高单价计算机函数公式,通达信公式主动性买盘均价,通达信分时图中 分时均价线黄线的源码怎么写...
- FBReader接入
- 怎样快速找出百度云盘文件夹里分享失败文件
- html表单颜色背景图片大全,css背景颜色、背景图片,以及列表的多种样式
- mailgun ——10000封每月的邮件推送接口
- Linux-新建用户/群组以及修改文件权限
- NGS项目四:高通量测序在植物生物胁迫研究中的应用