zzb5233
zzb5233
embeddings_stroke = tf.Variable(tf.random_uniform([self.stroke_size, self.embedding_size], -1.0, 1.0)) # 将最后的stroke为0 one_hot = tf.one_hot(0, self.stroke_size, dtype=tf.float32) one_hot = tf.transpose(tf.reshape(tf.tile(one_hot, [self.embedding_size]), shape=[self.embedding_size, self.stroke_size])) embeddings_stroke = embeddings_stroke - embeddings_stroke[0]*one_hot lookup_embed = tf.nn.embedding_lookup(embeddings_stroke, train_inputs) stroke_length =...
get_length以前的代码与word2vec_basic.py的几乎一致,不一样的地方是embeddings_stroke[0]被设置为全0列表,而word2vec_basic.py中是直接使用初始化后的embeddings,然后调用tf.nn.embedding_lookup()
你是把原来的[batch_size, stroke_seq_length, embedding_size]最后一个纬度按照实际长度进行了加和操作,变成了[batch_size, embedding_size],这样做是为了啥?