in src/sagemaker_xgboost_container/algorithm_mode/serve_utils.py [0:0]
def _get_sparse_matrix_from_libsvm(payload):
pylist = map(lambda x: x.split(" "), payload.split("\n"))
colon = ":"
row = []
col = []
data = []
for row_idx, line in enumerate(pylist):
for item in line:
if colon in item:
col_idx = item.split(colon)[0]
val = item.split(colon)[1]
row.append(row_idx)
col.append(col_idx)
data.append(val)
row = np.array(row)
col = np.array(col).astype(int)
data = np.array(data).astype(float)
if not (len(row) == len(col) and len(col) == len(data)):
raise RuntimeError("Dimension checking failed when transforming sparse matrix.")
return csr_matrix((data, (row, col)))