mindspore中上下采样函数pytorch.nn.functional.interpolate()的使用问题

问题描述:

这个函数功能对应mindspore中的哪些函数,萌新在迁移的过程中遇到了这个函数 在api映射中没有发现这个函数的迁移,想知道解决问题的相关知识和方法。图中的三个函数在库中都没有找到迁移,就是F后面的函数。

 

解答:

1. torch.nn.functional.interpolate()和upsamle()可以考虑下使用 MindSpore 的 nn.ResizeBilinear 接口:

比较与torch.nn.Upsample的功能差异 — MindSpore master documentation

2. F.binary_cross_entropy_with_logits可以使用这段代码,后续会提交到开源仓。

def binary_cross_entropy_with_logits(input, target, weight=None, reduction='mean', pos_weight=None):

    max_val = ops.maximum(-input, 0)



    if pos_weight is not None:

        log_weight = ((pos_weight - 1) * target) + 1

        loss = (1 - target) * input

        loss_1 = ops.log(ops.exp(-max_val) + ops.exp(-input - max_val)) + max_val

        loss += log_weight * loss_1

    else:

        loss = (1 - target) * input

        loss += max_val

        loss += ops.log(ops.exp(-max_val) + ops.exp(-input - max_val))

 

    if weight is not None:

        output = loss * weight

    else:

        output = loss



    if reduction == "mean":

        return ops.reduce_mean(output)

    elif reduction == "sum":

        return ops.reduce_sum(output)

    else:

        return output

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值