gpt4 book ai didi

deep-learning - 在 Keras 层中使用 softmax 激活时如何指定轴?

转载 作者:行者123 更新时间:2023-12-01 11:19:16 24 4
gpt4 key购买 nike

用于 softmax 激活的 Keras docs 声明我可以指定激活应用于哪个轴。我的模型应该输出一个 n × k 矩阵 M,其中 Mij 是第 i 个字母是符号 j 的概率。

n = 7 # number of symbols in the ouput string (fixed)
k = len("0123456789") # the number of possible symbols

model = models.Sequential()
model.add(layers.Dense(16, activation='relu', input_shape=((N,))))
...
model.add(layers.Dense(n * k, activation=None))
model.add(layers.Reshape((n, k)))

model.add(layers.Dense(output_dim=n, activation='softmax(x, axis=1)'))

最后一行代码无法编译,因为我不知道如何为 softmax 激活正确指定轴(在我的情况下为 k 的轴)。

最佳答案

您必须在那里使用实际函数,而不是字符串。

为方便起见,Keras 允许您使用一些字符串。

激活函数可以在 keras.activations 中找到,它们列在 the help file 中.

from keras.activations import softmax

def softMaxAxis1(x):
return softmax(x,axis=1)

.....
......
model.add(layers.Dense(output_dim=n, activation=softMaxAxis1))

甚至自定义轴:
def softMaxAxis(axis):
def soft(x):
return softmax(x,axis=axis)
return soft

...
model.add(layers.Dense(output_dim=n, activation=softMaxAxis(1)))

关于deep-learning - 在 Keras 层中使用 softmax 激活时如何指定轴?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45947111/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com