pytorch深度学习实践(一):线性模型y=w*x和y=w*x+b的代码和绘图实现

目录

  • 题目描述
    • 1. y=w*x
    • 2. y=w*x+b
  • 代码
    • 第一题: y = w*x
    • 第二题:y = wx+b
  • 绘图工具

学习视频: 刘二大人pytorch1-线性模型

题目描述

1. y=w*x

使用线性模型y = w*x计算模型的损失值并且使用matplotlib给出cost function图像。

在这里插入图片描述

2. y=w*x+b

使用线性模型y = w*x+b给出cost function图像,使用3d图来绘制图像。

在这里插入图片描述

代码

第一题: y = w*x

import numpy as np
import matplotlib.pyplot as plt

# 训练数据
x_data = [1.0,2.0,3.0]
y_data = [2.0,4.0,6.0]

# 前向传播计算预测值
def forward(x):
    return x*w

# 计算损失值的平方
def loss(x,y):
    y_pred = forward(x)
    return (y-y_pred)*(y-y_pred)

# 记录画图的x值和y值
w_list = []
loss_mse_list = []
# 计算数据集中数据个数
n = len(x_data)
for w in np.arange(0.0,4.1,0.1):
    w_list.append(w)
    print("w=",w)
    # 存储每一个数据对的loss值的和
    loss_sum = 0
    for x,y in zip(x_data,y_data):
        y_pred = forward(x)
        # 一个数据对的loss值
        loss1 = loss(x,y)
        loss_sum += loss1
        print('\t',x,y,y_pred,loss1)
        # 对loss和求平均
    loss_mse_list.append(loss_sum/n)
    print('MSE=',loss_sum/n)

plt.plot(w_list,loss_mse_list)
plt.xlabel("w")
plt.ylabel("mse loss")
plt.show()

为什么要打印过程信息?

记录日志,防止训练过程中程序异常停止时丢失训练数据。

在这里插入图片描述

在这里插入图片描述

第二题:y = wx+b

绘图:matplotlib-3d图画法

import numpy as np
import matplotlib.pyplot as plt

# 训练数据
x_data = [1.0,2.0,3.0]
y_data = [3.0,5.0,7.0]

# 前向传播计算预测值
def forward(x):
    return x*w+b

# 计算损失值的平方
def loss(x,y):
    y_pred = forward(x)
    return (y-y_pred)*(y-y_pred)

# 记录画图的x值和y值
w_list = np.arange(0.0,4.1,0.1)
b_list = np.arange(-2.0,2.1,0.1)
loss_mse_list = []
# 计算数据集中数据个数
n = len(x_data)

for w in w_list:
    for b in b_list:
        l_sum = 0
        for x,y in zip(x_data,y_data):
            l_sum+=loss(x,y)
        loss_mse_list.append(l_sum/n)

w_list, b_list=np.meshgrid(w_list, b_list)
mse_list=np.array(loss_mse_list).reshape(len(w_list),-1)

fig = plt.figure()  # 创建图片
sub = fig.add_subplot(111, projection='3d')  # 添加子图,
surf = sub.plot_surface(w_list, b_list, mse_list, cmap=plt.cm.brg)  # 绘制曲面,并设置颜色cmap
cb = fig.colorbar(surf, shrink=0.8, aspect=15)  # 设置颜色棒

sub.set_xlabel(r"$w$")
sub.set_ylabel(r"$b$")
sub.set_zlabel(r"$loss$")
plt.show()

在这里插入图片描述

绘图工具

visdom :visdom的使用

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络基础三

课程目标 理解路由表的作用 能够读懂路由表信息 能够使用图形抓包工具 wireshark 进行数据包的抓取 ,如( TCP/IP 的三次握手四次断开) 一、路由表 思考: 什么是交换,什么是路由,什么是路由表?1. 交换是指同网络访…

外卖跑腿小程序开发如何满足不断变化的用户需求?

