广州做网站的,网站结构流程图怎么做,潍坊网站建设收费标准,汽车网页制作素材1. 流程说明
ts文件夹下#xff0c; 从launcher.py进入#xff0c;执行jar文件。 入口为model_server.py的start()函数。内容包含#xff1a;
读取args#xff0c;创建pid文件 找到java#xff0c;启动model-server.jar程序#xff0c;同时读取log-config文件#xff…1. 流程说明
ts文件夹下 从launcher.py进入执行jar文件。 入口为model_server.py的start()函数。内容包含
读取args创建pid文件 找到java启动model-server.jar程序同时读取log-config文件TEMP文件夹地址TS_CONFIG_FILE文件根据cpu核数、gpu个数启动多进程。每个进程有一个socket_name和socket_type执行model_service_worker.py创建TorchModelServiceWorker类并执行run_server方法。run_server不断执行handle_connection方法handle_connection不断执行predict(cmd为I时)或者load_modelcmd为L时任务。load_model可以返回service对象而service可以执行predict函数。如果handler中间包含冒号则用后面的function作为_entry_point否则默认用handle函数作为_entry_point。service的定义如下。其中manifest是一个字典记录在MAR包里面的MAR_INF/MANIFEST.json中包含modelNameserializedFilehandlermodelVersion等信息。这些信息也是modelArchiver打包模型时需要的内容。
class Service(object):Wrapper for custom entry_pointdef __init__(self,model_name,model_dir,manifest,entry_point,gpu,batch_size,limit_max_image_pixelsTrue,metrics_cacheNone,):接下来看一下predict函数。首先是调用retrieve_data_for_inference方法获取input_batch其格式为{parameter[name]: parameter[value]}。然后是调用ret self._entry_point(input_batch, self.context)这里的_entry_point就是我们自己定义的handler.handle方法。默认的handle方法执行三步
data_preprocess self.preprocess(data)
output self.inference(data_preprocess)
output self.postprocess(output)2. 运行
首先安装java然后pip install torchserve torch-model-archiver接着将模型和参数打包torch-model-archiver --model-name test --version 1.0 --serialized-file test.torchscript.pt --handler handler_test.py --export-path model_store启动服务torchserve --start --ncs --model-store model_store --models test.mar --disable-token-auth --ts-config config.properties停止服务torchserve --stop调用
res requests.post(http://127.0.0.1:8080/predictions/test,files {data:data})