我是靠谱客的博主 优美豌豆,最近开发中收集的这篇文章主要介绍tf tensor与numpy转换,embedding_lookup、embedding_lookup_sparse使用,feature_column使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、 tensor与numpy转换

注意:tf 2以后不用session ,tensor转numpy直接 mm.numpy()就行
np.asarray([1,3,6,2]) #列表或元祖转array

# numpy to tensor
import numpy as np
data_numpy = np.ones(5)
mm = tf.convert_to_tensor(data_numpy)
with tf.Session() as sess:
    print(mm.eval())
# tensor to numpy
with tf.Session() as sess:
    print(kk.eval())

2、embedding_lookup、embedding_lookup_sparse使用

参考:https://www.jianshu.com/p/e8986d0ff4ff

import tensorflow as tf
# tf.enable_eager_execution() # 关键
# tf.enable_eager_execution(
#     config=None,
#     device_policy=None,
#     execution_mode=None
# )


embedding = tf.constant(
    [
        [0.21,0.41,0.51,0.11],
        [0.22,0.42,0.52,0.12],
        [0.23,0.43,0.53,0.13],
        [0.24,0.44,0.54,0.14]
    ],dtype=tf.float32)

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

get_embedding1 = tf.nn.embedding_lookup(embedding,feature_batch)

feature_batch_one_hot = tf.one_hot(feature_batch,depth=4)

get_embedding2 = tf.matmul(feature_batch_one_hot,embedding)
# print(get_embedding1.numpy().tolist())
with tf.Session() as sess:
    print(get_embedding1.eval())
    print(get_embedding2.eval())

在这里插入图片描述

多值离散,multi

embedding = tf.constant(
    [
        [0.21,0.41,0.51,0.11],
        [0.22,0.42,0.52,0.12],
        [0.23,0.43,0.53,0.13],
        [0.24,0.44,0.54,0.14]
    ],dtype=tf.float32)

# sparse embedding
a = tf.SparseTensor(indices=[[0, 0],[1, 2],[1,3]], values=[1, 2, 3], dense_shape=[2, 4])

embedding_sparse = tf.nn.embedding_lookup_sparse(embedding, sp_ids=a, sp_weights=None)

with tf.Session() as sess:
#     sess.run(tf.global_variables_initializer())
    print(sess.run(embedding_sparse))
    print(embedding_sparse.eval())

在这里插入图片描述

3、feature_column使用

参考:https://zhuanlan.zhihu.com/p/41663141

注意:crossed_column 类别特征交叉处理;
indicator_column 少量类别特征转化为连续形的onehot或multihot形式作为dnn输入;
embedding_column 大量类别特征转化为连续形的分布式表示形式作为dnn输入;
另外crossed_column,indicator_column,embedding_column这三个都是基于categorical_column进行进一步二次的处理,必须要先有categorical_column进行处理先

在这里插入图片描述
在这里插入图片描述

最后

以上就是优美豌豆为你收集整理的tf tensor与numpy转换,embedding_lookup、embedding_lookup_sparse使用,feature_column使用的全部内容,希望文章能够帮你解决tf tensor与numpy转换,embedding_lookup、embedding_lookup_sparse使用,feature_column使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部