独热(one-hot)编码的tensorflow实现

本文介绍了独热编码的概念,即用序列化的0和1表达特征,并通过Tensorflow展示了其实现过程。文章通过一个实例,解释了如何对5张手写数字的标签进行范围0~9的独热编码。
摘要由CSDN通过智能技术生成

一、独热编码

独热编码,又称一位有效码,用序列化的数字(只有0和1)表达特征。主要思路是使用N位数字对N种情况进行编码。

举个例子,对[0,1,2,3]分别进行编码。由于有4种情况,序列的长度为4,对应数字的位置1,其余置0。所以:

[1,0,0,0]

[0,1,0,0]

[0,0,1,0]

[0,0,0,1]

二、几个必要函数

掌握了独热编码的规律,我们先来看一段代码,了解几个必要的函数。

import tensorflow as tf

#创建一维向量a和b,shape均为(3, )

a = tf.constant([1,2,3])

b = tf.constant([4,5,6])

 

#a和b在一维上连接,c的shape为(6, )

c = tf.concat([a,b],0)

#由于a和b是一维向量,无法连接,会报错

#c1 = tf.concat([a,b],1)

 

#将a和b扩充为二维向量,二者的shape均为(3,1)

t1 = tf.expand_dims(a,1)

t2 = tf.expand_dims(b,1)

 

#分别在第二维和第一维上连接

concated = tf.concat([t1,t2],1)

concated1 = tf.concat([t1,t2],0)

 

#查看结果

with tf.Session() as sess:
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值