Deep TabNine: Write code faster using deep learning
We have already looked at Facebook’s AROMA code-to-code search and recommendation tool. In this post,we take look at TabNine autocompleter with deep learning capabilities that helps in writing code faster & good quality.
TabNine is the all-language autocompleter.It relies on machine learning to provide responsive, reliable, and relevant suggestions.
TabNine builds an index of your project, reading your .gitignore so that only source files are included and uses this index to provide useful information to a softmax regression model which ranks candidate completions.The candidate completions are then given to a secondary completion engine, which may suggest additional characters for completion, based on similar patterns found elsewhere in your project.
TabNine then uses another abstraction layer and parameterizes the patterns by the identifiers they contain, allowing it to provide suggestions involving words that it has only seen once.
TabNine has been trained on around 2 million source files from GitHub.During model training,it would predict each token given the tokens that come before it.To do this,it learns complex behavior using deep learning capabilities, such as type inference in dynamically typed languages (check example below)
TabNine is based on Open AI GPT-2 that uses the Transformer network architecture.Architecture takes care of problems in natural language processing. Although modeling code and modeling natural language might appear to be unrelated tasks, modeling code requires understanding English in some unexpected ways.
TabNine Model also uses documentation written in natural language to infer function names, parameters, and return types.
TabNine can be installed from here and configuration is easy.
TabNine currently has support for Python, JavaScript, Java, C++, C, PHP, Go, C#, Ruby, Objective-C, Rust, Swift, TypeScript, Haskell, OCaml, Scala, Kotlin, Perl, SQL, HTML, CSS, and Bash.
TabNine is also available as cloud service(beta) as well so that we can make use TabNine’s cloud servers for GPU-accelerated autocompletion.
Deep TabNine: Write code faster using deep learning
Description
Check out how TabNine uses machine learning to provide responsive, reliable, and relevant suggestions.
Author
Karthik
Publisher Name
Upnxtblog
Publisher Logo
Karthik
Allo! My name is Karthik,experienced IT professional.Upnxtblog covers key technology trends that impacts technology industry.This includes Cloud computing,Blockchain,Machine learning & AI,Best mobile apps, Best tools/open source libs etc.,I hope you would love it and you can be sure that each post is fantastic and will be worth your time.