将标签分类为 -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
我有一个张量,其值介于 -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