论文复现 ld = genLD(b_l, sigma, ‘klloss‘, 65)

本文介绍了在使用PyTorch进行神经网络训练时,如何对训练数据进行预处理,包括将输入数据标准化,以及如何利用`genLD`函数生成标签分布,特别提及了KL散度损失在计算过程中的应用。
部署运行你感兴趣的模型镜像

 

        for step, (b_x, b_y, b_l) in enumerate(train_loader):   # gives batch data, normalize x when iterate train_loader
        # img, label, lesion
            b_x = b_x.cuda()
            b_l = b_l.numpy()

            # generating ld
            b_l = b_l - 1
            ld = genLD(b_l, sigma, 'klloss', 65) # genLD函数生成标签分布ld,这里使用了sigma和其他参数。ld可能是一个连续的概率分布,用于后续的KL散度损失计算。
# generate label distribution
def genLD(label, sigma, loss, class_num):
    label_set = np.array(range(class_num))
    if loss == 'klloss':
        ld_num = len(label_set)
        dif_age = np.tile(label_set.reshape(ld_num, 1), (1, len(label))) - np.tile(label, (ld_num, 1))
        ld = 1.0 / np.tile(np.sqrt(2.0 * np.pi) * sigma, (ld_num, 1)) * np.exp(-1.0 * np.power(dif_age, 2) / np.tile(2.0 * np.power(sigma, 2), (ld_num, 1)))
        ld = ld / np.sum(ld, 0)

        return ld.transpose()

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值