Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Update:
- """
- Sparse object that holds an update of parameters.
- """
- def __init__(self, positions=None, values=None):
- """
- positions: array of int
- values: array of float
- """
- if positions is None and values is None:
- self._positions = list([])
- self._values = list([])
- else:
- self._positions = list(positions)
- self._values = list(values)
- def assign_mul(self, coeff):
- """
- self = self * coeff
- coeff: float
- """
- self._values = [item * coeff for item in self._values]
- def assign_madd(self, update, coeff):
- """
- self = self + update * coeff
- coeff: float
- """
- for position, v in zip(update._positions, update._values):
- if position in self._positions:
- v_index = self._positions.index(position)
- self._values[v_index] += self._values[v_index] * coeff
- else:
- self._positions.append(position)
- self._values.append(v)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement