| --- |
| language: |
| - en |
| tags: |
| - summarization |
| license: apache-2.0 |
| datasets: |
| - DeepCom |
| metrics: |
| - bleu |
| --- |
| |
| # How To Use |
| ```PYTHON |
| from transformers import BartForConditionalGeneration, BartTokenizer |
| model = BartForConditionalGeneration.from_pretrained("NTUYG/ComFormer") |
| tokenizer = BartTokenizer.from_pretrained("NTUYG/ComFormer") |
| code = ''' |
| public static void copyFile( File in, File out ) |
| throws IOException |
| { |
| FileChannel inChannel = new FileInputStream( in ).getChannel(); |
| FileChannel outChannel = new FileOutputStream( out ).getChannel(); |
| try |
| { |
| // inChannel.transferTo(0, inChannel.size(), outChannel); // original -- apparently has trouble copying large files on Windows |
| |
| // magic number for Windows, 64Mb - 32Kb) |
| int maxCount = (64 * 1024 * 1024) - (32 * 1024); |
| long size = inChannel.size(); |
| long position = 0; |
| while ( position < size ) |
| { |
| position += inChannel.transferTo( position, maxCount, outChannel ); |
| } |
| } |
| finally |
| { |
| if ( inChannel != null ) |
| { |
| inChannel.close(); |
| } |
| if ( outChannel != null ) |
| { |
| outChannel.close(); |
| } |
| } |
| } |
| ''' |
| code_seq, sbt = utils.transformer(code) #can find in https://github.com/NTDXYG/ComFormer |
| input_text = code_seq + sbt |
| input_ids = tokenizer.encode(input_text, return_tensors="pt", max_length=256, truncation=True) |
| summary_text_ids = model.generate( |
| input_ids=input_ids, |
| bos_token_id=model.config.bos_token_id, |
| eos_token_id=model.config.eos_token_id, |
| length_penalty=2.0, |
| max_length=30, |
| min_length=2, |
| num_beams=5, |
| ) |
| comment = tokenizer.decode(summary_text_ids[0], skip_special_tokens=True) |
| print(comment) |
| ``` |
| # BibTeX entry and citation info |
| ``` |
| @misc{yang2021comformer, |
| title={ComFormer: Code Comment Generation via Transformer and Fusion Method-based Hybrid Code Representation}, |
| author={Guang Yang and Xiang Chen and Jinxin Cao and Shuyuan Xu and Zhanqi Cui and Chi Yu and Ke Liu}, |
| year={2021}, |
| eprint={2107.03644}, |
| archivePrefix={arXiv}, |
| primaryClass={cs.SE} |
| } |
| ``` |
|
|
|
|