Skip to content


Switch branches/tags

Latest commit


Failed to load latest commit information.
Latest commit message
Commit time

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.


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.


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!