首页 > 解决方案 > tensorflow 归一化和轴参数

问题描述

所以我看过这篇文章这篇文章,但我仍然感到困惑。

如果我有形状为 (3, 4, 4, 2) 的数据,那么这意味着我有两个数据点(我的实际用例中的频谱图),每个点都有两个通道(两个不同的信号)。

我想尽快标准化我的数据,所以我试图避免 for 循环并使用 tensorflow.linalg.normalize 但我似乎无法控制轴参数。

据我了解,轴参数沿给定轴应用归一化:

来自文档: If axis is a Python integer, the input is considered a batch of vectors, and axis determines the axis in tensor over which to compute vector norms.

我想规范化每个数据点,并且在其中我希望规范化对于每个通道都是分开的。

如果它是一个循环,我会这样做

for i in range(3):
    for j in range(2):
         data[i, :, :, j] = tensorflow.linalg.normalize(data[i, :, :, j])

我假设使用轴参数执行此操作的方法是使用axis=(0, -1)(在第一个轴上标准化,然后对每个通道也进行标准化),但我得到的结果与我的预期结果不符。难道我做错了什么?还是我误解了更基本的东西?

标签: pythontensorflownormalization

解决方案


推荐阅读