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之深入变量和引用对象
Sep 24 Python
跟老齐学Python之赋值,简单也不简单
Sep 24 Python
仅用50行代码实现一个Python编写的计算器的教程
Apr 17 Python
Django Admin 实现外键过滤的方法
Sep 29 Python
tensorflow学习笔记之简单的神经网络训练和测试
Apr 15 Python
基于pandas将类别属性转化为数值属性的方法
Jul 25 Python
Pandas中DataFrame的分组/分割/合并的实现
Jul 16 Python
python sklearn常用分类算法模型的调用
Oct 16 Python
Django Haystack 全文检索与关键词高亮的实现
Feb 17 Python
python2.7使用scapy发送syn实例
May 05 Python
解决python3.x安装numpy成功但import出错的问题
Nov 17 Python
Python 居然可以在 Excel 中画画你知道吗
Feb 15 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编写和读取XML的几种方式
2013/01/12 PHP
将PHP的session数据存储到数据库中的代码实例
2016/06/24 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
jquery ajax提交表单数据的两种实现方法
2010/04/29 Javascript
js中判断控件是否存在
2010/08/25 Javascript
远离JS灾难css灾难之 js私有函数和css选择器作为容器
2011/12/11 Javascript
JS实现div内部的文字或图片自动循环滚动代码
2013/04/19 Javascript
jquery trigger伪造a标签的click事件取代window.open方法
2014/06/23 Javascript
JavaScript实现的简单拖拽效果
2015/06/01 Javascript
jQuery插件支持同一页面被多次调用
2016/02/14 Javascript
Bootstrap 源代码分析(未完待续)
2016/08/17 Javascript
微信小程序 教程之wxapp视图容器 swiper
2016/10/19 Javascript
微信小程序新增的拖动组件movable-view使用教程
2017/05/20 Javascript
Vue项目中引入外部文件的方法(css、js、less)
2017/07/24 Javascript
Angularjs 事件指令详细整理
2017/07/27 Javascript
Javascript网页抢红包外挂实现分享
2018/01/11 Javascript
使用layui定义一个模块并使用的例子
2019/09/14 Javascript
JavaScript数组及常见操作方法小结
2019/11/13 Javascript
vue项目前端微信JSAPI与外部H5支付相关实现过程及常见问题
2020/04/14 Javascript
vue-cli单页面预渲染seo-prerender-spa-plugin操作
2020/08/10 Javascript
vue添加自定义右键菜单的完整实例
2020/12/08 Vue.js
Python构建网页爬虫原理分析
2017/12/19 Python
pandas数据框,统计某列数据对应的个数方法
2018/04/11 Python
解决python 文本过滤和清理问题
2019/08/28 Python
基于python2.7实现图形密码生成器的实例代码
2019/11/05 Python
Python获取、格式化当前时间日期的方法
2020/02/10 Python
法国家具及室内配件店:home24
2017/01/21 全球购物
乌克兰品牌化妆品和香水在线商店:Bomond
2020/01/14 全球购物
冰淇淋店创业计划书范文
2013/12/27 职场文书
学生党员的自我评价范文
2014/03/01 职场文书
人代会标语
2014/06/30 职场文书
2014大学生职业生涯规划书最新范文
2014/09/13 职场文书
不服从公司安排检讨书
2014/09/24 职场文书
小学大队干部竞选稿
2015/11/20 职场文书
2016元旦晚会主持词开场白和结束语
2015/12/04 职场文书
2019最新企业员工考勤管理制度(通用版)!
2019/07/02 职场文书