From aa89fa1f4c05d16cdd85aef9135948d0885252fe Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Thu, 4 Mar 2021 19:51:30 +0100 Subject: [PATCH 01/87] Refactor profilers --- pytorch_lightning/callbacks/progress.py | 3 +- pytorch_lightning/profiler/profilers.py | 148 ++++++------- pytorch_lightning/profiler/pytorch.py | 196 ++++++++---------- .../trainer/connectors/profiler_connector.py | 5 +- pytorch_lightning/trainer/training_loop.py | 2 +- tests/deprecated_api/test_remove_1-5.py | 6 + tests/test_profiler.py | 162 ++++++++++++++- tests/trainer/test_trainer.py | 109 ---------- 8 files changed, 322 insertions(+), 309 deletions(-) diff --git a/pytorch_lightning/callbacks/progress.py b/pytorch_lightning/callbacks/progress.py index 2f133eaccf512..9b960d2553390 100644 --- a/pytorch_lightning/callbacks/progress.py +++ b/pytorch_lightning/callbacks/progress.py @@ -39,8 +39,7 @@ class tqdm(_tqdm): """ - Custom tqdm progressbar where we append 0 to floating points/strings to - prevent the progress bar from flickering + Custom tqdm progressbar where we append 0 to floating points/strings to prevent the progress bar from flickering """ @staticmethod diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index 75bcda09e1af7..644aa0e6f6255 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -12,7 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. """Profiler to check if there are any bottlenecks in your code.""" - import cProfile import io import logging @@ -22,7 +21,7 @@ from abc import ABC, abstractmethod from collections import defaultdict from contextlib import contextmanager -from typing import Optional, Union +from typing import Optional import numpy as np @@ -31,22 +30,8 @@ log = logging.getLogger(__name__) -class BaseProfiler(ABC): - """ - If you wish to write a custom profiler, you should inhereit from this class. - """ - - def __init__(self, output_streams: Optional[Union[list, tuple]] = None): - """ - Args: - output_streams: callable - """ - if output_streams: - if not isinstance(output_streams, (list, tuple)): - output_streams = [output_streams] - else: - output_streams = [] - self.write_streams = output_streams +class AbstractProfiler(ABC): + """Specification of a profiler.""" @abstractmethod def start(self, action_name: str) -> None: @@ -56,6 +41,38 @@ def start(self, action_name: str) -> None: def stop(self, action_name: str) -> None: """Defines how to record the duration once an action is complete.""" + @abstractmethod + def summary(self) -> str: + """Create profiler summary in text format.""" + + +class BaseProfiler(AbstractProfiler, ABC): + """ + If you wish to write a custom profiler, you should inherit from this class. + """ + + def __init__(self, local_rank: Optional[int] = None, log_dir: Optional[str] = None) -> None: + self.output_fname = getattr(self, "output_fname", None) + # the profiler can be used outside of lightning + # that's why we call `on_train_start` manually + self.on_train_start(local_rank=local_rank, log_dir=log_dir) + + def on_train_start(self, local_rank: Optional[int] = None, log_dir: Optional[str] = None): + """ + This function is used by the Trainer to inject local_rank with `DDP` + and `TensorBoardLogger` log_dir in the profiler. + """ + self.local_rank = local_rank + self.log_dir = log_dir + self.prepare_file() + + def prepare_file(self) -> None: + self.output_file = None + if self.output_fname: + fs = get_filesystem(self.output_fname) + self.output_file = fs.open(self.output_fname, "w") + self.write_streams = [self.output_file.write] if self.output_file else [log.info] + @contextmanager def profile(self, action_name: str) -> None: """ @@ -91,13 +108,23 @@ def describe(self) -> None: """Logs a profile report after the conclusion of the training run.""" for write in self.write_streams: write(self.summary()) + if self.output_file: + self.output_file.flush() - @abstractmethod - def summary(self) -> str: - """Create profiler summary in text format.""" - - def on_train_start(self, local_rank: Optional[int] = None): - self.local_rank = local_rank + def stats_to_str(self, stats: dict) -> str: + output = ["Profiler Report"] + for action, value in stats.items(): + header = f"Profile stats for: {action}" + if getattr(self, "local_rank", None) is not None: + header += f" rank: {self.local_rank}" + output.append(header) + output.append(value) + return os.linesep.join(output) + + def __del__(self) -> None: + """Close profiler's stream.""" + if self.output_file: + self.output_file.close() class PassThroughProfiler(BaseProfiler): @@ -125,7 +152,7 @@ class SimpleProfiler(BaseProfiler): the mean duration of each action and the total time spent over the entire training run. """ - def __init__(self, output_filename: Optional[str] = None, extended=True): + def __init__(self, output_filename: Optional[str] = None, extended: bool = True): """ Args: output_filename: optionally save profile results to file instead of printing @@ -136,19 +163,12 @@ def __init__(self, output_filename: Optional[str] = None, extended=True): If you attempt to start an action which has already started, or if you attempt to stop recording an action which was never started. """ + self.output_fname = output_filename self.current_actions = {} self.recorded_durations = defaultdict(list) self.extended = extended - - self.output_fname = output_filename - self.output_file = None - if self.output_fname: - fs = get_filesystem(self.output_fname) - self.output_file = fs.open(self.output_fname, "w") - - streaming_out = [self.output_file.write] if self.output_file else [log.info] + super().__init__() self.start_time = time.monotonic() - super().__init__(output_streams=streaming_out) def start(self, action_name: str) -> None: if action_name in self.current_actions: @@ -170,7 +190,8 @@ def make_report(self): return report, total_duration def summary(self) -> str: - output_string = "\n\nProfiler Report\n" + sep = os.linesep + output_string = f"Profiler Report{sep}" if self.extended: @@ -178,16 +199,16 @@ def summary(self) -> str: max_key = np.max([len(k) for k in self.recorded_durations.keys()]) def log_row(action, mean, num_calls, total, per): - row = f"{os.linesep}{action:<{max_key}s}\t| {mean:<15}\t|" + row = f"{sep}{action:<{max_key}s}\t| {mean:<15}\t|" row += f"{num_calls:<15}\t| {total:<15}\t| {per:<15}\t|" return row output_string += log_row("Action", "Mean duration (s)", "Num calls", "Total time (s)", "Percentage %") output_string_len = len(output_string) - output_string += f"{os.linesep}{'-' * output_string_len}" + output_string += f"{sep}{'-' * output_string_len}" report, total_duration = self.make_report() output_string += log_row("Total", "-", "_", f"{total_duration:.5}", "100 %") - output_string += f"{os.linesep}{'-' * output_string_len}" + output_string += f"{sep}{'-' * output_string_len}" for action, durations, duration_per in report: output_string += log_row( action, @@ -199,27 +220,16 @@ def log_row(action, mean, num_calls, total, per): else: def log_row(action, mean, total): - return f"{os.linesep}{action:<20s}\t| {mean:<15}\t| {total:<15}" + return f"{sep}{action:<20s}\t| {mean:<15}\t| {total:<15}" output_string += log_row("Action", "Mean duration (s)", "Total time (s)") - output_string += f"{os.linesep}{'-' * 65}" + output_string += f"{sep}{'-' * 65}" for action, durations in self.recorded_durations.items(): output_string += log_row(action, f"{np.mean(durations):.5}", f"{np.sum(durations):.5}") - output_string += os.linesep + output_string += sep return output_string - def describe(self): - """Logs a profile report after the conclusion of the training run.""" - super().describe() - if self.output_file: - self.output_file.flush() - - def __del__(self): - """Close profiler's stream.""" - if self.output_file: - self.output_file.close() - class AdvancedProfiler(BaseProfiler): """ @@ -241,17 +251,10 @@ def __init__(self, output_filename: Optional[str] = None, line_count_restriction ValueError: If you attempt to stop recording an action which was never started. """ + self.output_fname = output_filename self.profiled_actions = {} self.line_count_restriction = line_count_restriction - - self.output_fname = output_filename - self.output_file = None - if self.output_fname: - fs = get_filesystem(self.output_fname) - self.output_file = fs.open(self.output_fname, "w") - - streaming_out = [self.output_file.write] if self.output_file else [log.info] - super().__init__(output_streams=streaming_out) + super().__init__() def start(self, action_name: str) -> None: if action_name not in self.profiled_actions: @@ -261,9 +264,7 @@ def start(self, action_name: str) -> None: def stop(self, action_name: str) -> None: pr = self.profiled_actions.get(action_name) if pr is None: - raise ValueError( # pragma: no-cover - f"Attempting to stop recording an action ({action_name}) which was never started." - ) + raise ValueError(f"Attempting to stop recording an action ({action_name}) which was never started.") pr.disable() def summary(self) -> str: @@ -273,21 +274,4 @@ def summary(self) -> str: ps = pstats.Stats(pr, stream=s).strip_dirs().sort_stats('cumulative') ps.print_stats(self.line_count_restriction) recorded_stats[action_name] = s.getvalue() - - # log to standard out - output_string = f"{os.linesep}Profiler Report{os.linesep}" - for action, stats in recorded_stats.items(): - output_string += f"{os.linesep}Profile stats for: {action}{os.linesep}{stats}" - - return output_string - - def describe(self): - """Logs a profile report after the conclusion of the training run.""" - super().describe() - if self.output_file: - self.output_file.flush() - - def __del__(self): - """Close profiler's stream.""" - if self.output_file: - self.output_file.close() + return self.stats_to_str(recorded_stats) diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index 4ccb88883260e..ed973501b3247 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -12,17 +12,16 @@ # See the License for the specific language governing permissions and # limitations under the License. """Profiler to check if there are any bottlenecks in your code.""" - import inspect import logging import os -from typing import List, Optional +from typing import Dict, List, Optional, Union import torch +from torch.autograd.profiler import EventList, FunctionEvent from pytorch_lightning.profiler.profilers import BaseProfiler from pytorch_lightning.utilities import rank_zero_only -from pytorch_lightning.utilities.cloud_io import get_filesystem from pytorch_lightning.utilities.distributed import rank_zero_warn from pytorch_lightning.utilities.exceptions import MisconfigurationException @@ -31,7 +30,7 @@ class PyTorchProfiler(BaseProfiler): - PROFILED_FUNCTIONS = ("training_step_and_backward", "validation_step", "test_step") + RECORD_FUNCTIONS = ("training_step_and_backward", "training_step", "backward", "validation_step", "test_step") AVAILABLE_SORT_KEYS = ( "cpu_time", "cuda_time", @@ -48,27 +47,26 @@ def __init__( self, output_filename: Optional[str] = None, enabled: bool = True, + use_cpu: bool = True, use_cuda: bool = False, record_shapes: bool = False, profile_memory: bool = False, group_by_input_shapes: bool = False, with_stack: bool = False, - use_kineto: bool = False, - use_cpu: bool = True, emit_nvtx: bool = False, export_to_chrome: bool = False, - path_to_export_trace: str = None, + path_to_export_trace: Optional[str] = None, row_limit: int = 20, sort_by_key: Optional[str] = None, - profiled_functions: Optional[List] = None, + record_functions: Optional[List[str]] = None, local_rank: Optional[int] = None, - ): + profiled_functions: Optional[List[str]] = None, + ) -> None: """ This profiler uses PyTorch's Autograd Profiler and lets you inspect the cost of different operators inside your model - both on the CPU and GPU Args: - output_filename: optionally save profile results to file instead of printing to std out when training is finished. When using ``ddp``, each rank will stream the profiled operation to their own file @@ -76,21 +74,18 @@ def __init__( enabled: Setting this to False makes this context manager a no-op. + use_cpu: record events on the CPU + use_cuda: Enables timing of CUDA events as well using the cudaEvent API. Adds approximately 4us of overhead to each tensor operation. record_shapes: If shapes recording is set, information about input dimensions will be collected. - profile_memory: Whether to report memory usage, default: True (Introduced in PyTorch 1.6.0) + profile_memory: Whether to report memory usage group_by_input_shapes: Include operator input shapes and group calls by shape. - with_stack: record source information (file and line number) for the ops (Introduced in PyTorch 1.7.0) - - use_kineto: experimental support for Kineto profiler (Introduced in PyTorch 1.8.0) - - use_cpu: use_kineto=True and can be used to lower the overhead - for GPU-only profiling (Introduced in PyTorch 1.8.0) + with_stack: record source information (file and line number) for the ops emit_nvtx: Context manager that makes every autograd operation emit an NVTX range Run:: @@ -102,18 +97,18 @@ def __init__( nvvp trace_name.prof torch.autograd.profiler.load_nvprof(path) - export_to_chrome: Wether to export the sequence of profiled operators for Chrome. + export_to_chrome: Whether to export the sequence of profiled operators for Chrome. It will generate a ``.json`` file which can be read by Chrome. path_to_export_trace: Directory path to export ``.json`` traces when using ``export_to_chrome=True``. By default, it will be save where the file being is being run. - row_limit: Limit the number of rows in a table, `0` is a special value that + row_limit: Limit the number of rows in a table, ``0`` is a special value that removes the limit completely. - sort_by_key: Keys to sort out profiled table + sort_by_key: Keys to sort out profiled table. - profiled_functions: list of profiled functions which will create a context manager on. + record_functions: list of profiled functions which will create a context manager on. Any other will be pass through. local_rank: When running in distributed setting, local_rank is used for each process @@ -126,91 +121,99 @@ def __init__( ValueError: If you attempt to stop recording an action which was never started. """ + if output_filename is not None and not output_filename.endswith(".txt"): + raise MisconfigurationException("`output_filename` should be a `.txt` file.") + + record_functions = self.__deprecation_check(profiled_functions, record_functions) - self.profiled_actions = {} + self.output_fname = output_filename self.enabled = enabled - self.profiled_functions = profiled_functions or self.PROFILED_FUNCTIONS + self.record_functions = record_functions or self.RECORD_FUNCTIONS + self.use_cpu = use_cpu self.use_cuda = use_cuda self.record_shapes = record_shapes self.profile_memory = profile_memory self.sort_by_key = sort_by_key or ("cuda_time_total" if self.use_cuda else "cpu_time_total") self.with_stack = with_stack self.group_by_input_shapes = group_by_input_shapes and record_shapes - self.use_kineto = use_kineto - self.use_cpu = use_cpu self.row_limit = row_limit self.emit_nvtx = emit_nvtx self.export_to_chrome = export_to_chrome self.path_to_export_trace = path_to_export_trace - if export_to_chrome and path_to_export_trace is None: + if self.export_to_chrome and self.path_to_export_trace is None: rank_zero_warn( - "The exported trace would be save locally as `path_to_export_trace` is empty." + "The exported trace would be saved locally as `path_to_export_trace` is None." " Note: Each functions will generate its own traced file." ) if self.sort_by_key not in self.AVAILABLE_SORT_KEYS: raise MisconfigurationException( - f"Found sort_by_key: {sort_by_key}. Should be within {self.AVAILABLE_SORT_KEYS}. " + f"Found sort_by_key: {self.sort_by_key}. Should be within {self.AVAILABLE_SORT_KEYS}. " ) - self.profiled_actions = {} + self.profiled_actions: Dict[str, Union[FunctionEvent, EventList]] = {} self.context_names = {} self.running_stack = [] self.profiler = None - self.output_fname = output_filename - self.output_file = None - if local_rank is not None: - self.on_train_start(local_rank=local_rank) - self.on_train_start = super().on_train_start - - def on_train_start(self, local_rank: Optional[str] = None): - self.local_rank = local_rank - - # when logging to `log.info`, only perform profiling on rank 0 - if local_rank != 0 and self.output_fname is None: - self.wrap_functions_into_rank_zero_only() + super().__init__(local_rank=local_rank) - if self.output_fname: - if local_rank is not None: - if '.txt' not in self.output_fname: - raise MisconfigurationException("Log file should be .txt file.") + def __deprecation_check(self, profiled_functions: Optional[List[str]], + record_functions: Optional[List[str]]) -> Optional[List[str]]: + if profiled_functions is not None: + rank_zero_warn( + "`PyTorchProfiler.profiled_functions` has been renamed to" + " `record_functions` in v1.3 and will be removed in v1.5", DeprecationWarning + ) + if record_functions is None: + record_functions = profiled_functions + else: + raise MisconfigurationException( + "You set `PytorchProfiler.profiled_functions` and `PyTorchProfiler.record_functions`." + " Please use only the later." + ) + return record_functions - self.output_fname = self.output_fname.replace(".txt", f"_{self.local_rank}.txt") + def on_train_start(self, local_rank: Optional[int] = None, log_dir: Optional[str] = None) -> None: + super().on_train_start(local_rank=local_rank, log_dir=log_dir) - fs = get_filesystem(self.output_fname) - self.output_file = fs.open(self.output_fname, "w") + # if the user didn't `path_to_export_trace`, + # set it as TensorBoardLogger log_dir if exists + if self.path_to_export_trace is None: + self.path_to_export_trace = log_dir - streaming_out = [self.output_file.write] if self.output_file else [log.info] - super().__init__(output_streams=streaming_out) + # when logging to `log.info`, only perform profiling on rank 0 + if local_rank is not None and local_rank > 0 and self.output_fname is None: + self._rank_zero_only_wrap() - def wrap_functions_into_rank_zero_only(self): + def _rank_zero_only_wrap(self) -> None: self.start = rank_zero_only(self.start) self.stop = rank_zero_only(self.stop) self.summary = rank_zero_only(self.summary) self.describe = rank_zero_only(self.describe) def start(self, action_name: str) -> None: - if action_name not in self.profiled_functions: + if action_name not in self.record_functions: return if len(self.running_stack) > 0: - self._stop(self.running_stack[-1]) + self._stop() + self.running_stack.append(action_name) self.context_names[action_name] = "/".join(self.running_stack) - self._start(action_name) + self._start() - def _start(self, action_name: str) -> None: + def _start(self) -> None: if self.emit_nvtx: - self._create_profiler(action_name, torch.cuda.profiler.profile, enter=False) - self._create_profiler(action_name, torch.autograd.profiler.emit_nvtx) + self._create_profiler(torch.cuda.profiler.profile, enter=False) + self._create_profiler(torch.autograd.profiler.emit_nvtx) else: - self._create_profiler(action_name, torch.autograd.profiler.profile) + self._create_profiler(torch.autograd.profiler.profile) - def _create_profiler(self, action_name, profiler, enter=True): + def _create_profiler(self, profiler, enter=True) -> None: init_args = inspect.signature(profiler.__init__).parameters profiler_args = {k: v for k, v in vars(self).items() if k in init_args} pr = profiler(**profiler_args) @@ -218,42 +221,41 @@ def _create_profiler(self, action_name, profiler, enter=True): pr = pr.__enter__() self.profiler = pr - def _stop(self, action_name: str) -> None: + def _stop(self) -> None: if self.profiler is None: return - self.profiler.__exit__(exc_type=None, exc_val=None, exc_tb=None) + self.profiler.__exit__(None, None, None) - function_events = self.profiler.function_events - self.profiler = None - for name in self.running_stack: - if name not in self.profiled_actions: - self.profiled_actions[name] = function_events - else: - self.profiled_actions[name] += function_events + events: EventList = self.profiler.function_events + if events is not None: + for name in self.running_stack: + if name not in self.profiled_actions: + self.profiled_actions[name] = events + else: + self.profiled_actions[name] += events def stop(self, action_name: str) -> None: - if action_name not in self.profiled_functions: + if action_name not in self.record_functions: return if len(self.running_stack) == 0 or self.running_stack[-1] != action_name: - raise ValueError( # pragma: no-cover - f"Attempting to stop recording an action ({action_name}) which was never started." - ) - self._stop(action_name) + raise ValueError(f"Attempting to stop recording an action ({action_name}) which was never started.") + + self._stop() + + self.profiler = None self.running_stack.pop() # restore running profiler if len(self.running_stack) > 0: - self._start(self.running_stack[-1]) + self._start() def summary(self) -> str: - recorded_stats = {} - output_string = '' - local_rank = '0' if self.local_rank is None else self.local_rank - - if not self.enabled: - return output_string + if not self.enabled or self.emit_nvtx: + return "" + local_rank = 0 if self.local_rank is None else self.local_rank + recorded_stats = {} for action_name, function_events in self.profiled_actions.items(): # next line is a workaround for a pytorch issue (fixed on master, still present @@ -263,32 +265,14 @@ def summary(self) -> str: if self.export_to_chrome: filename = f"{action_name}_{local_rank}_trace.json" - path_to_trace = filename if self.path_to_export_trace is None \ - else os.path.join(self.path_to_export_trace, filename) + path_to_trace = ( + filename + if self.path_to_export_trace is None else os.path.join(self.path_to_export_trace, filename) + ) function_events.export_chrome_trace(path_to_trace) - if self.emit_nvtx: - return output_string + data = function_events.key_averages(group_by_input_shapes=self.group_by_input_shapes) + table = data.table(sort_by=self.sort_by_key, row_limit=self.row_limit) + recorded_stats[action_name] = table - else: - data = function_events.key_averages(group_by_input_shapes=self.group_by_input_shapes) - table = data.table(sort_by=self.sort_by_key, row_limit=self.row_limit) - recorded_stats[action_name] = table - - # log to standard out - output_string = f"{os.linesep}Profiler Report{os.linesep}" - for action, stats in recorded_stats.items(): - output_string += (f"{os.linesep}Profile stats for: {action} rank: {local_rank} {os.linesep}{stats}") - - return output_string - - def describe(self): - """Logs a profile report after the conclusion of the training run.""" - super().describe() - if self.output_file: - self.output_file.flush() - - def __del__(self): - """Close profiler's stream.""" - if self.output_file: - self.output_file.close() + return self.stats_to_str(recorded_stats) diff --git a/pytorch_lightning/trainer/connectors/profiler_connector.py b/pytorch_lightning/trainer/connectors/profiler_connector.py index 98d65c1285ff7..7639926424090 100644 --- a/pytorch_lightning/trainer/connectors/profiler_connector.py +++ b/pytorch_lightning/trainer/connectors/profiler_connector.py @@ -55,5 +55,6 @@ def on_trainer_init(self, profiler: Union[BaseProfiler, str]): self.trainer.profiler = profiler or PassThroughProfiler() def on_train_start(self, trainer): - local_rank = trainer.local_rank if trainer.world_size > 1 else None - self.trainer.profiler.on_train_start(local_rank) + if not isinstance(trainer.profiler, PassThroughProfiler): + local_rank = trainer.local_rank if trainer.world_size > 1 else None + self.trainer.profiler.on_train_start(local_rank=local_rank, log_dir=self.trainer.log_dir) diff --git a/pytorch_lightning/trainer/training_loop.py b/pytorch_lightning/trainer/training_loop.py index 97814bb912fbe..39548b5ed64c5 100644 --- a/pytorch_lightning/trainer/training_loop.py +++ b/pytorch_lightning/trainer/training_loop.py @@ -749,7 +749,7 @@ def training_step_and_backward(self, split_batch, batch_idx, opt_idx, optimizer, # backward pass if result is not None: - with self.trainer.profiler.profile("model_backward"): + with self.trainer.profiler.profile("backward"): self.backward(result, optimizer, opt_idx) # hook - call this hook only diff --git a/tests/deprecated_api/test_remove_1-5.py b/tests/deprecated_api/test_remove_1-5.py index cb1d461414603..479db3a4ec6f9 100644 --- a/tests/deprecated_api/test_remove_1-5.py +++ b/tests/deprecated_api/test_remove_1-5.py @@ -19,6 +19,7 @@ from pytorch_lightning import Callback, Trainer from pytorch_lightning.loggers import WandbLogger +from pytorch_lightning.profiler import PyTorchProfiler from tests.helpers import BoringModel from tests.helpers.utils import no_warning_call @@ -68,3 +69,8 @@ def on_save_checkpoint(self, *args): trainer.callbacks = [NewSignature(), ValidSignature1(), ValidSignature2()] with no_warning_call(DeprecationWarning): trainer.save_checkpoint(filepath) + + +def test_v1_5_0_legacy_profiler_argument(): + with pytest.deprecated_call(match="renamed to `record_functions` in v1.3"): + PyTorchProfiler(profiled_functions=[]) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 667e153a9edd4..976d3ba9dafcc 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -14,12 +14,19 @@ import logging import os import time +from distutils.version import LooseVersion from pathlib import Path import numpy as np import pytest +import torch -from pytorch_lightning.profiler import AdvancedProfiler, SimpleProfiler +from pytorch_lightning import Trainer +from pytorch_lightning.loggers import TensorBoardLogger +from pytorch_lightning.profiler import AdvancedProfiler, PyTorchProfiler, SimpleProfiler +from pytorch_lightning.utilities.exceptions import MisconfigurationException +from tests.helpers import BoringModel +from tests.helpers.runif import RunIf PROFILER_OVERHEAD_MAX_TOLERANCE = 0.0005 @@ -44,12 +51,6 @@ def simple_profiler(): return profiler -@pytest.fixture -def advanced_profiler(tmpdir): - profiler = AdvancedProfiler(output_filename=os.path.join(tmpdir, "profiler.txt")) - return profiler - - @pytest.mark.parametrize(["action", "expected"], [ pytest.param("a", [3, 1]), pytest.param("b", [2]), @@ -116,6 +117,12 @@ def test_simple_profiler_value_errors(simple_profiler): simple_profiler.stop(action) +@pytest.fixture +def advanced_profiler(tmpdir): + profiler = AdvancedProfiler(output_filename=os.path.join(tmpdir, "profiler.txt")) + return profiler + + @pytest.mark.parametrize(["action", "expected"], [ pytest.param("a", [3, 1]), pytest.param("b", [2]), @@ -187,3 +194,144 @@ def test_advanced_profiler_value_errors(advanced_profiler): advanced_profiler.start(action) advanced_profiler.stop(action) + + +@pytest.fixture +def pytorch_profiler(tmpdir): + profiler = PyTorchProfiler(output_filename=os.path.join(tmpdir, "profiler.txt"), local_rank=0) + return profiler + + +def test_pytorch_profiler_describe(pytorch_profiler): + """Ensure the profiler won't fail when reporting the summary.""" + with pytorch_profiler.profile("test_step"): + pass + + # log to stdout and print to file + pytorch_profiler.describe() + data = Path(pytorch_profiler.output_fname).read_text() + assert len(data) > 0 + + +def test_pytorch_profiler_value_errors(pytorch_profiler): + """Ensure errors are raised where expected.""" + + action = "test_step" + with pytest.raises(ValueError): + pytorch_profiler.stop(action) + + pytorch_profiler.start(action) + pytorch_profiler.stop(action) + + with pytest.raises(MisconfigurationException, match="profiled_functions` and `PyTorchProfiler.record"): + PyTorchProfiler(profiled_functions=[], record_functions=[]) + + +@RunIf(min_gpus=2, special=True) +def test_pytorch_profiler_trainer_ddp(tmpdir): + """Ensure that the profiler can be given to the training and default step are properly recorded. """ + + output_filename = os.path.join(tmpdir, "profiler.txt") + + profiler = PyTorchProfiler(output_filename=output_filename) + + model = BoringModel() + trainer = Trainer( + max_epochs=1, + default_root_dir=tmpdir, + limit_train_batches=6, + limit_val_batches=6, + profiler=profiler, + accelerator="ddp", + gpus=2, + logger=TensorBoardLogger(tmpdir) + ) + trainer.fit(model) + + assert len(profiler.summary()) > 0 + profiler.describe() + data = Path(profiler.output_fname).read_text() + assert len(data) > 0 + + +@pytest.mark.parametrize("use_output_filename", [True]) +def test_pytorch_profiler_trainer(tmpdir, use_output_filename): + """Ensure that the profiler can be given to the training and default step are properly recorded. """ + + if use_output_filename: + output_filename = os.path.join(tmpdir, "profiler.txt") + else: + output_filename = None + + profiler = PyTorchProfiler(output_filename=output_filename) + + model = BoringModel() + trainer = Trainer( + default_root_dir=tmpdir, + max_epochs=1, + limit_train_batches=1, + limit_val_batches=1, + profiler=profiler, + ) + trainer.fit(model) + + enabled = use_output_filename or not use_output_filename and profiler.local_rank == 0 + + if enabled: + assert len(profiler.summary()) > 0 + expected = {'validation_step', 'training_step_and_backward', 'training_step', 'backward'} + assert set(profiler.profiled_actions.keys()) == expected + else: + assert profiler.summary() is None + assert set(profiler.profiled_actions.keys()) == set() + + if use_output_filename: + profiler.describe() + data = Path(profiler.output_fname).read_text() + assert len(data) > 0 + + +def test_pytorch_profiler_nested(tmpdir): + """Ensure that the profiler handles nested context""" + + pytorch_profiler = PyTorchProfiler( + record_functions=["a", "b", "c"], + use_cuda=torch.cuda.is_available(), + output_filename=os.path.join(tmpdir, "profiler.txt") + ) + + with pytorch_profiler.profile("a"): + a = torch.ones(42) + with pytorch_profiler.profile("b"): + b = torch.zeros(42) + with pytorch_profiler.profile("c"): + _ = a + b + + pa = pytorch_profiler.profiled_actions + + # From PyTorch 1.8.0, less operation are being traced. + if LooseVersion(torch.__version__) >= LooseVersion("1.8.0"): + expected_ = { + 'a': ['ones', 'empty', 'fill_', 'zeros', 'empty', 'zero_', 'add'], + 'b': ['zeros', 'empty', 'zero_'], + 'c': ['add'], + } + # From PyTorch 1.6.0, more operation are being traced. + elif LooseVersion(torch.__version__) >= LooseVersion("1.6.0"): + expected_ = { + 'a': ['ones', 'empty', 'fill_', 'zeros', 'empty', 'zero_', 'fill_', 'add', 'empty'], + 'b': ['zeros', 'empty', 'zero_', 'fill_'], + 'c': ['add', 'empty'], + } + else: + expected_ = { + 'a': ['add'], + 'b': [], + 'c': ['add'], + } + + for n in ('a', 'b', 'c'): + pa[n] = [e.name for e in pa[n]] + if LooseVersion(torch.__version__) >= LooseVersion("1.7.1"): + pa[n] = [e.replace("aten::", "") for e in pa[n]] + assert pa[n] == expected_[n] diff --git a/tests/trainer/test_trainer.py b/tests/trainer/test_trainer.py index 867afc5eab886..63143cbacb455 100644 --- a/tests/trainer/test_trainer.py +++ b/tests/trainer/test_trainer.py @@ -17,7 +17,6 @@ import sys from argparse import Namespace from copy import deepcopy -from distutils.version import LooseVersion from pathlib import Path from unittest.mock import ANY, call, patch @@ -43,12 +42,6 @@ from tests.helpers.runif import RunIf -@pytest.fixture -def pytorch_profiler(tmpdir): - profiler = PyTorchProfiler(output_filename=os.path.join(tmpdir, "profiler.txt"), local_rank=0) - return profiler - - @pytest.mark.parametrize("url_ckpt", [True, False]) def test_no_val_module(monkeypatch, tmpdir, tmpdir_server, url_ckpt): """Tests use case where trainer saves the model, and user loads it from tags independently.""" @@ -1448,108 +1441,6 @@ def test_trainer_predict_ddp_cpu(tmpdir): predict(tmpdir, "ddp_cpu", 0, 2) -def test_pytorch_profiler_describe(pytorch_profiler): - """Ensure the profiler won't fail when reporting the summary.""" - with pytorch_profiler.profile("test_step"): - pass - - # log to stdout and print to file - pytorch_profiler.describe() - data = Path(pytorch_profiler.output_fname).read_text() - assert len(data) > 0 - - -def test_pytorch_profiler_value_errors(pytorch_profiler): - """Ensure errors are raised where expected.""" - - action = "test_step" - with pytest.raises(ValueError): - pytorch_profiler.stop(action) - - pytorch_profiler.start(action) - pytorch_profiler.stop(action) - - -@RunIf(min_gpus=2, special=True) -@pytest.mark.parametrize("use_output_filename", [False, True]) -def test_pytorch_profiler_trainer_ddp(tmpdir, use_output_filename): - """Ensure that the profiler can be given to the training and default step are properly recorded. """ - - if use_output_filename: - output_filename = os.path.join(tmpdir, "profiler.txt") - else: - output_filename = None - - profiler = PyTorchProfiler(output_filename=output_filename) - - model = BoringModel() - trainer = Trainer( - fast_dev_run=True, - profiler=profiler, - accelerator="ddp", - gpus=2, - ) - trainer.fit(model) - - enabled = use_output_filename or not use_output_filename and profiler.local_rank == 0 - - if enabled: - assert len(profiler.summary()) > 0 - assert set(profiler.profiled_actions.keys()) == {'training_step_and_backward', 'validation_step'} - else: - assert profiler.summary() is None - assert set(profiler.profiled_actions.keys()) == set() - - if use_output_filename: - profiler.describe() - data = Path(profiler.output_fname).read_text() - assert len(data) > 0 - - -def test_pytorch_profiler_nested(tmpdir): - """Ensure that the profiler handles nested context""" - - pytorch_profiler = PyTorchProfiler( - profiled_functions=["a", "b", "c"], use_cuda=False, output_filename=os.path.join(tmpdir, "profiler.txt") - ) - - with pytorch_profiler.profile("a"): - a = torch.ones(42) - with pytorch_profiler.profile("b"): - b = torch.zeros(42) - with pytorch_profiler.profile("c"): - _ = a + b - - pa = pytorch_profiler.profiled_actions - - # From PyTorch 1.8.0, less operation are being traced. - if LooseVersion(torch.__version__) >= LooseVersion("1.8.0"): - expected_ = { - 'a': ['ones', 'empty', 'fill_', 'zeros', 'empty', 'zero_', 'add'], - 'b': ['zeros', 'empty', 'zero_'], - 'c': ['add'], - } - # From PyTorch 1.6.0, more operation are being traced. - elif LooseVersion(torch.__version__) >= LooseVersion("1.6.0"): - expected_ = { - 'a': ['ones', 'empty', 'fill_', 'zeros', 'empty', 'zero_', 'fill_', 'add', 'empty'], - 'b': ['zeros', 'empty', 'zero_', 'fill_'], - 'c': ['add', 'empty'], - } - else: - expected_ = { - 'a': ['add'], - 'b': [], - 'c': ['add'], - } - - for n in ('a', 'b', 'c'): - pa[n] = [e.name for e in pa[n]] - if LooseVersion(torch.__version__) >= LooseVersion("1.7.1"): - pa[n] = [e.replace("aten::", "") for e in pa[n]] - assert pa[n] == expected_[n] - - @pytest.mark.parametrize( ["limit_train_batches", "global_step", "num_training_batches", "current_epoch", "should_train"], [(0.2, 0, 0, 0, False), (0.5, 10, 2, 4, True)], From b66f1f64a25b3e17f258097d004205329573b5fc Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Fri, 5 Mar 2021 19:35:45 +0100 Subject: [PATCH 02/87] Update PassThrough --- pytorch_lightning/profiler/profilers.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index 644aa0e6f6255..fd4bcf8732932 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -132,10 +132,6 @@ class PassThroughProfiler(BaseProfiler): This class should be used when you don't want the (small) overhead of profiling. The Trainer uses this class by default. """ - - def __init__(self): - super().__init__(output_streams=None) - def start(self, action_name: str) -> None: pass From d388d80941eb4ebe65f694bf7aab60a58b47a95b Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Sat, 6 Mar 2021 14:42:05 +0100 Subject: [PATCH 03/87] WIP - This is broken and will change --- pytorch_lightning/profiler/pytorch.py | 190 +++++++++++++------------- tests/test_profiler.py | 16 +-- 2 files changed, 105 insertions(+), 101 deletions(-) diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index ed973501b3247..98ab37e02f915 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -15,10 +15,10 @@ import inspect import logging import os -from typing import Dict, List, Optional, Union +from typing import List, Optional, Union, Type, Any, Tuple, Dict import torch -from torch.autograd.profiler import EventList, FunctionEvent +from torch.autograd.profiler import record_function, EventList, parse_event_records from pytorch_lightning.profiler.profilers import BaseProfiler from pytorch_lightning.utilities import rank_zero_only @@ -27,6 +27,8 @@ log = logging.getLogger(__name__) +_PROFILER = Union[torch.autograd.profiler.profile, torch.cuda.profiler.profile, torch.autograd.profiler.emit_nvtx] + class PyTorchProfiler(BaseProfiler): @@ -46,13 +48,7 @@ class PyTorchProfiler(BaseProfiler): def __init__( self, output_filename: Optional[str] = None, - enabled: bool = True, - use_cpu: bool = True, - use_cuda: bool = False, - record_shapes: bool = False, - profile_memory: bool = False, group_by_input_shapes: bool = False, - with_stack: bool = False, emit_nvtx: bool = False, export_to_chrome: bool = False, path_to_export_trace: Optional[str] = None, @@ -61,6 +57,7 @@ def __init__( record_functions: Optional[List[str]] = None, local_rank: Optional[int] = None, profiled_functions: Optional[List[str]] = None, + **profiler_kwargs: Any, ) -> None: """ This profiler uses PyTorch's Autograd Profiler and lets you inspect the cost of @@ -72,21 +69,8 @@ def __init__( each rank will stream the profiled operation to their own file with the extension ``_{rank}.txt`` - enabled: Setting this to False makes this context manager a no-op. - - use_cpu: record events on the CPU - - use_cuda: Enables timing of CUDA events as well using the cudaEvent API. - Adds approximately 4us of overhead to each tensor operation. - - record_shapes: If shapes recording is set, information about input dimensions will be collected. - - profile_memory: Whether to report memory usage - group_by_input_shapes: Include operator input shapes and group calls by shape. - with_stack: record source information (file and line number) for the ops - emit_nvtx: Context manager that makes every autograd operation emit an NVTX range Run:: @@ -106,7 +90,11 @@ def __init__( row_limit: Limit the number of rows in a table, ``0`` is a special value that removes the limit completely. - sort_by_key: Keys to sort out profiled table. + sort_by_key: Attribute used to sort entries. By default + they are printed in the same order as they were registered. + Valid keys include: ``cpu_time``, ``cuda_time``, ``cpu_time_total``, + ``cuda_time_total``, ``cpu_memory_usage``, ``cuda_memory_usage``, + ``self_cpu_memory_usage``, ``self_cuda_memory_usage``, ``count``. record_functions: list of profiled functions which will create a context manager on. Any other will be pass through. @@ -114,6 +102,8 @@ def __init__( local_rank: When running in distributed setting, local_rank is used for each process to write to their own file if `output_fname` is provided. + profiler_kwargs: Keyword arguments for the PyTorch profiler. This depends on your PyTorch version + Raises: MisconfigurationException: If arg ``sort_by_key`` is not present in ``AVAILABLE_SORT_KEYS``, or @@ -127,19 +117,14 @@ def __init__( record_functions = self.__deprecation_check(profiled_functions, record_functions) self.output_fname = output_filename - self.enabled = enabled self.record_functions = record_functions or self.RECORD_FUNCTIONS - self.use_cpu = use_cpu - self.use_cuda = use_cuda - self.record_shapes = record_shapes - self.profile_memory = profile_memory - self.sort_by_key = sort_by_key or ("cuda_time_total" if self.use_cuda else "cpu_time_total") - self.with_stack = with_stack - self.group_by_input_shapes = group_by_input_shapes and record_shapes + self.sort_by_key = sort_by_key or f"{'cuda' if profiler_kwargs.get('use_cuda', False) else 'cpu'}_time_total" + self.group_by_input_shapes = group_by_input_shapes and profiler_kwargs.get("record_shapes", False) self.row_limit = row_limit self.emit_nvtx = emit_nvtx self.export_to_chrome = export_to_chrome self.path_to_export_trace = path_to_export_trace + self.profiler_kwargs = profiler_kwargs if self.export_to_chrome and self.path_to_export_trace is None: rank_zero_warn( @@ -152,15 +137,17 @@ def __init__( f"Found sort_by_key: {self.sort_by_key}. Should be within {self.AVAILABLE_SORT_KEYS}. " ) - self.profiled_actions: Dict[str, Union[FunctionEvent, EventList]] = {} - self.context_names = {} - self.running_stack = [] - self.profiler = None + self.stack: List[Tuple[str, record_function]] = [] + self.profiler: Optional[_PROFILER] = None + self.function_events: Dict[str, EventList] = {} super().__init__(local_rank=local_rank) - def __deprecation_check(self, profiled_functions: Optional[List[str]], - record_functions: Optional[List[str]]) -> Optional[List[str]]: + def __deprecation_check( + self, + profiled_functions: Optional[List[str]], + record_functions: Optional[List[str]] + ) -> Optional[List[str]]: if profiled_functions is not None: rank_zero_warn( "`PyTorchProfiler.profiled_functions` has been renamed to" @@ -197,82 +184,101 @@ def start(self, action_name: str) -> None: if action_name not in self.record_functions: return - if len(self.running_stack) > 0: - self._stop() - - self.running_stack.append(action_name) + if self.profiler is None: + self._create_profilers() - self.context_names[action_name] = "/".join(self.running_stack) + self.profiler.__enter__() + if self._parent_profiler is not None: + self._parent_profiler.__enter__() - self._start() + recording = record_function(action_name) + self.stack.append((action_name, recording)) + recording.__enter__() - def _start(self) -> None: + def _create_profilers(self) -> None: if self.emit_nvtx: - self._create_profiler(torch.cuda.profiler.profile, enter=False) - self._create_profiler(torch.autograd.profiler.emit_nvtx) + self._parent_profiler = self._create_profiler(torch.cuda.profiler.profile) + self.profiler = self._create_profiler(torch.autograd.profiler.emit_nvtx) else: - self._create_profiler(torch.autograd.profiler.profile) + self._parent_profiler = None + self.profiler = self._create_profiler(torch.autograd.profiler.profile) - def _create_profiler(self, profiler, enter=True) -> None: - init_args = inspect.signature(profiler.__init__).parameters - profiler_args = {k: v for k, v in vars(self).items() if k in init_args} - pr = profiler(**profiler_args) - if enter: - pr = pr.__enter__() - self.profiler = pr + def _create_profiler(self, profiler: Type[_PROFILER]) -> _PROFILER: + init_parameters = inspect.signature(profiler.__init__).parameters + kwargs = {k: v for k, v in self.profiler_kwargs.items() if k in init_parameters} + return profiler(**kwargs) - def _stop(self) -> None: - if self.profiler is None: + def stop(self, action_name: str) -> None: + if self.profiler is None or action_name not in self.record_functions: return - self.profiler.__exit__(None, None, None) + if not self.stack or self.stack[-1][0] != action_name: + raise ValueError(f"Attempting to stop recording an action ({action_name}) which was never started.") - events: EventList = self.profiler.function_events - if events is not None: - for name in self.running_stack: - if name not in self.profiled_actions: - self.profiled_actions[name] = events - else: - self.profiled_actions[name] += events + action_name, recording = self.stack.pop() + recording.__exit__(None, None, None) - def stop(self, action_name: str) -> None: - if action_name not in self.record_functions: - return + self.function_events[action_name] = self.thing() + self.profiler.function_events = None - if len(self.running_stack) == 0 or self.running_stack[-1] != action_name: - raise ValueError(f"Attempting to stop recording an action ({action_name}) which was never started.") + if not self.stack: + self.profiler.__exit__(None, None, None) + if self._parent_profiler is not None: + self._parent_profiler.__exit__(None, None, None) + + def thing(self): + """TODO: Adapted from ...""" + profiler = self.profiler + kind = torch.autograd.ProfilerState.CUDA if profiler.use_cuda else torch.autograd.ProfilerState.CPU + config = torch.autograd.ProfilerConfig( + kind, + profiler.record_shapes, + profiler.profile_memory, + profiler.with_stack + ) - self._stop() + records = torch.autograd._disable_profiler() - self.profiler = None - self.running_stack.pop() - # restore running profiler - if len(self.running_stack) > 0: - self._start() + function_events = EventList( + parse_event_records(records), + use_cuda=profiler.use_cuda, + profile_memory=profiler.profile_memory + ) + if profiler.with_stack: + function_events.set_backward_stacktraces() + + torch.autograd._enable_profiler(config) + + return function_events def summary(self) -> str: - if not self.enabled or self.emit_nvtx: + if not self.profiler_kwargs.get("enabled", True) or self.emit_nvtx: return "" local_rank = 0 if self.local_rank is None else self.local_rank recorded_stats = {} - for action_name, function_events in self.profiled_actions.items(): - - # next line is a workaround for a pytorch issue (fixed on master, still present - # on 1.7). Without it the code fails with `AssertionError: There is already a CPU - # parent event for detach` - function_events.populate_cpu_children = lambda: None - - if self.export_to_chrome: - filename = f"{action_name}_{local_rank}_trace.json" - path_to_trace = ( - filename - if self.path_to_export_trace is None else os.path.join(self.path_to_export_trace, filename) - ) - function_events.export_chrome_trace(path_to_trace) + function_events = self.profiler.function_events + + # next line is a workaround for a pytorch issue (fixed on master, still present + # on 1.7). Without it the code fails with `AssertionError: There is already a CPU + # parent event for detach` + function_events.populate_cpu_children = lambda: None + + if self.export_to_chrome: + filename = f"{function_events.name}_{local_rank}_trace.json" + path_to_trace = ( + filename + if self.path_to_export_trace is None else os.path.join(self.path_to_export_trace, filename) + ) + function_events.export_chrome_trace(path_to_trace) - data = function_events.key_averages(group_by_input_shapes=self.group_by_input_shapes) - table = data.table(sort_by=self.sort_by_key, row_limit=self.row_limit) - recorded_stats[action_name] = table + data = function_events.key_averages(group_by_input_shapes=self.group_by_input_shapes) + table = data.table(sort_by=self.sort_by_key, row_limit=self.row_limit) + recorded_stats[action_name] = table return self.stats_to_str(recorded_stats) + + def __del__(self) -> None: + super().__del__() + self.profiler.__exit__(None, None, None) + self._parent_profiler.__exit__(None, None, None) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 976d3ba9dafcc..51ea837055d0e 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -307,31 +307,29 @@ def test_pytorch_profiler_nested(tmpdir): with pytorch_profiler.profile("c"): _ = a + b - pa = pytorch_profiler.profiled_actions + actual = {k: [e.name for e in events] for k, events in pytorch_profiler.function_events.items()} + if LooseVersion(torch.__version__) >= LooseVersion("1.7.1"): + actual = {k: [e.replace("aten::", "") for e in events] for k, events in actual.items()} # From PyTorch 1.8.0, less operation are being traced. if LooseVersion(torch.__version__) >= LooseVersion("1.8.0"): - expected_ = { + expected = { 'a': ['ones', 'empty', 'fill_', 'zeros', 'empty', 'zero_', 'add'], 'b': ['zeros', 'empty', 'zero_'], 'c': ['add'], } # From PyTorch 1.6.0, more operation are being traced. elif LooseVersion(torch.__version__) >= LooseVersion("1.6.0"): - expected_ = { + expected = { 'a': ['ones', 'empty', 'fill_', 'zeros', 'empty', 'zero_', 'fill_', 'add', 'empty'], 'b': ['zeros', 'empty', 'zero_', 'fill_'], 'c': ['add', 'empty'], } else: - expected_ = { + expected = { 'a': ['add'], 'b': [], 'c': ['add'], } - for n in ('a', 'b', 'c'): - pa[n] = [e.name for e in pa[n]] - if LooseVersion(torch.__version__) >= LooseVersion("1.7.1"): - pa[n] = [e.replace("aten::", "") for e in pa[n]] - assert pa[n] == expected_[n] + assert actual == expected From 93aa073e44706a29261286f95ad57b25ee8d9345 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mochol=C3=AD?= Date: Tue, 9 Mar 2021 15:29:58 +0100 Subject: [PATCH 04/87] Update pytorch_lightning/profiler/pytorch.py Co-authored-by: thomas chaton --- pytorch_lightning/profiler/pytorch.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index 98ab37e02f915..a36b69579d122 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -165,7 +165,7 @@ def __deprecation_check( def on_train_start(self, local_rank: Optional[int] = None, log_dir: Optional[str] = None) -> None: super().on_train_start(local_rank=local_rank, log_dir=log_dir) - # if the user didn't `path_to_export_trace`, + # if the user didn't provide `path_to_export_trace`, # set it as TensorBoardLogger log_dir if exists if self.path_to_export_trace is None: self.path_to_export_trace = log_dir From 0f8b6ef1d7d071dff14dfb5670e3bccb0cb0438e Mon Sep 17 00:00:00 2001 From: tchaton Date: Thu, 18 Mar 2021 19:45:54 +0000 Subject: [PATCH 05/87] resolve tests --- pytorch_lightning/profiler/pytorch.py | 138 ++++++++------------- pytorch_lightning/trainer/training_loop.py | 2 + pytorch_lightning/utilities/imports.py | 1 + tests/callbacks/test_pruning.py | 4 +- tests/test_profiler.py | 50 +++----- 5 files changed, 79 insertions(+), 116 deletions(-) diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index a36b69579d122..11fcb00441892 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -15,10 +15,10 @@ import inspect import logging import os -from typing import List, Optional, Union, Type, Any, Tuple, Dict +from typing import Any, Dict, List, Optional, Type, Union import torch -from torch.autograd.profiler import record_function, EventList, parse_event_records +from torch.autograd.profiler import EventList, record_function from pytorch_lightning.profiler.profilers import BaseProfiler from pytorch_lightning.utilities import rank_zero_only @@ -44,6 +44,7 @@ class PyTorchProfiler(BaseProfiler): "self_cuda_memory_usage", "count", ) + ACTION_NAME_START = "on_fit_start" def __init__( self, @@ -54,9 +55,9 @@ def __init__( path_to_export_trace: Optional[str] = None, row_limit: int = 20, sort_by_key: Optional[str] = None, - record_functions: Optional[List[str]] = None, + record_functions: List[str] = [], local_rank: Optional[int] = None, - profiled_functions: Optional[List[str]] = None, + profiled_functions: List[str] = [], **profiler_kwargs: Any, ) -> None: """ @@ -117,7 +118,7 @@ def __init__( record_functions = self.__deprecation_check(profiled_functions, record_functions) self.output_fname = output_filename - self.record_functions = record_functions or self.RECORD_FUNCTIONS + self.record_functions = record_functions + list(self.RECORD_FUNCTIONS) self.sort_by_key = sort_by_key or f"{'cuda' if profiler_kwargs.get('use_cuda', False) else 'cpu'}_time_total" self.group_by_input_shapes = group_by_input_shapes and profiler_kwargs.get("record_shapes", False) self.row_limit = row_limit @@ -137,24 +138,21 @@ def __init__( f"Found sort_by_key: {self.sort_by_key}. Should be within {self.AVAILABLE_SORT_KEYS}. " ) - self.stack: List[Tuple[str, record_function]] = [] + self.recording_map: Dict[str, record_function] = {} self.profiler: Optional[_PROFILER] = None - self.function_events: Dict[str, EventList] = {} + self.function_events: Optional[EventList] = None + self._profiler_instantiated: bool = False super().__init__(local_rank=local_rank) - def __deprecation_check( - self, - profiled_functions: Optional[List[str]], - record_functions: Optional[List[str]] - ) -> Optional[List[str]]: + def __deprecation_check(self, profiled_functions: List[str] = [], record_functions: List[str] = []) -> List[str]: if profiled_functions is not None: rank_zero_warn( "`PyTorchProfiler.profiled_functions` has been renamed to" " `record_functions` in v1.3 and will be removed in v1.5", DeprecationWarning ) - if record_functions is None: - record_functions = profiled_functions + if (len(record_functions) == 0 or len(profiled_functions) == 0): + record_functions += profiled_functions else: raise MisconfigurationException( "You set `PytorchProfiler.profiled_functions` and `PyTorchProfiler.record_functions`." @@ -181,75 +179,27 @@ def _rank_zero_only_wrap(self) -> None: self.describe = rank_zero_only(self.describe) def start(self, action_name: str) -> None: - if action_name not in self.record_functions: - return + if not self._profiler_instantiated: - if self.profiler is None: self._create_profilers() self.profiler.__enter__() if self._parent_profiler is not None: self._parent_profiler.__enter__() - recording = record_function(action_name) - self.stack.append((action_name, recording)) - recording.__enter__() + self._profiler_instantiated = True - def _create_profilers(self) -> None: - if self.emit_nvtx: - self._parent_profiler = self._create_profiler(torch.cuda.profiler.profile) - self.profiler = self._create_profiler(torch.autograd.profiler.emit_nvtx) - else: - self._parent_profiler = None - self.profiler = self._create_profiler(torch.autograd.profiler.profile) - - def _create_profiler(self, profiler: Type[_PROFILER]) -> _PROFILER: - init_parameters = inspect.signature(profiler.__init__).parameters - kwargs = {k: v for k, v in self.profiler_kwargs.items() if k in init_parameters} - return profiler(**kwargs) + if ( + action_name in self.record_functions and action_name != self.ACTION_NAME_START + and action_name not in self.recording_map + ): + recording = record_function(action_name) + recording.__enter__() + self.recording_map[action_name] = recording def stop(self, action_name: str) -> None: - if self.profiler is None or action_name not in self.record_functions: - return - - if not self.stack or self.stack[-1][0] != action_name: - raise ValueError(f"Attempting to stop recording an action ({action_name}) which was never started.") - - action_name, recording = self.stack.pop() - recording.__exit__(None, None, None) - - self.function_events[action_name] = self.thing() - self.profiler.function_events = None - - if not self.stack: - self.profiler.__exit__(None, None, None) - if self._parent_profiler is not None: - self._parent_profiler.__exit__(None, None, None) - - def thing(self): - """TODO: Adapted from ...""" - profiler = self.profiler - kind = torch.autograd.ProfilerState.CUDA if profiler.use_cuda else torch.autograd.ProfilerState.CPU - config = torch.autograd.ProfilerConfig( - kind, - profiler.record_shapes, - profiler.profile_memory, - profiler.with_stack - ) - - records = torch.autograd._disable_profiler() - - function_events = EventList( - parse_event_records(records), - use_cuda=profiler.use_cuda, - profile_memory=profiler.profile_memory - ) - if profiler.with_stack: - function_events.set_backward_stacktraces() - - torch.autograd._enable_profiler(config) - - return function_events + if action_name in self.recording_map: + self.recording_map[action_name].__exit__(None, None, None) def summary(self) -> str: if not self.profiler_kwargs.get("enabled", True) or self.emit_nvtx: @@ -257,28 +207,48 @@ def summary(self) -> str: local_rank = 0 if self.local_rank is None else self.local_rank recorded_stats = {} - function_events = self.profiler.function_events + self.profiler.__exit__(None, None, None) + self.function_events = self.profiler.function_events + if self._parent_profiler is not None: + self._parent_profiler.__exit__(None, None, None) + self._parent_profiler = None + self.function_events = self.profiler.function_events + self.profiler = None # next line is a workaround for a pytorch issue (fixed on master, still present # on 1.7). Without it the code fails with `AssertionError: There is already a CPU # parent event for detach` - function_events.populate_cpu_children = lambda: None + self.function_events.populate_cpu_children = lambda: None if self.export_to_chrome: - filename = f"{function_events.name}_{local_rank}_trace.json" + filename = f"{self.function_events.name}_{local_rank}_trace.json" path_to_trace = ( - filename - if self.path_to_export_trace is None else os.path.join(self.path_to_export_trace, filename) + filename if self.path_to_export_trace is None else os.path.join(self.path_to_export_trace, filename) ) - function_events.export_chrome_trace(path_to_trace) + self.function_events.export_chrome_trace(path_to_trace) - data = function_events.key_averages(group_by_input_shapes=self.group_by_input_shapes) + data = self.function_events.key_averages(group_by_input_shapes=self.group_by_input_shapes) table = data.table(sort_by=self.sort_by_key, row_limit=self.row_limit) - recorded_stats[action_name] = table + recorded_stats["records"] = table return self.stats_to_str(recorded_stats) - def __del__(self) -> None: + def _create_profilers(self) -> None: + if self.emit_nvtx: + self._parent_profiler = self._create_profiler(torch.cuda.profiler.profile) + self.profiler = self._create_profiler(torch.autograd.profiler.emit_nvtx) + else: + self._parent_profiler = None + self.profiler = self._create_profiler(torch.autograd.profiler.profile) + + def _create_profiler(self, profiler: Type[_PROFILER]) -> _PROFILER: + init_parameters = inspect.signature(profiler.__init__).parameters + kwargs = {k: v for k, v in self.profiler_kwargs.items() if k in init_parameters} + return profiler(**kwargs) + + def __del__(self): + if self.profiler is not None: + self.profiler.__exit__(None, None, None) + if self._parent_profiler is not None: + self._parent_profiler.__exit__(None, None, None) super().__del__() - self.profiler.__exit__(None, None, None) - self._parent_profiler.__exit__(None, None, None) diff --git a/pytorch_lightning/trainer/training_loop.py b/pytorch_lightning/trainer/training_loop.py index 39548b5ed64c5..fde42eee1a49c 100644 --- a/pytorch_lightning/trainer/training_loop.py +++ b/pytorch_lightning/trainer/training_loop.py @@ -121,10 +121,12 @@ def setup_fit(self, model, train_dataloader, val_dataloaders, datamodule): self.trainer.callback_connector.attach_model_logging_functions(model) def on_train_end(self): + print("before", self._teardown_already_run) if self._teardown_already_run: return self._teardown_already_run = True + print("after", self._teardown_already_run) # trigger checkpoint check. need to temporarily decrease the global step to avoid saving duplicates # when a checkpoint was saved at the last step diff --git a/pytorch_lightning/utilities/imports.py b/pytorch_lightning/utilities/imports.py index 41a13d6c678a0..22b75981edf7f 100644 --- a/pytorch_lightning/utilities/imports.py +++ b/pytorch_lightning/utilities/imports.py @@ -54,6 +54,7 @@ def _compare_version(package: str, op, version) -> bool: _TORCH_LOWER_EQUAL_1_4 = _compare_version("torch", operator.le, "1.5.0") _TORCH_GREATER_EQUAL_1_6 = _compare_version("torch", operator.ge, "1.6.0") _TORCH_GREATER_EQUAL_1_7 = _compare_version("torch", operator.ge, "1.7.0") +_TORCH_GREATER_EQUAL_1_8 = _compare_version("torch", operator.ge, "1.8.0") _APEX_AVAILABLE = _module_available("apex.amp") _BOLTS_AVAILABLE = _module_available('pl_bolts') diff --git a/tests/callbacks/test_pruning.py b/tests/callbacks/test_pruning.py index 23b2fcbb52235..0e63fc29d49b1 100644 --- a/tests/callbacks/test_pruning.py +++ b/tests/callbacks/test_pruning.py @@ -11,7 +11,6 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -import os from collections import OrderedDict from logging import INFO @@ -22,7 +21,7 @@ from torch.nn import Sequential from pytorch_lightning import seed_everything, Trainer -from pytorch_lightning.callbacks import ModelPruning, ModelCheckpoint +from pytorch_lightning.callbacks import ModelCheckpoint, ModelPruning from pytorch_lightning.utilities.exceptions import MisconfigurationException from tests.helpers import BoringModel from tests.helpers.runif import RunIf @@ -274,6 +273,7 @@ def test_permanent_when_model_is_saved_multiple_times(tmpdir, caplog): seed_everything(0) class TestPruning(ModelPruning): + def on_save_checkpoint(self, trainer, pl_module, checkpoint): super().on_save_checkpoint(trainer, pl_module, checkpoint) assert "layer.mlp_3.weight_orig" not in checkpoint["state_dict"] diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 51ea837055d0e..ab3fa3267bd79 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -217,14 +217,11 @@ def test_pytorch_profiler_value_errors(pytorch_profiler): """Ensure errors are raised where expected.""" action = "test_step" - with pytest.raises(ValueError): - pytorch_profiler.stop(action) - pytorch_profiler.start(action) pytorch_profiler.stop(action) with pytest.raises(MisconfigurationException, match="profiled_functions` and `PyTorchProfiler.record"): - PyTorchProfiler(profiled_functions=[], record_functions=[]) + PyTorchProfiler(profiled_functions=["a"], record_functions=["b"]) @RunIf(min_gpus=2, special=True) @@ -248,8 +245,6 @@ def test_pytorch_profiler_trainer_ddp(tmpdir): ) trainer.fit(model) - assert len(profiler.summary()) > 0 - profiler.describe() data = Path(profiler.output_fname).read_text() assert len(data) > 0 @@ -278,15 +273,13 @@ def test_pytorch_profiler_trainer(tmpdir, use_output_filename): enabled = use_output_filename or not use_output_filename and profiler.local_rank == 0 if enabled: - assert len(profiler.summary()) > 0 - expected = {'validation_step', 'training_step_and_backward', 'training_step', 'backward'} - assert set(profiler.profiled_actions.keys()) == expected + expected = ('validation_step', 'training_step_and_backward', 'training_step', 'backward') + for name in expected: + assert len([e for e in profiler.function_events if name == e.name]) > 0 else: - assert profiler.summary() is None - assert set(profiler.profiled_actions.keys()) == set() + assert profiler.function_events is None if use_output_filename: - profiler.describe() data = Path(profiler.output_fname).read_text() assert len(data) > 0 @@ -307,29 +300,26 @@ def test_pytorch_profiler_nested(tmpdir): with pytorch_profiler.profile("c"): _ = a + b - actual = {k: [e.name for e in events] for k, events in pytorch_profiler.function_events.items()} - if LooseVersion(torch.__version__) >= LooseVersion("1.7.1"): - actual = {k: [e.replace("aten::", "") for e in events] for k, events in actual.items()} + pytorch_profiler.describe() - # From PyTorch 1.8.0, less operation are being traced. - if LooseVersion(torch.__version__) >= LooseVersion("1.8.0"): + events_name = {e.name for e in pytorch_profiler.function_events} + + if LooseVersion(torch.__version__) >= LooseVersion("1.5.0"): expected = { - 'a': ['ones', 'empty', 'fill_', 'zeros', 'empty', 'zero_', 'add'], - 'b': ['zeros', 'empty', 'zero_'], - 'c': ['add'], + 'signed char', 'add', 'profiler::_record_function_exit', 'bool', 'char', 'profiler::_record_function_enter' } - # From PyTorch 1.6.0, more operation are being traced. - elif LooseVersion(torch.__version__) >= LooseVersion("1.6.0"): + + if LooseVersion(torch.__version__) >= LooseVersion("1.6.0"): + expected = {'add', 'zeros', 'ones', 'zero_', 'b', 'fill_', 'c', 'a', 'empty'} + + if LooseVersion(torch.__version__) >= LooseVersion("1.7.0"): expected = { - 'a': ['ones', 'empty', 'fill_', 'zeros', 'empty', 'zero_', 'fill_', 'add', 'empty'], - 'b': ['zeros', 'empty', 'zero_', 'fill_'], - 'c': ['add', 'empty'], + 'aten::zeros', 'aten::add', 'aten::zero_', 'c', 'b', 'a', 'aten::fill_', 'aten::empty', 'aten::ones' } - else: + + if LooseVersion(torch.__version__) >= LooseVersion("1.8.0"): expected = { - 'a': ['add'], - 'b': [], - 'c': ['add'], + 'aten::ones', 'a', 'aten::add', 'aten::empty', 'aten::zero_', 'b', 'c', 'aten::zeros', 'aten::fill_' } - assert actual == expected + assert events_name == expected From 8a3d3cf16031938986934b0d2552ebdbbf117026 Mon Sep 17 00:00:00 2001 From: tchaton Date: Thu, 18 Mar 2021 20:08:21 +0000 Subject: [PATCH 06/87] resolve tests --- pytorch_lightning/trainer/training_loop.py | 2 -- tests/test_profiler.py | 7 +++---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/pytorch_lightning/trainer/training_loop.py b/pytorch_lightning/trainer/training_loop.py index 8cc68708a1323..43c9829b91dad 100644 --- a/pytorch_lightning/trainer/training_loop.py +++ b/pytorch_lightning/trainer/training_loop.py @@ -120,11 +120,9 @@ def setup_fit(self, model, train_dataloader=None, val_dataloaders=None, datamodu self.trainer.callback_connector.attach_model_logging_functions(model) def on_train_end(self): - print("before", self._teardown_already_run) if self._teardown_already_run: return self._teardown_already_run = True - print("after", self._teardown_already_run) # trigger checkpoint check. need to temporarily decrease the global step to avoid saving duplicates # when a checkpoint was saved at the last step diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 22e0f3e39fc88..1d707f301e688 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -304,10 +304,9 @@ def test_pytorch_profiler_nested(tmpdir): events_name = {e.name for e in pytorch_profiler.function_events} - if LooseVersion(torch.__version__) >= LooseVersion("1.5.0"): - expected = { - 'signed char', 'add', 'profiler::_record_function_exit', 'bool', 'char', 'profiler::_record_function_enter' - } + expected = { + 'signed char', 'add', 'profiler::_record_function_exit', 'bool', 'char', 'profiler::_record_function_enter' + } if LooseVersion(torch.__version__) >= LooseVersion("1.6.0"): expected = {'add', 'zeros', 'ones', 'zero_', 'b', 'fill_', 'c', 'a', 'empty'} From af865ff6f519617fa9ec73d6a40aa4837b1ce877 Mon Sep 17 00:00:00 2001 From: tchaton Date: Thu, 18 Mar 2021 20:26:43 +0000 Subject: [PATCH 07/87] find output --- tests/test_profiler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 1d707f301e688..d41f83401a327 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -321,4 +321,4 @@ def test_pytorch_profiler_nested(tmpdir): 'aten::ones', 'a', 'aten::add', 'aten::empty', 'aten::zero_', 'b', 'c', 'aten::zeros', 'aten::fill_' } - assert events_name == expected + assert events_name == expected, (events_name, torch.__version__, platform.system()) From 6147e6ee3216f02cc7671d0b6c7a5e64423c0f34 Mon Sep 17 00:00:00 2001 From: tchaton Date: Fri, 19 Mar 2021 08:55:10 +0000 Subject: [PATCH 08/87] try something --- pytorch_lightning/profiler/profilers.py | 2 ++ pytorch_lightning/profiler/pytorch.py | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index fd4bcf8732932..c4358bfa4870f 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -56,6 +56,7 @@ def __init__(self, local_rank: Optional[int] = None, log_dir: Optional[str] = No # the profiler can be used outside of lightning # that's why we call `on_train_start` manually self.on_train_start(local_rank=local_rank, log_dir=log_dir) + self.output_file = None def on_train_start(self, local_rank: Optional[int] = None, log_dir: Optional[str] = None): """ @@ -132,6 +133,7 @@ class PassThroughProfiler(BaseProfiler): This class should be used when you don't want the (small) overhead of profiling. The Trainer uses this class by default. """ + def start(self, action_name: str) -> None: pass diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index 11fcb00441892..1ebe8be8511c1 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -14,7 +14,6 @@ """Profiler to check if there are any bottlenecks in your code.""" import inspect import logging -import os from typing import Any, Dict, List, Optional, Type, Union import torch From 5053b4fb2704c89d3436b390515008580cc31c10 Mon Sep 17 00:00:00 2001 From: tchaton Date: Fri, 19 Mar 2021 09:10:16 +0000 Subject: [PATCH 09/87] update --- pytorch_lightning/profiler/profilers.py | 3 +-- pytorch_lightning/profiler/pytorch.py | 7 ------- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index c4358bfa4870f..cb0c41244fe9f 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -53,10 +53,10 @@ class BaseProfiler(AbstractProfiler, ABC): def __init__(self, local_rank: Optional[int] = None, log_dir: Optional[str] = None) -> None: self.output_fname = getattr(self, "output_fname", None) + self.output_file = None # the profiler can be used outside of lightning # that's why we call `on_train_start` manually self.on_train_start(local_rank=local_rank, log_dir=log_dir) - self.output_file = None def on_train_start(self, local_rank: Optional[int] = None, log_dir: Optional[str] = None): """ @@ -68,7 +68,6 @@ def on_train_start(self, local_rank: Optional[int] = None, log_dir: Optional[str self.prepare_file() def prepare_file(self) -> None: - self.output_file = None if self.output_fname: fs = get_filesystem(self.output_fname) self.output_file = fs.open(self.output_fname, "w") diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index 1ebe8be8511c1..b07cebd0301d5 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -244,10 +244,3 @@ def _create_profiler(self, profiler: Type[_PROFILER]) -> _PROFILER: init_parameters = inspect.signature(profiler.__init__).parameters kwargs = {k: v for k, v in self.profiler_kwargs.items() if k in init_parameters} return profiler(**kwargs) - - def __del__(self): - if self.profiler is not None: - self.profiler.__exit__(None, None, None) - if self._parent_profiler is not None: - self._parent_profiler.__exit__(None, None, None) - super().__del__() From 3ae2fbf54aa48256a33fb37513fe23a1cd462dc2 Mon Sep 17 00:00:00 2001 From: tchaton Date: Fri, 19 Mar 2021 10:14:14 +0000 Subject: [PATCH 10/87] add support for test and predict --- pytorch_lightning/profiler/pytorch.py | 28 ++++++--- pytorch_lightning/trainer/predict_loop.py | 3 + pytorch_lightning/trainer/trainer.py | 4 +- tests/test_profiler.py | 76 ++++++++++++++--------- 4 files changed, 72 insertions(+), 39 deletions(-) diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index b07cebd0301d5..7c64c730f270f 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -14,6 +14,7 @@ """Profiler to check if there are any bottlenecks in your code.""" import inspect import logging +import os from typing import Any, Dict, List, Optional, Type, Union import torch @@ -31,7 +32,9 @@ class PyTorchProfiler(BaseProfiler): - RECORD_FUNCTIONS = ("training_step_and_backward", "training_step", "backward", "validation_step", "test_step") + RECORD_FUNCTIONS = ( + "training_step_and_backward", "training_step", "backward", "validation_step", "test_step", "predict" + ) AVAILABLE_SORT_KEYS = ( "cpu_time", "cuda_time", @@ -50,7 +53,7 @@ def __init__( output_filename: Optional[str] = None, group_by_input_shapes: bool = False, emit_nvtx: bool = False, - export_to_chrome: bool = False, + export_to_chrome: bool = True, path_to_export_trace: Optional[str] = None, row_limit: int = 20, sort_by_key: Optional[str] = None, @@ -199,6 +202,7 @@ def start(self, action_name: str) -> None: def stop(self, action_name: str) -> None: if action_name in self.recording_map: self.recording_map[action_name].__exit__(None, None, None) + del self.recording_map[action_name] def summary(self) -> str: if not self.profiler_kwargs.get("enabled", True) or self.emit_nvtx: @@ -208,19 +212,14 @@ def summary(self) -> str: recorded_stats = {} self.profiler.__exit__(None, None, None) self.function_events = self.profiler.function_events + self.profiler = None + if self._parent_profiler is not None: self._parent_profiler.__exit__(None, None, None) self._parent_profiler = None - self.function_events = self.profiler.function_events - self.profiler = None - - # next line is a workaround for a pytorch issue (fixed on master, still present - # on 1.7). Without it the code fails with `AssertionError: There is already a CPU - # parent event for detach` - self.function_events.populate_cpu_children = lambda: None if self.export_to_chrome: - filename = f"{self.function_events.name}_{local_rank}_trace.json" + filename = f"{local_rank}_trace.json" path_to_trace = ( filename if self.path_to_export_trace is None else os.path.join(self.path_to_export_trace, filename) ) @@ -244,3 +243,12 @@ def _create_profiler(self, profiler: Type[_PROFILER]) -> _PROFILER: init_parameters = inspect.signature(profiler.__init__).parameters kwargs = {k: v for k, v in self.profiler_kwargs.items() if k in init_parameters} return profiler(**kwargs) + + def __del__(self): + if self.profiler is not None: + self.profiler.__exit__(None, None, None) + if self._parent_profiler is not None: + self._parent_profiler.__exit__(None, None, None) + for recording in self.recording_map.values(): + recording.__exit__(None, None, None) + super().__del__() diff --git a/pytorch_lightning/trainer/predict_loop.py b/pytorch_lightning/trainer/predict_loop.py index 70329b4fdf514..8d99a4db38ce8 100644 --- a/pytorch_lightning/trainer/predict_loop.py +++ b/pytorch_lightning/trainer/predict_loop.py @@ -86,6 +86,9 @@ def predict(self, batch, batch_idx, dataloader_idx): return def on_predict_epoch_end(self): + if self.trainer.profiler is not None: + self.trainer.profiler.describe() + self.trainer._progress_bar_callback.on_predict_end(self.trainer, self.trainer.lightning_module) results = self._predictions diff --git a/pytorch_lightning/trainer/trainer.py b/pytorch_lightning/trainer/trainer.py index 44b0e716a90c0..c6fdaa8fc94c1 100644 --- a/pytorch_lightning/trainer/trainer.py +++ b/pytorch_lightning/trainer/trainer.py @@ -742,6 +742,9 @@ def run_evaluate(self): with self.profiler.profile(f"run_{self._running_stage}_evaluation"): eval_loop_results, _ = self.run_evaluation() + if self.profiler is not None: + self.profiler.describe() + if len(eval_loop_results) == 0: return 1 @@ -789,7 +792,6 @@ def run_predict(self): # lightning module methods with self.profiler.profile("predict"): self.predict_loop.predict(batch, batch_idx, dataloader_idx) - results = self.predict_loop.on_predict_epoch_end() return results diff --git a/tests/test_profiler.py b/tests/test_profiler.py index d41f83401a327..e5bc4ca244639 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -13,6 +13,7 @@ # limitations under the License. import logging import os +import platform import time from distutils.version import LooseVersion from pathlib import Path @@ -225,40 +226,28 @@ def test_pytorch_profiler_value_errors(pytorch_profiler): @RunIf(min_gpus=2, special=True) -def test_pytorch_profiler_trainer_ddp(tmpdir): +def test_pytorch_profiler_trainer_ddp(tmpdir, pytorch_profiler): """Ensure that the profiler can be given to the training and default step are properly recorded. """ - output_filename = os.path.join(tmpdir, "profiler.txt") - - profiler = PyTorchProfiler(output_filename=output_filename) - model = BoringModel() trainer = Trainer( max_epochs=1, default_root_dir=tmpdir, limit_train_batches=6, limit_val_batches=6, - profiler=profiler, + profiler=pytorch_profiler, accelerator="ddp", gpus=2, logger=TensorBoardLogger(tmpdir) ) trainer.fit(model) - data = Path(profiler.output_fname).read_text() + data = Path(pytorch_profiler.output_fname).read_text() assert len(data) > 0 -@pytest.mark.parametrize("use_output_filename", [True]) -def test_pytorch_profiler_trainer(tmpdir, use_output_filename): - """Ensure that the profiler can be given to the training and default step are properly recorded. """ - - if use_output_filename: - output_filename = os.path.join(tmpdir, "profiler.txt") - else: - output_filename = None - - profiler = PyTorchProfiler(output_filename=output_filename) +def test_pytorch_profiler_trainer_fit(tmpdir, pytorch_profiler): + """Ensure that the profiler can be given to the trainer and training, validation steps are properly recorded. """ model = BoringModel() trainer = Trainer( @@ -266,22 +255,53 @@ def test_pytorch_profiler_trainer(tmpdir, use_output_filename): max_epochs=1, limit_train_batches=1, limit_val_batches=1, - profiler=profiler, + profiler=pytorch_profiler, ) trainer.fit(model) - enabled = use_output_filename or not use_output_filename and profiler.local_rank == 0 + expected = ('validation_step', 'training_step_and_backward', 'training_step', 'backward') + for name in expected: + assert len([e for e in pytorch_profiler.function_events if name == e.name]) > 0 + + data = Path(pytorch_profiler.output_fname).read_text() + assert len(data) > 0 + - if enabled: - expected = ('validation_step', 'training_step_and_backward', 'training_step', 'backward') - for name in expected: - assert len([e for e in profiler.function_events if name == e.name]) > 0 - else: - assert profiler.function_events is None +def test_pytorch_profiler_trainer_test(tmpdir, pytorch_profiler): + """Ensure that the profiler can be given to the trainer and test step are properly recorded. """ + + model = BoringModel() + trainer = Trainer( + default_root_dir=tmpdir, + max_epochs=1, + limit_test_batches=2, + profiler=pytorch_profiler, + ) + trainer.test(model) - if use_output_filename: - data = Path(profiler.output_fname).read_text() - assert len(data) > 0 + assert len([e for e in pytorch_profiler.function_events if 'test_step' == e.name]) > 0 + + data = Path(pytorch_profiler.output_fname).read_text() + assert len(data) > 0 + + +def test_pytorch_profiler_trainer_predict(tmpdir, pytorch_profiler): + """Ensure that the profiler can be given to the trainer and predict function are properly recorded. """ + + model = BoringModel() + model.predict_dataloader = model.train_dataloader + trainer = Trainer( + default_root_dir=tmpdir, + max_epochs=1, + limit_test_batches=2, + profiler=pytorch_profiler, + ) + trainer.predict(model) + + assert len([e for e in pytorch_profiler.function_events if 'predict' == e.name]) > 0 + + data = Path(pytorch_profiler.output_fname).read_text() + assert len(data) > 0 def test_pytorch_profiler_nested(tmpdir): From 1d7ac88bccffbe0a58cb286be8f0187c9c1c91a6 Mon Sep 17 00:00:00 2001 From: tchaton Date: Fri, 19 Mar 2021 11:30:05 +0000 Subject: [PATCH 11/87] update --- pytorch_lightning/profiler/pytorch.py | 69 +++++++++++++++++++ .../trainer/connectors/profiler_connector.py | 2 + tests/test_profiler.py | 2 + 3 files changed, 73 insertions(+) diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index 7c64c730f270f..215619cac4539 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -15,6 +15,7 @@ import inspect import logging import os +from functools import partial from typing import Any, Dict, List, Optional, Type, Union import torch @@ -30,6 +31,60 @@ _PROFILER = Union[torch.autograd.profiler.profile, torch.cuda.profiler.profile, torch.autograd.profiler.emit_nvtx] +class RegisterRecordFunction: + """ + While profiling autograd operations, this class will add label with module name + around the forward function. + The Lightning PyTorch Profiler will activate this feature automatically. + It can be deactivated as follows: + Example:: + from pytorch_lightning.profilers import PyTorchProfiler + profiler = PyTorchProfiler(record_module_names=False) + Trainer(profiler=profiler) + It can be used outside of Lightning as follows: + Example:: + from pytorch_lightning import Trainer, seed_everything + with RegisterRecordFunction(model): + out = model(batch) + """ + + def __init__(self, model): + self._model = model + self._records = {} + self.handles = {} + + def _start_recording_forward(self, module, input, module_name: str = None, is_built_in: bool = None): + if module_name is not None: + record_name = module_name if is_built_in else f"{type(module)}: {module_name}" + self._records[record_name] = record_function(record_name).__enter__() + return input + + def _stop_recording_forward(self, module, input, result, module_name: str = None, is_built_in: bool = None): + if module_name is not None: + record_name = module_name if is_built_in else f"{type(module)}: {module_name}" + self._records[record_name].__exit__(None, None, None) + return result + + def __enter__(self): + built_in_modules = dir(torch.nn) + for module_name, module in self._model.named_modules(): + if module_name != '': + is_built_in = module in built_in_modules + pre_forward_handle = module.register_forward_pre_hook( + partial(self._start_recording_forward, module_name=module_name, is_built_in=is_built_in) + ) + post_forward_handle = module.register_forward_hook( + partial(self._stop_recording_forward, module_name=module_name, is_built_in=is_built_in) + ) + + self.handles[module_name] = [pre_forward_handle, post_forward_handle] + + def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any): + for handles in self.handles.values(): + for h in handles: + h.remove() + + class PyTorchProfiler(BaseProfiler): RECORD_FUNCTIONS = ( @@ -60,6 +115,7 @@ def __init__( record_functions: List[str] = [], local_rank: Optional[int] = None, profiled_functions: List[str] = [], + record_module_names: bool = True, **profiler_kwargs: Any, ) -> None: """ @@ -107,6 +163,8 @@ def __init__( profiler_kwargs: Keyword arguments for the PyTorch profiler. This depends on your PyTorch version + record_module_names: Whether to add module names while recording autograd operation. + Raises: MisconfigurationException: If arg ``sort_by_key`` is not present in ``AVAILABLE_SORT_KEYS``, or @@ -127,6 +185,9 @@ def __init__( self.emit_nvtx = emit_nvtx self.export_to_chrome = export_to_chrome self.path_to_export_trace = path_to_export_trace + self.record_module_names = record_module_names + self.lightning_module = None # set by ProfilerConnector + self.register = None self.profiler_kwargs = profiler_kwargs if self.export_to_chrome and self.path_to_export_trace is None: @@ -191,6 +252,10 @@ def start(self, action_name: str) -> None: self._profiler_instantiated = True + if self.record_module_names and self.lightning_module is not None: + self.register = RegisterRecordFunction(self.lightning_module) + self.register.__enter__() + if ( action_name in self.record_functions and action_name != self.ACTION_NAME_START and action_name not in self.recording_map @@ -213,11 +278,15 @@ def summary(self) -> str: self.profiler.__exit__(None, None, None) self.function_events = self.profiler.function_events self.profiler = None + self._profiler_instantiated = False if self._parent_profiler is not None: self._parent_profiler.__exit__(None, None, None) self._parent_profiler = None + if self.register is not None: + self.register.__exit__(None, None, None) + if self.export_to_chrome: filename = f"{local_rank}_trace.json" path_to_trace = ( diff --git a/pytorch_lightning/trainer/connectors/profiler_connector.py b/pytorch_lightning/trainer/connectors/profiler_connector.py index 7639926424090..231aa884a47df 100644 --- a/pytorch_lightning/trainer/connectors/profiler_connector.py +++ b/pytorch_lightning/trainer/connectors/profiler_connector.py @@ -13,6 +13,7 @@ # limitations under the License from typing import Union +from weakref import proxy from pytorch_lightning.profiler import ( AdvancedProfiler, @@ -57,4 +58,5 @@ def on_trainer_init(self, profiler: Union[BaseProfiler, str]): def on_train_start(self, trainer): if not isinstance(trainer.profiler, PassThroughProfiler): local_rank = trainer.local_rank if trainer.world_size > 1 else None + self.trainer.profiler.lightning_module = proxy(self.trainer.lightning_module) self.trainer.profiler.on_train_start(local_rank=local_rank, log_dir=self.trainer.log_dir) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index e5bc4ca244639..16f21b793561e 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -25,6 +25,7 @@ from pytorch_lightning import Trainer from pytorch_lightning.loggers import TensorBoardLogger from pytorch_lightning.profiler import AdvancedProfiler, PyTorchProfiler, SimpleProfiler +from pytorch_lightning.profiler.pytorch import RegisterRecordFunction from pytorch_lightning.utilities.exceptions import MisconfigurationException from tests.helpers import BoringModel from tests.helpers.runif import RunIf @@ -265,6 +266,7 @@ def test_pytorch_profiler_trainer_fit(tmpdir, pytorch_profiler): data = Path(pytorch_profiler.output_fname).read_text() assert len(data) > 0 + print(tmpdir) def test_pytorch_profiler_trainer_test(tmpdir, pytorch_profiler): From 64f8a58249bd05c2e4fb207c0a1ab75edf184213 Mon Sep 17 00:00:00 2001 From: thomas chaton Date: Fri, 19 Mar 2021 11:34:25 +0000 Subject: [PATCH 12/87] update --- tests/special_tests.sh | 2 +- tests/test_profiler.py | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/tests/special_tests.sh b/tests/special_tests.sh index 43658721e9226..e5c6e313bb6d8 100644 --- a/tests/special_tests.sh +++ b/tests/special_tests.sh @@ -33,4 +33,4 @@ python ${DEFAULTS} tests/models/test_hooks.py::test_transfer_batch_hook_ddp python ${DEFAULTS} tests/trainer/test_data_loading.py::test_replace_distrubuted_sampler_custom_dataloader_custom_batch_sampler python ${DEFAULTS} tests/trainer/optimization/test_manual_optimization.py::test_step_with_optimizer_closure_with_different_frequencies_ddp_with_toggle_model python ${DEFAULTS} tests/checkpointing/test_checkpoint_callback_frequency.py::test_top_k_ddp -nvprof --profile-from-start off -o trace_name.prof -- python ${DEFAULTS} tests/trainer/test_trainer.py::test_pytorch_profiler_nested_emit_nvtx +nvprof --profile-from-start off -o trace_name.prof -- python ${DEFAULTS} tests/test_profiler.py::test_pytorch_profiler_nested_emit_nvtx diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 16f21b793561e..36fc8b9741771 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -306,6 +306,22 @@ def test_pytorch_profiler_trainer_predict(tmpdir, pytorch_profiler): assert len(data) > 0 +@RunIf(min_gpus=1, special=True) +def test_pytorch_profiler_nested_emit_nvtx(tmpdir): + """ + This test check emit_nvtx is correctly supported + """ + profiler = PyTorchProfiler(use_cuda=True, emit_nvtx=True) + + model = BoringModel() + trainer = Trainer( + fast_dev_run=True, + profiler=profiler, + gpus=1, + ) + trainer.fit(model) + + def test_pytorch_profiler_nested(tmpdir): """Ensure that the profiler handles nested context""" From 655ff46a4983aa58d44c7efebb121ccc196ef2b7 Mon Sep 17 00:00:00 2001 From: thomas chaton Date: Fri, 19 Mar 2021 11:36:04 +0000 Subject: [PATCH 13/87] use getattr --- pytorch_lightning/profiler/profilers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index cb0c41244fe9f..eeb20c112887b 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -123,7 +123,7 @@ def stats_to_str(self, stats: dict) -> str: def __del__(self) -> None: """Close profiler's stream.""" - if self.output_file: + if getattr(self, "output_file") is not None: self.output_file.close() From 3f5c4d67d6d4ccc133c033e3e0317636cc4424cf Mon Sep 17 00:00:00 2001 From: tchaton Date: Fri, 19 Mar 2021 11:51:11 +0000 Subject: [PATCH 14/87] test --- pytorch_lightning/profiler/profilers.py | 4 +++- tests/test_profiler.py | 1 - 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index eeb20c112887b..828d00da70dc2 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -123,8 +123,10 @@ def stats_to_str(self, stats: dict) -> str: def __del__(self) -> None: """Close profiler's stream.""" - if getattr(self, "output_file") is not None: + try: self.output_file.close() + except AttributeError: + pass class PassThroughProfiler(BaseProfiler): diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 36fc8b9741771..f3750aded0356 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -25,7 +25,6 @@ from pytorch_lightning import Trainer from pytorch_lightning.loggers import TensorBoardLogger from pytorch_lightning.profiler import AdvancedProfiler, PyTorchProfiler, SimpleProfiler -from pytorch_lightning.profiler.pytorch import RegisterRecordFunction from pytorch_lightning.utilities.exceptions import MisconfigurationException from tests.helpers import BoringModel from tests.helpers.runif import RunIf From ced0d66ea5883f83e2c938051c97a45f43ba7424 Mon Sep 17 00:00:00 2001 From: tchaton Date: Fri, 19 Mar 2021 12:19:09 +0000 Subject: [PATCH 15/87] test --- 0_trace.json | 1 + pytorch_lightning/profiler/pytorch.py | 11 ++--------- .../trainer/connectors/profiler_connector.py | 2 ++ tests/test_profiler.py | 3 ++- 4 files changed, 7 insertions(+), 10 deletions(-) create mode 100644 0_trace.json diff --git a/0_trace.json b/0_trace.json new file mode 100644 index 0000000000000..9946c108fe5c7 --- /dev/null +++ b/0_trace.json @@ -0,0 +1 @@ +[{"name": "profiler::_record_function_enter", "ph": "X", "ts": 18.0, "dur": 4.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_enter", "ph": "X", "ts": 18.0, "dur": 4.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_enter", "ph": "X", "ts": 18.0, "dur": 4.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "signed char", "ph": "X", "ts": 22.0, "dur": 178.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "signed char", "ph": "X", "ts": 23.0, "dur": 177.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "signed char", "ph": "X", "ts": 23.0, "dur": 177.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_enter", "ph": "X", "ts": 108.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_enter", "ph": "X", "ts": 108.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_enter", "ph": "X", "ts": 108.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "bool", "ph": "X", "ts": 110.0, "dur": 20.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "bool", "ph": "X", "ts": 110.0, "dur": 21.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "bool", "ph": "X", "ts": 110.0, "dur": 21.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 129.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 129.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 129.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_enter", "ph": "X", "ts": 144.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_enter", "ph": "X", "ts": 144.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_enter", "ph": "X", "ts": 144.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "char", "ph": "X", "ts": 145.0, "dur": 46.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "char", "ph": "X", "ts": 145.0, "dur": 46.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "char", "ph": "X", "ts": 145.0, "dur": 46.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "add", "ph": "X", "ts": 173.0, "dur": 11.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "add", "ph": "X", "ts": 173.0, "dur": 11.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "add", "ph": "X", "ts": 174.0, "dur": 9.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 190.0, "dur": 0.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 190.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 190.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 198.0, "dur": 2.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 199.0, "dur": 0.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 199.0, "dur": 0.0, "tid": 0, "pid": "CPU functions", "args": {}}] diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index 215619cac4539..ce2295092763d 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -189,6 +189,8 @@ def __init__( self.lightning_module = None # set by ProfilerConnector self.register = None self.profiler_kwargs = profiler_kwargs + self.profiler = None + self._parent_profiler = None if self.export_to_chrome and self.path_to_export_trace is None: rank_zero_warn( @@ -312,12 +314,3 @@ def _create_profiler(self, profiler: Type[_PROFILER]) -> _PROFILER: init_parameters = inspect.signature(profiler.__init__).parameters kwargs = {k: v for k, v in self.profiler_kwargs.items() if k in init_parameters} return profiler(**kwargs) - - def __del__(self): - if self.profiler is not None: - self.profiler.__exit__(None, None, None) - if self._parent_profiler is not None: - self._parent_profiler.__exit__(None, None, None) - for recording in self.recording_map.values(): - recording.__exit__(None, None, None) - super().__del__() diff --git a/pytorch_lightning/trainer/connectors/profiler_connector.py b/pytorch_lightning/trainer/connectors/profiler_connector.py index 231aa884a47df..4779d61587295 100644 --- a/pytorch_lightning/trainer/connectors/profiler_connector.py +++ b/pytorch_lightning/trainer/connectors/profiler_connector.py @@ -54,6 +54,8 @@ def on_trainer_init(self, profiler: Union[BaseProfiler, str]): " `Trainer`, it can only be 'simple' or 'advanced'" ) self.trainer.profiler = profiler or PassThroughProfiler() + if isinstance(self.trainer.profiler, PyTorchProfiler): + self.trainer.profiler = proxy(self.trainer.profiler) def on_train_start(self, trainer): if not isinstance(trainer.profiler, PassThroughProfiler): diff --git a/tests/test_profiler.py b/tests/test_profiler.py index f3750aded0356..3a3c2836e48c2 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -200,7 +200,8 @@ def test_advanced_profiler_value_errors(advanced_profiler): @pytest.fixture def pytorch_profiler(tmpdir): profiler = PyTorchProfiler(output_filename=os.path.join(tmpdir, "profiler.txt"), local_rank=0) - return profiler + yield profiler + del profiler def test_pytorch_profiler_describe(pytorch_profiler): From 662f8de22f4da2b928c99c832638f1bc3e091fd1 Mon Sep 17 00:00:00 2001 From: tchaton Date: Fri, 19 Mar 2021 12:53:41 +0000 Subject: [PATCH 16/87] update --- pytorch_lightning/trainer/connectors/profiler_connector.py | 1 - tests/test_profiler.py | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/pytorch_lightning/trainer/connectors/profiler_connector.py b/pytorch_lightning/trainer/connectors/profiler_connector.py index 4779d61587295..2d286eb0be7f2 100644 --- a/pytorch_lightning/trainer/connectors/profiler_connector.py +++ b/pytorch_lightning/trainer/connectors/profiler_connector.py @@ -60,5 +60,4 @@ def on_trainer_init(self, profiler: Union[BaseProfiler, str]): def on_train_start(self, trainer): if not isinstance(trainer.profiler, PassThroughProfiler): local_rank = trainer.local_rank if trainer.world_size > 1 else None - self.trainer.profiler.lightning_module = proxy(self.trainer.lightning_module) self.trainer.profiler.on_train_start(local_rank=local_rank, log_dir=self.trainer.log_dir) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 3a3c2836e48c2..abadb3c099283 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -326,6 +326,7 @@ def test_pytorch_profiler_nested(tmpdir): """Ensure that the profiler handles nested context""" pytorch_profiler = PyTorchProfiler( + export_to_chrome=False, record_functions=["a", "b", "c"], use_cuda=torch.cuda.is_available(), output_filename=os.path.join(tmpdir, "profiler.txt") From 753f63bcac26e59b05a2ea861a7611f326139312 Mon Sep 17 00:00:00 2001 From: tchaton Date: Fri, 19 Mar 2021 13:03:22 +0000 Subject: [PATCH 17/87] tests --- pytorch_lightning/profiler/pytorch.py | 11 +++++++++++ tests/test_profiler.py | 3 +-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index ce2295092763d..d291465dd3cd5 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -314,3 +314,14 @@ def _create_profiler(self, profiler: Type[_PROFILER]) -> _PROFILER: init_parameters = inspect.signature(profiler.__init__).parameters kwargs = {k: v for k, v in self.profiler_kwargs.items() if k in init_parameters} return profiler(**kwargs) + + def __del__(self): + try: + self.profiler.__exit__(None, None, None) + except RuntimeError: + pass + try: + self._parent_profiler.__exit__(None, None, None) + except RuntimeError: + pass + super().__del__() diff --git a/tests/test_profiler.py b/tests/test_profiler.py index abadb3c099283..962c1a698ec21 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -200,8 +200,7 @@ def test_advanced_profiler_value_errors(advanced_profiler): @pytest.fixture def pytorch_profiler(tmpdir): profiler = PyTorchProfiler(output_filename=os.path.join(tmpdir, "profiler.txt"), local_rank=0) - yield profiler - del profiler + return profiler def test_pytorch_profiler_describe(pytorch_profiler): From e6a69173a139fbbc8ed2033009e614e588e5ee34 Mon Sep 17 00:00:00 2001 From: tchaton Date: Fri, 19 Mar 2021 13:06:44 +0000 Subject: [PATCH 18/87] update --- pytorch_lightning/profiler/pytorch.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index d291465dd3cd5..fdf9cfcf273b5 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -318,10 +318,10 @@ def _create_profiler(self, profiler: Type[_PROFILER]) -> _PROFILER: def __del__(self): try: self.profiler.__exit__(None, None, None) - except RuntimeError: + except (AttributeError, RuntimeError): pass try: self._parent_profiler.__exit__(None, None, None) - except RuntimeError: + except (AttributeError, RuntimeError): pass super().__del__() From a7f7f4c4c82f0222f3d37c6ac14f3ec4ed7add89 Mon Sep 17 00:00:00 2001 From: tchaton Date: Fri, 19 Mar 2021 13:20:28 +0000 Subject: [PATCH 19/87] update --- pytorch_lightning/trainer/connectors/profiler_connector.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/pytorch_lightning/trainer/connectors/profiler_connector.py b/pytorch_lightning/trainer/connectors/profiler_connector.py index 2d286eb0be7f2..7f96c1a6c0ace 100644 --- a/pytorch_lightning/trainer/connectors/profiler_connector.py +++ b/pytorch_lightning/trainer/connectors/profiler_connector.py @@ -54,8 +54,6 @@ def on_trainer_init(self, profiler: Union[BaseProfiler, str]): " `Trainer`, it can only be 'simple' or 'advanced'" ) self.trainer.profiler = profiler or PassThroughProfiler() - if isinstance(self.trainer.profiler, PyTorchProfiler): - self.trainer.profiler = proxy(self.trainer.profiler) def on_train_start(self, trainer): if not isinstance(trainer.profiler, PassThroughProfiler): From c221d7d9b8d6d22fbc15c3560f0adeed364c1242 Mon Sep 17 00:00:00 2001 From: tchaton Date: Fri, 19 Mar 2021 13:23:28 +0000 Subject: [PATCH 20/87] update --- pytorch_lightning/trainer/connectors/profiler_connector.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pytorch_lightning/trainer/connectors/profiler_connector.py b/pytorch_lightning/trainer/connectors/profiler_connector.py index 7f96c1a6c0ace..7639926424090 100644 --- a/pytorch_lightning/trainer/connectors/profiler_connector.py +++ b/pytorch_lightning/trainer/connectors/profiler_connector.py @@ -13,7 +13,6 @@ # limitations under the License from typing import Union -from weakref import proxy from pytorch_lightning.profiler import ( AdvancedProfiler, From e39f6d7f5a601390436fbe425a43c9a9f6eac088 Mon Sep 17 00:00:00 2001 From: tchaton Date: Fri, 19 Mar 2021 13:47:45 +0000 Subject: [PATCH 21/87] update --- pytorch_lightning/profiler/pytorch.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index fdf9cfcf273b5..aad0262ca821a 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -208,6 +208,12 @@ def __init__( self.function_events: Optional[EventList] = None self._profiler_instantiated: bool = False + # disable profiler if the user already created a profiler + try: + torch.autograd._disable_profiler() + except RuntimeError: + pass + super().__init__(local_rank=local_rank) def __deprecation_check(self, profiled_functions: List[str] = [], record_functions: List[str] = []) -> List[str]: @@ -324,4 +330,9 @@ def __del__(self): self._parent_profiler.__exit__(None, None, None) except (AttributeError, RuntimeError): pass + # disable profiler if the user already created a profiler + try: + torch.autograd._disable_profiler() + except RuntimeError: + pass super().__del__() From e4858503463440ba9ed49c45c71e426405f54285 Mon Sep 17 00:00:00 2001 From: tchaton Date: Fri, 19 Mar 2021 14:18:36 +0000 Subject: [PATCH 22/87] update --- pytorch_lightning/profiler/pytorch.py | 22 -------------------- tests/test_profiler.py | 29 +++++++++++---------------- 2 files changed, 12 insertions(+), 39 deletions(-) diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index aad0262ca821a..ce2295092763d 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -208,12 +208,6 @@ def __init__( self.function_events: Optional[EventList] = None self._profiler_instantiated: bool = False - # disable profiler if the user already created a profiler - try: - torch.autograd._disable_profiler() - except RuntimeError: - pass - super().__init__(local_rank=local_rank) def __deprecation_check(self, profiled_functions: List[str] = [], record_functions: List[str] = []) -> List[str]: @@ -320,19 +314,3 @@ def _create_profiler(self, profiler: Type[_PROFILER]) -> _PROFILER: init_parameters = inspect.signature(profiler.__init__).parameters kwargs = {k: v for k, v in self.profiler_kwargs.items() if k in init_parameters} return profiler(**kwargs) - - def __del__(self): - try: - self.profiler.__exit__(None, None, None) - except (AttributeError, RuntimeError): - pass - try: - self._parent_profiler.__exit__(None, None, None) - except (AttributeError, RuntimeError): - pass - # disable profiler if the user already created a profiler - try: - torch.autograd._disable_profiler() - except RuntimeError: - pass - super().__del__() diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 962c1a698ec21..a0160be5d43f4 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -197,14 +197,9 @@ def test_advanced_profiler_value_errors(advanced_profiler): advanced_profiler.stop(action) -@pytest.fixture -def pytorch_profiler(tmpdir): - profiler = PyTorchProfiler(output_filename=os.path.join(tmpdir, "profiler.txt"), local_rank=0) - return profiler - - -def test_pytorch_profiler_describe(pytorch_profiler): +def test_pytorch_profiler_describe(tmpdir): """Ensure the profiler won't fail when reporting the summary.""" + pytorch_profiler = PyTorchProfiler(output_filename=os.path.join(tmpdir, "profiler.txt"), local_rank=0) with pytorch_profiler.profile("test_step"): pass @@ -214,9 +209,9 @@ def test_pytorch_profiler_describe(pytorch_profiler): assert len(data) > 0 -def test_pytorch_profiler_value_errors(pytorch_profiler): +def test_pytorch_profiler_value_errors(tmpdir): """Ensure errors are raised where expected.""" - + pytorch_profiler = PyTorchProfiler(output_filename=os.path.join(tmpdir, "profiler.txt"), local_rank=0) action = "test_step" pytorch_profiler.start(action) pytorch_profiler.stop(action) @@ -226,9 +221,9 @@ def test_pytorch_profiler_value_errors(pytorch_profiler): @RunIf(min_gpus=2, special=True) -def test_pytorch_profiler_trainer_ddp(tmpdir, pytorch_profiler): +def test_pytorch_profiler_trainer_ddp(tmpdir): """Ensure that the profiler can be given to the training and default step are properly recorded. """ - + pytorch_profiler = PyTorchProfiler(output_filename=os.path.join(tmpdir, "profiler.txt"), local_rank=0) model = BoringModel() trainer = Trainer( max_epochs=1, @@ -246,9 +241,9 @@ def test_pytorch_profiler_trainer_ddp(tmpdir, pytorch_profiler): assert len(data) > 0 -def test_pytorch_profiler_trainer_fit(tmpdir, pytorch_profiler): +def test_pytorch_profiler_trainer_fit(tmpdir): """Ensure that the profiler can be given to the trainer and training, validation steps are properly recorded. """ - + pytorch_profiler = PyTorchProfiler(output_filename=os.path.join(tmpdir, "profiler.txt"), local_rank=0) model = BoringModel() trainer = Trainer( default_root_dir=tmpdir, @@ -268,9 +263,9 @@ def test_pytorch_profiler_trainer_fit(tmpdir, pytorch_profiler): print(tmpdir) -def test_pytorch_profiler_trainer_test(tmpdir, pytorch_profiler): +def test_pytorch_profiler_trainer_test(tmpdir): """Ensure that the profiler can be given to the trainer and test step are properly recorded. """ - + pytorch_profiler = PyTorchProfiler(output_filename=os.path.join(tmpdir, "profiler.txt"), local_rank=0) model = BoringModel() trainer = Trainer( default_root_dir=tmpdir, @@ -286,9 +281,9 @@ def test_pytorch_profiler_trainer_test(tmpdir, pytorch_profiler): assert len(data) > 0 -def test_pytorch_profiler_trainer_predict(tmpdir, pytorch_profiler): +def test_pytorch_profiler_trainer_predict(tmpdir): """Ensure that the profiler can be given to the trainer and predict function are properly recorded. """ - + pytorch_profiler = PyTorchProfiler(output_filename=os.path.join(tmpdir, "profiler.txt"), local_rank=0) model = BoringModel() model.predict_dataloader = model.train_dataloader trainer = Trainer( From 00d355a32882a6ab5fac7729df3d9771c7db512a Mon Sep 17 00:00:00 2001 From: tchaton Date: Fri, 19 Mar 2021 14:24:13 +0000 Subject: [PATCH 23/87] remove file --- 0_trace.json | 1 - 1 file changed, 1 deletion(-) delete mode 100644 0_trace.json diff --git a/0_trace.json b/0_trace.json deleted file mode 100644 index 9946c108fe5c7..0000000000000 --- a/0_trace.json +++ /dev/null @@ -1 +0,0 @@ -[{"name": "profiler::_record_function_enter", "ph": "X", "ts": 18.0, "dur": 4.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_enter", "ph": "X", "ts": 18.0, "dur": 4.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_enter", "ph": "X", "ts": 18.0, "dur": 4.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "signed char", "ph": "X", "ts": 22.0, "dur": 178.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "signed char", "ph": "X", "ts": 23.0, "dur": 177.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "signed char", "ph": "X", "ts": 23.0, "dur": 177.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_enter", "ph": "X", "ts": 108.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_enter", "ph": "X", "ts": 108.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_enter", "ph": "X", "ts": 108.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "bool", "ph": "X", "ts": 110.0, "dur": 20.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "bool", "ph": "X", "ts": 110.0, "dur": 21.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "bool", "ph": "X", "ts": 110.0, "dur": 21.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 129.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 129.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 129.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_enter", "ph": "X", "ts": 144.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_enter", "ph": "X", "ts": 144.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_enter", "ph": "X", "ts": 144.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "char", "ph": "X", "ts": 145.0, "dur": 46.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "char", "ph": "X", "ts": 145.0, "dur": 46.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "char", "ph": "X", "ts": 145.0, "dur": 46.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "add", "ph": "X", "ts": 173.0, "dur": 11.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "add", "ph": "X", "ts": 173.0, "dur": 11.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "add", "ph": "X", "ts": 174.0, "dur": 9.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 190.0, "dur": 0.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 190.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 190.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 198.0, "dur": 2.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 199.0, "dur": 0.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 199.0, "dur": 0.0, "tid": 0, "pid": "CPU functions", "args": {}}] From 61da390b1f5c85777aa177bf05a0ccdbaf44cffc Mon Sep 17 00:00:00 2001 From: thomas chaton Date: Fri, 19 Mar 2021 14:30:45 +0000 Subject: [PATCH 24/87] update --- 0_trace.json | 2 +- pytorch_lightning/profiler/pytorch.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/0_trace.json b/0_trace.json index 9946c108fe5c7..c86b649ec22a0 100644 --- a/0_trace.json +++ b/0_trace.json @@ -1 +1 @@ -[{"name": "profiler::_record_function_enter", "ph": "X", "ts": 18.0, "dur": 4.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_enter", "ph": "X", "ts": 18.0, "dur": 4.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_enter", "ph": "X", "ts": 18.0, "dur": 4.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "signed char", "ph": "X", "ts": 22.0, "dur": 178.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "signed char", "ph": "X", "ts": 23.0, "dur": 177.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "signed char", "ph": "X", "ts": 23.0, "dur": 177.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_enter", "ph": "X", "ts": 108.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_enter", "ph": "X", "ts": 108.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_enter", "ph": "X", "ts": 108.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "bool", "ph": "X", "ts": 110.0, "dur": 20.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "bool", "ph": "X", "ts": 110.0, "dur": 21.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "bool", "ph": "X", "ts": 110.0, "dur": 21.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 129.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 129.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 129.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_enter", "ph": "X", "ts": 144.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_enter", "ph": "X", "ts": 144.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_enter", "ph": "X", "ts": 144.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "char", "ph": "X", "ts": 145.0, "dur": 46.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "char", "ph": "X", "ts": 145.0, "dur": 46.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "char", "ph": "X", "ts": 145.0, "dur": 46.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "add", "ph": "X", "ts": 173.0, "dur": 11.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "add", "ph": "X", "ts": 173.0, "dur": 11.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "add", "ph": "X", "ts": 174.0, "dur": 9.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 190.0, "dur": 0.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 190.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 190.0, "dur": 1.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 198.0, "dur": 2.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 199.0, "dur": 0.0, "tid": 0, "pid": "CPU functions", "args": {}}, {"name": "profiler::_record_function_exit", "ph": "X", "ts": 199.0, "dur": 0.0, "tid": 0, "pid": "CPU functions", "args": {}}] +[{"name": "aten::is_floating_point", "ph": "X", "ts": 129.565, "dur": 2.926000000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 138.162, "dur": 2.0960000000000036, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_has_compatible_shallow_copy_type", "ph": "X", "ts": 148.114, "dur": 1.7849999999999966, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::set_data", "ph": "X", "ts": 155.128, "dur": 5.027000000000015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_has_compatible_shallow_copy_type", "ph": "X", "ts": 157.16, "dur": 1.1049999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::is_floating_point", "ph": "X", "ts": 178.132, "dur": 1.2519999999999811, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 182.618, "dur": 1.5870000000000175, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_has_compatible_shallow_copy_type", "ph": "X", "ts": 189.559, "dur": 1.1850000000000023, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::set_data", "ph": "X", "ts": 193.925, "dur": 3.5600000000000023, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_has_compatible_shallow_copy_type", "ph": "X", "ts": 195.186, "dur": 1.054000000000002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::randn", "ph": "X", "ts": 2570.025, "dur": 61.822000000000116, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2574.206, "dur": 5.308999999999742, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::normal_", "ph": "X", "ts": 2582.046, "dur": 48.271000000000186, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3221.996, "dur": 5.288000000000011, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::random_", "ph": "X", "ts": 3308.647, "dur": 11.412000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::is_floating_point", "ph": "X", "ts": 3326.955, "dur": 1.5470000000000255, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::item", "ph": "X", "ts": 3339.945, "dur": 8.588999999999942, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_local_scalar_dense", "ph": "X", "ts": 3342.775, "dur": 4.529999999999745, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 3376.418, "dur": 12.985999999999876, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3381.765, "dur": 2.762000000000171, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 3413.297, "dur": 40.929999999999836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 3417.855, "dur": 5.887000000000171, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3420.842, "dur": 1.7329999999997199, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 3425.337, "dur": 25.809999999999945, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 3428.012, "dur": 21.442000000000007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3432.097, "dur": 2.5599999999999454, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 3438.643, "dur": 2.844000000000051, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 3443.968, "dur": 1.167000000000371, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 3446.78, "dur": 1.0949999999998, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3481.682, "dur": 14.400000000000091, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3484.174, "dur": 2.9830000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3488.937, "dur": 5.876999999999953, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 3490.979, "dur": 2.7530000000001564, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 3509.096, "dur": 219.07200000000012, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3511.332, "dur": 2.104000000000269, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 3564.824, "dur": 2.40099999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 3620.72, "dur": 15.432000000000244, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 3624.747, "dur": 6.519999999999982, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3627.284, "dur": 2.7229999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 3641.587, "dur": 37.67599999999993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3646.704, "dur": 2.1929999999997563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 3650.847, "dur": 5.239999999999782, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3653.339, "dur": 1.51299999999992, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 3659.861, "dur": 11.55600000000004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 3666.495, "dur": 1.1730000000002292, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 3742.0, "dur": 11.407999999999902, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3747.237, "dur": 2.0709999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 3765.534, "dur": 38.2829999999999, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 3770.058, "dur": 5.657000000000153, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3773.123, "dur": 1.4490000000000691, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 3777.252, "dur": 23.610999999999876, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 3779.628, "dur": 19.690999999999804, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3783.274, "dur": 2.32300000000032, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 3789.318, "dur": 2.4359999999996944, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 3793.897, "dur": 1.1779999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 3796.838, "dur": 1.0169999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3826.407, "dur": 13.891999999999825, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3829.028, "dur": 2.5700000000001637, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3833.259, "dur": 5.686000000000149, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 3835.103, "dur": 2.811999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 3850.685, "dur": 186.70000000000027, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3852.843, "dur": 1.844000000000051, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 3895.115, "dur": 2.22400000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 3941.402, "dur": 14.891999999999825, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 3945.592, "dur": 6.195999999999913, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3947.987, "dur": 2.5470000000000255, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 3961.284, "dur": 34.723999999999705, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3965.928, "dur": 2.1920000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 3969.975, "dur": 4.936999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3972.225, "dur": 1.3580000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 3978.356, "dur": 10.846999999999753, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 3984.505, "dur": 1.1970000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 4050.305, "dur": 10.524000000000342, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4055.12, "dur": 1.8769999999999527, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 4072.075, "dur": 37.07999999999993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 4076.189, "dur": 5.639000000000124, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4079.298, "dur": 1.4470000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 4083.375, "dur": 22.822000000000116, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 4085.648, "dur": 19.01800000000003, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4089.173, "dur": 2.0950000000002547, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 4094.835, "dur": 2.2299999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 4099.441, "dur": 1.0450000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 4102.202, "dur": 1.0159999999996217, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 4130.637, "dur": 13.369000000000597, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4133.205, "dur": 2.3410000000003492, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 4137.278, "dur": 5.436999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 4138.995, "dur": 2.693000000000211, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 4153.926, "dur": 178.6389999999992, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4156.217, "dur": 1.7510000000002037, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 4195.988, "dur": 2.199999999999818, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 4240.027, "dur": 14.393000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 4243.885, "dur": 6.010000000000218, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4246.327, "dur": 2.3599999999996726, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 4258.8, "dur": 33.66699999999946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4263.393, "dur": 1.8800000000001091, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 4267.065, "dur": 4.881000000000313, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4269.315, "dur": 1.3780000000006112, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 4275.255, "dur": 10.646999999999935, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 4281.245, "dur": 1.1779999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 4345.255, "dur": 10.524999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4350.058, "dur": 1.904000000000451, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 4367.227, "dur": 36.98000000000047, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 4371.387, "dur": 5.587000000000444, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4374.4, "dur": 1.4840000000003783, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 4378.517, "dur": 22.80699999999979, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 4380.685, "dur": 19.091999999999643, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4384.252, "dur": 2.2999999999992724, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 4390.022, "dur": 2.230000000000473, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 4394.492, "dur": 1.1129999999993743, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 4397.352, "dur": 1.0029999999997017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 4425.102, "dur": 13.286000000000058, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4427.744, "dur": 2.3710000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 4431.852, "dur": 5.3100000000004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 4433.477, "dur": 2.631000000000313, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 4448.148, "dur": 176.2569999999996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4450.328, "dur": 1.8489999999992506, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 4490.296, "dur": 2.1729999999997744, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 4533.253, "dur": 14.268000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 4537.185, "dur": 5.919999999999163, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4539.536, "dur": 2.3369999999995343, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 4551.866, "dur": 33.51100000000042, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4556.521, "dur": 1.8940000000002328, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 4560.263, "dur": 4.913000000000466, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4562.515, "dur": 1.4510000000000218, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 4568.489, "dur": 10.473000000000866, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 4574.362, "dur": 1.1599999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 4637.105, "dur": 10.57800000000043, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4641.873, "dur": 2.004000000000815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 4658.46, "dur": 36.66700000000037, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 4662.58, "dur": 5.554000000000087, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4665.525, "dur": 1.4350000000004002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 4669.681, "dur": 22.519000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 4671.866, "dur": 18.782000000000153, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4675.46, "dur": 2.113999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 4680.993, "dur": 2.280999999999949, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 4685.425, "dur": 1.037000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 4688.203, "dur": 1.0039999999999054, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 4715.042, "dur": 13.52099999999973, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4717.665, "dur": 2.3220000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 4721.753, "dur": 5.420000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 4723.527, "dur": 2.600000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 4737.928, "dur": 175.34799999999996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4740.202, "dur": 1.962999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 4779.659, "dur": 2.1810000000004948, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 4822.195, "dur": 14.462000000000444, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 4826.145, "dur": 6.042999999999665, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4828.557, "dur": 2.417000000000371, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 4840.908, "dur": 33.61999999999989, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4845.514, "dur": 2.032999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 4849.345, "dur": 4.979999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4851.642, "dur": 1.4180000000005748, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 4857.664, "dur": 10.457000000000335, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 4863.526, "dur": 1.1890000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 4925.823, "dur": 10.717999999999847, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4930.633, "dur": 1.9650000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 4947.455, "dur": 65.3680000000004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 4951.668, "dur": 5.407000000000153, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4954.524, "dur": 1.4159999999992579, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 4958.589, "dur": 22.798999999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 4960.849, "dur": 19.005999999999403, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4964.309, "dur": 2.2479999999995925, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 4969.917, "dur": 2.186999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 4974.417, "dur": 1.0509999999994761, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 4977.335, "dur": 1.0140000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 5037.288, "dur": 14.615000000000691, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5040.223, "dur": 2.9200000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 5044.86, "dur": 5.703000000000429, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 5046.74, "dur": 2.7979999999997744, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 5062.309, "dur": 180.9389999999994, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5064.541, "dur": 1.9569999999994252, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 5105.277, "dur": 2.1779999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 5149.615, "dur": 14.641999999999825, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 5153.578, "dur": 5.976999999999862, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5155.842, "dur": 2.4729999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 5168.934, "dur": 34.634000000000015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5173.722, "dur": 1.998000000000502, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 5177.653, "dur": 4.84099999999944, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5179.833, "dur": 1.3810000000003129, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 5186.042, "dur": 10.557999999999993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 5192.074, "dur": 1.160000000000764, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 5256.074, "dur": 10.904000000000451, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5260.938, "dur": 2.07799999999952, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 5277.867, "dur": 37.4340000000002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 5281.943, "dur": 5.515999999999622, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5284.886, "dur": 1.4619999999995343, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 5288.984, "dur": 23.36199999999917, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 5291.323, "dur": 19.438000000000102, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5294.787, "dur": 2.399999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 5300.799, "dur": 2.543999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 5305.48, "dur": 1.0460000000002765, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 5308.349, "dur": 1.0169999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 5335.975, "dur": 13.15099999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5338.646, "dur": 2.4200000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 5342.769, "dur": 5.16399999999976, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 5344.478, "dur": 2.4179999999996653, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 5358.296, "dur": 175.7469999999994, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5360.581, "dur": 1.9949999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 5399.795, "dur": 2.1539999999995416, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 5443.105, "dur": 14.196000000000822, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 5446.903, "dur": 5.934999999999491, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5449.228, "dur": 2.369999999999891, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 5461.801, "dur": 33.31700000000001, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5466.693, "dur": 1.894999999999527, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 5470.323, "dur": 4.793999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5472.464, "dur": 1.399000000000342, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 5478.406, "dur": 10.431000000000495, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 5484.348, "dur": 1.1159999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 5546.421, "dur": 11.067000000000007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5551.483, "dur": 2.032000000000153, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 5568.563, "dur": 36.67399999999998, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 5572.638, "dur": 5.462999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5575.533, "dur": 1.4669999999996435, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 5579.629, "dur": 22.69300000000021, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 5581.948, "dur": 18.876999999999498, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5585.458, "dur": 2.1450000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 5591.049, "dur": 2.451000000000022, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 5595.623, "dur": 1.0650000000005093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 5598.386, "dur": 1.0090000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 5625.399, "dur": 13.342999999999847, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5628.009, "dur": 2.3969999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 5632.198, "dur": 5.26299999999992, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 5633.839, "dur": 2.600000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 5648.099, "dur": 173.98399999999947, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5650.522, "dur": 1.8270000000002256, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 5688.934, "dur": 2.1279999999997017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 5731.615, "dur": 14.579999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 5735.587, "dur": 5.938999999999396, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5737.839, "dur": 2.4489999999996144, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 5750.503, "dur": 33.197000000000116, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5755.327, "dur": 1.9969999999993888, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 5759.124, "dur": 4.673999999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5761.204, "dur": 1.375, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 5767.148, "dur": 10.152000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 5772.887, "dur": 1.106999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 5834.053, "dur": 10.748000000000502, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5839.103, "dur": 1.8969999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 5855.458, "dur": 36.363000000000284, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 5859.581, "dur": 5.5479999999997744, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5862.555, "dur": 1.4409999999998035, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 5866.649, "dur": 22.256999999999607, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 5868.935, "dur": 18.487999999999374, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5872.376, "dur": 2.131999999999607, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 5877.898, "dur": 2.199999999999818, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 5882.209, "dur": 1.08600000000024, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 5884.956, "dur": 1.0289999999995416, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 5911.728, "dur": 13.045000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5914.335, "dur": 2.3209999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 5918.38, "dur": 5.167999999999665, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 5920.068, "dur": 2.457999999999629, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 5934.015, "dur": 171.97199999999975, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5936.318, "dur": 1.6629999999995562, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 5974.289, "dur": 2.1080000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 6016.057, "dur": 14.164999999999964, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 6020.03, "dur": 5.833999999999833, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6022.374, "dur": 2.2700000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 6034.529, "dur": 32.76999999999953, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6039.287, "dur": 1.91399999999976, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 6042.984, "dur": 4.711999999999534, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6045.084, "dur": 1.360000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 6050.934, "dur": 10.029999999999745, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 6056.458, "dur": 1.0760000000000218, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 6118.018, "dur": 10.828999999999724, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6122.996, "dur": 2.02599999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 6139.543, "dur": 36.177999999999884, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 6143.583, "dur": 5.536000000000058, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6146.521, "dur": 1.4949999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 6150.654, "dur": 22.227999999999156, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 6152.867, "dur": 18.521999999999935, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6156.278, "dur": 2.220999999999549, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 6161.843, "dur": 2.1729999999997744, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 6166.161, "dur": 1.0850000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 6168.942, "dur": 1.0140000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6195.208, "dur": 13.02100000000064, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6197.706, "dur": 2.431999999999789, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6201.862, "dur": 5.152000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 6203.586, "dur": 2.3969999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 6217.487, "dur": 172.23499999999967, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6219.786, "dur": 1.84900000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 6257.761, "dur": 2.094999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 6299.939, "dur": 14.420000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 6303.808, "dur": 6.11200000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6306.253, "dur": 2.4340000000001965, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 6318.635, "dur": 33.27099999999973, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6323.713, "dur": 1.9600000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 6327.463, "dur": 4.680000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6329.566, "dur": 1.3130000000001019, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 6335.448, "dur": 10.09099999999944, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 6341.084, "dur": 1.1390000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 6402.604, "dur": 10.871999999999389, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6407.387, "dur": 2.094000000000051, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 6424.239, "dur": 36.051000000000386, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 6428.159, "dur": 5.3969999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6431.074, "dur": 1.3850000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 6435.062, "dur": 22.346999999999753, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 6437.366, "dur": 18.54399999999987, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6440.85, "dur": 2.105999999999767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 6446.205, "dur": 2.28899999999976, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 6450.67, "dur": 1.0760000000000218, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 6453.427, "dur": 1.0120000000006257, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6479.829, "dur": 13.132000000000517, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6482.399, "dur": 2.4459999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6486.614, "dur": 5.144000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 6488.267, "dur": 2.4539999999997235, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 6502.096, "dur": 171.27000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6504.337, "dur": 1.8009999999994761, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 6542.734, "dur": 2.186999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 6584.402, "dur": 14.760000000000218, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 6588.286, "dur": 5.9210000000002765, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6590.639, "dur": 2.338999999999942, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 6603.418, "dur": 32.76299999999992, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6608.016, "dur": 1.9729999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 6611.707, "dur": 4.813999999999396, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6613.804, "dur": 1.4660000000003492, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 6619.764, "dur": 10.131999999999607, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 6625.444, "dur": 1.139999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 6685.839, "dur": 15.416000000000167, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6690.583, "dur": 1.9920000000001892, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 6712.283, "dur": 36.74499999999989, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 6716.349, "dur": 5.635000000000218, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6719.394, "dur": 1.481999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 6723.544, "dur": 22.634000000000015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 6725.848, "dur": 18.800000000000182, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6729.359, "dur": 2.2869999999993524, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 6734.989, "dur": 2.231999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 6739.396, "dur": 1.0380000000004657, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 6742.144, "dur": 0.9949999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6769.24, "dur": 13.085000000000036, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6771.849, "dur": 2.394999999999527, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6775.945, "dur": 5.15099999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 6777.6, "dur": 2.463999999999942, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 6791.669, "dur": 171.65599999999995, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6793.915, "dur": 1.6809999999995853, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 6831.985, "dur": 2.154000000000451, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 6874.021, "dur": 14.136000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 6877.921, "dur": 5.893000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6880.162, "dur": 2.4279999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 6892.617, "dur": 33.19200000000001, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6897.407, "dur": 1.9380000000001019, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 6901.14, "dur": 4.783999999999651, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6903.204, "dur": 1.3500000000003638, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 6909.282, "dur": 10.204999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 6915.07, "dur": 1.1660000000001673, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 6975.757, "dur": 15.972999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6980.839, "dur": 2.356999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 7003.044, "dur": 37.909999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 7007.205, "dur": 5.872000000000298, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7010.316, "dur": 1.4809999999997672, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 7014.809, "dur": 23.329999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 7017.207, "dur": 19.453999999999724, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7020.839, "dur": 2.305000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 7026.559, "dur": 2.298999999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 7031.026, "dur": 1.2179999999998472, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 7034.097, "dur": 1.092000000000553, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 7061.016, "dur": 15.794000000000779, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7065.536, "dur": 2.5599999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 7069.884, "dur": 5.622000000000298, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 7071.77, "dur": 2.6239999999997963, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 7086.618, "dur": 182.4989999999998, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7088.802, "dur": 1.8280000000004293, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 7127.164, "dur": 2.2849999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 7169.145, "dur": 15.054999999999382, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 7173.23, "dur": 6.220000000000255, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7175.537, "dur": 2.545999999999367, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 7188.764, "dur": 36.18499999999949, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7195.635, "dur": 2.131999999999607, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 7199.768, "dur": 4.942000000000007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7201.884, "dur": 1.4790000000002692, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 7207.945, "dur": 10.234000000000378, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 7213.709, "dur": 1.1199999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 7282.037, "dur": 11.186999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7287.008, "dur": 2.079000000000633, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 7304.294, "dur": 40.30199999999968, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 7308.527, "dur": 8.128999999999905, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7313.488, "dur": 1.9459999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 7318.277, "dur": 23.363999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 7320.629, "dur": 19.472999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7324.262, "dur": 2.298999999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 7329.942, "dur": 2.2539999999999054, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 7334.43, "dur": 1.1790000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 7337.356, "dur": 1.2030000000004293, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 7365.887, "dur": 14.783000000000357, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7368.407, "dur": 2.2669999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 7372.424, "dur": 6.960000000000036, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 7374.084, "dur": 4.050000000000182, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 7390.202, "dur": 178.51800000000003, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7392.477, "dur": 1.9470000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 7431.761, "dur": 2.3029999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 7474.346, "dur": 15.358000000000175, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 7478.239, "dur": 6.285000000000764, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7480.619, "dur": 2.5510000000003856, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 7494.081, "dur": 36.733000000000175, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7498.829, "dur": 2.0200000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 7502.904, "dur": 7.351999999999862, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7505.114, "dur": 1.504000000000815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 7513.746, "dur": 10.574999999999818, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 7519.662, "dur": 1.16399999999976, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 7581.119, "dur": 10.884000000000015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7586.088, "dur": 2.0090000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 7602.591, "dur": 40.07199999999921, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 7606.807, "dur": 5.650000000000546, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7609.827, "dur": 1.4520000000002256, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 7614.108, "dur": 25.67199999999957, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 7616.525, "dur": 21.637000000000626, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7622.184, "dur": 2.350999999999658, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 7628.171, "dur": 2.238999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 7632.687, "dur": 1.081000000000131, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 7635.537, "dur": 1.0869999999995343, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 7662.519, "dur": 12.985999999999876, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7664.987, "dur": 2.2950000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 7668.965, "dur": 5.224999999999454, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 7670.67, "dur": 2.488999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 7685.047, "dur": 178.46900000000005, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7687.379, "dur": 3.518000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 7728.015, "dur": 2.5689999999995052, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 7770.108, "dur": 15.313999999999396, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 7774.116, "dur": 6.390999999999622, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7776.562, "dur": 2.623000000000502, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 7790.008, "dur": 35.896999999999935, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7794.888, "dur": 2.1090000000003783, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 7798.784, "dur": 4.963000000000648, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7800.987, "dur": 1.393000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 7807.188, "dur": 12.353000000000065, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 7813.019, "dur": 1.1219999999993888, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 7875.92, "dur": 11.220000000000255, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7880.867, "dur": 2.0599999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 7897.784, "dur": 40.483000000000175, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 7901.904, "dur": 5.799999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7904.937, "dur": 1.550000000000182, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 7909.61, "dur": 25.735999999999876, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 7911.967, "dur": 21.71100000000024, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7915.608, "dur": 2.3890000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 7921.427, "dur": 2.393000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 7926.107, "dur": 3.019000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 7931.05, "dur": 1.0979999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 7958.02, "dur": 13.64299999999912, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7960.608, "dur": 2.394000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 7964.731, "dur": 5.256000000000313, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 7966.365, "dur": 2.5100000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 7980.627, "dur": 265.39500000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7982.799, "dur": 1.8230000000003201, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 8021.257, "dur": 2.331000000000131, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 8063.008, "dur": 14.739999999999782, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 8066.987, "dur": 5.975000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8069.227, "dur": 2.32300000000032, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 8082.082, "dur": 124.14300000000003, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8086.908, "dur": 2.121999999999389, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 8090.878, "dur": 93.91200000000026, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8093.03, "dur": 1.4729999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 8188.962, "dur": 10.774000000000342, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 8195.257, "dur": 1.1480000000010477, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 8258.265, "dur": 11.037000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8263.309, "dur": 1.941000000000713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 8279.82, "dur": 36.55500000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 8284.03, "dur": 5.290999999999258, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8286.827, "dur": 1.375, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 8290.848, "dur": 22.65400000000045, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 8293.137, "dur": 18.83299999999872, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8296.756, "dur": 2.1810000000004948, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 8302.323, "dur": 2.206000000000131, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 8306.761, "dur": 1.0799999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 8309.549, "dur": 1.0009999999983847, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8336.13, "dur": 13.301000000001295, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8338.67, "dur": 2.587999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8342.941, "dur": 5.2739999999994325, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 8344.711, "dur": 2.4690000000009604, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 8358.81, "dur": 172.5500000000011, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8360.938, "dur": 1.9529999999995198, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 8400.146, "dur": 2.194999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 8442.377, "dur": 14.063000000000102, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 8446.208, "dur": 5.793999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8448.318, "dur": 2.459000000000742, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 8460.618, "dur": 33.04700000000048, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8465.257, "dur": 1.9099999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 8469.051, "dur": 4.804000000000087, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8471.16, "dur": 1.3909999999996217, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 8477.148, "dur": 10.21100000000115, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 8482.89, "dur": 1.1650000000008731, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 8543.6, "dur": 10.738999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8548.571, "dur": 1.8739999999997963, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 8564.617, "dur": 36.925999999999476, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 8568.811, "dur": 5.507999999999811, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8571.765, "dur": 1.47400000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 8575.84, "dur": 22.826999999999316, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 8578.245, "dur": 18.878999999998996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8581.825, "dur": 2.072999999998501, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 8587.403, "dur": 2.246999999999389, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 8591.815, "dur": 1.0929999999989377, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 8594.618, "dur": 1.006999999999607, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8621.265, "dur": 13.194000000001324, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8623.835, "dur": 2.5090000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8628.015, "dur": 5.2520000000004075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 8629.677, "dur": 2.5650000000005093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 8643.615, "dur": 169.78700000000026, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8645.839, "dur": 1.9639999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 8684.361, "dur": 2.234999999998763, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 8725.396, "dur": 14.03399999999965, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 8729.365, "dur": 5.69800000000032, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8731.476, "dur": 2.3469999999997526, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 8743.726, "dur": 33.0, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8748.397, "dur": 1.9209999999984575, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 8752.148, "dur": 4.721000000001368, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8754.23, "dur": 1.430000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 8760.029, "dur": 10.173999999999069, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 8765.761, "dur": 1.106999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 8825.377, "dur": 10.78399999999965, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8830.357, "dur": 1.9429999999993015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 8846.568, "dur": 37.0570000000007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 8850.678, "dur": 5.5789999999997235, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8853.56, "dur": 1.5300000000006548, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 8857.85, "dur": 22.88500000000022, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 8860.121, "dur": 19.09700000000157, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8863.588, "dur": 2.157999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 8869.237, "dur": 2.188000000000102, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 8873.805, "dur": 1.0799999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 8876.62, "dur": 1.0019999999985885, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8903.062, "dur": 12.933000000000902, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8905.622, "dur": 2.269000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8909.555, "dur": 5.1929999999993015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 8911.202, "dur": 2.5210000000006403, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 8925.195, "dur": 210.46800000000076, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8927.463, "dur": 1.9799999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 8965.542, "dur": 2.1380000000008295, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 9042.788, "dur": 15.019000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 9047.005, "dur": 6.0350000000016735, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9049.118, "dur": 2.628999999998996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 9062.384, "dur": 34.322000000000116, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9067.336, "dur": 2.0760000000009313, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 9071.26, "dur": 4.6599999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9073.323, "dur": 1.3429999999989377, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 9079.364, "dur": 10.619000000000597, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 9085.36, "dur": 1.1479999999992287, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 9148.116, "dur": 10.701999999999316, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9153.024, "dur": 1.8170000000009168, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 9170.016, "dur": 36.98899999999958, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 9174.348, "dur": 5.3880000000008295, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9177.201, "dur": 1.419000000001688, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 9181.305, "dur": 22.87199999999939, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 9183.824, "dur": 18.816999999999098, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9187.265, "dur": 2.1530000000002474, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 9193.077, "dur": 2.1940000000013242, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 9197.491, "dur": 1.0540000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 9200.206, "dur": 0.9969999999993888, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9227.261, "dur": 13.269000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9229.837, "dur": 2.3800000000010186, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9233.943, "dur": 5.353000000000975, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 9235.697, "dur": 2.5689999999995052, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 9249.97, "dur": 171.74099999999999, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9252.237, "dur": 1.9440000000013242, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 9290.689, "dur": 2.3069999999988795, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 9333.026, "dur": 14.024999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 9337.001, "dur": 5.6270000000004075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9339.129, "dur": 2.2519999999985885, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 9351.365, "dur": 33.07999999999993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9356.1, "dur": 1.868000000000393, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 9359.795, "dur": 4.643000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9361.871, "dur": 1.2840000000014697, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 9367.657, "dur": 10.44800000000032, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 9373.497, "dur": 1.1460000000006403, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 9434.163, "dur": 10.579999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9439.06, "dur": 1.868000000000393, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 9455.16, "dur": 36.37800000000061, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 9459.269, "dur": 5.279000000000451, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9462.016, "dur": 1.3850000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 9466.041, "dur": 22.608000000000175, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 9468.358, "dur": 18.745999999999185, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9472.049, "dur": 1.988999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 9477.498, "dur": 2.1630000000004657, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 9481.838, "dur": 1.0689999999995052, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 9484.627, "dur": 1.0119999999988067, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9511.028, "dur": 13.011000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9513.571, "dur": 2.1149999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9517.463, "dur": 5.253000000000611, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 9519.131, "dur": 2.5650000000005093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 9533.219, "dur": 171.40900000000147, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9535.472, "dur": 1.9799999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 9573.684, "dur": 2.155000000000655, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 9615.62, "dur": 14.319999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 9619.631, "dur": 6.054000000000087, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9622.071, "dur": 2.397000000000844, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 9634.232, "dur": 32.96600000000035, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9638.84, "dur": 1.90099999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 9642.558, "dur": 4.793999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9644.718, "dur": 1.4129999999986467, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 9650.771, "dur": 10.193999999999505, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 9656.501, "dur": 1.1479999999992287, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 9716.557, "dur": 10.448999999998705, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9721.17, "dur": 2.0, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 9737.648, "dur": 36.49300000000039, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 9741.771, "dur": 5.351999999998952, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9744.506, "dur": 1.5169999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 9748.656, "dur": 22.620999999999185, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 9750.905, "dur": 18.858000000000175, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9754.449, "dur": 2.0759999999991123, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 9759.828, "dur": 2.478000000000975, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 9764.425, "dur": 1.0720000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 9767.26, "dur": 1.0169999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9794.496, "dur": 12.764000000001033, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9796.949, "dur": 2.219999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9800.936, "dur": 5.126000000000204, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 9802.53, "dur": 2.5119999999988067, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 9816.369, "dur": 169.97999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9818.741, "dur": 1.819999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 9856.906, "dur": 2.1999999999989086, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 9898.319, "dur": 13.909999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 9902.249, "dur": 5.737999999999374, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9904.541, "dur": 2.183000000000902, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 9916.547, "dur": 32.97099999999955, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9921.328, "dur": 2.018000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 9925.188, "dur": 4.653000000000247, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9927.269, "dur": 1.3619999999991705, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 9933.142, "dur": 10.105999999999767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 9938.867, "dur": 1.1090000000003783, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 9998.351, "dur": 10.546999999998661, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10003.204, "dur": 1.9719999999997526, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 10019.626, "dur": 35.925999999999476, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 10023.819, "dur": 5.119000000000597, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10026.444, "dur": 1.3870000000006257, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 10030.499, "dur": 22.29700000000048, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 10032.724, "dur": 18.54199999999946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10036.243, "dur": 2.165999999999258, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 10041.719, "dur": 2.1920000000009168, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 10046.051, "dur": 1.0780000000013388, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 10048.809, "dur": 1.0020000000004075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10075.168, "dur": 13.177999999999884, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10077.846, "dur": 2.2780000000002474, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10081.852, "dur": 5.286000000000058, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 10083.572, "dur": 2.5560000000004948, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 10097.121, "dur": 169.8610000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10099.264, "dur": 1.9220000000004802, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 10137.058, "dur": 2.1859999999996944, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 10178.238, "dur": 14.44800000000032, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 10182.161, "dur": 5.722999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10184.226, "dur": 2.4319999999988795, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 10196.991, "dur": 32.832000000000335, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10201.651, "dur": 1.897000000000844, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 10205.404, "dur": 4.673999999999069, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10207.484, "dur": 1.3850000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 10213.429, "dur": 10.066999999999098, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 10219.029, "dur": 1.1669999999994616, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 10278.969, "dur": 10.317000000000917, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10283.67, "dur": 1.8619999999991705, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 10299.804, "dur": 36.0679999999993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 10303.887, "dur": 5.281999999999243, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10306.609, "dur": 1.4529999999995198, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 10310.684, "dur": 22.42500000000109, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 10312.912, "dur": 18.693999999999505, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10316.426, "dur": 2.1520000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 10322.006, "dur": 2.3360000000011496, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 10326.452, "dur": 1.0709999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 10329.183, "dur": 0.9989999999997963, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10354.986, "dur": 12.851999999998952, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10357.512, "dur": 2.2189999999991414, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10361.441, "dur": 5.2259999999987485, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 10363.089, "dur": 2.5339999999996508, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 10376.784, "dur": 170.63400000000001, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10379.039, "dur": 2.161999999998443, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 10416.687, "dur": 2.1309999999994034, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 10458.487, "dur": 14.213999999999942, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 10462.426, "dur": 5.811999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10464.783, "dur": 2.228000000000975, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 10476.938, "dur": 32.83400000000074, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10481.589, "dur": 1.8320000000003347, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 10485.229, "dur": 4.873999999999796, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10487.336, "dur": 1.5230000000010477, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 10493.361, "dur": 10.204999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 10499.076, "dur": 1.202000000001135, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 10559.103, "dur": 10.493000000000393, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10563.799, "dur": 2.0129999999990105, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 10580.088, "dur": 35.81500000000051, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 10584.111, "dur": 5.286999999998443, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10586.821, "dur": 1.4580000000005384, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 10590.924, "dur": 22.18499999999949, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 10593.138, "dur": 18.50199999999859, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10596.556, "dur": 2.1520000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 10602.043, "dur": 2.2399999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 10606.463, "dur": 1.0599999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 10609.171, "dur": 1.0249999999996362, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10635.306, "dur": 13.152000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10638.072, "dur": 2.308999999999287, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10642.116, "dur": 5.155000000000655, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 10643.738, "dur": 2.525000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 10657.745, "dur": 169.0059999999994, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10660.012, "dur": 1.7780000000002474, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 10697.699, "dur": 2.146999999999025, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 10738.864, "dur": 13.768000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 10742.581, "dur": 5.682999999999083, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10744.758, "dur": 2.3060000000004948, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 10756.811, "dur": 32.96800000000076, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10761.544, "dur": 1.9860000000007858, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 10765.286, "dur": 4.720999999999549, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10767.389, "dur": 1.4020000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 10773.23, "dur": 10.220000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 10778.969, "dur": 1.1550000000006548, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 10838.763, "dur": 10.423999999999069, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10843.598, "dur": 1.8240000000005239, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 10859.496, "dur": 35.9330000000009, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 10863.509, "dur": 5.540000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10866.507, "dur": 1.4400000000005093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 10870.592, "dur": 22.013999999999214, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 10872.836, "dur": 18.243000000000393, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10876.183, "dur": 2.0689999999995052, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 10881.578, "dur": 2.1779999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 10885.929, "dur": 1.0969999999997526, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 10888.646, "dur": 1.0049999999991996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10914.741, "dur": 12.889999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10917.329, "dur": 2.180000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10921.226, "dur": 5.206000000000131, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 10922.823, "dur": 2.5749999999989086, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 10936.999, "dur": 168.95800000000054, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10939.119, "dur": 1.7969999999986612, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 10977.248, "dur": 2.188000000000102, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 11018.591, "dur": 13.815999999998894, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 11022.516, "dur": 5.636000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11024.584, "dur": 2.3369999999995343, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 11036.551, "dur": 32.36200000000099, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11041.161, "dur": 1.886000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 11044.806, "dur": 4.649999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11046.887, "dur": 1.3619999999991705, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 11052.626, "dur": 10.03900000000067, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 11058.282, "dur": 1.0750000000007276, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 11117.617, "dur": 10.55199999999968, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11122.382, "dur": 1.8770000000004075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 11138.449, "dur": 35.5630000000001, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 11142.325, "dur": 5.411999999998443, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11145.192, "dur": 1.4290000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 11149.272, "dur": 21.929999999998472, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 11151.542, "dur": 18.12300000000141, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11154.865, "dur": 2.1740000000008877, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 11160.322, "dur": 2.0450000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 11164.472, "dur": 1.0470000000004802, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 11167.226, "dur": 0.9929999999985739, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11193.149, "dur": 12.936999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11195.69, "dur": 2.2369999999991705, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11199.606, "dur": 5.255000000001019, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 11201.222, "dur": 2.6190000000005966, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 11215.264, "dur": 167.69400000000132, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11217.398, "dur": 1.7210000000013679, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 11254.498, "dur": 2.1740000000008877, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 11295.052, "dur": 14.019000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 11298.959, "dur": 5.75, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11301.067, "dur": 2.4030000000002474, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 11313.382, "dur": 32.64000000000124, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11318.106, "dur": 1.9359999999996944, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 11321.777, "dur": 4.690000000000509, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11323.852, "dur": 1.3979999999992287, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 11329.622, "dur": 10.14100000000144, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 11335.343, "dur": 1.1439999999984138, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 11395.081, "dur": 10.420000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11399.832, "dur": 1.8770000000004075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 11415.592, "dur": 35.78600000000006, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 11419.489, "dur": 5.540000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11422.452, "dur": 1.4639999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 11426.551, "dur": 21.985000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 11428.783, "dur": 18.26300000000083, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11432.156, "dur": 2.161999999998443, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 11437.639, "dur": 2.1570000000010623, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 11441.919, "dur": 1.0850000000009459, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 11444.619, "dur": 1.0190000000002328, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11471.028, "dur": 12.840000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11473.465, "dur": 2.256999999999607, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11477.428, "dur": 5.242000000000189, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 11479.04, "dur": 2.5419999999994616, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 11493.068, "dur": 167.52400000000125, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11495.284, "dur": 1.863999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 11532.273, "dur": 2.177000000001499, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 11573.227, "dur": 14.171999999998661, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 11577.204, "dur": 5.843000000000757, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11579.382, "dur": 2.42699999999968, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 11591.689, "dur": 32.57599999999911, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11596.367, "dur": 1.9380000000001019, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 11600.08, "dur": 4.610000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11602.132, "dur": 1.2920000000012806, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 11607.927, "dur": 10.18499999999949, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 11613.727, "dur": 1.1299999999991996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 11672.137, "dur": 10.572000000000116, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11676.886, "dur": 2.0129999999990105, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 11692.71, "dur": 35.65100000000166, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 11696.629, "dur": 5.455999999998312, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11699.522, "dur": 1.4219999999986612, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 11703.599, "dur": 21.962999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 11705.809, "dur": 18.25300000000061, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11709.246, "dur": 2.095000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 11714.662, "dur": 2.144000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 11718.939, "dur": 1.0730000000003201, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 11721.63, "dur": 0.9990000000016153, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11747.224, "dur": 12.894000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11749.684, "dur": 2.265000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11753.681, "dur": 5.2479999999995925, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 11755.278, "dur": 2.6010000000005675, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 11769.052, "dur": 175.3720000000012, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11771.201, "dur": 4.529000000000451, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 11811.799, "dur": 2.4129999999986467, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 11852.262, "dur": 15.037999999998647, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 11856.212, "dur": 6.280000000000655, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11858.553, "dur": 2.605999999999767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 11871.785, "dur": 35.784999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11876.672, "dur": 1.9509999999991123, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 11880.65, "dur": 5.029000000000451, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11882.804, "dur": 1.4590000000007421, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 11888.96, "dur": 10.033000000001266, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 11894.564, "dur": 1.09900000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 11956.579, "dur": 11.358000000000175, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11961.66, "dur": 2.0799999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 11978.302, "dur": 39.5630000000001, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 11982.389, "dur": 5.579999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11985.33, "dur": 1.4690000000009604, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 11989.587, "dur": 25.485000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 11992.004, "dur": 21.385999999998603, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11995.639, "dur": 2.2010000000009313, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 12001.245, "dur": 2.3249999999989086, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 12005.873, "dur": 3.1490000000012515, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 12010.792, "dur": 1.0730000000003201, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12037.224, "dur": 13.194999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12039.932, "dur": 2.4179999999996653, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12044.037, "dur": 5.119999999998981, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 12045.665, "dur": 2.414999999999054, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 12059.782, "dur": 170.94500000000153, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12061.947, "dur": 1.7749999999996362, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 12099.137, "dur": 2.149999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 12139.182, "dur": 16.484999999998763, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 12145.085, "dur": 5.997000000001208, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12147.382, "dur": 2.3870000000006257, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 12160.27, "dur": 33.594999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12165.239, "dur": 1.9799999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 12169.046, "dur": 4.834999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12171.192, "dur": 1.3950000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 12177.247, "dur": 10.345000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 12182.89, "dur": 1.114000000001397, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 12242.745, "dur": 12.982999999998356, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12249.744, "dur": 1.9599999999991269, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 12266.545, "dur": 39.13500000000022, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 12270.525, "dur": 5.635000000000218, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12273.451, "dur": 1.537000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 12277.805, "dur": 23.134000000000015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 12280.192, "dur": 19.153000000000247, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12283.648, "dur": 2.210000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 12289.232, "dur": 2.334999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 12293.9, "dur": 1.1380000000008295, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 12296.758, "dur": 1.0820000000003347, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12324.932, "dur": 13.527000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12327.522, "dur": 2.385999999998603, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12331.764, "dur": 5.416000000001077, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 12333.528, "dur": 2.55199999999968, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 12347.537, "dur": 172.90300000000025, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12349.731, "dur": 1.7510000000002037, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 12387.342, "dur": 2.1999999999989086, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 12428.085, "dur": 16.424000000000888, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 12432.068, "dur": 6.031000000000859, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12434.345, "dur": 2.438000000000102, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 12448.982, "dur": 34.201999999999316, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12454.059, "dur": 2.1710000000002765, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 12458.012, "dur": 4.915999999999258, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12460.209, "dur": 1.4359999999996944, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 12466.488, "dur": 10.134000000000015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 12472.113, "dur": 1.15099999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 12532.729, "dur": 10.927999999999884, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12537.593, "dur": 1.9279999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 12556.272, "dur": 37.10499999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 12560.367, "dur": 5.685999999999694, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12563.292, "dur": 1.5050000000010186, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 12567.713, "dur": 22.847999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 12570.027, "dur": 19.016999999999825, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12573.453, "dur": 2.2659999999996217, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 12579.047, "dur": 2.3029999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 12583.544, "dur": 1.157999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 12586.517, "dur": 1.055000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12612.722, "dur": 15.167999999999665, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12615.309, "dur": 4.164000000000669, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12621.292, "dur": 5.352000000000771, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 12622.981, "dur": 2.5720000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 12637.392, "dur": 172.48799999999937, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12639.486, "dur": 1.7639999999992142, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 12676.93, "dur": 2.337999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 12718.04, "dur": 14.532999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 12721.931, "dur": 5.9319999999988795, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12724.099, "dur": 2.407999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 12736.943, "dur": 35.68000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12741.868, "dur": 2.0100000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 12747.598, "dur": 4.8840000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12749.732, "dur": 1.4069999999992433, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 12755.807, "dur": 10.203999999999724, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 12761.52, "dur": 1.2079999999987194, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 12822.158, "dur": 10.726000000000568, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12827.022, "dur": 1.8689999999987776, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 12843.302, "dur": 357.41100000000006, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 12847.687, "dur": 5.6120000000009895, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12850.643, "dur": 1.4279999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 12854.885, "dur": 23.162000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 12857.163, "dur": 19.34900000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12860.68, "dur": 2.2299999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 12866.425, "dur": 2.3170000000009168, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 12870.957, "dur": 1.172999999998865, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 12873.833, "dur": 1.168999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 13226.107, "dur": 18.572000000000116, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13229.171, "dur": 3.3799999999991996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 13234.286, "dur": 5.846999999999753, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 13236.245, "dur": 2.833999999998923, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 13256.348, "dur": 188.47299999999996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13258.703, "dur": 2.2770000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 13300.759, "dur": 2.2600000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 13345.467, "dur": 15.515999999999622, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 13349.872, "dur": 6.313000000000102, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13352.262, "dur": 2.657999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 13365.743, "dur": 38.844999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13370.712, "dur": 2.100000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 13374.657, "dur": 5.003000000000611, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13376.819, "dur": 1.6080000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 13387.019, "dur": 10.813000000000102, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 13393.272, "dur": 1.157999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 13457.153, "dur": 10.891999999999825, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13461.964, "dur": 2.0059999999994034, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 13479.583, "dur": 40.88699999999881, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 13483.614, "dur": 5.3289999999997235, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13486.321, "dur": 1.5239999999994325, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 13490.465, "dur": 27.097999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 13492.813, "dur": 23.195999999999913, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13496.326, "dur": 2.2270000000007713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 13506.026, "dur": 2.485000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 13510.77, "dur": 1.1189999999987776, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 13513.601, "dur": 0.9849999999987631, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 13541.271, "dur": 13.073999999998705, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13543.746, "dur": 2.4400000000005093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 13547.921, "dur": 5.225000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 13549.61, "dur": 2.5309999999990396, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 13563.806, "dur": 185.3159999999989, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13566.169, "dur": 1.9240000000008877, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 13604.83, "dur": 5.65099999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 13651.347, "dur": 14.703999999999724, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 13655.363, "dur": 6.337000000001353, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13657.954, "dur": 2.5490000000008877, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 13670.434, "dur": 39.7390000000014, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13675.363, "dur": 2.0, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 13679.227, "dur": 4.860999999998967, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13681.458, "dur": 1.4069999999992433, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 13687.433, "dur": 10.292999999999665, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 13693.218, "dur": 1.201999999999316, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 13761.508, "dur": 10.622999999999593, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13766.285, "dur": 1.9220000000004802, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 13783.111, "dur": 40.80199999999968, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 13787.325, "dur": 5.3619999999991705, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13790.127, "dur": 1.4249999999992724, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 13794.223, "dur": 26.806000000000495, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 13796.498, "dur": 22.941000000000713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13800.148, "dur": 2.3170000000009168, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 13806.012, "dur": 2.377999999998792, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 13810.547, "dur": 1.0599999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 13816.939, "dur": 1.032999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 13844.699, "dur": 13.260999999998603, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13847.159, "dur": 2.7000000000007276, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 13851.561, "dur": 5.204999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 13853.165, "dur": 2.566999999999098, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 13867.463, "dur": 176.26200000000063, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13869.732, "dur": 1.8559999999997672, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 13908.331, "dur": 2.149999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 13949.823, "dur": 17.979999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 13953.853, "dur": 9.590000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13956.05, "dur": 6.164000000000669, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 13972.463, "dur": 33.288000000000466, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13977.23, "dur": 2.1130000000011933, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 13981.174, "dur": 4.6709999999984575, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13983.288, "dur": 1.3220000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 13989.294, "dur": 10.05999999999949, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 13994.931, "dur": 1.1000000000003638, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 14055.909, "dur": 14.498999999999796, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14060.769, "dur": 5.612999999999374, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 14081.666, "dur": 40.45400000000154, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 14085.834, "dur": 5.627999999998792, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14088.858, "dur": 1.4899999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 14092.99, "dur": 23.042999999999665, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 14095.463, "dur": 18.9950000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14098.99, "dur": 2.183000000000902, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 14104.68, "dur": 2.132999999999811, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 14109.18, "dur": 1.0609999999996944, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 14111.893, "dur": 1.0249999999996362, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 14142.281, "dur": 13.451999999999316, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14144.73, "dur": 2.5120000000006257, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 14149.01, "dur": 5.531999999999243, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 14150.708, "dur": 2.779999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 14165.305, "dur": 176.03899999999885, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14167.482, "dur": 1.8580000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 14205.852, "dur": 2.208999999998923, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 14247.014, "dur": 14.165000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 14250.846, "dur": 6.006999999999607, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14253.086, "dur": 2.5670000000009168, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 14269.272, "dur": 33.49199999999837, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14274.033, "dur": 2.095000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 14278.111, "dur": 4.680999999998676, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14280.168, "dur": 1.4130000000004657, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 14286.246, "dur": 10.303000000001703, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 14292.001, "dur": 1.1049999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 14353.828, "dur": 10.895000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14358.894, "dur": 1.9499999999989086, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 14375.441, "dur": 41.23999999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 14383.524, "dur": 5.644000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14386.444, "dur": 1.6190000000005966, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 14390.681, "dur": 23.170000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 14393.053, "dur": 19.20100000000093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14396.634, "dur": 2.4089999999996508, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 14402.524, "dur": 2.225000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 14406.961, "dur": 1.0850000000009459, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 14409.769, "dur": 0.9989999999997963, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 14437.161, "dur": 16.30500000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14439.771, "dur": 2.2600000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 14443.743, "dur": 8.528000000000247, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 14448.58, "dur": 2.6810000000004948, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 14463.754, "dur": 176.1319999999996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14466.158, "dur": 2.0310000000008586, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 14504.965, "dur": 2.1630000000004657, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 14546.329, "dur": 14.154000000000451, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 14550.441, "dur": 5.769999999998618, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14552.583, "dur": 2.430000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 14564.881, "dur": 37.06999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14569.42, "dur": 1.9830000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 14573.254, "dur": 8.468999999999141, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14579.151, "dur": 1.337999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 14585.126, "dur": 10.260000000000218, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 14590.881, "dur": 1.1500000000014552, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 14652.147, "dur": 10.46099999999933, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14657.039, "dur": 1.889999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 14673.115, "dur": 40.498999999999796, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 14677.231, "dur": 5.3400000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14680.071, "dur": 1.4159999999992579, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 14688.094, "dur": 22.632000000001426, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 14690.454, "dur": 18.69499999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14693.924, "dur": 2.2699999999986176, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 14699.619, "dur": 2.0819999999985157, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 14703.904, "dur": 1.0419999999994616, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 14706.654, "dur": 0.9979999999995925, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 14733.987, "dur": 13.04200000000128, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14736.46, "dur": 2.3260000000009313, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 14740.506, "dur": 5.302999999999884, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 14742.131, "dur": 2.67200000000048, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 14756.694, "dur": 184.5540000000001, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14762.324, "dur": 2.100000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 14801.16, "dur": 2.103000000000975, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 14841.828, "dur": 14.284999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 14845.632, "dur": 6.208000000000538, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14848.092, "dur": 2.5339999999996508, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 14860.705, "dur": 37.375, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14865.512, "dur": 1.9419999999990978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 14869.304, "dur": 4.789000000000669, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14871.501, "dur": 1.381999999999607, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 14877.448, "dur": 14.229999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 14883.188, "dur": 5.0049999999992, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 14953.706, "dur": 10.722999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14958.624, "dur": 1.9500000000007276, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 14975.17, "dur": 42.08899999999994, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 14979.429, "dur": 5.402000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14982.284, "dur": 1.4580000000005384, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 14986.299, "dur": 28.011999999998807, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 14988.701, "dur": 24.045000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14992.469, "dur": 2.2220000000015716, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 14998.054, "dur": 7.274999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 15007.491, "dur": 1.102999999999156, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 15010.244, "dur": 1.0349999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 15037.831, "dur": 13.192999999999302, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15040.314, "dur": 2.4899999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 15044.581, "dur": 5.173999999999069, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 15046.189, "dur": 2.5319999999992433, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 15060.866, "dur": 181.14799999999923, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15063.084, "dur": 1.9259999999994761, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 15101.403, "dur": 2.138999999999214, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 15142.407, "dur": 23.527000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 15155.424, "dur": 6.1599999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 15157.844, "dur": 2.4909999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 15170.554, "dur": 33.40699999999924, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15175.309, "dur": 2.019000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 15179.187, "dur": 4.734000000000378, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 15181.312, "dur": 1.3870000000006257, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 15187.281, "dur": 10.307999999999083, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 15193.146, "dur": 1.117999999998574, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 15260.584, "dur": 10.903999999998632, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 15265.564, "dur": 2.0419999999994616, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 15282.141, "dur": 40.1869999999999, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 15286.326, "dur": 5.355000000001382, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 15289.092, "dur": 1.4369999999998981, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 15293.151, "dur": 26.247999999999593, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 15295.504, "dur": 22.34899999999834, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15298.909, "dur": 2.2919999999994616, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 15304.603, "dur": 2.2810000000008586, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 15309.028, "dur": 1.1049999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 15311.986, "dur": 1.0129999999990105, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 15342.402, "dur": 13.13800000000083, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15344.95, "dur": 2.4309999999986758, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 15349.127, "dur": 5.2259999999987485, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 15350.76, "dur": 2.5650000000005093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 15365.229, "dur": 175.5580000000009, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15367.526, "dur": 2.1890000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 15405.89, "dur": 2.154000000000451, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 15446.875, "dur": 17.72700000000077, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 15450.67, "dur": 9.579999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 15453.026, "dur": 2.4359999999996944, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 15469.121, "dur": 33.68600000000151, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15473.887, "dur": 2.1999999999989086, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 15477.955, "dur": 4.789000000000669, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 15480.099, "dur": 1.4159999999992579, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 15486.147, "dur": 10.203999999999724, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 15491.961, "dur": 1.0600000000013097, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 15553.255, "dur": 14.300000000001091, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 15558.163, "dur": 1.9030000000002474, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 15578.542, "dur": 36.707000000000335, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 15582.69, "dur": 5.537000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 15585.646, "dur": 1.4759999999987485, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 15589.649, "dur": 22.76000000000022, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 15592.079, "dur": 18.722999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15595.726, "dur": 2.2079999999987194, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 15601.294, "dur": 2.2049999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 15605.607, "dur": 1.1020000000007713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 15608.334, "dur": 1.006999999999607, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 15634.802, "dur": 16.623999999999796, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15640.641, "dur": 2.6080000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 15644.992, "dur": 5.246999999999389, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 15646.624, "dur": 2.585000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 15661.663, "dur": 175.39899999999943, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15663.851, "dur": 1.7899999999990541, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 15702.049, "dur": 2.1569999999992433, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 15743.033, "dur": 14.256000000001222, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 15746.888, "dur": 6.019999999998618, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 15749.092, "dur": 2.563000000000102, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 15761.685, "dur": 37.11499999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15770.205, "dur": 2.0640000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 15774.144, "dur": 4.806000000000495, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 15776.233, "dur": 1.5270000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 15782.347, "dur": 10.19300000000112, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 15788.128, "dur": 1.1019999999989523, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 15849.314, "dur": 10.895000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 15854.241, "dur": 1.9860000000007858, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 15870.992, "dur": 40.57999999999993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 15875.094, "dur": 9.321000000001732, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 15881.802, "dur": 1.522000000000844, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 15885.873, "dur": 22.77599999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 15888.273, "dur": 18.822000000000116, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15891.742, "dur": 2.3400000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 15897.505, "dur": 2.2670000000016444, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 15901.852, "dur": 1.0939999999991414, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 15904.634, "dur": 1.0349999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 15932.022, "dur": 16.242999999998574, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15934.586, "dur": 2.378000000000611, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 15938.674, "dur": 8.3849999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 15940.335, "dur": 2.5970000000015716, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 15958.405, "dur": 173.22999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15960.635, "dur": 1.7860000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 15998.606, "dur": 2.219999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 16039.324, "dur": 14.08299999999872, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 16043.224, "dur": 5.907999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16045.464, "dur": 2.4470000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 16057.589, "dur": 36.90600000000086, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16062.262, "dur": 1.9489999999987049, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 16066.03, "dur": 8.253999999998996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16068.104, "dur": 1.2970000000004802, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 16077.782, "dur": 10.259000000000015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 16083.63, "dur": 1.092000000000553, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 16143.52, "dur": 10.591999999998734, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16148.323, "dur": 1.9650000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 16164.755, "dur": 40.39000000000124, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 16168.816, "dur": 5.547999999998865, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16171.792, "dur": 1.423000000000684, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 16175.8, "dur": 26.502000000000407, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 16178.09, "dur": 22.664999999999054, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16185.269, "dur": 2.3510000000005675, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 16191.142, "dur": 2.264999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 16195.536, "dur": 1.0889999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 16198.325, "dur": 0.9989999999997963, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 16225.2, "dur": 13.152000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16227.747, "dur": 2.3770000000004075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 16231.909, "dur": 5.164000000000669, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 16233.504, "dur": 2.52599999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 16247.7, "dur": 176.12099999999919, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16249.952, "dur": 4.863000000001193, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 16290.575, "dur": 2.209999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 16331.095, "dur": 14.038000000000466, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 16335.0, "dur": 5.829999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16337.167, "dur": 2.4170000000012806, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 16349.315, "dur": 37.027000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16354.067, "dur": 1.9970000000012078, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 16357.925, "dur": 4.621000000001004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16359.973, "dur": 1.3369999999995343, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 16365.82, "dur": 10.253000000000611, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 16371.604, "dur": 1.1159999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 16435.707, "dur": 10.819999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16440.679, "dur": 1.955999999998312, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 16457.385, "dur": 39.806000000000495, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 16461.45, "dur": 5.576000000000931, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16464.482, "dur": 1.4199999999982538, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 16468.49, "dur": 25.920999999998457, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 16470.809, "dur": 22.054000000000087, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16474.15, "dur": 2.1089999999967404, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 16479.607, "dur": 2.2119999999995343, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 16483.88, "dur": 4.789999999997235, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 16490.362, "dur": 1.0030000000006112, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 16517.323, "dur": 13.106999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16519.805, "dur": 2.4399999999986903, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 16523.99, "dur": 5.172999999998865, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 16525.623, "dur": 2.493000000002212, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 16539.903, "dur": 180.65000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16542.048, "dur": 1.639999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 16579.925, "dur": 2.121999999999389, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 16620.532, "dur": 18.988000000001193, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 16628.53, "dur": 6.170000000001892, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16630.867, "dur": 2.588999999999942, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 16644.075, "dur": 33.008999999998196, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16648.822, "dur": 2.110000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 16652.788, "dur": 4.641999999999825, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16654.884, "dur": 1.3290000000015425, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 16660.7, "dur": 10.029999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 16666.296, "dur": 1.1480000000010477, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 16733.045, "dur": 14.679000000000087, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16741.808, "dur": 1.944999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 16758.829, "dur": 42.29599999999846, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 16762.868, "dur": 5.684000000001106, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16765.885, "dur": 1.548000000002503, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 16770.035, "dur": 22.677999999999884, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 16772.369, "dur": 18.811000000001513, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16775.713, "dur": 2.367000000002008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 16781.554, "dur": 2.2730000000010477, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 16785.945, "dur": 1.0790000000015425, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 16788.713, "dur": 1.0200000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 16821.68, "dur": 13.672999999998865, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16824.48, "dur": 2.541000000001077, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 16828.772, "dur": 5.3729999999995925, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 16830.46, "dur": 2.6419999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 16844.704, "dur": 213.11599999999817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16846.905, "dur": 1.669000000001688, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 16885.002, "dur": 2.2000000000007276, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 16925.813, "dur": 18.294000000001688, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 16929.69, "dur": 6.176000000003114, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16932.026, "dur": 2.6039999999993597, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 16948.855, "dur": 32.97699999999895, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16953.635, "dur": 2.040000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 16957.533, "dur": 4.797000000002299, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16959.64, "dur": 1.4150000000008731, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 16965.655, "dur": 10.095000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 16971.447, "dur": 1.0449999999982538, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 17071.484, "dur": 11.731999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17076.883, "dur": 2.1019999999989523, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 17099.284, "dur": 37.96399999999994, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 17103.602, "dur": 5.80199999999968, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17106.642, "dur": 1.651000000001659, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 17110.92, "dur": 23.455000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 17113.284, "dur": 19.559000000001106, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 17117.044, "dur": 2.355999999999767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 17122.992, "dur": 2.433000000000902, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 17127.602, "dur": 1.1020000000025902, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 17130.42, "dur": 1.0050000000010186, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 17158.452, "dur": 17.083999999998923, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 17161.17, "dur": 5.930000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 17168.832, "dur": 5.433000000000902, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 17170.562, "dur": 2.665999999997439, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 17185.325, "dur": 177.40299999999843, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 17187.608, "dur": 1.897000000000844, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 17226.627, "dur": 2.2079999999987194, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 17268.162, "dur": 14.532999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 17272.166, "dur": 6.049999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17274.574, "dur": 2.3800000000010186, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 17287.07, "dur": 37.29100000000108, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 17291.793, "dur": 1.9769999999989523, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 17299.385, "dur": 4.725000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17301.533, "dur": 1.3689999999987776, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 17307.455, "dur": 10.432999999997264, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 17313.442, "dur": 1.1310000000012224, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 17375.142, "dur": 10.902999999998428, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17380.121, "dur": 2.0460000000020955, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 17396.923, "dur": 40.61200000000099, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 17401.015, "dur": 9.319999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17403.962, "dur": 1.4830000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 17411.825, "dur": 22.8279999999977, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 17414.151, "dur": 18.965000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 17417.693, "dur": 2.297000000002299, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 17423.447, "dur": 2.315999999998894, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 17427.923, "dur": 1.0529999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 17430.671, "dur": 1.011000000002241, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 17457.768, "dur": 16.09899999999834, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 17460.333, "dur": 2.4799999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 17464.525, "dur": 5.25, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 17466.213, "dur": 2.5200000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 17483.876, "dur": 174.81299999999828, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 17486.15, "dur": 1.8959999999970023, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 17524.053, "dur": 2.2069999999985157, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 17565.39, "dur": 14.098000000001775, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 17569.416, "dur": 5.798999999999069, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17571.696, "dur": 2.3040000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 17583.768, "dur": 36.56499999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 17588.503, "dur": 1.9019999999982247, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 17592.323, "dur": 4.6120000000009895, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17594.387, "dur": 1.337999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 17600.023, "dur": 14.011999999998807, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 17609.548, "dur": 1.139999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 17671.214, "dur": 10.954000000001543, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17676.081, "dur": 2.106999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 17692.574, "dur": 40.248999999999796, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 17696.643, "dur": 5.5459999999984575, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17699.628, "dur": 1.4749999999985448, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 17703.656, "dur": 26.330000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 17705.933, "dur": 22.469999999997526, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 17709.353, "dur": 2.2160000000003492, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 17718.836, "dur": 2.235000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 17723.203, "dur": 1.087999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 17725.945, "dur": 1.0030000000006112, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 17753.173, "dur": 13.189000000002125, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 17755.721, "dur": 2.375, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 17759.85, "dur": 5.283999999999651, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 17761.525, "dur": 2.5639999999984866, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 17775.974, "dur": 175.81900000000314, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 17778.171, "dur": 1.8620000000009895, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 17815.673, "dur": 5.417000000001281, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 17860.006, "dur": 14.179000000000087, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 17863.845, "dur": 5.82300000000032, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17866.088, "dur": 2.3430000000007567, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 17878.335, "dur": 36.251000000000204, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 17883.096, "dur": 1.9589999999989232, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 17886.865, "dur": 4.617999999998574, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17888.914, "dur": 1.3289999999979045, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 17894.723, "dur": 10.104999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 17900.495, "dur": 1.157999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 17964.042, "dur": 10.684999999997672, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17968.88, "dur": 1.893000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 17985.387, "dur": 39.64300000000003, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 17989.288, "dur": 5.379000000000815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17992.17, "dur": 1.4170000000012806, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 17996.091, "dur": 26.12199999999939, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 17998.396, "dur": 22.279999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18001.908, "dur": 2.1569999999992433, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 18007.38, "dur": 2.264999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 18011.733, "dur": 1.0619999999980791, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 18014.447, "dur": 4.724999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 18045.532, "dur": 13.013999999999214, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18048.01, "dur": 2.4020000000018626, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 18052.151, "dur": 5.2150000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 18053.708, "dur": 2.6150000000016007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 18068.192, "dur": 174.53900000000067, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18070.469, "dur": 1.787000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 18108.224, "dur": 2.1490000000012515, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 18149.511, "dur": 18.423000000002503, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 18153.334, "dur": 10.095000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 18155.614, "dur": 6.555000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 18172.573, "dur": 33.16100000000006, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18177.453, "dur": 2.1229999999995925, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 18181.389, "dur": 4.755000000001019, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 18183.571, "dur": 1.3800000000010186, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 18189.549, "dur": 10.156999999999243, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 18195.316, "dur": 1.1680000000014843, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 18254.926, "dur": 13.970000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 18259.696, "dur": 5.398000000001048, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 18279.888, "dur": 39.36000000000058, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 18283.936, "dur": 5.5459999999984575, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 18286.93, "dur": 1.4310000000004948, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 18290.911, "dur": 22.3650000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 18293.361, "dur": 18.36999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18296.896, "dur": 2.238999999997759, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 18302.474, "dur": 2.128000000000611, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 18306.685, "dur": 1.037000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 18309.313, "dur": 0.9900000000016007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 18339.505, "dur": 13.0, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18341.945, "dur": 2.3810000000012224, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 18346.062, "dur": 5.245999999999185, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 18347.793, "dur": 2.4949999999989814, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 18361.875, "dur": 174.92599999999948, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18364.148, "dur": 1.805000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 18401.216, "dur": 2.2000000000007276, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 18442.068, "dur": 14.329000000001543, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 18446.042, "dur": 6.004999999997381, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 18448.375, "dur": 2.440999999998894, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 18460.663, "dur": 38.909999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18471.221, "dur": 2.2150000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 18475.301, "dur": 4.722000000001572, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 18477.436, "dur": 1.3559999999997672, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 18483.294, "dur": 10.173999999999069, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 18489.221, "dur": 1.0629999999982829, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 18548.894, "dur": 10.778999999998632, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 18553.852, "dur": 1.9609999999993306, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 18570.331, "dur": 39.77000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 18578.073, "dur": 5.595000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 18581.076, "dur": 1.495999999999185, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 18585.084, "dur": 22.241000000001804, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 18587.372, "dur": 18.491000000001804, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18590.737, "dur": 2.3040000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 18596.436, "dur": 2.2409999999981665, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 18600.751, "dur": 1.0529999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 18603.434, "dur": 0.9989999999997963, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 18630.574, "dur": 15.91700000000128, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18632.953, "dur": 2.2079999999987194, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 18636.869, "dur": 8.440000000002328, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 18641.681, "dur": 2.602999999999156, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 18656.524, "dur": 174.0659999999989, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18658.794, "dur": 1.9269999999996799, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 18697.028, "dur": 2.2080000000023574, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 18738.303, "dur": 14.159999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 18742.285, "dur": 5.819999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 18744.508, "dur": 2.3649999999979627, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 18756.765, "dur": 36.925999999999476, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18761.528, "dur": 2.0380000000004657, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 18765.376, "dur": 8.365999999998166, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 18771.094, "dur": 1.4419999999990978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 18777.15, "dur": 10.354999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 18783.106, "dur": 1.1589999999996508, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 18842.796, "dur": 10.572000000000116, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 18847.603, "dur": 1.9789999999993597, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 18863.994, "dur": 39.57300000000032, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 18867.954, "dur": 5.359999999996944, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 18870.842, "dur": 1.3620000000009895, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 18874.729, "dur": 26.01299999999901, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 18880.654, "dur": 18.582000000002154, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18884.066, "dur": 2.1959999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 18889.664, "dur": 2.157999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 18893.956, "dur": 1.1010000000023865, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 18896.754, "dur": 1.0169999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 18923.467, "dur": 12.675999999999476, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18925.901, "dur": 2.2109999999993306, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 18929.797, "dur": 5.174000000002707, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 18931.428, "dur": 2.486000000000786, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 18945.711, "dur": 176.48300000000017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18951.014, "dur": 1.8400000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 18988.924, "dur": 2.183000000000902, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 19029.812, "dur": 14.28099999999904, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 19033.713, "dur": 6.043000000001484, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19035.984, "dur": 2.5169999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 19048.369, "dur": 36.379000000000815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19053.012, "dur": 1.8340000000025611, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 19056.653, "dur": 4.591000000000349, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19058.749, "dur": 1.2799999999988358, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 19064.446, "dur": 14.099999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 19070.324, "dur": 4.919999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 19134.425, "dur": 10.495999999999185, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19139.191, "dur": 1.9250000000029104, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 19155.357, "dur": 40.004000000000815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 19159.288, "dur": 5.468000000000757, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19162.285, "dur": 1.3519999999989523, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 19166.209, "dur": 26.382000000001426, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 19168.554, "dur": 22.493999999998778, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19172.108, "dur": 2.1850000000013097, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 19177.656, "dur": 5.968000000000757, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 19185.837, "dur": 1.087999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 19188.57, "dur": 1.0349999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 19215.486, "dur": 13.130000000001019, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19217.945, "dur": 2.440999999998894, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 19222.097, "dur": 5.3509999999987485, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 19223.803, "dur": 2.599999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 19237.894, "dur": 172.15199999999822, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19240.091, "dur": 1.8119999999980791, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 19277.546, "dur": 2.1380000000026484, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 19318.572, "dur": 17.424999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 19325.986, "dur": 5.861000000000786, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19328.276, "dur": 2.3469999999979336, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 19340.502, "dur": 32.72999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19345.149, "dur": 1.9539999999979045, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 19348.863, "dur": 4.700999999997293, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19350.951, "dur": 1.3999999999978172, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 19356.962, "dur": 10.066999999999098, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 19362.663, "dur": 1.120999999999185, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 19425.851, "dur": 10.73700000000099, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19430.734, "dur": 1.9700000000011642, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 19447.031, "dur": 39.460000000002765, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 19450.961, "dur": 5.528000000002066, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19453.956, "dur": 1.441000000002532, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 19457.951, "dur": 25.718000000000757, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 19460.341, "dur": 21.790000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19463.809, "dur": 2.274999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 19469.424, "dur": 2.069999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 19473.617, "dur": 1.055000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 19476.303, "dur": 0.9979999999995925, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 19506.884, "dur": 13.27900000000227, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19509.341, "dur": 2.587999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 19513.673, "dur": 5.291000000001077, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 19515.412, "dur": 2.528999999998632, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 19529.821, "dur": 171.72599999999875, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19531.974, "dur": 1.77900000000227, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 19569.144, "dur": 2.0529999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 19609.637, "dur": 17.897000000000844, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 19613.552, "dur": 9.671000000002095, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19615.854, "dur": 2.5900000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 19631.988, "dur": 32.623999999999796, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19636.688, "dur": 2.0930000000007567, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 19640.605, "dur": 4.778999999998632, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19642.709, "dur": 1.444999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 19648.573, "dur": 10.02100000000064, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 19654.337, "dur": 1.1120000000009895, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 19713.704, "dur": 14.825999999997293, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19718.486, "dur": 1.9179999999978463, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 19739.454, "dur": 36.590000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 19743.587, "dur": 5.56000000000131, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19746.577, "dur": 1.433999999997468, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 19750.597, "dur": 22.63799999999901, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 19752.975, "dur": 18.71100000000297, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19756.367, "dur": 2.3400000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 19762.206, "dur": 2.25800000000163, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 19766.611, "dur": 1.0400000000008731, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 19769.277, "dur": 0.9980000000032305, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 19795.727, "dur": 16.699000000000524, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19801.687, "dur": 2.5899999999965075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 19806.015, "dur": 5.208000000002357, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 19807.694, "dur": 2.5, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 19822.576, "dur": 172.39199999999983, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19824.769, "dur": 1.805000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 19862.344, "dur": 2.1450000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 19903.292, "dur": 14.183999999997468, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 19907.255, "dur": 6.0, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19909.552, "dur": 2.4569999999985157, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 19921.527, "dur": 36.41900000000169, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19930.031, "dur": 2.105999999999767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 19933.968, "dur": 4.755000000001019, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19936.111, "dur": 1.393000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 19941.992, "dur": 10.0, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 19947.696, "dur": 1.157999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 20007.097, "dur": 10.650999999998021, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20011.883, "dur": 1.992999999998574, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 20028.274, "dur": 43.1359999999986, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 20032.226, "dur": 12.218000000000757, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20035.074, "dur": 8.222999999998137, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 20045.937, "dur": 22.64799999999741, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 20048.337, "dur": 18.707000000002154, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20051.897, "dur": 2.2779999999984284, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 20057.575, "dur": 2.2119999999995343, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 20061.907, "dur": 1.0450000000018917, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 20064.578, "dur": 1.0339999999996508, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 20091.677, "dur": 16.32800000000134, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20094.25, "dur": 2.4759999999987485, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 20098.398, "dur": 8.41400000000067, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 20100.067, "dur": 2.475000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 20118.269, "dur": 173.51699999999983, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20120.612, "dur": 1.8430000000007567, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 20158.862, "dur": 2.144000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 20200.351, "dur": 14.135000000002037, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 20204.291, "dur": 5.878000000000611, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20206.477, "dur": 2.441000000002532, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 20218.635, "dur": 36.35900000000038, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20223.215, "dur": 1.9540000000015425, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 20227.006, "dur": 8.315999999998894, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20229.022, "dur": 1.3619999999973516, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 20238.686, "dur": 10.247999999999593, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 20244.522, "dur": 1.1299999999973807, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 20304.192, "dur": 10.47899999999936, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20308.889, "dur": 1.9599999999991269, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 20325.466, "dur": 40.016999999999825, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 20329.431, "dur": 5.417999999997846, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20332.306, "dur": 1.4279999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 20336.322, "dur": 26.31499999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 20338.644, "dur": 22.437999999998283, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20345.877, "dur": 2.264999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 20351.563, "dur": 2.231000000003405, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 20355.969, "dur": 1.0599999999976717, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 20358.646, "dur": 1.0099999999983993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 20385.469, "dur": 13.185999999997875, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20388.134, "dur": 2.3880000000026484, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 20392.223, "dur": 5.238999999997759, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 20393.836, "dur": 2.5560000000004948, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 20408.264, "dur": 176.4429999999993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20410.486, "dur": 1.7399999999979627, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 20451.946, "dur": 2.1379999999990105, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 20492.818, "dur": 13.915000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 20496.627, "dur": 5.788000000000466, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20498.825, "dur": 2.3519999999989523, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 20510.753, "dur": 37.07600000000093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20515.377, "dur": 2.024999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 20519.198, "dur": 4.654999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20521.325, "dur": 1.3129999999982829, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 20527.412, "dur": 10.272000000000844, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 20533.247, "dur": 1.1660000000010768, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 20596.826, "dur": 10.40899999999965, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20601.542, "dur": 1.9359999999978754, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 20617.735, "dur": 39.947000000000116, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 20621.757, "dur": 5.3179999999993015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20624.484, "dur": 1.489000000001397, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 20628.542, "dur": 26.326999999997497, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 20630.887, "dur": 22.4220000000023, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20634.532, "dur": 2.2600000000020373, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 20640.097, "dur": 2.274999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 20644.484, "dur": 4.797999999998865, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 20650.907, "dur": 0.9830000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 20677.902, "dur": 13.485000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20680.298, "dur": 2.7489999999997963, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 20684.858, "dur": 5.355999999999767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 20686.562, "dur": 2.609999999996944, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 20700.429, "dur": 173.06299999999828, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20702.63, "dur": 1.9369999999980791, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 20740.177, "dur": 2.1049999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 20780.877, "dur": 17.93999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 20788.337, "dur": 6.225000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20790.815, "dur": 2.5159999999996217, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 20803.243, "dur": 33.40600000000268, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20808.034, "dur": 2.0970000000015716, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 20811.929, "dur": 5.07300000000032, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20814.337, "dur": 1.3889999999992142, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 20820.314, "dur": 10.113000000001193, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 20826.126, "dur": 1.0580000000009022, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 20885.832, "dur": 13.937000000001717, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20894.05, "dur": 1.8780000000006112, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 20910.488, "dur": 39.28099999999904, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 20914.576, "dur": 5.308999999997468, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20917.285, "dur": 1.4789999999993597, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 20921.344, "dur": 22.453999999997905, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 20923.693, "dur": 18.59400000000096, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20927.058, "dur": 2.2289999999993597, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 20932.675, "dur": 2.3029999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 20937.09, "dur": 1.1059999999997672, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 20939.857, "dur": 1.0050000000010186, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 20969.513, "dur": 13.33599999999933, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20972.015, "dur": 2.5750000000007276, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 20976.309, "dur": 5.3179999999993015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 20978.107, "dur": 2.486000000000786, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 21019.015, "dur": 183.06200000000172, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21021.653, "dur": 2.3840000000018335, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 21062.75, "dur": 2.2030000000013388, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 21105.369, "dur": 19.12000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 21109.386, "dur": 6.429000000000087, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 21111.926, "dur": 2.647000000000844, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 21129.198, "dur": 34.03600000000006, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21133.833, "dur": 2.1740000000027067, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 21137.815, "dur": 5.097000000001572, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 21140.195, "dur": 1.4720000000015716, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 21146.217, "dur": 10.506999999997788, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 21152.284, "dur": 1.1379999999990105, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 21214.31, "dur": 10.473999999998341, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 21218.898, "dur": 2.019000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 21239.318, "dur": 36.9320000000007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 21243.472, "dur": 5.277999999998428, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 21246.112, "dur": 1.510999999998603, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 21250.208, "dur": 23.264000000002852, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 21252.556, "dur": 19.388999999999214, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21256.17, "dur": 2.3550000000032014, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 21262.176, "dur": 2.2740000000012515, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 21266.65, "dur": 1.1419999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 21269.525, "dur": 1.0199999999967986, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 21296.468, "dur": 17.034999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21299.035, "dur": 2.371999999999389, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 21306.671, "dur": 5.473000000001775, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 21308.512, "dur": 2.618000000002212, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 21323.413, "dur": 173.95999999999913, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21325.71, "dur": 1.8330000000023574, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 21364.077, "dur": 2.2589999999981956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 21404.952, "dur": 14.217999999997119, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 21408.824, "dur": 5.96900000000096, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 21411.097, "dur": 2.4509999999972933, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 21423.285, "dur": 36.65899999999965, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21427.796, "dur": 1.9370000000017171, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 21435.325, "dur": 4.804000000000087, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 21437.484, "dur": 1.4379999999982829, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 21443.47, "dur": 10.237999999997555, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 21449.298, "dur": 1.1570000000028813, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 21509.895, "dur": 10.540000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 21514.678, "dur": 1.955999999998312, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 21530.828, "dur": 40.61899999999878, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 21534.83, "dur": 9.343999999997322, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 21537.807, "dur": 1.4399999999986903, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 21545.684, "dur": 22.91400000000067, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 21548.013, "dur": 19.074000000000524, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21551.507, "dur": 2.282999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 21557.234, "dur": 2.458999999998923, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 21561.887, "dur": 1.1080000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 21564.672, "dur": 0.9970000000030268, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 21592.057, "dur": 18.139999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21594.544, "dur": 2.187999999998283, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 21598.435, "dur": 5.298999999999069, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 21600.172, "dur": 2.5100000000020373, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 21620.524, "dur": 175.17399999999907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21622.739, "dur": 1.8669999999983702, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 21661.445, "dur": 2.20600000000195, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 21702.787, "dur": 14.222999999998137, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 21706.688, "dur": 5.978000000002794, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 21708.938, "dur": 2.4980000000032305, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 21721.378, "dur": 37.279999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21726.108, "dur": 1.977999999999156, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 21729.899, "dur": 4.651999999998225, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 21731.979, "dur": 1.3660000000018044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 21737.988, "dur": 14.610000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 21748.072, "dur": 1.0730000000003201, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 21807.616, "dur": 10.695999999999913, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 21812.387, "dur": 2.0159999999996217, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 21829.123, "dur": 46.57500000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 21833.127, "dur": 5.443999999999505, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 21836.003, "dur": 1.4439999999995052, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 21840.03, "dur": 32.78200000000288, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 21842.344, "dur": 28.89300000000003, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21845.817, "dur": 2.246999999999389, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 21861.567, "dur": 2.3209999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 21866.087, "dur": 1.102999999999156, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 21868.817, "dur": 1.0, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 21896.347, "dur": 13.356999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21899.012, "dur": 2.360000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 21903.123, "dur": 5.334999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 21904.75, "dur": 2.6820000000006985, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 21919.203, "dur": 178.84499999999753, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21921.305, "dur": 1.9429999999993015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 21959.662, "dur": 5.56499999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 22005.754, "dur": 14.170999999998457, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 22009.51, "dur": 5.966000000000349, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 22011.736, "dur": 2.503000000000611, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 22024.213, "dur": 36.46299999999974, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 22028.863, "dur": 2.024999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 22032.709, "dur": 4.6010000000023865, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 22034.809, "dur": 1.2769999999982247, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 22040.653, "dur": 10.210000000002765, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 22046.563, "dur": 1.1120000000009895, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 22110.036, "dur": 10.880000000001019, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 22114.959, "dur": 2.044000000001688, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 22131.643, "dur": 39.9429999999993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 22135.666, "dur": 5.329999999998108, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 22138.474, "dur": 1.4130000000004657, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 22142.49, "dur": 26.337999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 22144.833, "dur": 22.41400000000067, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 22148.311, "dur": 2.275999999998021, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 22153.93, "dur": 2.305000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 22158.336, "dur": 1.0900000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 22161.006, "dur": 4.7369999999973516, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 22191.679, "dur": 13.298999999999069, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 22194.179, "dur": 2.559000000001106, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 22198.505, "dur": 5.27100000000064, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 22200.148, "dur": 2.602999999999156, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 22214.093, "dur": 178.10399999999936, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 22216.31, "dur": 1.6659999999974389, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 22253.785, "dur": 2.0469999999986612, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 22294.747, "dur": 17.93800000000192, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 22298.605, "dur": 9.68999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 22300.83, "dur": 6.227999999999156, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 22317.564, "dur": 33.119000000002416, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 22322.178, "dur": 2.2150000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 22326.167, "dur": 4.764999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 22328.292, "dur": 1.3979999999974098, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 22334.311, "dur": 10.086999999999534, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 22340.165, "dur": 1.0429999999978463, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 22404.448, "dur": 13.995999999999185, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 22409.448, "dur": 5.126000000000204, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 22429.285, "dur": 36.41100000000006, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 22433.379, "dur": 5.504000000000815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 22436.31, "dur": 1.4389999999984866, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 22440.294, "dur": 22.65599999999904, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 22442.678, "dur": 18.77600000000166, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 22446.068, "dur": 2.2109999999993306, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 22451.757, "dur": 2.290999999997439, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 22456.178, "dur": 1.1120000000009895, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 22459.005, "dur": 1.0309999999990396, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 22489.336, "dur": 13.183000000000902, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 22491.959, "dur": 2.5339999999996508, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 22496.269, "dur": 5.059000000001106, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 22497.89, "dur": 2.4089999999996508, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 22511.789, "dur": 173.29000000000087, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 22513.916, "dur": 1.8799999999973807, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 22551.526, "dur": 2.0679999999993015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 22592.626, "dur": 14.209999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 22596.473, "dur": 6.05199999999968, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 22598.69, "dur": 2.6130000000011933, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 22611.098, "dur": 36.536999999996624, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 22619.605, "dur": 2.114000000001397, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 22623.578, "dur": 4.7520000000004075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 22625.728, "dur": 1.3580000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 22631.556, "dur": 10.023000000001048, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 22637.374, "dur": 1.0689999999995052, "tid": 1, "pid": "CPU functions", "args": {}}] \ No newline at end of file diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index ce2295092763d..953f04c622c4b 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -245,6 +245,12 @@ def _rank_zero_only_wrap(self) -> None: def start(self, action_name: str) -> None: if not self._profiler_instantiated: + + # close profiler is already opened + try: + torch.autograd._disable_profiler() + except (AttributeError, RuntimeError): + pass self._create_profilers() From e565e8a41a8826e5b7f10cde9db8f6838b9b4718 Mon Sep 17 00:00:00 2001 From: tchaton Date: Fri, 19 Mar 2021 14:36:34 +0000 Subject: [PATCH 25/87] update --- 0_trace.json | 1 - 1 file changed, 1 deletion(-) delete mode 100644 0_trace.json diff --git a/0_trace.json b/0_trace.json deleted file mode 100644 index c86b649ec22a0..0000000000000 --- a/0_trace.json +++ /dev/null @@ -1 +0,0 @@ -[{"name": "aten::is_floating_point", "ph": "X", "ts": 129.565, "dur": 2.926000000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 138.162, "dur": 2.0960000000000036, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_has_compatible_shallow_copy_type", "ph": "X", "ts": 148.114, "dur": 1.7849999999999966, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::set_data", "ph": "X", "ts": 155.128, "dur": 5.027000000000015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_has_compatible_shallow_copy_type", "ph": "X", "ts": 157.16, "dur": 1.1049999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::is_floating_point", "ph": "X", "ts": 178.132, "dur": 1.2519999999999811, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 182.618, "dur": 1.5870000000000175, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_has_compatible_shallow_copy_type", "ph": "X", "ts": 189.559, "dur": 1.1850000000000023, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::set_data", "ph": "X", "ts": 193.925, "dur": 3.5600000000000023, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_has_compatible_shallow_copy_type", "ph": "X", "ts": 195.186, "dur": 1.054000000000002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::randn", "ph": "X", "ts": 2570.025, "dur": 61.822000000000116, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2574.206, "dur": 5.308999999999742, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::normal_", "ph": "X", "ts": 2582.046, "dur": 48.271000000000186, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3221.996, "dur": 5.288000000000011, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::random_", "ph": "X", "ts": 3308.647, "dur": 11.412000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::is_floating_point", "ph": "X", "ts": 3326.955, "dur": 1.5470000000000255, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::item", "ph": "X", "ts": 3339.945, "dur": 8.588999999999942, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_local_scalar_dense", "ph": "X", "ts": 3342.775, "dur": 4.529999999999745, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 3376.418, "dur": 12.985999999999876, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3381.765, "dur": 2.762000000000171, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 3413.297, "dur": 40.929999999999836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 3417.855, "dur": 5.887000000000171, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3420.842, "dur": 1.7329999999997199, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 3425.337, "dur": 25.809999999999945, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 3428.012, "dur": 21.442000000000007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3432.097, "dur": 2.5599999999999454, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 3438.643, "dur": 2.844000000000051, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 3443.968, "dur": 1.167000000000371, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 3446.78, "dur": 1.0949999999998, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3481.682, "dur": 14.400000000000091, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3484.174, "dur": 2.9830000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3488.937, "dur": 5.876999999999953, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 3490.979, "dur": 2.7530000000001564, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 3509.096, "dur": 219.07200000000012, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3511.332, "dur": 2.104000000000269, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 3564.824, "dur": 2.40099999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 3620.72, "dur": 15.432000000000244, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 3624.747, "dur": 6.519999999999982, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3627.284, "dur": 2.7229999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 3641.587, "dur": 37.67599999999993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3646.704, "dur": 2.1929999999997563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 3650.847, "dur": 5.239999999999782, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3653.339, "dur": 1.51299999999992, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 3659.861, "dur": 11.55600000000004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 3666.495, "dur": 1.1730000000002292, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 3742.0, "dur": 11.407999999999902, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3747.237, "dur": 2.0709999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 3765.534, "dur": 38.2829999999999, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 3770.058, "dur": 5.657000000000153, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3773.123, "dur": 1.4490000000000691, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 3777.252, "dur": 23.610999999999876, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 3779.628, "dur": 19.690999999999804, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3783.274, "dur": 2.32300000000032, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 3789.318, "dur": 2.4359999999996944, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 3793.897, "dur": 1.1779999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 3796.838, "dur": 1.0169999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3826.407, "dur": 13.891999999999825, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3829.028, "dur": 2.5700000000001637, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3833.259, "dur": 5.686000000000149, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 3835.103, "dur": 2.811999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 3850.685, "dur": 186.70000000000027, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3852.843, "dur": 1.844000000000051, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 3895.115, "dur": 2.22400000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 3941.402, "dur": 14.891999999999825, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 3945.592, "dur": 6.195999999999913, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3947.987, "dur": 2.5470000000000255, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 3961.284, "dur": 34.723999999999705, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3965.928, "dur": 2.1920000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 3969.975, "dur": 4.936999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3972.225, "dur": 1.3580000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 3978.356, "dur": 10.846999999999753, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 3984.505, "dur": 1.1970000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 4050.305, "dur": 10.524000000000342, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4055.12, "dur": 1.8769999999999527, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 4072.075, "dur": 37.07999999999993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 4076.189, "dur": 5.639000000000124, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4079.298, "dur": 1.4470000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 4083.375, "dur": 22.822000000000116, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 4085.648, "dur": 19.01800000000003, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4089.173, "dur": 2.0950000000002547, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 4094.835, "dur": 2.2299999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 4099.441, "dur": 1.0450000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 4102.202, "dur": 1.0159999999996217, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 4130.637, "dur": 13.369000000000597, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4133.205, "dur": 2.3410000000003492, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 4137.278, "dur": 5.436999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 4138.995, "dur": 2.693000000000211, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 4153.926, "dur": 178.6389999999992, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4156.217, "dur": 1.7510000000002037, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 4195.988, "dur": 2.199999999999818, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 4240.027, "dur": 14.393000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 4243.885, "dur": 6.010000000000218, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4246.327, "dur": 2.3599999999996726, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 4258.8, "dur": 33.66699999999946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4263.393, "dur": 1.8800000000001091, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 4267.065, "dur": 4.881000000000313, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4269.315, "dur": 1.3780000000006112, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 4275.255, "dur": 10.646999999999935, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 4281.245, "dur": 1.1779999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 4345.255, "dur": 10.524999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4350.058, "dur": 1.904000000000451, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 4367.227, "dur": 36.98000000000047, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 4371.387, "dur": 5.587000000000444, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4374.4, "dur": 1.4840000000003783, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 4378.517, "dur": 22.80699999999979, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 4380.685, "dur": 19.091999999999643, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4384.252, "dur": 2.2999999999992724, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 4390.022, "dur": 2.230000000000473, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 4394.492, "dur": 1.1129999999993743, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 4397.352, "dur": 1.0029999999997017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 4425.102, "dur": 13.286000000000058, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4427.744, "dur": 2.3710000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 4431.852, "dur": 5.3100000000004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 4433.477, "dur": 2.631000000000313, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 4448.148, "dur": 176.2569999999996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4450.328, "dur": 1.8489999999992506, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 4490.296, "dur": 2.1729999999997744, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 4533.253, "dur": 14.268000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 4537.185, "dur": 5.919999999999163, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4539.536, "dur": 2.3369999999995343, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 4551.866, "dur": 33.51100000000042, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4556.521, "dur": 1.8940000000002328, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 4560.263, "dur": 4.913000000000466, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4562.515, "dur": 1.4510000000000218, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 4568.489, "dur": 10.473000000000866, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 4574.362, "dur": 1.1599999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 4637.105, "dur": 10.57800000000043, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4641.873, "dur": 2.004000000000815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 4658.46, "dur": 36.66700000000037, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 4662.58, "dur": 5.554000000000087, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4665.525, "dur": 1.4350000000004002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 4669.681, "dur": 22.519000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 4671.866, "dur": 18.782000000000153, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4675.46, "dur": 2.113999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 4680.993, "dur": 2.280999999999949, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 4685.425, "dur": 1.037000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 4688.203, "dur": 1.0039999999999054, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 4715.042, "dur": 13.52099999999973, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4717.665, "dur": 2.3220000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 4721.753, "dur": 5.420000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 4723.527, "dur": 2.600000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 4737.928, "dur": 175.34799999999996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4740.202, "dur": 1.962999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 4779.659, "dur": 2.1810000000004948, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 4822.195, "dur": 14.462000000000444, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 4826.145, "dur": 6.042999999999665, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4828.557, "dur": 2.417000000000371, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 4840.908, "dur": 33.61999999999989, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4845.514, "dur": 2.032999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 4849.345, "dur": 4.979999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4851.642, "dur": 1.4180000000005748, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 4857.664, "dur": 10.457000000000335, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 4863.526, "dur": 1.1890000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 4925.823, "dur": 10.717999999999847, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4930.633, "dur": 1.9650000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 4947.455, "dur": 65.3680000000004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 4951.668, "dur": 5.407000000000153, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4954.524, "dur": 1.4159999999992579, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 4958.589, "dur": 22.798999999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 4960.849, "dur": 19.005999999999403, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4964.309, "dur": 2.2479999999995925, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 4969.917, "dur": 2.186999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 4974.417, "dur": 1.0509999999994761, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 4977.335, "dur": 1.0140000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 5037.288, "dur": 14.615000000000691, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5040.223, "dur": 2.9200000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 5044.86, "dur": 5.703000000000429, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 5046.74, "dur": 2.7979999999997744, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 5062.309, "dur": 180.9389999999994, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5064.541, "dur": 1.9569999999994252, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 5105.277, "dur": 2.1779999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 5149.615, "dur": 14.641999999999825, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 5153.578, "dur": 5.976999999999862, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5155.842, "dur": 2.4729999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 5168.934, "dur": 34.634000000000015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5173.722, "dur": 1.998000000000502, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 5177.653, "dur": 4.84099999999944, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5179.833, "dur": 1.3810000000003129, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 5186.042, "dur": 10.557999999999993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 5192.074, "dur": 1.160000000000764, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 5256.074, "dur": 10.904000000000451, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5260.938, "dur": 2.07799999999952, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 5277.867, "dur": 37.4340000000002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 5281.943, "dur": 5.515999999999622, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5284.886, "dur": 1.4619999999995343, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 5288.984, "dur": 23.36199999999917, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 5291.323, "dur": 19.438000000000102, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5294.787, "dur": 2.399999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 5300.799, "dur": 2.543999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 5305.48, "dur": 1.0460000000002765, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 5308.349, "dur": 1.0169999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 5335.975, "dur": 13.15099999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5338.646, "dur": 2.4200000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 5342.769, "dur": 5.16399999999976, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 5344.478, "dur": 2.4179999999996653, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 5358.296, "dur": 175.7469999999994, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5360.581, "dur": 1.9949999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 5399.795, "dur": 2.1539999999995416, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 5443.105, "dur": 14.196000000000822, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 5446.903, "dur": 5.934999999999491, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5449.228, "dur": 2.369999999999891, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 5461.801, "dur": 33.31700000000001, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5466.693, "dur": 1.894999999999527, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 5470.323, "dur": 4.793999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5472.464, "dur": 1.399000000000342, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 5478.406, "dur": 10.431000000000495, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 5484.348, "dur": 1.1159999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 5546.421, "dur": 11.067000000000007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5551.483, "dur": 2.032000000000153, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 5568.563, "dur": 36.67399999999998, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 5572.638, "dur": 5.462999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5575.533, "dur": 1.4669999999996435, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 5579.629, "dur": 22.69300000000021, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 5581.948, "dur": 18.876999999999498, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5585.458, "dur": 2.1450000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 5591.049, "dur": 2.451000000000022, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 5595.623, "dur": 1.0650000000005093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 5598.386, "dur": 1.0090000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 5625.399, "dur": 13.342999999999847, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5628.009, "dur": 2.3969999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 5632.198, "dur": 5.26299999999992, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 5633.839, "dur": 2.600000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 5648.099, "dur": 173.98399999999947, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5650.522, "dur": 1.8270000000002256, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 5688.934, "dur": 2.1279999999997017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 5731.615, "dur": 14.579999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 5735.587, "dur": 5.938999999999396, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5737.839, "dur": 2.4489999999996144, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 5750.503, "dur": 33.197000000000116, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5755.327, "dur": 1.9969999999993888, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 5759.124, "dur": 4.673999999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5761.204, "dur": 1.375, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 5767.148, "dur": 10.152000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 5772.887, "dur": 1.106999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 5834.053, "dur": 10.748000000000502, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5839.103, "dur": 1.8969999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 5855.458, "dur": 36.363000000000284, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 5859.581, "dur": 5.5479999999997744, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5862.555, "dur": 1.4409999999998035, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 5866.649, "dur": 22.256999999999607, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 5868.935, "dur": 18.487999999999374, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5872.376, "dur": 2.131999999999607, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 5877.898, "dur": 2.199999999999818, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 5882.209, "dur": 1.08600000000024, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 5884.956, "dur": 1.0289999999995416, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 5911.728, "dur": 13.045000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5914.335, "dur": 2.3209999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 5918.38, "dur": 5.167999999999665, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 5920.068, "dur": 2.457999999999629, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 5934.015, "dur": 171.97199999999975, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5936.318, "dur": 1.6629999999995562, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 5974.289, "dur": 2.1080000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 6016.057, "dur": 14.164999999999964, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 6020.03, "dur": 5.833999999999833, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6022.374, "dur": 2.2700000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 6034.529, "dur": 32.76999999999953, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6039.287, "dur": 1.91399999999976, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 6042.984, "dur": 4.711999999999534, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6045.084, "dur": 1.360000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 6050.934, "dur": 10.029999999999745, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 6056.458, "dur": 1.0760000000000218, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 6118.018, "dur": 10.828999999999724, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6122.996, "dur": 2.02599999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 6139.543, "dur": 36.177999999999884, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 6143.583, "dur": 5.536000000000058, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6146.521, "dur": 1.4949999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 6150.654, "dur": 22.227999999999156, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 6152.867, "dur": 18.521999999999935, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6156.278, "dur": 2.220999999999549, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 6161.843, "dur": 2.1729999999997744, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 6166.161, "dur": 1.0850000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 6168.942, "dur": 1.0140000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6195.208, "dur": 13.02100000000064, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6197.706, "dur": 2.431999999999789, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6201.862, "dur": 5.152000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 6203.586, "dur": 2.3969999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 6217.487, "dur": 172.23499999999967, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6219.786, "dur": 1.84900000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 6257.761, "dur": 2.094999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 6299.939, "dur": 14.420000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 6303.808, "dur": 6.11200000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6306.253, "dur": 2.4340000000001965, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 6318.635, "dur": 33.27099999999973, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6323.713, "dur": 1.9600000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 6327.463, "dur": 4.680000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6329.566, "dur": 1.3130000000001019, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 6335.448, "dur": 10.09099999999944, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 6341.084, "dur": 1.1390000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 6402.604, "dur": 10.871999999999389, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6407.387, "dur": 2.094000000000051, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 6424.239, "dur": 36.051000000000386, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 6428.159, "dur": 5.3969999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6431.074, "dur": 1.3850000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 6435.062, "dur": 22.346999999999753, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 6437.366, "dur": 18.54399999999987, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6440.85, "dur": 2.105999999999767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 6446.205, "dur": 2.28899999999976, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 6450.67, "dur": 1.0760000000000218, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 6453.427, "dur": 1.0120000000006257, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6479.829, "dur": 13.132000000000517, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6482.399, "dur": 2.4459999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6486.614, "dur": 5.144000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 6488.267, "dur": 2.4539999999997235, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 6502.096, "dur": 171.27000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6504.337, "dur": 1.8009999999994761, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 6542.734, "dur": 2.186999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 6584.402, "dur": 14.760000000000218, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 6588.286, "dur": 5.9210000000002765, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6590.639, "dur": 2.338999999999942, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 6603.418, "dur": 32.76299999999992, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6608.016, "dur": 1.9729999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 6611.707, "dur": 4.813999999999396, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6613.804, "dur": 1.4660000000003492, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 6619.764, "dur": 10.131999999999607, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 6625.444, "dur": 1.139999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 6685.839, "dur": 15.416000000000167, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6690.583, "dur": 1.9920000000001892, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 6712.283, "dur": 36.74499999999989, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 6716.349, "dur": 5.635000000000218, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6719.394, "dur": 1.481999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 6723.544, "dur": 22.634000000000015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 6725.848, "dur": 18.800000000000182, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6729.359, "dur": 2.2869999999993524, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 6734.989, "dur": 2.231999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 6739.396, "dur": 1.0380000000004657, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 6742.144, "dur": 0.9949999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6769.24, "dur": 13.085000000000036, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6771.849, "dur": 2.394999999999527, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6775.945, "dur": 5.15099999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 6777.6, "dur": 2.463999999999942, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 6791.669, "dur": 171.65599999999995, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6793.915, "dur": 1.6809999999995853, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 6831.985, "dur": 2.154000000000451, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 6874.021, "dur": 14.136000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 6877.921, "dur": 5.893000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6880.162, "dur": 2.4279999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 6892.617, "dur": 33.19200000000001, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6897.407, "dur": 1.9380000000001019, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 6901.14, "dur": 4.783999999999651, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6903.204, "dur": 1.3500000000003638, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 6909.282, "dur": 10.204999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 6915.07, "dur": 1.1660000000001673, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 6975.757, "dur": 15.972999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6980.839, "dur": 2.356999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 7003.044, "dur": 37.909999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 7007.205, "dur": 5.872000000000298, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7010.316, "dur": 1.4809999999997672, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 7014.809, "dur": 23.329999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 7017.207, "dur": 19.453999999999724, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7020.839, "dur": 2.305000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 7026.559, "dur": 2.298999999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 7031.026, "dur": 1.2179999999998472, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 7034.097, "dur": 1.092000000000553, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 7061.016, "dur": 15.794000000000779, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7065.536, "dur": 2.5599999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 7069.884, "dur": 5.622000000000298, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 7071.77, "dur": 2.6239999999997963, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 7086.618, "dur": 182.4989999999998, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7088.802, "dur": 1.8280000000004293, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 7127.164, "dur": 2.2849999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 7169.145, "dur": 15.054999999999382, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 7173.23, "dur": 6.220000000000255, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7175.537, "dur": 2.545999999999367, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 7188.764, "dur": 36.18499999999949, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7195.635, "dur": 2.131999999999607, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 7199.768, "dur": 4.942000000000007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7201.884, "dur": 1.4790000000002692, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 7207.945, "dur": 10.234000000000378, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 7213.709, "dur": 1.1199999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 7282.037, "dur": 11.186999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7287.008, "dur": 2.079000000000633, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 7304.294, "dur": 40.30199999999968, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 7308.527, "dur": 8.128999999999905, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7313.488, "dur": 1.9459999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 7318.277, "dur": 23.363999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 7320.629, "dur": 19.472999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7324.262, "dur": 2.298999999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 7329.942, "dur": 2.2539999999999054, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 7334.43, "dur": 1.1790000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 7337.356, "dur": 1.2030000000004293, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 7365.887, "dur": 14.783000000000357, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7368.407, "dur": 2.2669999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 7372.424, "dur": 6.960000000000036, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 7374.084, "dur": 4.050000000000182, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 7390.202, "dur": 178.51800000000003, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7392.477, "dur": 1.9470000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 7431.761, "dur": 2.3029999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 7474.346, "dur": 15.358000000000175, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 7478.239, "dur": 6.285000000000764, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7480.619, "dur": 2.5510000000003856, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 7494.081, "dur": 36.733000000000175, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7498.829, "dur": 2.0200000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 7502.904, "dur": 7.351999999999862, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7505.114, "dur": 1.504000000000815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 7513.746, "dur": 10.574999999999818, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 7519.662, "dur": 1.16399999999976, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 7581.119, "dur": 10.884000000000015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7586.088, "dur": 2.0090000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 7602.591, "dur": 40.07199999999921, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 7606.807, "dur": 5.650000000000546, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7609.827, "dur": 1.4520000000002256, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 7614.108, "dur": 25.67199999999957, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 7616.525, "dur": 21.637000000000626, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7622.184, "dur": 2.350999999999658, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 7628.171, "dur": 2.238999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 7632.687, "dur": 1.081000000000131, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 7635.537, "dur": 1.0869999999995343, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 7662.519, "dur": 12.985999999999876, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7664.987, "dur": 2.2950000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 7668.965, "dur": 5.224999999999454, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 7670.67, "dur": 2.488999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 7685.047, "dur": 178.46900000000005, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7687.379, "dur": 3.518000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 7728.015, "dur": 2.5689999999995052, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 7770.108, "dur": 15.313999999999396, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 7774.116, "dur": 6.390999999999622, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7776.562, "dur": 2.623000000000502, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 7790.008, "dur": 35.896999999999935, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7794.888, "dur": 2.1090000000003783, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 7798.784, "dur": 4.963000000000648, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7800.987, "dur": 1.393000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 7807.188, "dur": 12.353000000000065, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 7813.019, "dur": 1.1219999999993888, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 7875.92, "dur": 11.220000000000255, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7880.867, "dur": 2.0599999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 7897.784, "dur": 40.483000000000175, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 7901.904, "dur": 5.799999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7904.937, "dur": 1.550000000000182, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 7909.61, "dur": 25.735999999999876, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 7911.967, "dur": 21.71100000000024, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7915.608, "dur": 2.3890000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 7921.427, "dur": 2.393000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 7926.107, "dur": 3.019000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 7931.05, "dur": 1.0979999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 7958.02, "dur": 13.64299999999912, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7960.608, "dur": 2.394000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 7964.731, "dur": 5.256000000000313, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 7966.365, "dur": 2.5100000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 7980.627, "dur": 265.39500000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7982.799, "dur": 1.8230000000003201, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 8021.257, "dur": 2.331000000000131, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 8063.008, "dur": 14.739999999999782, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 8066.987, "dur": 5.975000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8069.227, "dur": 2.32300000000032, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 8082.082, "dur": 124.14300000000003, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8086.908, "dur": 2.121999999999389, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 8090.878, "dur": 93.91200000000026, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8093.03, "dur": 1.4729999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 8188.962, "dur": 10.774000000000342, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 8195.257, "dur": 1.1480000000010477, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 8258.265, "dur": 11.037000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8263.309, "dur": 1.941000000000713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 8279.82, "dur": 36.55500000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 8284.03, "dur": 5.290999999999258, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8286.827, "dur": 1.375, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 8290.848, "dur": 22.65400000000045, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 8293.137, "dur": 18.83299999999872, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8296.756, "dur": 2.1810000000004948, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 8302.323, "dur": 2.206000000000131, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 8306.761, "dur": 1.0799999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 8309.549, "dur": 1.0009999999983847, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8336.13, "dur": 13.301000000001295, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8338.67, "dur": 2.587999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8342.941, "dur": 5.2739999999994325, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 8344.711, "dur": 2.4690000000009604, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 8358.81, "dur": 172.5500000000011, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8360.938, "dur": 1.9529999999995198, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 8400.146, "dur": 2.194999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 8442.377, "dur": 14.063000000000102, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 8446.208, "dur": 5.793999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8448.318, "dur": 2.459000000000742, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 8460.618, "dur": 33.04700000000048, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8465.257, "dur": 1.9099999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 8469.051, "dur": 4.804000000000087, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8471.16, "dur": 1.3909999999996217, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 8477.148, "dur": 10.21100000000115, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 8482.89, "dur": 1.1650000000008731, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 8543.6, "dur": 10.738999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8548.571, "dur": 1.8739999999997963, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 8564.617, "dur": 36.925999999999476, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 8568.811, "dur": 5.507999999999811, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8571.765, "dur": 1.47400000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 8575.84, "dur": 22.826999999999316, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 8578.245, "dur": 18.878999999998996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8581.825, "dur": 2.072999999998501, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 8587.403, "dur": 2.246999999999389, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 8591.815, "dur": 1.0929999999989377, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 8594.618, "dur": 1.006999999999607, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8621.265, "dur": 13.194000000001324, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8623.835, "dur": 2.5090000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8628.015, "dur": 5.2520000000004075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 8629.677, "dur": 2.5650000000005093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 8643.615, "dur": 169.78700000000026, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8645.839, "dur": 1.9639999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 8684.361, "dur": 2.234999999998763, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 8725.396, "dur": 14.03399999999965, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 8729.365, "dur": 5.69800000000032, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8731.476, "dur": 2.3469999999997526, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 8743.726, "dur": 33.0, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8748.397, "dur": 1.9209999999984575, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 8752.148, "dur": 4.721000000001368, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8754.23, "dur": 1.430000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 8760.029, "dur": 10.173999999999069, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 8765.761, "dur": 1.106999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 8825.377, "dur": 10.78399999999965, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8830.357, "dur": 1.9429999999993015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 8846.568, "dur": 37.0570000000007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 8850.678, "dur": 5.5789999999997235, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8853.56, "dur": 1.5300000000006548, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 8857.85, "dur": 22.88500000000022, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 8860.121, "dur": 19.09700000000157, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8863.588, "dur": 2.157999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 8869.237, "dur": 2.188000000000102, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 8873.805, "dur": 1.0799999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 8876.62, "dur": 1.0019999999985885, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8903.062, "dur": 12.933000000000902, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8905.622, "dur": 2.269000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8909.555, "dur": 5.1929999999993015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 8911.202, "dur": 2.5210000000006403, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 8925.195, "dur": 210.46800000000076, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8927.463, "dur": 1.9799999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 8965.542, "dur": 2.1380000000008295, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 9042.788, "dur": 15.019000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 9047.005, "dur": 6.0350000000016735, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9049.118, "dur": 2.628999999998996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 9062.384, "dur": 34.322000000000116, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9067.336, "dur": 2.0760000000009313, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 9071.26, "dur": 4.6599999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9073.323, "dur": 1.3429999999989377, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 9079.364, "dur": 10.619000000000597, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 9085.36, "dur": 1.1479999999992287, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 9148.116, "dur": 10.701999999999316, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9153.024, "dur": 1.8170000000009168, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 9170.016, "dur": 36.98899999999958, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 9174.348, "dur": 5.3880000000008295, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9177.201, "dur": 1.419000000001688, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 9181.305, "dur": 22.87199999999939, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 9183.824, "dur": 18.816999999999098, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9187.265, "dur": 2.1530000000002474, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 9193.077, "dur": 2.1940000000013242, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 9197.491, "dur": 1.0540000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 9200.206, "dur": 0.9969999999993888, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9227.261, "dur": 13.269000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9229.837, "dur": 2.3800000000010186, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9233.943, "dur": 5.353000000000975, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 9235.697, "dur": 2.5689999999995052, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 9249.97, "dur": 171.74099999999999, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9252.237, "dur": 1.9440000000013242, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 9290.689, "dur": 2.3069999999988795, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 9333.026, "dur": 14.024999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 9337.001, "dur": 5.6270000000004075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9339.129, "dur": 2.2519999999985885, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 9351.365, "dur": 33.07999999999993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9356.1, "dur": 1.868000000000393, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 9359.795, "dur": 4.643000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9361.871, "dur": 1.2840000000014697, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 9367.657, "dur": 10.44800000000032, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 9373.497, "dur": 1.1460000000006403, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 9434.163, "dur": 10.579999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9439.06, "dur": 1.868000000000393, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 9455.16, "dur": 36.37800000000061, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 9459.269, "dur": 5.279000000000451, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9462.016, "dur": 1.3850000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 9466.041, "dur": 22.608000000000175, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 9468.358, "dur": 18.745999999999185, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9472.049, "dur": 1.988999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 9477.498, "dur": 2.1630000000004657, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 9481.838, "dur": 1.0689999999995052, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 9484.627, "dur": 1.0119999999988067, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9511.028, "dur": 13.011000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9513.571, "dur": 2.1149999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9517.463, "dur": 5.253000000000611, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 9519.131, "dur": 2.5650000000005093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 9533.219, "dur": 171.40900000000147, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9535.472, "dur": 1.9799999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 9573.684, "dur": 2.155000000000655, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 9615.62, "dur": 14.319999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 9619.631, "dur": 6.054000000000087, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9622.071, "dur": 2.397000000000844, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 9634.232, "dur": 32.96600000000035, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9638.84, "dur": 1.90099999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 9642.558, "dur": 4.793999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9644.718, "dur": 1.4129999999986467, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 9650.771, "dur": 10.193999999999505, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 9656.501, "dur": 1.1479999999992287, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 9716.557, "dur": 10.448999999998705, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9721.17, "dur": 2.0, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 9737.648, "dur": 36.49300000000039, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 9741.771, "dur": 5.351999999998952, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9744.506, "dur": 1.5169999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 9748.656, "dur": 22.620999999999185, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 9750.905, "dur": 18.858000000000175, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9754.449, "dur": 2.0759999999991123, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 9759.828, "dur": 2.478000000000975, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 9764.425, "dur": 1.0720000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 9767.26, "dur": 1.0169999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9794.496, "dur": 12.764000000001033, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9796.949, "dur": 2.219999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9800.936, "dur": 5.126000000000204, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 9802.53, "dur": 2.5119999999988067, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 9816.369, "dur": 169.97999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9818.741, "dur": 1.819999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 9856.906, "dur": 2.1999999999989086, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 9898.319, "dur": 13.909999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 9902.249, "dur": 5.737999999999374, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9904.541, "dur": 2.183000000000902, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 9916.547, "dur": 32.97099999999955, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9921.328, "dur": 2.018000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 9925.188, "dur": 4.653000000000247, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9927.269, "dur": 1.3619999999991705, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 9933.142, "dur": 10.105999999999767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 9938.867, "dur": 1.1090000000003783, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 9998.351, "dur": 10.546999999998661, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10003.204, "dur": 1.9719999999997526, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 10019.626, "dur": 35.925999999999476, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 10023.819, "dur": 5.119000000000597, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10026.444, "dur": 1.3870000000006257, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 10030.499, "dur": 22.29700000000048, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 10032.724, "dur": 18.54199999999946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10036.243, "dur": 2.165999999999258, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 10041.719, "dur": 2.1920000000009168, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 10046.051, "dur": 1.0780000000013388, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 10048.809, "dur": 1.0020000000004075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10075.168, "dur": 13.177999999999884, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10077.846, "dur": 2.2780000000002474, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10081.852, "dur": 5.286000000000058, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 10083.572, "dur": 2.5560000000004948, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 10097.121, "dur": 169.8610000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10099.264, "dur": 1.9220000000004802, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 10137.058, "dur": 2.1859999999996944, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 10178.238, "dur": 14.44800000000032, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 10182.161, "dur": 5.722999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10184.226, "dur": 2.4319999999988795, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 10196.991, "dur": 32.832000000000335, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10201.651, "dur": 1.897000000000844, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 10205.404, "dur": 4.673999999999069, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10207.484, "dur": 1.3850000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 10213.429, "dur": 10.066999999999098, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 10219.029, "dur": 1.1669999999994616, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 10278.969, "dur": 10.317000000000917, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10283.67, "dur": 1.8619999999991705, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 10299.804, "dur": 36.0679999999993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 10303.887, "dur": 5.281999999999243, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10306.609, "dur": 1.4529999999995198, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 10310.684, "dur": 22.42500000000109, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 10312.912, "dur": 18.693999999999505, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10316.426, "dur": 2.1520000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 10322.006, "dur": 2.3360000000011496, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 10326.452, "dur": 1.0709999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 10329.183, "dur": 0.9989999999997963, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10354.986, "dur": 12.851999999998952, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10357.512, "dur": 2.2189999999991414, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10361.441, "dur": 5.2259999999987485, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 10363.089, "dur": 2.5339999999996508, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 10376.784, "dur": 170.63400000000001, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10379.039, "dur": 2.161999999998443, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 10416.687, "dur": 2.1309999999994034, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 10458.487, "dur": 14.213999999999942, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 10462.426, "dur": 5.811999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10464.783, "dur": 2.228000000000975, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 10476.938, "dur": 32.83400000000074, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10481.589, "dur": 1.8320000000003347, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 10485.229, "dur": 4.873999999999796, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10487.336, "dur": 1.5230000000010477, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 10493.361, "dur": 10.204999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 10499.076, "dur": 1.202000000001135, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 10559.103, "dur": 10.493000000000393, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10563.799, "dur": 2.0129999999990105, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 10580.088, "dur": 35.81500000000051, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 10584.111, "dur": 5.286999999998443, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10586.821, "dur": 1.4580000000005384, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 10590.924, "dur": 22.18499999999949, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 10593.138, "dur": 18.50199999999859, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10596.556, "dur": 2.1520000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 10602.043, "dur": 2.2399999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 10606.463, "dur": 1.0599999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 10609.171, "dur": 1.0249999999996362, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10635.306, "dur": 13.152000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10638.072, "dur": 2.308999999999287, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10642.116, "dur": 5.155000000000655, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 10643.738, "dur": 2.525000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 10657.745, "dur": 169.0059999999994, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10660.012, "dur": 1.7780000000002474, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 10697.699, "dur": 2.146999999999025, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 10738.864, "dur": 13.768000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 10742.581, "dur": 5.682999999999083, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10744.758, "dur": 2.3060000000004948, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 10756.811, "dur": 32.96800000000076, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10761.544, "dur": 1.9860000000007858, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 10765.286, "dur": 4.720999999999549, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10767.389, "dur": 1.4020000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 10773.23, "dur": 10.220000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 10778.969, "dur": 1.1550000000006548, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 10838.763, "dur": 10.423999999999069, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10843.598, "dur": 1.8240000000005239, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 10859.496, "dur": 35.9330000000009, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 10863.509, "dur": 5.540000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10866.507, "dur": 1.4400000000005093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 10870.592, "dur": 22.013999999999214, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 10872.836, "dur": 18.243000000000393, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10876.183, "dur": 2.0689999999995052, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 10881.578, "dur": 2.1779999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 10885.929, "dur": 1.0969999999997526, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 10888.646, "dur": 1.0049999999991996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10914.741, "dur": 12.889999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10917.329, "dur": 2.180000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10921.226, "dur": 5.206000000000131, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 10922.823, "dur": 2.5749999999989086, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 10936.999, "dur": 168.95800000000054, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10939.119, "dur": 1.7969999999986612, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 10977.248, "dur": 2.188000000000102, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 11018.591, "dur": 13.815999999998894, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 11022.516, "dur": 5.636000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11024.584, "dur": 2.3369999999995343, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 11036.551, "dur": 32.36200000000099, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11041.161, "dur": 1.886000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 11044.806, "dur": 4.649999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11046.887, "dur": 1.3619999999991705, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 11052.626, "dur": 10.03900000000067, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 11058.282, "dur": 1.0750000000007276, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 11117.617, "dur": 10.55199999999968, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11122.382, "dur": 1.8770000000004075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 11138.449, "dur": 35.5630000000001, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 11142.325, "dur": 5.411999999998443, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11145.192, "dur": 1.4290000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 11149.272, "dur": 21.929999999998472, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 11151.542, "dur": 18.12300000000141, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11154.865, "dur": 2.1740000000008877, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 11160.322, "dur": 2.0450000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 11164.472, "dur": 1.0470000000004802, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 11167.226, "dur": 0.9929999999985739, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11193.149, "dur": 12.936999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11195.69, "dur": 2.2369999999991705, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11199.606, "dur": 5.255000000001019, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 11201.222, "dur": 2.6190000000005966, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 11215.264, "dur": 167.69400000000132, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11217.398, "dur": 1.7210000000013679, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 11254.498, "dur": 2.1740000000008877, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 11295.052, "dur": 14.019000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 11298.959, "dur": 5.75, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11301.067, "dur": 2.4030000000002474, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 11313.382, "dur": 32.64000000000124, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11318.106, "dur": 1.9359999999996944, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 11321.777, "dur": 4.690000000000509, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11323.852, "dur": 1.3979999999992287, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 11329.622, "dur": 10.14100000000144, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 11335.343, "dur": 1.1439999999984138, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 11395.081, "dur": 10.420000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11399.832, "dur": 1.8770000000004075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 11415.592, "dur": 35.78600000000006, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 11419.489, "dur": 5.540000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11422.452, "dur": 1.4639999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 11426.551, "dur": 21.985000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 11428.783, "dur": 18.26300000000083, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11432.156, "dur": 2.161999999998443, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 11437.639, "dur": 2.1570000000010623, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 11441.919, "dur": 1.0850000000009459, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 11444.619, "dur": 1.0190000000002328, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11471.028, "dur": 12.840000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11473.465, "dur": 2.256999999999607, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11477.428, "dur": 5.242000000000189, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 11479.04, "dur": 2.5419999999994616, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 11493.068, "dur": 167.52400000000125, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11495.284, "dur": 1.863999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 11532.273, "dur": 2.177000000001499, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 11573.227, "dur": 14.171999999998661, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 11577.204, "dur": 5.843000000000757, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11579.382, "dur": 2.42699999999968, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 11591.689, "dur": 32.57599999999911, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11596.367, "dur": 1.9380000000001019, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 11600.08, "dur": 4.610000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11602.132, "dur": 1.2920000000012806, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 11607.927, "dur": 10.18499999999949, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 11613.727, "dur": 1.1299999999991996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 11672.137, "dur": 10.572000000000116, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11676.886, "dur": 2.0129999999990105, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 11692.71, "dur": 35.65100000000166, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 11696.629, "dur": 5.455999999998312, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11699.522, "dur": 1.4219999999986612, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 11703.599, "dur": 21.962999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 11705.809, "dur": 18.25300000000061, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11709.246, "dur": 2.095000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 11714.662, "dur": 2.144000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 11718.939, "dur": 1.0730000000003201, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 11721.63, "dur": 0.9990000000016153, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11747.224, "dur": 12.894000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11749.684, "dur": 2.265000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11753.681, "dur": 5.2479999999995925, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 11755.278, "dur": 2.6010000000005675, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 11769.052, "dur": 175.3720000000012, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11771.201, "dur": 4.529000000000451, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 11811.799, "dur": 2.4129999999986467, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 11852.262, "dur": 15.037999999998647, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 11856.212, "dur": 6.280000000000655, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11858.553, "dur": 2.605999999999767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 11871.785, "dur": 35.784999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11876.672, "dur": 1.9509999999991123, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 11880.65, "dur": 5.029000000000451, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11882.804, "dur": 1.4590000000007421, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 11888.96, "dur": 10.033000000001266, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 11894.564, "dur": 1.09900000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 11956.579, "dur": 11.358000000000175, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11961.66, "dur": 2.0799999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 11978.302, "dur": 39.5630000000001, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 11982.389, "dur": 5.579999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11985.33, "dur": 1.4690000000009604, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 11989.587, "dur": 25.485000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 11992.004, "dur": 21.385999999998603, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11995.639, "dur": 2.2010000000009313, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 12001.245, "dur": 2.3249999999989086, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 12005.873, "dur": 3.1490000000012515, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 12010.792, "dur": 1.0730000000003201, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12037.224, "dur": 13.194999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12039.932, "dur": 2.4179999999996653, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12044.037, "dur": 5.119999999998981, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 12045.665, "dur": 2.414999999999054, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 12059.782, "dur": 170.94500000000153, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12061.947, "dur": 1.7749999999996362, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 12099.137, "dur": 2.149999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 12139.182, "dur": 16.484999999998763, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 12145.085, "dur": 5.997000000001208, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12147.382, "dur": 2.3870000000006257, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 12160.27, "dur": 33.594999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12165.239, "dur": 1.9799999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 12169.046, "dur": 4.834999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12171.192, "dur": 1.3950000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 12177.247, "dur": 10.345000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 12182.89, "dur": 1.114000000001397, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 12242.745, "dur": 12.982999999998356, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12249.744, "dur": 1.9599999999991269, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 12266.545, "dur": 39.13500000000022, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 12270.525, "dur": 5.635000000000218, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12273.451, "dur": 1.537000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 12277.805, "dur": 23.134000000000015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 12280.192, "dur": 19.153000000000247, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12283.648, "dur": 2.210000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 12289.232, "dur": 2.334999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 12293.9, "dur": 1.1380000000008295, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 12296.758, "dur": 1.0820000000003347, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12324.932, "dur": 13.527000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12327.522, "dur": 2.385999999998603, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12331.764, "dur": 5.416000000001077, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 12333.528, "dur": 2.55199999999968, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 12347.537, "dur": 172.90300000000025, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12349.731, "dur": 1.7510000000002037, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 12387.342, "dur": 2.1999999999989086, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 12428.085, "dur": 16.424000000000888, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 12432.068, "dur": 6.031000000000859, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12434.345, "dur": 2.438000000000102, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 12448.982, "dur": 34.201999999999316, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12454.059, "dur": 2.1710000000002765, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 12458.012, "dur": 4.915999999999258, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12460.209, "dur": 1.4359999999996944, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 12466.488, "dur": 10.134000000000015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 12472.113, "dur": 1.15099999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 12532.729, "dur": 10.927999999999884, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12537.593, "dur": 1.9279999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 12556.272, "dur": 37.10499999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 12560.367, "dur": 5.685999999999694, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12563.292, "dur": 1.5050000000010186, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 12567.713, "dur": 22.847999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 12570.027, "dur": 19.016999999999825, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12573.453, "dur": 2.2659999999996217, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 12579.047, "dur": 2.3029999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 12583.544, "dur": 1.157999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 12586.517, "dur": 1.055000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12612.722, "dur": 15.167999999999665, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12615.309, "dur": 4.164000000000669, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12621.292, "dur": 5.352000000000771, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 12622.981, "dur": 2.5720000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 12637.392, "dur": 172.48799999999937, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12639.486, "dur": 1.7639999999992142, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 12676.93, "dur": 2.337999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 12718.04, "dur": 14.532999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 12721.931, "dur": 5.9319999999988795, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12724.099, "dur": 2.407999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 12736.943, "dur": 35.68000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12741.868, "dur": 2.0100000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 12747.598, "dur": 4.8840000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12749.732, "dur": 1.4069999999992433, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 12755.807, "dur": 10.203999999999724, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 12761.52, "dur": 1.2079999999987194, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 12822.158, "dur": 10.726000000000568, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12827.022, "dur": 1.8689999999987776, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 12843.302, "dur": 357.41100000000006, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 12847.687, "dur": 5.6120000000009895, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12850.643, "dur": 1.4279999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 12854.885, "dur": 23.162000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 12857.163, "dur": 19.34900000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12860.68, "dur": 2.2299999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 12866.425, "dur": 2.3170000000009168, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 12870.957, "dur": 1.172999999998865, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 12873.833, "dur": 1.168999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 13226.107, "dur": 18.572000000000116, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13229.171, "dur": 3.3799999999991996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 13234.286, "dur": 5.846999999999753, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 13236.245, "dur": 2.833999999998923, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 13256.348, "dur": 188.47299999999996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13258.703, "dur": 2.2770000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 13300.759, "dur": 2.2600000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 13345.467, "dur": 15.515999999999622, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 13349.872, "dur": 6.313000000000102, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13352.262, "dur": 2.657999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 13365.743, "dur": 38.844999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13370.712, "dur": 2.100000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 13374.657, "dur": 5.003000000000611, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13376.819, "dur": 1.6080000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 13387.019, "dur": 10.813000000000102, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 13393.272, "dur": 1.157999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 13457.153, "dur": 10.891999999999825, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13461.964, "dur": 2.0059999999994034, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 13479.583, "dur": 40.88699999999881, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 13483.614, "dur": 5.3289999999997235, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13486.321, "dur": 1.5239999999994325, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 13490.465, "dur": 27.097999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 13492.813, "dur": 23.195999999999913, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13496.326, "dur": 2.2270000000007713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 13506.026, "dur": 2.485000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 13510.77, "dur": 1.1189999999987776, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 13513.601, "dur": 0.9849999999987631, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 13541.271, "dur": 13.073999999998705, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13543.746, "dur": 2.4400000000005093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 13547.921, "dur": 5.225000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 13549.61, "dur": 2.5309999999990396, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 13563.806, "dur": 185.3159999999989, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13566.169, "dur": 1.9240000000008877, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 13604.83, "dur": 5.65099999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 13651.347, "dur": 14.703999999999724, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 13655.363, "dur": 6.337000000001353, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13657.954, "dur": 2.5490000000008877, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 13670.434, "dur": 39.7390000000014, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13675.363, "dur": 2.0, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 13679.227, "dur": 4.860999999998967, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13681.458, "dur": 1.4069999999992433, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 13687.433, "dur": 10.292999999999665, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 13693.218, "dur": 1.201999999999316, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 13761.508, "dur": 10.622999999999593, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13766.285, "dur": 1.9220000000004802, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 13783.111, "dur": 40.80199999999968, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 13787.325, "dur": 5.3619999999991705, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13790.127, "dur": 1.4249999999992724, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 13794.223, "dur": 26.806000000000495, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 13796.498, "dur": 22.941000000000713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13800.148, "dur": 2.3170000000009168, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 13806.012, "dur": 2.377999999998792, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 13810.547, "dur": 1.0599999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 13816.939, "dur": 1.032999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 13844.699, "dur": 13.260999999998603, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13847.159, "dur": 2.7000000000007276, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 13851.561, "dur": 5.204999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 13853.165, "dur": 2.566999999999098, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 13867.463, "dur": 176.26200000000063, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13869.732, "dur": 1.8559999999997672, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 13908.331, "dur": 2.149999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 13949.823, "dur": 17.979999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 13953.853, "dur": 9.590000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13956.05, "dur": 6.164000000000669, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 13972.463, "dur": 33.288000000000466, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13977.23, "dur": 2.1130000000011933, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 13981.174, "dur": 4.6709999999984575, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13983.288, "dur": 1.3220000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 13989.294, "dur": 10.05999999999949, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 13994.931, "dur": 1.1000000000003638, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 14055.909, "dur": 14.498999999999796, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14060.769, "dur": 5.612999999999374, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 14081.666, "dur": 40.45400000000154, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 14085.834, "dur": 5.627999999998792, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14088.858, "dur": 1.4899999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 14092.99, "dur": 23.042999999999665, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 14095.463, "dur": 18.9950000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14098.99, "dur": 2.183000000000902, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 14104.68, "dur": 2.132999999999811, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 14109.18, "dur": 1.0609999999996944, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 14111.893, "dur": 1.0249999999996362, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 14142.281, "dur": 13.451999999999316, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14144.73, "dur": 2.5120000000006257, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 14149.01, "dur": 5.531999999999243, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 14150.708, "dur": 2.779999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 14165.305, "dur": 176.03899999999885, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14167.482, "dur": 1.8580000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 14205.852, "dur": 2.208999999998923, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 14247.014, "dur": 14.165000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 14250.846, "dur": 6.006999999999607, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14253.086, "dur": 2.5670000000009168, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 14269.272, "dur": 33.49199999999837, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14274.033, "dur": 2.095000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 14278.111, "dur": 4.680999999998676, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14280.168, "dur": 1.4130000000004657, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 14286.246, "dur": 10.303000000001703, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 14292.001, "dur": 1.1049999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 14353.828, "dur": 10.895000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14358.894, "dur": 1.9499999999989086, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 14375.441, "dur": 41.23999999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 14383.524, "dur": 5.644000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14386.444, "dur": 1.6190000000005966, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 14390.681, "dur": 23.170000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 14393.053, "dur": 19.20100000000093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14396.634, "dur": 2.4089999999996508, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 14402.524, "dur": 2.225000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 14406.961, "dur": 1.0850000000009459, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 14409.769, "dur": 0.9989999999997963, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 14437.161, "dur": 16.30500000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14439.771, "dur": 2.2600000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 14443.743, "dur": 8.528000000000247, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 14448.58, "dur": 2.6810000000004948, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 14463.754, "dur": 176.1319999999996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14466.158, "dur": 2.0310000000008586, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 14504.965, "dur": 2.1630000000004657, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 14546.329, "dur": 14.154000000000451, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 14550.441, "dur": 5.769999999998618, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14552.583, "dur": 2.430000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 14564.881, "dur": 37.06999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14569.42, "dur": 1.9830000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 14573.254, "dur": 8.468999999999141, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14579.151, "dur": 1.337999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 14585.126, "dur": 10.260000000000218, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 14590.881, "dur": 1.1500000000014552, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 14652.147, "dur": 10.46099999999933, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14657.039, "dur": 1.889999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 14673.115, "dur": 40.498999999999796, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 14677.231, "dur": 5.3400000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14680.071, "dur": 1.4159999999992579, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 14688.094, "dur": 22.632000000001426, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 14690.454, "dur": 18.69499999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14693.924, "dur": 2.2699999999986176, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 14699.619, "dur": 2.0819999999985157, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 14703.904, "dur": 1.0419999999994616, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 14706.654, "dur": 0.9979999999995925, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 14733.987, "dur": 13.04200000000128, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14736.46, "dur": 2.3260000000009313, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 14740.506, "dur": 5.302999999999884, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 14742.131, "dur": 2.67200000000048, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 14756.694, "dur": 184.5540000000001, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14762.324, "dur": 2.100000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 14801.16, "dur": 2.103000000000975, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 14841.828, "dur": 14.284999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 14845.632, "dur": 6.208000000000538, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14848.092, "dur": 2.5339999999996508, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 14860.705, "dur": 37.375, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14865.512, "dur": 1.9419999999990978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 14869.304, "dur": 4.789000000000669, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14871.501, "dur": 1.381999999999607, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 14877.448, "dur": 14.229999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 14883.188, "dur": 5.0049999999992, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 14953.706, "dur": 10.722999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14958.624, "dur": 1.9500000000007276, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 14975.17, "dur": 42.08899999999994, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 14979.429, "dur": 5.402000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 14982.284, "dur": 1.4580000000005384, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 14986.299, "dur": 28.011999999998807, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 14988.701, "dur": 24.045000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 14992.469, "dur": 2.2220000000015716, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 14998.054, "dur": 7.274999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 15007.491, "dur": 1.102999999999156, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 15010.244, "dur": 1.0349999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 15037.831, "dur": 13.192999999999302, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15040.314, "dur": 2.4899999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 15044.581, "dur": 5.173999999999069, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 15046.189, "dur": 2.5319999999992433, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 15060.866, "dur": 181.14799999999923, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15063.084, "dur": 1.9259999999994761, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 15101.403, "dur": 2.138999999999214, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 15142.407, "dur": 23.527000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 15155.424, "dur": 6.1599999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 15157.844, "dur": 2.4909999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 15170.554, "dur": 33.40699999999924, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15175.309, "dur": 2.019000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 15179.187, "dur": 4.734000000000378, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 15181.312, "dur": 1.3870000000006257, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 15187.281, "dur": 10.307999999999083, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 15193.146, "dur": 1.117999999998574, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 15260.584, "dur": 10.903999999998632, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 15265.564, "dur": 2.0419999999994616, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 15282.141, "dur": 40.1869999999999, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 15286.326, "dur": 5.355000000001382, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 15289.092, "dur": 1.4369999999998981, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 15293.151, "dur": 26.247999999999593, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 15295.504, "dur": 22.34899999999834, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15298.909, "dur": 2.2919999999994616, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 15304.603, "dur": 2.2810000000008586, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 15309.028, "dur": 1.1049999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 15311.986, "dur": 1.0129999999990105, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 15342.402, "dur": 13.13800000000083, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15344.95, "dur": 2.4309999999986758, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 15349.127, "dur": 5.2259999999987485, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 15350.76, "dur": 2.5650000000005093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 15365.229, "dur": 175.5580000000009, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15367.526, "dur": 2.1890000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 15405.89, "dur": 2.154000000000451, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 15446.875, "dur": 17.72700000000077, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 15450.67, "dur": 9.579999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 15453.026, "dur": 2.4359999999996944, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 15469.121, "dur": 33.68600000000151, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15473.887, "dur": 2.1999999999989086, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 15477.955, "dur": 4.789000000000669, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 15480.099, "dur": 1.4159999999992579, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 15486.147, "dur": 10.203999999999724, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 15491.961, "dur": 1.0600000000013097, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 15553.255, "dur": 14.300000000001091, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 15558.163, "dur": 1.9030000000002474, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 15578.542, "dur": 36.707000000000335, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 15582.69, "dur": 5.537000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 15585.646, "dur": 1.4759999999987485, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 15589.649, "dur": 22.76000000000022, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 15592.079, "dur": 18.722999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15595.726, "dur": 2.2079999999987194, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 15601.294, "dur": 2.2049999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 15605.607, "dur": 1.1020000000007713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 15608.334, "dur": 1.006999999999607, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 15634.802, "dur": 16.623999999999796, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15640.641, "dur": 2.6080000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 15644.992, "dur": 5.246999999999389, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 15646.624, "dur": 2.585000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 15661.663, "dur": 175.39899999999943, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15663.851, "dur": 1.7899999999990541, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 15702.049, "dur": 2.1569999999992433, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 15743.033, "dur": 14.256000000001222, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 15746.888, "dur": 6.019999999998618, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 15749.092, "dur": 2.563000000000102, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 15761.685, "dur": 37.11499999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15770.205, "dur": 2.0640000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 15774.144, "dur": 4.806000000000495, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 15776.233, "dur": 1.5270000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 15782.347, "dur": 10.19300000000112, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 15788.128, "dur": 1.1019999999989523, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 15849.314, "dur": 10.895000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 15854.241, "dur": 1.9860000000007858, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 15870.992, "dur": 40.57999999999993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 15875.094, "dur": 9.321000000001732, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 15881.802, "dur": 1.522000000000844, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 15885.873, "dur": 22.77599999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 15888.273, "dur": 18.822000000000116, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15891.742, "dur": 2.3400000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 15897.505, "dur": 2.2670000000016444, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 15901.852, "dur": 1.0939999999991414, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 15904.634, "dur": 1.0349999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 15932.022, "dur": 16.242999999998574, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15934.586, "dur": 2.378000000000611, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 15938.674, "dur": 8.3849999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 15940.335, "dur": 2.5970000000015716, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 15958.405, "dur": 173.22999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 15960.635, "dur": 1.7860000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 15998.606, "dur": 2.219999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 16039.324, "dur": 14.08299999999872, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 16043.224, "dur": 5.907999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16045.464, "dur": 2.4470000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 16057.589, "dur": 36.90600000000086, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16062.262, "dur": 1.9489999999987049, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 16066.03, "dur": 8.253999999998996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16068.104, "dur": 1.2970000000004802, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 16077.782, "dur": 10.259000000000015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 16083.63, "dur": 1.092000000000553, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 16143.52, "dur": 10.591999999998734, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16148.323, "dur": 1.9650000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 16164.755, "dur": 40.39000000000124, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 16168.816, "dur": 5.547999999998865, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16171.792, "dur": 1.423000000000684, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 16175.8, "dur": 26.502000000000407, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 16178.09, "dur": 22.664999999999054, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16185.269, "dur": 2.3510000000005675, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 16191.142, "dur": 2.264999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 16195.536, "dur": 1.0889999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 16198.325, "dur": 0.9989999999997963, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 16225.2, "dur": 13.152000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16227.747, "dur": 2.3770000000004075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 16231.909, "dur": 5.164000000000669, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 16233.504, "dur": 2.52599999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 16247.7, "dur": 176.12099999999919, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16249.952, "dur": 4.863000000001193, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 16290.575, "dur": 2.209999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 16331.095, "dur": 14.038000000000466, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 16335.0, "dur": 5.829999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16337.167, "dur": 2.4170000000012806, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 16349.315, "dur": 37.027000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16354.067, "dur": 1.9970000000012078, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 16357.925, "dur": 4.621000000001004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16359.973, "dur": 1.3369999999995343, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 16365.82, "dur": 10.253000000000611, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 16371.604, "dur": 1.1159999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 16435.707, "dur": 10.819999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16440.679, "dur": 1.955999999998312, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 16457.385, "dur": 39.806000000000495, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 16461.45, "dur": 5.576000000000931, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16464.482, "dur": 1.4199999999982538, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 16468.49, "dur": 25.920999999998457, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 16470.809, "dur": 22.054000000000087, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16474.15, "dur": 2.1089999999967404, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 16479.607, "dur": 2.2119999999995343, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 16483.88, "dur": 4.789999999997235, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 16490.362, "dur": 1.0030000000006112, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 16517.323, "dur": 13.106999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16519.805, "dur": 2.4399999999986903, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 16523.99, "dur": 5.172999999998865, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 16525.623, "dur": 2.493000000002212, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 16539.903, "dur": 180.65000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16542.048, "dur": 1.639999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 16579.925, "dur": 2.121999999999389, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 16620.532, "dur": 18.988000000001193, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 16628.53, "dur": 6.170000000001892, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16630.867, "dur": 2.588999999999942, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 16644.075, "dur": 33.008999999998196, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16648.822, "dur": 2.110000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 16652.788, "dur": 4.641999999999825, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16654.884, "dur": 1.3290000000015425, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 16660.7, "dur": 10.029999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 16666.296, "dur": 1.1480000000010477, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 16733.045, "dur": 14.679000000000087, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16741.808, "dur": 1.944999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 16758.829, "dur": 42.29599999999846, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 16762.868, "dur": 5.684000000001106, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16765.885, "dur": 1.548000000002503, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 16770.035, "dur": 22.677999999999884, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 16772.369, "dur": 18.811000000001513, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16775.713, "dur": 2.367000000002008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 16781.554, "dur": 2.2730000000010477, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 16785.945, "dur": 1.0790000000015425, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 16788.713, "dur": 1.0200000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 16821.68, "dur": 13.672999999998865, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16824.48, "dur": 2.541000000001077, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 16828.772, "dur": 5.3729999999995925, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 16830.46, "dur": 2.6419999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 16844.704, "dur": 213.11599999999817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16846.905, "dur": 1.669000000001688, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 16885.002, "dur": 2.2000000000007276, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 16925.813, "dur": 18.294000000001688, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 16929.69, "dur": 6.176000000003114, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16932.026, "dur": 2.6039999999993597, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 16948.855, "dur": 32.97699999999895, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 16953.635, "dur": 2.040000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 16957.533, "dur": 4.797000000002299, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 16959.64, "dur": 1.4150000000008731, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 16965.655, "dur": 10.095000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 16971.447, "dur": 1.0449999999982538, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 17071.484, "dur": 11.731999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17076.883, "dur": 2.1019999999989523, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 17099.284, "dur": 37.96399999999994, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 17103.602, "dur": 5.80199999999968, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17106.642, "dur": 1.651000000001659, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 17110.92, "dur": 23.455000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 17113.284, "dur": 19.559000000001106, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 17117.044, "dur": 2.355999999999767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 17122.992, "dur": 2.433000000000902, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 17127.602, "dur": 1.1020000000025902, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 17130.42, "dur": 1.0050000000010186, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 17158.452, "dur": 17.083999999998923, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 17161.17, "dur": 5.930000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 17168.832, "dur": 5.433000000000902, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 17170.562, "dur": 2.665999999997439, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 17185.325, "dur": 177.40299999999843, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 17187.608, "dur": 1.897000000000844, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 17226.627, "dur": 2.2079999999987194, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 17268.162, "dur": 14.532999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 17272.166, "dur": 6.049999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17274.574, "dur": 2.3800000000010186, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 17287.07, "dur": 37.29100000000108, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 17291.793, "dur": 1.9769999999989523, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 17299.385, "dur": 4.725000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17301.533, "dur": 1.3689999999987776, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 17307.455, "dur": 10.432999999997264, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 17313.442, "dur": 1.1310000000012224, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 17375.142, "dur": 10.902999999998428, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17380.121, "dur": 2.0460000000020955, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 17396.923, "dur": 40.61200000000099, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 17401.015, "dur": 9.319999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17403.962, "dur": 1.4830000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 17411.825, "dur": 22.8279999999977, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 17414.151, "dur": 18.965000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 17417.693, "dur": 2.297000000002299, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 17423.447, "dur": 2.315999999998894, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 17427.923, "dur": 1.0529999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 17430.671, "dur": 1.011000000002241, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 17457.768, "dur": 16.09899999999834, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 17460.333, "dur": 2.4799999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 17464.525, "dur": 5.25, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 17466.213, "dur": 2.5200000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 17483.876, "dur": 174.81299999999828, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 17486.15, "dur": 1.8959999999970023, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 17524.053, "dur": 2.2069999999985157, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 17565.39, "dur": 14.098000000001775, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 17569.416, "dur": 5.798999999999069, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17571.696, "dur": 2.3040000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 17583.768, "dur": 36.56499999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 17588.503, "dur": 1.9019999999982247, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 17592.323, "dur": 4.6120000000009895, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17594.387, "dur": 1.337999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 17600.023, "dur": 14.011999999998807, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 17609.548, "dur": 1.139999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 17671.214, "dur": 10.954000000001543, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17676.081, "dur": 2.106999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 17692.574, "dur": 40.248999999999796, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 17696.643, "dur": 5.5459999999984575, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17699.628, "dur": 1.4749999999985448, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 17703.656, "dur": 26.330000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 17705.933, "dur": 22.469999999997526, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 17709.353, "dur": 2.2160000000003492, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 17718.836, "dur": 2.235000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 17723.203, "dur": 1.087999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 17725.945, "dur": 1.0030000000006112, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 17753.173, "dur": 13.189000000002125, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 17755.721, "dur": 2.375, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 17759.85, "dur": 5.283999999999651, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 17761.525, "dur": 2.5639999999984866, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 17775.974, "dur": 175.81900000000314, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 17778.171, "dur": 1.8620000000009895, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 17815.673, "dur": 5.417000000001281, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 17860.006, "dur": 14.179000000000087, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 17863.845, "dur": 5.82300000000032, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17866.088, "dur": 2.3430000000007567, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 17878.335, "dur": 36.251000000000204, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 17883.096, "dur": 1.9589999999989232, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 17886.865, "dur": 4.617999999998574, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17888.914, "dur": 1.3289999999979045, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 17894.723, "dur": 10.104999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 17900.495, "dur": 1.157999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 17964.042, "dur": 10.684999999997672, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17968.88, "dur": 1.893000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 17985.387, "dur": 39.64300000000003, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 17989.288, "dur": 5.379000000000815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 17992.17, "dur": 1.4170000000012806, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 17996.091, "dur": 26.12199999999939, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 17998.396, "dur": 22.279999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18001.908, "dur": 2.1569999999992433, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 18007.38, "dur": 2.264999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 18011.733, "dur": 1.0619999999980791, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 18014.447, "dur": 4.724999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 18045.532, "dur": 13.013999999999214, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18048.01, "dur": 2.4020000000018626, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 18052.151, "dur": 5.2150000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 18053.708, "dur": 2.6150000000016007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 18068.192, "dur": 174.53900000000067, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18070.469, "dur": 1.787000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 18108.224, "dur": 2.1490000000012515, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 18149.511, "dur": 18.423000000002503, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 18153.334, "dur": 10.095000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 18155.614, "dur": 6.555000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 18172.573, "dur": 33.16100000000006, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18177.453, "dur": 2.1229999999995925, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 18181.389, "dur": 4.755000000001019, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 18183.571, "dur": 1.3800000000010186, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 18189.549, "dur": 10.156999999999243, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 18195.316, "dur": 1.1680000000014843, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 18254.926, "dur": 13.970000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 18259.696, "dur": 5.398000000001048, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 18279.888, "dur": 39.36000000000058, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 18283.936, "dur": 5.5459999999984575, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 18286.93, "dur": 1.4310000000004948, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 18290.911, "dur": 22.3650000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 18293.361, "dur": 18.36999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18296.896, "dur": 2.238999999997759, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 18302.474, "dur": 2.128000000000611, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 18306.685, "dur": 1.037000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 18309.313, "dur": 0.9900000000016007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 18339.505, "dur": 13.0, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18341.945, "dur": 2.3810000000012224, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 18346.062, "dur": 5.245999999999185, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 18347.793, "dur": 2.4949999999989814, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 18361.875, "dur": 174.92599999999948, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18364.148, "dur": 1.805000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 18401.216, "dur": 2.2000000000007276, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 18442.068, "dur": 14.329000000001543, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 18446.042, "dur": 6.004999999997381, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 18448.375, "dur": 2.440999999998894, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 18460.663, "dur": 38.909999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18471.221, "dur": 2.2150000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 18475.301, "dur": 4.722000000001572, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 18477.436, "dur": 1.3559999999997672, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 18483.294, "dur": 10.173999999999069, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 18489.221, "dur": 1.0629999999982829, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 18548.894, "dur": 10.778999999998632, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 18553.852, "dur": 1.9609999999993306, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 18570.331, "dur": 39.77000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 18578.073, "dur": 5.595000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 18581.076, "dur": 1.495999999999185, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 18585.084, "dur": 22.241000000001804, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 18587.372, "dur": 18.491000000001804, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18590.737, "dur": 2.3040000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 18596.436, "dur": 2.2409999999981665, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 18600.751, "dur": 1.0529999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 18603.434, "dur": 0.9989999999997963, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 18630.574, "dur": 15.91700000000128, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18632.953, "dur": 2.2079999999987194, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 18636.869, "dur": 8.440000000002328, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 18641.681, "dur": 2.602999999999156, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 18656.524, "dur": 174.0659999999989, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18658.794, "dur": 1.9269999999996799, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 18697.028, "dur": 2.2080000000023574, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 18738.303, "dur": 14.159999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 18742.285, "dur": 5.819999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 18744.508, "dur": 2.3649999999979627, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 18756.765, "dur": 36.925999999999476, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18761.528, "dur": 2.0380000000004657, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 18765.376, "dur": 8.365999999998166, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 18771.094, "dur": 1.4419999999990978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 18777.15, "dur": 10.354999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 18783.106, "dur": 1.1589999999996508, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 18842.796, "dur": 10.572000000000116, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 18847.603, "dur": 1.9789999999993597, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 18863.994, "dur": 39.57300000000032, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 18867.954, "dur": 5.359999999996944, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 18870.842, "dur": 1.3620000000009895, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 18874.729, "dur": 26.01299999999901, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 18880.654, "dur": 18.582000000002154, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18884.066, "dur": 2.1959999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 18889.664, "dur": 2.157999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 18893.956, "dur": 1.1010000000023865, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 18896.754, "dur": 1.0169999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 18923.467, "dur": 12.675999999999476, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18925.901, "dur": 2.2109999999993306, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 18929.797, "dur": 5.174000000002707, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 18931.428, "dur": 2.486000000000786, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 18945.711, "dur": 176.48300000000017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 18951.014, "dur": 1.8400000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 18988.924, "dur": 2.183000000000902, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 19029.812, "dur": 14.28099999999904, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 19033.713, "dur": 6.043000000001484, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19035.984, "dur": 2.5169999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 19048.369, "dur": 36.379000000000815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19053.012, "dur": 1.8340000000025611, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 19056.653, "dur": 4.591000000000349, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19058.749, "dur": 1.2799999999988358, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 19064.446, "dur": 14.099999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 19070.324, "dur": 4.919999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 19134.425, "dur": 10.495999999999185, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19139.191, "dur": 1.9250000000029104, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 19155.357, "dur": 40.004000000000815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 19159.288, "dur": 5.468000000000757, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19162.285, "dur": 1.3519999999989523, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 19166.209, "dur": 26.382000000001426, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 19168.554, "dur": 22.493999999998778, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19172.108, "dur": 2.1850000000013097, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 19177.656, "dur": 5.968000000000757, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 19185.837, "dur": 1.087999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 19188.57, "dur": 1.0349999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 19215.486, "dur": 13.130000000001019, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19217.945, "dur": 2.440999999998894, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 19222.097, "dur": 5.3509999999987485, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 19223.803, "dur": 2.599999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 19237.894, "dur": 172.15199999999822, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19240.091, "dur": 1.8119999999980791, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 19277.546, "dur": 2.1380000000026484, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 19318.572, "dur": 17.424999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 19325.986, "dur": 5.861000000000786, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19328.276, "dur": 2.3469999999979336, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 19340.502, "dur": 32.72999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19345.149, "dur": 1.9539999999979045, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 19348.863, "dur": 4.700999999997293, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19350.951, "dur": 1.3999999999978172, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 19356.962, "dur": 10.066999999999098, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 19362.663, "dur": 1.120999999999185, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 19425.851, "dur": 10.73700000000099, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19430.734, "dur": 1.9700000000011642, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 19447.031, "dur": 39.460000000002765, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 19450.961, "dur": 5.528000000002066, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19453.956, "dur": 1.441000000002532, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 19457.951, "dur": 25.718000000000757, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 19460.341, "dur": 21.790000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19463.809, "dur": 2.274999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 19469.424, "dur": 2.069999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 19473.617, "dur": 1.055000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 19476.303, "dur": 0.9979999999995925, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 19506.884, "dur": 13.27900000000227, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19509.341, "dur": 2.587999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 19513.673, "dur": 5.291000000001077, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 19515.412, "dur": 2.528999999998632, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 19529.821, "dur": 171.72599999999875, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19531.974, "dur": 1.77900000000227, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 19569.144, "dur": 2.0529999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 19609.637, "dur": 17.897000000000844, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 19613.552, "dur": 9.671000000002095, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19615.854, "dur": 2.5900000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 19631.988, "dur": 32.623999999999796, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19636.688, "dur": 2.0930000000007567, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 19640.605, "dur": 4.778999999998632, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19642.709, "dur": 1.444999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 19648.573, "dur": 10.02100000000064, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 19654.337, "dur": 1.1120000000009895, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 19713.704, "dur": 14.825999999997293, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19718.486, "dur": 1.9179999999978463, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 19739.454, "dur": 36.590000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 19743.587, "dur": 5.56000000000131, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19746.577, "dur": 1.433999999997468, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 19750.597, "dur": 22.63799999999901, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 19752.975, "dur": 18.71100000000297, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19756.367, "dur": 2.3400000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 19762.206, "dur": 2.25800000000163, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 19766.611, "dur": 1.0400000000008731, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 19769.277, "dur": 0.9980000000032305, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 19795.727, "dur": 16.699000000000524, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19801.687, "dur": 2.5899999999965075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 19806.015, "dur": 5.208000000002357, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 19807.694, "dur": 2.5, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 19822.576, "dur": 172.39199999999983, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19824.769, "dur": 1.805000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 19862.344, "dur": 2.1450000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 19903.292, "dur": 14.183999999997468, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 19907.255, "dur": 6.0, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19909.552, "dur": 2.4569999999985157, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 19921.527, "dur": 36.41900000000169, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 19930.031, "dur": 2.105999999999767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 19933.968, "dur": 4.755000000001019, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 19936.111, "dur": 1.393000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 19941.992, "dur": 10.0, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 19947.696, "dur": 1.157999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 20007.097, "dur": 10.650999999998021, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20011.883, "dur": 1.992999999998574, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 20028.274, "dur": 43.1359999999986, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 20032.226, "dur": 12.218000000000757, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20035.074, "dur": 8.222999999998137, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 20045.937, "dur": 22.64799999999741, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 20048.337, "dur": 18.707000000002154, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20051.897, "dur": 2.2779999999984284, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 20057.575, "dur": 2.2119999999995343, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 20061.907, "dur": 1.0450000000018917, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 20064.578, "dur": 1.0339999999996508, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 20091.677, "dur": 16.32800000000134, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20094.25, "dur": 2.4759999999987485, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 20098.398, "dur": 8.41400000000067, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 20100.067, "dur": 2.475000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 20118.269, "dur": 173.51699999999983, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20120.612, "dur": 1.8430000000007567, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 20158.862, "dur": 2.144000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 20200.351, "dur": 14.135000000002037, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 20204.291, "dur": 5.878000000000611, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20206.477, "dur": 2.441000000002532, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 20218.635, "dur": 36.35900000000038, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20223.215, "dur": 1.9540000000015425, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 20227.006, "dur": 8.315999999998894, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20229.022, "dur": 1.3619999999973516, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 20238.686, "dur": 10.247999999999593, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 20244.522, "dur": 1.1299999999973807, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 20304.192, "dur": 10.47899999999936, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20308.889, "dur": 1.9599999999991269, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 20325.466, "dur": 40.016999999999825, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 20329.431, "dur": 5.417999999997846, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20332.306, "dur": 1.4279999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 20336.322, "dur": 26.31499999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 20338.644, "dur": 22.437999999998283, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20345.877, "dur": 2.264999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 20351.563, "dur": 2.231000000003405, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 20355.969, "dur": 1.0599999999976717, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 20358.646, "dur": 1.0099999999983993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 20385.469, "dur": 13.185999999997875, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20388.134, "dur": 2.3880000000026484, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 20392.223, "dur": 5.238999999997759, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 20393.836, "dur": 2.5560000000004948, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 20408.264, "dur": 176.4429999999993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20410.486, "dur": 1.7399999999979627, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 20451.946, "dur": 2.1379999999990105, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 20492.818, "dur": 13.915000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 20496.627, "dur": 5.788000000000466, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20498.825, "dur": 2.3519999999989523, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 20510.753, "dur": 37.07600000000093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20515.377, "dur": 2.024999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 20519.198, "dur": 4.654999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20521.325, "dur": 1.3129999999982829, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 20527.412, "dur": 10.272000000000844, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 20533.247, "dur": 1.1660000000010768, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 20596.826, "dur": 10.40899999999965, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20601.542, "dur": 1.9359999999978754, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 20617.735, "dur": 39.947000000000116, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 20621.757, "dur": 5.3179999999993015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20624.484, "dur": 1.489000000001397, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 20628.542, "dur": 26.326999999997497, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 20630.887, "dur": 22.4220000000023, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20634.532, "dur": 2.2600000000020373, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 20640.097, "dur": 2.274999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 20644.484, "dur": 4.797999999998865, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 20650.907, "dur": 0.9830000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 20677.902, "dur": 13.485000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20680.298, "dur": 2.7489999999997963, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 20684.858, "dur": 5.355999999999767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 20686.562, "dur": 2.609999999996944, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 20700.429, "dur": 173.06299999999828, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20702.63, "dur": 1.9369999999980791, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 20740.177, "dur": 2.1049999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 20780.877, "dur": 17.93999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 20788.337, "dur": 6.225000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20790.815, "dur": 2.5159999999996217, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 20803.243, "dur": 33.40600000000268, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20808.034, "dur": 2.0970000000015716, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 20811.929, "dur": 5.07300000000032, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20814.337, "dur": 1.3889999999992142, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 20820.314, "dur": 10.113000000001193, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 20826.126, "dur": 1.0580000000009022, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 20885.832, "dur": 13.937000000001717, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20894.05, "dur": 1.8780000000006112, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 20910.488, "dur": 39.28099999999904, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 20914.576, "dur": 5.308999999997468, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 20917.285, "dur": 1.4789999999993597, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 20921.344, "dur": 22.453999999997905, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 20923.693, "dur": 18.59400000000096, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20927.058, "dur": 2.2289999999993597, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 20932.675, "dur": 2.3029999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 20937.09, "dur": 1.1059999999997672, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 20939.857, "dur": 1.0050000000010186, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 20969.513, "dur": 13.33599999999933, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 20972.015, "dur": 2.5750000000007276, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 20976.309, "dur": 5.3179999999993015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 20978.107, "dur": 2.486000000000786, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 21019.015, "dur": 183.06200000000172, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21021.653, "dur": 2.3840000000018335, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 21062.75, "dur": 2.2030000000013388, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 21105.369, "dur": 19.12000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 21109.386, "dur": 6.429000000000087, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 21111.926, "dur": 2.647000000000844, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 21129.198, "dur": 34.03600000000006, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21133.833, "dur": 2.1740000000027067, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 21137.815, "dur": 5.097000000001572, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 21140.195, "dur": 1.4720000000015716, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 21146.217, "dur": 10.506999999997788, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 21152.284, "dur": 1.1379999999990105, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 21214.31, "dur": 10.473999999998341, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 21218.898, "dur": 2.019000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 21239.318, "dur": 36.9320000000007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 21243.472, "dur": 5.277999999998428, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 21246.112, "dur": 1.510999999998603, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 21250.208, "dur": 23.264000000002852, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 21252.556, "dur": 19.388999999999214, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21256.17, "dur": 2.3550000000032014, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 21262.176, "dur": 2.2740000000012515, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 21266.65, "dur": 1.1419999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 21269.525, "dur": 1.0199999999967986, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 21296.468, "dur": 17.034999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21299.035, "dur": 2.371999999999389, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 21306.671, "dur": 5.473000000001775, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 21308.512, "dur": 2.618000000002212, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 21323.413, "dur": 173.95999999999913, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21325.71, "dur": 1.8330000000023574, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 21364.077, "dur": 2.2589999999981956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 21404.952, "dur": 14.217999999997119, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 21408.824, "dur": 5.96900000000096, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 21411.097, "dur": 2.4509999999972933, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 21423.285, "dur": 36.65899999999965, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21427.796, "dur": 1.9370000000017171, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 21435.325, "dur": 4.804000000000087, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 21437.484, "dur": 1.4379999999982829, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 21443.47, "dur": 10.237999999997555, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 21449.298, "dur": 1.1570000000028813, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 21509.895, "dur": 10.540000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 21514.678, "dur": 1.955999999998312, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 21530.828, "dur": 40.61899999999878, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 21534.83, "dur": 9.343999999997322, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 21537.807, "dur": 1.4399999999986903, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 21545.684, "dur": 22.91400000000067, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 21548.013, "dur": 19.074000000000524, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21551.507, "dur": 2.282999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 21557.234, "dur": 2.458999999998923, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 21561.887, "dur": 1.1080000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 21564.672, "dur": 0.9970000000030268, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 21592.057, "dur": 18.139999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21594.544, "dur": 2.187999999998283, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 21598.435, "dur": 5.298999999999069, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 21600.172, "dur": 2.5100000000020373, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 21620.524, "dur": 175.17399999999907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21622.739, "dur": 1.8669999999983702, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 21661.445, "dur": 2.20600000000195, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 21702.787, "dur": 14.222999999998137, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 21706.688, "dur": 5.978000000002794, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 21708.938, "dur": 2.4980000000032305, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 21721.378, "dur": 37.279999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21726.108, "dur": 1.977999999999156, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 21729.899, "dur": 4.651999999998225, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 21731.979, "dur": 1.3660000000018044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 21737.988, "dur": 14.610000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 21748.072, "dur": 1.0730000000003201, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 21807.616, "dur": 10.695999999999913, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 21812.387, "dur": 2.0159999999996217, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 21829.123, "dur": 46.57500000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 21833.127, "dur": 5.443999999999505, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 21836.003, "dur": 1.4439999999995052, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 21840.03, "dur": 32.78200000000288, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 21842.344, "dur": 28.89300000000003, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21845.817, "dur": 2.246999999999389, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 21861.567, "dur": 2.3209999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 21866.087, "dur": 1.102999999999156, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 21868.817, "dur": 1.0, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 21896.347, "dur": 13.356999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21899.012, "dur": 2.360000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 21903.123, "dur": 5.334999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 21904.75, "dur": 2.6820000000006985, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 21919.203, "dur": 178.84499999999753, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 21921.305, "dur": 1.9429999999993015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 21959.662, "dur": 5.56499999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 22005.754, "dur": 14.170999999998457, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 22009.51, "dur": 5.966000000000349, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 22011.736, "dur": 2.503000000000611, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 22024.213, "dur": 36.46299999999974, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 22028.863, "dur": 2.024999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 22032.709, "dur": 4.6010000000023865, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 22034.809, "dur": 1.2769999999982247, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 22040.653, "dur": 10.210000000002765, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 22046.563, "dur": 1.1120000000009895, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 22110.036, "dur": 10.880000000001019, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 22114.959, "dur": 2.044000000001688, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 22131.643, "dur": 39.9429999999993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 22135.666, "dur": 5.329999999998108, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 22138.474, "dur": 1.4130000000004657, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 22142.49, "dur": 26.337999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 22144.833, "dur": 22.41400000000067, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 22148.311, "dur": 2.275999999998021, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 22153.93, "dur": 2.305000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 22158.336, "dur": 1.0900000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 22161.006, "dur": 4.7369999999973516, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 22191.679, "dur": 13.298999999999069, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 22194.179, "dur": 2.559000000001106, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 22198.505, "dur": 5.27100000000064, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 22200.148, "dur": 2.602999999999156, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 22214.093, "dur": 178.10399999999936, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 22216.31, "dur": 1.6659999999974389, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 22253.785, "dur": 2.0469999999986612, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 22294.747, "dur": 17.93800000000192, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 22298.605, "dur": 9.68999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 22300.83, "dur": 6.227999999999156, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 22317.564, "dur": 33.119000000002416, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 22322.178, "dur": 2.2150000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 22326.167, "dur": 4.764999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 22328.292, "dur": 1.3979999999974098, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 22334.311, "dur": 10.086999999999534, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 22340.165, "dur": 1.0429999999978463, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 22404.448, "dur": 13.995999999999185, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 22409.448, "dur": 5.126000000000204, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 22429.285, "dur": 36.41100000000006, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 22433.379, "dur": 5.504000000000815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 22436.31, "dur": 1.4389999999984866, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 22440.294, "dur": 22.65599999999904, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 22442.678, "dur": 18.77600000000166, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 22446.068, "dur": 2.2109999999993306, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 22451.757, "dur": 2.290999999997439, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 22456.178, "dur": 1.1120000000009895, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 22459.005, "dur": 1.0309999999990396, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 22489.336, "dur": 13.183000000000902, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 22491.959, "dur": 2.5339999999996508, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 22496.269, "dur": 5.059000000001106, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::fill_", "ph": "X", "ts": 22497.89, "dur": 2.4089999999996508, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 22511.789, "dur": 173.29000000000087, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 22513.916, "dur": 1.8799999999973807, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 22551.526, "dur": 2.0679999999993015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 22592.626, "dur": 14.209999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 22596.473, "dur": 6.05199999999968, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 22598.69, "dur": 2.6130000000011933, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 22611.098, "dur": 36.536999999996624, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 22619.605, "dur": 2.114000000001397, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 22623.578, "dur": 4.7520000000004075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 22625.728, "dur": 1.3580000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 22631.556, "dur": 10.023000000001048, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stride", "ph": "X", "ts": 22637.374, "dur": 1.0689999999995052, "tid": 1, "pid": "CPU functions", "args": {}}] \ No newline at end of file From 6f2258f5d07c919cd9b7b040d8cb52e630cd4c62 Mon Sep 17 00:00:00 2001 From: tchaton Date: Fri, 19 Mar 2021 14:58:01 +0000 Subject: [PATCH 26/87] update --- tests/test_profiler.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index a0160be5d43f4..8e4254821a833 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -337,9 +337,12 @@ def test_pytorch_profiler_nested(tmpdir): events_name = {e.name for e in pytorch_profiler.function_events} - expected = { - 'signed char', 'add', 'profiler::_record_function_exit', 'bool', 'char', 'profiler::_record_function_enter' - } + if platform.system() == "Windows": + expected = {'a', 'add', 'b', 'c', 'profiler::_record_function_enter', 'profiler::_record_function_exit'} + else: + expected = { + 'signed char', 'add', 'profiler::_record_function_exit', 'bool', 'char', 'profiler::_record_function_enter' + } if LooseVersion(torch.__version__) >= LooseVersion("1.6.0"): expected = {'add', 'zeros', 'ones', 'zero_', 'b', 'fill_', 'c', 'a', 'empty'} From 883b242bec06ce7817df4561273cb7beccf79920 Mon Sep 17 00:00:00 2001 From: tchaton Date: Sun, 21 Mar 2021 10:47:43 +0000 Subject: [PATCH 27/87] update --- .gitignore | 1 + pytorch_lightning/profiler/profilers.py | 19 +++++++++++-------- pytorch_lightning/profiler/pytorch.py | 21 +++++++++++++++++---- 3 files changed, 29 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index cd0ba22453512..99939ff7fce0c 100644 --- a/.gitignore +++ b/.gitignore @@ -157,3 +157,4 @@ tags data MNIST runs +*trace* diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index 828d00da70dc2..01aad6926f584 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -51,8 +51,13 @@ class BaseProfiler(AbstractProfiler, ABC): If you wish to write a custom profiler, you should inherit from this class. """ - def __init__(self, local_rank: Optional[int] = None, log_dir: Optional[str] = None) -> None: - self.output_fname = getattr(self, "output_fname", None) + def __init__( + self, + output_filename: Optional[str] = None, + local_rank: Optional[int] = None, + log_dir: Optional[str] = None + ) -> None: + self.output_fname = output_filename self.output_file = None # the profiler can be used outside of lightning # that's why we call `on_train_start` manually @@ -110,6 +115,7 @@ def describe(self) -> None: write(self.summary()) if self.output_file: self.output_file.flush() + self.teardown() def stats_to_str(self, stats: dict) -> str: output = ["Profiler Report"] @@ -121,12 +127,10 @@ def stats_to_str(self, stats: dict) -> str: output.append(value) return os.linesep.join(output) - def __del__(self) -> None: + def teardown(self) -> None: """Close profiler's stream.""" - try: + if self.output_file: self.output_file.close() - except AttributeError: - pass class PassThroughProfiler(BaseProfiler): @@ -250,10 +254,9 @@ def __init__(self, output_filename: Optional[str] = None, line_count_restriction ValueError: If you attempt to stop recording an action which was never started. """ - self.output_fname = output_filename + super().__init__(output_filename=output_filename) self.profiled_actions = {} self.line_count_restriction = line_count_restriction - super().__init__() def start(self, action_name: str) -> None: if action_name not in self.profiled_actions: diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index 953f04c622c4b..70b30bc505b1f 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -208,7 +208,7 @@ def __init__( self.function_events: Optional[EventList] = None self._profiler_instantiated: bool = False - super().__init__(local_rank=local_rank) + super().__init__(output_filename=output_filename, local_rank=local_rank) def __deprecation_check(self, profiled_functions: List[str] = [], record_functions: List[str] = []) -> List[str]: if profiled_functions is not None: @@ -245,8 +245,8 @@ def _rank_zero_only_wrap(self) -> None: def start(self, action_name: str) -> None: if not self._profiler_instantiated: - - # close profiler is already opened + + # close profiler if it is already opened try: torch.autograd._disable_profiler() except (AttributeError, RuntimeError): @@ -282,7 +282,8 @@ def summary(self) -> str: return "" local_rank = 0 if self.local_rank is None else self.local_rank - recorded_stats = {} + self.function_events = self.profiler.function_events + self.profiler.__exit__(None, None, None) self.function_events = self.profiler.function_events self.profiler = None @@ -304,6 +305,8 @@ def summary(self) -> str: data = self.function_events.key_averages(group_by_input_shapes=self.group_by_input_shapes) table = data.table(sort_by=self.sort_by_key, row_limit=self.row_limit) + + recorded_stats = {} recorded_stats["records"] = table return self.stats_to_str(recorded_stats) @@ -320,3 +323,13 @@ def _create_profiler(self, profiler: Type[_PROFILER]) -> _PROFILER: init_parameters = inspect.signature(profiler.__init__).parameters kwargs = {k: v for k, v in self.profiler_kwargs.items() if k in init_parameters} return profiler(**kwargs) + + def teardown(self): + if self.profiler is not None: + self.profiler.__exit__(None, None, None) + + if self._parent_profiler is not None: + self._parent_profiler.__exit__(None, None, None) + self._parent_profiler = None + + super().teardown() From 9b957bdbda666d90e87a930f142ea3ef8c2a608d Mon Sep 17 00:00:00 2001 From: tchaton Date: Sun, 21 Mar 2021 11:10:17 +0000 Subject: [PATCH 28/87] update --- pytorch_lightning/profiler/pytorch.py | 6 ++++++ tests/test_profiler.py | 9 +++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index 70b30bc505b1f..d84d70a5d21fc 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -332,4 +332,10 @@ def teardown(self): self._parent_profiler.__exit__(None, None, None) self._parent_profiler = None + if self.register is not None: + self.register.__exit__(None, None, None) + + for record in self.recording_map.values(): + record.__exit__(None, None, None) + super().teardown() diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 8e4254821a833..71f0f8df12d59 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -120,8 +120,7 @@ def test_simple_profiler_value_errors(simple_profiler): @pytest.fixture def advanced_profiler(tmpdir): - profiler = AdvancedProfiler(output_filename=os.path.join(tmpdir, "profiler.txt")) - return profiler + return AdvancedProfiler(output_filename=os.path.join(tmpdir, "profiler.txt")) @pytest.mark.parametrize(["action", "expected"], [ @@ -207,6 +206,7 @@ def test_pytorch_profiler_describe(tmpdir): pytorch_profiler.describe() data = Path(pytorch_profiler.output_fname).read_text() assert len(data) > 0 + pytorch_profiler.teardown() def test_pytorch_profiler_value_errors(tmpdir): @@ -218,6 +218,7 @@ def test_pytorch_profiler_value_errors(tmpdir): with pytest.raises(MisconfigurationException, match="profiled_functions` and `PyTorchProfiler.record"): PyTorchProfiler(profiled_functions=["a"], record_functions=["b"]) + pytorch_profiler.teardown() @RunIf(min_gpus=2, special=True) @@ -239,6 +240,7 @@ def test_pytorch_profiler_trainer_ddp(tmpdir): data = Path(pytorch_profiler.output_fname).read_text() assert len(data) > 0 + pytorch_profiler.teardown() def test_pytorch_profiler_trainer_fit(tmpdir): @@ -261,6 +263,7 @@ def test_pytorch_profiler_trainer_fit(tmpdir): data = Path(pytorch_profiler.output_fname).read_text() assert len(data) > 0 print(tmpdir) + pytorch_profiler.teardown() def test_pytorch_profiler_trainer_test(tmpdir): @@ -279,6 +282,7 @@ def test_pytorch_profiler_trainer_test(tmpdir): data = Path(pytorch_profiler.output_fname).read_text() assert len(data) > 0 + pytorch_profiler.teardown() def test_pytorch_profiler_trainer_predict(tmpdir): @@ -298,6 +302,7 @@ def test_pytorch_profiler_trainer_predict(tmpdir): data = Path(pytorch_profiler.output_fname).read_text() assert len(data) > 0 + pytorch_profiler.teardown() @RunIf(min_gpus=1, special=True) From 70cc20d7e1438f1a4310e6fbdcac658fc700bc08 Mon Sep 17 00:00:00 2001 From: tchaton Date: Sun, 21 Mar 2021 11:29:45 +0000 Subject: [PATCH 29/87] test --- pytorch_lightning/profiler/profilers.py | 2 +- tests/test_profiler.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index 01aad6926f584..2bfb1759f09be 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -73,7 +73,7 @@ def on_train_start(self, local_rank: Optional[int] = None, log_dir: Optional[str self.prepare_file() def prepare_file(self) -> None: - if self.output_fname: + if self.output_fname and self.output_file is None: fs = get_filesystem(self.output_fname) self.output_file = fs.open(self.output_fname, "w") self.write_streams = [self.output_file.write] if self.output_file else [log.info] diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 71f0f8df12d59..b313e6c5cd020 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -319,6 +319,7 @@ def test_pytorch_profiler_nested_emit_nvtx(tmpdir): gpus=1, ) trainer.fit(model) + pytorch_profiler.teardown() def test_pytorch_profiler_nested(tmpdir): @@ -363,3 +364,4 @@ def test_pytorch_profiler_nested(tmpdir): } assert events_name == expected, (events_name, torch.__version__, platform.system()) + pytorch_profiler.teardown() From 226e0be70eeb287b76531bb9aa66b2e19d0f80ff Mon Sep 17 00:00:00 2001 From: tchaton Date: Sun, 21 Mar 2021 12:43:06 +0000 Subject: [PATCH 30/87] update# --- pytorch_lightning/profiler/profilers.py | 18 +++++++++++++----- pytorch_lightning/profiler/pytorch.py | 6 ++++-- pytorch_lightning/trainer/predict_loop.py | 2 ++ tests/checkpointing/test_torch_saving.py | 2 ++ tests/test_profiler.py | 13 ++++++++----- 5 files changed, 29 insertions(+), 12 deletions(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index 2bfb1759f09be..b54d228c6fb2f 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -51,6 +51,8 @@ class BaseProfiler(AbstractProfiler, ABC): If you wish to write a custom profiler, you should inherit from this class. """ + _ACTIONS_TO_PREPARE_FILE = ('on_train_start', 'on_validation_step', 'on_test_start', 'on_predict_start') + def __init__( self, output_filename: Optional[str] = None, @@ -59,6 +61,8 @@ def __init__( ) -> None: self.output_fname = output_filename self.output_file = None + self._file_prepared = False + self.write_streams = [] # the profiler can be used outside of lightning # that's why we call `on_train_start` manually self.on_train_start(local_rank=local_rank, log_dir=log_dir) @@ -70,13 +74,14 @@ def on_train_start(self, local_rank: Optional[int] = None, log_dir: Optional[str """ self.local_rank = local_rank self.log_dir = log_dir - self.prepare_file() def prepare_file(self) -> None: - if self.output_fname and self.output_file is None: - fs = get_filesystem(self.output_fname) - self.output_file = fs.open(self.output_fname, "w") - self.write_streams = [self.output_file.write] if self.output_file else [log.info] + if not self._file_prepared: + if self.output_fname and self.output_file is None: + fs = get_filesystem(self.output_fname) + self.output_file = fs.open(self.output_fname, "w") + self.write_streams = [self.output_file.write] if self.output_file else [log.info] + self._file_prepared = True @contextmanager def profile(self, action_name: str) -> None: @@ -92,6 +97,9 @@ def profile(self, action_name: str) -> None: stop once you exit the code block. """ try: + # Needs to be created after spawn processes + if action_name in self._ACTIONS_TO_PREPARE_FILE and not self._file_prepared: + self.prepare_file() self.start(action_name) yield action_name finally: diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index d84d70a5d21fc..4e4081fe5fd59 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -244,7 +244,9 @@ def _rank_zero_only_wrap(self) -> None: self.describe = rank_zero_only(self.describe) def start(self, action_name: str) -> None: - if not self._profiler_instantiated: + if not self._profiler_instantiated and action_name in ( + list(self._ACTIONS_TO_PREPARE_FILE) + list(self.record_functions) + ): # close profiler if it is already opened try: @@ -265,7 +267,7 @@ def start(self, action_name: str) -> None: self.register.__enter__() if ( - action_name in self.record_functions and action_name != self.ACTION_NAME_START + self._profiler_instantiated and action_name in self.record_functions and action_name not in self.recording_map ): recording = record_function(action_name) diff --git a/pytorch_lightning/trainer/predict_loop.py b/pytorch_lightning/trainer/predict_loop.py index 8d99a4db38ce8..fe0719aa14da9 100644 --- a/pytorch_lightning/trainer/predict_loop.py +++ b/pytorch_lightning/trainer/predict_loop.py @@ -44,6 +44,8 @@ def on_predict_model_eval(self, *_, **__): model_ref.on_predict_model_eval() def setup(self, model, max_batches, dataloaders): + self.trainer.call_hook("on_predict_start") + # copy properties for forward overrides self.trainer.model_connector.copy_trainer_model_properties(model) diff --git a/tests/checkpointing/test_torch_saving.py b/tests/checkpointing/test_torch_saving.py index c8b1e96aeaf0a..0c703a58d57a4 100644 --- a/tests/checkpointing/test_torch_saving.py +++ b/tests/checkpointing/test_torch_saving.py @@ -47,6 +47,8 @@ def test_model_torch_save_ddp_cpu(tmpdir): max_epochs=num_epochs, accelerator="ddp_cpu", num_processes=2, + profiler=None, + logger=None, ) temp_path = os.path.join(tmpdir, 'temp.pt') trainer.fit(model) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index b313e6c5cd020..d954b349c5d45 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -49,6 +49,7 @@ def _sleep_generator(durations): @pytest.fixture def simple_profiler(): profiler = SimpleProfiler() + profiler.prepare_file() return profiler @@ -120,7 +121,9 @@ def test_simple_profiler_value_errors(simple_profiler): @pytest.fixture def advanced_profiler(tmpdir): - return AdvancedProfiler(output_filename=os.path.join(tmpdir, "profiler.txt")) + profiler = AdvancedProfiler(output_filename=os.path.join(tmpdir, "profiler.txt")) + profiler.prepare_file() + return profiler @pytest.mark.parametrize(["action", "expected"], [ @@ -199,6 +202,7 @@ def test_advanced_profiler_value_errors(advanced_profiler): def test_pytorch_profiler_describe(tmpdir): """Ensure the profiler won't fail when reporting the summary.""" pytorch_profiler = PyTorchProfiler(output_filename=os.path.join(tmpdir, "profiler.txt"), local_rank=0) + pytorch_profiler.prepare_file() with pytorch_profiler.profile("test_step"): pass @@ -255,14 +259,12 @@ def test_pytorch_profiler_trainer_fit(tmpdir): profiler=pytorch_profiler, ) trainer.fit(model) - expected = ('validation_step', 'training_step_and_backward', 'training_step', 'backward') for name in expected: assert len([e for e in pytorch_profiler.function_events if name == e.name]) > 0 data = Path(pytorch_profiler.output_fname).read_text() assert len(data) > 0 - print(tmpdir) pytorch_profiler.teardown() @@ -310,12 +312,12 @@ def test_pytorch_profiler_nested_emit_nvtx(tmpdir): """ This test check emit_nvtx is correctly supported """ - profiler = PyTorchProfiler(use_cuda=True, emit_nvtx=True) + pytorch_profiler = PyTorchProfiler(use_cuda=True, emit_nvtx=True) model = BoringModel() trainer = Trainer( fast_dev_run=True, - profiler=profiler, + profiler=pytorch_profiler, gpus=1, ) trainer.fit(model) @@ -331,6 +333,7 @@ def test_pytorch_profiler_nested(tmpdir): use_cuda=torch.cuda.is_available(), output_filename=os.path.join(tmpdir, "profiler.txt") ) + pytorch_profiler.prepare_file() with pytorch_profiler.profile("a"): a = torch.ones(42) From 27348c775c5e844dc66b9dcce803b9042836d154 Mon Sep 17 00:00:00 2001 From: tchaton Date: Sun, 21 Mar 2021 13:29:17 +0000 Subject: [PATCH 31/87] update --- pytorch_lightning/profiler/profilers.py | 7 ++----- pytorch_lightning/profiler/pytorch.py | 4 ++-- pytorch_lightning/trainer/connectors/profiler_connector.py | 5 ++--- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index b54d228c6fb2f..93d7b3e0f604e 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -51,8 +51,6 @@ class BaseProfiler(AbstractProfiler, ABC): If you wish to write a custom profiler, you should inherit from this class. """ - _ACTIONS_TO_PREPARE_FILE = ('on_train_start', 'on_validation_step', 'on_test_start', 'on_predict_start') - def __init__( self, output_filename: Optional[str] = None, @@ -97,9 +95,6 @@ def profile(self, action_name: str) -> None: stop once you exit the code block. """ try: - # Needs to be created after spawn processes - if action_name in self._ACTIONS_TO_PREPARE_FILE and not self._file_prepared: - self.prepare_file() self.start(action_name) yield action_name finally: @@ -119,6 +114,7 @@ def profile_iterable(self, iterable, action_name: str) -> None: def describe(self) -> None: """Logs a profile report after the conclusion of the training run.""" + self.prepare_file() for write in self.write_streams: write(self.summary()) if self.output_file: @@ -139,6 +135,7 @@ def teardown(self) -> None: """Close profiler's stream.""" if self.output_file: self.output_file.close() + self.write_streams = [] class PassThroughProfiler(BaseProfiler): diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index 4e4081fe5fd59..45f2e92c2a504 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -101,7 +101,7 @@ class PyTorchProfiler(BaseProfiler): "self_cuda_memory_usage", "count", ) - ACTION_NAME_START = "on_fit_start" + START_RECORD_FUNCTIONS = ('on_train_start', 'on_validation_step', 'on_test_start', 'on_predict_start') def __init__( self, @@ -245,7 +245,7 @@ def _rank_zero_only_wrap(self) -> None: def start(self, action_name: str) -> None: if not self._profiler_instantiated and action_name in ( - list(self._ACTIONS_TO_PREPARE_FILE) + list(self.record_functions) + list(self.START_RECORD_FUNCTIONS) + list(self.record_functions) ): # close profiler if it is already opened diff --git a/pytorch_lightning/trainer/connectors/profiler_connector.py b/pytorch_lightning/trainer/connectors/profiler_connector.py index 7639926424090..21160e687953c 100644 --- a/pytorch_lightning/trainer/connectors/profiler_connector.py +++ b/pytorch_lightning/trainer/connectors/profiler_connector.py @@ -55,6 +55,5 @@ def on_trainer_init(self, profiler: Union[BaseProfiler, str]): self.trainer.profiler = profiler or PassThroughProfiler() def on_train_start(self, trainer): - if not isinstance(trainer.profiler, PassThroughProfiler): - local_rank = trainer.local_rank if trainer.world_size > 1 else None - self.trainer.profiler.on_train_start(local_rank=local_rank, log_dir=self.trainer.log_dir) + local_rank = trainer.local_rank if trainer.world_size > 1 else None + self.trainer.profiler.on_train_start(local_rank=local_rank, log_dir=self.trainer.log_dir) From 853d36c63e0720f743fa31f600d66af1050f60a2 Mon Sep 17 00:00:00 2001 From: tchaton Date: Sun, 21 Mar 2021 14:42:04 +0000 Subject: [PATCH 32/87] update tests --- pytorch_lightning/profiler/profilers.py | 8 ++--- tests/special_tests.sh | 2 +- tests/test_profiler.py | 40 +++++++++---------------- 3 files changed, 19 insertions(+), 31 deletions(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index 93d7b3e0f604e..78def777de49c 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -21,7 +21,7 @@ from abc import ABC, abstractmethod from collections import defaultdict from contextlib import contextmanager -from typing import Optional +from typing import Dict, Optional import numpy as np @@ -73,7 +73,7 @@ def on_train_start(self, local_rank: Optional[int] = None, log_dir: Optional[str self.local_rank = local_rank self.log_dir = log_dir - def prepare_file(self) -> None: + def _prepare_file(self) -> None: if not self._file_prepared: if self.output_fname and self.output_file is None: fs = get_filesystem(self.output_fname) @@ -114,14 +114,14 @@ def profile_iterable(self, iterable, action_name: str) -> None: def describe(self) -> None: """Logs a profile report after the conclusion of the training run.""" - self.prepare_file() + self._prepare_file() for write in self.write_streams: write(self.summary()) if self.output_file: self.output_file.flush() self.teardown() - def stats_to_str(self, stats: dict) -> str: + def stats_to_str(self, stats: Dict[str, str]) -> str: output = ["Profiler Report"] for action, value in stats.items(): header = f"Profile stats for: {action}" diff --git a/tests/special_tests.sh b/tests/special_tests.sh index e5c6e313bb6d8..4a7b1f300f79d 100644 --- a/tests/special_tests.sh +++ b/tests/special_tests.sh @@ -28,7 +28,7 @@ python ${DEFAULTS} tests/trainer/test_trainer.py::test_trainer_predict_ddp python ${DEFAULTS} tests/trainer/test_trainer.py::test_trainer_predict_dp python ${DEFAULTS} tests/trainer/logging_/test_train_loop_logging_1_0.py::test_logging_sync_dist_true_ddp python ${DEFAULTS} tests/callbacks/test_pruning.py::test_pruning_callback_ddp -python ${DEFAULTS} tests/trainer/test_trainer.py::test_pytorch_profiler_trainer_ddp +python ${DEFAULTS} tests/test_profiler.py::test_pytorch_profiler_trainer_ddp python ${DEFAULTS} tests/models/test_hooks.py::test_transfer_batch_hook_ddp python ${DEFAULTS} tests/trainer/test_data_loading.py::test_replace_distrubuted_sampler_custom_dataloader_custom_batch_sampler python ${DEFAULTS} tests/trainer/optimization/test_manual_optimization.py::test_step_with_optimizer_closure_with_different_frequencies_ddp_with_toggle_model diff --git a/tests/test_profiler.py b/tests/test_profiler.py index d954b349c5d45..2866b78ea0a15 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -48,9 +48,7 @@ def _sleep_generator(durations): @pytest.fixture def simple_profiler(): - profiler = SimpleProfiler() - profiler.prepare_file() - return profiler + return SimpleProfiler() @pytest.mark.parametrize(["action", "expected"], [ @@ -121,9 +119,7 @@ def test_simple_profiler_value_errors(simple_profiler): @pytest.fixture def advanced_profiler(tmpdir): - profiler = AdvancedProfiler(output_filename=os.path.join(tmpdir, "profiler.txt")) - profiler.prepare_file() - return profiler + return AdvancedProfiler(output_filename=os.path.join(tmpdir, "profiler.txt")) @pytest.mark.parametrize(["action", "expected"], [ @@ -199,10 +195,13 @@ def test_advanced_profiler_value_errors(advanced_profiler): advanced_profiler.stop(action) -def test_pytorch_profiler_describe(tmpdir): +@pytest.fixture +def pytorch_profiler(tmpdir): + return PyTorchProfiler(output_filename=os.path.join(tmpdir, "profiler.txt"), local_rank=0) + + +def test_pytorch_profiler_describe(pytorch_profiler): """Ensure the profiler won't fail when reporting the summary.""" - pytorch_profiler = PyTorchProfiler(output_filename=os.path.join(tmpdir, "profiler.txt"), local_rank=0) - pytorch_profiler.prepare_file() with pytorch_profiler.profile("test_step"): pass @@ -210,12 +209,10 @@ def test_pytorch_profiler_describe(tmpdir): pytorch_profiler.describe() data = Path(pytorch_profiler.output_fname).read_text() assert len(data) > 0 - pytorch_profiler.teardown() -def test_pytorch_profiler_value_errors(tmpdir): +def test_pytorch_profiler_value_errors(pytorch_profiler): """Ensure errors are raised where expected.""" - pytorch_profiler = PyTorchProfiler(output_filename=os.path.join(tmpdir, "profiler.txt"), local_rank=0) action = "test_step" pytorch_profiler.start(action) pytorch_profiler.stop(action) @@ -226,9 +223,8 @@ def test_pytorch_profiler_value_errors(tmpdir): @RunIf(min_gpus=2, special=True) -def test_pytorch_profiler_trainer_ddp(tmpdir): +def test_pytorch_profiler_trainer_ddp(tmpdir, pytorch_profiler): """Ensure that the profiler can be given to the training and default step are properly recorded. """ - pytorch_profiler = PyTorchProfiler(output_filename=os.path.join(tmpdir, "profiler.txt"), local_rank=0) model = BoringModel() trainer = Trainer( max_epochs=1, @@ -244,12 +240,10 @@ def test_pytorch_profiler_trainer_ddp(tmpdir): data = Path(pytorch_profiler.output_fname).read_text() assert len(data) > 0 - pytorch_profiler.teardown() -def test_pytorch_profiler_trainer_fit(tmpdir): +def test_pytorch_profiler_trainer_fit(tmpdir, pytorch_profiler): """Ensure that the profiler can be given to the trainer and training, validation steps are properly recorded. """ - pytorch_profiler = PyTorchProfiler(output_filename=os.path.join(tmpdir, "profiler.txt"), local_rank=0) model = BoringModel() trainer = Trainer( default_root_dir=tmpdir, @@ -265,12 +259,10 @@ def test_pytorch_profiler_trainer_fit(tmpdir): data = Path(pytorch_profiler.output_fname).read_text() assert len(data) > 0 - pytorch_profiler.teardown() -def test_pytorch_profiler_trainer_test(tmpdir): +def test_pytorch_profiler_trainer_test(tmpdir, pytorch_profiler): """Ensure that the profiler can be given to the trainer and test step are properly recorded. """ - pytorch_profiler = PyTorchProfiler(output_filename=os.path.join(tmpdir, "profiler.txt"), local_rank=0) model = BoringModel() trainer = Trainer( default_root_dir=tmpdir, @@ -284,12 +276,10 @@ def test_pytorch_profiler_trainer_test(tmpdir): data = Path(pytorch_profiler.output_fname).read_text() assert len(data) > 0 - pytorch_profiler.teardown() -def test_pytorch_profiler_trainer_predict(tmpdir): +def test_pytorch_profiler_trainer_predict(tmpdir, pytorch_profiler): """Ensure that the profiler can be given to the trainer and predict function are properly recorded. """ - pytorch_profiler = PyTorchProfiler(output_filename=os.path.join(tmpdir, "profiler.txt"), local_rank=0) model = BoringModel() model.predict_dataloader = model.train_dataloader trainer = Trainer( @@ -304,7 +294,6 @@ def test_pytorch_profiler_trainer_predict(tmpdir): data = Path(pytorch_profiler.output_fname).read_text() assert len(data) > 0 - pytorch_profiler.teardown() @RunIf(min_gpus=1, special=True) @@ -316,6 +305,7 @@ def test_pytorch_profiler_nested_emit_nvtx(tmpdir): model = BoringModel() trainer = Trainer( + default_root_dir=tmpdir, fast_dev_run=True, profiler=pytorch_profiler, gpus=1, @@ -333,7 +323,6 @@ def test_pytorch_profiler_nested(tmpdir): use_cuda=torch.cuda.is_available(), output_filename=os.path.join(tmpdir, "profiler.txt") ) - pytorch_profiler.prepare_file() with pytorch_profiler.profile("a"): a = torch.ones(42) @@ -367,4 +356,3 @@ def test_pytorch_profiler_nested(tmpdir): } assert events_name == expected, (events_name, torch.__version__, platform.system()) - pytorch_profiler.teardown() From 9004e92fb2d75f6a44bcb895f9c4e0522caf3141 Mon Sep 17 00:00:00 2001 From: thomas chaton Date: Sun, 21 Mar 2021 15:31:58 +0000 Subject: [PATCH 33/87] update --- pytorch_lightning/profiler/profilers.py | 1 + pytorch_lightning/profiler/pytorch.py | 9 ++++++--- tests/test_profiler.py | 1 - 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index 78def777de49c..b60c726c5b642 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -136,6 +136,7 @@ def teardown(self) -> None: if self.output_file: self.output_file.close() self.write_streams = [] + self._file_prepared = False class PassThroughProfiler(BaseProfiler): diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index 45f2e92c2a504..874a4e607c784 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -280,14 +280,14 @@ def stop(self, action_name: str) -> None: del self.recording_map[action_name] def summary(self) -> str: - if not self.profiler_kwargs.get("enabled", True) or self.emit_nvtx: + if not self.profiler_kwargs.get("enabled", True): return "" local_rank = 0 if self.local_rank is None else self.local_rank - self.function_events = self.profiler.function_events self.profiler.__exit__(None, None, None) - self.function_events = self.profiler.function_events + if not self.emit_nvtx: + self.function_events = self.profiler.function_events self.profiler = None self._profiler_instantiated = False @@ -298,6 +298,9 @@ def summary(self) -> str: if self.register is not None: self.register.__exit__(None, None, None) + if self.emit_nvtx: + return "" + if self.export_to_chrome: filename = f"{local_rank}_trace.json" path_to_trace = ( diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 2866b78ea0a15..33550f3e548ba 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -311,7 +311,6 @@ def test_pytorch_profiler_nested_emit_nvtx(tmpdir): gpus=1, ) trainer.fit(model) - pytorch_profiler.teardown() def test_pytorch_profiler_nested(tmpdir): From fbbb9a2d310bf7548f9938b151a395df0b454984 Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Mon, 22 Mar 2021 01:33:33 +0100 Subject: [PATCH 34/87] Refactor basic profilers --- pytorch_lightning/profiler/profilers.py | 177 +++++++++++++----------- pytorch_lightning/profiler/pytorch.py | 52 ++----- 2 files changed, 106 insertions(+), 123 deletions(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index d704ba83236c1..e7cb263b1d26e 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -21,7 +21,7 @@ from abc import ABC, abstractmethod from collections import defaultdict from contextlib import contextmanager -from typing import Optional, Union +from typing import Dict, Optional import numpy as np @@ -30,22 +30,8 @@ log = logging.getLogger(__name__) -class BaseProfiler(ABC): - """ - If you wish to write a custom profiler, you should inhereit from this class. - """ - - def __init__(self, output_streams: Optional[Union[list, tuple]] = None): - """ - Args: - output_streams: callable - """ - if output_streams: - if not isinstance(output_streams, (list, tuple)): - output_streams = [output_streams] - else: - output_streams = [] - self.write_streams = output_streams +class AbstractProfiler(ABC): + """Specification of a profiler.""" @abstractmethod def start(self, action_name: str) -> None: @@ -55,6 +41,49 @@ def start(self, action_name: str) -> None: def stop(self, action_name: str) -> None: """Defines how to record the duration once an action is complete.""" + @abstractmethod + def summary(self) -> str: + """Create profiler summary in text format.""" + + def teardown(self) -> None: + """Execute arbitrary post-profiling tear-down steps as defined by subclass.""" + + +class BaseProfiler(AbstractProfiler): + """ + If you wish to write a custom profiler, you should inherit from this class. + """ + + def __init__( + self, + output_filename: Optional[str] = None, + local_rank: Optional[int] = None, + log_dir: Optional[str] = None + ) -> None: + self.output_fname = output_filename + self.output_file = None + self._file_prepared = False + self.write_streams = [] + # the profiler can be used outside of lightning + # that's why we call `on_train_start` manually + self.on_train_start(local_rank=local_rank, log_dir=log_dir) + + def on_train_start(self, local_rank: Optional[int] = None, log_dir: Optional[str] = None): + """ + This function is used by the Trainer to inject local_rank with `DDP` + and `TensorBoardLogger` log_dir in the profiler. + """ + self.local_rank = local_rank + self.log_dir = log_dir + + def _prepare_file(self) -> None: + if not self._file_prepared: + if self.output_fname and self.output_file is None: + fs = get_filesystem(self.output_fname) + self.output_file = fs.open(self.output_fname, "w") + self.write_streams = [self.output_file.write] if self.output_file else [log.info] + self._file_prepared = True + @contextmanager def profile(self, action_name: str) -> None: """ @@ -88,15 +117,41 @@ def profile_iterable(self, iterable, action_name: str) -> None: def describe(self) -> None: """Logs a profile report after the conclusion of the training run.""" + self._prepare_file() for write in self.write_streams: write(self.summary()) + if self.output_file: + self.output_file.flush() + self.teardown() + + def stats_to_str(self, stats: Dict[str, str]) -> str: + output = ["Profiler Report"] + for action, value in stats.items(): + header = f"Profile stats for: {action}" + if getattr(self, "local_rank", None) is not None: + header += f" rank: {self.local_rank}" + output.append(header) + output.append(value) + return os.linesep.join(output) + + def teardown(self) -> None: + """Close profiler's stream.""" + if self.output_file: + self.output_file.close() + self.write_streams = [] + self._file_prepared = False - @abstractmethod - def summary(self) -> str: - """Create profiler summary in text format.""" + def __del__(self): + self.teardown() - def on_train_start(self, local_rank: Optional[int] = None): - self.local_rank = local_rank + def start(self, action_name: str) -> None: + raise NotImplementedError + + def stop(self, action_name: str) -> None: + raise NotImplementedError + + def summary(self) -> str: + raise NotImplementedError class PassThroughProfiler(BaseProfiler): @@ -105,9 +160,6 @@ class PassThroughProfiler(BaseProfiler): The Trainer uses this class by default. """ - def __init__(self): - super().__init__(output_streams=None) - def start(self, action_name: str) -> None: pass @@ -117,6 +169,9 @@ def stop(self, action_name: str) -> None: def summary(self) -> str: return "" + def teardown(self) -> None: + pass + class SimpleProfiler(BaseProfiler): """ @@ -124,7 +179,7 @@ class SimpleProfiler(BaseProfiler): the mean duration of each action and the total time spent over the entire training run. """ - def __init__(self, output_filename: Optional[str] = None, extended=True): + def __init__(self, output_filename: Optional[str] = None, extended: bool = True): """ Args: output_filename: optionally save profile results to file instead of printing @@ -135,19 +190,12 @@ def __init__(self, output_filename: Optional[str] = None, extended=True): If you attempt to start an action which has already started, or if you attempt to stop recording an action which was never started. """ + self.output_fname = output_filename self.current_actions = {} self.recorded_durations = defaultdict(list) self.extended = extended - - self.output_fname = output_filename - self.output_file = None - if self.output_fname: - fs = get_filesystem(self.output_fname) - self.output_file = fs.open(self.output_fname, "w") - - streaming_out = [self.output_file.write] if self.output_file else [log.info] + super().__init__() self.start_time = time.monotonic() - super().__init__(output_streams=streaming_out) def start(self, action_name: str) -> None: if action_name in self.current_actions: @@ -169,7 +217,8 @@ def make_report(self): return report, total_duration def summary(self) -> str: - output_string = "\n\nProfiler Report\n" + sep = os.linesep + output_string = f"Profiler Report{sep}" if self.extended: @@ -177,16 +226,16 @@ def summary(self) -> str: max_key = np.max([len(k) for k in self.recorded_durations.keys()]) def log_row(action, mean, num_calls, total, per): - row = f"{os.linesep}{action:<{max_key}s}\t| {mean:<15}\t|" + row = f"{sep}{action:<{max_key}s}\t| {mean:<15}\t|" row += f"{num_calls:<15}\t| {total:<15}\t| {per:<15}\t|" return row output_string += log_row("Action", "Mean duration (s)", "Num calls", "Total time (s)", "Percentage %") output_string_len = len(output_string) - output_string += f"{os.linesep}{'-' * output_string_len}" + output_string += f"{sep}{'-' * output_string_len}" report, total_duration = self.make_report() output_string += log_row("Total", "-", "_", f"{total_duration:.5}", "100 %") - output_string += f"{os.linesep}{'-' * output_string_len}" + output_string += f"{sep}{'-' * output_string_len}" for action, durations, duration_per in report: output_string += log_row( action, @@ -198,27 +247,16 @@ def log_row(action, mean, num_calls, total, per): else: def log_row(action, mean, total): - return f"{os.linesep}{action:<20s}\t| {mean:<15}\t| {total:<15}" + return f"{sep}{action:<20s}\t| {mean:<15}\t| {total:<15}" output_string += log_row("Action", "Mean duration (s)", "Total time (s)") - output_string += f"{os.linesep}{'-' * 65}" + output_string += f"{sep}{'-' * 65}" for action, durations in self.recorded_durations.items(): output_string += log_row(action, f"{np.mean(durations):.5}", f"{np.sum(durations):.5}") - output_string += os.linesep + output_string += sep return output_string - def describe(self): - """Logs a profile report after the conclusion of the training run.""" - super().describe() - if self.output_file: - self.output_file.flush() - - def __del__(self): - """Close profiler's stream.""" - if self.output_file: - self.output_file.close() - class AdvancedProfiler(BaseProfiler): """ @@ -240,18 +278,10 @@ def __init__(self, output_filename: Optional[str] = None, line_count_restriction ValueError: If you attempt to stop recording an action which was never started. """ + super().__init__(output_filename=output_filename) self.profiled_actions = {} self.line_count_restriction = line_count_restriction - self.output_fname = output_filename - self.output_file = None - if self.output_fname: - fs = get_filesystem(self.output_fname) - self.output_file = fs.open(self.output_fname, "w") - - streaming_out = [self.output_file.write] if self.output_file else [log.info] - super().__init__(output_streams=streaming_out) - def start(self, action_name: str) -> None: if action_name not in self.profiled_actions: self.profiled_actions[action_name] = cProfile.Profile() @@ -260,9 +290,7 @@ def start(self, action_name: str) -> None: def stop(self, action_name: str) -> None: pr = self.profiled_actions.get(action_name) if pr is None: - raise ValueError( # pragma: no-cover - f"Attempting to stop recording an action ({action_name}) which was never started." - ) + raise ValueError(f"Attempting to stop recording an action ({action_name}) which was never started.") pr.disable() def summary(self) -> str: @@ -272,21 +300,4 @@ def summary(self) -> str: ps = pstats.Stats(pr, stream=s).strip_dirs().sort_stats('cumulative') ps.print_stats(self.line_count_restriction) recorded_stats[action_name] = s.getvalue() - - # log to standard out - output_string = f"{os.linesep}Profiler Report{os.linesep}" - for action, stats in recorded_stats.items(): - output_string += f"{os.linesep}Profile stats for: {action}{os.linesep}{stats}" - - return output_string - - def describe(self): - """Logs a profile report after the conclusion of the training run.""" - super().describe() - if self.output_file: - self.output_file.flush() - - def __del__(self): - """Close profiler's stream.""" - if self.output_file: - self.output_file.close() + return self.stats_to_str(recorded_stats) diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index 88a33a3d367f8..30c553ee46e57 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -159,33 +159,21 @@ def __init__( self.running_stack = [] self.profiler = None - self.output_fname = output_filename - self.output_file = None - if local_rank is not None: - self.on_train_start(local_rank=local_rank) - self.on_train_start = super().on_train_start + super().__init__(output_filename=output_filename, local_rank=local_rank) - def on_train_start(self, local_rank: Optional[str] = None): - self.local_rank = local_rank + def on_train_start(self, local_rank: Optional[int] = None, log_dir: Optional[str] = None) -> None: + super().on_train_start(local_rank=local_rank, log_dir=log_dir) - # when logging to `log.info`, only perform profiling on rank 0 - if local_rank != 0 and self.output_fname is None: - self.wrap_functions_into_rank_zero_only() - - if self.output_fname: - if local_rank is not None: - if '.txt' not in self.output_fname: - raise MisconfigurationException("Log file should be .txt file.") - - self.output_fname = self.output_fname.replace(".txt", f"_{self.local_rank}.txt") - - fs = get_filesystem(self.output_fname) - self.output_file = fs.open(self.output_fname, "w") + # if the user didn't provide `path_to_export_trace`, + # set it as TensorBoardLogger log_dir if exists + if self.path_to_export_trace is None: + self.path_to_export_trace = log_dir - streaming_out = [self.output_file.write] if self.output_file else [log.info] - super().__init__(output_streams=streaming_out) + # when logging to `log.info`, only perform profiling on rank 0 + if local_rank is not None and local_rank > 0 and self.output_fname is None: + self._rank_zero_only_wrap() - def wrap_functions_into_rank_zero_only(self): + def _rank_zero_only_wrap(self) -> None: self.start = rank_zero_only(self.start) self.stop = rank_zero_only(self.stop) self.summary = rank_zero_only(self.summary) @@ -284,20 +272,4 @@ def summary(self) -> str: table = data.table(sort_by=self.sort_by_key, row_limit=self.row_limit) recorded_stats[action_name] = table - # log to standard out - output_string = f"{os.linesep}Profiler Report{os.linesep}" - for action, stats in recorded_stats.items(): - output_string += (f"{os.linesep}Profile stats for: {action} rank: {local_rank} {os.linesep}{stats}") - - return output_string - - def describe(self): - """Logs a profile report after the conclusion of the training run.""" - super().describe() - if self.output_file: - self.output_file.flush() - - def __del__(self): - """Close profiler's stream.""" - if self.output_file: - self.output_file.close() + return self.stats_to_str(recorded_stats) From 2a82e05d4a999bdbfefec16a60a8b841ffaa957f Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Mon, 22 Mar 2021 02:07:02 +0100 Subject: [PATCH 35/87] Fixes --- pytorch_lightning/profiler/profilers.py | 19 +++++++++---------- pytorch_lightning/trainer/trainer.py | 1 + tests/test_profiler.py | 18 ++++++++++++++++++ 3 files changed, 28 insertions(+), 10 deletions(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index e7cb263b1d26e..8c573ab1c7e31 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -21,7 +21,7 @@ from abc import ABC, abstractmethod from collections import defaultdict from contextlib import contextmanager -from typing import Dict, Optional +from typing import Dict, Optional, Tuple import numpy as np @@ -68,7 +68,7 @@ def __init__( # that's why we call `on_train_start` manually self.on_train_start(local_rank=local_rank, log_dir=log_dir) - def on_train_start(self, local_rank: Optional[int] = None, log_dir: Optional[str] = None): + def on_train_start(self, local_rank: Optional[int] = None, log_dir: Optional[str] = None) -> None: """ This function is used by the Trainer to inject local_rank with `DDP` and `TensorBoardLogger` log_dir in the profiler. @@ -141,7 +141,7 @@ def teardown(self) -> None: self.write_streams = [] self._file_prepared = False - def __del__(self): + def __del__(self) -> None: self.teardown() def start(self, action_name: str) -> None: @@ -179,7 +179,7 @@ class SimpleProfiler(BaseProfiler): the mean duration of each action and the total time spent over the entire training run. """ - def __init__(self, output_filename: Optional[str] = None, extended: bool = True): + def __init__(self, output_filename: Optional[str] = None, extended: bool = True) -> None: """ Args: output_filename: optionally save profile results to file instead of printing @@ -190,11 +190,10 @@ def __init__(self, output_filename: Optional[str] = None, extended: bool = True) If you attempt to start an action which has already started, or if you attempt to stop recording an action which was never started. """ - self.output_fname = output_filename - self.current_actions = {} + self.current_actions: Dict[str, float] = {} self.recorded_durations = defaultdict(list) self.extended = extended - super().__init__() + super().__init__(output_filename=output_filename) self.start_time = time.monotonic() def start(self, action_name: str) -> None: @@ -210,7 +209,7 @@ def stop(self, action_name: str) -> None: duration = end_time - start_time self.recorded_durations[action_name].append(duration) - def make_report(self): + def _make_report(self) -> Tuple[list, float]: total_duration = time.monotonic() - self.start_time report = [[a, d, 100. * np.sum(d) / total_duration] for a, d in self.recorded_durations.items()] report.sort(key=lambda x: x[2], reverse=True) @@ -233,7 +232,7 @@ def log_row(action, mean, num_calls, total, per): output_string += log_row("Action", "Mean duration (s)", "Num calls", "Total time (s)", "Percentage %") output_string_len = len(output_string) output_string += f"{sep}{'-' * output_string_len}" - report, total_duration = self.make_report() + report, total_duration = self._make_report() output_string += log_row("Total", "-", "_", f"{total_duration:.5}", "100 %") output_string += f"{sep}{'-' * output_string_len}" for action, durations, duration_per in report: @@ -265,7 +264,7 @@ class AdvancedProfiler(BaseProfiler): verbose and you should only use this if you want very detailed reports. """ - def __init__(self, output_filename: Optional[str] = None, line_count_restriction: float = 1.0): + def __init__(self, output_filename: Optional[str] = None, line_count_restriction: float = 1.0) -> None: """ Args: output_filename: optionally save profile results to file instead of printing diff --git a/pytorch_lightning/trainer/trainer.py b/pytorch_lightning/trainer/trainer.py index 53b4920bd85ef..cc95146932382 100644 --- a/pytorch_lightning/trainer/trainer.py +++ b/pytorch_lightning/trainer/trainer.py @@ -1077,6 +1077,7 @@ def call_teardown_hook(self, model: LightningModule) -> None: else: state = None + self.profiler.teardown() self.teardown(stage=state) model.teardown(stage=state) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 5221c0cbf7bf6..63d2334d1d068 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -316,3 +316,21 @@ def test_pytorch_profiler_nested_emit_nvtx(tmpdir): gpus=1, ) trainer.fit(model) + + +@pytest.mark.parametrize("cls", (SimpleProfiler, AdvancedProfiler, PyTorchProfiler)) +def test_profiler_teardown(tmpdir, cls): + """ + This test checks if profiler teardown method is called when trainer is exiting. + """ + profiler = cls(output_filename=os.path.join(tmpdir, "profiler.txt")) + + model = BoringModel() + trainer = Trainer( + default_root_dir=tmpdir, + fast_dev_run=True, + profiler=profiler, + ) + trainer.fit(model) + + assert profiler.output_file.closed From ff125e211431d4d267e03c254a0f7c938f3c07f9 Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Mon, 22 Mar 2021 02:23:34 +0100 Subject: [PATCH 36/87] Unused import --- pytorch_lightning/profiler/pytorch.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index 30c553ee46e57..fdd838517fd71 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -22,7 +22,6 @@ from pytorch_lightning.profiler.profilers import BaseProfiler from pytorch_lightning.utilities import rank_zero_only -from pytorch_lightning.utilities.cloud_io import get_filesystem from pytorch_lightning.utilities.distributed import rank_zero_warn from pytorch_lightning.utilities.exceptions import MisconfigurationException From 01a760e7a42ae0686a67ca80b5f06188e5f7f9f7 Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Mon, 22 Mar 2021 02:50:09 +0100 Subject: [PATCH 37/87] Introduce setup --- pytorch_lightning/profiler/profilers.py | 53 +++++++++---------- pytorch_lightning/profiler/pytorch.py | 12 ++--- .../trainer/connectors/profiler_connector.py | 4 -- pytorch_lightning/trainer/trainer.py | 3 ++ pytorch_lightning/trainer/training_loop.py | 3 -- tests/test_profiler.py | 2 +- 6 files changed, 33 insertions(+), 44 deletions(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index 8c573ab1c7e31..6ca9b8446e08a 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -45,6 +45,9 @@ def stop(self, action_name: str) -> None: def summary(self) -> str: """Create profiler summary in text format.""" + def setup(self) -> None: + """Execute arbitrary pre-profiling set-up steps as defined by subclass.""" + def teardown(self) -> None: """Execute arbitrary post-profiling tear-down steps as defined by subclass.""" @@ -54,35 +57,13 @@ class BaseProfiler(AbstractProfiler): If you wish to write a custom profiler, you should inherit from this class. """ - def __init__( - self, - output_filename: Optional[str] = None, - local_rank: Optional[int] = None, - log_dir: Optional[str] = None - ) -> None: + def __init__(self, output_filename: Optional[str] = None) -> None: self.output_fname = output_filename self.output_file = None - self._file_prepared = False + self.local_rank = None + self.log_dir = None self.write_streams = [] - # the profiler can be used outside of lightning - # that's why we call `on_train_start` manually - self.on_train_start(local_rank=local_rank, log_dir=log_dir) - - def on_train_start(self, local_rank: Optional[int] = None, log_dir: Optional[str] = None) -> None: - """ - This function is used by the Trainer to inject local_rank with `DDP` - and `TensorBoardLogger` log_dir in the profiler. - """ - self.local_rank = local_rank - self.log_dir = log_dir - - def _prepare_file(self) -> None: - if not self._file_prepared: - if self.output_fname and self.output_file is None: - fs = get_filesystem(self.output_fname) - self.output_file = fs.open(self.output_fname, "w") - self.write_streams = [self.output_file.write] if self.output_file else [log.info] - self._file_prepared = True + self._file_prepared = False @contextmanager def profile(self, action_name: str) -> None: @@ -115,6 +96,14 @@ def profile_iterable(self, iterable, action_name: str) -> None: self.stop(action_name) break + def _prepare_file(self) -> None: + if not self._file_prepared: + if self.output_fname and self.output_file is None: + fs = get_filesystem(self.output_fname) + self.output_file = fs.open(self.output_fname, "w") + self.write_streams = [self.output_file.write] if self.output_file else [log.info] + self._file_prepared = True + def describe(self) -> None: """Logs a profile report after the conclusion of the training run.""" self._prepare_file() @@ -124,7 +113,7 @@ def describe(self) -> None: self.output_file.flush() self.teardown() - def stats_to_str(self, stats: Dict[str, str]) -> str: + def _stats_to_str(self, stats: Dict[str, str]) -> str: output = ["Profiler Report"] for action, value in stats.items(): header = f"Profile stats for: {action}" @@ -134,6 +123,14 @@ def stats_to_str(self, stats: Dict[str, str]) -> str: output.append(value) return os.linesep.join(output) + def setup(self, local_rank: Optional[int] = None, log_dir: Optional[str] = None) -> None: + """ + This function is used by the Trainer to inject local_rank with `DDP` + and `TensorBoardLogger` log_dir in the profiler. + """ + self.local_rank = local_rank + self.log_dir = log_dir + def teardown(self) -> None: """Close profiler's stream.""" if self.output_file: @@ -299,4 +296,4 @@ def summary(self) -> str: ps = pstats.Stats(pr, stream=s).strip_dirs().sort_stats('cumulative') ps.print_stats(self.line_count_restriction) recorded_stats[action_name] = s.getvalue() - return self.stats_to_str(recorded_stats) + return self._stats_to_str(recorded_stats) diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index fdd838517fd71..1f8d68b2c6375 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -60,7 +60,6 @@ def __init__( row_limit: int = 20, sort_by_key: Optional[str] = None, profiled_functions: Optional[List] = None, - local_rank: Optional[int] = None, ): """ This profiler uses PyTorch's Autograd Profiler and lets you inspect the cost of @@ -115,9 +114,6 @@ def __init__( profiled_functions: list of profiled functions which will create a context manager on. Any other will be pass through. - local_rank: When running in distributed setting, local_rank is used for each process - to write to their own file if `output_fname` is provided. - Raises: MisconfigurationException: If arg ``sort_by_key`` is not present in ``AVAILABLE_SORT_KEYS``, or @@ -158,10 +154,10 @@ def __init__( self.running_stack = [] self.profiler = None - super().__init__(output_filename=output_filename, local_rank=local_rank) + super().__init__(output_filename=output_filename) - def on_train_start(self, local_rank: Optional[int] = None, log_dir: Optional[str] = None) -> None: - super().on_train_start(local_rank=local_rank, log_dir=log_dir) + def setup(self, local_rank: Optional[int] = None, log_dir: Optional[str] = None) -> None: + super().setup(local_rank=local_rank, log_dir=log_dir) # if the user didn't provide `path_to_export_trace`, # set it as TensorBoardLogger log_dir if exists @@ -271,4 +267,4 @@ def summary(self) -> str: table = data.table(sort_by=self.sort_by_key, row_limit=self.row_limit) recorded_stats[action_name] = table - return self.stats_to_str(recorded_stats) + return self._stats_to_str(recorded_stats) diff --git a/pytorch_lightning/trainer/connectors/profiler_connector.py b/pytorch_lightning/trainer/connectors/profiler_connector.py index 98d65c1285ff7..efb58fc844696 100644 --- a/pytorch_lightning/trainer/connectors/profiler_connector.py +++ b/pytorch_lightning/trainer/connectors/profiler_connector.py @@ -53,7 +53,3 @@ def on_trainer_init(self, profiler: Union[BaseProfiler, str]): " `Trainer`, it can only be 'simple' or 'advanced'" ) self.trainer.profiler = profiler or PassThroughProfiler() - - def on_train_start(self, trainer): - local_rank = trainer.local_rank if trainer.world_size > 1 else None - self.trainer.profiler.on_train_start(local_rank) diff --git a/pytorch_lightning/trainer/trainer.py b/pytorch_lightning/trainer/trainer.py index cc95146932382..c8f3a0c435c66 100644 --- a/pytorch_lightning/trainer/trainer.py +++ b/pytorch_lightning/trainer/trainer.py @@ -1068,6 +1068,9 @@ def call_setup_hook(self, model: LightningModule) -> None: if not called: self.datamodule.setup(stage=state) + local_rank = self.local_rank if self.world_size > 1 else None + self.profiler.setup(local_rank=local_rank) + self.setup(model, stage=state) model.setup(stage=state) diff --git a/pytorch_lightning/trainer/training_loop.py b/pytorch_lightning/trainer/training_loop.py index 7e737c424ff26..f56fd6bd0567d 100644 --- a/pytorch_lightning/trainer/training_loop.py +++ b/pytorch_lightning/trainer/training_loop.py @@ -102,9 +102,6 @@ def on_train_start(self): # hook self.trainer.call_hook("on_train_start") - # provide rank to profiler - self.trainer.profile_connector.on_train_start(self.trainer) - def setup_fit(self, model, train_dataloader=None, val_dataloaders=None, datamodule=None): # clean hparams if hasattr(model, "hparams"): diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 63d2334d1d068..aafe45ba7d5ad 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -196,7 +196,7 @@ def test_advanced_profiler_value_errors(advanced_profiler): @pytest.fixture def pytorch_profiler(tmpdir): - profiler = PyTorchProfiler(output_filename=os.path.join(tmpdir, "profiler.txt"), local_rank=0) + profiler = PyTorchProfiler(output_filename=os.path.join(tmpdir, "profiler.txt")) return profiler From b31831e26fb59095a7b3f70251c0b9217f2c9f98 Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Mon, 22 Mar 2021 04:05:45 +0100 Subject: [PATCH 38/87] Profile on all ranks. Print to stdout on 0 --- pytorch_lightning/profiler/profilers.py | 9 +++++---- pytorch_lightning/profiler/pytorch.py | 10 ---------- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index 6ca9b8446e08a..0bcd93edbefe2 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -96,12 +96,13 @@ def profile_iterable(self, iterable, action_name: str) -> None: self.stop(action_name) break + def _rank_zero_info(self, *args, **kwargs) -> None: + if self.local_rank in (None, 0): + log.info(*args, **kwargs) + def _prepare_file(self) -> None: if not self._file_prepared: - if self.output_fname and self.output_file is None: - fs = get_filesystem(self.output_fname) - self.output_file = fs.open(self.output_fname, "w") - self.write_streams = [self.output_file.write] if self.output_file else [log.info] + self.write_streams = [self.output_file.write] if self.output_file else [self._rank_zero_info] self._file_prepared = True def describe(self) -> None: diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index 1f8d68b2c6375..11ac03b914620 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -164,16 +164,6 @@ def setup(self, local_rank: Optional[int] = None, log_dir: Optional[str] = None) if self.path_to_export_trace is None: self.path_to_export_trace = log_dir - # when logging to `log.info`, only perform profiling on rank 0 - if local_rank is not None and local_rank > 0 and self.output_fname is None: - self._rank_zero_only_wrap() - - def _rank_zero_only_wrap(self) -> None: - self.start = rank_zero_only(self.start) - self.stop = rank_zero_only(self.stop) - self.summary = rank_zero_only(self.summary) - self.describe = rank_zero_only(self.describe) - def start(self, action_name: str) -> None: if action_name not in self.profiled_functions: return From f8a87723dfee1b4079888b61112b1d9f19e65304 Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Mon, 22 Mar 2021 04:27:18 +0100 Subject: [PATCH 39/87] Introduce dirpath + filename --- pytorch_lightning/profiler/profilers.py | 63 ++++++++++++++++++++----- pytorch_lightning/profiler/pytorch.py | 18 +++---- pytorch_lightning/trainer/trainer.py | 2 +- tests/deprecated_api/test_remove_1-5.py | 10 ++++ tests/test_profiler.py | 53 +++++++-------------- 5 files changed, 91 insertions(+), 55 deletions(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index 0bcd93edbefe2..73e83ff32fdaa 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -21,10 +21,12 @@ from abc import ABC, abstractmethod from collections import defaultdict from contextlib import contextmanager -from typing import Dict, Optional, Tuple +from pathlib import Path +from typing import Dict, Optional, Tuple, Union import numpy as np +from pytorch_lightning.utilities import rank_zero_warn from pytorch_lightning.utilities.cloud_io import get_filesystem log = logging.getLogger(__name__) @@ -57,8 +59,23 @@ class BaseProfiler(AbstractProfiler): If you wish to write a custom profiler, you should inherit from this class. """ - def __init__(self, output_filename: Optional[str] = None) -> None: - self.output_fname = output_filename + def __init__( + self, + dirpath: Optional[Union[str, Path]] = None, + filename: Optional[str] = None, + output_filename: Optional[str] = None, + ) -> None: + self.dirpath = dirpath + self.filename = filename + if output_filename is not None: + rank_zero_warn( + "`Profiler` signature has changed in v1.3. The `output_filename` parameter has been removed in" + " favor of `dirpath` and `filename`. Support for the old signature will be removed in v1.5", + DeprecationWarning + ) + filepath = Path(output_filename) + self.dirpath = filepath.parent + self.filename = filepath.name self.output_file = None self.local_rank = None self.log_dir = None @@ -102,6 +119,11 @@ def _rank_zero_info(self, *args, **kwargs) -> None: def _prepare_file(self) -> None: if not self._file_prepared: + if self.filename and self.output_file is None: + dirpath = self.dirpath or self.log_dir + filepath = os.path.join(dirpath, self.filename) + fs = get_filesystem(filepath) + self.output_file = fs.open(filepath, "a") self.write_streams = [self.output_file.write] if self.output_file else [self._rank_zero_info] self._file_prepared = True @@ -177,11 +199,20 @@ class SimpleProfiler(BaseProfiler): the mean duration of each action and the total time spent over the entire training run. """ - def __init__(self, output_filename: Optional[str] = None, extended: bool = True) -> None: + def __init__( + self, + dirpath: Optional[Union[str, Path]] = None, + filename: Optional[str] = None, + extended: bool = True, + output_filename: Optional[str] = None, + ) -> None: """ Args: - output_filename: optionally save profile results to file instead of printing - to std out when training is finished. + dirpath: Directory path for the ``filename``. If ``dirpath`` is ``None`` but ``filename`` is present, the + ``trainer.log_dir`` (from :class:`~pytorch_lightning.loggers.tensorboard.TensorBoardLogger`) + will be used. + + filename: If present, filename where the profiler results will be saved instead of printing to stdout. Raises: ValueError: @@ -191,7 +222,7 @@ def __init__(self, output_filename: Optional[str] = None, extended: bool = True) self.current_actions: Dict[str, float] = {} self.recorded_durations = defaultdict(list) self.extended = extended - super().__init__(output_filename=output_filename) + super().__init__(dirpath=dirpath, filename=filename, output_filename=output_filename) self.start_time = time.monotonic() def start(self, action_name: str) -> None: @@ -262,11 +293,21 @@ class AdvancedProfiler(BaseProfiler): verbose and you should only use this if you want very detailed reports. """ - def __init__(self, output_filename: Optional[str] = None, line_count_restriction: float = 1.0) -> None: + def __init__( + self, + dirpath: Optional[Union[str, Path]] = None, + filename: Optional[str] = None, + line_count_restriction: float = 1.0, + output_filename: Optional[str] = None, + ) -> None: """ Args: - output_filename: optionally save profile results to file instead of printing - to std out when training is finished. + dirpath: Directory path for the ``filename``. If ``dirpath`` is ``None`` but ``filename`` is present, the + ``trainer.log_dir`` (from :class:`~pytorch_lightning.loggers.tensorboard.TensorBoardLogger`) + will be used. + + filename: If present, filename where the profiler results will be saved instead of printing to stdout. + line_count_restriction: this can be used to limit the number of functions reported for each action. either an integer (to select a count of lines), or a decimal fraction between 0.0 and 1.0 inclusive (to select a percentage of lines) @@ -275,7 +316,7 @@ def __init__(self, output_filename: Optional[str] = None, line_count_restriction ValueError: If you attempt to stop recording an action which was never started. """ - super().__init__(output_filename=output_filename) + super().__init__(dirpath=dirpath, filename=filename, output_filename=output_filename) self.profiled_actions = {} self.line_count_restriction = line_count_restriction diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index 11ac03b914620..8357d110663b2 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -16,12 +16,12 @@ import inspect import logging import os -from typing import List, Optional +from pathlib import Path +from typing import List, Optional, Union import torch from pytorch_lightning.profiler.profilers import BaseProfiler -from pytorch_lightning.utilities import rank_zero_only from pytorch_lightning.utilities.distributed import rank_zero_warn from pytorch_lightning.utilities.exceptions import MisconfigurationException @@ -45,7 +45,8 @@ class PyTorchProfiler(BaseProfiler): def __init__( self, - output_filename: Optional[str] = None, + dirpath: Optional[Union[str, Path]] = None, + filename: Optional[str] = None, enabled: bool = True, use_cuda: bool = False, record_shapes: bool = False, @@ -60,17 +61,18 @@ def __init__( row_limit: int = 20, sort_by_key: Optional[str] = None, profiled_functions: Optional[List] = None, + output_filename: Optional[str] = None, ): """ This profiler uses PyTorch's Autograd Profiler and lets you inspect the cost of different operators inside your model - both on the CPU and GPU Args: + dirpath: Directory path for the ``filename``. If ``dirpath`` is ``None`` but ``filename`` is present, the + ``trainer.log_dir`` (from :class:`~pytorch_lightning.loggers.tensorboard.TensorBoardLogger`) + will be used. - output_filename: optionally save profile results to file instead of printing - to std out when training is finished. When using ``ddp``, - each rank will stream the profiled operation to their own file - with the extension ``_{rank}.txt`` + filename: If present, filename where the profiler results will be saved instead of printing to stdout. enabled: Setting this to False makes this context manager a no-op. @@ -154,7 +156,7 @@ def __init__( self.running_stack = [] self.profiler = None - super().__init__(output_filename=output_filename) + super().__init__(dirpath=dirpath, filename=filename, output_filename=output_filename) def setup(self, local_rank: Optional[int] = None, log_dir: Optional[str] = None) -> None: super().setup(local_rank=local_rank, log_dir=log_dir) diff --git a/pytorch_lightning/trainer/trainer.py b/pytorch_lightning/trainer/trainer.py index c8f3a0c435c66..580a9de22fd53 100644 --- a/pytorch_lightning/trainer/trainer.py +++ b/pytorch_lightning/trainer/trainer.py @@ -1069,7 +1069,7 @@ def call_setup_hook(self, model: LightningModule) -> None: self.datamodule.setup(stage=state) local_rank = self.local_rank if self.world_size > 1 else None - self.profiler.setup(local_rank=local_rank) + self.profiler.setup(local_rank=local_rank, log_dir=self.log_dir) self.setup(model, stage=state) model.setup(stage=state) diff --git a/tests/deprecated_api/test_remove_1-5.py b/tests/deprecated_api/test_remove_1-5.py index f449a37e33c25..6f2c65c7a1171 100644 --- a/tests/deprecated_api/test_remove_1-5.py +++ b/tests/deprecated_api/test_remove_1-5.py @@ -20,6 +20,7 @@ from pytorch_lightning import Callback, Trainer from pytorch_lightning.callbacks import ModelCheckpoint from pytorch_lightning.loggers import WandbLogger +from pytorch_lightning.profiler import BaseProfiler, SimpleProfiler, AdvancedProfiler, PyTorchProfiler from pytorch_lightning.trainer.callback_hook import warning_cache as callback_warning_cache from tests.deprecated_api import no_deprecated_call from tests.helpers import BoringModel @@ -203,3 +204,12 @@ def on_test_epoch_end(self, outputs): model = NewSignatureModel() with no_deprecated_call(match="`ModelHooks.on_test_epoch_end` signature has changed in v1.3."): trainer.test(model) + + +@pytest.mark.parametrize("cls", (BaseProfiler, SimpleProfiler, AdvancedProfiler, PyTorchProfiler)) +def test_v1_5_0_profiler_output_filename(tmpdir, cls): + filepath = str(tmpdir / "test") + with pytest.deprecated_call(match="`output_filename` parameter has been removed"): + profiler = cls(output_filename=filepath) + assert profiler.dirpath == tmpdir + assert profiler.filename == "test" diff --git a/tests/test_profiler.py b/tests/test_profiler.py index aafe45ba7d5ad..e16ad96992fda 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -12,10 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. import logging -import os import time from distutils.version import LooseVersion -from pathlib import Path import numpy as np import pytest @@ -45,8 +43,7 @@ def _sleep_generator(durations): @pytest.fixture def simple_profiler(): - profiler = SimpleProfiler() - return profiler + return SimpleProfiler() @pytest.mark.parametrize(["action", "expected"], [ @@ -117,8 +114,7 @@ def test_simple_profiler_value_errors(simple_profiler): @pytest.fixture def advanced_profiler(tmpdir): - profiler = AdvancedProfiler(output_filename=os.path.join(tmpdir, "profiler.txt")) - return profiler + return AdvancedProfiler(dirpath=tmpdir, filename="profiler.txt") @pytest.mark.parametrize(["action", "expected"], [ @@ -179,7 +175,8 @@ def test_advanced_profiler_describe(tmpdir, advanced_profiler): pass # log to stdout and print to file advanced_profiler.describe() - data = Path(advanced_profiler.output_fname).read_text() + path = advanced_profiler.dirpath / advanced_profiler.filename + data = path.read_text("utf-8") assert len(data) > 0 @@ -196,8 +193,7 @@ def test_advanced_profiler_value_errors(advanced_profiler): @pytest.fixture def pytorch_profiler(tmpdir): - profiler = PyTorchProfiler(output_filename=os.path.join(tmpdir, "profiler.txt")) - return profiler + return PyTorchProfiler(dirpath=tmpdir, filename="profiler.txt") def test_pytorch_profiler_describe(pytorch_profiler): @@ -207,7 +203,8 @@ def test_pytorch_profiler_describe(pytorch_profiler): # log to stdout and print to file pytorch_profiler.describe() - data = Path(pytorch_profiler.output_fname).read_text() + path = pytorch_profiler.dirpath / pytorch_profiler.filename + data = path.read_text("utf-8") assert len(data) > 0 @@ -223,46 +220,32 @@ def test_pytorch_profiler_value_errors(pytorch_profiler): @RunIf(min_gpus=2, special=True) -@pytest.mark.parametrize("use_output_filename", [False, True]) -def test_pytorch_profiler_trainer_ddp(tmpdir, use_output_filename): +def test_pytorch_profiler_trainer_ddp(tmpdir, pytorch_profiler): """Ensure that the profiler can be given to the training and default step are properly recorded. """ - - if use_output_filename: - output_filename = os.path.join(tmpdir, "profiler.txt") - else: - output_filename = None - - profiler = PyTorchProfiler(output_filename=output_filename) - model = BoringModel() trainer = Trainer( + default_root_dir=tmpdir, fast_dev_run=True, - profiler=profiler, + profiler=pytorch_profiler, accelerator="ddp", gpus=2, ) trainer.fit(model) - enabled = use_output_filename or not use_output_filename and profiler.local_rank == 0 - - if enabled: - assert len(profiler.summary()) > 0 - assert set(profiler.profiled_actions.keys()) == {'training_step_and_backward', 'validation_step'} - else: - assert profiler.summary() is None - assert set(profiler.profiled_actions.keys()) == set() + assert len(pytorch_profiler.summary()) > 0 + assert set(pytorch_profiler.profiled_actions.keys()) == {'training_step_and_backward', 'validation_step'} - if use_output_filename: - profiler.describe() - data = Path(profiler.output_fname).read_text() - assert len(data) > 0 + pytorch_profiler.describe() + path = pytorch_profiler.dirpath / pytorch_profiler.filename + data = path.read_text("utf-8") + assert len(data) > 0 def test_pytorch_profiler_nested(tmpdir): """Ensure that the profiler handles nested context""" pytorch_profiler = PyTorchProfiler( - profiled_functions=["a", "b", "c"], use_cuda=False, output_filename=os.path.join(tmpdir, "profiler.txt") + profiled_functions=["a", "b", "c"], use_cuda=False, dirpath=tmpdir, filename="profiler.txt" ) with pytorch_profiler.profile("a"): @@ -323,7 +306,7 @@ def test_profiler_teardown(tmpdir, cls): """ This test checks if profiler teardown method is called when trainer is exiting. """ - profiler = cls(output_filename=os.path.join(tmpdir, "profiler.txt")) + profiler = cls(dirpath=tmpdir, filename="profiler.txt") model = BoringModel() trainer = Trainer( From aa4b7dd6026a5ec42f12c627719c5f8c3c99e19d Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Mon, 22 Mar 2021 04:34:23 +0100 Subject: [PATCH 40/87] CHANGELOG --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6004a28dd0829..df15771d5aa8c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -43,6 +43,12 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - Added `Trainer.predict` config validation ([#6543](https://github.com/PyTorchLightning/pytorch-lightning/pull/6543)) +- Added `AbstractProfiler` interface ([#6621](https://github.com/PyTorchLightning/pytorch-lightning/pull/6621)) + + +- Added `setup` method to `BaseProfiler` to enable subclasses defining pre-profiling steps ([#6621](https://github.com/PyTorchLightning/pytorch-lightning/pull/6621)) + + - Added `outputs` parameter to callback's `on_validation_epoch_end` & `on_test_epoch_end` hooks ([#6120](https://github.com/PyTorchLightning/pytorch-lightning/pull/6120)) @@ -68,6 +74,9 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - Deprecated `trainer.running_sanity_check` in favor of `trainer.sanity_checking` ([#4945](https://github.com/PyTorchLightning/pytorch-lightning/pull/4945)) +- Deprecated `Profiler(output_filename)` in favor of `dirpath` and `filename` ([#6621](https://github.com/PyTorchLightning/pytorch-lightning/pull/6621)) + + - Deprecated metrics in favor of `torchmetrics` ([#6505](https://github.com/PyTorchLightning/pytorch-lightning/pull/6505), [#6530](https://github.com/PyTorchLightning/pytorch-lightning/pull/6530), From 8e3034e8f09e7296f417a118751015c8a3f2d1de Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Mon, 22 Mar 2021 04:47:56 +0100 Subject: [PATCH 41/87] Add tests. Address comments --- pytorch_lightning/profiler/profilers.py | 5 ++--- tests/test_profiler.py | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index 73e83ff32fdaa..9521ac439fbd6 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -148,8 +148,7 @@ def _stats_to_str(self, stats: Dict[str, str]) -> str: def setup(self, local_rank: Optional[int] = None, log_dir: Optional[str] = None) -> None: """ - This function is used by the Trainer to inject local_rank with `DDP` - and `TensorBoardLogger` log_dir in the profiler. + This function is used by the Trainer to inject the local_rank on distributed and `TensorBoardLogger.log_dir`. """ self.local_rank = local_rank self.log_dir = log_dir @@ -219,10 +218,10 @@ def __init__( If you attempt to start an action which has already started, or if you attempt to stop recording an action which was never started. """ + super().__init__(dirpath=dirpath, filename=filename, output_filename=output_filename) self.current_actions: Dict[str, float] = {} self.recorded_durations = defaultdict(list) self.extended = extended - super().__init__(dirpath=dirpath, filename=filename, output_filename=output_filename) self.start_time = time.monotonic() def start(self, action_name: str) -> None: diff --git a/tests/test_profiler.py b/tests/test_profiler.py index e16ad96992fda..28674c2769799 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -112,6 +112,25 @@ def test_simple_profiler_value_errors(simple_profiler): simple_profiler.stop(action) +def test_simple_profiler_log_dir(tmpdir): + """Ensure the profiler dirpath defaults to `trainer.log_dir` when not present""" + profiler = SimpleProfiler(filename="profiler.txt") + assert profiler.log_dir is None + + model = BoringModel() + trainer = Trainer( + default_root_dir=tmpdir, + max_epochs=1, + profiler=profiler, + ) + trainer.fit(model) + + expected = tmpdir / "lightning_logs" / "version_0" + assert trainer.log_dir == expected + assert profiler.log_dir == trainer.log_dir + assert expected.join("profiler.txt").exists() + + @pytest.fixture def advanced_profiler(tmpdir): return AdvancedProfiler(dirpath=tmpdir, filename="profiler.txt") From e4e0dd6278a6d0a97c6286d04b7c24bcf0947f6f Mon Sep 17 00:00:00 2001 From: tchaton Date: Mon, 22 Mar 2021 10:19:42 +0000 Subject: [PATCH 42/87] add `on_run_stage_setup` --- pytorch_lightning/plugins/training_type/horovod.py | 7 +++---- .../plugins/training_type/training_type_plugin.py | 6 +++--- pytorch_lightning/trainer/trainer.py | 8 ++++++++ 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/pytorch_lightning/plugins/training_type/horovod.py b/pytorch_lightning/plugins/training_type/horovod.py index 9f1bafe309f89..06ab7500dacc8 100644 --- a/pytorch_lightning/plugins/training_type/horovod.py +++ b/pytorch_lightning/plugins/training_type/horovod.py @@ -96,22 +96,21 @@ def start_training(self, trainer): stack.enter_context(optimizer.skip_synchronize()) # set up training routine - self._results = trainer.run_train() + self._results = trainer.run_stage() # Make sure all workers have finished training before returning to the user hvd.join() def start_evaluating(self, trainer): with ExitStack(): - self._results = trainer.run_evaluate() + self._results = trainer.run_stage() # Make sure all workers have finished training before returning to the user hvd.join() def start_predicting(self, trainer): with ExitStack(): - # set up training routine - self._results = trainer.run_predict() + self._results = trainer.run_stage() # Make sure all workers have finished training before returning to the user hvd.join() diff --git a/pytorch_lightning/plugins/training_type/training_type_plugin.py b/pytorch_lightning/plugins/training_type/training_type_plugin.py index 6a87792c7bd03..a00eefd77d129 100644 --- a/pytorch_lightning/plugins/training_type/training_type_plugin.py +++ b/pytorch_lightning/plugins/training_type/training_type_plugin.py @@ -132,15 +132,15 @@ def rpc_enabled(self) -> bool: def start_training(self, trainer: 'Trainer') -> None: # double dispatch to initiate the training loop - self._results = trainer.run_train() + self._results = trainer.run_stage() def start_evaluating(self, trainer: 'Trainer') -> None: # double dispatch to initiate the test loop - self._results = trainer.run_evaluate() + self._results = trainer.run_stage() def start_predicting(self, trainer: 'Trainer') -> None: # double dispatch to initiate the predicting loop - self._results = trainer.run_predict() + self._results = trainer.run_stage() def training_step(self, *args, **kwargs): return self.lightning_module.training_step(*args, **kwargs) diff --git a/pytorch_lightning/trainer/trainer.py b/pytorch_lightning/trainer/trainer.py index 580a9de22fd53..dc346d441dc39 100644 --- a/pytorch_lightning/trainer/trainer.py +++ b/pytorch_lightning/trainer/trainer.py @@ -516,8 +516,16 @@ def dispatch(self): else: self.accelerator.start_training(self) + def on_run_stage_setup(self): + # setup profiler with the rank info and log_dir + local_rank = self.local_rank if self.world_size > 1 else None + self.profiler.setup(local_rank=local_rank, log_dir=self.log_dir) + def run_stage(self): results = None + + self.on_run_stage_setup() + if self.evaluating: results = self.run_evaluate() elif self.predicting: From d0fdbb9ddfdfe4b169479247505131acfdaf832b Mon Sep 17 00:00:00 2001 From: tchaton Date: Mon, 22 Mar 2021 10:31:38 +0000 Subject: [PATCH 43/87] add on_run_stage_setup function --- pytorch_lightning/trainer/trainer.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pytorch_lightning/trainer/trainer.py b/pytorch_lightning/trainer/trainer.py index dc346d441dc39..a91454d627312 100644 --- a/pytorch_lightning/trainer/trainer.py +++ b/pytorch_lightning/trainer/trainer.py @@ -517,9 +517,7 @@ def dispatch(self): self.accelerator.start_training(self) def on_run_stage_setup(self): - # setup profiler with the rank info and log_dir - local_rank = self.local_rank if self.world_size > 1 else None - self.profiler.setup(local_rank=local_rank, log_dir=self.log_dir) + self.profiler.setup(local_rank=self.local_rank if self.world_size > 1 else None, log_dir=self.log_dir) def run_stage(self): results = None From 1a16bb3e837944fafc34bdc99ba373f76e45a93e Mon Sep 17 00:00:00 2001 From: tchaton Date: Mon, 22 Mar 2021 10:33:53 +0000 Subject: [PATCH 44/87] update --- pytorch_lightning/trainer/trainer.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/pytorch_lightning/trainer/trainer.py b/pytorch_lightning/trainer/trainer.py index a91454d627312..b4d7fd6febc06 100644 --- a/pytorch_lightning/trainer/trainer.py +++ b/pytorch_lightning/trainer/trainer.py @@ -1074,9 +1074,6 @@ def call_setup_hook(self, model: LightningModule) -> None: if not called: self.datamodule.setup(stage=state) - local_rank = self.local_rank if self.world_size > 1 else None - self.profiler.setup(local_rank=local_rank, log_dir=self.log_dir) - self.setup(model, stage=state) model.setup(stage=state) From 52fa69b182c2e16989d5d5a3951b066a0a67b5b3 Mon Sep 17 00:00:00 2001 From: tchaton Date: Mon, 22 Mar 2021 11:06:14 +0000 Subject: [PATCH 45/87] add test for RegisterRecordFunction --- pytorch_lightning/profiler/pytorch.py | 41 +++++++++++++++------------ tests/test_profiler.py | 38 +++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 18 deletions(-) diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index 874a4e607c784..a5bbfffb4e6be 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -19,6 +19,7 @@ from typing import Any, Dict, List, Optional, Type, Union import torch +from torch import nn, Tensor from torch.autograd.profiler import EventList, record_function from pytorch_lightning.profiler.profilers import BaseProfiler @@ -48,33 +49,31 @@ class RegisterRecordFunction: out = model(batch) """ - def __init__(self, model): + def __init__(self, model: nn.Module): self._model = model self._records = {} self.handles = {} - def _start_recording_forward(self, module, input, module_name: str = None, is_built_in: bool = None): - if module_name is not None: - record_name = module_name if is_built_in else f"{type(module)}: {module_name}" - self._records[record_name] = record_function(record_name).__enter__() + def _start_recording_forward(self, module: nn.Module, input: Tensor, record_name: str): + record = record_function(record_name) + record.__enter__() + self._records[record_name] = record return input - def _stop_recording_forward(self, module, input, result, module_name: str = None, is_built_in: bool = None): - if module_name is not None: - record_name = module_name if is_built_in else f"{type(module)}: {module_name}" - self._records[record_name].__exit__(None, None, None) - return result + def _stop_recording_forward(self, module: nn.Module, input: Tensor, output: Tensor, record_name: str): + self._records[record_name].__exit__(None, None, None) + return output def __enter__(self): - built_in_modules = dir(torch.nn) for module_name, module in self._model.named_modules(): if module_name != '': - is_built_in = module in built_in_modules + full_name = type(module).__module__ + '.' + type(module).__name__ + record_name = f"{full_name}: {module_name}" pre_forward_handle = module.register_forward_pre_hook( - partial(self._start_recording_forward, module_name=module_name, is_built_in=is_built_in) + partial(self._start_recording_forward, record_name=record_name) ) post_forward_handle = module.register_forward_hook( - partial(self._stop_recording_forward, module_name=module_name, is_built_in=is_built_in) + partial(self._stop_recording_forward, record_name=record_name) ) self.handles[module_name] = [pre_forward_handle, post_forward_handle] @@ -112,9 +111,9 @@ def __init__( path_to_export_trace: Optional[str] = None, row_limit: int = 20, sort_by_key: Optional[str] = None, - record_functions: List[str] = [], + record_functions: List[str] = None, local_rank: Optional[int] = None, - profiled_functions: List[str] = [], + profiled_functions: List[str] = None, record_module_names: bool = True, **profiler_kwargs: Any, ) -> None: @@ -146,7 +145,7 @@ def __init__( path_to_export_trace: Directory path to export ``.json`` traces when using ``export_to_chrome=True``. By default, it will be save where the file being is being run. - row_limit: Limit the number of rows in a table, ``0`` is a special value that + row_limit: Limit the number of rows in a table, ``-1`` is a special value that removes the limit completely. sort_by_key: Attribute used to sort entries. By default @@ -178,7 +177,7 @@ def __init__( record_functions = self.__deprecation_check(profiled_functions, record_functions) self.output_fname = output_filename - self.record_functions = record_functions + list(self.RECORD_FUNCTIONS) + self.record_functions = set(record_functions + list(self.RECORD_FUNCTIONS)) self.sort_by_key = sort_by_key or f"{'cuda' if profiler_kwargs.get('use_cuda', False) else 'cpu'}_time_total" self.group_by_input_shapes = group_by_input_shapes and profiler_kwargs.get("record_shapes", False) self.row_limit = row_limit @@ -211,6 +210,9 @@ def __init__( super().__init__(output_filename=output_filename, local_rank=local_rank) def __deprecation_check(self, profiled_functions: List[str] = [], record_functions: List[str] = []) -> List[str]: + if record_functions is None: + record_functions = [] + if profiled_functions is not None: rank_zero_warn( "`PyTorchProfiler.profiled_functions` has been renamed to" @@ -223,6 +225,9 @@ def __deprecation_check(self, profiled_functions: List[str] = [], record_functio "You set `PytorchProfiler.profiled_functions` and `PyTorchProfiler.record_functions`." " Please use only the later." ) + if record_functions is None: + record_functions = [] + return record_functions def on_train_start(self, local_rank: Optional[int] = None, log_dir: Optional[str] = None) -> None: diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 7a95bb6bbb75a..2fcf825292e66 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -25,6 +25,7 @@ from pytorch_lightning import Trainer from pytorch_lightning.loggers import TensorBoardLogger from pytorch_lightning.profiler import AdvancedProfiler, PyTorchProfiler, SimpleProfiler +from pytorch_lightning.profiler.pytorch import RegisterRecordFunction from pytorch_lightning.utilities.exceptions import MisconfigurationException from tests.helpers import BoringModel from tests.helpers.runif import RunIf @@ -354,3 +355,40 @@ def test_pytorch_profiler_nested_emit_nvtx(tmpdir): gpus=1, ) trainer.fit(model) + + +@RunIf(min_torch="1.5.0") +def test_register_record_function(tmpdir): + + use_cuda = torch.cuda.is_available() + + pytorch_profiler = PyTorchProfiler( + export_to_chrome=False, + record_functions=["a"], + use_cuda=use_cuda, + output_filename=os.path.join(tmpdir, "profiler.txt") + ) + + class TestModel(BoringModel): + + def __init__(self): + super().__init__() + self.layer = torch.nn.Sequential(torch.nn.Linear(32, 32), torch.nn.ReLU(), torch.nn.Linear(32, 2)) + + model = TestModel() + input = torch.rand((1, 32)) + + if use_cuda: + model = model.cuda() + input = input.cuda() + + with pytorch_profiler.profile("a"): + with RegisterRecordFunction(model): + model(input) + + pytorch_profiler.describe() + event_names = [e.name for e in pytorch_profiler.function_events] + assert 'torch.nn.modules.container.Sequential: layer' in event_names + assert 'torch.nn.modules.linear.Linear: layer.0' in event_names + assert 'torch.nn.modules.activation.ReLU: layer.1' in event_names + assert 'torch.nn.modules.linear.Linear: layer.2' in event_names From 63b6988f2fc495c2c17fa2fc3305aabb380c6404 Mon Sep 17 00:00:00 2001 From: tchaton Date: Mon, 22 Mar 2021 11:10:57 +0000 Subject: [PATCH 46/87] update lightnng flow direction --- 0_trace.json | 1 + pytorch_lightning/trainer/trainer.py | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 8 deletions(-) create mode 100644 0_trace.json diff --git a/0_trace.json b/0_trace.json new file mode 100644 index 0000000000000..2b9487adf83a1 --- /dev/null +++ b/0_trace.json @@ -0,0 +1 @@ +[{"name": "aten::empty", "ph": "X", "ts": 434.706, "dur": 4.123999999999967, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::random_", "ph": "X", "ts": 460.465, "dur": 8.160000000000025, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::is_floating_point", "ph": "X", "ts": 517.229, "dur": 0.5319999999999254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::item", "ph": "X", "ts": 521.148, "dur": 4.944999999999936, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_local_scalar_dense", "ph": "X", "ts": 523.151, "dur": 2.3920000000000528, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 550.11, "dur": 6.506999999999948, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 552.022, "dur": 1.8149999999999409, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 555.346, "dur": 0.8869999999999436, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 570.759, "dur": 90.41200000000003, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 572.027, "dur": 1.2229999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 590.516, "dur": 7.359000000000037, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 593.307, "dur": 1.2479999999999336, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 611.293, "dur": 18.946000000000026, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 614.671, "dur": 2.647999999999911, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 615.849, "dur": 0.8669999999999618, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 618.48, "dur": 10.204999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 620.28, "dur": 7.537000000000035, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 621.824, "dur": 0.7570000000000618, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 624.749, "dur": 1.7419999999999618, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 673.509, "dur": 3.905999999999949, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 674.565, "dur": 1.2449999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 676.664, "dur": 0.39999999999997726, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 682.945, "dur": 136.89499999999998, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 683.766, "dur": 0.9970000000000709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 719.439, "dur": 0.6900000000000546, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 756.527, "dur": 31.145999999999958, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 758.133, "dur": 7.706999999999994, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 760.317, "dur": 3.59699999999998, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 761.541, "dur": 1.6059999999999945, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 767.014, "dur": 19.521999999999935, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 769.084, "dur": 0.7690000000000055, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 771.655, "dur": 2.4840000000000373, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 773.009, "dur": 0.5760000000000218, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 776.425, "dur": 4.753000000000043, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 828.453, "dur": 4.322999999999979, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 829.445, "dur": 1.54099999999994, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 831.966, "dur": 0.42200000000002547, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 838.564, "dur": 41.33800000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 839.371, "dur": 0.9470000000000027, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 849.209, "dur": 4.100000000000023, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 850.949, "dur": 0.6450000000000955, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 860.703, "dur": 12.302999999999997, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 862.545, "dur": 1.7549999999999955, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 863.391, "dur": 0.5710000000000264, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 865.157, "dur": 6.403999999999996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 866.217, "dur": 4.831000000000017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 867.16, "dur": 0.5800000000000409, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 869.225, "dur": 0.8859999999999673, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 889.918, "dur": 3.3379999999999654, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 890.823, "dur": 0.9640000000000555, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 892.58, "dur": 0.34199999999998454, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 897.93, "dur": 94.33900000000006, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 898.695, "dur": 0.9339999999999691, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 923.365, "dur": 0.45899999999994634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 947.06, "dur": 21.027000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 947.97, "dur": 5.706000000000017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 949.398, "dur": 2.715000000000032, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 950.388, "dur": 1.0149999999999864, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 954.471, "dur": 12.812000000000012, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 955.993, "dur": 0.6559999999999491, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 957.74, "dur": 2.1480000000000246, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 958.84, "dur": 0.5109999999999673, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 961.648, "dur": 3.4529999999999745, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1000.167, "dur": 3.5639999999999645, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1001.099, "dur": 1.1089999999999236, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1002.998, "dur": 0.39599999999995816, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 1009.29, "dur": 37.63800000000015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1010.081, "dur": 0.8550000000000182, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 1019.094, "dur": 3.8279999999999745, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1020.609, "dur": 0.6329999999999245, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 1029.302, "dur": 11.473000000000184, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 1030.923, "dur": 1.6800000000000637, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1031.694, "dur": 0.5730000000000928, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 1033.286, "dur": 6.272999999999911, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 1034.109, "dur": 4.879000000000133, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1035.085, "dur": 0.5909999999998945, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 1037.16, "dur": 0.9789999999998145, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1056.355, "dur": 3.286000000000058, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1057.224, "dur": 1.0230000000001382, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1059.027, "dur": 0.2899999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 1064.272, "dur": 89.09699999999998, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1065.047, "dur": 1.0619999999998981, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 1087.371, "dur": 0.4199999999998454, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 1109.42, "dur": 20.649999999999864, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 1110.287, "dur": 5.696999999999889, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 1111.71, "dur": 2.7180000000000746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1112.753, "dur": 0.9960000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 1116.841, "dur": 12.46400000000017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1118.372, "dur": 0.6829999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 1120.036, "dur": 2.2329999999999472, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1121.182, "dur": 0.58400000000006, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 1124.03, "dur": 3.07100000000014, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1161.195, "dur": 3.6690000000000964, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1162.097, "dur": 1.2419999999999618, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1164.178, "dur": 0.36799999999993815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 1170.367, "dur": 37.63300000000004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1171.146, "dur": 1.0389999999999873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 1180.298, "dur": 3.80600000000004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1181.921, "dur": 0.6009999999998854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 1190.349, "dur": 11.489000000000033, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 1192.141, "dur": 1.6189999999999145, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1192.914, "dur": 0.5, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 1194.557, "dur": 6.007000000000062, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 1195.411, "dur": 4.643000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1196.459, "dur": 0.6029999999998381, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 1198.432, "dur": 0.7950000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1217.402, "dur": 3.449000000000069, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1218.316, "dur": 1.0480000000000018, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1220.182, "dur": 0.33999999999991815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 1225.479, "dur": 86.24800000000005, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1226.219, "dur": 0.9259999999999309, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 1247.952, "dur": 0.4190000000000964, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 1268.589, "dur": 20.205000000000155, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 1269.54, "dur": 5.414999999999964, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 1270.949, "dur": 2.550999999999931, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1271.909, "dur": 0.9420000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 1275.697, "dur": 12.211000000000013, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1277.15, "dur": 0.7719999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 1278.903, "dur": 2.1089999999999236, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1279.988, "dur": 0.5190000000000055, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 1282.728, "dur": 3.0349999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1319.262, "dur": 3.6390000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1320.131, "dur": 1.2089999999998327, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1322.158, "dur": 0.40300000000002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 1328.439, "dur": 36.46799999999985, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1329.227, "dur": 0.9669999999998709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 1338.032, "dur": 3.8150000000000546, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1339.595, "dur": 0.6349999999999909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 1347.831, "dur": 10.961000000000013, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 1349.438, "dur": 1.5480000000000018, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1350.165, "dur": 0.4819999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 1351.73, "dur": 5.875, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 1352.612, "dur": 4.435999999999922, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1353.569, "dur": 0.5699999999999363, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 1355.509, "dur": 0.7400000000000091, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1374.249, "dur": 3.5260000000000673, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1375.186, "dur": 1.0140000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1377.103, "dur": 0.3389999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 1382.386, "dur": 85.54500000000007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1383.139, "dur": 0.9110000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 1404.399, "dur": 0.42000000000007276, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 1425.156, "dur": 20.100000000000136, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 1426.058, "dur": 5.403999999999996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 1427.504, "dur": 2.5440000000000964, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1428.487, "dur": 0.9489999999998417, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 1432.219, "dur": 12.21699999999987, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1433.673, "dur": 0.7080000000000837, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 1435.322, "dur": 2.145000000000209, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1436.411, "dur": 0.47199999999998, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 1439.186, "dur": 3.0, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1500.831, "dur": 24.46400000000017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1503.028, "dur": 2.93100000000004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1524.327, "dur": 0.5489999999999782, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 1534.533, "dur": 44.080000000000155, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1535.513, "dur": 1.4570000000001073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 1548.337, "dur": 4.338999999999942, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1550.017, "dur": 0.68100000000004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 1560.411, "dur": 11.02800000000002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 1562.022, "dur": 1.6490000000001146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1562.736, "dur": 0.5769999999999982, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 1564.364, "dur": 5.724999999999909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 1565.158, "dur": 4.463000000000193, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1566.117, "dur": 0.5080000000000382, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 1567.953, "dur": 0.8730000000000473, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1588.816, "dur": 2.951999999999998, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1589.639, "dur": 0.8200000000001637, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1591.213, "dur": 0.29099999999994, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 1596.266, "dur": 87.36400000000003, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1596.918, "dur": 0.7820000000001528, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 1619.789, "dur": 0.36599999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 1641.765, "dur": 19.10499999999979, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 1642.588, "dur": 5.013000000000147, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 1643.955, "dur": 2.372000000000071, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1644.788, "dur": 0.9680000000000746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 1648.332, "dur": 11.74499999999989, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1649.628, "dur": 0.5900000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 1651.148, "dur": 1.6770000000001346, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1652.052, "dur": 0.39000000000010004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 1654.28, "dur": 3.3980000000001382, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1690.671, "dur": 3.1849999999999454, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1691.453, "dur": 1.1000000000001364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1693.255, "dur": 0.32799999999997453, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 1698.484, "dur": 31.961000000000013, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1699.129, "dur": 0.8820000000000618, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 1707.192, "dur": 3.189000000000078, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1708.47, "dur": 0.51299999999992, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 1715.897, "dur": 9.298000000000002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 1717.257, "dur": 1.3919999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1717.936, "dur": 0.4450000000001637, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 1719.241, "dur": 4.9500000000000455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 1719.91, "dur": 3.870999999999867, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1720.757, "dur": 0.5670000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 1722.455, "dur": 0.6430000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1738.627, "dur": 2.9270000000001346, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1739.383, "dur": 0.9099999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1741.009, "dur": 0.29099999999994, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 1745.566, "dur": 75.23700000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1746.146, "dur": 0.7080000000000837, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 1766.24, "dur": 0.3710000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 1784.935, "dur": 16.466000000000122, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 1785.614, "dur": 4.2970000000000255, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 1786.758, "dur": 2.0190000000000055, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1787.536, "dur": 0.7300000000000182, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 1790.594, "dur": 10.121999999999844, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1791.692, "dur": 0.5909999999998945, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 1793.016, "dur": 1.6449999999999818, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1793.872, "dur": 0.4179999999998927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 1796.094, "dur": 2.716999999999871, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1827.141, "dur": 3.1340000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1827.874, "dur": 1.1009999999998854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1829.695, "dur": 0.3170000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 1834.804, "dur": 30.740999999999985, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1835.421, "dur": 0.7290000000000418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 1842.935, "dur": 3.171000000000049, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1844.225, "dur": 0.49700000000007094, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 1851.386, "dur": 9.058999999999969, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 1852.72, "dur": 1.3079999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1853.334, "dur": 0.4379999999998745, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 1854.614, "dur": 4.867999999999938, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 1855.307, "dur": 3.785000000000082, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1856.191, "dur": 0.4839999999999236, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 1857.769, "dur": 0.6459999999999582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1873.163, "dur": 2.747000000000071, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1873.897, "dur": 0.8079999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1875.354, "dur": 0.3129999999998745, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 1879.652, "dur": 70.70799999999986, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1880.256, "dur": 0.7329999999999472, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 1898.54, "dur": 0.38400000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 1915.907, "dur": 16.055000000000064, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 1916.625, "dur": 4.066000000000031, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 1917.65, "dur": 1.9449999999999363, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1918.391, "dur": 0.7139999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 1921.327, "dur": 9.914999999999964, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1922.497, "dur": 0.5729999999998654, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 1923.766, "dur": 1.6649999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1924.685, "dur": 0.3630000000000564, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 1926.799, "dur": 2.6569999999999254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1956.486, "dur": 2.974999999999909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1957.205, "dur": 0.9900000000000091, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1958.87, "dur": 0.3380000000001928, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 1963.97, "dur": 39.884000000000015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1964.594, "dur": 8.827999999999975, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 1980.705, "dur": 3.2480000000000473, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1982.03, "dur": 0.5119999999999436, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 1989.16, "dur": 9.352999999999838, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 1990.509, "dur": 1.36200000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1991.165, "dur": 0.4519999999999982, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 1992.478, "dur": 4.9529999999999745, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 1993.182, "dur": 3.8379999999999654, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1994.0, "dur": 0.49299999999993815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 1995.689, "dur": 0.696999999999889, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 2011.54, "dur": 26.585000000000036, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2012.348, "dur": 0.7390000000000327, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 2037.463, "dur": 0.3569999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 2043.003, "dur": 91.11300000000006, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2043.78, "dur": 0.8710000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 2068.687, "dur": 0.45600000000013097, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 2090.111, "dur": 20.827000000000226, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 2090.912, "dur": 5.498000000000047, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 2092.391, "dur": 2.5470000000000255, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2093.396, "dur": 0.9159999999997126, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 2097.207, "dur": 12.815000000000055, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2098.721, "dur": 0.8049999999998363, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 2100.592, "dur": 2.048999999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2101.703, "dur": 0.47699999999986176, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 2104.479, "dur": 3.356999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 2141.741, "dur": 3.5279999999997926, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2142.653, "dur": 1.0850000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 2144.542, "dur": 0.4110000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 2150.69, "dur": 74.5340000000001, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2151.445, "dur": 0.8379999999997381, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 2160.316, "dur": 3.8090000000001965, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2161.831, "dur": 0.6050000000000182, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 2191.711, "dur": 19.952000000000226, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 2195.514, "dur": 3.786999999999807, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2196.631, "dur": 1.58600000000024, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 2200.428, "dur": 9.54800000000023, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 2201.673, "dur": 7.7140000000003965, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2203.475, "dur": 1.1550000000002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 2206.583, "dur": 1.6269999999999527, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 2240.95, "dur": 4.8840000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2242.158, "dur": 1.6050000000000182, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 2245.023, "dur": 0.4420000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 2252.617, "dur": 116.64199999999983, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2253.583, "dur": 1.05600000000004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 2286.593, "dur": 0.4670000000000982, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 2315.323, "dur": 25.47900000000027, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 2316.536, "dur": 6.682999999999993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 2318.132, "dur": 3.007999999999811, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2319.232, "dur": 1.2289999999998145, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 2324.108, "dur": 15.694999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2325.77, "dur": 0.9929999999999382, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 2327.913, "dur": 2.369999999999891, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2329.262, "dur": 0.5229999999996835, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 2332.34, "dur": 4.4909999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 2378.306, "dur": 4.036999999999807, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2379.328, "dur": 1.3940000000002328, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 2381.599, "dur": 0.4169999999999163, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 2388.471, "dur": 41.375, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2389.303, "dur": 0.9570000000003347, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 2399.634, "dur": 4.405999999999949, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2401.449, "dur": 0.7210000000000036, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 2411.467, "dur": 11.866999999999734, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 2413.167, "dur": 1.7789999999999964, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2414.009, "dur": 0.5850000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 2415.72, "dur": 6.2590000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 2416.695, "dur": 4.757000000000062, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2417.667, "dur": 0.5750000000002728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 2419.703, "dur": 0.8330000000000837, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 2439.854, "dur": 3.423000000000229, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2440.79, "dur": 0.9600000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 2442.655, "dur": 0.31399999999985084, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 2447.967, "dur": 93.93899999999985, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2448.732, "dur": 0.8650000000002365, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 2473.533, "dur": 0.47000000000025466, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 2496.437, "dur": 21.09400000000005, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 2497.408, "dur": 5.8090000000001965, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 2498.875, "dur": 2.744999999999891, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2499.926, "dur": 0.9949999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 2504.013, "dur": 12.68100000000004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2505.438, "dur": 0.7559999999998581, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 2507.147, "dur": 2.032000000000153, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2508.256, "dur": 0.43600000000014916, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 2510.87, "dur": 3.419000000000324, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 2549.959, "dur": 3.824000000000069, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2550.865, "dur": 1.3079999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 2553.057, "dur": 0.37900000000036016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 2559.233, "dur": 38.71499999999969, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2560.129, "dur": 0.9760000000001128, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 2569.632, "dur": 4.117999999999938, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2571.354, "dur": 0.6090000000003783, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 2580.376, "dur": 11.238999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 2581.99, "dur": 1.6000000000003638, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2582.759, "dur": 0.48900000000003274, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 2584.33, "dur": 6.041000000000167, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 2585.253, "dur": 4.65099999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2586.194, "dur": 0.6199999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 2588.22, "dur": 0.875, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 2607.56, "dur": 3.262000000000171, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2608.448, "dur": 0.8920000000002801, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 2610.189, "dur": 0.3140000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 2615.492, "dur": 95.64199999999983, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2616.241, "dur": 0.9099999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 2639.38, "dur": 0.4099999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 2660.435, "dur": 26.63000000000011, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 2661.376, "dur": 5.481999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 2662.813, "dur": 2.668999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2663.756, "dur": 1.1260000000002037, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 2667.666, "dur": 18.36499999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2669.047, "dur": 0.69399999999996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 2670.661, "dur": 7.929999999999836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2677.602, "dur": 0.5030000000001564, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 2680.384, "dur": 3.217999999999847, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 2718.924, "dur": 3.6210000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2719.847, "dur": 1.113999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 2721.768, "dur": 0.4290000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 2728.182, "dur": 37.58699999999999, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2728.974, "dur": 0.9649999999996908, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 2738.125, "dur": 3.880999999999858, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2739.773, "dur": 0.6419999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 2748.278, "dur": 11.194000000000415, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 2749.853, "dur": 1.6059999999997672, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2750.563, "dur": 0.5540000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 2752.187, "dur": 5.969000000000051, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 2753.12, "dur": 4.535000000000309, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2754.06, "dur": 0.5610000000001492, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 2756.031, "dur": 0.7860000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 2775.003, "dur": 3.2529999999997017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2775.899, "dur": 0.8640000000000327, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 2777.601, "dur": 0.3309999999996762, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 2782.725, "dur": 86.07500000000027, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2783.442, "dur": 0.8539999999998145, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 2805.403, "dur": 0.42000000000007276, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 2826.371, "dur": 19.817000000000007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 2827.278, "dur": 5.3659999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 2828.635, "dur": 2.576999999999771, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2829.573, "dur": 0.9610000000002401, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 2833.435, "dur": 11.880999999999858, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2834.869, "dur": 0.7689999999997781, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 2836.57, "dur": 1.9089999999996508, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2837.592, "dur": 0.4339999999997417, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 2840.169, "dur": 2.9900000000002365, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 2876.209, "dur": 3.744000000000142, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2877.159, "dur": 1.2199999999998, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 2879.176, "dur": 0.4110000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 2885.3, "dur": 36.80699999999979, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2886.071, "dur": 0.7960000000002765, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 2894.716, "dur": 3.769999999999982, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2896.286, "dur": 0.6079999999997199, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 2904.732, "dur": 11.396999999999935, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 2906.411, "dur": 1.655999999999949, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2907.147, "dur": 0.5329999999999018, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 2908.827, "dur": 6.0219999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 2909.725, "dur": 4.570999999999913, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2910.628, "dur": 0.5539999999996326, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 2912.572, "dur": 0.9169999999999163, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 2931.202, "dur": 3.1799999999998363, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2932.016, "dur": 0.9229999999997744, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 2933.764, "dur": 0.30999999999994543, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 2938.944, "dur": 90.16300000000001, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2939.669, "dur": 0.7310000000002219, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 2961.508, "dur": 0.3920000000002801, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 2982.033, "dur": 24.182000000000244, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 2982.908, "dur": 5.305000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 2984.251, "dur": 2.574999999999818, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2985.249, "dur": 0.9370000000003529, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 2988.962, "dur": 16.45600000000013, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2994.388, "dur": 0.7899999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 2996.2, "dur": 2.062000000000353, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2997.288, "dur": 0.5019999999999527, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 3000.107, "dur": 3.09900000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3036.817, "dur": 3.6770000000001346, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3037.661, "dur": 1.2300000000000182, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3039.74, "dur": 0.4070000000001528, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 3045.819, "dur": 37.0590000000002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3046.645, "dur": 0.8229999999998654, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 3055.536, "dur": 3.869999999999891, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3057.143, "dur": 0.6419999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 3065.703, "dur": 11.047000000000025, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 3067.303, "dur": 1.6539999999999964, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3068.065, "dur": 0.5109999999999673, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 3069.676, "dur": 5.7970000000000255, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 3070.585, "dur": 4.373999999999796, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3071.493, "dur": 0.5370000000002619, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 3073.423, "dur": 0.7590000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3091.856, "dur": 3.2399999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3092.692, "dur": 0.9070000000001528, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3094.389, "dur": 0.3579999999997199, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 3099.594, "dur": 85.25500000000011, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3100.37, "dur": 0.8230000000003201, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 3121.959, "dur": 0.4110000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 3143.036, "dur": 19.587999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 3143.895, "dur": 5.501000000000204, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 3145.311, "dur": 2.5029999999997017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3146.282, "dur": 0.9119999999998072, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 3150.171, "dur": 11.635999999999967, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3151.586, "dur": 0.6480000000001382, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 3153.218, "dur": 2.050999999999931, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3154.295, "dur": 0.4940000000001419, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 3156.83, "dur": 2.8890000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3192.383, "dur": 3.5020000000004075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3193.209, "dur": 1.0850000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3195.141, "dur": 0.40599999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 3201.126, "dur": 87.69799999999987, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3201.983, "dur": 0.9489999999996144, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 3210.943, "dur": 3.8399999999996908, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3212.57, "dur": 0.5869999999999891, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 3220.749, "dur": 61.06800000000021, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 3222.358, "dur": 50.98999999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3223.097, "dur": 0.5119999999997162, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 3274.305, "dur": 6.138000000000375, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 3275.34, "dur": 4.614999999999782, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3276.242, "dur": 0.5869999999999891, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 3278.182, "dur": 0.9280000000003383, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3298.445, "dur": 3.418999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3299.324, "dur": 0.9760000000001128, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3301.151, "dur": 0.3320000000003347, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 3306.43, "dur": 89.6890000000003, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3307.178, "dur": 0.7449999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 3328.908, "dur": 0.42200000000002547, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 3349.398, "dur": 23.786999999999807, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 3350.226, "dur": 5.292999999999665, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 3351.573, "dur": 2.6080000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3352.567, "dur": 0.9290000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 3356.31, "dur": 15.927999999999884, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3361.429, "dur": 0.7860000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 3363.255, "dur": 2.013999999999669, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3364.324, "dur": 0.45899999999983265, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 3366.88, "dur": 3.0789999999997235, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3403.946, "dur": 3.731999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3404.827, "dur": 1.2169999999996435, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3406.884, "dur": 0.39600000000018554, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 3412.985, "dur": 36.44399999999996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3413.773, "dur": 0.8350000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 3422.783, "dur": 3.84900000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3424.415, "dur": 0.612999999999829, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 3432.694, "dur": 10.791999999999916, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 3434.326, "dur": 1.5670000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3435.071, "dur": 0.5, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 3436.611, "dur": 5.644999999999982, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 3437.507, "dur": 4.2150000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3438.369, "dur": 0.5270000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 3440.217, "dur": 0.7519999999999527, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3458.453, "dur": 3.2530000000001564, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3459.32, "dur": 0.918999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3461.078, "dur": 0.29899999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 3466.078, "dur": 84.4050000000002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3466.858, "dur": 0.8679999999999382, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 3488.646, "dur": 0.3799999999996544, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 3508.991, "dur": 19.52500000000009, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 3509.858, "dur": 5.291999999999916, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 3511.244, "dur": 2.5039999999999054, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3512.205, "dur": 0.8960000000001855, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 3515.926, "dur": 11.789000000000215, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3517.383, "dur": 0.7390000000000327, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 3519.034, "dur": 2.000999999999749, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3520.074, "dur": 0.4919999999997344, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 3522.625, "dur": 2.951000000000022, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3558.012, "dur": 3.4980000000000473, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3558.915, "dur": 1.1469999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3560.804, "dur": 0.36400000000003274, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 3566.832, "dur": 39.728000000000065, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3567.634, "dur": 0.7640000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 3576.313, "dur": 3.798999999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3577.911, "dur": 0.61200000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 3586.018, "dur": 14.230000000000018, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 3587.626, "dur": 1.606999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3588.358, "dur": 0.4859999999998763, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 3589.945, "dur": 8.972999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 3590.862, "dur": 7.5340000000001055, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3591.753, "dur": 3.494999999999891, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 3596.699, "dur": 0.9149999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3615.715, "dur": 3.212999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3616.626, "dur": 0.9179999999996653, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3618.325, "dur": 0.2980000000002292, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 3623.531, "dur": 83.56500000000005, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3624.344, "dur": 0.7640000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 3645.346, "dur": 0.387000000000171, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 3665.899, "dur": 19.320999999999913, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 3666.746, "dur": 5.230000000000018, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 3668.143, "dur": 2.423999999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3669.06, "dur": 0.88799999999992, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 3672.747, "dur": 11.684999999999945, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3674.194, "dur": 0.6219999999998436, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 3675.837, "dur": 2.0090000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3676.878, "dur": 0.49699999999984357, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 3679.445, "dur": 2.8409999999998945, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3714.597, "dur": 3.586999999999989, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3715.459, "dur": 1.1730000000002292, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3717.468, "dur": 0.3830000000002656, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 3723.576, "dur": 35.80000000000018, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3724.322, "dur": 0.8139999999998508, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 3732.804, "dur": 3.7529999999997017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3734.395, "dur": 0.581000000000131, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 3742.514, "dur": 10.769999999999982, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 3744.115, "dur": 1.6420000000002801, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3744.879, "dur": 0.48500000000012733, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 3746.506, "dur": 5.561000000000149, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 3747.408, "dur": 4.166999999999916, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3748.23, "dur": 0.5830000000000837, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 3750.115, "dur": 0.7130000000001928, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3768.161, "dur": 3.306999999999789, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3769.025, "dur": 1.0, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3770.852, "dur": 0.3160000000002583, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 3776.026, "dur": 81.9670000000001, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3776.775, "dur": 0.7779999999997926, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 3797.548, "dur": 0.3710000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 3817.361, "dur": 18.98199999999997, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 3818.178, "dur": 5.108000000000175, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 3819.489, "dur": 2.4470000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3820.459, "dur": 0.8800000000001091, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 3824.022, "dur": 11.514000000000124, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3825.448, "dur": 0.7029999999999745, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 3827.056, "dur": 1.9229999999997744, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3828.073, "dur": 0.4450000000001637, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 3830.563, "dur": 2.869999999999891, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3865.57, "dur": 3.4769999999998618, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3866.419, "dur": 1.1040000000002692, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3868.261, "dur": 0.4329999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 3874.434, "dur": 38.97199999999975, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3875.245, "dur": 0.7409999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 3883.707, "dur": 3.71100000000024, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3885.229, "dur": 0.5840000000002874, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 3893.21, "dur": 13.746000000000095, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 3894.773, "dur": 1.6159999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3895.581, "dur": 0.5029999999997017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 3897.09, "dur": 8.57400000000007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 3897.965, "dur": 7.148999999999887, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3898.829, "dur": 3.30199999999968, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 3903.562, "dur": 0.7989999999999782, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3922.471, "dur": 3.2649999999998727, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3923.364, "dur": 0.9470000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3925.106, "dur": 0.32199999999966167, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 3930.286, "dur": 83.13799999999992, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3931.036, "dur": 0.8609999999998763, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 3952.32, "dur": 0.37199999999984357, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 3972.559, "dur": 19.15199999999959, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 3973.411, "dur": 5.291000000000167, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 3974.794, "dur": 2.492999999999938, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3975.742, "dur": 0.9229999999997744, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 3979.444, "dur": 11.5, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3980.82, "dur": 0.6209999999996398, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 3982.411, "dur": 1.9329999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3983.452, "dur": 0.42899999999963256, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 3985.91, "dur": 2.881000000000313, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 4020.872, "dur": 3.5350000000003092, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4021.827, "dur": 1.0669999999995525, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 4023.692, "dur": 0.36799999999993815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 4029.711, "dur": 39.17300000000023, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4030.54, "dur": 0.8420000000000982, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 4038.938, "dur": 3.837999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4040.573, "dur": 0.5779999999999745, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 4048.594, "dur": 10.507000000000062, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 4050.198, "dur": 1.524000000000342, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4050.9, "dur": 0.5180000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 4052.418, "dur": 5.496000000000095, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 4053.266, "dur": 4.135999999999967, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4054.065, "dur": 0.5320000000001528, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 4055.88, "dur": 0.7840000000001055, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 4077.953, "dur": 3.2910000000001673, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4078.851, "dur": 0.9909999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 4080.612, "dur": 0.3220000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 4085.948, "dur": 1372.9770000000003, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4086.67, "dur": 0.9409999999998035, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 4111.091, "dur": 0.40099999999983993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 4131.558, "dur": 32.238000000000284, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 4132.449, "dur": 7.664999999999964, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 4133.778, "dur": 4.597999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4134.725, "dur": 2.92699999999968, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 4141.286, "dur": 11.944999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4142.659, "dur": 0.7390000000004875, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 4144.325, "dur": 1.936000000000604, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4145.341, "dur": 0.4739999999992506, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 4147.933, "dur": 3.0590000000001965, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 5474.022, "dur": 8.443000000000211, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5476.344, "dur": 3.44800000000032, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 5481.146, "dur": 0.9499999999998181, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 5491.1, "dur": 60.90299999999934, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5492.18, "dur": 1.0039999999999054, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 5505.682, "dur": 6.256000000000313, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5508.611, "dur": 0.8599999999996726, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 5522.638, "dur": 21.261000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 5529.922, "dur": 2.117000000000189, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5530.944, "dur": 0.6899999999995998, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 5533.031, "dur": 9.42699999999968, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 5534.648, "dur": 7.030999999999949, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5535.983, "dur": 0.7550000000001091, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 5538.601, "dur": 1.9180000000005748, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 5564.599, "dur": 5.498999999999796, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5567.247, "dur": 1.2119999999995343, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 5569.411, "dur": 0.3500000000003638, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 5575.506, "dur": 119.02899999999954, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5576.256, "dur": 1.0619999999998981, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 5608.998, "dur": 0.6690000000007785, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 5637.345, "dur": 30.396999999999935, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 5638.623, "dur": 8.217000000000553, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 5640.46, "dur": 3.095999999999549, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5641.671, "dur": 1.1719999999995707, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 5647.922, "dur": 18.89800000000014, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5649.798, "dur": 0.8240000000005239, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 5651.843, "dur": 2.462999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5653.198, "dur": 0.5619999999998981, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 5656.857, "dur": 5.585000000000036, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 5703.01, "dur": 5.648000000000138, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5705.608, "dur": 1.488999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 5707.994, "dur": 0.3600000000005821, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 5714.733, "dur": 42.51999999999953, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5715.505, "dur": 0.9570000000003347, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 5725.405, "dur": 4.192000000000007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5727.226, "dur": 0.6289999999999054, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 5737.043, "dur": 13.551000000000386, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 5738.758, "dur": 3.462999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5741.256, "dur": 0.61200000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 5742.989, "dur": 6.145000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 5743.852, "dur": 4.748000000000502, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5744.796, "dur": 0.6080000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 5746.859, "dur": 0.8729999999995925, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 5766.83, "dur": 4.842999999999847, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5767.757, "dur": 0.9120000000002619, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 5770.98, "dur": 0.3720000000002983, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 5776.722, "dur": 93.61999999999989, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5777.468, "dur": 0.8450000000002547, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 5801.639, "dur": 0.4290000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 5823.757, "dur": 22.557999999999993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 5824.643, "dur": 5.488999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 5826.057, "dur": 2.7070000000003347, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5827.112, "dur": 1.001999999999498, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 5832.475, "dur": 12.922999999999774, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5834.048, "dur": 0.7800000000006548, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 5835.915, "dur": 2.1019999999998618, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5837.051, "dur": 0.4789999999993597, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 5839.745, "dur": 3.36200000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 5878.097, "dur": 5.543999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5879.013, "dur": 1.2420000000001892, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 5881.117, "dur": 2.1799999999993815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 5889.594, "dur": 40.86499999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5890.415, "dur": 1.0280000000002474, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 5900.047, "dur": 4.1030000000000655, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5901.764, "dur": 0.6199999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 5910.507, "dur": 13.155999999999949, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 5912.14, "dur": 1.701999999999316, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5912.955, "dur": 0.5140000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 5916.276, "dur": 6.132000000000517, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 5917.192, "dur": 4.6899999999996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5918.148, "dur": 0.6369999999997162, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 5920.158, "dur": 0.8889999999992142, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 5939.772, "dur": 3.4200000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5940.672, "dur": 1.0489999999999782, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 5942.557, "dur": 0.3320000000003347, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 5949.379, "dur": 90.90499999999975, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5950.091, "dur": 0.9219999999995707, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 5972.54, "dur": 0.4080000000003565, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 5994.561, "dur": 22.51000000000022, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 5995.465, "dur": 5.556999999999789, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 5996.922, "dur": 2.611000000000786, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5997.948, "dur": 0.9809999999997672, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 6001.782, "dur": 14.376000000000204, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6003.195, "dur": 2.52599999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 6006.77, "dur": 2.0979999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6007.856, "dur": 0.45200000000022555, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 6010.613, "dur": 3.1989999999996144, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6048.085, "dur": 3.66399999999976, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6049.008, "dur": 1.1909999999998035, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6051.107, "dur": 0.3350000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 6059.322, "dur": 39.8119999999999, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6060.076, "dur": 0.9499999999998181, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 6069.384, "dur": 3.9769999999998618, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6071.019, "dur": 0.6189999999996871, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 6079.684, "dur": 13.034999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 6081.317, "dur": 1.6260000000002037, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6082.08, "dur": 0.5489999999999782, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 6083.623, "dur": 7.792000000000371, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 6084.506, "dur": 6.393999999999323, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6087.236, "dur": 0.6300000000001091, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 6089.237, "dur": 0.8670000000001892, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6108.351, "dur": 3.3250000000007276, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6109.283, "dur": 0.9499999999998181, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6111.08, "dur": 0.29500000000007276, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 6116.334, "dur": 90.25600000000031, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6117.107, "dur": 2.657000000000153, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 6141.043, "dur": 0.3780000000006112, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 6161.941, "dur": 21.695999999999913, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 6162.834, "dur": 5.253000000000611, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 6164.161, "dur": 2.48700000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6165.125, "dur": 0.9260000000003856, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 6168.858, "dur": 13.936999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6170.247, "dur": 0.7159999999994398, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 6171.989, "dur": 3.7470000000002983, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6174.665, "dur": 0.5270000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 6177.408, "dur": 3.1340000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6214.453, "dur": 3.6679999999996653, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6215.4, "dur": 1.1880000000001019, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6217.424, "dur": 0.3760000000002037, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 6223.729, "dur": 41.33399999999983, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6224.623, "dur": 2.4470000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 6235.509, "dur": 3.9970000000002983, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6237.165, "dur": 0.5960000000004584, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 6245.59, "dur": 13.043999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 6247.351, "dur": 1.581000000000131, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6248.094, "dur": 0.5289999999995416, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 6249.693, "dur": 7.6599999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 6250.595, "dur": 6.210000000000036, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6251.546, "dur": 0.5639999999993961, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 6255.108, "dur": 0.8629999999993743, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6274.263, "dur": 3.3919999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6275.192, "dur": 0.8850000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6277.003, "dur": 0.34900000000016007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 6282.382, "dur": 91.22900000000027, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6283.148, "dur": 0.76299999999992, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 6305.186, "dur": 2.155999999999949, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 6328.256, "dur": 21.904999999999745, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 6329.156, "dur": 5.399999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 6330.596, "dur": 2.4200000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6331.54, "dur": 0.9329999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 6335.323, "dur": 13.951000000000022, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6336.773, "dur": 0.680000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 6338.394, "dur": 3.649999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6339.495, "dur": 0.4359999999996944, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 6343.777, "dur": 3.2460000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6381.448, "dur": 3.5839999999998327, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6382.424, "dur": 1.168999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6384.364, "dur": 0.33800000000064756, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 6390.486, "dur": 40.78300000000036, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6391.293, "dur": 0.9190000000007785, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 6400.294, "dur": 5.833000000000538, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6403.804, "dur": 0.6459999999997308, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 6412.325, "dur": 12.610000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 6414.038, "dur": 1.6300000000001091, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6414.793, "dur": 0.48800000000028376, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 6416.37, "dur": 7.3530000000000655, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 6417.236, "dur": 5.984000000000378, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6418.164, "dur": 0.6210000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 6420.219, "dur": 0.8320000000003347, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6440.58, "dur": 3.318000000000211, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6441.511, "dur": 0.964999999999236, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6443.286, "dur": 0.3010000000003856, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 6448.563, "dur": 88.53600000000006, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6449.328, "dur": 0.8709999999991851, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 6471.264, "dur": 0.3989999999994325, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 6491.894, "dur": 22.61999999999989, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 6494.548, "dur": 5.302999999999884, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 6495.843, "dur": 2.6220000000002983, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6496.827, "dur": 1.0489999999999782, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 6500.608, "dur": 13.095000000000255, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6501.99, "dur": 0.7309999999997672, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 6503.671, "dur": 2.0649999999996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6504.736, "dur": 0.4390000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 6507.319, "dur": 3.0789999999997235, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6544.792, "dur": 3.639999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6545.685, "dur": 1.2529999999997017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6547.745, "dur": 0.3569999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 6553.821, "dur": 40.485999999999876, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6554.523, "dur": 0.9610000000002401, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 6563.655, "dur": 5.6340000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6565.297, "dur": 0.5700000000006185, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 6575.539, "dur": 12.307999999999993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 6577.195, "dur": 1.5410000000001673, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6577.944, "dur": 0.4919999999992797, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 6579.427, "dur": 5.957000000000335, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 6580.331, "dur": 4.545000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6581.244, "dur": 0.5960000000004584, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 6583.273, "dur": 0.818000000000211, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6603.356, "dur": 3.3159999999998035, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6604.247, "dur": 1.0189999999993233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6606.013, "dur": 0.33100000000013097, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 6611.166, "dur": 87.93499999999949, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6611.922, "dur": 0.9280000000007931, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 6633.462, "dur": 0.4169999999994616, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 6654.195, "dur": 22.36200000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 6655.073, "dur": 7.144999999999527, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 6656.456, "dur": 4.27599999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6659.16, "dur": 0.9490000000005239, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 6662.979, "dur": 11.639000000000124, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6664.35, "dur": 0.6679999999996653, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 6665.991, "dur": 2.005000000000109, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6667.01, "dur": 0.47599999999965803, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 6669.592, "dur": 2.92200000000048, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6706.798, "dur": 3.574999999999818, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6707.687, "dur": 1.1739999999999782, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6709.71, "dur": 0.34400000000005093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 6715.784, "dur": 39.05200000000059, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6716.618, "dur": 0.9600000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 6725.519, "dur": 3.8040000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6727.145, "dur": 0.5629999999991924, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 6737.122, "dur": 11.232999999999265, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 6738.739, "dur": 1.6450000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6739.472, "dur": 0.5630000000001019, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 6741.093, "dur": 5.9909999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 6741.961, "dur": 4.601999999999862, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6742.858, "dur": 0.6170000000001892, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 6744.866, "dur": 0.8440000000000509, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6765.491, "dur": 3.3100000000004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6766.351, "dur": 0.9949999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6768.145, "dur": 0.3349999999991269, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 6773.53, "dur": 103.1260000000002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6774.274, "dur": 0.8239999999996144, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 6795.483, "dur": 0.42699999999967986, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 6815.861, "dur": 23.26000000000022, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 6816.8, "dur": 8.65099999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 6818.128, "dur": 4.141000000000531, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6819.141, "dur": 0.8960000000006403, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 6826.31, "dur": 12.03399999999965, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6827.709, "dur": 0.7020000000002256, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 6829.474, "dur": 1.9349999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6830.517, "dur": 0.4279999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 6833.022, "dur": 3.1109999999998763, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6884.22, "dur": 3.020999999999731, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6884.979, "dur": 1.032999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6886.691, "dur": 0.28099999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 6891.817, "dur": 31.136000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6892.468, "dur": 0.63799999999992, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 6899.651, "dur": 3.1220000000002983, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6900.985, "dur": 0.5309999999999491, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 6907.408, "dur": 10.527000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 6910.184, "dur": 1.3009999999994761, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6910.807, "dur": 0.41200000000026193, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 6912.055, "dur": 4.844000000000051, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 6912.786, "dur": 3.7070000000003347, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6913.538, "dur": 0.4790000000002692, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 6915.117, "dur": 0.6979999999994106, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6956.837, "dur": 4.862999999999374, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6957.766, "dur": 2.386000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6961.013, "dur": 0.35900000000037835, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 6966.467, "dur": 86.9360000000006, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6967.225, "dur": 0.7909999999992579, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 6988.747, "dur": 0.43099999999958527, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 7009.158, "dur": 21.73199999999997, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 7010.068, "dur": 7.092999999999847, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 7011.41, "dur": 2.532000000000153, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7012.428, "dur": 0.9340000000001965, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 7018.006, "dur": 12.091999999999643, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7019.466, "dur": 0.6989999999996144, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 7021.141, "dur": 2.068000000000211, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7022.235, "dur": 0.4710000000004584, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 7024.906, "dur": 3.04700000000048, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 7061.066, "dur": 5.204000000000633, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7061.969, "dur": 2.7479999999995925, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 7065.611, "dur": 0.32999999999992724, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 7071.906, "dur": 38.57800000000043, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7072.711, "dur": 0.8119999999998981, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 7081.532, "dur": 3.88799999999992, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7083.162, "dur": 0.6480000000001382, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 7091.388, "dur": 12.641000000000531, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 7093.043, "dur": 3.066000000000713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7093.798, "dur": 1.9710000000004584, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 7096.879, "dur": 5.850000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 7097.776, "dur": 4.460000000000036, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7098.653, "dur": 0.6300000000001091, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 7100.62, "dur": 0.8150000000005093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 7119.631, "dur": 4.902000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7120.548, "dur": 0.9440000000004147, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 7122.345, "dur": 1.8699999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 7129.356, "dur": 391.2350000000006, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7130.114, "dur": 0.8210000000008222, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 7151.919, "dur": 0.44499999999970896, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 7171.911, "dur": 322.39400000000023, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 7172.786, "dur": 5.41399999999976, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 7174.131, "dur": 2.582999999999629, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7175.107, "dur": 0.9830000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 7179.003, "dur": 314.3070000000007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7480.823, "dur": 1.0599999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 7483.047, "dur": 2.236000000000786, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7484.214, "dur": 0.5600000000004002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 7487.083, "dur": 3.47400000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 7529.109, "dur": 6.539999999999964, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7530.138, "dur": 1.1769999999996799, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 7532.224, "dur": 0.4110000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 7541.83, "dur": 42.439000000000306, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7542.659, "dur": 0.9270000000005894, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 7552.458, "dur": 4.148000000000138, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7554.188, "dur": 0.613999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 7563.248, "dur": 14.502000000000407, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 7564.997, "dur": 1.7150000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7565.811, "dur": 0.5060000000003129, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 7567.486, "dur": 8.969000000000051, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 7570.88, "dur": 5.068000000000211, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7571.823, "dur": 0.6799999999993815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 7573.912, "dur": 0.8469999999997526, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 7594.075, "dur": 3.19800000000032, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7594.955, "dur": 0.8930000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 7596.667, "dur": 0.295999999999367, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 7601.914, "dur": 95.3680000000004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7605.111, "dur": 0.8930000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 7629.615, "dur": 0.4040000000004511, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 7651.455, "dur": 22.658000000000357, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 7652.388, "dur": 5.600000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 7653.869, "dur": 2.691000000000713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7654.911, "dur": 0.9949999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 7658.75, "dur": 14.451000000000022, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7660.202, "dur": 0.7469999999993888, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 7664.078, "dur": 2.1779999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7665.184, "dur": 0.5140000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 7667.908, "dur": 3.0689999999995052, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 7705.06, "dur": 3.7799999999997453, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7705.976, "dur": 1.3370000000004438, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 7708.104, "dur": 0.40899999999965075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 7714.365, "dur": 42.12700000000041, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7717.367, "dur": 0.8329999999996289, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 7726.664, "dur": 3.867000000000189, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7728.249, "dur": 0.6460000000006403, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 7736.586, "dur": 13.470999999999549, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 7738.209, "dur": 1.6829999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7739.025, "dur": 0.4960000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 7740.606, "dur": 8.252000000000407, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 7741.45, "dur": 6.898000000000138, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7742.324, "dur": 2.8140000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 7746.614, "dur": 0.829000000000633, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 7765.991, "dur": 3.243000000000393, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7766.863, "dur": 0.9279999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 7768.587, "dur": 0.3329999999996289, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 7773.843, "dur": 91.15599999999995, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7774.615, "dur": 0.7800000000006548, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 7798.725, "dur": 0.4029999999993379, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 7819.851, "dur": 22.577000000000226, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 7820.742, "dur": 5.335000000000036, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 7822.063, "dur": 2.5979999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7823.067, "dur": 0.9750000000003638, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 7826.843, "dur": 14.739000000000487, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7828.225, "dur": 0.6929999999993015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 7829.838, "dur": 4.637000000000626, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7830.905, "dur": 3.0340000000005602, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 7836.21, "dur": 3.207999999999629, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 7872.738, "dur": 3.5729999999994106, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7873.667, "dur": 1.1569999999992433, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 7875.652, "dur": 0.3720000000002983, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 7881.769, "dur": 42.60199999999986, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7882.553, "dur": 0.8699999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 7894.378, "dur": 4.020000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7896.049, "dur": 0.6559999999999491, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 7904.531, "dur": 13.404000000000451, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 7906.163, "dur": 1.594000000000051, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7906.888, "dur": 0.5540000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 7908.427, "dur": 8.19800000000032, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 7909.278, "dur": 6.8149999999996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7910.215, "dur": 0.5500000000001819, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 7912.138, "dur": 3.0460000000002765, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 7933.449, "dur": 3.2730000000001382, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7934.362, "dur": 1.0109999999995125, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 7936.149, "dur": 0.26599999999962165, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 7941.257, "dur": 90.98500000000058, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7941.965, "dur": 0.8379999999997381, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 7963.477, "dur": 0.4099999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 7987.1, "dur": 22.518999999999323, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 7987.994, "dur": 5.552999999999884, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 7989.483, "dur": 2.6369999999997162, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7990.494, "dur": 0.967000000000553, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 7994.34, "dur": 14.381999999999607, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7995.787, "dur": 0.6449999999995271, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 7997.378, "dur": 1.9279999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7998.411, "dur": 0.4639999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 8003.247, "dur": 3.1749999999992724, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8040.198, "dur": 3.7529999999997017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8041.109, "dur": 1.3019999999996799, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8043.242, "dur": 0.38699999999971624, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 8049.522, "dur": 42.05799999999999, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8050.23, "dur": 0.8850000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 8059.073, "dur": 6.639999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8063.329, "dur": 0.691000000000713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 8072.1, "dur": 13.212999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 8073.693, "dur": 1.582999999999629, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8074.448, "dur": 0.5309999999999491, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 8075.979, "dur": 8.143000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 8076.867, "dur": 4.693000000000211, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8077.753, "dur": 0.636000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 8079.759, "dur": 0.886000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8100.793, "dur": 3.2539999999999054, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8101.658, "dur": 0.918999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8103.419, "dur": 0.30900000000019645, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 8108.709, "dur": 89.28999999999996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8109.426, "dur": 0.8159999999998035, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 8130.629, "dur": 0.4099999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 8150.873, "dur": 24.199000000000524, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 8151.772, "dur": 7.958999999999833, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 8155.636, "dur": 2.5549999999993815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8156.587, "dur": 0.9539999999997235, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 8160.511, "dur": 13.65899999999965, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8162.023, "dur": 0.7190000000000509, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 8163.699, "dur": 2.0210000000006403, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8164.745, "dur": 0.467000000000553, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 8167.405, "dur": 3.01299999999992, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8205.825, "dur": 3.4989999999997963, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8206.721, "dur": 1.103000000000975, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8208.628, "dur": 0.3709999999991851, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 8214.873, "dur": 42.43000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8215.688, "dur": 0.9040000000004511, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 8224.748, "dur": 6.550000000001091, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8226.394, "dur": 0.6900000000005093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 8237.741, "dur": 11.22400000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 8239.361, "dur": 1.6649999999990541, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8240.216, "dur": 0.5129999999990105, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 8241.719, "dur": 6.022000000000844, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 8242.583, "dur": 4.662000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8243.463, "dur": 0.6980000000003201, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 8245.546, "dur": 0.8519999999989523, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8266.773, "dur": 3.2290000000011787, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8267.688, "dur": 0.9140000000006694, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8269.393, "dur": 0.2919999999994616, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 8274.726, "dur": 90.82699999999932, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8275.432, "dur": 0.8269999999993161, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 8297.008, "dur": 0.47999999999956344, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 8317.612, "dur": 22.882000000001426, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 8318.539, "dur": 8.15099999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 8319.955, "dur": 5.201000000000931, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8320.942, "dur": 3.5710000000017317, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 8327.528, "dur": 12.105999999999767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8328.962, "dur": 0.6790000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 8330.658, "dur": 2.0780000000013388, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8331.745, "dur": 0.46899999999914144, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 8334.372, "dur": 3.0529999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8373.56, "dur": 3.548000000000684, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8374.461, "dur": 1.066000000000713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8376.374, "dur": 0.3930000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 8382.721, "dur": 39.926000000001295, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8383.522, "dur": 0.8299999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 8392.438, "dur": 3.9789999999993597, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8394.101, "dur": 0.602999999999156, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 8402.266, "dur": 13.925000000001091, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 8406.627, "dur": 1.657999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8407.389, "dur": 0.5720000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 8409.094, "dur": 5.8700000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 8409.969, "dur": 4.5, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8410.814, "dur": 0.5839999999989232, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 8412.763, "dur": 0.8409999999985303, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8431.958, "dur": 6.07799999999952, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8435.477, "dur": 1.0189999999984138, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8437.398, "dur": 0.35600000000158616, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 8443.073, "dur": 89.35499999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8443.87, "dur": 0.8899999999994179, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 8465.921, "dur": 0.3680000000003929, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 8486.459, "dur": 22.451999999999316, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 8487.321, "dur": 8.037000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 8488.691, "dur": 2.4499999999989086, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8489.634, "dur": 0.9110000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 8496.141, "dur": 11.94000000000051, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8497.59, "dur": 0.6460000000006403, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 8499.22, "dur": 2.0799999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8500.332, "dur": 0.44399999999950523, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 8502.886, "dur": 3.0169999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8540.375, "dur": 6.1340000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8543.678, "dur": 1.2409999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8545.803, "dur": 0.3850000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 8552.132, "dur": 39.722999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8552.973, "dur": 0.897000000000844, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 8562.049, "dur": 3.797999999998865, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8563.661, "dur": 0.5959999999995489, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 8571.793, "dur": 13.52599999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 8573.388, "dur": 4.060999999999694, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8576.503, "dur": 0.5979999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 8578.144, "dur": 5.936999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 8579.043, "dur": 4.556000000000495, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8579.95, "dur": 0.6489999999994325, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 8581.968, "dur": 0.7539999999989959, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8601.333, "dur": 5.614999999999782, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8602.219, "dur": 0.9370000000017171, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8606.332, "dur": 0.30199999999967986, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 8611.945, "dur": 88.83500000000095, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8612.742, "dur": 0.9719999999997526, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 8634.469, "dur": 0.4360000000015134, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 8655.136, "dur": 22.555999999998676, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 8656.036, "dur": 5.570999999999913, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 8657.416, "dur": 2.6300000000010186, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8658.366, "dur": 1.032999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 8664.566, "dur": 12.20299999999952, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8666.05, "dur": 0.761000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 8667.888, "dur": 1.9679999999989377, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8668.969, "dur": 0.4390000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 8671.519, "dur": 3.110000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8708.593, "dur": 6.344999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8709.479, "dur": 1.2840000000014697, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8714.201, "dur": 0.42400000000088767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 8720.584, "dur": 40.134000000000015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8721.366, "dur": 0.852999999999156, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 8730.539, "dur": 3.933999999999287, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8732.15, "dur": 0.6779999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 8740.362, "dur": 13.96600000000035, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 8742.066, "dur": 4.172999999998865, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8742.854, "dur": 0.5150000000012369, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 8746.957, "dur": 6.130999999999403, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 8747.917, "dur": 4.677999999999884, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8748.81, "dur": 0.6710000000002765, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 8750.867, "dur": 0.8140000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8770.117, "dur": 3.173000000000684, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8770.996, "dur": 0.8680000000003929, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8772.661, "dur": 0.30799999999908323, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 8780.317, "dur": 88.07200000000012, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8781.097, "dur": 0.8649999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 8802.364, "dur": 0.3670000000001892, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 8823.169, "dur": 22.65400000000045, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 8824.09, "dur": 5.4760000000005675, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 8825.435, "dur": 2.606999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8826.432, "dur": 1.0239999999994325, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 8830.358, "dur": 14.550999999999476, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8831.83, "dur": 3.037000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 8836.035, "dur": 2.007999999999811, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8837.107, "dur": 0.4830000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 8839.669, "dur": 3.058000000000902, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8876.05, "dur": 3.5100000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8876.992, "dur": 1.0390000000006694, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8878.834, "dur": 0.3709999999991851, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 8887.75, "dur": 39.14400000000023, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8888.53, "dur": 0.8850000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 8897.338, "dur": 3.930000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8898.916, "dur": 0.6640000000006694, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 8907.295, "dur": 13.272999999999229, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 8908.893, "dur": 1.7009999999991123, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8909.638, "dur": 0.5689999999995052, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 8911.29, "dur": 8.070999999999913, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 8912.171, "dur": 6.652000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8915.15, "dur": 0.6419999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 8917.205, "dur": 0.8379999999997381, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8935.942, "dur": 3.3360000000011496, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8936.851, "dur": 1.0399999999990541, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8938.65, "dur": 0.30500000000029104, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 8943.818, "dur": 90.125, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8944.55, "dur": 3.1920000000009168, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 8968.516, "dur": 0.37000000000080036, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 8988.851, "dur": 22.402000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 8989.757, "dur": 5.566000000000713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 8991.141, "dur": 2.6120000000009895, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8992.112, "dur": 1.0020000000004075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 8996.08, "dur": 14.306000000000495, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8997.458, "dur": 0.6829999999990832, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 8999.082, "dur": 4.423999999999069, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9002.469, "dur": 0.4900000000016007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 9005.144, "dur": 3.030000000000655, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9041.605, "dur": 3.5390000000006694, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9042.445, "dur": 1.2260000000005675, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9044.426, "dur": 0.386000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 9050.586, "dur": 42.52100000000064, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9051.368, "dur": 3.55199999999968, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 9063.334, "dur": 3.859999999998763, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9064.908, "dur": 0.6490000000012515, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 9073.273, "dur": 13.481999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 9074.9, "dur": 1.5500000000010914, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9075.634, "dur": 0.5030000000006112, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 9077.157, "dur": 8.369000000000597, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 9078.034, "dur": 6.9950000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9078.955, "dur": 0.569999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 9083.331, "dur": 0.8269999999993161, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9102.48, "dur": 3.1010000000005675, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9103.304, "dur": 0.8950000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9104.978, "dur": 0.29500000000007276, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 9110.039, "dur": 90.0059999999994, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9110.789, "dur": 0.7799999999988358, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 9131.876, "dur": 2.9459999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 9155.256, "dur": 22.25, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 9156.206, "dur": 5.269000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 9157.594, "dur": 2.459000000000742, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9158.553, "dur": 0.9030000000002474, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 9162.212, "dur": 14.415000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9163.58, "dur": 0.691000000000713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 9165.219, "dur": 4.4540000000015425, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9166.219, "dur": 0.4690000000009604, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 9171.345, "dur": 3.070000000001528, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9207.58, "dur": 3.5120000000006257, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9208.489, "dur": 1.0690000000013242, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9210.381, "dur": 0.35200000000077125, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 9216.484, "dur": 41.495999999999185, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9217.4, "dur": 0.8330000000005384, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 9226.048, "dur": 6.166999999999462, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9229.907, "dur": 0.6400000000012369, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 9238.412, "dur": 13.324999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 9240.074, "dur": 1.7119999999995343, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9240.871, "dur": 0.5460000000002765, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 9242.478, "dur": 8.056000000000495, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 9243.375, "dur": 6.657999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9244.292, "dur": 0.6530000000002474, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 9246.297, "dur": 0.8680000000003929, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9267.164, "dur": 3.4399999999986903, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9268.035, "dur": 1.0900000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9269.938, "dur": 0.3430000000007567, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 9275.414, "dur": 89.28499999999985, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9276.173, "dur": 0.9369999999998981, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 9297.596, "dur": 0.38100000000122236, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 9318.153, "dur": 24.045000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 9321.296, "dur": 5.550999999999476, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 9322.725, "dur": 2.6369999999988067, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9323.749, "dur": 0.9940000000005966, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 9327.577, "dur": 13.78400000000147, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9329.008, "dur": 0.6219999999993888, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 9330.557, "dur": 2.07799999999952, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9331.566, "dur": 0.5319999999992433, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 9334.31, "dur": 4.84400000000096, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9372.398, "dur": 3.606000000001586, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9373.336, "dur": 1.0950000000011642, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9375.266, "dur": 0.40500000000065484, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 9381.462, "dur": 41.46600000000035, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9382.24, "dur": 0.9310000000004948, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 9390.905, "dur": 6.516999999999825, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9392.514, "dur": 3.176000000001295, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 9403.566, "dur": 12.897999999999229, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 9405.186, "dur": 1.577000000001135, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9405.956, "dur": 0.488999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 9407.459, "dur": 5.798999999999069, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 9408.327, "dur": 4.436000000001513, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9409.226, "dur": 0.5999999999985448, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 9411.16, "dur": 0.8140000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9432.138, "dur": 3.4089999999996508, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9433.016, "dur": 1.037000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9434.853, "dur": 0.34900000000016007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 9440.186, "dur": 164.42799999999988, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9440.926, "dur": 0.8190000000013242, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 9461.776, "dur": 0.4390000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 9482.11, "dur": 89.07099999999991, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 9483.033, "dur": 8.31500000000051, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 9484.436, "dur": 5.329999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9488.167, "dur": 1.011000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 9548.131, "dur": 18.266999999999825, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9551.138, "dur": 1.3549999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 9554.849, "dur": 2.638999999999214, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9556.107, "dur": 0.8099999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 9559.547, "dur": 3.661000000000058, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9613.465, "dur": 4.066000000000713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9614.545, "dur": 1.2849999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9616.716, "dur": 0.5049999999991996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 9623.234, "dur": 41.10999999999876, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9623.969, "dur": 1.0580000000009022, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 9633.472, "dur": 4.09900000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9635.165, "dur": 0.6099999999987631, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 9647.407, "dur": 11.061999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 9648.936, "dur": 1.8029999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9649.813, "dur": 0.5769999999993161, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 9651.384, "dur": 5.927999999999884, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 9652.224, "dur": 4.5679999999993015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9653.194, "dur": 0.5870000000013533, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 9655.133, "dur": 0.8449999999993452, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9676.283, "dur": 2.875, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9677.009, "dur": 0.9020000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9678.599, "dur": 0.2890000000006694, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 9683.35, "dur": 134.73099999999977, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9683.97, "dur": 0.8100000000013097, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 9711.175, "dur": 0.43699999999989814, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 9732.651, "dur": 51.173000000000684, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 9733.449, "dur": 7.738999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 9734.704, "dur": 5.126000000000204, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9735.603, "dur": 0.9740000000001601, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 9741.866, "dur": 41.024999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9742.991, "dur": 0.691000000000713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 9744.583, "dur": 1.8069999999988795, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9745.584, "dur": 0.3829999999998108, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 9747.922, "dur": 32.465000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9829.426, "dur": 4.306000000000495, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9830.509, "dur": 1.514999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9832.906, "dur": 0.48699999999917054, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 9840.279, "dur": 53.41699999999946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9841.32, "dur": 1.4320000000006985, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 9855.494, "dur": 5.899999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9857.881, "dur": 0.9320000000006985, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 9870.131, "dur": 15.94000000000051, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 9875.151, "dur": 2.1229999999995925, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9876.135, "dur": 0.6659999999992579, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 9878.034, "dur": 6.7590000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 9878.975, "dur": 5.305000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9880.188, "dur": 0.6730000000006839, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 9882.3, "dur": 1.070000000001528, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9904.012, "dur": 5.662999999998647, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9904.906, "dur": 3.1789999999982683, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9908.972, "dur": 0.38400000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 9914.797, "dur": 117.25200000000041, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9915.578, "dur": 1.0390000000006694, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 9941.073, "dur": 0.44499999999970896, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 9969.743, "dur": 34.23499999999876, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 9971.076, "dur": 10.852000000000771, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 9972.961, "dur": 3.6930000000011205, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9974.32, "dur": 1.3739999999997963, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 9983.233, "dur": 19.73999999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9987.62, "dur": 1.256999999999607, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 9990.576, "dur": 2.9470000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9992.123, "dur": 0.7209999999995489, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 9996.127, "dur": 4.036000000000058, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10040.73, "dur": 6.92200000000048, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10041.778, "dur": 4.208000000000538, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10046.892, "dur": 0.4210000000002765, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 10053.905, "dur": 46.638999999999214, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10054.789, "dur": 0.929999999998472, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 10064.769, "dur": 4.1010000000005675, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10066.402, "dur": 0.6829999999990832, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 10075.742, "dur": 17.844999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 10077.497, "dur": 4.27599999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10078.448, "dur": 2.95299999999952, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 10082.531, "dur": 9.724999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 10083.45, "dur": 8.200999999999112, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10087.826, "dur": 0.625, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 10089.929, "dur": 0.8269999999993161, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10110.491, "dur": 5.730999999999767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10111.415, "dur": 1.0059999999994034, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10113.203, "dur": 2.6970000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 10121.369, "dur": 94.6260000000002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10122.165, "dur": 0.940999999998894, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 10145.93, "dur": 0.44099999999889405, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 10168.523, "dur": 22.88300000000163, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 10169.441, "dur": 5.492999999998574, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 10170.813, "dur": 2.657999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10171.783, "dur": 1.029000000000451, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 10175.783, "dur": 14.753000000000611, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10179.8, "dur": 0.7460000000010041, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 10181.532, "dur": 1.9970000000012078, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10182.578, "dur": 0.488999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 10185.128, "dur": 3.2039999999997235, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10223.939, "dur": 6.2039999999997235, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10224.871, "dur": 1.09900000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10226.867, "dur": 2.9459999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 10236.033, "dur": 40.82099999999991, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10236.808, "dur": 0.9049999999988358, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 10246.01, "dur": 3.878000000000611, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10247.583, "dur": 0.6409999999996217, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 10256.225, "dur": 14.100000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 10257.903, "dur": 1.7379999999993743, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10258.732, "dur": 0.49400000000059663, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 10260.406, "dur": 8.71599999999853, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 10263.928, "dur": 4.699000000000524, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10264.876, "dur": 0.5830000000005384, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 10266.871, "dur": 0.8110000000015134, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10286.561, "dur": 3.3960000000006403, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10287.462, "dur": 1.0889999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10289.358, "dur": 0.3040000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 10294.603, "dur": 94.75700000000143, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10297.622, "dur": 0.8590000000003783, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 10320.368, "dur": 0.4210000000002765, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 10342.183, "dur": 22.521999999999025, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 10343.084, "dur": 5.441999999999098, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 10344.432, "dur": 2.6229999999995925, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10345.393, "dur": 0.9429999999993015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 10349.31, "dur": 14.54200000000128, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10350.839, "dur": 0.683999999999287, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 10354.911, "dur": 2.0319999999992433, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10355.989, "dur": 0.5, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 10358.575, "dur": 3.0209999999988213, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10397.387, "dur": 3.561999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10398.314, "dur": 1.1049999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10400.242, "dur": 0.3989999999994325, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 10406.411, "dur": 45.858000000000175, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10409.957, "dur": 0.9269999999996799, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 10419.367, "dur": 3.8079999999990832, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10420.938, "dur": 0.5969999999997526, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 10429.444, "dur": 16.274999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 10431.065, "dur": 1.6890000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10431.851, "dur": 0.5159999999996217, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 10433.459, "dur": 10.95799999999872, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 10434.341, "dur": 9.549999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10438.728, "dur": 1.9600000000009459, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 10442.228, "dur": 0.8190000000013242, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10461.856, "dur": 3.2479999999995925, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10462.675, "dur": 0.9729999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10464.52, "dur": 0.2809999999990396, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 10469.819, "dur": 92.10699999999997, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10470.563, "dur": 0.8150000000005093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 10495.497, "dur": 0.4320000000006985, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 10516.698, "dur": 22.29700000000048, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 10517.617, "dur": 5.329999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 10518.995, "dur": 2.4909999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10519.964, "dur": 0.8870000000006257, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 10523.682, "dur": 14.394999999998618, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10525.113, "dur": 0.680000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 10526.704, "dur": 4.435999999999694, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10527.756, "dur": 2.8950000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 10532.855, "dur": 3.0120000000006257, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10569.688, "dur": 3.668999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10570.593, "dur": 1.1700000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10572.648, "dur": 0.386000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 10578.56, "dur": 42.222999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10579.338, "dur": 0.7910000000010768, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 10591.046, "dur": 3.8809999999994034, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10592.616, "dur": 0.6329999999998108, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 10601.208, "dur": 13.305000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 10602.8, "dur": 1.6230000000014115, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10603.604, "dur": 0.49800000000141154, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 10605.129, "dur": 8.20799999999872, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 10606.043, "dur": 6.787000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10606.929, "dur": 0.5599999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 10608.884, "dur": 3.1080000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10630.42, "dur": 3.378000000000611, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10631.356, "dur": 0.9899999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10633.146, "dur": 0.32699999999931606, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 10638.54, "dur": 115.82499999999891, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10639.303, "dur": 0.9310000000004948, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 10661.519, "dur": 0.4319999999988795, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 10685.342, "dur": 43.274999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 10686.161, "dur": 12.993000000000393, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 10694.808, "dur": 2.877999999998792, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10695.93, "dur": 1.0679999999993015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 10699.899, "dur": 27.703999999999724, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10701.361, "dur": 0.635999999998603, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 10703.011, "dur": 1.9830000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10704.094, "dur": 0.44800000000032014, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 10708.891, "dur": 16.173000000000684, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10762.712, "dur": 4.058000000000902, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10763.766, "dur": 1.2970000000004802, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10766.053, "dur": 0.3889999999992142, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 10772.617, "dur": 53.21700000000055, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10773.411, "dur": 0.8700000000008004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 10788.605, "dur": 6.8840000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10792.997, "dur": 0.7100000000009459, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 10802.071, "dur": 16.951999999999316, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 10803.843, "dur": 1.606999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10804.603, "dur": 0.5500000000010914, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 10806.157, "dur": 11.581000000000131, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 10807.033, "dur": 8.139000000001033, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10811.361, "dur": 0.6479999999992287, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 10813.461, "dur": 0.8559999999997672, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10835.625, "dur": 3.399999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10836.619, "dur": 0.9629999999997381, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10838.408, "dur": 0.31600000000071304, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 10843.736, "dur": 93.04199999999946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10844.485, "dur": 0.8059999999986758, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 10867.105, "dur": 0.40200000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 10888.677, "dur": 24.32600000000093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 10889.56, "dur": 7.681000000000495, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 10893.272, "dur": 2.6049999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10894.174, "dur": 1.0349999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 10897.991, "dur": 14.155000000000655, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10899.383, "dur": 0.636000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 10901.045, "dur": 1.896999999999025, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10902.045, "dur": 0.4390000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 10904.607, "dur": 3.1460000000006403, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10944.384, "dur": 3.7739999999994325, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10945.305, "dur": 1.27599999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10947.452, "dur": 0.3919999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 10953.495, "dur": 48.987999999999374, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10954.319, "dur": 0.8829999999998108, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 10963.266, "dur": 6.135000000000218, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10964.867, "dur": 0.5879999999997381, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 10975.692, "dur": 11.160000000001673, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 10977.378, "dur": 1.6109999999989668, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10978.148, "dur": 0.5510000000012951, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 10979.677, "dur": 5.963999999999942, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 10980.592, "dur": 4.516999999999825, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10981.514, "dur": 0.603000000000975, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 10983.442, "dur": 0.8540000000011787, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11012.171, "dur": 3.5529999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11013.172, "dur": 1.0429999999996653, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11015.108, "dur": 0.3099999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 11020.536, "dur": 92.4940000000006, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11021.254, "dur": 0.9009999999998399, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 11044.099, "dur": 0.4500000000007276, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 11065.381, "dur": 22.595000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 11066.251, "dur": 7.8770000000004075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 11067.722, "dur": 5.020000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11068.678, "dur": 3.407999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 11074.906, "dur": 12.193999999999505, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11076.428, "dur": 0.7229999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 11078.098, "dur": 2.0159999999996217, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11079.209, "dur": 0.4349999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 11081.729, "dur": 3.1050000000013824, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11120.917, "dur": 3.699000000000524, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11121.844, "dur": 1.2550000000010186, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11123.928, "dur": 0.3790000000008149, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 11130.057, "dur": 41.54699999999866, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11130.861, "dur": 0.8099999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 11139.364, "dur": 3.860000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11140.943, "dur": 0.6150000000016007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 11149.197, "dur": 15.782999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 11153.158, "dur": 1.6080000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11153.95, "dur": 0.5139999999992142, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 11155.462, "dur": 8.282000000001062, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 11156.339, "dur": 6.906999999999243, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11159.553, "dur": 0.543999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 11161.547, "dur": 0.8909999999996217, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11180.807, "dur": 5.445999999999913, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11183.786, "dur": 1.043999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11185.63, "dur": 0.32300000000032014, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 11191.144, "dur": 88.51800000000003, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11191.908, "dur": 0.7950000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 11213.765, "dur": 0.41300000000046566, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 11235.034, "dur": 21.863999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 11235.911, "dur": 7.310999999999694, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 11237.289, "dur": 2.4029999999984284, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11238.211, "dur": 0.8950000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 11244.144, "dur": 11.972999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11245.601, "dur": 0.6759999999994761, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 11247.251, "dur": 2.0489999999990687, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11248.408, "dur": 0.4470000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 11250.846, "dur": 3.0230000000010477, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11287.406, "dur": 5.855999999999767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11290.546, "dur": 1.168999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11292.557, "dur": 0.3789999999989959, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 11298.737, "dur": 39.72200000000157, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11299.593, "dur": 0.8220000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 11308.562, "dur": 3.8549999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11310.182, "dur": 0.6279999999987922, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 11318.47, "dur": 13.46900000000096, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 11320.113, "dur": 3.9279999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11323.148, "dur": 0.5610000000015134, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 11324.756, "dur": 5.9650000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 11325.675, "dur": 4.558000000000902, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11326.531, "dur": 0.5559999999986758, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 11328.465, "dur": 0.8729999999995925, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11347.863, "dur": 5.611000000000786, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11348.824, "dur": 0.9729999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11352.781, "dur": 0.36299999999937427, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 11358.516, "dur": 87.74099999999999, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11359.333, "dur": 0.9020000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 11381.162, "dur": 0.4179999999996653, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 11402.141, "dur": 21.655000000000655, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 11403.005, "dur": 5.145000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 11404.364, "dur": 2.4350000000013097, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11405.253, "dur": 0.9389999999984866, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 11411.07, "dur": 11.860000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11412.509, "dur": 0.7270000000007713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 11414.152, "dur": 1.9529999999995198, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11415.203, "dur": 0.4320000000006985, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 11417.751, "dur": 3.037000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11453.993, "dur": 5.868999999998778, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11454.864, "dur": 1.1820000000006985, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11459.155, "dur": 0.3819999999996071, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 11465.523, "dur": 41.38500000000022, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11466.299, "dur": 0.8949999999986176, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 11475.151, "dur": 3.7270000000007713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11476.703, "dur": 0.613999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 11484.84, "dur": 15.496999999999389, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 11486.473, "dur": 4.068999999999505, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11487.233, "dur": 0.5120000000006257, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 11491.273, "dur": 7.84900000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 11492.159, "dur": 6.458000000000538, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11495.028, "dur": 0.5689999999995052, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 11497.011, "dur": 0.7799999999988358, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11516.342, "dur": 5.565999999998894, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11517.281, "dur": 0.9579999999987194, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11519.072, "dur": 0.30099999999947613, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 11526.711, "dur": 87.4930000000004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11527.486, "dur": 0.8879999999990105, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 11549.128, "dur": 0.4110000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 11569.915, "dur": 21.701999999999316, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 11570.776, "dur": 5.139000000001033, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 11572.121, "dur": 2.412000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11573.053, "dur": 0.9519999999993161, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 11576.73, "dur": 14.051000000001295, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11580.258, "dur": 0.6869999999998981, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 11581.888, "dur": 2.036999999998443, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11582.992, "dur": 0.4750000000003638, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 11585.53, "dur": 3.0529999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11621.73, "dur": 3.621000000001004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11622.657, "dur": 1.1890000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11624.667, "dur": 0.3569999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 11633.29, "dur": 38.90799999999945, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11634.087, "dur": 0.8739999999997963, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 11642.841, "dur": 3.7520000000004075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11644.38, "dur": 0.6060000000015862, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 11652.648, "dur": 13.189000000000306, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 11654.25, "dur": 1.6389999999992142, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11654.965, "dur": 0.5509999999994761, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 11656.559, "dur": 8.092000000000553, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 11657.447, "dur": 6.677999999999884, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11660.491, "dur": 0.5450000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 11662.478, "dur": 0.8580000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11681.465, "dur": 3.293999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11682.388, "dur": 0.9479999999985012, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11684.136, "dur": 0.31199999999989814, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 11689.283, "dur": 90.5590000000011, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11690.011, "dur": 3.1489999999994325, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 11714.269, "dur": 0.42699999999967986, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 11735.217, "dur": 22.3179999999993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 11736.209, "dur": 5.218999999999141, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 11737.517, "dur": 2.4870000000009895, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11738.465, "dur": 0.9509999999991123, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 11742.211, "dur": 14.450000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11743.682, "dur": 0.7529999999987922, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 11745.389, "dur": 4.468000000000757, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11748.942, "dur": 0.4570000000003347, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 11751.538, "dur": 2.970999999999549, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11787.516, "dur": 3.5599999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11788.44, "dur": 1.128999999998996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11790.386, "dur": 0.3789999999989959, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 11796.546, "dur": 43.38199999999961, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11797.289, "dur": 3.2549999999991996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 11808.55, "dur": 3.835000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11810.143, "dur": 0.5990000000001601, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 11818.291, "dur": 15.222999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 11819.928, "dur": 4.039000000000669, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11823.078, "dur": 0.5429999999996653, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 11824.688, "dur": 7.519000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 11825.647, "dur": 6.036999999998443, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11826.511, "dur": 0.5519999999996799, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 11829.967, "dur": 0.8940000000002328, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11849.296, "dur": 3.227999999999156, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11850.154, "dur": 0.9579999999987194, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11851.913, "dur": 0.31599999999889405, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 11857.198, "dur": 94.86299999999937, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11857.945, "dur": 0.793999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 11883.061, "dur": 2.8170000000009168, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 11907.033, "dur": 21.799000000000888, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 11907.856, "dur": 5.353000000000975, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 11909.212, "dur": 2.5169999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11910.165, "dur": 0.9829999999983556, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 11913.965, "dur": 14.043999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11915.375, "dur": 0.7700000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 11917.006, "dur": 4.081000000000131, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11917.986, "dur": 0.40499999999883585, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 11922.825, "dur": 2.988999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11959.775, "dur": 3.559000000001106, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11960.67, "dur": 1.1790000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11962.642, "dur": 0.37700000000040745, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 11968.886, "dur": 41.95999999999913, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11969.687, "dur": 0.8870000000006257, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 11978.358, "dur": 6.461999999999534, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11982.545, "dur": 0.6110000000007858, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 11990.986, "dur": 13.330999999998312, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 11992.577, "dur": 1.5940000000009604, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11993.304, "dur": 0.4930000000003929, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 11994.847, "dur": 8.273999999999432, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 11995.732, "dur": 6.858000000000175, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11996.674, "dur": 0.5519999999996799, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 11998.587, "dur": 0.8209999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12020.374, "dur": 3.3539999999993597, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12021.242, "dur": 1.076999999999316, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12023.089, "dur": 0.3289999999997235, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 12028.285, "dur": 89.5010000000002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12028.989, "dur": 0.8360000000011496, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 12050.33, "dur": 0.41599999999925785, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 12071.002, "dur": 23.618000000000393, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 12074.226, "dur": 5.1819999999988795, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 12075.57, "dur": 2.449000000000524, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12076.516, "dur": 0.8980000000010477, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 12080.146, "dur": 13.618999999998778, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12081.539, "dur": 0.6529999999984284, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 12083.123, "dur": 2.037000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12084.218, "dur": 0.4470000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 12086.784, "dur": 4.579999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12125.563, "dur": 3.7229999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12126.49, "dur": 1.2659999999996217, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12128.567, "dur": 0.40500000000065484, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 12137.446, "dur": 68.76599999999962, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12138.264, "dur": 0.8760000000002037, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 12147.462, "dur": 8.405000000000655, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12149.048, "dur": 2.992000000000189, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 12162.366, "dur": 16.004000000000815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 12164.087, "dur": 4.167000000001281, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12167.261, "dur": 0.613999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 12168.979, "dur": 6.2409999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 12169.863, "dur": 4.831000000000131, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12170.745, "dur": 0.6279999999987922, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 12172.887, "dur": 0.9020000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12236.131, "dur": 2.8150000000005093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12236.881, "dur": 0.8840000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12238.428, "dur": 0.2739999999994325, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 12242.866, "dur": 144.8119999999999, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12243.491, "dur": 0.680000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 12278.083, "dur": 0.33799999999973807, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 12323.553, "dur": 41.13199999999961, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 12324.3, "dur": 25.247000000001208, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 12345.525, "dur": 2.5460000000002765, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12346.509, "dur": 0.9159999999992579, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 12350.296, "dur": 11.981999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12351.761, "dur": 0.7029999999995198, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 12353.403, "dur": 1.9750000000003638, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12354.45, "dur": 0.4709999999995489, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 12356.92, "dur": 3.0709999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12395.533, "dur": 3.6920000000009168, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12396.449, "dur": 1.2600000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12398.503, "dur": 0.396999999999025, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 12404.524, "dur": 39.91200000000026, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12405.31, "dur": 0.8389999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 12414.016, "dur": 3.949000000000524, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12415.648, "dur": 0.647000000000844, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 12426.878, "dur": 11.157999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 12428.536, "dur": 1.6380000000008295, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12429.271, "dur": 0.5849999999991269, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 12430.886, "dur": 5.924999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 12431.778, "dur": 4.528000000000247, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12432.645, "dur": 0.5569999999988795, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 12434.581, "dur": 0.8659999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12456.12, "dur": 3.2950000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12456.995, "dur": 1.0139999999992142, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12458.811, "dur": 0.3220000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 12464.006, "dur": 93.32400000000052, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12464.725, "dur": 0.8519999999989523, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 12489.456, "dur": 0.42599999999947613, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 12510.202, "dur": 23.809000000001106, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 12511.106, "dur": 7.478000000000975, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 12512.385, "dur": 4.77599999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12513.351, "dur": 1.010999999998603, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 12519.32, "dur": 13.854999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12520.78, "dur": 0.6089999999985594, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 12522.32, "dur": 2.0540000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12523.47, "dur": 0.4680000000007567, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 12525.991, "dur": 4.902000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12567.519, "dur": 3.8479999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12568.476, "dur": 1.2749999999996362, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12570.634, "dur": 0.40200000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 12576.894, "dur": 39.21299999999974, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12577.705, "dur": 0.805000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 12586.495, "dur": 3.855999999999767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12588.061, "dur": 0.625, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 12596.258, "dur": 13.476000000000568, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 12600.164, "dur": 1.5579999999990832, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12600.861, "dur": 0.5209999999988213, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 12602.448, "dur": 5.994999999998981, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 12603.307, "dur": 4.570999999999913, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12604.173, "dur": 0.5829999999987194, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 12606.14, "dur": 0.8180000000011205, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12625.525, "dur": 5.460000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12626.435, "dur": 3.0979999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12630.38, "dur": 0.3100000000013097, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 12635.758, "dur": 88.52200000000084, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12636.56, "dur": 0.8680000000003929, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 12658.525, "dur": 0.44800000000032014, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 12679.224, "dur": 22.186999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 12680.02, "dur": 8.057999999999083, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 12681.358, "dur": 2.5210000000006403, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12682.286, "dur": 1.0, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 12688.851, "dur": 11.691999999999098, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12690.245, "dur": 0.6809999999986758, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 12691.833, "dur": 1.9349999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12692.865, "dur": 0.4709999999995489, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 12695.445, "dur": 3.0310000000008586, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12732.024, "dur": 6.097999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12732.954, "dur": 3.5490000000008877, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12737.418, "dur": 0.3989999999994325, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 12743.84, "dur": 39.35499999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12744.689, "dur": 0.7759999999998399, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 12753.639, "dur": 3.9240000000008877, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12755.255, "dur": 0.5910000000003492, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 12763.469, "dur": 13.444000000001324, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 12765.112, "dur": 3.7220000000015716, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12765.862, "dur": 2.617000000000189, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 12769.655, "dur": 6.0129999999990105, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 12770.614, "dur": 4.5240000000012515, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12771.445, "dur": 0.5760000000009313, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 12773.408, "dur": 0.8880000000008295, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12792.406, "dur": 5.511999999998807, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12793.328, "dur": 0.875, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12794.999, "dur": 2.587999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 12802.584, "dur": 90.54799999999886, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12803.354, "dur": 0.9130000000004657, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 12825.614, "dur": 0.4250000000010914, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 12846.364, "dur": 24.137000000000626, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 12847.304, "dur": 5.167999999999665, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 12848.595, "dur": 2.519000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12849.533, "dur": 0.956000000000131, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 12853.256, "dur": 16.33100000000013, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12857.108, "dur": 2.855999999999767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 12860.885, "dur": 1.951999999999316, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12861.899, "dur": 0.4819999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 12864.436, "dur": 3.0090000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12900.911, "dur": 6.020000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12901.771, "dur": 1.1199999999989814, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12903.715, "dur": 2.8690000000005966, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 12912.403, "dur": 38.89300000000003, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12913.277, "dur": 0.956000000000131, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 12922.239, "dur": 3.757999999999811, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12923.748, "dur": 0.6020000000007713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 12931.921, "dur": 13.05699999999888, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 12933.561, "dur": 1.5709999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12934.29, "dur": 0.5309999999990396, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 12937.833, "dur": 5.947000000000116, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 12938.738, "dur": 4.505000000001019, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12939.574, "dur": 0.5979999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 12941.567, "dur": 0.8000000000010914, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12960.526, "dur": 3.264000000001033, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12961.445, "dur": 0.8450000000011642, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12963.131, "dur": 0.3580000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 12970.648, "dur": 640.8760000000002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12971.442, "dur": 0.875, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 12993.194, "dur": 0.43699999999989814, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 13013.671, "dur": 568.098, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 13014.584, "dur": 5.342999999998938, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 13015.967, "dur": 2.5090000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13016.911, "dur": 0.9549999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 13020.728, "dur": 559.7790000000005, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13022.136, "dur": 0.657999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 13569.571, "dur": 2.5419999999994616, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13570.921, "dur": 0.6440000000002328, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 13574.051, "dur": 3.4800000000013824, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 13620.213, "dur": 4.345000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13621.283, "dur": 1.4950000000008004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 13623.781, "dur": 0.4379999999982829, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 13630.574, "dur": 48.39499999999862, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13634.072, "dur": 0.907999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 13644.527, "dur": 4.183999999999287, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13646.218, "dur": 0.6439999999984138, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 13655.739, "dur": 16.61499999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 13657.516, "dur": 1.668999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13658.306, "dur": 0.5299999999988358, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 13659.935, "dur": 11.09900000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 13661.084, "dur": 9.350999999998749, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13662.038, "dur": 4.897999999999229, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 13668.442, "dur": 0.9010000000016589, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 13688.96, "dur": 3.4250000000010914, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13689.955, "dur": 0.9750000000003638, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 13691.781, "dur": 0.3129999999982829, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 13697.228, "dur": 97.23300000000017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13698.04, "dur": 0.8289999999997235, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 13724.748, "dur": 0.41700000000128057, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 13747.986, "dur": 22.938999999998487, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 13749.011, "dur": 5.6819999999988795, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 13750.511, "dur": 2.57799999999952, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13751.453, "dur": 1.077000000001135, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 13755.465, "dur": 14.566000000000713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13756.972, "dur": 0.6450000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 13758.652, "dur": 4.225000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13759.717, "dur": 2.6970000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 13764.638, "dur": 3.0829999999987194, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 13802.476, "dur": 3.9659999999985303, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13803.474, "dur": 1.396999999999025, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 13805.746, "dur": 0.3890000000010332, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 13811.809, "dur": 55.63000000000102, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13812.683, "dur": 1.0569999999988795, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 13824.932, "dur": 4.0569999999988795, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13826.625, "dur": 0.6880000000001019, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 13835.056, "dur": 25.26800000000003, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 13836.824, "dur": 1.5679999999993015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13837.571, "dur": 0.5149999999994179, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 13839.12, "dur": 19.922999999998865, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 13840.036, "dur": 18.432999999999083, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13852.355, "dur": 0.6430000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 13854.522, "dur": 2.9839999999985594, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 13877.081, "dur": 3.3510000000005675, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13878.004, "dur": 0.9899999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 13879.823, "dur": 0.2999999999992724, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 13885.23, "dur": 93.53900000000067, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13885.989, "dur": 0.8950000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 13908.665, "dur": 0.4289999999982683, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 13933.401, "dur": 22.036000000000058, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 13934.361, "dur": 5.274999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 13935.675, "dur": 2.5310000000008586, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13936.598, "dur": 1.0229999999992287, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 13940.381, "dur": 14.26300000000083, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13941.784, "dur": 0.7049999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 13943.373, "dur": 2.015000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13944.484, "dur": 0.4709999999995489, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 13949.232, "dur": 3.105999999999767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 13986.665, "dur": 3.580999999998312, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13987.536, "dur": 1.1559999999990396, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 13989.544, "dur": 0.3850000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 13995.88, "dur": 10.150000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13996.686, "dur": 0.9040000000004511, "tid": 1, "pid": "CPU functions", "args": {}}] diff --git a/pytorch_lightning/trainer/trainer.py b/pytorch_lightning/trainer/trainer.py index b4d7fd6febc06..4500053719294 100644 --- a/pytorch_lightning/trainer/trainer.py +++ b/pytorch_lightning/trainer/trainer.py @@ -445,13 +445,15 @@ def fit( | || {self.dispatch} || | || LIGHTNING - {self.accelerator.start_training} or || - {self.accelerator.start_evaluating} or || FLOW - {self.accelerator.start_predicting} || + {self.accelerator.start_training} || + or {self.accelerator.start_evaluating} || + or {self.accelerator.start_predicting} || FLOW + | || + {self.run_stage} || | || DIRECTION - {self.run_train} or || - {self.run_evaluation} or || - {self.run_predict} || + {self.run_train} || + or {self.run_evaluation} || + or {self.run_predict} || | || results \/ This is used to guide readers to the core loops: train, test, predict. @@ -516,13 +518,13 @@ def dispatch(self): else: self.accelerator.start_training(self) - def on_run_stage_setup(self): + def _on_run_stage_setup(self): self.profiler.setup(local_rank=self.local_rank if self.world_size > 1 else None, log_dir=self.log_dir) def run_stage(self): results = None - self.on_run_stage_setup() + self._on_run_stage_setup() if self.evaluating: results = self.run_evaluate() From 1cf5a6422c2d5be6bb2df3bd36aa040c8ec015e2 Mon Sep 17 00:00:00 2001 From: tchaton Date: Mon, 22 Mar 2021 11:21:42 +0000 Subject: [PATCH 47/87] move variable to private --- pytorch_lightning/profiler/pytorch.py | 91 +++++++++++++-------------- 1 file changed, 45 insertions(+), 46 deletions(-) diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index a5bbfffb4e6be..e81b79faec74f 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -177,36 +177,35 @@ def __init__( record_functions = self.__deprecation_check(profiled_functions, record_functions) self.output_fname = output_filename - self.record_functions = set(record_functions + list(self.RECORD_FUNCTIONS)) - self.sort_by_key = sort_by_key or f"{'cuda' if profiler_kwargs.get('use_cuda', False) else 'cpu'}_time_total" - self.group_by_input_shapes = group_by_input_shapes and profiler_kwargs.get("record_shapes", False) - self.row_limit = row_limit - self.emit_nvtx = emit_nvtx - self.export_to_chrome = export_to_chrome - self.path_to_export_trace = path_to_export_trace - self.record_module_names = record_module_names - self.lightning_module = None # set by ProfilerConnector - self.register = None - self.profiler_kwargs = profiler_kwargs - self.profiler = None + self.profiler: Optional[_PROFILER] = None + self.function_events: Optional[EventList] = None + + self._record_functions = set(record_functions + list(self.RECORD_FUNCTIONS)) + self._sort_by_key = sort_by_key or f"{'cuda' if profiler_kwargs.get('use_cuda', False) else 'cpu'}_time_total" + self._group_by_input_shapes = group_by_input_shapes and profiler_kwargs.get("record_shapes", False) + self._row_limit = row_limit + self._emit_nvtx = emit_nvtx + self._export_to_chrome = export_to_chrome + self._path_to_export_trace = path_to_export_trace + self._record_module_names = record_module_names + self._lightning_module = None # set by ProfilerConnector + self._register = None + self._profiler_kwargs = profiler_kwargs self._parent_profiler = None + self._recording_map: Dict[str, record_function] = {} + self._profiler_instantiated: bool = False - if self.export_to_chrome and self.path_to_export_trace is None: + if self._export_to_chrome and self._path_to_export_trace is None: rank_zero_warn( "The exported trace would be saved locally as `path_to_export_trace` is None." " Note: Each functions will generate its own traced file." ) - if self.sort_by_key not in self.AVAILABLE_SORT_KEYS: + if self._sort_by_key not in self.AVAILABLE_SORT_KEYS: raise MisconfigurationException( - f"Found sort_by_key: {self.sort_by_key}. Should be within {self.AVAILABLE_SORT_KEYS}. " + f"Found sort_by_key: {self._sort_by_key}. Should be within {self.AVAILABLE_SORT_KEYS}. " ) - self.recording_map: Dict[str, record_function] = {} - self.profiler: Optional[_PROFILER] = None - self.function_events: Optional[EventList] = None - self._profiler_instantiated: bool = False - super().__init__(output_filename=output_filename, local_rank=local_rank) def __deprecation_check(self, profiled_functions: List[str] = [], record_functions: List[str] = []) -> List[str]: @@ -235,8 +234,8 @@ def on_train_start(self, local_rank: Optional[int] = None, log_dir: Optional[str # if the user didn't provide `path_to_export_trace`, # set it as TensorBoardLogger log_dir if exists - if self.path_to_export_trace is None: - self.path_to_export_trace = log_dir + if self._path_to_export_trace is None: + self._path_to_export_trace = log_dir # when logging to `log.info`, only perform profiling on rank 0 if local_rank is not None and local_rank > 0 and self.output_fname is None: @@ -250,7 +249,7 @@ def _rank_zero_only_wrap(self) -> None: def start(self, action_name: str) -> None: if not self._profiler_instantiated and action_name in ( - list(self.START_RECORD_FUNCTIONS) + list(self.record_functions) + list(self.START_RECORD_FUNCTIONS) + list(self._record_functions) ): # close profiler if it is already opened @@ -267,31 +266,31 @@ def start(self, action_name: str) -> None: self._profiler_instantiated = True - if self.record_module_names and self.lightning_module is not None: - self.register = RegisterRecordFunction(self.lightning_module) - self.register.__enter__() + if self._record_module_names and self._lightning_module is not None: + self._register = RegisterRecordFunction(self._lightning_module) + self._register.__enter__() if ( - self._profiler_instantiated and action_name in self.record_functions - and action_name not in self.recording_map + self._profiler_instantiated and action_name in self._record_functions + and action_name not in self._recording_map ): recording = record_function(action_name) recording.__enter__() - self.recording_map[action_name] = recording + self._recording_map[action_name] = recording def stop(self, action_name: str) -> None: - if action_name in self.recording_map: - self.recording_map[action_name].__exit__(None, None, None) - del self.recording_map[action_name] + if action_name in self._recording_map: + self._recording_map[action_name].__exit__(None, None, None) + del self._recording_map[action_name] def summary(self) -> str: - if not self.profiler_kwargs.get("enabled", True): + if not self._profiler_kwargs.get("enabled", True): return "" local_rank = 0 if self.local_rank is None else self.local_rank self.profiler.__exit__(None, None, None) - if not self.emit_nvtx: + if not self._emit_nvtx: self.function_events = self.profiler.function_events self.profiler = None self._profiler_instantiated = False @@ -300,21 +299,21 @@ def summary(self) -> str: self._parent_profiler.__exit__(None, None, None) self._parent_profiler = None - if self.register is not None: - self.register.__exit__(None, None, None) + if self._register is not None: + self._register.__exit__(None, None, None) - if self.emit_nvtx: + if self._emit_nvtx: return "" - if self.export_to_chrome: + if self._export_to_chrome: filename = f"{local_rank}_trace.json" path_to_trace = ( - filename if self.path_to_export_trace is None else os.path.join(self.path_to_export_trace, filename) + filename if self._path_to_export_trace is None else os.path.join(self._path_to_export_trace, filename) ) self.function_events.export_chrome_trace(path_to_trace) - data = self.function_events.key_averages(group_by_input_shapes=self.group_by_input_shapes) - table = data.table(sort_by=self.sort_by_key, row_limit=self.row_limit) + data = self.function_events.key_averages(group_by_input_shapes=self._group_by_input_shapes) + table = data.table(sort_by=self._sort_by_key, row_limit=self._row_limit) recorded_stats = {} recorded_stats["records"] = table @@ -322,7 +321,7 @@ def summary(self) -> str: return self.stats_to_str(recorded_stats) def _create_profilers(self) -> None: - if self.emit_nvtx: + if self._emit_nvtx: self._parent_profiler = self._create_profiler(torch.cuda.profiler.profile) self.profiler = self._create_profiler(torch.autograd.profiler.emit_nvtx) else: @@ -331,7 +330,7 @@ def _create_profilers(self) -> None: def _create_profiler(self, profiler: Type[_PROFILER]) -> _PROFILER: init_parameters = inspect.signature(profiler.__init__).parameters - kwargs = {k: v for k, v in self.profiler_kwargs.items() if k in init_parameters} + kwargs = {k: v for k, v in vars(self).items() if k in init_parameters} return profiler(**kwargs) def teardown(self): @@ -342,10 +341,10 @@ def teardown(self): self._parent_profiler.__exit__(None, None, None) self._parent_profiler = None - if self.register is not None: - self.register.__exit__(None, None, None) + if self._register is not None: + self._register.__exit__(None, None, None) - for record in self.recording_map.values(): + for record in self._recording_map.values(): record.__exit__(None, None, None) super().teardown() From a05acdd02a523fbaa880222e203ffc1d6935c1e6 Mon Sep 17 00:00:00 2001 From: tchaton Date: Mon, 22 Mar 2021 12:29:38 +0000 Subject: [PATCH 48/87] remove trace --- 0_trace.json | 1 - 1 file changed, 1 deletion(-) delete mode 100644 0_trace.json diff --git a/0_trace.json b/0_trace.json deleted file mode 100644 index 2b9487adf83a1..0000000000000 --- a/0_trace.json +++ /dev/null @@ -1 +0,0 @@ -[{"name": "aten::empty", "ph": "X", "ts": 434.706, "dur": 4.123999999999967, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::random_", "ph": "X", "ts": 460.465, "dur": 8.160000000000025, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::is_floating_point", "ph": "X", "ts": 517.229, "dur": 0.5319999999999254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::item", "ph": "X", "ts": 521.148, "dur": 4.944999999999936, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_local_scalar_dense", "ph": "X", "ts": 523.151, "dur": 2.3920000000000528, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 550.11, "dur": 6.506999999999948, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 552.022, "dur": 1.8149999999999409, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 555.346, "dur": 0.8869999999999436, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 570.759, "dur": 90.41200000000003, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 572.027, "dur": 1.2229999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 590.516, "dur": 7.359000000000037, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 593.307, "dur": 1.2479999999999336, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 611.293, "dur": 18.946000000000026, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 614.671, "dur": 2.647999999999911, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 615.849, "dur": 0.8669999999999618, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 618.48, "dur": 10.204999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 620.28, "dur": 7.537000000000035, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 621.824, "dur": 0.7570000000000618, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 624.749, "dur": 1.7419999999999618, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 673.509, "dur": 3.905999999999949, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 674.565, "dur": 1.2449999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 676.664, "dur": 0.39999999999997726, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 682.945, "dur": 136.89499999999998, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 683.766, "dur": 0.9970000000000709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 719.439, "dur": 0.6900000000000546, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 756.527, "dur": 31.145999999999958, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 758.133, "dur": 7.706999999999994, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 760.317, "dur": 3.59699999999998, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 761.541, "dur": 1.6059999999999945, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 767.014, "dur": 19.521999999999935, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 769.084, "dur": 0.7690000000000055, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 771.655, "dur": 2.4840000000000373, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 773.009, "dur": 0.5760000000000218, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 776.425, "dur": 4.753000000000043, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 828.453, "dur": 4.322999999999979, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 829.445, "dur": 1.54099999999994, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 831.966, "dur": 0.42200000000002547, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 838.564, "dur": 41.33800000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 839.371, "dur": 0.9470000000000027, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 849.209, "dur": 4.100000000000023, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 850.949, "dur": 0.6450000000000955, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 860.703, "dur": 12.302999999999997, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 862.545, "dur": 1.7549999999999955, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 863.391, "dur": 0.5710000000000264, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 865.157, "dur": 6.403999999999996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 866.217, "dur": 4.831000000000017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 867.16, "dur": 0.5800000000000409, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 869.225, "dur": 0.8859999999999673, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 889.918, "dur": 3.3379999999999654, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 890.823, "dur": 0.9640000000000555, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 892.58, "dur": 0.34199999999998454, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 897.93, "dur": 94.33900000000006, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 898.695, "dur": 0.9339999999999691, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 923.365, "dur": 0.45899999999994634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 947.06, "dur": 21.027000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 947.97, "dur": 5.706000000000017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 949.398, "dur": 2.715000000000032, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 950.388, "dur": 1.0149999999999864, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 954.471, "dur": 12.812000000000012, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 955.993, "dur": 0.6559999999999491, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 957.74, "dur": 2.1480000000000246, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 958.84, "dur": 0.5109999999999673, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 961.648, "dur": 3.4529999999999745, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1000.167, "dur": 3.5639999999999645, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1001.099, "dur": 1.1089999999999236, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1002.998, "dur": 0.39599999999995816, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 1009.29, "dur": 37.63800000000015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1010.081, "dur": 0.8550000000000182, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 1019.094, "dur": 3.8279999999999745, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1020.609, "dur": 0.6329999999999245, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 1029.302, "dur": 11.473000000000184, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 1030.923, "dur": 1.6800000000000637, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1031.694, "dur": 0.5730000000000928, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 1033.286, "dur": 6.272999999999911, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 1034.109, "dur": 4.879000000000133, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1035.085, "dur": 0.5909999999998945, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 1037.16, "dur": 0.9789999999998145, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1056.355, "dur": 3.286000000000058, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1057.224, "dur": 1.0230000000001382, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1059.027, "dur": 0.2899999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 1064.272, "dur": 89.09699999999998, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1065.047, "dur": 1.0619999999998981, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 1087.371, "dur": 0.4199999999998454, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 1109.42, "dur": 20.649999999999864, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 1110.287, "dur": 5.696999999999889, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 1111.71, "dur": 2.7180000000000746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1112.753, "dur": 0.9960000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 1116.841, "dur": 12.46400000000017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1118.372, "dur": 0.6829999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 1120.036, "dur": 2.2329999999999472, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1121.182, "dur": 0.58400000000006, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 1124.03, "dur": 3.07100000000014, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1161.195, "dur": 3.6690000000000964, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1162.097, "dur": 1.2419999999999618, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1164.178, "dur": 0.36799999999993815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 1170.367, "dur": 37.63300000000004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1171.146, "dur": 1.0389999999999873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 1180.298, "dur": 3.80600000000004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1181.921, "dur": 0.6009999999998854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 1190.349, "dur": 11.489000000000033, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 1192.141, "dur": 1.6189999999999145, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1192.914, "dur": 0.5, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 1194.557, "dur": 6.007000000000062, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 1195.411, "dur": 4.643000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1196.459, "dur": 0.6029999999998381, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 1198.432, "dur": 0.7950000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1217.402, "dur": 3.449000000000069, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1218.316, "dur": 1.0480000000000018, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1220.182, "dur": 0.33999999999991815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 1225.479, "dur": 86.24800000000005, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1226.219, "dur": 0.9259999999999309, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 1247.952, "dur": 0.4190000000000964, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 1268.589, "dur": 20.205000000000155, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 1269.54, "dur": 5.414999999999964, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 1270.949, "dur": 2.550999999999931, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1271.909, "dur": 0.9420000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 1275.697, "dur": 12.211000000000013, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1277.15, "dur": 0.7719999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 1278.903, "dur": 2.1089999999999236, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1279.988, "dur": 0.5190000000000055, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 1282.728, "dur": 3.0349999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1319.262, "dur": 3.6390000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1320.131, "dur": 1.2089999999998327, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1322.158, "dur": 0.40300000000002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 1328.439, "dur": 36.46799999999985, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1329.227, "dur": 0.9669999999998709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 1338.032, "dur": 3.8150000000000546, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1339.595, "dur": 0.6349999999999909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 1347.831, "dur": 10.961000000000013, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 1349.438, "dur": 1.5480000000000018, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1350.165, "dur": 0.4819999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 1351.73, "dur": 5.875, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 1352.612, "dur": 4.435999999999922, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1353.569, "dur": 0.5699999999999363, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 1355.509, "dur": 0.7400000000000091, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1374.249, "dur": 3.5260000000000673, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1375.186, "dur": 1.0140000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1377.103, "dur": 0.3389999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 1382.386, "dur": 85.54500000000007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1383.139, "dur": 0.9110000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 1404.399, "dur": 0.42000000000007276, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 1425.156, "dur": 20.100000000000136, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 1426.058, "dur": 5.403999999999996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 1427.504, "dur": 2.5440000000000964, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1428.487, "dur": 0.9489999999998417, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 1432.219, "dur": 12.21699999999987, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1433.673, "dur": 0.7080000000000837, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 1435.322, "dur": 2.145000000000209, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1436.411, "dur": 0.47199999999998, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 1439.186, "dur": 3.0, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1500.831, "dur": 24.46400000000017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1503.028, "dur": 2.93100000000004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1524.327, "dur": 0.5489999999999782, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 1534.533, "dur": 44.080000000000155, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1535.513, "dur": 1.4570000000001073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 1548.337, "dur": 4.338999999999942, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1550.017, "dur": 0.68100000000004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 1560.411, "dur": 11.02800000000002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 1562.022, "dur": 1.6490000000001146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1562.736, "dur": 0.5769999999999982, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 1564.364, "dur": 5.724999999999909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 1565.158, "dur": 4.463000000000193, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1566.117, "dur": 0.5080000000000382, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 1567.953, "dur": 0.8730000000000473, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1588.816, "dur": 2.951999999999998, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1589.639, "dur": 0.8200000000001637, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1591.213, "dur": 0.29099999999994, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 1596.266, "dur": 87.36400000000003, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1596.918, "dur": 0.7820000000001528, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 1619.789, "dur": 0.36599999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 1641.765, "dur": 19.10499999999979, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 1642.588, "dur": 5.013000000000147, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 1643.955, "dur": 2.372000000000071, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1644.788, "dur": 0.9680000000000746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 1648.332, "dur": 11.74499999999989, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1649.628, "dur": 0.5900000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 1651.148, "dur": 1.6770000000001346, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1652.052, "dur": 0.39000000000010004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 1654.28, "dur": 3.3980000000001382, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1690.671, "dur": 3.1849999999999454, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1691.453, "dur": 1.1000000000001364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1693.255, "dur": 0.32799999999997453, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 1698.484, "dur": 31.961000000000013, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1699.129, "dur": 0.8820000000000618, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 1707.192, "dur": 3.189000000000078, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1708.47, "dur": 0.51299999999992, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 1715.897, "dur": 9.298000000000002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 1717.257, "dur": 1.3919999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1717.936, "dur": 0.4450000000001637, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 1719.241, "dur": 4.9500000000000455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 1719.91, "dur": 3.870999999999867, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1720.757, "dur": 0.5670000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 1722.455, "dur": 0.6430000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1738.627, "dur": 2.9270000000001346, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1739.383, "dur": 0.9099999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1741.009, "dur": 0.29099999999994, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 1745.566, "dur": 75.23700000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1746.146, "dur": 0.7080000000000837, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 1766.24, "dur": 0.3710000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 1784.935, "dur": 16.466000000000122, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 1785.614, "dur": 4.2970000000000255, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 1786.758, "dur": 2.0190000000000055, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1787.536, "dur": 0.7300000000000182, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 1790.594, "dur": 10.121999999999844, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1791.692, "dur": 0.5909999999998945, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 1793.016, "dur": 1.6449999999999818, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1793.872, "dur": 0.4179999999998927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 1796.094, "dur": 2.716999999999871, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1827.141, "dur": 3.1340000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1827.874, "dur": 1.1009999999998854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1829.695, "dur": 0.3170000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 1834.804, "dur": 30.740999999999985, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1835.421, "dur": 0.7290000000000418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 1842.935, "dur": 3.171000000000049, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1844.225, "dur": 0.49700000000007094, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 1851.386, "dur": 9.058999999999969, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 1852.72, "dur": 1.3079999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1853.334, "dur": 0.4379999999998745, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 1854.614, "dur": 4.867999999999938, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 1855.307, "dur": 3.785000000000082, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1856.191, "dur": 0.4839999999999236, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 1857.769, "dur": 0.6459999999999582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1873.163, "dur": 2.747000000000071, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1873.897, "dur": 0.8079999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1875.354, "dur": 0.3129999999998745, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 1879.652, "dur": 70.70799999999986, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1880.256, "dur": 0.7329999999999472, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 1898.54, "dur": 0.38400000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 1915.907, "dur": 16.055000000000064, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 1916.625, "dur": 4.066000000000031, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 1917.65, "dur": 1.9449999999999363, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1918.391, "dur": 0.7139999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 1921.327, "dur": 9.914999999999964, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1922.497, "dur": 0.5729999999998654, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 1923.766, "dur": 1.6649999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1924.685, "dur": 0.3630000000000564, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 1926.799, "dur": 2.6569999999999254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 1956.486, "dur": 2.974999999999909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1957.205, "dur": 0.9900000000000091, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 1958.87, "dur": 0.3380000000001928, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 1963.97, "dur": 39.884000000000015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1964.594, "dur": 8.827999999999975, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 1980.705, "dur": 3.2480000000000473, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1982.03, "dur": 0.5119999999999436, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 1989.16, "dur": 9.352999999999838, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 1990.509, "dur": 1.36200000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 1991.165, "dur": 0.4519999999999982, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 1992.478, "dur": 4.9529999999999745, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 1993.182, "dur": 3.8379999999999654, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 1994.0, "dur": 0.49299999999993815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 1995.689, "dur": 0.696999999999889, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 2011.54, "dur": 26.585000000000036, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2012.348, "dur": 0.7390000000000327, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 2037.463, "dur": 0.3569999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 2043.003, "dur": 91.11300000000006, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2043.78, "dur": 0.8710000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 2068.687, "dur": 0.45600000000013097, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 2090.111, "dur": 20.827000000000226, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 2090.912, "dur": 5.498000000000047, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 2092.391, "dur": 2.5470000000000255, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2093.396, "dur": 0.9159999999997126, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 2097.207, "dur": 12.815000000000055, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2098.721, "dur": 0.8049999999998363, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 2100.592, "dur": 2.048999999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2101.703, "dur": 0.47699999999986176, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 2104.479, "dur": 3.356999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 2141.741, "dur": 3.5279999999997926, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2142.653, "dur": 1.0850000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 2144.542, "dur": 0.4110000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 2150.69, "dur": 74.5340000000001, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2151.445, "dur": 0.8379999999997381, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 2160.316, "dur": 3.8090000000001965, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2161.831, "dur": 0.6050000000000182, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 2191.711, "dur": 19.952000000000226, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 2195.514, "dur": 3.786999999999807, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2196.631, "dur": 1.58600000000024, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 2200.428, "dur": 9.54800000000023, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 2201.673, "dur": 7.7140000000003965, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2203.475, "dur": 1.1550000000002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 2206.583, "dur": 1.6269999999999527, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 2240.95, "dur": 4.8840000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2242.158, "dur": 1.6050000000000182, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 2245.023, "dur": 0.4420000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 2252.617, "dur": 116.64199999999983, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2253.583, "dur": 1.05600000000004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 2286.593, "dur": 0.4670000000000982, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 2315.323, "dur": 25.47900000000027, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 2316.536, "dur": 6.682999999999993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 2318.132, "dur": 3.007999999999811, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2319.232, "dur": 1.2289999999998145, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 2324.108, "dur": 15.694999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2325.77, "dur": 0.9929999999999382, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 2327.913, "dur": 2.369999999999891, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2329.262, "dur": 0.5229999999996835, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 2332.34, "dur": 4.4909999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 2378.306, "dur": 4.036999999999807, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2379.328, "dur": 1.3940000000002328, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 2381.599, "dur": 0.4169999999999163, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 2388.471, "dur": 41.375, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2389.303, "dur": 0.9570000000003347, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 2399.634, "dur": 4.405999999999949, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2401.449, "dur": 0.7210000000000036, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 2411.467, "dur": 11.866999999999734, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 2413.167, "dur": 1.7789999999999964, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2414.009, "dur": 0.5850000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 2415.72, "dur": 6.2590000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 2416.695, "dur": 4.757000000000062, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2417.667, "dur": 0.5750000000002728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 2419.703, "dur": 0.8330000000000837, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 2439.854, "dur": 3.423000000000229, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2440.79, "dur": 0.9600000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 2442.655, "dur": 0.31399999999985084, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 2447.967, "dur": 93.93899999999985, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2448.732, "dur": 0.8650000000002365, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 2473.533, "dur": 0.47000000000025466, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 2496.437, "dur": 21.09400000000005, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 2497.408, "dur": 5.8090000000001965, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 2498.875, "dur": 2.744999999999891, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2499.926, "dur": 0.9949999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 2504.013, "dur": 12.68100000000004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2505.438, "dur": 0.7559999999998581, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 2507.147, "dur": 2.032000000000153, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2508.256, "dur": 0.43600000000014916, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 2510.87, "dur": 3.419000000000324, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 2549.959, "dur": 3.824000000000069, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2550.865, "dur": 1.3079999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 2553.057, "dur": 0.37900000000036016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 2559.233, "dur": 38.71499999999969, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2560.129, "dur": 0.9760000000001128, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 2569.632, "dur": 4.117999999999938, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2571.354, "dur": 0.6090000000003783, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 2580.376, "dur": 11.238999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 2581.99, "dur": 1.6000000000003638, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2582.759, "dur": 0.48900000000003274, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 2584.33, "dur": 6.041000000000167, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 2585.253, "dur": 4.65099999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2586.194, "dur": 0.6199999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 2588.22, "dur": 0.875, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 2607.56, "dur": 3.262000000000171, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2608.448, "dur": 0.8920000000002801, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 2610.189, "dur": 0.3140000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 2615.492, "dur": 95.64199999999983, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2616.241, "dur": 0.9099999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 2639.38, "dur": 0.4099999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 2660.435, "dur": 26.63000000000011, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 2661.376, "dur": 5.481999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 2662.813, "dur": 2.668999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2663.756, "dur": 1.1260000000002037, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 2667.666, "dur": 18.36499999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2669.047, "dur": 0.69399999999996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 2670.661, "dur": 7.929999999999836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2677.602, "dur": 0.5030000000001564, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 2680.384, "dur": 3.217999999999847, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 2718.924, "dur": 3.6210000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2719.847, "dur": 1.113999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 2721.768, "dur": 0.4290000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 2728.182, "dur": 37.58699999999999, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2728.974, "dur": 0.9649999999996908, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 2738.125, "dur": 3.880999999999858, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2739.773, "dur": 0.6419999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 2748.278, "dur": 11.194000000000415, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 2749.853, "dur": 1.6059999999997672, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2750.563, "dur": 0.5540000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 2752.187, "dur": 5.969000000000051, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 2753.12, "dur": 4.535000000000309, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2754.06, "dur": 0.5610000000001492, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 2756.031, "dur": 0.7860000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 2775.003, "dur": 3.2529999999997017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2775.899, "dur": 0.8640000000000327, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 2777.601, "dur": 0.3309999999996762, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 2782.725, "dur": 86.07500000000027, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2783.442, "dur": 0.8539999999998145, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 2805.403, "dur": 0.42000000000007276, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 2826.371, "dur": 19.817000000000007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 2827.278, "dur": 5.3659999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 2828.635, "dur": 2.576999999999771, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2829.573, "dur": 0.9610000000002401, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 2833.435, "dur": 11.880999999999858, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2834.869, "dur": 0.7689999999997781, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 2836.57, "dur": 1.9089999999996508, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2837.592, "dur": 0.4339999999997417, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 2840.169, "dur": 2.9900000000002365, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 2876.209, "dur": 3.744000000000142, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2877.159, "dur": 1.2199999999998, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 2879.176, "dur": 0.4110000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 2885.3, "dur": 36.80699999999979, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2886.071, "dur": 0.7960000000002765, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 2894.716, "dur": 3.769999999999982, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2896.286, "dur": 0.6079999999997199, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 2904.732, "dur": 11.396999999999935, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 2906.411, "dur": 1.655999999999949, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2907.147, "dur": 0.5329999999999018, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 2908.827, "dur": 6.0219999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 2909.725, "dur": 4.570999999999913, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2910.628, "dur": 0.5539999999996326, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 2912.572, "dur": 0.9169999999999163, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 2931.202, "dur": 3.1799999999998363, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2932.016, "dur": 0.9229999999997744, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 2933.764, "dur": 0.30999999999994543, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 2938.944, "dur": 90.16300000000001, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2939.669, "dur": 0.7310000000002219, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 2961.508, "dur": 0.3920000000002801, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 2982.033, "dur": 24.182000000000244, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 2982.908, "dur": 5.305000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 2984.251, "dur": 2.574999999999818, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2985.249, "dur": 0.9370000000003529, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 2988.962, "dur": 16.45600000000013, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 2994.388, "dur": 0.7899999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 2996.2, "dur": 2.062000000000353, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 2997.288, "dur": 0.5019999999999527, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 3000.107, "dur": 3.09900000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3036.817, "dur": 3.6770000000001346, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3037.661, "dur": 1.2300000000000182, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3039.74, "dur": 0.4070000000001528, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 3045.819, "dur": 37.0590000000002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3046.645, "dur": 0.8229999999998654, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 3055.536, "dur": 3.869999999999891, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3057.143, "dur": 0.6419999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 3065.703, "dur": 11.047000000000025, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 3067.303, "dur": 1.6539999999999964, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3068.065, "dur": 0.5109999999999673, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 3069.676, "dur": 5.7970000000000255, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 3070.585, "dur": 4.373999999999796, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3071.493, "dur": 0.5370000000002619, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 3073.423, "dur": 0.7590000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3091.856, "dur": 3.2399999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3092.692, "dur": 0.9070000000001528, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3094.389, "dur": 0.3579999999997199, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 3099.594, "dur": 85.25500000000011, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3100.37, "dur": 0.8230000000003201, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 3121.959, "dur": 0.4110000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 3143.036, "dur": 19.587999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 3143.895, "dur": 5.501000000000204, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 3145.311, "dur": 2.5029999999997017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3146.282, "dur": 0.9119999999998072, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 3150.171, "dur": 11.635999999999967, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3151.586, "dur": 0.6480000000001382, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 3153.218, "dur": 2.050999999999931, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3154.295, "dur": 0.4940000000001419, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 3156.83, "dur": 2.8890000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3192.383, "dur": 3.5020000000004075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3193.209, "dur": 1.0850000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3195.141, "dur": 0.40599999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 3201.126, "dur": 87.69799999999987, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3201.983, "dur": 0.9489999999996144, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 3210.943, "dur": 3.8399999999996908, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3212.57, "dur": 0.5869999999999891, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 3220.749, "dur": 61.06800000000021, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 3222.358, "dur": 50.98999999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3223.097, "dur": 0.5119999999997162, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 3274.305, "dur": 6.138000000000375, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 3275.34, "dur": 4.614999999999782, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3276.242, "dur": 0.5869999999999891, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 3278.182, "dur": 0.9280000000003383, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3298.445, "dur": 3.418999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3299.324, "dur": 0.9760000000001128, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3301.151, "dur": 0.3320000000003347, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 3306.43, "dur": 89.6890000000003, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3307.178, "dur": 0.7449999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 3328.908, "dur": 0.42200000000002547, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 3349.398, "dur": 23.786999999999807, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 3350.226, "dur": 5.292999999999665, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 3351.573, "dur": 2.6080000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3352.567, "dur": 0.9290000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 3356.31, "dur": 15.927999999999884, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3361.429, "dur": 0.7860000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 3363.255, "dur": 2.013999999999669, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3364.324, "dur": 0.45899999999983265, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 3366.88, "dur": 3.0789999999997235, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3403.946, "dur": 3.731999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3404.827, "dur": 1.2169999999996435, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3406.884, "dur": 0.39600000000018554, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 3412.985, "dur": 36.44399999999996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3413.773, "dur": 0.8350000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 3422.783, "dur": 3.84900000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3424.415, "dur": 0.612999999999829, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 3432.694, "dur": 10.791999999999916, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 3434.326, "dur": 1.5670000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3435.071, "dur": 0.5, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 3436.611, "dur": 5.644999999999982, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 3437.507, "dur": 4.2150000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3438.369, "dur": 0.5270000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 3440.217, "dur": 0.7519999999999527, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3458.453, "dur": 3.2530000000001564, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3459.32, "dur": 0.918999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3461.078, "dur": 0.29899999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 3466.078, "dur": 84.4050000000002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3466.858, "dur": 0.8679999999999382, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 3488.646, "dur": 0.3799999999996544, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 3508.991, "dur": 19.52500000000009, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 3509.858, "dur": 5.291999999999916, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 3511.244, "dur": 2.5039999999999054, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3512.205, "dur": 0.8960000000001855, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 3515.926, "dur": 11.789000000000215, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3517.383, "dur": 0.7390000000000327, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 3519.034, "dur": 2.000999999999749, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3520.074, "dur": 0.4919999999997344, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 3522.625, "dur": 2.951000000000022, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3558.012, "dur": 3.4980000000000473, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3558.915, "dur": 1.1469999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3560.804, "dur": 0.36400000000003274, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 3566.832, "dur": 39.728000000000065, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3567.634, "dur": 0.7640000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 3576.313, "dur": 3.798999999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3577.911, "dur": 0.61200000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 3586.018, "dur": 14.230000000000018, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 3587.626, "dur": 1.606999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3588.358, "dur": 0.4859999999998763, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 3589.945, "dur": 8.972999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 3590.862, "dur": 7.5340000000001055, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3591.753, "dur": 3.494999999999891, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 3596.699, "dur": 0.9149999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3615.715, "dur": 3.212999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3616.626, "dur": 0.9179999999996653, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3618.325, "dur": 0.2980000000002292, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 3623.531, "dur": 83.56500000000005, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3624.344, "dur": 0.7640000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 3645.346, "dur": 0.387000000000171, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 3665.899, "dur": 19.320999999999913, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 3666.746, "dur": 5.230000000000018, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 3668.143, "dur": 2.423999999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3669.06, "dur": 0.88799999999992, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 3672.747, "dur": 11.684999999999945, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3674.194, "dur": 0.6219999999998436, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 3675.837, "dur": 2.0090000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3676.878, "dur": 0.49699999999984357, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 3679.445, "dur": 2.8409999999998945, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3714.597, "dur": 3.586999999999989, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3715.459, "dur": 1.1730000000002292, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3717.468, "dur": 0.3830000000002656, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 3723.576, "dur": 35.80000000000018, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3724.322, "dur": 0.8139999999998508, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 3732.804, "dur": 3.7529999999997017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3734.395, "dur": 0.581000000000131, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 3742.514, "dur": 10.769999999999982, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 3744.115, "dur": 1.6420000000002801, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3744.879, "dur": 0.48500000000012733, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 3746.506, "dur": 5.561000000000149, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 3747.408, "dur": 4.166999999999916, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3748.23, "dur": 0.5830000000000837, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 3750.115, "dur": 0.7130000000001928, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3768.161, "dur": 3.306999999999789, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3769.025, "dur": 1.0, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3770.852, "dur": 0.3160000000002583, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 3776.026, "dur": 81.9670000000001, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3776.775, "dur": 0.7779999999997926, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 3797.548, "dur": 0.3710000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 3817.361, "dur": 18.98199999999997, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 3818.178, "dur": 5.108000000000175, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 3819.489, "dur": 2.4470000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3820.459, "dur": 0.8800000000001091, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 3824.022, "dur": 11.514000000000124, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3825.448, "dur": 0.7029999999999745, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 3827.056, "dur": 1.9229999999997744, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3828.073, "dur": 0.4450000000001637, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 3830.563, "dur": 2.869999999999891, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3865.57, "dur": 3.4769999999998618, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3866.419, "dur": 1.1040000000002692, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3868.261, "dur": 0.4329999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 3874.434, "dur": 38.97199999999975, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3875.245, "dur": 0.7409999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 3883.707, "dur": 3.71100000000024, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3885.229, "dur": 0.5840000000002874, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 3893.21, "dur": 13.746000000000095, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 3894.773, "dur": 1.6159999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3895.581, "dur": 0.5029999999997017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 3897.09, "dur": 8.57400000000007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 3897.965, "dur": 7.148999999999887, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3898.829, "dur": 3.30199999999968, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 3903.562, "dur": 0.7989999999999782, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 3922.471, "dur": 3.2649999999998727, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3923.364, "dur": 0.9470000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 3925.106, "dur": 0.32199999999966167, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 3930.286, "dur": 83.13799999999992, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3931.036, "dur": 0.8609999999998763, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 3952.32, "dur": 0.37199999999984357, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 3972.559, "dur": 19.15199999999959, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 3973.411, "dur": 5.291000000000167, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 3974.794, "dur": 2.492999999999938, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3975.742, "dur": 0.9229999999997744, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 3979.444, "dur": 11.5, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 3980.82, "dur": 0.6209999999996398, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 3982.411, "dur": 1.9329999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 3983.452, "dur": 0.42899999999963256, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 3985.91, "dur": 2.881000000000313, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 4020.872, "dur": 3.5350000000003092, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4021.827, "dur": 1.0669999999995525, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 4023.692, "dur": 0.36799999999993815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 4029.711, "dur": 39.17300000000023, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4030.54, "dur": 0.8420000000000982, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 4038.938, "dur": 3.837999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4040.573, "dur": 0.5779999999999745, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 4048.594, "dur": 10.507000000000062, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 4050.198, "dur": 1.524000000000342, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4050.9, "dur": 0.5180000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 4052.418, "dur": 5.496000000000095, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 4053.266, "dur": 4.135999999999967, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4054.065, "dur": 0.5320000000001528, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 4055.88, "dur": 0.7840000000001055, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 4077.953, "dur": 3.2910000000001673, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4078.851, "dur": 0.9909999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 4080.612, "dur": 0.3220000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 4085.948, "dur": 1372.9770000000003, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4086.67, "dur": 0.9409999999998035, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 4111.091, "dur": 0.40099999999983993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 4131.558, "dur": 32.238000000000284, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 4132.449, "dur": 7.664999999999964, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 4133.778, "dur": 4.597999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4134.725, "dur": 2.92699999999968, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 4141.286, "dur": 11.944999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 4142.659, "dur": 0.7390000000004875, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 4144.325, "dur": 1.936000000000604, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 4145.341, "dur": 0.4739999999992506, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 4147.933, "dur": 3.0590000000001965, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 5474.022, "dur": 8.443000000000211, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5476.344, "dur": 3.44800000000032, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 5481.146, "dur": 0.9499999999998181, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 5491.1, "dur": 60.90299999999934, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5492.18, "dur": 1.0039999999999054, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 5505.682, "dur": 6.256000000000313, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5508.611, "dur": 0.8599999999996726, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 5522.638, "dur": 21.261000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 5529.922, "dur": 2.117000000000189, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5530.944, "dur": 0.6899999999995998, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 5533.031, "dur": 9.42699999999968, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 5534.648, "dur": 7.030999999999949, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5535.983, "dur": 0.7550000000001091, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 5538.601, "dur": 1.9180000000005748, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 5564.599, "dur": 5.498999999999796, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5567.247, "dur": 1.2119999999995343, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 5569.411, "dur": 0.3500000000003638, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 5575.506, "dur": 119.02899999999954, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5576.256, "dur": 1.0619999999998981, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 5608.998, "dur": 0.6690000000007785, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 5637.345, "dur": 30.396999999999935, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 5638.623, "dur": 8.217000000000553, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 5640.46, "dur": 3.095999999999549, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5641.671, "dur": 1.1719999999995707, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 5647.922, "dur": 18.89800000000014, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5649.798, "dur": 0.8240000000005239, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 5651.843, "dur": 2.462999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5653.198, "dur": 0.5619999999998981, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 5656.857, "dur": 5.585000000000036, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 5703.01, "dur": 5.648000000000138, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5705.608, "dur": 1.488999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 5707.994, "dur": 0.3600000000005821, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 5714.733, "dur": 42.51999999999953, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5715.505, "dur": 0.9570000000003347, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 5725.405, "dur": 4.192000000000007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5727.226, "dur": 0.6289999999999054, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 5737.043, "dur": 13.551000000000386, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 5738.758, "dur": 3.462999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5741.256, "dur": 0.61200000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 5742.989, "dur": 6.145000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 5743.852, "dur": 4.748000000000502, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5744.796, "dur": 0.6080000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 5746.859, "dur": 0.8729999999995925, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 5766.83, "dur": 4.842999999999847, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5767.757, "dur": 0.9120000000002619, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 5770.98, "dur": 0.3720000000002983, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 5776.722, "dur": 93.61999999999989, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5777.468, "dur": 0.8450000000002547, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 5801.639, "dur": 0.4290000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 5823.757, "dur": 22.557999999999993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 5824.643, "dur": 5.488999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 5826.057, "dur": 2.7070000000003347, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5827.112, "dur": 1.001999999999498, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 5832.475, "dur": 12.922999999999774, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5834.048, "dur": 0.7800000000006548, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 5835.915, "dur": 2.1019999999998618, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5837.051, "dur": 0.4789999999993597, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 5839.745, "dur": 3.36200000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 5878.097, "dur": 5.543999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5879.013, "dur": 1.2420000000001892, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 5881.117, "dur": 2.1799999999993815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 5889.594, "dur": 40.86499999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5890.415, "dur": 1.0280000000002474, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 5900.047, "dur": 4.1030000000000655, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5901.764, "dur": 0.6199999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 5910.507, "dur": 13.155999999999949, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 5912.14, "dur": 1.701999999999316, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5912.955, "dur": 0.5140000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 5916.276, "dur": 6.132000000000517, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 5917.192, "dur": 4.6899999999996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5918.148, "dur": 0.6369999999997162, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 5920.158, "dur": 0.8889999999992142, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 5939.772, "dur": 3.4200000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5940.672, "dur": 1.0489999999999782, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 5942.557, "dur": 0.3320000000003347, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 5949.379, "dur": 90.90499999999975, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 5950.091, "dur": 0.9219999999995707, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 5972.54, "dur": 0.4080000000003565, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 5994.561, "dur": 22.51000000000022, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 5995.465, "dur": 5.556999999999789, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 5996.922, "dur": 2.611000000000786, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 5997.948, "dur": 0.9809999999997672, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 6001.782, "dur": 14.376000000000204, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6003.195, "dur": 2.52599999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 6006.77, "dur": 2.0979999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6007.856, "dur": 0.45200000000022555, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 6010.613, "dur": 3.1989999999996144, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6048.085, "dur": 3.66399999999976, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6049.008, "dur": 1.1909999999998035, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6051.107, "dur": 0.3350000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 6059.322, "dur": 39.8119999999999, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6060.076, "dur": 0.9499999999998181, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 6069.384, "dur": 3.9769999999998618, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6071.019, "dur": 0.6189999999996871, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 6079.684, "dur": 13.034999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 6081.317, "dur": 1.6260000000002037, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6082.08, "dur": 0.5489999999999782, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 6083.623, "dur": 7.792000000000371, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 6084.506, "dur": 6.393999999999323, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6087.236, "dur": 0.6300000000001091, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 6089.237, "dur": 0.8670000000001892, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6108.351, "dur": 3.3250000000007276, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6109.283, "dur": 0.9499999999998181, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6111.08, "dur": 0.29500000000007276, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 6116.334, "dur": 90.25600000000031, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6117.107, "dur": 2.657000000000153, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 6141.043, "dur": 0.3780000000006112, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 6161.941, "dur": 21.695999999999913, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 6162.834, "dur": 5.253000000000611, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 6164.161, "dur": 2.48700000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6165.125, "dur": 0.9260000000003856, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 6168.858, "dur": 13.936999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6170.247, "dur": 0.7159999999994398, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 6171.989, "dur": 3.7470000000002983, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6174.665, "dur": 0.5270000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 6177.408, "dur": 3.1340000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6214.453, "dur": 3.6679999999996653, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6215.4, "dur": 1.1880000000001019, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6217.424, "dur": 0.3760000000002037, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 6223.729, "dur": 41.33399999999983, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6224.623, "dur": 2.4470000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 6235.509, "dur": 3.9970000000002983, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6237.165, "dur": 0.5960000000004584, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 6245.59, "dur": 13.043999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 6247.351, "dur": 1.581000000000131, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6248.094, "dur": 0.5289999999995416, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 6249.693, "dur": 7.6599999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 6250.595, "dur": 6.210000000000036, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6251.546, "dur": 0.5639999999993961, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 6255.108, "dur": 0.8629999999993743, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6274.263, "dur": 3.3919999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6275.192, "dur": 0.8850000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6277.003, "dur": 0.34900000000016007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 6282.382, "dur": 91.22900000000027, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6283.148, "dur": 0.76299999999992, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 6305.186, "dur": 2.155999999999949, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 6328.256, "dur": 21.904999999999745, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 6329.156, "dur": 5.399999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 6330.596, "dur": 2.4200000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6331.54, "dur": 0.9329999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 6335.323, "dur": 13.951000000000022, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6336.773, "dur": 0.680000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 6338.394, "dur": 3.649999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6339.495, "dur": 0.4359999999996944, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 6343.777, "dur": 3.2460000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6381.448, "dur": 3.5839999999998327, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6382.424, "dur": 1.168999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6384.364, "dur": 0.33800000000064756, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 6390.486, "dur": 40.78300000000036, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6391.293, "dur": 0.9190000000007785, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 6400.294, "dur": 5.833000000000538, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6403.804, "dur": 0.6459999999997308, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 6412.325, "dur": 12.610000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 6414.038, "dur": 1.6300000000001091, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6414.793, "dur": 0.48800000000028376, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 6416.37, "dur": 7.3530000000000655, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 6417.236, "dur": 5.984000000000378, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6418.164, "dur": 0.6210000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 6420.219, "dur": 0.8320000000003347, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6440.58, "dur": 3.318000000000211, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6441.511, "dur": 0.964999999999236, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6443.286, "dur": 0.3010000000003856, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 6448.563, "dur": 88.53600000000006, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6449.328, "dur": 0.8709999999991851, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 6471.264, "dur": 0.3989999999994325, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 6491.894, "dur": 22.61999999999989, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 6494.548, "dur": 5.302999999999884, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 6495.843, "dur": 2.6220000000002983, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6496.827, "dur": 1.0489999999999782, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 6500.608, "dur": 13.095000000000255, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6501.99, "dur": 0.7309999999997672, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 6503.671, "dur": 2.0649999999996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6504.736, "dur": 0.4390000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 6507.319, "dur": 3.0789999999997235, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6544.792, "dur": 3.639999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6545.685, "dur": 1.2529999999997017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6547.745, "dur": 0.3569999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 6553.821, "dur": 40.485999999999876, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6554.523, "dur": 0.9610000000002401, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 6563.655, "dur": 5.6340000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6565.297, "dur": 0.5700000000006185, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 6575.539, "dur": 12.307999999999993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 6577.195, "dur": 1.5410000000001673, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6577.944, "dur": 0.4919999999992797, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 6579.427, "dur": 5.957000000000335, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 6580.331, "dur": 4.545000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6581.244, "dur": 0.5960000000004584, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 6583.273, "dur": 0.818000000000211, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6603.356, "dur": 3.3159999999998035, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6604.247, "dur": 1.0189999999993233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6606.013, "dur": 0.33100000000013097, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 6611.166, "dur": 87.93499999999949, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6611.922, "dur": 0.9280000000007931, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 6633.462, "dur": 0.4169999999994616, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 6654.195, "dur": 22.36200000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 6655.073, "dur": 7.144999999999527, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 6656.456, "dur": 4.27599999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6659.16, "dur": 0.9490000000005239, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 6662.979, "dur": 11.639000000000124, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6664.35, "dur": 0.6679999999996653, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 6665.991, "dur": 2.005000000000109, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6667.01, "dur": 0.47599999999965803, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 6669.592, "dur": 2.92200000000048, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6706.798, "dur": 3.574999999999818, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6707.687, "dur": 1.1739999999999782, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6709.71, "dur": 0.34400000000005093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 6715.784, "dur": 39.05200000000059, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6716.618, "dur": 0.9600000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 6725.519, "dur": 3.8040000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6727.145, "dur": 0.5629999999991924, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 6737.122, "dur": 11.232999999999265, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 6738.739, "dur": 1.6450000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6739.472, "dur": 0.5630000000001019, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 6741.093, "dur": 5.9909999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 6741.961, "dur": 4.601999999999862, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6742.858, "dur": 0.6170000000001892, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 6744.866, "dur": 0.8440000000000509, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6765.491, "dur": 3.3100000000004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6766.351, "dur": 0.9949999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6768.145, "dur": 0.3349999999991269, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 6773.53, "dur": 103.1260000000002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6774.274, "dur": 0.8239999999996144, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 6795.483, "dur": 0.42699999999967986, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 6815.861, "dur": 23.26000000000022, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 6816.8, "dur": 8.65099999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 6818.128, "dur": 4.141000000000531, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6819.141, "dur": 0.8960000000006403, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 6826.31, "dur": 12.03399999999965, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6827.709, "dur": 0.7020000000002256, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 6829.474, "dur": 1.9349999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6830.517, "dur": 0.4279999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 6833.022, "dur": 3.1109999999998763, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6884.22, "dur": 3.020999999999731, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6884.979, "dur": 1.032999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6886.691, "dur": 0.28099999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 6891.817, "dur": 31.136000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6892.468, "dur": 0.63799999999992, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 6899.651, "dur": 3.1220000000002983, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6900.985, "dur": 0.5309999999999491, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 6907.408, "dur": 10.527000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 6910.184, "dur": 1.3009999999994761, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 6910.807, "dur": 0.41200000000026193, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 6912.055, "dur": 4.844000000000051, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 6912.786, "dur": 3.7070000000003347, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6913.538, "dur": 0.4790000000002692, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 6915.117, "dur": 0.6979999999994106, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 6956.837, "dur": 4.862999999999374, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6957.766, "dur": 2.386000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 6961.013, "dur": 0.35900000000037835, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 6966.467, "dur": 86.9360000000006, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 6967.225, "dur": 0.7909999999992579, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 6988.747, "dur": 0.43099999999958527, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 7009.158, "dur": 21.73199999999997, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 7010.068, "dur": 7.092999999999847, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 7011.41, "dur": 2.532000000000153, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7012.428, "dur": 0.9340000000001965, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 7018.006, "dur": 12.091999999999643, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7019.466, "dur": 0.6989999999996144, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 7021.141, "dur": 2.068000000000211, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7022.235, "dur": 0.4710000000004584, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 7024.906, "dur": 3.04700000000048, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 7061.066, "dur": 5.204000000000633, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7061.969, "dur": 2.7479999999995925, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 7065.611, "dur": 0.32999999999992724, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 7071.906, "dur": 38.57800000000043, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7072.711, "dur": 0.8119999999998981, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 7081.532, "dur": 3.88799999999992, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7083.162, "dur": 0.6480000000001382, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 7091.388, "dur": 12.641000000000531, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 7093.043, "dur": 3.066000000000713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7093.798, "dur": 1.9710000000004584, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 7096.879, "dur": 5.850000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 7097.776, "dur": 4.460000000000036, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7098.653, "dur": 0.6300000000001091, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 7100.62, "dur": 0.8150000000005093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 7119.631, "dur": 4.902000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7120.548, "dur": 0.9440000000004147, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 7122.345, "dur": 1.8699999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 7129.356, "dur": 391.2350000000006, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7130.114, "dur": 0.8210000000008222, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 7151.919, "dur": 0.44499999999970896, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 7171.911, "dur": 322.39400000000023, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 7172.786, "dur": 5.41399999999976, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 7174.131, "dur": 2.582999999999629, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7175.107, "dur": 0.9830000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 7179.003, "dur": 314.3070000000007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7480.823, "dur": 1.0599999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 7483.047, "dur": 2.236000000000786, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7484.214, "dur": 0.5600000000004002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 7487.083, "dur": 3.47400000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 7529.109, "dur": 6.539999999999964, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7530.138, "dur": 1.1769999999996799, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 7532.224, "dur": 0.4110000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 7541.83, "dur": 42.439000000000306, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7542.659, "dur": 0.9270000000005894, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 7552.458, "dur": 4.148000000000138, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7554.188, "dur": 0.613999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 7563.248, "dur": 14.502000000000407, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 7564.997, "dur": 1.7150000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7565.811, "dur": 0.5060000000003129, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 7567.486, "dur": 8.969000000000051, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 7570.88, "dur": 5.068000000000211, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7571.823, "dur": 0.6799999999993815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 7573.912, "dur": 0.8469999999997526, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 7594.075, "dur": 3.19800000000032, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7594.955, "dur": 0.8930000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 7596.667, "dur": 0.295999999999367, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 7601.914, "dur": 95.3680000000004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7605.111, "dur": 0.8930000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 7629.615, "dur": 0.4040000000004511, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 7651.455, "dur": 22.658000000000357, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 7652.388, "dur": 5.600000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 7653.869, "dur": 2.691000000000713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7654.911, "dur": 0.9949999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 7658.75, "dur": 14.451000000000022, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7660.202, "dur": 0.7469999999993888, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 7664.078, "dur": 2.1779999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7665.184, "dur": 0.5140000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 7667.908, "dur": 3.0689999999995052, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 7705.06, "dur": 3.7799999999997453, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7705.976, "dur": 1.3370000000004438, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 7708.104, "dur": 0.40899999999965075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 7714.365, "dur": 42.12700000000041, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7717.367, "dur": 0.8329999999996289, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 7726.664, "dur": 3.867000000000189, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7728.249, "dur": 0.6460000000006403, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 7736.586, "dur": 13.470999999999549, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 7738.209, "dur": 1.6829999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7739.025, "dur": 0.4960000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 7740.606, "dur": 8.252000000000407, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 7741.45, "dur": 6.898000000000138, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7742.324, "dur": 2.8140000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 7746.614, "dur": 0.829000000000633, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 7765.991, "dur": 3.243000000000393, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7766.863, "dur": 0.9279999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 7768.587, "dur": 0.3329999999996289, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 7773.843, "dur": 91.15599999999995, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7774.615, "dur": 0.7800000000006548, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 7798.725, "dur": 0.4029999999993379, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 7819.851, "dur": 22.577000000000226, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 7820.742, "dur": 5.335000000000036, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 7822.063, "dur": 2.5979999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7823.067, "dur": 0.9750000000003638, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 7826.843, "dur": 14.739000000000487, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7828.225, "dur": 0.6929999999993015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 7829.838, "dur": 4.637000000000626, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7830.905, "dur": 3.0340000000005602, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 7836.21, "dur": 3.207999999999629, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 7872.738, "dur": 3.5729999999994106, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7873.667, "dur": 1.1569999999992433, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 7875.652, "dur": 0.3720000000002983, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 7881.769, "dur": 42.60199999999986, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7882.553, "dur": 0.8699999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 7894.378, "dur": 4.020000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7896.049, "dur": 0.6559999999999491, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 7904.531, "dur": 13.404000000000451, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 7906.163, "dur": 1.594000000000051, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7906.888, "dur": 0.5540000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 7908.427, "dur": 8.19800000000032, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 7909.278, "dur": 6.8149999999996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7910.215, "dur": 0.5500000000001819, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 7912.138, "dur": 3.0460000000002765, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 7933.449, "dur": 3.2730000000001382, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7934.362, "dur": 1.0109999999995125, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 7936.149, "dur": 0.26599999999962165, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 7941.257, "dur": 90.98500000000058, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7941.965, "dur": 0.8379999999997381, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 7963.477, "dur": 0.4099999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 7987.1, "dur": 22.518999999999323, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 7987.994, "dur": 5.552999999999884, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 7989.483, "dur": 2.6369999999997162, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7990.494, "dur": 0.967000000000553, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 7994.34, "dur": 14.381999999999607, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 7995.787, "dur": 0.6449999999995271, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 7997.378, "dur": 1.9279999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 7998.411, "dur": 0.4639999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 8003.247, "dur": 3.1749999999992724, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8040.198, "dur": 3.7529999999997017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8041.109, "dur": 1.3019999999996799, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8043.242, "dur": 0.38699999999971624, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 8049.522, "dur": 42.05799999999999, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8050.23, "dur": 0.8850000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 8059.073, "dur": 6.639999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8063.329, "dur": 0.691000000000713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 8072.1, "dur": 13.212999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 8073.693, "dur": 1.582999999999629, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8074.448, "dur": 0.5309999999999491, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 8075.979, "dur": 8.143000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 8076.867, "dur": 4.693000000000211, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8077.753, "dur": 0.636000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 8079.759, "dur": 0.886000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8100.793, "dur": 3.2539999999999054, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8101.658, "dur": 0.918999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8103.419, "dur": 0.30900000000019645, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 8108.709, "dur": 89.28999999999996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8109.426, "dur": 0.8159999999998035, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 8130.629, "dur": 0.4099999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 8150.873, "dur": 24.199000000000524, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 8151.772, "dur": 7.958999999999833, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 8155.636, "dur": 2.5549999999993815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8156.587, "dur": 0.9539999999997235, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 8160.511, "dur": 13.65899999999965, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8162.023, "dur": 0.7190000000000509, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 8163.699, "dur": 2.0210000000006403, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8164.745, "dur": 0.467000000000553, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 8167.405, "dur": 3.01299999999992, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8205.825, "dur": 3.4989999999997963, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8206.721, "dur": 1.103000000000975, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8208.628, "dur": 0.3709999999991851, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 8214.873, "dur": 42.43000000000029, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8215.688, "dur": 0.9040000000004511, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 8224.748, "dur": 6.550000000001091, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8226.394, "dur": 0.6900000000005093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 8237.741, "dur": 11.22400000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 8239.361, "dur": 1.6649999999990541, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8240.216, "dur": 0.5129999999990105, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 8241.719, "dur": 6.022000000000844, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 8242.583, "dur": 4.662000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8243.463, "dur": 0.6980000000003201, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 8245.546, "dur": 0.8519999999989523, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8266.773, "dur": 3.2290000000011787, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8267.688, "dur": 0.9140000000006694, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8269.393, "dur": 0.2919999999994616, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 8274.726, "dur": 90.82699999999932, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8275.432, "dur": 0.8269999999993161, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 8297.008, "dur": 0.47999999999956344, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 8317.612, "dur": 22.882000000001426, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 8318.539, "dur": 8.15099999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 8319.955, "dur": 5.201000000000931, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8320.942, "dur": 3.5710000000017317, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 8327.528, "dur": 12.105999999999767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8328.962, "dur": 0.6790000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 8330.658, "dur": 2.0780000000013388, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8331.745, "dur": 0.46899999999914144, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 8334.372, "dur": 3.0529999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8373.56, "dur": 3.548000000000684, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8374.461, "dur": 1.066000000000713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8376.374, "dur": 0.3930000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 8382.721, "dur": 39.926000000001295, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8383.522, "dur": 0.8299999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 8392.438, "dur": 3.9789999999993597, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8394.101, "dur": 0.602999999999156, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 8402.266, "dur": 13.925000000001091, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 8406.627, "dur": 1.657999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8407.389, "dur": 0.5720000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 8409.094, "dur": 5.8700000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 8409.969, "dur": 4.5, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8410.814, "dur": 0.5839999999989232, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 8412.763, "dur": 0.8409999999985303, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8431.958, "dur": 6.07799999999952, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8435.477, "dur": 1.0189999999984138, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8437.398, "dur": 0.35600000000158616, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 8443.073, "dur": 89.35499999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8443.87, "dur": 0.8899999999994179, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 8465.921, "dur": 0.3680000000003929, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 8486.459, "dur": 22.451999999999316, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 8487.321, "dur": 8.037000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 8488.691, "dur": 2.4499999999989086, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8489.634, "dur": 0.9110000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 8496.141, "dur": 11.94000000000051, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8497.59, "dur": 0.6460000000006403, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 8499.22, "dur": 2.0799999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8500.332, "dur": 0.44399999999950523, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 8502.886, "dur": 3.0169999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8540.375, "dur": 6.1340000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8543.678, "dur": 1.2409999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8545.803, "dur": 0.3850000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 8552.132, "dur": 39.722999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8552.973, "dur": 0.897000000000844, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 8562.049, "dur": 3.797999999998865, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8563.661, "dur": 0.5959999999995489, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 8571.793, "dur": 13.52599999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 8573.388, "dur": 4.060999999999694, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8576.503, "dur": 0.5979999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 8578.144, "dur": 5.936999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 8579.043, "dur": 4.556000000000495, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8579.95, "dur": 0.6489999999994325, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 8581.968, "dur": 0.7539999999989959, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8601.333, "dur": 5.614999999999782, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8602.219, "dur": 0.9370000000017171, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8606.332, "dur": 0.30199999999967986, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 8611.945, "dur": 88.83500000000095, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8612.742, "dur": 0.9719999999997526, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 8634.469, "dur": 0.4360000000015134, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 8655.136, "dur": 22.555999999998676, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 8656.036, "dur": 5.570999999999913, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 8657.416, "dur": 2.6300000000010186, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8658.366, "dur": 1.032999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 8664.566, "dur": 12.20299999999952, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8666.05, "dur": 0.761000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 8667.888, "dur": 1.9679999999989377, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8668.969, "dur": 0.4390000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 8671.519, "dur": 3.110000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8708.593, "dur": 6.344999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8709.479, "dur": 1.2840000000014697, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8714.201, "dur": 0.42400000000088767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 8720.584, "dur": 40.134000000000015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8721.366, "dur": 0.852999999999156, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 8730.539, "dur": 3.933999999999287, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8732.15, "dur": 0.6779999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 8740.362, "dur": 13.96600000000035, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 8742.066, "dur": 4.172999999998865, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8742.854, "dur": 0.5150000000012369, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 8746.957, "dur": 6.130999999999403, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 8747.917, "dur": 4.677999999999884, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8748.81, "dur": 0.6710000000002765, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 8750.867, "dur": 0.8140000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8770.117, "dur": 3.173000000000684, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8770.996, "dur": 0.8680000000003929, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8772.661, "dur": 0.30799999999908323, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 8780.317, "dur": 88.07200000000012, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8781.097, "dur": 0.8649999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 8802.364, "dur": 0.3670000000001892, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 8823.169, "dur": 22.65400000000045, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 8824.09, "dur": 5.4760000000005675, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 8825.435, "dur": 2.606999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8826.432, "dur": 1.0239999999994325, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 8830.358, "dur": 14.550999999999476, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8831.83, "dur": 3.037000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 8836.035, "dur": 2.007999999999811, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8837.107, "dur": 0.4830000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 8839.669, "dur": 3.058000000000902, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8876.05, "dur": 3.5100000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8876.992, "dur": 1.0390000000006694, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8878.834, "dur": 0.3709999999991851, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 8887.75, "dur": 39.14400000000023, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8888.53, "dur": 0.8850000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 8897.338, "dur": 3.930000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8898.916, "dur": 0.6640000000006694, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 8907.295, "dur": 13.272999999999229, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 8908.893, "dur": 1.7009999999991123, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8909.638, "dur": 0.5689999999995052, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 8911.29, "dur": 8.070999999999913, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 8912.171, "dur": 6.652000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8915.15, "dur": 0.6419999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 8917.205, "dur": 0.8379999999997381, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 8935.942, "dur": 3.3360000000011496, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8936.851, "dur": 1.0399999999990541, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 8938.65, "dur": 0.30500000000029104, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 8943.818, "dur": 90.125, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8944.55, "dur": 3.1920000000009168, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 8968.516, "dur": 0.37000000000080036, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 8988.851, "dur": 22.402000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 8989.757, "dur": 5.566000000000713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 8991.141, "dur": 2.6120000000009895, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 8992.112, "dur": 1.0020000000004075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 8996.08, "dur": 14.306000000000495, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 8997.458, "dur": 0.6829999999990832, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 8999.082, "dur": 4.423999999999069, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9002.469, "dur": 0.4900000000016007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 9005.144, "dur": 3.030000000000655, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9041.605, "dur": 3.5390000000006694, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9042.445, "dur": 1.2260000000005675, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9044.426, "dur": 0.386000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 9050.586, "dur": 42.52100000000064, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9051.368, "dur": 3.55199999999968, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 9063.334, "dur": 3.859999999998763, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9064.908, "dur": 0.6490000000012515, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 9073.273, "dur": 13.481999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 9074.9, "dur": 1.5500000000010914, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9075.634, "dur": 0.5030000000006112, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 9077.157, "dur": 8.369000000000597, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 9078.034, "dur": 6.9950000000008, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9078.955, "dur": 0.569999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 9083.331, "dur": 0.8269999999993161, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9102.48, "dur": 3.1010000000005675, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9103.304, "dur": 0.8950000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9104.978, "dur": 0.29500000000007276, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 9110.039, "dur": 90.0059999999994, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9110.789, "dur": 0.7799999999988358, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 9131.876, "dur": 2.9459999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 9155.256, "dur": 22.25, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 9156.206, "dur": 5.269000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 9157.594, "dur": 2.459000000000742, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9158.553, "dur": 0.9030000000002474, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 9162.212, "dur": 14.415000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9163.58, "dur": 0.691000000000713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 9165.219, "dur": 4.4540000000015425, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9166.219, "dur": 0.4690000000009604, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 9171.345, "dur": 3.070000000001528, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9207.58, "dur": 3.5120000000006257, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9208.489, "dur": 1.0690000000013242, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9210.381, "dur": 0.35200000000077125, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 9216.484, "dur": 41.495999999999185, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9217.4, "dur": 0.8330000000005384, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 9226.048, "dur": 6.166999999999462, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9229.907, "dur": 0.6400000000012369, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 9238.412, "dur": 13.324999999998909, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 9240.074, "dur": 1.7119999999995343, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9240.871, "dur": 0.5460000000002765, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 9242.478, "dur": 8.056000000000495, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 9243.375, "dur": 6.657999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9244.292, "dur": 0.6530000000002474, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 9246.297, "dur": 0.8680000000003929, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9267.164, "dur": 3.4399999999986903, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9268.035, "dur": 1.0900000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9269.938, "dur": 0.3430000000007567, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 9275.414, "dur": 89.28499999999985, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9276.173, "dur": 0.9369999999998981, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 9297.596, "dur": 0.38100000000122236, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 9318.153, "dur": 24.045000000000073, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 9321.296, "dur": 5.550999999999476, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 9322.725, "dur": 2.6369999999988067, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9323.749, "dur": 0.9940000000005966, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 9327.577, "dur": 13.78400000000147, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9329.008, "dur": 0.6219999999993888, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 9330.557, "dur": 2.07799999999952, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9331.566, "dur": 0.5319999999992433, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 9334.31, "dur": 4.84400000000096, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9372.398, "dur": 3.606000000001586, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9373.336, "dur": 1.0950000000011642, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9375.266, "dur": 0.40500000000065484, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 9381.462, "dur": 41.46600000000035, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9382.24, "dur": 0.9310000000004948, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 9390.905, "dur": 6.516999999999825, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9392.514, "dur": 3.176000000001295, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 9403.566, "dur": 12.897999999999229, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 9405.186, "dur": 1.577000000001135, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9405.956, "dur": 0.488999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 9407.459, "dur": 5.798999999999069, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 9408.327, "dur": 4.436000000001513, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9409.226, "dur": 0.5999999999985448, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 9411.16, "dur": 0.8140000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9432.138, "dur": 3.4089999999996508, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9433.016, "dur": 1.037000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9434.853, "dur": 0.34900000000016007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 9440.186, "dur": 164.42799999999988, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9440.926, "dur": 0.8190000000013242, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 9461.776, "dur": 0.4390000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 9482.11, "dur": 89.07099999999991, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 9483.033, "dur": 8.31500000000051, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 9484.436, "dur": 5.329999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9488.167, "dur": 1.011000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 9548.131, "dur": 18.266999999999825, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9551.138, "dur": 1.3549999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 9554.849, "dur": 2.638999999999214, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9556.107, "dur": 0.8099999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 9559.547, "dur": 3.661000000000058, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9613.465, "dur": 4.066000000000713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9614.545, "dur": 1.2849999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9616.716, "dur": 0.5049999999991996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 9623.234, "dur": 41.10999999999876, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9623.969, "dur": 1.0580000000009022, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 9633.472, "dur": 4.09900000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9635.165, "dur": 0.6099999999987631, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 9647.407, "dur": 11.061999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 9648.936, "dur": 1.8029999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9649.813, "dur": 0.5769999999993161, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 9651.384, "dur": 5.927999999999884, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 9652.224, "dur": 4.5679999999993015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9653.194, "dur": 0.5870000000013533, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 9655.133, "dur": 0.8449999999993452, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9676.283, "dur": 2.875, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9677.009, "dur": 0.9020000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9678.599, "dur": 0.2890000000006694, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 9683.35, "dur": 134.73099999999977, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9683.97, "dur": 0.8100000000013097, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 9711.175, "dur": 0.43699999999989814, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 9732.651, "dur": 51.173000000000684, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 9733.449, "dur": 7.738999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 9734.704, "dur": 5.126000000000204, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9735.603, "dur": 0.9740000000001601, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 9741.866, "dur": 41.024999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9742.991, "dur": 0.691000000000713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 9744.583, "dur": 1.8069999999988795, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9745.584, "dur": 0.3829999999998108, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 9747.922, "dur": 32.465000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9829.426, "dur": 4.306000000000495, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9830.509, "dur": 1.514999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9832.906, "dur": 0.48699999999917054, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 9840.279, "dur": 53.41699999999946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9841.32, "dur": 1.4320000000006985, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 9855.494, "dur": 5.899999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9857.881, "dur": 0.9320000000006985, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 9870.131, "dur": 15.94000000000051, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 9875.151, "dur": 2.1229999999995925, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9876.135, "dur": 0.6659999999992579, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 9878.034, "dur": 6.7590000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 9878.975, "dur": 5.305000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9880.188, "dur": 0.6730000000006839, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 9882.3, "dur": 1.070000000001528, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 9904.012, "dur": 5.662999999998647, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9904.906, "dur": 3.1789999999982683, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 9908.972, "dur": 0.38400000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 9914.797, "dur": 117.25200000000041, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9915.578, "dur": 1.0390000000006694, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 9941.073, "dur": 0.44499999999970896, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 9969.743, "dur": 34.23499999999876, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 9971.076, "dur": 10.852000000000771, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 9972.961, "dur": 3.6930000000011205, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9974.32, "dur": 1.3739999999997963, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 9983.233, "dur": 19.73999999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 9987.62, "dur": 1.256999999999607, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 9990.576, "dur": 2.9470000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 9992.123, "dur": 0.7209999999995489, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 9996.127, "dur": 4.036000000000058, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10040.73, "dur": 6.92200000000048, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10041.778, "dur": 4.208000000000538, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10046.892, "dur": 0.4210000000002765, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 10053.905, "dur": 46.638999999999214, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10054.789, "dur": 0.929999999998472, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 10064.769, "dur": 4.1010000000005675, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10066.402, "dur": 0.6829999999990832, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 10075.742, "dur": 17.844999999999345, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 10077.497, "dur": 4.27599999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10078.448, "dur": 2.95299999999952, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 10082.531, "dur": 9.724999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 10083.45, "dur": 8.200999999999112, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10087.826, "dur": 0.625, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 10089.929, "dur": 0.8269999999993161, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10110.491, "dur": 5.730999999999767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10111.415, "dur": 1.0059999999994034, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10113.203, "dur": 2.6970000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 10121.369, "dur": 94.6260000000002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10122.165, "dur": 0.940999999998894, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 10145.93, "dur": 0.44099999999889405, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 10168.523, "dur": 22.88300000000163, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 10169.441, "dur": 5.492999999998574, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 10170.813, "dur": 2.657999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10171.783, "dur": 1.029000000000451, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 10175.783, "dur": 14.753000000000611, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10179.8, "dur": 0.7460000000010041, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 10181.532, "dur": 1.9970000000012078, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10182.578, "dur": 0.488999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 10185.128, "dur": 3.2039999999997235, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10223.939, "dur": 6.2039999999997235, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10224.871, "dur": 1.09900000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10226.867, "dur": 2.9459999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 10236.033, "dur": 40.82099999999991, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10236.808, "dur": 0.9049999999988358, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 10246.01, "dur": 3.878000000000611, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10247.583, "dur": 0.6409999999996217, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 10256.225, "dur": 14.100000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 10257.903, "dur": 1.7379999999993743, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10258.732, "dur": 0.49400000000059663, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 10260.406, "dur": 8.71599999999853, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 10263.928, "dur": 4.699000000000524, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10264.876, "dur": 0.5830000000005384, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 10266.871, "dur": 0.8110000000015134, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10286.561, "dur": 3.3960000000006403, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10287.462, "dur": 1.0889999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10289.358, "dur": 0.3040000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 10294.603, "dur": 94.75700000000143, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10297.622, "dur": 0.8590000000003783, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 10320.368, "dur": 0.4210000000002765, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 10342.183, "dur": 22.521999999999025, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 10343.084, "dur": 5.441999999999098, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 10344.432, "dur": 2.6229999999995925, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10345.393, "dur": 0.9429999999993015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 10349.31, "dur": 14.54200000000128, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10350.839, "dur": 0.683999999999287, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 10354.911, "dur": 2.0319999999992433, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10355.989, "dur": 0.5, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 10358.575, "dur": 3.0209999999988213, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10397.387, "dur": 3.561999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10398.314, "dur": 1.1049999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10400.242, "dur": 0.3989999999994325, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 10406.411, "dur": 45.858000000000175, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10409.957, "dur": 0.9269999999996799, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 10419.367, "dur": 3.8079999999990832, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10420.938, "dur": 0.5969999999997526, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 10429.444, "dur": 16.274999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 10431.065, "dur": 1.6890000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10431.851, "dur": 0.5159999999996217, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 10433.459, "dur": 10.95799999999872, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 10434.341, "dur": 9.549999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10438.728, "dur": 1.9600000000009459, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 10442.228, "dur": 0.8190000000013242, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10461.856, "dur": 3.2479999999995925, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10462.675, "dur": 0.9729999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10464.52, "dur": 0.2809999999990396, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 10469.819, "dur": 92.10699999999997, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10470.563, "dur": 0.8150000000005093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 10495.497, "dur": 0.4320000000006985, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 10516.698, "dur": 22.29700000000048, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 10517.617, "dur": 5.329999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 10518.995, "dur": 2.4909999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10519.964, "dur": 0.8870000000006257, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 10523.682, "dur": 14.394999999998618, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10525.113, "dur": 0.680000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 10526.704, "dur": 4.435999999999694, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10527.756, "dur": 2.8950000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 10532.855, "dur": 3.0120000000006257, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10569.688, "dur": 3.668999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10570.593, "dur": 1.1700000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10572.648, "dur": 0.386000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 10578.56, "dur": 42.222999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10579.338, "dur": 0.7910000000010768, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 10591.046, "dur": 3.8809999999994034, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10592.616, "dur": 0.6329999999998108, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 10601.208, "dur": 13.305000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 10602.8, "dur": 1.6230000000014115, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10603.604, "dur": 0.49800000000141154, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 10605.129, "dur": 8.20799999999872, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 10606.043, "dur": 6.787000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10606.929, "dur": 0.5599999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 10608.884, "dur": 3.1080000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10630.42, "dur": 3.378000000000611, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10631.356, "dur": 0.9899999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10633.146, "dur": 0.32699999999931606, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 10638.54, "dur": 115.82499999999891, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10639.303, "dur": 0.9310000000004948, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 10661.519, "dur": 0.4319999999988795, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 10685.342, "dur": 43.274999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 10686.161, "dur": 12.993000000000393, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 10694.808, "dur": 2.877999999998792, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10695.93, "dur": 1.0679999999993015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 10699.899, "dur": 27.703999999999724, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10701.361, "dur": 0.635999999998603, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 10703.011, "dur": 1.9830000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10704.094, "dur": 0.44800000000032014, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 10708.891, "dur": 16.173000000000684, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10762.712, "dur": 4.058000000000902, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10763.766, "dur": 1.2970000000004802, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10766.053, "dur": 0.3889999999992142, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 10772.617, "dur": 53.21700000000055, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10773.411, "dur": 0.8700000000008004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 10788.605, "dur": 6.8840000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10792.997, "dur": 0.7100000000009459, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 10802.071, "dur": 16.951999999999316, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 10803.843, "dur": 1.606999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10804.603, "dur": 0.5500000000010914, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 10806.157, "dur": 11.581000000000131, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 10807.033, "dur": 8.139000000001033, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10811.361, "dur": 0.6479999999992287, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 10813.461, "dur": 0.8559999999997672, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10835.625, "dur": 3.399999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10836.619, "dur": 0.9629999999997381, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10838.408, "dur": 0.31600000000071304, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 10843.736, "dur": 93.04199999999946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10844.485, "dur": 0.8059999999986758, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 10867.105, "dur": 0.40200000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 10888.677, "dur": 24.32600000000093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 10889.56, "dur": 7.681000000000495, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 10893.272, "dur": 2.6049999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10894.174, "dur": 1.0349999999998545, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 10897.991, "dur": 14.155000000000655, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10899.383, "dur": 0.636000000000422, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 10901.045, "dur": 1.896999999999025, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10902.045, "dur": 0.4390000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 10904.607, "dur": 3.1460000000006403, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 10944.384, "dur": 3.7739999999994325, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10945.305, "dur": 1.27599999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 10947.452, "dur": 0.3919999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 10953.495, "dur": 48.987999999999374, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10954.319, "dur": 0.8829999999998108, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 10963.266, "dur": 6.135000000000218, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10964.867, "dur": 0.5879999999997381, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 10975.692, "dur": 11.160000000001673, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 10977.378, "dur": 1.6109999999989668, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 10978.148, "dur": 0.5510000000012951, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 10979.677, "dur": 5.963999999999942, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 10980.592, "dur": 4.516999999999825, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 10981.514, "dur": 0.603000000000975, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 10983.442, "dur": 0.8540000000011787, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11012.171, "dur": 3.5529999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11013.172, "dur": 1.0429999999996653, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11015.108, "dur": 0.3099999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 11020.536, "dur": 92.4940000000006, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11021.254, "dur": 0.9009999999998399, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 11044.099, "dur": 0.4500000000007276, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 11065.381, "dur": 22.595000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 11066.251, "dur": 7.8770000000004075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 11067.722, "dur": 5.020000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11068.678, "dur": 3.407999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 11074.906, "dur": 12.193999999999505, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11076.428, "dur": 0.7229999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 11078.098, "dur": 2.0159999999996217, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11079.209, "dur": 0.4349999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 11081.729, "dur": 3.1050000000013824, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11120.917, "dur": 3.699000000000524, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11121.844, "dur": 1.2550000000010186, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11123.928, "dur": 0.3790000000008149, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 11130.057, "dur": 41.54699999999866, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11130.861, "dur": 0.8099999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 11139.364, "dur": 3.860000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11140.943, "dur": 0.6150000000016007, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 11149.197, "dur": 15.782999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 11153.158, "dur": 1.6080000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11153.95, "dur": 0.5139999999992142, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 11155.462, "dur": 8.282000000001062, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 11156.339, "dur": 6.906999999999243, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11159.553, "dur": 0.543999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 11161.547, "dur": 0.8909999999996217, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11180.807, "dur": 5.445999999999913, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11183.786, "dur": 1.043999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11185.63, "dur": 0.32300000000032014, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 11191.144, "dur": 88.51800000000003, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11191.908, "dur": 0.7950000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 11213.765, "dur": 0.41300000000046566, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 11235.034, "dur": 21.863999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 11235.911, "dur": 7.310999999999694, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 11237.289, "dur": 2.4029999999984284, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11238.211, "dur": 0.8950000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 11244.144, "dur": 11.972999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11245.601, "dur": 0.6759999999994761, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 11247.251, "dur": 2.0489999999990687, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11248.408, "dur": 0.4470000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 11250.846, "dur": 3.0230000000010477, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11287.406, "dur": 5.855999999999767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11290.546, "dur": 1.168999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11292.557, "dur": 0.3789999999989959, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 11298.737, "dur": 39.72200000000157, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11299.593, "dur": 0.8220000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 11308.562, "dur": 3.8549999999995634, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11310.182, "dur": 0.6279999999987922, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 11318.47, "dur": 13.46900000000096, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 11320.113, "dur": 3.9279999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11323.148, "dur": 0.5610000000015134, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 11324.756, "dur": 5.9650000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 11325.675, "dur": 4.558000000000902, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11326.531, "dur": 0.5559999999986758, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 11328.465, "dur": 0.8729999999995925, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11347.863, "dur": 5.611000000000786, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11348.824, "dur": 0.9729999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11352.781, "dur": 0.36299999999937427, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 11358.516, "dur": 87.74099999999999, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11359.333, "dur": 0.9020000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 11381.162, "dur": 0.4179999999996653, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 11402.141, "dur": 21.655000000000655, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 11403.005, "dur": 5.145000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 11404.364, "dur": 2.4350000000013097, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11405.253, "dur": 0.9389999999984866, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 11411.07, "dur": 11.860000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11412.509, "dur": 0.7270000000007713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 11414.152, "dur": 1.9529999999995198, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11415.203, "dur": 0.4320000000006985, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 11417.751, "dur": 3.037000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11453.993, "dur": 5.868999999998778, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11454.864, "dur": 1.1820000000006985, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11459.155, "dur": 0.3819999999996071, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 11465.523, "dur": 41.38500000000022, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11466.299, "dur": 0.8949999999986176, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 11475.151, "dur": 3.7270000000007713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11476.703, "dur": 0.613999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 11484.84, "dur": 15.496999999999389, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 11486.473, "dur": 4.068999999999505, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11487.233, "dur": 0.5120000000006257, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 11491.273, "dur": 7.84900000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 11492.159, "dur": 6.458000000000538, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11495.028, "dur": 0.5689999999995052, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 11497.011, "dur": 0.7799999999988358, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11516.342, "dur": 5.565999999998894, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11517.281, "dur": 0.9579999999987194, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11519.072, "dur": 0.30099999999947613, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 11526.711, "dur": 87.4930000000004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11527.486, "dur": 0.8879999999990105, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 11549.128, "dur": 0.4110000000000582, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 11569.915, "dur": 21.701999999999316, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 11570.776, "dur": 5.139000000001033, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 11572.121, "dur": 2.412000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11573.053, "dur": 0.9519999999993161, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 11576.73, "dur": 14.051000000001295, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11580.258, "dur": 0.6869999999998981, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 11581.888, "dur": 2.036999999998443, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11582.992, "dur": 0.4750000000003638, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 11585.53, "dur": 3.0529999999998836, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11621.73, "dur": 3.621000000001004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11622.657, "dur": 1.1890000000003056, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11624.667, "dur": 0.3569999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 11633.29, "dur": 38.90799999999945, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11634.087, "dur": 0.8739999999997963, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 11642.841, "dur": 3.7520000000004075, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11644.38, "dur": 0.6060000000015862, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 11652.648, "dur": 13.189000000000306, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 11654.25, "dur": 1.6389999999992142, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11654.965, "dur": 0.5509999999994761, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 11656.559, "dur": 8.092000000000553, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 11657.447, "dur": 6.677999999999884, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11660.491, "dur": 0.5450000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 11662.478, "dur": 0.8580000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11681.465, "dur": 3.293999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11682.388, "dur": 0.9479999999985012, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11684.136, "dur": 0.31199999999989814, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 11689.283, "dur": 90.5590000000011, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11690.011, "dur": 3.1489999999994325, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 11714.269, "dur": 0.42699999999967986, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 11735.217, "dur": 22.3179999999993, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 11736.209, "dur": 5.218999999999141, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 11737.517, "dur": 2.4870000000009895, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11738.465, "dur": 0.9509999999991123, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 11742.211, "dur": 14.450000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11743.682, "dur": 0.7529999999987922, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 11745.389, "dur": 4.468000000000757, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11748.942, "dur": 0.4570000000003347, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 11751.538, "dur": 2.970999999999549, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11787.516, "dur": 3.5599999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11788.44, "dur": 1.128999999998996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11790.386, "dur": 0.3789999999989959, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 11796.546, "dur": 43.38199999999961, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11797.289, "dur": 3.2549999999991996, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 11808.55, "dur": 3.835000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11810.143, "dur": 0.5990000000001601, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 11818.291, "dur": 15.222999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 11819.928, "dur": 4.039000000000669, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11823.078, "dur": 0.5429999999996653, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 11824.688, "dur": 7.519000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 11825.647, "dur": 6.036999999998443, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11826.511, "dur": 0.5519999999996799, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 11829.967, "dur": 0.8940000000002328, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11849.296, "dur": 3.227999999999156, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11850.154, "dur": 0.9579999999987194, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11851.913, "dur": 0.31599999999889405, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 11857.198, "dur": 94.86299999999937, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11857.945, "dur": 0.793999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 11883.061, "dur": 2.8170000000009168, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 11907.033, "dur": 21.799000000000888, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 11907.856, "dur": 5.353000000000975, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 11909.212, "dur": 2.5169999999998254, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11910.165, "dur": 0.9829999999983556, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 11913.965, "dur": 14.043999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11915.375, "dur": 0.7700000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 11917.006, "dur": 4.081000000000131, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11917.986, "dur": 0.40499999999883585, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 11922.825, "dur": 2.988999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 11959.775, "dur": 3.559000000001106, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11960.67, "dur": 1.1790000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 11962.642, "dur": 0.37700000000040745, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 11968.886, "dur": 41.95999999999913, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11969.687, "dur": 0.8870000000006257, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 11978.358, "dur": 6.461999999999534, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11982.545, "dur": 0.6110000000007858, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 11990.986, "dur": 13.330999999998312, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 11992.577, "dur": 1.5940000000009604, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 11993.304, "dur": 0.4930000000003929, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 11994.847, "dur": 8.273999999999432, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 11995.732, "dur": 6.858000000000175, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 11996.674, "dur": 0.5519999999996799, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 11998.587, "dur": 0.8209999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12020.374, "dur": 3.3539999999993597, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12021.242, "dur": 1.076999999999316, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12023.089, "dur": 0.3289999999997235, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 12028.285, "dur": 89.5010000000002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12028.989, "dur": 0.8360000000011496, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 12050.33, "dur": 0.41599999999925785, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 12071.002, "dur": 23.618000000000393, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 12074.226, "dur": 5.1819999999988795, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 12075.57, "dur": 2.449000000000524, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12076.516, "dur": 0.8980000000010477, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 12080.146, "dur": 13.618999999998778, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12081.539, "dur": 0.6529999999984284, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 12083.123, "dur": 2.037000000000262, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12084.218, "dur": 0.4470000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 12086.784, "dur": 4.579999999999927, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12125.563, "dur": 3.7229999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12126.49, "dur": 1.2659999999996217, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12128.567, "dur": 0.40500000000065484, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 12137.446, "dur": 68.76599999999962, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12138.264, "dur": 0.8760000000002037, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 12147.462, "dur": 8.405000000000655, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12149.048, "dur": 2.992000000000189, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 12162.366, "dur": 16.004000000000815, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 12164.087, "dur": 4.167000000001281, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12167.261, "dur": 0.613999999999578, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 12168.979, "dur": 6.2409999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 12169.863, "dur": 4.831000000000131, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12170.745, "dur": 0.6279999999987922, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 12172.887, "dur": 0.9020000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12236.131, "dur": 2.8150000000005093, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12236.881, "dur": 0.8840000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12238.428, "dur": 0.2739999999994325, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 12242.866, "dur": 144.8119999999999, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12243.491, "dur": 0.680000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 12278.083, "dur": 0.33799999999973807, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 12323.553, "dur": 41.13199999999961, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 12324.3, "dur": 25.247000000001208, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 12345.525, "dur": 2.5460000000002765, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12346.509, "dur": 0.9159999999992579, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 12350.296, "dur": 11.981999999999971, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12351.761, "dur": 0.7029999999995198, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 12353.403, "dur": 1.9750000000003638, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12354.45, "dur": 0.4709999999995489, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 12356.92, "dur": 3.0709999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12395.533, "dur": 3.6920000000009168, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12396.449, "dur": 1.2600000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12398.503, "dur": 0.396999999999025, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 12404.524, "dur": 39.91200000000026, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12405.31, "dur": 0.8389999999999418, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 12414.016, "dur": 3.949000000000524, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12415.648, "dur": 0.647000000000844, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 12426.878, "dur": 11.157999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 12428.536, "dur": 1.6380000000008295, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12429.271, "dur": 0.5849999999991269, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 12430.886, "dur": 5.924999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 12431.778, "dur": 4.528000000000247, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12432.645, "dur": 0.5569999999988795, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 12434.581, "dur": 0.8659999999999854, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12456.12, "dur": 3.2950000000000728, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12456.995, "dur": 1.0139999999992142, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12458.811, "dur": 0.3220000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 12464.006, "dur": 93.32400000000052, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12464.725, "dur": 0.8519999999989523, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 12489.456, "dur": 0.42599999999947613, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 12510.202, "dur": 23.809000000001106, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 12511.106, "dur": 7.478000000000975, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 12512.385, "dur": 4.77599999999984, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12513.351, "dur": 1.010999999998603, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 12519.32, "dur": 13.854999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12520.78, "dur": 0.6089999999985594, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 12522.32, "dur": 2.0540000000000873, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12523.47, "dur": 0.4680000000007567, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 12525.991, "dur": 4.902000000000044, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12567.519, "dur": 3.8479999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12568.476, "dur": 1.2749999999996362, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12570.634, "dur": 0.40200000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 12576.894, "dur": 39.21299999999974, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12577.705, "dur": 0.805000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 12586.495, "dur": 3.855999999999767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12588.061, "dur": 0.625, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 12596.258, "dur": 13.476000000000568, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 12600.164, "dur": 1.5579999999990832, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12600.861, "dur": 0.5209999999988213, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 12602.448, "dur": 5.994999999998981, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 12603.307, "dur": 4.570999999999913, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12604.173, "dur": 0.5829999999987194, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 12606.14, "dur": 0.8180000000011205, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12625.525, "dur": 5.460000000000946, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12626.435, "dur": 3.0979999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12630.38, "dur": 0.3100000000013097, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 12635.758, "dur": 88.52200000000084, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12636.56, "dur": 0.8680000000003929, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 12658.525, "dur": 0.44800000000032014, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 12679.224, "dur": 22.186999999999898, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 12680.02, "dur": 8.057999999999083, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 12681.358, "dur": 2.5210000000006403, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12682.286, "dur": 1.0, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 12688.851, "dur": 11.691999999999098, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12690.245, "dur": 0.6809999999986758, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 12691.833, "dur": 1.9349999999994907, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12692.865, "dur": 0.4709999999995489, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 12695.445, "dur": 3.0310000000008586, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12732.024, "dur": 6.097999999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12732.954, "dur": 3.5490000000008877, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12737.418, "dur": 0.3989999999994325, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 12743.84, "dur": 39.35499999999956, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12744.689, "dur": 0.7759999999998399, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 12753.639, "dur": 3.9240000000008877, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12755.255, "dur": 0.5910000000003492, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 12763.469, "dur": 13.444000000001324, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 12765.112, "dur": 3.7220000000015716, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12765.862, "dur": 2.617000000000189, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 12769.655, "dur": 6.0129999999990105, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 12770.614, "dur": 4.5240000000012515, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12771.445, "dur": 0.5760000000009313, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 12773.408, "dur": 0.8880000000008295, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12792.406, "dur": 5.511999999998807, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12793.328, "dur": 0.875, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12794.999, "dur": 2.587999999999738, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 12802.584, "dur": 90.54799999999886, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12803.354, "dur": 0.9130000000004657, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 12825.614, "dur": 0.4250000000010914, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 12846.364, "dur": 24.137000000000626, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 12847.304, "dur": 5.167999999999665, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 12848.595, "dur": 2.519000000000233, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12849.533, "dur": 0.956000000000131, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 12853.256, "dur": 16.33100000000013, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12857.108, "dur": 2.855999999999767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 12860.885, "dur": 1.951999999999316, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12861.899, "dur": 0.4819999999999709, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 12864.436, "dur": 3.0090000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12900.911, "dur": 6.020000000000437, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12901.771, "dur": 1.1199999999989814, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12903.715, "dur": 2.8690000000005966, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 12912.403, "dur": 38.89300000000003, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12913.277, "dur": 0.956000000000131, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 12922.239, "dur": 3.757999999999811, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12923.748, "dur": 0.6020000000007713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 12931.921, "dur": 13.05699999999888, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 12933.561, "dur": 1.5709999999999127, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 12934.29, "dur": 0.5309999999990396, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 12937.833, "dur": 5.947000000000116, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 12938.738, "dur": 4.505000000001019, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12939.574, "dur": 0.5979999999999563, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 12941.567, "dur": 0.8000000000010914, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 12960.526, "dur": 3.264000000001033, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12961.445, "dur": 0.8450000000011642, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 12963.131, "dur": 0.3580000000001746, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 12970.648, "dur": 640.8760000000002, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 12971.442, "dur": 0.875, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 12993.194, "dur": 0.43699999999989814, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 13013.671, "dur": 568.098, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 13014.584, "dur": 5.342999999998938, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 13015.967, "dur": 2.5090000000000146, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13016.911, "dur": 0.9549999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 13020.728, "dur": 559.7790000000005, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13022.136, "dur": 0.657999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 13569.571, "dur": 2.5419999999994616, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13570.921, "dur": 0.6440000000002328, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 13574.051, "dur": 3.4800000000013824, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 13620.213, "dur": 4.345000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13621.283, "dur": 1.4950000000008004, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 13623.781, "dur": 0.4379999999982829, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 13630.574, "dur": 48.39499999999862, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13634.072, "dur": 0.907999999999447, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 13644.527, "dur": 4.183999999999287, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13646.218, "dur": 0.6439999999984138, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 13655.739, "dur": 16.61499999999978, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 13657.516, "dur": 1.668999999999869, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13658.306, "dur": 0.5299999999988358, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 13659.935, "dur": 11.09900000000016, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 13661.084, "dur": 9.350999999998749, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13662.038, "dur": 4.897999999999229, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 13668.442, "dur": 0.9010000000016589, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 13688.96, "dur": 3.4250000000010914, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13689.955, "dur": 0.9750000000003638, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 13691.781, "dur": 0.3129999999982829, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 13697.228, "dur": 97.23300000000017, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13698.04, "dur": 0.8289999999997235, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 13724.748, "dur": 0.41700000000128057, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 13747.986, "dur": 22.938999999998487, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 13749.011, "dur": 5.6819999999988795, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 13750.511, "dur": 2.57799999999952, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13751.453, "dur": 1.077000000001135, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 13755.465, "dur": 14.566000000000713, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13756.972, "dur": 0.6450000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 13758.652, "dur": 4.225000000000364, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13759.717, "dur": 2.6970000000001164, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 13764.638, "dur": 3.0829999999987194, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 13802.476, "dur": 3.9659999999985303, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13803.474, "dur": 1.396999999999025, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 13805.746, "dur": 0.3890000000010332, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 13811.809, "dur": 55.63000000000102, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13812.683, "dur": 1.0569999999988795, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::select", "ph": "X", "ts": 13824.932, "dur": 4.0569999999988795, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13826.625, "dur": 0.6880000000001019, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::stack", "ph": "X", "ts": 13835.056, "dur": 25.26800000000003, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::unsqueeze", "ph": "X", "ts": 13836.824, "dur": 1.5679999999993015, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13837.571, "dur": 0.5149999999994179, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::cat", "ph": "X", "ts": 13839.12, "dur": 19.922999999998865, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::_cat", "ph": "X", "ts": 13840.036, "dur": 18.432999999999083, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13852.355, "dur": 0.6430000000000291, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::resize_", "ph": "X", "ts": 13854.522, "dur": 2.9839999999985594, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 13877.081, "dur": 3.3510000000005675, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13878.004, "dur": 0.9899999999997817, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 13879.823, "dur": 0.2999999999992724, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "predict", "ph": "X", "ts": 13885.23, "dur": 93.53900000000067, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13885.989, "dur": 0.8950000000004366, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::to", "ph": "X", "ts": 13908.665, "dur": 0.4289999999982683, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::linear", "ph": "X", "ts": 13933.401, "dur": 22.036000000000058, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::t", "ph": "X", "ts": 13934.361, "dur": 5.274999999999636, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::transpose", "ph": "X", "ts": 13935.675, "dur": 2.5310000000008586, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13936.598, "dur": 1.0229999999992287, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::addmm", "ph": "X", "ts": 13940.381, "dur": 14.26300000000083, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13941.784, "dur": 0.7049999999999272, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::expand", "ph": "X", "ts": 13943.373, "dur": 2.015000000001237, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::as_strided", "ph": "X", "ts": 13944.484, "dur": 0.4709999999995489, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::copy_", "ph": "X", "ts": 13949.232, "dur": 3.105999999999767, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zeros", "ph": "X", "ts": 13986.665, "dur": 3.580999999998312, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13987.536, "dur": 1.1559999999990396, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::zero_", "ph": "X", "ts": 13989.544, "dur": 0.3850000000002183, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "enumerate(DataLoader)#_SingleProcessDataLoaderIter.__next__", "ph": "X", "ts": 13995.88, "dur": 10.150000000001455, "tid": 1, "pid": "CPU functions", "args": {}}, {"name": "aten::empty", "ph": "X", "ts": 13996.686, "dur": 0.9040000000004511, "tid": 1, "pid": "CPU functions", "args": {}}] From 59c941b7a15db0afdc0fa35b104b908a088772ef Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Mon, 22 Mar 2021 14:32:02 +0100 Subject: [PATCH 49/87] Undo code that should be in 3/4 --- pytorch_lightning/profiler/pytorch.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index db89e34bac913..bb961ca452697 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -155,7 +155,6 @@ def __init__( self.context_names = {} self.running_stack = [] self.profiler = None - self._parent_profiler = None super().__init__(dirpath=dirpath, filename=filename, output_filename=output_filename) @@ -263,11 +262,3 @@ def summary(self) -> str: return self._stats_to_str(recorded_stats) - def teardown(self) -> None: - if self.profiler is not None: - self.profiler.__exit__(None, None, None) - - if self._parent_profiler is not None: - self._parent_profiler.__exit__(None, None, None) - - return super().teardown() From da0f310684f8987cf09a1b85100a08cde90e14bd Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Mon, 22 Mar 2021 19:13:33 +0100 Subject: [PATCH 50/87] Multi-stage multi-rank --- CHANGELOG.md | 3 + pytorch_lightning/profiler/profilers.py | 92 ++++++++++++++++--------- pytorch_lightning/profiler/pytorch.py | 16 +++-- pytorch_lightning/trainer/trainer.py | 4 +- tests/deprecated_api/test_remove_1-5.py | 2 +- tests/test_profiler.py | 22 +++--- 6 files changed, 85 insertions(+), 54 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c5f2896004a10..fe656ed46153d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -71,6 +71,9 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - Changed `setup()` and `teardown()` stage argument to take any of `{fit,validate,test,predict}` ([#6386](https://github.com/PyTorchLightning/pytorch-lightning/pull/6386)) +- Changed profilers to save separate report files per state and rank ([#6621](https://github.com/PyTorchLightning/pytorch-lightning/pull/6621)) + + ### Deprecated - `period` has been deprecated in favor of `every_n_val_epochs` in the `ModelCheckpoint` callback ([#6146](https://github.com/PyTorchLightning/pytorch-lightning/pull/6146)) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index 334f121c9c084..bd889c24c2bf4 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -22,7 +22,7 @@ from collections import defaultdict from contextlib import contextmanager from pathlib import Path -from typing import Dict, Optional, Tuple, Union +from typing import Dict, Optional, Tuple, Union, TextIO, Callable import numpy as np @@ -77,12 +77,13 @@ def __init__( ) filepath = Path(output_filename) self.dirpath = filepath.parent - self.filename = filepath.name - self.output_file = None - self.local_rank = None - self.log_dir = None - self.write_streams = [] - self._file_prepared = False + self.filename = filepath.stem + + self._output_file: Optional[TextIO] = None + self._write_stream: Optional[Callable] = None + self._local_rank: Optional[int] = None + self._log_dir: Optional[str] = None + self._stage: Optional[str] = None @contextmanager def profile(self, action_name: str) -> None: @@ -116,51 +117,72 @@ def profile_iterable(self, iterable, action_name: str) -> None: break def _rank_zero_info(self, *args, **kwargs) -> None: - if self.local_rank in (None, 0): + if self._local_rank in (None, 0): log.info(*args, **kwargs) - def _prepare_file(self) -> None: - if not self._file_prepared: - if self.filename and self.output_file is None: - dirpath = self.dirpath or self.log_dir - filepath = os.path.join(dirpath, self.filename) - fs = get_filesystem(filepath) - self.output_file = fs.open(filepath, "a") - self.write_streams = [self.output_file.write] if self.output_file else [self._rank_zero_info] - self._file_prepared = True + def _prepare_filename(self) -> str: + filename = "" + if self._stage is not None: + filename += f"{self._stage}-" + filename += self.filename + if self._local_rank is not None: + filename += f"-{self._local_rank}" + filename += ".txt" + return filename + + def _prepare_streams(self) -> None: + if self._write_stream is not None: + return + if self.filename: + dirpath = self.dirpath or self._log_dir + filepath = os.path.join(dirpath, self._prepare_filename()) + fs = get_filesystem(filepath) + file = fs.open(filepath, "a") + self._output_file = file + self._write_stream = file.write + else: + self._write_stream = self._rank_zero_info def describe(self) -> None: """Logs a profile report after the conclusion of run.""" - self._prepare_file() - for write in self.write_streams: - write(self.summary()) - if self.output_file: - self.output_file.flush() - self.teardown() + # there are pickling issues with open file handles in Python 3.6 + # so to avoid them, we open and close the files within this function + # by calling `_prepare_streams` and `teardown` + self._prepare_streams() + self._write_stream(self.summary()) + if self._output_file is not None: + self._output_file.flush() + self.teardown(stage=self._stage) def _stats_to_str(self, stats: Dict[str, str]) -> str: output = ["Profiler Report"] for action, value in stats.items(): header = f"Profile stats for: {action}" - if getattr(self, "local_rank", None) is not None: - header += f" rank: {self.local_rank}" + if self._local_rank is not None: + header += f" rank: {self._local_rank}" output.append(header) output.append(value) return os.linesep.join(output) - def setup(self, local_rank: Optional[int] = None, log_dir: Optional[str] = None) -> None: + def setup( + self, + stage: Optional[str] = None, + local_rank: Optional[int] = None, + log_dir: Optional[str] = None, + ) -> None: """ This function is used by the Trainer to inject the local_rank on distributed and `TensorBoardLogger.log_dir`. """ - self.local_rank = local_rank - self.log_dir = log_dir + self._stage = stage + self._local_rank = local_rank + self._log_dir = log_dir - def teardown(self) -> None: - """Close profiler's stream.""" - if self.output_file: - self.output_file.close() - self.write_streams = [] - self._file_prepared = False + def teardown(self, stage: Optional[str] = None) -> None: + """Close a stage's file and streams.""" + assert stage == self._stage + self._write_stream = None + if self._output_file is not None: + self._output_file.close() def __del__(self) -> None: self.teardown() @@ -211,6 +233,7 @@ def __init__( will be used. filename: If present, filename where the profiler results will be saved instead of printing to stdout. + The ``.txt`` extension will be used automatically. Raises: ValueError: @@ -305,6 +328,7 @@ def __init__( will be used. filename: If present, filename where the profiler results will be saved instead of printing to stdout. + The ``.txt`` extension will be used automatically. line_count_restriction: this can be used to limit the number of functions reported for each action. either an integer (to select a count of lines), diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index bb961ca452697..85b3ec7d8d2ed 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -73,6 +73,7 @@ def __init__( will be used. filename: If present, filename where the profiler results will be saved instead of printing to stdout. + The ``.txt`` extension will be used automatically. enabled: Setting this to False makes this context manager a no-op. @@ -118,8 +119,7 @@ def __init__( Raises: MisconfigurationException: - If arg ``sort_by_key`` is not present in ``AVAILABLE_SORT_KEYS``, or - if log file is not a ``.txt`` file. + If arg ``sort_by_key`` is not present in ``AVAILABLE_SORT_KEYS``. ValueError: If you attempt to stop recording an action which was never started. """ @@ -158,8 +158,13 @@ def __init__( super().__init__(dirpath=dirpath, filename=filename, output_filename=output_filename) - def setup(self, local_rank: Optional[int] = None, log_dir: Optional[str] = None) -> None: - super().setup(local_rank=local_rank, log_dir=log_dir) + def setup( + self, + stage: Optional[str] = None, + local_rank: Optional[int] = None, + log_dir: Optional[str] = None + ) -> None: + super().setup(stage=stage, local_rank=local_rank, log_dir=log_dir) # if the user didn't provide `path_to_export_trace`, # set it as TensorBoardLogger log_dir if exists @@ -234,7 +239,7 @@ def stop(self, action_name: str) -> None: def summary(self) -> str: recorded_stats = {} output_string = '' - local_rank = '0' if self.local_rank is None else self.local_rank + local_rank = '0' if self._local_rank is None else self._local_rank if not self.enabled: return output_string @@ -261,4 +266,3 @@ def summary(self) -> str: recorded_stats[action_name] = table return self._stats_to_str(recorded_stats) - diff --git a/pytorch_lightning/trainer/trainer.py b/pytorch_lightning/trainer/trainer.py index 22f2966a54e0b..710f28d113438 100644 --- a/pytorch_lightning/trainer/trainer.py +++ b/pytorch_lightning/trainer/trainer.py @@ -519,7 +519,7 @@ def dispatch(self): self.accelerator.start_training(self) def _on_run_stage_setup(self): - self.profiler.setup(local_rank=self.local_rank if self.world_size > 1 else None, log_dir=self.log_dir) + self.profiler.setup(self.state, local_rank=self.local_rank if self.world_size > 1 else None, log_dir=self.log_dir) def run_stage(self): results = None @@ -1085,7 +1085,7 @@ def call_teardown_hook(self, model: LightningModule) -> None: else: state = None - self.profiler.teardown() + self.profiler.teardown(stage=state) self.teardown(stage=state) model.teardown(stage=state) diff --git a/tests/deprecated_api/test_remove_1-5.py b/tests/deprecated_api/test_remove_1-5.py index 6f2c65c7a1171..0c5f581d7775c 100644 --- a/tests/deprecated_api/test_remove_1-5.py +++ b/tests/deprecated_api/test_remove_1-5.py @@ -208,7 +208,7 @@ def on_test_epoch_end(self, outputs): @pytest.mark.parametrize("cls", (BaseProfiler, SimpleProfiler, AdvancedProfiler, PyTorchProfiler)) def test_v1_5_0_profiler_output_filename(tmpdir, cls): - filepath = str(tmpdir / "test") + filepath = str(tmpdir / "test.txt") with pytest.deprecated_call(match="`output_filename` parameter has been removed"): profiler = cls(output_filename=filepath) assert profiler.dirpath == tmpdir diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 696d45ca81a43..2ebf1c2845fdd 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -115,8 +115,8 @@ def test_simple_profiler_value_errors(simple_profiler): def test_simple_profiler_log_dir(tmpdir): """Ensure the profiler dirpath defaults to `trainer.log_dir` when not present""" - profiler = SimpleProfiler(filename="profiler.txt") - assert profiler.log_dir is None + profiler = SimpleProfiler(filename="profiler") + assert profiler._log_dir is None model = BoringModel() trainer = Trainer( @@ -128,13 +128,13 @@ def test_simple_profiler_log_dir(tmpdir): expected = tmpdir / "lightning_logs" / "version_0" assert trainer.log_dir == expected - assert profiler.log_dir == trainer.log_dir - assert expected.join("profiler.txt").exists() + assert profiler._log_dir == trainer.log_dir + assert expected.join("fit-profiler.txt").exists() @pytest.fixture def advanced_profiler(tmpdir): - return AdvancedProfiler(dirpath=tmpdir, filename="profiler.txt") + return AdvancedProfiler(dirpath=tmpdir, filename="profiler") @pytest.mark.parametrize(["action", "expected"], [ @@ -195,7 +195,7 @@ def test_advanced_profiler_describe(tmpdir, advanced_profiler): pass # log to stdout and print to file advanced_profiler.describe() - path = advanced_profiler.dirpath / advanced_profiler.filename + path = advanced_profiler.dirpath / f"{advanced_profiler.filename}.txt" data = path.read_text("utf-8") assert len(data) > 0 @@ -213,7 +213,7 @@ def test_advanced_profiler_value_errors(advanced_profiler): @pytest.fixture def pytorch_profiler(tmpdir): - return PyTorchProfiler(dirpath=tmpdir, filename="profiler.txt") + return PyTorchProfiler(dirpath=tmpdir, filename="profiler") def test_pytorch_profiler_describe(pytorch_profiler): @@ -223,7 +223,7 @@ def test_pytorch_profiler_describe(pytorch_profiler): # log to stdout and print to file pytorch_profiler.describe() - path = pytorch_profiler.dirpath / pytorch_profiler.filename + path = pytorch_profiler.dirpath / f"{pytorch_profiler.filename}.txt" data = path.read_text("utf-8") assert len(data) > 0 @@ -266,7 +266,7 @@ def test_pytorch_profiler_nested(tmpdir): """Ensure that the profiler handles nested context""" pytorch_profiler = PyTorchProfiler( - profiled_functions=["a", "b", "c"], use_cuda=False, dirpath=tmpdir, filename="profiler.txt" + profiled_functions=["a", "b", "c"], use_cuda=False, dirpath=tmpdir, filename="profiler" ) with pytorch_profiler.profile("a"): @@ -327,7 +327,7 @@ def test_profiler_teardown(tmpdir, cls): """ This test checks if profiler teardown method is called when trainer is exiting. """ - profiler = cls(dirpath=tmpdir, filename="profiler.txt") + profiler = cls(dirpath=tmpdir, filename="profiler") model = BoringModel() trainer = Trainer( @@ -337,4 +337,4 @@ def test_profiler_teardown(tmpdir, cls): ) trainer.fit(model) - assert profiler.output_file.closed + assert profiler._output_file.closed From 59c1b4c7cc5ddbb8d9d019d6e746e93abf749aa5 Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Mon, 22 Mar 2021 19:26:12 +0100 Subject: [PATCH 51/87] 2/5 changes --- .../plugins/training_type/horovod.py | 1 + .../trainer/connectors/profiler_connector.py | 5 +++++ pytorch_lightning/trainer/properties.py | 10 ++++++++++ pytorch_lightning/trainer/trainer.py | 18 +++++------------- tests/test_profiler.py | 13 +++++++------ 5 files changed, 28 insertions(+), 19 deletions(-) diff --git a/pytorch_lightning/plugins/training_type/horovod.py b/pytorch_lightning/plugins/training_type/horovod.py index 06ab7500dacc8..8d0add27cbb29 100644 --- a/pytorch_lightning/plugins/training_type/horovod.py +++ b/pytorch_lightning/plugins/training_type/horovod.py @@ -110,6 +110,7 @@ def start_evaluating(self, trainer): def start_predicting(self, trainer): with ExitStack(): + # set up training routine self._results = trainer.run_stage() # Make sure all workers have finished training before returning to the user diff --git a/pytorch_lightning/trainer/connectors/profiler_connector.py b/pytorch_lightning/trainer/connectors/profiler_connector.py index efb58fc844696..e628d6d96bd19 100644 --- a/pytorch_lightning/trainer/connectors/profiler_connector.py +++ b/pytorch_lightning/trainer/connectors/profiler_connector.py @@ -53,3 +53,8 @@ def on_trainer_init(self, profiler: Union[BaseProfiler, str]): " `Trainer`, it can only be 'simple' or 'advanced'" ) self.trainer.profiler = profiler or PassThroughProfiler() + + def setup(self) -> None: + trainer = self.trainer + local_rank = trainer.local_rank if trainer.world_size > 1 else None + trainer.profiler.setup(stage=trainer._setup_state, local_rank=local_rank, log_dir=trainer.log_dir) diff --git a/pytorch_lightning/trainer/properties.py b/pytorch_lightning/trainer/properties.py index b5654b148afc6..315e3c60c0557 100644 --- a/pytorch_lightning/trainer/properties.py +++ b/pytorch_lightning/trainer/properties.py @@ -491,6 +491,16 @@ def sanity_checking(self, val: bool) -> None: elif self.sanity_checking: self._running_stage = None + @property + def _setup_state(self) -> TrainerState: + # 'fit' is passed for `trainer.tune()` as there aren't "tune_dataloaders" + return TrainerState.FITTING if self.state == TrainerState.TUNING else self.state + + @property + def _teardown_state(self) -> Optional[TrainerState]: + if self.state.running: + return self._setup_state + # Used to represent the concrete type TrainerProperties class methods are called on. _T = TypeVar('_T', bound=TrainerProperties) diff --git a/pytorch_lightning/trainer/trainer.py b/pytorch_lightning/trainer/trainer.py index 710f28d113438..f7bd1757b9bc2 100644 --- a/pytorch_lightning/trainer/trainer.py +++ b/pytorch_lightning/trainer/trainer.py @@ -445,7 +445,7 @@ def fit( | || {self.dispatch} || | || LIGHTNING - {self.accelerator.start_training} || + {self.accelerator.start_training} || or {self.accelerator.start_evaluating} || or {self.accelerator.start_predicting} || FLOW | || @@ -453,7 +453,7 @@ def fit( | || DIRECTION {self.run_train} || or {self.run_evaluation} || - or {self.run_predict} || + or {self.run_predict} || | || results \/ This is used to guide readers to the core loops: train, test, predict. @@ -518,13 +518,10 @@ def dispatch(self): else: self.accelerator.start_training(self) - def _on_run_stage_setup(self): - self.profiler.setup(self.state, local_rank=self.local_rank if self.world_size > 1 else None, log_dir=self.log_dir) - def run_stage(self): results = None - self._on_run_stage_setup() + self.profile_connector.setup() if self.evaluating: results = self.run_evaluate() @@ -1068,8 +1065,7 @@ def tune( def call_setup_hook(self, model: LightningModule) -> None: assert self.state.running, f"TrainerState: {self.state}" - # 'fit' is passed for `trainer.tune()` as there aren't "tune_dataloaders" - state = TrainerState.FITTING if self.state == TrainerState.TUNING else self.state + state = self._setup_state if self.datamodule is not None: called = getattr(self.datamodule, f'has_setup_{state}') @@ -1080,11 +1076,7 @@ def call_setup_hook(self, model: LightningModule) -> None: model.setup(stage=state) def call_teardown_hook(self, model: LightningModule) -> None: - if self.state.running: - state = TrainerState.FITTING if self.state == TrainerState.TUNING else self.state - else: - state = None - + state = self._teardown_state self.profiler.teardown(stage=state) self.teardown(stage=state) model.teardown(stage=state) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 2ebf1c2845fdd..89ed2004af7ae 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -20,7 +20,7 @@ import pytest import torch -from pytorch_lightning import Trainer +from pytorch_lightning import Trainer, Callback from pytorch_lightning.profiler import AdvancedProfiler, PyTorchProfiler, SimpleProfiler from tests.helpers import BoringModel from tests.helpers.runif import RunIf @@ -327,14 +327,15 @@ def test_profiler_teardown(tmpdir, cls): """ This test checks if profiler teardown method is called when trainer is exiting. """ + class TestCallback(Callback): + + def on_fit_end(self, trainer, *args, **kwargs) -> None: + assert trainer.profiler._output_file is not None + profiler = cls(dirpath=tmpdir, filename="profiler") model = BoringModel() - trainer = Trainer( - default_root_dir=tmpdir, - fast_dev_run=True, - profiler=profiler, - ) + trainer = Trainer(default_root_dir=tmpdir, fast_dev_run=True, profiler=profiler, callbacks=[TestCallback()]) trainer.fit(model) assert profiler._output_file.closed From dd1dce067da0208e1a54a01505f65fe3b5850d30 Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Mon, 22 Mar 2021 19:28:30 +0100 Subject: [PATCH 52/87] Pass stage in __del__ --- pytorch_lightning/profiler/profilers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index bd889c24c2bf4..14a354020b0cb 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -185,7 +185,7 @@ def teardown(self, stage: Optional[str] = None) -> None: self._output_file.close() def __del__(self) -> None: - self.teardown() + self.teardown(stage=self._stage) def start(self, action_name: str) -> None: raise NotImplementedError From 097a42644aeca82026a78a4aca8b86507d6f5d68 Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Mon, 22 Mar 2021 19:56:20 +0100 Subject: [PATCH 53/87] Remove TODOs --- pytorch_lightning/profiler/profilers.py | 2 +- pytorch_lightning/trainer/training_loop.py | 4 +--- tests/test_profiler.py | 8 +++----- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index 18d5a317739ff..99a898f78e557 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -179,7 +179,7 @@ def teardown(self, stage: Optional[str] = None) -> None: """ Execute arbitrary post-profiling tear-down steps. - Closes currently open file and stream. + Closes the currently open file and stream. """ assert stage == self._stage self._write_stream = None diff --git a/pytorch_lightning/trainer/training_loop.py b/pytorch_lightning/trainer/training_loop.py index 384a1b67a64f8..cc471f76b6033 100644 --- a/pytorch_lightning/trainer/training_loop.py +++ b/pytorch_lightning/trainer/training_loop.py @@ -137,9 +137,7 @@ def on_train_end(self): self.trainer.logger.finalize("success") # summarize profile results - # todo (tchaton) All ranks should call describe. - if self.trainer.global_rank == 0: - self.trainer.profiler.describe() + self.trainer.profiler.describe() # give accelerators a chance to finish self.trainer.accelerator.on_train_end() diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 89ed2004af7ae..431358064c7ab 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -255,11 +255,9 @@ def test_pytorch_profiler_trainer_ddp(tmpdir, pytorch_profiler): assert len(pytorch_profiler.summary()) > 0 assert set(pytorch_profiler.profiled_actions.keys()) == {'training_step_and_backward', 'validation_step'} - # todo (tchaton) add support for all ranks - if os.getenv("LOCAL_RANK") == "0": - path = pytorch_profiler.dirpath / pytorch_profiler.filename - data = path.read_text("utf-8") - assert len(data) > 0 + path = pytorch_profiler.dirpath / pytorch_profiler.filename + data = path.read_text("utf-8") + assert len(data) > 0 def test_pytorch_profiler_nested(tmpdir): From 4d529fa90f64d9da205011c2b42abe741f6e6f89 Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Mon, 22 Mar 2021 20:34:10 +0100 Subject: [PATCH 54/87] Describe on_evaluation_end. Add tests --- pytorch_lightning/profiler/profilers.py | 8 ++-- pytorch_lightning/trainer/evaluation_loop.py | 5 +++ tests/test_profiler.py | 47 ++++++++++++++++---- 3 files changed, 49 insertions(+), 11 deletions(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index 99a898f78e557..481f107dbf1b9 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -155,7 +155,7 @@ def describe(self) -> None: self.teardown(stage=self._stage) def _stats_to_str(self, stats: Dict[str, str]) -> str: - output = ["Profiler Report"] + output = [f"{self._stage} " if self._stage is not None else "" + "Profiler report"] for action, value in stats.items(): header = f"Profile stats for: {action}" if self._local_rank is not None: @@ -181,7 +181,6 @@ def teardown(self, stage: Optional[str] = None) -> None: Closes the currently open file and stream. """ - assert stage == self._stage self._write_stream = None if self._output_file is not None: self._output_file.close() @@ -269,7 +268,10 @@ def _make_report(self) -> Tuple[list, float]: def summary(self) -> str: sep = os.linesep - output_string = f"Profiler Report{sep}" + output_string = "" + if self._stage is not None: + output_string += f"{self._stage.upper()} " + output_string += f"Profiler Report{sep}" if self.extended: diff --git a/pytorch_lightning/trainer/evaluation_loop.py b/pytorch_lightning/trainer/evaluation_loop.py index 20c842939fe17..da41b9855b44a 100644 --- a/pytorch_lightning/trainer/evaluation_loop.py +++ b/pytorch_lightning/trainer/evaluation_loop.py @@ -15,6 +15,7 @@ import torch from pytorch_lightning.core.step_result import Result +from pytorch_lightning.trainer.states import TrainerState from pytorch_lightning.trainer.supporters import PredictionCollection from pytorch_lightning.utilities.apply_func import apply_to_collection from pytorch_lightning.utilities.model_helpers import is_overridden @@ -99,6 +100,10 @@ def on_evaluation_end(self, *args, **kwargs): else: self.trainer.call_hook('on_validation_end', *args, **kwargs) + if self.trainer.state != TrainerState.FITTING: + # summarize profile results + self.trainer.profiler.describe() + def reload_evaluation_dataloaders(self): model = self.trainer.lightning_module if self.trainer.testing: diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 431358064c7ab..8104745dddcab 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -90,14 +90,6 @@ def test_simple_profiler_overhead(simple_profiler, n_iter=5): assert all(durations < PROFILER_OVERHEAD_MAX_TOLERANCE) -def test_simple_profiler_describe(caplog, simple_profiler): - """Ensure the profiler won't fail when reporting the summary.""" - with caplog.at_level(logging.INFO): - simple_profiler.describe() - - assert "Profiler Report" in caplog.text - - def test_simple_profiler_value_errors(simple_profiler): """Ensure errors are raised where expected.""" @@ -132,6 +124,45 @@ def test_simple_profiler_log_dir(tmpdir): assert expected.join("fit-profiler.txt").exists() +def test_simple_profiler_distributed_files(tmpdir): + """Ensure the proper files are saved in distributed""" + profiler = SimpleProfiler(dirpath=tmpdir, filename='profiler') + model = BoringModel() + trainer = Trainer( + default_root_dir=tmpdir, + fast_dev_run=2, + accelerator="ddp_cpu", + num_processes=2, + profiler=profiler, + logger=False, + ) + trainer.fit(model) + trainer.test(model) + + actual = set(os.listdir(profiler.dirpath)) + expected = {'fit-profiler-0.txt', 'fit-profiler-1.txt', 'test-profiler-0.txt', 'test-profiler-1.txt'} + assert actual == expected + + for f in profiler.dirpath.listdir(): + assert f.read_text('utf-8') + + +def test_simple_profiler_logs(tmpdir, caplog, simple_profiler): + """Ensure that the number of printed logs is correct""" + model = BoringModel() + trainer = Trainer( + default_root_dir=tmpdir, + fast_dev_run=2, + profiler=simple_profiler, + logger=False, + ) + with caplog.at_level(logging.INFO, logger="pytorch_lightning.profiler.profilers"): + trainer.fit(model) + trainer.test(model) + + assert caplog.text.count("Profiler Report") == 2 + + @pytest.fixture def advanced_profiler(tmpdir): return AdvancedProfiler(dirpath=tmpdir, filename="profiler") From 58dcd4e4a9ecc52325ec6739f386a55a2dfb3e73 Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Mon, 22 Mar 2021 20:35:42 +0100 Subject: [PATCH 55/87] Typo --- pytorch_lightning/profiler/profilers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index 481f107dbf1b9..ac12be5c5897a 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -155,7 +155,7 @@ def describe(self) -> None: self.teardown(stage=self._stage) def _stats_to_str(self, stats: Dict[str, str]) -> str: - output = [f"{self._stage} " if self._stage is not None else "" + "Profiler report"] + output = [f"{self._stage} " if self._stage is not None else "" + "Profiler Report"] for action, value in stats.items(): header = f"Profile stats for: {action}" if self._local_rank is not None: From c37162f1cc22a444a5ee629e080b4da1fc633bfd Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Mon, 22 Mar 2021 20:45:05 +0100 Subject: [PATCH 56/87] Address comments --- pytorch_lightning/profiler/profilers.py | 6 +++--- tests/test_profiler.py | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index ac12be5c5897a..9754ffb3122d1 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -22,7 +22,7 @@ from collections import defaultdict from contextlib import contextmanager from pathlib import Path -from typing import Dict, Optional, Tuple, Union, TextIO, Callable +from typing import Dict, Optional, Tuple, Union, TextIO, Callable, Any import numpy as np @@ -48,11 +48,11 @@ def summary(self) -> str: """Create profiler summary in text format.""" @abstractmethod - def setup(self) -> None: + def setup(self, **kwargs: Any) -> None: """Execute arbitrary pre-profiling set-up steps as defined by subclass.""" @abstractmethod - def teardown(self) -> None: + def teardown(self, **kwargs: Any) -> None: """Execute arbitrary post-profiling tear-down steps as defined by subclass.""" diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 8104745dddcab..c8d68ef66cf4a 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -137,10 +137,11 @@ def test_simple_profiler_distributed_files(tmpdir): logger=False, ) trainer.fit(model) + trainer.validate(model) trainer.test(model) actual = set(os.listdir(profiler.dirpath)) - expected = {'fit-profiler-0.txt', 'fit-profiler-1.txt', 'test-profiler-0.txt', 'test-profiler-1.txt'} + expected = {f"{stage}-profiler-{rank}.txt" for stage in ("fit", "validate", "test") for rank in (0, 1)} assert actual == expected for f in profiler.dirpath.listdir(): From 4c5f1f3aacb483a6a0216ebf5995242fbe78426a Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Mon, 22 Mar 2021 21:03:24 +0100 Subject: [PATCH 57/87] deepcopy tests --- pytorch_lightning/profiler/profilers.py | 3 ++- tests/test_profiler.py | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index 9754ffb3122d1..a1be0bf4d5885 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -178,12 +178,13 @@ def setup( def teardown(self, stage: Optional[str] = None) -> None: """ Execute arbitrary post-profiling tear-down steps. - + Closes the currently open file and stream. """ self._write_stream = None if self._output_file is not None: self._output_file.close() + self._output_file = None # can't pickle TextIOWrapper def __del__(self) -> None: self.teardown(stage=self._stage) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index c8d68ef66cf4a..e1bdc67938ec0 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -14,6 +14,7 @@ import logging import os import time +from copy import deepcopy from distutils.version import LooseVersion import numpy as np @@ -105,6 +106,12 @@ def test_simple_profiler_value_errors(simple_profiler): simple_profiler.stop(action) +def test_simple_profiler_deepcopy(tmpdir): + simple_profiler = SimpleProfiler(dirpath=tmpdir, filename="test") + simple_profiler.describe() + assert deepcopy(simple_profiler) + + def test_simple_profiler_log_dir(tmpdir): """Ensure the profiler dirpath defaults to `trainer.log_dir` when not present""" profiler = SimpleProfiler(filename="profiler") @@ -243,6 +250,11 @@ def test_advanced_profiler_value_errors(advanced_profiler): advanced_profiler.stop(action) +def test_advanced_profiler_deepcopy(advanced_profiler): + advanced_profiler.describe() + assert deepcopy(advanced_profiler) + + @pytest.fixture def pytorch_profiler(tmpdir): return PyTorchProfiler(dirpath=tmpdir, filename="profiler") @@ -369,3 +381,8 @@ def on_fit_end(self, trainer, *args, **kwargs) -> None: trainer.fit(model) assert profiler._output_file.closed + + +def test_pytorch_profiler_deepcopy(pytorch_profiler): + pytorch_profiler.describe() + assert deepcopy(pytorch_profiler) From 5ed73fbeafd107bd4573ae21a056abd1b8c8d0f4 Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Mon, 22 Mar 2021 21:16:29 +0100 Subject: [PATCH 58/87] Advanced teardown --- pytorch_lightning/profiler/profilers.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index a1be0bf4d5885..766dd94ff93d9 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -344,7 +344,7 @@ def __init__( If you attempt to stop recording an action which was never started. """ super().__init__(dirpath=dirpath, filename=filename, output_filename=output_filename) - self.profiled_actions = {} + self.profiled_actions: Dict[str, cProfile.Profile] = {} self.line_count_restriction = line_count_restriction def start(self, action_name: str) -> None: @@ -366,3 +366,7 @@ def summary(self) -> str: ps.print_stats(self.line_count_restriction) recorded_stats[action_name] = s.getvalue() return self._stats_to_str(recorded_stats) + + def teardown(self, stage: Optional[str] = None) -> None: + super().teardown(stage=stage) + self.profiled_actions = {} From 897f8e52247bc022a59b632a38621d31d05896c5 Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Mon, 22 Mar 2021 21:19:57 +0100 Subject: [PATCH 59/87] Fix teardown test --- tests/test_profiler.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index e1bdc67938ec0..29455e4d532b1 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -370,17 +370,16 @@ def test_profiler_teardown(tmpdir, cls): This test checks if profiler teardown method is called when trainer is exiting. """ class TestCallback(Callback): - def on_fit_end(self, trainer, *args, **kwargs) -> None: - assert trainer.profiler._output_file is not None + # describe sets it to None + assert trainer.profiler._output_file is None profiler = cls(dirpath=tmpdir, filename="profiler") - model = BoringModel() trainer = Trainer(default_root_dir=tmpdir, fast_dev_run=True, profiler=profiler, callbacks=[TestCallback()]) trainer.fit(model) - assert profiler._output_file.closed + assert profiler._output_file is None def test_pytorch_profiler_deepcopy(pytorch_profiler): From e42be2a5afd920dcc9178c3b6dfaed80a2f67df0 Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Mon, 22 Mar 2021 22:10:49 +0100 Subject: [PATCH 60/87] Fix tests --- tests/test_profiler.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 29455e4d532b1..12f6526fb217e 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -131,6 +131,7 @@ def test_simple_profiler_log_dir(tmpdir): assert expected.join("fit-profiler.txt").exists() +@RunIf(skip_windows=True) def test_simple_profiler_distributed_files(tmpdir): """Ensure the proper files are saved in distributed""" profiler = SimpleProfiler(dirpath=tmpdir, filename='profiler') @@ -299,7 +300,7 @@ def test_pytorch_profiler_trainer_ddp(tmpdir, pytorch_profiler): assert len(pytorch_profiler.summary()) > 0 assert set(pytorch_profiler.profiled_actions.keys()) == {'training_step_and_backward', 'validation_step'} - path = pytorch_profiler.dirpath / pytorch_profiler.filename + path = pytorch_profiler.dirpath / f"{pytorch_profiler.filename}.txt" data = path.read_text("utf-8") assert len(data) > 0 From 32c301cd575d828cc9decec95b43c7e31c234e35 Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Mon, 22 Mar 2021 22:12:06 +0100 Subject: [PATCH 61/87] Minor change --- tests/test_profiler.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 12f6526fb217e..3b9f96350d891 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -301,8 +301,7 @@ def test_pytorch_profiler_trainer_ddp(tmpdir, pytorch_profiler): assert set(pytorch_profiler.profiled_actions.keys()) == {'training_step_and_backward', 'validation_step'} path = pytorch_profiler.dirpath / f"{pytorch_profiler.filename}.txt" - data = path.read_text("utf-8") - assert len(data) > 0 + assert path.read_text("utf-8") def test_pytorch_profiler_nested(tmpdir): From af0c8adce8a734ddbddb6ea5cf3f8658e2979d74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mochol=C3=AD?= Date: Mon, 22 Mar 2021 22:17:19 +0100 Subject: [PATCH 62/87] Update CHANGELOG.md --- CHANGELOG.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e188d5968cf77..1c0dfd5a482b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -54,9 +54,6 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - Added `AbstractProfiler` interface ([#6621](https://github.com/PyTorchLightning/pytorch-lightning/pull/6621)) -- Added `setup` method to `BaseProfiler` to enable subclasses defining pre-profiling steps ([#6621](https://github.com/PyTorchLightning/pytorch-lightning/pull/6621)) - - - Added `outputs` parameter to callback's `on_validation_epoch_end` & `on_test_epoch_end` hooks ([#6120](https://github.com/PyTorchLightning/pytorch-lightning/pull/6120)) From 29a73c57c1e5d437be54a040f890f8c3288a4778 Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Mon, 22 Mar 2021 22:43:33 +0100 Subject: [PATCH 63/87] Fix test --- tests/test_profiler.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 3b9f96350d891..dca14f9a02736 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -298,10 +298,14 @@ def test_pytorch_profiler_trainer_ddp(tmpdir, pytorch_profiler): trainer.fit(model) assert len(pytorch_profiler.summary()) > 0 - assert set(pytorch_profiler.profiled_actions.keys()) == {'training_step_and_backward', 'validation_step'} + assert set(pytorch_profiler.profiled_actions) == {'training_step_and_backward', 'validation_step'} - path = pytorch_profiler.dirpath / f"{pytorch_profiler.filename}.txt" - assert path.read_text("utf-8") + actual = set(os.listdir(pytorch_profiler.dirpath)) + expected = {f"fit-profiler-{rank}.txt" for rank in (0, 1)} + assert actual == expected + + for f in pytorch_profiler.dirpath.listdir(): + assert f.read_text('utf-8') def test_pytorch_profiler_nested(tmpdir): From 0dc1e065f4b03747ae907ecd4fd242b2df6ef3d0 Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Mon, 22 Mar 2021 23:42:54 +0100 Subject: [PATCH 64/87] Quick fixes --- .gitignore | 2 +- pytorch_lightning/profiler/pytorch.py | 12 +++++----- .../trainer/connectors/profiler_connector.py | 3 ++- tests/test_profiler.py | 23 ++----------------- 4 files changed, 11 insertions(+), 29 deletions(-) diff --git a/.gitignore b/.gitignore index c007140257188..99939ff7fce0c 100644 --- a/.gitignore +++ b/.gitignore @@ -157,4 +157,4 @@ tags data MNIST runs -*traces* +*trace* diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index f72dcba802612..4cb62c26ea4db 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -235,8 +235,8 @@ def setup( # if the user didn't provide `path_to_export_trace`, # set it as TensorBoardLogger log_dir if exists - if self.path_to_export_trace is None: - self.path_to_export_trace = log_dir + if self._path_to_export_trace is None: + self._path_to_export_trace = log_dir def start(self, action_name: str) -> None: if not self._profiler_instantiated and action_name in ( @@ -278,7 +278,7 @@ def summary(self) -> str: if not self._profiler_kwargs.get("enabled", True): return "" - local_rank = 0 if self.local_rank is None else self.local_rank + local_rank = 0 if self._local_rank is None else self._local_rank self.profiler.__exit__(None, None, None) if not self._emit_nvtx: @@ -309,7 +309,7 @@ def summary(self) -> str: recorded_stats = {} recorded_stats["records"] = table - return self.stats_to_str(recorded_stats) + return self._stats_to_str(recorded_stats) def _create_profilers(self) -> None: if self._emit_nvtx: @@ -321,10 +321,10 @@ def _create_profilers(self) -> None: def _create_profiler(self, profiler: Type[_PROFILER]) -> _PROFILER: init_parameters = inspect.signature(profiler.__init__).parameters - kwargs = {k: v for k, v in vars(self).items() if k in init_parameters} + kwargs = {k: v for k, v in self._profiler_kwargs.items() if k in init_parameters} return profiler(**kwargs) - def teardown(self): + def teardown(self, stage: Optional[str] = None) -> None: if self.profiler is not None: self.profiler.__exit__(None, None, None) diff --git a/pytorch_lightning/trainer/connectors/profiler_connector.py b/pytorch_lightning/trainer/connectors/profiler_connector.py index e628d6d96bd19..191e8711463ab 100644 --- a/pytorch_lightning/trainer/connectors/profiler_connector.py +++ b/pytorch_lightning/trainer/connectors/profiler_connector.py @@ -11,8 +11,8 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License - from typing import Union +from weakref import proxy from pytorch_lightning.profiler import ( AdvancedProfiler, @@ -57,4 +57,5 @@ def on_trainer_init(self, profiler: Union[BaseProfiler, str]): def setup(self) -> None: trainer = self.trainer local_rank = trainer.local_rank if trainer.world_size > 1 else None + trainer.profiler.lightning_module = proxy(trainer.lightning_module) trainer.profiler.setup(stage=trainer._setup_state, local_rank=local_rank, log_dir=trainer.log_dir) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index f275dc7c0e08e..423ab3e9ecb7b 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -289,25 +289,6 @@ def test_pytorch_profiler_value_errors(pytorch_profiler): @RunIf(min_gpus=2, special=True) -def test_pytorch_profiler_trainer_ddp(tmpdir, pytorch_profiler): - """Ensure that the profiler can be given to the training and default step are properly recorded. """ - model = BoringModel() - trainer = Trainer( - max_epochs=1, - default_root_dir=tmpdir, - limit_train_batches=6, - limit_val_batches=6, - profiler=pytorch_profiler, - accelerator="ddp", - gpus=2, - logger=TensorBoardLogger(tmpdir) - ) - trainer.fit(model) - - path = pytorch_profiler.dirpath / f"{pytorch_profiler.filename}.txt" - assert path.read_text("utf-8") - - def test_pytorch_profiler_trainer_fit(tmpdir, pytorch_profiler): """Ensure that the profiler can be given to the trainer and training, validation steps are properly recorded. """ @@ -349,7 +330,7 @@ def test_pytorch_profiler_trainer_test(tmpdir, pytorch_profiler): assert len([e for e in pytorch_profiler.function_events if 'test_step' == e.name]) > 0 - path = pytorch_profiler.dirpath / f"{pytorch_profiler.filename}.txt" + path = pytorch_profiler.dirpath / f"test-{pytorch_profiler.filename}.txt" assert path.read_text("utf-8") @@ -367,7 +348,7 @@ def test_pytorch_profiler_trainer_predict(tmpdir, pytorch_profiler): assert len([e for e in pytorch_profiler.function_events if 'predict' == e.name]) > 0 - path = pytorch_profiler.dirpath / f"{pytorch_profiler.filename}.txt" + path = pytorch_profiler.dirpath / f"predict-{pytorch_profiler.filename}.txt" assert path.read_text("utf-8") From cb756b813573c8619936c32cdf528d623c4794d8 Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Tue, 23 Mar 2021 00:32:52 +0100 Subject: [PATCH 65/87] Fix 6522 --- .gitignore | 2 +- pytorch_lightning/profiler/profilers.py | 13 +++++++++++-- tests/test_profiler.py | 16 +++++++++++++++- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index c007140257188..99939ff7fce0c 100644 --- a/.gitignore +++ b/.gitignore @@ -157,4 +157,4 @@ tags data MNIST runs -*traces* +*trace* diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index 766dd94ff93d9..3875514621025 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -22,7 +22,7 @@ from collections import defaultdict from contextlib import contextmanager from pathlib import Path -from typing import Dict, Optional, Tuple, Union, TextIO, Callable, Any +from typing import Any, Callable, Dict, Optional, TextIO, Tuple, Union import numpy as np @@ -155,7 +155,8 @@ def describe(self) -> None: self.teardown(stage=self._stage) def _stats_to_str(self, stats: Dict[str, str]) -> str: - output = [f"{self._stage} " if self._stage is not None else "" + "Profiler Report"] + stage = f"{self._stage.upper()} " if self._stage is not None else "" + output = [stage + "Profiler Report"] for action, value in stats.items(): header = f"Profile stats for: {action}" if self._local_rank is not None: @@ -370,3 +371,11 @@ def summary(self) -> str: def teardown(self, stage: Optional[str] = None) -> None: super().teardown(stage=stage) self.profiled_actions = {} + + def __reduce__(self): + # avoids `TypeError: cannot pickle 'cProfile.Profile' object` + return ( + self.__class__, + tuple(), + dict(dirpath=self.dirpath, filename=self.filename, line_count_restriction=self.line_count_restriction), + ) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index dca14f9a02736..4ec259101dc4a 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -21,7 +21,7 @@ import pytest import torch -from pytorch_lightning import Trainer, Callback +from pytorch_lightning import Callback, Trainer from pytorch_lightning.profiler import AdvancedProfiler, PyTorchProfiler, SimpleProfiler from tests.helpers import BoringModel from tests.helpers.runif import RunIf @@ -284,6 +284,18 @@ def test_pytorch_profiler_value_errors(pytorch_profiler): pytorch_profiler.stop(action) +def test_advanced_profiler_cprofile_deepcopy(tmpdir): + """Checks for pickle issue reported in #6522""" + model = BoringModel() + trainer = Trainer( + default_root_dir=tmpdir, + fast_dev_run=True, + profiler="advanced", + stochastic_weight_avg=True, + ) + trainer.fit(model) + + @RunIf(min_gpus=2, special=True) def test_pytorch_profiler_trainer_ddp(tmpdir, pytorch_profiler): """Ensure that the profiler can be given to the training and default step are properly recorded. """ @@ -373,7 +385,9 @@ def test_profiler_teardown(tmpdir, cls): """ This test checks if profiler teardown method is called when trainer is exiting. """ + class TestCallback(Callback): + def on_fit_end(self, trainer, *args, **kwargs) -> None: # describe sets it to None assert trainer.profiler._output_file is None From 758b9420499daa7824efe94cee5369323a09967b Mon Sep 17 00:00:00 2001 From: thomas chaton Date: Tue, 23 Mar 2021 08:41:11 +0000 Subject: [PATCH 66/87] resolve ddp tests --- pytorch_lightning/profiler/profilers.py | 11 ++++++++--- pytorch_lightning/profiler/pytorch.py | 4 +--- tests/test_profiler.py | 22 ++++++++++++++-------- 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index 3875514621025..42c9539185fc9 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -124,9 +124,8 @@ def _prepare_filename(self) -> str: filename = "" if self._stage is not None: filename += f"{self._stage}-" - filename += self.filename - if self._local_rank is not None: - filename += f"-{self._local_rank}" + filename += str(self.filename) + filename += f"-{self.local_rank}" filename += ".txt" return filename @@ -175,6 +174,8 @@ def setup( self._stage = stage self._local_rank = local_rank self._log_dir = log_dir + if self.dirpath is None: + self.dirpath = self._log_dir def teardown(self, stage: Optional[str] = None) -> None: """ @@ -199,6 +200,10 @@ def stop(self, action_name: str) -> None: def summary(self) -> str: raise NotImplementedError + @property + def local_rank(self): + return '0' if self._local_rank is None else self._local_rank + class PassThroughProfiler(BaseProfiler): """ diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index 85b3ec7d8d2ed..55b1c286789f4 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -239,7 +239,6 @@ def stop(self, action_name: str) -> None: def summary(self) -> str: recorded_stats = {} output_string = '' - local_rank = '0' if self._local_rank is None else self._local_rank if not self.enabled: return output_string @@ -252,7 +251,7 @@ def summary(self) -> str: function_events.populate_cpu_children = lambda: None if self.export_to_chrome: - filename = f"{action_name}_{local_rank}_trace.json" + filename = f"{action_name}_{self.local_rank}_trace.json" path_to_trace = filename if self.path_to_export_trace is None \ else os.path.join(self.path_to_export_trace, filename) function_events.export_chrome_trace(path_to_trace) @@ -264,5 +263,4 @@ def summary(self) -> str: data = function_events.key_averages(group_by_input_shapes=self.group_by_input_shapes) table = data.table(sort_by=self.sort_by_key, row_limit=self.row_limit) recorded_stats[action_name] = table - return self._stats_to_str(recorded_stats) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 4ec259101dc4a..5114d39d209ea 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -13,6 +13,7 @@ # limitations under the License. import logging import os +from pathlib import Path import time from copy import deepcopy from distutils.version import LooseVersion @@ -297,12 +298,15 @@ def test_advanced_profiler_cprofile_deepcopy(tmpdir): @RunIf(min_gpus=2, special=True) -def test_pytorch_profiler_trainer_ddp(tmpdir, pytorch_profiler): +def test_pytorch_profiler_trainer_ddp(tmpdir): """Ensure that the profiler can be given to the training and default step are properly recorded. """ + pytorch_profiler = PyTorchProfiler(dirpath=None, filename="profiler") model = BoringModel() trainer = Trainer( + max_epochs=1, default_root_dir=tmpdir, - fast_dev_run=True, + limit_train_batches=2, + limit_val_batches=2, profiler=pytorch_profiler, accelerator="ddp", gpus=2, @@ -312,12 +316,14 @@ def test_pytorch_profiler_trainer_ddp(tmpdir, pytorch_profiler): assert len(pytorch_profiler.summary()) > 0 assert set(pytorch_profiler.profiled_actions) == {'training_step_and_backward', 'validation_step'} - actual = set(os.listdir(pytorch_profiler.dirpath)) - expected = {f"fit-profiler-{rank}.txt" for rank in (0, 1)} - assert actual == expected - - for f in pytorch_profiler.dirpath.listdir(): - assert f.read_text('utf-8') + files = sorted(f for f in os.listdir(pytorch_profiler.dirpath) if "fit" in f) + rank = int(os.getenv("LOCAL_RANK", "0")) + expected = f"fit-profiler-{rank}.txt" + assert files[rank] == expected + + path = os.path.join(pytorch_profiler.dirpath, expected) + data = Path(path).read_text("utf-8") + assert len(data) > 0 def test_pytorch_profiler_nested(tmpdir): From fca4eb2d2753e75721a4a089d48d5d8250ebaacc Mon Sep 17 00:00:00 2001 From: tchaton Date: Tue, 23 Mar 2021 08:44:24 +0000 Subject: [PATCH 67/87] resolve tests --- tests/test_profiler.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 5114d39d209ea..b6728a8b0ac1f 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -13,10 +13,10 @@ # limitations under the License. import logging import os -from pathlib import Path import time from copy import deepcopy from distutils.version import LooseVersion +from pathlib import Path import numpy as np import pytest @@ -285,6 +285,7 @@ def test_pytorch_profiler_value_errors(pytorch_profiler): pytorch_profiler.stop(action) +@RunIf(min_torch="1.6.0") def test_advanced_profiler_cprofile_deepcopy(tmpdir): """Checks for pickle issue reported in #6522""" model = BoringModel() @@ -320,7 +321,7 @@ def test_pytorch_profiler_trainer_ddp(tmpdir): rank = int(os.getenv("LOCAL_RANK", "0")) expected = f"fit-profiler-{rank}.txt" assert files[rank] == expected - + path = os.path.join(pytorch_profiler.dirpath, expected) data = Path(path).read_text("utf-8") assert len(data) > 0 From 2919a392610e5f474b1434c8a3160172722b9a71 Mon Sep 17 00:00:00 2001 From: thomas chaton Date: Tue, 23 Mar 2021 09:14:06 +0000 Subject: [PATCH 68/87] resolve some tests --- pytorch_lightning/profiler/profilers.py | 3 ++- tests/test_profiler.py | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index 42c9539185fc9..54bc5cdf0122c 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -125,7 +125,8 @@ def _prepare_filename(self) -> str: if self._stage is not None: filename += f"{self._stage}-" filename += str(self.filename) - filename += f"-{self.local_rank}" + if self._local_rank is not None: + filename += f"-{self.local_rank}" filename += ".txt" return filename diff --git a/tests/test_profiler.py b/tests/test_profiler.py index b6728a8b0ac1f..cf6afcc9b626c 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -126,10 +126,10 @@ def test_simple_profiler_log_dir(tmpdir): ) trainer.fit(model) - expected = tmpdir / "lightning_logs" / "version_0" + expected = profiler.dirpath assert trainer.log_dir == expected assert profiler._log_dir == trainer.log_dir - assert expected.join("fit-profiler.txt").exists() + assert Path(os.path.join(profiler.dirpath, "fit-profiler.txt")).exists() @RunIf(skip_windows=True) From d7ca5fa8563b559fc20b32e4d0334b7d8ace15e1 Mon Sep 17 00:00:00 2001 From: thomas chaton Date: Tue, 23 Mar 2021 09:31:51 +0000 Subject: [PATCH 69/87] update tests --- tests/trainer/properties/test_get_model.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/trainer/properties/test_get_model.py b/tests/trainer/properties/test_get_model.py index 4dc5b5f34b50c..af0cc291154c0 100644 --- a/tests/trainer/properties/test_get_model.py +++ b/tests/trainer/properties/test_get_model.py @@ -84,8 +84,7 @@ def test_get_model_gpu(tmpdir): @RunIf(min_gpus=1, skip_windows=True) -@DDPLauncher.run("--accelerator [accelerator]", max_epochs=["1"], accelerator=["ddp", "ddp_spawn"]) -def test_get_model_ddp_gpu(tmpdir, args=None): +def test_get_model_ddp_gpu(tmpdir): """ Tests that `trainer.lightning_module` extracts the model correctly when using GPU + ddp accelerators """ @@ -99,7 +98,6 @@ def test_get_model_ddp_gpu(tmpdir, args=None): limit_val_batches=2, max_epochs=1, gpus=1, - accelerator=args.accelerator ) trainer.fit(model) return 1 From b3ffe64ebc28bfb104d05954063efb57974dcd62 Mon Sep 17 00:00:00 2001 From: tchaton Date: Tue, 23 Mar 2021 10:01:41 +0000 Subject: [PATCH 70/87] resolve tests --- tests/test_profiler.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index dcb66449b7398..038346277bc1b 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -27,6 +27,7 @@ from pytorch_lightning.profiler import AdvancedProfiler, PyTorchProfiler, SimpleProfiler from pytorch_lightning.profiler.pytorch import RegisterRecordFunction from pytorch_lightning.utilities.exceptions import MisconfigurationException +from pytorch_lightning.utilities.imports import _TORCH_GREATER_EQUAL_1_8 from tests.helpers import BoringModel from tests.helpers.runif import RunIf @@ -504,6 +505,7 @@ def on_fit_end(self, trainer, *args, **kwargs) -> None: assert profiler._output_file is None +@pytest.mark.skipif(_TORCH_GREATER_EQUAL_1_8, reason="currently not supported for PyTorch 1.8") def test_pytorch_profiler_deepcopy(pytorch_profiler): pytorch_profiler.start("on_train_start") pytorch_profiler.describe() From 97c87d37a7bb8d65af3e35c645edc998981e6b6d Mon Sep 17 00:00:00 2001 From: thomas chaton Date: Tue, 23 Mar 2021 11:59:20 +0000 Subject: [PATCH 71/87] resolve tests --- tests/test_profiler.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index e901a76450106..5719c79d7a1b9 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -504,5 +504,6 @@ def on_fit_end(self, trainer, *args, **kwargs) -> None: @pytest.mark.skipif(_TORCH_GREATER_EQUAL_1_8, reason="currently not supported for PyTorch 1.8") def test_pytorch_profiler_deepcopy(pytorch_profiler): pytorch_profiler.start("on_train_start") + torch.tensor(1) pytorch_profiler.describe() assert deepcopy(pytorch_profiler) From ae31f00a33d023aefef890e3c9cabf49cf13a565 Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Tue, 23 Mar 2021 13:38:25 +0100 Subject: [PATCH 72/87] Missed fixes from 3/5 --- pytorch_lightning/profiler/profilers.py | 12 +++++------ pytorch_lightning/profiler/pytorch.py | 4 +--- tests/checkpointing/test_torch_saving.py | 3 +-- tests/test_profiler.py | 25 ++++++++-------------- tests/trainer/properties/test_get_model.py | 20 ----------------- 5 files changed, 16 insertions(+), 48 deletions(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index 54bc5cdf0122c..1cd49a223af65 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -126,7 +126,7 @@ def _prepare_filename(self) -> str: filename += f"{self._stage}-" filename += str(self.filename) if self._local_rank is not None: - filename += f"-{self.local_rank}" + filename += f"-{self._local_rank}" filename += ".txt" return filename @@ -134,8 +134,7 @@ def _prepare_streams(self) -> None: if self._write_stream is not None: return if self.filename: - dirpath = self.dirpath or self._log_dir - filepath = os.path.join(dirpath, self._prepare_filename()) + filepath = os.path.join(self.dirpath, self._prepare_filename()) fs = get_filesystem(filepath) file = fs.open(filepath, "a") self._output_file = file @@ -175,8 +174,7 @@ def setup( self._stage = stage self._local_rank = local_rank self._log_dir = log_dir - if self.dirpath is None: - self.dirpath = self._log_dir + self.dirpath = self.dirpath or local_rank def teardown(self, stage: Optional[str] = None) -> None: """ @@ -202,8 +200,8 @@ def summary(self) -> str: raise NotImplementedError @property - def local_rank(self): - return '0' if self._local_rank is None else self._local_rank + def local_rank(self) -> int: + return 0 if self._local_rank is None else self._local_rank class PassThroughProfiler(BaseProfiler): diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index fe4ec89a5dd2c..9aa0ff3d5c925 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -275,8 +275,6 @@ def summary(self) -> str: if not self._profiler_kwargs.get("enabled", True): return "" - local_rank = 0 if self._local_rank is None else self._local_rank - self.profiler.__exit__(None, None, None) if not self._emit_nvtx: self.function_events = self.profiler.function_events @@ -294,7 +292,7 @@ def summary(self) -> str: return "" if self._export_to_chrome: - filename = f"{local_rank}_trace.json" + filename = f"{self.local_rank}_trace.json" path_to_trace = ( filename if self._path_to_export_trace is None else os.path.join(self._path_to_export_trace, filename) ) diff --git a/tests/checkpointing/test_torch_saving.py b/tests/checkpointing/test_torch_saving.py index 0c703a58d57a4..8eabc4640046f 100644 --- a/tests/checkpointing/test_torch_saving.py +++ b/tests/checkpointing/test_torch_saving.py @@ -47,8 +47,7 @@ def test_model_torch_save_ddp_cpu(tmpdir): max_epochs=num_epochs, accelerator="ddp_cpu", num_processes=2, - profiler=None, - logger=None, + logger=False, ) temp_path = os.path.join(tmpdir, 'temp.pt') trainer.fit(model) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 5719c79d7a1b9..99f1d74905a5c 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -130,10 +130,10 @@ def test_simple_profiler_log_dir(tmpdir): ) trainer.fit(model) - expected = profiler.dirpath + expected = tmpdir / "lightning_logs" / "version_0" assert trainer.log_dir == expected assert profiler._log_dir == trainer.log_dir - assert Path(os.path.join(profiler.dirpath, "fit-profiler.txt")).exists() + assert expected.join("fit-profiler.txt").exists() @RunIf(skip_windows=True) @@ -278,15 +278,10 @@ def test_pytorch_profiler_describe(pytorch_profiler): assert len(data) > 0 -def test_pytorch_profiler_value_errors(pytorch_profiler): +def test_pytorch_profiler_raises(pytorch_profiler): """Ensure errors are raised where expected.""" - action = "test_step" - pytorch_profiler.start(action) - pytorch_profiler.stop(action) - with pytest.raises(MisconfigurationException, match="profiled_functions` and `PyTorchProfiler.record"): PyTorchProfiler(profiled_functions=["a"], record_functions=["b"]) - pytorch_profiler.teardown() @RunIf(min_torch="1.6.0") @@ -303,9 +298,8 @@ def test_advanced_profiler_cprofile_deepcopy(tmpdir): @RunIf(min_gpus=2, special=True) -def test_pytorch_profiler_trainer_ddp(tmpdir): +def test_pytorch_profiler_trainer_ddp(tmpdir, pytorch_profiler): """Ensure that the profiler can be given to the training and default step are properly recorded. """ - pytorch_profiler = PyTorchProfiler(dirpath=None, filename="profiler") model = BoringModel() trainer = Trainer( max_epochs=1, @@ -320,19 +314,18 @@ def test_pytorch_profiler_trainer_ddp(tmpdir): expected = ('validation_step', 'training_step_and_backward', 'training_step', 'backward') for name in expected: - assert len([e for e in pytorch_profiler.function_events if name == e.name]) > 0 + assert sum(e.name == name for e in pytorch_profiler.function_events) assert len(pytorch_profiler.summary()) > 0 assert set(pytorch_profiler.profiled_actions) == {'training_step_and_backward', 'validation_step'} - files = sorted(f for f in os.listdir(pytorch_profiler.dirpath) if "fit" in f) - rank = int(os.getenv("LOCAL_RANK", "0")) + files = set(os.listdir(pytorch_profiler.dirpath)) + rank = int(os.getenv("LOCAL_RANK", 0)) expected = f"fit-profiler-{rank}.txt" - assert files[rank] == expected + assert expected in files path = os.path.join(pytorch_profiler.dirpath, expected) - data = Path(path).read_text("utf-8") - assert len(data) > 0 + assert Path(path).read_text() def test_pytorch_profiler_trainer_test(tmpdir, pytorch_profiler): diff --git a/tests/trainer/properties/test_get_model.py b/tests/trainer/properties/test_get_model.py index 3eb0596b55fc4..5dc1ea5de4e8a 100644 --- a/tests/trainer/properties/test_get_model.py +++ b/tests/trainer/properties/test_get_model.py @@ -80,23 +80,3 @@ def test_get_model_gpu(tmpdir): gpus=1, ) trainer.fit(model) - - -@RunIf(min_gpus=1, skip_windows=True) -def test_get_model_ddp_gpu(tmpdir): - """ - Tests that `trainer.lightning_module` extracts the model correctly when using GPU + ddp accelerators - """ - - model = TrainerGetModel() - - limit_train_batches = 2 - trainer = Trainer( - default_root_dir=tmpdir, - limit_train_batches=limit_train_batches, - limit_val_batches=2, - max_epochs=1, - gpus=1, - ) - trainer.fit(model) - return 1 From 78970d55b8c14d3a02a518e25f1fadb911c7ad47 Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Tue, 23 Mar 2021 14:03:16 +0100 Subject: [PATCH 73/87] Fixes --- pytorch_lightning/profiler/profilers.py | 2 +- pytorch_lightning/profiler/pytorch.py | 74 +++++++++++++---------- pytorch_lightning/trainer/predict_loop.py | 3 +- 3 files changed, 44 insertions(+), 35 deletions(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index 1cd49a223af65..46d72583fb466 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -174,7 +174,7 @@ def setup( self._stage = stage self._local_rank = local_rank self._log_dir = log_dir - self.dirpath = self.dirpath or local_rank + self.dirpath = self.dirpath or log_dir def teardown(self, stage: Optional[str] = None) -> None: """ diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index 9aa0ff3d5c925..bfcd08146aeab 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -17,16 +17,22 @@ import os from functools import partial from pathlib import Path -from typing import Any, Dict, List, Optional, Type, Union +from typing import Any, Dict, List, Optional, Type, TYPE_CHECKING, Union import torch from torch import nn, Tensor -from torch.autograd.profiler import EventList, record_function +from torch.autograd.profiler import record_function from pytorch_lightning.profiler.profilers import BaseProfiler from pytorch_lightning.utilities.distributed import rank_zero_warn from pytorch_lightning.utilities.exceptions import MisconfigurationException +if TYPE_CHECKING: + from torch.autograd.profiler import EventList + from torch.utils.hooks import RemovableHandle + + from pytorch_lightning.core.lightning import LightningModule + log = logging.getLogger(__name__) _PROFILER = Union[torch.autograd.profiler.profile, torch.cuda.profiler.profile, torch.autograd.profiler.emit_nvtx] @@ -34,40 +40,42 @@ class RegisterRecordFunction: """ - While profiling autograd operations, this class will add label with module name - around the forward function. - The Lightning PyTorch Profiler will activate this feature automatically. - It can be deactivated as follows: + While profiling autograd operations, this class will add labels for module names around the forward function. + + The Lightning PyTorch Profiler will activate this feature automatically. It can be deactivated as follows: + Example:: from pytorch_lightning.profilers import PyTorchProfiler profiler = PyTorchProfiler(record_module_names=False) Trainer(profiler=profiler) + It can be used outside of Lightning as follows: + Example:: from pytorch_lightning import Trainer, seed_everything with RegisterRecordFunction(model): out = model(batch) """ - def __init__(self, model: nn.Module): + def __init__(self, model: nn.Module) -> None: self._model = model - self._records = {} - self.handles = {} + self._records: Dict[str, record_function] = {} + self._handles: Dict[str, List['RemovableHandle']] = {} - def _start_recording_forward(self, module: nn.Module, input: Tensor, record_name: str): + def _start_recording_forward(self, _: nn.Module, input: Tensor, record_name: str) -> Tensor: record = record_function(record_name) record.__enter__() self._records[record_name] = record return input - def _stop_recording_forward(self, module: nn.Module, input: Tensor, output: Tensor, record_name: str): + def _stop_recording_forward(self, _: nn.Module, __: Tensor, output: Tensor, record_name: str) -> Tensor: self._records[record_name].__exit__(None, None, None) return output - def __enter__(self): + def __enter__(self) -> None: for module_name, module in self._model.named_modules(): - if module_name != '': - full_name = type(module).__module__ + '.' + type(module).__name__ + if module_name: + full_name = f"{type(module).__module__}.{type(module).__name__}" record_name = f"{full_name}: {module_name}" pre_forward_handle = module.register_forward_pre_hook( partial(self._start_recording_forward, record_name=record_name) @@ -76,12 +84,13 @@ def __enter__(self): partial(self._stop_recording_forward, record_name=record_name) ) - self.handles[module_name] = [pre_forward_handle, post_forward_handle] + self._handles[module_name] = [pre_forward_handle, post_forward_handle] - def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any): - for handles in self.handles.values(): + def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None: + for handles in self._handles.values(): for h in handles: h.remove() + self._handles = {} class PyTorchProfiler(BaseProfiler): @@ -174,23 +183,23 @@ def __init__( record_functions = self.__deprecation_check(profiled_functions, record_functions) - self.profiler: Optional[_PROFILER] = None - self.function_events: Optional[EventList] = None - - self._record_functions = set(record_functions + list(self.RECORD_FUNCTIONS)) - self._sort_by_key = sort_by_key or f"{'cuda' if profiler_kwargs.get('use_cuda', False) else 'cpu'}_time_total" self._group_by_input_shapes = group_by_input_shapes and profiler_kwargs.get("record_shapes", False) - self._row_limit = row_limit self._emit_nvtx = emit_nvtx self._export_to_chrome = export_to_chrome self._path_to_export_trace = path_to_export_trace + self._row_limit = row_limit + self._sort_by_key = sort_by_key or f"{'cuda' if profiler_kwargs.get('use_cuda', False) else 'cpu'}_time_total" + self._record_functions = set(record_functions + list(self.RECORD_FUNCTIONS)) self._record_module_names = record_module_names - self._lightning_module = None # set by ProfilerConnector - self._register = None self._profiler_kwargs = profiler_kwargs - self._parent_profiler = None + + self.profiler: Optional[_PROFILER] = None + self.function_events: Optional['EventList'] = None + self._lightning_module: Optional['LightningModule'] = None # set by ProfilerConnector + self._register: Optional[RegisterRecordFunction] = None + self._parent_profiler: Optional[_PROFILER] = None self._recording_map: Dict[str, record_function] = {} - self._profiler_instantiated: bool = False + self._profiler_instantiated = False if self._export_to_chrome and self._path_to_export_trace is None: rank_zero_warn( @@ -203,8 +212,11 @@ def __init__( f"Found sort_by_key: {self._sort_by_key}. Should be within {self.AVAILABLE_SORT_KEYS}. " ) - def __deprecation_check(self, profiled_functions: Optional[List[str]], - record_functions: Optional[List[str]]) -> List[str]: + def __deprecation_check( + self, + profiled_functions: Optional[List[str]], + record_functions: Optional[List[str]], + ) -> List[str]: if record_functions is None: record_functions = [] @@ -213,15 +225,13 @@ def __deprecation_check(self, profiled_functions: Optional[List[str]], "`PyTorchProfiler.profiled_functions` has been renamed to" " `record_functions` in v1.3 and will be removed in v1.5", DeprecationWarning ) - if (len(record_functions) == 0 or len(profiled_functions) == 0): + if not record_functions: record_functions += profiled_functions else: raise MisconfigurationException( "You set `PytorchProfiler.profiled_functions` and `PyTorchProfiler.record_functions`." " Please use only the later." ) - if record_functions is None: - record_functions = [] return record_functions diff --git a/pytorch_lightning/trainer/predict_loop.py b/pytorch_lightning/trainer/predict_loop.py index fe0719aa14da9..97f8da1e41368 100644 --- a/pytorch_lightning/trainer/predict_loop.py +++ b/pytorch_lightning/trainer/predict_loop.py @@ -88,8 +88,7 @@ def predict(self, batch, batch_idx, dataloader_idx): return def on_predict_epoch_end(self): - if self.trainer.profiler is not None: - self.trainer.profiler.describe() + self.trainer.profiler.describe() self.trainer._progress_bar_callback.on_predict_end(self.trainer, self.trainer.lightning_module) From ba067fdcfe75eaa5a3325328546d27777eef623c Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Tue, 23 Mar 2021 14:31:45 +0100 Subject: [PATCH 74/87] Broken refactor --- pytorch_lightning/profiler/pytorch.py | 56 ++++++++++----------------- 1 file changed, 21 insertions(+), 35 deletions(-) diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index bfcd08146aeab..dcf7e4696bd0e 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -176,8 +176,6 @@ def __init__( Raises: MisconfigurationException: If arg ``sort_by_key`` is not present in ``AVAILABLE_SORT_KEYS``. - ValueError: - If you attempt to stop recording an action which was never started. """ super().__init__(dirpath=dirpath, filename=filename, output_filename=output_filename) @@ -199,7 +197,6 @@ def __init__( self._register: Optional[RegisterRecordFunction] = None self._parent_profiler: Optional[_PROFILER] = None self._recording_map: Dict[str, record_function] = {} - self._profiler_instantiated = False if self._export_to_chrome and self._path_to_export_trace is None: rank_zero_warn( @@ -246,13 +243,12 @@ def setup( self._path_to_export_trace = log_dir def start(self, action_name: str) -> None: - if not self._profiler_instantiated and action_name in ( - list(self.START_RECORD_FUNCTIONS) + list(self._record_functions) - ): + if self.profiler is None and action_name in self._record_functions: - # close profiler if it is already opened + # close profiler if it is already opened. might happen if 2 profilers + # are created and the first one did not call `describe` try: - torch.autograd._disable_profiler() + torch.autograd._disable_profiler() # noqa except (AttributeError, RuntimeError): pass @@ -261,15 +257,11 @@ def start(self, action_name: str) -> None: self.profiler.__enter__() if self._parent_profiler is not None: self._parent_profiler.__enter__() - - self._profiler_instantiated = True - - if self._record_module_names and self._lightning_module is not None: - self._register = RegisterRecordFunction(self._lightning_module) + if self._register is not None: self._register.__enter__() if ( - self._profiler_instantiated and action_name in self._record_functions + self.profiler is not None and action_name in self._record_functions and action_name not in self._recording_map ): recording = record_function(action_name) @@ -282,24 +274,11 @@ def stop(self, action_name: str) -> None: del self._recording_map[action_name] def summary(self) -> str: - if not self._profiler_kwargs.get("enabled", True): + if not self._profiler_kwargs.get("enabled", True) or self._emit_nvtx: return "" - self.profiler.__exit__(None, None, None) - if not self._emit_nvtx: - self.function_events = self.profiler.function_events - self.profiler = None - self._profiler_instantiated = False - - if self._parent_profiler is not None: - self._parent_profiler.__exit__(None, None, None) - self._parent_profiler = None - - if self._register is not None: - self._register.__exit__(None, None, None) - - if self._emit_nvtx: - return "" + self.function_events = self.profiler.function_events + self._delete_profilers() if self._export_to_chrome: filename = f"{self.local_rank}_trace.json" @@ -311,8 +290,7 @@ def summary(self) -> str: data = self.function_events.key_averages(group_by_input_shapes=self._group_by_input_shapes) table = data.table(sort_by=self._sort_by_key, row_limit=self._row_limit) - recorded_stats = {} - recorded_stats["records"] = table + recorded_stats = {"records": table} return self._stats_to_str(recorded_stats) def _create_profilers(self) -> None: @@ -322,15 +300,18 @@ def _create_profilers(self) -> None: else: self._parent_profiler = None self.profiler = self._create_profiler(torch.autograd.profiler.profile) + if self._record_module_names and self._lightning_module is not None: + self._register = RegisterRecordFunction(self._lightning_module) def _create_profiler(self, profiler: Type[_PROFILER]) -> _PROFILER: init_parameters = inspect.signature(profiler.__init__).parameters kwargs = {k: v for k, v in self._profiler_kwargs.items() if k in init_parameters} return profiler(**kwargs) - def teardown(self, stage: Optional[str] = None) -> None: + def _delete_profilers(self) -> None: if self.profiler is not None: self.profiler.__exit__(None, None, None) + self.profiler = None if self._parent_profiler is not None: self._parent_profiler.__exit__(None, None, None) @@ -338,8 +319,13 @@ def teardown(self, stage: Optional[str] = None) -> None: if self._register is not None: self._register.__exit__(None, None, None) + self._register = None + + def teardown(self, stage: Optional[str] = None) -> None: + self._delete_profilers() - for record in self._recording_map.values(): - record.__exit__(None, None, None) + for k in self._recording_map: + self.stop(k) + self._recording_map = {} super().teardown() From f916013a60d7f7b1b238575b6d4dc7bc10acea0a Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Tue, 23 Mar 2021 14:36:28 +0100 Subject: [PATCH 75/87] Missed stage --- pytorch_lightning/profiler/pytorch.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index dcf7e4696bd0e..9a34ef41cab5e 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -328,4 +328,4 @@ def teardown(self, stage: Optional[str] = None) -> None: self.stop(k) self._recording_map = {} - super().teardown() + super().teardown(stage=stage) From 9a1b1b649d120f91bf21a2070b2cb930bb774712 Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Tue, 23 Mar 2021 14:42:10 +0100 Subject: [PATCH 76/87] Minor changes --- tests/test_profiler.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 99f1d74905a5c..60b4c0ece8a66 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -339,7 +339,7 @@ def test_pytorch_profiler_trainer_test(tmpdir, pytorch_profiler): ) trainer.test(model) - assert len([e for e in pytorch_profiler.function_events if 'test_step' == e.name]) > 0 + assert sum(e.name == 'test_step' for e in pytorch_profiler.function_events) path = pytorch_profiler.dirpath / f"test-{pytorch_profiler.filename}.txt" assert path.read_text("utf-8") @@ -357,7 +357,7 @@ def test_pytorch_profiler_trainer_predict(tmpdir, pytorch_profiler): ) trainer.predict(model) - assert len([e for e in pytorch_profiler.function_events if 'predict' == e.name]) > 0 + assert sum(e.name == 'predict_step' for e in pytorch_profiler.function_events) path = pytorch_profiler.dirpath / f"predict-{pytorch_profiler.filename}.txt" assert path.read_text("utf-8") @@ -374,7 +374,7 @@ def test_pytorch_profiler_trainer_validate(tmpdir, pytorch_profiler): ) trainer.validate(model) - assert len([e for e in pytorch_profiler.function_events if 'validation_step' == e.name]) > 0 + assert sum(e.name == 'validation_step' for e in pytorch_profiler.function_events) path = pytorch_profiler.dirpath / f"validate-{pytorch_profiler.filename}.txt" assert path.read_text("utf-8") From 04abd0a716f6c34694d7fc71ee1a295a90bf8b41 Mon Sep 17 00:00:00 2001 From: tchaton Date: Tue, 23 Mar 2021 13:52:25 +0000 Subject: [PATCH 77/87] resolve tests --- pytorch_lightning/profiler/pytorch.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index dcf7e4696bd0e..1ea030cd2998e 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -187,6 +187,7 @@ def __init__( self._path_to_export_trace = path_to_export_trace self._row_limit = row_limit self._sort_by_key = sort_by_key or f"{'cuda' if profiler_kwargs.get('use_cuda', False) else 'cpu'}_time_total" + self._record_functions_start = set(record_functions + list(self.START_RECORD_FUNCTIONS)) self._record_functions = set(record_functions + list(self.RECORD_FUNCTIONS)) self._record_module_names = record_module_names self._profiler_kwargs = profiler_kwargs @@ -243,7 +244,7 @@ def setup( self._path_to_export_trace = log_dir def start(self, action_name: str) -> None: - if self.profiler is None and action_name in self._record_functions: + if self.profiler is None and action_name in self._record_functions_start: # close profiler if it is already opened. might happen if 2 profilers # are created and the first one did not call `describe` @@ -277,7 +278,6 @@ def summary(self) -> str: if not self._profiler_kwargs.get("enabled", True) or self._emit_nvtx: return "" - self.function_events = self.profiler.function_events self._delete_profilers() if self._export_to_chrome: @@ -308,9 +308,13 @@ def _create_profiler(self, profiler: Type[_PROFILER]) -> _PROFILER: kwargs = {k: v for k, v in self._profiler_kwargs.items() if k in init_parameters} return profiler(**kwargs) + def _cache_functions_events(self): + self.function_events = self.profiler.function_events + def _delete_profilers(self) -> None: if self.profiler is not None: self.profiler.__exit__(None, None, None) + self._cache_functions_events() self.profiler = None if self._parent_profiler is not None: From 0230330d2ed551ccfbe7d133347c21fd7b332926 Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Tue, 23 Mar 2021 14:59:39 +0100 Subject: [PATCH 78/87] Update CHANGELOG --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 32cf9122efe34..2dc0ba3e227e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -54,6 +54,9 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - Added `AbstractProfiler` interface ([#6621](https://github.com/PyTorchLightning/pytorch-lightning/pull/6621)) +- Added support for including module names for forward in the autograd trace of `PyTorchProfiler` ([#6349](https://github.com/PyTorchLightning/pytorch-lightning/pull/6349)) + + - Added `outputs` parameter to callback's `on_validation_epoch_end` & `on_test_epoch_end` hooks ([#6120](https://github.com/PyTorchLightning/pytorch-lightning/pull/6120)) @@ -74,6 +77,9 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - Changed profilers to save separate report files per state and rank ([#6621](https://github.com/PyTorchLightning/pytorch-lightning/pull/6621)) +- Changed `PyTorchProfiler` to use `torch.autograd.profiler.record_function` to record functions ([#6349](https://github.com/PyTorchLightning/pytorch-lightning/pull/6349)) + + ### Deprecated - `period` has been deprecated in favor of `every_n_val_epochs` in the `ModelCheckpoint` callback ([#6146](https://github.com/PyTorchLightning/pytorch-lightning/pull/6146)) @@ -85,6 +91,9 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - Deprecated `Profiler(output_filename)` in favor of `dirpath` and `filename` ([#6621](https://github.com/PyTorchLightning/pytorch-lightning/pull/6621)) +- Deprecated `PytorchProfiler(profiled_functions)` in favor of `record_functions` ([#6349](https://github.com/PyTorchLightning/pytorch-lightning/pull/6349)) + + - Deprecated metrics in favor of `torchmetrics` ([#6505](https://github.com/PyTorchLightning/pytorch-lightning/pull/6505), [#6530](https://github.com/PyTorchLightning/pytorch-lightning/pull/6530), From cba643b514e076377d918c67e1a1dbb3beeb4090 Mon Sep 17 00:00:00 2001 From: tchaton Date: Tue, 23 Mar 2021 14:04:26 +0000 Subject: [PATCH 79/87] resolve bug --- pytorch_lightning/profiler/profilers.py | 1 + pytorch_lightning/profiler/pytorch.py | 8 ++++++-- tests/test_profiler.py | 5 +++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index 46d72583fb466..53577b8e46fa5 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -99,6 +99,7 @@ def profile(self, action_name: str) -> None: stop once you exit the code block. """ try: + print(action_name) self.start(action_name) yield action_name finally: diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index 3da7eb5763b10..219238593c9b2 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -109,7 +109,7 @@ class PyTorchProfiler(BaseProfiler): "self_cuda_memory_usage", "count", ) - START_RECORD_FUNCTIONS = ('on_train_start', 'on_validation_step', 'on_test_start', 'on_predict_start') + START_RECORD_FUNCTIONS = ('on_train_start', 'on_validation_start', 'on_test_start', 'on_predict_start') def __init__( self, @@ -285,7 +285,11 @@ def summary(self) -> str: path_to_trace = ( filename if self._path_to_export_trace is None else os.path.join(self._path_to_export_trace, filename) ) - self.function_events.export_chrome_trace(path_to_trace) + if self.function_events is not None and len(self.function_events) > 0: + self.function_events.export_chrome_trace(path_to_trace) + + if self.function_events is None or len(self.function_events) > 0: + return "" data = self.function_events.key_averages(group_by_input_shapes=self._group_by_input_shapes) table = data.table(sort_by=self._sort_by_key, row_limit=self._row_limit) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 60b4c0ece8a66..3afa641aeca79 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -268,7 +268,7 @@ def pytorch_profiler(tmpdir): def test_pytorch_profiler_describe(pytorch_profiler): """Ensure the profiler won't fail when reporting the summary.""" - with pytorch_profiler.profile("test_step"): + with pytorch_profiler.profile("on_test_start"): pass # log to stdout and print to file @@ -366,10 +366,11 @@ def test_pytorch_profiler_trainer_predict(tmpdir, pytorch_profiler): def test_pytorch_profiler_trainer_validate(tmpdir, pytorch_profiler): """Ensure that the profiler can be given to the trainer and validate function are properly recorded. """ model = BoringModel() + model.val_dataloader = model.train_dataloader trainer = Trainer( default_root_dir=tmpdir, max_epochs=1, - limit_test_batches=2, + limit_val_batches=2, profiler=pytorch_profiler, ) trainer.validate(model) From af209f55e4ad2577b4c3bd960cd35d263035bdd8 Mon Sep 17 00:00:00 2001 From: tchaton Date: Tue, 23 Mar 2021 14:05:34 +0000 Subject: [PATCH 80/87] remove print --- pytorch_lightning/profiler/profilers.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pytorch_lightning/profiler/profilers.py b/pytorch_lightning/profiler/profilers.py index 53577b8e46fa5..46d72583fb466 100644 --- a/pytorch_lightning/profiler/profilers.py +++ b/pytorch_lightning/profiler/profilers.py @@ -99,7 +99,6 @@ def profile(self, action_name: str) -> None: stop once you exit the code block. """ try: - print(action_name) self.start(action_name) yield action_name finally: From bb813bbd8398fedf172b5fe77fb5efbc344f7b10 Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Tue, 23 Mar 2021 15:05:48 +0100 Subject: [PATCH 81/87] Typo --- tests/test_profiler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 3afa641aeca79..1594f080a747f 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -357,7 +357,7 @@ def test_pytorch_profiler_trainer_predict(tmpdir, pytorch_profiler): ) trainer.predict(model) - assert sum(e.name == 'predict_step' for e in pytorch_profiler.function_events) + assert sum(e.name == 'predict' for e in pytorch_profiler.function_events) path = pytorch_profiler.dirpath / f"predict-{pytorch_profiler.filename}.txt" assert path.read_text("utf-8") From 624a85f6045463eac42d53d4138586d81a7f4839 Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Tue, 23 Mar 2021 15:11:32 +0100 Subject: [PATCH 82/87] Cleanup --- pytorch_lightning/profiler/pytorch.py | 9 ++++----- tests/test_profiler.py | 3 +-- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index 219238593c9b2..39b740c538829 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -280,16 +280,15 @@ def summary(self) -> str: self._delete_profilers() + if not self.function_events: + return "" + if self._export_to_chrome: filename = f"{self.local_rank}_trace.json" path_to_trace = ( filename if self._path_to_export_trace is None else os.path.join(self._path_to_export_trace, filename) ) - if self.function_events is not None and len(self.function_events) > 0: - self.function_events.export_chrome_trace(path_to_trace) - - if self.function_events is None or len(self.function_events) > 0: - return "" + self.function_events.export_chrome_trace(path_to_trace) data = self.function_events.key_averages(group_by_input_shapes=self._group_by_input_shapes) table = data.table(sort_by=self._sort_by_key, row_limit=self._row_limit) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 1594f080a747f..512797f2c646a 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -269,7 +269,7 @@ def pytorch_profiler(tmpdir): def test_pytorch_profiler_describe(pytorch_profiler): """Ensure the profiler won't fail when reporting the summary.""" with pytorch_profiler.profile("on_test_start"): - pass + torch.tensor(0) # log to stdout and print to file pytorch_profiler.describe() @@ -366,7 +366,6 @@ def test_pytorch_profiler_trainer_predict(tmpdir, pytorch_profiler): def test_pytorch_profiler_trainer_validate(tmpdir, pytorch_profiler): """Ensure that the profiler can be given to the trainer and validate function are properly recorded. """ model = BoringModel() - model.val_dataloader = model.train_dataloader trainer = Trainer( default_root_dir=tmpdir, max_epochs=1, From 1732ece5e095f7e7cc6cf3168f91f1dba0823512 Mon Sep 17 00:00:00 2001 From: thomas chaton Date: Tue, 23 Mar 2021 14:24:54 +0000 Subject: [PATCH 83/87] resolve ddp test --- tests/test_profiler.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 512797f2c646a..ef12f70ceafba 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -316,12 +316,10 @@ def test_pytorch_profiler_trainer_ddp(tmpdir, pytorch_profiler): for name in expected: assert sum(e.name == name for e in pytorch_profiler.function_events) - assert len(pytorch_profiler.summary()) > 0 - assert set(pytorch_profiler.profiled_actions) == {'training_step_and_backward', 'validation_step'} + trainer.accelerator.barrier() files = set(os.listdir(pytorch_profiler.dirpath)) - rank = int(os.getenv("LOCAL_RANK", 0)) - expected = f"fit-profiler-{rank}.txt" + expected = f"fit-profiler-{trainer.local_rank}.txt" assert expected in files path = os.path.join(pytorch_profiler.dirpath, expected) From f0c167508da50f918f4447010d1ca274b2c98d65 Mon Sep 17 00:00:00 2001 From: thomas chaton Date: Tue, 23 Mar 2021 14:27:32 +0000 Subject: [PATCH 84/87] remove barrier --- tests/test_profiler.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index ef12f70ceafba..8cf6d96e7a328 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -316,8 +316,6 @@ def test_pytorch_profiler_trainer_ddp(tmpdir, pytorch_profiler): for name in expected: assert sum(e.name == name for e in pytorch_profiler.function_events) - trainer.accelerator.barrier() - files = set(os.listdir(pytorch_profiler.dirpath)) expected = f"fit-profiler-{trainer.local_rank}.txt" assert expected in files From 374f0da4bbd09b2c4bfba5e5b8ef88ab67c19544 Mon Sep 17 00:00:00 2001 From: tchaton Date: Tue, 23 Mar 2021 15:17:18 +0000 Subject: [PATCH 85/87] update --- pytorch_lightning/profiler/pytorch.py | 2 +- tests/test_profiler.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index 39b740c538829..3a1ead8ee771b 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -96,7 +96,7 @@ def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None: class PyTorchProfiler(BaseProfiler): RECORD_FUNCTIONS = ( - "training_step_and_backward", "training_step", "backward", "validation_step", "test_step", "predict" + "training_step_and_backward", "training_step", "backward", "validation_step", "test_step", "predict_step" ) AVAILABLE_SORT_KEYS = ( "cpu_time", diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 8cf6d96e7a328..5114d02cfd816 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -353,7 +353,7 @@ def test_pytorch_profiler_trainer_predict(tmpdir, pytorch_profiler): ) trainer.predict(model) - assert sum(e.name == 'predict' for e in pytorch_profiler.function_events) + assert sum(e.name == 'predict_step' for e in pytorch_profiler.function_events) path = pytorch_profiler.dirpath / f"predict-{pytorch_profiler.filename}.txt" assert path.read_text("utf-8") From 6e948ca2d13e8904a5e11de75a9ce5c9d9170a05 Mon Sep 17 00:00:00 2001 From: Carlos Mocholi Date: Tue, 23 Mar 2021 16:47:47 +0100 Subject: [PATCH 86/87] Smaller model --- tests/test_profiler.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/test_profiler.py b/tests/test_profiler.py index 5114d02cfd816..5d144aef36573 100644 --- a/tests/test_profiler.py +++ b/tests/test_profiler.py @@ -437,22 +437,22 @@ def test_pytorch_profiler_nested_emit_nvtx(tmpdir): def test_register_record_function(tmpdir): use_cuda = torch.cuda.is_available() - pytorch_profiler = PyTorchProfiler( export_to_chrome=False, record_functions=["a"], use_cuda=use_cuda, - output_filename=os.path.join(tmpdir, "profiler.txt") + dirpath=tmpdir, + filename="profiler", ) class TestModel(BoringModel): def __init__(self): super().__init__() - self.layer = torch.nn.Sequential(torch.nn.Linear(32, 32), torch.nn.ReLU(), torch.nn.Linear(32, 2)) + self.layer = torch.nn.Sequential(torch.nn.Linear(8, 8), torch.nn.ReLU(), torch.nn.Linear(8, 2)) model = TestModel() - input = torch.rand((1, 32)) + input = torch.rand((1, 8)) if use_cuda: model = model.cuda() From e0d8623ca50bee8c03c2412005e86034d424ef1a Mon Sep 17 00:00:00 2001 From: thomas chaton Date: Tue, 23 Mar 2021 16:47:12 +0000 Subject: [PATCH 87/87] add check for emit_nvtx --- pytorch_lightning/profiler/pytorch.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pytorch_lightning/profiler/pytorch.py b/pytorch_lightning/profiler/pytorch.py index 3a1ead8ee771b..974883a4724c6 100644 --- a/pytorch_lightning/profiler/pytorch.py +++ b/pytorch_lightning/profiler/pytorch.py @@ -312,7 +312,8 @@ def _create_profiler(self, profiler: Type[_PROFILER]) -> _PROFILER: return profiler(**kwargs) def _cache_functions_events(self): - self.function_events = self.profiler.function_events + if not self._emit_nvtx: + self.function_events = self.profiler.function_events def _delete_profilers(self) -> None: if self.profiler is not None: