keras标准化轴参数有什么作用?

时间:2018-10-15 08:44:52

标签: python tensorflow keras deep-learning mnist

我是深度学习的初学者,我正在研究keras中的mnist数据集。

我用归一化为

tf.keras.utils.normalize(x_train, axis = 1)

我不明白axis参数的含义。你能帮我吗?

2 个答案:

答案 0 :(得分:1)

normalize函数仅执行常规归一化以提高性能:

  

归一化是对原始范围内的数据进行重新缩放,因此   所有值都在0到1的范围内。

在另一篇文章中对axis参数有很好的解释:

  

What is the meaning of axis=-1 in keras.argmax?

例如:

  

您的数据具有一定的形状(19、19、5、80)。这意味着:

     
      
  • 轴= 0-19个元素
  •   
  • 轴= 1-19个元素
  •   
  • 轴= 2-5个元素
  •   
  • 轴= 3-80个元素
  •   

对于想深入了解的人,GitHub上有Keras的作者FrançoisChollet的解释:

  
      
  • 对于密集层,所有RNN层和大多数其他类型的层,   Axis = -1的默认值是您应该使用的值,
  •   
  • 对于Convolution2D图层   如果使用dim_ordering =“ th”(默认值),请使用axis = 1,
  •   
  • 对于Convolution2D   具有dim_ordering =“ tf”的图层,请使用axis = -1(即默认值)。
  •   
     

https://github.com/fchollet/keras/issues/1921

答案 1 :(得分:0)

keras.utils.normalize()函数callsnumpy.linalg.norm()来计算范数,然后对输入数据进行归一化。因此,给定的axis参数将传递给norm()函数,以沿给定的轴计算范数。