--- license: mit --- # PyAutoCode: GPT-2 based Python auto-code. PyAutoCode is a cut-down python autosuggestion built on **GPT-2** *(motivation: GPyT)* model. This baby model *(trained only up to 3 epochs)* is not **"fine-tuned"** yet therefore, I highly recommend not to use it in a production environment or incorporate PyAutoCode in any of your projects. It has been trained on **112GB** of Python data sourced from the best crowdsource platform ever -- **GitHub**. *NOTE: Increased training and fine tuning would be highly appreciated and I firmly believe that it would improve the ability of PyAutoCode significantly.* ## Some Model Features - Built on *GPT-2* - Tokenized with *ByteLevelBPETokenizer* - Data Sourced from *GitHub (almost 5 consecutive days of latest Python repositories)* - Makes use of *GPTLMHeadModel* and *DataCollatorForLanguageModelling* for training - Newline characters are custom coded as `` ## Get a Glimpse of the Model You can make use of the **Inference API** of huggingface *(present on the right sidebar)* to load the model and check the result. Just enter any code snippet as input. Something like: ```sh for i in range( ``` ## Usage You can use my model too!. Here's a quick tour of how you can achieve this: Install transformers ```sh $ pip install transformers ``` Call the API and get it to work! ```python from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("P0intMaN/PyAutoCode") model = AutoModelForCausalLM.from_pretrained("P0intMaN/PyAutoCode") # input: single line or multi-line. Highly recommended to use doc-strings. inp = """import pandas""" format_inp = inp.replace('\n', "") tokenize_inp = tokenizer.encode(format_inp, return_tensors='pt') result = model.generate(tokenize_inp) decode_result = tokenizer.decode(result[0]) format_result = decode_result.replace('', "\n") # printing the result print(format_result) ``` Upon successful execution, the above should probably produce *(your results may vary when this model is fine-tuned)* ```sh import pandas as pd import numpy as np import matplotlib.pyplot as plt ``` ## Credits ##### *Developed as a part of a university project by [Pratheek U](https://www.github.com/P0intMaN) and [Sourav Singh](https://github.com/Sourav11902312lpu)*