You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pytorch-image-models/docs/models/.templates/generate_readmes.py

65 lines
1.8 KiB

"""
Run this script to generate the model-index files in `models` from the templates in `.templates/models`.
"""
import argparse
from pathlib import Path
from jinja2 import Environment, FileSystemLoader
import modelindex
def generate_readmes(templates_path: Path, dest_path: Path):
"""Add the code snippet template to the readmes"""
readme_templates_path = templates_path / "models"
code_template_path = templates_path / "code_snippets.md"
env = Environment(
loader=FileSystemLoader([readme_templates_path, readme_templates_path.parent]),
)
for readme in readme_templates_path.iterdir():
if readme.suffix == ".md":
template = env.get_template(readme.name)
# get the first model_name for this model family
mi = modelindex.load(str(readme))
model_name = mi.models[0].name
full_content = template.render(model_name=model_name)
# generate full_readme
with open(dest_path / readme.name, "w") as f:
f.write(full_content)
def main():
parser = argparse.ArgumentParser(description="Model index generation config")
parser.add_argument(
"-t",
"--templates",
default=Path(__file__).parent / ".templates",
type=str,
help="Location of the markdown templates",
)
parser.add_argument(
"-d",
"--dest",
default=Path(__file__).parent / "models",
type=str,
help="Destination folder that contains the generated model-index files.",
)
args = parser.parse_args()
templates_path = Path(args.templates)
dest_readmes_path = Path(args.dest)
generate_readmes(
templates_path,
dest_readmes_path,
)
if __name__ == "__main__":
main()