I tried to run the Semi-Supervised GCN example and it appears to be broken. The issue is that the loss and accuracy functions don't seem to work with the DataLoader. The DataLoader's Batches have the format (X,y) with X being the graph vector and y being the (7*140*batch_size) output tensor. The current loop for (x,y) in batch takes the wrong elements at the moment:
FeaturedSubgraph of FeaturedGraph:
Undirected graph with (#V=2708, #E=5275) in adjacency matrix
Node feature: ℝ^1433 <Matrix{Float32}>,1:140) #This is x
FeaturedSubgraph of FeaturedGraph:
Undirected graph with (#V=2708, #E=5275) in adjacency matrix
Node feature: ℝ^1433 <Matrix{Float32}>,1:140) #This is y
0 #This is x
0 #This is y
#And Stop! (No more elements)
As evident, this breaks the whole thing. I've tried using zip but it plays weird with the y tensor. So my solution was to loop as such: for (x, y) in [[batch[1][i], batch[2][:,:,i]] for i = 1:batch_size], and it solved it. Though it may create memory overhead.
Julia Version 1.7.2
I tried to run the Semi-Supervised GCN example and it appears to be broken. The issue is that the loss and accuracy functions don't seem to work with the DataLoader. The DataLoader's Batches have the format (X,y) with
Xbeing the graph vector andybeing the(7*140*batch_size)output tensor. The current loopfor (x,y) in batchtakes the wrong elements at the moment:As evident, this breaks the whole thing. I've tried using
zipbut it plays weird with theytensor. So my solution was to loop as such:for (x, y) in [[batch[1][i], batch[2][:,:,i]] for i = 1:batch_size], and it solved it. Though it may create memory overhead.Julia Version 1.7.2