繁体   English   中英

AWS Sagemaker java.lang.IllegalArgumentException

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM