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使用循环实现批量创建文件夹示例
Mar 25 Python
python使用分治法实现求解最大值的方法
May 12 Python
Python的for和break循环结构中使用else语句的技巧
May 24 Python
在centos7中分布式部署pyspider
May 03 Python
Python中字典(dict)合并的四种方法总结
Aug 10 Python
用python处理图片之打开\显示\保存图像的方法
May 04 Python
Python面向对象程序设计之继承与多继承用法分析
Jul 13 Python
django中related_name的用法说明
May 20 Python
Python 处理日期时间的Arrow库使用
Aug 18 Python
Python容器类型公共方法总结
Aug 19 Python
pycharm中如何自定义设置通过“ctrl+滚轮”进行放大和缩小实现方法
Sep 16 Python
一小时学会TensorFlow2之基本操作2实例代码
Sep 04 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去除头尾空格的2种方法
2015/03/16 PHP
使用PHP编写发红包程序
2015/07/22 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
用prototype实现的简单小巧的多级联动菜单
2007/03/24 Javascript
Lazy Load 延迟加载图片的 jQuery 插件
2010/02/06 Javascript
几个比较实用的JavaScript 测试及效验工具
2010/04/18 Javascript
js报错 Object doesn't support this property or method的原因分析
2011/03/31 Javascript
分享XmlHttpRequest调用Webservice的一点心得
2012/07/20 Javascript
Javascript中判断变量是数组还是对象(array还是object)
2013/08/14 Javascript
Jquery原生态实现表格header头随滚动条滚动而滚动
2014/03/18 Javascript
js实现选中复选框文字变色的方法
2015/08/14 Javascript
Angular中响应式表单的三种更新值方法详析
2017/08/22 Javascript
详解vue中点击空白处隐藏div的实现(用指令实现)
2018/04/19 Javascript
vue实现微信二次分享以及自定义分享的示例
2019/03/20 Javascript
vuejs移动端实现div拖拽移动
2019/07/25 Javascript
Python打造出适合自己的定制化Eclipse IDE
2016/03/02 Python
python pandas中DataFrame类型数据操作函数的方法
2018/04/08 Python
python3解析库pyquery的深入讲解
2018/06/26 Python
python try 异常处理(史上最全)
2019/03/07 Python
使用Python实现将list中的每一项的首字母大写
2019/06/11 Python
PyQt4实时显示文本内容GUI的示例
2019/06/14 Python
python网络编程之多线程同时接受和发送
2019/09/03 Python
python打印异常信息的两种实现方式
2019/12/24 Python
Python字符编码转码之GBK,UTF8互转
2020/02/09 Python
python 实现字符串下标的输出功能
2020/02/13 Python
C++和python实现阿姆斯特朗数字查找实例代码
2020/12/07 Python
python中常用的数据结构介绍
2021/01/12 Python
中国最大的名表商城:万表网
2016/08/29 全球购物
加州风格的游泳和沙滩装品牌:Cupshe
2019/06/10 全球购物
个人承诺书格式
2014/06/03 职场文书
地震捐款倡议书
2014/08/29 职场文书
夫妻分居协议书范本(有子女版)
2014/11/01 职场文书
宾馆前台接待岗位职责
2015/04/02 职场文书
酒店收银员岗位职责
2015/04/07 职场文书
培训简讯范文
2015/07/20 职场文书
幼儿园教学反思范文
2016/03/02 职场文书