首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PyTorch入门笔记-masked_select选择函数

masked_select torch.masked_select(input,mask,out=None) 函数返回一个根据布尔掩码 (boolean mask) 索引输入张量 1D 张量,其中布尔掩码和输入张量就是...) - 要进行索引布尔掩码 out(Tensor, optional) - 指定输出张量。...「对于 masked_select 函数广播机制比较简单,因为无论什么情况下都是需要将传入 mask 参数布尔张量广播成与传入 input 参数输入张量相同形状。...由于只需要对布尔张量进行广播,因此只关注布尔张量,首先为布尔张量添加新维度,最终两个张量维度都是 2; 由于布尔张量第一个维度上长度和输入张量第一个维度上长度相等,因此第一个维度相容。...布尔张量第二个维度上长度为 1,同样第二个维度上也相同; 布尔张量两个维度上都是相容,因此布尔张量可以进行广播; 布尔张量第二个维度上进行复制,最终布尔张量为: 将输入张量和广播后布尔张量一一对应

3.9K20

张量基础操作

如果指定步长为2,如 t1[2:8:2],则会隔一个元素取一个,返回索引为2、4、6元素形成张量。 高级索引:包括布尔索引掩码索引等。...布尔索引允许根据一个布尔张量来选择数据,而掩码索引则使用一个具有相同形状张量作为掩码来选择数据。...布尔索引布尔索引是使用一个与目标张量形状相同布尔张量来选择元素。布尔张量True值对应位置元素会被选中并组成一个新张量。...例如,如果有一个张量t和一个相同形状布尔张量b,那么t[b]将返回t中所有对应bTrue元素。...接着,我们创建了一个与t形状相同布尔张量b,并使用布尔索引选择了所有对应bTrue元素。最后,我们将结果打印出来。 ️这些就是张量基础操作,下一节我们看看张量其他性质~

10910
您找到你想要的搜索结果了吗?
是的
没有找到

tf.boolean_mask

) # [0, 2]一般情况下,0 < dim(mask) = K <= dim(张量),而mask形状必须与张量形状第一个K维匹配。...轴可以与遮罩一起使用,以指示要遮罩轴。在这种情况下,轴+ dim(掩模)<= dim(张量)和掩模形状必须匹配张量形状第一个轴+ dim(掩模)维数。...还请参见:tf.ragged.boolean_mask,它可以应用于稠密张量和不规则张量,如果需要保留张量掩码维(而不是像tf.boolean_mask那样将它们压扁),可以使用它。...参数:tensor:一天张量。mask:K- d布尔张量,K <= N, K必须静态已知。axis:一个0-D int张量,表示要掩模张量轴。默认情况下,axis为0,它将屏蔽第一个维度。...name:此操作名称(可选)。返回值: (N-K+1)-维张量,由掩模与真值对应张量项组成。

2.3K20

PyTorch 模型性能分析和优化 - 第 3 部分

然而,我们例子,我们实际上不需要知道唯一标签值,我们只需要知道唯一标签数量。这可以通过展平目标张量上应用 torch.sort 操作并计算所得步骤函数步骤数来计算。...布尔掩码是我们常用例程,用于减少所需机器操作总数。我们例子,我们目的是通过删除“忽略”像素并将交叉熵计算限制为感兴趣像素来减少计算量。显然,这适得其反。...和以前一样,应用布尔掩码会导致大小不确定张量,并且它触发 cudaMempyAsync 大大掩盖了排除“忽略”像素所节省任何费用。...优化 #3:注意布尔掩码操作 我们例子,解决这个问题相当简单,因为 PyTorch CrossEntropyLoss 有一个用于设置ignore_index内置选项。...例如,布尔掩码情况下,如果我们掩码非常稀疏并且原始张量非常大,那么应用掩码所节省计算量可能会超过主机设备同步成本。重要是,应根据具体情况评估每次优化影响。

33620

Transformers 4.37 中文文档(五十七)

选择掩码[0, 1]: 1 表示未被掩码标记, 0 表示被掩码标记。 什么是注意力掩码?...output_attentions (布尔值,可选) — 是否返回所有注意力层注意力张量。 有关更多详细信息,请参见返回张量attentions。...这个参数只能在急切模式下使用,图模式下将使用配置值。 output_hidden_states (布尔值,可选) — 是否返回所有层隐藏状态。...return_dict (布尔值,可选) — 是否返回一个 ModelOutput 而不是一个普通元组。 这个参数可以急切模式下使用,图模式下该值将始终设置为 True。...但是,如果您想在 Keras 方法之外使用第二种格式,例如在使用 KerasFunctionalAPI 创建自己层或模型时,有三种可能性可用于收集所有输入张量第一个位置参数: 一个仅包含input_ids

14110

Transformers 4.37 中文文档(二十九)

