Tensorboard for pytorch (and chainer, mxnet, numpy, ...)

Overview

tensorboardX

Build Status PyPI version Documentation Status Documentation Status

Write TensorBoard events with simple function call.

The current release (v2.3) is tested on anaconda3, with PyTorch 1.8.1 / torchvision 0.9.1 / tensorboard 2.5.0.

  • Support scalar, image, figure, histogram, audio, text, graph, onnx_graph, embedding, pr_curve, mesh, hyper-parameters and video summaries.

  • FAQ

Install

pip install tensorboardX

or build from source:

pip install 'git+https://github.com/lanpa/tensorboardX'

You can optionally install crc32c to speed up.

pip install crc32c

Starting from tensorboardX 2.1, You need to install soundfile for the add_audio() function (200x speedup).

pip install soundfile

Example

# demo.py

import torch
import torchvision.utils as vutils
import numpy as np
import torchvision.models as models
from torchvision import datasets
from tensorboardX import SummaryWriter

resnet18 = models.resnet18(False)
writer = SummaryWriter()
sample_rate = 44100
freqs = [262, 294, 330, 349, 392, 440, 440, 440, 440, 440, 440]

for n_iter in range(100):

    dummy_s1 = torch.rand(1)
    dummy_s2 = torch.rand(1)
    # data grouping by `slash`
    writer.add_scalar('data/scalar1', dummy_s1[0], n_iter)
    writer.add_scalar('data/scalar2', dummy_s2[0], n_iter)

    writer.add_scalars('data/scalar_group', {'xsinx': n_iter * np.sin(n_iter),
                                             'xcosx': n_iter * np.cos(n_iter),
                                             'arctanx': np.arctan(n_iter)}, n_iter)

    dummy_img = torch.rand(32, 3, 64, 64)  # output from network
    if n_iter % 10 == 0:
        x = vutils.make_grid(dummy_img, normalize=True, scale_each=True)
        writer.add_image('Image', x, n_iter)

        dummy_audio = torch.zeros(sample_rate * 2)
        for i in range(x.size(0)):
            # amplitude of sound should in [-1, 1]
            dummy_audio[i] = np.cos(freqs[n_iter // 10] * np.pi * float(i) / float(sample_rate))
        writer.add_audio('myAudio', dummy_audio, n_iter, sample_rate=sample_rate)

        writer.add_text('Text', 'text logged at step:' + str(n_iter), n_iter)

        for name, param in resnet18.named_parameters():
            writer.add_histogram(name, param.clone().cpu().data.numpy(), n_iter)

        # needs tensorboard 0.4RC or later
        writer.add_pr_curve('xoxo', np.random.randint(2, size=100), np.random.rand(100), n_iter)

dataset = datasets.MNIST('mnist', train=False, download=True)
images = dataset.test_data[:100].float()
label = dataset.test_labels[:100]

features = images.view(100, 784)
writer.add_embedding(features, metadata=label, label_img=images.unsqueeze(1))

# export scalar data to JSON for external processing
writer.export_scalars_to_json("./all_scalars.json")
writer.close()

Screenshots

Using TensorboardX with Comet

TensorboardX now supports logging directly to Comet. 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.

This works out of the box and just require an additional line of code. See a full code example in this Colab Notebook

Tweaks

To add more ticks for the slider (show more image history), check https://github.com/lanpa/tensorboardX/issues/44 or https://github.com/tensorflow/tensorboard/pull/1138

Reference

Issues
  • demo_graph.py error on pytorch 0.4.0

    demo_graph.py error on pytorch 0.4.0

    I tried running the demo_graph.py and got the following error.

    python demo_graph.py 
    Traceback (most recent call last):
      File "demo_graph.py", line 56, in <module>
        w.add_graph(model, (dummy_input, ))
      File "/home/dana/Desktop/tensorboard-pytorch/tensorboardX/writer.py", line 400, in add_graph
        self.file_writer.add_graph(graph(model, input_to_model, verbose))
      File "/home/dana/Desktop/tensorboard-pytorch/tensorboardX/graph.py", line 52, in graph
        trace, _ = torch.jit.trace(model, args)
    TypeError: 'function' object is not iterable
    

    The return of torch.jit.trace is this wrapper, from this commit

    I'm using the Python 3.6 on Ubuntu 16.04

    • torch==0.4.0 built from source
    • tensorboardX==1.1
    • tensorboard==1.6.0

    Edit: Updated my pytorch version

    onnx 
    opened by danakianfar 25
  • upsample_bilinear2d() got an unexpected keyword argument 'align_corners' (occurred when translating upsample_bilinear2d)

    upsample_bilinear2d() got an unexpected keyword argument 'align_corners' (occurred when translating upsample_bilinear2d)

    tensorboardX1.2 may not support upsample module in pytorch0.4

    File "/home/wanghongzhen/anaconda2/lib/python2.7/site-packages/tensorboardX/writer.py", line 422, in add_graph self.file_writer.add_graph(graph(model, input_to_model, verbose)) File "/home/wanghongzhen/anaconda2/lib/python2.7/site-packages/tensorboardX/graph.py", line 94, in graph torch.onnx._optimize_trace(trace, False) File "/home/wanghongzhen/anaconda2/lib/python2.7/site-packages/torch/onnx/init.py", line 30, in _optimize_trace trace.set_graph(utils._optimize_graph(trace.graph(), aten)) File "/home/wanghongzhen/anaconda2/lib/python2.7/site-packages/torch/onnx/utils.py", line 95, in _optimize_graph graph = torch._C._jit_pass_onnx(graph, aten) File "/home/wanghongzhen/anaconda2/lib/python2.7/site-packages/torch/onnx/init.py", line 40, in _run_symbolic_function return utils._run_symbolic_function(*args, **kwargs) File "/home/wanghongzhen/anaconda2/lib/python2.7/site-packages/torch/onnx/utils.py", line 368, in _run_symbolic_function return fn(g, *inputs, **attrs) TypeError: upsample_bilinear2d() got an unexpected keyword argument 'align_corners' (occurred when translating upsample_bilinear2d)

    onnx 
    opened by hongzhenwang 22
  • RuntimeError: Only tuples, lists and Variables supported as JIT inputs, but got numpy.ndarray

    RuntimeError: Only tuples, lists and Variables supported as JIT inputs, but got numpy.ndarray

    I am pretty sure that the inputs are lists. I am not sure whether I am using tensorboard rightly.

    for epoch in range(epochs):    
        batch_loss_list = []
        
        batch_list = seqHelper.gen_batch_list_of_lists(train_list,batch_size,(random_seed+epoch))
    
        #run through training minibatches
        for counter, train_batch in enumerate(batch_list):
            x_atom,x_bonds,x_atom_index,x_bond_index,x_mask,y_val = seqHelper.get_info_with_smiles_list(train_batch,\
                    smiles_to_measurement,smiles_to_atom_info,smiles_to_bond_info,\
                    smiles_to_atom_neighbors,smiles_to_bond_neighbors,smiles_to_atom_mask)
    
            atoms_prediction, mol_prediction = model(x_atom,x_bonds,x_atom_index,x_bond_index,x_mask)
            with SummaryWriter(comment='Fingerprint') as w:
                w.add_graph(model, (x_atom,x_bonds,x_atom_index,x_bond_index,x_mask))
    

    It returns:

    RuntimeError                              Traceback (most recent call last)
    <ipython-input-6-fd2c7c65a5f0> in <module>()
          1 with SummaryWriter(comment='Fingerprint') as w:
    ----> 2     w.add_graph(model, (x_atom,x_bonds,x_atom_index,x_bond_index,x_mask))
          3 
    
    ~/anaconda3/envs/deepchem/lib/python3.5/site-packages/tensorboardX/writer.py in add_graph(self, model, input_to_model, verbose)
        398                 print('add_graph() only supports PyTorch v0.2.')
        399                 return
    --> 400         self.file_writer.add_graph(graph(model, input_to_model, verbose))
        401 
        402     @staticmethod
    
    ~/anaconda3/envs/deepchem/lib/python3.5/site-packages/tensorboardX/graph.py in graph(model, args, verbose)
         50     if LooseVersion(torch.__version__) >= LooseVersion("0.4"):
         51         with torch.onnx.set_training(model, False):
    ---> 52             trace, _ = torch.jit.get_trace_graph(model, args)
         53         torch.onnx._optimize_trace(trace, False)
         54     else:
    
    ~/anaconda3/envs/deepchem/lib/python3.5/site-packages/torch/jit/__init__.py in get_trace_graph(f, args, kwargs, nderivs)
        251     if not isinstance(args, tuple):
        252         args = (args,)
    --> 253     return LegacyTracedModule(f, nderivs=nderivs)(*args, **kwargs)
        254 
        255 
    
    ~/anaconda3/envs/deepchem/lib/python3.5/site-packages/torch/nn/modules/module.py in __call__(self, *input, **kwargs)
        369             result = self._slow_forward(*input, **kwargs)
        370         else:
    --> 371             result = self.forward(*input, **kwargs)
        372         for hook in self._forward_hooks.values():
        373             hook_result = hook(self, input, result)
    
    ~/anaconda3/envs/deepchem/lib/python3.5/site-packages/torch/jit/__init__.py in forward(self, *args)
        277     def forward(self, *args):
        278         global _tracing
    --> 279         in_vars, in_desc = _flatten(args)
        280         # NOTE: use full state, because we need it for BatchNorm export
        281         # This differs from the compiler path, which doesn't support it at the moment.
    
    RuntimeError: Only tuples, lists and Variables supported as JIT inputs, but got numpy.ndarray\
    
    opened by xiongzhp 22
  • add_graph() show error 'torch._C.Value' object has no attribute 'uniqueName' with torch 1.2.0

    add_graph() show error 'torch._C.Value' object has no attribute 'uniqueName' with torch 1.2.0

    Describe the bug add_graph() with torch 1.2.0 will show error 'torch._C.Value' object has no attribute 'uniqueName' but work well with torch 1.1.0

    Minimal runnable code to reproduce the behavior

    from tensorboardX import SummaryWriter
    class LeNet(nn.Module):
        def __init__(self):
            super(LeNet, self).__init__()
            self.conv1 = nn.Sequential(     #input_size=(1*28*28)
                nn.Conv2d(1, 6, 5, 1, 2),
                nn.ReLU(),      #(6*28*28)
                nn.MaxPool2d(kernel_size=2, stride=2),  #output_size=(6*14*14)
            )
            self.conv2 = nn.Sequential(
                nn.Conv2d(6, 16, 5),
                nn.ReLU(),      #(16*10*10)
                nn.MaxPool2d(2, 2)  #output_size=(16*5*5)
            )
            self.fc1 = nn.Sequential(
                nn.Linear(16 * 5 * 5, 120),
                nn.ReLU()
            )
            self.fc2 = nn.Sequential(
                nn.Linear(120, 84),
                nn.ReLU()
            )
            self.fc3 = nn.Linear(84, 10)
    
        def forward(self, x):
            x = self.conv1(x)
            x = self.conv2(x)
            x = x.view(x.size()[0], -1)
            x = self.fc1(x)
            x = self.fc2(x)
            x = self.fc3(x)
            return x
    
    dummy_input = torch.rand(13, 1, 28, 28)
    model = LeNet()
    with SummaryWriter(comment='Net', log_dir='/output') as w:
        w.add_graph(model, (dummy_input, ))
    

    Expected behavior

    Screenshots

    Environment

    Python environment Python 3.6

    Additional context Add any other context about the problem here.

    opened by GinSoda 18
  • add_histgram : TypeError

    add_histgram : TypeError

    The code is add_histogram(name,data, niter) as examples. But it can not work. The error msg is File "/opt/pytorch/lib/python3.5/site-packages/tensorboardX/writer.py", line 305, in add_histogram self.file_writer.add_summary(histogram(tag, values, bins), global_step) File "/opt/pytorch/lib/python3.5/site-packages/tensorboardX/summary.py", line 113, in histogram hist = make_histogram(values.astype(float), bins) File "/opt/pytorch/lib/python3.5/site-packages/tensorboardX/summary.py", line 131, in make_histogram bucket=counts) TypeError: 0 has type numpy.int64, but expected one of: int, long, float

    opened by jyzhang-bjtu 17
  •  Not compatible with tensorflow 1.3?

    Not compatible with tensorflow 1.3?

    After I installed tensorflow 1.3 ,tensorboard can be used in terminal But after I installed tensorboard-pytorch, it can not work:

    Traceback (most recent call last):
      File "/usr/local/bin/tensorboard", line 7, in <module>
        from tensorboard.main import main
    ImportError: No module named 'tensorboard.main'
    
    opened by nsknsl 13
  • hyper parameters

    hyper parameters

    If it's possible, supporting the newly added hyper params feature would be amazing :)

    https://www.tensorflow.org/tensorboard/r2/hyperparameter_tuning_with_hparams

    enhancement 
    opened by YoelShoshan 12
  • [Feature Request] optionally remove an experiment

    [Feature Request] optionally remove an experiment

    Hey, thanks for the great work!

    It would be even better if there is an option to optionally remove a particular experiment like what we have in Crayon.

    from pycrayon import CrayonClient
    
    # Connect to the server
    cc = CrayonClient(hostname="server_machine_address")
    cc.remove_experiment(xp_name) # remove the 'xp_name' experiment
    

    Thanks!

    opened by chihyaoma 12
  • Graph Scope

    Graph Scope

    Hi, I'm a Pytorch beginner (previously working on th and tf) using your tensorboard-pytorch bridge to get some info during neural net training. It works like a charm for everything i've needed since now :). However i'm having some troubles with the graph visualization for some ConvNet and i've a few questions:

    • Is it possible to define scope for module? (i.e. if I'have a nested module can i give it a name to obtain a compress visualization of everything inside it?) ;
    • using the torch.cat() method i get some strange behaviours related to the order of the elements in the list of the first argument of cat() (see attached images, where the second one is correct for the code reported) .

    Btw great work :)

    def forward(self,i):
            # i stand as the input
            # conv_j is a module
            x = self.conv_0(i)
            x = self.conv_1(x)
            y = self.conv_r1(i)
            z = torch.cat((y,x),1)
            z = z.view(len(z),-1)
            z = self.fc1(z)
            z = F.relu(z)
            z = self.fc2(z)
            z = F.log_softmax(z)
            return z
    

    cat_2 cat_1

    bug enhancement 
    opened by lucabergamini 12
  • Projector makes browser to freeze

    Projector makes browser to freeze

    I am trying to run the demo example, but when changing to the projector tab, the browser freezes while trying to compute PCA.

    I am using Ubuntu 18.04, python 3.6, tensorflow-gpu 1.11, pytorch 4.1, any ideas on what might cause the problem?

    opened by vglsd 11
  • Tensorboard Embedding wrong images/labels

    Tensorboard Embedding wrong images/labels

    It's me again :) I'm running some embedding visualization on the MNIST dataset.

    My metadata.tsv

    0
    0
    0
    0
    0
    0
    0
    0
    1
    1
    1
    1
    1
    1
    1
    1
    2
    2
    2
    2
    2
    2
    2
    2
    3
    3
    3
    3
    3
    3
    3
    3
    4
    4
    4
    4
    4
    4
    4
    4
    5
    5
    5
    5
    5
    5
    5
    5
    6
    6
    6
    6
    6
    6
    6
    6
    7
    7
    7
    7
    7
    7
    7
    7
    8
    8
    8
    8
    8
    8
    8
    8
    9
    9
    9
    9
    9
    9
    9
    9
    

    My sprite.png sprite

    How can this possibly happen :) ? wrong_label

    I've checked the tensorboard doc and everything seems disposed as requested..

    opened by lucabergamini 11
  • "This site can’t be reached" issue when using --bind_all on Google Colab

    Hi, I used the following command on Google colab to generate a url, but the generated address cannot be reached. Thank you for your help! !tensorboard --bind_all --logdir runs

    opened by xue49 1
  • [for Pytorch users] Why should one use TensorboardX if torch.utils.tensorboard is available?

    [for Pytorch users] Why should one use TensorboardX if torch.utils.tensorboard is available?

    Hey guys, great work on developing this repo! It's quite popular and apparently trusted by many people given the number of stars.

    I have one important question. Why should one use TensorboardX instead of torch.utils.tensorboard? I see that TensorboardX is tested with pytorch 1.8.1, but right now pytorch 1.10.1 is already available.

    It's clear to me that this repo can be used with other DL frameworks which don't have tensorboard integration. That some code bases are already using TensorboardX. But when it comes to development of a new project in pytorch, would you use TensorboardX? If so then why exactly?

    Thanks!

    opened by taras-sereda 0
  • Bump numpy from 1.18 to 1.21.0

    Bump numpy from 1.18 to 1.21.0

    Bumps numpy from 1.18 to 1.21.0.

    Release notes

    Sourced from numpy's releases.

    v1.21.0

    NumPy 1.21.0 Release Notes

    The NumPy 1.21.0 release highlights are

    • continued SIMD work covering more functions and platforms,
    • initial work on the new dtype infrastructure and casting,
    • universal2 wheels for Python 3.8 and Python 3.9 on Mac,
    • improved documentation,
    • improved annotations,
    • new PCG64DXSM bitgenerator for random numbers.

    In addition there are the usual large number of bug fixes and other improvements.

    The Python versions supported for this release are 3.7-3.9. Official support for Python 3.10 will be added when it is released.

    :warning: Warning: there are unresolved problems compiling NumPy 1.21.0 with gcc-11.1 .

    • Optimization level -O3 results in many wrong warnings when running the tests.
    • On some hardware NumPy will hang in an infinite loop.

    New functions

    Add PCG64DXSM BitGenerator

    Uses of the PCG64 BitGenerator in a massively-parallel context have been shown to have statistical weaknesses that were not apparent at the first release in numpy 1.17. Most users will never observe this weakness and are safe to continue to use PCG64. We have introduced a new PCG64DXSM BitGenerator that will eventually become the new default BitGenerator implementation used by default_rng in future releases. PCG64DXSM solves the statistical weakness while preserving the performance and the features of PCG64.

    See upgrading-pcg64 for more details.

    (gh-18906)

    Expired deprecations

    • The shape argument numpy.unravel_index cannot be passed as dims keyword argument anymore. (Was deprecated in NumPy 1.16.)

    ... (truncated)

    Commits
    • b235f9e Merge pull request #19283 from charris/prepare-1.21.0-release
    • 34aebc2 MAINT: Update 1.21.0-notes.rst
    • 493b64b MAINT: Update 1.21.0-changelog.rst
    • 07d7e72 MAINT: Remove accidentally created directory.
    • 032fca5 Merge pull request #19280 from charris/backport-19277
    • 7d25b81 BUG: Fix refcount leak in ResultType
    • fa5754e BUG: Add missing DECREF in new path
    • 61127bb Merge pull request #19268 from charris/backport-19264
    • 143d45f Merge pull request #19269 from charris/backport-19228
    • d80e473 BUG: Removed typing for == and != in dtypes
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Expose add_scalar(ndarray)

    Expose add_scalar(ndarray)

    I'd like to log an entire array to tensorboard. This is supported by https://tensorboardx.readthedocs.io/en/latest/tensorboard.html#tensorboardX.SummaryWriter.add_scalar but is not exposed by tensorboardX. Can you please expose this functionality?

    The workaround of invoking add_scalars() multiple times in a for loop is so slow it is unusable. It takes minutes to plot data that should take milliseconds.

    opened by cowwoc 6
  • Multiple scalars in the same plot, without separate runs

    Multiple scalars in the same plot, without separate runs

    Is this possible in TensorboardX? I have only used Pytorch's SummaryWriter.

    Their solution is to use add_scalars but this creates multiple "runs" with different colors. Ideally these combined scalars would belong to a single run while still be viewed in the same plot/graph perhaps with the same color but different line thickness/dashing.

    I really like using Tensorboard but if someone knows a better package for my use-case, please let me know.

    opened by zimonitrome 0
