IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> keras计算Generalized Dice Loss(GDL)的代码解析 -> 正文阅读

[人工智能]keras计算Generalized Dice Loss(GDL)的代码解析

这个代码在很多地方都能找到,贴出其中一个链接https://zhuanlan.zhihu.com/p/103426335
在这里插入图片描述
其中的代码增加上我个人理解后的注释为:

# keras在安装tensorflow后还需要单独安装
from keras import backend as K	
# y_pred表示预测的结果(Batch, Height, Width, Num_Class)
# y_true表示真实结果 (Batch, Height, Width, Num_Class)
def generalized_dice_coeff(y_true, y_pred):
    Ncl = y_pred.shape[-1]  # N classes 类别总数
    w = K.zeros(shape=(Ncl,))  # (0,0, ... ) (一共Ncl个0)
    w = K.sum(y_true, axis=(0,1,2)) # 在类别这一维度方向上进行求和,求和的结果是
     (Num_Class,), 即计算该类别上所有图片对应的标签之和,换句话说也就是统计图片上属于该类别的像素点的总数。
    w = 1/(w**2+0.000001) # 利用类别对应的像素点的总数来计算权重,总数越多反而权重越小
    # Compute gen dice coef:
    numerator = y_true*y_pred  # (Batch, Height, Width, Num_Class)
    numerator = w*K.sum(numerator,(0,1,2,3)) # (Num_Class,) * (,) = (Num_Class,),  每个类别的权重 *  True Positive总数(或者说是所有像素点对应的预测概率和真实概率之积)
    numerator = K.sum(numerator)  # 加权求和
    denominator = y_true+y_pred # (Batch, Height, Width, Num_Class)
    denominator = w*K.sum(denominator,(0,1,2,3)) # 每个类别的权重 * (所有像素点对应的预测概率和真实概率之和)
    denominator = K.sum(denominator) # 加权求和
    gen_dice_coef = 2*numerator/denominator
    return gen_dice_coef
    
def generalized_dice_loss(y_true, y_pred):
    return 1 - generalized_dice_coeff(y_true, y_pred)

自己更改为tf版本为

下面展示一些 内联代码片

# logits  (B,H,W, C)
# labels (B, H, W,1)
def generalized_dice_coeff(logits, labels, classes):
    Ncl = classes             # 计算类别总数
    w = tf.zeros(shape=(Ncl,))
    label = labels[..., 0]
    onehot_labels = tf.one_hot(label,Ncl)
    w = tf.reduce_sum(onehot_labels, axis=(0,1,2))     # 计算所有的和,而不考虑计算某个维度上的和
    eps = 0.000001
    w = 1/(w**2+eps)

    # Compute gen dice coef:
    numerator = logits * onehot_labels
    numerator = w * tf.reduce_sum(numerator)
    numerator = tf.reduce_sum(numerator)
    denominator = logits + onehot_labels
    denominator = w*tf.reduce_sum(denominator)
    denominator = tf.reduce_sum(denominator)
    gen_dice_coef = 2*numerator/denominator
    return gen_dice_coef

def generalized_dice_loss(logits, labels, classes):
    return 1 - generalized_dice_coeff(logits, labels, classes)
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-13 12:01:20  更:2021-08-13 12:01:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 20:31:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码