梯度详解与优化实战

什么是梯度

对所有自变量求偏微分构成的向量,它是一个向量(有大小和函数值增长方向)

导数是一个标量
在这里插入图片描述

找最小值点坐标的案例

在这里插入图片描述

import torchimport numpy as np
import matplotlib.pyplot as plt
def himmelblau(x):return (x[0]**2+x[1]-11)**2 + (x[0]+x[1]**2-7)**2x = np.arange(-6,6,0.1)
# print(x)
y = np.arange(-6,6,0.1)X,Y = np.meshgrid(x,y)
# print(X,"hhhhh\n",Y)Z = himmelblau([X,Y])fig = plt.figure("himmelbu")
ax = fig.gca(projection="3d")
ax.plot_surface(X,Y,Z)
ax.view_init(60,-30)plt.show()# 使得x包含x,y两个变量,最终要求最小值
x = torch.tensor([4,0],requires_grad=True,dtype=float)# a.下面这句话相当于 x' = x - 0.001*△x  y'=...
optimizer = torch.optim.Adam([x],lr=1e-3)for step in range(20000):pred = himmelblau(x)# 先将梯度清零  防止梯度累积optimizer.zero_grad()# 生成x y的梯度信息pred.backward()# 这句话相当于执行a  有了梯度信息后,代入a式求值optimizer.step()if step%2000==0:print('step:{} x={} f(x)={}'.format(step,x.tolist(),pred.item()))

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android系统新特性——用户界面以及系统界面改进

用户界面改进 Android用户界面改进最明显的就是MD了。MD是Google于2014年推出的设计语言,它是一套完整的设计系统,包含了动画、样式、布局、组件等一系列与设计有关的元素。通过对这些行为的描述,让开发者设计出更符合目标的软件&#xff0c…

电子学会C/C++编程等级考试2023年03月(二级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:数字字符求和 请编写一个程序实现以下功能:从一个字符串中,提取出所有的数字字符即0-9,并作为数求和。 时间限制:1000 内存限制:65536输入 一行字符串,长度不超过100,字符串中不含空格。输出 字符串中所有数字字符作为数…

泛型你掌握多少?包装类你深入了解过吗?快进来看看吧~

目录 1、泛型是什么——引出泛型 2、泛型的使用 2.1、语法 2.2泛型类的使用 2.3、裸类型 3、泛型如何编译 3.1、擦除机制 3.2、为什么不能实例化泛型类型数组 4、泛型的上界 5、泛型方法 5.1、语法 5.2、举例 6、通配符 6.1、什么是通配符 6.2、统配符解决了什么…

【深入剖析K8s】容器技术基础(一):从进程开始说起

容器其实是一种特殊的进程而已。 可执行镜像 为了能够让这些代码正常运行’我们往往还要给它提供数据’比如我们这个加法程序所需要的输人文件这些数据加上代码本身的二进制文件放在磁盘上’就是我们平常所说的一个程序,也叫代码的可执行镜像(executablejmage&…

机器学习:攻击方法FGSM系列

任务 FGSM I-FGSM MI-FGSM Ensemble Attack 攻击评价指标 准确率越低表明攻击越好 数据 预训练模型 BaseLine 实践

模块的学习

模块合包的基本概念: 模块(module):在python中,xx.py文件,就可以被看作模块 包(package): 用来管理和存放模块的文件夹,就被称为包&…

C语言从入门到精通之【表达式和语句】

1 表达式 表达式由运算符和运算对象组成,最简单的表达式一个单独的运算对象。每个表达式都有一个值,并且是根据运算符优先级规定的顺序来执行,以下是一些表达式: 4 -6 421 a*(b c/d)/20 q 5*2 x q % 3 #q > 3 2 语句 语句…

HCIP-十、BGP基础

十、BGP基础 实验拓扑实验需求及解法1.R1 属于 AS100,R2/3/4 属于 AS200,R5 属于 AS3002.AS200 内运行 OSPF3.建立 IBGP 邻居4.建立 EBGP 邻居5.BGP 发布路由6.路由黑洞 实验拓扑 实验需求及解法 本实验模拟 ISP 网络拓扑,运行 BGP。如图所示…

电子学会C/C++编程等级考试2022年09月(二级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:统计误差范围内的数 统计一个整数序列中与指定数字m误差范围小于等于X的数的个数。 时间限制:5000 内存限制:65536输入 输入包含三行: 第一行为N,表示整数序列的长度(N <= 100); 第二行为N个整数,整数之间以一个空格分…

过滤器的应用

javaWeb三剑客: 1. Servlet:接收请求,处理请求(单例,也就是说&#xff0c;多个用户请求的的servlet是同一个对象) 2. Filter:拦截请求(单例->也就是说&#xff0c;多个用户请求的的filter是同一个对象) 3. Listem: 监听用户/服务器行为,javaWeb三剑客: 过滤器的实现 1&…

机器人开发的选择

喷涂机器人 码垛机器人 纸箱码垛机器人 焊接机器人 跳舞机器人 管道清理机器人 工地巡检机器人 点餐机器人 化工巡检机器人 装箱机器人 安防巡检机器人 迎宾机器人好像有点像软银那个 污水管道检测机器人 大酒店用扫地机器人 家用扫地机器人 工厂用&#xff08;…

<JavaEE> Thread线程类 和 Thread的常用方法

目录 一、Thread概述 二、构造方法 三、常用方法 1.1 getId()、getName()、getState()、getPririty() 1.2 start() 1.3 isDaemon()、setDaemon() 1.4 isAlive() 1.5 currentThread() 1.6 Interrupt()、interrupted()、isInterrupted() 1.6.1 方法一&#xff1a;添加共…