栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用to_categorical转换np.array时出现内存问题

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用to_categorical转换np.array时出现内存问题

您不需要使用,

to_categorical
因为我猜您正在执行多标签分类。为了避免一劳永逸(!),让我解释一下。

如果您正在执行 二进制分类 ,则意味着每个样本可能仅属于两个类别之一,例如猫与狗或快乐与悲伤或正面评论与负面评论,那么:

  • 标签应
    [0 1 0 0 1 ... 0]
    具有以下形状:
    (n_samples,)
    即每个样品都带有一个(例如猫)或零(例如狗)标签。
  • 用于最后一层的激活函数通常是
    sigmoid
    (或输出范围在[0,1]范围内的值的任何其他函数)。
  • 通常使用的损失函数为
    binary_crossentropy

如果您要进行 多类别分类 ,这意味着每个样本只能属于许多类别之一,例如猫与狗,狮子,快乐与中性,悲伤或正面评论,中立评论,负面评论,则:

  • 标签应该是一次性编码的,即
    [1, 0, 0]
    对应于cat,
    [0, 1, 0]
    对应于dog和
    [0, 0, 1]
    对应于lion,在这种情况下,标签的形状为
    (n_samples, n_classes)
    ; 或者,它们可以是整数(即稀疏标签),即
    1
    对于猫,
    2
    对于狗和
    3
    对于狮子,在这种情况下,标签的形状为
    (n_samples,)
    。该
    to_categorical
    函数用于将稀疏标签转换为一键编码的标签,当然,如果您愿意的话。
  • 通常使用的激活功能是
    softmax
  • 所使用的损失函数取决于标签的格式:如果标签是单次热编码,
    categorical_crossentropy
    则使用标签;如果标签是稀疏的,则使用标签
    sparse_categorical_crossentropy

如果您正在执行 多标签分类 ,这意味着每个样本可能属于零,一个或多个一类,例如图像可能同时包含猫和狗,那么:

  • 标签的
    [[1 0 0 1 ... 0], ..., [0 0 1 0 ... 1]]
    形状应为
    (n_samples, n_classes)
    。例如,标签
    [1 1]
    意味着相应的样本属于两个类别(例如猫和狗)。
  • sigmoid
    因为假定每个类别都独立于另一个类别,所以使用的激活函数。
  • 使用的损失函数为
    binary_crossentropy


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/610664.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号