pytorch深度学习 线性回归

news2024/12/28 22:46:51
import torch
import matplotlib.pyplot as plt

x_data = torch.tensor([[1.0], [2.0], [3.0]])  # x_data是一个张量
y_data = torch.tensor([[2.0], [4.0], [6.0]])  # y_data是一个张量


# 定义一个线性回归模型
class LinearModel(torch.nn.Module):  # 继承torch.nn.Module
    def __init__(self):
        super(LinearModel, self).__init__()  # 等价于nn.Module.__init__(self)
        self.linear = torch.nn.Linear(1, 1)  # 输入和输出的维度都是1

    def forward(self, x): # forward函数是必须要有的,用来构建计算图
        y_pred = self.linear(x)  # forward
        return y_pred


model = LinearModel()  # 实例化一个模型
criterion = torch.nn.MSELoss(size_average=False)  # 损失函数
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)  # 优化器 lr为学习率
# 记录loss
loss_list = []
for epoch in range(100): # 训练100次
    y_pred = model(x_data) # forward
    loss = criterion(y_pred, y_data) # compute loss
    print(epoch, loss.item()) # 打印loss
    optimizer.zero_grad()  # 梯度清零
    loss.backward() # backward
    optimizer.step() # update
    # 记录loss
    loss_list.append(loss.item())

    print("predict (after training)", 4, model.forward(torch.tensor([4.0])).item()) # 预测

#绘制损失和训练次数的关系

plt.plot(range(100),loss_list)
plt.xlabel("epoch")
plt.ylabel("loss")
plt.show()


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/776824.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot项目中MVC使用--【JSB系列之010】

SpringBoot系列文章目录 SpringBoot知识范围-学习步骤【JSB系列之000】 文章目录 SpringBoot系列文章目录Http协议是马冬梅Cookie机制Session机制Token MVC模型本章的专注内容UserController代码 ThymeleafLets GO!总结作业配套资源题外话 Http协议是马冬梅 HTTP简介 1. HTTP…

软件测试如何实现月薪2万?

其实我一直在强调,钱的多少和技能是息息相关的,所以你要赚更多钱,就得付出更多努力,去不断提升自己的技能和见识。 因为最近在群里有一些同学,之前没做过自动化测试,但是限于领导要求,或者自己…

剑指offer21.调整数组顺序使得奇数位于偶数前面 57.和为s的两个数字 58.反转单词顺序

暴力二次遍历&#xff08;时间复杂度空间复杂度都是n&#xff09; class Solution { public:vector<int> exchange(vector<int>& nums) {vector<int> result(nums.size());int left0;for(int i0;i<nums.size();i){if(nums[i]%21) result[left]nums[i…

深拷贝浅拷贝有什么区别?怎么实现深拷贝?

目录 一、浅拷贝二、深拷贝三、两者区别&#xff1f; 一、浅拷贝 浅拷贝&#xff0c;指的是创建新的数据&#xff0c;这个数据有着原始数据属性值的一份精确拷贝。 如果属性是基本类型&#xff0c;拷贝的就是基本类型的值。如果属性是引用类型&#xff0c;拷贝的就是内存地址 …

理解Vuex

Vuex是什么 专门在Vue中实现集中式状态&#xff08;数据&#xff09;管理的一个Vue插件&#xff0c;对Vue应用中多个组件的共享状态进行集中式的管理&#xff08;读/写&#xff09;&#xff0c;也是一种组件间通信的方式&#xff0c;且适用于任意组件间通信 Vuex Github地址 …

走向具身智能丨美格高算力AI模组 以端侧智慧连接人和家庭

“贾维斯&#xff0c;我需要你的帮助。”这是钢铁侠Tony Stark在电影中向他的人工智能助手Jarvis寻求支持的场景。《钢铁侠》中的贾维斯不仅令观众着迷&#xff0c;也点燃了人们对于智能助手的想象力。正如电影《她》中所描绘的那样&#xff0c;智能助手还可以与人类建立真实的…

dolphinscheduler伪分布式安装

1、上传安装包 2、安装 #解压 重命名 [rootdatacollection conf]# cd /opt/modules/ [rootdatacollection modules]# tar -zxf apache-dolphinscheduler-2.0.6-bin.tar.gz -C /opt/installs/ [rootdatacollection modules]# cd ../installs/ [rootdatacollection installs]# m…

这8种算法——程序员必会

一个程序员一生中可能会邂逅各种各样的算法&#xff0c;但总有那么几种&#xff0c;是作为一个程序员一定会遇见且大概率需要掌握的算法。今天就来聊聊这些十分重要的“必抓&#xff01;”算法吧~ 算法一&#xff1a;快速排序法 快速排序法是对冒泡排序的一种改进&#xff0c…

Jmeter测试脚本编写详解(配详图)

