免费网站建设合同范本,网站更换空间改版收录,最好用的免费空间,传奇手游发布网站去年搞通了EasyRec这个玩意#xff0c;没想到今年还要用推荐方面的东西#xff0c;行吧#xff0c;再来一次#xff0c;再次踩坑试试。1、EasyRec训练测试数据下载#xff1a;git clone后#xff0c;进入EasyRec#xff0c;然后执行#xff1a;bash scripts/init.sh 将…去年搞通了EasyRec这个玩意没想到今年还要用推荐方面的东西行吧再来一次再次踩坑试试。1、EasyRec训练测试数据下载git clone后进入EasyRec然后执行bash scripts/init.sh 将所用到的数据全部下载完成✅2、模型部署参考博文docker部署tf-serving 首先必须将final文件,将此文件下的全部复制到/models/half_plus_two/下面。2.1查看模型基本参数saved_model_cli show --dir /models/half_plus_two/00000123/ --tag_set serve --signature_def serving_default
The given SavedModel SignatureDef contains the following input(s):inputs[x] tensor_info:dtype: DT_FLOATshape: (-1, 1)name: x:0
The given SavedModel SignatureDef contains the following output(s):outputs[y] tensor_info:dtype: DT_FLOATshape: (-1, 1)name: y:0
Method name is: tensorflow/serving/predict2.2查看模型是否支持GPUsaved_model_cli show --dir /models/half_plus_two/00000123/
The given SavedModel contains the following tag-sets:
serve#表示不支持GPU支持的应该是serve,gpu2.3输入数据查看结果saved_model_cli run --dir /models/half_plus_two/00000123/ --tag_set serve --signature_def serving_default --input_exprsx[[1],[9]]
[[2.5][6.5]]
结果正确一半21*0.529*0.52结果一致2.4curl: (56) Recv failure: Connection reset by peer发现docker -p指定端口不能用其中有鬼之前服务器就可以指定端口 因此仍旧改为8501端口。docker启动代码见此文。2.5docker停止及删除容器 ,没有此操作无法重启该名字的容器。注意里面有模型名字及容器名字建议都取一样的名字。比如half_plus_twodocker kill half_plus_two
docker rm half_plus_two3、部署训练好的dssm模型3.1查看模型输入参数saved_model_cli show --dir /models/mydssm/163333/ --tag_set serve --signature_def serving_default
The given SavedModel SignatureDef contains the following input(s):inputs[app_category] tensor_info:dtype: DT_STRINGshape: (-1)name: input_9:0inputs[app_domain] tensor_info:dtype: DT_STRINGshape: (-1)name: input_8:0inputs[app_id] tensor_info:dtype: DT_STRINGshape: (-1)name: input_7:0inputs[banner_pos] tensor_info:dtype: DT_STRINGshape: (-1)name: input_3:0inputs[c1] tensor_info:dtype: DT_STRINGshape: (-1)name: input_2:0inputs[c14] tensor_info:dtype: DT_STRINGshape: (-1)name: input_15:0inputs[c15] tensor_info:dtype: DT_STRINGshape: (-1)name: input_16:0inputs[c16] tensor_info:dtype: DT_STRINGshape: (-1)name: input_17:0inputs[c17] tensor_info:dtype: DT_STRINGshape: (-1)name: input_18:0inputs[c18] tensor_info:dtype: DT_STRINGshape: (-1)name: input_19:0inputs[c19] tensor_info:dtype: DT_STRINGshape: (-1)name: input_20:0inputs[c20] tensor_info:dtype: DT_STRINGshape: (-1)name: input_21:0inputs[c21] tensor_info:dtype: DT_STRINGshape: (-1)name: input_22:0inputs[device_conn_type] tensor_info:dtype: DT_STRINGshape: (-1)name: input_14:0inputs[device_id] tensor_info:dtype: DT_STRINGshape: (-1)name: input_10:0inputs[device_ip] tensor_info:dtype: DT_STRINGshape: (-1)name: input_11:0inputs[device_model] tensor_info:dtype: DT_STRINGshape: (-1)name: input_12:0inputs[device_type] tensor_info:dtype: DT_STRINGshape: (-1)name: input_13:0inputs[hour] tensor_info:dtype: DT_STRINGshape: (-1)name: input_1:0inputs[site_category] tensor_info:dtype: DT_STRINGshape: (-1)name: input_6:0inputs[site_domain] tensor_info:dtype: DT_STRINGshape: (-1)name: input_5:0inputs[site_id] tensor_info:dtype: DT_STRINGshape: (-1)name: input_4:0
The given SavedModel SignatureDef contains the following output(s):outputs[logits] tensor_info:dtype: DT_FLOATshape: (-1)name: Squeeze:0outputs[probs] tensor_info:dtype: DT_FLOATshape: (-1)name: Sigmoid:0
Method name is: tensorflow/serving/predict#同样也不支持GPU
saved_model_cli show --dir /models/mydssm/13339343/
The given SavedModel contains the following tag-sets:
serve
3.2测试请求curl -d {instances: [{app_category:1,app_domain:2,app_id:3,banner_pos:4,c1:5,c14:6,c15:7,c16:8,c17:9,c18:10,c19:11,c20:12,c21:13,device_conn_type:14,device_id:15,device_ip:16,device_model:17,device_type:18,hour:19,site_category:20,site_domain:21,site_id:22}]} -X POST http://localhost:8501/v1/models/mydssm:predict
{predictions: [{logits: -2.64485741,probs: 0.0663066804}]#https://github.com/tensorflow/serving/issues/2104import json,requestsheads {content-type: application/json}jd{signature_name: serving_default,instances:[{app_category:1,app_domain:2,app_id:3,banner_pos:4,c1:5,c14:6,c15:7,c16:8,c17:9,c18:10,c19:11,c20:12,c21:13,device_conn_type:14,device_id:15,device_ip:16,device_model:17,device_type:18,hour:19,site_category:20,site_domain:21,site_id:22}]}requests.post(url,datajson.dumps(jd),headersheads).json()
{predictions: [{logits: -2.64485741, probs: 0.0663066804}]}
4、部署 tf-serving使用GPU需要docker安装GPU版本4.1拉取imagesdocker pull tensorflow/serving:latest-gpu4.2安装nvidia docker容器工具CentOSsudo dnf clean expire-cache \ sudo dnf install -y nvidia-container-toolkit-base
nvidia-ctk --version
sudo nvidia-ctk cdi generate --output/etc/cdi/nvidia.yaml
grep name: /etc/cdi/nvidia.yamlUbuntu sudo apt-get update \ sudo apt-get install -y nvidia-container-toolkit-base
nvidia-ctk --version
sudo nvidia-ctk cdi generate --output/etc/cdi/nvidia.yaml
grep name: /etc/cdi/nvidia.yaml4.3启动docker run --runtimenvidia -p 8501:8501 \ --mount typebind,\ source/tmp/tfserving/serving/tensorflow_serving/servables/tensorflow/testdata/saved_model_half_plus_two_gpu,\ target/models/half_plus_two \ -e MODEL_NAMEhalf_plus_two -t tensorflow/serving:latest-gpu --per_process_gpu_memory_fraction0.5
sudo docker run --rm --runtimenvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi
综上所述不足之处请参考英伟达官方介绍tf-serving官方github拜拜