pytorch-script.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. from __future__ import unicode_literals
  2. from __future__ import print_function
  3. import io
  4. import json
  5. import pydoc
  6. import os
  7. import re
  8. import shutil
  9. import sys
  10. import tempfile
  11. import zipfile
  12. def metadata():
  13. json_file = os.path.join(os.path.dirname(__file__), '../source/pytorch-metadata.json')
  14. json_data = open(json_file).read()
  15. json_root = json.loads(json_data)
  16. schema_map = {}
  17. for schema in json_root:
  18. name = schema['name']
  19. schema_map[name] = schema
  20. for schema in json_root:
  21. name = schema['name']
  22. if 'module' in schema:
  23. class_name = schema['module'] + '.' + name
  24. # print(class_name)
  25. class_definition = pydoc.locate(class_name)
  26. if not class_definition:
  27. raise Exception('\'' + class_name + '\' not found.')
  28. docstring = class_definition.__doc__
  29. if not docstring:
  30. raise Exception('\'' + class_name + '\' missing __doc__.')
  31. # print(docstring)
  32. # with io.open(json_file, 'w', newline='') as fout:
  33. # json_data = json.dumps(json_root, sort_keys=True, indent=2)
  34. # for line in json_data.splitlines():
  35. # line = line.rstrip()
  36. # if sys.version_info[0] < 3:
  37. # line = unicode(line)
  38. # fout.write(line)
  39. # fout.write('\n')
  40. if __name__ == '__main__':
  41. command_table = { 'metadata': metadata }
  42. command = sys.argv[1]
  43. command_table[command]()