zoukankan      html  css  js  c++  java
  • tensorboard使用过程错误记录

    首先代码如下:

    def word_vis(self,file,txtname):#生成的模型存放的地址word_vismodel'+file为新建的文件夹名   txtname是通过word2vec生成 的词向量txt文档地址
    from tqdm import tqdm
    import numpy as np
    import tensorflow as tf
    from tensorflow.contrib.tensorboard.plugins import projector
    import os
    import codecs

    words, embeddings = [], []

    log_path = './tmp/word_vismodel'+file #生成的模型存放的地址
    if not os.path.exists(log_path):
    os.mkdir(log_path)

    with codecs.open(txtname, 'r') as f:
    header = f.readline()
    vocab_size, vector_size = map(int, header.split())
    for line in tqdm(range(vocab_size)):
    word_list = f.readline().split(' ')
    word = word_list[0]
    #此处由于维度出错 Cannot feed value of shape (33, 99) for Tensor 'Placeholder:0', which has shape '(33, 100)'
    vector = word_list[1:]#刚开始代码是word_list[1:-1]报上面的错误,修改后没有问题
    if word == "":
    continue
    words.append(word)
    embeddings.append(np.array(vector))
    assert len(words) == len(embeddings)
    print(len(words),vector_size)

    with tf.Session() as sess:
    X = tf.Variable([0.0], name='embedding')
    place = tf.placeholder(tf.float32, shape=[len(words), vector_size])
    set_x = tf.assign(X, place, validate_shape=False)
    sess.run(tf.global_variables_initializer())
    sess.run(set_x, feed_dict={place: embeddings})
    with codecs.open(log_path + '/metadata.tsv', 'w') as f:
    for word in tqdm(words):
    f.write(word + ' ')

    # with summary
    summary_writer = tf.summary.FileWriter(log_path, sess.graph)
    config = projector.ProjectorConfig()
    embedding_conf = config.embeddings.add()
    embedding_conf.tensor_name = 'embedding:0'
    embedding_conf.metadata_path = os.path.join('metadata.tsv')
    projector.visualize_embeddings(summary_writer, config)

    # save
    saver = tf.train.Saver()
    saver.save(sess, os.path.join(log_path, "model.ckpt"))

    报错2:按照官方文档给出的运行tensorboard文件方式发现无法显示,查阅资料https://blog.csdn.net/whitesilence/article/details/79261592 发现,需要先将运行目录定位到存放要显示图像的文件位置
    也就是上面的log_path ,先通过命令行进入该路径,然后输入: tensorboard --logdir ./即可运行当前路径下得到的图像
    报错3:具体报错是显示英文:typeerror...具体不记得了,但是左下角出现了文件节点有13个但是生成图像的文件有12个节点,猜测是由于我的词向量文件有一个词是空格的问题,把词向量文件中该空格及相应的向量
    还有将第一行的13改成12就没有问题了
    还有一个问题需要注意:我的电脑没有办法通过localhost:6006进入该软件显示界面,是在命令行下输入tensorboard --logdir ./后提示的路径,具体可以参看自己的电脑提示tensorboard --logdir ./
    另外,我发现写多个word_vis()每次都是第一个该函数能执行出来结果,剩余的显示不了图像,需要重新执行

  • 相关阅读:
    用户登录系统(三)
    SQL server 2005 时间函数应用 查询出结果为00:00:00 小时、分钟、秒
    Windows Server 2003系统 常用操作技巧集绵,发现了继续添加
    新一代井下数字集群通讯系统需求分析(一)
    WPF学习笔记(一)
    建立一个VSS源代码管理服务器,下面介绍建立的过程与实际应用情况
    Vista下使用VS2005的时候提示"没有安装FrontPage服务器扩展"的问题。
    SQL语句导入/导出EXCEL(转载自:白袜子blog)
    sql2005"因为它正用于复制"的错误解决办法
    (转)CS0016: 未能写入输出文件“c:\WINDOWS\xxxxxsktsuj.dll”“拒绝访问。”的处理
  • 原文地址:https://www.cnblogs.com/kjkj/p/10473049.html
Copyright © 2011-2022 走看看