Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance issue about tf.function #32

Open
DLPerf opened this issue Feb 24, 2023 · 1 comment
Open

Performance issue about tf.function #32

DLPerf opened this issue Feb 24, 2023 · 1 comment

Comments

@DLPerf
Copy link

DLPerf commented Feb 24, 2023

Hello! Our static bug checker has found a performance issue in adahessian_tf/run_experiments.py and adahessian_tf/cifar_training_tools.py: cifar_training is repeatedly called in a for loop, but there is a tf.function decorated function step defined and called in cifar_training.

In that case, when cifar_training is called in a loop, the function step will create a new graph every time, and that can trigger tf.function retracing warning.

Here is the tensorflow document to support it.

Briefly, for better efficiency, it's better to use:

@tf.function
def inner():
    pass

def outer():
    inner()  

than:

def outer():
    @tf.function
    def inner():
        pass
    inner()

Looking forward to your reply.

@DLPerf
Copy link
Author

DLPerf commented Mar 6, 2023

Since there is model here, it is not easy to make a change, do you have any idea? @amirgholami @nestordemeure @sIncerass @yaozhewei

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant