如题,还没试过能不能用InteractiveSession。试过了再来继续写。
用tf.get_shape() 或者 tf.nn.embedding_lookup()
例子如下
import tensorflow as tf
X = tf.placeholder(tf.int32, shape=[None,64,64,3])
embeddings = tf.Variable(
tf.random_uniform([3, 1], -1.0, 1.0))
#生成一个20x64的矩阵
embed = tf.nn.embedding_lookup(embeddings, X)
#注意 如果X是tf.float*类型,需要转化成tf.int32或者tf.int64类型
#使用tf.cast(X, tf.int32)
print(tf.shape(train_dataset))
print(train_dataset.get_shape())
print (embed)
#下面是三者的输出 比较一下
Tensor("Shape_3:0", shape=(4,), dtype=int32)
(?, 64, 64, 3)
Tensor("embedding_lookup_3:0", shape=(?, 64, 64, 3, 1), dtype=float32)
#最后的1是embedding矩阵的维度,不管