优化网站方法江油网站建设制作策划哪家专业
web/
2025/9/27 12:01:06/
文章来源:
优化网站方法,江油网站建设制作策划哪家专业,在线探测网站开发语言,什么网站简单课程#xff1a;课时46 优化问题实战_哔哩哔哩_bilibili
这就是我们今天要求的2D函数#xff1a;
下图是使用python绘制出来的图像#xff1a; 但是可以看出有4个最小值#xff0c;但是还是不够直观#xff0c;还是看课程里面给的比较好#xff0c;蓝色是最低点位置课时46 优化问题实战_哔哩哔哩_bilibili
这就是我们今天要求的2D函数
下图是使用python绘制出来的图像 但是可以看出有4个最小值但是还是不够直观还是看课程里面给的比较好蓝色是最低点位置 课时46 优化问题实战_哔哩哔哩_bilibili 实际求的最小值 代码示例
import torch
import numpy as np
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D# 定义函数
def himmelblau(x):return (x[0]**2 x[1] - 11)**2 (x[0] x[1]**2 -7)**2# 生成X、Y数据列表
x np.arange(-6,6,0.1)
y np.arange(-6,6,0.1)
print(x.shape:,x.shape,;y.shape:,y.shape)
X, Y np.meshgrid(x,y) # 将X、Y进行网格化将一维数组变为二维数组
print(X.map:,X.shape,;Y.map:,Y.shape)
Z himmelblau([X,Y]) # 计算Zfig plt.figure(himmelblau) # 创建himmelblau图
ax fig.add_subplot(projection3d) # 获得当前极轴ax.plot_surface(X,Y,Z) # 绘制三维平面
ax.view_init(60,-30) # 确定视图的角度
ax.set_xlabel(x)
ax.set_ylabel(y)
plt.show()# 2D函数优化
x torch.tensor([4.,0.],requires_gradTrue) # 初始化x值requires_gradTrue代表需要梯度信息# 可以尝试改变初始化x的值会得到不一样的结果因此初始化值是十分重要的
optimizer torch.optim.Adam([x],lr1e-3) # 初始化优化器
for step in range(20000):pred himmelblau(x)optimizer.zero_grad() # 当网络参量进行反馈时,梯度是被积累的而不是被替换掉,这里即每次将梯度设置为0pred.backward() # 调出x、y的梯度信息optimizer.step() # 根据优化信息更新优化的值x[0] x[1]if step%2000 0: # 每2000个打印一组值print(step {}:x{},f(x){}.format(step,x.tolist(),pred.item()))
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82757.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!