RyanHuangNLP

Results 7 comments of RyanHuangNLP

@ibrahimishag tensorflow 2.0 variable name is different with the tensorflow 1.x, you may reference [here](https://github.com/tensorflow/models/issues/7479).

@brightmart 请问使用项目的代码是指使用 `albert_zh` 下的 `run_pretrain.py`吗,我现在是使用该项目下的代码和配置文件,但是就是加载完albert的checkpoint文件后,就报错说缺少`bert/embeddings/LayerNorm/beta/lamb_m` 这个变量名字,但是这个变量名应该是保存预训练结果时去掉了,现在继续执行pretrain又显示需要这个,那我是不是需要自己初始化关于 `lamb_m` 和 `lamb_v` 的变量名对应的权值,再执行?

语料格式就是bert的语料格式,每个document用换行符分隔,每行一段话,同一个document的就不用换行符分隔 ``` !DOCTYPE !DOCTYPE,一个文档类型标记是一种标准通用标记语言的文档类型声明,它的目的是要告诉标准通用标记语言解析器,它应该使用什么样的文档类型定义(DTD)来解析文档。!DOCTYPE简介它出现如该文件的第一行,并具有如下形式:!DOCTYPElPUBLIC"引用的字符串"--公共标识符--“引用的字符串”是被调用一个公共标识符,它指的是所需的文档类型定义(外语缩写:DTD)由一个“知名”的名字,通常是由一个相关的标准。[1]可用性:指定正式公开标识符(外语缩写:FPI)是可公开访问的对象还是系统资源。国际互联网工程任务组(IETF)和万维网联盟(外语缩写:W3C)两家单位并非注册的ISO组织。!DOCTYPE语法注:由于!DOCTYPE(以下简化称为“本标签”)是标准通用标记语言的文档类型声明,所以“本标签”的附属属性(比如以下提到的“#隐含”及“公共、系统标识符”属性)将为离散的文本块;当标准通用标记语言有新功能属性时,可以根据实际需求把标准通用标记语言的新功能属性加入“本标签”。!DOCTYPE提示与注释注释:!DOCTYPE标签没有结束标签。[2]提示:!DOCTYPE声明不区分大小写。 !DOCTYPE本标签有三种写法:一、私有的外联文档类型定义(使用系统标识符):[3]!DOCTYPE根元素SYSTEM"文档类型定义位置"[!--内部子集声明,可选项目--]实例具体应用:(根元素是超文本网页)!DOCTYPEHTMLSYSTEM"文档类型定义严格.定义"二、公共的外联文档类型定义(使用公共标识符):[3]!DOCTYPE根元素PUBLIC"注册组织类型标签定义语言""文档类型定义位置"[!--内部子集声明,可选项目--]实例具体应用:(根元素是超文本网页)!DOCTYPEHTMLPUBLIC"+我公司DTD超文本5ZH""网络页面文档类型定义严格.定义"三、内联的文档类型定义:!DOCTYPE根元素[文档类型定义里头的内容:元素属性实体符号处理指令批注引用]实例具体应用:(根元素是“百度百科_行标签”)!DOCTYPE百度百科_行标签[!ELEMENT多行(排*)!ELEMENT排O-(#PCDATA)--已解析的字符数据--!ENTITY百度百科_行标签"排"!SHORTREF壹行"&#引;&#短;"百度百科_行标签--!短参考--!USEMAP壹行排]!DOCTYPE公共标识符格式:前缀所有者类型标签描述语言显示版本[3]前缀:前缀定义ISO是"国际标准化组织"的标准+组织名称已注册-组织名称未注册注:注册指组织是否由国际标准化组织注册。 [3](各人也可以手动将文档类型定义注册自服务器)组织(所有者):公司、单位、组织的名称。类型:表明该公共标识符所关联的文档的实际类型(比如超文本标记语言)。标签描述:所关联的文档的简要说明。该描述可以是任何字符串,当然其中不应包含作为分隔符的“”。(比如超文本5)。语言:说明文档基于何种语言书写,通常使用国际标准化组织标准的两字母语言代码。显示版本:该项目使用较少,用于说明文档是针对特定显示设备或者特定系统的。!DOCTYPE系统标识符系统标识符必须是一段统一资源标识符,指定文件(文档类型定义)的位置。[4]!DOCTYPE隐式类型用来暗示适用的文档类型定义,当解析时而不遵守文档类型声明,那么没有必要暗示一个适用的文档类型定义:!DOCTYPE#IMPLIEDSYSTEM!DOCTYPE#IMPLIED当两个文档类型的名称和外部子集的实体都隐含在一个文档类型声明里头,SYSTEM可能能够找到一个合适的外部子集。[5]!DOCTYPE遗漏元素!DOCTYPE甩掉范例#IMPLIED[!--“#暗示”是指使用本标签的文档元素可以有任何有效的元素类型名称。该内部子集仅包含“!记号”和“!实体”声明。 “记号”声明需要能够使用的架构和实体声明,当然要启用使用实体(不能是标准通用标记语言的一个可选功能)。可以指出在SYSTEM或标准通用标记语言声明里头一个新的可选功能,例如“暗示文档类型”或者其他某物。--][6]!DOCTYPE常用类型!DOCTYPE互联网工程任务组超文本标记语言三点零:[7]!DOCTYPEHTMLPUBLIC"-IETFDTDHTMLen"!DOCTYPE万维网联盟大多数万维网浏览器实际上并没有使用标准通用标记语言解析器,其中许多基于对文档的!DOCTYPE声明,显示有所不同的文件或缺乏。类型指定公开文本类,即所引用的对象类型。标签指定公开文本描述,即对所引用的公开文本的特定的描述性名称。后面可附带版本号。HTML默认。HTML。定义指定文档类型定义。框架集(外语:Frameset)文档。严格(外语:Strict)排除所有W3C专家希望逐步淘汰的代表性属性和元素,因为样式表已经很完善了。过渡(外语:Transitional)包含除框架集(frameSet)元素的全部内容。语言指定公开文本语言,即用于创建所引用对象的自然语言编码系统。该语言定义已编写为ISO639语言代码(大写两个字母)。 URL(资源定位器)指定所引用对象的位置。注释此声明必须显示在文档的起始处,显示在l标签之前。功能简介:你可使用此声明在InternetExplorer6及以后版本中切换为严格的标准兼容模式。若想打开此开关,请在你的文档顶部包含!DOCTYPE声明,在声明中指定合法的标签,在某些情况下,还需要指定定义和或统一资源定位。下面的表格列出了标准兼容模式的开关情况。DOCTYPE出现统一资源定位未出现统一资源定位未出现DOCTYPE关关HTML(无版本)关关HTML2.0关关HTML3.0关关HTML4.0开开HTML4.0Frameset开关HTML4.0Transitional开关HTML4.0Strict开开XHTML开开XML开开无法识别的DOCTYPE开开注意在标准兼容模式下,不能保证与其它版本的InternetExplorer保持兼容。当打开标准兼容模式时,文档的渲染行为也许与将来版本的InternetExplorer不同。若内容本来就是固定的(如刻录在激光唱片上),则不应该使用此模式。 示例:下面的例子演示了如何使用!DOCTYPE声明指定文档遵从的文档类型定义,并将InternetExplorer6及更高版本切换到标准兼容模式。下面例子中的声明都指定了遵从超文本4.0文档类型定义。第二种声明指定了“Strict”。第一种声明没有指定。这两种声明都将会把InternetExplorer6及以后版本切换到标准兼容模式。!DOCTYPEHTML[8]PUBLIC"-W3CDTDHTML4.0en"!DOCTYPEHTMLPUBLIC"-W3CDTDHTML4.0Stricten"下面例子中的声明都指定了遵从“Transitional”HTML4.0文档类型定义。第二种声明指定了文档类型定义的统一资源定位。第一种声明没有指定。第二种声明将会把InternetExplorer6及以后版本切换到标准兼容模式。第一种声明不会。!DOCTYPEHTMLPUBLIC"-W3CDTDHTML4.0Transitionalen"!DOCTYPEHTMLPUBLIC"-W3CDTDHTML4.0Transitionalen"".w3.orgTRl4loose.dtd"标准信息此对象定义在HTML3.2中。 ``` 处理数据脚本,其中tokenizer换成了wobert的分词器 ``` python3 preprocess.py --corpus_path corpora/part-2021012611.txt --dataset_path dataset.pt \ --processes_num 4 --target mlm --full_sentences --dynamic_masking --span_masking --seq_length 512 ```

好的,了解了,是应该一行一个document,每个document之间不需要用换行符分隔,然后`--span_masking`是加在pretrian阶段,而不是预处理阶段

@Embedding 我发现是我将BertTokenizer加了一个jieba的预分词 ``` class BertTokenizer(Tokenizer): """Runs end-to-end tokenziation.""" def __init__(self, args, is_src=True, do_lower_case=True, is_pre_tokenizer=True, pre_token_method=lambda x: jieba.cut(x,HMM=False)): super().__init__(args, is_src) if not args.spm_model_path: self.basic_tokenizer = BasicTokenizer(do_lower_case=do_lower_case) self.wordpiece_tokenizer = WordpieceTokenizer(vocab=self.vocab) if is_pre_tokenizer:...

@nghuyong 感谢大佬

@xjli Hello, Is there any update about the pre-training code?