首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Talos --> TypeError:__init__()获得意外的关键字参数'grid_downsample‘

Talos --> TypeError:__init__()获得意外的关键字参数'grid_downsample‘
EN

Stack Overflow用户
提问于 2019-08-31 22:26:30
回答 1查看 968关注 0票数 1

我正在尝试使用Talos运行超参数优化。因为我有很多参数要测试,所以我想使用一个'grid_downsample‘参数,它将选择所有可能的超参数组合中的30%。然而,当我运行我的代码时,我得到:TypeError: __init__() got an unexpected keyword argument 'grid_downsample'

我测试了下面的代码,没有使用'grid_downsample‘选项,并且使用了更少的超参数。

代码语言:javascript
复制
#load data
data = pd.read_csv('data.txt', sep="\t", encoding = "latin1")
# split into input (X) and output (y) variables
Y = np.array(data['Y'])
data_bis = data.drop(['Y'], axis = 1)
X = np.array(data_bis)

p = {'activation':['relu'],
     'optimizer': ['Nadam'],
     'first_hidden_layer': [12],
     'second_hidden_layer': [12],
     'batch_size': [20],
     'epochs': [10,20],
     'dropout_rate':[0.0, 0.2]}

def dnn_model(x_train, y_train, x_val, y_val, params):
    model = Sequential()
    #input layer
    model.add(Dense(params['first_hidden_layer'], input_shape=(1024,))) 
    model.add(Dropout(params['dropout_rate']))
    model.add(Activation(params['activation']))
    #hidden layer 2
    model.add(Dense(params['second_hidden_layer']))
    model.add(Dropout(params['dropout_rate']))
    model.add(Activation(params['activation']))
    # output layer with one node
    model.add(Dense(1))
    model.add(Activation(params['activation']))
    # Compile model
    model.compile(loss='binary_crossentropy', optimizer=params['optimizer'], metrics=['accuracy'])
    out = model.fit(x_train, y_train,
                    batch_size=params['batch_size'],
                    epochs=params['epochs'],
                    validation_data=[x_val, y_val],
                    verbose=0)

    return out, model

scan_object = ta.Scan(X, Y, model=dnn_model, params=p, experiment_name="test")

reporting = ta.Reporting(scan_object)
report = reporting.data
report.to_csv('./Random_search/dnn/report_talos.txt', sep = '\t')

这段代码运行得很好。如果我将结尾的scan_object更改为:scan_object = ta.Scan(X, Y, model=dnn_model, grid_downsample=0.3, params=p, experiment_name="test"),它会给出错误:TypeError: __init__() got an unexpected keyword argument 'grid_downsample',而我希望得到与普通网格搜索相同的结果格式,但组合更少。我遗漏了什么?参数的名称是否已更改?我在conda环境中使用Talos 0.6.3。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-10-12 21:54:37

现在对你来说可能太晚了,但他们已经把它换成了fraction_limit。它会给你这个

代码语言:javascript
复制
scan_object = ta.Scan(X, Y, model=dnn_model, params=p, experiment_name="test", fraction_limit = 0.1)

遗憾的是,文档没有很好地更新

在GitHub上查看他们的示例:https://github.com/autonomio/talos/blob/master/examples/Hyperparameter%20Optimization%20with%20Keras%20for%20the%20Iris%20Prediction.ipynb

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57738846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档