GithubHelp home page GithubHelp logo

muhanzhang / dgcnn Goto Github PK

View Code? Open in Web Editor NEW
171.0 171.0 44.0 49.79 MB

Code for "M. Zhang, Z. Cui, M. Neumann, and Y. Chen, An End-to-End Deep Learning Architecture for Graph Classification, AAAI-18".

License: MIT License

Shell 1.24% MATLAB 61.97% Lua 35.29% Python 1.49%

dgcnn's People

Contributors

muhanzhang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dgcnn's Issues

Supplementary material of the DGCNN paper

Hello Dr. Zhang,

Thank you for this impressive work!

May you kindly share the supplementary materials mentioned in the paper?
It seems many versions of DGCNN don't contain that material.

Thanks a lot in advance for your kind help

Can this model use batch gradient descent to optimization?

Hi~
Some other details I want to know, and look forward to your reply.
In the paper you said: For graphs with vertex labels or attributes, X can be the one-hot encoding matrix of the vertex labels or matrix of multidimensional vertex attributes. so if the graph with 3 nodes without any node attribute, the X can represent as follow:

np.eye(3) =
[[1, 0, 0], 
 [0, 1, 0], 
 [0, 0, 1]]

and X.shape = (n, c), and c exactly equal to n, right?
if the answer is positive, what puzzle me is the dimension of W(W.shape = (c/n, c')) in the first graph convolution layer will with different size graph by graph, but the W are shared among all input. How to explain and deal with this?

Second, I noticed the optimization method you used to minimize the loss function is SGD with ADAM, what i want to know is whether we can't vectorization in this model, i.e. the batch_size only can be set to 1?

thanks sincerely!

where i can get the SI?

It's a great job!
as you said in the paper, there are some details and information in the supplementary material, but the paper i download without the material, where i can get the them?

Question about build the X

Hi~
If nodes in graph have different type(tag), how to build the matrix X.
For example, one graph with 5 nodes and the tags of them are [0, 1, 1, 1, 2], and another one with 6 nodes and the tags are [0, 1, 1, 2, 3, 3](for sake of simplicity, assume only these two graphs in the dataset), under such case, what is the initial channels c should be?
Maybe the c equal to 4, so
[[1 0 0 0]
[0 1 0 0]
[0 1 0 0]
[0 1 0 0]
[0 0 1 0]]
and
[[1 0 0 0]
[0 1 0 0]
[0 1 0 0]
[0 0 1 0]
[0 0 0 1]
[0 0 0 1]]
are the X of first and second graph, respectively?

Concept about the name of network

I just wondering why the name contains deep.
This network cannot deep.. which part can be deep? you mean the last part?
We cannot add graph convolutional layer in the first part of network. Right?

Use DGCNN to run python array data

I tried to run DGCNN on my own dataset, which is in the forms of python array,and I don't know how to load them in Torch.Any suggestions?

ImportError: No module named networkx

Run Main.m using MATLAB, turns out this error:

Traceback (most recent call last):
  File "../../software/node2vec/src/main.py", line 14, in <module>
    import networkx as nx
ImportError: No module named networkx
Error using dlmread (line 62)
The file 'data/embedding/USAir_1.emd' could not be opened because: No such file
or directory

Error in generate_embeddings (line 59)
    node_embeddings = dlmread(['data/embedding/', data_name, '.emd']);

Error in graph2mat (line 62)
    node_embeddings = generate_embeddings(A1, data_name_i, emd_method);

Error in SEAL (line 66)
    [data, max_size] = graph2mat([train_pos; train_neg], [test_pos; test_neg],
    A, h, ith_experiment, 0, data_name, include_embedding, include_attribute);

Error in Main (line 65)
    parfor (ith_experiment = 1:numOfExperiment, workers)

I think the problem is MATLAB does not detect the correct python environment. Can you please help me to solve this?

How to deal with different size of graph data?

What i want to know is that the Graph Convolution Layer how to accept different size of graph data as input? For Example, In the data set Mutag, the nodes contains in each graph usually different, the nodes in mutag_1.graph and mutag_2.graph are 23 and 26, respectively, right?. How to deal with this?

Using DGCNN for planted clique classification

I'm trying to run DGCNN on my dataset consisting in graphs of 100 nodes in which a k-clique (k=15) has been added or not. Unfortunately, the accuracy is staying at 50% while state of the art can perform 100%.
I tried with the following architecture:
th main.lua -dataName PLANTED -learningRate 1e-4 -maxEpoch 300 -nodeLabel nDegree -k 30 -outputChannels '32 32 32 1'
What do you think the problem can be here? Is it because of the high density of the adjacency matrix of such graphs ?

How do you sort matrix rows?

Hi I was wondering how exactly the rows are sorted during the pooling. If my output matrix Z from the last graph convolution is of size (n x f). Where f is the number of feature channels. How do I sort the rows? Or more in detail which channels do I use for sorting the vertexs?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.