1.tensorflow是静态图,先搭建计算图,再是数据流通,才能得到中间计算的值。
2.变量----->处理------>另一个量
3.核心:对变量进行转换处理
4.目标:将变量实体Embedding矩阵E,转换成关系Embedding矩阵R
1)变量实体Embedding创建
E.shape==(10,5)
2)tf.nn.embedding_lookup函数的用法,并找到r=[1,2,7]
tf.nn.embedding_lookup(params, ids):params可以是张量也可以是数组等,id就是对应的索引,id可以是列表,也可以是矩阵。
R.shape==(3,5)
r_list == (2,3)
R.shape == (2,3,5)
3) 将r_list=[[1,2,7], [1,4], [8]]这种不等长的,转换成向量,然后求和求平均,再组成关系矩阵R
以上R中R[0].shape==(3,5) R[1].shape==(2,5) R[2].shape==(1,5)
可以从上图中看到,R[0].shape==R[1].shape==R[2].shape==(5,) 但是R的类型还是一个list类型,还不能被tf所用,所以需要将这个list类型的R转换成tensor类型。
tf.convert_to_tensor(),可以从下图中看到R已经是一个合格的Embedding样子了,R_len=3 R_dim=5=E_dim。 简单转换完成