深度学习--魔法类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. RabbitMQ博文收藏

    RabbitMQ基本概念 消息队列之 RabbitMQ

  2. Centos 配置网络自启和静态IP和主机名

    1. 修改配置文件 vim /etc/sysconfig/network-scripts 2. vim /etc/sysconfig/network-scripts/ifcfg-eth0 BOOTPR ...

  3. ARM-linux的Windows交叉编译环境搭建

    交叉编译Arm Linux平台的QT5库 1.准备交叉编译环境 环境说明:Windows10 64位 此过程需要: (1)Qt库开源代码,我使用的是5.13.0版本: (2)Perl语言环境5.12版 ...

  4. JavaScript 字符串和正则相关的方法

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. 实验六 开源控制器实践——RYU

    (一)基本要求 搭建SDN拓扑,协议使用Open Flow 1.0,并连接Ryu控制器,通过Ryu的图形界面查看网络拓扑. 阅读Ryu文档的The First Application一节,运行当中的L ...

  6. Linux 截图快捷键 - 搬运

    Linux 截图快捷键 转自:linux 截图快捷键 环境 Linux Mint  21.1 1. Prt ScSysRq ---->全屏截图2. Shift+Prt ScSysRq ----& ...

  7. Windows系统镜像下载站合集

    Windows系统镜像下载站合集https://latest10.win/https://msdn.itellyou.cn/https://hellowindows.cn/https://www.im ...

  8. 根据已知经纬度导出对应地点的NDVI值

    首先把经纬度和NDVI投影到同一个坐标上,其次把excel的经纬度到出城shp格式 然后执行如下步骤: [工具][spatial analyst 工具][提取分析][多值提取至点]

  9. nginx+lua+openresty+kafka相关问题汇总

    这里使用的是kafka插件是doujiang大佬的https://github.com/doujiang24/lua-resty-kafka,版本为v0.2.0. 应用场景 在nginx转发中,记录非 ...

  10. Cesium 后处理(Post Process)

    原文地址:https://blog.csdn.net/ls870061011/article/details/123910821 作者:GIS李胜 为实现三维模型的更炫.更酷.更美观,Cesium在1 ...