import numpy as np import tensorflow as tf from fennlp.datas.checkpoint import LoadCheckpoint from fennlp.datas.dataloader import TFWriter, TFLoader from fennlp.metrics import Metric from fennlp.models import bert # 载入参数 load_check = LoadCheckpoint(language='en') param, vocab_file, model_path = load_check.load_bert_param() # 定制参数 param.batch_size = 8 param.maxlen = 100 param.label_size = 9 class BERT_NER(tf.keras.Model): def __init__(self, param, **kwargs): super(BERT_NER, self).__init__(**kwargs) self.batch_size = param.batch_size self.maxlen = param.maxlen self.label_size = param.label_size self.bert = bert.BERT(param) self.dense = tf.keras.layers.Dense(self.label_size, activation="relu") def call(self, inputs, is_training=True): bert = self.bert(inputs, is_training) sequence_output = bert.get_sequence_output() # batch,sequence,768
from fennlp.datas.checkpoint import LoadCheckpoint from fennlp.datas.dataloader import TFWriter, TFLoader from fennlp.metrics import Metric from fennlp.models import bert from fennlp.optimizers import optim from fennlp.tools import bert_init_weights_from_checkpoint # 载入参数 # LoadCheckpoint(language='zh', model="bert", parameters="base", cased=True, url=None) # language: the language you used in your input data # model: the model you choose,could be bert albert and gpt2 # parameters: can be base large xlarge xxlarge for albert, base medium large for gpt2, base large for BERT. # cased: True or false, only for bert model. # url: you can give a link of other checkpoint. load_check = LoadCheckpoint() param, vocab_file, model_path = load_check.load_bert_param() # 定制参数 param.batch_size = 2 param.maxlen = 4 param.label_size = 15 # 构建模型 class BERT_NER(tf.keras.Model): def __init__(self, param, **kwargs): super(BERT_NER, self).__init__(**kwargs) self.batch_size = param.batch_size self.maxlen = param.maxlen self.label_size = param.label_size
import numpy as np import tensorflow as tf from fennlp.datas.checkpoint import LoadCheckpoint from fennlp.datas.dataloader import TFWriter, TFLoader from fennlp.metrics import Metric from fennlp.models import albert # 载入参数 load_check = LoadCheckpoint(language='en', model="albert", paramaters="base") param, vocab_file, model_path, spm_model_file = load_check.load_albert_param() # 定制参数 param.batch_size = 8 param.maxlen = 100 param.label_size = 2 # 构建模型 class ALBERT_NER(tf.keras.Model): def __init__(self, param, **kwargs): super(ALBERT_NER, self).__init__(**kwargs) self.batch_size = param.batch_size self.maxlen = param.maxlen self.label_size = param.label_size self.albert = albert.ALBERT(param) self.dense = tf.keras.layers.Dense(self.label_size, activation="relu") def call(self, inputs, is_training=True): albert = self.albert(inputs, is_training) sequence_output = albert.get_pooled_output() # batch,768 pre = self.dense(sequence_output)
import tensorflow as tf from fennlp.datas.checkpoint import LoadCheckpoint from fennlp.models import gpt2 from fennlp.sample import samples from fennlp.tokenizers import gpt2_tokenization from fennlp.tools import gpt2_init_weights_from_checkpoint # 载入参数 # LoadCheckpoint(language='zh', model="bert", parameters="base", cased=True, url=None) # language: the language you used in your input data # model: the model you choose,could be bert albert and gpt2 # parameters: can be base large xlarge xxlarge for albert, base medium large for gpt2, base large for BERT. # cased: True or false, only for bert model. # url: you can give a link of other checkpoint. load_check = LoadCheckpoint(language='en', model="gpt2", parameters="base") param, vocab_file, model_path, encoder_file = load_check.load_gpt2_param() print(param) param["batch_size"] = 10 tokenizer = gpt2_tokenization.FullTokenizer(encoder_file, vocab_file) start_token = tokenizer.convert_token_to_id("<|endoftext|>") # 构建模型 class GenGPT2(tf.keras.Model): def __init__(self, param, **kwargs): super(GenGPT2, self).__init__(**kwargs) self.model = gpt2.GPT2(param)