Graph convolutional layers

CyberZHG, updated 🕥 2022-01-22 12:16:20

Keras Graph Convolutional Network

Graph convolutional layers.

Install

bash pip install keras-gcn

Usage

GraphConv

```python from tensorflow import keras from keras_gcn import GraphConv

DATA_DIM = 3

data_layer = keras.layers.Input(shape=(None, DATA_DIM)) edge_layer = keras.layers.Input(shape=(None, None)) conv_layer = GraphConv( units=32, step_num=1, )([data_layer, edge_layer]) ```

step_num is the maximum distance of two nodes that could be considered as neighbors. If step_num is greater than 1, then the inputs of edges must be 0-1 matrices.

GraphMaxPool & GraphAveragePool

Pooling layers with the step_num argument.

Issues

I have the following error

opened on 2022-05-05 11:45:21 by sastry3009

Layer (type) Output Shape Param # Connected to

input_1 (InputLayer) [(None, None, 256)] 0 []

input_2 (InputLayer) [(None, 256, 256)] 0 []

graph_conv (GraphConv) (None, 256, 32) 8224 ['input_1[0][0]',
'input_2[0][0]']

graph_conv_1 (GraphConv) (None, 256, 16) 528 ['graph_conv[0][0]',
'input_2[0][0]']

lstm (LSTM) (None, None, 128) 197120 ['input_1[0][0]']

flatten (Flatten) (None, 4096) 0 ['graph_conv_1[0][0]']

lstm_1 (LSTM) (None, 32) 20608 ['lstm[0][0]']

concatenate (Concatenate) (None, 4128) 0 ['flatten[0][0]',
'lstm_1[0][0]']

batch_normalization (BatchNorm (None, 4128) 16512 ['concatenate[0][0]']
alization)

dropout (Dropout) (None, 4128) 0 ['batch_normalization[0][0]']

dense (Dense) (None, 128) 528512 ['dropout[0][0]']

dense_1 (Dense) (None, 32) 4128 ['dense[0][0]']

dropout_1 (Dropout) (None, 32) 0 ['dense_1[0][0]']

dense_2 (Dense) (None, 1) 33 ['dropout_1[0][0]']

================================================================================================== Total params: 775,665 Trainable params: 767,409 Non-trainable params: 8,256


========== TRAIN ============ /usr/local/lib/python3.7/dist-packages/nilmtk/elecmeter.py:432: UserWarning: The provided sample_period (1) is shorter than the meter's sample_period (3) sample_period, default_sample_period Epoch 1/10 Traceback (most recent call last): File "/content/drive/MyDrive/Auto_Encoder/DAE/redd-test.py", line 31, in dae.train(train_mains, train_meter, epochs=10, sample_period=1) File "/content/drive/MyDrive/Auto_Encoder/DAE/daedisaggregator.py", line 78, in train self.train_on_chunk(mainchunk, meterchunk, epochs, batch_size) File "/content/drive/MyDrive/Auto_Encoder/DAE/daedisaggregator.py", line 115, in train_on_chunk self.model.fit(X_batch, Y_batch, batch_size=batch_size, epochs=epochs, shuffle=True) File "/usr/local/lib/python3.7/dist-packages/keras/utils/traceback_utils.py", line 67, in error_handler raise e.with_traceback(filtered_tb) from None File "/usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/func_graph.py", line 1147, in autograph_handler raise e.ag_error_metadata.to_exception(e) ValueError: in user code:

File "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py", line 1021, in train_function  *
    return step_function(self, iterator)
File "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py", line 1010, in step_function  **
    outputs = model.distribute_strategy.run(run_step, args=(data,))
File "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py", line 1000, in run_step  **
    outputs = model.train_step(data)
File "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py", line 859, in train_step
    y_pred = self(x, training=True)
File "/usr/local/lib/python3.7/dist-packages/keras/utils/traceback_utils.py", line 67, in error_handler
    raise e.with_traceback(filtered_tb) from None
File "/usr/local/lib/python3.7/dist-packages/keras/engine/input_spec.py", line 200, in assert_input_compatibility
    raise ValueError(f'Layer "{layer_name}" expects {len(input_spec)} input(s),'

ValueError: Layer "model" expects 2 input(s), but it received 1 input tensors. Inputs received: [<tf.Tensor 'IteratorGetNext:0' shape=(None, 256, 1) dtype=float32>]
Zhao HG

Knowledge is bacon. Please don't send emails.

GitHub Repository Homepage

keras gcn layer