Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 具有多个条件的掩码列表/张量?_Python_List_Pytorch_Mask_Tensor - Fatal编程技术网

Python 具有多个条件的掩码列表/张量?

Python 具有多个条件的掩码列表/张量?,python,list,pytorch,mask,tensor,Python,List,Pytorch,Mask,Tensor,下面的代码很好 mask=targets>=0 目标=目标[遮罩] 然而,当我尝试用两个条件屏蔽时,它给出了一个错误RuntimeError:张量的布尔值与多个值不明确 mask=(targets>=0和targets使用np.logical_和创建一个用于连接的掩码,因为它返回一个结合了这两个条件的新掩码,而不是返回布尔值 targets=np.array([-1,0,1,2,3,4,5,6]) mask=np.logical_and(targets>=0,targets您在使用括号时出错。

下面的代码很好

mask=targets>=0
目标=目标[遮罩]
然而,当我尝试用两个条件屏蔽时,它给出了一个错误
RuntimeError:张量的布尔值与多个值不明确


mask=(targets>=0和targets使用
np.logical_和
创建一个用于连接的掩码,因为它返回一个结合了这两个条件的新掩码,而不是返回布尔值

targets=np.array([-1,0,1,2,3,4,5,6])

mask=np.logical_and(targets>=0,targets您在使用括号时出错。括号括住每个条件,以便NumPy将它们视为单个数组

targets = np.random.randint(0,10,(10,))

mask = (targets>=0) & (targets<=5) #<----------

print(mask)
targets[mask]

您可以使用多个掩码创建一些复杂的逻辑,然后直接用它们索引数组。示例-XNOR可以写成
~(mask1^mask2)


将括号改为
(targets>=0)和(targets我认为这是一个非常好的答案!因为我只能接受一个,所以我接受了Akshay的答案,因为我觉得他的答案稍微干净一些。
[ True False  True False False  True  True  True False  True]
array([4, 1, 3, 1, 5, 3])