| # roberta_python |
| --- |
| language: code |
| datasets: |
| - code_search_net |
| - Fraser/python-lines |
| tags: |
| - python |
| - code |
| - masked-lm |
| widget: |
| - text "assert 6 == sum([i for i in range(<mask>)])" |
| --- |
| # Details |
| This is a roBERTa-base model trained on the python part of [CodeSearchNet](https://github.com/github/CodeSearchNet) and reached a dev perplexity of 3.296 |
| |
| This model was used for the Programming Puzzles enumerative solver baseline detailed in [Programming Puzzles paper](https://arxiv.org/abs/2106.05784). |
| |
| See also the [Python Programming Puzzles (P3) Repository](https://github.com/microsoft/PythonProgrammingPuzzles) for more details. |
| |
| # Usage |
| |
| You can either load the model and further fine-tune it for a target task (as done for the puzzle solver), or you can experiment with mask-filling directly with this model as in the following example: |
| |
| ```python |
| from transformers import AutoTokenizer, AutoModelWithLMHead, pipeline |
| |
| tokenizer = AutoTokenizer.from_pretrained("tals/roberta_python") |
| model = AutoModelWithLMHead.from_pretrained("tals/roberta_python") |
| |
| demo = pipeline("fill-mask", model=model, tokenizer=tokenizer) |
| |
| code = """sum= 0 |
| for i in range(<mask>): |
| sum += i |
| assert sum == 6 |
| """ |
| demo(code) |
| ``` |
| |
| # BibTeX entry and citation info |
| |
| ```bibtex |
| @inproceedings{ |
| schuster2021programming, |
| title={Programming Puzzles}, |
| author={Tal Schuster and Ashwin Kalyan and Alex Polozov and Adam Tauman Kalai}, |
| booktitle={Thirty-fifth Conference on Neural Information Processing Systems Datasets and Benchmarks Track (Round 1)}, |
| year={2021}, |
| url={https://openreview.net/forum?id=fe_hCc4RBrg} |
| } |
| ``` |
| |