猿问

试图了解NumPy的linalg.norm方法

我不明白这段代码在做什么。X是一个矩阵,它的每一行都是图像的特征向量。规范做什么?


   # Take an eigenvector and make it into an image

    def vecToImage(x, size = lfw_imageSize):

      im = x/np.linalg.norm(x)

      im = im*(256./np.max(im))

      im.resize(*size)

      return im


慕桂英3389331
浏览 240回答 1
1回答

达令说

关于此事的文件很清楚。您将无参数ord传递给linalg.norm(),因此您获得了Frobenius范数。该代码似乎是通过除以范数来规范化输入。然后,似乎很难进行缩放以具有8位颜色值。但是代码的缩放范围是0到256,而不是0到255。但是,第一步对我而言似乎毫无意义。该代码可以简单地读取为:im = x*(256./np.max(x))但也许应该是255,而不是256。由于这里没有上下文,因此我不愿意指出代码是错误的。只有您才可以决定这一点,因为只有您知道上下文。
随时随地看视频慕课网APP

相关分类

Python
我要回答