func ReshapeParams(val *matrix.Matrix, layerSizes []int) []*matrix.Matrix { vals := val.Values() thetas := make(nn.Parameters, 0, len(layerSizes)-1) offset := 0 for i := 0; i < len(layerSizes)-1; i++ { thetas = append(thetas, matrix.FromSlice(vals[offset:offset+(layerSizes[i+1]*layerSizes[i]+1)], layerSizes[i+1], layerSizes[i]+1)) offset += layerSizes[i+1]*layerSizes[i] + 1 } return thetas }