🚀 CodeTrans model for code documentation generation javascript
This is a pre - trained model for the JavaScript programming language, leveraging the T5 small model architecture. It was initially released in this repository. This model is trained on tokenized JavaScript code functions and performs optimally with such tokenized functions.
✨ Features
Model description
This CodeTrans model is built upon the t5 - small
model. It comes with its own SentencePiece vocabulary model and was trained on a single - task using the CodeSearchNet Corpus JavaScript dataset.
Intended uses & limitations
The model can be used to generate descriptions for JavaScript functions or fine - tuned for other JavaScript code tasks. It can handle unparsed and untokenized JavaScript code, but tokenized code will yield better performance.
📦 Installation
No specific installation steps are provided in the original document, so this section is skipped.
💻 Usage Examples
Basic Usage
Here is how to use this model to generate JavaScript function documentation using Transformers SummarizationPipeline:
from transformers import AutoTokenizer, AutoModelWithLMHead, SummarizationPipeline
pipeline = SummarizationPipeline(
model=AutoModelWithLMHead.from_pretrained("SEBIS/code_trans_t5_small_code_documentation_generation_javascript"),
tokenizer=AutoTokenizer.from_pretrained("SEBIS/code_trans_t5_small_code_documentation_generation_javascript", skip_special_tokens=True),
device=0
)
tokenized_code = "function isStandardBrowserEnv ( ) { if ( typeof navigator !== 'undefined' && ( navigator . product === 'ReactNative' || navigator . product === 'NativeScript' || navigator . product === 'NS' ) ) { return false ; } return ( typeof window !== 'undefined' && typeof document !== 'undefined' ) ; }"
pipeline([tokenized_code])
Run this example in colab notebook.
📚 Documentation
Training data
The supervised training tasks datasets can be downloaded on Link
Evaluation results
For the code documentation tasks, different models achieve the following results on different programming languages (in BLEU score):
Property |
Python |
Java |
Go |
Php |
Ruby |
JavaScript |
CodeTrans - ST - Small |
17.31 |
16.65 |
16.89 |
23.05 |
9.19 |
13.7 |
CodeTrans - ST - Base |
16.86 |
17.17 |
17.16 |
22.98 |
8.23 |
13.17 |
CodeTrans - TF - Small |
19.93 |
19.48 |
18.88 |
25.35 |
13.15 |
17.23 |
CodeTrans - TF - Base |
20.26 |
20.19 |
19.50 |
25.84 |
14.07 |
18.25 |
CodeTrans - TF - Large |
20.35 |
20.06 |
19.54 |
26.18 |
14.94 |
18.98 |
CodeTrans - MT - Small |
19.64 |
19.00 |
19.15 |
24.68 |
14.91 |
15.26 |
CodeTrans - MT - Base |
20.39 |
21.22 |
19.43 |
26.23 |
15.26 |
16.11 |
CodeTrans - MT - Large |
20.18 |
21.87 |
19.38 |
26.08 |
15.00 |
16.23 |
CodeTrans - MT - TF - Small |
19.77 |
20.04 |
19.36 |
25.55 |
13.70 |
17.24 |
CodeTrans - MT - TF - Base |
19.77 |
21.12 |
18.86 |
25.79 |
14.24 |
18.62 |
CodeTrans - MT - TF - Large |
18.94 |
21.42 |
18.77 |
26.20 |
14.19 |
18.83 |
State of the art |
19.06 |
17.65 |
18.07 |
25.16 |
12.16 |
14.90 |
Created by Ahmed Elnaggar | LinkedIn and Wei Ding | LinkedIn