gpt4 book ai didi

python - keras层中的参数适用于哪里?

转载 作者:太空宇宙 更新时间:2023-11-03 20:58:18 29 4
gpt4 key购买 nike

我正在努力掌握神经网络的基础知识,并且正在努力理解 keras 层。

从tensorflow教程中获取以下代码:

model = keras.Sequential([
keras.layers.Flatten(input_shape=(28, 28)),
keras.layers.Dense(128, activation=tf.nn.relu),
keras.layers.Dense(10, activation=tf.nn.softmax)
])

所以这个网络有 3 层?第一个是代表像素值的 28*28 节点。第二个是隐藏层,它从第一个隐藏层获取加权和,应用 relu,然后将它们发送到 10 个经过 softmax 处理的输出层?

但是这个模型似乎需要不同的输入到各层:

model = keras.Sequential([
layers.Dense(64, activation=tf.nn.relu, input_shape=[len(train_dataset.keys())]),
layers.Dense(64, activation=tf.nn.relu),
layers.Dense(1)
])

为什么输入层现在同时具有 input_shape 和值 64?我读到第一个参数指定第二层中的节点数,但这似乎与第一个示例中的代码不符。另外,为什么输入层有激活?这只是在值进入网络之前重新处理它们吗?

另外,关于激活函数,为什么将softmax和relu视为替代函数?我认为 relu 应用于单个节点的所有输入,而 softmax 作用于跨层所有节点的输出?

非常感谢任何帮助!

第一个示例来自:https://www.tensorflow.org/tutorials/keras/basic_classification

第二个示例来自:https://www.tensorflow.org/tutorials/keras/basic_regression

最佳答案

基本上,Keras 中有两种类型的 API:顺序 API 和功能 API https://keras.io/getting-started/sequential-model-guide/

在 Sequential API 中,您无需明确引用输入层 输入 https://keras.io/layers/core/#input

这就是为什么您需要添加 input_shape 来指定第一层的尺寸,

更多信息请参见https://jovianlin.io/keras-models-sequential-vs-functional/

关于python - keras层中的参数适用于哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55866348/

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