【问题标题】:How do I modify the activation functions from keras?如何修改 keras 的激活函数?
【发布时间】:2020-07-04 14:25:54
【问题描述】:

我想使用激活函数 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)

我在这个answer 中看到有一种方法可以做到这一点,它使用model.add()。但我不确定这对我有什么用,你能帮帮我吗?

提前谢谢你!

【问题讨论】:

  • 您好,欢迎来到 AI SE!不幸的是,这个问题在这里是题外话,因为你问的是如何在某个库中完成某些事情,这是一个编程问题。见https://ai.stackexchange.com/help/on-topic。我会将这个问题迁移到 SO。

标签: keras activation-function


【解决方案1】:

首先,请注意您将激活指定为字符串,而在答案中提供的示例中,您将我们链接到激活函数是通过创建表示激活函数的类的对象来指定的。其次,请注意您要使用“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)

我没有尝试过这段代码,但它应该可以工作!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-30
    • 2020-12-05
    • 2017-08-10
    • 2019-09-10
    • 2017-05-06
    • 2017-11-03
    • 2021-03-19
    • 2020-02-13
    相关资源
    最近更新 更多