Skip to content

Commit

Permalink
Deploy pytorch/ignite docs 680ac7f
Browse files Browse the repository at this point in the history
  • Loading branch information
vfdev-5 committed Sep 5, 2024
0 parents commit 4c253f8
Show file tree
Hide file tree
Showing 9,191 changed files with 3,647,591 additions and 0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
4 changes: 4 additions & 0 deletions .buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 1838c605da2cb67424bb480cda5d8b2b
tags: 645f666f9bcd5a90fca523b33c5a78b7
Binary file added .doctrees/contrib/engines.doctree
Binary file not shown.
Binary file added .doctrees/contrib/handlers.doctree
Binary file not shown.
Binary file added .doctrees/contrib/metrics.doctree
Binary file not shown.
Binary file added .doctrees/defaults.doctree
Binary file not shown.
Binary file added .doctrees/distributed.doctree
Binary file not shown.
Binary file added .doctrees/engine.doctree
Binary file not shown.
Binary file added .doctrees/environment.pickle
Binary file not shown.
Binary file added .doctrees/exceptions.doctree
Binary file not shown.
Binary file added .doctrees/generated/defaults.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/generated/ignite.metrics.Bleu.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/generated/ignite.metrics.FID.doctree
Binary file not shown.
Binary file added .doctrees/generated/ignite.metrics.Fbeta.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/generated/ignite.metrics.IoU.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/generated/ignite.metrics.Loss.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/generated/ignite.metrics.PSNR.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/generated/ignite.metrics.Rouge.doctree
Binary file not shown.
Binary file added .doctrees/generated/ignite.metrics.RougeL.doctree
Binary file not shown.
Binary file added .doctrees/generated/ignite.metrics.RougeN.doctree
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/generated/ignite.metrics.SSIM.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/generated/ignite.metrics.mIoU.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/handlers.doctree
Binary file not shown.
Binary file added .doctrees/index.doctree
Binary file not shown.
Binary file added .doctrees/metrics.doctree
Binary file not shown.
Binary file added .doctrees/utils.doctree
Binary file not shown.
Empty file added .nojekyll
Empty file.
Binary file added _images/concat_example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/concat_linear_exp_step_lr.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/cosine_annealing_example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/linear_cyclical_example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/lr_scheduler.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/piecewise_linear.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/reduce_lr_on_plateau_example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1,332 changes: 1,332 additions & 0 deletions _modules/ignite/contrib/engines/common.html

Large diffs are not rendered by default.

745 changes: 745 additions & 0 deletions _modules/ignite/contrib/engines/tbptt.html

Large diffs are not rendered by default.

979 changes: 979 additions & 0 deletions _modules/ignite/distributed/auto.html

Large diffs are not rendered by default.

970 changes: 970 additions & 0 deletions _modules/ignite/distributed/launcher.html

Large diffs are not rendered by default.

1,306 changes: 1,306 additions & 0 deletions _modules/ignite/distributed/utils.html

Large diffs are not rendered by default.

1,461 changes: 1,461 additions & 0 deletions _modules/ignite/engine.html

Large diffs are not rendered by default.

919 changes: 919 additions & 0 deletions _modules/ignite/engine/deterministic.html

Large diffs are not rendered by default.

1,903 changes: 1,903 additions & 0 deletions _modules/ignite/engine/engine.html

Large diffs are not rendered by default.

1,196 changes: 1,196 additions & 0 deletions _modules/ignite/engine/events.html

Large diffs are not rendered by default.

631 changes: 631 additions & 0 deletions _modules/ignite/exceptions.html

Large diffs are not rendered by default.

918 changes: 918 additions & 0 deletions _modules/ignite/handlers/base_logger.html

Large diffs are not rendered by default.

1,633 changes: 1,633 additions & 0 deletions _modules/ignite/handlers/checkpoint.html

Large diffs are not rendered by default.

1,615 changes: 1,615 additions & 0 deletions _modules/ignite/handlers/clearml_logger.html

Large diffs are not rendered by default.

729 changes: 729 additions & 0 deletions _modules/ignite/handlers/early_stopping.html

Large diffs are not rendered by default.

