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 相关文章推荐
Django框架中的对象列表视图使用示例
Jul 21 Python
Python SQLite3数据库日期与时间常见函数用法分析
Aug 14 Python
基于python select.select模块通信的实例讲解
Sep 21 Python
pycharm远程调试openstack的图文教程
Nov 21 Python
Python切片索引用法示例
May 15 Python
python smtplib模块自动收发邮件功能(二)
May 22 Python
python爬虫获取新浪新闻教学
Dec 23 Python
Python后台管理员管理前台会员信息的讲解
Jan 28 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
Jan 10 Python
python实现在内存中读写str和二进制数据代码
Apr 24 Python
python import 上级目录的导入
Nov 03 Python
Python自然语言处理之切分算法详解
Apr 25 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日期时间函数的高级应用技巧
2009/05/16 PHP
PHP sprintf() 函数的应用(定义和用法)
2012/06/29 PHP
php gzip压缩输出的实现方法
2013/04/27 PHP
基于php下载文件的详解
2013/06/02 PHP
实测在class的function中include的文件中非php的global全局环境
2013/07/15 PHP
php禁止某ip或ip地址段访问的方法
2015/02/25 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
2017/01/19 PHP
php获取微信基础接口凭证Access_token
2018/08/23 PHP
yii框架使用分页的方法分析
2019/07/25 PHP
让网页根据不同IE版本显示不同的内容
2009/02/08 Javascript
javaScript 读取和设置文档元素的样式属性
2009/04/14 Javascript
JS图片切换的具体方法(带缩略图版)
2013/11/12 Javascript
NodeJS学习笔记之Connect中间件模块(一)
2015/01/27 NodeJs
Javascript获取表单名称(name)的方法
2015/04/02 Javascript
jQuery简单实现title提示效果示例
2016/08/01 Javascript
js编写的treeview使用方法
2016/11/11 Javascript
原生js实现addclass,removeclass,toggleclasss实例
2016/11/24 Javascript
canvas 绘制圆形时钟
2017/02/22 Javascript
微信小程序 图片加载(本地,网路)实例详解
2017/03/10 Javascript
jquery中封装函数传递当前元素的方法示例
2017/05/05 jQuery
jQuery实现轮播图及其原理详解
2020/04/12 jQuery
jQuery-Citys省市区三级菜单联动插件使用详解
2019/07/26 jQuery
vue canvas绘制矩形并解决由clearRec带来的闪屏问题
2019/09/02 Javascript
浅谈Layui的eleTree树式选择器使用方法
2019/09/25 Javascript
vue中get请求如何传递数组参数的方法示例
2019/11/08 Javascript
python实现域名系统(DNS)正向查询的方法
2016/04/19 Python
Django 多语言教程的实现(i18n)
2018/07/07 Python
浅谈Django中的QueryDict元素为数组的坑
2020/03/31 Python
美国儿童服装、家具和玩具精品店:Maisonette
2019/11/24 全球购物
Trip.com澳大利亚:在线旅行社
2019/12/01 全球购物
资源环境与城乡规划管理专业自荐书
2014/09/26 职场文书
四风问题班子对照检查材料
2014/09/27 职场文书
数学教师求职信范文
2015/03/20 职场文书
Redis持久化与主从复制的实践
2021/04/27 Redis
Python 中的 copy()和deepcopy()
2021/11/07 Python
python中对列表的删除和添加方法详解
2022/02/24 Python