还有另一种查找预测的方法。在上一节中, 我们使用forward()和实现线性模型来找到预测。此方法非常有效且可靠。很容易理解和实施。

在”定制模块”中, 我们使用类创建一个定制模块, 它是init()和forward()方法和模型。 init()方法用于初始化类的新实例。在此init()方法中, 第一个参数是self, 它指示该类的实例(该对象尚未初始化), 而在其自身之后, 我们可以添加其他参数。

下一个参数是初始化线性模型的实例。在上一节中, 初始化线性模型需要输入大小以及输出大小等于1, 但是在自定义模块中, 我们传递输入大小和输出大小变量而不传递其默认值。

在这种情况下, 需要导入割炬的nn包。在此, 我们使用继承, 以便此子类将利用我们的基类和模块中的代码。

模块本身通常将充当所有神经网络模块的基类。之后, 我们创建一个模型以进行预测。

让我们看一个示例, 该示例如何通过创建自定义模块来完成预测:

对于单个数据

import torch

import torch.nn as nn

class LinearRegression(nn.Module):

def __init__(self, input_size, output_size):

super().__init__()

self.linear=nn.Linear(input_size, output_size)

def forward(self, x):

pred=self.linear(x)

return pred

torch.manual_seed(1)

model=LinearRegression(1, 1)

x=torch.tensor([1.0])

print(model.forward(x))

输出

tensor([0.0739], grad_fn=)

对于多个数据

import torch

import torch.nn as nn

class LinearRegression(nn.Module):

def __init__(self, input_size, output_size):

super().__init__()

self.linear=nn.Linear(input_size, output_size)

def forward(self, x):

pred=self.linear(x)

return pred

torch.manual_seed(1)

model=LinearRegression(1, 1)

x=torch.tensor([[1.0], [2.0], [3.0]])

print(model.forward(x))

输出

tensor([[0.0739], [0.5891], [1.1044]], grad_fn=)

python pytorch自定义_PyTorch使用自定义模块创建数据模型相关推荐

  1. python pytorch自定义_Pytorch 实现自定义参数层的例子

    注意,一般官方接口都带有可导功能,如果你实现的层不具有可导功能,就需要自己实现梯度的反向传递. 官方Linear层: class Linear(Module): def __init__(self, ...

  2. python pytorch语音识别_PyTorch通过ASR实现语音到文本端的模型以及pytorch语音识别(speech) - pytorch中文网...

    ASR,英文的全称是Automated Speech Recognition,即自动语音识别技术,它是一种将人的语音转换为文本的技术.今天我们主要了解pytorch实现语音到文本的端到端模型. spe ...

  3. 【pytorch速成】Pytorch图像分类从模型自定义到测试

    文章首发于微信公众号<与有三学AI> [pytorch速成]Pytorch图像分类从模型自定义到测试 前面已跟大家介绍了Caffe和TensorFlow,链接如下. [caffe速成]ca ...

  4. python调用mysql中的自定义function并且返回结果

    首先在Mysql中创立一个叫ForeignKeyTest的function,链接如下: https://blog.csdn.net/appleyuchi/article/details/7945291 ...

  5. Python with上下文管理及自定义上下文管理

    Python with上下文管理及自定义上下文管理 一.上下文管理器 上下文管理器是对Context Manager的翻译 ,上下文是 context 直译的叫法,在程序中用来表示代码执行过程中所处的 ...

  6. 禅道设置bug模板_禅道的自定义功能:表格切换和创建页面的自定义

    原标题:禅道的自定义功能:表格切换和创建页面的自定义 禅道8.2beta版本开始,增强了自定义功能. 用户可以根据自己的使用需要个性化设置禅道页面所显示的功能模块和字段. 可自定义的项如下: 导航菜单 ...

  7. Pytorch学习笔记7——自定义数据集

    Pytorch学习笔记7--自定义数据集 1.读取数据 首先继承自torch.utils.data.Dataset 重写len与getitem train就用train数据集,test就用test数据 ...

  8. Android流媒体开发之 自定义一个完备的log模块

    Android音视频开发之 自定义一个完备的log模块 前言 基础知识的掌握 Log系统 为什么需要自定义一个log模块呢? 做什么? 怎么做? 确定成员变量: 初始化LogUtil 输出功能的实现 ...

  9. 筛选服务器连接暂时不可用,某个自定义筛选器或模块khy-016(如 URLScan)限制了对该文件的访问...

    摘要:服务器技术网nifengsoft 某个自定义筛选器或模块khy-016(如 URLScan)限制了对该文件的访问HTTP 错误 404.0 - Not Found 您要找的资源已被删除.已更名或 ...

最新文章

  1. portlet 与 servlet 的关系
  2. UA MATH564 概率论 Dirichlet分布
  3. Java设计模式——单件模式
  4. C++11学习笔记-----互斥量以及条件变量的使用
  5. Sharding-JDBC读写分离_MySql主从配置(1)_Sharding-Sphere,Sharding-JDBC分布式_分库分表工作笔记015
  6. oracle数据库基础知识总结,oracle知识点总结(一)
  7. 数据库设计三大范式详解
  8. linux timerfd_settime函数,Linux的timerfd分析
  9. tcping下载安装步骤,如何ping端口,tcping详解
  10. 触动精灵mysql用法_基于Lua语言的触动精灵脚本开发
  11. 三角波电流与梯形波电流的分析
  12. Cloakroom BZOJ2794 POI2012(背包问题)
  13. 加密的pdf文件如何解密?
  14. 检查excel指定列中是否有错别字存在
  15. docker出现问题:The container name “/XXX“ is already in use by container 解决方案
  16. 头条:每6个中国人就有1个中招的!
  17. 区块链应用的5大方向,哪些公司正在做?
  18. 关于学习java函数式接口Function中的apply方法的一些感悟
  19. (转)论架构师的自我修养
  20. 第十一章 软件保护技术(一)(软件保护技术简介)

热门文章

  1. 学科实践活动感悟50字_课改实践提素养 示范引领促教研 ——复兴镇小学语文课堂教学改革“五环四让”教学模式 研讨成果展示活动...
  2. Qt for ios / Qt for Android 设置透明状态栏
  3. gcc优化的简单说明
  4. C++中,有哪4种与类型转换相关的关键字?各有什么特点?应该在什么场合下使用?
  5. delete释放基本数据类型和对象数组的方法的区别和原因
  6. mysql启动选项只读_MySQL的启动选项和系统变量该如何配置?
  7. android sha1是签名么,Android获取SHA1和MD5签名
  8. 喜大普奔!BFE 控制平面正式开源发布!
  9. netty获取玩家chanel_Netty中的Channel
  10. 怎么用python编程实现二次差值多项式_二次插值法python实现