人工智能及大数据学习bert使用详解_第1页
人工智能及大数据学习bert使用详解_第2页
人工智能及大数据学习bert使用详解_第3页
人工智能及大数据学习bert使用详解_第4页
人工智能及大数据学习bert使用详解_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 其中 Uncased CasedBERT源码可以在Tensorflow上获取BERT-Base,Uncased:12-layer,768-hidden,12-heads,110MBERT-Large,Uncased:24-layer,1024-hidden,16-heads,340MBERT-Base,Cased:12-layer,768-hidden,12-heads,110MBERT-Large,Cased:24-layer,1024-hidden,16-heads,340MBERT-Base, Multilingual Cased (New,mended):104languages,

2、12-layer, 768-hidden, 12-heads, 110M parametersBERT-Base,cased(Orig,mended,useMultilingualCasedinstead):102languages,12-layer, 768-hidden, 12-heads, 110M parametersBERT-Base,: SimplifiedandTraditional,12-768-hidden,12-heads,110MBERT 使用详解(实战lyy关0.72019.02.2022:21* 字数643阅读4495评论 1喜欢 BERTword2Vec。对于现有的

3、任务,只需把 BERT word2vec,在其之上建立自己的模型即可了。import tensorflow as tf from bert import mimport os#这里import tensorflow as tf from bert import mimport os#这里bert_config# bertinput_ids=tf.placeholder (shinput_mask=tf.placeholder (shbert= m本文的demo 地址,需要BERT-Base,Chi2,加的源码中已经有如何使用BERT的demodemo中使用了TPUEstimator 封装,感觉

4、不好debug。其实BERT 的加载很简单。 CPUGPUFalse)= CPUGPUFalse)= use_tpu=tvars=BERT m), (*TrainableVariablesimport tensorflow as tf from bert import mimport ospathname.ckptimport tensorflow as tf from bert import mimport ospathname.ckptbert_confign)# 配置文件地址。=.gpu_options.allow_growth=True sess=tf.S

5、esfor varinit_string=ininitialized_variable_names: init_string = , *INIT_FROM_CKPT*( name = %s, sh= %s%s, , var.shwith()as这里就很清晰了,就是常用的TensorFlow3,使用这里就很清晰了,就是常用的TensorFlow3,使用模获取bert 模型的输出非常简单,使用m.get_pooled_output()两个方法。input_mask = tf.placeholder(sh=64, 128, dtype

6、=tf.segment_ids = tf.placeholder(sh=64, 128, dtype=tf.with= msaver=bert的参数重新初始化。这里和demo1是有区别的saver.restore(sess,pathname) 那么bert的输入又是什么样子的呢? 看下面代那么bert的输入又是什么样子的呢? 看下面代defle(tokens_a = tokenizer.tokenize(text_a)tokens_b=None if text_b:tokens_btokenizer.tokenize(text_bifmax_seq_length3 # 因为要为句子补上CLS,

7、 SEP, SEP_truncate_seq_pair(tokens_a,tokens_b,max_seq_length-3) 后加上CLS,SEP所以句子长度要小max_seq_length-if len(tokens_a) max_seq_length - 2: tokens_a=tokens_a0:(max_seq_length-2)bert的输入,注意下面的type_idsoutput_layerbatch_sizeseq_lengthembedding_sizeseq2seqneroutput_layer.get_pooled_output(这个获取句子的(a两个句子#CLSisth

8、isjack#son#ville?SEPnoitisnot.#type_ids:0 0 (a两个句子#CLSisthisjack#son#ville?SEPnoitisnot.#type_ids:0 0 1 1 1 1 (b单个句子#CLSthedogishairy.#type_ids:000 0#type_ids#tokens=segment_ids=foriffor tokenizer:是bert源码中提供的模块,其实主要作用就是将句子拆分成字,并成idtext_a: 句子text_b: 句子4 值得注意的地input_idstokenizer.convert_tokens_to_ids(tokensids # maskinput_mask1*len(input_ids) # 0whilelen(input_ids)assert len(input_ids) = max_seq_length assert len(input_mask) = max_seq_length assertlen(segment_ids)=max_seq_lengthretu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论