881 changes: 881 additions & 0 deletions _modules/ignite/handlers/ema_handler.html

Large diffs are not rendered by default.

879 changes: 879 additions & 0 deletions _modules/ignite/handlers/fbresearch_logger.html

Large diffs are not rendered by default.

1,171 changes: 1,171 additions & 0 deletions _modules/ignite/handlers/lr_finder.html

Large diffs are not rendered by default.

937 changes: 937 additions & 0 deletions _modules/ignite/handlers/mlflow_logger.html

Large diffs are not rendered by default.

1,330 changes: 1,330 additions & 0 deletions _modules/ignite/handlers/neptune_logger.html

Large diffs are not rendered by default.

2,370 changes: 2,370 additions & 0 deletions _modules/ignite/handlers/param_scheduler.html

Large diffs are not rendered by default.

930 changes: 930 additions & 0 deletions _modules/ignite/handlers/polyaxon_logger.html

Large diffs are not rendered by default.

1,175 changes: 1,175 additions & 0 deletions _modules/ignite/handlers/state_param_scheduler.html

Large diffs are not rendered by default.

695 changes: 695 additions & 0 deletions _modules/ignite/handlers/stores.html

Large diffs are not rendered by default.

1,300 changes: 1,300 additions & 0 deletions _modules/ignite/handlers/tensorboard_logger.html

Large diffs are not rendered by default.

677 changes: 677 additions & 0 deletions _modules/ignite/handlers/terminate_on_nan.html

Large diffs are not rendered by default.

669 changes: 669 additions & 0 deletions _modules/ignite/handlers/time_limit.html

Large diffs are not rendered by default.

1,413 changes: 1,413 additions & 0 deletions _modules/ignite/handlers/time_profilers.html

Large diffs are not rendered by default.

789 changes: 789 additions & 0 deletions _modules/ignite/handlers/timing.html

Large diffs are not rendered by default.

935 changes: 935 additions & 0 deletions _modules/ignite/handlers/tqdm_logger.html

Large diffs are not rendered by default.

648 changes: 648 additions & 0 deletions _modules/ignite/handlers/utils.html

Large diffs are not rendered by default.

1,181 changes: 1,181 additions & 0 deletions _modules/ignite/handlers/visdom_logger.html

Large diffs are not rendered by default.

979 changes: 979 additions & 0 deletions _modules/ignite/handlers/wandb_logger.html

Large diffs are not rendered by default.

951 changes: 951 additions & 0 deletions _modules/ignite/metrics/accumulation.html

Large diffs are not rendered by default.

889 changes: 889 additions & 0 deletions _modules/ignite/metrics/accuracy.html

Large diffs are not rendered by default.

712 changes: 712 additions & 0 deletions _modules/ignite/metrics/average_precision.html

Large diffs are not rendered by default.

771 changes: 771 additions & 0 deletions _modules/ignite/metrics/classification_report.html

Large diffs are not rendered by default.

717 changes: 717 additions & 0 deletions _modules/ignite/metrics/cohen_kappa.html

Large diffs are not rendered by default.

1,099 changes: 1,099 additions & 0 deletions _modules/ignite/metrics/confusion_matrix.html

Large diffs are not rendered by default.

730 changes: 730 additions & 0 deletions _modules/ignite/metrics/cosine_similarity.html

Large diffs are not rendered by default.

725 changes: 725 additions & 0 deletions _modules/ignite/metrics/entropy.html

Large diffs are not rendered by default.

797 changes: 797 additions & 0 deletions _modules/ignite/metrics/epoch_metric.html

Large diffs are not rendered by default.

799 changes: 799 additions & 0 deletions _modules/ignite/metrics/fbeta.html

Large diffs are not rendered by default.

721 changes: 721 additions & 0 deletions _modules/ignite/metrics/frequency.html

Large diffs are not rendered by default.

891 changes: 891 additions & 0 deletions _modules/ignite/metrics/gan/fid.html

Large diffs are not rendered by default.

761 changes: 761 additions & 0 deletions _modules/ignite/metrics/gan/inception_score.html

Large diffs are not rendered by default.

730 changes: 730 additions & 0 deletions _modules/ignite/metrics/gpu_info.html

Large diffs are not rendered by default.

