Huggingface变压器问管道

时间:2020-04-10 00:48:11

标签: huggingface-transformers

Huggingface变形金刚提供了一个用于在Squad数据集上进行问题解答调优的管道。

要为提出问题的管道开发管道,我需要做什么?这将使用上下文,问题和答案来生成带有上下文答案的问题。有没有创建新的饥饿面管道的示例?

1 个答案:

答案 0 :(得分:0)

管道可以简单地视为预训练模型的包装。在这种情况下,您可以采用与现有示例脚本(例如run_squad)相同的方式执行微调/预训练。当然可以

HuggingFace website(在此处稍作修改)给出了有关如何加载自定义检查点模型的示例:

<script>
  var idToken;
  (function () {
    var firebaseConfig = {
      //content is present
    };
    firebase.initializeApp(firebaseConfig);

    firebase.auth().onAuthStateChanged(function (user) {
      if (user) {
        console.log(user);
        console.log(firebase.auth().user); 
        user.getIdToken().then(function (idToken) {  
          console.log(idToken); // It shows the Firebase token now
        });
      }
    });
  }());

  function signin() {
    var email = "email@em.com";
    var password = "password";
    firebase.auth().signInWithEmailAndPassword(email, password).then(function (fbuser) {
      console.log("Success");
      idToken = fbuser.getIdToken();
    }).catch(function (error) {
      // Handle Errors here.
      var errorCode = error.code;
      var errorMessage = error.message;
      // ...
    });
  }
</script>

如果您的管道与现有选项有所不同,以至于您确实需要实现新的管道类,那么我建议您看一下respective implementation。具体而言,大多数模型只不过是将标记化步骤巧妙地包装在预先训练的模型上,并在from transformers import pipeline # Question answering pipeline, specifying the checkpoint identifier pipeline('question-answering', model='distilbert-base-cased-distilled-squad', tokenizer='bert-base-cased') 函数上调用正确的参数,因此“仅此而已”。由于该功能仍相对较新,因此这可能与您当前(2.8版)所提供的示例一样简洁。

我希望所有的提示都能帮助您入门!