自定义数据集 使用paddlepaddle框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测

python 复制代码
import numpy as np
import paddle
import paddle.nn as nn

seed=1
paddle.seed(seed)

data = [[-0.5, 7.7], [1.8, 98.5], [0.9, 57.8], [0.4, 39.2], [-1.4, -15.7], [-1.4, -37.3], [-1.8, -49.1], [1.5, 75.6], [0.4, 34.0], [0.8, 62.3]]

data=np.array(data)

x_data=data[:,0]
y_data=data[:,1]

x_train=paddle.to_tensor(x_data,dtype=paddle.float32)
y_train=paddle.to_tensor(y_data,dtype=paddle.float32)

class LinearModel(nn.Layer):
    def __init__(self):
       super(LinearModel,self).__init__()
       self.linear=nn.Linear(1,1)
    def forward(self,x):
        x=self.linear(x)
        return x

model=LinearModel()

criterion=paddle.nn.MSELoss()

optimizer=paddle.optimizer.SGD(learning_rate=0.01, parameters=model.parameters())

epochs=500
final_checkpoint={}
for epoch in range(1,epochs+1):
    y_prd=model(x_train.unsqueeze(1))
    loss=criterion(y_prd.squeeze(1),y_train)
    optimizer.clear_grad()
    loss.backward()
    optimizer.step()
    if epoch % 10==0 or epoch==1:
        print(f"epoch:{epoch},loss:{float(loss)}")
    if epoch==epochs:
        final_checkpoint['epoch']=epoch
        final_checkpoint['loss']=loss

paddle.save(model.state_dict(),'./基础API/model.params')

model.load_dict(paddle.load('./基础API/model.params'))
model.eval()
x_test=paddle.to_tensor([[1.8]],dtype=paddle.float32)
y_test=model(x_test)
print(f'y_test:{y_test}')
相关推荐
谷歌上搜百度3 分钟前
LLM并非“万能钥匙”——深度解析大语言模型的本质与边界
人工智能·llm
Wendy144117 分钟前
【图像掩膜】——图像预处理(OpenCV)
人工智能·opencv·计算机视觉
机器之心25 分钟前
开启RL Scaling新纪元,siiRL开源:完全分布式强化学习框架,支持超千卡规模高效训练
人工智能
GISer_Jing32 分钟前
Coze:字节跳动AI开发平台功能和架构解析
javascript·人工智能·架构·开源
我有一计33337 分钟前
【算法笔记】5.LeetCode-Hot100-矩阵专项
人工智能·算法·程序员
阿里云大数据AI技术1 小时前
Hologres V3.1版本发布,Serverless型实例从零开始构建OLAP系统
大数据·人工智能·机器学习
vibag1 小时前
LLM大语言模型
人工智能·python·语言模型·自然语言处理
行然梦实1 小时前
KnEA(Knee-point-driven Evolutionary Algorithm)简介
人工智能·算法·机器学习
月吟荧静1 小时前
04动手学深度学习(下)
人工智能·深度学习
笙囧同学1 小时前
从零到一:我是如何用深度学习打造高性能书籍推荐系统的
人工智能·深度学习