一、简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试&#xff0c;它最初被设计用于Web应用测试&#xff0c;但后来扩展到其他测试领域。 它可以用于测试静态和动态资源&#xff0c;例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数…

ORACLE数据库scott没有相关权限

1. 首先登陆具有DBA权限的用户 1.1 打开cmd 1.2 输入以下命令 sqlplus / as sysdab上述命令中的 / as sysdba 表示使用操作系统认证登录&#xff0c;同时指定DBA权限 1.3 回车执行命令&#xff0c;系统或将提示输入密码&#xff08;没有则直接跳过&#xff09; 1.4 密码正…

AndroidStudio-实现登录界面(数据存储在SQLite)

要求&#xff1a;每种错误信息采用Toast进行提示 &#xff08;1&#xff09;未注册的用户不能进行登录&#xff1b; &#xff08;2&#xff09;用户名和密码不能为空&#xff1b; &#xff08;3&#xff09;用户名不能重复&#xff1b; 一、创建新工程 点击next 修改名字 &…

JQuery 实现点击按钮添加及删除 input 框

前言 用于记录开发中常用到的&#xff0c;快捷开发 需求新增功能 比如说&#xff0c;我台设备可以设置一个或多个秘钥&#xff0c;有时候我配置一个秘钥时&#xff0c;就不需要多个输入框&#xff0c;当我想配置多个秘钥时&#xff0c;就需要添加多个输入框。 实现 HTML …

Adobe打印机另存pdf出错生成log文件,打印失败

目录预览 一、问题描述二、原因分析三、解决方案四、参考链接 一、问题描述 用adobe打印机转pdf出错生成log文件,打印失败&#xff0c;log文件内容如下&#xff1a; %%[ ProductName: Distiller ]%% FZXBSJW--GB1-0 not found, using Courier. %%[ Error: typecheck; Offendi…

Mac安装MySQL详细教程

1、MySQL安装包下载 还没下载的话请前往官网下载 我们可以看到这里有两个不同架构的dmg的安装包&#xff0c;如果不知道自己电脑是ARM还是X86的话可以打开终端输入&#xff1a;uname -a 或者 uname -a | awk -F " " {print $(NF-1)} 来查看如下图&#xff1a; 这里显…

v-cloak和v-once和v-pre指令

v-cloak指令&#xff08;没有值&#xff09;&#xff1a; 1.本质是一个特殊属性&#xff0c;Vue实例创建完毕并接管容器后&#xff0c;会删掉v-cloak属性。 2.使用css配合v-cloak可以解决网速慢时页面展示出{{xxx}}的问题 v-once: v-once指令&#xff1a; 1.v-once所在节点在初…

基于linux下的高并发服务器开发(第一章)- Linux开发环境搭建

​​​​​​基于linux下的高并发服务器开发&#xff08;第一章&#xff09;-Linux环境开发搭建1.1_呵呵哒(&#xffe3;▽&#xffe3;)"的博客-CSDN博客https://blog.csdn.net/weixin_41987016/article/details/131681333?spm1001.2014.3001.5501 解决Ubuntu 虚拟机没…

高数笔记01:函数、极限、连续

图源&#xff1a;文心一言 本文是我学习高等数学第一章的一些笔记和心得&#xff0c;主要介绍了函数、极限、连续这三个基本概念&#xff0c;以及它们的性质和很基础的计算技巧。希望可以与考研路上的小伙伴一起努力上岸~~&#x1f95d;&#x1f95d; 第1版&#xff1a;查资料…

Python自动化测试之cookie绕过登录(保持登录状态)

前言 在编写接口自动化测试用例或其他脚本的过程中&#xff0c;经常会遇到需要绕过用户名/密码或验证码登录&#xff0c;去请求接口的情况&#xff0c;一是因为有时验证码会比较复杂&#xff0c;比如有些图形验证码&#xff0c;难以通过接口的方式去处理&#xff1b;再者&…

系统学习Halcon视觉软件指南

要系统学习Halcon视觉软件&#xff0c;您可以按照以下步骤进行&#xff1a; 我这里刚好有嵌入式、单片机、plc的资料需要可以私我或在评论区扣个6 学习基本概念&#xff1a;了解Halcon的基本概念和术语&#xff0c;例如图像处理、特征提取、图像匹配等。可以查阅Halcon的官方…

Web开发的富文本编辑器CKEditor介绍,Django有库ckeditor_uploader对它进行支持,django-ckeditor安装方法及使用注意事项

当需要在网页应用程序中提供富文本编辑功能时&#xff0c;CKEditor是一个流行的选择。CKEditor是一个开源的JavaScript富文本编辑器&#xff0c;它提供了强大的功能和用户友好的界面&#xff0c;使用户可以轻松创建和编辑格式化的文本内容。 以下是CKEditor的一些主要特性&…