Muhammad Zaim
Muhammad Zaim

Reputation: 1

Define/ Insert learning rate

# learning rate
batch_size = 32
epoch=50
activationFunction='relu'
def getModel():
    model = Sequential()
    model.add(Conv2D(64, (3, 3), padding='same', activation=activationFunction, input_shape=(img_rows, img_cols, 3)))
    model.add(Conv2D(64, (3, 3), activation=activationFunction))
    model.add(MaxPooling2D(pool_size=(2, 2)))
    model.add(Dropout(0.25))

    model.add(Conv2D(32, (3, 3), padding='same', activation=activationFunction))
    model.add(Conv2D(32, (3, 3), activation=activationFunction))
    model.add(MaxPooling2D(pool_size=(2, 2)))
    model.add(Dropout(0.25))

    model.add(Conv2D(16, (3, 3), padding='same', activation=activationFunction))
    model.add(Conv2D(16, (3, 3), activation=activationFunction))
    model.add(MaxPooling2D(pool_size=(2, 2)))
    model.add(Dropout(0.25))

    model.add(Flatten())
    model.add(Dense(64, activation=activationFunction)) # we can drop 
    model.add(Dropout(0.1))                  # this layers
    model.add(Dense(32, activation=activationFunction))
    model.add(Dropout(0.1))
    model.add(Dense(16, activation=activationFunction))
    model.add(Dropout(0.1))
    model.add(Dense(4, activation='softmax')) 

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

    return model

Based on this code, how do i insert learning rate? I have tried the learningratescheduler but it does not suit with me. I want to apply kfold and compare the result for each learning rate after every 10 fold.

Upvotes: 0

Views: 34

Answers (1)

bones.felipe
bones.felipe

Reputation: 596

Assuming you're using Keras:

def getModel(lr):
  ...
  adam = keras.optimizers.Adam(learning_rate=lr)
  model.compile(optimizer=adam, loss='binary_crossentropy', metrics=['accuracy'])
  return model

Upvotes: 1

Related Questions