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中mechanize库的简单使用示例
Jan 10 Python
Python实现二维有序数组查找的方法
Apr 27 Python
python的random模块及加权随机算法的python实现方法
Jan 04 Python
利用Python进行异常值分析实例代码
Dec 07 Python
解决python os.mkdir创建目录失败的问题
Oct 16 Python
python3.6使用urllib完成下载的实例
Dec 19 Python
浅谈pandas筛选出表中满足另一个表所有条件的数据方法
Feb 08 Python
Python如何处理大数据?3个技巧效率提升攻略(推荐)
Apr 15 Python
python 实现 hive中类似 lateral view explode的功能示例
May 18 Python
Python调用ffmpeg开源视频处理库,批量处理视频
Nov 16 Python
python中编写函数并调用的知识点总结
Jan 13 Python
python中validators库的使用方法详解
Sep 23 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
jQuery+php实现ajax文件即时上传的详解
2013/06/17 PHP
php判断电脑访问、手机访问的例子
2014/05/10 PHP
PHP、Java des加密解密实例
2015/04/27 PHP
PHP自动生成表单代码分享
2015/06/19 PHP
浅谈php7的重大新特性
2015/10/23 PHP
浅谈PHP的反射API
2017/02/26 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
Yii框架学习笔记之应用组件操作示例
2019/11/13 PHP
在VS2008中使用jQuery智能感应的方法
2010/12/30 Javascript
JavaScript XML和string相互转化实现代码
2011/07/04 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
2013/09/29 Javascript
js图片延迟技术一般的思路与示例
2014/03/20 Javascript
javascript实现label标签跳出循环操作
2016/03/06 Javascript
关于angularJs清除浏览器缓存的方法
2017/11/28 Javascript
微信公众号平台接口开发 菜单管理的实现
2019/08/14 Javascript
js 根据对象数组中的属性进行排序实现代码
2019/09/12 Javascript
[50:44]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第二场 2月22日
2021/03/11 DOTA
Python实现字典的遍历与排序功能示例
2017/12/23 Python
在Pycharm中自动添加时间日期作者等信息的方法
2019/01/16 Python
Python docx库用法示例分析
2019/02/16 Python
Python安装及Pycharm安装使用教程图解
2019/09/20 Python
Python容器使用的5个技巧和2个误区总结
2019/09/26 Python
Python 类的私有属性和私有方法实例分析
2019/09/29 Python
Python阶乘求和的代码详解
2020/02/14 Python
Pytorch实现将模型的所有参数的梯度清0
2020/06/24 Python
Python enumerate() 函数如何实现索引功能
2020/06/29 Python
分享一个python的aes加密代码
2020/12/22 Python
css3 盒模型以及box-sizing属性全面了解
2016/09/20 HTML / CSS
Deichmann英国:德国鞋类零售商
2021/01/30 全球购物
Yahoo的PHP面试题
2014/05/26 面试题
交通安全教育制度
2014/02/02 职场文书
2014年医院十一国庆节活动方案
2014/09/15 职场文书
2014年信访维稳工作总结
2014/12/08 职场文书
城管个人总结
2015/02/28 职场文书
革命电影观后感
2015/06/18 职场文书
关于Oracle12C默认用户名system密码不正确的解决方案
2021/10/16 Oracle