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 相关文章推荐
Python简单调用MySQL存储过程并获得返回值的方法
Jul 20 Python
python 读入多行数据的实例
Apr 19 Python
python 判断网络连通的实现方法
Apr 22 Python
python如何生成网页验证码
Jul 28 Python
Python 输出时去掉列表元组外面的方括号与圆括号的方法
Dec 24 Python
PyQt5通信机制 信号与槽详解
Aug 07 Python
python os.path.isfile 的使用误区详解
Nov 29 Python
Python3 把一个列表按指定数目分成多个列表的方式
Dec 25 Python
python实现简单井字棋小游戏
Mar 05 Python
python实现五子棋程序
Apr 24 Python
Python定时任务APScheduler原理及实例解析
May 30 Python
Python实现Excel自动分组合并单元格
Feb 22 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/09/26 PHP
php实现文件下载代码分享
2014/08/19 PHP
php通过array_unshift函数添加多个变量到数组前端的方法
2015/03/18 PHP
浅谈php中的访问修饰符private、protected、public的作用范围
2016/11/20 PHP
搭建自己的PHP MVC框架详解
2017/08/16 PHP
Prototype使用指南之range.js
2007/01/10 Javascript
Javascript Tab 导航插件 (23个)
2009/06/11 Javascript
jQuery的一些特性和用法整理小结
2010/01/13 Javascript
namespace.js Javascript的命名空间库
2011/10/11 Javascript
js模拟滚动条(横向竖向)
2013/02/22 Javascript
JavaScript中的Math 使用介绍
2014/04/21 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
2015/08/10 Javascript
全面了解addEventListener和on的区别
2016/07/14 Javascript
vuejs通过filterBy、orderBy实现搜索筛选、降序排序数据
2020/10/26 Javascript
vue与TypeScript集成配置最简教程(推荐)
2017/10/17 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
基于JavaScript canvas绘制贝塞尔曲线
2018/12/25 Javascript
Python实例方法、类方法、静态方法的区别与作用详解
2019/03/25 Python
Python学习笔记之Zip和Enumerate用法实例分析
2019/08/14 Python
CSS3制作翻转效果_动力节点Java学院整理
2017/07/11 HTML / CSS
CSS3中使用RGBA设置透明度的示例
2015/08/04 HTML / CSS
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
HTML5样式控制示例代码
2013/11/27 HTML / CSS
英国时尚运动品牌的合集:The Sports Edit
2017/12/20 全球购物
FORZIERI福喜利中国官网:奢侈品购物梦工厂
2019/05/03 全球购物
英国时尚泳装品牌:Maru Swimwear
2019/10/06 全球购物
北京RT科技有限公司.net工程师面试题
2013/02/15 面试题
法律专业推荐信范文
2013/11/29 职场文书
仓库理货员岗位职责
2013/12/18 职场文书
美术毕业生求职信
2014/02/25 职场文书
企业法人代表任命书
2014/06/06 职场文书
2014年审计工作总结
2014/11/17 职场文书
2016年春节问候语
2015/11/11 职场文书
留学文书中的个人陈述,应该注意哪些问题?
2019/08/23 职场文书
SQL IDENTITY_INSERT作用案例详解
2021/08/23 MySQL
Go获取两个时区的时间差
2022/04/20 Golang