我很想使用tensorboard embeddings页面来显示word2vec的结果。在调试之后,挖掘了大量代码,我发现了tensorboard成功运行,读取配置文件,读取tsv文件,但现在嵌入页面没有显示数据。
(页面打开,我可以看到菜单,项目等)这是我的配置文件:
嵌入{
tensor_name:'word_embedding'
metadata_path:'c:\ data \ metadata.tsv'
tensor_path:'c:\ data \ tensors2.tsv'
}
可能是什么问题?
张量文件最初为1gb。在大小,如果我尝试该文件,应用程序崩溃因为内存。因此,我将原始文件的1或2页复制并粘贴到tensor2.tsv中并使用此文件。可能这是问题所在。可能需要通过复制/粘贴创建更多数据。
THX 托加
答案 0 :(得分:0)
尝试使用以下代码段在tensorboard中获取可视化的单词嵌入。使用logdir打开tensorboard,检查localhost:6006以查看嵌入。
tensorboard --logdir =“visual / 1”
# code
fname = "word2vec_model_1000"
model = gensim.models.keyedvectors.KeyedVectors.load(fname)
# project part of vocab, max of 100 dimension
max = 1000
w2v = np.zeros((max,100))
with open("prefix_metadata.tsv", 'w+') as file_metadata:
for i,word in enumerate(model.wv.index2word[:max]):
w2v[i] = model.wv[word]
file_metadata.write(word + '\n')
# define the model without training
sess = tf.InteractiveSession()
with tf.device("/cpu:0"):
embedding = tf.Variable(w2v, trainable=False, name='prefix_embedding')
tf.global_variables_initializer().run()
path = 'visual/1'
saver = tf.train.Saver()
writer = tf.summary.FileWriter(path, sess.graph)
# adding into projector
config = projector.ProjectorConfig()
embed= config.embeddings.add()
embed.tensor_name = 'prefix_embedding'
embed.metadata_path = 'prefix_metadata.tsv'
# Specify the width and height of a single thumbnail.
projector.visualize_embeddings(writer, config)
saver.save(sess, path+'/prefix_model.ckpt', global_step=max)