pytorch快速搭建神经网络_Sequential操作


Posted in Python onJune 17, 2020

之前用Class类来搭建神经网络

class Neuro_net(torch.nn.Module):
  """神经网络"""
  def __init__(self, n_feature, n_hidden_layer, n_output):
    super(Neuro_net, self).__init__()
    self.hidden_layer = torch.nn.Linear(n_feature, n_hidden_layer)
    self.output_layer = torch.nn.Linear(n_hidden_layer, n_output)

  def forward(self, input):
    hidden_out = torch.relu(self.hidden_layer(input))
    out = self.output_layer(hidden_out)
    return out
  
net = Neuro_net(2, 10, 2)
print(net)

class类图结构:

pytorch快速搭建神经网络_Sequential操作

使用torch.nn.Sequential() 快速搭建神经网络

net = torch.nn.Sequential(
  torch.nn.Linear(2, 10),
  torch.nn.ReLU(),
  torch.nn.Linear(10, 2)
)
print(net)

Sequential图结构

pytorch快速搭建神经网络_Sequential操作

总结:

我们可以发现,使用torch.nn.Sequential会自动加入激励函数, 但是 class类net 中, 激励函数实际上是在 forward() 功能中才被调用的

使用class类中的torch.nn.Module,我们可以根据自己的需求改变传播过程

如果你需要快速构建或者不需要过多的过程,直接使用torch.nn.Sequential吧

补充知识:【PyTorch神经网络】使用Moudle和Sequential搭建神经网络

Module:

init中定义每个神经层的神经元个数,和神经元层数;

forward是继承nn.Moudle中函数,来实现前向反馈(加上激励函数)

# -*- coding: utf-8 -*-
# @Time  : 2019/11/5 10:43
# @Author : Chen
# @File  : neural_network_impl.py
# @Software: PyCharm
 
import torch
import torch.nn.functional as F
 
#data
x = torch.unsqueeze(torch.linspace(-1, 1, 100), dim=1)
y = x.pow(2) + 0.2 * torch.rand(x.size())
 
 
#第一种搭建方法:Module
# 其中,init中定义每个神经层的神经元个数,和神经元层数;
# forward是继承nn.Moudle中函数,来实现前向反馈(加上激励函数)
class Net(torch.nn.Module):
  def __init__(self):
    #继承__init__函数
    super(Net, self).__init__()
    #定义每层的形式
    #隐藏层线性输出feature->hidden
    self.hidden = torch.nn.Linear(1, 10)
    #输出层线性输出hidden->output
    self.predict = torch.nn.Linear(10, 1)
 
  #实现所有层的连接关系。正向传播输入值,神经网络分析输出值
  def forward(self, x):
    #x首先在隐藏层经过激励函数的计算
    x = F.relu(self.hidden(x))
    #到输出层给出预测值
    x = self.predict(x)
    return x
 
net = Net()
print(net)
 
print('\n\n')
 
#快速搭建:Sequential
#模板:net2 = torch.nn.Sequential()
 
net2 = torch.nn.Sequential(
  torch.nn.Linear(1, 10),
  torch.nn.ReLU(),
  torch.nn.Linear(10, 1)
)
print(net2)

pytorch快速搭建神经网络_Sequential操作

以上这篇pytorch快速搭建神经网络_Sequential操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
浅谈编码,解码,乱码的问题
Dec 30 Python
Python基于回溯法子集树模板实现8皇后问题
Sep 01 Python
利用python循环创建多个文件的方法
Oct 25 Python
python实现Flappy Bird源码
Dec 24 Python
ActiveMQ:使用Python访问ActiveMQ的方法
Jan 30 Python
如何在Cloud Studio上执行Python代码?
Aug 09 Python
Python字符串格式化输出代码实例
Nov 22 Python
TensorFlow实现打印每一层的输出
Jan 21 Python
解决jupyter notebook 前面书写后面内容消失的问题
Apr 13 Python
python编写实现抽奖器
Sep 10 Python
python自动化发送邮件实例讲解
Jan 04 Python
python实现自定义日志的具体方法
May 28 Python
浅谈Keras的Sequential与PyTorch的Sequential的区别
Jun 17 #Python
Keras之fit_generator与train_on_batch用法
Jun 17 #Python
基于Keras的格式化输出Loss实现方式
Jun 17 #Python
Tensorflow之MNIST CNN实现并保存、加载模型
Jun 17 #Python
tensorflow使用CNN分析mnist手写体数字数据集
Jun 17 #Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
Jun 17 #Python
Java如何基于wsimport调用wcf接口
Jun 17 #Python
You might like
php 数组使用详解 推荐
2011/06/02 PHP
几个有用的php字符串过滤,转换函数代码
2012/05/01 PHP
PHP函数strip_tags的一个bug浅析
2014/05/22 PHP
ThinkPHP中公共函数路径和配置项路径的映射分析
2014/11/22 PHP
js 图片轮播(5张图片)
2008/12/30 Javascript
Ext.MessageBox工具类简介
2009/12/10 Javascript
php析构函数的具体用法小结
2014/03/11 Javascript
原生js实现复制对象、扩展对象 类似jquery中的extend()方法
2014/08/30 Javascript
点击button获取text内容并改变样式的js实现
2014/09/09 Javascript
使用AngularJS中的SCE来防止XSS攻击的方法
2015/06/18 Javascript
基于jQuery实现的旋转彩圈实例
2015/06/26 Javascript
ExtJs动态生成treepanel的Json格式
2015/07/19 Javascript
jquery通过扩展select控件实现支持enter或focus选择的方法
2015/11/19 Javascript
seajs学习教程之基础篇
2016/10/20 Javascript
vue input输入框关键字筛选检索列表数据展示
2020/10/26 Javascript
微信小程序列表时间戳转换实现过程解析
2019/10/12 Javascript
Vuex的实战使用详解
2019/10/31 Javascript
JS实现容器模块左右拖动效果
2020/01/14 Javascript
JavaScript实现栈结构Stack过程详解
2020/03/07 Javascript
如何在JavaScript中等分数组的实现
2020/12/13 Javascript
[39:08]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第一场 12.12
2020/12/16 DOTA
Jupyter安装nbextensions,启动提示没有nbextensions库
2020/04/23 Python
python3 遍历删除特定后缀名文件的方法
2018/04/23 Python
Python实现的堆排序算法示例
2018/04/29 Python
redis之django-redis的简单缓存使用
2018/06/07 Python
python实现多进程按序号批量修改文件名的方法示例
2019/12/30 Python
TensorFlow dataset.shuffle、batch、repeat的使用详解
2020/01/21 Python
英国经典球衣网站:Classic Football Shirts
2017/05/20 全球购物
美国儿童玩具、装扮和玩偶商店:Magic Cabin
2018/09/02 全球购物
捷克玩具商店:Bambule
2019/02/23 全球购物
美国沙龙美发产品购物网站:Hair.com by L’Oreal
2020/11/09 全球购物
马来西亚在线健康商店:Medipal Malaysia
2020/04/13 全球购物
爱心捐款倡议书范文
2014/05/12 职场文书
学校社会实践活动总结
2014/07/03 职场文书
工作自我评价范文
2015/03/05 职场文书
2019幼儿教师求职信(3篇)
2019/09/20 职场文书