gensim有java版吗_嵌入Gensim Doc2Vec Tensorboard

我在df中有一组文档 . 我正在使用 gensim Doc2Vec 将这些文档转换为向量:

def read_corpus(documents):

for i, plot in enumerate(documents):

yield gensim.models.doc2vec.TaggedDocument(gensim.utils.simple_preprocess(plot, max_len=30), [i])

train_corpus = list(read_corpus(df.note))

model = gensim.models.doc2vec.Doc2Vec(size=50, min_count=2, iter=55)

model.build_vocab(train_corpus)

model.train(train_corpus, total_examples=model.corpus_count, epochs=model.iter)

然后我保存模型并将.w2v文件转换为tsv文件 . 最后,我覆盖元数据tsv文件,使其有意义:

model.save_word2vec_format('doc_tensor.w2v', doctag_vec=True, word_vec=False)

%run word2vec2tensor.py -i doc_tensor.w2v -o notes

with open('notes_metadata.tsv','w') as w:

w.write('created_by\tnote_type\n')

for i,j in zip(df.created_by, df.note_type):

w.write("%s\t%s\n" % (i,j))

现在我想将这个模型和tsv文件嵌入到本地Tensorboard中 . 我试过这个:

# load model

embedding = model.docvecs.vectors_docs

# setup a TensorFlow session

tf.reset_default_graph()

sess = tf.InteractiveSession()

X = tf.Variable([0.0], name='embedding')

place = tf.placeholder(tf.float32, shape=embedding.shape)

set_x = tf.assign(X, place, validate_shape=False)

sess.run(tf.global_variables_initializer())

sess.run(set_x, feed_dict={place: embedding})

# create a TensorFlow summary writer

summary_writer = tf.summary.FileWriter('log', sess.graph)

config = projector.ProjectorConfig()

embedding_conf = config.embeddings.add()

embedding_conf.tensor_name = 'embedding:0'

embedding_conf.metadata_path = os.path.join('log', 'metadata.tsv')

projector.visualize_embeddings(summary_writer, config)

这段代码运行没有错误,但当我输入 tensorboard --logdir=log 并转到localhost位置时,它看起来像这样:

0b47d95d-00b2-4561-89a8-277f5f71c68c.png

我的文件夹结构如下所示:

project

- jupyter_notebook_from_which_I_run_my_code.ipynb

- log

- events.out.tfevents.1519305293.COMPUTERNAME

- notes_metadata.tsv

- notes_tensor.tsv

- projector_config.pbtxt

如果我单击TensorBoard投影机中的“选择文件”并选择我的notes_tensor.tsv文件,它会显示“图形可视化失败:图形为空 . 确保在定义图形后将图形传递给tf.summary.FileWriter .

如何在投影机中显示tsv文件以获取tSNE和PCA可视化,例如我之前链接的教程?

Update: 我尝试添加这两行:

saver = tf.train.Saver([X])

saver.save(sess, os.path.join('log', 'model2.ckpt'), 1)

这将这些文件添加到 log :

checkpoint

model2.ckpt-1.data-00000-of-00001

model2.ckpt-1.index

model2.ckpt-1.meta

它还给了TensorBoard Projector 标签!

51567063-6609-4e5f-a918-91a00927c7de.png

但是,获取metadata.tsv时出错 . 这是因为它不存在 . 它也在/ log / log而不是/ log中查找 . 当我解除该错误时,单击“加载”,然后选择notes_metadata.tsv,没有任何反应 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值