You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 10:05:31