Strojenie parametrów modelu
Czas przetestować różne parametry modelu i sprawdzić, jak dobrze sobie radzi!
Funkcja create_model(), którą zbudowano w poprzednim ćwiczeniu, jest gotowa do użycia.
Ponieważ dopasowanie obiektu RandomizedSearchCV zajęłoby zbyt dużo czasu, wyniki, które byś otrzymał(a), są wyświetlane przez funkcję show_results().
Możesz samodzielnie wypróbować random_search.fit(X,y) w konsoli, żeby upewnić się, że wszystko działa po zbudowaniu reszty kodu – pamiętaj jednak, że ćwiczenie może się przeterminować (na wszelki wypadek skopiuj wcześniej swój kod, żeby nie utracić postępów!).
Podczas tworzenia obiektu KerasClassifier nie musisz używać opcjonalnych parametrów epochs ani batch_size, ponieważ przekazujesz je jako params do przeszukiwania losowego – to wystarczy.
To ćwiczenie jest częścią kursu
Wprowadzenie do uczenia głębokiego z Keras
Instrukcje do ćwiczenia
- Zaimportuj
KerasClassifierz wrapperów scikit-learn dostępnych wtensorflow.keras. - Użyj swojej funkcji
create_modelpodczas tworzenia instancjiKerasClassifier. - Ustaw
'relu'i'tanh'jakoactivation, 32, 128 i 256 jakobatch_size, 50, 100 i 200 jakoepochsorazlearning_raterówne 0.1, 0.01 i 0.001. - Przekaż przekonwertowany
modeloraz wybraneparamspodczas budowania obiektuRandomizedSearchCV.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Import KerasClassifier from tensorflow.keras scikit learn wrappers
from tensorflow.keras.wrappers.____ import ____
# Create a KerasClassifier
model = KerasClassifier(build_fn = ____)
# Define the parameters to try out
params = {'activation': [____, ____], 'batch_size': [____, ____, ____],
'epochs': [____, ____, ____], 'learning_rate': [____, ____, ____]}
# Create a randomize search cv object passing in the parameters to try
random_search = RandomizedSearchCV(____, param_distributions = ____, cv = KFold(3))
# Running random_search.fit(X,y) would start the search,but it takes too long!
show_results()