成功解决AttributeError: 'MapDataset' object has no attribute 'group_by_window'
成功解决AttributeError: 'MapDataset' object has no attribute 'group_by_window'
解决问题
AttributeError: 'MapDataset' object has no attribute 'group_by_window'
解决思路
错误属性:“mapdataset”对象没有“window”的“group”属性
A transformation that groups windows of elements by key and reduces them.
This transformation maps each consecutive element in a dataset to a key using key_func
and groups the elements by key. It then applies reduce_func
to at most window_size_func(key)
elements matching the same key. All except the final window for each key will contain window_size_func(key)
elements; the final window may be smaller.
You may provide either a constant window_size
or a window size determined by the key through window_size_func
.
Args:
key_func
: A function mapping a nested structure of tensors (having shapes and types defined byself.output_shapes
andself.output_types
) to a scalartf.int64
tensor.reduce_func
: A function mapping a key and a dataset of up towindow_size
consecutive elements matching that key to another dataset.window_size
: Atf.int64
scalartf.Tensor
, representing the number of consecutive elements matching the same key to combine in a single batch, which will be passed toreduce_func
. Mutually exclusive withwindow_size_func
.window_size_func
: A function mapping a key to atf.int64
scalartf.Tensor
, representing the number of consecutive elements matching the same key to combine in a single batch, which will be passed toreduce_func
. Mutually exclusive withwindow_size
.
Returns:
A Dataset
transformation function, which can be passed to tf.data.Dataset.apply
.
Raises:
ValueError
: if neither or both of {window_size
,window_size_func
} are passed.
解决方法
'MapDataset' 这种对象,没有'group_by_window'这种属性。
tf.contrib.data.group_by_window(
key_func,
reduce_func,
window_size=None,
window_size_func=None
)
# batched_dataset = src_tgt_dataset.group_by_window(
# key_func=key_func, reduce_func=reduce_func, window_size=batch_size)
#20180626修改此处
batched_dataset = src_tgt_dataset.apply(
tf.contrib.data.group_by_window(
key_func=key_func, reduce_func=reduce_func, window_size=batch_size))
相关文章推荐
tf.contrib.data.group_by_window:https://tensorflow.google.cn/api_docs/python/tf/contrib/data/group_by_window