onehot:顾名思义--独热

适用:因为有些数据集并非连续性的,例如常见的多分类,适用于离散型的数据集

离散型的数据集:二分类,多分类等等

连续型的数据集:语言识别,文本等等

对比普通label,和做了onehot编码的label

这里假设为四分类batch_size为4

普通标签

label = [0,1,2,3]

onehot编码标签

label = [[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]]

代码

tf.one_hot(indices,#输入,这里是一维的depth,# one hot dimension.on_value=None,#output 默认1off_value=None,#output 默认0axis=None,#默认为1dtype=None,name=None
)

labels = [0,1,2,3]

labels_ = tf.one_hot(labels,4,on_value=1,axis=1)

labels_---> [[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]]

计算loss

cross_entropy = tf.nn.softmax_cross_entropy_with_logits(logits=logits_scaled, labels=labels)
loss = tf.reduce_mean(cross_entropy, name='loss')

这里发两个损失函数的对比:

两个函数虽然功能类似,但是其参数labels有明显区别。tf.nn.softmax_cross_entropy_with_logits()中的logits和labels的shape都是[batch_size, num_classes],而tf.nn.sparse_softmax_cross_entropy_with_logits()中的labels是稀疏表示的,是 [0,num_classes)中的一个数值,代表正确分类结果。即sparse_softmax_cross_entropy_with_logits 直接用标签计算交叉熵,而 softmax_cross_entropy_with_logits 是标签的onehot向量参与计算。softmax_cross_entropy_with_logits 的 labels 是 sparse_softmax_cross_entropy_with_logits 的 labels 的一个独热版本(one hot version)。

TensorFlow学习笔记--onehot编码相关推荐

  1. tensorflow学习笔记——使用TensorFlow操作MNIST数据(1)

    续集请点击我:tensorflow学习笔记--使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有He ...

  2. Win10: tensorflow 学习笔记(3)

    前言 学以致用,以学促用.输出检验,完整闭环. 怕什么真理无穷,进一寸有一寸的欢喜--胡适 经过前段时间的努力,已经在电脑上搭好了深度学习系统,接下来就要开始跑程序了,将AI落地了. 安装win10下 ...

  3. Win10:tensorflow学习笔记(4)

    前言 学以致用,以学促用.输出检验,完整闭环. 经过前段时间的努力,已经在电脑上搭好了深度学习系统,接下来就要开始跑程序了,将AI落地了. 安装win10下tensforlow 可以参照之前的例子:w ...

  4. Tensorflow学习笔记6:解决tensorflow训练过程中GPU未调用问题

    Tensorflow学习笔记6:解决tensorflow训练过程中GPU未调用问题 参考文章: (1)Tensorflow学习笔记6:解决tensorflow训练过程中GPU未调用问题 (2)http ...

  5. tensorflow学习笔记(三十二):conv2d_transpose (解卷积)

    tensorflow学习笔记(三十二):conv2d_transpose ("解卷积") deconv解卷积,实际是叫做conv_transpose, conv_transpose ...

  6. tensorflow学习笔记二——建立一个简单的神经网络拟合二次函数

    tensorflow学习笔记二--建立一个简单的神经网络 2016-09-23 16:04 2973人阅读 评论(2) 收藏 举报  分类: tensorflow(4)  目录(?)[+] 本笔记目的 ...

  7. TensorFlow学习笔记(二):快速理解Tutorial第一个例子-MNIST机器学习入门 标签: 机器学习SoftmaxTensorFlow教程 2016-08-02 22:12 3729人阅

    TensorFlow学习笔记(二):快速理解Tutorial第一个例子-MNIST机器学习入门 标签: 机器学习SoftmaxTensorFlow教程 2016-08-02 22:12 3729人阅读 ...

  8. Tensorflow学习笔记2:About Session, Graph, Operation and Tensor

    简介 上一篇笔记:Tensorflow学习笔记1:Get Started 我们谈到Tensorflow是基于图(Graph)的计算系统.而图的节点则是由操作(Operation)来构成的,而图的各个节 ...

  9. win10:tensorflow学习笔记(2)

    目录: 前言 Tensorflow的故事 1Tensorflow和其他框架的对比 2Tesorflow 目前进展 3大杀器tensorboard 尾声 前言 经过前段时间的努力,已经在电脑上搭好了深度 ...

最新文章

  1. 皮一皮:有的人自以为有小聪明...
  2. SQL Server遍历表的几种方法
  3. ThingsBoard 小结
  4. Vijos 1100 (区间DP)
  5. html div父集子集,抛砖引玉css系列---根据父元素包含的子元素个数,实现不同的样式...
  6. 解决关于 ionic3 启动白屏 控制台错误提示:Uncaught SyntaxError Use of const in strict mode.
  7. LSP(分层服务提供程序)
  8. 设置ArcGIS的外观改回到出厂
  9. Type Conversion(类型转换)
  10. Android 系统(145)---切换两张sim卡的移动网络,自动锁屏
  11. abs和pc混在一起怎么解决_PC、ABS常见的7大问题及解决方案
  12. 基于dpdk的用户态协议栈f-stack实现分析
  13. 使用Jflash给华大半导体的MCU烧录程序
  14. win7计算机怎么优化驱动器,win7电脑怎么优化
  15. 微信网页授权 Vue
  16. y=asin(wx+φ)的对称中心_函数y=Asin(wx+φ)的性质.ppt
  17. 关于深度可分离卷积 Depthwise Pointwise Convolution
  18. 图解 K8S(05):调度利器之标签与选择器(分组调度)
  19. SPEC2006详细参数和测试过程常见问题处理总结(附实例操作)
  20. 老狗——目录管理与文件共享

热门文章

  1. php xpath注入工具,科普:XPATH注入
  2. SEO时关键词应该怎么选
  3. 解决tomcat 8080端口被占用问题
  4. 华为手机如何升级鸿蒙系统_四款华为手机可以直接升级鸿蒙2.0系统,正在用的赚大了!...
  5. [BZOJ3441]乌鸦喝水
  6. L2TP 连接公司内网(调制解调器报告了一个错误)
  7. Pycharm——2种方式快速回滚指定版本代码
  8. html在线热点工具,基于浏览器的html在线编辑器 热点推荐
  9. COJ_2040_成群的触手(双向dp)
  10. [Docker] Docker设置镜像代理