Spaces:
Running
Running
from typing import List | |
from torch._C import _compile_graph_to_code_table, _generate_upgraders_graph | |
def format_bytecode(table): | |
# given a nested tuple, convert it to nested list | |
def listify(content): | |
if not isinstance(content, tuple): | |
return content | |
return [listify(i) for i in content] | |
formatted_table = {} | |
for entry in table: | |
identifier = entry[0] | |
content = entry[1] | |
content = listify(content) | |
formatted_table[identifier] = content | |
return formatted_table | |
def generate_upgraders_bytecode() -> List: | |
yaml_content = [] | |
upgraders_graph_map = _generate_upgraders_graph() | |
for upgrader_name, upgrader_graph in upgraders_graph_map.items(): | |
bytecode_table = _compile_graph_to_code_table(upgrader_name, upgrader_graph) | |
entry = {upgrader_name: format_bytecode(bytecode_table)} | |
yaml_content.append(entry) | |
return yaml_content | |
if __name__ == "__main__": | |
raise RuntimeError("This file is not meant to be run directly") | |