关于-1的意义的一般性问题

时间:2019-01-09 20:08:08

标签: python image scipy shift

我正在研究机器学习中的问题,我发现[-1]在代码的不同位置经常弹出,但是我似乎不明白它的重要性。

在此特定示例中,目标是稍微移动训练集中的所有图像。

代码如下:

LocationMapper.setGlobalLocationMapper(new LocationMapper());

最后一行中-1的含义是什么?

3 个答案:

答案 0 :(得分:2)

在numpy数组中,reshape允许您在尝试重塑数组形状时“推断”其中一个尺寸。

import numpy as np
a = np.arange(4).reshape(2,2)
#Output:
array([[0, 1],
       [2, 3]])
a.reshape([-1])
#Output:
array([0, 1, 2, 3])

如果您注意到了,还可以使用推论来重写第一个重塑,如下所示:

b =np.arange(4).reshape(2,-1)
#Output:
array([[0, 1],
       [2, 3]])

答案 1 :(得分:1)

此行:

shifted_image.reshape([-1])

仅使用列表作为参数调用reshape方法,列表恰好包含单个元素,即数字-1。这具有重塑numpy数组的效果。从文档中:

  

一个形状尺寸可以为-1。在这种情况下,该值是根据数组的长度和剩余维数推断的。

答案 2 :(得分:-2)

方法reshape将一个整数列表作为其参数,在这种情况下,列表的元素为-1。

-1特别影响调整大小,我确定您可以在numpy文档中找到。

希望这会有所帮助!