String formatting fix in export code profiling code generation #1081
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem description
When running
pytest tests/models/bert/test_bert.py --export_code proflilingAnd then tracy
python -m tracy -r -v -p -o BERT tests/export_code/profiling/BERT_code.pyThe formatting of the generated code has an issue with function arguments which are strings. In the BERT case, this translates to passing
ttnn.linear(. . . , activation = gelu)when the correct syntax is:ttnn.linear(. . . , activation = "gelu"), with the argument being expressed as a string.This throws an error when tracy is called on the generated code.
What's changed
Added explicit string handling in the formatting function
_format_dict(obj), checking if the attribute is a string, and making sure quotes are written to the file if it is.