MCPcopy Create free account
hub / github.com/NVIDIA/TensorRT / __str__

Method __str__

tools/Polygraphy/polygraphy/tools/script.py:380–437  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

378 self.suffix.append(line)
379
380 def __str__(self):
381 script = "#!/usr/bin/env python3\n"
382 script += f"# Template auto-generated by polygraphy [v{polygraphy.__version__}] on {time.strftime('%D')} at {time.strftime('%H:%M:%S')}\n"
383 script += f"# Generation Command: {' '.join(sys.argv)}\n"
384 if self.summary:
385 script += "# " + "\n# ".join(self.summary.splitlines()) + "\n"
386 script += ("\n" if self.preimport else "") + "\n".join(self.preimport) + ("\n\n" if self.preimport else "")
387
388 has_external_import = False
389 imports = []
390 for frm, imps in self.imports.items():
391 imps = sorted(imps)
392 is_external_import = False
393 if frm is not None:
394 # NOTE: We do not currently translate 'from' imports to `lazy_import`.
395 imps = [f"{imp}" if imp_as is None else f"{imp} as {imp_as}" for imp, imp_as in imps]
396 imports.append(f"from {frm} import {', '.join(imps)}")
397 else:
398 # When `frm` is None, we want to treat each import separately.
399 # Translate external imports to use `mod.lazy_import()`.
400 for imp, imp_as in imps:
401 is_external_import = "polygraphy" not in imp
402 if is_external_import:
403 imp_as = imp_as or imp
404 imports.append(f"{imp_as} = mod.lazy_import({repr(imp)})")
405 else:
406 imports.append(f"import {imp}{'' if imp_as is None else f' as {imp_as}'}")
407 has_external_import |= is_external_import
408
409 if has_external_import:
410 script += "from polygraphy import mod" + "\n"
411 script += "\n".join(sorted(imports)) + "\n"
412
413 if self.data_loader:
414 script += "\n# Data Loader\n"
415 script += f"{Script.DATA_LOADER_NAME} = {self.data_loader}\n"
416 script += "\n"
417
418 if self.loaders:
419 script += "# Loaders\n"
420 for loader, loader_name in self.loaders.items():
421 script += f"{loader_name} = {loader}\n"
422 script += "\n"
423
424 if self.runners or self.always_create_runners:
425 script += "# Runners\n"
426 script += f"{self.get_runners()} = ["
427 for runner in self.runners:
428 script += f"\n{constants.TAB}{runner},"
429 if self.runners:
430 script += "\n"
431 script += "]\n"
432
433 script += "\n".join(self.suffix) + "\n"
434 script = script.replace("\n\n\n", "\n\n")
435
436 G_LOGGER.super_verbose(f"Created script:\n{script}")
437 return script

Callers

nothing calls this directly

Calls 4

get_runnersMethod · 0.95
super_verboseMethod · 0.80
itemsMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected