반응형
RuntimeError: Model-building function did not return a valid Keras Model instance, found None
케라스 튜너 에러 해결 방법 !
오늘 이걸로 몇시간을 회사에서 시간을 보냈는지,,,, Error 를 마주해서 못풀면 너무 너무 답답하다,,,
이 글을 보는 모든 분들은 바로바로 해결하고 넘어가셨으면 좋곘다 : )
아니 아무리 구글링해도
from tensorflow.keras import layers, models 로 바꿔서 하라는데
긍까 from keras import layers, models로 하면 안된다고함 !!
근데 keras -> tensorflow.keras로 바꿔도 에러가 뜸
# builder 생성하여서 학습하기 간단하게
def model_builder(hp):
model = keras.Sequential()
model.add(base_model)
model.add(keras.layers.GlobalAveragePooling2D())
model.add(keras.layers.BatchNormalization())
model.add(keras.layers.Dropout(0.2))
model.add(keras.layers.Dense(21))
hp_learning_rate = hp.Choice('learning_rate', values = [1e-2, 1e-3, 1e-4])
model.compile(optimizer = keras.optimizers.Adam(learning_rate = hp_learning_rate),
loss = keras.losses.SparseCategoricalCrossentropy(from_logits = True),
metrics = ['accuracy'])
#model.compile(optimizer = keras.optimizers.Adam(hp.Float('learning_rate', 1e-4, 1e-2, sampling = 'log')), loss = tf.keras.losses.BinaryCrossentropy(), metrics=[tf.keras.metrics.BinaryAccuracy(name='accuracy'), f1])
model.summary()
자자 model_builder함수를 이렇게 정의할때 model.summary로 마지막을 매꿔주는게 아니라
# builder 생성하여서 학습하기 간단하게
def model_builder(hp):
model = keras.Sequential()
model.add(base_model)
model.add(keras.layers.GlobalAveragePooling2D())
model.add(keras.layers.BatchNormalization())
model.add(keras.layers.Dropout(0.2))
model.add(keras.layers.Dense(21))
hp_learning_rate = hp.Choice('learning_rate', values = [1e-2, 1e-3, 1e-4])
model.compile(optimizer = keras.optimizers.Adam(learning_rate = hp_learning_rate),
loss = keras.losses.SparseCategoricalCrossentropy(from_logits = True),
metrics = ['accuracy'])
#model.compile(optimizer = keras.optimizers.Adam(hp.Float('learning_rate', 1e-4, 1e-2, sampling = 'log')), loss = tf.keras.losses.BinaryCrossentropy(), metrics=[tf.keras.metrics.BinaryAccuracy(name='accuracy'), f1])
return model
이렇게 return model 을 시켜주면
tuner = kt.Hyperband(model_builder,
objective = 'val_loss',
max_epochs = 10,
factor = 5,
directory = 'my_dir',
project_name = 'intro_to_kt')
잘돌아감...
왜 아무도 안가르쳐줬어 ㅠㅠㅠㅠㅠ 구글링 해서 들어간 페이지만 몇개야 ~!~!
반응형
'Deep learning > Error' 카테고리의 다른 글
[Error] cannot import name 'get_config' (0) | 2021.11.19 |
---|---|
Keras Tuner hyperband only trains 2 epochs (0) | 2021.08.25 |
Error : Running pip as the 'root' user can result in broken permission and conflicting behaviour with the system package manager (0) | 2021.08.20 |
ERROR: OOM when allocating tensor with shape (0) | 2021.07.27 |
Error : Your input ran out of data ; interupting training (0) | 2021.07.23 |