将bert中的字向量提取出来 并保存成npy文件

因为我们是要使用bert的词向量,希望可以简单如word2vec 一般,拿来就用 ,所以将 bert_model.ckpt中的保存的word_embedding提取出来,并进行保存。

也是一个tensorflow 保存 提取 模型的方法

首先  下载  bert中文预训练模型  chinese_L-12_H-768_A-12  这是一个768维的中文词向量 预训练模型 

在这个文件夹下 使用下列 代码

import tensorflow as tf
from tensorflow.python import pywrap_tensorflow
import numpy as np
 
 
 
 
 
ckpt_path = 'bert_model.ckpt'
 
reader = pywrap_tensorflow.NewCheckpointReader(ckpt_path)
param_dict = reader.get_variable_to_shape_map()  # 读取 ckpt中的参数的维度的
#emd = param_dict['bert/embeddings/word_embeddings']
emd = reader.get_tensor('bert/embeddings/word_embeddings') # 得到ckpt中指定的tensor 
print(len(emd))
print(emd[:5])
param=np.array(emd)
np.save('bert_embed.txt',param)
'''
from tensorflow.python.tools import inspect_checkpoint as chkp
chkp.print_tensors_in_checkpoint_file(file_name="./bert_model.ckpt", 
                                      tensor_name = 'bert/embeddings/word_embeddings', 
                                      all_tensors = True, 
                                      all_tensor_names=True) #

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值