我有一个运行的火炬手服务。根据文档,我可以在8081端口向ManagementAPI注册一个新型号。运行curl -X OPTIONS http://localhost:8081时,输出还为/models上的post请求声明
...
"post": {
"description": "Register a new model in TorchServe.",
"operationId": "registerModel",
"parameters": [
{
"in": "query",
"name": "url",
"description": "Model archive download url, support local file or HTTP(s) protocol. For S3, consider use pre-signed url.",
"required": true,
"schema": {
"type": "string"
}
},
...现在,我确实有一个本地model.mar文件,并希望将它与文件协议一起使用。我试过:
curl -X POST "http://localhost:8081/models?url=file:///path/to/model.mar"但得到了:
{
"code": 400,
"type": "DownloadArchiveException",
"message": "Failed to download archive from: file:///path/to/model.mar"
}我遗漏了什么吗?如何正确地将本地model.mar注册到正在运行的火炬服务服务?
发布于 2022-01-16 14:10:47
我刚刚想明白了。我所说的一切都是完全正确的,在正常情况下,所有这些都会奏效。
出现错误是因为我在一个码头容器中运行torchserve实例,并将curl命令发送到这个容器,然后这个容器在他的本地文件中查找model.mar。我想,无论出于什么原因,我都可以从运行码头容器的机器上传递文件路径。
相反,我必须先将文件复制到码头容器中(或挂载一个目录),然后从停靠容器内的model.mar中使用文件路径执行注册命令。
https://stackoverflow.com/questions/70730762
复制相似问题