Как мне изменить функции активации из кераса? - PullRequest
1 голос
/ 24 марта 2020

Я хотел бы использовать функцию активации relu с параметром alpha, установленным на 0,2, но я не мог понять, как это можно сделать для моей модели

import numpy
from tensorflow.keras.layers import Dense, Activation, Dropout, Input
from tensorflow.keras.models import Sequential, Model, load_model
from tensorflow.keras.optimizers import Adam

model_input = Input(shape = x_train[0].shape)
x = Dense(120, activation = 'relu')(model_input)
x = Dropout(0.01)(x)
x = Dense(120, activation = 'relu')(x)
x = Dropout(0.01)(x)
x = Dense(120, activation = 'relu')(x)
x = Dropout(0.01)(x)
model_output = Dense(numpy.shape(y_train)[1])(x)
model = Model(model_input, model_output)

Я видел там способ сделать это в этом ответе , который использует model.add(). Но я не уверен, как это может сработать для меня, не могли бы вы мне помочь?

Заранее спасибо!

1 Ответ

1 голос
/ 24 марта 2020

Во-первых, обратите внимание, что вы указываете активацию в виде строки, в то время как в примере, приведенном в ответе, вы связываете нас с функцией активации, указывается путем создания объекта класса, представляющего функцию активации. Во-вторых, обратите внимание, что вы хотите использовать функцию активации «leaky ReLU», в то время как в настоящее время вы указываете только "relu" в качестве функции активации.

Чтобы ответить на ваш вопрос, вы, вероятно, можете сделать что-то вроде этого

import numpy
from tensorflow.keras.layers import Dense, Activation, Dropout, Input
from tensorflow.keras.models import Sequential, Model, load_model
from tensorflow.keras.optimizers import Adam
from tensorflow.keras.layers import LeakyReLU

model_input = Input(shape = x_train[0].shape)
x = Dense(120)(model_input)
x = LeakyReLU(alpha=0.2)(x)
x = Dropout(0.01)(x)
x = Dense(120)(x)
x = LeakyReLU(alpha=0.2)(x)
x = Dropout(0.01)(x)
x = Dense(120)(x)
x = LeakyReLU(alpha=0.2)(x)
x = Dropout(0.01)(x)
model_output = Dense(numpy.shape(y_train)[1])(x)
model = Model(model_input, model_output)

Я не пробовал этот код, но он должен работать!

...