我正在编写我自己的神经网络(用于学习目的,不是真正使用),我目前处于模型选择阶段,我用一组参数交叉验证我的 NN。我目前正在使用 for 循环遍历numpy
数组reg_range
:
def model_selection(nn, trainX, trainY, reg_range, k_folds=5):
# reg_range = the range of regularization parameters to search over
res = []
for i, reg in enumerate(reg_range):
print "Testing", i+1, "/", len(reg_range), "parameters"
nn.reset()
res.append(cross_validation(nn, trainX, trainY, reg=reg, k_folds=k_folds))
return res
mod_sel = model_selection(nn1, trainX, trainY, reg_params)
该cross_validation
函数返回一个 1D numpy.array,具有每次 CV 运行的准确性。我怎样才能并行化这段代码并且仍然有mod_sel
相同的顺序reg_params
?我有兴趣看看如何使用multiprocessing
库以及使用IPython
.
希望这很清楚,我试图省略(至少在我看来)代码的不相关部分。