一、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)

注意点:

  1. mask中为1的部分使用value替代,0的部分保持原值
  2. 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掩码相关推荐

  1. java 位掩码_Java位掩码控制权限与()或(|)非(~)、的介绍

    1. java 位掩码 java 位掩码,在java开发中很少有场景会用到掩码,但是当系统中需要判断某个对象是否有 某些权限时,可以通过位掩码来做. 位掩码 主要通过位运算,例如与(&).非( ...

  2. 掩码、反掩码和通配符

    掩码.反掩码和通配符 1.Mask(掩码) 用来区分一个IP地址的网络部分和主机部分由左至右连续的"1"来表示网络位的部分,不能被0断开.连续的"0"用来表示主 ...

  3. 网络基础知识 (经典) - 掩码、反掩码和通配符

    掩码.反掩码和通配符 [b][掩码.反掩码和通配符] [/b]Mask 用来区分一个IP地址的网络部分和主机部分 由左至右连续的"1"来表示网络位的部分,不能被0断开!! 连续的& ...

  4. 800字让你搞懂:掩码,反掩码,通配符。

    目录 先说说大家熟知的--掩码. 接下来说说--反掩码 最后聊聊--通配符 今天给大家聊聊关于掩码,反掩码,通配符这三个

  5. wildcard-mask:通配符掩码与反掩码的区别

    wildcard-mask:通配符掩码与反掩码的区别 在配置ACL.OSPF.EIGRP的时候,通常会用到wildcard-mask,他们在Cisco IOS下面的提示信息分别为: A.B.C.D S ...

  6. ACL访问控制列表 基础、创建ACL访问控制列表的两种方式、配置ACL访问控制列表规则、修改ACL规则的默认步长。子网掩码、反掩码、通配符掩码的区别和作用。

    目录 ACL的组成: 创建ACL访问控制列表的两种的方式: 1.数字命名: 2.字符串命名方式: ACL创建步骤: 1.先创建ACL列表: 进入acl列表: 2.配置ACL的一条条规则: 3.进入需要 ...

  7. access身份证号掩码_Access输入掩码说明

    字符 说明 0 数字( 0 到 9 ,必选项:不允许使用加号 [+] 和减号 [-] ) . 9 数字或空格(非必选项:不允许使用加号和减号). # 数字或空格(非必选项:空白将转换为空格,允许使用加 ...

  8. 掩码和反掩码的使用场景

    使用场景 网络工程师在配置IP地址.ACL.ip-prefix.静态路由.动态路由(ospf.bgp)等场景时经常会遇到不知道该用子网掩码还是反掩码,本文将列举总结. 场景一:IP地址配置 [Huaw ...

  9. 计算机网络中的32种掩码和反掩码

    这里讨论的是32位子网掩码,由连续的1的网络位和连续式0的主机位构成.可能有32种连续1和0的组合方式,所以子网掩码一共有32种. 分别为: 1000 0000. 0000 0000.0000 000 ...

最新文章

  1. 流媒体服务器 客户端播放器方案推荐
  2. RabbitMQ Node.js 示例
  3. ssh命令、ping命令、traceroute 命令所使用的协议
  4. spring 发送html邮件,Springboot2.0 发送HTML 格式的邮件。
  5. ios给系统添加分类管理属性
  6. 第二章 物理层 2,3 数据通信基础知识 [计算机网络笔记]
  7. arduino 温度调节器_Arduino用温湿度传感器控制继电器,为什么点了串口助手才能运行,拔掉usb线,直接外界9V电源却用不了...
  8. 【转载】固态硬盘的S.M.A.R.T详解
  9. 众信金融8·28开放日:聆听投资人心声
  10. python创建txt文件换行输入,python如何创建txt文件并写入
  11. Linux内存查看通用方法
  12. 大数据行业发展前景及岗位方向如何?
  13. 行程单批量打印软件(eTerm航空电子客票行程单打印软件)
  14. Java技术未来十年发展
  15. 关于Document类型的总结
  16. 快传号视频批量上传,禁止转载!
  17. Android项目猜纸牌游戏之一 界面设计和资源文件的设计
  18. Python爬虫——下载音乐
  19. [BZOJ4372][烁烁的游戏][动态树分治+线段树+LCA]
  20. 人人转联盟官网?人人转联盟是真的吗?人人转联盟能赚钱吗?

热门文章

  1. Java将图片压缩为原来的一半
  2. 【IXDC 2014】小米、BroadLink对垒智能Wi-Fi模块
  3. SAP系统管理的常用T-CODE
  4. 台式低速常温离心机S400操作规程
  5. 当您给别人身份证复印件时请你注意!
  6. xlive.dll缺失怎么办
  7. x在计算机中是哪个按键,电脑键盘x号怎么打出来
  8. 常见笔顺错误的字_常用汉字中易写错笔顺的字有哪些?
  9. 国内研发!适用于安卓应用程序的 Word文档功能开发组件来啦!
  10. 国内机器视觉发展如何实现逆风翻盘?