提交 d3cc7a89 编写于 作者: Y yuximiao

remove profiler user interface.

上级 f674ae3e
...@@ -12,16 +12,4 @@ ...@@ -12,16 +12,4 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
# ============================================================================ # ============================================================================
""" """Profiler Module Introduction."""
Profiler Module Introduction.
This module provides Python APIs to enable the profiling of MindSpore neural networks.
Users can import the mindinsight.profiler.Profiler, initialize the Profiler object to start profiling,
and use Profiler.analyse() to stop profiling and analyse the results.
To visualize the profiling results, users can open MindInsight Web, find the corresponding run
and click the profile link.
Now, Profiler supports the AICore operator analysis.
"""
from mindinsight.profiler.profiling import Profiler
__all__ = ["Profiler"]
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
"""The analyser factory.""" """The analyser factory."""
import threading import threading
import mindinsight.profiler.analyser as analyser_module from mindinsight.profiler import analyser as analyser_module
from mindinsight.profiler.common.exceptions.exceptions import \ from mindinsight.profiler.common.exceptions.exceptions import \
ProfilerAnalyserNotExistException ProfilerAnalyserNotExistException
......
...@@ -17,7 +17,6 @@ import json ...@@ -17,7 +17,6 @@ import json
import os import os
from mindinsight.profiler.analyser.base_analyser import BaseAnalyser from mindinsight.profiler.analyser.base_analyser import BaseAnalyser
from mindinsight.profiler.parser.container import TimelineContainer
from mindinsight.profiler.common.exceptions.exceptions import ProfilerFileNotFoundException, \ from mindinsight.profiler.common.exceptions.exceptions import ProfilerFileNotFoundException, \
ProfilerIOException ProfilerIOException
from mindinsight.profiler.common.log import logger from mindinsight.profiler.common.log import logger
...@@ -27,6 +26,48 @@ from mindinsight.profiler.common.validator.validate_path import validate_and_nor ...@@ -27,6 +26,48 @@ from mindinsight.profiler.common.validator.validate_path import validate_and_nor
SIZE_LIMIT = 20 * 1024 * 1024 # 20MB SIZE_LIMIT = 20 * 1024 * 1024 # 20MB
class TimelineContainer:
"""
A container of operator computation metadata.
Args:
split_list (list): The split list of metadata in op_compute output file.
"""
def __init__(self, split_list):
self._op_name = split_list[0]
self._stream_id = int(split_list[1])
self._start_time = float(split_list[2])
self._duration = float(split_list[3])
self._pid = None
if len(split_list) == 5:
self._pid = int(split_list[4])
@property
def op_name(self):
"""Get the name of the operator."""
return self._op_name
@property
def stream_id(self):
"""Get the stream id of the operator."""
return self._stream_id
@property
def start_time(self):
"""Get the execution start time of the operator."""
return self._start_time
@property
def duration(self):
"""Get the duration of the operator execution."""
return self._duration
@property
def pid(self):
"""Get the pid of the operator execution."""
return self._pid
class TimelineAnalyser(BaseAnalyser): class TimelineAnalyser(BaseAnalyser):
""" """
Analyse timeline data from file. Analyse timeline data from file.
......
# Copyright 2020 Huawei Technologies Co., Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# 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.
# ============================================================================
# Copyright 2020 Huawei Technologies Co., Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# 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.
# ============================================================================
"""
The parser for AI CPU preprocess data.
"""
import os
from tabulate import tabulate
from mindinsight.profiler.common._utils import fwrite_format, get_file_join_name
from mindinsight.profiler.common.log import logger
class DataPreProcessParser:
"""
The Parser for AI CPU preprocess data.
Args:
input_path(str): The profiling job path.
output_filename(str): The output data path and name.
"""
_source_file_target = 'DATA_PREPROCESS.dev.AICPU.'
_dst_file_title = 'title:DATA_PREPROCESS AICPU'
_dst_file_column_title = ['serial_number', 'node_type_name', 'total_time(ms)',
'dispatch_time(ms)', 'run_start', 'run_end']
_ms_unit = 1000
def __init__(self, input_path, output_filename):
self._input_path = input_path
self._output_filename = output_filename
self._source_file_name = self._get_source_file()
self._ms_kernel_flag = 3
self._other_kernel_flag = 6
self._thread_flag = 7
self._ms_kernel_run_end_index = 2
self._other_kernel_run_end_index = 5
self._result_list = []
self._min_cycle_counter = float('inf')
def _get_source_file(self):
"""Get log file name, which was created by ada service."""
file_name = get_file_join_name(self._input_path, self._source_file_target)
if not file_name:
data_path = os.path.join(self._input_path, "data")
file_name = get_file_join_name(data_path, self._source_file_target)
return file_name
def _get_kernel_result(self, number, node_list, thread_list):
"""Get the profiling data form different aicpu kernel"""
try:
if len(node_list) == self._ms_kernel_flag and len(thread_list) == self._thread_flag:
node_type_name = node_list[0].split(':')[-1]
run_end_index = self._ms_kernel_run_end_index
elif len(node_list) == self._other_kernel_flag and len(thread_list) == self._thread_flag:
node_type_name = node_list[0].split(':')[-1].split('/')[-1].split('-')[0]
run_end_index = self._other_kernel_run_end_index
else:
logger.warning("the data format can't support 'node_list':%s", str(node_list))
return None
run_start = node_list[1].split(':')[-1].split(' ')[0]
run_end = node_list[run_end_index].split(':')[-1].split(' ')[0]
total_time = float(thread_list[-1].split('=')[-1].split()[0]) / self._ms_unit
dispatch_time = float(thread_list[-2].split('=')[-1].split()[0]) / self._ms_unit
return [number, node_type_name, total_time, dispatch_time,
run_start, run_end]
except IndexError as e:
logger.exception(e)
return None
def execute(self):
"""Execute the parser, get result data, and write it to the output file."""
if not os.path.exists(self._source_file_name):
logger.info("Did not find the aicpu profiling source file")
return
with open(self._source_file_name, 'rb') as ai_cpu_data:
ai_cpu_str = str(ai_cpu_data.read().replace(b'\n\x00', b' ___ ')
.replace(b'\x00', b' ___ '))[2:-1]
ai_cpu_lines = ai_cpu_str.split(" ___ ")
result_list = list()
ai_cpu_total_time_summary = 0
# Node serial number.
serial_number = 1
for i in range(len(ai_cpu_lines) - 1):
node_line = ai_cpu_lines[i]
thread_line = ai_cpu_lines[i + 1]
result = []
if "Node" in node_line and "Thread" in thread_line:
# Get the node data from node_line
node_list = node_line.split(',')
thread_list = thread_line.split(',')
result = self._get_kernel_result(serial_number, node_list, thread_list)
if result is None:
continue
result_list.append(result)
# Calculate the total time.
total_time = result[2]
ai_cpu_total_time_summary += total_time
# Increase node serial number.
serial_number += 1
elif "Node" in node_line and "Thread" not in thread_line:
node_type_name = node_line.split(',')[0].split(':')[-1]
logger.warning("The node type:%s cannot find thread data", node_type_name)
if result_list:
ai_cpu_total_time = format(ai_cpu_total_time_summary, '.6f')
result_list.append(["AI CPU Total Time(ms):", ai_cpu_total_time])
fwrite_format(self._output_filename, data_source=self._dst_file_title, is_print=True,
is_start=True)
fwrite_format(self._output_filename,
data_source=tabulate(result_list, self._dst_file_column_title,
tablefmt='simple'),
is_start=True, is_print=True)
# For timeline display.
self._result_list = result_list
def query_aicpu_data(self):
"""
Get execution time of AI CPU operator.
Returns:
a dict, the metadata of AI CPU operator execution time.
"""
stream_id = 0 # Default stream id for AI CPU.
pid = 9000 # Default pid for AI CPU.
factor = 1000 # Convert time unit from 1us to 1ms
total_time = 0
min_cycle_counter = float('inf')
aicpu_info = []
op_count_list = []
for aicpu_item in self._result_list:
if "AI CPU Total Time(ms):" in aicpu_item:
total_time = aicpu_item[-1]
continue
op_name = aicpu_item[1]
start_time = float(aicpu_item[4]) / factor
min_cycle_counter = min(min_cycle_counter, start_time)
end_time = float(aicpu_item[5]) / factor
duration = end_time - start_time
aicpu_info.append([op_name, stream_id, start_time, duration, pid])
# Record the number of operator types.
if op_name not in op_count_list:
op_count_list.append(op_name)
self._min_cycle_counter = min_cycle_counter
aicpu_dict = {
'info': aicpu_info,
'total_time': float(total_time),
'op_exe_times': len(aicpu_info),
'num_of_ops': len(op_count_list),
'num_of_streams': 1
}
return aicpu_dict
@property
def min_cycle_counter(self):
"""Get minimum cycle counter in AI CPU."""
return self._min_cycle_counter
# Copyright 2020 Huawei Technologies Co., Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# 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.
# ============================================================================
"""The container of metadata used in profiler parser."""
class HWTSContainer:
"""
HWTS output container.
Args:
split_list (list): The split list of metadata in HWTS output file.
"""
def __init__(self, split_list):
self._op_name = ''
self._duration = None
self._status = split_list[0]
self._task_id = split_list[6]
self._cycle_counter = float(split_list[7])
self._stream_id = split_list[8]
@property
def status(self):
"""Get the status of the operator, i.e. Start or End."""
return self._status
@property
def task_id(self):
"""Get the task id of the operator."""
return self._task_id
@property
def cycle_counter(self):
"""Get the cycle counter."""
return self._cycle_counter
@property
def stream_id(self):
"""Get the stream id of the operator."""
return self._stream_id
@property
def op_name(self):
"""Get the name of the operator."""
return self._op_name
@op_name.setter
def op_name(self, name):
"""Set the name of the operator."""
self._op_name = name
@property
def duration(self):
"""Get the duration of the operator execution."""
return self._duration
@duration.setter
def duration(self, value):
"""Set the duration of the operator execution."""
self._duration = value
class TimelineContainer:
"""
A container of operator computation metadata.
Args:
split_list (list): The split list of metadata in op_compute output file.
"""
def __init__(self, split_list):
self._op_name = split_list[0]
self._stream_id = int(split_list[1])
self._start_time = float(split_list[2])
self._duration = float(split_list[3])
self._pid = None
if len(split_list) == 5:
self._pid = int(split_list[4])
@property
def op_name(self):
"""Get the name of the operator."""
return self._op_name
@property
def stream_id(self):
"""Get the stream id of the operator."""
return self._stream_id
@property
def start_time(self):
"""Get the execution start time of the operator."""
return self._start_time
@property
def duration(self):
"""Get the duration of the operator execution."""
return self._duration
@property
def pid(self):
"""Get the pid of the operator execution."""
return self._pid
# Copyright 2020 Huawei Technologies Co., Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# 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.
# ============================================================================
"""Thr parser for parsing framework files."""
import csv
import enum
import json
import os
import re
from marshmallow import ValidationError
from mindinsight.profiler.common.exceptions.exceptions import \
ProfilerPathErrorException, ProfilerDirNotFoundException, \
ProfilerFileNotFoundException, ProfilerDeviceIdMismatchException, \
ProfilerRawFileException, ProfilerParamValueErrorException
from mindinsight.profiler.common.validator.validate_path import \
validate_and_normalize_path
class VmDataType(enum.IntEnum):
"""Definition of vm data type."""
NUMBER_TYPE_BEGIN = 26
NUMBER_TYPE_BOOL = 27
NUMBER_TYPE_INT = 28
NUMBER_TYPE_INT8 = 29
NUMBER_TYPE_INT16 = 30
NUMBER_TYPE_INT32 = 31
NUMBER_TYPE_INT64 = 32
NUMBER_TYPE_UINT = 33
NUMBER_TYPE_UINT8 = 34
NUMBER_TYPE_UINT16 = 35
NUMBER_TYPE_UINT32 = 36
NUMBER_TYPE_UINT64 = 37
NUMBER_TYPE_FLOAT = 38
NUMBER_TYPE_FLOAT16 = 39
NUMBER_TYPE_FLOAT32 = 40
NUMBER_TYPE_FLOAT64 = 41
NUMBER_TYPE_END = 42
@classmethod
def get_data_type_name(cls, num):
"""
Get the name of data type by enum number.
Args:
num (int): Enum number.
Returns:
str, the name of data type.
"""
data_type = cls._value2member_map_.get(num)
return 'UNKNOWN' if data_type is None else data_type.name
class GeDataType(enum.IntEnum):
"""Definition of ge data type."""
DT_FLOAT = 0
DT_FLOAT16 = 1
DT_INT8 = 2
DT_INT16 = 6
DT_UINT16 = 7
DT_UINT8 = 4
DT_INT32 = 3
DT_INT64 = 9
DT_UINT32 = 8
DT_UINT64 = 10
DT_BOOL = 12
DT_DOUBLE = 11
DT_STRING = 13
DT_DUAL_SUB_INT8 = 14
DT_DUAL_SUB_UINT8 = 15
DT_COMPLEX64 = 16
DT_COMPLEX128 = 17
DT_QINT8 = 18
DT_QINT16 = 19
DT_QINT32 = 20
DT_QUINT8 = 21
DT_QUINT16 = 22
DT_RESOURCE = 23
DT_STRING_REF = 24
DT_DUAL = 25
DT_UNDEFINED = 26
@classmethod
def get_data_type_name(cls, num):
"""
Get the name of data type by enum number.
Args:
num (int): Enum number.
Returns:
str, the name of data type.
"""
data_type = cls._value2member_map_.get(num)
return 'UNKNOWN' if data_type is None else data_type.name
class GeFormat(enum.IntEnum):
"""Definition of ge format type."""
FORMAT_NCHW = 0
FORMAT_NHWC = 1
FORMAT_ND = 2
FORMAT_NC1HWC0 = 3
FORMAT_FRACTAL_Z = 4
FORMAT_NC1C0HWPAD = 5
FORMAT_NHWC1C0 = 6
FORMAT_FSR_NCHW = 7
FORMAT_FRACTAL_DECONV = 8
FORMAT_C1HWNC0 = 9
FORMAT_FRACTAL_DECONV_TRANSPOSE = 10
FORMAT_FRACTAL_DECONV_SP_STRIDE_TRANS = 11
FORMAT_NC1HWC0_C04 = 12
FORMAT_FRACTAL_Z_C04 = 13
FORMAT_CHWN = 14
FORMAT_FRACTAL_DECONV_SP_STRIDE8_TRANS = 15
FORMAT_HWCN = 16
FORMAT_NC1KHKWHWC0 = 17
FORMAT_BN_WEIGHT = 18
FORMAT_FILTER_HWCK = 19
FORMAT_HASHTABLE_LOOKUP_LOOKUPS = 20
FORMAT_HASHTABLE_LOOKUP_KEYS = 21
FORMAT_HASHTABLE_LOOKUP_VALUE = 22
FORMAT_HASHTABLE_LOOKUP_OUTPUT = 23
FORMAT_HASHTABLE_LOOKUP_HITS = 24
FORMAT_C1HWNCOC0 = 25
FORMAT_MD = 26
FORMAT_NDHWC = 27
FORMAT_FRACTAL_ZZ = 28
FORMAT_FRACTAL_NZ = 29
FORMAT_NCDHW = 30
FORMAT_DHWCN = 31
FORMAT_NDC1HWC0 = 32
FORMAT_FRACTAL_Z_3D = 33
FORMAT_CN = 34
FORMAT_NC = 35
FORMAT_DHWNC = 36
FORMAT_FRACTAL_Z_3D_TRANSPOSE = 37
FORMAT_RESERVED = 38
FORMAT_ALL = 39
@classmethod
def get_format_name(cls, num):
"""
Get the name of format type by enum number.
Args:
num (int): Enum number.
Returns:
str, the name of format type.
"""
format_type = cls._value2member_map_.get(num)
return 'UNKNOWN' if format_type is None else format_type.name
class FrameworkParser:
"""
Thr parser for parsing framework files.
Args:
profiling_id (str): The profiling ID.
device_id (str): The device ID.
output_path (str): The directory of the parsed file. Default: `./`.
"""
_raw_data_dir = '/var/log/npu/profiling'
_regex_framework = r'Framework\.host\.(?P<data_type>.+)\.(?P<device_id>\d).+'
_regex_framework_in_data = r'Framework\.host\.(?P<data_type>.+)\.' \
r'(?P<device_id>\d)\.(?P<profiling_id>[a-zA-Z0-9]+).+'
_col_names = [
'task_id', 'stream_id', 'block_dim', 'full_op_name', 'op_name',
'op_type', 'subgraph', 'op_info'
]
_graph_attr_name = [
'input_format', 'input_data_type', 'input_shape', 'output_format',
'output_data_type', 'output_shape'
]
# if the task id is less than the task id threshold, The combination of
# task id and Stream id represents one operator, else the task id represents
# one operator
_task_id_threshold = 25000
def __init__(self, profiling_id, device_id, output_path='./'):
self._profiling_path = self._get_raw_profiling_path(profiling_id)
self._backend_type = None
self._framework_path = {'graph': [], 'task': [], 'point': []}
self._search_file(profiling_id, device_id)
self._device_id = device_id
self._save_path = self._get_save_path(device_id, output_path)
self._task_id_full_op_name_dict = {}
self._task_cache = {}
self._point_info = {}
self._parse_task_files()
self._parse_point_files()
@property
def save_path(self):
"""
The property of save path.
Returns:
str, the save path.
"""
return self._save_path
@property
def point_info(self):
"""
The property of the framework point information.
Returns:
dict, the framework point information.
"""
return self._point_info
def to_task_id_full_op_name_dict(self):
"""
Get the task id and full operator name dict.
Returns:
dict, the task id and full operator name dict.
"""
return self._task_id_full_op_name_dict
def parse(self):
"""Parse the framework files."""
self._parse_graph_files_and_save(self._task_cache)
del self._task_cache
def check_op_name(self, op_name, is_prefix=True):
"""
Check whether the operator name exists.
Args:
op_name (str): The operator name or operator name prefix.
is_prefix (bool): `True` if the op_name is prefix, else `False`.
Default: True.
Returns:
bool, `True` if the operator name does exist in framework file, else
`False`.
"""
if not op_name:
raise ProfilerParamValueErrorException('The op_name should exist.')
for full_op_name in self._task_id_full_op_name_dict.values():
if full_op_name:
if is_prefix and full_op_name.startswith(op_name):
return True
if not is_prefix and op_name == full_op_name:
return True
return False
def _get_raw_profiling_path(self, profiling_id):
"""
Get raw profiling path.
Args:
profiling_id (str): The profiling ID.
Returns:
str, the raw profiling path.
Raises:
ProfilerPathErrorException: If the profiling path is invalid.
ProfilerDirNotFoundException: If the profiling dir is not found.
"""
profiling_path = os.path.join(self._raw_data_dir, profiling_id)
try:
profiling_path = validate_and_normalize_path(
profiling_path, 'profiler'
)
except ValidationError:
raise ProfilerPathErrorException('Profiling path is invalid.')
if not os.path.isdir(profiling_path):
raise ProfilerDirNotFoundException(profiling_path)
return profiling_path
def _search_file(self, profiling_id, device_id):
"""
Search all framework files in raw profiling path.
Args:
profiling_id (str): The profiling ID.
device_id (str): The device ID.
Raises:
ProfilerFileNotFoundException: If the framework files are not found.
"""
# first search in the JOB dir, and if not, search in the sub directory
# in the JOB
self._search_file_from_job_path(device_id, search_in_sub_path=False)
if self._backend_type is None:
self._search_file_from_job_path(device_id, search_in_sub_path=True)
self._search_file_from_data_path(profiling_id, device_id)
if self._backend_type is None:
raise ProfilerFileNotFoundException('Framework')
self._framework_path['graph'].sort()
self._framework_path['task'].sort()
def _search_file_from_job_path(self, device_id, search_in_sub_path=False):
"""
Search framework files from job path.
Args:
device_id (str): The device ID.
search_in_sub_path (bool): `True` if search file in profiling dir,
else search in profiling sub dir. Default: False.
Raises:
ProfilerRawFileException: If the framework file type is inconsistent.
ProfilerDeviceIdMismatchException: If the device id is mismatch
with framework in the raw dir.
"""
profiling_dir = os.path.join(self._profiling_path, 'data') \
if search_in_sub_path else self._profiling_path
if not os.path.isdir(profiling_dir):
return
files = os.listdir(profiling_dir)
for file in files:
pattern = re.search(self._regex_framework, file)
if not pattern or file.endswith('.done'):
continue
attrs = pattern.groupdict()
device_id_in_path = attrs.get('device_id')
if device_id_in_path != device_id:
raise ProfilerDeviceIdMismatchException()
data_type = attrs.get('data_type')
if data_type.startswith('vm.'):
if self._backend_type and self._backend_type != 'vm':
raise ProfilerRawFileException('Backend type is inconsistent.')
self._backend_type = 'vm'
data_type = data_type.split('.')[1]
else:
if self._backend_type and self._backend_type != 'ge':
raise ProfilerRawFileException('Backend type is inconsistent.')
self._backend_type = 'ge'
if data_type.startswith('graph_desc_info'):
self._framework_path['graph'].append(
os.path.join(profiling_dir, file)
)
elif data_type.startswith('task_desc_info'):
self._framework_path['task'].append(
os.path.join(profiling_dir, file)
)
elif data_type.startswith('point'):
self._framework_path['point'].append(
os.path.join(profiling_dir, file)
)
def _search_file_from_data_path(self, profiling_id, device_id):
"""
Search framework files from data path.
Args:
profiling_id (str): The profiling ID.
device_id (str): The device ID.
Raises:
ProfilerRawFileException: If the framework file type is inconsistent.
ProfilerDeviceIdMismatchException: If the device id is mismatch
with framework in the raw dir.
"""
profiling_data_path = os.path.join(
self._raw_data_dir, 'container', device_id, 'data'
)
if not os.path.isdir(profiling_data_path):
return
files = os.listdir(profiling_data_path)
for file in files:
pattern = re.search(self._regex_framework_in_data, file)
if not pattern or file.endswith('.done') or file.endswith('.zip'):
continue
attrs = pattern.groupdict()
profiling_id_in_path = attrs.get('profiling_id')
if profiling_id_in_path != profiling_id:
continue
device_id_in_path = attrs.get('device_id')
if device_id_in_path != device_id:
raise ProfilerDeviceIdMismatchException()
data_type = attrs.get('data_type')
if data_type.startswith('vm.'):
if self._backend_type and self._backend_type != 'vm':
raise ProfilerRawFileException('Backend type is inconsistent.')
self._backend_type = 'vm'
data_type = data_type.split('.')[1]
else:
if self._backend_type and self._backend_type != 'ge':
raise ProfilerRawFileException('Backend type is inconsistent.')
self._backend_type = 'ge'
if data_type.startswith('graph_desc_info'):
self._framework_path['graph'].append(
os.path.join(profiling_data_path, file)
)
elif data_type.startswith('task_desc_info'):
self._framework_path['task'].append(
os.path.join(profiling_data_path, file)
)
elif data_type.startswith('point'):
self._framework_path['point'].append(
os.path.join(profiling_data_path, file)
)
def _get_save_path(self, device_id, output_path):
"""
Get the save path.
Args:
device_id (str): The device ID.
output_path (str): The output dir.
Returns:
str, the save path.
Raises:
ProfilerPathErrorException: If the output path is invalid.
ProfilerDirNotFoundException: If the output dir is not found.
"""
try:
output_dir = validate_and_normalize_path(output_path, 'profiler')
except ValidationError:
raise ProfilerPathErrorException('Output path is invalid.')
if not os.path.isdir(output_dir):
raise ProfilerDirNotFoundException(output_dir)
return os.path.join(
output_dir, '_'.join(['framework', 'raw', device_id]) + '.csv'
)
def _parse_task_files(self):
"""Parse the framework task files."""
for path in self._framework_path['task']:
with open(path, 'r') as file:
for task_info in file:
infos = task_info.strip('\n').split(' ')
# key is op name, values is task id, stream id, block_dim
self._task_cache[infos[0]] = [infos[2], infos[3], infos[1]]
# if the task id is less than the task id threshold, the
# stream id and task id correspond to an operator
task_id = infos[2]
if int(task_id) < self._task_id_threshold:
task_id = '_'.join([infos[3], task_id])
self._task_id_full_op_name_dict[task_id] = infos[0]
def _parse_graph_files_and_save(self, task_cache):
"""
Parse the framework graph files and save the framework information.
Args:
task_cache (dict): The task information cache.
"""
with open(self._save_path, 'w') as save_file:
csv_writer = csv.writer(save_file)
csv_writer.writerow(self._col_names)
for path in self._framework_path['graph']:
with open(path, 'r') as graph_file:
for graph_info in graph_file:
result = self._parse_one_row_graph_info(graph_info)
task_info = task_cache.get(result[0])
if task_info:
task_info.extend(result)
csv_writer.writerow(task_info)
del task_cache[result[0]]
else:
save_info = [None, None, None]
save_info.extend(result)
csv_writer.writerow(save_info)
none_list = [None, None, None, None]
for key, value in task_cache.items():
value.append(key)
value.extend(none_list)
csv_writer.writerow(value)
def _parse_one_row_graph_info(self, row_info):
"""
Parse the graph information in one row.
Args:
row_info (str): One row graph information.
Returns:
list[str], the parsed graph information.
"""
full_op_name = None
op_name = None
subgraph_name = None
op_type = None
op_info = dict()
cur_op_info_key = None
infos = row_info.strip('\n').split(' ')
for info in infos:
attr_name, attr_value = info.split(':', 1)
if attr_name == 'op_name':
full_op_name = attr_value
subgraph_name = self._get_subgraph_name(full_op_name)
op_name = self._get_op_name(full_op_name, subgraph_name)
elif attr_name == 'op_type':
op_type = attr_value
elif attr_name in ['input_id', 'output_id']:
cur_op_info_key = '{}_{}'.format(
attr_name.split('_')[0], attr_value
)
op_info[cur_op_info_key] = dict()
elif attr_name in self._graph_attr_name:
op_attr = attr_name.split('_', 1)[1]
if op_attr == 'shape':
attr_value = attr_value.strip('"')
if self._backend_type == 'vm':
if op_attr == 'data_type':
attr_value = VmDataType.get_data_type_name(
int(attr_value)
)
else:
if op_attr == 'data_type':
attr_value = GeDataType.get_data_type_name(
int(attr_value)
)
elif op_attr == 'format':
attr_value = GeFormat.get_format_name(int(attr_value))
op_info[cur_op_info_key][op_attr] = attr_value
# the list info are full_op_name, op_name, op_type, subgraph, op_info
return [full_op_name, op_name, op_type, subgraph_name,
json.dumps(op_info)]
def _get_subgraph_name(self, full_op_name):
"""
Get subgraph name.
Args:
full_op_name (str): The full operator name.
Returns:
str, the subgraph name.
"""
subgraph_name = full_op_name.split('/', 1)[0]
if subgraph_name in ['Default', 'Gradients']:
return subgraph_name
return None
def _get_op_name(self, full_op_name, subgraph_name):
"""
Get operator name.
Args:
full_op_name (str): The full operator name.
subgraph_name (str): The subgraph name.
Returns:
str, the operator name.
"""
if subgraph_name is None:
return full_op_name
if self._backend_type == 'vm':
return full_op_name.split('/')[-1]
strs = full_op_name.split(subgraph_name + '/')
op_name = None
for name_str in strs:
if not name_str:
continue
if op_name is None:
op_name = name_str.split('/')[-1]
else:
op_name = '+'.join([op_name, name_str.split('/')[-1]])
return op_name
def _parse_point_files(self):
"""Parse the framework point files."""
for path in self._framework_path['point']:
with open(path, 'r') as file:
for point_info in file:
infos = point_info.strip('\n').split(' ')
self._point_info[int(infos[0])] = infos[1]
# Copyright 2020 Huawei Technologies Co., Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# 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.
# ============================================================================
"""The parser for hwts log file."""
import os
import struct
from mindinsight.profiler.common._utils import fwrite_format, get_file_join_name
from mindinsight.profiler.common.log import logger
class HWTSLogParser:
"""
The Parser for hwts log files.
Args:
_input_path (str): The profiling job path. Such as: '/var/log/npu/profiling/JOBAIFGJEJFEDCBAEADIFJAAAAAAAAAA".
output_filename (str): The output data path and name. Such as: './output_format_data_hwts_0.txt'.
"""
_source_file_target = 'hwts.log.data.45.dev.profiler_default_tag'
_dst_file_title = 'title:45 HWTS data'
_dst_file_column_title = 'Type cnt Core_ID Block_ID Task_ID Cycle_counter Stream_ID'
def __init__(self, input_path, output_filename):
self._input_path = input_path
self._output_filename = output_filename
self._source_flie_name = self._get_source_file()
def _get_source_file(self):
"""Get hwts log file name, which was created by ada service."""
file_name = get_file_join_name(self._input_path, self._source_file_target)
if not file_name:
data_path = os.path.join(self._input_path, "data")
file_name = get_file_join_name(data_path, self._source_file_target)
if not file_name:
msg = ("Fail to find hwts log file, under profiling directory")
raise RuntimeError(msg)
return file_name
def execute(self):
"""
Execute the parser, get result data, and write it to the output file.
Returns:
bool, whether succeed to analyse hwts log.
"""
content_format = ['QIIIIIIIIIIII', 'QIIQIIIIIIII', 'IIIIQIIIIIIII']
log_type = ['Start of task', 'End of task', 'Start of block', 'End of block', 'Block PMU']
result_data = ""
with open(self._source_flie_name, 'rb') as hwts_data:
while True:
line = hwts_data.read(64)
if line:
if not line.strip():
continue
else:
break
byte_first_four = struct.unpack('BBHHH', line[0:8])
byte_first = bin(byte_first_four[0]).replace('0b', '').zfill(8)
ms_type = byte_first[-3:]
is_warn_res0_ov = byte_first[4]
cnt = int(byte_first[0:4], 2)
core_id = byte_first_four[1]
blk_id, task_id = byte_first_four[3], byte_first_four[4]
if ms_type in ['000', '001', '010']: # log type 0,1,2
result = struct.unpack(content_format[0], line[8:])
syscnt = result[0]
stream_id = result[1]
elif ms_type == '011': # log type 3
result = struct.unpack(content_format[1], line[8:])
syscnt = result[0]
stream_id = result[1]
elif ms_type == '100': # log type 4
result = struct.unpack(content_format[2], line[8:])
stream_id = result[2]
if is_warn_res0_ov == '0':
syscnt = result[4]
else:
syscnt = None
else:
logger.info("Profiling: invalid hwts log record type %s", ms_type)
continue
if int(task_id) < 25000:
task_id = str(stream_id) + "_" + str(task_id)
result_data += ("%-14s %-4s %-8s %-9s %-8s %-15s %s\n" %(log_type[int(ms_type, 2)], cnt, core_id,
blk_id, task_id, syscnt, stream_id))
fwrite_format(self._output_filename, data_source=self._dst_file_title, is_start=True)
fwrite_format(self._output_filename, data_source=self._dst_file_column_title)
fwrite_format(self._output_filename, data_source=result_data)
return True
# Copyright 2020 Huawei Technologies Co., Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# 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.
# ============================================================================
"""Minddata aicpu parser."""
import os
from tabulate import tabulate
from mindinsight.profiler.common._utils import get_file_join_name, fwrite_format
from mindinsight.profiler.common.log import logger
class MinddataParser:
"""Minddata Aicpu Parser."""
@staticmethod
def parse_minddata_aicpu_data(minddata_aicpu_source_path):
"""
Parse minddata get_next info which contains queue size and execute time.
Args:
minddata_aicpu_source_path (str): the source file path.
Returns:
list[Union[str, float]], the converted data.
"""
result = list()
try:
with open(minddata_aicpu_source_path) as source_data_file:
source_data = source_data_file.read()
step_data = source_data.split("\x00")
for one_step in step_data:
if one_step:
node_info = one_step.split(", ")
node_name, node_start, node_end, queue_size = "", 0, 0, 0
if node_info:
node_name = node_info[0].replace("Node:", "")
if len(node_info) > 2:
node_start = node_info[1].replace("Run start:", "")
if node_start.isdigit():
node_start = int(node_start)
node_end = node_info[2].replace("Run end:", "")
if node_end.isdigit():
node_end = int(node_end)
if len(node_info) > 3:
queue_size = node_info[3].replace("queue size:", "")
if queue_size.isdigit():
queue_size = int(queue_size)
one_step_list = [node_name, node_start, node_end, queue_size]
result.append(one_step_list)
except OSError:
logger.error("Open get_next profiling file error.")
return result
@staticmethod
def execute(source_path, output_path, device_id):
"""
Execute the parser.
Args:
source_path (str): the source file path.
output_path (str): the output file path.
device_id (str): the device id.
"""
col_names = ["node_name", "start_time", "end_time", "queue_size"]
minddata_aicpu_source_path = get_file_join_name(
input_path=source_path, file_name='DATA_PREPROCESS.dev.AICPUMI')
if not minddata_aicpu_source_path:
minddata_aicpu_source_path = get_file_join_name(
input_path=os.path.join(source_path, "data"), file_name='DATA_PREPROCESS.dev.AICPUMI')
if not minddata_aicpu_source_path:
return
minddata_aicpu_output_path = os.path.join(output_path, "minddata_aicpu_" + device_id + ".txt")
minddata_aicpu_data = MinddataParser.parse_minddata_aicpu_data(minddata_aicpu_source_path)
if minddata_aicpu_data:
fwrite_format(
minddata_aicpu_output_path,
tabulate(minddata_aicpu_data, col_names, tablefmt='simple'),
is_start=True
)
# Copyright 2020 Huawei Technologies Co., Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# 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.
# ============================================================================
"""Thr parser for parsing minddata pipeline files."""
import csv
import json
import os
from queue import Queue
from marshmallow import ValidationError
from mindinsight.profiler.common.exceptions.exceptions import \
ProfilerPathErrorException, ProfilerFileNotFoundException, \
ProfilerDirNotFoundException, ProfilerRawFileException
from mindinsight.profiler.common.log import logger
from mindinsight.profiler.common.validator.validate_path import \
validate_and_normalize_path
class MinddataPipelineParser:
"""
Thr parser for parsing minddata pipeline files.
Args:
source_dir (str): The minddata pipeline source dir.
device_id (str): The device ID.
output_path (str): The directory of the parsed file. Default: `./`.
Raises:
ProfilerPathErrorException: If the minddata pipeline file path or
the output path is invalid.
ProfilerFileNotFoundException: If the minddata pipeline file or
the output dir does not exist.
"""
_raw_pipeline_file_name = 'pipeline_profiling_{}.json'
_parsed_pipeline_file_name = 'minddata_pipeline_raw_{}.csv'
_col_names = [
'op_id', 'op_type', 'num_workers', 'output_queue_size',
'output_queue_average_size', 'output_queue_length',
'output_queue_usage_rate', 'sample_interval', 'parent_id', 'children_id'
]
def __init__(self, source_dir, device_id, output_path='./'):
self._device_id = device_id
self._pipeline_path = self._get_pipeline_path(source_dir)
self._save_path = self._get_save_path(output_path)
@property
def save_path(self):
"""
The property of save path.
Returns:
str, the save path.
"""
return self._save_path
def parse(self):
"""
Parse the minddata pipeline files.
Raises:
ProfilerRawFileException: If fails to parse the raw file of
minddata pipeline or the file is empty.
"""
with open(self._pipeline_path, 'r') as file:
try:
pipeline_info = json.load(file)
except (json.JSONDecodeError, TypeError) as err:
logger.exception(err)
raise ProfilerRawFileException(
'Fail to parse minddata pipeline file.'
)
if not pipeline_info:
logger.warning('The minddata pipeline file is empty.')
raise ProfilerRawFileException(
'The minddata pipeline file is empty.'
)
self._parse_and_save(pipeline_info)
def _get_pipeline_path(self, source_dir):
"""
Get the minddata pipeline file path.
Args:
source_dir (str): The minddata pipeline source dir.
Returns:
str, the minddata pipeline file path.
"""
pipeline_path = os.path.join(
source_dir,
self._raw_pipeline_file_name.format(self._device_id)
)
try:
pipeline_path = validate_and_normalize_path(pipeline_path, 'profiler')
except ValidationError:
logger.warning('Minddata pipeline file is invalid.')
raise ProfilerPathErrorException('Minddata pipeline file is invalid.')
if not os.path.isfile(pipeline_path):
logger.warning(
'The minddata pipeline file <%s> not found.', pipeline_path
)
raise ProfilerFileNotFoundException(pipeline_path)
return pipeline_path
def _get_save_path(self, output_path):
"""
Get the save path.
Args:
output_path (str): The output dir.
Returns:
str, the save path.
"""
try:
output_dir = validate_and_normalize_path(output_path, 'profiler')
except ValidationError:
logger.warning('Output path is invalid.')
raise ProfilerPathErrorException('Output path is invalid.')
if not os.path.isdir(output_dir):
logger.warning('The output dir <%s> not found.', output_dir)
raise ProfilerDirNotFoundException(output_dir)
return os.path.join(
output_dir, self._parsed_pipeline_file_name.format(self._device_id)
)
def _parse_and_save(self, pipeline_info):
"""
Parse and save the parsed minddata pipeline file.
Args:
pipeline_info (dict): The pipeline info reads from the raw file of
the minddata pipeline.
Raises:
ProfilerRawFileException: If the format of minddata pipeline raw
file is wrong.
"""
sample_interval = pipeline_info.get('sampling_interval')
op_info = pipeline_info.get('op_info')
if sample_interval is None or not op_info:
raise ProfilerRawFileException(
'The format of minddata pipeline raw file is wrong.'
)
op_id_info_cache = {}
for item in op_info:
op_id_info_cache[item.get('op_id')] = item
with open(self._save_path, 'w') as save_file:
csv_writer = csv.writer(save_file)
csv_writer.writerow(self._col_names)
self._parse_and_save_op_info(
csv_writer, op_id_info_cache, sample_interval
)
def _parse_and_save_op_info(self, csv_writer, op_id_info_cache,
sample_interval):
"""
Parse and save the minddata pipeline operator information.
Args:
csv_writer (csv.writer): The csv writer.
op_id_info_cache (dict): The operator id and information cache.
sample_interval (int): The sample interval.
Raises:
ProfilerRawFileException: If the operator that id is 0 does not exist.
"""
queue = Queue()
root_node = op_id_info_cache.get(0)
if not root_node:
raise ProfilerRawFileException(
'The format of minddata pipeline raw file is wrong, '
'the operator that id is 0 does not exist.'
)
root_node['parent_id'] = None
queue.put_nowait(root_node)
while not queue.empty():
node = queue.get_nowait()
self._update_child_node(node, op_id_info_cache)
csv_writer.writerow(self._get_op_info(node, sample_interval))
op_id = node.get('op_id')
children_ids = node.get('children')
if not children_ids:
continue
for child_op_id in children_ids:
sub_node = op_id_info_cache.get(child_op_id)
sub_node['parent_id'] = op_id
queue.put_nowait(sub_node)
def _update_child_node(self, node, op_id_info_cache):
"""
Updates the child node information of the operator.
Args:
node (dict): The node represents an operator.
op_id_info_cache (dict): The operator id and information cache.
"""
child_op_ids = node.get('children')
if not child_op_ids:
return
queue = Queue()
self._cp_list_item_to_queue(child_op_ids, queue)
new_child_op_ids = []
while not queue.empty():
child_op_id = queue.get_nowait()
child_node = op_id_info_cache.get(child_op_id)
if child_node is None:
continue
metrics = child_node.get('metrics')
if not metrics or not metrics.get('output_queue'):
op_ids = child_node.get('children')
if op_ids:
self._cp_list_item_to_queue(op_ids, queue)
else:
new_child_op_ids.append(child_op_id)
node['children'] = new_child_op_ids
def _get_op_info(self, op_node, sample_interval):
"""
Get the operator information.
Args:
op_node (dict): The node represents an operator.
sample_interval (int): The sample interval.
Returns:
list[str, int, float], the operator information.
"""
queue_size = None
queue_average_size = None
queue_length = None
queue_usage_rate = None
metrics = op_node.get('metrics')
if metrics:
output_queue = metrics.get('output_queue')
if output_queue:
queue_size = output_queue.get('size')
queue_average_size = sum(queue_size) / len(queue_size)
queue_length = output_queue.get('length')
queue_usage_rate = queue_average_size / queue_length
children_id = op_node.get('children')
op_info = [
op_node.get('op_id'),
op_node.get('op_type'),
op_node.get('num_workers'),
queue_size,
queue_average_size,
queue_length,
queue_usage_rate,
sample_interval,
op_node.get('parent_id'),
children_id if children_id else None
]
return op_info
def _cp_list_item_to_queue(self, inner_list, queue):
"""
Copy the contents of a list to a queue.
Args:
inner_list (list): The list.
queue (Queue): The target queue.
"""
for item in inner_list:
queue.put_nowait(item)
# Copyright 2020 Huawei Technologies Co., Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# 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.
# ============================================================================
"""Op compute time files parser."""
import os
from mindinsight.profiler.common._utils import fwrite_format
from mindinsight.profiler.common.exceptions.exceptions import ProfilerFileNotFoundException, \
ProfilerIOException
from mindinsight.profiler.common.log import logger
from mindinsight.profiler.common.validator.validate_path import validate_and_normalize_path
from mindinsight.profiler.parser.container import HWTSContainer
TIMELINE_FILE_COLUMN_TITLE = 'op_name, stream_id, start_time(ms), duration(ms)'
class OPComputeTimeParser:
"""
Join hwts info and framework info, get op time info, and output to the result file.
Args:
hwts_output_file (str): The file path of hwts_output_file. Such as: './output_format_data_hwts_0.txt".
output_filename (str): The output data file path and name. Such as: './output_op_compute_time_0.txt'.
op_task_info (dict): The task and op relation info. The format: {task_id, [opname, stream_id, block dim]}.
"""
_dst_file_title = 'title:op compute time'
_dst_file_column_title = 'op_name compute_time(ms) stream_id'
_dst_file_column_title += '\n------------ --------------- ---------'
def __init__(self, hwts_output_file, output_filename, op_task_info,
output_path, device_id):
hwts_output_file = validate_and_normalize_path(
hwts_output_file, raise_key='Invalid hwts output file path.'
)
self._hwts_output_file = hwts_output_file
self._output_filename = output_filename
self._op_task_info = op_task_info
self._output_path = output_path
self._device_id = device_id
self._min_cycle_counter = float("inf")
def _get_op_task_id_map(self):
"""
Read hwts data file, get the task time info.
Returns:
list: all hwts task time info.
"""
op_map_result = []
hwts_list = []
if not os.path.exists(self._hwts_output_file):
logger.error('The hwts output file does not exist.')
raise ProfilerFileNotFoundException('hwts output file')
with open(self._hwts_output_file, 'r') as data_file:
lines = data_file.readlines()
for line in lines:
if line.startswith("Start of task") or line.startswith("End of task"):
line_split = line.split()
container = HWTSContainer(line_split)
hwts_list.append(container)
# hwts op map by taskId
for hwts in hwts_list:
if hwts.task_id in self._op_task_info.keys():
hwts.op_name = self._op_task_info[hwts.task_id]
op_map_result.append(hwts)
return op_map_result
def execute(self):
"""Execute the parser, compute all op, get op time, and write it to the output file."""
# Calculate the execution time of operators,
# and update the minimum cycle counter.
tmp_result_data = self._calculate_op_execution_time()
# Convert time units from nanoseconds to milliseconds.
# The unit of the cycle counter is 10 nanoseconds.
op_name_time_dict = {}
op_name_stream_dict = {}
op_name_count_dict = {}
op_name_task_dict = {}
op_name_start_time = {}
self._convert_op_time_unit(
tmp_result_data, op_name_time_dict, op_name_stream_dict,
op_name_count_dict, op_name_task_dict, op_name_start_time
)
result_data = ""
total_time = 0
for op_name, time in op_name_time_dict.items():
if op_name in op_name_stream_dict.keys():
stream_id = op_name_stream_dict[op_name]
avg_time = time / op_name_count_dict[op_name]
total_time += avg_time
result_data += ("%s %s %s\n" %(op_name, str(avg_time), stream_id))
result_data += ("total op %s 0" %(str(total_time)))
timeline_data = []
for op_name, time in op_name_time_dict.items():
if op_name in op_name_stream_dict.keys():
stream_id = op_name_stream_dict[op_name]
start_time_list = op_name_start_time.get(op_name)
for (start_time, duration) in start_time_list:
timeline_data.append([op_name, stream_id, start_time, duration])
# Write the metadata of operators into the file,
# including operator name, average time, and stream id.
self._write_op_time_into_file(result_data)
# Write the timeline data into file,
# including operator name, stream id, start time, and duration.
self._write_timeline_data_into_file(timeline_data)
def _write_op_time_into_file(self, result_data):
"""
Write the metadata of operators into the file, including
op name, average time, and stream id.
Args:
result_data (str): The metadata to be written into the file.
'op_name_1', 'avg_time_1', 'stream_id_1',
'op_name_2', 'avg_time_2', 'stream_id_2',
...
"""
fwrite_format(self._output_filename, data_source=self._dst_file_title, is_start=True)
fwrite_format(self._output_filename, data_source=self._dst_file_column_title)
fwrite_format(self._output_filename, data_source=result_data)
def _write_timeline_data_into_file(self, timeline_data):
"""
Write the timeline information into the file, including
operator name, stream id, start time and duration.
Args:
timeline_data (list): The metadata to be written into the file.
[
['op_name_1', 'stream_id_1', 'start_time_1', 'durarion_1'],
['op_name_2', 'stream_id_2', 'start_time_2', 'durarion_2'],
[...]
]
"""
# sorted by start times
timeline_data.sort(key=lambda x: float(x[2]))
filename = 'output_timeline_data_{}.txt'.format(self._device_id)
file_path = os.path.join(self._output_path, filename)
file_path = validate_and_normalize_path(file_path, raise_key='Invalid file path of timeline data.')
# write to file
try:
with open(file_path, 'w') as f_obj:
f_obj.write(TIMELINE_FILE_COLUMN_TITLE + '\n')
for timeline in timeline_data:
timeline = [str(item) for item in timeline]
f_obj.write(','.join(timeline) + '\n')
except (IOError, OSError) as err:
logger.error('Error occurred when writing intermediate timeline file: %s', err)
raise ProfilerIOException
def _calculate_op_execution_time(self):
"""
Calculate the execution time of each operator.
Returns:
list, including the intermediate data of op execution time.
"""
tmp_result_data = []
op_map_list = self._get_op_task_id_map()
cur_index = 0
length = len(op_map_list)
min_cycle_counter = float("inf")
while cur_index < length:
if cur_index + 1 == length:
break
op_start = op_map_list[cur_index]
op_end = op_map_list[cur_index + 1]
if op_start.status == "Start" and op_end.status == "End" \
and op_start.op_name == op_end.op_name:
op_start.duration = op_end.cycle_counter - op_start.cycle_counter
tmp_result_data.append(op_start)
cur_index += 2
if not op_start.op_name.startswith("assign"):
min_cycle_counter = min(min_cycle_counter, op_start.cycle_counter)
else:
cur_index += 1
# Update the value of minimum cycle counter.
self._min_cycle_counter = min_cycle_counter / 1e5 # Convert the time unit from 10ns to 1ms
return tmp_result_data
def _convert_op_time_unit(self, op_data_list, op_name_time_dict, op_name_stream_dict,
op_name_count_dict, op_name_task_dict, op_name_start_time):
"""
Calculate the execution time of operator and convert it into millisecond.
Args:
op_data_list (list): The list of operator metadata.
op_name_time_dict (dict): The mapping relation of operator name and its execution time.
op_name_stream_dict (dict): The mapping relation of operator name and its stream id.
op_name_count_dict (dict): The mapping relation of operator name and its count.
op_name_task_dict (dict): The mapping relation of operator name and its task id.
op_name_start_time (dict): The mapping relation of operator name and its start time.
"""
factor = 1e5
for item in op_data_list:
op_name = item.op_name
# Unit conversion: converting the cycle counter into ms.
op_start_time_str = str(item.cycle_counter / factor)
op_duration = item.duration / factor
op_duration_str = str(item.duration / factor)
if op_name in op_name_time_dict.keys():
op_name_time_dict[op_name] += op_duration
if item.task_id == op_name_task_dict[op_name]:
op_name_count_dict[op_name] += 1
op_name_start_time[op_name].append(
(op_start_time_str, op_duration_str)
)
else:
op_name_time_dict[op_name] = op_duration
op_name_stream_dict[op_name] = item.stream_id
op_name_task_dict[op_name] = item.task_id
op_name_count_dict[op_name] = 1
op_name_start_time[op_name] = []
op_name_start_time[op_name].append(
(op_start_time_str, op_duration_str)
)
@property
def min_cycle_counter(self):
"""Get minimum cycle counter."""
return self._min_cycle_counter
# Copyright 2020 Huawei Technologies Co., Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# 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.
# ============================================================================
"""The parser for step trace data."""
import csv
import json
import os
import stat
import struct
from collections import namedtuple
from decimal import Decimal
from mindinsight.profiler.common.exceptions.exceptions import ProfilerPathErrorException, \
JobIdMismatchException, ProfilerIOException
from mindinsight.profiler.common.log import logger as log
from mindinsight.profiler.common.util import get_summary_for_step_trace
StepTraceStruct = namedtuple(
'TrainingTraceStruct', ['tag_id', 'task_id', 'stream_id', 'sys_count']
)
class StepTraceParser:
"""
The parser for step trace data.
Args:
input_dir (str): The directory that contains original step trace data.
output_file_path (str): The output file path.
job_id (int): The job id used to define the start of new step. Default: 0.
skip_first_step (bool): Whether skip the first step or not.
"""
_event_size = 20
_fp_tag = 1
_bp_tag = 2
_end_tag = 255
def __init__(self, input_dir, output_file_path, job_id=0, skip_first_step=False):
self._input_dir = input_dir
self._output_path = output_file_path
self._job_id = job_id
self._skip_first_step = skip_first_step
self._result = []
self._header = []
self._step_num = 0
self._tag_map = {}
@property
def output_file(self):
"""The property of step trace header."""
file_name = self._output_path.rsplit('/', 2)
return file_name[-1] if len(file_name) == 3 else ''
def show(self):
"""The property of step trace info."""
summary_info = {}
if self._result:
summary_info = get_summary_for_step_trace(self._result[-1], self._header)
summary_info['total_steps'] = len(self._result) - 1
print('\nStep trace summary info (unit: syscnt):')
print(summary_info)
print('\nThe step trace parse result saves under ${summary_dir}/profiler/%s'
% self.output_file)
def parse_and_save(self):
"""Parse step trace files and save the result."""
try:
source_files = self._get_step_trace_files()
self._parse(source_files)
self._save()
except IOError as err:
log.exception(err)
raise ProfilerIOException()
else:
log.info("Finish to save intermediate result for step trace file.")
def record_point_info(self, point_info, output_path):
"""
Record point info into json.
Args:
point_info (dict): The point info about tag id and relative op name.
output_path (str): The output path for saving point info.
Returns:
dict, parsed point info.
"""
points = {
'fp_start': point_info.get(self._fp_tag, ''),
'bp_end': point_info.get(self._bp_tag, '')
}
try:
with open(output_path, 'w') as json_file:
json.dump(points, json_file)
os.chmod(output_path, stat.S_IREAD)
except (IOError, OSError) as err:
log.warning('Failed to save point info. %s', err)
raise ProfilerIOException
return points
def update_tag_op_type_map(self, point_info):
"""
update the map from tag id to op type.
Args:
point_info (dict): The point info about tag id and relative op name.
"""
tag_map = {}
for tag, op_name in point_info.items():
op_type = self._get_op_type(tag, op_name)
tag_map[tag] = op_type
log.info("Get tag types for step trace analysis: %s", tag_map)
self._tag_map = tag_map
def _get_op_type(self, tag, name):
"""
Get op type from tag and name.
Args:
tag (int): The tag id.
name (str): The op name.
Returns:
str, the op type.
"""
tag_map = {self._fp_tag: 'fp', self._bp_tag: 'bp', self._end_tag: 'end'}
# get solid tag type
op_type = tag_map.get(tag, '')
if op_type:
return op_type
# check if the tag is step tag.
if tag > self._end_tag or tag == 0:
return 'start'
# analyze the reduce tag
op_type = name.rsplit('/', 1)[-1].split('-')[0]
if not op_type:
log.warning("Unexpected op name:%s", name)
return op_type
def _get_step_trace_files(self):
"""Get step trace files."""
# step trace files may under $profiler_dir or $profiler_dir/data
profiler_dir = self._input_dir
step_trace_files = self._search_file(profiler_dir)
if not step_trace_files:
# try to find step trace files under $profiler_dir/data
profiler_dir = os.path.join(profiler_dir, 'data')
step_trace_files = self._search_file(profiler_dir)
if not step_trace_files:
raise ProfilerPathErrorException('Training trace file does not exist.')
return step_trace_files
@staticmethod
def _search_file(input_dir):
"""Search step trace file under specific input directory."""
# validate input_dir
if not os.path.isdir(input_dir):
raise ProfilerPathErrorException(
'{} does not exist or is not a dir'.format(input_dir)
)
# get step trace files
files = os.listdir(input_dir)
step_trace_files = list(
filter(
lambda file: file.startswith('training_trace') and not file.endswith('.done'),
files
)
)
# validate result
if len(step_trace_files) > 1:
# the format of file name is like
# `training_trace.46.dev.profiler_default_tag.$id.slice_$number`
# use the $number as the sorted key
try:
step_trace_files.sort(key=lambda path: int(path.rsplit('_', 1)[-1]))
except ValueError as err:
log.warning("Unable to parse file names: %s. %s", step_trace_files, err)
step_trace_files = []
file_paths = [os.path.join(input_dir, file) for file in step_trace_files]
log.info("Find %d step trace files.", len(file_paths))
return file_paths
def _parse(self, source_files):
"""Parse source step trace files."""
log.info("Start to parse step trace file.")
event_info = {}
for source_file in source_files:
with open(source_file, 'rb') as handler:
content = handler.read()
for step_trace in self._get_next_step_trace(content, event_info):
if self._skip_first_step:
self._skip_first_step = False
continue
self._record_trace_event(step_trace)
self._record_average_info()
log.info("Finish to parse step trace file.")
def _get_next_step_trace(self, content, event_info):
"""
Get next step trace info.
Args:
content (bytes): The input step trace info.
event_info (dict): The event info.
Returns:
Generator, return the step trace one by one.
"""
for pos in range(0, len(content), 20):
next_event = self._get_trace_struct(content[pos:pos + self._event_size])
self._construct_event_info(next_event, event_info)
if event_info.get('end'):
yield event_info
def _get_trace_struct(self, bin_info):
"""Translate event info to StepTraceStruct."""
if len(bin_info) == self._event_size:
parsed_info = struct.unpack('=QHHQ', bin_info)
return StepTraceStruct(*parsed_info)
return None
def _construct_event_info(self, next_event, event_info):
"""Construct event info according to next_event."""
min_job_id = 255
step_flag: bool = lambda tag: tag > min_job_id or tag == 0
end_flag: bool = lambda tag: tag == min_job_id
fp_flag: bool = lambda tag: tag == self._fp_tag
bp_flag: bool = lambda tag: tag == self._bp_tag
def _on_step_event():
"""Handle step event."""
self._validate_tag_id(tag_id)
start_time = event_info.get('end', '-')
event_info.clear()
event_info['start'] = start_time
event_info['reduce'] = {}
def _on_reduce_event(reduce_tag_id):
"""Handle reduce event."""
stream_id = next_event.stream_id
if event_info['reduce'].get(stream_id):
event_info['reduce'][stream_id].append((reduce_tag_id, sys_count))
else:
event_info['reduce'][stream_id] = [(reduce_tag_id, sys_count)]
tag_id = next_event.tag_id
sys_count = next_event.sys_count
if end_flag(tag_id):
event_info['end'] = sys_count
elif step_flag(tag_id):
_on_step_event()
elif fp_flag(tag_id):
event_info['fp'] = sys_count
elif bp_flag(tag_id):
event_info['bp'] = sys_count
else:
_on_reduce_event(tag_id)
def _validate_tag_id(self, job_id):
"""Check the job id in source step trace file is same as user set."""
if not self._job_id:
self._job_id = job_id
elif self._job_id != job_id:
raise JobIdMismatchException()
def _record_trace_event(self, step_trace):
"""Record trace event."""
self._step_num += 1
start_time = step_trace.get('start')
end_time = step_trace.get('end')
fp_time = step_trace.get('fp')
bp_time = step_trace.get('bp')
if not (start_time and end_time and fp_time and bp_time):
log.warning("The step %d lacks basic time.", self._step_num)
return
if start_time == '-':
start_time = fp_time
row_data = {
'step_num': self._step_num,
'start_point': start_time,
'end_point': end_time,
'total': end_time - start_time,
'fp_point': fp_time,
'bp_point': bp_time,
'iteration_interval': fp_time - start_time,
'fp_and_bp': bp_time - fp_time,
'tail': end_time - bp_time
}
# update reduce info
self._update_reduce_info(step_trace, row_data)
# save the row data
if not self._header:
self._header = list(row_data.keys())
row_data_list = [row_data.get(header_name, 0) for header_name in self._header]
self._result.append(row_data_list)
def _update_reduce_info(self, step_trace, row_data):
"""Extract reduce info."""
reduce_time = step_trace.get('reduce', {})
for stream_id, time_points in reduce_time.items():
time_point_num = len(time_points)
if time_point_num % 2:
log.warning("Stream %d has %d reduce time points.", stream_id, time_point_num)
continue
for index, point_id in enumerate(range(0, time_point_num, 2)):
field_name = f'stream_{stream_id}_{index}'
reduce_info = self._get_single_reduce_event_info(
field_name, time_points[point_id], time_points[point_id + 1])
row_data.update(reduce_info)
def _get_single_reduce_event_info(self, field_name, start_point, end_point):
"""
Get single reduce info.
Args:
field_name (str): The field name.
start_point (Tuple[int, int]): Start point time info, including (tag_id, sys_count).
end_point (Tuple[int, int]): End point time info, including (tag_id, sys_count).
Returns:
dict, reduce info.
"""
reduce_info = {}
if end_point[0] - start_point[0] != 1 or end_point[0] % 2:
log.warning("Unmatched reduce event <%s, %s>.", start_point, end_point)
return reduce_info
op_type = self._tag_map.get(start_point[0])
# append field name with op type.
if not op_type:
log.warning("Can't recognize the inner type for point tag: %d.", start_point[0])
field_name += '_parallel'
else:
field_name += '_' + op_type
reduce_info[field_name] = end_point[1] - start_point[1]
reduce_info[field_name + '_start_point'] = start_point[1]
reduce_info[field_name + '_end_point'] = end_point[1]
return reduce_info
def _record_average_info(self):
"""Calculate average info."""
result_size = len(self._result)
# calculate average data for each column in result data
average_data = [0] * len(self._header)
if result_size >= 2:
for row_info in self._result[1:]:
average_data = [
Decimal(i) + Decimal(j) for i, j in zip(row_info, average_data)
]
average_data = [
round((item / (result_size - 1))) for item in average_data
]
# change step num info in average_data to None
step_num_index = self._header.index('step_num')
average_data[step_num_index] = '-'
self._result.append(average_data)
log.info("Finish add average info for step trace.")
def _save(self):
log.info("Start to save step trace file.")
if not self._header:
return
with open(self._output_path, 'w') as file_handle:
csv_writer = csv.writer(file_handle)
csv_writer.writerow(self._header)
for row_data in self._result:
csv_writer.writerow(row_data)
os.chmod(self._output_path, stat.S_IREAD)
# Copyright 2020 Huawei Technologies Co., Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# 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.
# ============================================================================
"""Profiling api file."""
import os
import time
from marshmallow import ValidationError
from tabulate import tabulate
from mindinsight.profiler.analyser.analyser_factory import AnalyserFactory
from mindinsight.profiler.analyser.integrator import Integrator
from mindinsight.profiler.common._utils import get_file_names, fwrite_format
from mindinsight.profiler.common.exceptions.exceptions import ProfilerFileNotFoundException, \
ProfilerIOException
from mindinsight.profiler.common.log import logger
from mindinsight.profiler.common.validator.checkparam import \
check_bool, check_subgraph
from mindinsight.profiler.common.validator.validate_path import \
validate_and_normalize_path
from mindinsight.profiler.parser.aicpu_data_parser import DataPreProcessParser
from mindinsight.profiler.parser.framework_parser import FrameworkParser
from mindinsight.profiler.parser.hwts_log_parser import HWTSLogParser
from mindinsight.profiler.parser.minddata_parser import MinddataParser
from mindinsight.profiler.parser.minddata_pipeline_parser import \
MinddataPipelineParser
from mindinsight.profiler.parser.optime_parser import OPComputeTimeParser
from mindinsight.profiler.parser.step_trace_parser import StepTraceParser
from mindinsight.utils.exceptions import MindInsightException
PROFILING_LOG_BASE_PATH = "/var/log/npu/profiling"
INIT_OP_NAME = 'Default/InitDataSetQueue'
class Profiler:
"""
Performance profiling API.
Enable MindSpore users to profile the performance of neural network.
Args:
subgraph (str): Define which subgraph to monitor and analyse, can be 'all', 'Default', 'Gradients'.
is_detail (bool): Whether to show profiling data for op_instance level, only show optype level if False.
is_show_op_path (bool): Whether to save the full path for each op instance.
output_path (str): Output data path.
optypes_to_deal (str): Op type names, the data of which optype should be collected and analysed,
will deal with all op if null; Different op types should be seperated by comma.
optypes_not_deal (str): Op type names, the data of which optype will not be collected and analysed;
Different op types should be seperated by comma.
Examples:
>>> from mindinsight.profiler import Profiler
>>> context.set_context(mode=context.GRAPH_MODE, device_target="Ascend",
>>> device_id=int(os.environ["DEVICE_ID"]))
>>> profiler = Profiler(subgraph='all', is_detail=True, is_show_op_path=False, output_path='./data')
>>> model = Model(train_network)
>>> dataset = get_dataset()
>>> model.train(2, dataset)
>>> profiler.analyse()
"""
_base_profiling_container_path = "/var/log/npu/profiling/container"
_hwts_output_filename_target = "output_format_data_hwts_"
_opcompute_output_filename_target = "output_op_compute_time_"
_aicpu_op_output_filename_target = "output_data_preprocess_aicpu_"
def __init__(self, subgraph='all', is_detail=True, is_show_op_path=False, output_path='./data',
optypes_to_deal='', optypes_not_deal='Variable', job_id=""):
# get device_id and device_target
self._get_devid_and_devtarget()
self._container_path = os.path.join(self._base_profiling_container_path, self._dev_id)
data_path = os.path.join(self._container_path, "data")
if not os.path.exists(data_path):
os.makedirs(data_path, exist_ok=True)
self._output_path = validate_and_normalize_path(output_path,
'Profiler output path (' + output_path + ')')
self._output_path = os.path.join(self._output_path, "profiler")
if not os.path.exists(self._output_path):
os.makedirs(self._output_path, exist_ok=True)
os.environ['PROFILING_MODE'] = 'true'
os.environ['PROFILING_OPTIONS'] = 'training_trace:task_trace'
os.environ['MINDDATA_PROFILING_DIR'] = self._output_path
os.environ['DEVICE_ID'] = self._dev_id
# use context interface to open profiling, for the new mindspore version(after 2020.5.21)
try:
import mindspore.context as context
context.set_context(enable_profiling=True, profiling_options="training_trace:task_trace")
except ImportError:
logger.error("Profiling: fail to import context from mindspore.")
except ValueError:
logger.error("Profiling: fail to set context enable_profiling")
os.environ['AICPU_PROFILING_MODE'] = 'true'
os.environ['PROFILING_DIR'] = str(self._container_path)
self._subgraph = check_subgraph(subgraph)
self._valid_optype_name = optypes_to_deal.split(",") if optypes_to_deal else []
self._filt_optype_names = optypes_not_deal.split(",") if optypes_not_deal else []
self._detail = check_bool(is_detail, 'is_detail')
self._withfullpath = check_bool(is_show_op_path, 'is_show_op_path')
self._profiling_job_id = job_id
# add job id env through user input later
self._job_id_env = 0
self._start_time = int(time.time() * 10000000)
logger.info("Profiling: profiling start time: %d", self._start_time)
def analyse(self):
"""
Collect and analyse performance data, called after training or during training.
Examples:
>>> from mindinsight.profiler import Profiler
>>> context.set_context(mode=context.GRAPH_MODE, device_target="Ascend",
>>> device_id=int(os.environ["DEVICE_ID"]))
>>> profiler = Profiler(subgraph='all', is_detail=True, is_show_op_path=False, output_path='./data')
>>> model = Model(train_network)
>>> dataset = get_dataset()
>>> model.train(2, dataset)
>>> profiler.analyse()
"""
try:
from mindspore.communication.management import release
release()
except ImportError:
logger.error("Profiling: fail to import release from mindspore.")
job_id = self._get_profiling_job_id()
logger.info("Profiling: job id is %s ", job_id)
source_path = os.path.join(PROFILING_LOG_BASE_PATH, job_id)
# parse hwts.log.data.45.dev file, and get task profiling data
hwts_output_filename = self._hwts_output_filename_target + self._dev_id + ".txt"
hwts_output_filename = os.path.join(self._output_path, hwts_output_filename)
hwtslog_parser = HWTSLogParser(source_path, hwts_output_filename)
result = hwtslog_parser.execute()
if not result:
logger.error("Profiling: fail to parse hwts log file.")
return
# parse Framework file, and get the relation of op and tasks
framework_parser = FrameworkParser(job_id, self._dev_id, self._output_path)
framework_parser.parse()
op_task_dict = framework_parser.to_task_id_full_op_name_dict()
if not op_task_dict:
logger.error("Profiling: fail to parse framework files.")
return
# get op compute time from hwts data and framework data, write output_op_compute_time.txt
opcompute_output_filename = self._opcompute_output_filename_target + self._dev_id + ".txt"
opcompute_output_filename = os.path.join(self._output_path, opcompute_output_filename)
optime_parser = OPComputeTimeParser(
hwts_output_filename, opcompute_output_filename,
op_task_dict, self._output_path, self._dev_id
)
optime_parser.execute()
# parse DATA_PREPROCESS.dev.AICPU file, write output_data_preprocess_aicpu_x.txt
output_data_preprocess_aicpu = self._aicpu_op_output_filename_target + self._dev_id + ".txt"
output_data_preprocess_aicpu = os.path.join(self._output_path, output_data_preprocess_aicpu)
aicpu_data_parser = DataPreProcessParser(source_path, output_data_preprocess_aicpu)
aicpu_data_parser.execute()
# Parsing minddata AICPU profiling
MinddataParser.execute(source_path, self._output_path, self._dev_id)
# parse minddata pipeline operator and queue
try:
pipeline_parser = MinddataPipelineParser(self._output_path, self._dev_id, self._output_path)
pipeline_parser.parse()
except MindInsightException as err:
logger.warning(err.message)
# analyse op compute time info
try:
self._analyser_op_info()
except MindInsightException as err:
logger.warning(err.message)
# analyse step trace info
try:
self._analyse_step_trace(source_path, framework_parser)
except MindInsightException as err:
logger.warning(err.message)
# analyse timeline info
try:
self._analyse_timeline(aicpu_data_parser, optime_parser)
except (ProfilerIOException, ProfilerFileNotFoundException, ValidationError) as err:
logger.warning('Fail to write timeline data: %s', err)
def _analyse_step_trace(self, source_path, framework_parser):
"""
Analyse step trace data and save the result.
Args:
source_path (str): The directory that contains the step trace original data.
framework_parser (FrameworkParser): The framework parse instance.
"""
logger.info("Begin to parse step trace.")
# construct output path
step_trace_intermediate_file_path = os.path.join(
self._output_path,
f'step_trace_raw_{self._dev_id}_detail_time.csv'
)
point_info_file_path = os.path.join(
self._output_path,
'step_trace_point_info.json'
)
# whether keep the first step
skip_first_step_flag = framework_parser.check_op_name(INIT_OP_NAME)
point_info = framework_parser.point_info
# parser the step trace files and save the result to disk
parser = StepTraceParser(input_dir=source_path,
output_file_path=step_trace_intermediate_file_path,
job_id=self._job_id_env,
skip_first_step=skip_first_step_flag)
parser.update_tag_op_type_map(point_info)
parser.parse_and_save()
point_info = parser.record_point_info(point_info, point_info_file_path)
# print parser result
parser.show()
logger.info("Finish saving the intermediate result: %s", step_trace_intermediate_file_path)
logger.info("The point info is: %s", point_info)
def _analyse_timeline(self, aicpu_parser, optime_parser):
"""
Analyse and parse timeline info.
Args:
aicpu_parser (DataPreProcessParser): The parser instance for AI CPU operator
execution time calculation.
optime_parser (OPComputeTimeParserParser): The parser instance for AI Core
operator execution time calculation.
"""
timeline_analyser = AnalyserFactory.instance().get_analyser(
'timeline', self._output_path, self._dev_id
)
# Get framework info
aicoredetail_analyser = AnalyserFactory.instance().get_analyser(
'aicore_detail', self._output_path, self._dev_id
)
framework_info = aicoredetail_analyser.query()
# Get all reduce info
step_trace_analyser = AnalyserFactory.instance().get_analyser(
'step_trace', self._output_path, self._dev_id
)
all_reduce_info = step_trace_analyser.query_for_all_reduce()
# Get timeline info
logger.info('Start writing timeline info...')
logger.info('Warm Prompt: It could take a few minutes if you are training '
'with a complex network or more than 10 steps.')
# Add info into timeline, such as AI CPU, AllReduce, framework info.
aicpu_info = aicpu_parser.query_aicpu_data()
min_cycle_counter = min(aicpu_parser.min_cycle_counter, optime_parser.min_cycle_counter)
timeline_analyser.init_timeline(all_reduce_info, framework_info, aicpu_info, min_cycle_counter)
timeline_analyser.write_timeline()
timeline_analyser.write_timeline_summary()
def __del__(self):
"""Disable the profiling collection service, called after training."""
os.environ['PROFILING_MODE'] = str("false")
try:
import mindspore.context as context
context.set_context(enable_profiling=False)
except ImportError:
pass
def _get_profiling_job_id(self):
"""Get profiling job id, which was generated by ada service.
Returns:
str: profiling jon id.
"""
if self._profiling_job_id:
return self._profiling_job_id
job_id = ""
cmd = "ls -t " + PROFILING_LOG_BASE_PATH + "|grep JOB|awk '{print $1}'"
r = os.popen(cmd)
profiling_job_dirs = r.readlines()
r.close()
for item in profiling_job_dirs:
path = os.path.join(PROFILING_LOG_BASE_PATH, item.strip())
log_file = get_file_names(path, "host_start.log")
if not log_file:
logger.error("Profiling: job path %s, host_start.log not exist.", path)
continue
log_file = os.path.join(path, log_file[0])
item_dict = self._parse_host_start_log(log_file)
if not item_dict:
logger.error("Profiling: job path %s, fail to get job start info.", path)
continue
if self._start_time > int(item_dict["start_time"]):
logger.info("Profiling: job path %s, start_time %s, training start_time %d.",
path, item_dict["start_time"], self._start_time)
break
if self._dev_id != item_dict["device_id"]:
logger.info("Profiling: job path %s, dev id %s, training device id %s.",
path, item_dict["device_id"], self._dev_id)
continue
job_id = item.strip()
break
if not job_id:
msg = ("Fail to get profiling job, please check whether job dir was generated")
raise RuntimeError(msg)
return job_id
def _parse_host_start_log(self, input_file):
"""
Parse host start log file, get the device id and start time of the job.
Args:
input_file (str): The file path of the host start log file.
Returns:
dict, job start time and device id.
"""
item_dict = {}
for line in open(input_file):
if "Device" in line:
item_dict["device_id"] = line[7:len(line)-2]
elif "clock_realtime" in line:
item_dict["start_time"] = line[16:len(line)-3]
return item_dict
def _analyser_op_info(self):
"""Analyse the operator information."""
integrator = Integrator(self._output_path, self._dev_id)
integrator.integrate()
aicore_type_result = self._query_op_type_info()
detail_file_path = os.path.join(
self._output_path,
'output_op_compute_time_detail_{}.txt'.format(self._dev_id)
)
fwrite_format(detail_file_path, data_source='title:op compute time')
display_names = [
'optype_name', 'compute_time(ms, per-step)',
'called_times(per-step)', 'percent'
]
data_source = tabulate(aicore_type_result, display_names)
fwrite_format(detail_file_path, data_source=data_source, is_print=True)
if self._detail:
op_type_order = [item[0] for item in aicore_type_result]
aicore_detail_result = self._query_op_detail_info(op_type_order)
fwrite_format(detail_file_path, data_source='', is_print=True)
fwrite_format(detail_file_path, data_source='Detail:', is_print=True)
data_source = tabulate(
aicore_detail_result.get('object'),
aicore_detail_result.get('col_name')
)
fwrite_format(detail_file_path, data_source=data_source, is_print=True)
def _query_op_type_info(self):
"""
Query AICORE operator type information.
Returns:
list[list], the AICORE operator type and execution time information.
"""
condition = {
'sort_condition': {
'name': 'execution_time',
'type': 'descending'
}
}
analyser = AnalyserFactory.instance().get_analyser(
'aicore_type', self._output_path, self._dev_id
)
result = analyser.query(condition)
return result.get('object')
def _query_op_detail_info(self, op_type_order):
"""
Query AICORE operator detail information.
Args:
op_type_order(list): The name of the op type in order.
Returns:
dict, the AICORE operator detail information.
"""
op_type_condition = {}
if self._valid_optype_name:
op_type_condition['in'] = self._valid_optype_name
if self._filt_optype_names:
op_type_condition['not_in'] = self._filt_optype_names
subgraph_condition = {}
if self._subgraph != 'all':
subgraph_condition['in'] = [self._subgraph]
filter_condition = {
'op_type': op_type_condition,
'subgraph': subgraph_condition,
'is_display_detail': False,
'is_display_full_op_name': self._withfullpath
}
analyser = AnalyserFactory.instance().get_analyser(
'aicore_detail', self._output_path, self._dev_id
)
result = analyser.query_and_sort_by_op_type(
filter_condition, op_type_order
)
return result
def _get_devid_and_devtarget(self):
"""Get device id and target of this training."""
device_target = ""
dev_id = ""
try:
import mindspore.context as context
dev_id = str(context.get_context("device_id"))
device_target = context.get_context("device_target")
except ImportError:
logger.error("Profiling: fail to import context from mindspore.")
except ValueError as err:
logger.error("Profiling: fail to get context, %s", err)
if not dev_id or not dev_id.isdigit():
dev_id = os.getenv('DEVICE_ID')
if not dev_id or not dev_id.isdigit():
dev_id = "0"
logger.error("Fail to get DEVICE_ID, use 0 instead.")
if device_target and device_target != "Davinci" \
and device_target != "Ascend":
msg = ("Profiling: unsupport backend: %s" \
% device_target)
raise RuntimeError(msg)
self._dev_id = dev_id
...@@ -15,31 +15,11 @@ ...@@ -15,31 +15,11 @@
"""The st config.""" """The st config."""
import os import os
import shutil
import sys import sys
import tempfile
import pytest
from tests.st.func.profiler import RAW_DATA_BASE
from tests.utils import mindspore from tests.utils import mindspore
sys.modules['mindspore'] = mindspore sys.modules['mindspore'] = mindspore
BASE_SUMMARY_DIR = tempfile.mkdtemp(prefix='test_profiler_summary_dir_base_') BASE_SUMMARY_DIR = os.path.realpath(os.path.join(RAW_DATA_BASE, "run_1"))
@pytest.fixture(scope="session")
def create_summary_dir():
"""Create summary directory for profiler module."""
try:
if os.path.exists(BASE_SUMMARY_DIR):
shutil.rmtree(BASE_SUMMARY_DIR)
permissions = os.R_OK | os.W_OK | os.X_OK
mode = permissions << 6
if not os.path.exists(BASE_SUMMARY_DIR):
os.mkdir(BASE_SUMMARY_DIR, mode=mode)
yield
finally:
if os.path.exists(BASE_SUMMARY_DIR):
shutil.rmtree(BASE_SUMMARY_DIR)
...@@ -21,19 +21,16 @@ Usage: ...@@ -21,19 +21,16 @@ Usage:
""" """
import os import os
from unittest import mock, TestCase from unittest import TestCase
import pytest import pytest
from mindinsight.profiler.analyser.analyser_factory import AnalyserFactory from mindinsight.profiler.analyser.analyser_factory import AnalyserFactory
from mindinsight.profiler.common.exceptions.exceptions import StepNumNotSupportedException, \ from mindinsight.profiler.common.exceptions.exceptions import StepNumNotSupportedException, \
ProfilerParamValueErrorException ProfilerParamValueErrorException
from mindinsight.profiler.profiling import Profiler, FrameworkParser
from tests.st.func.profiler import RAW_DATA_BASE
from tests.st.func.profiler.conftest import BASE_SUMMARY_DIR from tests.st.func.profiler.conftest import BASE_SUMMARY_DIR
@pytest.mark.usefixtures('create_summary_dir')
class TestProfilerAnalyse(TestCase): class TestProfilerAnalyse(TestCase):
"""Test Converter module.""" """Test Converter module."""
JOB_ID = 'JOB3' JOB_ID = 'JOB3'
...@@ -42,26 +39,14 @@ class TestProfilerAnalyse(TestCase): ...@@ -42,26 +39,14 @@ class TestProfilerAnalyse(TestCase):
def setup_class(cls): def setup_class(cls):
"""Generate parsed files.""" """Generate parsed files."""
cls.step_trace_file = 'step_trace_raw_1_detail_time.csv' cls.step_trace_file = 'step_trace_raw_1_detail_time.csv'
cls.generate_parsed_files() cls.summary_dir = os.path.join(BASE_SUMMARY_DIR, 'normal_run')
cls.profiler = os.path.join(cls.summary_dir, 'profiler')
def setUp(self): def setUp(self):
"""Setup before each test.""" """Setup before each test."""
self.step_trace_analyser = AnalyserFactory.instance().get_analyser( self.step_trace_analyser = AnalyserFactory.instance().get_analyser(
'step_trace', self.profiler, '1') 'step_trace', self.profiler, '1')
@classmethod
def generate_parsed_files(cls):
"""Test parse raw info about profiler."""
cls.summary_dir = os.path.join(BASE_SUMMARY_DIR, 'normal_run')
cls.profiler = os.path.join(cls.summary_dir, 'profiler')
FrameworkParser._raw_data_dir = RAW_DATA_BASE
if not os.path.exists(cls.summary_dir):
os.makedirs(cls.summary_dir)
Profiler._base_profiling_container_path = os.path.join(RAW_DATA_BASE, 'container')
with mock.patch('mindinsight.profiler.profiling.PROFILING_LOG_BASE_PATH', RAW_DATA_BASE):
profiler = Profiler(subgraph='all', is_detail=True, is_show_op_path=False,
output_path=cls.summary_dir, job_id=cls.JOB_ID)
profiler.analyse()
@pytest.mark.level0 @pytest.mark.level0
@pytest.mark.env_single @pytest.mark.env_single
...@@ -108,7 +93,7 @@ class TestProfilerAnalyse(TestCase): ...@@ -108,7 +93,7 @@ class TestProfilerAnalyse(TestCase):
assert len(res['training_trace_graph']) == 13 assert len(res['training_trace_graph']) == 13
assert res['training_trace_graph'][-1] == [ assert res['training_trace_graph'][-1] == [
{'name': '', 'start': 0.2038, 'duration': 118.1667}, {'name': '', 'start': 0.2038, 'duration': 118.1667},
{'name': 'stream_540_0_parallel', 'start': 118.3705, 'duration': 49.281}, {'name': 'stream_540_parallel_0', 'start': 118.3705, 'duration': 49.281},
{'name': '', 'start': 167.6515, 'duration': 37.7294}] {'name': '', 'start': 167.6515, 'duration': 37.7294}]
@pytest.mark.level0 @pytest.mark.level0
......
...@@ -19,19 +19,13 @@ Usage: ...@@ -19,19 +19,13 @@ Usage:
pytest tests/st/func/profiler pytest tests/st/func/profiler
""" """
import os import os
import shutil
from unittest import mock
import pytest import pytest
from mindinsight.profiler import Profiler
from mindinsight.profiler.analyser.analyser_factory import AnalyserFactory from mindinsight.profiler.analyser.analyser_factory import AnalyserFactory
from mindinsight.profiler.parser.framework_parser import FrameworkParser
from tests.st.func.profiler.conftest import BASE_SUMMARY_DIR from tests.st.func.profiler.conftest import BASE_SUMMARY_DIR
from tests.ut.profiler import RAW_DATA_BASE
@pytest.mark.usefixtures('create_summary_dir')
class TestMinddataPipelineAnalyser: class TestMinddataPipelineAnalyser:
"""Test minddata pipeline analyser module.""" """Test minddata pipeline analyser module."""
JOB_ID = 'JOB3' JOB_ID = 'JOB3'
...@@ -39,29 +33,14 @@ class TestMinddataPipelineAnalyser: ...@@ -39,29 +33,14 @@ class TestMinddataPipelineAnalyser:
@classmethod @classmethod
def setup_class(cls): def setup_class(cls):
"""Generate parsed files.""" """Generate parsed files."""
cls.generate_parsed_files() cls.summary_dir = os.path.join(BASE_SUMMARY_DIR, 'normal_run')
cls.profiler = os.path.join(cls.summary_dir, 'profiler')
def setup_method(self): def setup_method(self):
"""Create analyser.""" """Create analyser."""
self._analyser = AnalyserFactory.instance().get_analyser( self._analyser = AnalyserFactory.instance().get_analyser(
'minddata_pipeline', self.profiler, '1') 'minddata_pipeline', self.profiler, '1')
@classmethod
def generate_parsed_files(cls):
"""Test parse raw info about profiler."""
cls.summary_dir = os.path.join(BASE_SUMMARY_DIR, 'normal_run')
cls.profiler = os.path.join(cls.summary_dir, 'profiler')
FrameworkParser._raw_data_dir = RAW_DATA_BASE
if not os.path.exists(cls.summary_dir):
os.makedirs(cls.summary_dir)
os.makedirs(cls.profiler, exist_ok=True)
pipeline_path = os.path.join(RAW_DATA_BASE, 'profiler', 'pipeline_profiling_1.json')
shutil.copy(pipeline_path, cls.profiler)
Profiler._base_profiling_container_path = os.path.join(RAW_DATA_BASE, 'container')
with mock.patch('mindinsight.profiler.profiling.PROFILING_LOG_BASE_PATH', RAW_DATA_BASE):
profiler = Profiler(subgraph='all', is_detail=True, is_show_op_path=False,
output_path=cls.summary_dir, job_id=cls.JOB_ID)
profiler.analyse()
@pytest.mark.level0 @pytest.mark.level0
@pytest.mark.env_single @pytest.mark.env_single
......
...@@ -19,16 +19,11 @@ Usage: ...@@ -19,16 +19,11 @@ Usage:
pytest tests/st/func/profiler pytest tests/st/func/profiler
""" """
import os import os
from unittest import mock
import pytest import pytest
from mindinsight.profiler import Profiler
from mindinsight.profiler.analyser.analyser_factory import AnalyserFactory from mindinsight.profiler.analyser.analyser_factory import AnalyserFactory
from mindinsight.profiler.parser.framework_parser import FrameworkParser
from tests.st.func.profiler.conftest import BASE_SUMMARY_DIR from tests.st.func.profiler.conftest import BASE_SUMMARY_DIR
from tests.ut.profiler import RAW_DATA_BASE
OP_GATHER_V2_INFO = { OP_GATHER_V2_INFO = {
'col_name': [ 'col_name': [
...@@ -84,7 +79,6 @@ OP_GATHER_V2_INFO = { ...@@ -84,7 +79,6 @@ OP_GATHER_V2_INFO = {
} }
@pytest.mark.usefixtures('create_summary_dir')
class TestOpAnalyser: class TestOpAnalyser:
"""Test AICORE and AICPU analyser module.""" """Test AICORE and AICPU analyser module."""
JOB_ID = 'JOB3' JOB_ID = 'JOB3'
...@@ -92,7 +86,8 @@ class TestOpAnalyser: ...@@ -92,7 +86,8 @@ class TestOpAnalyser:
@classmethod @classmethod
def setup_class(cls): def setup_class(cls):
"""Generate parsed files.""" """Generate parsed files."""
cls.generate_parsed_files() cls.summary_dir = os.path.join(BASE_SUMMARY_DIR, 'normal_run')
cls.profiler = os.path.join(cls.summary_dir, 'profiler')
def setup_method(self): def setup_method(self):
"""Create analyser.""" """Create analyser."""
...@@ -101,20 +96,6 @@ class TestOpAnalyser: ...@@ -101,20 +96,6 @@ class TestOpAnalyser:
self._analyser_aicore_detail = AnalyserFactory.instance().get_analyser( self._analyser_aicore_detail = AnalyserFactory.instance().get_analyser(
'aicore_detail', self.profiler, '1') 'aicore_detail', self.profiler, '1')
@classmethod
def generate_parsed_files(cls):
"""Test parse raw info about profiler."""
cls.summary_dir = os.path.join(BASE_SUMMARY_DIR, 'normal_run')
cls.profiler = os.path.join(cls.summary_dir, 'profiler')
FrameworkParser._raw_data_dir = RAW_DATA_BASE
if not os.path.exists(cls.summary_dir):
os.makedirs(cls.summary_dir)
Profiler._base_profiling_container_path = os.path.join(RAW_DATA_BASE, 'container')
with mock.patch('mindinsight.profiler.profiling.PROFILING_LOG_BASE_PATH', RAW_DATA_BASE):
profiler = Profiler(subgraph='all', is_detail=True, is_show_op_path=False,
output_path=cls.summary_dir, job_id=cls.JOB_ID)
profiler.analyse()
@pytest.mark.level0 @pytest.mark.level0
@pytest.mark.env_single @pytest.mark.env_single
@pytest.mark.platform_x86_cpu @pytest.mark.platform_x86_cpu
......
# Copyright 2020 Huawei Technologies Co., Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# 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.
# ============================================================================
# Copyright 2020 Huawei Technologies Co., Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# 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.
# ============================================================================
"""Test the aicpu parser."""
import os
import tempfile
import shutil
from unittest import TestCase
from mindinsight.profiler.parser.aicpu_data_parser import DataPreProcessParser
def get_result(file_path):
"""
Get result from the aicpu file.
Args:
file_path (str): The aicpu file path.
Returns:
list[list], the parsed aicpu information.
"""
result = []
try:
file = open(file_path, 'r')
result.append(file.read())
return result
finally:
if file:
file.close()
class TestAicpuParser(TestCase):
"""Test the class of Aicpu Parser."""
def setUp(self) -> None:
"""Initialization before test case execution."""
self.profiling_dir = os.path.realpath(os.path.join(os.path.dirname(__file__),
'../../../utils/resource/'
'JOB_AICPU/data'))
self.expect_dir = os.path.realpath(os.path.join(os.path.dirname(__file__),
'../../../utils/resource/'
'JOB_AICPU/expect'))
self.output_path = tempfile.mkdtemp(prefix='output_data_preprocess_aicpu_')
self.output_file = os.path.join(self.output_path, 'output_data_preprocess_aicpu_0.txt')
self.expect_file = os.path.join(self.expect_dir, 'output_data_preprocess_aicpu_0.txt')
def test_aicpu_parser(self):
"""Test the class of Aicpu Parser."""
data = DataPreProcessParser(self.profiling_dir, self.output_file)
data.execute()
expect_result = get_result(self.expect_file)
result = get_result(self.output_file)
shutil.rmtree(self.output_path)
assert expect_result == result
def test_aicpu_parser_file_not_exist(self):
"""Test the class of Aicpu Parser."""
profiling_dir = os.path.realpath(os.path.join(self.profiling_dir, 'data'))
data = DataPreProcessParser(profiling_dir, self.output_file)
data.execute()
shutil.rmtree(self.output_path)
# Copyright 2020 Huawei Technologies Co., Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# 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.
# ============================================================================
"""Test the framework parser module."""
import csv
import os
import shutil
import tempfile
from unittest import mock
import pytest
from marshmallow import ValidationError
from mindinsight.profiler.common.exceptions.exceptions import \
ProfilerPathErrorException, ProfilerDirNotFoundException, \
ProfilerFileNotFoundException
from mindinsight.profiler.parser.framework_parser import FrameworkParser
from tests.ut.profiler import PROFILER_DIR, RAW_DATA_BASE
def get_framework_result(file_path):
"""
Get framework result from the framework file.
Args:
file_path (str): The framework file path.
Returns:
list[list], the parsed framework information.
"""
result = []
with open(file_path, 'r') as file:
csv_reader = csv.reader(file)
for row in csv_reader:
result.append(row)
return result
class TestFrameworkParser:
"""Test the class of `FrameworkParser`."""
def setup_method(self):
"""Initialization before test case execution."""
FrameworkParser._raw_data_dir = RAW_DATA_BASE
self._output_path_1 = tempfile.mkdtemp(prefix='test_framework_parser_')
self._parser_1 = FrameworkParser('JOB1', '0', self._output_path_1)
self._output_path_2 = tempfile.mkdtemp(prefix='test_framework_parser_')
self._parser_2 = FrameworkParser('JOB2', '0', self._output_path_2)
self._output_path_4 = tempfile.mkdtemp(prefix='test_framework_parser_')
self._parser_4 = FrameworkParser('JOB4', '0', self._output_path_4)
def teardown_method(self) -> None:
"""Clear up after test case execution."""
shutil.rmtree(self._output_path_1)
shutil.rmtree(self._output_path_2)
shutil.rmtree(self._output_path_4)
FrameworkParser._raw_data_dir = '/var/log/npu/profiling'
def test_save_path(self):
"""Test the querying save path function."""
expect_result = os.path.join(self._output_path_1, 'framework_raw_0.csv')
assert expect_result == self._parser_1.save_path
expect_result = os.path.join(self._output_path_2, 'framework_raw_0.csv')
assert expect_result == self._parser_2.save_path
def test_point_info(self):
"""Test the querying point info function."""
expect_result = {
1: 'Default/Cast-op6',
2: 'Default/TransData-op7'
}
assert expect_result == self._parser_4.point_info
def test_to_task_id_full_op_name_dict(self):
"""Test the querying task id and full operator name dict function."""
expect_result = {
'51517': 'Default/Cast-op6',
'51518': 'Default/TransData-op7',
'51519': 'Default/network-WithLossCell/_backbone-ResNet/conv1-Conv2d/Cast-op5',
'51522': 'Default/network-WithLossCell/_backbone-ResNet/'
'layer1-SequentialCell/0-ResidualBlock/conv1-Conv2d/Cast-op28'
}
assert expect_result == self._parser_1.to_task_id_full_op_name_dict()
assert expect_result == self._parser_2.to_task_id_full_op_name_dict()
expect_result = {
'0_1': 'Default/Cast-op6',
'0_2': 'Default/TransData-op7',
'0_3': 'Default/network-WithLossCell/_backbone-ResNet/conv1-Conv2d/Cast-op5',
'0_4': 'Default/network-WithLossCell/_backbone-ResNet/layer1-SequentialCell/'
'0-ResidualBlock/conv1-Conv2d/Cast-op28'
}
assert expect_result == self._parser_4.to_task_id_full_op_name_dict()
def test_parse(self):
"""Test the parse function."""
expect_framework_file = os.path.join(PROFILER_DIR, 'framework_raw_0.csv')
expect_framework_file = os.path.realpath(expect_framework_file)
expect_result = get_framework_result(expect_framework_file)
self._parser_1.parse()
framework_file = os.path.join(self._output_path_1, 'framework_raw_0.csv')
result = get_framework_result(framework_file)
assert expect_result == result
self._parser_2.parse()
framework_file = os.path.join(self._output_path_2, 'framework_raw_0.csv')
result = get_framework_result(framework_file)
assert expect_result == result
@mock.patch('mindinsight.profiler.parser.framework_parser.validate_and_normalize_path')
def test_create_framework_parser_fail_1(self, *args):
"""Test the function of fail to create framework parser."""
args[0].side_effect = ValidationError({'profiler': {"The path is invalid!"}})
with pytest.raises(ProfilerPathErrorException) as exc_info:
FrameworkParser('JOB1', '0')
assert exc_info.value.error_code == '50546081'
assert exc_info.value.message == 'Path error. Profiling path is invalid.'
@mock.patch('os.path.isdir')
def test_create_framework_parser_fail_2(self, *args):
"""Test the function of fail to create framework parser."""
args[0].return_value = False
FrameworkParser._raw_data_dir = '/var/log/npu/profiling'
with pytest.raises(ProfilerDirNotFoundException) as exc_info:
FrameworkParser('JOB1', '0')
assert exc_info.value.error_code == '50546083'
assert exc_info.value.message == \
'The dir </var/log/npu/profiling/JOB1> not found.'
@mock.patch('os.listdir')
@mock.patch('os.path.isdir')
def test_create_framework_parser_fail_3(self, *args):
"""Test the function of fail to create framework parser."""
args[0].return_value = True
args[1].return_value = []
FrameworkParser._raw_data_dir = '/var/log/npu/profiling'
with pytest.raises(ProfilerFileNotFoundException) as exc_info:
FrameworkParser('JOB1', '0')
assert exc_info.value.error_code == '50546084'
assert exc_info.value.message == 'The file <Framework> not found.'
# Copyright 2020 Huawei Technologies Co., Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# 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.
# ============================================================================
"""Test the minddata pipeline parser module."""
import csv
import os
import shutil
import tempfile
from mindinsight.profiler.parser.minddata_pipeline_parser import \
MinddataPipelineParser
from tests.ut.profiler import PROFILER_DIR, RAW_DATA, RAW_DATA_JOB2
def get_minddata_pipeline_result(file_path):
"""
Get minddata pipeline result from the minddata pipeline file.
Args:
file_path (str): The minddata pipeline file path.
Returns:
list[list], the parsed minddata pipeline information.
"""
result = []
with open(file_path, 'r') as file:
csv_reader = csv.reader(file)
for row in csv_reader:
result.append(row)
return result
class TestMinddataPipelineParser:
"""Test the class of `MinddataPipelineParser`."""
def setup_method(self):
"""Initialization before test case execution."""
self._output_path_1 = tempfile.mkdtemp(
prefix='test_minddata_pipeline_parser_'
)
self._parser_1 = MinddataPipelineParser(
RAW_DATA, '0', self._output_path_1
)
self._output_path_2 = tempfile.mkdtemp(
prefix='test_minddata_pipeline_parser_'
)
self._parser_2 = MinddataPipelineParser(
RAW_DATA_JOB2, '0', self._output_path_2
)
def teardown_method(self) -> None:
"""Clear up after test case execution."""
shutil.rmtree(self._output_path_1)
shutil.rmtree(self._output_path_2)
def test_save_path(self):
"""Test the querying save path function."""
expect_result = os.path.join(
self._output_path_1, 'minddata_pipeline_raw_0.csv'
)
assert expect_result == self._parser_1.save_path
def test_parse(self):
"""Test the parse function."""
expect_pipeline_file = os.path.join(
PROFILER_DIR, 'minddata_pipeline_raw_0.csv'
)
expect_result = get_minddata_pipeline_result(expect_pipeline_file)
self._parser_1.parse()
pipeline_file = os.path.join(
self._output_path_1, 'minddata_pipeline_raw_0.csv'
)
result = get_minddata_pipeline_result(pipeline_file)
assert expect_result == result
self._parser_2.parse()
pipeline_file = os.path.join(
self._output_path_2, 'minddata_pipeline_raw_0.csv'
)
result = get_minddata_pipeline_result(pipeline_file)
assert expect_result == result
full_op_name,execution_time
Default/AssignAdd-op414,0.001688
Default/network-TrainStepWrap/optimizer_d-Adam/Mul-op29,0.0012020000000000002
Default/network-TrainStepWrap/optimizer_d-Adam/Assign-op30,0.0013606666666666667
Default/network-TrainStepWrap/optimizer_d-Adam/Mul-op31,0.0011659999999999997
Default/network-TrainStepWrap/optimizer_d-Adam/Assign-op32,0.001116
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/GatherV2-op33,0.9352293333333332
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/Mul-op35,0.010222666666666666
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/ReduceSum-op36,0.015073333333333333
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/TensorAdd-op37,0.003832666666666666
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/Cast-op34,0.001396666666666667
Default/TransData-op216,0.006697333333333332
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/Square-op38,0.009799333333333334
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/Split-op39,0.09720533333333335
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/Concat-op40,0.08841666666666667
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/StridedSlice-op41,0.012427333333333335
Default/AtomicAddrClean-op418,0.001378666666666667
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/ReduceSum-op42,0.009832666666666665
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradRealDiv/ReduceSum-op48,0.001400666666666667
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/RealDiv-op44,0.0014346666666666666
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/Mul-op28,0.001468
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/Cast-op47,0.004459333333333333
Default/TransData-op281,0.0027733333333333334
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/Cast-op46,0.004600000000000001
Default/TransData-op278,0.004403333333333333
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/Cast-op45,0.00711
Default/TransData-op275,0.005461333333333334
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/Cast-op52,0.023115999999999994
Default/TransData-op272,0.009749333333333332
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradRealDiv/ReduceSum-op43,0.0013153333333333335
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradReduceMean/Tile-op53,0.004243333333333333
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradReduceMean/RealDiv-op54,0.004824666666666667
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradReduceMean/Tile-op49,0.003735
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradReduceMean/RealDiv-op50,0.0045564285714285715
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/grad_VirtualDiv/RealDiv-op51,0.004516428571428571
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/GatherV2-op55,42.220212142857136
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradReduceMean/Tile-op56,0.00871357142857143
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradStridedSlice/StridedSliceGrad-op57,0.15243714285714288
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradConcat/Slice-op58,0.9626657142857143
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradConcat/Slice-op59,1.0643285714285715
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradConcat/Slice-op60,0.9675764285714286
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradConcat/Slice-op61,0.9675435714285714
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradConcat/Slice-op62,1.0075085714285714
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradConcat/Slice-op63,0.9250400000000002
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradConcat/Slice-op64,1.1294107142857144
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradConcat/Slice-op65,1.0091157142857143
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradSplit/Concat-op66,0.051030714285714276
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/Split-op67,2.617072142857143
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/Concat-op68,3.084827142857143
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/StridedSlice-op69,0.3331414285714285
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/Mul-op70,0.37437785714285715
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/ReLU-op71,0.32776857142857135
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/Mul-op72,0.33151499999999995
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/Cast-op73,0.2518214285714286
Default/TransData-op271,0.14980214285714283
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/MatMul-op74,0.45218500000000006
Default/TransData-op240,0.09184714285714284
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/RealDiv-op76,0.10391071428571431
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/BiasAdd-op77,0.11015571428571427
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/ReLU-op78,0.10085142857142855
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/Mul-op79,0.10943071428571426
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/Cast-op80,0.04727285714285715
Default/TransData-op274,0.03735642857142857
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/MatMul-op81,0.09832214285714284
Default/TransData-op245,0.037176428571428576
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/RealDiv-op83,0.036798571428571424
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/BiasAdd-op84,0.04016857142857143
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/ReLU-op85,0.027936428571428574
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/Mul-op86,0.039065
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/Cast-op87,0.02587642857142857
Default/TransData-op277,0.01939
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/MatMul-op88,0.03152
Default/TransData-op250,0.020935000000000002
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/RealDiv-op90,0.025487142857142854
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/BiasAdd-op91,0.021720714285714288
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/ReLU-op92,0.016717857142857142
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/Mul-op93,0.021017857142857147
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/Cast-op94,0.014929999999999999
Default/TransData-op280,0.012425714285714285
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/MatMul-op95,0.013189999999999997
Default/TransData-op255,0.014586428571428571
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/RealDiv-op97,0.015751428571428572
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/BiasAdd-op98,0.013145
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/ReLU-op99,0.010007857142857143
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/Mul-op100,0.01205
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/Cast-op101,0.009261428571428571
Default/TransData-op215,0.009404285714285714
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/MatMul-op102,0.007625
Default/TransData-op204,0.016274285714285713
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/RealDiv-op104,0.004828571428571428
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/BiasAdd-op105,0.004472857142857142
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/TensorAdd-op106,0.003925714285714286
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/SigmoidCrossEntropyWithLogits-op107,0.004808571428571428
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradSigmoidCrossEntropyWithLogits/SigmoidCrossEntropyWithLogitsGrad-op109,0.004950714285714286
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradSigmoidCrossEntropyWithLogits/SigmoidCrossEntropyWithLogitsGrad-op108,0.004631428571428572
Default/AtomicAddrClean-op425,0.0015150000000000003
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/ReduceMean-op110,0.004534999999999999
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/gradBiasAdd/BiasAddGrad-op112,0.0030614285714285717
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/gradRealDiv/RealDiv-op113,0.004547142857142856
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradRealDiv/ReduceSum-op111,0.0031428571428571426
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/gradCast/Cast-op115,0.0026614285714285715
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradReduceMean/Tile-op114,0.027466428571428576
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradSquare/Mul-op116,0.03313571428571428
Default/TransData-op257,0.06620642857142857
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradMul/Mul-op117,0.010132142857142855
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradSquare/Mul-op121,0.020947142857142855
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/gradMatMul/MatMul-op119,0.009299285714285715
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/gradMatMul/MatMul-op120,0.009546428571428572
Default/AtomicAddrClean-op427,0.002937142857142857
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradGatherV2/UnsortedSegmentSum-op123,7.355592142857143
Default/TransData-op235,0.014415714285714283
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/gradMul/Mul-op128,0.012212857142857145
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/gradReLU/ReluGrad-op131,0.02228428571428571
Default/AtomicAddrClean-op428,0.001404285714285714
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/gradBiasAdd/BiasAddGrad-op134,0.008783571428571429
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/gradRealDiv/RealDiv-op135,0.013412857142857143
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/gradCast/Cast-op136,0.008197142857142856
Default/TransData-op252,0.008572857142857142
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/gradMatMul/MatMul-op138,0.029589285714285724
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/gradMatMul/MatMul-op139,0.016685
Default/TransData-op233,0.020412142857142858
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/gradMul/Mul-op143,0.020592142857142857
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/gradReLU/ReluGrad-op145,0.03936785714285714
Default/AtomicAddrClean-op429,0.0014571428571428572
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/gradBiasAdd/BiasAddGrad-op147,0.012325714285714285
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/gradRealDiv/RealDiv-op148,0.021508571428571432
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/gradCast/Cast-op149,0.012591428571428571
Default/TransData-op247,0.012454999999999997
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/gradMatMul/MatMul-op151,0.053485000000000005
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/gradMatMul/MatMul-op152,0.03651357142857143
Default/TransData-op231,0.03276571428571429
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/gradMul/Mul-op156,0.037129999999999996
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/gradReLU/ReluGrad-op158,0.09050499999999999
Default/AtomicAddrClean-op430,0.001497142857142857
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/gradBiasAdd/BiasAddGrad-op160,0.017480714285714283
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/gradRealDiv/RealDiv-op161,0.042566428571428575
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/gradCast/Cast-op162,0.02489785714285714
Default/TransData-op242,0.019189285714285714
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/gradMatMul/MatMul-op164,0.10608857142857142
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/gradMatMul/MatMul-op165,0.1160064285714286
Default/TransData-op229,0.09212928571428572
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/gradMul/Mul-op169,0.10092642857142857
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/gradReLU/ReluGrad-op171,0.18744071428571424
Default/AtomicAddrClean-op431,0.0014599999999999997
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/gradBiasAdd/BiasAddGrad-op173,0.030029999999999998
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/gradRealDiv/RealDiv-op174,0.13704571428571427
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/gradCast/Cast-op175,0.04649285714285715
Default/TransData-op237,0.03681785714285714
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/gradMatMul/MatMul-op177,0.42144428571428577
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/RealDiv-op118,0.001617857142857143
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/TensorAdd-op124,0.0014600000000000001
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/gradMatMul/MatMul-op178,0.5351814285714286
Default/TransData-op284,0.32571142857142854
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/gradMul/Mul-op182,0.3179142857142857
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/gradReLU/ReluGrad-op184,0.5144707142857143
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradMul/Mul-op186,0.3859778571428571
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradStridedSlice/StridedSliceGrad-op187,1.3543971428571429
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradConcat/Slice-op188,1.5460985714285713
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradConcat/Slice-op189,1.5340514285714286
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradConcat/Slice-op190,1.540242857142857
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradConcat/Slice-op191,1.5514735714285715
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradConcat/Slice-op192,1.5607435714285713
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradConcat/Slice-op193,1.5385385714285713
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradConcat/Slice-op194,1.537682857142857
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradConcat/Slice-op195,1.5342942857142856
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradSplit/Concat-op196,2.584179285714286
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/grad_MirrorOperator/Mul-op130,0.005715714285714287
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/grad_MirrorOperator/Mul-op129,0.0015964285714285716
Default/Mul-op183,0.0016557142857142858
Default/Mul-op170,0.0015957142857142856
Default/Mul-op157,0.0015314285714285714
Default/Mul-op144,0.0014735714285714285
Default/Mul-op122,0.0012207142857142855
Default/TransData-op206,0.02777642857142857
Default/TransData-op208,0.008395714285714286
Default/TransData-op210,0.006270714285714287
Default/TransData-op212,0.003332857142857143
Default/TransData-op214,0.0024235714285714286
Default/Mul-op197,0.016677857142857147
Default/Mul-op176,0.007605000000000001
Default/Mul-op163,0.0062528571428571425
Default/Mul-op150,0.004635
Default/Mul-op137,0.0016078571428571429
Default/AtomicAddrClean-op434,0.007719285714285714
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradGatherV2/UnsortedSegmentSum-op199,37.25223428571428
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/AddN-op200,0.012836428571428572
Default/network-TrainStepWrap/optimizer_d-Adam/Mul-op201,0.010897142857142855
Default/network-TrainStepWrap/optimizer_w-FTRL/ApplyFtrl-op133,0.02319642857142857
Default/network-TrainStepWrap/optimizer_w-FTRL/ApplyFtrl-op132,0.0022571428571428573
Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op185,0.003688571428571429
Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op172,0.003175714285714285
Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op159,0.0029478571428571436
Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op146,0.0028899999999999998
Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op127,0.0022257142857142853
Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op198,0.133745
Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op179,0.03321571428571428
Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op166,0.010665
Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op153,0.006292857142857143
Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op140,0.002818571428571428
Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op202,0.08427071428571428
op_type,execution_time,execution_frequency,percent
AssignAdd,0.001688,1,0.00
Mul,1.9029486666666665347,32,1.51
Assign,0.0024766666666666667,2,0.00
GatherV2,43.1554414761904692,2,34.13
ReduceSum,0.0307648571428571411,5,0.02
TensorAdd,0.0092183809523809521,3,0.01
Cast,0.4846848571428571735,15,0.38
TransData,1.1151575238095237340,30,0.88
Square,0.009799333333333334,1,0.01
Split,2.71427747619047635,2,2.15
Concat,5.808453809523809946,4,4.59
StridedSlice,0.345568761904761835,2,0.27
AtomicAddrClean,0.0193686666666666662,8,0.02
RealDiv,0.4228071904761904831,15,0.33
Tile,0.044158333333333339,4,0.03
StridedSliceGrad,1.50683428571428578,2,1.19
Slice,20.3763149999999997,16,16.12
ReLU,0.483282142857142759,5,0.38
MatMul,1.936681428571428733,15,1.53
BiasAdd,0.189662857142857130,5,0.15
SigmoidCrossEntropyWithLogits,0.004808571428571428,1,0.00
SigmoidCrossEntropyWithLogitsGrad,0.009582142857142858,2,0.01
ReduceMean,0.004534999999999999,1,0.00
BiasAddGrad,0.0716814285714285667,5,0.06
UnsortedSegmentSum,44.607826428571423,2,35.28
ReluGrad,0.85406857142857138,5,0.68
AddN,0.012836428571428572,1,0.01
ApplyFtrl,0.0254535714285714273,2,0.02
Adam,0.2859357142857142737,11,0.23
task_id,stream_id,block_dim,full_op_name,op_name,op_type,subgraph,op_info
30092,3,1,Default/AssignAdd-op414,AssignAdd-op414,AssignAdd,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_INT32"", ""shape"": ""1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_INT32"", ""shape"": ""1""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_INT32"", ""shape"": ""1""}}"
30093,3,1,Default/network-TrainStepWrap/optimizer_d-Adam/Mul-op29,Mul-op29,Mul,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}}"
30094,3,1,Default/network-TrainStepWrap/optimizer_d-Adam/Assign-op30,Assign-op30,Assign,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}}"
30095,3,1,Default/network-TrainStepWrap/optimizer_d-Adam/Mul-op31,Mul-op31,Mul,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}}"
30096,3,1,Default/network-TrainStepWrap/optimizer_d-Adam/Assign-op32,Assign-op32,Assign,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}}"
30103,3,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/GatherV2-op33,GatherV2-op33,GatherV2,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_INT32"", ""shape"": ""16000,39""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,39,1""}}"
30104,3,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/Mul-op35,Mul-op35,Mul,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,39,1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,39""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,39,1""}}"
30105,3,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/ReduceSum-op36,ReduceSum-op36,ReduceSum,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,39,1""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}}"
30106,3,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/TensorAdd-op37,TensorAdd-op37,TensorAdd,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}}"
30107,3,1,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/Cast-op34,Cast-op34,Cast,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128,1""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""128,1""}}"
30108,3,8,Default/TransData-op216,TransData-op216,TransData,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""128,1""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""1,8,16,16""}}"
30109,3,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/Square-op38,Square-op38,Square,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}}"
30453,7,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/Split-op39,Split-op39,Split,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1477568,8""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""output_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""output_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""output_3"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""output_4"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""output_5"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""output_6"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""output_7"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}}"
30454,7,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/Concat-op40,Concat-op40,Concat,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""input_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""input_3"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""input_4"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""input_5"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""input_6"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""input_7"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,64""}}"
30455,7,22,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/StridedSlice-op41,StridedSlice-op41,StridedSlice,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,64""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""23087,64""}}"
30456,7,1,Default/AtomicAddrClean-op418,AtomicAddrClean-op418,AtomicAddrClean,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}}"
30457,7,33,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/ReduceSum-op42,ReduceSum-op42,ReduceSum,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""23087,64""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}}"
30646,9,1,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradRealDiv/ReduceSum-op48,ReduceSum-op48,ReduceSum,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}}"
30837,11,1,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/RealDiv-op44,RealDiv-op44,RealDiv,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}}"
30838,11,1,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/Mul-op28,Mul-op28,Mul,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}}"
30839,11,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/Cast-op47,Cast-op47,Cast,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""256,128""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""256,128""}}"
30840,11,16,Default/TransData-op281,TransData-op281,TransData,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""256,128""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""8,16,16,16""}}"
30841,11,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/Cast-op46,Cast-op46,Cast,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""512,256""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""512,256""}}"
30842,11,32,Default/TransData-op278,TransData-op278,TransData,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""512,256""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16,32,16,16""}}"
30843,11,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/Cast-op45,Cast-op45,Cast,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024,512""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""1024,512""}}"
30844,11,32,Default/TransData-op275,TransData-op275,TransData,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""1024,512""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""32,64,16,16""}}"
30845,11,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/Cast-op52,Cast-op52,Cast,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""2496,1024""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""2496,1024""}}"
30846,11,32,Default/TransData-op272,TransData-op272,TransData,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""2496,1024""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""64,156,16,16""}}"
30847,11,1,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradRealDiv/ReduceSum-op43,ReduceSum-op43,ReduceSum,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}}"
31038,13,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradReduceMean/Tile-op53,Tile-op53,Tile,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}}"
31039,13,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradReduceMean/RealDiv-op54,RealDiv-op54,RealDiv,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}}"
31231,15,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradReduceMean/Tile-op49,Tile-op49,Tile,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}}"
31232,15,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradReduceMean/RealDiv-op50,RealDiv-op50,RealDiv,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}}"
31233,15,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/grad_VirtualDiv/RealDiv-op51,RealDiv-op51,RealDiv,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}}"
31236,15,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/GatherV2-op55,GatherV2-op55,GatherV2,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_INT32"", ""shape"": ""128000,39""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}}"
31409,17,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradReduceMean/Tile-op56,Tile-op56,Tile,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""23087,64""}}"
31410,17,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradStridedSlice/StridedSliceGrad-op57,StridedSliceGrad-op57,StridedSliceGrad,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""23087,64""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,64""}}"
31411,17,23087,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradConcat/Slice-op58,Slice-op58,Slice,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,64""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}}"
31412,17,23087,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradConcat/Slice-op59,Slice-op59,Slice,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,64""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}}"
31413,17,23087,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradConcat/Slice-op60,Slice-op60,Slice,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,64""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}}"
31414,17,23087,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradConcat/Slice-op61,Slice-op61,Slice,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,64""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}}"
31415,17,23087,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradConcat/Slice-op62,Slice-op62,Slice,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,64""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}}"
31416,17,23087,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradConcat/Slice-op63,Slice-op63,Slice,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,64""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}}"
31417,17,23087,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradConcat/Slice-op64,Slice-op64,Slice,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,64""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}}"
31418,17,23087,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradConcat/Slice-op65,Slice-op65,Slice,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,64""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}}"
31419,17,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradSplit/Concat-op66,Concat-op66,Concat,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""input_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""input_3"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""input_4"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""input_5"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""input_6"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""input_7"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1477568,8""}}"
31598,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/Split-op67,Split-op67,Split,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024000,39,8""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}, ""output_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}, ""output_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}, ""output_3"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}, ""output_4"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}, ""output_5"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}, ""output_6"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}, ""output_7"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}}"
31599,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/Concat-op68,Concat-op68,Concat,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}, ""input_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}, ""input_3"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}, ""input_4"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}, ""input_5"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}, ""input_6"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}, ""input_7"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,64""}}"
31600,19,15,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/StridedSlice-op69,StridedSlice-op69,StridedSlice,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,64""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,39,64""}}"
31601,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/Mul-op70,Mul-op70,Mul,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,39,64""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,39""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,39,64""}}"
31602,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/ReLU-op71,ReLU-op71,ReLU,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,39,64""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,2496""}}"
31603,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/Mul-op72,Mul-op72,Mul,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,2496""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,2496""}}"
31604,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/Cast-op73,Cast-op73,Cast,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,2496""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16000,2496""}}"
31605,19,32,Default/TransData-op271,TransData-op271,TransData,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16000,2496""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""156,1000,16,16""}}"
31606,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/MatMul-op74,MatMul-op74,MatMul,Default,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""156,1000,16,16""}, ""input_1"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""64,156,16,16""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""64,1000,16,16""}}"
31607,19,32,Default/TransData-op240,TransData-op240,TransData,Default,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""64,1000,16,16""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1024""}}"
31608,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/RealDiv-op76,RealDiv-op76,RealDiv,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1024""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1024""}}"
31609,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/BiasAdd-op77,BiasAdd-op77,BiasAdd,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1024""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1024""}}"
31610,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/ReLU-op78,ReLU-op78,ReLU,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1024""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1024""}}"
31611,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/Mul-op79,Mul-op79,Mul,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1024""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1024""}}"
31612,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/Cast-op80,Cast-op80,Cast,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1024""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16000,1024""}}"
31613,19,32,Default/TransData-op274,TransData-op274,TransData,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16000,1024""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""64,1000,16,16""}}"
31614,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/MatMul-op81,MatMul-op81,MatMul,Default,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""64,1000,16,16""}, ""input_1"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""32,64,16,16""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""32,1000,16,16""}}"
31615,19,32,Default/TransData-op245,TransData-op245,TransData,Default,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""32,1000,16,16""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,512""}}"
31616,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/RealDiv-op83,RealDiv-op83,RealDiv,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,512""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,512""}}"
31617,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/BiasAdd-op84,BiasAdd-op84,BiasAdd,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,512""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""512""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,512""}}"
31618,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/ReLU-op85,ReLU-op85,ReLU,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,512""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,512""}}"
31619,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/Mul-op86,Mul-op86,Mul,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,512""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,512""}}"
31620,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/Cast-op87,Cast-op87,Cast,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,512""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16000,512""}}"
31621,19,32,Default/TransData-op277,TransData-op277,TransData,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16000,512""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""32,1000,16,16""}}"
31622,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/MatMul-op88,MatMul-op88,MatMul,Default,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""32,1000,16,16""}, ""input_1"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16,32,16,16""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16,1000,16,16""}}"
31623,19,32,Default/TransData-op250,TransData-op250,TransData,Default,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16,1000,16,16""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,256""}}"
31624,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/RealDiv-op90,RealDiv-op90,RealDiv,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,256""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,256""}}"
31625,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/BiasAdd-op91,BiasAdd-op91,BiasAdd,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,256""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""256""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,256""}}"
31626,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/ReLU-op92,ReLU-op92,ReLU,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,256""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,256""}}"
31627,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/Mul-op93,Mul-op93,Mul,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,256""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,256""}}"
31628,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/Cast-op94,Cast-op94,Cast,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,256""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16000,256""}}"
31629,19,32,Default/TransData-op280,TransData-op280,TransData,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16000,256""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16,1000,16,16""}}"
31630,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/MatMul-op95,MatMul-op95,MatMul,Default,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16,1000,16,16""}, ""input_1"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""8,16,16,16""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""8,1000,16,16""}}"
31631,19,32,Default/TransData-op255,TransData-op255,TransData,Default,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""8,1000,16,16""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,128""}}"
31632,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/RealDiv-op97,RealDiv-op97,RealDiv,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,128""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,128""}}"
31633,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/BiasAdd-op98,BiasAdd-op98,BiasAdd,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,128""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,128""}}"
31634,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/ReLU-op99,ReLU-op99,ReLU,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,128""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,128""}}"
31635,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/Mul-op100,Mul-op100,Mul,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,128""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,128""}}"
31636,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/Cast-op101,Cast-op101,Cast,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,128""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16000,128""}}"
31637,19,32,Default/TransData-op215,TransData-op215,TransData,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16000,128""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""8,1000,16,16""}}"
31638,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/MatMul-op102,MatMul-op102,MatMul,Default,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""8,1000,16,16""}, ""input_1"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""1,8,16,16""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1,1000,16,16""}}"
31639,19,32,Default/TransData-op204,TransData-op204,TransData,Default,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1,1000,16,16""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}}"
31640,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/RealDiv-op104,RealDiv-op104,RealDiv,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}}"
31641,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/BiasAdd-op105,BiasAdd-op105,BiasAdd,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}}"
31642,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/TensorAdd-op106,TensorAdd-op106,TensorAdd,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}}"
31643,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/SigmoidCrossEntropyWithLogits-op107,SigmoidCrossEntropyWithLogits-op107,SigmoidCrossEntropyWithLogits,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}}"
31644,19,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradSigmoidCrossEntropyWithLogits/SigmoidCrossEntropyWithLogitsGrad-op109,SigmoidCrossEntropyWithLogitsGrad-op109,SigmoidCrossEntropyWithLogitsGrad,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}, ""input_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}}"
31645,19,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradSigmoidCrossEntropyWithLogits/SigmoidCrossEntropyWithLogitsGrad-op108,SigmoidCrossEntropyWithLogitsGrad-op108,SigmoidCrossEntropyWithLogitsGrad,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}, ""input_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}}"
31646,19,1,Default/AtomicAddrClean-op425,AtomicAddrClean-op425,AtomicAddrClean,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}}"
31647,19,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/ReduceMean-op110,ReduceMean-op110,ReduceMean,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}}"
31648,19,1,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/gradBiasAdd/BiasAddGrad-op112,BiasAddGrad-op112,BiasAddGrad,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}}"
31649,19,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/gradRealDiv/RealDiv-op113,RealDiv-op113,RealDiv,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}}"
31650,19,1,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradRealDiv/ReduceSum-op111,ReduceSum-op111,ReduceSum,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}}"
31839,21,16,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/gradCast/Cast-op115,Cast-op115,Cast,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16000,1""}}"
31840,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradReduceMean/Tile-op114,Tile-op114,Tile,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,39,1""}}"
31843,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradSquare/Mul-op116,Mul-op116,Mul,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}}"
31844,21,32,Default/TransData-op257,TransData-op257,TransData,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16000,1""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""1,1000,16,16""}}"
31845,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradMul/Mul-op117,Mul-op117,Mul,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,39""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,39,1""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,39,1""}}"
31846,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradSquare/Mul-op121,Mul-op121,Mul,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}}"
31847,21,8,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/gradMatMul/MatMul-op119,MatMul-op119,MatMul,Gradients,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""8,1000,16,16""}, ""input_1"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""1,1000,16,16""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1,8,16,16""}}"
31848,21,63,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/gradMatMul/MatMul-op120,MatMul-op120,MatMul,Gradients,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""1,1000,16,16""}, ""input_1"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""1,8,16,16""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""8,1000,16,16""}}"
31849,21,16,Default/AtomicAddrClean-op427,AtomicAddrClean-op427,AtomicAddrClean,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,1""}}"
31850,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradGatherV2/UnsortedSegmentSum-op123,UnsortedSegmentSum-op123,UnsortedSegmentSum,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,39,1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_INT32"", ""shape"": ""16000,39""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,1""}}"
31851,21,32,Default/TransData-op235,TransData-op235,TransData,Default,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""8,1000,16,16""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,128""}}"
31852,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/gradMul/Mul-op128,Mul-op128,Mul,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,128""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,128""}}"
31853,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/gradReLU/ReluGrad-op131,ReluGrad-op131,ReluGrad,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,128""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,128""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,128""}}"
31854,21,1,Default/AtomicAddrClean-op428,AtomicAddrClean-op428,AtomicAddrClean,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128""}}"
31855,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/gradBiasAdd/BiasAddGrad-op134,BiasAddGrad-op134,BiasAddGrad,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,128""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128""}}"
31856,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/gradRealDiv/RealDiv-op135,RealDiv-op135,RealDiv,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,128""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,128""}}"
31857,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/gradCast/Cast-op136,Cast-op136,Cast,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,128""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16000,128""}}"
31858,21,32,Default/TransData-op252,TransData-op252,TransData,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16000,128""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""8,1000,16,16""}}"
31859,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/gradMatMul/MatMul-op138,MatMul-op138,MatMul,Gradients,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16,1000,16,16""}, ""input_1"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""8,1000,16,16""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""8,16,16,16""}}"
31860,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/gradMatMul/MatMul-op139,MatMul-op139,MatMul,Gradients,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""8,1000,16,16""}, ""input_1"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""8,16,16,16""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16,1000,16,16""}}"
31861,21,32,Default/TransData-op233,TransData-op233,TransData,Default,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16,1000,16,16""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,256""}}"
31862,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/gradMul/Mul-op143,Mul-op143,Mul,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,256""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,256""}}"
31863,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/gradReLU/ReluGrad-op145,ReluGrad-op145,ReluGrad,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,256""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,256""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,256""}}"
31864,21,1,Default/AtomicAddrClean-op429,AtomicAddrClean-op429,AtomicAddrClean,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""256""}}"
31865,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/gradBiasAdd/BiasAddGrad-op147,BiasAddGrad-op147,BiasAddGrad,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,256""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""256""}}"
31866,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/gradRealDiv/RealDiv-op148,RealDiv-op148,RealDiv,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,256""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,256""}}"
31867,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/gradCast/Cast-op149,Cast-op149,Cast,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,256""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16000,256""}}"
31868,21,32,Default/TransData-op247,TransData-op247,TransData,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16000,256""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16,1000,16,16""}}"
31869,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/gradMatMul/MatMul-op151,MatMul-op151,MatMul,Gradients,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""32,1000,16,16""}, ""input_1"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16,1000,16,16""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16,32,16,16""}}"
31870,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/gradMatMul/MatMul-op152,MatMul-op152,MatMul,Gradients,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16,1000,16,16""}, ""input_1"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16,32,16,16""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""32,1000,16,16""}}"
31871,21,32,Default/TransData-op231,TransData-op231,TransData,Default,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""32,1000,16,16""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,512""}}"
31872,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/gradMul/Mul-op156,Mul-op156,Mul,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,512""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,512""}}"
31873,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/gradReLU/ReluGrad-op158,ReluGrad-op158,ReluGrad,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,512""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,512""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,512""}}"
31874,21,1,Default/AtomicAddrClean-op430,AtomicAddrClean-op430,AtomicAddrClean,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""512""}}"
31875,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/gradBiasAdd/BiasAddGrad-op160,BiasAddGrad-op160,BiasAddGrad,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,512""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""512""}}"
31876,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/gradRealDiv/RealDiv-op161,RealDiv-op161,RealDiv,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,512""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,512""}}"
31877,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/gradCast/Cast-op162,Cast-op162,Cast,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,512""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16000,512""}}"
31878,21,32,Default/TransData-op242,TransData-op242,TransData,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16000,512""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""32,1000,16,16""}}"
31879,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/gradMatMul/MatMul-op164,MatMul-op164,MatMul,Gradients,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""64,1000,16,16""}, ""input_1"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""32,1000,16,16""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""32,64,16,16""}}"
31880,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/gradMatMul/MatMul-op165,MatMul-op165,MatMul,Gradients,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""32,1000,16,16""}, ""input_1"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""32,64,16,16""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""64,1000,16,16""}}"
31881,21,32,Default/TransData-op229,TransData-op229,TransData,Default,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""64,1000,16,16""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1024""}}"
31882,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/gradMul/Mul-op169,Mul-op169,Mul,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1024""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1024""}}"
31883,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/gradReLU/ReluGrad-op171,ReluGrad-op171,ReluGrad,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1024""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1024""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1024""}}"
31884,21,1,Default/AtomicAddrClean-op431,AtomicAddrClean-op431,AtomicAddrClean,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024""}}"
31885,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/gradBiasAdd/BiasAddGrad-op173,BiasAddGrad-op173,BiasAddGrad,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1024""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024""}}"
31886,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/gradRealDiv/RealDiv-op174,RealDiv-op174,RealDiv,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1024""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1024""}}"
31887,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/gradCast/Cast-op175,Cast-op175,Cast,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,1024""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16000,1024""}}"
31888,21,32,Default/TransData-op237,TransData-op237,TransData,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""16000,1024""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""64,1000,16,16""}}"
31889,21,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/gradMatMul/MatMul-op177,MatMul-op177,MatMul,Gradients,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""156,1000,16,16""}, ""input_1"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""64,1000,16,16""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""64,156,16,16""}}"
32218,23,1,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/RealDiv-op118,RealDiv-op118,RealDiv,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}}"
32219,23,1,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/TensorAdd-op124,TensorAdd-op124,TensorAdd,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}}"
32220,23,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/gradMatMul/MatMul-op178,MatMul-op178,MatMul,Gradients,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""64,1000,16,16""}, ""input_1"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT16"", ""shape"": ""64,156,16,16""}, ""output_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""156,1000,16,16""}}"
32221,23,32,Default/TransData-op284,TransData-op284,TransData,Default,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""156,1000,16,16""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,2496""}}"
32222,23,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/gradMul/Mul-op182,Mul-op182,Mul,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,2496""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,2496""}}"
32223,23,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/gradReLU/ReluGrad-op184,ReluGrad-op184,ReluGrad,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,2496""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,2496""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,2496""}}"
32224,23,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradMul/Mul-op186,Mul-op186,Mul,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,39""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,2496""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,39,64""}}"
32225,23,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradStridedSlice/StridedSliceGrad-op187,StridedSliceGrad-op187,StridedSliceGrad,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16000,39,64""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,64""}}"
32226,23,640,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradConcat/Slice-op188,Slice-op188,Slice,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,64""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}}"
32227,23,640,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradConcat/Slice-op189,Slice-op189,Slice,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,64""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}}"
32228,23,640,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradConcat/Slice-op190,Slice-op190,Slice,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,64""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}}"
32229,23,640,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradConcat/Slice-op191,Slice-op191,Slice,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,64""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}}"
32230,23,640,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradConcat/Slice-op192,Slice-op192,Slice,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,64""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}}"
32231,23,640,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradConcat/Slice-op193,Slice-op193,Slice,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,64""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}}"
32232,23,640,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradConcat/Slice-op194,Slice-op194,Slice,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,64""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}}"
32233,23,640,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradConcat/Slice-op195,Slice-op195,Slice,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,64""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}}"
32234,23,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradSplit/Concat-op196,Concat-op196,Concat,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}, ""input_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}, ""input_3"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}, ""input_4"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}, ""input_5"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}, ""input_6"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}, ""input_7"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024000,39,8""}}"
32414,25,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/grad_MirrorOperator/Mul-op130,Mul-op130,Mul,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,1""}}"
32415,25,1,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/grad_MirrorOperator/Mul-op129,Mul-op129,Mul,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}}"
32416,25,2,Default/Mul-op183,Mul-op183,Mul,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024""}}"
32417,25,1,Default/Mul-op170,Mul-op170,Mul,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""512""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""512""}}"
32418,25,1,Default/Mul-op157,Mul-op157,Mul,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""256""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""256""}}"
32419,25,1,Default/Mul-op144,Mul-op144,Mul,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128""}}"
32420,25,1,Default/Mul-op122,Mul-op122,Mul,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}}"
32421,25,32,Default/TransData-op206,TransData-op206,TransData,Default,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""64,156,16,16""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""2496,1024""}}"
32422,25,32,Default/TransData-op208,TransData-op208,TransData,Default,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""32,64,16,16""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024,512""}}"
32423,25,32,Default/TransData-op210,TransData-op210,TransData,Default,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""16,32,16,16""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""512,256""}}"
32424,25,16,Default/TransData-op212,TransData-op212,TransData,Default,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""8,16,16,16""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""256,128""}}"
32425,25,8,Default/TransData-op214,TransData-op214,TransData,Default,"{""input_0"": {""format"": ""FRACTAL_NZ"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1,8,16,16""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128,1""}}"
32426,25,32,Default/Mul-op197,Mul-op197,Mul,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""2496,1024""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""2496,1024""}}"
32427,25,32,Default/Mul-op176,Mul-op176,Mul,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024,512""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024,512""}}"
32428,25,32,Default/Mul-op163,Mul-op163,Mul,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""512,256""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""512,256""}}"
32429,25,32,Default/Mul-op150,Mul-op150,Mul,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""256,128""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""256,128""}}"
32430,25,1,Default/Mul-op137,Mul-op137,Mul,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128,1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128,1""}}"
32431,25,31,Default/AtomicAddrClean-op434,AtomicAddrClean-op434,AtomicAddrClean,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}}"
32434,25,32,Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradGatherV2/UnsortedSegmentSum-op199,UnsortedSegmentSum-op199,UnsortedSegmentSum,Gradients,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128000,39,8""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_INT32"", ""shape"": ""128000,39""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}}"
32435,25,32,Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/AddN-op200,AddN-op200,AddN,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}}"
32436,25,32,Default/network-TrainStepWrap/optimizer_d-Adam/Mul-op201,Mul-op201,Mul,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}}"
32437,25,29,Default/network-TrainStepWrap/optimizer_w-FTRL/ApplyFtrl-op133,ApplyFtrl-op133,ApplyFtrl,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,1""}, ""input_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,1""}, ""input_3"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,1""}, ""input_4"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_5"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_6"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_7"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,1""}}"
32438,25,1,Default/network-TrainStepWrap/optimizer_w-FTRL/ApplyFtrl-op132,ApplyFtrl-op132,ApplyFtrl,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_3"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_4"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_5"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_6"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_7"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}}"
32439,25,1,Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op185,Adam-op185,Adam,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024""}, ""input_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024""}, ""input_3"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_4"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_5"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_6"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_7"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_8"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_9"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024""}, ""output_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024""}, ""output_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024""}}"
32440,25,1,Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op172,Adam-op172,Adam,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""512""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""512""}, ""input_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""512""}, ""input_3"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_4"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_5"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_6"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_7"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_8"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_9"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""512""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""512""}, ""output_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""512""}, ""output_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""512""}}"
32441,25,1,Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op159,Adam-op159,Adam,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""256""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""256""}, ""input_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""256""}, ""input_3"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_4"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_5"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_6"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_7"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_8"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_9"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""256""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""256""}, ""output_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""256""}, ""output_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""256""}}"
32442,25,1,Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op146,Adam-op146,Adam,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128""}, ""input_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128""}, ""input_3"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_4"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_5"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_6"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_7"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_8"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_9"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128""}, ""output_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128""}, ""output_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128""}}"
32443,25,1,Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op127,Adam-op127,Adam,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_3"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_4"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_5"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_6"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_7"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_8"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_9"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""output_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""output_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}}"
32444,25,32,Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op198,Adam-op198,Adam,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""2496,1024""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""2496,1024""}, ""input_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""2496,1024""}, ""input_3"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_4"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_5"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_6"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_7"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_8"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_9"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""2496,1024""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""2496,1024""}, ""output_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""2496,1024""}, ""output_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""2496,1024""}}"
32445,25,31,Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op179,Adam-op179,Adam,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024,512""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024,512""}, ""input_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024,512""}, ""input_3"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_4"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_5"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_6"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_7"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_8"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_9"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024,512""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024,512""}, ""output_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024,512""}, ""output_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1024,512""}}"
32446,25,31,Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op166,Adam-op166,Adam,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""512,256""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""512,256""}, ""input_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""512,256""}, ""input_3"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_4"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_5"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_6"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_7"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_8"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_9"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""512,256""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""512,256""}, ""output_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""512,256""}, ""output_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""512,256""}}"
32447,25,16,Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op153,Adam-op153,Adam,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""256,128""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""256,128""}, ""input_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""256,128""}, ""input_3"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_4"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_5"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_6"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_7"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_8"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_9"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""256,128""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""256,128""}, ""output_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""256,128""}, ""output_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""256,128""}}"
32448,25,1,Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op140,Adam-op140,Adam,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128,1""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128,1""}, ""input_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128,1""}, ""input_3"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_4"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_5"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_6"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_7"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_8"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_9"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128,1""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128,1""}, ""output_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128,1""}, ""output_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""128,1""}}"
32449,25,31,Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op202,Adam-op202,Adam,Default,"{""input_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""input_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""input_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""input_3"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_4"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""1""}, ""input_5"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_6"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_7"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_8"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": """"}, ""input_9"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""output_0"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""output_1"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}, ""output_2"": {""format"": ""DefaultFormat"", ""data_type"": ""NUMBER_TYPE_FLOAT32"", ""shape"": ""184696,8""}}"
op_id,op_type,num_workers,output_queue_size,output_queue_average_size,output_queue_length,output_queue_usage_rate,sample_interval,parent_id,children_id
0,Batch,4,,,,,10,,[1]
1,Shuffle,1,"[10, 20, 30]",20.0,64,0.3125,10,0,"[2, 3]"
2,TFReader,4,"[10, 20, 30]",20.0,64,0.3125,10,1,
3,TFReader,4,"[10, 20, 30]",20.0,64,0.3125,10,1,
因为 它太大了无法显示 source diff 。你可以改为 查看blob
====================op compute time====================
op_name compute_time(ms) stream_id
------------ --------------- ---------
Default/AssignAdd-op414 0.001688 519
Default/network-TrainStepWrap/optimizer_d-Adam/Mul-op29 0.0012020000000000002 519
Default/network-TrainStepWrap/optimizer_d-Adam/Assign-op30 0.0013606666666666667 519
Default/network-TrainStepWrap/optimizer_d-Adam/Mul-op31 0.0011659999999999997 519
Default/network-TrainStepWrap/optimizer_d-Adam/Assign-op32 0.001116 519
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/GatherV2-op33 0.9352293333333332 519
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/Mul-op35 0.010222666666666666 519
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/ReduceSum-op36 0.015073333333333333 519
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/TensorAdd-op37 0.003832666666666666 519
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/Cast-op34 0.001396666666666667 519
Default/TransData-op216 0.006697333333333332 519
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/Square-op38 0.009799333333333334 519
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/Split-op39 0.09720533333333335 523
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/Concat-op40 0.08841666666666667 523
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/StridedSlice-op41 0.012427333333333335 523
Default/AtomicAddrClean-op418 0.001378666666666667 523
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/ReduceSum-op42 0.009832666666666665 523
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradRealDiv/ReduceSum-op48 0.001400666666666667 525
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/RealDiv-op44 0.0014346666666666666 527
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/Mul-op28 0.001468 527
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/Cast-op47 0.004459333333333333 527
Default/TransData-op281 0.0027733333333333334 527
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/Cast-op46 0.004600000000000001 527
Default/TransData-op278 0.004403333333333333 527
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/Cast-op45 0.00711 527
Default/TransData-op275 0.005461333333333334 527
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/Cast-op52 0.023115999999999994 527
Default/TransData-op272 0.009749333333333332 527
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradRealDiv/ReduceSum-op43 0.0013153333333333335 527
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradReduceMean/Tile-op53 0.004243333333333333 529
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradReduceMean/RealDiv-op54 0.004824666666666667 529
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradReduceMean/Tile-op49 0.003735 531
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradReduceMean/RealDiv-op50 0.0045564285714285715 531
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/grad_VirtualDiv/RealDiv-op51 0.004516428571428571 531
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/GatherV2-op55 42.220212142857136 531
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradReduceMean/Tile-op56 0.00871357142857143 533
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradStridedSlice/StridedSliceGrad-op57 0.15243714285714288 533
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradConcat/Slice-op58 0.9626657142857143 533
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradConcat/Slice-op59 1.0643285714285715 533
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradConcat/Slice-op60 0.9675764285714286 533
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradConcat/Slice-op61 0.9675435714285714 533
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradConcat/Slice-op62 1.0075085714285714 533
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradConcat/Slice-op63 0.9250400000000002 533
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradConcat/Slice-op64 1.1294107142857144 533
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradConcat/Slice-op65 1.0091157142857143 533
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradSplit/Concat-op66 0.051030714285714276 533
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/Split-op67 2.617072142857143 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/Concat-op68 3.084827142857143 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/StridedSlice-op69 0.3331414285714285 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/Mul-op70 0.37437785714285715 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/ReLU-op71 0.32776857142857135 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/Mul-op72 0.33151499999999995 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/Cast-op73 0.2518214285714286 535
Default/TransData-op271 0.14980214285714283 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/MatMul-op74 0.45218500000000006 535
Default/TransData-op240 0.09184714285714284 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/RealDiv-op76 0.10391071428571431 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/BiasAdd-op77 0.11015571428571427 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/ReLU-op78 0.10085142857142855 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/Mul-op79 0.10943071428571426 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/Cast-op80 0.04727285714285715 535
Default/TransData-op274 0.03735642857142857 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/MatMul-op81 0.09832214285714284 535
Default/TransData-op245 0.037176428571428576 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/RealDiv-op83 0.036798571428571424 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/BiasAdd-op84 0.04016857142857143 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/ReLU-op85 0.027936428571428574 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/Mul-op86 0.039065 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/Cast-op87 0.02587642857142857 535
Default/TransData-op277 0.01939 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/MatMul-op88 0.03152 535
Default/TransData-op250 0.020935000000000002 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/RealDiv-op90 0.025487142857142854 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/BiasAdd-op91 0.021720714285714288 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/ReLU-op92 0.016717857142857142 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/Mul-op93 0.021017857142857147 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/Cast-op94 0.014929999999999999 535
Default/TransData-op280 0.012425714285714285 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/MatMul-op95 0.013189999999999997 535
Default/TransData-op255 0.014586428571428571 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/RealDiv-op97 0.015751428571428572 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/BiasAdd-op98 0.013145 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/ReLU-op99 0.010007857142857143 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/Mul-op100 0.01205 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/Cast-op101 0.009261428571428571 535
Default/TransData-op215 0.009404285714285714 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/MatMul-op102 0.007625 535
Default/TransData-op204 0.016274285714285713 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/RealDiv-op104 0.004828571428571428 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/BiasAdd-op105 0.004472857142857142 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/TensorAdd-op106 0.003925714285714286 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/SigmoidCrossEntropyWithLogits-op107 0.004808571428571428 535
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradSigmoidCrossEntropyWithLogits/SigmoidCrossEntropyWithLogitsGrad-op109 0.004950714285714286 535
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradSigmoidCrossEntropyWithLogits/SigmoidCrossEntropyWithLogitsGrad-op108 0.004631428571428572 535
Default/AtomicAddrClean-op425 0.0015150000000000003 535
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/ReduceMean-op110 0.004534999999999999 535
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/gradBiasAdd/BiasAddGrad-op112 0.0030614285714285717 535
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/gradRealDiv/RealDiv-op113 0.004547142857142856 535
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradRealDiv/ReduceSum-op111 0.0031428571428571426 535
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/gradCast/Cast-op115 0.0026614285714285715 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradReduceMean/Tile-op114 0.027466428571428576 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradSquare/Mul-op116 0.03313571428571428 537
Default/TransData-op257 0.06620642857142857 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradMul/Mul-op117 0.010132142857142855 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/gradSquare/Mul-op121 0.020947142857142855 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/gradMatMul/MatMul-op119 0.009299285714285715 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/gradMatMul/MatMul-op120 0.009546428571428572 537
Default/AtomicAddrClean-op427 0.002937142857142857 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradGatherV2/UnsortedSegmentSum-op123 7.355592142857143 537
Default/TransData-op235 0.014415714285714283 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/gradMul/Mul-op128 0.012212857142857145 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_5-DenseLayer/gradReLU/ReluGrad-op131 0.02228428571428571 537
Default/AtomicAddrClean-op428 0.001404285714285714 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/gradBiasAdd/BiasAddGrad-op134 0.008783571428571429 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/gradRealDiv/RealDiv-op135 0.013412857142857143 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/gradCast/Cast-op136 0.008197142857142856 537
Default/TransData-op252 0.008572857142857142 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/gradMatMul/MatMul-op138 0.029589285714285724 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/gradMatMul/MatMul-op139 0.016685 537
Default/TransData-op233 0.020412142857142858 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/gradMul/Mul-op143 0.020592142857142857 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_4-DenseLayer/gradReLU/ReluGrad-op145 0.03936785714285714 537
Default/AtomicAddrClean-op429 0.0014571428571428572 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/gradBiasAdd/BiasAddGrad-op147 0.012325714285714285 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/gradRealDiv/RealDiv-op148 0.021508571428571432 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/gradCast/Cast-op149 0.012591428571428571 537
Default/TransData-op247 0.012454999999999997 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/gradMatMul/MatMul-op151 0.053485000000000005 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/gradMatMul/MatMul-op152 0.03651357142857143 537
Default/TransData-op231 0.03276571428571429 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/gradMul/Mul-op156 0.037129999999999996 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_3-DenseLayer/gradReLU/ReluGrad-op158 0.09050499999999999 537
Default/AtomicAddrClean-op430 0.001497142857142857 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/gradBiasAdd/BiasAddGrad-op160 0.017480714285714283 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/gradRealDiv/RealDiv-op161 0.042566428571428575 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/gradCast/Cast-op162 0.02489785714285714 537
Default/TransData-op242 0.019189285714285714 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/gradMatMul/MatMul-op164 0.10608857142857142 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/gradMatMul/MatMul-op165 0.1160064285714286 537
Default/TransData-op229 0.09212928571428572 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/gradMul/Mul-op169 0.10092642857142857 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_2-DenseLayer/gradReLU/ReluGrad-op171 0.18744071428571424 537
Default/AtomicAddrClean-op431 0.0014599999999999997 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/gradBiasAdd/BiasAddGrad-op173 0.030029999999999998 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/gradRealDiv/RealDiv-op174 0.13704571428571427 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/gradCast/Cast-op175 0.04649285714285715 537
Default/TransData-op237 0.03681785714285714 537
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/gradMatMul/MatMul-op177 0.42144428571428577 537
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/RealDiv-op118 0.001617857142857143 539
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/TensorAdd-op124 0.0014600000000000001 539
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/gradMatMul/MatMul-op178 0.5351814285714286 539
Default/TransData-op284 0.32571142857142854 539
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/gradMul/Mul-op182 0.3179142857142857 539
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/dense_layer_1-DenseLayer/gradReLU/ReluGrad-op184 0.5144707142857143 539
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradMul/Mul-op186 0.3859778571428571 539
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradStridedSlice/StridedSliceGrad-op187 1.3543971428571429 539
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradConcat/Slice-op188 1.5460985714285713 539
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradConcat/Slice-op189 1.5340514285714286 539
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradConcat/Slice-op190 1.540242857142857 539
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradConcat/Slice-op191 1.5514735714285715 539
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradConcat/Slice-op192 1.5607435714285713 539
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradConcat/Slice-op193 1.5385385714285713 539
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradConcat/Slice-op194 1.537682857142857 539
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradConcat/Slice-op195 1.5342942857142856 539
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradSplit/Concat-op196 2.584179285714286 539
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/grad_MirrorOperator/Mul-op130 0.005715714285714287 541
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/grad_MirrorOperator/Mul-op129 0.0015964285714285716 541
Default/Mul-op183 0.0016557142857142858 541
Default/Mul-op170 0.0015957142857142856 541
Default/Mul-op157 0.0015314285714285714 541
Default/Mul-op144 0.0014735714285714285 541
Default/Mul-op122 0.0012207142857142855 541
Default/TransData-op206 0.02777642857142857 541
Default/TransData-op208 0.008395714285714286 541
Default/TransData-op210 0.006270714285714287 541
Default/TransData-op212 0.003332857142857143 541
Default/TransData-op214 0.0024235714285714286 541
Default/Mul-op197 0.016677857142857147 541
Default/Mul-op176 0.007605000000000001 541
Default/Mul-op163 0.0062528571428571425 541
Default/Mul-op150 0.004635 541
Default/Mul-op137 0.0016078571428571429 541
Default/AtomicAddrClean-op434 0.007719285714285714 541
Gradients/Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/network-WideDeepModel/gradGatherV2/UnsortedSegmentSum-op199 37.25223428571428 541
Default/network-TrainStepWrap/network-VirtualDatasetCellTriple/_backbone-NetWithLossClass/AddN-op200 0.012836428571428572 541
Default/network-TrainStepWrap/optimizer_d-Adam/Mul-op201 0.010897142857142855 541
Default/network-TrainStepWrap/optimizer_w-FTRL/ApplyFtrl-op133 0.02319642857142857 541
Default/network-TrainStepWrap/optimizer_w-FTRL/ApplyFtrl-op132 0.0022571428571428573 541
Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op185 0.003688571428571429 541
Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op172 0.003175714285714285 541
Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op159 0.0029478571428571436 541
Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op146 0.0028899999999999998 541
Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op127 0.0022257142857142853 541
Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op198 0.133745 541
Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op179 0.03321571428571428 541
Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op166 0.010665 541
Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op153 0.006292857142857143 541
Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op140 0.002818571428571428 541
Default/network-TrainStepWrap/optimizer_d-Adam/Adam-op202 0.08427071428571428 541
total op 126.43631757142849 0
====================op compute time====================
optype_name compute_time(ms, per-step) called_times(per-step) percent
--------------------------------- ---------------------------- ------------------------ ---------
UnsortedSegmentSum 44.6078 2 35.28
GatherV2 43.1554 2 34.13
Slice 20.3763 16 16.12
Concat 5.80845 4 4.59
Split 2.71428 2 2.15
MatMul 1.93668 15 1.53
Mul 1.90295 32 1.51
StridedSliceGrad 1.50683 2 1.19
TransData 1.11516 30 0.88
ReluGrad 0.854069 5 0.68
Cast 0.484685 15 0.38
ReLU 0.483282 5 0.38
RealDiv 0.422807 15 0.33
StridedSlice 0.345569 2 0.27
Adam 0.285936 11 0.23
BiasAdd 0.189663 5 0.15
BiasAddGrad 0.071681 5 0.06
Tile 0.044158 4 0.03
ReduceSum 0.030765 5 0.02
ApplyFtrl 0.025454 2 0.02
AtomicAddrClean 0.019369 8 0.02
AddN 0.012836 1 0.01
Square 0.009799 1 0.01
SigmoidCrossEntropyWithLogitsGrad 0.009582 2 0.01
TensorAdd 0.009218 3 0.01
SigmoidCrossEntropyWithLogits 0.004809 1 0
ReduceMean 0.004535 1 0
Assign 0.002477 2 0
AssignAdd 0.001688 1 0
Detail:
op_name op_type avg_execution_time subgraph
--------------------------------------- --------------------------------- -------------------- ----------
UnsortedSegmentSum-op199 UnsortedSegmentSum 37.2522 Gradients
UnsortedSegmentSum-op123 UnsortedSegmentSum 7.35559 Gradients
GatherV2-op55 GatherV2 42.2202 Default
GatherV2-op33 GatherV2 0.935229 Default
Slice-op192 Slice 1.56074 Gradients
Slice-op191 Slice 1.55147 Gradients
Slice-op188 Slice 1.5461 Gradients
Slice-op190 Slice 1.54024 Gradients
Slice-op193 Slice 1.53854 Gradients
Slice-op194 Slice 1.53768 Gradients
Slice-op195 Slice 1.53429 Gradients
Slice-op189 Slice 1.53405 Gradients
Slice-op64 Slice 1.12941 Gradients
Slice-op59 Slice 1.06433 Gradients
Slice-op65 Slice 1.00912 Gradients
Slice-op62 Slice 1.00751 Gradients
Slice-op60 Slice 0.967576 Gradients
Slice-op61 Slice 0.967544 Gradients
Slice-op58 Slice 0.962666 Gradients
Slice-op63 Slice 0.92504 Gradients
Concat-op68 Concat 3.08483 Default
Concat-op196 Concat 2.58418 Gradients
Concat-op40 Concat 0.0884167 Default
Concat-op66 Concat 0.0510307 Gradients
Split-op67 Split 2.61707 Default
Split-op39 Split 0.0972053 Default
MatMul-op178 MatMul 0.535181 Gradients
MatMul-op74 MatMul 0.452185 Default
MatMul-op177 MatMul 0.421444 Gradients
MatMul-op165 MatMul 0.116006 Gradients
MatMul-op164 MatMul 0.106089 Gradients
MatMul-op81 MatMul 0.0983221 Default
MatMul-op151 MatMul 0.053485 Gradients
MatMul-op152 MatMul 0.0365136 Gradients
MatMul-op88 MatMul 0.03152 Default
MatMul-op138 MatMul 0.0295893 Gradients
MatMul-op139 MatMul 0.016685 Gradients
MatMul-op95 MatMul 0.01319 Default
MatMul-op120 MatMul 0.00954643 Gradients
MatMul-op119 MatMul 0.00929929 Gradients
MatMul-op102 MatMul 0.007625 Default
Mul-op186 Mul 0.385978 Gradients
Mul-op70 Mul 0.374378 Default
Mul-op72 Mul 0.331515 Default
Mul-op182 Mul 0.317914 Gradients
Mul-op79 Mul 0.109431 Default
Mul-op169 Mul 0.100926 Gradients
Mul-op86 Mul 0.039065 Default
Mul-op156 Mul 0.03713 Gradients
Mul-op116 Mul 0.0331357 Gradients
Mul-op93 Mul 0.0210179 Default
Mul-op121 Mul 0.0209471 Gradients
Mul-op143 Mul 0.0205921 Gradients
Mul-op197 Mul 0.0166779 Default
Mul-op128 Mul 0.0122129 Gradients
Mul-op100 Mul 0.01205 Default
Mul-op201 Mul 0.0108971 Default
Mul-op35 Mul 0.0102227 Default
Mul-op117 Mul 0.0101321 Gradients
Mul-op176 Mul 0.007605 Default
Mul-op163 Mul 0.00625286 Default
Mul-op130 Mul 0.00571571 Gradients
Mul-op150 Mul 0.004635 Default
Mul-op183 Mul 0.00165571 Default
Mul-op137 Mul 0.00160786 Default
Mul-op129 Mul 0.00159643 Gradients
Mul-op170 Mul 0.00159571 Default
Mul-op157 Mul 0.00153143 Default
Mul-op144 Mul 0.00147357 Default
Mul-op28 Mul 0.001468 Default
Mul-op122 Mul 0.00122071 Default
Mul-op29 Mul 0.001202 Default
Mul-op31 Mul 0.001166 Default
StridedSliceGrad-op187 StridedSliceGrad 1.3544 Gradients
StridedSliceGrad-op57 StridedSliceGrad 0.152437 Gradients
TransData-op284 TransData 0.325711 Default
TransData-op271 TransData 0.149802 Default
TransData-op229 TransData 0.0921293 Default
TransData-op240 TransData 0.0918471 Default
TransData-op257 TransData 0.0662064 Default
TransData-op274 TransData 0.0373564 Default
TransData-op245 TransData 0.0371764 Default
TransData-op237 TransData 0.0368179 Default
TransData-op231 TransData 0.0327657 Default
TransData-op206 TransData 0.0277764 Default
TransData-op250 TransData 0.020935 Default
TransData-op233 TransData 0.0204121 Default
TransData-op277 TransData 0.01939 Default
TransData-op242 TransData 0.0191893 Default
TransData-op204 TransData 0.0162743 Default
TransData-op255 TransData 0.0145864 Default
TransData-op235 TransData 0.0144157 Default
TransData-op247 TransData 0.012455 Default
TransData-op280 TransData 0.0124257 Default
TransData-op272 TransData 0.00974933 Default
TransData-op215 TransData 0.00940429 Default
TransData-op252 TransData 0.00857286 Default
TransData-op208 TransData 0.00839571 Default
TransData-op216 TransData 0.00669733 Default
TransData-op210 TransData 0.00627071 Default
TransData-op275 TransData 0.00546133 Default
TransData-op278 TransData 0.00440333 Default
TransData-op212 TransData 0.00333286 Default
TransData-op281 TransData 0.00277333 Default
TransData-op214 TransData 0.00242357 Default
ReluGrad-op184 ReluGrad 0.514471 Gradients
ReluGrad-op171 ReluGrad 0.187441 Gradients
ReluGrad-op158 ReluGrad 0.090505 Gradients
ReluGrad-op145 ReluGrad 0.0393679 Gradients
ReluGrad-op131 ReluGrad 0.0222843 Gradients
Cast-op73 Cast 0.251821 Default
Cast-op80 Cast 0.0472729 Default
Cast-op175 Cast 0.0464929 Gradients
Cast-op87 Cast 0.0258764 Default
Cast-op162 Cast 0.0248979 Gradients
Cast-op52 Cast 0.023116 Default
Cast-op94 Cast 0.01493 Default
Cast-op149 Cast 0.0125914 Gradients
Cast-op101 Cast 0.00926143 Default
Cast-op136 Cast 0.00819714 Gradients
Cast-op45 Cast 0.00711 Default
Cast-op46 Cast 0.0046 Default
Cast-op47 Cast 0.00445933 Default
Cast-op115 Cast 0.00266143 Gradients
Cast-op34 Cast 0.00139667 Default
ReLU-op71 ReLU 0.327769 Default
ReLU-op78 ReLU 0.100851 Default
ReLU-op85 ReLU 0.0279364 Default
ReLU-op92 ReLU 0.0167179 Default
ReLU-op99 ReLU 0.0100079 Default
RealDiv-op174 RealDiv 0.137046 Gradients
RealDiv-op76 RealDiv 0.103911 Default
RealDiv-op161 RealDiv 0.0425664 Gradients
RealDiv-op83 RealDiv 0.0367986 Default
RealDiv-op90 RealDiv 0.0254871 Default
RealDiv-op148 RealDiv 0.0215086 Gradients
RealDiv-op97 RealDiv 0.0157514 Default
RealDiv-op135 RealDiv 0.0134129 Gradients
RealDiv-op104 RealDiv 0.00482857 Default
RealDiv-op54 RealDiv 0.00482467 Gradients
RealDiv-op50 RealDiv 0.00455643 Gradients
RealDiv-op113 RealDiv 0.00454714 Gradients
RealDiv-op51 RealDiv 0.00451643 Gradients
RealDiv-op118 RealDiv 0.00161786 Default
RealDiv-op44 RealDiv 0.00143467 Default
StridedSlice-op69 StridedSlice 0.333141 Default
StridedSlice-op41 StridedSlice 0.0124273 Default
Adam-op198 Adam 0.133745 Default
Adam-op202 Adam 0.0842707 Default
Adam-op179 Adam 0.0332157 Default
Adam-op166 Adam 0.010665 Default
Adam-op153 Adam 0.00629286 Default
Adam-op185 Adam 0.00368857 Default
Adam-op172 Adam 0.00317571 Default
Adam-op159 Adam 0.00294786 Default
Adam-op146 Adam 0.00289 Default
Adam-op140 Adam 0.00281857 Default
Adam-op127 Adam 0.00222571 Default
BiasAdd-op77 BiasAdd 0.110156 Default
BiasAdd-op84 BiasAdd 0.0401686 Default
BiasAdd-op91 BiasAdd 0.0217207 Default
BiasAdd-op98 BiasAdd 0.013145 Default
BiasAdd-op105 BiasAdd 0.00447286 Default
BiasAddGrad-op173 BiasAddGrad 0.03003 Gradients
BiasAddGrad-op160 BiasAddGrad 0.0174807 Gradients
BiasAddGrad-op147 BiasAddGrad 0.0123257 Gradients
BiasAddGrad-op134 BiasAddGrad 0.00878357 Gradients
BiasAddGrad-op112 BiasAddGrad 0.00306143 Gradients
Tile-op114 Tile 0.0274664 Gradients
Tile-op56 Tile 0.00871357 Gradients
Tile-op53 Tile 0.00424333 Gradients
Tile-op49 Tile 0.003735 Gradients
ReduceSum-op36 ReduceSum 0.0150733 Default
ReduceSum-op42 ReduceSum 0.00983267 Default
ReduceSum-op111 ReduceSum 0.00314286 Gradients
ReduceSum-op48 ReduceSum 0.00140067 Gradients
ReduceSum-op43 ReduceSum 0.00131533 Gradients
ApplyFtrl-op133 ApplyFtrl 0.0231964 Default
ApplyFtrl-op132 ApplyFtrl 0.00225714 Default
AtomicAddrClean-op434 AtomicAddrClean 0.00771929 Default
AtomicAddrClean-op427 AtomicAddrClean 0.00293714 Default
AtomicAddrClean-op425 AtomicAddrClean 0.001515 Default
AtomicAddrClean-op430 AtomicAddrClean 0.00149714 Default
AtomicAddrClean-op431 AtomicAddrClean 0.00146 Default
AtomicAddrClean-op429 AtomicAddrClean 0.00145714 Default
AtomicAddrClean-op428 AtomicAddrClean 0.00140429 Default
AtomicAddrClean-op418 AtomicAddrClean 0.00137867 Default
AddN-op200 AddN 0.0128364 Default
Square-op38 Square 0.00979933 Default
SigmoidCrossEntropyWithLogitsGrad-op109 SigmoidCrossEntropyWithLogitsGrad 0.00495071 Gradients
SigmoidCrossEntropyWithLogitsGrad-op108 SigmoidCrossEntropyWithLogitsGrad 0.00463143 Gradients
TensorAdd-op106 TensorAdd 0.00392571 Default
TensorAdd-op37 TensorAdd 0.00383267 Default
TensorAdd-op124 TensorAdd 0.00146 Default
SigmoidCrossEntropyWithLogits-op107 SigmoidCrossEntropyWithLogits 0.00480857 Default
ReduceMean-op110 ReduceMean 0.004535 Default
Assign-op30 Assign 0.00136067 Default
Assign-op32 Assign 0.001116 Default
AssignAdd-op414 AssignAdd 0.001688 Default
====================op compute time====================
optype_name compute_time(ms, per-step) called_times(per-step) percent
--------------------------------- ---------------------------- ------------------------ ---------
UnsortedSegmentSum 44.6078 2 35.28
GatherV2 43.1554 2 34.13
Slice 20.3763 16 16.12
Concat 5.80845 4 4.59
Split 2.71428 2 2.15
MatMul 1.93668 15 1.53
Mul 1.90295 32 1.51
StridedSliceGrad 1.50683 2 1.19
TransData 1.11516 30 0.88
ReluGrad 0.854069 5 0.68
Cast 0.484685 15 0.38
ReLU 0.483282 5 0.38
RealDiv 0.422807 15 0.33
StridedSlice 0.345569 2 0.27
Adam 0.285936 11 0.23
BiasAdd 0.189663 5 0.15
BiasAddGrad 0.071681 5 0.06
Tile 0.044158 4 0.03
ReduceSum 0.030765 5 0.02
ApplyFtrl 0.025454 2 0.02
AtomicAddrClean 0.019369 8 0.02
AddN 0.012836 1 0.01
Square 0.009799 1 0.01
SigmoidCrossEntropyWithLogitsGrad 0.009582 2 0.01
TensorAdd 0.009218 3 0.01
SigmoidCrossEntropyWithLogits 0.004809 1 0
ReduceMean 0.004535 1 0
Assign 0.002477 2 0
AssignAdd 0.001688 1 0
Detail:
op_name op_type avg_execution_time subgraph
--------------------------------------- --------------------------------- -------------------- ----------
UnsortedSegmentSum-op199 UnsortedSegmentSum 37.2522 Gradients
UnsortedSegmentSum-op123 UnsortedSegmentSum 7.35559 Gradients
GatherV2-op55 GatherV2 42.2202 Default
GatherV2-op33 GatherV2 0.935229 Default
Slice-op192 Slice 1.56074 Gradients
Slice-op191 Slice 1.55147 Gradients
Slice-op188 Slice 1.5461 Gradients
Slice-op190 Slice 1.54024 Gradients
Slice-op193 Slice 1.53854 Gradients
Slice-op194 Slice 1.53768 Gradients
Slice-op195 Slice 1.53429 Gradients
Slice-op189 Slice 1.53405 Gradients
Slice-op64 Slice 1.12941 Gradients
Slice-op59 Slice 1.06433 Gradients
Slice-op65 Slice 1.00912 Gradients
Slice-op62 Slice 1.00751 Gradients
Slice-op60 Slice 0.967576 Gradients
Slice-op61 Slice 0.967544 Gradients
Slice-op58 Slice 0.962666 Gradients
Slice-op63 Slice 0.92504 Gradients
Concat-op68 Concat 3.08483 Default
Concat-op196 Concat 2.58418 Gradients
Concat-op40 Concat 0.0884167 Default
Concat-op66 Concat 0.0510307 Gradients
Split-op67 Split 2.61707 Default
Split-op39 Split 0.0972053 Default
MatMul-op178 MatMul 0.535181 Gradients
MatMul-op74 MatMul 0.452185 Default
MatMul-op177 MatMul 0.421444 Gradients
MatMul-op165 MatMul 0.116006 Gradients
MatMul-op164 MatMul 0.106089 Gradients
MatMul-op81 MatMul 0.0983221 Default
MatMul-op151 MatMul 0.053485 Gradients
MatMul-op152 MatMul 0.0365136 Gradients
MatMul-op88 MatMul 0.03152 Default
MatMul-op138 MatMul 0.0295893 Gradients
MatMul-op139 MatMul 0.016685 Gradients
MatMul-op95 MatMul 0.01319 Default
MatMul-op120 MatMul 0.00954643 Gradients
MatMul-op119 MatMul 0.00929929 Gradients
MatMul-op102 MatMul 0.007625 Default
Mul-op186 Mul 0.385978 Gradients
Mul-op70 Mul 0.374378 Default
Mul-op72 Mul 0.331515 Default
Mul-op182 Mul 0.317914 Gradients
Mul-op79 Mul 0.109431 Default
Mul-op169 Mul 0.100926 Gradients
Mul-op86 Mul 0.039065 Default
Mul-op156 Mul 0.03713 Gradients
Mul-op116 Mul 0.0331357 Gradients
Mul-op93 Mul 0.0210179 Default
Mul-op121 Mul 0.0209471 Gradients
Mul-op143 Mul 0.0205921 Gradients
Mul-op197 Mul 0.0166779 Default
Mul-op128 Mul 0.0122129 Gradients
Mul-op100 Mul 0.01205 Default
Mul-op201 Mul 0.0108971 Default
Mul-op35 Mul 0.0102227 Default
Mul-op117 Mul 0.0101321 Gradients
Mul-op176 Mul 0.007605 Default
Mul-op163 Mul 0.00625286 Default
Mul-op130 Mul 0.00571571 Gradients
Mul-op150 Mul 0.004635 Default
Mul-op183 Mul 0.00165571 Default
Mul-op137 Mul 0.00160786 Default
Mul-op129 Mul 0.00159643 Gradients
Mul-op170 Mul 0.00159571 Default
Mul-op157 Mul 0.00153143 Default
Mul-op144 Mul 0.00147357 Default
Mul-op28 Mul 0.001468 Default
Mul-op122 Mul 0.00122071 Default
Mul-op29 Mul 0.001202 Default
Mul-op31 Mul 0.001166 Default
StridedSliceGrad-op187 StridedSliceGrad 1.3544 Gradients
StridedSliceGrad-op57 StridedSliceGrad 0.152437 Gradients
TransData-op284 TransData 0.325711 Default
TransData-op271 TransData 0.149802 Default
TransData-op229 TransData 0.0921293 Default
TransData-op240 TransData 0.0918471 Default
TransData-op257 TransData 0.0662064 Default
TransData-op274 TransData 0.0373564 Default
TransData-op245 TransData 0.0371764 Default
TransData-op237 TransData 0.0368179 Default
TransData-op231 TransData 0.0327657 Default
TransData-op206 TransData 0.0277764 Default
TransData-op250 TransData 0.020935 Default
TransData-op233 TransData 0.0204121 Default
TransData-op277 TransData 0.01939 Default
TransData-op242 TransData 0.0191893 Default
TransData-op204 TransData 0.0162743 Default
TransData-op255 TransData 0.0145864 Default
TransData-op235 TransData 0.0144157 Default
TransData-op247 TransData 0.012455 Default
TransData-op280 TransData 0.0124257 Default
TransData-op272 TransData 0.00974933 Default
TransData-op215 TransData 0.00940429 Default
TransData-op252 TransData 0.00857286 Default
TransData-op208 TransData 0.00839571 Default
TransData-op216 TransData 0.00669733 Default
TransData-op210 TransData 0.00627071 Default
TransData-op275 TransData 0.00546133 Default
TransData-op278 TransData 0.00440333 Default
TransData-op212 TransData 0.00333286 Default
TransData-op281 TransData 0.00277333 Default
TransData-op214 TransData 0.00242357 Default
ReluGrad-op184 ReluGrad 0.514471 Gradients
ReluGrad-op171 ReluGrad 0.187441 Gradients
ReluGrad-op158 ReluGrad 0.090505 Gradients
ReluGrad-op145 ReluGrad 0.0393679 Gradients
ReluGrad-op131 ReluGrad 0.0222843 Gradients
Cast-op73 Cast 0.251821 Default
Cast-op80 Cast 0.0472729 Default
Cast-op175 Cast 0.0464929 Gradients
Cast-op87 Cast 0.0258764 Default
Cast-op162 Cast 0.0248979 Gradients
Cast-op52 Cast 0.023116 Default
Cast-op94 Cast 0.01493 Default
Cast-op149 Cast 0.0125914 Gradients
Cast-op101 Cast 0.00926143 Default
Cast-op136 Cast 0.00819714 Gradients
Cast-op45 Cast 0.00711 Default
Cast-op46 Cast 0.0046 Default
Cast-op47 Cast 0.00445933 Default
Cast-op115 Cast 0.00266143 Gradients
Cast-op34 Cast 0.00139667 Default
ReLU-op71 ReLU 0.327769 Default
ReLU-op78 ReLU 0.100851 Default
ReLU-op85 ReLU 0.0279364 Default
ReLU-op92 ReLU 0.0167179 Default
ReLU-op99 ReLU 0.0100079 Default
RealDiv-op174 RealDiv 0.137046 Gradients
RealDiv-op76 RealDiv 0.103911 Default
RealDiv-op161 RealDiv 0.0425664 Gradients
RealDiv-op83 RealDiv 0.0367986 Default
RealDiv-op90 RealDiv 0.0254871 Default
RealDiv-op148 RealDiv 0.0215086 Gradients
RealDiv-op97 RealDiv 0.0157514 Default
RealDiv-op135 RealDiv 0.0134129 Gradients
RealDiv-op104 RealDiv 0.00482857 Default
RealDiv-op54 RealDiv 0.00482467 Gradients
RealDiv-op50 RealDiv 0.00455643 Gradients
RealDiv-op113 RealDiv 0.00454714 Gradients
RealDiv-op51 RealDiv 0.00451643 Gradients
RealDiv-op118 RealDiv 0.00161786 Default
RealDiv-op44 RealDiv 0.00143467 Default
StridedSlice-op69 StridedSlice 0.333141 Default
StridedSlice-op41 StridedSlice 0.0124273 Default
Adam-op198 Adam 0.133745 Default
Adam-op202 Adam 0.0842707 Default
Adam-op179 Adam 0.0332157 Default
Adam-op166 Adam 0.010665 Default
Adam-op153 Adam 0.00629286 Default
Adam-op185 Adam 0.00368857 Default
Adam-op172 Adam 0.00317571 Default
Adam-op159 Adam 0.00294786 Default
Adam-op146 Adam 0.00289 Default
Adam-op140 Adam 0.00281857 Default
Adam-op127 Adam 0.00222571 Default
BiasAdd-op77 BiasAdd 0.110156 Default
BiasAdd-op84 BiasAdd 0.0401686 Default
BiasAdd-op91 BiasAdd 0.0217207 Default
BiasAdd-op98 BiasAdd 0.013145 Default
BiasAdd-op105 BiasAdd 0.00447286 Default
BiasAddGrad-op173 BiasAddGrad 0.03003 Gradients
BiasAddGrad-op160 BiasAddGrad 0.0174807 Gradients
BiasAddGrad-op147 BiasAddGrad 0.0123257 Gradients
BiasAddGrad-op134 BiasAddGrad 0.00878357 Gradients
BiasAddGrad-op112 BiasAddGrad 0.00306143 Gradients
Tile-op114 Tile 0.0274664 Gradients
Tile-op56 Tile 0.00871357 Gradients
Tile-op53 Tile 0.00424333 Gradients
Tile-op49 Tile 0.003735 Gradients
ReduceSum-op36 ReduceSum 0.0150733 Default
ReduceSum-op42 ReduceSum 0.00983267 Default
ReduceSum-op111 ReduceSum 0.00314286 Gradients
ReduceSum-op48 ReduceSum 0.00140067 Gradients
ReduceSum-op43 ReduceSum 0.00131533 Gradients
ApplyFtrl-op133 ApplyFtrl 0.0231964 Default
ApplyFtrl-op132 ApplyFtrl 0.00225714 Default
AtomicAddrClean-op434 AtomicAddrClean 0.00771929 Default
AtomicAddrClean-op427 AtomicAddrClean 0.00293714 Default
AtomicAddrClean-op425 AtomicAddrClean 0.001515 Default
AtomicAddrClean-op430 AtomicAddrClean 0.00149714 Default
AtomicAddrClean-op431 AtomicAddrClean 0.00146 Default
AtomicAddrClean-op429 AtomicAddrClean 0.00145714 Default
AtomicAddrClean-op428 AtomicAddrClean 0.00140429 Default
AtomicAddrClean-op418 AtomicAddrClean 0.00137867 Default
AddN-op200 AddN 0.0128364 Default
Square-op38 Square 0.00979933 Default
SigmoidCrossEntropyWithLogitsGrad-op109 SigmoidCrossEntropyWithLogitsGrad 0.00495071 Gradients
SigmoidCrossEntropyWithLogitsGrad-op108 SigmoidCrossEntropyWithLogitsGrad 0.00463143 Gradients
TensorAdd-op106 TensorAdd 0.00392571 Default
TensorAdd-op37 TensorAdd 0.00383267 Default
TensorAdd-op124 TensorAdd 0.00146 Default
SigmoidCrossEntropyWithLogits-op107 SigmoidCrossEntropyWithLogits 0.00480857 Default
ReduceMean-op110 ReduceMean 0.004535 Default
Assign-op30 Assign 0.00136067 Default
Assign-op32 Assign 0.001116 Default
AssignAdd-op414 AssignAdd 0.001688 Default
====================op compute time====================
optype_name compute_time(ms, per-step) called_times(per-step) percent
--------------------------------- ---------------------------- ------------------------ ---------
UnsortedSegmentSum 44.6078 2 35.28
GatherV2 43.1554 2 34.13
Slice 20.3763 16 16.12
Concat 5.80845 4 4.59
Split 2.71428 2 2.15
MatMul 1.93668 15 1.53
Mul 1.90295 32 1.51
StridedSliceGrad 1.50683 2 1.19
TransData 1.11516 30 0.88
ReluGrad 0.854069 5 0.68
Cast 0.484685 15 0.38
ReLU 0.483282 5 0.38
RealDiv 0.422807 15 0.33
StridedSlice 0.345569 2 0.27
Adam 0.285936 11 0.23
BiasAdd 0.189663 5 0.15
BiasAddGrad 0.071681 5 0.06
Tile 0.044158 4 0.03
ReduceSum 0.030765 5 0.02
ApplyFtrl 0.025454 2 0.02
AtomicAddrClean 0.019369 8 0.02
AddN 0.012836 1 0.01
Square 0.009799 1 0.01
SigmoidCrossEntropyWithLogitsGrad 0.009582 2 0.01
TensorAdd 0.009218 3 0.01
SigmoidCrossEntropyWithLogits 0.004809 1 0
ReduceMean 0.004535 1 0
Assign 0.002477 2 0
AssignAdd 0.001688 1 0
Detail:
op_name op_type avg_execution_time subgraph
--------------------------------------- --------------------------------- -------------------- ----------
UnsortedSegmentSum-op199 UnsortedSegmentSum 37.2522 Gradients
UnsortedSegmentSum-op123 UnsortedSegmentSum 7.35559 Gradients
GatherV2-op55 GatherV2 42.2202 Default
GatherV2-op33 GatherV2 0.935229 Default
Slice-op192 Slice 1.56074 Gradients
Slice-op191 Slice 1.55147 Gradients
Slice-op188 Slice 1.5461 Gradients
Slice-op190 Slice 1.54024 Gradients
Slice-op193 Slice 1.53854 Gradients
Slice-op194 Slice 1.53768 Gradients
Slice-op195 Slice 1.53429 Gradients
Slice-op189 Slice 1.53405 Gradients
Slice-op64 Slice 1.12941 Gradients
Slice-op59 Slice 1.06433 Gradients
Slice-op65 Slice 1.00912 Gradients
Slice-op62 Slice 1.00751 Gradients
Slice-op60 Slice 0.967576 Gradients
Slice-op61 Slice 0.967544 Gradients
Slice-op58 Slice 0.962666 Gradients
Slice-op63 Slice 0.92504 Gradients
Concat-op68 Concat 3.08483 Default
Concat-op196 Concat 2.58418 Gradients
Concat-op40 Concat 0.0884167 Default
Concat-op66 Concat 0.0510307 Gradients
Split-op67 Split 2.61707 Default
Split-op39 Split 0.0972053 Default
MatMul-op178 MatMul 0.535181 Gradients
MatMul-op74 MatMul 0.452185 Default
MatMul-op177 MatMul 0.421444 Gradients
MatMul-op165 MatMul 0.116006 Gradients
MatMul-op164 MatMul 0.106089 Gradients
MatMul-op81 MatMul 0.0983221 Default
MatMul-op151 MatMul 0.053485 Gradients
MatMul-op152 MatMul 0.0365136 Gradients
MatMul-op88 MatMul 0.03152 Default
MatMul-op138 MatMul 0.0295893 Gradients
MatMul-op139 MatMul 0.016685 Gradients
MatMul-op95 MatMul 0.01319 Default
MatMul-op120 MatMul 0.00954643 Gradients
MatMul-op119 MatMul 0.00929929 Gradients
MatMul-op102 MatMul 0.007625 Default
Mul-op186 Mul 0.385978 Gradients
Mul-op70 Mul 0.374378 Default
Mul-op72 Mul 0.331515 Default
Mul-op182 Mul 0.317914 Gradients
Mul-op79 Mul 0.109431 Default
Mul-op169 Mul 0.100926 Gradients
Mul-op86 Mul 0.039065 Default
Mul-op156 Mul 0.03713 Gradients
Mul-op116 Mul 0.0331357 Gradients
Mul-op93 Mul 0.0210179 Default
Mul-op121 Mul 0.0209471 Gradients
Mul-op143 Mul 0.0205921 Gradients
Mul-op197 Mul 0.0166779 Default
Mul-op128 Mul 0.0122129 Gradients
Mul-op100 Mul 0.01205 Default
Mul-op201 Mul 0.0108971 Default
Mul-op35 Mul 0.0102227 Default
Mul-op117 Mul 0.0101321 Gradients
Mul-op176 Mul 0.007605 Default
Mul-op163 Mul 0.00625286 Default
Mul-op130 Mul 0.00571571 Gradients
Mul-op150 Mul 0.004635 Default
Mul-op183 Mul 0.00165571 Default
Mul-op137 Mul 0.00160786 Default
Mul-op129 Mul 0.00159643 Gradients
Mul-op170 Mul 0.00159571 Default
Mul-op157 Mul 0.00153143 Default
Mul-op144 Mul 0.00147357 Default
Mul-op28 Mul 0.001468 Default
Mul-op122 Mul 0.00122071 Default
Mul-op29 Mul 0.001202 Default
Mul-op31 Mul 0.001166 Default
StridedSliceGrad-op187 StridedSliceGrad 1.3544 Gradients
StridedSliceGrad-op57 StridedSliceGrad 0.152437 Gradients
TransData-op284 TransData 0.325711 Default
TransData-op271 TransData 0.149802 Default
TransData-op229 TransData 0.0921293 Default
TransData-op240 TransData 0.0918471 Default
TransData-op257 TransData 0.0662064 Default
TransData-op274 TransData 0.0373564 Default
TransData-op245 TransData 0.0371764 Default
TransData-op237 TransData 0.0368179 Default
TransData-op231 TransData 0.0327657 Default
TransData-op206 TransData 0.0277764 Default
TransData-op250 TransData 0.020935 Default
TransData-op233 TransData 0.0204121 Default
TransData-op277 TransData 0.01939 Default
TransData-op242 TransData 0.0191893 Default
TransData-op204 TransData 0.0162743 Default
TransData-op255 TransData 0.0145864 Default
TransData-op235 TransData 0.0144157 Default
TransData-op247 TransData 0.012455 Default
TransData-op280 TransData 0.0124257 Default
TransData-op272 TransData 0.00974933 Default
TransData-op215 TransData 0.00940429 Default
TransData-op252 TransData 0.00857286 Default
TransData-op208 TransData 0.00839571 Default
TransData-op216 TransData 0.00669733 Default
TransData-op210 TransData 0.00627071 Default
TransData-op275 TransData 0.00546133 Default
TransData-op278 TransData 0.00440333 Default
TransData-op212 TransData 0.00333286 Default
TransData-op281 TransData 0.00277333 Default
TransData-op214 TransData 0.00242357 Default
ReluGrad-op184 ReluGrad 0.514471 Gradients
ReluGrad-op171 ReluGrad 0.187441 Gradients
ReluGrad-op158 ReluGrad 0.090505 Gradients
ReluGrad-op145 ReluGrad 0.0393679 Gradients
ReluGrad-op131 ReluGrad 0.0222843 Gradients
Cast-op73 Cast 0.251821 Default
Cast-op80 Cast 0.0472729 Default
Cast-op175 Cast 0.0464929 Gradients
Cast-op87 Cast 0.0258764 Default
Cast-op162 Cast 0.0248979 Gradients
Cast-op52 Cast 0.023116 Default
Cast-op94 Cast 0.01493 Default
Cast-op149 Cast 0.0125914 Gradients
Cast-op101 Cast 0.00926143 Default
Cast-op136 Cast 0.00819714 Gradients
Cast-op45 Cast 0.00711 Default
Cast-op46 Cast 0.0046 Default
Cast-op47 Cast 0.00445933 Default
Cast-op115 Cast 0.00266143 Gradients
Cast-op34 Cast 0.00139667 Default
ReLU-op71 ReLU 0.327769 Default
ReLU-op78 ReLU 0.100851 Default
ReLU-op85 ReLU 0.0279364 Default
ReLU-op92 ReLU 0.0167179 Default
ReLU-op99 ReLU 0.0100079 Default
RealDiv-op174 RealDiv 0.137046 Gradients
RealDiv-op76 RealDiv 0.103911 Default
RealDiv-op161 RealDiv 0.0425664 Gradients
RealDiv-op83 RealDiv 0.0367986 Default
RealDiv-op90 RealDiv 0.0254871 Default
RealDiv-op148 RealDiv 0.0215086 Gradients
RealDiv-op97 RealDiv 0.0157514 Default
RealDiv-op135 RealDiv 0.0134129 Gradients
RealDiv-op104 RealDiv 0.00482857 Default
RealDiv-op54 RealDiv 0.00482467 Gradients
RealDiv-op50 RealDiv 0.00455643 Gradients
RealDiv-op113 RealDiv 0.00454714 Gradients
RealDiv-op51 RealDiv 0.00451643 Gradients
RealDiv-op118 RealDiv 0.00161786 Default
RealDiv-op44 RealDiv 0.00143467 Default
StridedSlice-op69 StridedSlice 0.333141 Default
StridedSlice-op41 StridedSlice 0.0124273 Default
Adam-op198 Adam 0.133745 Default
Adam-op202 Adam 0.0842707 Default
Adam-op179 Adam 0.0332157 Default
Adam-op166 Adam 0.010665 Default
Adam-op153 Adam 0.00629286 Default
Adam-op185 Adam 0.00368857 Default
Adam-op172 Adam 0.00317571 Default
Adam-op159 Adam 0.00294786 Default
Adam-op146 Adam 0.00289 Default
Adam-op140 Adam 0.00281857 Default
Adam-op127 Adam 0.00222571 Default
BiasAdd-op77 BiasAdd 0.110156 Default
BiasAdd-op84 BiasAdd 0.0401686 Default
BiasAdd-op91 BiasAdd 0.0217207 Default
BiasAdd-op98 BiasAdd 0.013145 Default
BiasAdd-op105 BiasAdd 0.00447286 Default
BiasAddGrad-op173 BiasAddGrad 0.03003 Gradients
BiasAddGrad-op160 BiasAddGrad 0.0174807 Gradients
BiasAddGrad-op147 BiasAddGrad 0.0123257 Gradients
BiasAddGrad-op134 BiasAddGrad 0.00878357 Gradients
BiasAddGrad-op112 BiasAddGrad 0.00306143 Gradients
Tile-op114 Tile 0.0274664 Gradients
Tile-op56 Tile 0.00871357 Gradients
Tile-op53 Tile 0.00424333 Gradients
Tile-op49 Tile 0.003735 Gradients
ReduceSum-op36 ReduceSum 0.0150733 Default
ReduceSum-op42 ReduceSum 0.00983267 Default
ReduceSum-op111 ReduceSum 0.00314286 Gradients
ReduceSum-op48 ReduceSum 0.00140067 Gradients
ReduceSum-op43 ReduceSum 0.00131533 Gradients
ApplyFtrl-op133 ApplyFtrl 0.0231964 Default
ApplyFtrl-op132 ApplyFtrl 0.00225714 Default
AtomicAddrClean-op434 AtomicAddrClean 0.00771929 Default
AtomicAddrClean-op427 AtomicAddrClean 0.00293714 Default
AtomicAddrClean-op425 AtomicAddrClean 0.001515 Default
AtomicAddrClean-op430 AtomicAddrClean 0.00149714 Default
AtomicAddrClean-op431 AtomicAddrClean 0.00146 Default
AtomicAddrClean-op429 AtomicAddrClean 0.00145714 Default
AtomicAddrClean-op428 AtomicAddrClean 0.00140429 Default
AtomicAddrClean-op418 AtomicAddrClean 0.00137867 Default
AddN-op200 AddN 0.0128364 Default
Square-op38 Square 0.00979933 Default
SigmoidCrossEntropyWithLogitsGrad-op109 SigmoidCrossEntropyWithLogitsGrad 0.00495071 Gradients
SigmoidCrossEntropyWithLogitsGrad-op108 SigmoidCrossEntropyWithLogitsGrad 0.00463143 Gradients
TensorAdd-op106 TensorAdd 0.00392571 Default
TensorAdd-op37 TensorAdd 0.00383267 Default
TensorAdd-op124 TensorAdd 0.00146 Default
SigmoidCrossEntropyWithLogits-op107 SigmoidCrossEntropyWithLogits 0.00480857 Default
ReduceMean-op110 ReduceMean 0.004535 Default
Assign-op30 Assign 0.00136067 Default
Assign-op32 Assign 0.001116 Default
AssignAdd-op414 AssignAdd 0.001688 Default
因为 它太大了无法显示 source diff 。你可以改为 查看blob
{
"sampling_interval": 10,
"op_info": [
{
"op_id": 4,
"op_type": "TFReader",
"num_workers": 4,
"metrics": null,
"children": [3]
},
{
"op_id": 3,
"op_type": "TFReader",
"num_workers": 4,
"metrics": {
"output_queue": {
"size": [10, 20, 30],
"length": 64
}
},
"children": null
},
{
"op_id": 2,
"op_type": "TFReader",
"num_workers": 4,
"metrics": {
"output_queue": {
"size": [10, 20, 30],
"length": 64
}
},
"children": null
},
{
"op_id": 1,
"op_type": "Shuffle",
"num_workers": 1,
"metrics": {
"output_queue": {
"size": [10, 20, 30],
"length": 64
}
},
"children": [2, 4]
},
{
"op_id": 0,
"op_type": "Batch",
"num_workers": 4,
"metrics": null,
"children": [1]
}
]
}
\ No newline at end of file
{"fp_start": "Default/Cast-op6", "bp_end": "Default/TransData-op7"}
\ No newline at end of file
step_num,start_point,end_point,total,fp_point,bp_point,iteration_interval,fp_and_bp,tail,stream_520_parallel_0_start_point,stream_520_parallel_0_end_point,stream_520_parallel_0,stream_522_parallel_0_start_point,stream_522_parallel_0_end_point,stream_522_parallel_0,stream_524_parallel_0_start_point,stream_524_parallel_0_end_point,stream_524_parallel_0,stream_526_parallel_0_start_point,stream_526_parallel_0_end_point,stream_526_parallel_0,stream_528_parallel_0_start_point,stream_528_parallel_0_end_point,stream_528_parallel_0,stream_530_parallel_0_start_point,stream_530_parallel_0_end_point,stream_530_parallel_0,stream_532_parallel_0_start_point,stream_532_parallel_0_end_point,stream_532_parallel_0,stream_534_parallel_0_start_point,stream_534_parallel_0_end_point,stream_534_parallel_0,stream_536_parallel_0_start_point,stream_536_parallel_0_end_point,stream_536_parallel_0,stream_538_parallel_0_start_point,stream_538_parallel_0_end_point,stream_538_parallel_0,stream_540_parallel_0_start_point,stream_540_parallel_0_end_point,stream_540_parallel_0
1,43806850547,43835277665,28427118,43806850547,43826228662,0,19378115,9049003,43806979896,43814842766,7862870,43806997260,43814823508,7826248,43814882574,43814951269,68695,43814897323,43814966482,69159,43814991920,43815057378,65458,43815007147,43815080232,73085,43819302977,43822500665,3197688,43820137280,43822971125,2833845,43823438328,43823872228,433900,43824391883,43824924486,532603,43826239844,43831503539,5263695
2,43835277665,43855846023,20568358,43835298746,43847098504,21081,11799758,8747519,43835428735,43835587759,159024,43835446892,43835568336,121444,43835632036,43835698380,66344,43835647043,43835704260,57217,43835739468,43835804439,64971,43835755107,43835821006,65899,43840063039,43843367407,3304368,43840897501,43843617882,2720381,43844308717,43844483817,175100,43845261812,43845551222,289410,43847109710,43852068173,4958463
3,43855846023,43876218381,20372358,43855867006,43867655651,20983,11788645,8562730,43855991963,43856247793,255830,43856012795,43856229529,216734,43856291502,43856359411,67909,43856306186,43856365396,59210,43856398907,43856465191,66284,43856413995,43856484203,70208,43860715348,43863925058,3209710,43861549249,43864142055,2592806,43864864400,43865008182,143782,43865816432,43866069437,253005,43867666988,43872445556,4778568
4,43876218381,43897172276,20953895,43876239059,43888460022,20678,12220963,8712254,43876369610,43876746322,376712,43876385030,43876725158,340128,43876790071,43876860921,70850,43876804890,43876877372,72482,43876902198,43876971196,68998,43876917454,43876985846,68392,43881226133,43884733998,3507865,43882060892,43885045635,2984743,43885670218,43885948862,278644,43886622918,43887012071,389153,43888471284,43893401563,4930279
5,43897172276,43917707811,20535535,43897191998,43908941162,19722,11749164,8766649,43897321990,43897699897,377907,43897339693,43897680160,340467,43897743226,43897808808,65582,43897758593,43897814916,56323,43897851731,43897916500,64769,43897867291,43897937027,69736,43902163059,43905207327,3044268,43902997385,43905512623,2515238,43906149013,43906381080,232067,43907100473,43907448679,348206,43908952497,43913935443,4982946
6,43917707811,43938161846,20454035,43917728809,43929327116,20998,11598307,8834730,43917860261,43917993893,133632,43917876162,43917974858,98696,43918038157,43918110816,72659,43918053012,43918116712,63700,43918145652,43918212335,66683,43918160497,43918232430,71933,43922458494,43925595193,3136699,43923292954,43925907495,2614541,43926538047,43926749154,211107,43927491223,43927838477,347254,43929338506,43934392334,5053828
7,43938161846,43958535430,20373584,43938182876,43949894421,21030,11711545,8641009,43938307880,43938446657,138777,43938328316,43938428000,99684,43938491158,43938557464,66306,43938506079,43938563337,57258,43938598021,43938664019,65998,43938612975,43938684109,71134,43942909878,43946164608,3254730,43943742728,43946406003,2663275,43947105292,43947287615,182323,43948059338,43948325564,266226,43949905802,43954760434,4854632
8,43958535430,43979232092,20696662,43958555666,43970434656,20236,11878990,8797436,43958680407,43958897054,216647,43958700864,43958881663,180799,43958940269,43959004707,64438,43958955366,43959021160,65794,43959045582,43959115504,69922,43959060531,43959131768,71237,43963372975,43966711479,3338504,43964207329,43967134018,2926689,43967648960,43968037525,388565,43968600109,43969094684,494575,43970445776,43975458456,5012680
9,43979232092,43999782337,20550245,43979251995,43991063130,19903,11811135,8719207,43979376376,43979706536,330160,43979396713,43979690712,293999,43979750477,43979815531,65054,43979765411,43979821365,55954,43979858807,43979923746,64939,43979874150,43979943872,69722,43984171782,43987335571,3163789,43985006524,43987650562,2644038,43988274564,43988544965,270401,43989230199,43989615413,385214,43991074319,43996010406,4936087
10,43999782337,44020359512,20577175,43999802475,44011672067,20138,11869592,8687445,43999933281,44000280477,347196,43999950992,44000263921,312929,44000324676,44000391615,66939,44000340183,44000397671,57488,44000433008,44000492199,59191,44000448206,44000517652,69446,44004744078,44007943564,3199486,44005578563,44008263274,2684711,44008881520,44009156021,274501,44009835235,44010212205,376970,44011683328,44016584555,4901227
11,44020359512,44040830470,20470958,44020380513,44032160326,21001,11779813,8670144,44020506069,44020828900,322831,44020526088,44020810600,284512,44020874774,44020942302,67528,44020889732,44020948448,58716,44020982718,44021055809,73091,44020997980,44021050334,52354,44025306347,44028435807,3129460,44026140576,44028683277,2542701,44029376823,44029507036,130213,44030331082,44030568009,236927,44032171437,44037054963,4883526
12,44040830470,44061233790,20403320,44040850650,44052562196,20180,11711546,8671594,44040974833,44041254568,279735,44040996133,44041235788,239655,44041297900,44041371854,73954,44041313296,44041366070,52774,44041407112,44041479679,72567,44041422437,44041474339,51902,44045730630,44048831898,3101268,44046564329,44049067588,2503259,44049770219,44049909494,139275,44050724408,44050948028,223620,44052573727,44057461611,4887884
13,44061233790,44081950527,20716737,44061255244,44073216905,21454,11961661,8733622,44061379908,44061893089,513181,44061401219,44061876080,474861,44061936864,44062001710,64846,44061951642,44062022167,70525,44062038754,44062104281,65527,44062053666,44062137472,83806,44066351492,44069474485,3122993,44067186144,44069765772,2579628,44070416505,44070632298,215793,44071370376,44071716663,346287,44073228041,44078180756,4952715
14,44081950527,44102275100,20324573,44081971039,44093572595,20512,11601556,8702505,44082095740,44082254342,158602,44082117532,44082235828,118296,44082297218,44082371430,74212,44082312372,44082365749,53377,44082405668,44082471976,66308,44082420571,44082491933,71362,44086716911,44089834738,3117827,44087550457,44090198905,2648448,44090777077,44091076759,299682,44091731156,44092142213,411057,44093583473,44098500996,4917523
15,44102275100,44122744042,20468942,44102296037,44114089124,20937,11793087,8654918,44102420935,44102756031,335096,44102442610,44102735251,292641,44102799286,44102872347,73061,44102814240,44102878935,64695,44102912472,44102977329,64857,44102927580,44102993993,66413,44107234464,44110359484,3125020,44108068982,44110617441,2548459,44111300290,44111462959,162669,44112253299,44112504828,251529,44114100468,44118970414,4869946
16,44122744042,44143315003,20570961,44122764305,44134692985,20263,11928680,8622018,44122890022,44123220007,329985,44122911498,44123200422,288924,44123264580,44123336418,71838,44123280022,44123330728,50706,44123371411,44123444431,73020,44123386800,44123450607,63807,44127695887,44130962833,3266946,44128530435,44131075158,2544723,44131899651,44131934803,35152,44132855346,44132998290,142944,44134704170,44139539120,4834950
17,44143315003,44163811607,20496604,44143335731,44154940676,20728,11604945,8870931,44143465932,44143639577,173645,44143483061,44143620861,137800,44143684261,44143755366,71105,44143699486,44143749910,50424,44143790901,44143860757,69856,44143805691,44143866565,60874,44148117390,44151215001,3097611,44148951672,44151617256,2665584,44152155635,44152508152,352517,44153109865,44153576019,466154,44154951688,44160038877,5087189
18,44163811607,44184532237,20720630,44163834416,44175685871,22809,11851455,8846366,44163964743,44164288611,323868,44163982124,44164271306,289182,44164333259,44164403911,70652,44164348231,44164398457,50226,44164439547,44164505525,65978,44164454802,44164522197,67395,44168763295,44171953638,3190343,44169597212,44172535265,2938053,44172892958,44173447551,554593,44173846575,44174479801,633226,44175697196,44180757817,5060621
19,44184532237,44205247211,20714974,44184552395,44196593427,20158,12041032,8653784,44184683087,44185191372,508285,44184698849,44185169555,470706,44185234793,44185300719,65926,44185250310,44185306494,56184,44185341254,44185410828,69574,44185356360,44185416704,60344,44189668776,44192858543,3189767,44190502809,44193129716,2626907,44193798521,44193991414,192893,44194751763,44195078040,326277,44196604576,44201470956,4866380
20,44205247211,44226075868,20828657,44205267835,44217063903,20624,11796068,9011965,44205393267,44205594023,200756,44205415066,44205576020,160954,44205638750,44205708958,70208,44205653578,44205703487,49909,44205743734,44205810062,66328,44205758532,44205825868,67336,44210069241,44213331232,3261991,44210903344,44213671693,2768349,44214271387,44214580674,309287,44215223881,44215625434,401553,44217074939,44222303626,5228687
21,44226075868,44246732558,20656690,44226096489,44238055680,20621,11959191,8676878,44226222783,44226706275,483492,44226240074,44226567217,327143,44226752995,44226844414,91419,44226770382,44226837942,67560,44226884146,44226955988,71842,44226901191,44226983628,82437,44231202468,44234327937,3125469,44232036890,44234605189,2568299,44235266830,44235453461,186631,44236220003,44236496196,276193,44238066815,44242960452,4893637
22,44246732558,44267092056,20359498,44246752565,44258416435,20007,11663870,8675621,44246879243,44247093290,214047,44246900033,44247077208,177175,44247136767,44247210762,73995,44247152458,44247205323,52865,44247245857,44247311587,65730,44247261292,44247317428,56136,44251568669,44254691670,3123001,44252403022,44254988667,2585645,44255630655,44255852325,221670,44256584287,44256932144,347857,44258427482,44263317869,4890387
23,44267092056,44287698474,20606418,44267112083,44278745384,20027,11633301,8953090,44267237301,44267472653,235352,44267258376,44267449193,190817,44267516762,44267586073,69311,44267532297,44267592178,59881,44267626729,44267693252,66523,44267642154,44267719271,77117,44271938966,44275021062,3082096,44272773006,44275375073,2602067,44275961109,44276248132,287023,44276913233,44277324449,411216,44278756444,44283923934,5167490
24,44287698474,44308003844,20305370,44287718195,44299399792,19721,11681597,8604052,44287850598,44287991369,140771,44287868459,44287967179,98720,44288036485,44288107603,71118,44288051898,44288101979,50081,44288142961,44288214952,71991,44288158497,44288209380,50883,44292465688,44295659694,3194006,44293299781,44295789139,2489358,44296599423,44296633501,34078,44297554668,44297659629,104961,44299411080,44304230130,4819050
25,44308003844,44328174524,20170680,44308023634,44319643109,19790,11619475,8531415,44308149120,44308292267,143147,44308169291,44308271101,101810,44308337014,44308405078,68064,44308352956,44308421266,68310,44308446074,44308517238,71164,44308460770,44308539711,78941,44312762533,44315914249,3151716,44313596658,44316061970,2465312,44316855197,44316911814,56617,44317807713,44317961066,153353,44319654245,44324403480,4749235
26,44328174524,44349218767,21044243,44328194895,44340530725,20371,12335830,8688042,44328324877,44328756715,431838,44328343117,44328736625,393508,44328799962,44328869563,69601,44328815207,44328875546,60339,44328910573,44328977676,67103,44328925620,44328983526,57906,44333234873,44336801006,3566133,44334068955,44336877628,2808673,44337737798,44337778270,40472,44338693697,44338808234,114537,44340542133,44345441908,4899775
27,44349218767,44369954247,20735480,44349239349,44361048685,20582,11809336,8905562,44349369187,44349624583,255396,44349387477,44349609405,221928,44349668836,44349733323,64487,44349683598,44349753414,69816,44349770250,44349836461,66211,44349785048,44349856711,71663,44354085497,44357320940,3235443,44354920002,44357720199,2800197,44358260541,44358627401,366860,44359215178,44359664034,448856,44361059775,44366181481,5121706
28,44369954247,44390402255,20448008,44369974952,44381636133,20705,11661181,8766122,44370104802,44370256353,151551,44370122718,44370237848,115130,44370299893,44370364562,64669,44370314756,44370381753,66997,44370406511,44370472913,66402,44370421381,44370489271,67890,44374730824,44377900392,3169568,44375564525,44378407269,2842744,44378840692,44379322703,482011,44379794108,44380370321,576213,44381647256,44386627300,4980044
29,44390402255,44410750143,20347888,44390422567,44402189967,20312,11767400,8560176,44390546834,44390897715,350881,44390568351,44390876882,308531,44390941423,44391007190,65767,44390956597,44391012937,56340,44391047535,44391114020,66485,44391062668,44391130460,67792,44395371077,44398450594,3079517,44396205220,44398650380,2445160,44399388935,44399479235,90300,44400346281,44400512571,166290,44402201237,44406978159,4776922
30,44410750143,44431176759,20426616,44410770333,44422533396,20190,11763063,8643363,44410900536,44411188299,287763,44410918054,44411169659,251605,44411232720,44411303537,70817,44411247878,44411297989,50111,44411338952,44411404707,65755,44411354023,44411421120,67097,44415661742,44418800039,3138297,44416496416,44419061181,2564765,44419736702,44419898739,162037,44420691235,44420959444,268209,44422544465,44427404747,4860282
31,44431176759,44451449009,20272250,44431197646,44442826372,20887,11628726,8622637,44431322635,44431557540,234905,44431344114,44431539249,195135,44431601564,44431676304,74740,44431616664,44431670689,54025,44431711243,44431778042,66799,44431725975,44431794292,68317,44436035020,44439090705,3055685,44436869437,44439294665,2425228,44440029085,44440161633,132548,44440981622,44441202116,220494,44442838668,44447674211,4835543
32,44451449009,44471700374,20251365,44451470446,44463058183,21437,11587737,8642191,44451595167,44451794540,199373,44451616306,44451781155,164849,44451841721,44451910357,68636,44451858109,44451928315,70206,44451955717,44452024781,69064,44451972222,44452031814,59592,44456283303,44459330164,3046861,44457117418,44459670488,2553070,44460268774,44460566352,297578,44461220580,44461636596,416016,44463069303,44467926267,4856964
33,44471700374,44492104077,20403703,44471721264,44483362543,20890,11641279,8741534,44471847485,44472103367,255882,44471868669,44472082240,213571,44472146845,44472214301,67456,44472161746,44472220052,58306,44472255485,44472319968,64483,44472270172,44472336529,66357,44476578837,44479632447,3053610,44477412818,44480003904,2591086,44480574431,44480893122,318691,44481528168,44481965151,436983,44483373758,44488332031,4958273
34,44492104077,44512405791,20301714,44492124623,44503815754,20546,11691131,8590037,44492249300,44492556437,307137,44492269463,44492535870,266407,44492599587,44492667927,68340,44492614354,44492683993,69639,44492708859,44492776225,67366,44492723987,44492803704,79717,44497020499,44500092590,3072091,44497855055,44500451777,2596722,44501030806,44501361798,330992,44501984567,44502410372,425805,44503826742,44508635470,4808728
35,44512405791,44533110373,20704582,44512425077,44524520826,19286,12095749,8589547,44512550220,44513066413,516193,44512570919,44513048122,477203,44513109453,44513183725,74272,44513124186,44513178048,53862,44513218326,44513283749,65423,44513233451,44513303643,70192,44517530416,44520796389,3265973,44518364463,44520927189,2562726,44521731705,44521766390,34685,44522684196,44522802383,118187,44524532673,44529340236,4807563
36,44533110373,44553740439,20630066,44533130591,44544852781,20218,11722190,8887658,44533260037,44533421556,161519,44533277391,44533405356,127965,44533466460,44533544247,77787,44533482223,44533538613,56390,44533578408,44533636711,58303,44533593376,44533663038,69662,44537889908,44541128315,3238407,44538724144,44541532641,2808497,44542071591,44542449191,377600,44543022019,44543482811,460792,44544863816,44549966882,5103066
37,44553740439,44574302959,20562520,44553761786,44565509826,21347,11748040,8793133,44553886934,44554162975,276041,44553907934,44554144984,237050,44554206220,44554278788,72568,44554221554,44554273196,51642,44554313802,44554372983,59181,44554328823,44554399155,70332,44558624935,44561785580,3160645,44559458808,44562017271,2558463,44562724376,44562874113,149737,44563677712,44563940976,263264,44565520608,44570525174,5004566
38,44574302959,44594604155,20301196,44574323295,44585986001,20336,11662706,8618154,44574448836,44574588860,140024,44574470256,44574571502,101246,44574633074,44574703925,70851,44574647998,44574698319,50321,44574739655,44574812213,72558,44574754577,44574806730,52153,44579063189,44582257230,3194041,44579897497,44582426359,2528862,44583195690,44583294085,98395,44584148501,44584361271,212770,44585996762,44590833492,4836730
39,44594604155,44615049308,20445153,44594624707,44606298520,20552,11673813,8750788,44594749809,44594917111,167302,44594769799,44594903186,133387,44594960361,44595028360,67999,44594975963,44595034887,58924,44595068900,44595135118,66218,44595083676,44595153924,70248,44599380444,44602572172,3191728,44600214467,44602778707,2564240,44603511099,44603634130,123031,44604464603,44604661983,197380,44606310088,44611274316,4964228
40,44615049308,44635354303,20304995,44615070682,44626679418,21374,11608736,8674885,44615196845,44615335405,138560,44615213494,44615316140,102646,44615380223,44615446678,66455,44615395217,44615452717,57500,44615487101,44615551774,64673,44615501932,44615568494,66562,44619809881,44622949181,3139300,44620643742,44623200596,2556854,44623891046,44624020958,129912,44624844423,44625071374,226951,44626690453,44631582228,4891775
41,44635354303,44655612335,20258032,44635374539,44647033301,20236,11658762,8579034,44635503732,44635744801,241069,44635521586,44635725238,203652,44635788469,44635866333,77864,44635803335,44635860499,57164,44635900227,44635972514,72287,44635915142,44635966977,51835,44640223225,44643309053,3085828,44641057583,44643552762,2495179,44644249082,44644390324,141242,44645201958,44645418205,216247,44647044559,44651839709,4795150
42,44655612335,44676048392,20436057,44655634905,44667367927,22570,11733022,8680465,44655765450,44656010910,245460,44655783912,44655994984,211072,44656056057,44656127364,71307,44656071616,44656133952,62336,44656170224,44656236211,65987,44656185437,44656253376,67939,44660493864,44663630908,3137044,44661328277,44663905426,2577149,44664570059,44664765516,195457,44665525623,44665847476,321853,44667379192,44672274676,4895484
43,44676048392,44696806203,20757811,44676069249,44688205458,20857,12136209,8600745,44676195168,44676816387,621219,44676212116,44676712404,500288,44676863674,44676961117,97443,44676880791,44676979162,98371,44677006913,44677082354,75441,44677024494,44677100315,75821,44681342462,44684474690,3132228,44682176610,44684753535,2576925,44685416367,44685593702,177335,44686370322,44686648451,278129,44688216869,44693030237,4813368
44,44696806203,44717411825,20605622,44696826194,44708707638,19991,11881444,8704187,44696953320,44697286302,332982,44696974393,44697269420,295027,44697329926,44697394272,64346,44697345046,44697414455,69409,44697431683,44697487333,55650,44697446585,44697515866,69281,44701742664,44704979643,3236979,44702576613,44705194631,2618018,44705921343,44706031518,110175,44706875875,44707110244,234369,44708718782,44713639286,4920504
45,44717411825,44738091890,20680065,44717432066,44729482066,20241,12050000,8609824,44717561566,44717768410,206844,44717578562,44717752023,173461,44717812043,44717881382,69339,44717827079,44717909864,82785,44717915781,44717983474,67693,44717958068,44718009597,51529,44722236198,44725745576,3509378,44723069782,44725807480,2737698,44726680693,44726715801,35108,44727636869,44727752058,115189,44729493189,44734316446,4823257
46,44738091890,44758577345,20485455,44738112200,44749783859,20310,11671659,8793486,44738238466,44738397277,158811,44738259334,44738381179,121845,44738442571,44738508637,66066,44738458011,44738529263,71252,44738546382,44738611120,64738,44738560955,44738616778,55823,44742868084,44746055043,3186959,44743702103,44746324424,2622321,44746999413,44747164568,165155,44747954715,44748209532,254817,44749795450,44754802187,5006737
47,44758577345,44779070917,20493572,44758597452,44770240550,20107,11643098,8830367,44758722948,44758868280,145332,44758744585,44758848887,104302,44758912235,44758987178,74943,44758928183,44758981654,53471,44759021924,44759087325,65401,44759037276,44759106626,69350,44763333629,44766514402,3180773,44764168174,44766758705,2590531,44767453868,44767598674,144806,44768407493,44768674768,267275,44770252124,44775300885,5048761
48,44779070917,44799856051,20785134,44779090764,44791177493,19847,12086729,8678558,44779220747,44779361021,140274,44779238669,44779342361,103692,44779404743,44779471122,66379,44779419902,44779476899,56997,44779511190,44779579337,68147,44779526016,44779585216,59200,44783837602,44787447102,3609500,44784671161,44787523773,2852612,44788381886,44788417872,35986,44789335464,44789457946,122482,44791188759,44796080225,4891466
49,44799856051,44820221054,20365003,44799876304,44811569002,20253,11692698,8652052,44800001089,44800144726,143637,44800021719,44800127404,105685,44800189058,44800254876,65818,44800204082,44800260967,56885,44800295661,44800363090,67429,44800310551,44800379674,69123,44804620471,44807832244,3211773,44805454241,44808139831,2685590,44808774637,44809040930,266293,44809725887,44810112500,386613,44811580089,44816446341,4866252
50,44820221054,44840791793,20570739,44820242387,44832208137,21333,11965750,8583656,44820366892,44820744517,377625,44820382939,44820727180,344241,44820788150,44820864532,76382,44820803118,44820858726,55608,44820900043,44820972773,72730,44820915347,44820967190,51843,44825224042,44828482001,3257959,44826058436,44828656652,2598216,44829419252,44829534104,114852,44830373172,44830600585,227413,44832219150,44837018994,4799844
51,44840791793,44861151364,20359571,44840812650,44852468928,20857,11656278,8682436,44840943390,44841229008,285618,44840960994,44841209251,248257,44841272729,44841339645,66916,44841287808,44841356649,68841,44841381342,44841448373,67031,44841396148,44841454225,58077,44845704023,44848734196,3030173,44846538373,44849135368,2596995,44849674431,44850021232,346801,44850627454,44851086290,458836,44852480358,44857377373,4897015
52,44861151364,44882179817,21028453,44861170798,44873136615,19434,11965817,9043202,44861299774,44861612818,313044,44861317380,44861592652,275272,44861656073,44861721824,65751,44861670837,44861727637,56800,44861762784,44861831853,69069,44861778114,44861849296,71182,44866089746,44869414292,3324546,44866923561,44869928598,3005037,44870350748,44870853115,502367,44871303379,44871892120,588741,44873147862,44878407097,5259235
53,44882179817,44902538088,20358271,44882199634,44893860666,19817,11661032,8677422,44882323958,44882514760,190802,44882345160,44882492425,147265,44882558458,44882623498,65040,44882573390,44882639818,66428,44882664713,44882731386,66673,44882679605,44882747865,68260,44886987817,44890130024,3142207,44887821163,44890487110,2665947,44891069757,44891370431,300674,44892022557,44892446077,423520,44893871698,44898770632,4898934
54,44902538088,44923227550,20689462,44902558199,44914195451,20111,11637252,9032099,44902682369,44902972683,290314,44902702861,44902954454,251593,44903015578,44903084896,69318,44903030807,44903100635,69828,44903125058,44903189528,64470,44903140486,44903209572,69086,44907435631,44910457363,3021732,44908269987,44910875918,2605931,44911402907,44911738797,335890,44912354906,44912799854,444948,44914206696,44919454907,5248211
55,44923227550,44943547928,20320378,44923248032,44934819664,20482,11571632,8728264,44923377543,44923559432,181889,44923394792,44923543225,148433,44923602764,44923675628,72864,44923617792,44923670092,52300,44923710373,44923774009,63636,44923725091,44923793839,68748,44928021597,44931078067,3056470,44928856074,44931405513,2549439,44932019688,44932269858,250170,44932971532,44933357053,385521,44934832047,44939773549,4941502
56,44943547928,44964125283,20577355,44943567519,44955484083,19591,11916564,8641200,44943691979,44943910355,218376,44943712855,44943885850,172995,44943954443,44944024542,70099,44943969179,44944019086,49907,44944059582,44944124258,64676,44944074673,44944144946,70273,44948369018,44951748302,3379284,44949202782,44951871355,2668573,44952689347,44952757441,68094,44953642384,44953792837,150453,44955495682,44960354249,4858567
57,44964125283,44984724570,20599287,44964145589,44976013814,20306,11868225,8710756,44964276034,44964665943,389909,44964294036,44964645208,351172,44964709773,44964775501,65728,44964724565,44964781354,56789,44964815872,44964891025,75153,44964832684,44964885405,52721,44969143397,44972279794,3136397,44969977428,44972508118,2530690,44973220542,44973364756,144214,44974173585,44974393980,220395,44976025005,44980952893,4927888
58,44984724570,45005041220,20316650,44984745371,44996532292,20801,11786921,8508928,44984875625,44985132132,256507,44984893647,44985114453,220806,44985174993,44985242622,67629,44985190216,44985248564,58348,44985282081,44985347177,65096,44985296786,44985367031,70245,44989594310,44992797454,3203144,44990428499,44992955065,2526566,44993739369,44993774757,35388,44994695847,44994822764,126917,44996543451,45001270389,4726938
59,45005041220,45025766783,20725563,45005061163,45017300803,19943,12239640,8465980,45005190753,45005392904,202151,45005208934,45005379305,170371,45005436780,45005502642,65862,45005451595,45005508574,56979,45005542883,45005608489,65606,45005557661,45005624024,66363,45009865198,45013575691,3710493,45010698748,45013630882,2932134,45014509775,45014544774,34999,45015462233,45015589100,126867,45017311827,45021996300,4684473
60,45025766783,45046023678,20256895,45025787292,45037437461,20509,11650169,8586217,45025919082,45026074133,155051,45025936551,45026051990,115439,45026118744,45026190775,72031,45026134376,45026185476,51100,45026224911,45026283370,58459,45026240133,45026308802,68669,45030536243,45033699663,3163420,45031369821,45034024150,2654329,45034639148,45034884325,245177,45035595027,45035963146,368119,45037448678,45042250926,4802248
61,45046023678,45066597032,20573354,45046044954,45057851150,21276,11806196,8745882,45046174824,45046636603,461779,45046192061,45046616072,424011,45046679786,45046756561,76775,45046694388,45046751104,56716,45046786964,45046849889,62925,45046801661,45046867716,66055,45051109115,45054113437,3004322,45051945246,45054412640,2467394,45055053529,45055282128,228599,45056007498,45056342604,335106,45057862142,45062825494,4963352
62,45066597032,45086816467,20219435,45066617431,45078396412,20399,11778981,8420055,45066747799,45066998584,250785,45066765260,45066979077,213817,45067042289,45067110052,67763,45067057696,45067125969,68273,45067151032,45067214670,63638,45067166085,45067235238,69153,45071461888,45074660695,3198807,45072295975,45074794609,2498634,45075599641,45075635618,35977,45076553745,45076708829,155084,45078407807,45083045697,4637890
63,45086816467,45107476568,20660101,45086838485,45098605280,22018,11766795,8871288,45086968662,45087176390,207728,45086983912,45087159282,175370,45087221033,45087288383,67350,45087237016,45087294299,57283,45087329066,45087392981,63915,45087344287,45087409870,65583,45091653429,45094884625,3231196,45092488118,45095263977,2775859,45095820751,45096157003,336252,45096772853,45097213123,440270,45098616417,45103700942,5084525
64,45107476568,45127934462,20457894,45107496481,45119123360,19913,11626879,8811102,45107626056,45107865190,239134,45107644194,45107845968,201774,45107908882,45107974670,65788,45107924161,45107994837,70676,45108011235,45108081054,69819,45108026060,45108103494,77434,45112326584,45115381693,3055109,45113160610,45115710742,2550132,45116320677,45116582757,262080,45117272783,45117664190,391407,45119134392,45124160609,5026217
65,45127934462,45148627916,20693454,45127955657,45139964131,21195,12008474,8663785,45128081970,45128585829,503859,45128099308,45128502978,403670,45128631733,45128727358,95625,45128648628,45128764839,116211,45128771118,45128841029,69911,45128814427,45128884611,70184,45133102762,45136235993,3133231,45133937524,45136398442,2460918,45137174909,45137232243,57334,45138128477,45138261124,132647,45139975704,45144854232,4878528
66,45148627916,45169072950,20445034,45148648841,45160353655,20925,11704814,8719295,45148774446,45149048285,273839,45148795424,45149030470,235046,45149091805,45149164559,72754,45149107298,45149159184,51886,45149200149,45149270550,70401,45149215181,45149265024,49843,45153521315,45156625747,3104432,45154355967,45156847299,2491332,45157566019,45157696053,130034,45158519633,45158736196,216563,45160365051,45165297234,4932183
67,45169072950,45189702264,20629314,45169093532,45180912171,20582,11818639,8790093,45169220544,45169417319,196775,45169242338,45169396395,154057,45169461458,45169527317,65859,45169476222,45169534340,58118,45169569273,45169642935,73662,45169584663,45169637291,52628,45173893384,45177184267,3290883,45174727569,45177462823,2735254,45178122809,45178363119,240310,45179075513,45179436008,360495,45180923191,45185930230,5007039
68,45189702264,45210141553,20439289,45189723773,45201394522,21509,11670749,8747031,45189849457,45190063027,213570,45189869739,45190045471,175732,45190106370,45190171235,64865,45190121433,45190187561,66128,45190212095,45190278347,66252,45190226946,45190294669,67723,45194534928,45197666224,3131296,45195369167,45198047972,2678805,45198604945,45198943284,338339,45199558854,45199999233,440379,45201405771,45206373056,4967285
69,45210141553,45230768616,20627063,45210161182,45222062955,19629,11901773,8705661,45210285650,45210788527,502877,45210305624,45210769429,463805,45210836451,45210900971,64520,45210851633,45210918077,66444,45210942579,45211009103,66524,45210957536,45211015198,57662,45215266209,45218317408,3051199,45216100026,45218621504,2521478,45219261182,45219482720,221538,45220215992,45220556747,340755,45222074163,45226994518,4920355
70,45230768616,45251266566,20497950,45230789254,45242548294,20638,11759040,8718272,45230919816,45231234404,314588,45230937953,45231216371,278418,45231278092,45231345013,66921,45231293109,45231350917,57808,45231385961,45231454112,68151,45231401220,45231459999,58779,45235710291,45238819995,3109704,45236544334,45239100730,2556396,45239762296,45239940079,177783,45240714824,45240981848,267024,45242559286,45247491710,4932424
71,45251266566,45271659038,20392472,45251287555,45263164796,20989,11877241,8494242,45251417849,45251556002,138153,45251436067,45251537020,100953,45251600717,45251670890,70173,45251617111,45251677323,60212,45251714425,45251783575,69150,45251730536,45251789618,59082,45256041305,45259426902,3385597,45256875333,45259536305,2660972,45260365236,45260400732,35496,45261319741,45261458368,138627,45263175845,45267889679,4713834
72,45271659038,45291986946,20327908,45271679763,45283347633,20725,11667870,8639313,45271809709,45272048671,238962,45271827638,45272029696,202058,45272092638,45272167150,74512,45272110357,45272173385,63028,45272209506,45272277329,67823,45272225135,45272298130,72995,45276524214,45279611919,3087705,45277357982,45279772363,2414381,45280553307,45280613417,60110,45281510941,45281645306,134365,45283359087,45288214763,4855676
73,45291986946,45312473301,20486355,45292007737,45303574261,20791,11566524,8899040,45292138009,45292276105,138096,45292155638,45292258120,102482,45292319670,45292386433,66763,45292335399,45292392239,56840,45292426848,45292493970,67122,45292441968,45292509974,68006,45296749737,45299843306,3093569,45297583500,45300196504,2613004,45300781824,45301064252,282428,45301734832,45302146815,411983,45303585142,45308700412,5115270
74,45312473301,45333034562,20561261,45312492712,45324250442,19411,11757730,8784120,45312623362,45312761899,138537,45312643024,45312743905,100881,45312805188,45312881528,76340,45312820144,45312897996,77852,45312922382,45312999241,76859,45312937861,45313015792,77931,45317256281,45320523779,3267498,45318090794,45320735823,2645029,45321460685,45321621061,160376,45322414804,45322672755,257951,45324261640,45329262876,5001236
75,45333034562,45353577168,20542606,45333055278,45344619564,20716,11564286,8957604,45333185783,45333395556,209773,45333201306,45333378220,176914,45333439301,45333505060,65759,45333454414,45333510923,56509,45333545544,45333612518,66974,45333560642,45333628416,67774,45337869017,45340879533,3010516,45338702941,45341308925,2605984,45341824703,45342176923,352220,45342777345,45343234567,457222,45344631091,45349803605,5172514
76,45353577168,45374038242,20461074,45353599053,45365419184,21885,11820131,8619058,45353729970,45353919737,189767,45353748122,45353904455,156333,45353963564,45354030237,66673,45353978650,45354046527,67877,45354070870,45354138223,67353,45354086050,45354158504,72454,45358383218,45361679640,3296422,45359217394,45361994735,2777341,45362619443,45362881123,261680,45363572713,45363947421,374708,45365430824,45370266520,4835696
77,45374038242,45394750668,20712426,45374058559,45386006173,20317,11947614,8744495,45374187974,45374518585,330611,45374205688,45374500110,294422,45374562028,45374625947,63919,45374577110,45374646809,69699,45374663380,45374728323,64943,45374678055,45374748206,70151,45378975203,45382273987,3298784,45379809153,45382547287,2738134,45383210680,45383448778,238098,45384162084,45384512801,350717,45386017520,45390979709,4962189
78,45394750668,45415231006,20480338,45394770783,45406531067,20115,11760284,8699939,45394901078,45395086745,185667,45394918616,45395065891,147275,45395130975,45395201017,70042,45395146957,45395207060,60103,45395242085,45395309592,67507,45395257129,45395329172,72043,45399555531,45402797255,3241724,45400390392,45403340774,2950382,45403736022,45404260840,524818,45404691668,45405298924,607256,45406541950,45411457600,4915650
79,45415231006,45435682452,20451446,45415251079,45427130837,20073,11879758,8551615,45415379772,45415843278,463506,45415396904,45415821776,424872,45415886632,45415961691,75059,45415901719,45415956130,54411,45415996424,45416055689,59265,45416011542,45416081216,69674,45420307829,45423394945,3087116,45421142650,45423688498,2545848,45424337890,45424570393,232503,45425290203,45425646718,356515,45427142240,45431908536,4766296
80,45435682452,45456443309,20760857,45435701969,45447594639,19517,11892670,8848670,45435833743,45436213357,379614,45435851983,45436195247,343264,45436256782,45436322537,65755,45436271588,45436339065,67477,45436363849,45436433104,69255,45436379133,45436448999,69866,45440689707,45443862065,3172358,45441523851,45444219803,2695952,45444803819,45445120385,316566,45445758301,45446173004,414703,45447605610,45452673217,5067607
81,45456443309,45476658061,20214752,45456464050,45468068628,20741,11604578,8589433,45456588937,45456728962,140025,45456610384,45456711359,100975,45456773339,45456844759,71420,45456788916,45456850813,61897,45456884911,45456945985,61074,45456900323,45456971478,71155,45461198942,45464339732,3140790,45462034043,45464596175,2562132,45465280835,45465442509,161674,45466234692,45466488992,254300,45468079740,45472887769,4808029
82,45476658061,45497554028,20895967,45476677850,45488523394,19789,11845544,9030634,45476807499,45477055402,247903,45476825374,45477038248,212874,45477099386,45477168982,69596,45477114499,45477174825,60326,45477208409,45477274817,66408,45477223621,45477293515,69894,45481519924,45484797200,3277276,45482354190,45485275018,2920828,45485736714,45486187633,450919,45486689893,45487221561,531668,45488534749,45493779491,5244742
83,45497554028,45517902092,20348064,45497574796,45509368741,20768,11793945,8533351,45497699980,45497934453,234473,45497720349,45497914569,194220,45497978832,45498043025,64193,45497993823,45498063556,69733,45498080320,45498144011,63691,45498094851,45498166250,71399,45502390399,45505641114,3250715,45503224324,45505778888,2554564,45506580814,45506615903,35089,45507533566,45507650352,116786,45509379740,45514130317,4750577
84,45517902092,45538044642,20142550,45517922444,45529578467,20352,11656023,8466175,45518053159,45518244926,191767,45518070415,45518227788,157373,45518288244,45518355449,67205,45518303340,45518361437,58097,45518396410,45518467173,70763,45518411170,45518461694,50524,45522719436,45525842676,3123240,45523553654,45526109883,2556229,45526783592,45526943357,159765,45527738164,45527980199,242035,45529590137,45534275353,4685216
85,45538044642,45558701218,20656576,45538064284,45549931575,19642,11867291,8769643,45538194402,45538547396,352994,45538211767,45538530617,318850,45538591042,45538655982,64940,45538606179,45538676271,70092,45538692741,45538763564,70823,45538707368,45538782956,75588,45543010479,45546207232,3196753,45543844771,45546720562,2875791,45547148722,45547636657,487935,45548101319,45548667203,565884,45549942726,45554926322,4983596
86,45558701218,45579512821,20811603,45558721936,45570689487,20718,11967551,8823334,45558847517,45559288498,440981,45558869130,45559271512,402382,45559331666,45559396986,65320,45559347185,45559413825,66640,45559438818,45559504125,65307,45559453995,45559520906,66911,45563762610,45566959971,3197361,45564596793,45567475009,2878216,45567900119,45568385403,485284,45568854141,45569433111,578970,45570700823,45575735680,5034857
87,45579512821,45600519658,21006837,45579532916,45591723931,20095,12191015,8795727,45579658178,45580398490,740312,45579679357,45580261788,582431,45580445925,45580529997,84072,45580462258,45580548193,85935,45580577072,45580650993,73921,45580593583,45580673450,79867,45584898695,45587988232,3089537,45585732754,45588341530,2608776,45588928852,45589205017,276165,45589883382,45590289015,405633,45591735838,45596746399,5010561
88,45600519658,45621533425,21013767,45600540141,45612426020,20483,11885879,9107405,45600665107,45600907624,242517,45600686963,45600892496,205533,45600951005,45601026022,75017,45600966189,45601020393,54204,45601060533,45601125886,65353,45601075616,45601146713,71097,45605371685,45608700599,3328914,45606206303,45609267900,3061597,45609637981,45610210318,572337,45610591163,45611258225,667062,45612437360,45617760270,5322910
89,45621533425,45642028518,20495093,45621553344,45633183620,19919,11630276,8844898,45621678183,45621879704,201521,45621699425,45621859319,159894,45621922885,45621990357,67472,45621938079,45621996229,58150,45622031985,45622098217,66232,45622047499,45622114393,66894,45626355641,45629443611,3087970,45627189819,45629826203,2636384,45630386662,45630686981,300319,45631340615,45631750148,409533,45633195163,45638254250,5059087
90,45642028518,45662483187,20454669,45642048849,45653649302,20331,11600453,8833885,45642178669,45642413911,235242,45642196583,45642398321,201738,45642457148,45642521709,64561,45642472444,45642538201,65757,45642562822,45642626422,63600,45642577767,45642650281,72514,45646872496,45649922705,3050209,45647706215,45650355474,2649259,45650862796,45651266453,403657,45651817874,45652306594,488720,45653660719,45658707999,5047280
91,45662483187,45682711021,20227834,45662503499,45674161942,20312,11658443,8549079,45662628372,45662877446,249074,45662650340,45662862446,212106,45662921311,45662995543,74232,45662937473,45662989769,52296,45663030787,45663096752,65965,45663045499,45663112849,67350,45667352920,45670427988,3075068,45668186898,45670708602,2521704,45671368529,45671569629,201100,45672324034,45672631378,307344,45674173098,45678936061,4762963
92,45682711021,45703507591,20796570,45682730945,45695066306,19924,12335361,8441285,45682856932,45683410583,553651,45682873285,45683390897,517612,45683454274,45683527958,73684,45683469474,45683522572,53098,45683562871,45683628751,65880,45683578083,45683644980,66897,45687886139,45691327728,3441589,45688720149,45691478004,2757855,45692268567,45692342287,73720,45693220736,45693392597,171861,45695077543,45699736677,4659134
93,45703507591,45724101294,20593703,45703526975,45715374151,19384,11847176,8727143,45703656931,45704031278,374347,45703674518,45704011400,336882,45704074608,45704153136,78528,45704089714,45704147618,57904,45704183327,45704250781,67454,45704198314,45704267010,68696,45708508329,45711635435,3127106,45709342763,45711975127,2632364,45712574886,45712870992,296106,45713530620,45713923655,393035,45715385475,45720329518,4944043
94,45724101294,45744521815,20420521,45724121122,45735870198,19828,11749076,8651617,45724250315,45724494587,244272,45724266352,45724476441,210089,45724538837,45724604092,65255,45724553532,45724610159,56627,45724645023,45724719997,74974,45724660196,45724714100,53904,45728969355,45732142024,3172669,45729803765,45732382443,2578678,45733081479,45733241417,159938,45734034896,45734287808,252912,45735881357,45740750850,4869493
95,45744521815,45765030516,20508701,45744542452,45756400133,20637,11857681,8630383,45744671724,45745030502,358778,45744688843,45745012337,323494,45745073808,45745151458,77650,45745088419,45745145639,57220,45745181095,45745246623,65528,45745196387,45745262831,66444,45749506422,45752665312,3158890,45750340446,45752898036,2557590,45753605038,45753748714,143676,45754559694,45754819130,259436,45756411668,45761255964,4844296
96,45765030516,45785577749,20547233,45765050712,45777091566,20196,12040854,8486183,45765174867,45765449397,274530,45765196305,45765432601,236296,45765494223,45765561721,67498,45765509312,45765567617,58305,45765602513,45765676194,73681,45765617838,45765670870,53032,45769927700,45773354503,3426803,45770761441,45773465727,2704286,45774291978,45774326196,34218,45775245996,45775404707,158711,45777102446,45781804595,4702149
97,45785577749,45806090141,20512392,45785597913,45797311670,20164,11713757,8778471,45785727578,45786076009,348431,45785745824,45786059547,313723,45786118890,45786187052,68162,45786134326,45786193010,58684,45786227297,45786295286,67989,45786242882,45786314596,71714,45790541346,45793580317,3038971,45791376181,45794028583,2652402,45794527441,45794899042,371601,45795480402,45795957391,476989,45797322871,45802316887,4994016
98,45806090141,45826478105,20387964,45806110135,45817795691,19994,11685556,8682414,45806241273,45806501436,260163,45806257175,45806486709,229534,45806546076,45806613869,67793,45806561795,45806619798,58003,45806655050,45806726651,71601,45806669944,45806721029,51085,45810980080,45814062560,3082480,45811813725,45814414367,2600642,45815001915,45815299187,297272,45815952252,45816368653,416401,45817806740,45822706778,4900038
99,45826478105,45846839534,20361429,45826498344,45838325097,20239,11826753,8514437,45826628761,45826964178,335417,45826646935,45826942698,295763,45827007549,45827080870,73321,45827022468,45827075103,52635,45827116123,45827183470,67347,45827131766,45827199783,68017,45831440823,45834594262,3153439,45832275050,45834743374,2468324,45835532774,45835615366,82592,45836485156,45836651146,165990,45838336359,45843067264,4730905
100,45846839534,45867593001,20753467,45846859859,45858818962,20325,11959103,8774039,45846989480,45847519585,530105,45847006657,45847502940,496283,45847562467,45847637657,75190,45847577953,45847631897,53944,45847672360,45847740351,67991,45847687472,45847746435,58963,45851998213,45855085170,3086957,45852833629,45855448869,2615240,45856026862,45856322951,296089,45856980897,45857399155,418258,45858832014,45863820150,4988136
101,45867593001,45888095056,20502055,45867613618,45879333865,20617,11720247,8761191,45867743957,45868075717,331760,45867761265,45868055398,294133,45868119122,45868197049,77927,45868134583,45868191392,56809,45868227647,45868287610,59963,45868243527,45868313573,70046,45872541266,45875592259,3050993,45873375371,45875929649,2554278,45876537938,45876793374,255436,45877491289,45877862858,371569,45879345173,45884326191,4981018
102,45888095056,45908634987,20539931,45888115196,45900061291,20140,11946095,8573696,45888240018,45888454059,214041,45888261215,45888436610,175395,45888498074,45888563540,65466,45888513104,45888579542,66438,45888603993,45888668204,64211,45888619274,45888689535,70261,45892913875,45896337562,3423687,45893748309,45896582985,2834676,45897277442,45897481481,204039,45898229111,45898513962,284851,45900072601,45904858346,4785745
103,45908634987,45928919220,20284233,45908654992,45920436567,20005,11781575,8482653,45908780002,45909042147,262145,45908796092,45909023948,227856,45909085770,45909158347,72577,45909100955,45909164432,63477,45909195328,45909261122,65794,45909210288,45909280630,70342,45913508474,45916706417,3197943,45914342576,45916910106,2567530,45917646590,45917777411,130821,45918599569,45918820270,220701,45920447905,45925148117,4700212
104,45928919220,45949773536,20854316,45928939515,45941003799,20295,12064284,8769737,45929064772,45929547929,483157,45929086576,45929528359,441783,45929592370,45929670762,78392,45929607757,45929664934,57177,45929700804,45929774252,73448,45929715531,45929768771,53240,45934024998,45937273415,3248417,45934859195,45937594185,2734990,45938211389,45938494041,282652,45939165935,45939549779,383844,45941015540,45946000469,4984929
105,45949773536,45970247418,20473882,45949794034,45961611426,20498,11817392,8635992,45949924374,45950271850,347476,45949943083,45950254826,311743,45950315438,45950382537,67099,45950331030,45950388425,57395,45950422559,45950487551,64992,45950438545,45950507371,68826,45954735931,45957879549,3143618,45955570182,45958140827,2570645,45958819554,45958975096,155542,45959773770,45960046176,272406,45961622716,45966476381,4853665
106,45970247418,45991246813,20999395,45970267159,45982768573,19741,12501414,8478240,45970392087,45970865744,473657,45970413361,45970845345,431984,45970908772,45970977480,68708,45970924156,45970993426,69270,45971018687,45971086355,67668,45971033941,45971102861,68920,45975343853,45979038946,3695093,45976178441,45979118264,2939823,45979975509,45980010601,35092,45980927989,45981040426,112437,45982779803,45987475766,4695963
107,45991246813,46011422985,20176172,45991266499,46002863937,19686,11597438,8559048,45991396306,45991576173,179867,45991414170,45991555293,141123,45991619353,45991688760,69407,45991634806,45991695314,60508,45991731174,45991790094,58920,45991746576,45991808851,62275,45996048826,45999126805,3077979,45996883457,45999407208,2523751,46000068219,46000301854,233635,46001021654,46001383294,361640,46002875644,46007649084,4773440
108,46011422985,46031854429,20431444,46011442672,46023241670,19687,11798998,8612759,46011572830,46011888020,315190,46011590586,46011868926,278340,46011931925,46012003484,71559,46011947122,46011998113,50991,46012038973,46012105090,66117,46012053915,46012121286,67371,46016361398,46019504569,3143171,46017195476,46019688570,2493094,46020444451,46020526802,82351,46021399755,46021568239,168484,46023252998,46028082547,4829549
109,46031854429,46052732633,20878204,46031874324,46044109346,19895,12235022,8623287,46032000783,46032727420,726637,46032017606,46032601387,583781,46032775150,46032857271,82121,46032792408,46032875802,83394,46032903116,46032977685,74569,46032919794,46033004603,84809,46037225010,46040374631,3149621,46038059667,46040600604,2540937,46041315618,46041416601,100983,46042268392,46042437431,169039,46044120798,46048962507,4841709
110,46052732633,46073860354,21127721,46052753848,46064569263,21215,11815415,9291091,46052879694,46053308936,429242,46052900985,46053286317,385332,46053352252,46053422021,69769,46053367366,46053427909,60543,46053464349,46053539163,74814,46053480349,46053533280,52931,46057791789,46060844582,3052793,46058625893,46061514527,2888634,46061781765,46062430430,648665,46062737204,46063468476,731272,46064580090,46070085009,5504919
111,46073860354,46094396910,20536556,46073880900,46085478054,20546,11597154,8918856,46074006555,46074143998,137443,46074022443,46074130259,107816,46074187234,46074258488,71254,46074202532,46074253077,50545,46074293622,46074358838,65216,46074308655,46074378764,70109,46078609446,46081750885,3141439,46079443719,46082149284,2705565,46082689309,46083022056,332747,46083643825,46084082155,438330,46085489016,46090622500,5133484
112,46094396910,46114670537,20273627,46094417533,46106048838,20623,11631305,8621699,46094543078,46094693853,150775,46094563610,46094674941,111331,46094737615,46094804186,66571,46094753052,46094810412,57360,46094846242,46094912408,66166,46094861643,46094932652,71009,46099161141,46102321515,3160374,46099995470,46102550597,2555127,46103262509,46103418052,155543,46104218127,46104506088,287961,46106060034,46110894964,4834930
113,46114670537,46135341936,20671399,46114690409,46126438190,19872,11747781,8903746,46114816016,46115206721,390705,46114839254,46115186041,346787,46115250567,46115314092,63525,46115265399,46115330516,65117,46115355299,46115420956,65657,46115370296,46115441571,71275,46119666876,46122721081,3054205,46120501243,46123135129,2633886,46123660832,46124067540,406708,46124613349,46125121173,507824,46126449718,46131568733,5119015
114,46135341936,46155601774,20259838,46135362493,46147000826,20557,11638333,8600948,46135491862,46135631623,139761,46135510028,46135614275,104247,46135675599,46135741957,66358,46135691260,46135747820,56560,46135781926,46135842251,60325,46135796983,46135867999,71016,46140095222,46143271046,3175824,46140929922,46143464200,2534278,46144211872,46144297171,85299,46145165530,46145356274,190744,46147011778,46151832282,4820504
115,46155601774,46176072948,20471174,46155622209,46167328804,20435,11706595,8744144,46155751837,46156071804,319967,46155769756,46156053192,283436,46156115786,46156187218,71432,46156130863,46156181575,50712,46156221788,46156286667,64879,46156237371,46156307194,69823,46160533369,46163595595,3062226,46161367327,46163848592,2481265,46164536427,46164718703,182276,46165491910,46165778760,286850,46167340468,46172301906,4961438
116,46176072948,46196319896,20246948,46176093754,46187833491,20806,11739737,8486405,46176223900,46176423304,199404,46176241726,46176406182,164456,46176467386,46176533115,65729,46176482396,46176538929,56533,46176573539,46176639507,65968,46176588687,46176660019,71332,46180886322,46184101010,3214688,46181720188,46184341954,2621766,46185042373,46185178974,136601,46185996937,46186248890,251953,46187844706,46192549400,4704694
117,46196319896,46217323109,21003213,46196340134,46208519552,20238,12179418,8803557,46196465134,46196893262,428128,46196485061,46196875887,390826,46196937045,46197003544,66499,46196951892,46197019462,67570,46197044039,46197111462,67423,46197059139,46197127840,68701,46201369209,46204787953,3418744,46202203331,46205040402,2837071,46205722380,46205942721,220341,46206676099,46207001093,324994,46208531347,46213549784,5018437
118,46217323109,46237638584,20315475,46217343137,46228890092,20028,11546955,8748492,46217472725,46217619919,147194,46217489819,46217601194,111375,46217663241,46217731490,68249,46217678737,46217737575,58838,46217772101,46217832251,60150,46217787269,46217859325,72056,46222085992,46225153590,3067598,46222919945,46225394932,2474987,46226096556,46226251333,154777,46227047936,46227276490,228554,46228901174,46233866522,4965348
119,46237638584,46258025060,20386476,46237658776,46249405799,20192,11747023,8619261,46237783911,46238038724,254813,46237804301,46238022434,218133,46238082329,46238150412,68083,46238097360,46238166353,68993,46238190606,46238258348,67742,46238205965,46238274669,68704,46242515690,46245673069,3157379,46243350138,46245822910,2472772,46246611927,46246666474,54547,46247563599,46247698138,134539,46249416678,46254252890,4836212
120,46258025060,46278369124,20344064,46258045909,46269656639,20849,11610730,8712485,46258170900,46258311721,140821,46258191779,46258293631,101852,46258356156,46258423911,67755,46258372052,46258430033,57981,46258465207,46258524057,58850,46258480396,46258549791,69395,46262776182,46265929880,3153698,46263610819,46266343337,2732518,46266868215,46267240070,371855,46267819356,46268308683,489327,46269667555,46274593264,4925709
121,46278369124,46299019107,20649983,46278389184,46290300689,20060,11911505,8718418,46278518801,46278986721,467920,46278536178,46278968058,431880,46279031425,46279100954,69529,46279047237,46279106933,59696,46279142238,46279210938,68700,46279157573,46279226747,69174,46283467969,46286567720,3099751,46284302814,46286890279,2587465,46287505056,46287770438,265382,46288457971,46288839898,381927,46290311900,46295246356,4934456
122,46299019107,46319769707,20750600,46299040087,46310863127,20980,11823040,8906580,46299165434,46299571521,406087,46299186586,46299550687,364101,46299615631,46299680896,65265,46299631317,46299696942,65625,46299721081,46299787173,66092,46299737149,46299807449,70300,46304033174,46307134181,3101007,46304867165,46307593315,2726150,46308077476,46308492434,414958,46309031900,46309520840,488940,46310874428,46316000002,5125574
123,46319769707,46340090388,20320681,46319789932,46331470550,20225,11680618,8619838,46319921458,46320136059,214601,46319937799,46320119548,181749,46320179773,46320249203,69430,46320194769,46320265144,70375,46320289974,46320362219,72245,46320304801,46320381301,76500,46324606913,46327738884,3131971,46325440958,46327911998,2471040,46328676705,46328760057,83352,46329632150,46329789558,157408,46331481693,46336316047,4834354
124,46340090388,46360650693,20560305,46340111133,46351986476,20745,11875343,8664217,46340237189,46340582854,345665,46340257632,46340562162,304530,46340626787,46340695874,69087,46340642410,46340701901,59491,46340735980,46340799867,63887,46340750583,46340820680,70097,46345045060,46348248707,3203647,46345879968,46348532768,2652800,46349187000,46349414560,227560,46350137922,46350483156,345234,46351997990,46356875067,4877077
125,46360650693,46380915340,20264647,46360671164,46372418457,20471,11747293,8496883,46360795852,46361069934,274082,46360816985,46361048621,231636,46361113479,46361180196,66717,46361128313,46361186165,57852,46361221392,46361287564,66172,46361236763,46361303392,66629,46365543503,46368691356,3147853,46366378116,46368898105,2519989,46369630521,46369754114,123593,46370583213,46370804402,221189,46372429827,46377145129,4715302
126,46380915340,46401485139,20569799,46380935862,46392774384,20522,11838522,8710755,46381060072,46381425672,365600,46381080305,46381409194,328889,46381468894,46381536259,67365,46381483766,46381552133,68367,46381576684,46381645649,68965,46381591631,46381660690,69059,46385901369,46389037701,3136332,46386736572,46389310167,2573595,46389976718,46390174173,197455,46390927634,46391258011,330377,46392785660,46397715823,4930163
127,46401485139,46421817993,20332854,46401505935,46413145691,20796,11639756,8672302,46401630702,46401811618,180916,46401652441,46401792320,139879,46401855205,46401934486,79281,46401870881,46401928398,57517,46401964858,46402030060,65202,46401980207,46402046602,66395,46406286906,46409414798,3127892,46407121512,46409689198,2567686,46410353523,46410548305,194782,46411308968,46411635853,326885,46413156912,46418044218,4887306
128,46421817993,46442345075,20527082,46421840313,46433758893,22320,11918580,8586182,46421970846,46422253341,282495,46421986937,46422233422,246485,46422296651,46422362356,65705,46422311488,46422368241,56753,46422402857,46422468199,65342,46422418001,46422486960,68959,46426714037,46430028210,3314173,46427548066,46430174968,2626902,46430966639,46431027176,60537,46431921424,46432095960,174536,46433770211,46438569588,4799377
129,46442345075,46463366827,21021752,46442365065,46454294479,19990,11929414,9072348,46442495111,46442892938,397827,46442512706,46442874772,362066,46442937194,46443001922,64728,46442951937,46443018063,66126,46443043156,46443108847,65691,46443058704,46443129686,70982,46447356237,46450558061,3201824,46448190742,46451120909,2930167,46451498933,46452047935,549002,46452453838,46453089184,635346,46454305677,46459595700,5290023
130,46463366827,46483789631,20422804,46463386921,46475086900,20094,11699979,8702731,46463512553,46463653371,140818,46463533965,46463637773,103808,46463697994,46463764453,66459,46463713314,46463770294,56980,46463804627,46463881240,76613,46463819815,46463875675,55860,46468132225,46471358604,3226379,46468966662,46471576927,2610265,46472298556,46472441801,143245,46473253581,46473526090,272509,46475097944,46480016781,4918837
131,46483789631,46504734961,20945330,46483809568,46496057397,19937,12247829,8677564,46483935033,46484727176,792143,46483958131,46484570324,612193,46484774479,46484854025,79546,46484790944,46484871980,81036,46484898542,46484980048,81506,46484915143,46484997694,82551,46489239818,46492328916,3089098,46490074357,46492771656,2697299,46493264872,46493698427,433555,46494219740,46494729737,509997,46496068953,46500966379,4897426
132,46504734961,46525478918,20743957,46504755465,46516494246,20504,11738781,8984672,46504879968,46505195243,315275,46504900398,46505178282,277884,46505239177,46505303697,64520,46505254350,46505319491,65141,46505344359,46505412236,67877,46505359497,46505428414,68917,46509670990,46512759532,3088542,46510505427,46513327832,2822405,46513699592,46514237070,537478,46514654087,46515276182,622095,46516505739,46521709870,5204131
133,46525478918,46546175234,20696316,46525498810,46537068777,19892,11569967,9106457,46525624265,46525780333,156068,46525645667,46525761445,115778,46525823874,46525891875,68001,46525841785,46525908866,67081,46525933647,46525998713,65066,46525948474,46526014969,66495,46530255103,46533335717,3080614,46531088968,46533719391,2630423,46534273728,46534580308,306580,46535228541,46535647353,418812,46537079982,46542396473,5316491
134,46546175234,46566376553,20201319,46546195376,46557765719,20142,11570343,8610834,46546325756,46546463611,137855,46546343127,46546449958,106831,46546507232,46546571774,64542,46546522482,46546592142,69660,46546609237,46546674460,65223,46546623865,46546691074,67209,46550935659,46554024795,3089136,46551769845,46554277478,2507633,46554964867,46555122981,158114,46555919282,46556186370,267088,46557776965,46562604901,4827936
135,46566376553,46587118352,20741799,46566396751,46578481647,20198,12084896,8636705,46566525977,46566817995,292018,46566541832,46566800433,258601,46566861474,46566928393,66919,46566876557,46566945140,68583,46566969557,46567035592,66035,46566984382,46567051993,67611,46571293494,46574749988,3456494,46572127700,46574963316,2835616,46575687536,46575838640,151104,46576642306,46576877285,234979,46578492532,46583340586,4848054
136,46587118352,46607779555,20661203,46587139385,46599289785,21033,12150400,8489770,46587270540,46587656286,385746,46587286428,46587642589,356161,46587700174,46587765908,65734,46587714976,46587771821,56845,46587806068,46587874299,68231,46587820961,46587890636,69675,46592131423,46595553240,3421817,46592965113,46595671291,2706178,46596490976,46596526939,35963,46597446297,46597603644,157347,46599301153,46604003405,4702252
137,46607779555,46628056528,20276973,46607799335,46619477596,19780,11678261,8578932,46607929824,46608127972,198148,46607947243,46608110522,163279,46608172697,46608250046,77349,46608187520,46608244385,56865,46608280409,46608346296,65887,46608295063,46608361998,66935,46612602618,46615739329,3136711,46613436910,46615886554,2449644,46616678871,46616716897,38026,46617633150,46617747206,114056,46619488462,46624283832,4795370
138,46628056528,46648681169,20624641,46628076483,46640103676,19955,12027193,8577493,46628205236,46628439664,234428,46628223133,46628419174,196041,46628483830,46628555457,71627,46628498527,46628561502,62975,46628590912,46628658802,67890,46628605580,46628664872,59292,46632914464,46636374728,3460264,46633748553,46636468701,2720148,46637312432,46637347429,34997,46638264911,46638411374,146463,46640114984,46644909205,4794221
139,46648681169,46669260625,20579456,46648701353,46660656246,20184,11954893,8604379,46648833910,46649119376,285466,46648852073,46649101304,249231,46649162713,46649228010,65297,46649177036,46649234282,57246,46649268007,46649334540,66533,46649283127,46649350218,67091,46653591816,46656930187,3338371,46654425497,46657205723,2780226,46657868795,46658099650,230855,46658819470,46659165200,345730,46660667037,46665489769,4822732
140,46669260625,46689757372,20496747,46669280390,46680961727,19765,11681337,8795645,46669405557,46669623316,217759,46669426481,46669603772,177291,46669667579,46669732940,65361,46669682491,46669738876,56385,46669773629,46669842883,69254,46669788481,46669849191,60710,46674100840,46677222802,3121962,46674936133,46677586026,2649893,46678164340,46678469557,305217,46679115878,46679542240,426362,46680972838,46685986391,5013553
141,46689757372,46710088742,20331370,46689777006,46701397175,19634,11620169,8691567,46689907141,46690125622,218481,46689924746,46690109623,184877,46690171225,46690243680,72455,46690187187,46690238094,50907,46690278377,46690343481,65104,46690293374,46690362851,69477,46694590479,46697660222,3069743,46695425041,46698071002,2645961,46698606657,46698947591,340934,46699558638,46700016808,458170,46701408237,46706314376,4906139
142,46710088742,46730866841,20778099,46710109740,46721947670,20998,11837930,8919171,46710239259,46710531145,291886,46710256713,46710511531,254818,46710574547,46710647398,72851,46710589162,46710641754,52592,46710680992,46710746667,65675,46710695951,46710765891,69940,46714992301,46718213933,3221632,46715826390,46718788468,2962078,46719158631,46719713465,554834,46720110334,46720770363,660029,46721959132,46727089966,5130834
143,46730866841,46751316623,20449782,46730886747,46742626940,19906,11740193,8689683,46731015322,46731346786,331464,46731031281,46731327847,296566,46731390468,46731469512,79044,46731405638,46731463956,58318,46731498967,46731564785,65818,46731514029,46731580871,66842,46735822481,46738897695,3075214,46736656692,46739169271,2512579,46739836996,46740035714,198718,46740789605,46741109046,319441,46742638474,46747543939,4905465
144,46751316623,46772168057,20851434,46751337184,46763428106,20561,12090922,8739951,46751461471,46751880879,419408,46751482284,46751862901,380617,46751925869,46751995944,70075,46751943356,46752013783,70427,46752040241,46752098781,58540,46752055594,46752124172,68578,46756350493,46759696383,3345890,46757184487,46759815416,2630929,46760633860,46760669338,35478,46761588996,46761739830,150834,46763439558,46768390778,4951220
145,46772168057,46792380861,20212804,46772188068,46783729783,20011,11541715,8651078,46772317216,46772455413,138197,46772337048,46772438695,101647,46772498912,46772564663,65751,46772513745,46772570591,56846,46772605458,46772677929,72471,46772620550,46772672462,51912,46776928491,46780005228,3076737,46777761930,46780201926,2439996,46780943395,46781070014,126619,46781896438,46782099774,203336,46783741069,46788608440,4867371
146,46792380861,46812824032,20443171,46792400470,46804095858,19609,11695388,8728174,46792531168,46792790292,259124,46792548521,46792774570,226049,46792835863,46792907574,71711,46792851547,46792902116,50569,46792942462,46793009322,66860,46792957499,46793025889,68390,46797266167,46800364350,3098183,46798099857,46800785514,2685657,46801305334,46801682659,377325,46802260496,46802751456,490960,46804106959,46809052328,4945369
147,46812824032,46833306258,20482226,46812845912,46824702557,21880,11856645,8603701,46812974115,46813323815,349700,46812989986,46813305038,315052,46813367595,46813439384,71789,46813382515,46813445584,63069,46813475209,46813541240,66031,46813490077,46813557265,67188,46817797743,46820972985,3175242,46818632278,46821207963,2575685,46821912162,46822052353,140191,46822865683,46823114308,248625,46824713844,46829531288,4817444
148,46833306258,46853875337,20569079,46833326697,46845144882,20439,11818185,8730455,46833457773,46833783648,325875,46833473764,46833764950,291186,46833826773,46833896588,69815,46833844978,46833913276,68298,46833938328,46834003979,65651,46833953121,46834019601,66480,46838261189,46841408722,3147533,46839095537,46841775010,2679473,46842349168,46842665621,316453,46843304118,46843715774,411656,46845156230,46850101688,4945458
149,46853875337,46874126127,20250790,46853895627,46865534453,20290,11638826,8591674,46854025800,46854302977,277177,46854044111,46854283901,239790,46854346864,46854413497,66633,46854361903,46854419365,57462,46854454322,46854518744,64422,46854469232,46854535308,66076,46858775882,46861794563,3018681,46859609873,46862063701,2453828,46862738052,46862887586,149534,46863692864,46863926500,233636,46865545525,46870353324,4807799
150,46874126127,46894683602,20557475,46874146155,46885983841,20028,11837686,8699761,46874272397,46874570108,297711,46874287969,46874547282,259313,46874613909,46874678182,64273,46874628478,46874695197,66719,46874719628,46874785667,66039,46874734832,46874801933,67101,46879043808,46882258742,3214934,46879877614,46882473884,2596270,46883198269,46883336729,138460,46884150479,46884401973,251494,46885995016,46890913966,4918950
151,46894683602,46915300765,20617163,46894704363,46906651488,20761,11947125,8649277,46894836716,46895140133,303417,46894854580,46895120197,265617,46895183256,46895249580,66324,46895198271,46895255510,57239,46895290642,46895357440,66798,46895305653,46895373544,67891,46899614831,46902919819,3304988,46900449460,46903108212,2658752,46903859126,46903969214,110088,46904811769,46905038974,227205,46906662403,46911530356,4867953
152,46915300765,46936128649,20827884,46915321681,46927362480,20916,12040799,8766169,46915453364,46915897761,444397,46915469806,46915879038,409232,46915940711,46916012881,72170,46915956127,46916007213,51086,46916047566,46916113117,65551,46916062587,46916133211,70624,46920359793,46923636428,3276635,46921194076,46924128782,2934706,46924574851,46925072768,497917,46925528994,46926101902,572908,46927373479,46932357874,4984395
153,46936128649,46957219927,21091278,46936148648,46948504912,19999,12356264,8715015,46936274128,46937191693,917565,46936297833,46937050992,753159,46937238408,46937343577,105169,46937255934,46937361800,105866,46937389842,46937467313,77471,46937407421,46937485288,77867,46941727058,46944772106,3045048,46942561038,46945136560,2575522,46945713387,46946000754,287367,46946668143,46947081427,413284,46948516020,46953441648,4925628
154,46957219927,46977586767,20366840,46957241190,46968862579,21263,11621389,8724188,46957366720,46957579704,212984,46957387883,46957560681,172798,46957623442,46957695606,72164,46957638761,46957701654,62893,46957732051,46957797478,65427,46957747199,46957813861,66662,46962054014,46965123173,3069159,46962887948,46965405677,2517729,46966065423,46966246052,180629,46967019174,46967293485,274311,46968873954,46973814303,4940349
155,46977586767,46997872392,20285625,46977607066,46989344531,20299,11737465,8527861,46977732056,46978043252,311196,46977752459,46978027091,274632,46978086760,46978160821,74061,46978102143,46978155229,53086,46978195356,46978260687,65331,46978210202,46978279857,69655,46982506763,46985614097,3107334,46983341883,46985758463,2416580,46986552228,46986601675,49447,46987504391,46987630588,126197,46989355517,46994099674,4744157
156,46997872392,47018323454,20451062,46997891935,47009708942,19543,11817007,8614512,46998020914,46998267412,246498,46998038723,46998245094,206371,46998311386,46998377846,66460,46998326073,46998393832,67759,46998418981,46998483365,64384,46998434284,46998503355,69071,47002730625,47005971031,3240406,47003564702,47006179298,2614596,47006911487,47007028070,116583,47007864805,47008092461,227656,47009719974,47014549365,4829391
157,47018323454,47038875504,20552050,47018343748,47030090354,20294,11746606,8785150,47018468296,47018778195,309899,47018488942,47018759191,270249,47018821410,47018890844,69434,47018839460,47018896870,57410,47018931592,47018997512,65920,47018946767,47019013393,66626,47023253611,47026355970,3102359,47024087652,47026659476,2571824,47027295786,47027535386,239600,47028249472,47028607492,358020,47030101636,47035104115,5002479
158,47038875504,47059242882,20367378,47038896114,47050585447,20610,11689333,8657435,47039025789,47039315636,289847,47039042121,47039296961,254840,47039359224,47039424690,65466,47039374482,47039430653,56171,47039465074,47039529136,64062,47039480108,47039550329,70221,47043777073,47046855184,3078111,47044611882,47047210693,2598811,47047793544,47048168707,375163,47048744246,47049202169,457923,47050596777,47055468987,4872210
159,47059242882,47079764065,20521183,47059262921,47071178451,20039,11915530,8585614,47059387283,47059840250,452967,47059408253,47059819808,411555,47059884732,47059956918,72186,47059899827,47059951551,51724,47059991805,47060059614,67809,47060007139,47060075189,68050,47064315473,47067448667,3133194,47065149543,47067719021,2569478,47068388113,47068562570,174457,47069340935,47069634488,293553,47071189302,47075993075,4803773
160,47079764065,47100613340,20849275,47079784681,47091593083,20616,11808402,9020257,47079914951,47080268686,353735,47079933229,47080253059,319830,47080311670,47080391434,79764,47080326760,47080385720,58960,47080421064,47080486293,65229,47080436175,47080506362,70187,47084733323,47087869810,3136487,47085567366,47088307809,2740443,47088806426,47089210762,404336,47089758742,47090252348,493606,47091604306,47096840507,5236201
161,47100613340,47120865523,20252183,47100633904,47112232408,20564,11598504,8633115,47100764334,47100911829,147495,47100782310,47100892160,109850,47100955012,47101023257,68245,47100969853,47101029513,59660,47101062895,47101128199,65304,47101077666,47101149230,71564,47105375031,47108500715,3125684,47106209035,47108762699,2553664,47109441272,47109621500,180228,47110395287,47110703126,307839,47112243512,47117095225,4851713
162,47120865523,47141540179,20674656,47120885520,47133089454,19997,12203934,8450725,47121015874,47121270341,254467,47121032396,47121251447,219051,47121313830,47121379893,66063,47121328883,47121386022,57139,47121420677,47121487150,66473,47121436286,47121502975,66689,47125743329,47129362439,3619110,47126577429,47129444511,2867082,47130299304,47130334288,34984,47131252575,47131365412,112837,47133100556,47137768329,4667773
163,47141540179,47162374776,20834597,47141560547,47153529109,20368,11968562,8845667,47141689854,47141855416,165562,47141707535,47141834992,127457,47141900458,47141971151,70693,47141914934,47141965604,50670,47142006611,47142073364,66753,47142021515,47142093582,72067,47146320006,47149789811,3469805,47147154049,47150068486,2914437,47150732631,47150971285,238654,47151684343,47152036136,351793,47153540515,47158603795,5063280
164,47162374776,47182733996,20359220,47162394713,47174054079,19937,11659366,8679917,47162519009,47162752401,233392,47162540325,47162734111,193786,47162796660,47162865630,68970,47162811810,47162871742,59932,47162906070,47162978147,72077,47162921499,47162972497,50998,47167228352,47170324426,3096074,47168062617,47170569346,2506729,47171266676,47171402906,136230,47172221314,47172464214,242900,47174065452,47178961081,4895629
165,47182733996,47203221135,20487139,47182753991,47194435546,19995,11681555,8785589,47182883297,47183113255,229958,47182900588,47183097116,196528,47183156412,47183228543,72131,47183171583,47183223103,51520,47183264038,47183329155,65117,47183278665,47183348964,70299,47187575170,47190706992,3131822,47188409481,47191024255,2614774,47191647291,47191877794,230503,47192598965,47192950544,351579,47194446671,47199448727,5002056
166,47203221135,47223695774,20474639,47203242172,47214949823,21037,11707651,8745951,47203372247,47203553792,181545,47203389139,47203535644,146505,47203597147,47203664667,67520,47203612183,47203670632,58449,47203705140,47203771784,66644,47203719617,47203788176,68559,47208029261,47211218761,3189500,47208862933,47211373381,2510448,47212159127,47212228420,69293,47213114103,47213263849,149746,47214960984,47219920018,4959034
167,47223695774,47243976724,20280950,47223715928,47235260429,20154,11544501,8716295,47223847834,47223985136,137302,47223865827,47223965449,99622,47224029227,47224097240,68013,47224045666,47224103080,57414,47224138025,47224204577,66552,47224152839,47224220636,67797,47228460561,47231522080,3061519,47229295187,47231804385,2509198,47232464180,47232663641,199461,47233419785,47233697432,277647,47235271575,47240206825,4935250
168,47243976724,47264518419,20541695,47243997147,47255911613,20423,11914466,8606806,47244126850,47244337655,210805,47244144509,47244319639,175130,47244380673,47244453177,72504,47244395710,47244447550,51840,47244487261,47244553683,66422,47244502284,47244569563,67279,47248810214,47252170137,3359923,47249644322,47252276113,2631791,47253111538,47253150054,38516,47254065755,47254219013,153258,47255923682,47260744024,4820342
169,47264518419,47284935311,20416892,47264539965,47276381089,21546,11841124,8554222,47264670507,47264924329,253822,47264688083,47264904841,216758,47264967982,47265034424,66442,47264982828,47265050683,67855,47265075730,47265141803,66073,47265090485,47265162316,71831,47269388338,47272653314,3264976,47270223075,47272847750,2624675,47273591817,47273678089,86272,47274544987,47274734432,189445,47276392472,47281164556,4772084
170,47284935311,47305417326,20482015,47284955405,47296546515,20094,11591110,8870811,47285080056,47285293578,213522,47285101809,47285273940,172131,47285338998,47285414579,75581,47285354268,47285408644,54376,47285451251,47285518934,67683,47285467738,47285536786,69048,47289778805,47292833023,3054218,47290612729,47293222980,2610251,47293772168,47294110567,338399,47294724674,47295161293,436619,47296557867,47301641853,5083986
171,47305417326,47325864313,20446987,47305437933,47317072422,20607,11634489,8791891,47305568773,47305810692,241919,47305584720,47305797377,212657,47305854093,47305925475,71382,47305869538,47305919977,50439,47305961462,47306028726,67264,47305976885,47306045316,68431,47310284960,47313344066,3059106,47311119240,47313623684,2504444,47314283303,47314466286,182983,47315236625,47315502817,266192,47317083595,47322088990,5005395
172,47325864313,47346585436,20721123,47325884206,47337950597,19893,12066391,8634839,47326014096,47326351128,337032,47326032603,47326333881,301278,47326395540,47326461398,65858,47326410411,47326477936,67525,47326502479,47326575956,73477,47326517142,47326590983,73841,47330832939,47334219278,3386339,47331665345,47334325691,2660346,47335155548,47335189380,33832,47336107849,47336269840,161991,47337961931,47342814533,4852602
173,47346585436,47366959553,20374117,47346605526,47358361757,20090,11756231,8597796,47346735903,47346970710,234807,47346754359,47346955343,200984,47347014433,47347081522,67089,47347029863,47347087303,57440,47347122246,47347189705,67459,47347138365,47347205785,67420,47351448462,47354620377,3171915,47352282385,47354891244,2608859,47355564136,47355765282,201146,47356516362,47356836800,320438,47358372887,47363186755,4813868
174,47366959553,47387260228,20300675,47366979926,47378724451,20373,11744525,8535777,47367109412,47367401370,291958,47367127597,47367384856,257259,47367444911,47367517260,72349,47367459738,47367511807,52069,47367552837,47367618719,65882,47367568161,47367635609,67448,47371877467,47374989790,3112323,47372711537,47375237132,2525595,47375930030,47376078923,148893,47376882964,47377111765,228801,47378735549,47383491663,4756114
175,47387260228,47407879178,20618950,47387280353,47399463438,20125,12183085,8415740,47387409919,47388073824,663905,47387431516,47387928499,496983,47388123057,47388222745,99688,47388140445,47388240077,99632,47388266491,47388343312,76821,47388284938,47388360961,76023,47392603850,47395723554,3119704,47393438068,47395937657,2499589,47396664584,47396782966,118382,47397620635,47397806917,186282,47399474344,47404107957,4633613
176,47407879178,47428572565,20693387,47407898306,47419759403,19128,11861097,8813162,47408023576,47408446704,423128,47408044889,47408424084,379195,47408490225,47408555705,65480,47408505160,47408562001,56841,47408595867,47408663710,67843,47408611047,47408669364,58317,47412919691,47416020087,3100396,47413753455,47416468699,2715244,47416961235,47417363729,402494,47417915737,47418417983,502246,47419771098,47424799485,5028387
177,47428572565,47449034746,20462181,47428592557,47440381059,19992,11788502,8653687,47428717709,47428998488,280779,47428739003,47428978908,239905,47429042288,47429110570,68282,47429057401,47429116662,59261,47429150778,47429217696,66918,47429166137,47429234603,68466,47433475398,47436640334,3164936,47434309518,47436777854,2468336,47437583157,47437618342,35185,47438536851,47438679775,142924,47440392458,47445260763,4868305
178,47449034746,47469700152,20665406,47449055594,47460790185,20848,11734591,8909967,47449181374,47449355384,174010,47449202370,47449334870,132500,47449400483,47449473949,73466,47449416328,47449468410,52082,47449509840,47449576715,66875,47449525474,47449592951,67477,47453835621,47457064920,3229299,47454669049,47457606044,2936995,47458003822,47458524175,520353,47458956222,47459563930,607708,47460801443,47465928203,5126760
179,47469700152,47490168154,20468002,47469720627,47481469245,20475,11748618,8698909,47469846006,47470107661,261655,47469867400,47470088828,221428,47470151847,47470222972,71125,47470167224,47470217417,50193,47470258499,47470317028,58529,47470273701,47470344514,70813,47474571124,47477739240,3168116,47475405519,47477875072,2469553,47478677217,47478730713,53496,47479631346,47479778868,147522,47481480634,47486398204,4917570
180,47490168154,47510586586,20418432,47490188616,47501828559,20462,11639943,8758027,47490318242,47490457162,138920,47490336134,47490441083,104949,47490501163,47490567956,66793,47490516118,47490573883,57765,47490608730,47490673844,65114,47490624087,47490694317,70230,47494920685,47498096493,3175808,47495754354,47498372793,2618439,47499035979,47499241888,205909,47499989380,47500298144,308764,47501840832,47506814997,4974165
181,47510586586,47530995864,20409278,47510606477,47522256286,19891,11649809,8739578,47510736411,47510878267,141856,47510753701,47510860924,107223,47510923090,47510990280,67190,47510939260,47510996008,56748,47511031155,47511096059,64904,47511046204,47511112213,66009,47515354352,47518521467,3167115,47516188154,47518890996,2702842,47519458453,47519764186,305733,47520413980,47520824338,410358,47522267462,47527217908,4950446
182,47530995864,47551428290,20432426,47531016392,47542708200,20528,11691808,8720090,47531141221,47531376597,235376,47531162337,47531355585,193248,47531420093,47531485916,65823,47531435452,47531491743,56291,47531526601,47531600337,73736,47531542292,47531594884,52592,47535850741,47538982091,3131350,47536684600,47539382305,2697705,47539919131,47540308313,389182,47540873382,47541339642,466260,47542719047,47547654164,4935117
183,47551428290,47571940212,20511922,47551448918,47563142244,20628,11693326,8797968,47551574242,47551820072,245830,47551595439,47551802594,207155,47551867444,47551939140,71696,47551882834,47551933542,50708,47551974788,47552039621,64833,47551989967,47552055734,65767,47556297048,47559409749,3112701,47557131207,47559910258,2779051,47560350391,47560806649,456258,47561305491,47561855168,549677,47563153224,47568166027,5012803
184,47571940212,47592346464,20406252,47571960557,47583761251,20345,11800694,8585213,47572090753,47572447535,356782,47572108074,47572430421,322347,47572490628,47572558777,68149,47572505308,47572564793,59485,47572598658,47572665817,67159,47572613729,47572681512,67783,47576921665,47580035195,3113530,47577755871,47580241595,2485724,47580973688,47581081772,108084,47581928747,47582113365,184618,47583772273,47588573545,4801272
185,47592346464,47612985396,20638932,47592366533,47604179569,20069,11813036,8805827,47592496015,47592809887,313872,47592513583,47592789232,275649,47592853391,47592921134,67743,47592868928,47592926898,57970,47592962729,47593034228,71499,47592977714,47593028513,50799,47597286289,47600448475,3162186,47598120805,47600791729,2670924,47601388946,47601685855,296909,47602344169,47602747175,403006,47604190784,47609213821,5023037
186,47612985396,47633246077,20260681,47613005825,47624665240,20429,11659415,8580837,47613131197,47613269923,138726,47613151994,47613251435,99441,47613313648,47613380598,66950,47613328593,47613386530,57937,47613420717,47613486822,66105,47613436018,47613503371,67353,47617743852,47620936940,3193088,47618577670,47621075599,2497929,47621875874,47621910083,34209,47622827948,47622936913,108965,47624676511,47629471667,4795156
187,47633246077,47653699787,20453710,47633265859,47644929839,19782,11663980,8769948,47633390544,47633649571,259027,47633411405,47633628598,217193,47633694168,47633760105,65937,47633709340,47633766142,56802,47633800980,47633868817,67837,47633816024,47633889621,73597,47638115567,47641201306,3085739,47638949826,47641457418,2507592,47642141590,47642285237,143647,47643094467,47643313434,218967,47644941058,47649923987,4982929
188,47653699787,47674006278,20306491,47653720602,47665266885,20815,11546283,8739393,47653846744,47653989466,142722,47653867420,47653969711,102291,47654033726,47654105876,72150,47654049189,47654100320,51131,47654141107,47654199058,57951,47654155978,47654224065,68087,47658451259,47661525503,3074244,47659286119,47661843891,2557772,47662469546,47662676110,206564,47663425167,47663733465,308298,47665278452,47670232516,4954064
189,47674006278,47694609156,20602878,47674026341,47685641392,20063,11615051,8967764,47674156728,47674325137,168409,47674174654,47674306445,131791,47674370846,47674428510,57664,47674386188,47674451129,64941,47674475785,47674550429,74644,47674490734,47674544927,54193,47678799810,47681904009,3104199,47679634557,47682287135,2652578,47682843989,47683155848,311859,47683799311,47684208062,408751,47685652570,47690837490,5184920
190,47694609156,47714992238,20383082,47694629574,47706131520,20418,11501946,8860718,47694759541,47694898587,139046,47694777562,47694882029,104467,47694943302,47695012399,69097,47694958738,47695018554,59816,47695055176,47695116485,61309,47695071244,47695142493,71249,47699370252,47702393277,3023025,47700204868,47702669788,2464920,47703335716,47703524369,188653,47704293084,47704558109,265025,47706142816,47711219621,5076805
191,47714992238,47735398001,20405763,47715012937,47726681577,20699,11668640,8716424,47715144077,47715381708,237631,47715161490,47715365633,204143,47715425387,47715491813,66426,47715441333,47715497950,56617,47715532885,47715604603,71718,47715548085,47715599347,51262,47719857087,47722945325,3088238,47720690467,47723202710,2512243,47723886784,47724039915,153131,47724840605,47725076696,236091,47726692513,47731623135,4930622
192,47735398001,47755911435,20513434,47735419133,47747185432,21132,11766299,8726003,47735549444,47735920184,370740,47735566414,47735900959,334545,47735965133,47736031618,66485,47735980038,47736037815,57777,47736072543,47736138878,66335,47736087609,47736159311,71702,47740385506,47743443918,3058412,47741219375,47743802468,2583093,47744389085,47744660375,271290,47745343509,47745735400,391891,47747196877,47752134691,4937814
193,47755911435,47776512435,20601000,47755931696,47767975113,20261,12043417,8537322,47756056489,47756342001,285512,47756078006,47756323949,245943,47756387410,47756456850,69440,47756403079,47756463063,59984,47756498943,47756568818,69875,47756514346,47756574792,60446,47760825081,47764246691,3421610,47761658706,47764342506,2683800,47765184452,47765220673,36221,47766137041,47766270742,133701,47767986401,47772739720,4753319
194,47776512435,47797226193,20713758,47776532679,47788252556,20244,11719877,8973637,47776656964,47776858577,201613,47776678446,47776840128,161682,47776902901,47776970030,67129,47776917803,47776989502,71699,47777005967,47777072527,66560,47777020832,47777093763,72931,47781317506,47784514730,3197224,47782151848,47785015179,2863331,47785455949,47785919545,463596,47786409745,47786952977,543232,47788263598,47793453664,5190066
195,47797226193,47817593671,20367478,47797246560,47808982551,20367,11735991,8611120,47797371647,47797513567,141920,47797392580,47797492016,99436,47797558068,47797631675,73607,47797574663,47797625453,50790,47797666816,47797738192,71376,47797682022,47797732831,50809,47801990458,47805244881,3254423,47802824327,47805443927,2619600,47806184164,47806302845,118681,47807138727,47807347583,208856,47808993499,47813816893,4823394
196,47817593671,47837899278,20305607,47817614703,47829171165,21032,11556462,8728113,47817744267,47817962097,217830,47817761620,47817946179,184559,47818005852,47818073200,67348,47818020808,47818089490,68682,47818114464,47818179656,65192,47818129234,47818203036,73802,47822425386,47825437637,3012251,47823259767,47825788807,2529040,47826376806,47826647495,270689,47827333095,47827727835,394740,47829182172,47834128729,4946557
197,47837899278,47858965492,21066214,47837919000,47850150367,19722,12231367,8815125,47838046040,47838705150,659110,47838064984,47838619743,554759,47838752952,47838850441,97489,47838769604,47838868944,99340,47838896325,47838971373,75048,47838913243,47838989667,76424,47843231652,47846411435,3179783,47844065594,47846912121,2846527,47847352899,47847825348,472449,47848308287,47848854258,545971,47850161907,47855191397,5029490
198,47858965492,47879816549,20851057,47858985323,47871144516,19831,12159193,8672033,47859111223,47859586531,475308,47859133210,47859570275,437065,47859629785,47859707534,77749,47859645056,47859702247,57191,47859737524,47859803721,66197,47859752500,47859819968,67468,47864060097,47867413398,3353301,47864894975,47867759977,2865002,47868352538,47868679095,326557,47869307516,47869716230,408714,47871155515,47876040848,4885333
199,47879816549,47900146971,20330422,47879837553,47891621750,21004,11784197,8525221,47879963086,47880294333,331247,47879983593,47880277817,294224,47880337706,47880402786,65080,47880353266,47880408762,55496,47880443219,47880517336,74117,47880457952,47880511803,53851,47884767288,47887889403,3122115,47885600738,47888150390,2549652,47888828666,47888992538,163872,47889779933,47890059662,279729,47891633026,47896374248,4741222
200,47900146971,47920813118,20666147,47900166770,47911987765,19799,11820995,8825353,47900296906,47900646666,349760,47900314984,47900625210,310226,47900689844,47900755960,66116,47900705137,47900762008,56871,47900797051,47900865111,68060,47900812091,47900881563,69472,47905122048,47908253995,3131947,47905956451,47908608919,2652468,47909192654,47909475542,282888,47910146822,47910549887,403065,47911999126,47917041061,5041935
201,47920813118,47941598188,20785070,47920835457,47932848746,22339,12013289,8749442,47920965088,47921131132,166044,47920983173,47921110708,127535,47921175139,47921242114,66975,47921191018,47921248191,57173,47921282638,47921343461,60823,47921297471,47921360437,62966,47925601046,47929128622,3527576,47926435681,47929493542,3057861,47930063601,47930423787,360186,47931018638,47931467270,448632,47932859880,47937823155,4963275
202,47941598188,47961945827,20347639,47941617813,47953293133,19625,11675320,8652694,47941748544,47942067688,319144,47941766289,47942049056,282767,47942111419,47942178753,67334,47942126737,47942184759,58022,47942219554,47942287114,67560,47942235005,47942303508,68503,47946544666,47949561594,3016928,47947378518,47949969044,2590526,47950506099,47950857082,350983,47951459964,47951913532,453568,47953304468,47958175301,4870833
203,47961945827,47982240906,20295079,47961965791,47973762735,19964,11796944,8478171,47962090291,47962434051,343760,47962110851,47962414284,303433,47962477875,47962551465,73590,47962492674,47962545893,53219,47962586128,47962652736,66608,47962600953,47962668816,67863,47966911762,47970032184,3120422,47967745309,47970231678,2486369,47970972630,47971052972,80342,47971926257,47972096332,170075,47973773737,47978468165,4694428
204,47982240906,48003381121,21140215,47982261084,47994150568,20178,11889484,9230553,47982385747,47982896900,511153,47982406490,47982876972,470482,47982940581,47983007941,67360,47982955773,47983023847,68074,47983048935,47983115721,66786,47983063547,47983132151,68604,47987372786,47990422432,3049646,47988207440,47991008699,2801259,47991366144,47991940453,574309,47992322114,47992969627,647513,47994161717,47999605680,5443963
205,48003381121,48023966807,20585686,48003402750,48015171599,21629,11768849,8795208,48003532737,48003670992,138255,48003549878,48003650010,100132,48003714443,48003780300,65857,48003729274,48003786231,56957,48003820950,48003889828,68878,48003839277,48003906846,67569,48008147122,48011440064,3292942,48008981217,48011859787,2878570,48012378001,48012755240,377239,48013332945,48013786332,453387,48015182629,48020195619,5012990
206,48023966807,48044609567,20642760,48023986981,48036017665,20174,12030684,8591902,48024115061,48024486551,371490,48024130931,48024465049,334118,48024530367,48024596295,65928,48024545504,48024601983,56479,48024637300,48024704627,67327,48024652533,48024720388,67855,48028960055,48032278779,3318724,48029794243,48032391010,2596767,48033216717,48033252616,35899,48034171228,48034325182,153954,48036028986,48040839972,4810986
207,48044609567,48065704759,21095192,48044630447,48056705051,20880,12074604,8999708,48044760757,48045081760,321003,48044777735,48045064613,286878,48045125216,48045198411,73195,48045141073,48045204240,63167,48045234748,48045301232,66484,48045249867,48045316961,67094,48049557604,48052976231,3418627,48050392472,48053465930,3073458,48053915643,48054390343,474700,48054868387,48055430027,561640,48056716427,48061930504,5214077
208,48065704759,48086019276,20314517,48065725369,48077538069,20610,11812700,8481207,48065850682,48066090178,239496,48065871526,48066069771,198245,48066134392,48066199579,65187,48066149379,48066205329,55950,48066240527,48066307318,66791,48066255622,48066323509,67887,48070564285,48073803324,3239039,48071398959,48073936936,2537977,48074742173,48074776081,33908,48075696162,48075833571,137409,48077549220,48082246187,4696967
209,48086019276,48106582772,20563496,48086040212,48097690723,20936,11650511,8892049,48086169640,48086469559,299919,48086187034,48086450146,263112,48086513123,48086578589,65466,48086528060,48086584684,56624,48086619505,48086693240,73735,48086635104,48086687488,52384,48090943325,48093952273,3008948,48091777371,48094307759,2530388,48094897866,48095182417,284551,48095849858,48096245018,395160,48097701684,48102810476,5108792
210,48106582772,48127235901,20653129,48106602857,48118499738,20085,11896881,8736163,48106731959,48107127730,395771,48106747871,48107113253,365382,48107171999,48107250685,78686,48107187030,48107244923,57893,48107280103,48107345745,65642,48107295098,48107362388,67290,48111603018,48114774113,3171095,48112437524,48115026754,2589230,48115713021,48115880782,167761,48116666967,48116923756,256789,48118511033,48123462026,4950993
211,48127235901,48147410406,20174505,48127255809,48138935892,19908,11680083,8474514,48127384712,48127598631,213919,48127401646,48127579866,178220,48127642142,48127708047,65905,48127657355,48127713673,56318,48127748253,48127815192,66939,48127763449,48127833939,70490,48132074058,48135200635,3126577,48132907850,48135356059,2448209,48136139864,48136212918,73054,48137091186,48137245405,154219,48138947011,48143635259,4688248
212,48147410406,48168181858,20771452,48147430930,48159637204,20524,12206274,8544654,48147559793,48147809186,249393,48147577602,48147791541,213939,48147853430,48147924894,71464,48147868666,48147919488,50822,48147960680,48148021829,61149,48147975764,48148045328,69564,48152272902,48155896483,3623581,48153107254,48155967922,2860668,48156833910,48156868537,34627,48157787966,48157901551,113585,48159648323,48164407515,4759192
213,48168181858,48188641319,20459461,48168201932,48180007948,20074,11806016,8633371,48168332616,48168709548,376932,48168350282,48168690567,340285,48168753382,48168824641,71259,48168768445,48168818935,50490,48168862438,48168935130,72692,48168877727,48168928997,51270,48173185806,48176264268,3078462,48174020316,48176604369,2584053,48177206055,48177476846,270791,48178160736,48178552548,391812,48180019263,48184869326,4850063
214,48188641319,48209187302,20545983,48188661184,48200361663,19865,11700479,8825639,48188790696,48189106038,315342,48188808379,48189087552,279173,48189150149,48189221688,71539,48189165019,48189216122,51103,48189257571,48189321715,64144,48189272833,48189338037,65204,48193578930,48196624760,3045830,48194413599,48196979263,2565664,48197567153,48197831055,263902,48198518586,48198908280,389694,48200372944,48205416024,5043080
215,48209187302,48229431172,20243870,48209207591,48220766818,20289,11559227,8664354,48209340256,48209473933,133677,48209356964,48209455719,98755,48209517399,48209589829,72430,48209533520,48209584385,50865,48209625080,48209697583,72503,48209641212,48209692030,50818,48213948666,48217024020,3075354,48214782682,48217301936,2519254,48217963841,48218170318,206477,48218917840,48219237956,320116,48220778135,48225661304,4883169
216,48229431172,48249833842,20402670,48229451550,48241333644,20378,11882094,8500198,48229581228,48229890241,309013,48229598735,48229871353,272618,48229934081,48229999439,65358,48229949081,48230005469,56388,48230040783,48230106207,65424,48230055575,48230126346,70771,48234353576,48237601566,3247990,48235187989,48237758395,2570406,48238541930,48238576148,34218,48239493998,48239644796,150798,48241344778,48246062782,4718004
217,48249833842,48270665717,20831875,48249853852,48261959606,20010,12105754,8706111,48249983394,48250254984,271590,48250001379,48250234556,233177,48250299672,48250370417,70745,48250314436,48250365010,50574,48250405323,48250472469,67146,48250420235,48250488837,68602,48254730715,48258235224,3504509,48255564679,48258586060,3021381,48259174553,48259506123,331570,48260128394,48260554343,425949,48261970672,48266892557,4921885
218,48270665717,48291207556,20541839,48270685467,48282596311,19750,11910844,8611245,48270814945,48271287626,472681,48270834500,48271269222,434722,48271332058,48271397612,65554,48271347127,48271403539,56412,48271438862,48271502987,64125,48271454301,48271523119,68818,48275749588,48278866730,3117142,48276583108,48279056743,2473635,48279806681,48279890696,84015,48280757607,48280929025,171418,48282607461,48287436843,4829382
219,48291207556,48312118631,20911075,48291227458,48303283975,19902,12056517,8834656,48291352617,48291936367,583750,48291374617,48291781049,406432,48291983298,48292085499,102201,48292000504,48292102082,101578,48292130130,48292207244,77114,48292147446,48292224398,76952,48296467013,48299542822,3075809,48297300611,48299839615,2539004,48300483642,48300722872,239230,48301438744,48301791728,352984,48303294910,48308345451,5050541
220,48312118631,48332316768,20198137,48312138816,48323684554,20185,11545738,8632214,48312265442,48312452168,186726,48312287046,48312432126,145080,48312496720,48312564796,68076,48312511975,48312570498,58523,48312604807,48312663545,58738,48312619774,48312688401,68627,48316915301,48319946470,3031169,48317749414,48320290400,2540986,48320888613,48321150079,261466,48321842210,48322230431,388221,48323695799,48328546058,4850259
221,48332316768,48352869758,20552990,48332337079,48344407259,20311,12070180,8462499,48332466234,48332856352,390118,48332483688,48332836917,353229,48332900226,48332967132,66906,48332915566,48332983452,67886,48333008221,48333075433,67212,48333022875,48333094906,72031,48337319777,48340677094,3357317,48338154356,48340774546,2620190,48341612802,48341661103,48301,48342566119,48342728823,162704,48344418690,48349100109,4681419
222,48352869758,48373329685,20459927,48352889998,48364538770,20240,11648772,8790915,48353020079,48353304142,284063,48353036070,48353283295,247225,48353348430,48353414030,65600,48353363330,48353419713,56383,48353454750,48353519709,64959,48353469665,48353539794,70129,48357766314,48360810074,3043760,48358600089,48361062389,2462300,48361752291,48361904294,152003,48362705506,48362930626,225120,48364549814,48369556766,5006952
223,48373329685,48393513981,20184296,48373349769,48385004538,20084,11654769,8509443,48373479009,48373614866,135857,48373495724,48373596854,101130,48373657681,48373727901,70220,48373672629,48373722658,50029,48373763068,48373833169,70101,48373778209,48373839262,61053,48378089407,48381268905,3179498,48378923298,48381436407,2513109,48382207771,48382274544,66773,48383163101,48383322881,159780,48385015790,48389740116,4724326
224,48393513981,48413877404,20363423,48393533703,48405294045,19722,11760342,8583359,48393662560,48394011480,348920,48393679890,48393992863,312973,48394054853,48394121585,66732,48394069633,48394138313,68680,48394163081,48394227126,64045,48394177757,48394247045,69288,48398471899,48401552866,3080967,48399306613,48401860927,2554314,48402491988,48402711903,219915,48403447390,48403800297,352907,48405305091,48410104335,4799244
225,48413877404,48434794690,20917286,48413897001,48425869164,19597,11972163,8925526,48414026781,48414370259,343478,48414044707,48414355235,310528,48414413071,48414479676,66605,48414427718,48414495271,67553,48414519902,48414585177,65275,48414535224,48414608125,72901,48418833089,48422134422,3301333,48419665600,48422675172,3009572,48423069951,48423582238,512287,48424027449,48424631776,604327,48425880234,48431022345,5142111
226,48434794690,48455353005,20558315,48434814184,48446730408,19494,11916224,8622597,48434944058,48435352793,408735,48434961640,48435335035,373395,48435396890,48435462812,65922,48435411512,48435468943,57431,48435503726,48435576880,73154,48435518847,48435571072,52225,48439826707,48443001435,3174728,48440660542,48443213329,2552787,48443941148,48444068254,127106,48444895472,48445121417,225945,48446741541,48451579398,4837857
227,48455353005,48475902767,20549762,48455373043,48467067507,20038,11694464,8835260,48455502668,48455704904,202236,48455520659,48455691113,170454,48455748865,48455825705,76840,48455764655,48455819895,55240,48455865548,48455940308,74760,48455882003,48455934646,52643,48460194324,48463334729,3140405,48461028104,48463704211,2676107,48464278828,48464591764,312936,48465231741,48465674042,442301,48467078913,48472129177,5050264
228,48475902767,48496239729,20336962,48475923319,48487626635,20552,11703316,8613094,48476053922,48476337231,283309,48476071219,48476318005,246786,48476380584,48476452082,71498,48476395867,48476446674,50807,48476486632,48476553161,66529,48476501698,48476568998,67300,48480810423,48483889579,3079156,48481644471,48484180756,2536285,48484828726,48485043431,214705,48485783868,48486124057,340189,48487637761,48492469688,4831927
229,48496239729,48516904688,20664959,48496260099,48508257664,20370,11997565,8647024,48496390098,48496671068,280970,48496407113,48496652564,245451,48496714798,48496786144,71346,48496730613,48496780693,50080,48496820888,48496887426,66538,48496838695,48496903883,65188,48501145428,48504534358,3388930,48501978800,48504671868,2693068,48505472951,48505507053,34102,48506425623,48506576492,150869,48508269187,48513132221,4863034
230,48516904688,48537619347,20714659,48516924450,48528788851,19762,11864401,8830496,48517054295,48517407111,352816,48517072141,48517388394,316253,48517450008,48517515357,65349,48517464508,48517531591,67083,48517556367,48517622586,66219,48517571490,48517641190,69700,48521869172,48525053563,3184391,48522703004,48525295627,2592623,48525992275,48526146046,153771,48526945476,48527224066,278590,48528799616,48533846203,5046587
231,48537619347,48557931778,20312431,48537639274,48549207235,19927,11567961,8724543,48537768757,48537906110,137353,48537786209,48537887264,101055,48537950786,48538016660,65874,48537965875,48538022280,56405,48538057074,48538122477,65403,48538072015,48538139575,67560,48542381845,48545482387,3100542,48543215695,48545739562,2523867,48546422145,48546580651,158506,48547376925,48547634893,257968,48549218547,48554162281,4943734
232,48557931778,48578308725,20376947,48557951615,48569761524,19837,11809909,8547201,48558076153,48558318462,242309,48558097193,48558298937,201744,48558363396,48558434921,71525,48558378681,48558428846,50165,48558469739,48558535467,65728,48558484531,48558551718,67187,48562792662,48566029664,3237002,48563626223,48566153422,2527199,48566969491,48567004047,34556,48567921799,48568080230,158431,48569772490,48574536880,4764390
233,48578308725,48599111275,20802550,48578328983,48589928517,20258,11599534,9182758,48578454553,48578644517,189964,48578474927,48578622881,147954,48578687752,48578759225,71473,48578702568,48578753642,51074,48578794060,48578862327,68267,48578809119,48578879151,70032,48583120883,48586197378,3076495,48583955119,48586751449,2796330,48587137857,48587674947,537090,48588092343,48588704719,612376,48589940034,48595340563,5400529
234,48599111275,48619609831,20498556,48599131812,48610775624,20537,11643812,8834207,48599256158,48599395748,139590,48599276900,48599376554,99654,48599439467,48599510669,71202,48599454301,48599516945,62644,48599547201,48599613723,66522,48599562542,48599633397,70855,48603859126,48607050634,3191508,48604692950,48607390821,2697871,48607987818,48608294117,306299,48608940372,48609344355,403983,48610786768,48615831392,5044624
235,48619609831,48640199520,20589689,48619630097,48631418743,20266,11788646,8780777,48619759560,48620100316,340756,48619777271,48620081297,304026,48620143426,48620214603,71177,48620158422,48620209182,50760,48620249910,48620314130,64220,48620265042,48620334098,69056,48624561259,48627684094,3122835,48625395680,48628009552,2613872,48628625921,48628866323,240402,48629578591,48629931658,353067,48631430171,48636425433,4995262
236,48640199520,48660561651,20362131,48640220587,48651825068,21067,11604481,8736583,48640350786,48640491933,141147,48640368616,48640472750,104134,48640535442,48640603459,68017,48640550212,48640609371,59159,48640643671,48640709771,66100,48640658650,48640725721,67071,48644967266,48648086318,3119052,48645801256,48648303866,2502610,48649025258,48649171734,146476,48649980743,48650230607,249864,48651840474,48656786479,4946005
237,48660561651,48681433645,20871994,48660581706,48672397485,20055,11815779,9036160,48660706403,48661081119,374716,48660727809,48661063358,335549,48661124586,48661198918,74332,48661140291,48661193425,53134,48661234283,48661293287,59004,48661249798,48661318685,68887,48665545006,48668666683,3121677,48666379506,48669178169,2798663,48669605343,48670081210,475867,48670561144,48671115055,553911,48672409059,48677661383,5252324
238,48681433645,48702214592,20780947,48681455084,48693410312,21439,11955228,8804280,48681586238,48681724520,138282,48681605348,48681706445,101097,48681768436,48681842672,74236,48681783481,48681836855,53374,48681877560,48681944118,66558,48681892506,48681960299,67793,48686200617,48689681337,3480720,48687035152,48689922202,2887050,48690619418,48690810803,191385,48691574107,48691860987,286880,48693421588,48698442416,5020828
239,48702214592,48722825256,20610664,48702235217,48714026828,20625,11791611,8798428,48702360902,48702697482,336580,48702382524,48702678581,296057,48702740647,48702807636,66989,48702755845,48702823747,67902,48702850599,48702923251,72652,48702865974,48702939834,73860,48707180151,48710300980,3120829,48708014167,48710801524,2787357,48711237906,48711719451,481545,48712191164,48712750887,559723,48714038331,48719052464,5014133
240,48722825256,48743358616,20533360,48722847933,48734596435,22677,11748502,8762181,48722973152,48723338655,365503,48722993175,48723320706,327531,48723381788,48723448525,66737,48723396665,48723454283,57618,48723488774,48723555700,66926,48723503398,48723571479,68081,48727814213,48730855037,3040824,48728648363,48731192835,2544472,48731794015,48732061618,267603,48732748821,48733140671,391850,48734607652,48739581812,4974160
241,48743358616,48764421045,21062429,48743378761,48755400905,20145,12022144,9020140,48743504154,48743858818,354664,48743521716,48743810356,288640,48743902932,48743973875,70943,48743918874,48743988948,70074,48744014392,48744084549,70157,48744030899,48744104516,73617,48748331288,48751677728,3346440,48749165271,48752095905,2930634,48752617455,48753000524,383069,48753571049,48754052657,481608,48755412011,48760647228,5235217
242,48764421045,48784707929,20286884,48764442088,48776079562,21043,11637474,8628367,48764571630,48764789250,217620,48764589125,48764770580,181455,48764836013,48764908113,72100,48764851524,48764902551,51027,48764943387,48765010150,66763,48764959015,48765030332,71317,48769255947,48772351357,3095410,48770090523,48772634385,2543862,48773288187,48773505892,217705,48774241498,48774579299,337801,48776090739,48780931513,4840774
243,48784707929,48805202327,20494398,48784728367,48796601708,20438,11873341,8600619,48784859048,48785154239,295191,48784876809,48785137067,260258,48785197655,48785264784,67129,48785213131,48785281680,68549,48785306086,48785373421,67335,48785321008,48785389497,68489,48789630279,48792875066,3244787,48790464544,48793136768,2672224,48793813024,48794015411,202387,48794765581,48795085298,319717,48796613179,48801429205,4816026
244,48805202327,48825843003,20640676,48805222402,48817126702,20075,11904300,8716301,48805347218,48805749338,402120,48805367443,48805732726,365283,48805793670,48805868281,74611,48805808844,48805862668,53824,48805903465,48805963116,59651,48805919141,48805989122,69981,48810216372,48813389270,3172898,48811050463,48813684050,2633587,48814333931,48814531872,197941,48815288443,48815590924,302481,48817138584,48822069028,4930444
245,48825843003,48846162890,20319887,48825863875,48837624407,20872,11760532,8538483,48825988865,48826154792,165927,48826009818,48826135116,125298,48826198429,48826269591,71162,48826213209,48826264071,50862,48826304588,48826371521,66933,48826319611,48826388292,68681,48830628671,48833887789,3259118,48831463083,48834124692,2661609,48834828662,48834993277,164615,48835785389,48836063358,277969,48837636072,48842392771,4756699
246,48846162890,48867040415,20877525,48846183228,48857958493,20338,11775265,9081922,48846312572,48846590053,277481,48846331189,48846571361,240172,48846633768,48846701019,67251,48846649309,48846716670,67361,48846741559,48846806693,65134,48846756606,48846827579,70973,48851053559,48854229165,3175606,48851887688,48854689314,2801626,48855170176,48855600145,429969,48856124903,48856628158,503255,48857969498,48863267648,5298150
247,48867040415,48887528716,20488301,48867060244,48878612144,19829,11551900,8916572,48867185322,48867432318,246996,48867206470,48867414549,208079,48867476190,48867544150,67960,48867491201,48867559758,68557,48867584142,48867654180,70038,48867599245,48867670070,70825,48871910154,48874884105,2973951,48872744286,48875405139,2660853,48875827885,48876298467,470582,48876781859,48877359571,577712,48878623141,48883757069,5133928
248,48887528716,48908103088,20574372,48887549675,48899353415,20959,11803740,8749673,48887679972,48887922365,242393,48887697675,48887905108,207433,48887966079,48888030330,64251,48887981017,48888049525,68508,48888066169,48888138687,72518,48888080729,48888155013,74284,48892396316,48895614175,3217859,48893230827,48895904022,2673195,48896552637,48896816483,263846,48897505621,48897882900,377279,48899364617,48904331011,4966394
249,48908103088,48928572739,20469651,48908123171,48919999246,20083,11876075,8573493,48908253702,48908660206,406504,48908271312,48908639607,368295,48908703862,48908770100,66238,48908719023,48908775944,56921,48908810566,48908880898,70332,48908826241,48908896994,70753,48913137654,48916272249,3134595,48913972251,48916491917,2519666,48917209284,48917333270,123986,48918162288,48918407182,244894,48920010360,48924798970,4788610
250,48928572739,48949312548,20739809,48928592475,48940520274,19736,11927799,8792274,48928721990,48928998770,276780,48928740489,48928982178,241689,48929042500,48929110943,68443,48929057515,48929126779,69264,48929151538,48929217012,65474,48929166269,48929236686,70417,48933463544,48936796042,3332498,48934298003,48937242585,2944582,48937731495,48938165347,433852,48938685288,48939223112,537824,48940531620,48945537932,5006312
251,48949312548,48970268255,20955707,48949333002,48961745887,20454,12412885,8522368,48949463174,48949880122,416948,48949480253,48949858298,378045,48949923891,48949998374,74483,48949939800,48950004589,64789,48950034451,48950104331,69880,48950049509,48950120704,71195,48954363513,48958017738,3654225,48955197919,48958091993,2894074,48958953514,48958988278,34764,48959906232,48960041957,135725,48961756846,48966497442,4740596
252,48970268255,48990638069,20369814,48970288028,48982012980,19773,11724952,8625089,48970413666,48970651028,237362,48970435918,48970631383,195465,48970694333,48970759665,65332,48970709830,48970765749,55919,48970800329,48970876778,76449,48970815326,48970871045,55719,48975127438,48978286183,3158745,48975962457,48978532331,2569874,48979225932,48979394441,168509,48980179301,48980463871,284570,48982024267,48986869496,4845229
253,48990638069,49011071667,20433598,48990658096,49002289143,20027,11631047,8782524,48990788313,48991031999,243686,48990805847,48991014332,208485,48991076434,48991147795,71361,48991091527,48991142200,50673,48991182927,48991247936,65009,48991197994,48991267452,69458,48995500578,48998547781,3047203,48996334967,48998863674,2528707,48999487419,48999726543,239124,49000441958,49000798108,356150,49002300348,49007298528,4998180
254,49011071667,49031567448,20495781,49011092348,49022967016,20681,11874668,8600432,49011216766,49011570708,353942,49011238120,49011550202,312082,49011614561,49011686608,72047,49011629765,49011680983,51218,49011721482,49011787484,66002,49011736238,49011803161,66923,49016043651,49019238809,3195158,49016878168,49019431641,2553473,49020178547,49020297651,119104,49021130965,49021358400,227435,49022977957,49027796454,4818497
255,49031567448,49052069705,20502257,49031588474,49043276417,21026,11687943,8793288,49031717992,49031973132,255140,49031735857,49031954780,218923,49032016259,49032089532,73273,49032031473,49032084162,52689,49032124044,49032189543,65499,49032139468,49032209645,70177,49036436199,49039542256,3106057,49037269955,49039750975,2481020,49040483371,49040610894,127523,49041436123,49041652069,215946,49043287309,49048295962,5008653
256,49052069705,49072404118,20334413,49052091166,49063716812,21461,11625646,8687306,49052217482,49052402235,184753,49052234416,49052380749,146333,49052446115,49052514678,68563,49052461338,49052530897,69559,49052556397,49052621581,65184,49052571239,49052642904,71665,49056868381,49059986382,3118001,49057702168,49060239085,2536917,49060927095,49061077462,150367,49061880200,49062123349,243149,49063727934,49068632851,4904917
257,49072404118,49092844802,20440684,49072424086,49084117171,19968,11693085,8727631,49072549434,49072840431,290997,49072565634,49072820068,254434,49072884050,49072950447,66397,49072899183,49072956222,57039,49072990612,49073055067,64455,49073005552,49073076387,70835,49077300505,49080384117,3083612,49078134975,49080661110,2526135,49081326568,49081499225,172657,49082279929,49082543033,263104,49084128189,49089070670,4942481
258,49092844802,49113148212,20303410,49092865264,49104572053,20462,11706789,8576159,49092994528,49093251201,256673,49093012472,49093232361,219889,49093294967,49093366741,71774,49093309660,49093361130,51470,49093401942,49093469003,67061,49093417202,49093484484,67282,49097724283,49100837341,3113058,49098557928,49101107123,2549195,49101777168,49101952407,175239,49102729002,49103020219,291217,49104583281,49109377147,4793866
259,49113148212,49133633873,20485661,49113168206,49125073788,19994,11905582,8560085,49113293744,49113653954,360210,49113315235,49113635735,320500,49113697670,49113771195,73525,49113712325,49113765938,53613,49113805605,49113875527,69922,49113820977,49113892237,71260,49118133391,49121339620,3206229,49118967565,49121519591,2552026,49122278636,49122358927,80291,49123234338,49123400642,166304,49125084692,49129859412,4774720
260,49133633873,49154004056,20370183,49133653711,49145459314,19838,11805603,8544742,49133783348,49134069932,286584,49133800637,49134050817,250180,49134113424,49134179374,65950,49134128044,49134185109,57065,49134219977,49134295899,75922,49134235542,49134290689,55147,49138542542,49141732575,3190033,49139376829,49141863481,2486652,49142671257,49142731769,60512,49143625209,49143771457,146248,49145470714,49150228552,4757838
261,49154004056,49174508259,20504203,49154024645,49165791871,20589,11767226,8716388,49154154922,49154507893,352971,49154172480,49154492497,320017,49154551708,49154618614,66906,49154566731,49154635507,68776,49154660553,49154727327,66774,49154675608,49154746440,70832,49158973044,49162058361,3085317,49159807132,49162365265,2558133,49162997270,49163257256,259986,49163949119,49164332913,383794,49165803504,49170734691,4931187
262,49174508259,49195162081,20653822,49174527984,49186277047,19725,11749063,8885034,49174656827,49174904934,248107,49174674431,49174884021,209590,49174948587,49175015459,66872,49174963579,49175021311,57732,49175056214,49175122961,66747,49175071494,49175139205,67711,49179382059,49182539484,3157425,49180216602,49182827891,2611289,49183480712,49183702900,222188,49184435247,49184780094,344847,49186288297,49191385297,5097000
263,49195162081,49215409646,20247565,49195183149,49206767883,21068,11584734,8641763,49195308077,49195444805,136728,49195323774,49195428636,104862,49195488115,49195563551,75436,49195502976,49195557850,54874,49195598886,49195665536,66650,49195614151,49195685554,71403,49199912588,49203031747,3119159,49200745883,49203265569,2519686,49203975122,49204109114,133992,49204929662,49205152163,222501,49206779152,49211641012,4861860
264,49215409646,49235698889,20289243,49215429717,49227170926,20071,11741209,8527963,49215555085,49215719325,164240,49215571581,49215700012,128431,49215763224,49215840076,76852,49215779008,49215834258,55250,49215875638,49215936603,60965,49215890652,49215957038,66386,49220197756,49223443818,3246062,49221032409,49223674793,2642384,49224382521,49224548160,165639,49225335422,49225601335,265913,49227181883,49231927416,4745533
265,49235698889,49256305486,20606597,49235718508,49247436999,19619,11718491,8868487,49235849839,49236131447,281608,49235867720,49236110585,242865,49236174296,49236245863,71567,49236189278,49236240311,51033,49236280877,49236347867,66990,49236296080,49236367408,71328,49240593766,49243702607,3108841,49241427789,49244244129,2816340,49244642831,49245138106,495275,49245598506,49246184204,585698,49247448072,49252534987,5086915
266,49256305486,49276700205,20394719,49256326325,49268189695,20839,11863370,8510510,49256452693,49256789039,336346,49256469204,49256766950,297746,49256835586,49256907698,72112,49256851546,49256902174,50628,49256942540,49257009629,67089,49256957538,49257025702,68164,49261268394,49264460944,3192550,49262102845,49264625260,2522415,49265399935,49265484537,84602,49266351727,49266549613,197886,49268200677,49272925044,4724367
267,49276700205,49297193770,20493565,49276720504,49288469036,20299,11748532,8724734,49276851064,49277243544,392480,49276868647,49277226419,357772,49277286617,49277360013,73396,49277301228,49277354448,53220,49277394715,49277459805,65090,49277409814,49277480635,70821,49281705492,49284734412,3028920,49282539906,49285063986,2524080,49285677841,49285917124,239283,49286630664,49286996846,366182,49288480047,49293420063,4940016
268,49297193770,49317759373,20565603,49297213614,49309073879,19844,11860265,8685494,49297339163,49297721761,382598,49297359605,49297703417,343812,49297765688,49297834096,68408,49297781079,49297840088,59009,49297875041,49297943033,67992,49297890458,49297949056,58598,49302200023,49305343011,3142988,49303034731,49305583638,2548907,49306283831,49306419496,135665,49307236416,49307465121,228705,49309084913,49313990898,4905985
269,49317759373,49338212921,20453548,49317779532,49329477752,20159,11698220,8735169,49317910202,49318113770,203568,49317928006,49318096806,168800,49318159553,49318226050,66497,49318175289,49318232290,57001,49318266874,49318333187,66313,49318281986,49318338924,56938,49322589848,49325741472,3151624,49323424053,49326077490,2653437,49326681578,49326955368,273790,49327633166,49328020760,387594,49329488835,49334439454,4950619
270,49338212921,49358629201,20416280,49338233110,49350033523,20189,11800413,8595678,49338363122,49338722939,359817,49338380668,49338705148,324480,49338766780,49338840360,73580,49338781831,49338857192,75361,49338882155,49338953479,71324,49338897302,49338969782,72480,49343211342,49346289826,3078484,49344045377,49346569903,2524526,49347232899,49347430832,197933,49348188828,49348502551,313723,49350045144,49354856267,4811123
271,49358629201,49379088021,20458820,49358649265,49370519206,20064,11869941,8568815,49358773798,49359160176,386378,49358795067,49359139849,344782,49359203659,49359277545,73886,49359218693,49359283498,64805,49359313158,49359369325,56167,49359328069,49359399291,71222,49363625365,49366790087,3164722,49364459692,49367195776,2736084,49367729114,49368100263,371149,49368683678,49369135581,451903,49370530814,49375315185,4784371
272,49379088021,49399899857,20811836,49379107918,49391053396,19897,11945478,8846461,49379233121,49379670868,437747,49379253383,49379651571,398188,49379714066,49379782059,67993,49379729585,49379787810,58225,49379822310,49379892943,70633,49379840263,49379899047,58784,49384150397,49387318020,3167623,49384985201,49387667692,2682491,49388258246,49388528188,269942,49389214191,49389599310,385119,49391064718,49396125901,5061183
273,49399899857,49420152276,20252419,49399920619,49411605363,20762,11684744,8546913,49400046124,49400221859,175735,49400066721,49400203102,136381,49400266483,49400332455,65972,49400281151,49400338660,57509,49400373133,49400440022,66889,49400388397,49400458553,70156,49404689276,49407880032,3190756,49405523247,49408039343,2516096,49408820684,49408899109,78425,49409775768,49409957318,181550,49411616542,49416382270,4765728
274,49420152276,49440546203,20393927,49420172070,49431956910,19794,11784840,8589293,49420301785,49420620219,318434,49420319210,49420599861,280651,49420664406,49420736540,72134,49420679750,49420731071,51321,49420771102,49420841277,70175,49420786479,49420847614,61135,49425098033,49428232710,3134677,49425932208,49428452773,2520565,49429172876,49429298619,125743,49430124825,49430334775,209950,49431967921,49436774395,4806474
275,49440546203,49461038732,20492529,49440566884,49452281888,20681,11715004,8756844,49440691461,49440844172,152711,49440713260,49440822100,108840,49440888425,49440959962,71537,49440903303,49440954363,51060,49440995058,49441059301,64243,49441009949,49441076067,66118,49445315998,49448548923,3232925,49446150721,49448800029,2649308,49449488208,49449649904,161696,49450442320,49450718720,276400,49452293955,49457267183,4973228
276,49461038732,49481328789,20290057,49461060550,49472725365,21818,11664815,8603424,49461185742,49461350361,164619,49461201437,49461330393,128956,49461394265,49461466795,72530,49461409479,49461461012,51533,49461501719,49461567448,65729,49461517065,49461587595,70530,49465819012,49468998757,3179745,49466652765,49469274958,2622193,49469941122,49470130373,189251,49470893065,49471185821,292756,49472736950,49477557351,4820401
277,49481328789,49501864729,20535940,49481349261,49493124580,20472,11775319,8740149,49481477801,49481847511,369710,49481495115,49481832726,337611,49481891778,49481958162,66384,49481906988,49481963815,56827,49481998542,49482065977,67435,49482013508,49482082009,68501,49486322754,49489386309,3063555,49487157055,49489673536,2516481,49490328110,49490536344,208234,49491281500,49491595637,314137,49493136516,49498090676,4954160
278,49501864729,49522696721,20831992,49501885139,49514165217,20410,12280078,8531504,49502010387,49502339033,328646,49502032362,49502315724,283362,49502382692,49502449723,67031,49502397941,49502455640,57699,49502489780,49502562059,72279,49502505081,49502578026,72945,49506817941,49510436104,3618163,49507651526,49510542115,2890589,49511376031,49511411671,35640,49512330188,49512477514,147326,49514176550,49518929804,4753254
279,49522696721,49543050380,20353659,49522717402,49534365953,20681,11648551,8684427,49522844341,49523092222,247881,49522865794,49523073777,207983,49523135911,49523207331,71420,49523151181,49523201764,50583,49523241814,49523307472,65658,49523256962,49523327842,70880,49527552845,49530646155,3093310,49528386727,49530866386,2479659,49531582674,49531708916,126242,49532536362,49532757382,221020,49534377508,49539276857,4899349
280,49543050380,49563711930,20661550,49543070834,49554718906,20454,11648072,8993024,49543195864,49543336727,140863,49543216395,49543319057,102662,49543381475,49543447850,66375,49543396962,49543453751,56789,49543488081,49543561013,72932,49543503527,49543555197,51670,49547811568,49550992537,3180969,49548646219,49551574541,2928322,49551932778,49552488997,556219,49552887153,49553519644,632491,49554730506,49559936139,5205633
281,49563711930,49584340644,20628714,49563732693,49575756255,20763,12023562,8584389,49563856970,49564078912,221942,49563877854,49564064963,187109,49564122472,49564200953,78481,49564137452,49564195437,57985,49564231209,49564297715,66506,49564246273,49564313307,67034,49568553835,49572027786,3473951,49569388170,49572163082,2774912,49572968175,49573045008,76833,49573920945,49574095248,174303,49575767514,49580567538,4800024
282,49584340644,49604674694,20334050,49584361472,49595956087,20828,11594615,8718607,49584490576,49584656967,166391,49584507785,49584638131,130346,49584700862,49584767919,67057,49584715851,49584773656,57805,49584808504,49584878280,69776,49584823858,49584884406,60548,49589134759,49592223757,3088998,49589968743,49592383959,2415216,49593163189,49593248862,85673,49594117730,49594288787,171057,49595967636,49600899183,4931547
283,49604674694,49625499864,20825170,49604694601,49616804882,19907,12110281,8694982,49604819167,49604978781,159614,49604842926,49604958380,115454,49605022920,49605094815,71895,49605038659,49605089191,50532,49605130164,49605196511,66347,49605145294,49605212393,67099,49609452269,49613078402,3626133,49610286931,49613132902,2845971,49614011604,49614046350,34746,49614967167,49615086093,118926,49616816004,49621727653,4911649
284,49625499864,49645897540,20397676,49625519920,49637195280,20056,11675360,8702260,49625644951,49625869690,224739,49625665187,49625851071,185884,49625913655,49625985487,71832,49625928713,49625979721,51008,49626020936,49626087765,66829,49626036103,49626093540,57437,49630343325,49633462305,3118980,49631177861,49633905789,2727928,49634399585,49634801037,401452,49635354171,49635845142,490971,49637206459,49642119456,4912997
285,49645897540,49666375471,20477931,49645917606,49657820675,20066,11903069,8554796,49646042921,49646438494,395573,49646058739,49646422549,363810,49646482828,49646554522,71694,49646498067,49646560860,62793,49646598002,49646668162,70160,49646614169,49646688171,74002,49650921547,49654091544,3169997,49651756632,49654299150,2542518,49655033527,49655134475,100948,49655987978,49656162320,174342,49657833928,49662597653,4763725
286,49666375471,49686659799,20284328,49666396072,49678004552,20601,11608480,8655247,49666522286,49666770497,248211,49666544460,49666752357,207897,49666814356,49666884049,69693,49666829262,49666889973,60711,49666925838,49666991136,65298,49666941685,49667011409,69724,49671238401,49674272332,3033931,49672072602,49674473423,2400821,49675212289,49675315072,102783,49676164612,49676343976,179364,49678015828,49682886967,4871139
287,49686659799,49707282442,20622643,49686679801,49698483378,20002,11803577,8799064,49686805331,49687096167,290836,49686826361,49687078566,252205,49687139923,49687207448,67525,49687155066,49687213433,58367,49687247781,49687312735,64954,49687262782,49687333741,70959,49691558244,49694750799,3192555,49692392570,49694964436,2571866,49695687855,49695823311,135456,49696641402,49696897034,255632,49698494626,49703508955,5014329
288,49707282442,49727668159,20385717,49707302143,49719035753,19701,11733610,8632406,49707426840,49707659708,232868,49707447862,49707640443,192581,49707703519,49707774870,71351,49707718400,49707769380,50980,49707809867,49707880560,70693,49707824758,49707886689,61931,49712137821,49715315421,3177600,49712972170,49715463456,2491286,49716252907,49716295138,42231,49717204581,49717352446,147865,49719046904,49723893142,4846238
289,49727668159,49748094457,20426298,49727688911,49739319339,20752,11630428,8775118,49727813129,49728062450,249321,49727836147,49728042291,206144,49728105603,49728177319,71716,49728120885,49728171661,50776,49728212099,49728277748,65649,49728227122,49728297837,70715,49732523717,49735584538,3060821,49733357957,49735847542,2489585,49736525851,49736696004,170153,49737479884,49737729897,250013,49739331184,49744325309,4994125
290,49748094457,49768459485,20365028,49748114238,49759772610,19781,11658372,8686875,49748244244,49748447645,203401,49748261996,49748430677,168681,49748491842,49748563403,71561,49748506964,49748557805,50841,49748598773,49748657943,59170,49748613665,49748683586,69921,49752911078,49756025357,3114279,49753746130,49756388959,2642829,49756969542,49757280458,310916,49757925524,49758346064,420540,49759783761,49764687513,4903752
291,49768459485,49788999577,20540092,49768479678,49780376108,20193,11896430,8623469,49768609335,49768990111,380776,49768627660,49768970267,342607,49769033976,49769101144,67168,49769049114,49769117038,67924,49769142015,49769207671,65656,49769157341,49769227818,70477,49773455303,49776652139,3196836,49774289537,49776812528,2522991,49777588381,49777678994,90613,49778542069,49778720950,178881,49780387376,49785226337,4838961
292,49788999577,49809464670,20465093,49789019217,49800662088,19640,11642871,8802582,49789150198,49789360937,210739,49789168094,49789344002,175908,49789404508,49789472204,67696,49789419693,49789478118,58425,49789512397,49789578769,66372,49789527324,49789599098,71774,49793826214,49796923476,3097262,49794660263,49797223885,2563622,49797868526,49798093283,224757,49798821605,49799160201,338596,49800673264,49805692391,5019127
293,49809464670,49830211401,20746731,49809485106,49821134119,20436,11649013,9077282,49809610176,49809901107,290931,49809630800,49809882784,251984,49809944520,49810016918,72398,49809959387,49810011181,51794,49810052567,49810118116,65549,49810067484,49810138507,71023,49814363880,49817399829,3035949,49815198881,49817769637,2570756,49818341129,49818665386,324257,49819294869,49819739935,445066,49821145186,49826439802,5294616
294,49830211401,49850760262,20548861,49830232155,49841912255,20754,11680100,8848007,49830363839,49830500138,136299,49830379916,49830478929,99013,49830543762,49830615301,71539,49830559144,49830609730,50586,49830650381,49830715935,65554,49830665390,49830736425,71035,49834962472,49838181153,3218681,49835796367,49838608591,2812224,49839122516,49839524435,401919,49840075507,49840562261,486754,49841923527,49846986753,5063226
295,49850760262,49871428868,20668606,49850781060,49862562117,20798,11781057,8866751,49850912089,49851212796,300707,49850930214,49851194946,264732,49851256295,49851328599,72304,49851271409,49851334786,63377,49851364135,49851431094,66959,49851379093,49851450299,71206,49855678900,49858838448,3159548,49856513384,49859339588,2826204,49859774418,49860240888,466470,49860728824,49861276676,547852,49862573244,49867654271,5081027
296,49871428868,49891827109,20398241,49871448826,49883244242,19958,11795416,8582867,49871578319,49871991742,413423,49871596086,49871971272,375186,49872034857,49872102533,67676,49872049902,49872118062,68160,49872143027,49872210615,67588,49872158597,49872226683,68086,49876467124,49879510136,3043012,49877301294,49879727049,2425755,49880451421,49880581291,129870,49881405981,49881610147,204166,49883255621,49888053739,4798118
297,49891827109,49912441913,20614804,49891848276,49903539574,21167,11691298,8902339,49891973587,49892290304,316717,49891994420,49892268116,273696,49892334232,49892399545,65313,49892349030,49892405825,56795,49892441160,49892506553,65393,49892456167,49892527008,70841,49896754449,49899805170,3050721,49897588823,49900162395,2573572,49900746724,49901059916,313192,49901701688,49902131259,429571,49903550615,49908671198,5120583
298,49912441913,49933353234,20911321,49912462370,49924810093,20457,12347723,8543141,49912592046,49912865951,273905,49912609027,49912846923,237896,49912910109,49912975266,65157,49912925254,49912992075,66821,49913016875,49913073119,56244,49913032599,49913094310,61711,49917334623,49921085738,3751115,49918169244,49921159128,2989884,49922019995,49922056132,36137,49922974892,49923109177,134285,49924821275,49929575619,4754344
299,49933353234,49953554715,20201481,49933373613,49944955458,20379,11581845,8599257,49933504235,49933644297,140062,49933522464,49933625639,103175,49933688088,49933760067,71979,49933703116,49933754379,51263,49933794915,49933869645,74730,49933809923,49933864135,54212,49938119224,49941226923,3107699,49938953401,49941473897,2520496,49942169378,49942330765,161387,49943119670,49943374765,255095,49944966455,49949783696,4817241
300,49953554715,49974562332,21007617,49953574678,49965491352,19963,11916674,9070980,49953699045,49954017754,318709,49953720038,49953994652,274614,49954063627,49954137051,73424,49954079561,49954131559,51998,49954171988,49954237979,65991,49954186963,49954257776,70813,49958484115,49961758095,3273980,49959318478,49962224076,2905598,49962697385,49963140369,442984,49963651945,49964172369,520424,49965502454,49970787867,5285413
301,49974562332,49995021886,20459554,49974582777,49986430466,20445,11847689,8591420,49974708388,49974934958,226570,49974729926,49974915011,185085,49974979004,49975056266,77262,49974994162,49975050650,56488,49975085727,49975151789,66062,49975100768,49975168403,67635,49979409663,49982696966,3287303,49980244181,49982934772,2690591,49983634088,49983798475,164387,49984590125,49984867680,277555,49986441810,49991250093,4808283
302,49995021886,50015305474,20283588,49995043174,50006683773,21288,11640599,8621701,49995173324,49995422105,248781,49995191332,49995400714,209382,49995466242,49995533930,67688,49995481525,49995540035,58510,49995576699,49995642587,65888,49995592400,49995662842,70442,49999890639,50002960532,3069893,50000724242,50003148501,2424259,50003901492,50003999095,97603,50004855802,50005030768,174966,50006694776,50011526176,4831400
303,50015305474,50036150096,20844622,50015325942,50027246839,20468,11920897,8903257,50015450970,50015798355,347385,50015472108,50015775754,303646,50015843724,50015909277,65553,50015859113,50015915123,56010,50015950382,50016014667,64285,50015965312,50016031489,66177,50020272086,50023515291,3243205,50021106190,50023966863,2860673,50024456846,50024881011,424165,50025409915,50025911128,501213,50027258240,50032379278,5121038
304,50036150096,50057152572,21002476,50036170183,50048578838,20087,12408655,8573734,50036300226,50036671789,371563,50036317558,50036655821,338263,50036715019,50036787211,72192,50036730389,50036781484,51095,50036822125,50036891523,69398,50036840199,50036897672,57473,50041147344,50044850800,3703456,50041981807,50044934883,2953076,50045788118,50045823618,35500,50046742376,50046865722,123346,50048590085,50053377636,4787551
305,50057152572,50077531303,20378731,50057173354,50068958175,20782,11784821,8573128,50057299394,50057435752,136358,50057315233,50057420995,105762,50057481172,50057552564,71392,50057496397,50057546963,50566,50057587263,50057652070,64807,50057602316,50057669405,67089,50061911529,50065230945,3319416,50062745136,50065335568,2590432,50066167497,50066203516,36019,50067121149,50067280670,159521,50068969395,50073758639,4789244
306,50077531303,50098345631,20814328,50077552041,50089679451,20738,12127410,8666180,50077681745,50077877342,195597,50077699588,50077860017,160429,50077920939,50077993227,72288,50077936903,50077987716,50813,50078028121,50078092100,63979,50078043229,50078112170,68941,50082338795,50085946207,3607412,50083173052,50086095428,2922376,50086883060,50086982009,98949,50087839220,50088016622,177402,50089690632,50094571919,4881287
307,50098345631,50118641764,20296133,50098365355,50110027657,19724,11662302,8614107,50098494914,50098751789,256875,50098512489,50098732740,220251,50098795729,50098869880,74151,50098810861,50098864227,53366,50098904717,50098971030,66313,50098919990,50098993110,73120,50103215934,50106294036,3078102,50104050149,50106623768,2573619,50107233785,50107486090,252305,50108185949,50108569922,383973,50110039391,50114870579,4831188
308,50118641764,50139484474,20842710,50118661196,50130500877,19432,11839681,8983597,50118790105,50119145426,355321,50118807833,50119122916,315083,50119188713,50119255507,66794,50119203276,50119271370,68094,50119296000,50119361365,65365,50119311017,50119381993,70976,50123607189,50126777018,3169829,50124441817,50127137289,2695472,50127716824,50128031659,314835,50128667194,50129099532,432338,50130512133,50135710655,5198522
309,50139484474,50159760578,20276104,50139504582,50151090794,20108,11586212,8669784,50139629698,50139770510,140812,50139650852,50139752226,101374,50139814188,50139882399,68211,50139829040,50139888400,59360,50139923469,50139995182,71713,50139938609,50139989374,50765,50144246269,50147363011,3116742,50145080287,50147721350,2641063,50148301134,50148594104,292970,50149255819,50149663971,408152,50151102800,50155987547,4884747
310,50159760578,50180312169,20551591,50159780500,50171682886,19922,11902386,8629283,50159909671,50160325692,416021,50159926977,50160309275,382298,50160369607,50160442812,73205,50160384700,50160437160,52460,50160477634,50160541063,63429,50160492529,50160561194,68665,50164789642,50167935486,3145844,50165623535,50168225389,2601854,50168876017,50169101628,225611,50169832101,50170186046,353945,50171693913,50176537921,4844008
311,50180312169,50201322202,21010033,50180332808,50192113801,20639,11780993,9208401,50180457453,50180725283,267830,50180477752,50180706652,228900,50180770254,50180837629,67375,50180785322,50180843797,58475,50180878898,50180942937,64039,50180893810,50180959944,66134,50185200412,50188385062,3184650,50186035027,50189107083,3072056,50189326528,50189986470,659942,50190280164,50191024004,743840,50192124815,50197547089,5422274
312,50201322202,50221608230,20286028,50201342429,50213062284,20227,11719855,8545946,50201466235,50201787946,321711,50201486977,50201767730,280753,50201833167,50201906962,73795,50201849104,50201901573,52469,50201941620,50202005515,63895,50201956611,50202026407,69796,50206251553,50209327016,3075463,50207085404,50209608336,2522932,50210268116,50210445757,177641,50211221226,50211488709,267483,50213073025,50217833847,4760822
313,50221608230,50242535509,20927279,50221628290,50233854246,20060,12225956,8681263,50221758816,50222085234,326418,50221776692,50222064938,288246,50222128469,50222200709,72240,50222143608,50222195138,51530,50222235903,50222301505,65602,50222250599,50222317764,67165,50226560262,50230124550,3564288,50227394113,50230403745,3009632,50231061023,50231319867,258844,50232013269,50232384466,371197,50233865283,50238762861,4897578
314,50242535509,50262913798,20378289,50242555997,50254296895,20488,11740898,8616903,50242681043,50242984766,303723,50242701686,50242967341,265655,50243027891,50243102362,74471,50243043445,50243096855,53410,50243137492,50243204263,66771,50243152769,50243220014,67245,50247460147,50250565484,3105337,50248293761,50250843767,2550006,50251505470,50251701061,195591,50252457935,50252781101,323166,50254307765,50259141767,4834002
315,50262913798,50283433600,20519802,50262934605,50274840835,20807,11906230,8592765,50263059478,50263271525,212047,50263080463,50263249750,169287,50263315658,50263387681,72023,50263330838,50263382156,51318,50263422626,50263488873,66247,50263438276,50263494756,56480,50267744418,50271112214,3367796,50268578196,50271178666,2600470,50272048940,50272083646,34706,50273003762,50273133499,129737,50274852016,50279654426,4802410
316,50283433600,50303824760,20391160,50283453448,50295083391,19848,11629943,8741369,50283578698,50283822793,244095,50283599532,50283800590,201058,50283869266,50283941507,72241,50283884679,50283936021,51342,50283976222,50284042757,66535,50283991147,50284048846,57699,50288298720,50291351643,3052923,50289133094,50291734020,2600926,50292293132,50292602285,309153,50293246354,50293673258,426904,50295094364,50300052764,4958400
317,50303824760,50324409451,20584691,50303846003,50315766081,21243,11920078,8643370,50303970869,50304332216,361347,50303992465,50304314723,322258,50304376855,50304444329,67474,50304391976,50304450674,58698,50304485883,50304558341,72458,50304500673,50304552783,52110,50308808544,50312034288,3225744,50309642867,50312346712,2703845,50312972815,50313243251,270436,50313925785,50314299966,374181,50315777140,50320638232,4861092
318,50324409451,50344904896,20495445,50324429059,50336128932,19608,11699873,8775964,50324559783,50324767116,207333,50324576716,50324746179,169463,50324810398,50324880400,70002,50324825864,50324886356,60492,50324921014,50324986683,65669,50324936966,50325002979,66013,50329243559,50332402393,3158834,50330078230,50332683048,2604818,50333343006,50333537465,194459,50334295332,50334589272,293940,50336140512,50341131615,4991103
319,50344904896,50365486281,20581385,50344925537,50356588344,20641,11662807,8897937,50345055411,50345291323,235912,50345072834,50345272207,199373,50345336493,50345408647,72154,50345352273,50345403447,51174,50345443322,50345508419,65097,50345458531,50345534983,76452,50349755693,50352858883,3103190,50350589885,50353407497,2817612,50353796842,50354331871,535029,50354750601,50355374726,624125,50356599603,50361716387,5116784
320,50365486281,50386232301,20746020,50365506772,50377190182,20491,11683410,9042119,50365632615,50365836220,203605,50365649026,50365813665,164639,50365879739,50365946913,67174,50365895004,50365952757,57753,50365988326,50366055470,67144,50366003490,50366072397,68907,50370313502,50373459035,3145533,50371147776,50374165614,3017838,50374398226,50375069819,671593,50375350769,50376123358,772589,50377201487,50382459601,5258114
321,50386232301,50407224451,20992150,50386252289,50398345842,19988,12093553,8878609,50386377177,50386793639,416462,50386398561,50386776671,378110,50386840464,50386912721,72257,50386856262,50386907057,50795,50386947700,50387019326,71626,50386963172,50387013879,50707,50391271555,50394618440,3346885,50392105776,50395083261,2977485,50395555753,50395989726,433973,50396508238,50397027320,519082,50398357003,50403452851,5095848
322,50407224451,50428005561,20781110,50407244654,50419092810,20203,11848156,8912751,50407368058,50407655985,287927,50407383167,50407640689,257522,50407699242,50407763775,64533,50407714312,50407780808,66496,50407805178,50407875639,70461,50407820236,50407891410,71174,50412132015,50415370104,3238089,50412965737,50415767476,2801739,50416307797,50416684515,376718,50417260417,50417742884,482467,50419104360,50424230359,5125999
-,47120523118,47141061211,20538093,47120543502,47132348897,20384,11805395,8712314,47120671287,47120956255,284968,47120690175,47120934166,243991,47121000294,47121070534,70240,47121015591,47121075190,59599,47121109052,47121176139,67087,47121124465,47121191343,66878,47125429057,47128617114,3188057,47126263257,47128907798,2644541,47129556892,47129780487,223595,47130510575,47130835361,324786,47132360167,47137288269,4928102
因为 它太大了无法显示 source diff 。你可以改为 查看blob
{"total_time": 1771382.849999995, "num_of_streams": 11, "num_of_ops": 199, "op_exe_times": 2817}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册