自定义数据集 使用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}')
相关推荐
纠结哥_Shrek1 分钟前
pytorch基于FastText实现词嵌入
人工智能·pytorch·python
说私域7 分钟前
智能调度体系与自动驾驶技术优化运输配送效率的研究——兼论开源AI智能名片2+1链动模式S2B2C商城小程序的应用潜力
人工智能·小程序·自动驾驶
说私域7 分钟前
开源2+1链动模式AI智能名片S2B2C商城小程序:利用用户争强好胜心理促进分享行为的策略研究
人工智能·小程序·开源
drebander1 小时前
Spring AI 与企业级应用架构的结合
人工智能·架构·springai
Bruce_Liuxiaowei2 小时前
基于阿里云百炼大模型Sensevoice-1的语音识别与文本保存工具开发
人工智能·阿里云·语音识别·xcode
说私域2 小时前
对顾客行为的数据分析:融入2+1链动模式、AI智能名片与S2B2C商城小程序的新视角
人工智能·小程序·数据分析·开源
仇辉攻防3 小时前
【AI】DeepSeek 概念/影响/使用/部署
人工智能·网络安全·ai·语言模型·chatgpt·ddos
Luzem03193 小时前
使用PaddlePaddle实现逻辑回归:从训练到模型保存与加载
人工智能·逻辑回归·paddlepaddle
Archie_IT4 小时前
基于云计算、大数据与YOLO设计的火灾/火焰目标检测
大数据·人工智能·yolo·目标检测·云计算