我正在创建一个使用图像作为输入的简单神经网络。一切都完成了,除了我必须最小化我的成本函数,但是当我运行 scipy.optimize.minimize 时,它就在那里。我认为它不应该花很长时间,因为我通过的数据量不是很大。我的问题是为什么它不会成功终止以及为什么它不会引发错误。运行程序后它也几乎使用了我所有的 cpu 使用量,但几个小时后它仍然不会终止。
import numpy
input_layer_size = 625
hidden_layer_size = 40
num_labels = 1
Theta1 = randInitializeWeights(input_layer_size, hidden_layer_size)
Theta2 = randInitializeWeights(hidden_layer_size, num_labels)
nn_params = list(Theta1.flat) + list(Theta2.flat)
numpy.asarray(nn_params)
def CostFunction(nn_params) # as well as other values(args)
#Cost Function that unrolls nn_params and return an int (J)
from scipy import optimize
res = scipy.optimize.minimize(costFunction,x0 = nn_params,args = (input_layer_size, hidden_layer_size,num_labels,X,y,lambd),options = {'maxiter':50,'disp':True})
print(res)