in automl21/scs_neural/utils/utils.py [0:0]
def uncoalesce_projection(y, cones, nbatch):
"""Uncoalesce vector y into a batched vector"""
y_batch = [[] for _ in range(nbatch)]
start = 0
# assume cones are identical
boundaries = ConeUtils.get_cone_boundaries(cones[0], combined=False)
for szs in boundaries:
for sz in szs:
for i in range(nbatch):
y_batch[i].append(y[start:start+sz])
start += sz
y_batch = [torch.cat(yi) for yi in y_batch]
y_stack = torch.stack(y_batch)
return y_stack