gpt4 book ai didi

python - 使用fmin_l_bfgs_b时由边界引起的错误

转载 作者:太空宇宙 更新时间:2023-11-03 18:04:14 26 4
gpt4 key购买 nike

使用 fmin_l_bfgs_b 进行优化时,出现错误“太多值无法解压”。从 stackoverflow 我发现我定义边界的方式有问题。但是,我似乎找不到正确的方法。

我尝试在下面创建一个最小的工作示例来说明该问题。输入是一个 28x28x1 灰度图像,范围从 0 到 1。因此,据我所知,我需要一个包含 784 对的列表,每个对的值均为 (0,1)。我尝试使用以下代码来实现:

img = random.uniform(size=(28, 28))
constraintPairs = [(0, 1)]*(28*28)

def func(img):
return img.mean()

imgOpt, cost = fmin_l_bfgs_b(func, img, approx_grad=1,bounds=constraintPairs)

我做错了什么?谢谢!

最佳答案

问题只是 fmin_l_bfgs_b ( Documentation ) 的返回值。它返回 3 个对象,而您只在代码中定义了两个对象。这应该有效:

img = random.uniform(size=(28, 28))
constraintPairs = [(0, 1)]*(28*28)

def func(img):
return img.mean()

img = reshape(img, (1, 28*28))
imgOpt, cost, info = fmin_l_bfgs_b(func, img, approx_grad=1,bounds=constraintPairs)

imgOpt = reshape(imgOpt, (28,28))

768维是否太多,很难说。如果是这样,您可以考虑对输入图像进行下采样。<​​/p>

关于python - 使用fmin_l_bfgs_b时由边界引起的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27176578/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com