[英]AWS Sagemaker java.lang.IllegalArgumentException
我有一個 SageMaker 端點。 SageMaker 端點正在通過 Lambda function 調用。 調用它的 Lambda function 代碼的一部分是:
SM_ENDPOINT_NAME = "pytorch-inference-2021-xx-xx"
sm_runtime= boto3.client('runtime.sagemaker')
txt = "Canon Compact Photo Printer"
response = sm_runtime.invoke_endpoint(EndpointName=SM_ENDPOINT_NAME, ContentType='text/plain', Body=txt)
print(response)
沒有記錄response
。 它應該返回一個vector
當 Lambda function 調用 SageMaker 端點時,它會超時。 我今天開始在 SageMaker Endpoint 日志中突然看到此錯誤:
java.lang.IllegalArgumentException: reasonPhrase contains one of the following prohibited characters: \r\n: tokenizers>=0.10.1,<0.11 is required for a normal functioning of this module, but found tokenizers==0.11.2.
Try: pip install transformers -U or pip install -e '.[dev]' if you're working with git master
對於上下文,ML Model 應該接受字符串輸入並返回vector
(列表)。 我所有的代碼庫都在 Python3 中。 Java 異常似乎來自 SageMaker 后端。
幾個月來我還沒有更新 SageMaker 端點或 Lambda function。 這似乎是 SageMaker 的問題。
這是我可以解決的問題還是我需要聯系 AWS? 如果是這樣,我該怎么做?
根據您的錯誤,您似乎正在使用標記器模塊的 v0.11.2,並且該消息表明您應該使用 0.10.1 和 0.11 之間的版本。
嘗試卸載 tokenizers 模塊,然后通過 pip 拉取舊版本...
pip install 'tokenizers>=0.10.1,<0.11'
以下是所有發布版本供參考: https://pypi.org/project/tokenizers/#history
更新模塊后,再次部署 lambda function 看看是否能解決問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.