| import os | |
| netron_extensions = set([ | |
| ".armnn", | |
| ".caffemodel", | |
| ".circle", | |
| ".ckpt", | |
| ".cmf", | |
| ".dlc", | |
| ".dnn", | |
| ".h5", | |
| ".har", | |
| ".hd5", | |
| ".hdf5", | |
| ".hn", | |
| ".keras", | |
| ".kmodel", | |
| ".lite", | |
| ".mar", | |
| ".meta", | |
| ".mge", | |
| ".mlmodel", | |
| ".mlnet", | |
| ".mlpackage", | |
| ".mnn", | |
| ".model", | |
| ".nb", | |
| ".ngf", | |
| ".nn", | |
| ".nnp", | |
| ".npy", | |
| ".npz", | |
| ".om", | |
| ".onnx", | |
| ".ort", | |
| ".paddle", | |
| ".param", | |
| ".pb", | |
| ".pbtxt", | |
| ".pdiparams", | |
| ".pdmodel", | |
| ".pdopt", | |
| ".pdparams", | |
| ".pkl", | |
| ".prototxt", | |
| ".pt", | |
| ".pth", | |
| ".ptl", | |
| ".rknn", | |
| ".safetensors", | |
| ".t7", | |
| ".tfl", | |
| ".tflite", | |
| ".tmfile", | |
| ".tm", | |
| ".tnnproto", | |
| ".torchscript", | |
| ".uff", | |
| ".xmodel", | |
| ]) | |
| def is_netron_file(file: str) -> bool: | |
| _, ext = os.path.splitext(file) | |
| if ext is None: | |
| return False | |
| return ext in netron_extensions | |
| def build_netron_iframe(url: str) -> str: | |
| return """ | |
| <iframe src="https://netron.app?url={url}" style="width:100%; height:70vh;"></iframe> | |
| """.format(url=url) |