data2vecでtextをベクトルに変換
BaseFairseqModel.extract_features
継承関係 RobertaModel(FairseqEncoderModel(BaseFairseqModel))
大元はBaseFairseqModelなのでextract_featuresメソッドを持つ
(examples/data2vec/models 下に定義された Data2VecTextModel はextract_featuresメソッドを持たない)
Data2VecTextModelの定義は何のため?
encodeしてからextract_featuresでベクトルが得られる(examples/roberta/README.md)
code:python
>> tokens = model.encode('Hello world!')
>> last_layer_features = model.extract_features(tokens)
>> last_layer_features.size()
>> last_layer_features
grad_fn=<TransposeBackward0>)
>> tokens2 = model.encode('Hello world')
>> last_layer_features2 = model.extract_features(tokens2)
>> last_layer_features2.size()
>> last_layer_features2
grad_fn=<TransposeBackward0>)
このベクトル、具体的なタスクではどう使う?
robertaのREADMEではpredictにタスク名と一緒に渡している:roberta.predict('mnli', tokens)