pytorch快速搭建神经网络_Sequential操作
作者:troublemaker、 发布时间:2023-01-06 01:47:44
标签:pytorch,神经网络,Sequential
之前用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类图结构:
使用torch.nn.Sequential() 快速搭建神经网络
net = torch.nn.Sequential(
torch.nn.Linear(2, 10),
torch.nn.ReLU(),
torch.nn.Linear(10, 2)
)
print(net)
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)
来源:https://blog.csdn.net/weixin_44912159/article/details/105052329


猜你喜欢
- 1. 引言当我们设计软件时,我们通常会花费大量精力来编写高质量的代码。但这往往还不够,一个好的软件还应该考虑其整个系统,如测试、部署、网络等
- 本文实例讲述了python函数装饰器之带参数的函数和带参数的装饰器用法。分享给大家供大家参考,具体如下:1. 函数带多个参数# 普通的装饰器
- 纳什均衡是一种博弈论中的概念,它描述了一种平衡状态,其中每个参与者都不能通过独立改变其决策来提高自己的利益。在 Python 中,可以使用一
- 1. 背景在软件需求、开发、测试过程中,有时候需要使用一些测试数据,针对这种情况,我们一般要么使用已有的系统数据,要么需要手动制造一些数据。
- 用过mac的朋友都反映很好用,不仅美观,性能好,关键是他的系统底层对于开发人员来说,无疑就是一个最大的好处,用习惯linux的人就知道mac
- 一、基本使用①从属于time这个包②一般使用都是使用time.Time 这个类型表示时间 ,time包中还有一些常量,源码如下// Comm
- 环境系统 : win 10 显卡:gtx965m cpu :i7-6700HQ python 3.61 pytorch 0.3包引用impo
- 如果你是一位ASP爱好者,你一定想过ASP的执行效率如何?大家都知道ASP效率和CGI的比,在访问量少的时候,它们是不相上下的,有时可能CG
- 1.列表元素删操作的方法列表的删操作指的是在列表中删除已存在的元素,列表中的元素被删除后,后面所有的元素依次往前移动一位,挂在被删除元素的索
- 查看自己cuda版本,我的cuda是11版本了,所以可以安装11版本以下的任何版本。进入pytorch官网官网网址:https://pyto
- mysql数据库报ERROR 1045 (28000): Access denied for user 'ODBC'@
- 本文实例讲述了mysql自定义函数原理与用法。分享给大家供大家参考,具体如下:本文内容:什么是函数函数的创建函数的调用函数的查看函数的修改函
- 创建变长数组类型CREATE TYPE varray_type AS VARRAY(2) OF VARCHAR2(50);这个变长数组最多可
- 工作中,经常会有用python访问各种数据库的需求,比如从oracle读点配置文件或者往mysql写点结果信息之类的。这里列一下可能用到的各
- 本文实例为大家分享了wxPython分隔窗口的具体代码,供大家参考,具体内容如下1、分割窗口分隔窗口(wx.SplitterWindow)就
- 本文实例为大家分享了opencv实现图像旋转效果的具体代码,供大家参考,具体内容如下图像旋转:在opencv中首先根据旋转角度和中心获取旋转
- 当时我在分享会,想试试,但身边没有电脑。今天打开 Firebug 的那一瞬间,突然记起这事。马上试了一下之前想的一个方案。可以!代码如下:
- 前言 获得图像的关键点后,可通过计算得到关键点的描述符。关键点描述符可用于图像的特征匹配。通常,在计算图A是否包含图B的特
- 一、下载地址Apache 5.4 —— httpd-2.4.4-win32.zipPHP 5.4 —— php-5.4.15-Win32-V
- 为什么要同步SQL Server 2000 数据库,它都用在什么场合SQL Server 2000 数据库同步配置的原理从0开始一步一步配置