by hamelsmu

hamelsmu / code_search

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

425 Stars 125 Forks Last release: over 2 years ago (v1.0) MIT License 162 Commits 1 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

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

    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!

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.