Python 如何在Keras中自动微调网络?

Python 如何在Keras中自动微调网络?,python,neural-network,deep-learning,keras,Python,Neural Network,Deep Learning,Keras,如何自动调整网络,而不是每次手动调整隐藏层和纪元的数量?(使用Keras) 我需要的结果是显示过程和准确率的百分比 非常感谢 你可以从一些超参数上的简单循环开始,用这些参数训练一些时期,然后比较结果 您还可以研究网格搜索,这是一种更系统的方法。基本上,您可以设置一个创建模型的函数,并将其与一组要尝试的超参数和一组值一起使用。有关更多详细信息和样板代码 你到底想做什么。只要试着学习自动微调的方法,谢谢。如果你真的想自动完成所有事情,网格搜索可以是解决方案之一。但是,通常当数据集较大或模型复杂时,这

如何自动调整网络,而不是每次手动调整隐藏层和纪元的数量?(使用Keras)

我需要的结果是显示过程和准确率的百分比


非常感谢

你可以从一些超参数上的简单循环开始,用这些参数训练一些时期,然后比较结果


您还可以研究网格搜索,这是一种更系统的方法。基本上,您可以设置一个创建模型的函数,并将其与一组要尝试的超参数和一组值一起使用。有关更多详细信息和样板代码

你到底想做什么。只要试着学习自动微调的方法,谢谢。如果你真的想自动完成所有事情,网格搜索可以是解决方案之一。但是,通常当数据集较大或模型复杂时,这非常耗时。我自己不喜欢网格搜索。我喜欢自己调整超参数。
from keras.models import Sequential
from keras.layers import Dense
import numpy

seed = 9
numpy.random.seed(seed)

from pandas import read_csv
filename = 'BBCN.csv'
dataframe = read_csv(filename)

array = dataframe.values
x = array[:,0 : 11]
y = array[:, 11]

model = Sequential()
model.add(Dense(11, input_dim=11, kernel_initializer = 'uniform', z = 'relu'))
model.add(Dense(8, kernel_initializer = 'uniform', activation = 'relu'))
model.add(Dense(8, kernel_initializer = 'uniform', activation = 'relu'))
model.add(Dense(1, kernel_initializer = 'uniform', activation = 'sigmoid'))          

model.compile(loss='binary_crossentropy', optimizer ='adam', metrics = ['accuracy'])

model.fit(x, y,nb_epoch = 50, batch_size = 10 )

scores = model.evaluate(x,y)
print("%s, %.2f%%" % (model.metrics_names[1], scores[1]*100))