栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Tensorflow一个热编码器?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Tensorflow一个热编码器?

从TensorFlow
0.8开始,现在有一个原生的一站式操作,

tf.one_hot
可以将一组稀疏标签转换为密集的一站式表示形式。这是的补充
tf.nn.sparse_softmax_cross_entropy_with_logits
,在某些情况下,您可以使您直接在稀疏标签上计算交叉熵,而不必将其转换为单热点。

以前的答案,以防您想采用旧方法: @Salvador的答案是正确的-
以前(过去)没有本机操作。但是,您可以使用稀疏到密集运算符在tensorflow中本地执行此操作,而不是在numpy中执行此操作:

num_labels = 10# label_batch is a tensor of numeric labels to process# 0 <= label < num_labelssparse_labels = tf.reshape(label_batch, [-1, 1])derived_size = tf.shape(label_batch)[0]indices = tf.reshape(tf.range(0, derived_size, 1), [-1, 1])concated = tf.concat(1, [indices, sparse_labels])outshape = tf.pack([derived_size, num_labels])labels = tf.sparse_to_dense(concated, outshape, 1.0, 0.0)

输出,labels,是batch_size x num_labels的单矩阵。

还要注意的是,从2016年2月12日开始(我认为最终将成为0.7版本的一部分),TensorFlow还提供了

tf.nn.sparse_softmax_cross_entropy_with_logits
op,在某些情况下可以让您进行训练而无需转换为单编码。

编辑添加:最后,您可能需要显式设置标签的形状。形状推断无法识别num_labels组件的大小。如果您不需要带有Derived_size的动态批处理大小,则可以简化此过程。

编辑于2016年2月12日,更改了以下每个注释的形状分配。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/610864.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号