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 相关文章推荐
python3.4用循环往mysql5.7中写数据并输出的实现方法
Jun 20 Python
一个月入门Python爬虫学习,轻松爬取大规模数据
Jan 03 Python
分数霸榜! python助你微信跳一跳拿高分
Jan 08 Python
Python机器学习k-近邻算法(K Nearest Neighbor)实例详解
Jun 25 Python
python3 面向对象__类的内置属性与方法的实例代码
Nov 09 Python
在自动化中用python实现键盘操作的方法详解
Jul 19 Python
pytorch 实现tensor与numpy数组转换
Dec 27 Python
Python __slots__的使用方法
Nov 15 Python
python 实现控制鼠标键盘
Nov 27 Python
python爬不同图片分别保存在不同文件夹中的实现
Apr 02 Python
python如何利用traceback获取详细的异常信息
Jun 05 Python
Python使用psutil库对系统数据进行采集监控的方法
Aug 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
如何过滤高亮显示非法字符
2006/10/09 PHP
PHP遍历数组的几种方法
2012/03/22 PHP
PHP数据类型之布尔型的介绍
2013/04/28 PHP
PHP实现冒泡排序的简单实例
2016/05/26 PHP
PHP通过文件保存和更新信息的方法分析
2019/09/12 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
js post方式传递提交的实现代码
2010/05/31 Javascript
web前端开发也需要日志
2010/12/09 Javascript
详解iframe与frame的区别
2016/01/13 Javascript
第五章之BootStrap 栅格系统
2016/04/25 Javascript
fullpage.js全屏滚动插件使用实例
2016/09/06 Javascript
微信小程序封装http访问网络库实例代码
2017/05/24 Javascript
[01:14]2014DOTA2展望TI 剑指西雅图newbee战队专访
2014/06/30 DOTA
python实现文件名批量替换和内容替换
2014/03/20 Python
用python登录Dr.com思路以及代码分享
2014/06/25 Python
Python3中常用的处理时间和实现定时任务的方法的介绍
2015/04/07 Python
Python基于回溯法子集树模板解决找零问题示例
2017/09/11 Python
Python字符串格式化%s%d%f详解
2018/02/02 Python
Python 3.7新功能之dataclass装饰器详解
2018/04/21 Python
python IDLE 背景以及字体大小的修改方法
2019/07/12 Python
对django的User模型和四种扩展/重写方法小结
2019/08/17 Python
Django2 连接MySQL及model测试实例分析
2019/12/10 Python
基于Python3.7.1无法导入Numpy的解决方式
2020/03/09 Python
Python环境使用OpenCV检测人脸实现教程
2020/10/19 Python
HTML5轻松实现全屏视频背景的示例
2018/04/23 HTML / CSS
Elizabeth Gage官网:英国最好的珠宝设计之一
2020/09/26 全球购物
网络事业创业计划书范文
2014/01/09 职场文书
共产党员公开承诺书范文
2014/03/28 职场文书
小学兴趣小组活动总结
2014/07/07 职场文书
学校端午节活动方案
2014/08/23 职场文书
思想作风整顿个人剖析材料
2014/10/06 职场文书
旷课检讨书范文
2014/10/30 职场文书
自主招生学校推荐信范文
2015/03/26 职场文书
校园音乐节目广播稿
2015/08/19 职场文书
RPM包方式安装Oracle21c的方法详解
2021/08/23 Oracle
如何基于python实现单目三维重建详解
2022/06/25 Python