深度学习--魔法类nn.Module

作用

pytorch 封装了一些基本的网络类,可以直接调用

好处:

  1. 可以直接调用现有的类
  2. 容器机制:self.net = nn.Sequential()
  3. 参数返回:list(net.parameters())[0].shape #返回对应的参数的shape

    list(net.named_parameters())[0] #返回对应的参数

    dict(net.named_parameters()).items()# 返回所有的参数
  4. 模型modules:children(这个没太懂)
  5. to(device):选择运行设备
  6. save and load :net.load_state_dict(torch.load('ckpt.mdl'))

    net.save(net.state_dict(),'ckpt.mdl')
  7. train/test的行为切换,net.train() 训练 net.eval()测试
  8. 实现我们自己的类:self.w = nn.Parameter(torch.randn(outp,inp),requires_grad = True)
import torch
import torch.nn as nn #继承nn.Module来实现自己的模型
class MyLinear(nn.Module): def __init__(self, inp, outp):
super(MyLinear,self).__init__() # requires_grad = True
self.w = nn.Parameter(torch.randn(outp,inp))
self.b = nn.Parameter(torch.randn(outp)) def forward(self,x):
x = x @ self.w.t() +self.b
return x

图像增强操作

数据增强:低网络容量、regularization规范化、Data argumentation数据推论

data argumentation的手段:

  1. Flip :翻转

  2. Rotate:旋转

  3. Random Move & Crop:随机移动,裁剪,加noise 高斯噪声

  4. GAN:生成对抗网络

深度学习--魔法类nn.Module的更多相关文章

  1. 深度学习之入门Pytorch(1)------基础

    目录: Pytorch数据类型:Tensor与Storage 创建张量 tensor与numpy数组之间的转换 索引.连接.切片等 Tensor操作[add,数学运算,转置等] GPU加速 自动求导: ...

  2. 小白学习之pytorch框架(2)-动手学深度学习(begin-random.shuffle()、torch.index_select()、nn.Module、nn.Sequential())

    在这向大家推荐一本书-花书-动手学深度学习pytorch版,原书用的深度学习框架是MXNet,这个框架经过Gluon重新再封装,使用风格非常接近pytorch,但是由于pytorch越来越火,个人又比 ...

  3. [深度学习] pytorch学习笔记(4)(Module类、实现Flatten类、Module类作用、数据增强)

    一.继承nn.Module类并自定义层 我们要利用pytorch提供的很多便利的方法,则需要将很多自定义操作封装成nn.Module类. 首先,简单实现一个Mylinear类: from torch ...

  4. 深度学习框架PyTorch一书的学习-第四章-神经网络工具箱nn

    参考https://github.com/chenyuntc/pytorch-book/tree/v1.0 希望大家直接到上面的网址去查看代码,下面是本人的笔记 本章介绍的nn模块是构建与autogr ...

  5. [PyTorch 学习笔记] 3.1 模型创建步骤与 nn.Module

    本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson3/module_containers.py 这篇文章来看下 ...

  6. 小白学习之pytorch框架(1)-torch.nn.Module+squeeze(unsqueeze)

    我学习pytorch框架不是从框架开始,从代码中看不懂的pytorch代码开始的 可能由于是小白的原因,个人不喜欢一些一下子粘贴老多行代码的博主或者一些弄了一堆概念,导致我更迷惑还增加了畏惧的情绪(个 ...

  7. 『PyTorch』第十四弹_torch.nn.Module类属性

    nn.Module基类的构造函数: def __init__(self): self._parameters = OrderedDict() self._modules = OrderedDict() ...

  8. 深度学习Keras框架笔记之AutoEncoder类

    深度学习Keras框架笔记之AutoEncoder类使用笔记 keras.layers.core.AutoEncoder(encoder, decoder,output_reconstruction= ...

  9. 深度学习Keras框架笔记之TimeDistributedDense类

    深度学习Keras框架笔记之TimeDistributedDense类使用方法笔记 例: keras.layers.core.TimeDistributedDense(output_dim,init= ...

  10. 深度学习Keras框架笔记之Dense类(标准的一维全连接层)

    深度学习Keras框架笔记之Dense类(标准的一维全连接层) 例: keras.layers.core.Dense(output_dim,init='glorot_uniform', activat ...

随机推荐

  1. Assert的使用和简单解释

    Assert 的简单使用 Document d = Jsoup.connect("http://www.baidu.com").get(); Assert.notNull(d, & ...

  2. windows系统错误代码

    0  操作成功完成.  1  功能错误.  2  系统找不到指定的文件.  3  系统找不到指定的路径.  4  系统无法打开文件.  5  拒绝访问.  6  句柄无效.  7  存储控制块被损坏. ...

  3. jxg项目Day2-git

    申请了我自己的gitee账号,建了我的仓库,在idea中点这个,然后就算漫长的自动下载的过程.. 对分支和冲突的理解:每个人都有自己的develop分支,可以commit到本地的分支,可以push到远 ...

  4. manjaro安装指导

    本文"指导"二字口气有点大,是说给自己听的,指导我下次的安装. 正文: 1.安装系统:在清华大学开源站上下载KDE版(本机适用19版54内核无驱动问题),用rufus烧制启动盘,以 ...

  5. Hive:FAILED: LockException [Error 10280]: Error communicating with the metastore

    1.问题示例 使用hive直接选择查看表中数据报错,而相同语句在spark-sql却不报错. 实在无力吐槽hive了,因它受伤太多了. (1)使用hive hive (test)> select ...

  6. Vue父子组件传值.sync

    <template> <div class="content"> <btn :btnName.sync='num' ></btn> ...

  7. 看图就会-网络攻击 (xss和csrf)

    最近发现好多东西整理过后就没啥印象,但是思维导图很好用,能取其精华去其糟粕

  8. Nodejs 发送 TCP 消息的正确姿势

    最近使用 NODE-RED 跟 TCP 打交道.NODE-RED 里内建了一个节点叫"tcp-out",看文档呢使用这个节点可以很方便的把 payload 用 TCP 协议发送出去 ...

  9. Java笔记第十二弹

    Lambda表达式的标准格式 三要素:形式参数.箭头.代码块 格式:(形式参数)->(代码块) 形式参数:如果有多个参数,参数之间用逗号隔开:如果没有参数,留空即可 ->代表指向动作 La ...

  10. jetbrains账户的注册

    注册步骤 1.进入官网界面 官网地址在这里啦:https://www.jetbrains.com/ 官网本来显示的是这个界面: 点击右上角的Learning Tools,然后选择该页面内的这里: 2. ...