但是,如果您想在 Keras 方法之外使用第二种格式,比如在使用 Keras Functional API 创建自己层或模型时,有三种可能性可以用来收集所有输入张量第一个位置参数: 只有一个 input_ids...但是,如果您想在 Keras 方法之外使用第二种格式,例如在使用 KerasFunctional API 创建自己层或模型时,有三种可能性可以用来收集所有输入张量第一个位置参数: 仅使用input_ids...但是,如果您想在 Keras 方法之外使用第二种格式,例如在使用 KerasFunctional API 创建自己层或模型时,有三种可能性可用于第一个位置参数收集所有输入张量: 只有一个包含input_ids...但是,如果要在 Keras 方法之外使用第二种格式,例如在使用 KerasFunctionalAPI 创建自己层或模型时,有三种可能性可用于收集所有输入张量第一个位置参数: 仅具有input_ids...但是,如果您想在 Keras 方法之外使用第二种格式,例如在使用 KerasFunctional API 创建自己层或模型时,有三种可能性可用于第一个位置参数收集所有输入张量: 一个仅包含input_ids

12610

Transformers 4.37 中文文档(二十六)

但是,如果您想在 Keras 方法之外使用第二种格式,比如在使用 KerasFunctionalAPI 创建自己层或模型时,有三种可能性可以用来收集所有输入张量第一个位置参数: 一个只有input_ids...但是,如果您想在 Keras 方法之外使用第二种格式,例如在使用 KerasFunctionalAPI 创建自己层或模型时,有三种可能性可用于收集所有输入张量第一个位置参数: 一个只有input_ids...但是,如果您想在 Keras 方法之外使用第二种格式,例如在使用 KerasFunctionalAPI 创建自己层或模型时,有三种可能性可用于收集所有输入张量第一个位置参数: 只有一个包含input_ids...掩码值选择[0, 1]: 1 表示未被“掩码标记, 对于被“掩码标记。 注意力掩码是什么?...但是,如果您想在 Keras 方法之外使用第二种格式,例如在使用 KerasFunctionalAPI 创建自己层或模型时,有三种可能性可用于收集所有输入张量第一个位置参数: 仅具有input_ids

8010

Transformers 4.37 中文文档(六十二)

但是,如果您想在 Keras 方法之外使用第二种格式,例如在使用 Keras Functional API 创建自己层或模型时,有三种可能性可用于收集所有输入张量第一个位置参数: 一个只包含input_ids...但是,如果您想在 Keras 方法之外使用第二种格式,比如在使用 Keras Functional API 创建自己层或模型时,有三种可能性可以用来收集所有输入张量第一个位置参数: 只有一个包含...但是,如果您想在 Keras 方法之外使用第二种格式,比如在使用 KerasFunctional API 创建自己层或模型时,有三种可能性可以用来收集所有输入张量第一个位置参数: 只有一个input_ids...然而,如果您想在 Keras 方法之外使用第二种格式,比如在使用 Keras Functional API 创建自己层或模型时,有三种可能性可用于收集所有输入张量第一个位置参数: 只有一个包含...但是,如果您想在 Keras 方法之外使用第二种格式,例如在使用 Keras Functional API 创建自己层或模型时,有三种可能性可用于收集所有输入张量第一个位置参数: 一个仅包含input_ids

12610

Transformers 4.37 中文文档(五十四)

它是使用特殊标记构建时序列第一个标记。 mask_token (str, 可选, 默认为 "[MASK]") — 用于屏蔽值标记。这是使用掩码语言建模训练此模型时使用标记。...如果未指定,损失将不会被掩码掩码值选择[0, 1]: 1 表示未被掩码标记, 0 表示被掩码标记。...但是,如果您想在 Keras 方法之外使用第二种格式,例如在使用 KerasFunctionalAPI 创建自己层或模型时,有三种可能性可以用来收集所有输入张量第一个位置参数: 一个仅包含input_ids...有关更多细节,请参见返回张量 hidden_states。此参数仅在急切模式下使用,图模式下将使用配置值。...但是,如果您想在 Keras 方法之外使用第二种格式,例如在使用 KerasFunctionalAPI 创建自己层或模型时,有三种可能性可用于第一个位置参数收集所有输入张量: 一个仅包含input_ids

13510

PyTorch: 张量拼接、切分、索引

1.2 torch.stack 功能:新创建维度 dim 上进行拼接(会拓宽原有的张量维度) tensors:张量序列 dim:要拼接维度 t = torch.ones((2, 3))...注意list中长度总和必须为原张量改维度大小,不然会报错。...:维度dim 上,按 index 索引数据 返回值:依index 索引数据拼接张量 input : 要索引张量 dim 要索引维度 index 要索引数据序号 code: t = torch.randint...True 进行索引 返回值:一维张量(无法确定true个数,因此也就无法显示原来形状,因此这里返回一维张量) input : 要索引张量 mask 与 input 同形状布尔类型张量...torch.masked_select(t, mask) print("t:\n{}\nmask:\n{}\nt_select:\n{} ".format(t, mask, t_select)) 通过掩码索引

