回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>使用GoogleColab,我试图使用Kerastuner的随机搜索来为我的用例找到最好的CNN</p>
<p>在我看来,一切都应该安排妥当,但出于某种原因,我总是得到一些帮助</p>
<pre><code>TypeError: ('Keyword argument not understood:', 'activation')
</code></pre>
<p>每当我宣布我的搜索</p>
<p>用于声明我的模型的函数:</p>
<pre><code>from tensorflow.keras import datasets, layers, models
def model_declaration(hp):
cnn = models.Sequential([
# Filtering & Pooling Layers
layers.Conv2D(
filters=hp.Int('filter1', min_value = 16, max_value = 128, step = 16), # Optimizing with filters from 16 to 128 in steps of 16
kernel_size = hp.Choice('kernel1', values=[3,6]), # Optimizing kernel size from 3 to 6
activation ='relu',
input_shape = (48,48,1) # always the same
),
layers.MaxPooling2D(pool_size=hp.Int('max_pooling_1', min_value = 2, max_value = 4, step = 16), activation = 'relu'),
layers.Conv2D(
filters=hp.Int('filter2', min_value = 16, max_value = 128, step = 16 ), # Optimizing with filters from 16 to 128 in steps of 16
kernel_size = hp.Choice('kernel2', values=[3,6]), # Optimizing kernel size from 3 to 6
activation = 'relu'),
layers.Conv2D(
filters=hp.Int('filter3', min_value = 8, max_value = 256, step = 16 ), # Optimizing with filters from 16 to 128 in steps of 16
kernel_size = hp.Choice('kernel3', values=[3,6]), # Optimizing kernel size from 3 to 6
activation = 'relu'
),
layers.Flatten(), # Flattening
])
for i in range(hp.Int('dense_layers', 2, 10)):
cnn.add(layers.Dense(units=hp.Int('dense_parameters'), min_value = 16, max_value = 128, step = 16), activation=hp.Choice(['relu', 'tanh', 'sigmoid']))
model.compile(optimizer=keras.optimizers.Adam(hp.Choice('learning_rate', values=[1e-1, 1e-2, 1e-3, 1e-4])),
loss = 'sparse_categorical_crossentropy',
metrics = ['accuracy'])
return model
</code></pre>
<p>这是我对随机搜索的声明:</p>
<pre><code>import kerastuner
from kerastuner import RandomSearch
from kerastuner.engine.hyperparameters import HyperParameter
random_search = RandomSearch(model_declaration, objective='val_accuracy', max_trials=5, directory='output', project_name='CNN best output')
</code></pre>
<p>Tensorflow版本为2.2.0-rc3
Kerastuner版本为1.0.1
Keras版本为2.3.0-tf</p>
<p>提前感谢你的帮助,我真的很难做到这一点,因为我对这个主题还比较陌生</p>