搭建pytorch神经网络的常用两种方式

‘‘‘本节说明搭建pytorch神经网络的常用两种方式 相比快速搭建法 第一种可以个性化设置网络结构‘‘‘
import torch
import torch.nn.functional as F
#方式1 用 class 继承了一个 torch 中的神经网络结构, 然后对其进行了修改
class Net(torch.nn.Module):
    def __init__(self, n_feature, n_hidden, n_output):
        super(Net, self).__init__()
        self.hidden = torch.nn.Linear(n_feature, n_hidden)
        self.predict = torch.nn.Linear(n_hidden, n_output)

    def forward(self, x):
        x = F.relu(self.hidden(x))
        x = self.predict(x)
        return x
net1=Net(1,10,1)
#方式2 快速搭建模型
net2 = torch.nn.Sequential(
    torch.nn.Linear(1, 10),
    torch.nn.ReLU(),
    torch.nn.Linear(10, 1)
)
#我们再对比一下两者的结构:
print(net1)
‘‘‘Net(
  (hidden): Linear(in_features=1, out_features=10, bias=True)
  (predict): Linear(in_features=10, out_features=1, bias=True)
)‘‘‘
print(net2)
‘‘‘Sequential(
  (0): Linear(in_features=1, out_features=10, bias=True)
  (1): ReLU()
  (2): Linear(in_features=10, out_features=1, bias=True)
)‘‘‘
‘‘‘结论:我们会发现 net2 多显示了一些内容, 这是为什么呢?
原来他把激励函数也一同纳入进去了, 但是 net1 中,
激励函数实际上是在 forward() 功能中才被调用的.
这也就说明了, 相比 net2, net1 的好处就是,
你可以根据你的个人需要更加个性化你自己的前向传播过程, 比如(RNN).‘‘‘

原文地址:https://www.cnblogs.com/xuechengmeigui/p/12388400.html

时间: 2024-11-04 13:37:16

搭建pytorch神经网络的常用两种方式的相关文章

spring学习一——基本搭建,属性注入的两种方式

今天用spring 3.2.5搭建了基本的环境,spring出的太快了,前段时间才3.2.5,今儿个一瞧已经上了4的版本了,稍后给出spring的jar下载地址,毕竟现在官网上找不到了啊. 废话少说了,spring 3.2.5已经将所有的依赖包都放在了dist的lib下面,并且都有doc包和源码包,很是方便.先导入所需的jar包:core,context,beans,expression 四个jar包,除此之外,还需导入commons-logging. 下一步,新建xml文件,建议名称为 app

手把手教你Dubbo与SpringBoot常用两种方式整合

一.Dubbo整合SpringBoot的方式(1) 1)直奔主题,方式一: pom.xml中引入dubbo-starter依赖,在application.properties配置属性,使用@Service[暴露服务]使用@Reference[引用服务],选取的是application.properties+部分注解的方式来完成. 2)创建ego_interface接口模块,被提供者和消费者所使用 此模块目录结构如下: 1.实体类UserAddress package com.sxt.domain

搭建LAMP的两种方式

Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台. 随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注. 目前LAMP架构是大多数中小企业最青睐的PHP架构选择,也是众多Linux SA喜欢选择

android/IOS常用图片上传的两种方式

android/IOS常用图片上传的两种方式: 1.上传到服务器的文件服务器(FileServer) 原理:上传到文件服务器的方式是先在服务器端搭建文件服务器,配置好路径(url),该路径是我们待会上传图片的路径,配置成功后便通过http+post的模式上传到文件服务器,同时文件服务器将返回一个图片ID,这个ID就是图片的唯一标识,并将该ID写入数据库保存,当需要下载该图片时只需要将此ID带上即可. 两个核心问题: (1)服务端:配置FileServer,并写处理响应上传图片的代码,这个值得去网

【REACT NATIVE 系列教程之十三】利用LISTVIEW与TEXTINPUT制作聊天/对话框&&获取组件实例常用的两种方式

本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/react-native/2346.html 本篇Himi来利用ListView和TextInput这两种组件实现对话.聊天框. 首先需要准备的有几点:(组件的学习就不赘述了,简单且官方有文档) 1. 学习下 ListView: 官方示例:http://reactnative.cn/docs/0.27/tutorial.html#content

OpenCV4Android开发环境搭建两种方式加上图像二值化

1.环境搭建 进行android开发所需要的环境一般为:eclipse + android sdk + ADT,而OpenCV的开发由于需要编写本地代码(C/C++),因此还需要安装以下工具:NDK,Cygwin,CDT.网上都有大量详细的安装讲解,本文只描述下其中关键步骤. 1.1 NDK的安装 (1) NDK下载后解压到固定目录即可,无需安装.本文解压到D盘根目录下,其路径为:D:\android-ndk-r8d: (2) 添加环境变量,将其安装路径添加到系统path变量中,并添加系统变量N

企业宣传片在拍摄时常用的两种方式

企业宣传片在拍摄时常用的两种方式北京企业宣传片制作公司:企业宣传片在拍摄时常用的两种方式.固定拍摄:固定拍摄是将摄影机和支架固定在确定的地方,以固定的角度和方向进行拍摄.其特点是:画面稳定.清晰,不会出现抖动的现象.观众的视线在画面上停留.游动的相对时间长,有利看清画面的内容.容易产生单调.呆板的感觉.固定拍摄可以从拍摄方向.位置.角度上进行变化.既可正拍也可反拍,既可有近景也可有中景.特写等,可以在机位或镜头内部运动等方面变化.运动拍摄:是指不断地变动摄影机在拍摄过程中的方向.位置.角度.其特

Golang开发环境搭建(Notepad++、LiteIDE两种方式以及martini框架使用)

本文介绍两种Golang的开发环境一种基于notepad++.另一种基于liteide. 1.下载Golang语言的pkg:http://golangtc.com/download 直接点击安装,一路next. 2.程序员必备神器notepad++开发Golang环境很简单 一次点击:插件->Plugin Manger->Show Plugin Manger,安装插件GOnpp,重启notepad++. 新建文件命名为hello.go用notepad++打开,拷贝如下代码: package m

「linux学习」之两种方式yum搭建

方式一本地yum源配置: mkdir /mnt/cdrom/ 将/mnt/cdrom/目录称为 /dev/cdrom 的挂载入口 执行挂载命令 mount /dev/cdrom  /cdrom/mnt/ # mount: /dev/sr0 写保护,将以只读方式挂载 挂载后查看目录文件: ls /mnt/cdrom 挂载成功后使用 rpm -qa | grep rpm 查看所有rpm的包,选取需要的安装 rpm -ivh /mnt/cdrom/Packages/rpm+tab键自动补齐,这里需要注