Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is difference between 'call' and '__call__' in TensorFlow BasicLSTMCell implementation?

I am studying Tensorflow BasicLSTMCell while I found that there are two similar methods within the class: __call__ and call. The two methods has the same parameters and the documentation does not say the difference. Refering the source code does not give me any clue of this. But I am guessing that the the __call__ method is inherited from somewhere, and call overrides __call__. If this is the case, why not just use __call__ instead of call in the source code?

like image 405
Zhao Avatar asked Sep 16 '25 12:09

Zhao


1 Answers

I ran into similar problem when studying RNNCell.

It is in Class Layer in base_layer.py that __call__ wraps in call, "applying pre- and post-processing steps".

like image 191
Zhengkai Tu Avatar answered Sep 18 '25 10:09

Zhengkai Tu