ponder-lab / Hybridize-Functions-Refactoring

Refactorings for optimizing imperative TensorFlow clients for greater efficiency.
Eclipse Public License 2.0
0 stars 0 forks source link

Function my_conv2d() missing from call graph #310

Open khatchad opened 8 months ago

khatchad commented 8 months ago

Highly related to #307. This is what I am seeing in the CSVs:

subject function module relative path refactoring severity code message
samples my_conv2d trial03 tensorflow_weight_sharing/trial03.py OPTIMIZE_HYBRID_FUNCTION 3 3 Can't infer side-effects, most likely due to a call graph issue caused by a decorator or a missing function call.
samples my_conv2d trial03 tensorflow_weight_sharing/trial03.py OPTIMIZE_HYBRID_FUNCTION 3 10 Can't infer tensor parameters for this function.
samples my_conv2d trial03 tensorflow_weight_sharing/trial03.py OPTIMIZE_HYBRID_FUNCTION 3 11 Can't infer primitive parameters for this function.

But, my_conv2d() is called by indirectly by the model functions, I believe, but it isn't done through a callable. Instead, I believe it to be called by one of the other model functions here:

https://github.com/ponder-lab/samples/blob/39f7644391e664244b45c90868c804abad923eb3/tensorflow_weight_sharing/trial03.py#L98-L104

khatchad commented 8 months ago

It's called here: https://github.com/ponder-lab/samples/blob/39f7644391e664244b45c90868c804abad923eb3/tensorflow_weight_sharing/trial03.py#L99 by keras.engine.training.Model.build():

self.call(x, **kwargs)
khatchad commented 8 months ago

Technically, this would be blocked by https://github.com/wala/ML/issues/107.