【问题标题】:What features are used in the default transformers pipeline?默认转换器管道中使用了哪些功能?
【发布时间】:2020-08-18 19:24:59
【问题描述】:

我在看here at the feature extraction pipeline

我使用以下内容进行初始化:

from transformers import pipeline 
pipe = pipeline("feature-extraction") 
features = pipe("test")

我得到了一堆功能。默认情况下使用的是什么模型?如何初始化此管道以使用特定的预训练模型?

len(features)
1
>>> features
[[[0.4122459590435028, 0.10175584256649017, 0.09342928230762482, -0.3119196593761444, -0.3226662278175354, -0.16414110362529755, 0.06356583535671234, -0.03167172893881798, -0.010002809576690197, -1.1153486967086792, -0.3304346203804016, 0.1727224737405777, -0.0904250368475914, -0.04243310168385506, -0.4745883047580719, 0.09118127077817917, 0.4240476191043854, 0.2237153798341751, 0.12108077108860016, -0.16883963346481323, 0.055300742387771606, -0.07225772738456726, 0.4521999955177307, -0.31655701994895935, 0.05917530879378319, -0.0343029648065567, 0.4157347083091736, 0.10791877657175064, -0
...etc

虽然文件告诉我:

所有模型都可用于此管道。查看所有模型的列表,包括在 huggingface.co/models 上的社区贡献模型。

我不清楚在此链接中在哪里初始化模型。 API 非常简洁。

【问题讨论】:

    标签: huggingface-transformers


    【解决方案1】:

    不幸的是,正如您所说的那样,pipelines 文档相当稀疏。 但是,源代码指定了默认使用哪些模型,请参阅here。具体来说,模型是distilbert-base-cased

    有关使用模型的方法,请参阅我的相关答案here。您可以像这样简单地指定modeltokenizer 参数:

    from transformers import pipeline
    
    # Question answering pipeline, specifying the checkpoint identifier
    pipeline('feature-extraction', model='bert-base-cased', tokenizer='bert-base-cased')
    

    【讨论】:

    • 谢谢。这究竟是什么返回值?这个形状对我来说没有意义:pl = pipeline('feature-extraction', model='bert-base-cased', tokenizer='bert-base-cased')x = pl("this is a sentence") len(x) 1 len(x[0]) 6
    • 这是一个隐藏状态向量的列表。如果你检查x[0][0]的长度,它是768,这是隐藏状态的对应维度。第一个维度是样本的数量(在您的情况下,只有一个),第二个维度是标记化后提取的子词的数量(这就是为什么句子中的词数多于单词数的原因)。查看正向传递的文档字符串here
    猜你喜欢
    • 1970-01-01
    • 2020-09-29
    • 2018-11-29
    • 1970-01-01
    • 2018-02-16
    • 1970-01-01
    • 1970-01-01
    • 2018-07-16
    • 1970-01-01
    相关资源
    最近更新 更多