tf.self_adjoint_eig因协方差矩阵而失败

TFU*_*ser 5 python tensorflow

如果我使用tf.self_adjoint_eig来获得协方差矩阵的特征分解,我得到"自伴随特征分解不是[sic]成功.输入可能无效."

假设我正在增白数据(这是一个张量流元素,所以我不会回到numpy的svd),然后当我使用这段代码时出现错误:

def whiten(x):
    x -= tf.reduce_mean(x, reduction_indices=[0])
    decomp = tf.stop_gradient(tf.self_adjoint_eig(tf.matmul(x, x, transpose_a=True)/n))
    evals = decomp[0, :]
    evecs = decomp[1:, :]
    xrot_scaled = tf.matmul(x, evecs)/(tf.sqrt(evals) + 1e-5)
    return tf.matmul(xrot_scaled, evecs, transpose_b=True)
Run Code Online (Sandbox Code Playgroud)

根据我的理解,对tf.self_adjoint_eig的输入是psd,因此解算器应该没有有效性问题.想法?