Semantic Code Search
Code For Medium Article: "How To Create Natural Language Semantic Search for Arbitrary Objects With Deep Learning"
CodeSearchNet
Warning - This Project Is Deprecated In Favor OfThe 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!