730 changes: 730 additions & 0 deletions _modules/ignite/metrics/js_divergence.html

Large diffs are not rendered by default.

743 changes: 743 additions & 0 deletions _modules/ignite/metrics/kl_divergence.html

Large diffs are not rendered by default.

736 changes: 736 additions & 0 deletions _modules/ignite/metrics/loss.html

Large diffs are not rendered by default.

772 changes: 772 additions & 0 deletions _modules/ignite/metrics/maximum_mean_discrepancy.html

Large diffs are not rendered by default.

710 changes: 710 additions & 0 deletions _modules/ignite/metrics/mean_absolute_error.html

Large diffs are not rendered by default.

722 changes: 722 additions & 0 deletions _modules/ignite/metrics/mean_pairwise_distance.html

Large diffs are not rendered by default.

710 changes: 710 additions & 0 deletions _modules/ignite/metrics/mean_squared_error.html

Large diffs are not rendered by default.

1,503 changes: 1,503 additions & 0 deletions _modules/ignite/metrics/metric.html

Large diffs are not rendered by default.

678 changes: 678 additions & 0 deletions _modules/ignite/metrics/metric_group.html

Large diffs are not rendered by default.

811 changes: 811 additions & 0 deletions _modules/ignite/metrics/metrics_lambda.html

Large diffs are not rendered by default.

805 changes: 805 additions & 0 deletions _modules/ignite/metrics/multilabel_confusion_matrix.html

Large diffs are not rendered by default.

724 changes: 724 additions & 0 deletions _modules/ignite/metrics/mutual_information.html

Large diffs are not rendered by default.

909 changes: 909 additions & 0 deletions _modules/ignite/metrics/nlp/bleu.html

Large diffs are not rendered by default.

1,046 changes: 1,046 additions & 0 deletions _modules/ignite/metrics/nlp/rouge.html

Large diffs are not rendered by default.

1,055 changes: 1,055 additions & 0 deletions _modules/ignite/metrics/precision.html

Large diffs are not rendered by default.

751 changes: 751 additions & 0 deletions _modules/ignite/metrics/precision_recall_curve.html

Large diffs are not rendered by default.

759 changes: 759 additions & 0 deletions _modules/ignite/metrics/psnr.html

Large diffs are not rendered by default.

868 changes: 868 additions & 0 deletions _modules/ignite/metrics/recall.html

Large diffs are not rendered by default.

705 changes: 705 additions & 0 deletions _modules/ignite/metrics/regression/canberra_metric.html

Large diffs are not rendered by default.

706 changes: 706 additions & 0 deletions _modules/ignite/metrics/regression/fractional_absolute_error.html

Large diffs are not rendered by default.

704 changes: 704 additions & 0 deletions _modules/ignite/metrics/regression/fractional_bias.html

Large diffs are not rendered by default.

706 changes: 706 additions & 0 deletions _modules/ignite/metrics/regression/geometric_mean_absolute_error.html

Large diffs are not rendered by default.

Large diffs are not rendered by default.

701 changes: 701 additions & 0 deletions _modules/ignite/metrics/regression/manhattan_distance.html

Large diffs are not rendered by default.

703 changes: 703 additions & 0 deletions _modules/ignite/metrics/regression/maximum_absolute_error.html

Large diffs are not rendered by default.

708 changes: 708 additions & 0 deletions _modules/ignite/metrics/regression/mean_absolute_relative_error.html

Large diffs are not rendered by default.

701 changes: 701 additions & 0 deletions _modules/ignite/metrics/regression/mean_error.html

Large diffs are not rendered by default.

708 changes: 708 additions & 0 deletions _modules/ignite/metrics/regression/mean_normalized_bias.html

Large diffs are not rendered by default.

696 changes: 696 additions & 0 deletions _modules/ignite/metrics/regression/median_absolute_error.html

Large diffs are not rendered by default.

Large diffs are not rendered by default.

694 changes: 694 additions & 0 deletions _modules/ignite/metrics/regression/median_relative_absolute_error.html

Large diffs are not rendered by default.

747 changes: 747 additions & 0 deletions _modules/ignite/metrics/regression/pearson_correlation.html

