{"id":13418470,"url":"https://github.com/lanpa/tensorboardX","last_synced_at":"2025-03-15T03:31:15.788Z","repository":{"id":38239275,"uuid":"94218531","full_name":"lanpa/tensorboardX","owner":"lanpa","description":"tensorboard for pytorch (and chainer, mxnet, numpy, ...)","archived":false,"fork":false,"pushed_at":"2024-09-03T22:18:55.000Z","size":5782,"stargazers_count":7868,"open_issues_count":83,"forks_count":864,"subscribers_count":84,"default_branch":"master","last_synced_at":"2024-10-29T10:58:46.064Z","etag":null,"topics":["machine-learning","numpy","pytorch","tensorboard","visualization"],"latest_commit_sha":null,"homepage":"https://tensorboardx.readthedocs.io/en/latest/tensorboard.html","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lanpa.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.rst","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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-06-13T13:54:19.000Z","updated_at":"2024-10-29T03:20:37.000Z","dependencies_parsed_at":"2023-02-13T23:30:55.787Z","dependency_job_id":"b082e746-2b27-480e-9cf5-26e50a162270","html_url":"https://github.com/lanpa/tensorboardX","commit_stats":{"total_commits":478,"total_committers":84,"mean_commits":5.690476190476191,"dds":0.299163179916318,"last_synced_commit":"ce08ab4ca1ebb0e8d09d140dbc1531f3923490a7"},"previous_names":["lanpa/tensorboard-pytorch"],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lanpa%2FtensorboardX","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lanpa%2FtensorboardX/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lanpa%2FtensorboardX/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lanpa%2FtensorboardX/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lanpa","download_url":"https://codeload.github.com/lanpa/tensorboardX/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243681024,"owners_count":20330152,"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":["machine-learning","numpy","pytorch","tensorboard","visualization"],"created_at":"2024-07-30T22:01:02.676Z","updated_at":"2025-03-15T03:31:15.781Z","avatar_url":"https://github.com/lanpa.png","language":"Python","funding_links":[],"categories":["Reporting","Python","Neural Networks (NN) and Deep Neural Networks (DNN)","Deep Learning Framework","其他_机器学习与深度学习","工作流程和实验跟踪","Industry Strength Visualisation"],"sub_categories":["NN/DNN Visualization and Explanation","High-Level DL APIs"],"readme":"# tensorboardX\n\n[![PyPI version](https://badge.fury.io/py/tensorboardX.svg)](https://badge.fury.io/py/tensorboardX)\n[![Documentation Status](https://readthedocs.org/projects/tensorboardx/badge/?version=latest)](https://tensorboardx.readthedocs.io/en/latest/?badge=latest)\n[![Coverage Status](https://codecov.io/gh/lanpa/tensorboardX/branch/master/graph/badge.svg)](https://codecov.io/gh/lanpa/tensorboardX/)\n\nWrite TensorBoard events with simple function call.\n\nThe current release (v2.6.2.2) is tested on anaconda3, with PyTorch 1.11.0 / torchvision 0.12 / tensorboard 2.9.0.\n\n* Support `scalar`, `image`, `figure`, `histogram`, `audio`, `text`, `graph`, `onnx_graph`, `embedding`, `pr_curve`, `mesh`, `hyper-parameters`\n  and `video` summaries.\n\n* [FAQ](https://github.com/lanpa/tensorboardX/wiki)\n\n\n## Install\n\n`pip install tensorboardX`\n\nor build from source:\n\n`pip install 'git+https://github.com/lanpa/tensorboardX'`\n\nYou can optionally install [`crc32c`](https://github.com/ICRAR/crc32c) to speed up.\n\n`pip install crc32c`\n\nStarting from tensorboardX 2.1, You need to install `soundfile` for the `add_audio()` function (200x speedup).\n\n`pip install soundfile`\n\n## Example\n\n* Clone the files in https://github.com/lanpa/tensorboardX/tree/master/examples\n* Run the demo script: e.g. `python examples/demo.py`\n* Start TensorBoard with `tensorboard --logdir runs`  \n\n\n```python\n# demo.py\n\nimport torch\nimport torchvision.utils as vutils\nimport numpy as np\nimport torchvision.models as models\nfrom torchvision import datasets\nfrom tensorboardX import SummaryWriter\n\nresnet18 = models.resnet18(False)\nwriter = SummaryWriter()\nsample_rate = 44100\nfreqs = [262, 294, 330, 349, 392, 440, 440, 440, 440, 440, 440]\n\nfor n_iter in range(100):\n\n    dummy_s1 = torch.rand(1)\n    dummy_s2 = torch.rand(1)\n    # data grouping by `slash`\n    writer.add_scalar('data/scalar1', dummy_s1[0], n_iter)\n    writer.add_scalar('data/scalar2', dummy_s2[0], n_iter)\n\n    writer.add_scalars('data/scalar_group', {'xsinx': n_iter * np.sin(n_iter),\n                                             'xcosx': n_iter * np.cos(n_iter),\n                                             'arctanx': np.arctan(n_iter)}, n_iter)\n\n    dummy_img = torch.rand(32, 3, 64, 64)  # output from network\n    if n_iter % 10 == 0:\n        x = vutils.make_grid(dummy_img, normalize=True, scale_each=True)\n        writer.add_image('Image', x, n_iter)\n\n        dummy_audio = torch.zeros(sample_rate * 2)\n        for i in range(x.size(0)):\n            # amplitude of sound should in [-1, 1]\n            dummy_audio[i] = np.cos(freqs[n_iter // 10] * np.pi * float(i) / float(sample_rate))\n        writer.add_audio('myAudio', dummy_audio, n_iter, sample_rate=sample_rate)\n\n        writer.add_text('Text', 'text logged at step:' + str(n_iter), n_iter)\n\n        for name, param in resnet18.named_parameters():\n            writer.add_histogram(name, param.clone().cpu().data.numpy(), n_iter)\n\n        # needs tensorboard 0.4RC or later\n        writer.add_pr_curve('xoxo', np.random.randint(2, size=100), np.random.rand(100), n_iter)\n\ndataset = datasets.MNIST('mnist', train=False, download=True)\nimages = dataset.test_data[:100].float()\nlabel = dataset.test_labels[:100]\n\nfeatures = images.view(100, 784)\nwriter.add_embedding(features, metadata=label, label_img=images.unsqueeze(1))\n\n# export scalar data to JSON for external processing\nwriter.export_scalars_to_json(\"./all_scalars.json\")\nwriter.close()\n```\n\n## Screenshots\n\n\u003cimg src=\"screenshots/Demo.gif\"\u003e\n\n## Using TensorboardX with Comet\n\nTensorboardX now supports logging directly to [Comet](https://www.comet.com/site/products/ml-experiment-tracking/?utm_source=tensorboardx\u0026utm_medium=partner\u0026utm_campaign=partner_tensorboardx_2023). Comet is a **free** cloud based solution that allows you to automatically track, compare and explain your experiments. It adds a lot of functionality on top of tensorboard such as dataset management, diffing experiments, seeing the code that generated the results and more.\n\nThis works out of the box and just require an additional line of code. See a full code example in this [Colab Notebook](https://colab.research.google.com/drive/1cTO3tgZ03nuJQ8kOjZhEiwbB-45tV4lm?usp=sharing)\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"screenshots/comet.gif\" width=\"750\" height=\"400\"\u003e\n\u003c/p\u003e\n\n## Tweaks\n\nTo add more ticks for the slider (show more image history), check https://github.com/lanpa/tensorboardX/issues/44 or \nhttps://github.com/tensorflow/tensorboard/pull/1138\n\n## Reference\n\n* [TeamHG-Memex/tensorboard_logger](https://github.com/TeamHG-Memex/tensorboard_logger)\n* [dmlc/tensorboard](https://github.com/dmlc/tensorboard)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flanpa%2FtensorboardX","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flanpa%2FtensorboardX","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flanpa%2FtensorboardX/lists"}