hamelsmu / code_search

Code For Medium Article: "How To Create Natural Language Semantic Search for Arbitrary Objects With Deep Learning"

Home Page:https://medium.com/@hamelhusain/semantic-code-search-3cd6d244a39c

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GitHub license Python 3.6 GitHub issues

Semantic Code Search

Code For Medium Article: "How To Create Natural Language Semantic Search for Arbitrary Objects With Deep Learning"

Alt text


Warning - This Project Is Deprecated In Favor Of CodeSearchNet

The techniques presented here are old and have been significantly refined in a subsequent project called CodeSearchNet, with an associated paper.

I recommend looking at the aforementioned project for a more modern approach to this topic, as in retrospect this blog post is somewhat of an ugly hack.

Resources

Docker Containers

You can use these container to reproduce the environment the authors used for this tutorial. Incase it is helpful, I have provided a requirements.txt file, however, we highly recommend using the docker containers provided below as the dependencies can be complicated to build yourself.

  • hamelsmu/ml-gpu: Use this container for any gpu bound parts of the tutorial. We recommend running the entire tutorial on an aws p3.8xlarge and using this image.

  • hamelsmu/ml-cpu: Use this container for any cpu bound parts of this tutorial.

Notebooks

The notebooks folder contains 5 Jupyter notebooks that correspond to Parts 1-5 of the tutorial.

Related Blog Posts

This tutorial assumes knowledge of the material presented in a previous tutorial on sequence-to-sequence models.


PRs And Comments Are Welcome

We have made best attempts to make sure running this tutorial is as painless as possible. If you think something can be improved, please submit a PR!

About

Code For Medium Article: "How To Create Natural Language Semantic Search for Arbitrary Objects With Deep Learning"

https://medium.com/@hamelhusain/semantic-code-search-3cd6d244a39c

License:MIT License


Languages

Language:Jupyter Notebook 95.4%Language:Python 4.5%Language:HTML 0.1%Language:Shell 0.0%