Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
TensorFlow code for the neural network presented in the paper: "code2vec: Learning Distributed Representations of Code"
| Date | Stars |
|---|---|
| 2026-07-31 | 1146 |
| 2026-08-03 | 1147 |
| 2026-08-05 | 1147 |
| 2026-08-06 | 1147 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# Code2vec A neural network for learning distributed representations of code. This is an official implementation of the model described in: [Uri Alon](http://urialon.cswp.cs.technion.ac.il), [Meital Zilberstein](http://www.cs.technion.ac.il/~mbs/), [Omer Levy](https://levyomer.wordpress.com) and [Eran Yahav](http://www.cs.technion.ac.il/~yahave/), "code2vec: Learning Distributed Representations of Code", POPL'2019 [[PDF]](https://urialon.cswp.cs.technion.ac.il/wp-content/uploads/sites/83/2018/12/code2vec-popl19.pdf) _**October 2018** - The paper was accepted to [POPL'2019](https://popl19.sigplan.org)_! _**April 2019** - The talk video is available [here](https://www.youtube.com/watch?v=EJ8okcxL2Iw)_. _**July 2019** - Add `tf.keras` model implementation (see [here](#choosing-implementation-to-use))._ An **online demo** is available at [https://code2vec.org/](https://code2vec.org/). ## See also: * **code2seq** (ICLR'2019) is our newer model. It uses LSTMs to encode paths node-by-node (rather than monolithic path embeddings as in code2vec), and an LSTM to decode a target sequence (rather than predicting a single label at a time as in code2vec). See [PDF](https://openreview.net/pdf?id=H1gKYo09tX), demo at [http://www.code2seq.org](http://www.code2seq.org) and [code](https://github.com/tech-srl/code2seq/). * **Structural Language Models of Code** is a new paper that learns to generate the missing code within a larger code snippet. This is similar to code completion, but is able to predict complex expressions rather than a single token at a time. See [PDF](https://arxiv.org/pdf/1910.00577.pdf), demo at [http://AnyCodeGen.org](http://AnyCodeGen.org). * **Adversarial Examples for Models of Code** is a new paper that shows how to slightly mutate the input code snippet of code2vec and GNNs models (thus, introducing adversarial examples), such that the model (code2vec or GNNs) will output a prediction of our choice. See [PDF](https://arxiv.org/pdf/1910.07517.pdf) (code: soon). * **Neural Reverse Engineering of Stripped Binaries** is a new paper that learns to predict procedure names in stripped binaries, thus use neural networks for reverse engineering. See [PDF](https://arxiv.org/pdf/1902.09122) (code: soon). This is a TensorFlow implementation, designed to be easy and useful in research, and for experimenting with new ideas in machine learning for code tasks. By default, it learns Java source code and predicts Java method names, but it can be easily extended to other languages, since the TensorFlow network is agnostic to the input programming language (see [Extending to other languages](#extending-to-other-languages). Contributions are welcome. This repo actually contains two model implementations. The 1st uses pure TensorFlow and the 2nd uses TensorFlow's Keras ([more details](#choosing-implementation-to-use)). <center style="padding: 40px"><img width="70%" src="https://github.com/tech-srl/code2vec/raw/master/images/network.png" /></center> Table of Contents ================= * [Requirements](#requirements) * [Quickstart](#quickstart) * [Configuration](#configuration) * [Features](#features) * [Extending to other languages](#extending-to-other-languages) * [Additional datasets](#additional-datasets) * [Citation](#citation) ## Requirements On Ubuntu: * [Python3](https://www.linuxbabe.com/ubuntu/install-python-3-6-ubuntu-16-04-16-10-17-04) (>=3.6). To check the version: > python3 --version * TensorFlow - version 2.0.0 ([install](https://www.tensorflow.org/install/install_linux)). To check TensorFlow version: > python3 -c 'import tensorflow as tf; print(tf.\_\_version\_\_)' * If you are using a GPU, you will need CUDA 10.0 ([download](https://developer.nvidia.com/cuda-10.0-download-archive-base)) as this is the version that is currently supported by TensorFlow. To check CUDA version: > nvcc --version * For GPU: cuDNN (>=7.5) ([download](http://developer.nvidia.com/cudnn)) To check cuDNN v
Excerpt of 21,050 characters
Read on GitHub91
Uri Alon
62
2
2
1
1
1
1
1
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:89e58b82442ba5a7, topic:learning