Hey everyone, I am trying to implement NCP for a time series model, defined below.
`class Model:
def init(self,model_name,x_train):
self.model_name = model_name
self.model = self.buildModel(x_train)
print("> New model initialized: ",model_name)
def buildModel(self,x_train):
ncp_wiring = kncp.wirings.NCP(
inter_neurons=20, # Number of inter neurons
command_neurons=10, # Number of command neurons
motor_neurons=5, # Number of motor neurons
sensory_fanout=4, # How many outgoing synapses has each sensory neuron
inter_fanout=5, # How many outgoing synapses has each inter neuron
recurrent_command_synapses=6, # Now many recurrent synapses are in the # command neuron layer
motor_fanin=4,) # How many incoming synapses has each motor neuron )
# Overwrite some of the initialization ranges
ncp_cell = LTCCell(ncp_wiring,initialization_ranges={ "w": (0.2, 2.0),},)
height, width, channels = (78, 200, 3)
model = Sequential()
x = len(x_train[0])
model.add(LSTM(256,input_shape=((1,x)), return_sequences = True, activation = "relu"))
model.add(Dropout(0.2))
model.add(BatchNormalization())
model.add(LSTM(128, input_shape=((1, x)), return_sequences=True, activation="relu"))
model.add(Dropout(0.2))
model.add(BatchNormalization())
model.add(LSTM(128, input_shape=((1, x)), activation="relu"))
model.add(Dropout(0.2))
model.add(BatchNormalization())
model.add(RNN(ltc_cell))
model.add(Dense(32, activation="relu"))
model.add(Dropout(0.2))
model.add(Dense(2, activation="softmax"))
#model.add(keras.layers.RNN(ncp_cell,return_sequences=True))
optimizer = tf.keras.optimizers.Adam(lr = 0.001, decay = 1e-6)
model.compile(loss="sparse_categorical_crossentropy",optimizer=optimizer)
return model`
I then get the following error,
`File "F:\Dropbox\AIML EDUCATION\AIMLEDUCATION\Model.py", line 19, in init
self.model = self.buildModel(x_train)
File "F:\Dropbox\AIML EDUCATION\AIMLEDUCATION\Model.py", line 51, in buildModel
model.add(RNN(ltc_cell))
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-
packages\tensorflow\python\training\tracking\base.py", line 530, in _method_wrapper
result = method(self, *args, **kwargs)
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-packages\keras\engine\sequential.py", line 217, in add
output_tensor = layer(self.outputs[0])
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-packages\keras\layers\recurrent.py", line 659, in call
return super(RNN, self).call(inputs, **kwargs)
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-packages\keras\engine\base_layer.py", line 977, in call
input_list)
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-packages\keras\engine\base_layer.py", line 1115, in _functional_construction_call inputs, input_masks, args, kwargs)
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-packages\keras\engine\base_layer.py", line 848, in _keras_tensor_symbolic_call return self._infer_output_signature(inputs, args, kwargs, input_masks)
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-packages\keras\engine\base_layer.py", line 886, in _infer_output_signature
self._maybe_build(inputs)
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-packages\keras\engine\base_layer.py", line 2659, in _maybe_build
self.build(input_shapes) # pylint:disable=not-callable
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-packages\keras\layers\recurrent.py", line 577, in build
self.cell.build(step_input_shape)
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-packages\kerasncp\tf\ltc_cell.py", line 131, in build
self._wiring.build(input_dim)
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-packages\kerasncp\wirings\wirings.py", line 150, in build
super().build(input_shape)
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-packages\kerasncp\wirings\wirings.py", line 44, in build
self.set_input_dim(input_dim)
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-packages\kerasncp\wirings\wirings.py", line 55, in set_input_dim
[input_dim, self.units], dtype=np.int32
TypeError: 'NoneType' object cannot be interpreted as an integer`
Hey everyone, I am trying to implement NCP for a time series model, defined below.
`class Model: def init(self,model_name,x_train): self.model_name = model_name self.model = self.buildModel(x_train) print("> New model initialized: ",model_name)
I then get the following error,
`File "F:\Dropbox\AIML EDUCATION\AIMLEDUCATION\Model.py", line 19, in init self.model = self.buildModel(x_train)
File "F:\Dropbox\AIML EDUCATION\AIMLEDUCATION\Model.py", line 51, in buildModel model.add(RNN(ltc_cell)) File "C:\Users\Denis\anaconda3\envs\tf1\lib\site- packages\tensorflow\python\training\tracking\base.py", line 530, in _method_wrapper result = method(self, *args, **kwargs)
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-packages\keras\engine\sequential.py", line 217, in add output_tensor = layer(self.outputs[0])
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-packages\keras\layers\recurrent.py", line 659, in call return super(RNN, self).call(inputs, **kwargs)
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-packages\keras\engine\base_layer.py", line 977, in call input_list)
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-packages\keras\engine\base_layer.py", line 1115, in _functional_construction_call inputs, input_masks, args, kwargs)
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-packages\keras\engine\base_layer.py", line 848, in _keras_tensor_symbolic_call return self._infer_output_signature(inputs, args, kwargs, input_masks)
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-packages\keras\engine\base_layer.py", line 886, in _infer_output_signature self._maybe_build(inputs)
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-packages\keras\engine\base_layer.py", line 2659, in _maybe_build self.build(input_shapes) # pylint:disable=not-callable
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-packages\keras\layers\recurrent.py", line 577, in build self.cell.build(step_input_shape)
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-packages\kerasncp\tf\ltc_cell.py", line 131, in build self._wiring.build(input_dim)
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-packages\kerasncp\wirings\wirings.py", line 150, in build super().build(input_shape)
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-packages\kerasncp\wirings\wirings.py", line 44, in build self.set_input_dim(input_dim)
File "C:\Users\Denis\anaconda3\envs\tf1\lib\site-packages\kerasncp\wirings\wirings.py", line 55, in set_input_dim [input_dim, self.units], dtype=np.int32
TypeError: 'NoneType' object cannot be interpreted as an integer`
Any help would be appreciated.