Тестирование модели на AWS sagemaker "не удалось преобразовать строку в число с плавающей точкой"
Модель XGboost была обучена на AWS sagemaker и успешно развернута, но я продолжаю получать следующую ошибку: ModelError: Произошла ошибка (ModelError) при вызове операции InvokeEndpoint: полученная ошибка клиента (415) от модели с сообщением "не удалось преобразовать строку в число с плавающей точкой: ". Какие-нибудь мысли?
Test data is as following:
size mean
269 5600.0 17.499633
103 1754.0 9.270272
160 4968.0 14.080601
40 4.0 17.500000
266 36308.0 11.421855
test_data_array = test_data.drop(['mean'], axis=1).as_matrix()
test_data_array = np.array([np.float32(x) for x in test_data_array])
xgb_predictor.content_type = 'text/csv'
xgb_predictor.serializer = csv_serializer
def predict(data, rows=32):
split_array = np.array_split(data, int(data.shape[0] / float(rows) + 1))
#print(split_array)
predictions = ''
for array in split_array:
print(array[0], type(array[0]))
predictions = ','.join([predictions, xgb_predictor.predict(array[0]).decode('utf-8')])
return np.fromstring(predictions[1:], sep=',')
predictions = predict(test_data_array)
0 ответов
SageMaker XGBoost не может обрабатывать ввод csv с заголовком. Пожалуйста, убедитесь, что заголовок строки был удален перед отправкой данных в конечную точку.
Также для прогнозирования CSV SageMaker XGBoost предполагает, что на входе CSV отсутствует столбец метки. Поэтому, пожалуйста, удалите столбец метки во входных данных.