你好,
使用automl預測模型與樣本數據和模型訓練成功。但當我是服務模型在REST端點,我得到錯誤而通過內置瀏覽器查詢和郵遞員。(錯誤似乎日期字段類型——把python代碼錯誤)
樣本數據訓練:
日期IPG3113N類型
74.6385 01/01/72放射性
輸入Json請求:
{
" dataframe_split ": {
“列”:(
“日期”,
“類型”
),
“數據”:(
(
“1973-12-02”,
“放射性”
]
]
}
}
錯誤了:
{“error_code”:“BAD_REQUEST”、“消息”:“遇到了一個意想不到的錯誤,同時評估模型。驗證輸入兼容模型推理。錯誤的不能使用.astype將timezone-aware dtype, timezone-naive dtype。使用obj.tz_localize(沒有)或obj.tz_convert (UTC) .tz_localize (None)。“,”stack_trace”:“回溯(最近的電話最後):\ n \”的文件/ opt / conda / env / mlflow-env / lib / python3.9 /網站/熊貓/核心/ groupby /groupby.py\“1353行,我
我已經嚐試:
我知道我的筆記本生成日期輸入錯誤,但無法求出期望輸入值。
有人能幫嗎?
@prem raj:
基於錯誤消息,似乎輸入日期格式不兼容的模型推理。錯誤消息表明timezone-aware輸入日期格式,而模型預計timezone-naive格式。
為了解決這個問題,你可以試著轉換輸入日期之前timezone-naive格式發送給其他端點。您可以使用tz_localize和tz_convert方法從熊貓庫來執行這種轉換。這裏有一個例子如何修改輸入JSON請求:
{" dataframe_split ":{“列”:“日期”、“類型”,“數據”:[[1973 - 12 - 02 t00:00:00.000z, / /轉換為UTC時區“放射性”]]}}
注意日期字符串已經修改為包含一個時區偏移的Z,這表明UTC時區。你也可以完全刪除時區信息,和日期字符串轉換為一個timezone-naive格式使用tz_localize方法:
{" dataframe_split ":{“列”:“日期”、“類型”,“數據”:[[“1973-12-02就是/ /刪除時區信息“放射性”]]}}
還可以修改模型代碼來處理timezone-aware日期,但是這需要更改代碼,並根據你的用例可能不是可行的。
嗨Suteja,
謝謝你的回複。我試圖用提到時間與不同的輸入和仍然不能錯誤
{“error_code”:“BAD_REQUEST”、“消息”:“無效輸入。數據不兼容模型簽名。未能列日期轉換為類型“datetime64 (ns)”。錯誤:不能使用.astype轉換從timezone-aware dtype, timezone-naive dtype。使用obj.tz_localize(沒有)或obj.tz_convert (UTC) .tz_localize (None)。’”}
看著筆記本電腦後,我發現預測模型不記錄簽名或使用mlfow input_example回歸/分類的模型。在下麵的筆記本就像日誌模型沒有指定簽名(的問題)?
mlflow_prophet_log_model (prophet_model)
我試圖添加input_example和簽名啟用推測和驗證模型。