Keras Normalization层手动指定均值方差时出现维度错误的问题咨询
Keras Normalization层手动指定均值方差时出现维度错误的问题咨询
我在尝试手动设置均值和方差来使用Keras的Normalization层时,遇到了维度不匹配的错误。我按照预期的逻辑编写了代码,但运行时一直报错,想问问大家问题出在哪里。
我期望的处理逻辑是:对输入的张量按照(x - mean) / sqrt(variance)的公式做标准化,我设置的均值是5,方差是4(也就是标准差2),输入张量是[[3,4,5,6,7]],预期输出应该是[[-1, -0.5, 0, 0.5, 1]]。
我的代码如下:
from tensorflow.keras.layers import Normalization import tensorflow as tf normalizer = Normalization(mean=5, variance=4) # normalization object normalized_tns1 = tf.constant([[3,4,5,6,7]]) print(normalized_tns1.shape) print("\nOutput :\n") normalizer(normalized_tns1)
运行后出现了如下维度错误:
--------------------------------------------------------------------------- InvalidArgumentError Traceback (most recent call last) Cell In[88], line 7 5 print(normalized_tns1.shape) 6 print("\nOutput :\n") ----> 7 normalizer(normalized_tns1) File c:\Users\Sujal07\anaconda3\Lib\site-packages\keras\src\utils\traceback_utils.py:122, in filter_traceback.<locals>.error_handler(*args, **kwargs) 119 filtered_tb = _process_traceback_frames(e.__traceback__) 120 # To get the full stack trace, call: 121 # `tf.debugging.disable_traceback_filtering()` --> 122 raise e.with_traceback(filtered_tb) from None 123 finally: 124 del filtered_tb InvalidArgumentError: Exception encountered when calling layer 'normalization' (type Normalization). Input tensor has shape (1, 5), but layer expects shape (None,).
备注:内容来源于stack exchange,提问作者Sujal Sharma
相关产品推荐
相关产品推荐

