【pytorch】【进行中】运算符

2019年12月15日    Author:Guofei

文章归类: 0x26_torch    文章编号: 263


版权声明:本文作者是郭飞。转载随意,但需要标明原文链接,并通知本人
原文链接:https://www.guofei.site/2019/12/15/torch_operators.html

Edit

进行中

布尔类型

ByteTensor

生成

# 转换后是 torch.uint8 数据类型
torch.ByteTensor([1.1, 2, 3]) # 对于小数,会取整。对于溢出的数(大于255或负的),会舍弃溢出位数
# 但是,如果输入的是Tensor,会卡死,这么解决:
torch.tensor([1, 2, 3]).type(torch.int8)

运算

a = torch.ByteTensor([0, 1, 0, 1])
b = torch.ByteTensor([1, 1, 0, 0])

a & b # logical and
a|b # logical or
a^b # logical xor
~a # 并不是,logical not,而是按位与,你需要 1-a

BoolTensor

生成

torch.BoolTensor([1.1, 2, 0.9, -0.9, 0, True, False])
# 输出 tensor([ True,  True, False, False, False,  True, False])
# 绝对值小于1的,都会转成 False, 其它转为 True

# 直接大于、小于、等于都可以
torch.rand(size=(5, 6)) < 0.5

运算

# logic and:
a * b
a *= b

# logic or:
a + b
a += b

a.logical_xor(b)
a.logical_xor_(b)
a.logical_not()
a.logical_not_()

您的支持将鼓励我继续创作!
WeChatQR AliPayQR qr_wechat