最近在利用卷积神经网络跑模型的时候,总会出现一些奇奇怪怪的问题,而其中出现次数最多的就是loss值计算方式选择错误问题。在tensorflow中封装的loss值的计算方式有三种:BinaryCrossentropySparseCategoricalCrossentropyCategoricalCrossentropy。下面简单说一下这三种计算方式适用于什么场合?

1.BinaryCrossentropy

常用于二分类问题,当然也可以用于多分类问题,通常需要在网络的最后一层添加sigmoid进行配合使用,其期望输出值(target)需要进行one-hot编码

2.SparseCategoricalCrossentropy

tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False, reduction=losses_utils.ReductionV2.AUTO,name='sparse_categorical_crossentropy'
)

如果目标是数字编码 ,比如多分类0,1, 2, 3,损失函数用 sparse_categorical_crossentropy。

3.CategoricalCrossentropy

tf.keras.losses.CategoricalCrossentropy(from_logits=False, reduction=losses_utils.ReductionV2.AUTO,name='categorical_crossentropy'
)

如果目标是one-hot 编码,比如二分类【0,1】【1,0】,损失函数用 categorical_crossentropy。这一点与BinaryCrossentropy方法类似。

努力加油a啊

搭建卷积神经网络时loss计算方式的选择相关推荐

  1. 用PyTorch搭建卷积神经网络

    用PyTorch搭建卷积神经网络 本篇是加拿大McGill本科,Waterloo硕士林羿实习时所作的工作.发文共享,主要是面对PyTorch的初学者. 本篇文章是一篇基础向的PyTorch教程,适合有 ...

  2. Python-深度学习-学习笔记(13):keras搭建卷积神经网络(对二维数据进行一维卷积)

    Python-深度学习-学习笔记(13):keras搭建卷积神经网络(对二维数据进行一维卷积) 卷积神经网络进行图像分类是深度学习关于图像处理的一个应用,卷积神经网络的优点是能够直接与图像像素进行卷积 ...

  3. l2正则化python_TensorFlow keras卷积神经网络 添加L2正则化方式

    我就废话不多说了,大家还是直接看代码吧! model = keras.models.Sequential([ #卷积层1 keras.layers.Conv2D(32,kernel_size=5,st ...

  4. Python图像识别实战(四):搭建卷积神经网络进行图像二分类(附源码和实现效果)

    前面我介绍了可视化的一些方法以及机器学习在预测方面的应用,分为分类问题(预测值是离散型)和回归问题(预测值是连续型)(具体见之前的文章). 从本期开始,我将做一个关于图像识别的系列文章,让读者慢慢理解 ...

  5. (二)Tensorflow搭建卷积神经网络实现MNIST手写字体识别及预测

    1 搭建卷积神经网络 1.0 网络结构 图1.0 卷积网络结构 1.2 网络分析 序号 网络层 描述 1 卷积层 一张原始图像(28, 28, 1),batch=1,经过卷积处理,得到图像特征(28, ...

  6. 【深度学习】Tensorflow搭建卷积神经网络实现情绪识别

    [深度学习]Tensorflow搭建卷积神经网络实现情绪识别 文章目录 1 Tensorflow的基本使用方法1.1 计算图1.2 Feed1.3 Fetch1.4 其他解释 2 训练一个Tensor ...

  7. AI周报丨《2021年人工智能专利综合指数报告》近日发布;北大团队提出基于卷积神经网络的全光计算,超快、超低能耗

    行业动态 <2021年人工智能专利综合指数报告> 近日发布 人工智能(Artificial Intelligence,简称AI),是研究人类智能活动规律,构造具有一定智能的人工系统,国际数 ...

  8. 从零开始用TensorFlow搭建卷积神经网络

     https://www.jiqizhixin.com/articles/2017-08-29-14 机器之心GitHub项目:从零开始用TensorFlow搭建卷积神经网络 By 蒋思源2017 ...

  9. tensorflow训练神经网络时loss出现nan的问题

    tensorflow训练神经网络时loss出现nan的问题 一般情况下原因是由于优化器上的学习比率learning_rate定义值太大,如: train_step = tf.compat.v1.tra ...

最新文章

  1. centos加单个ip和批量添加
  2. AFei Loves Magic
  3. SAP Spartacus全局配置里和路由Route相关的配置
  4. Downloading Android Source Code
  5. xvid 数据编码和解码
  6. 70%的单身女孩都是这样想的!
  7. win7电脑蓝屏没有修复计算机,教你win7开机蓝屏怎么修复
  8. ERROR: cuda_runtime_api.h: No such file or directory
  9. kafka介绍和集群环境搭建
  10. Python 西瓜书机器学习支持向量机(SVM)
  11. AST语法结构树初学者完整教程
  12. 一键解决 500、502和504 Internal Privoxy Error 问题(图文详解)
  13. 数据库 -- 单表的数据查询
  14. Myeclipse字符集设置
  15. 前端怎么加粗字体_价值上百万美元又备受争议的微软雅黑正常大小+小字体
  16. Lingo教育版免费申请流程
  17. phpstorm运行php项目步骤
  18. 只有程序员才能读懂的西游记
  19. cocos creator使用anysdk接入admob广告教程
  20. ES6_1.块级作用域绑定_临时死区TDZ

热门文章

  1. C#连接sqlServer数据库详解
  2. 微信小程序循环不同列表实现动态点击隐藏
  3. 结构体和类的区别-Objective-C基础
  4. solaris php,solaris 十系统上架构phpwind论坛环境(转)
  5. php返回mysql错误语句_[已解决]php查询mysql返回了错误的结果
  6. Visual Studio Code 中文下载
  7. java将图片保存进mysql_Java存储图片到Mysql
  8. java el表达式 导航规则_javaweb之EL表达式语言
  9. 防止html转义字符,如何防止我的HTML标签被转义?
  10. Android开发之使用Android studio进行两个项目合并的方法