Skip to content

Latest commit

 

History

History
64 lines (31 loc) · 2.67 KB

README-EN.md

File metadata and controls

64 lines (31 loc) · 2.67 KB

GGNN Code Recommendation

1. Brief Introduction

This repository contains GGNN(Gated Graph Neural Network1) based code recommendation models implemented in PyTorch and Tensorflow 1.0, which can generate API or token predictions for incomplete code snippets.

2. Project Structure

There are three packages inside the project:

  1. basic_ggnn_model
  • tf_version

    The model under this package is a duplicate implementation of GGNN model in Tensorflow in another repository: gated-graph-neural-network-samples2. A small modification is to merge the DenseGGNNChemModel and ChemModel in the original version into DenseGGNNModel for easy reading.

  • torch_version

    A re-implemented PyTorch GGNN model based on the Tensorflow version(gated-graph-neural-network-samples2). Currently there is no dataset loading method️ for this implementation, and all the input data is randomly generated.

  1. code_rec_api_level
  • torch_version_1

    An unofficial implementation of Java API recommendation model for the paper Holistic Combination of Structural and Textual Code Information for Context based API Recommendation3. This model is inspired by another two repository: ggnn.pytorch4 and GGNN_Reasoning5.

  • torch_version_2

    This is also an unofficial implementation of the above paper. Please note that it is based on the model under the basic_ggnn_model/torch_version package.

  1. code_rec_token_level
  • tf_version

    Token-level Code recommentation model inspired by the paper Holistic Combination of Structural and Textual Code Information for Context based API Recommendation.

3. Reference

[1] Gated Graph Sequence Neural Networks.

[2] GitHub - microsoft/gated-graph-neural-network-samples: Sample Code for Gated Graph Neural Networks

[3] Holistic Combination of Structural and Textual Code Information for Context based API Recommendation.

[4] GitHub - chingyaoc/ggnn.pytorch: A PyTorch Implementation of Gated Graph Sequence Neural Networks (GGNN)

[5] GitHub - entslscheia/GGNN_Reasoning: PyTorch implementation for Graph Gated Neural Network (for Knowledge Graphs)