Releases(v2.4)
  • v2.4(Jul 9, 2021)

  • v2.3(Jul 9, 2021)

  • v2.2(Apr 25, 2021)

  • v2.1(Jul 5, 2020)

  • v2.0(Jul 5, 2020)

    2.0 (2019-12-31)

    • Now you can tag Hparams trials with custom name instead of the default epoch time
    • Fixed a bug that add_hparams are rendered incorrectly with non-string values
    • Supports logging to Amazon S3 or Google Cloud Storage
    • Bug fixes and error message for add_embedding function
    • Draw openvino format with add_openvino_graph
    Source code(tar.gz)
    Source code(zip)
  • v1.9(Oct 9, 2019)

    • Use new JIT backend for pytorch. This works better with pytorch 1.2 and 1.3
    • Supports hparams plugin
    • add_embedding now supports numpy array input
    Source code(tar.gz)
    Source code(zip)
  • v1.8(Jul 4, 2019)

    1.8 (2019-07-05)

    • Draw label text on image with bounding box provided.
    • crc32c speed up (optional by installing crc32c manually)
    • Rewrite add_graph. onnx backend is replaced by JIT to support more advanced structure.
    • Now you can add_mesh() to visualize colorful point cloud or meshes.
    Source code(tar.gz)
    Source code(zip)
  • v1.7(May 20, 2019)

    • Able to write to S3
    • Fixed raw histogram issue that nothing is shown in TensorBoard
    • Users can use various image/video dimension permutation by passing 'dataformats' parameter.
    • You can bybass the writer by passing write_to_disk=True to SummaryWriter.
    • Fix bugs

    [update Jun.21 2019] important notice

    SummaryWriter's initializer's paremeter: log_dir was accidently changed to logdir. This makes some code not backward compatible. The unit tests doesn't cover that so It just got merged and be part of v1.7.

    Source code(tar.gz)
    Source code(zip)
  • v1.6(Apr 4, 2019)

    • Many graph related bug is fixed in this version.
    • New function: add_images(). This function accepts 4D iamge tensor. See documentation.
    • Make add_image_with_boxes() usable.
    • API change: add_video now accepts BxTxCxHxW instead of BxCxTxHxW tensor.
    Source code(tar.gz)
    Source code(zip)
  • v1.5(Apr 4, 2019)

    • Add API for Custom scalar
    • Add support for logging directly to S3
    • Add support for Caffe2 graph
    • Pytorch 1.0.0 JIT graph support (alpha-release)
    Source code(tar.gz)
    Source code(zip)
  • v1.2(Apr 28, 2018)

  • v1.0(Jan 18, 2018)

  • v0.9(Nov 10, 2017)

    Some important change since v0.6:

    • The package name is changed from tensorboard to tensorboardX to prevent from name collision with official tensorboard. (which leads to import error, ...etc) The name tensorboardX means tensorboard for X. I hope this package can be used by other DL frameworks such as mxnet, chainer as well. This is achieved by wrapping an make_np() call to function arguments. In fact, you can log experiment if you use tensorflow's eager mode.

    • Removes dependency for tensorflow and torchvision to make this package much neutral.

    • For other changes, see the commit log or HISTORY.rst

    Source code(tar.gz)
    Source code(zip)
  • v0.6(Jul 26, 2017)

