def _create_slots()

in blocksparse/optimize.py [0:0]


    def _create_slots(self, params):
        # Create slots for the first and second moments.
        for param in params:
            if param.shape.ndims == 2 and param.shape[0].value > 1:
                self._get_or_make_slot(param, tf.zeros(param.shape[1].value), "cv", self.name + "CV")
                self._get_or_make_slot(param, tf.zeros(param.shape[0].value), "rv", self.name + "RV")
            elif param.shape.ndims == 1 or (param.shape.ndims == 2 and param.shape[0].value == 1):
                self._get_or_make_slot(param, tf.zeros(param.shape.num_elements()), "cv", self.name + "CV")
            else:
                raise ValueError("only 1 or 2d params are supported")