从numpy掩码到pytorch掩码
一、numpy布尔索引掩码
import numpy as npdata = np.arange(1, 11)
mask=[True,False,True,False,True,False,True,False,True,False]print(data)
print(data[mask])
返回值为:
[ 1 2 3 4 5 6 7 8 9 10]
[1 3 5 7 9]
二、numpy掩码数组
掩码数组通过numpy.ma来创建。
所谓掩码,就是掩盖的意思,后续掩码数组的操作只有未被掩藏的元素会参与计算。
掩码数组赋予了我们重新选择元素的权利,而不用改变矩阵的维度。
示例一:
import numpy as np
import numpy.ma as maa = np.arange(5)
b = ma.masked_array(a, mask=[1,1,1,0,0])
print(a)
print(b)
返回值为:
[0 1 2 3 4]
[-- -- -- 3 4]
示例二:
import matplotlib.pyplot as pltdata = np.random.rand(25 * 25).reshape(25, -1)
mask = np.tri(data.shape[0], k=-1)
data_masked = ma.array(data, mask=mask)fig, (ax1, ax2) = plt.subplots(1, 2)
ax1.imshow(data)
ax2.imshow(data_masked)
plt.show()
返回为:
三、pytorch掩码
pytorch使用tensor.masked_fill将张量中的一些值掩盖掉。
方法原型:tensor.masked_fill(mask, value)
注意点:
- mask中为1的部分使用value替代,0的部分保持原值
- mask必须是一个ByteTensor类型的张量(由01组成)
import torchx = torch.arange(24).reshape(3, 2, 4)
print(x.shape)
masked = torch.ByteTensor([[[1, 0, 1, 0], [0, 1, 1, 1]],[[1, 0, 1, 0], [0, 1, 1, 1]],[[1, 0, 1, 0], [0, 1, 1, 1]]])
print(masked.shape)
x = x.masked_fill(masked, 1e9)
print(x)
返回为:
torch.Size([3, 2, 4])
torch.Size([3, 2, 4])
tensor([[[1000000000, 1, 1000000000, 3],
[ 4, 1000000000, 1000000000, 1000000000]],
[[1000000000, 9, 1000000000, 11],
[ 12, 1000000000, 1000000000, 1000000000]],
[[1000000000, 17, 1000000000, 19],
[ 20, 1000000000, 1000000000, 1000000000]]])
从numpy掩码到pytorch掩码相关推荐
- java 位掩码_Java位掩码控制权限与()或(|)非(~)、的介绍
1. java 位掩码 java 位掩码,在java开发中很少有场景会用到掩码,但是当系统中需要判断某个对象是否有 某些权限时,可以通过位掩码来做. 位掩码 主要通过位运算,例如与(&).非( ...
- 掩码、反掩码和通配符
掩码.反掩码和通配符 1.Mask(掩码) 用来区分一个IP地址的网络部分和主机部分由左至右连续的"1"来表示网络位的部分,不能被0断开.连续的"0"用来表示主 ...
- 网络基础知识 (经典) - 掩码、反掩码和通配符
掩码.反掩码和通配符 [b][掩码.反掩码和通配符] [/b]Mask 用来区分一个IP地址的网络部分和主机部分 由左至右连续的"1"来表示网络位的部分,不能被0断开!! 连续的& ...
- 800字让你搞懂:掩码,反掩码,通配符。
目录 先说说大家熟知的--掩码. 接下来说说--反掩码 最后聊聊--通配符 今天给大家聊聊关于掩码,反掩码,通配符这三个
- wildcard-mask:通配符掩码与反掩码的区别
wildcard-mask:通配符掩码与反掩码的区别 在配置ACL.OSPF.EIGRP的时候,通常会用到wildcard-mask,他们在Cisco IOS下面的提示信息分别为: A.B.C.D S ...
- ACL访问控制列表 基础、创建ACL访问控制列表的两种方式、配置ACL访问控制列表规则、修改ACL规则的默认步长。子网掩码、反掩码、通配符掩码的区别和作用。
目录 ACL的组成: 创建ACL访问控制列表的两种的方式: 1.数字命名: 2.字符串命名方式: ACL创建步骤: 1.先创建ACL列表: 进入acl列表: 2.配置ACL的一条条规则: 3.进入需要 ...
- access身份证号掩码_Access输入掩码说明
字符 说明 0 数字( 0 到 9 ,必选项:不允许使用加号 [+] 和减号 [-] ) . 9 数字或空格(非必选项:不允许使用加号和减号). # 数字或空格(非必选项:空白将转换为空格,允许使用加 ...
- 掩码和反掩码的使用场景
使用场景 网络工程师在配置IP地址.ACL.ip-prefix.静态路由.动态路由(ospf.bgp)等场景时经常会遇到不知道该用子网掩码还是反掩码,本文将列举总结. 场景一:IP地址配置 [Huaw ...
- 计算机网络中的32种掩码和反掩码
这里讨论的是32位子网掩码,由连续的1的网络位和连续式0的主机位构成.可能有32种连续1和0的组合方式,所以子网掩码一共有32种. 分别为: 1000 0000. 0000 0000.0000 000 ...
最新文章
- 流媒体服务器 客户端播放器方案推荐
- RabbitMQ Node.js 示例
- ssh命令、ping命令、traceroute 命令所使用的协议
- spring 发送html邮件,Springboot2.0 发送HTML 格式的邮件。
- ios给系统添加分类管理属性
- 第二章 物理层 2,3 数据通信基础知识 [计算机网络笔记]
- arduino 温度调节器_Arduino用温湿度传感器控制继电器,为什么点了串口助手才能运行,拔掉usb线,直接外界9V电源却用不了...
- 【转载】固态硬盘的S.M.A.R.T详解
- 众信金融8·28开放日:聆听投资人心声
- python创建txt文件换行输入,python如何创建txt文件并写入
- Linux内存查看通用方法
- 大数据行业发展前景及岗位方向如何?
- 行程单批量打印软件(eTerm航空电子客票行程单打印软件)
- Java技术未来十年发展
- 关于Document类型的总结
- 快传号视频批量上传,禁止转载!
- Android项目猜纸牌游戏之一 界面设计和资源文件的设计
- Python爬虫——下载音乐
- [BZOJ4372][烁烁的游戏][动态树分治+线段树+LCA]
- 人人转联盟官网?人人转联盟是真的吗?人人转联盟能赚钱吗?