【深度学习】复习温故而知新1

数据集ref:https://raw.githubusercontent.com/justinge/pic-go-for-xbotgo/master/Income1.csv

复制代码
X = torch.from_numpy(data.Education.values.reshape(-1,1).astype(np.float32))
Y = torch.from_numpy(data.Income.values.reshape(-1,1).astype(np.float32))

y_pred = model(x) # 预测
loss = loss_fn(y, y_pred) # 计算损失
opt.zero_grad() # 梯度清零
loss.backward() # 反向传播
opt.step() # 下一次

总的来说

python 复制代码
import torch
import torch.nn as nn
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

data = pd.read_csv("/home/data_for_ai_justin/01learn/dataset/Income1.csv")
X = torch.from_numpy(data.Education.values.reshape(-1,1).astype(np.float32))
Y = torch.from_numpy(data.Income.values.reshape(-1,1).astype(np.float32))
loss_fn = nn.MSELoss()
int_features, out_features = 1, 1
model = nn.Linear(int_features,out_features)
opt = torch.optim.SGD(
    model.parameters(),
    lr=0.0001
)
for i in range(5000):
    for x,y in zip(X,Y):
        y_pred = model(x)
        loss = loss_fn(y, y_pred)
        opt.zero_grad()
        loss.backward()
        opt.step()

plt.scatter(data.Education, data.Income)
plt.plot(X.numpy(), model(X).data.numpy(),c='r')
plt.savefig("1.jpg")

分解写法

python 复制代码
df = pd.read_csv("/home/data_for_ai_justin/01learn/dataset/Income1.csv")
X=torch.from_numpy(df.Education.values.reshape(-1,1).astype(np.float32))
Y=torch.from_numpy(df.Income.values.reshape(-1,1).astype(np.float32))
w = torch.randn(1,requires_grad=True)
b = torch.zeros(1,requires_grad=True)
learning_rate = 0.001
for i in range(5000):
    for x,y in zip(X,Y):
        y_pred = torch.matmul(x,w) + b
        loss=(y-y_pred).pow(2).mean()
        if w.grad is not None:
            w.grad.data.zero_()
        if b.grad is not None:
            b.grad.data.zero_()
        loss.backward()
        with torch.no_grad():
            w.data -= w.grad.data * learning_rate
            b.data -= b.grad.data * learning_rate
plt.scatter(df.Education, df.Income)
plt.xlabel = "x"
plt.ylabel = "y"
plt.plot(X.numpy(), (torch.matmul(X,w) + b).data.numpy(),c='r')
plt.show()
        
相关推荐
TextIn智能文档云平台12 分钟前
LLM 文档处理:如何让 AI 更好地理解中文 PDF 中的复杂格式?
人工智能·pdf
Blossom.11813 分钟前
把AI“撒”进农田:基于极值量化与状态机的1KB边缘灌溉决策树
人工智能·python·深度学习·算法·目标检测·决策树·机器学习
takashi_void25 分钟前
本地实现斯坦福小镇(利用大语言模型使虚拟角色自主发展剧情)类似项目“Microverse”
人工智能·语言模型·自然语言处理·godot·游戏程序·斯坦福小镇
java1234_小锋43 分钟前
TensorFlow2 Python深度学习 - 循环神经网络(LSTM)示例
python·rnn·深度学习·tensorflow2
zxsz_com_cn1 小时前
设备健康管理大数据平台:工业智能化的核心数据引擎
运维·人工智能
算家计算1 小时前
破5亿用户!国产AI模型成功逆袭,成为AI普及浪潮主角
人工智能·开源·资讯
Jolie_Liang1 小时前
国内金融领域元宇宙金融特殊需求与技术挑战研究报告
人工智能·元宇宙
算家计算1 小时前
SAIL-VL2本地部署教程:2B/8B参数媲美大规模模型,为轻量级设备量身打造的多模态大脑
人工智能·开源·aigc
Costrict1 小时前
解锁新阵地!CoStrict 现已支持 JetBrains 系列 IDE
大数据·ide·人工智能·深度学习·自然语言处理·ai编程·visual studio
姚家湾1 小时前
MAC mini /绿联NAS 上安装本地AFFiNE
人工智能·affine