不相似损失函数

import torch
import torch.nn.functional as F

def dissimilarity_loss(model):
    total_loss = 0
    for name, param in model.named_parameters():
        if 'weight' in name and len(param.size()) == 4:  # This is a convolution layer
            n_filters = param.size(0)
            for i in range(n_filters):
                for j in range(i + 1, n_filters):
                    total_loss += F.cosine_similarity(param[i], param[j], dim=0)
    return total_loss

你可能感兴趣的:(深度学习宝典,深度学习,python,人工智能)