看demo1
http://pytorch-cn.readthedocs.io/zh/latest/package_references/torch/
pytorch文档
1.json
JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
2.import os
os模块包含普遍的操作系统功能,与具体的平台无关。
3.Xavier
Xavier”初始化方法是一种很有效的神经网络初始化方法
为了使得网络中信息更好的流动,每一层输出的方差应该尽量相等。
4.optim.sgd
http://blog.csdn.net/lanran2/article/details/50409507
配置变量包括:learningRate(梯度下降速率),learningRateDecay(梯度下降速率的衰减),weightDecay(权重衰减),momentum(动量 or 冲量)
5.学习率调度程序:torch.optim.lr_scheduler提供了几种无声和智能的方法来调整当前的学习率。
6.
torch.topk
torch.topk(input, k, dim=None, largest=True, sorted=True, out=None) -> (Tensor, LongTensor)
沿给定dim维度返回输入张量input中 k 个最大值。 如果不指定dim,则默认为input的最后一维。 如果为largest为 False ,则返回最小的 k 个值。
返回一个元组 (values,indices),其中indices是原始输入张量input中测元素下标。 如果设定布尔值sorted 为_True_,将会确保返回的 k 个值被排序。
参数:
- input (Tensor) – 输入张量
- k (int) – “top-k”中的
k - dim (int, optional) – 排序的维
- largest (bool, optional) – 布尔值,控制返回最大或最小值
- sorted (bool, optional) – 布尔值,控制返回值是否排序
- out (tuple, optional) – 可选输出张量 (Tensor, LongTensor) output buffers
>>> x = torch.arange(1, 6)
>>> x 1
2
3
4
5
[torch.FloatTensor of size 5] >>> torch.topk(x, 3)
(
5
4
3
[torch.FloatTensor of size 3]
,
4
3
2
[torch.LongTensor of size 3]
)
>>> torch.topk(x, 3, 0, largest=False)
(
1
2
3
[torch.FloatTensor of size 3]
,
0
1
2
[torch.LongTensor of size 3]
)
6.torch.optim
http://pytorch.org/docs/master/optim.html?highlight=step#
如何使用优化器
要使用torch.optim,您必须构建一个优化器对象,该对象将保存当前状态,并将根据计算出的梯度更新参数。
构建
要构建一个优化器,你必须给它一个包含参数(都应该是variable)进行优化的迭代。 然后,您可以指定优化程序特定的选项,如学习率,weight衰减等。
注意
如果您需要通过.cuda()将模型移动到GPU,请在构建优化器之前进行。 .cuda()之后的模型的参数将与调用之前的对象不同。
一般来说,当优化器构建和使用时,您应该确保优化的参数保持在同一location。
optimizer = optim.SGD(model.parameters(), lr = 0.01, momentum=0.9)
optimizer = optim.Adam([var1, var2], lr = 0.0001)
Per-parameter options -看不懂
For example, this is very useful when one wants to specify per-layer learning rates:
optim.SGD([
{'params': model.base.parameters()},
{'params': model.classifier.parameters(), 'lr': 1e-3}
], lr=1e-2, momentum=0.9)
This means that model.base’s parameters will use the default learning rate of 1e-2,model.classifier’s parameters will use a learning rate of 1e-3, and a momentum of 0.9 will be used for all parameters
看demo1的更多相关文章
- 3.EasyUI学习总结(三)——easyloader源码分析
easyloader模块是用来加载jquery easyui的js和css文件的,即easyloader可以在调用的时候自动加载当前页面所需的文件,不用再自己引用, 而且它可以分析模块的依赖关系,先加 ...
- easyloader.js源代码分析
http://www.cnblogs.com/jasonoiu/p/easyloader_source_code_analysis.html Jquery easyui是一个javascript UI ...
- jQuery formValidator表单验证插件常见问题
1. 如何实现一个控件,根据不同的情况,实现不同的控制? 2. 一个页面上我有几个tab页,如何实现每个Tab页上的控件单独校验? 3. 我采用的页面上文字问题的方式,点提交的时候, ...
- line-height:150%和line-height:1.5的区别
base都是font-size,不管是继承的,还是自身的. "%":为继承父元素的距离 "无单位":计算各自的距离. 看demo1: 样式 body{ font ...
- margin系列之内秀篇
本系列摘自 飘零雾雨的博客 最Cool的利器 一样东西在不同的场景,不同的人手里,所能做的事会有很大不同.我深切的以为 margin 绝对是 CSS 中最有能力的利器之一,不知大家以为然否? 前面几 ...
- margin负值-内秀篇
zccst整理 margin系列之布局篇 margin系列之bug巡演(三) margin系列之bug巡演(二) margin系列之内秀篇(二) margin系列之bug巡演 margin系列之内秀篇 ...
- EasyUI学习总结(三)——easyloader源码分析(转载)
声明:这一篇文章是转载过来的,转载地址忘记了,原作者如果看到了,希望能够告知一声,我好加上去! easyloader模块是用来加载jquery easyui的js和css文件的,而且它可以分析模块的依 ...
- JDBC技术总结(二)
上一节主要讲了JDBC的基本操作,这一节主要总结一下JDBC如何处理大文本.如何处理图片以及进行批处理. 1.JDBC处理大文本 在MySQL中,大文本是text类型,使用Java操作数据库中的大文本 ...
- DBGrid和DBGridEH
二.应用实例 Enlib3.0组件包安装成功后 A.定制标题行 1.制作复杂标题行 标题行可设为2行以上高度,并可以为多列创建一个共同的父标题行.为实现这个效果,需在各个列标题属性中以“|”分隔父标题 ...
随机推荐
- 5G时代-计算机和网络的又一个春天
预言 5G时代的到来计算机和网络即将再次变成热门,计算机和网络的前途将不可限量,就经济学思想来说一定是最具有经济价值的技术,计算机和网络将蓬勃发展,迅速膨胀,经济价值变得极高.将成为科技和智能生活的最 ...
- qt开发ROS gui 遇到:global.h:1087:4: error: #error "You must build your code with position independent code if Qt was built with -reduce-relocations. "......
具体错误如下: 一共出现38个错误 这个错误是在导入cmakelists.txt时产生的,其实不是工程本身的问题,是因为我卸载ros,再重新安装ros的过程中把qtcreator的部分包给删除了,导致 ...
- shell 解析json
未完待续 ### 解析api json文件为csv文件 cd /api ` do id=$(echo ${i}|sed 's/.html//') echo -n "${id}|" ...
- oracle函数 round(d1[,c1])
[功能]:给出日期d1按期间(参数c1)四舍五入后的期间的第一天日期(与数值四舍五入意思相近) [参数]:d1日期型,c1为字符型(参数),c1默认为j(即最近0点日期) [参数表]:c1对应的参数表 ...
- [kuangbin带你飞]专题九 连通图D - Network POJ - 3694
这道题其实也非常简单,只是在求割边及其个数的情况下,每次往里面加入新的边,并再次计算割边的个数. 我们用tarjan可以求出原图的桥以及个数,当然我们不能暴力加边,然后求解,那么如何求呢??? 其实非 ...
- Python--day70--ORM多对多的三种方式
- H3C 帧中继数据链路标识
- 高级教程: 作出动态决策和 Bi-LSTM CRF 重点
动态 VS 静态深度学习工具集 Pytorch 是一个 动态 神经网络工具包. 另一个动态工具包的例子是 Dynet (我之所以提这个是因为使用 Pytorch 和 Dynet 是十分类似的. 如果你 ...
- java分配内存空间
分配内存空间 数组名=new 数据类型[数组长度]: new关键字用来实现为数组或对象分配内存 (堆内存) 数组具有固定的长度.获取数组的长度: 数组名.length 定义数组+分配内存空间 数据类型 ...
- 判断当前所使用python的版本和来源
import sys print(sys.prefix) print(sys.executable) 怎样判断当前py文件在什么版本的python环境下运行 import sys print(sys. ...