multi-model-server报--model-store is required to load model locally

导读

在使用multi-model-server来部署mxnet模型的时候,遇到了--model-store is required to load model locally

问题分析

在不使用config.properties配置文件的时候,安装官方文档的提示能够正常启动,启动命令如下

multi-model-server --start --model-store examples --models ssd=resnet50_ssd_model.mar
  • model-store:本地目录,模型所在目录(打包好的mar文件)
  • models:启动的模型(指定的mar文件),可以为服务取一个别名,比如上面是ssd,后面通过ssd进行接口的访问,否则就需要通过mar文件的全称来访问接口

安装官方配置了config.properties文件,文件内容如下

# vmargs=-Xmx1g -XX:MaxDirectMemorySize=512m -Dlog4j.configuration=file:///opt/ml/conf/log4j.properties
model_store=/opt/ml/model
load_models=ALL
inference_address=http://0.0.0.0:8080
management_address=http://0.0.0.0:8081
number_of_netty_threads=0
# max_workers=0
# job_queue_size=1000
number_of_gpu=1
# keystore=src/test/resources/keystore.p12
# keystore_pass=changeit
# keystore_type=PKCS12
# private_key_file=src/test/resources/key.pem
# certificate_file=src/test/resources/certs.pem
# max_response_size=6553500
# max_request_size=6553500

加入配置文件启动multi-mode-server服务,启动命令如下

multi-model-server --start --mms-config /models/config.properties examples --models ssd=resnet50_ssd_model.mar

解决办法

启动的时候就报上面的那个错误,经过再三确认,路径没有任何问题,相对路径和绝对路径都试过还是不行,最后在上面的命令加入了--model-store选项,完美解决问题,命令如下

multi-model-server --start --mms-config /models/config.properties --model-store examples --models ssd=resnet50_ssd_model.mar

参考:https://github.com/awslabs/multi-model-server/blob/master/docker/advanced_settings.md#description-of-config-file-settings

https://github.com/awslabs/multi-model-server/tree/master/examples/ssd

你可能感兴趣的:(mxnet修炼之路)