Large diffs are not rendered by default.

706 changes: 706 additions & 0 deletions _modules/ignite/metrics/regression/r2_score.html

Large diffs are not rendered by default.

699 changes: 699 additions & 0 deletions _modules/ignite/metrics/regression/wave_hedges_distance.html

Large diffs are not rendered by default.

837 changes: 837 additions & 0 deletions _modules/ignite/metrics/roc_auc.html

Large diffs are not rendered by default.

694 changes: 694 additions & 0 deletions _modules/ignite/metrics/root_mean_squared_error.html

Large diffs are not rendered by default.

856 changes: 856 additions & 0 deletions _modules/ignite/metrics/running_average.html

Large diffs are not rendered by default.

848 changes: 848 additions & 0 deletions _modules/ignite/metrics/ssim.html

Large diffs are not rendered by default.

739 changes: 739 additions & 0 deletions _modules/ignite/metrics/top_k_categorical_accuracy.html

Large diffs are not rendered by default.

1,089 changes: 1,089 additions & 0 deletions _modules/ignite/utils.html

Large diffs are not rendered by default.

708 changes: 708 additions & 0 deletions _modules/index.html

Large diffs are not rendered by default.

32 changes: 32 additions & 0 deletions _sources/contrib/engines.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
ignite.contrib.engines
======================

Contribution module of engines and helper tools:

ignite.contrib.engines.tbptt

.. currentmodule:: ignite.contrib.engines.tbptt

.. autosummary::
:nosignatures:
:autolist:

ignite.contrib.engines.common

.. currentmodule:: ignite.contrib.engines.common

.. autosummary::
:nosignatures:
:autolist:

Truncated Backpropagation Throught Time
---------------------------------------

.. automodule:: ignite.contrib.engines.tbptt
:members:

Helper methods to setup trainer/evaluator
-----------------------------------------

.. automodule:: ignite.contrib.engines.common
:members:
32 changes: 32 additions & 0 deletions _sources/contrib/handlers.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
ignite.contrib.handlers
=======================

Contribution module of handlers


Parameter scheduler [deprecated]
--------------------------------

.. deprecated:: 0.4.4
Use :class:`~ignite.handlers.param_scheduler.ParamScheduler` instead, will be removed in version 0.6.0.

Was moved to :ref:`param-scheduler-label`.

LR finder [deprecated]
----------------------

.. deprecated:: 0.4.4
Use :class:`~ignite.handlers.lr_finder.FastaiLRFinder` instead, will be removed in version 0.6.0.

Time profilers [deprecated]
---------------------------

.. deprecated:: 0.4.6
Use :class:`~ignite.handlers.time_profilers.BasicTimeProfiler` instead, will be removed in version 0.6.0.
Use :class:`~ignite.handlers.time_profilers.HandlersTimeProfiler` instead, will be removed in version 0.6.0.

Loggers [deprecated]
--------------------

.. deprecated:: 0.5.0
Loggers moved to :ref:`Loggers`.
15 changes: 15 additions & 0 deletions _sources/contrib/metrics.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
ignite.contrib.metrics
=======================

Contrib module metrics [deprecated]
-----------------------------------

.. deprecated:: 0.5.0
All metrics moved to :ref:`Complete list of metrics`.


Regression metrics [deprecated]
--------------------------------

.. deprecated:: 0.5.0
All metrics moved to :ref:`Complete list of metrics`.
48 changes: 48 additions & 0 deletions _sources/defaults.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
:orphan:

.. toggle::

.. testcode:: default, 1, 2, 3, 4, 5

from collections import OrderedDict

import torch
from torch import nn, optim

from ignite.engine import *
from ignite.handlers import *
from ignite.metrics import *
from ignite.metrics.regression import *
from ignite.utils import *

# create default evaluator for doctests

def eval_step(engine, batch):
return batch

default_evaluator = Engine(eval_step)

# create default optimizer for doctests

param_tensor = torch.zeros([1], requires_grad=True)
default_optimizer = torch.optim.SGD([param_tensor], lr=0.1)

# create default trainer for doctests
# as handlers could be attached to the trainer,
# each test must define his own trainer using `.. testsetup:`

def get_default_trainer():

