Traceback (most recent call last): File "G:\pythonProject2\tuxiangchuli\pso-gabor.test02.py", line 47, in <module> best_params = PSO_Gabor(func, image, (image,2), niters=100, nparticles=20, w=0.5, c1=1, c2=1) File "G:\pythonProject2\tuxiangchuli\pso-gabor.test02.py", line 13, in PSO_Gabor x[i,:] = x0 + np.random.uniform(-1, 1, size=nparams) ValueError: operands could not be broadcast together with shapes (536,800) (2,)
时间: 2023-05-22 14:02:36 浏览: 119
python-unit-test-tool-comparison:比较Python unittest,nose和py.test
这个错误是因为在第13行的PSO_Gabor函数中,您传递了一个形状为(2,)的数组x0,但是您试图将其广播到形状为(536,800)的数组x。这两个形状不兼容,因此会引发ValueError。您需要调整x0的形状,以便与x的形状匹配,或者修改代码以确保正确的形状传递到函数中。
阅读全文