{"id":13442832,"url":"https://github.com/zetane/viewer","last_synced_at":"2025-05-16T06:07:34.079Z","repository":{"id":37732747,"uuid":"339780644","full_name":"zetane/viewer","owner":"zetane","description":"ML models and internal tensors 3D visualizer","archived":false,"fork":false,"pushed_at":"2022-08-08T06:59:50.000Z","size":97073,"stargazers_count":1424,"open_issues_count":16,"forks_count":143,"subscribers_count":15,"default_branch":"initial","last_synced_at":"2025-04-12T04:46:38.631Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zetane.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-02-17T16:12:05.000Z","updated_at":"2025-04-11T08:22:24.000Z","dependencies_parsed_at":"2022-07-14T04:50:31.972Z","dependency_job_id":null,"html_url":"https://github.com/zetane/viewer","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zetane%2Fviewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zetane%2Fviewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zetane%2Fviewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zetane%2Fviewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zetane","download_url":"https://codeload.github.com/zetane/viewer/tar.gz/refs/heads/initial","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254478193,"owners_count":22077676,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T03:01:51.845Z","updated_at":"2025-05-16T06:07:29.061Z","avatar_url":"https://github.com/zetane.png","language":"Python","funding_links":[],"categories":["Python","Visualization","A01_机器学习教程","Training"],"sub_categories":["Visualization"],"readme":"***\n\n\n\u003ca href=\"https://zetane.com\"\u003e\n\u003cimg src=\"screenshots/Zetane_logo_for_white_background.png\" alt=\"logo\" width=\"250\"/\u003e\n\u003c/a\u003e\n\u003cbr/\u003e\u003cbr/\u003e\n\n\nThe __free Zetane Viewer__ is a tool to help understand and accelerate discovery in machine learning and artificial neural networks. It can be used to open the AI black box by visualizing and understanding the model's architecture and internal data (feature maps, weights, biases and layers output tensors). It can be thought of as a tool to do neuroimaging or brain imaging for artificial neural networks and machine learning algorithms.\n\n You can also launch your own Zetane workspace directly from your existing scripts or notebooks via a few commands using the Zetane [Python API](https://docs.zetane.com).\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"screenshots/model_node.gif\" alt=\"nodes\" width=\"400\" height=\"600\"/\u003e\n\u003cimg src=\"screenshots/tensor_panel.gif\" alt=\"tensors\" width=\"400\" height=\"600\"/\u003e\n\u003c/p\u003e\n\n\n***\n\n# **Zetane Viewer**\n\n## Installation\nYou can install the __free__ Zetane viewer for Windows, Linux and Mac, and explore ZTN and ONNX files.\n\n[Download for Windows](https://download.zetane.com/zetane/Zetane-1.7.4.msi)\n\n[Download for Linux](https://download.zetane.com/zetane/Zetane-1.7.4.deb)\n\n[Download for Mac](https://download.zetane.com/zetane/Zetane-1.7.4.dmg)\n\n\n\n## Tutorial\nIn this [video](https://www.youtube.com/watch?v=J3Zd5GR_lQs\u0026feature=youtu.be), we will show you how to load a Zetane or ONNX model, navigate the model and view different tensors:\n\n[\u003cimg src=\"screenshots/zetane_viewer_tutorial.gif\" width=400\\\u003e](https://www.youtube.com/watch?v=J3Zd5GR_lQs\u0026feature=youtu.be)\n\n\nBelow is the step-by-step instruction of how to load and inspect a model in the Zetane viewer:\n- ### How to load a model\nThe viewer supports both .ONNX and .ZTN files. The ZTN files were generated from the Keras and Pytorch scripts shared in this Git repository. After launching the viewer, to load a Zetane model, simply click “Load Zetane Model” in the DATA I/O menu. To load an Onnx model, click on “Import ONNX Model” in the same menu. Below you can access the ZTN files for a few models to load. You can also access ONNX files from the [ONNX Model Zoo](https://github.com/onnx/models).\n\u003cbr/\u003e\u003cbr/\u003e\n\u003cimg src=\"screenshots/load.png\" alt=\"loading\"\u003e\n\nWhen a model is displayed in the Zetane engine, any components of the model can be accessed in a few clicks.\n\nAt the highest level, we have the model architecture which is composed of interconnected nodes and tensors. Each node represents an operator of the computational graph. Usually, an input tensor is passed to the model and as it goes through the nodes it will be transformed into intermediate tensors until we reach the output tensor of the model. In the Zetane engine, the data flows from left to right.\n\u003cbr/\u003e\u003cbr/\u003e\n\n\u003cimg src=\"screenshots/model_architecture.png\" alt=\"architecture\"\u003e\n\n- ### How to navigate\nYou may navigate the model viewer window by right clicking and dragging to explore the space and using the scroll wheel to zoom in and out. [Here](https://docs.zetane.com/interactions.html#) is the complete list of navigation instructions. You can change the behavior of the mouse wheel (either to zoom or to navigate) via the Mouse Zoom toggle in the top menu.\n\u003cbr\u003e\u003cbr/\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"screenshots/zoom.png\" alt=\"zoom\" /\u003e\n\u003c/p\u003e\n\n- ### Loading custom model inputs\nAfter loading a model you may want to send your own inputs to the model to inference. Zetane supports loading .npy, .npz, .png, .jpg, .pb (protobuf), .tiff, and .hdr files that match the input dimensions of the model. The Zetane engine will attempt to intelligently resize the file loaded (if possible) in order to send the data to the model. After loading and running the input, you will be able to explore in detail how your model interpreted the input data.\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"screenshots/pro_load_inputs.png\" alt=\"nodes\" height=\"600\"/\u003e\n\u003cimg src=\"screenshots/pro_load_inputs_run.png\" alt=\"tensors\" height=\"600\"/\u003e\n\u003cimg src=\"screenshots/pro_load_inputs_tensor.png\" alt=\"tensors\" height=\"600\"/\u003e\n\u003c/p\u003e\n\n- ### How to inspect different layers and feature maps\nFor each layer, you have the option to view all the feature maps and filters by clicking on the “Show Feature Maps” on each node. You may inspect the inputs and outputs and weights and biases using the tensor view bar.\n\u003cbr/\u003e\u003cbr/\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"screenshots/featuremap.png\" alt=\"featuremap\"  width=\"700\"/\u003e\n\u003c/p\u003e\n\n- ### Tensor view bar\nBy clicking on the associated button, you can visualize inputs, outputs, weights and biases (if applicable) for each individual layer. You can also investigate the shape, type, mean and standard deviation of each tensor.\n\u003cbr/\u003e\u003cbr/\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"screenshots/tensorview.png\" alt=\"tensorview\" width=\"700\"/\u003e\n\u003c/p\u003e\n\nStatistics about the tensor value and its distribution is given in the histogram in the top panel. You can also see the tensor name and shape. The tensor and its values is represented in the middle panel and the bottom section contains tensor visualization parameters and a refresh button which allow the user to refresh the tensor. This is useful when the input or the weights are changing in real-time.\n\u003cbr/\u003e\u003cbr/\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"screenshots/tensor_panel.png\" alt=\"tensorpanel\" width=\"500\"/\u003e\n\u003c/p\u003e\n\n- ### Styles of tensor visualization\nTensors can be inspected in different ways, including 3D view and 2D view with and without actual values.\n\u003cbr/\u003e\u003cbr/\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"screenshots/tensorview2.png\" alt=\"tensorview2\" width=\"700\"/\u003e\n \u003c/p\u003e\n\n\u003cbr/\u003e\u003cbr/\u003e\n\nTensor View | Screenshot\n:---: | :---:\nN-dimensional tensor projected in the 3D space | \u003cimg src=\"screenshots/tensor_viz_3d.png\" alt=\"tensor_viz_3d\" width=\"400\"/\u003e  \nN-dimensional tensor projected in the 2D space | \u003cimg src=\"screenshots/tensor_viz_2d.png\" alt=\"tensor_viz_2d\" width=\"400\"/\u003e\nTensor values and color representations of each value based on the gradient shown on the x-axis of the distribution histogram | \u003cimg src=\"screenshots/tensor_viz_color-values.png\" alt=\"tensor_viz_color-values\" width=\"400\"/\u003e\nTensor values__ | \u003cimg src=\"screenshots/tensor_viz_values.png\" alt=\"tensor_viz_values\" width=\"400\"/\u003e\nFeature maps view when the tensor has shape of dimension 3| \u003cimg src=\"screenshots/tensor_viz_feature_maps.png\" alt=\"tensor_viz_values\" width=\"400\"/\u003e\n\n\n# **Models**\nWe have generated a few ZTN models for inspecting their architecture and internal tensors in the viewer. We have also provided the code used to generate these models.\n## Image Classification\n- [Alexnet](models/README.md#alexnet)\n- [EfficientNet](models/README.md#efficientnet)\n- [Resnet50v2](models/README.md#resnet50v2)\n## Object Detection\n- [YoloV3](models/README.md#yolov3)\n- [SSD](models/README.md#ssd)\n## Image Segmentation\n- [Unet](models/README.md#unet)\n## Body, Face and Gesture Analysis\n- [Emotion_ferplus8](models/README.md#emotion_ferplus8)\n- [RFB_320](models/README.md#rfb_320)\n- [vgg_ilsvrc_16_age](models/README.md#vgg_ilsvrc_16_age)\n- [vgg_ilsvrc_16_gen](models/README.md#vgg_ilsvrc_16_gen)\n## Image Manipulation\n- [Super resolution](models/README.md#super-resolution)\n- [Style transfer](models/README.md#style-transfer)\n## XAI\n- [XAI for VGG16](models/README.md#xai-with-keras)\n- [XAI for Alexnet](models/README.md#xai-with-pytorch)\n## Classic Machine Learning\n- [Sklearn Iris](models/README.md#sklearn-iris)\n\n\n***\n\n## Installation\nInstall the Zetane Viewer [here](https://zetane.com/download).\n***\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzetane%2Fviewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzetane%2Fviewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzetane%2Fviewer/lists"}