![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
nezha源码解读
文章平均质量分 64
唐僧爱吃唐僧肉
这个作者很懒,什么都没留下…
展开
-
总结篇:t5 transformers整体的结构流程图
为了更好地理解t5模型结构的内容,这里给出t5模型的整体结构流程t5整体模型结构流程t5整体的结构流程6个encoder部分的layerselfattention第一次调用6个decoder部分的layerselfattention第一次调用6个decoder部分的layercrossattention第二次调用6个decoder部分的layerselfattention第二次调用6个decoder部分的layercrossattentiont5整体的结构流程t5在运行的过程中,主要改变的就是key_原创 2021-12-01 10:46:37 · 4016 阅读 · 0 评论 -
transformers之中mt5和t5的区别
为了查看transformers结构之中mt5结构和t5结构的区别,这里采用代码对比法,相同的程序分别调用mt5结构和t5结构使用mt5的结构from transformers import T5Tokenizer, T5ForConditionalGenerationtokenizer = T5Tokenizer.from_pretrained("/home/xiaoguzai/模型/mt5-base")model = T5ForConditionalGeneration.from_pretrai原创 2021-11-30 21:04:52 · 3767 阅读 · 2 评论 -
mt5模型从spiece.model中找寻出vocab
mt5模型文件地址mt5模型由于vocab词汇表中的词汇过多,采用从spiece.model之中读取的方式,读取过程如下import sentencepiece as spmspm_path = '/home/xiaoguzai/模型/mt5/spiece.model'# 加载训练好的模型,切分文本sp = spm.SentencePieceProcessor(model_file=spm_path)# 编码 text -> idresult = sp.encode(['This i原创 2021-11-30 18:51:55 · 1769 阅读 · 1 评论 -
终结篇:t5模型结构的阅读
问题关键:past_key_value模型的整体结构(由外到内)最外层generation_utils.py之中的greedy_search调用模型解读t5Stack模型的解读通过之前对于代码的阅读,发现问题的关键就在于past_key_value参数的变化,导致输入不需要那么复杂的输入了,模型的整体结构(由外到内)模型的整体结构决定着数据的运转方向模型整体的框架结构图最外层generation_utils.py之中的greedy_search调用模型解读while True: i原创 2021-11-30 02:00:00 · 3360 阅读 · 0 评论 -
总结:阅读transformer结构的t5源代码的经验
阅读transformers中的t5结构经验1.用笔在纸上画出结构,哪一部分接着跟着哪一部分2.把握关键的操作3.刚开始按顺序读代码,把握脉络之后抓住重点的结构对于代码的改变1.用笔在纸上画出结构,哪一部分接着跟着哪一部分因为t5总体的结构比较复杂,所以必须使用纸和笔画出结构之后,画出每一部位结构进行的操作,读代码的过程才会更清晰2.把握关键的操作比如在attention之中重点就是key和value对于原来值的更改,所以只有把握了重点语句的操作过程,才能明白原理。3.刚开始按顺序读代码,把握脉络原创 2021-11-28 15:12:38 · 926 阅读 · 0 评论 -
transformers5--t5模型中encoder与decoder内容不同解读
t5模型中encoder与decoder内容不同查看transformers库之中的encoder和decoder部分内容的不同查看没有key_value_states以及query_length的情况下,T5Attention模型的调用过程查看transformers库之中的encoder和decoder部分内容的不同仔细观察发现,t5selfattention和t5crossattention的区别在于t5crossattention之中多加入了两个参数t5selfattention的内容sel原创 2021-11-26 20:21:17 · 7227 阅读 · 0 评论 -
transformers 模型指导文件(t5forconditionalgeneration与t5model的差异)
读transformer代码前,请先看对应的模型文件transformer t5模型指导文件转载 2021-11-25 11:46:37 · 4090 阅读 · 1 评论 -
transformer t5代码解读4(主要内容bert4keras实现t5模型)
继续解读t5代码之中源码的内容回到t5的整体结构之中回到t5的整体结构之中回到t5模型的整体的结构之中(0): T5LayerSelfAttention( (SelfAttention): T5Attention( (q): Linear(in_features=512, out_features=512, bias=False) (k): Linear(in_features=512, out_features=512,原创 2021-11-24 22:19:15 · 2597 阅读 · 0 评论 -
pytorch调用fgm对抗过程注意事项
class FGM(): def __init__(self, model): self.model = model self.backup = {} def attack(self, epsilon=0.5, emb_name='bertembeddings.word_embeddings_layer.weight'): # emb_name这个参数要换成你模型中embedding的参数名 for name, param i原创 2021-11-19 20:41:08 · 2466 阅读 · 3 评论 -
Transformer t5代码relative_position计算
回到T5Attention的内容之中上面的调用self._relative_position_bucket函数是在compute_bias函数之中,这里我们重新梳理一下T5Attention的compute_bias的函数内容context_position = torch.arange( query_length, dtype=torch.long, device=self.relative_attention_bias.weight.device)[:, None]memory_posi原创 2021-11-19 14:29:51 · 1624 阅读 · 0 评论 -
小布助手对话短文本语义匹配阅读源代码1--build_vocab.py understand
小布助手对话短文本语义匹配对于大佬这段代码的解读首先进入build_vocab.py之中,查看形成词表的过程关键代码counts = [3,5,3,3,5,5]接下来调用词频形成新的vocab.txt的词表过程(由于数据是脱敏的,这里考虑词语出现的频率,即词频) for ch in childPath: print('file_name = ') print(modelPath+ch+'vocab.txt') r""" n原创 2021-09-10 13:11:54 · 834 阅读 · 0 评论 -
记一次错误的发现logits and labels must have the same first dimension
今天写代码的时候发现一次错误这里的模型内容定义如下:from nezha import Bertbatch_size = 48bertmodel = Bert(maxlen=max_seq_len,batch_size=batch_size,**config)input_ids1 = keras.layers.Input(shape=(None,),dtype='int32',name="token_ids1")input_ids2 = keras.layers.Input(shape=(Non原创 2021-07-20 22:36:44 · 3880 阅读 · 0 评论 -
nezha官方预训练代码解读
nezha官方的github地址nezha官方github地址首先进入到__main__函数之中去查看内容if __name__ == "__main__": flags.mark_flag_as_required("input_file") flags.mark_flag_as_required("output_file") flags.mark_flag_as_required("vocab_file") tf.app.run()这里面得到的flag的对应参数内容 --in原创 2021-07-16 19:32:25 · 760 阅读 · 0 评论