Browse Source

!7910 ignore the value in dataset graph if its type is an object, log messag, log message about image only if the dataset_sink_mode is False

Merge pull request !7910 from luopengting/summary
tags/v1.1.0
mindspore-ci-bot Gitee 5 years ago
parent
commit
b9180a9dab
2 changed files with 13 additions and 9 deletions
  1. +9
    -6
      mindspore/train/callback/_dataset_graph.py
  2. +4
    -3
      mindspore/train/callback/_summary_collector.py

+ 9
- 6
mindspore/train/callback/_dataset_graph.py View File

@@ -13,9 +13,9 @@
# limitations under the License.
# ============================================================================
"""Define dataset graph related operations."""
import json
from importlib import import_module

from mindspore import log as logger
from mindspore.train import lineage_pb2


@@ -33,9 +33,11 @@ class DatasetGraph:
"""
dataset_package = import_module('mindspore.dataset')
dataset_dict = dataset_package.serialize(dataset)
json_str = json.dumps(dataset_dict, indent=2)
dataset_dict = json.loads(json_str)
dataset_graph_proto = lineage_pb2.DatasetGraph()
if not isinstance(dataset_dict, dict):
logger.warning("The dataset graph serialized from dataset object is not a dict. "
"Its type is %r.", type(dataset_dict).__name__)
return dataset_graph_proto
if "children" in dataset_dict:
children = dataset_dict.pop("children")
if children:
@@ -92,7 +94,7 @@ class DatasetGraph:
message (Operation): Enhancement operation proto message.
"""
for key, value in operation.items():
if isinstance(value, list):
if isinstance(value, (list, tuple)):
if all(isinstance(ele, int) for ele in value):
message.size.extend(value)
else:
@@ -118,11 +120,12 @@ class DatasetGraph:
message.mapInt[key] = value
elif isinstance(value, float):
message.mapDouble[key] = value
elif isinstance(value, list) and key != "operations":
elif isinstance(value, (list, tuple)) and key != "operations":
if value:
replace_value_list = list(map(lambda x: "" if x is None else x, value))
message.mapStrList[key].strValue.extend(replace_value_list)
elif value is None:
message.mapStr[key] = "None"
else:
raise ValueError(f"Parameter {key} is not supported in event package.")
logger.warning("The parameter %r is not recorded, because its type is not supported in event package. "
"Its type is %r.", key, type(value).__name__)

+ 4
- 3
mindspore/train/callback/_summary_collector.py View File

@@ -464,7 +464,8 @@ class SummaryCollector(Callback):
try:
self._record.add_value(PluginEnum.IMAGE.value, 'input_data/auto', input_data)
except (TypeError, ValueError):
logger.warning('The input data of network are not image, so will not collect by SummaryCollector.')
if not self._dataset_sink_mode:
logger.warning('The input data of network are not image, so will not collect by SummaryCollector.')
self._collect_specified_data['collect_input_data'] = False
return

@@ -636,8 +637,8 @@ class SummaryCollector(Callback):
"""
learning_rate = optimizer.learning_rate
if not isinstance(learning_rate, Parameter):
logger.warning("The learning rate detected in the optimizer "
"is not a Parameter type, so it is not recorded.")
logger.warning("The learning rate detected in the optimizer is not a Parameter type, "
"so it is not recorded. Its type is %r.", type(learning_rate).__name__)
return None
return learning_rate.data



Loading…
Cancel
Save