1.1K30

Transformers 4.37 中文文档(五十六)

掩码值选择[0, 1]。 对于未被掩码标记为 1, 对于被掩码标记为 0。...但是,如果您想在 Keras 方法之外使用第二种格式,例如在使用 KerasFunctionalAPI 创建自己层或模型时,有三种可能性可用于收集所有输入张量第一个位置参数: 只有一个包含input_ids...但是,如果您想在 Keras 方法之外使用第二种格式,例如在使用 KerasFunctionalAPI 创建自己层或模型时,有三种可能性可用于第一个位置参数收集所有输入张量: 只有一个包含input_ids...但是,如果您想在 Keras 方法之外使用第二种格式,比如在使用 KerasFunctional API 创建自己层或模型时,有三种可能性可以用来收集所有输入张量第一个位置参数: 只有input_ids...但是,如果您想在 Keras 方法之外使用第二种格式,例如在使用 KerasFunctionalAPI 创建自己层或模型时,有三种可能性可用于第一个位置参数收集所有输入张量: 只有一个input_ids

7810

Transformers 4.37 中文文档(六十一)

但是,如果您想在 Keras 方法之外使用第二种格式,比如在使用 KerasFunctional API 创建自己层或模型时,有三种可能性可以用来收集所有输入张量第一个位置参数: 只包含input_ids...但是,如果您想在 Keras 方法之外使用第二种格式,比如在使用 Keras Functional API 创建自己层或模型时,您可以使用三种可能性来收集第一个位置参数所有输入张量: 一个只包含...然而,如果您想在 Keras 方法之外使用第二种格式,比如在使用 Keras Functional API 创建自己层或模型时,有三种可能方法可以用来收集所有输入张量第一个位置参数: 一个仅包含...但是,如果您想在 Keras 方法之外使用第二种格式,例如在使用 KerasFunctionalAPI 创建自己层或模型时,有三种可能性可用于第一个位置参数收集所有输入张量: 只有一个包含input_ids...但是,如果您想在 Keras 方法之外使用第二种格式,例如在使用 KerasFunctionalAPI 创建自己层或模型时,有三种可能性可用于收集所有输入张量第一个位置参数: 一个只有`input_ids

14310

Transformers 4.37 中文文档(五十五)

选择掩码[0, 1]: 1 用于未被“掩码”掉标记, 0 用于被“掩码”掉标记。 什么是注意力掩码?...选择掩码[0, 1]: 1 用于未被“掩码标记, 0 用于被“掩码标记。 什么是注意力掩码?...选择掩码[0, 1]: 1 表示头部未被“掩码”, 0 表示头部被“掩码”。...但是,如果您想在 Keras 方法之外使用第二种格式,例如在使用 KerasFunctional API 创建自己层或模型时,有三种可能性可用于第一个位置参数收集所有输入张量: 仅包含input_ids...有关更多详细信息,请参阅返回张量hidden_states。此参数仅可在急切模式下使用,图模式下将使用配置值。

14310

Transformers 4.37 中文文档(四十)

选择掩码[0, 1]: 1 表示未被“掩盖”标记, 0 表示被“掩盖”标记。 什么是注意力掩码? 可以使用 AutoTokenizer 获取索引。...如果注意力窗口包含具有全局注意力令牌,则相应索引注意力权重设置为 0;值应从第一个x注意力权重访问。...如果注意力窗口包含具有全局注意力标记,则相应索引注意力权重设置为 0;值应从第一个x个注意力权重获取。...如果注意力窗口包含具有全局注意力标记,则相应索引注意力权重设置为 0;应从第一个x个注意力权重访问该值。...如果注意力窗口包含具有全局注意力标记,则相应索引注意力权重设置为 0;该值应从第一个x个注意力权重获取。

16110

Transformers 4.37 中文文档(四十五)

选择[0, 1]掩码值: 对于未被屏蔽标记,为 1, 对于被屏蔽标记,为 0。 注意力掩码是什么? 可以使用 AutoTokenizer 获取索引。...掩码值选择[0, 1]: 对于未屏蔽标记, 对于被屏蔽标记为 0。 什么是注意力掩码? 可以使用 AutoTokenizer 获取索引。...但是,如果您想在 Keras 方法之外使用第二种格式,例如在使用 KerasFunctionalAPI 创建自己层或模型时,有三种可能性可用于收集所有输入张量第一个位置参数: 只有一个包含input_ids...但是,如果您想在 Keras 方法之外使用第二种格式,比如在使用 KerasFunctional API 创建自己层或模型时,有三种可能性可以用来收集所有输入张量第一个位置参数: 只有一个包含input_ids...但是,如果您想在 Keras 方法之外使用第二种格式,例如在使用 Keras Functional API 创建自己层或模型时,有三种可能性可以用来收集所有输入张量第一个位置参数: 只有一个包含

11610
领券