我得到了以下代码,但我想定制它根据我的需要。给定方法调用:
best_n_hidden = hyperparam_selection(
train_network,
n_hidden_range=[10, 128],
func_args=[tr_X, ts_X, tr_y, ts_y],
n_iter=6,
)
def hyperparam_selection(func, n_hidden_range, func_args=None, n_iter=20):
if func_args is None:
func_args = []
scores = []
parameters = []
min_n_hidden, max_n_hidden = n_hidden_range
n_hidden_choices = np.arange(min_n_hidden, max_n_hidden + 1)
# To be able to perform gaussian process we need to
# have at least 2 samples.
n_hidden = random.randint(min_n_hidden, max_n_hidden)
score = func(n_hidden, *func_args) # ISSUE HERE!!
parameters.append(n_hidden)
scores.append(score)
n_hidden = random.randint(min_n_hidden, max_n_hidden)
问题是tr_X, ts_X, tr_y, ts_y
属于<type 'numpy.ndarray'>
类型,所以在score = func(n_hidden, *func_args)
行中使用星号操作符*func_args
解包时会出现问题。我不知道numpy
中的等价打包和解包方法是什么,我可以用在这种情况下numpy.stack
或numpy.packbits
。任何暗示都将不胜感激。你知道吗
在这种情况下,数组没有什么特别之处。你知道吗
在调用中,
func_args=[tr_X, ts_X, tr_y, ts_y],
,[...]
是一个包含4项的列表。它们是什么并不重要。你知道吗在函数内部,看起来
func_args
总是一个列表,可能是空的[]
。你知道吗在调用
score = func(n_hidden, *func_args)
中,该列表将展开为。你知道吗我希望这是一个
将工作(如果你总是传递4个对象)。或者
您没有打包或解包数组。而是处理数组的列表或元组。你知道吗
相关问题 更多 >
编程相关推荐