外卖跑腿小程序市场竞争激烈,用户需求不断演变。为了保持竞争力,开发团队需要不断适应变化,提供新功能和改进用户体验。本文将讨论如何通过技术手段来满足不断变化的用户需求。 1. 灵活的后端服务 后端服务是外卖跑腿小程序的核心&#xf…

如何优雅地单元测试 Kotlin/Java 中的 private 方法?

翻译自 https://medium.com/mindorks/how-to-unit-test-private-methods-in-java-and-kotlin-d3cae49dccd ❓如何单元测试 Kotlin/Java 中的 private 方法❓ 首先,开发者应该测试代码里的 private 私有方法吗? 直接信任这些私有方法,测试到…

css画一条虚线,用到background-image:linear-gradient线性渐变的属性

CSS实现虚线的方法_css 虚线_saltlike的博客-CSDN博客 渐变属性(background-image)全解析_background-image linear_大聪明码农徐的博客-CSDN博客 Background:linear-gradient()详解_background: linear-gradient_小白白中之白的博客-CSDN博客 注意: 必须要写高…

最短路径:迪杰斯特拉算法

简介 英文名Dijkstra 作用&#xff1a;找到路中指定起点到指定终点的带权最短路径 核心步骤 1&#xff09;确定起点&#xff0c;终点 2&#xff09;从未走过的点中选取从起点到权值最小点作为中心点 3&#xff09;如果满足 起点到中心点权值 中心点到指定其他点的权值 < 起…

C++进阶语法——智能指针【学习笔记(五)】

文章目录 1、智能指针简介1.1 原始指针&#xff08;raw pointer&#xff09;的⼀些问题1.2 智能指针&#xff08;smart pointers&#xff09; 2、智能指针&#xff08;smart pointers&#xff09;——unique_ptr2.1 unique_ptr 的声明2.2 unique_ptr 的函数2.3 ⾃定义类型使⽤ …

基于深度学习的中文情感分类 - 卷积神经网络 情感分类 情感分析 情感识别 评论情感分类 计算机竞赛

文章目录 1 前言2 情感文本分类2.1 参考论文2.2 输入层2.3 第一层卷积层&#xff1a;2.4 池化层&#xff1a;2.5 全连接softmax层&#xff1a;2.6 训练方案 3 实现3.1 sentence部分3.2 filters部分3.3 featuremaps部分3.4 1max部分3.5 concat1max部分3.6 关键代码 4 实现效果4.…

【HTML/CSS学习】margin和padding的区别

1. margin margin&#xff08;外边距&#xff09;属性定义元素周围的空间。 margin主要在元素的外部创建空白区域&#xff0c;用于分隔元素与其相邻元素之间的距离。 用处&#xff1a;可以用于调整两个元素之间的间隔。 2. padding padding&#xff08;填充&#xff09;定义…

IDE的组成

集成开发环境&#xff08;IDE&#xff0c;Integrated Development Environment &#xff09;是用于提供程序开发环境的应用程序&#xff0c;一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务…

拿下国家级信创认证 中科驭数KPU SWIFT-2200N成为国内首款满足金融业严苛要求的DPU产品

近日&#xff0c;中科驭数KPU SWIFT-2200N低时延DPU卡&#xff0c;在中国人民银行旗下金融信创生态实验室完成测试并取得测试报告&#xff0c;这意味着中科驭数低时延网络代表性产品的应用领域从证券进一步拓展到了银行业&#xff0c;成为国内首款满足金融行业严苛要求的DPU产品…

iis前端代理后台tomcat

1)tomcat服务器配置运行好&#xff0c;服务地址位于 localhost:8080/wechat 2)iis 绑定了域名 api.abc.com 希望访问 api.abc.com/wechat时&#xff0c;实际由tomcat的服务处理; 3)iis上需要添加组件 requestRouter_amd64.msi rewrite_amd64_zh-CN.msi 4)iis进行相关配置…

