男儿欲遂平生志,五经勤向窗前读。这篇文章主要讲述approx_fprime - ValueError:使用序列设置数组元素相关的知识,希望能为你提供帮助。
当我执行approx_fprime
时,我收到错误(标题)
import numpy as np
import scipy.optimize as op
def J(x):
return x*xxk = np.arange(1,10).reshape(3,3).astype('float32')
print(op.approx_fprime(xk.ravel(), J, 0.01))
我做错了什么?
我必须改变函数,它应该返回一个标量而不是一个向量。
def J(x):
return np.sum(x**2)
答案你使approx_fprime的假设无效:
标量函数梯度的有限差分逼近。在这种情况下,您将返回一个大小为9的向量。这不是标量函数应返回的内容。原因很简单:
参数:
...
【approx_fprime - ValueError(使用序列设置数组元素)】f:可赎回
其功能是确定梯度(偏导数)。应该将xk作为第一个参数,f的其他参数可以在* args中提供。应该返回一个标量,函数的值在xk。
x = np.array([1,2,3])
print((x*x).shape)
# (3,)
推荐阅读
- 在intellij上无法启动android
- Android Studio 1.0.1在很多地方显示了奇怪的文字(发现(Darcula主题中的bug))
- 如何为开发人员进行设计
- 设计策略–设计中的战术思维指南
- 设计原理–视觉层次结构简介
- 如何管理设计Diva(不是一个)
- 个性化用户体验以及设计和情感的力量
- 数据驱动设计和生成设计–概述
- 有意义的设计和令人愉悦的UX艺术