MMdnn is a set of tools to help users inter-operate among different deep learning frameworks. E.g. model conversion and visualization. Convert models between Caffe, Keras, MXNet, Tensorflow, CNTK, PyTorch Onnx and CoreML.

MMdnn MMdnn is a comprehensive and cross-framework tool to convert, visualize and diagnose deep learning (DL) models. The "MM" stands for model manage

Microsoft 5.5k Apr 5, 2022
InsightFace: 2D and 3D Face Analysis Project on MXNet and PyTorch

InsightFace: 2D and 3D Face Analysis Project on MXNet and PyTorch

Deep Insight 11.5k Apr 2, 2022
Composable transformations of Python+NumPy programsComposable transformations of Python+NumPy programs

Chex Chex is a library of utilities for helping to write reliable JAX code. This includes utils to help: Instrument your code (e.g. assertions) Debug

DeepMind 392 Apr 4, 2022
MLP-Numpy - A simple modular implementation of Multi Layer Perceptron in pure Numpy.

MLP-Numpy A simple modular implementation of Multi Layer Perceptron in pure Numpy. I used the Iris dataset from scikit-learn library for the experimen

Soroush Omranpour 1 Jan 1, 2022
Simple, efficient and flexible vision toolbox for mxnet framework.

MXbox: Simple, efficient and flexible vision toolbox for mxnet framework. MXbox is a toolbox aiming to provide a general and simple interface for visi

