pytorch线性回归模型的创建、调用方法实例

写代码的思路为:

首先导入torch.nn库,然后基于继承nn.Module的方法构建深度学习模块。整个模块的函数主要由两部分组成:

通过__init__方法初始化整个模型,forward方法对该模型进行前向计算。其中,在使用__init__方法的时候,可以在类内部初始化子模块,然后在forward方法中调用这些初始化的子模块,最后输出结果张量。

具体例子如下:

import torch
import torch.nn as nn

class LinearModel(nn.Module):
    def __init__(self, ndim):
        super(LinearModel, self).__init__() # 这里使用super函数来获取当前类的父类
        self.ndim = ndim # 定义权重的个数,即特征的个数

        self.weight = nn.Parameter(torch.randn(ndim,1)) # 定义权重
        self.bias = nn.Parameter(torch.randn(1)) # 定义偏置
    
    def forward(self,x):
        return x.mm(self.weight) + self.bias

if __name__=="__main__":
    lm = LinearModel(5) # 定义线性回归模型,特征数为5
    x = torch.randn(4,5) # 定义随机输入,迷你批次大小为4
    print(lm(x)) # 输出为4*1的矩阵,相当于输出了4个批次的每个批次的结果
    print((lm.named_parameters())) # 获取模型参数的生成器(带名字)
    print(list(lm.named_parameters())) # 转换生成器为列表
    print(lm.parameters()) # 获取模型参数的生成器(不带名字)
    print(list(lm.parameters()))
    print(lm.cuda()) # 将模型参数转移到GPU上
    print(list(lm.parameters()))
    print(lm.half()) # 转换模型参数为半精度浮点数
    print(list(lm.parameters()))

Done!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CrystalheartLi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值