text = 'After stealing money from the bank vault,the bank robber was seen'\
"fishing on the Mississippi river bank"
token_input = tokenizer(text,return_tensors='pt')
token_input
token_input['input_ids'],token_input['input_ids'].shape
model forward
- forward
- embedding->encoder->pooler
model.eval()
with torch.no_grad():
outputs = model(**token_input)
output
- len(outputs)==3
- outputs[0]
- last_hidden_state,shape:batch_size*seq_len*hidden_size(1*768)
- outputs[1]
- pooler_output,shape:batch_size*hidden_size(1*768)
- Last layer hidden-state of the first token of the sequence (classification token,[CLS])
- outputs[2](model.config.output_hidden_states=True)
- type:tuple
- one for the output of the embedding(1),if the model has an embedding layer(12),+one for the ouput of each layer
- (1+12)*(batch_size*sqe_len*hidden_size)=13*1*22*768
- outputs[0]==outputs[2][-1]
- outputs[1]==model.pooler(outputs[2][-1])
- outputs[2][0]=model.embeddings(token_input[‘input_ids’],token_input[‘token_type_ids]
type(outputs)
outputs[0]
outputs[1]
outputs[2][-1]
outputs[1]
model.pooler(outputs[2][-1])
outputs[2][0]
model.embedding(token_input['input_ids'],token_input['token_type_ids'])