Ligeng Zhu 31 Oct 19, 2019
Modular Probabilistic Programming on MXNet

MXFusion | | | | Tutorials | Documentation | Contribution Guide MXFusion is a modular deep probabilistic programming library. With MXFusion Modules yo

Amazon 99 Oct 13, 2021
MXNet implementation for: Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convolution

Octave Convolution MXNet implementation for: Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convolution Imag

Meta Research 542 Apr 5, 2022
Reproduce ResNet-v2(Identity Mappings in Deep Residual Networks) with MXNet

Reproduce ResNet-v2 using MXNet Requirements Install MXNet on a machine with CUDA GPU, and it's better also installed with cuDNN v5 Please fix the ran

Wei Wu 518 Mar 31, 2022
Devkit for 3D -- Some utils for 3D object detection based on Numpy and Pytorch

D3D Devkit for 3D: Some utils for 3D object detection and tracking based on Numpy and Pytorch Please consider siting my work if you find this library

Jacob Zhong 26 Jan 12, 2022
TensorFlow, PyTorch and Numpy layers for generating Orthogonal Polynomials

OrthNet TensorFlow, PyTorch and Numpy layers for generating multi-dimensional Orthogonal Polynomials 1. Installation 2. Usage 3. Polynomials 4. Base C

Chuan 29 Jan 10, 2022
Rewrite ultralytics/yolov5 v6.0 opencv inference code based on numpy, no need to rely on pytorch

