Я пытаюсь сделать машинный алгоритм факторизации в Sagemaker, но он дает мне ValueError
изначально для разреженной матрицы, но мои данные не так, я изменил ее слишком плотно
import numpy as np
from scipy.sparse import csr_matrix
from scipy.sparse import lil_matrix
Here is the code:
train_key = 'train.protobuf'
train_prefix = '{}/{}/'.format(prefix, 'train')
test_key = 'test.protobuf'
test_prefix = '{}/{}/'.format(prefix, 'test')
output_prefix = '{}/{}/output'.format(bucket, prefix)
def writeDatasetToProtobuf(X, y, bucket, prefix, key):
import io,boto3
import sagemaker.amazon.common as smac
buf = io.BytesIO()
smac.write_numpy_to_dense_tensor(buf, X.astype('float32'), y.astype('float32'))
buf.seek(0)
print (buf)
obj = '{}/{}'.format(prefix, key)
boto3.resource('s3').Bucket(bucket).Object(obj).upload_fileobj(buf)
print('Wrote dataset: {}/{}'.format(bucket,obj))
writeDatasetToProtobuf(X_train.astype('float32'), y_train.astype('float32'), bucket, train_prefix, train_key)
writeDatasetToProtobuf(X_test.astype('float32'), y_test.astype('float32'), bucket, test_prefix, test_key)
print('Output: {}'.format(output_prefix))
ValueError: метки должны быть векторами