<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def chunkwise(self, func, *args, **kwargs):
 """Execute a function for each chunk in the dataset. Order of excecution is not guaranteed. Parameters func : function Function to execute. First two arguments must be dataset, slices. args (optional) Additional (unchanging) arguments passed to func. kwargs (optional) Additional (unchanging) keyword arguments passed to func. Returns ------- collections OrderedDict Dictionary of index: function output. Index is to lowest corner of each chunk. """

        out = collections.OrderedDict()
        for s in self.slices():
            key = tuple(sss.start for sss in s)
            out[key] = func(self, s, *args, **kwargs)
        self._clear_array_attributes_cache()
        return out