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