首页 > 行业资讯 > PyTorch 教程-使用自定义模块创建数据模型

PyTorch 教程-使用自定义模块创建数据模型

时间:2023-12-30 来源: 浏览:

PyTorch 教程-使用自定义模块创建数据模型

点击关注 Python架构师
Python架构师

gh_1d7504e4dee1

回复:python,领取Python面试题。分享Python教程,Python架构师教程,Python爬虫,Python编程视频,Python脚本,Pycharm教程,Python微服务架构,Python分布式架构,Pycharm注册码。

整理: python架构师

还有另一种方法可以进行预测。在前一节中,我们使用 forward() 方法和实现一个线性模型来进行预测。这种方法非常高效可靠。它易于理解和实现。

在自定义模块中,我们通过类来创建一个自定义模块,并且实现它的 init() 和 forward() 方法以及模型。init() 方法用于初始化类的新实例。在这个 init() 方法中,第一个参数是 self,表示类的实例,即尚未初始化的对象,之后我们可以添加额外的参数。

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

在此过程中,需要导入 torch 的 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))

资源分享

点击领取:最全Python资料合集
输出:

< torch._C.Generator object at 0x000001B9B6C4E2B0 > tensor([0.0739], grad_fn= < AddBackward0 > )

对多个数据

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))

输出:

<torch._C.Generator object at 0x000001B9B6C4E2B0 > tensor([[ 0.0739 ], [ 0.5891 ], [ 1.1044 ]], grad_fn=<AddmmBackward>)

 
热门推荐
  • 用Python写一个带界面的宿舍管理系统
  • PyTorch 教程-预测和线性类
  • Poe AI 机器人 GothicArtUA:哥特式艺术

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