Python ошибка типа из функции, связанная с ответом массива для использования API - PullRequest
0 голосов
/ 16 апреля 2020

Я надеюсь, что вы можете помочь мне со следующей ошибкой. Я обучил модель и мариновал ее, чтобы сохранить в хранилище GCP. Когда я запускаю следующую функцию, она выдает мне ошибку. Заранее спасибо за совет.

Мне кажется, что это связано с .predict_proba, когда он возвращается в массив, потому что у него нет проблем при вызове .predict.

Ошибка:

File "/usr/local/lib/python3.8/site-packages/fastapi/encoders.py", line 101, in jsonable_encoder
    encoded_value = jsonable_encoder(
  File "/usr/local/lib/python3.8/site-packages/fastapi/encoders.py", line 151, in jsonable_encoder
    raise ValueError(errors)
ValueError: [TypeError('cannot convert dictionary update sequence element #0 to a sequence'), TypeError('vars() argument must have __dict__ attribute')]

Функция:

    client = storage.Client(request.GCP_Project)
    bucket = client.get_bucket(request.GCP_Bucket)
    blob = bucket.blob(request.GCP_Path)
    model_file = BytesIO()
    blob.download_to_file(model_file)
    loaded_model = pickle.loads(model_file.getvalue())

    request_data = {'A': [request.A],
                    'B': [request.B],
                    'C': [request.C]}

    df_resp = pd.DataFrame(data=request_data)
    response = loaded_model.predict_proba(df_resp)

    output = {"Rating": response[0]}

    return output
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...