记录linux运行服务提示报错/bin/java: 没有那个文件或目录

描述&#xff1a;在执行jar启动命令时候提示 没有/bin/java 这个文件或者目录&#xff1b;然后我vi /usr/bin/java&#xff0c;是存在该文件的&#xff1b;那到底是什么问题呢&#xff0c;该不是没有创建软连接吧&#xff1f; 1、执行下述命令先测试下软链接是否有创建 ln -s …

用软件模拟IPC的RTSP流,对接烟火识别算法服务,做实时的烟火检测、人员入侵检测、抽烟检测等算法

最近在研发烟火识别的算法&#xff0c;想要检验算法集成到视频分析服务之后的效果&#xff0c;发现线上的摄像机很难发现火情&#xff0c;有的很长时间都不会有检测的结果&#xff0c;于是我就需要用已经被检验过的视频文件&#xff0c;模拟一路IPC的RTSP流&#xff0c;来测试烟…

jenkins如何安装?

docker pull jenkins/jenkins:lts-centos7-jdk8 2.docker-compose.yml version: 3 services:jenkins:image: jenkins/jenkins:lts-centos7-jdk8container_name: my-jenkinsports:- "8080:8080" # 映射 Jenkins Web 界面端口volumes:- jenkins_home:/var/jenkins_h…

【MySQL数据库】初识MySQL数据库、安装MySQL

文章目录 前言一、什么是 MySQL&#xff1f;二、MySQL 的强大之处三、Ubuntu安装MySQL步骤 1: 更新包列表步骤 2: 安装 MySQL步骤 3: 启动 MySQL 服务步骤 4: 验证 MySQL 安装步骤 5: 确保 MySQL 安全性 总结 前言 在今天的数字化世界中&#xff0c;数据是企业和个人的重要资产…

matlab 中的基本绘图指令与字符串操作指令

字符串指令 创建字符串 使用单引号将字符序列括起来创建字符串使用单引号创建的字符串是一个字符数组&#xff0c;每个字符都被视为一个独立的元素 可以通过索引访问每个字符使用双引号创建的字符串是一个字符串数组&#xff0c;整个字符串被视为一个元素 无法通过索引访问单个…

【SEC 学习】美化 Linux 终端

一、步骤 1. 进入 /etc/bash.bashrc vim /etc/bash.bashrc2. 重新加载 bash.bashrc source /etc/bash.bashrc二、各参数指标 符号含义\u当前用户的账号名称\h仅取主机的第一个名字&#xff0c;如上例&#xff0c;则为fc4&#xff0c;.linux则被省略\H完整的主机名称。例如&…

一文详解防御DDoS攻击的几大有效办法

伴随互联网的飞速发展&#xff0c;网络安全问题变得越来越突出&#xff0c;其中最常见的就是DDoS攻击&#xff0c;也就是分布式拒绝服务攻击。DDoS攻击者利用计算机或其他设备的协作&#xff0c;以发送大量请求的方式导致目标超负荷&#xff0c;导致不能正常运转或“宕机”。以…

【Linux】NTP服务器配置、时间修改

查看当前系统时间date修改当前系统时间date -s "2018-2-22 19:10:30"查看硬件时间hwclock --show修改硬件时间hwclock --set --date "2018-2-22 19:10:30"同步系统时间和硬件时间hwclock --hctosys保存时钟clock –w1.设置NTP Server服务检查系统是否安装n…

医学专题--多组学在病原微生物感染中的研究思路

研究背景 病原微生物是指可以侵犯人和动物&#xff0c;引起感染甚至传染病的微生物&#xff0c;包括病毒、细菌、真菌、立克次体、寄生虫等。在我国&#xff0c;感染性疾病占所有疾病的50%以上&#xff0c;每年约1300万儿童死于感染性疾病&#xff1b;而临床上感染性疾病患者中…