首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Keras的未知度量val_accuracy

使用Keras的未知度量val_accuracy
EN

Stack Overflow用户
提问于 2021-11-17 18:51:45
回答 1查看 535关注 0票数 3

我试图在Google中使用带有时尚-mnist数据集的keras调谐器,这是我的代码:

代码语言:javascript
复制
!pip install keras-tuner
import tensorflow as tf
import kerastuner
import numpy as np

print("TensorFlow version: ", tf.__version__)

(x_train, y_train) , (x_test, y_test) = tf.keras.datasets.fashion_mnist.load_data()

def create_model(hp):

  num_hidden_layers = 1
  num_units = 8
  dropout_rate = 0.1
  learning_rate = 0.01

  if hp:
    num_hidden_layers = hp.Choice('num_hidden_layers', values = [1,2,3])
    num_units = hp.Choice('num_units', values = [8,16,32])
    dropout_rate = hp.Float('dropout_rate', min_value = 0.1, max_value = 0.5)
    learning_rate = hp.Float('learning_rate', min_value = 0.0001, max_value = 0.01)

  model = tf.keras.models.Sequential()

  model.add(tf.keras.layers.Flatten(input_shape = (28,28)))
  model.add(tf.keras.layers.Lambda(lambda x: x/255.))

  for _ in range(0, num_hidden_layers):
    model.add(tf.keras.layers.Dense(num_units, activation='relu'))
    model.add(tf.keras.layers.Dropout(dropout_rate))

  model.add(tf.keras.layers.Dense(10, activation='softmax'))

  model.compile(
      loss='sparse_categorical_crossentropy',
      optimizer=tf.keras.optimizers.Adam(learning_rate=learning_rate),
      metrics=['accuracy']
  )

  return model

class CustomTuner(kerastuner.tuners.BayesianOptimization):
  def run_trial(self, trial, *args, **kwargs):
    kwargs['batch_size'] = trial.hyperparameters.Int('batch_size', 32, 128, step=32)
    super(CustomTuner, self).run_trial(trial, *args, **kwargs)

tuner = CustomTuner(
    create_model,
    objective='val_accuracy',
    max_trials = 20,
    directory= 'logs',
    project_name='fashion_minist',
    overwrite=True,
)

search = tuner.search(
    x_train, y_train,
    validation_data=(x_test, y_test),
    epochs = 5,
)

我得到了以下错误:

代码语言:javascript
复制
ValueError: Unknown metric: val_accuracy

我做错什么了吗?我在训练过程中得到了val_accuracy值,但是当第一次试验结束时,它就会因为这个错误而停止。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-16 04:53:12

如果您添加了一个返回语句,它应该可以工作。

返回超级(CustomTuner,self).run_trial(试用,*args,**kwargs)

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

https://stackoverflow.com/questions/70010008

复制
相关文章

相似问题

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