Mercurial > repos > kls286 > chap_test_20230328
comparison MLaaS/demo.sh @ 0:cbbe42422d56 draft
planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline/tree/galaxy commit 1401a7e1ae007a6bda260d147f9b879e789b73e0-dirty
author | kls286 |
---|---|
date | Tue, 28 Mar 2023 15:07:30 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:cbbe42422d56 |
---|---|
1 #!/bin/bash | |
2 # TFaaS host name | |
3 turl=http://localhost:8083 | |
4 # location of files | |
5 tdir=/home/vk/chess/TFaaS/models | |
6 # we need the following files | |
7 model_tarball=$tdir/model.tar.gz | |
8 params_json=$tdir/vk/params.json | |
9 input_json=$tdir/vk/input.json | |
10 upload_json=$tdir/vk/upload.json | |
11 model_pb=$tdir/vk/model.pb | |
12 labels_txt=$tdir/vk/labels.txt | |
13 tfaas_client=$tdir/tfaas_client.py | |
14 hey=$tdir/hey-tools/hey_amd64 | |
15 | |
16 echo "### obtain any existing ML model" | |
17 echo | |
18 echo "$tfaas_client --url=$turl --models" | |
19 echo | |
20 $tfaas_client --url=$turl --models | |
21 sleep 1 | |
22 echo | |
23 | |
24 echo "### upload new ML model" | |
25 echo | |
26 echo "cat $upload_json" | |
27 echo | |
28 cat $upload_json | |
29 echo | |
30 echo "$tfaas_client --url=$turl --upload=$upload_json" | |
31 $tfaas_client --url=$turl --upload=$upload_json | |
32 echo | |
33 | |
34 echo "### view if our model exists" | |
35 echo | |
36 echo "$tfaas_client --url=$turl --models" | |
37 echo | |
38 $tfaas_client --url=$turl --models | |
39 sleep 2 | |
40 echo | |
41 | |
42 echo "### view if our model exists, but use jq tool to get better view over JSON" | |
43 echo | |
44 echo "$tfaas_client --url=$turl --models | jq" | |
45 echo | |
46 $tfaas_client --url=$turl --models | jq | |
47 sleep 2 | |
48 echo | |
49 | |
50 echo "### let's obtain some prediction" | |
51 echo | |
52 echo "cat $input_json" | |
53 echo | |
54 cat $input_json | |
55 echo | |
56 echo "$tfaas_client --url=$turl --predict=$input_json" | |
57 echo | |
58 $tfaas_client --url=$turl --predict=$input_json | |
59 sleep 2 | |
60 echo | |
61 | |
62 echo "### let's delete our ML model named vk" | |
63 echo | |
64 echo "$tfaas_client --url=$turl --delete=vk" | |
65 echo | |
66 $tfaas_client --url=$turl --delete=vk | |
67 sleep 1 | |
68 echo | |
69 | |
70 echo "### lets view again available models" | |
71 echo | |
72 echo "$tfaas_client --url=$turl --models" | |
73 echo | |
74 $tfaas_client --url=$turl --models | |
75 sleep 2 | |
76 echo | |
77 | |
78 echo "### now let's use curl as CLI tool to communicate with TFaaS" | |
79 echo | |
80 sleep 5 | |
81 | |
82 echo "### Let's view our models" | |
83 echo | |
84 echo "curl -s $turl/models" | |
85 echo | |
86 curl -s $turl/models | |
87 sleep 1 | |
88 echo | |
89 | |
90 echo "### let's send POST HTTP request with our parameters to upload ML model" | |
91 echo "### we provide $params_json" | |
92 echo | |
93 cat $params_json | |
94 echo | |
95 echo "### we provide $model_pb TF model" | |
96 echo | |
97 ls -al $model_pb | |
98 echo | |
99 echo "### and we provide our labels in $labels_txt file" | |
100 echo | |
101 cat $labels_txt | |
102 echo | |
103 echo "### now we make curl call" | |
104 echo | |
105 echo "curl -s -X POST $turl/upload -F 'name=vk' -F 'params=@$params_json' -F 'model=@$model_pb' -F 'labels=@$labels_txt'" | |
106 echo | |
107 curl -s -X POST $turl/upload -F 'name=vk' -F "params=@$params_json" -F "model=@$model_pb" -F "labels=@$labels_txt" | |
108 sleep 1 | |
109 echo | |
110 | |
111 echo "### Now we can view our models" | |
112 echo | |
113 echo "curl -s $turl/models | jq" | |
114 echo | |
115 curl -s $turl/models | jq | |
116 echo | |
117 sleep 2 | |
118 | |
119 echo "### And we can obtain our predictions using /json API" | |
120 echo | |
121 echo "curl -s -X POST $turl/json -H "Content-type: application/json" -d@$input_json" | |
122 echo | |
123 curl -s -X POST $turl/json -H "Content-type: application/json" -d@$input_json | |
124 sleep 1 | |
125 echo | |
126 | |
127 echo "### Now we can delete ML model using /delete end-point" | |
128 echo | |
129 echo "curl -s -X DELETE $turl/delete -F 'model=vk'" | |
130 echo | |
131 curl -s -X DELETE $turl/delete -F 'model=vk' | |
132 sleep 1 | |
133 echo | |
134 | |
135 echo "### Now we can view our models" | |
136 echo | |
137 echo "curl -s $turl/models" | |
138 echo | |
139 curl -s $turl/models | |
140 echo | |
141 sleep 1 | |
142 | |
143 $tfaas_client --url=$turl --upload=$upload_json | |
144 | |
145 echo | |
146 echo "### now let's use tar ball and upload it" | |
147 echo | |
148 ls -al $model_tarball | |
149 tar tvfz $model_tarball | |
150 sleep 5 | |
151 | |
152 echo "curl -v -X POST -H \"Content-Encoding: gzip\" -H \"content-type: application/octet-stream\" --data-binary @$model_tarball $turl/upload" | |
153 curl -v -X POST -H"Content-Encoding: gzip" -H"content-type: application/octet-stream" --data-binary @$model_tarball $turl/upload | |
154 sleep 1 | |
155 echo | |
156 | |
157 echo "### Now we can view our models" | |
158 echo | |
159 echo "curl -s $turl/models | jq" | |
160 echo | |
161 curl -s $turl/models | jq | |
162 echo | |
163 sleep 2 | |
164 | |
165 echo "### And we can obtain our predictions using /json API" | |
166 echo | |
167 echo "curl -s -X POST $turl/json -H "Content-type: application/json" -d@$input_json" | |
168 echo | |
169 curl -s -X POST $turl/json -H "Content-type: application/json" -d@$input_json | |
170 sleep 1 | |
171 echo | |
172 | |
173 if [ -f $hey ]; then | |
174 echo "### Now let's perform some stress tests" | |
175 echo "### for that we'll use hey tool which will send number of concurrent requests to tfaas service" | |
176 echo | |
177 echo "$hey -m POST -H "Content-type: application/json" -D $input_json $turl/json" | |
178 $hey -m POST -H "Content-type: application/json" -D $input_json $turl/json | |
179 fi |