一、独热编码

独热编码(one-hot encoding),独热编码一般是在有监督学习中对数据集进行标注时候使用的,指的是在分类问题中,将存在数据类别的那一类用X表示,不存在的用Y表示,这里的X常常是1, Y常常是0。

e.g.如果我们有3类问题,有数据(Xi,Yi),其中类别Yi有3种取值。

如果Yj为第一类那么其独热编码为:

如果Yj为第二类那么其独热编码为:

只对存在有该类别的数的位置上进行标记为1,其他皆为0。一般用于计算交叉熵损失函数。

二、tf.one_hot()

tf.one_hot()函数是将input转化为one-hot类型数据输出,相当于将多个数值联合放在一起作为多个相同类型的向量,可用于表示各自的概率分布,通常用于分类任务中作为最后的FC层的输出,有时翻译成“独热”编码。

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

需要指定indices,和depth,其中depth是编码深度,on_value和off_value相当于是编码后的开闭值,如同我们刚才描述的X值和Y值,需要和dtype相同类型(指定了dtype的情况下),axis指定编码的轴。

indices表示输入的多个数值,通常是矩阵形式;depth表示输出的尺寸。 
由于one-hot类型数据长度为depth位,其中只用一位数字表示原输入数据,这里的on_value就是这个数字,默认值为1,one-hot数据的其他位用off_value表示,默认值为0。

indices = 0 对应的输出是[1, 0 … 0, 0], indices = 1 对应的输出是[0, 1 … 0, 0], 依次类推,最大可能值的输出是[0, 0 … 0, 1]。

三、例子

import tensorflow as tf  classes = 3
labels = tf.constant([0,1,2]) # 输入的元素值最小为0,最大为2
output = tf.one_hot(labels,classes)sess = tf.Session()
with tf.Session() as sess:sess.run(tf.global_variables_initializer())output = sess.run(output)print("output of one-hot is : ",output)
output of one-hot is :
[[ 1.  0.  0.][ 0.  1.  0.][ 0.  0.  1.]]

tf.one_hot()相关推荐

  1. tf.one_hot

    tf.one_hot在看conditionGAN的时候注意到label的输入要把它转换成one-hot形式,再与噪声z进行tf.concat输入,之前看的时候忽略了,现在再看才算明白为什么. tf.o ...

  2. tf.one_hot函数用法

    具体用法如下: In [4]: y = tf.constant([1,2,3,0,2])In [5]: y = tf.one_hot(y,depth=4)In [7]: y Out[7]: <t ...

  3. tf.one_hot()的用法

    官方文档解释 one_hot(indices,#输入,这里是一维的depth,# one hot dimension.on_value=None,#output 默认1off_value=None,# ...

  4. tf.ones、tf.zeros、tf.ones_like、tf.zeros_like、tf.fill、tf.eye、tf.one_hot、tf.range、tf.linspace函数

    1.tf.ones函数 函数原型: tf.ones(shape,dtype=tf.dtypes.float32,name=None ) 函数说明: 生成给定形状的全1的tensor张量 函数使用: & ...

  5. 用tf.one_hot函数写任一坐标为1的二维张量

    先给出tf.one_hot的用例:(例子转自https://www.jianshu.com/p/c5b4ec39713b) 1 import tensorflow as tf 2 var0 = tf. ...

  6. tf.one_hot()使用

    tf.one_hot在看conditionGAN的时候注意到label的输入要把它转换成one-hot形式,再与噪声z进行tf.concat输入,之前看的时候忽略了,现在再看才算明白为什么. tf.o ...

  7. 通俗易懂!使用Excel和TF实现Transformer

    作者 | 石晓文 转载自小小挖掘机(ID:wAIsjwj) 本文旨在通过最通俗易懂的过程来详解Transformer的每个步骤! 假设我们在做一个从中文翻译到英文的过程,我们的词表很简单如下: 中文词 ...

  8. 使用估算器、tf.keras 和 tf.data 进行多 GPU 训练

    文 / Zalando Research 研究科学家 Kashif Rasul 来源 | TensorFlow 公众号 与大多数 AI 研究部门一样,Zalando Research 也意识到了对创意 ...

  9. tf.nn.softmax_cross_entropy_with_logits 和 tf.contrib.legacy_seq2seq.sequence_loss_by_example 的联系与区别

    文章目录 0.函数介绍 1.区别联系 1.1 tf.nn.softmax_cross_entropy_with_logits 1.2 tf.nn.sparse_softmax_cross_entrop ...

最新文章

  1. AI一分钟 | 蔚来赴美IPO,开盘跌破发行价;TensorFlow开源新库TFDV
  2. python教程:封装、多态、反射
  3. 7-3 最小生成树-kruskal (10 分)(思路+详解+并查集详解+段错误超时解决)宝 Come
  4. Spring / Hibernate应用程序的性能调优
  5. 如何成为架构师?3条有效的实战经验
  6. C++效率在此笔者不想通过反汇编来实验
  7. python绝对值函数偏码_绝对值python
  8. 程序是怎样跑起来的:第一章-对程序员来说CPU是什么
  9. 活的通透的人,会是一个什么样的人?
  10. 操作系统—内存的动态分区分配算法
  11. [译]ASP.NET Core 2.0 全局配置项
  12. 微信小程序|基于小程序实现人脸识别对比
  13. #1_《经典控制理论复习》摘录
  14. Docker部署服务(二)上传镜像至Habor
  15. 高级远程办公解决方案 ETX ,用于桌面虚拟化和远程访问图形要求苛刻的应用程序
  16. window10/11拨号连接宽带连接开热点
  17. 判断字符串子序列--HW
  18. 中国期货市场死亡警示录
  19. oracle查询表数据写入时间,求大神解决关于查询Oracle表数据时间
  20. element ui 表格的序号

热门文章

  1. supercharge快充_电荷泵?双电芯?高压低流?盘点目前最全快充技术
  2. linux磁盘fio压力测试,fio命令 – 对磁盘进行压力测试和验证
  3. vue中使用vuex结合sessionStorage做的登录功能
  4. 【java笔记】包装类
  5. LeetCode 72 编辑距离
  6. 耐克人脸识别_狄耐克智能交通再结一位“老铁”——与力高地产达成战略合作协议!...
  7. c语言从excal读取字符串,C语言操作EXCEL文件(读写)
  8. java低层源码_Java线程池及其底层源码实现分析
  9. Helm 3 完整教程(十二):Helm 函数讲解(6)字典函数
  10. win10收集错误信息重启蓝屏解决