tf.one_hot()
一、独热编码
独热编码(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()相关推荐
- tf.one_hot
tf.one_hot在看conditionGAN的时候注意到label的输入要把它转换成one-hot形式,再与噪声z进行tf.concat输入,之前看的时候忽略了,现在再看才算明白为什么. tf.o ...
- 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 ...
- tf.one_hot()的用法
官方文档解释 one_hot(indices,#输入,这里是一维的depth,# one hot dimension.on_value=None,#output 默认1off_value=None,# ...
- 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张量 函数使用: & ...
- 用tf.one_hot函数写任一坐标为1的二维张量
先给出tf.one_hot的用例:(例子转自https://www.jianshu.com/p/c5b4ec39713b) 1 import tensorflow as tf 2 var0 = tf. ...
- tf.one_hot()使用
tf.one_hot在看conditionGAN的时候注意到label的输入要把它转换成one-hot形式,再与噪声z进行tf.concat输入,之前看的时候忽略了,现在再看才算明白为什么. tf.o ...
- 通俗易懂!使用Excel和TF实现Transformer
作者 | 石晓文 转载自小小挖掘机(ID:wAIsjwj) 本文旨在通过最通俗易懂的过程来详解Transformer的每个步骤! 假设我们在做一个从中文翻译到英文的过程,我们的词表很简单如下: 中文词 ...
- 使用估算器、tf.keras 和 tf.data 进行多 GPU 训练
文 / Zalando Research 研究科学家 Kashif Rasul 来源 | TensorFlow 公众号 与大多数 AI 研究部门一样,Zalando Research 也意识到了对创意 ...
- 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 ...
最新文章
- AI一分钟 | 蔚来赴美IPO,开盘跌破发行价;TensorFlow开源新库TFDV
- python教程:封装、多态、反射
- 7-3 最小生成树-kruskal (10 分)(思路+详解+并查集详解+段错误超时解决)宝 Come
- Spring / Hibernate应用程序的性能调优
- 如何成为架构师?3条有效的实战经验
- C++效率在此笔者不想通过反汇编来实验
- python绝对值函数偏码_绝对值python
- 程序是怎样跑起来的:第一章-对程序员来说CPU是什么
- 活的通透的人,会是一个什么样的人?
- 操作系统—内存的动态分区分配算法
- [译]ASP.NET Core 2.0 全局配置项
- 微信小程序|基于小程序实现人脸识别对比
- #1_《经典控制理论复习》摘录
- Docker部署服务(二)上传镜像至Habor
- 高级远程办公解决方案 ETX ,用于桌面虚拟化和远程访问图形要求苛刻的应用程序
- window10/11拨号连接宽带连接开热点
- 判断字符串子序列--HW
- 中国期货市场死亡警示录
- oracle查询表数据写入时间,求大神解决关于查询Oracle表数据时间
- element ui 表格的序号
热门文章
- supercharge快充_电荷泵?双电芯?高压低流?盘点目前最全快充技术
- linux磁盘fio压力测试,fio命令 – 对磁盘进行压力测试和验证
- vue中使用vuex结合sessionStorage做的登录功能
- 【java笔记】包装类
- LeetCode 72 编辑距离
- 耐克人脸识别_狄耐克智能交通再结一位“老铁”——与力高地产达成战略合作协议!...
- c语言从excal读取字符串,C语言操作EXCEL文件(读写)
- java低层源码_Java线程池及其底层源码实现分析
- Helm 3 完整教程(十二):Helm 函数讲解(6)字典函数
- win10收集错误信息重启蓝屏解决