pytorch 入门学习实现线性回归

使用pytorch实现线性回归

import  numpy as np
import matplotlib.pyplot as plt
import torch#part1 prepare dataset
x_data = torch.Tensor([[1.0],[2.0],[3.0]]) #矩阵的形式
y_data = torch.Tensor([[2.0],[4.0],[6.0]])#part2 design model using class
class LinearModel(torch.nn.Module):def __init__(self):super(LinearModel, self).__init__()   #官方写法self.linear = torch.nn.Linear(1,1)    #线性模型def forward(self,x):                     #重写callable forwardy_pred = self.linear(x)return y_pred#part3 construct loss and optimizer
#实例化,创建线性模型
model = LinearModel()
criterion = torch.nn.MSELoss(size_average=False)   #loss 不需要算均值
optimizer = torch.optim.SGD(model.parameters(),lr=0.01)  #SGD 随机梯度下降优化器;  model.parameters:输入权重; lr 学习率#part4 training cycle
for epoch in range(100):y_pred = model(x_data)loss = criterion(y_pred,y_data)print(epoch,loss.item()) #.item取出矩阵的元素值optimizer.zero_grad()loss.backward()optimizer.step()print('w =',model.linear.weight.item())#.item取出矩阵的元素值
print('b=',model.linear.bias.item())#.item取出矩阵的元素值
x_test = torch.Tensor([[4.0]])
y_test = model(x_test)
print('y_pred = ',y_test.data.item())
#out:
0 16.281747817993164
1 7.293664455413818
2 3.29177188873291
3 1.5095974206924438
4 0.7155891060829163
5 0.3614935278892517
6 0.20324327051639557
7 0.13218620419502258
8 0.09995455294847488
9 0.08501528948545456
10 0.07778217643499374
11 0.07398831844329834
12 0.07173360139131546
13 0.07017242908477783
14 0.06892779469490051
15 0.0678321123123169
16 0.06681052595376968
17 0.06582929939031601
18 0.06487414985895157
19 0.06393765658140182
20 0.063016876578331
21 0.06211043894290924
22 0.061217449605464935
23 0.060337554663419724
24 0.059470437467098236
25 0.05861560255289078
26 0.057773198932409286
27 0.05694276839494705
28 0.05612459406256676
29 0.05531793832778931
30 0.054522860795259476
31 0.05373939126729965
32 0.05296697840094566
33 0.05220579355955124
34 0.05145558714866638
35 0.05071603134274483
36 0.04998715966939926
37 0.049268800765275955
38 0.048560768365859985
39 0.047862716019153595
40 0.04717487469315529
41 0.046496935188770294
42 0.04582870006561279
43 0.04517001658678055
44 0.04452100023627281
45 0.043881095945835114
46 0.043250422924757004
47 0.04262881353497505
48 0.042016178369522095
49 0.041412435472011566
D:\Anaconda3\envs\pcd\lib\site-packages\torch\nn_reduction.py:43: UserWarning: size_average and reduce args will be deprecated, please use reduction='sum' instead.warnings.warn(warning.format(ret))
50 0.0408172532916069
51 0.040230605751276016
52 0.03965239226818085
53 0.03908245638012886
54 0.03852083534002304
55 0.03796733543276787
56 0.03742161765694618
57 0.0368838757276535
58 0.03635374456644058
59 0.035831205546855927
60 0.03531632944941521
61 0.03480881080031395
62 0.034308500587940216
63 0.03381550312042236
64 0.03332945331931114
65 0.032850489020347595
66 0.03237827494740486
67 0.03191307559609413
68 0.0314544141292572
69 0.031002411618828773
70 0.030556699261069298
71 0.03011762723326683
72 0.02968478389084339
73 0.029258109629154205
74 0.028837714344263077
75 0.028423231095075607
76 0.028014766052365303
77 0.02761211432516575
78 0.027215277776122093
79 0.02682417817413807
80 0.02643866091966629
81 0.026058759540319443
82 0.025684215128421783
83 0.02531503140926361
84 0.024951264262199402
85 0.024592645466327667
86 0.024239204823970795
87 0.02389087900519371
88 0.023547515273094177
89 0.0232091061770916
90 0.022875573486089706
91 0.02254680171608925
92 0.022222815081477165
93 0.0219033882021904
94 0.02158866822719574
95 0.021278396248817444
96 0.020972535014152527
97 0.020671162754297256
98 0.02037406899034977
99 0.020081277936697006
w = 1.905661940574646
b= 0.21445274353027344
y_pred =  7.837100505828857Process finished with exit code 0

