TypeError when creating a tensorflow.keras model with TCN layer - keras-tcn
healthyertech opened this issue · 2 comments
Hi all,
I have recently started to study temporal convolutional networks and I was trying to implement a model using the keras-tcn library.
To get familiar with the library, I tried to run the example script for regression task presented in the README file, but I get the following error when the Sequential model is created:
`Traceback (most recent call last):
File "C:\Users\vince\anaconda3\envs\mlsp_tf2_env\lib\site-packages\google\protobuf\internal\python_message.py", line 561, in init
copy.MergeFrom(new_val)
File "C:\Users\vince\anaconda3\envs\mlsp_tf2_env\lib\site-packages\google\protobuf\internal\python_message.py", line 1320, in MergeFrom
raise TypeError(
TypeError: Parameter to MergeFrom() must be instance of same class: expected TensorShapeProto got TensorShapeProto.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "", line 1, in
m = Sequential([
File "C:\Users\vince\anaconda3\envs\mlsp_tf2_env\lib\site-packages\tensorflow\python\training\tracking\base.py", line 517, in _method_wrapper
result = method(self, *args, **kwargs)
File "C:\Users\vince\anaconda3\envs\mlsp_tf2_env\lib\site-packages\tensorflow\python\keras\engine\sequential.py", line 117, in init
super(functional.Functional, self).init( # pylint: disable=bad-super-call
File "C:\Users\vince\anaconda3\envs\mlsp_tf2_env\lib\site-packages\tensorflow\python\training\tracking\base.py", line 517, in _method_wrapper
result = method(self, *args, **kwargs)
File "C:\Users\vince\anaconda3\envs\mlsp_tf2_env\lib\site-packages\tensorflow\python\keras\engine\training.py", line 293, in init
self._init_batch_counters()
File "C:\Users\vince\anaconda3\envs\mlsp_tf2_env\lib\site-packages\tensorflow\python\training\tracking\base.py", line 517, in _method_wrapper
result = method(self, *args, **kwargs)
File "C:\Users\vince\anaconda3\envs\mlsp_tf2_env\lib\site-packages\tensorflow\python\keras\engine\training.py", line 301, in _init_batch_counters
self._train_counter = variables.Variable(0, dtype='int64', aggregation=agg)
File "C:\Users\vince\anaconda3\envs\mlsp_tf2_env\lib\site-packages\tensorflow\python\ops\variables.py", line 262, in call
return cls._variable_v2_call(*args, **kwargs)
File "C:\Users\vince\anaconda3\envs\mlsp_tf2_env\lib\site-packages\tensorflow\python\ops\variables.py", line 244, in _variable_v2_call
return previous_getter(
File "C:\Users\vince\anaconda3\envs\mlsp_tf2_env\lib\site-packages\tensorflow\python\ops\variables.py", line 237, in
previous_getter = lambda **kws: default_variable_creator_v2(None, **kws)
File "C:\Users\vince\anaconda3\envs\mlsp_tf2_env\lib\site-packages\tensorflow\python\ops\variable_scope.py", line 2654, in default_variable_creator_v2
return resource_variable_ops.ResourceVariable(
File "C:\Users\vince\anaconda3\envs\mlsp_tf2_env\lib\site-packages\tensorflow\python\ops\variables.py", line 264, in call
return super(VariableMetaclass, cls).call(*args, **kwargs)
File "C:\Users\vince\anaconda3\envs\mlsp_tf2_env\lib\site-packages\tensorflow\python\ops\resource_variable_ops.py", line 1574, in init
self._init_from_args(
File "C:\Users\vince\anaconda3\envs\mlsp_tf2_env\lib\site-packages\tensorflow\python\ops\resource_variable_ops.py", line 1728, in _init_from_args
handle = eager_safe_variable_handle(
File "C:\Users\vince\anaconda3\envs\mlsp_tf2_env\lib\site-packages\tensorflow\python\ops\resource_variable_ops.py", line 236, in eager_safe_variable_handle
return _variable_handle_from_shape_and_dtype(shape, dtype, shared_name, name,
File "C:\Users\vince\anaconda3\envs\mlsp_tf2_env\lib\site-packages\tensorflow\python\ops\resource_variable_ops.py", line 176, in _variable_handle_from_shape_and_dtype
cpp_shape_inference_pb2.CppShapeInferenceResult.HandleShapeAndType(
File "C:\Users\vince\anaconda3\envs\mlsp_tf2_env\lib\site-packages\google\protobuf\internal\python_message.py", line 563, in init
_ReraiseTypeErrorWithFieldName(message_descriptor.name, field_name)
File "C:\Users\vince\anaconda3\envs\mlsp_tf2_env\lib\site-packages\google\protobuf\internal\python_message.py", line 488, in _ReraiseTypeErrorWithFieldName
six.reraise(type(exc), exc, sys.exc_info()[2])
File "C:\Users\vince\anaconda3\envs\mlsp_tf2_env\lib\site-packages\six.py", line 702, in reraise
raise value.with_traceback(tb)
File "C:\Users\vince\anaconda3\envs\mlsp_tf2_env\lib\site-packages\google\protobuf\internal\python_message.py", line 561, in init
copy.MergeFrom(new_val)
File "C:\Users\vince\anaconda3\envs\mlsp_tf2_env\lib\site-packages\google\protobuf\internal\python_message.py", line 1320, in MergeFrom
raise TypeError(
TypeError: Parameter to MergeFrom() must be instance of same class: expected TensorShapeProto got TensorShapeProto. for field HandleShapeAndType.shape`
I'm running
- tensorflow==2.4.0,
- numpy==1.19.5
- keract==4.4.0
- matplotlib==3.3.4
Thanks in advance for the answers
Cheers
Can you try with tensorflow==2.4.1?
I've never seen this error before!
I'm going to close this issue as I am unable to reproduce the error. Try to upgrade to the latest tensorflow and it should work like a charm!