shape is tuple, not a integer

pull/1883/head
Li Hongzhang 5 years ago
parent 3045dd343e
commit ccf49b7c0e

@ -113,7 +113,7 @@ def package_summary_event(data_list, step):
data = value["data"] data = value["data"]
tag = value["name"] tag = value["name"]
logger.debug("Now process %r summary, tag = %r", summary_type, tag) logger.debug(f"Now process {summary_type} summary, tag = {tag}")
summary_value = summary.value.add() summary_value = summary.value.add()
summary_value.tag = tag summary_value.tag = tag
@ -130,7 +130,7 @@ def package_summary_event(data_list, step):
_fill_histogram_summary(tag, data, summary_value.histogram) _fill_histogram_summary(tag, data, summary_value.histogram)
else: else:
# The data is invalid ,jump the data # The data is invalid ,jump the data
logger.error("Summary type(%r) is error, tag = %r", summary_type, tag) logger.error(f"Summary type({summary_type}) is error, tag = {tag}")
del summary.value[-1] del summary.value[-1]
return summary_event return summary_event
@ -186,17 +186,17 @@ def _fill_scalar_summary(tag: str, np_value, summary):
Returns: Returns:
Summary, return scalar summary content. Summary, return scalar summary content.
""" """
logger.debug("Set(%r) the scalar summary value", tag) logger.debug(f"Set({tag}) the scalar summary value")
if np_value.size == 1: if np_value.size == 1:
# is scalar # is scalar
summary.scalar_value = np_value.item() summary.scalar_value = np_value.item()
return True return True
if np_value.size > 1: if np_value.size > 1:
logger.warning("The tensor is not a single scalar, tag = %r, ndim = %r, shape = %r", tag, np_value.ndim, logger.warning(
np_value.shape) f"The tensor is not a single scalar, tag = {tag}, ndim = {np_value.ndim}, shape = {np_value.shape}")
summary.scalar_value = next(np_value.flat).item() summary.scalar_value = next(np_value.flat).item()
return True return True
logger.error("There no values inside tensor, tag = %r, size = %r", tag, np_value.size) logger.error(f"There no values inside tensor, tag = {tag}, size = {np_value.size}")
return False return False
@ -212,7 +212,7 @@ def _fill_tensor_summary(tag: str, np_value, summary_tensor):
Retruns: Retruns:
Summary, return tensor summary content. Summary, return tensor summary content.
""" """
logger.debug("Set(%r) the tensor summary value", tag) logger.debug(f"Set({tag}) the tensor summary value")
# get tensor dtype # get tensor dtype
tensor_dtype = _nptype_to_prototype(np_value) tensor_dtype = _nptype_to_prototype(np_value)
summary_tensor.data_type = DataType.Value(tensor_dtype) summary_tensor.data_type = DataType.Value(tensor_dtype)
@ -266,7 +266,7 @@ def _fill_histogram_summary(tag: str, np_value: np.ndarray, summary) -> None:
np_value (np.ndarray): Summary data. np_value (np.ndarray): Summary data.
summary (summary_pb2.Summary.Histogram): Summary histogram data. summary (summary_pb2.Summary.Histogram): Summary histogram data.
""" """
logger.debug("Set(%r) the histogram summary value", tag) logger.debug(f"Set({tag}) the histogram summary value")
# Default bucket for tensor with no valid data. # Default bucket for tensor with no valid data.
ma_value = np.ma.masked_invalid(np_value) ma_value = np.ma.masked_invalid(np_value)
total, valid = np_value.size, ma_value.count() total, valid = np_value.size, ma_value.count()
@ -281,7 +281,7 @@ def _fill_histogram_summary(tag: str, np_value: np.ndarray, summary) -> None:
summary.count = total summary.count = total
summary.nan_count, summary.pos_inf_count, summary.neg_inf_count = invalids summary.nan_count, summary.pos_inf_count, summary.neg_inf_count = invalids
if not valid: if not valid:
logger.warning('There are no valid values in the ndarray(size=%d, shape=%d)', total, np_value.shape) logger.warning(f'There are no valid values in the ndarray(size={total}, shape={np_value.shape})')
# summary.{min, max, sum} are 0s by default, no need to explicitly set # summary.{min, max, sum} are 0s by default, no need to explicitly set
else: else:
# BUG: max of a masked array with dtype np.float16 returns inf # BUG: max of a masked array with dtype np.float16 returns inf
@ -290,9 +290,8 @@ def _fill_histogram_summary(tag: str, np_value: np.ndarray, summary) -> None:
summary.min = ma_value.min(fill_value=np.PINF) summary.min = ma_value.min(fill_value=np.PINF)
summary.max = ma_value.max(fill_value=np.NINF) summary.max = ma_value.max(fill_value=np.NINF)
if summary.min < F32_MIN or summary.max > F32_MAX: if summary.min < F32_MIN or summary.max > F32_MAX:
logger.warning( logger.warning(f'Values({summary.min}, {summary.max}) are too large, '
'Values(%r, %r) are too large, ' f'you may encounter some undefined behaviours hereafter.')
'you may encounter some undefined behaviours hereafter.', summary.min, summary.max)
else: else:
summary.min = ma_value.min() summary.min = ma_value.min()
summary.max = ma_value.max() summary.max = ma_value.max()
@ -327,14 +326,14 @@ def _fill_image_summary(tag: str, np_value, summary_image, input_format='NCHW'):
Returns: Returns:
Summary, return image summary content. Summary, return image summary content.
""" """
logger.debug("Set(%r) the image summary value", tag) logger.debug(f"Set({tag}) the image summary value")
if np_value.ndim != 4 or np_value.shape[1] not in (1, 3): if np_value.ndim != 4 or np_value.shape[1] not in (1, 3):
logger.error("The value is not Image, tag = %r, ndim = %r, shape=%r", tag, np_value.ndim, np_value.shape) logger.error(f"The value is not Image, tag = {tag}, ndim = {np_value.ndim}, shape={np_value.shape}")
return False return False
if np_value.ndim != len(input_format): if np_value.ndim != len(input_format):
logger.error("The tensor with dim(%r) can't convert the format(%r) because dim not same", np_value.ndim, logger.error(
input_format) f"The tensor with dim({np_value.ndim}) can't convert the format({input_format}) because dim not same")
return False return False
# convert the tensor format # convert the tensor format

Loading…
Cancel
Save