Rewrite ultralytics/yolov5 v6.0 opencv inference code based on numpy, no need to rely on pytorch; pre-processing and post-processing using numpy instead of pytroch.

炼丹去了 11 Mar 7, 2022
Cupytorch - A small framework mimics PyTorch using CuPy or NumPy

CuPyTorch CuPyTorch是一个小型PyTorch,名字来源于: 不同于已有的几个使用NumPy实现PyTorch的开源项目,本项目通过CuPy支持

Xingkai Yu 19 Mar 9, 2022
A numpy-based implementation of RANSAC for fundamental matrix and homography estimation. The degeneracy updating and local optimization components are included and optional.

Description A numpy-based implementation of RANSAC for fundamental matrix and homography estimation. The degeneracy updating and local optimization co

AoxiangFan 5 Feb 21, 2022
Implements Stacked-RNN in numpy and torch with manual forward and backward functions

Recurrent Neural Networks Implements simple recurrent network and a stacked recurrent network in numpy and torch respectively. Both flavours implement

Vishal R 1 Nov 16, 2021
Implementing Graph Convolutional Networks and Information Retrieval Mechanisms using pure Python and NumPy

Implementing Graph Convolutional Networks and Information Retrieval Mechanisms using pure Python and NumPy

Noah Getz 1 Nov 20, 2021
Machine Learning From Scratch. Bare bones NumPy implementations of machine learning models and algorithms with a focus on accessibility. Aims to cover everything from linear regression to deep learning.

Machine Learning From Scratch About Python implementations of some of the fundamental Machine Learning models and algorithms from scratch. The purpose

Erik Linder-Norén 21k Apr 3, 2022
Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more

JAX: Autograd and XLA Quickstart | Transformations | Install guide | Neural net libraries | Change logs | Reference docs | Code search News: JAX tops

Google 17k Apr 6, 2022
Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more

JAX: Autograd and XLA Quickstart | Transformations | Install guide | Neural net libraries | Change logs | Reference docs | Code search News: JAX tops

Google 11.4k Feb 13, 2021
Deploy tensorflow graphs for fast evaluation and export to tensorflow-less environments running numpy.

Deploy tensorflow graphs for fast evaluation and export to tensorflow-less environments running numpy. Now with tensorflow 1.0 support. Evaluation usa

Marcel R. 347 Apr 1, 2022