pytorch1.1.0和1.3.1的版本之间一个小差异(torch.mean(output, axis=1))

博客提及了PyTorch 1.3.1,还指出PyTorch 1.1.0若使用相关代码需进行修改,体现了不同版本PyTorch在代码使用上存在差异。

pytorch1.3.1:

def compactness_loss(output):
    # dim: (batch, vector)
    _, n = output.size()
    avg = torch.mean(output, axis=1)
    std = torch.std(output, axis=1)
    zt = output.T - avg
    zt /= std
    corr = torch.matmul(zt.T, zt) / (n - 1)
    loss = torch.sum(torch.triu(corr, diagonal=1)**2)
    return loss

但是pytorch1.1.0如果想使用上述代码只能改成:

def compactness_loss(output):
    # dim: (batch, vector)
    _, n = output.size()

    avg = torch.mean(output, dim=1)
    std = torch.std(output, dim=1)
    #zt = output.T - avg
    zt = output.t() - avg
    zt /= std
    #corr = torch.matmul(zt.T, zt) / (n - 1)
    corr = torch.matmul(zt.t(), zt) / (n - 1)
    loss = torch.sum(torch.triu(corr, diagonal=1)**2)
    return loss

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值