readme: ---
  language: zh
  tags:
  - summarization
  inference: True
  ---
  
  Task: Summarization
  
  ## Usage
  ```python
  
  from transformers import PegasusForConditionalGeneration,BertTokenizer
  class PegasusTokenizer(BertTokenizer):
      model_input_names = ["input_ids", "attention_mask"]
      def __init__(self, **kwargs):
          super().__init__(**kwargs)
          # super().__init__(**kwargs)
          self.add_special_tokens({'additional_special_tokens':["<mask_1>"]})
  
      def build_inputs_with_special_tokens(
              self,
              token_ids_0: List[int],
              token_ids_1: Optional[List[int]] = None) -> List[int]:
  
          if token_ids_1 is None:
              return token_ids_0 + [self.eos_token_id]
          return token_ids_0 + token_ids_1 + [self.eos_token_id]
  
      def _special_token_mask(self, seq):
          all_special_ids = set(
              self.all_special_ids)  # call it once instead of inside list comp
          # all_special_ids.remove(self.unk_token_id)  # <unk> is only sometimes special
          return [1 if x in all_special_ids else 0 for x in seq]
  
      def get_special_tokens_mask(
              self,
              token_ids_0: List[int],
              token_ids_1: Optional[List[int]] = None,
              already_has_special_tokens: bool = False) -> List[int]:
          if already_has_special_tokens:
              return self._special_token_mask(token_ids_0)
          elif token_ids_1 is None:
              return self._special_token_mask(token_ids_0) + [self.eos_token_id]
          else:
              return self._special_token_mask(token_ids_0 +
                                              token_ids_1) + [self.eos_token_id]                              
  model = PegasusForConditionalGeneration.from_pretrained('IDEA-CCNL/Randeng-Pegasus-238M-Summary-Chinese')
  tokenizer = PegasusTokenizer.from_pretrained('IDEA-CCNL/Randeng-Pegasus-238M-Summary-Chinese')
  
  text = "在北京冬奥会自由式滑雪女子坡面障碍技巧决赛中，中国选手谷爱凌夺得银牌。祝贺谷爱凌！今天上午，自由式滑雪女子坡面障碍技巧决赛举行。决赛分三轮进行，取选手最佳成绩排名决出奖牌。第一跳，中国选手谷爱凌获得69.90分。在12位选手中排名第三。完成动作后，谷爱凌又扮了个鬼脸，甚是可爱。第二轮中，谷爱凌在道具区第三个障碍处失误，落地时摔倒。获得16.98分。网友：摔倒了也没关系，继续加油！在第二跳失误摔倒的情况下，谷爱凌顶住压力，第三跳稳稳发挥，流畅落地！获得86.23分！此轮比赛，共12位选手参赛，谷爱凌第10位出场。网友：看比赛时我比谷爱凌紧张，加油！"
  inputs = tokenizer(text, max_length=512, return_tensors="pt")
  
  # Generate Summary
  summary_ids = model.generate(inputs["input_ids"])
  tokenizer.batch_decode(summary_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]
  ```
  
  ## Citation
  If you find the resource is useful, please cite the following website in your paper.
  ```
  @misc{Fengshenbang-LM,
    title={Fengshenbang-LM},
    author={IDEA-CCNL},
    year={2022},
    howpublished={\url{https://github.com/IDEA-CCNL/Fengshenbang-LM}},
  }
  ```