用于记录pytorch处理过程中不熟悉的函数运算规则--动态更新

torch.bmm(A, B)

---------
import torch
 
# 创建两个张量
batch1 = torch.randn(10, 3, 4)  # 形状为 (10, 3, 4)
batch2 = torch.randn(10, 4, 5)  # 形状为 (10, 4, 5)
 
# 执行批量矩阵乘法
result = torch.bmm(batch1, batch2)
 
print(result.shape)  # 输出 (10, 3, 5)

torch.bmm是PyTorch中的一个函数,用于执行批量矩阵乘法(Batch Matrix Multiplication)的操作。它接受三个张量作为输入,并返回批量矩阵乘法的结果。

具体而言,torch.bmm(input, mat2)函数执行的是将input与mat2进行批量矩阵乘法的操作。这意味着它会对input和mat2的最后两个维度执行矩阵乘法,并保持其他维度不变。

通过torch.bmm(batch1, batch2),我们将batch1和batch2的最后两个维度进行矩阵乘法操作。这将生成一个形状为(10, 3, 5)的结果张量result,其中第一个维度表示批量大小,第二个维度表示batch1中的矩阵数量,第三个维度表示batch2中的矩阵数量。

from contextlib import nullcontext
 
# 条件函数,根据条件返回 True 或 False
def condition():
    return False
 
# 条件判断后选择使用 nullcontext 或 自定义上下文管理器
ctx = nullcontext if condition() else some_custom_context_manager
 
with ctx():
    # 如果 condition() 返回 True,这里的代码块将不会执行
    # 如果 condition() 返回 False,这里的代码将正常执行
    print("This code will only run if condition is False.")

contextlib.nullcontext 是 Python contextlib 模块中的一个工具,用于创建一个非常简单的上下文管理器。这个上下文管理器的主要特点是不执行任何操作,它主要被用作占位符,在需要动态决定是否需要使用上下文管理器时。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值