【发布时间】:2024-01-24 06:10:02
【问题描述】:
我是深度学习的初学者,我正在研究 keras 中的 mnist 数据集。
我使用归一化作为
tf.keras.utils.normalize(x_train, axis = 1)
我不明白轴参数是什么意思。你能帮我解决这个问题吗?
【问题讨论】:
标签: python tensorflow keras deep-learning mnist
我是深度学习的初学者,我正在研究 keras 中的 mnist 数据集。
我使用归一化作为
tf.keras.utils.normalize(x_train, axis = 1)
我不明白轴参数是什么意思。你能帮我解决这个问题吗?
【问题讨论】:
标签: python tensorflow keras deep-learning mnist
normalize 函数只是执行常规标准化以提高性能:
归一化是对原始范围内的数据进行重新缩放,因此 所有值都在 0 和 1 的范围内。
在另一篇文章中对轴参数有一个很好的解释:
例如:
您的数据具有某种形状 (19,19,5,80)。这意味着:
- 轴 = 0 - 19 个元素
- 轴 = 1 - 19 个元素
- 轴 = 2 - 5 个元素
- 轴 = 3 - 80 个元素
另外,对于那些想要更深入的人,在 GitHub 上有来自 Keras 的作者 François Chollet 的解释:
- 对于密集层、所有 RNN 层和大多数其他类型的层, 你应该使用默认的axis=-1,
- 对于 Convolution2D 层 使用 dim_ordering=“th”(默认),使用 axis=1,
- 对于 Convolution2D dim_ordering=“tf”的图层,使用axis=-1(即默认值)。
【讨论】:
keras.utils.normalize() 函数 calls 和 numpy.linalg.norm() 计算范数,然后对输入数据进行归一化。给定的axis 参数因此被传递给norm() 函数以计算沿给定轴的范数。
【讨论】: