学习b站https://www.bilibili.com/video/BV17y4y1m737?p=50的课程时,按照步骤写出现了点问题,然后稍微调整了下就实现了它视频中的效果。

先看效果:

实现步骤:

1.python代码:

def word_embedding():
    import torch
    import pandas as pd
    from torch.utils.tensorboard import SummaryWriter
    import tensorflow as tf
    import tensorboard as tb
    tf.io.gfile = tb.compat.tensorflow_stub.io.gfile

    writer = SummaryWriter()

    # 随机初始化一个100×5的矩阵,认为它是我们已经得到的词嵌入矩阵
    # 代表99个词汇,每个词汇被表示成50维的向量
    embedded = torch.randn(99, 50)

    # 导入事先准备好的99个中文词汇文件,形成meta列表原始词汇
    meta = pd.read_csv("data/vocab100.csv")
    list_meta = meta.values
    meta_list = []
    for meta_str in list_meta:
        meta_list.append(meta_str[0])
    writer.add_embedding(embedded, metadata=meta_list)
    writer.close()

vocab100百度网盘链接:链接: https://pan.baidu.com/s/1LOhOgR8bpAaMNa9EttdOEg 提取码: cvgm

这段代码的意思就是给了99个词和这99个词对应的向量(这里每个词是50维,向量是随机生成的,反正后面可以替换成你的词和向量啦),用SummaryWriter的add_embedding方法用准备好的数据生成一系列文件(具体我也不懂==)

2.运行代码,你会看到你的py文件的同级目录下出现runs文件

3.cd到你的py文件目录下,输入tensorboard --logdir runs --host 0.0.0.0

4.打开浏览器,输入网址http://127.0.0.1:6006

完成上述步骤你就可以看到文章开头的效果啦。

 

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