import numpy as np import tensorflow as tf from nlpgnn.datas.checkpoint import LoadCheckpoint from nlpgnn.datas.dataloader import TFWriter, TFLoader from nlpgnn.metrics import Metric from nlpgnn.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
import numpy as np import tensorflow as tf from nlpgnn.models import bert from nlpgnn.datas.checkpoint import LoadCheckpoint from nlpgnn.datas.dataloader import TFWriter, TFLoader from nlpgnn.metrics import Metric, Losess # 载入参数 load_check = LoadCheckpoint() 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_pooled_output() # batch,768 pre = self.dense(sequence_output)
import numpy as np import tensorflow as tf from nlpgnn.datas.checkpoint import LoadCheckpoint from nlpgnn.datas.dataloader import TFWriter, TFLoader from nlpgnn.metrics import Metric from nlpgnn.models import albert # 载入参数 load_check = LoadCheckpoint(language='en', model="albert", parameters="base") param, vocab_file, model_path, spm_model_file = load_check.load_albert_param() # 定制参数 param.batch_size = 8 param.maxlen = 100 param.label_size = 9 # 构建模型 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_sequence_output() pre = self.dense(sequence_output)
import tensorflow as tf from nlpgnn.datas.checkpoint import LoadCheckpoint from nlpgnn.models import gpt2 from nlpgnn.sample import samples from nlpgnn.tokenizers import gpt2_tokenization from nlpgnn.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 xlarge 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="large") param, vocab_file, model_path, encoder_file = load_check.load_gpt2_param() tokenizer = gpt2_tokenization.FullTokenizer(encoder_file, vocab_file) # 构建模型 class GenGPT2(tf.keras.Model): def __init__(self, param, **kwargs): super(GenGPT2, self).__init__(**kwargs) self.model = gpt2.GPT2(param) def call(self, inputs, past=None, is_training=True): out = self.model(inputs, past, is_training) return out