pytorch 入门学习 实现线性回归-5相关推荐

  1. pytorch 入门学习多分类问题-9

    pytorch 入门学习多分类问题 运行结果 [1, 300] loss: 2.287[1, 600] loss: 2.137[1, 900] loss: 1.192 Accuracy on test ...

  2. pytorch 入门学习加载数据集-8

    pytorch 入门学习加载数据集 import torch import numpy as np import torchvision import numpy as np from torch.u ...

  3. pytorch 入门学习处理多维特征输入-7

    pytorch 入门学习处理多维特征输入 处理多维特征输入 import torch import numpy as np import torchvision import numpy as np ...

  4. pytorch 入门学习使用逻辑斯蒂做二分类-6

    pytorch 入门学习使用逻辑斯蒂做二分类 使用pytorch实现逻辑斯蒂做二分类 import torch import torchvision import numpy as np import ...

  5. pytorch 入门学习反向传播-4

    pytorch 入门学习反向传播 反向传播 import numpy as np import matplotlib.pyplot as plt import torchdef forward(x): ...

  6. 程序媛养成第0天--pytorch入门学习

    本篇基于<深度学习框架-pytorch入门与实践>陈云 有一起监督学习打卡的小伙伴请私信 2.2 pytorch入门第一步 2.2.1 Tensor # 分配矩阵空间但不初始化 #使用 [ ...

  7. pytorch 入门学习 MSE

    <PyTorch深度学习实践>完结合集-线性模型 import numpy as np import matplotlib.pyplot as pltx_data = [1.0,2.0,3 ...

  8. PyTorch入门学习(二):Autogard之自动求梯度

    autograd包是PyTorch中神经网络的核心部分,简单学习一下. autograd提供了所有张量操作的自动求微分功能. 它的灵活性体现在可以通过代码的运行来决定反向传播的过程, 这样就使得每一次 ...

  9. pytorch入门学习(三) 神经网络

    神经网络可以使用 torch.nn 包构建. autograd 实现了反向传播功能, 但是直接用来写深度学习的代码在很多情况下还是稍显复杂,torch.nn 是专门为神经网络设计的模块化接口. nn  ...

最新文章

  1. c语言中程序偏离,C语言中的指针加减偏移量
  2. poj 1088 滑雪 详解
  3. swing 显示文件下文件_Linux 文件权限详解
  4. 简约黑板擦表白特效网源码
  5. 【Spring] Spring boot 报错 Unable to start ServletWebServerApplicationContext due to missing ServletWe
  6. python等待线程结束_python线程join
  7. ExtJs十(ExtJs Mvc用户管理之二)
  8. codevs1068 乌龟棋 题解
  9. 打造一流云计算机房,【迈向“双一流”】为科研插上云计算的“翅膀”
  10. 起底白帽黑客郭盛华读过的学校,看完流眼泪了!
  11. android启动接受不到boot_complete广播,android-BOOT_COMPLETED从未收到
  12. android 检测输入法,Android判断软键盘 输入法 是否显示
  13. java大鱼吃小鱼实验报告摘要_java 大鱼吃小鱼游戏总结
  14. 【读书笔记】信贷周期的产生
  15. Mock服务(1)---- 初识Mock
  16. HTML背景图片和背景渐变
  17. Python程序设计总结 目录
  18. php获取当前日期所在自然周周一周末以及前后自然周始末
  19. Maltego 学习与使用
  20. Python 自动发送QQ端口消息 —— 2022/2/10

热门文章

  1. 非受检异常(运行时异常)和受检异常的区别等
  2. 安装vim提示Depends: libpython3.5 (>= 3.5.0~b1) but it is not going to be installed的解决方法
  3. 有没有更好的方法在JavaScript中执行可选的函数参数? [重复]
  4. Git最好的CRLF(回车,换行)处理策略是什么?
  5. 如何在jQuery的SELECT元素中选择特定选项?
  6. mysql ndb 测试_Mysql性能2:基于JDBC的MySQL NDB性能测试结果
  7. iview 远程搜索选择器方法使用,选择之后清空选择的项
  8. python如何运行一个python程序_python如何运行?第一个python小程序示范
  9. 什么叫侧面指纹识别_哪种指纹识别方式好?侧边指纹识别可能会成为主流
  10. 创建MOSS网站下的新闻