Ошибка кодирования при выполнении пакетного преобразования Sagemaker - PullRequest
0 голосов
/ 27 апреля 2020

У меня есть набор данных, который я хочу пакетно преобразовать, используя модель PCA Sagemaker, ранее подходящую для уменьшения размерности.

Сначала я сохраняю данные в корзину s3

my_location = session.upload_string_as_file_body(my_df.iloc[0:2,1:4].to_csv(header = False, 
                                                                            index = False,
                                                                            encoding="utf-8"),
                                                        bucket = bucket_name, 
                                                        key =prefix)

Затем Я выполняю преобразование и жду

pca_transformer = pca.transformer(instance_count = 1, instance_type = 'ml.m5.large')
train_pca = pca_transformer.transform(my_location, content_type='text/csv', split_type='Line')
pca_transformer.wait()

И получаю ошибку:

[04/27/2020 16:08:45 ERROR 140386750863168] Algorithm Error:  (caused by UnicodeEncodeError)

Caused by: 'ascii' codec can't encode character u'\ufffd' in position 0: ordinal not in range(128)
#metrics {"Metrics": {"invocations_error.count": {"count": 1, "max": 1, "sum": 1.0, "min": 1}}, "EndTime": 1588003725.826053, "Dimensions": {"Host": "UNKNOWN", "Operation": "scoring", "Algorithm": "AlgorithmModel"}, "StartTime": 1588003725.310664}

Если я читаю файл csv с pandas, он нормально загружает данные.

pd.read_csv(my_location, header = None)


       LNR  AKT_DAT_KL  ALTER_HH
1   0.806273    1.0     0.000000
2   0.806279    1.0     0.809524

Исходный фрейм данных имеет больше функций и выборок, но для ясности и воспроизводимости я воспроизводлю ту же ошибку с этой подвыборкой, что и со всеми данными

...