{"id":13737201,"url":"https://github.com/raynardj/torchember","last_synced_at":"2026-02-26T01:35:52.604Z","repository":{"id":40180234,"uuid":"239765353","full_name":"raynardj/torchember","owner":"raynardj","description":"PyTorch module tracking and visualization","archived":false,"fork":false,"pushed_at":"2023-04-12T00:19:08.000Z","size":5267,"stargazers_count":2,"open_issues_count":5,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-18T17:42:50.064Z","etag":null,"topics":["flask","module","pytorch","statistics","track","visualization"],"latest_commit_sha":null,"homepage":"https://raynardj.github.io/torchember/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raynardj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-02-11T13:13:34.000Z","updated_at":"2024-09-11T21:08:02.000Z","dependencies_parsed_at":"2024-01-11T13:20:18.118Z","dependency_job_id":null,"html_url":"https://github.com/raynardj/torchember","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raynardj%2Ftorchember","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raynardj%2Ftorchember/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raynardj%2Ftorchember/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raynardj%2Ftorchember/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raynardj","download_url":"https://codeload.github.com/raynardj/torchember/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236756752,"owners_count":19199894,"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":["flask","module","pytorch","statistics","track","visualization"],"created_at":"2024-08-03T03:01:37.386Z","updated_at":"2025-10-16T23:31:23.716Z","avatar_url":"https://github.com/raynardj.png","language":"Jupyter Notebook","funding_links":[],"categories":["Jupyter Notebook"],"sub_categories":[],"readme":"# Torch Ember\n\u003e Tracking and visualize after the burning pytorch\n\n\n![logo](nbs/logo1.png)\n## This framework tracks the pytorch model:\n\n* On ```nn.Module``` level\n* Down to the metrics/ features of all tensors, includes\n    * inputs/outputs of each module\n    * weight/grad tensors\n* By **minimal** extra coding\n* Besides WebUI, Visualization compatible with **notebook** environment\n\n## Other lovely features\n* Customizable metrics, with easy decorator syntax\n* Split the tracking log in the way you like, just ```mark(k=v,k1=v2...)```\n* You can easily switch on/off the tracking:\n    * Even cost of computation is tiny, torchember don't have to calculate metric for every iteration\n    * Hence, you can track eg. only the last steps, only each 200 steps .etc\n\n## Installation\n```pip install torchember```\n\n## Fast Tutorial\n\n* Instant colab tutorial here: \u003ca href=\"https://colab.research.google.com/github/raynardj/torchember/blob/master/nb_test/torchember_instant_tutorial.ipynb\" target=\"_parent\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/52feade06f2fecbf006889a904d221e6a730c194/68747470733a2f2f636f6c61622e72657365617263682e676f6f676c652e636f6d2f6173736574732f636f6c61622d62616467652e737667\" alt=\"Example In Colab\" data-canonical-src=\"https://colab.research.google.com/assets/colab-badge.svg\"\u003e\u003c/a\u003e\n\n![Jupyter notebooks widget pic](nbs/002.png)\n\n* Full [documentations](https://raynardj.github.io/torchember/)\n\n### WebUI intro Video\n* [video here](https://www.youtube.com/watch?v=2NbXDqcZKPY)\n\n![WebUI intro pic](nbs/001.png)\n\n### Step1, Track your model\n\nPlace you torch ember tracker on your model\n\n```python\nfrom torchember.core import torchEmber\nte = torchEmber(model)\n```\n\nThe above can track input and output of every module,The following can track status of every module\n\n```python\nfor i in range(1000):\n    ...\n    loss.backward()\n    optimizer.step()\n    \n    te.log_model()\n\n```\n\nTrain your model as usual\n\n### Step2 Plan A, visualize in notebook\nFor colab, kaggle kernels, there isn't an option to run another service, you can visualize the result in notebook.\n\nOf course the following is feasible in usual jupyter notebook.\n\n```python\nfrom torchember.visual import VisualByTensor\n\nvis = VisualByTensor()\n```\n*  This extra line of code is for colab\n```python\nvis.scatter_plot(vis.ember_sub_df)\n```\n\n### Step2 Plan B, Check the analysis on the WebUI\n\nRun the service from terminal\n```shell\n$ torchember\n```\nThe default port will be 8080\n\nOr assign a port\n```shell\n$ torchember --port=4200\n```\n\nVisit your analysis at ```http://[host]:[port]```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraynardj%2Ftorchember","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraynardj%2Ftorchember","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraynardj%2Ftorchember/lists"}