def train_step(engine, batch):
return batch

return Engine(train_step)

# create default model for doctests

default_model = nn.Sequential(OrderedDict([
('base', nn.Linear(4, 2)),
('fc', nn.Linear(2, 1))
]))

manual_seed(666)
117 changes: 117 additions & 0 deletions _sources/distributed.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
ignite.distributed
==================

Helper module to use distributed settings for multiple backends:

- backends from native torch distributed configuration: "nccl", "gloo", "mpi"

- XLA on TPUs via `pytorch/xla <https://github.com/pytorch/xla>`_

- using `Horovod framework <https://horovod.readthedocs.io/en/stable/>`_ as a backend


Distributed launcher and `auto` helpers
---------------------------------------

We provide a context manager to simplify the code of distributed configuration setup for all above supported backends.
In addition, methods like :meth:`~ignite.distributed.auto.auto_model`, :meth:`~ignite.distributed.auto.auto_optim` and
:meth:`~ignite.distributed.auto.auto_dataloader` helps to adapt in a transparent way provided model, optimizer and data
loaders to existing configuration:

.. code-block:: python
# main.py
import ignite.distributed as idist
def training(local_rank, config, **kwargs):
print(idist.get_rank(), ": run with config:", config, "- backend=", idist.backend())
train_loader = idist.auto_dataloader(dataset, batch_size=32, num_workers=12, shuffle=True, **kwargs)
# batch size, num_workers and sampler are automatically adapted to existing configuration
# ...
model = resnet50()
model = idist.auto_model(model)
# model is DDP or DP or just itself according to existing configuration
# ...
optimizer = optim.SGD(model.parameters(), lr=0.01)
optimizer = idist.auto_optim(optimizer)
# optimizer is itself, except XLA configuration and overrides `step()` method.
# User can safely call `optimizer.step()` (behind `xm.optimizer_step(optimizier)` is performed)
backend = "nccl" # torch native distributed configuration on multiple GPUs
# backend = "xla-tpu" # XLA TPUs distributed configuration
# backend = None # no distributed configuration
#
# dist_configs = {'nproc_per_node': 4} # Use specified distributed configuration if launch as python main.py
# dist_configs["start_method"] = "fork" # Add start_method as "fork" if using Jupyter Notebook
with idist.Parallel(backend=backend, **dist_configs) as parallel:
parallel.run(training, config, a=1, b=2)
Above code may be executed with `torch.distributed.launch`_ tool or by python and specifying distributed configuration
in the code. For more details, please, see :class:`~ignite.distributed.launcher.Parallel`,
:meth:`~ignite.distributed.auto.auto_model`, :meth:`~ignite.distributed.auto.auto_optim` and
:meth:`~ignite.distributed.auto.auto_dataloader`.

Complete example of CIFAR10 training can be found
`here <https://github.com/pytorch/ignite/tree/master/examples/cifar10>`_.


.. _torch.distributed.launch: https://pytorch.org/docs/stable/distributed.html#launch-utility


ignite.distributed.auto
-----------------------

.. currentmodule:: ignite.distributed.auto

.. autosummary::
:nosignatures:
:toctree: generated

DistributedProxySampler
auto_dataloader
auto_model
auto_optim

.. Note ::
In distributed configuration, methods :meth:`~ignite.distributed.auto.auto_model`, :meth:`~ignite.distributed.auto.auto_optim`
and :meth:`~ignite.distributed.auto.auto_dataloader` will have effect only when distributed group is initialized.
ignite.distributed.launcher
---------------------------

.. currentmodule:: ignite.distributed.launcher

.. autosummary::
:nosignatures:
:toctree: generated

Parallel

ignite.distributed.utils
------------------------

This module wraps common methods to fetch information about distributed configuration, initialize/finalize process
group or spawn multiple processes.

.. currentmodule:: ignite.distributed.utils

.. autosummary::
:nosignatures:
:autolist:

.. automodule:: ignite.distributed.utils
:members:

.. attribute:: has_native_dist_support

True if `torch.distributed` is available

.. attribute:: has_xla_support

True if `torch_xla` package is found
Loading

0 comments on commit 4c253f8

Please sign in to comment.