将标签分类为 -1 或 1

classify labels to -1 or 1

我有一个张量,其值介于 -1 和 1 之间。我怎样才能得到一个新的张量,使得负值现在变成一个,而正数现在变成 1? (高效)

tensor1 = [-0.1, 0.5, 0.08]
new_tensor = [-1, 1, 1]

零将是 -1 或 1

使用 numpy 很简单:

import numpy as np
tensor1 = [-0.1, 0.5, 0.08]
new_tensor = np.sign(tensor1)
new_tensor[new_tensor==0] = 1

我会按照

的方式使用 numpy.where 来完成这项任务
import numpy as np
tensor1 = np.array([-0.1, 0.5, 0.08])
new_tensor = np.where(tensor1<0,-1,1)
print(new_tensor)

输出

[-1  1  1]

请注意,如果您希望将 -1 分配给 0,这会将 1 分配给 0,然后将条件更改为 tensor1<=0