提交 890d5818 编写于 作者: G guru4elephant

add web service example for imdb

上级 a6b027d9
wget https://paddle-serving.bj.bcebos.com/imdb-demo%2Fimdb_service.tar.gz
tar -xzf imdb_service.tar.gz
wget --no-check-certificate https://fleet.bj.bcebos.com/text_classification_data.tar.gz
tar -zxvf text_classification_data.tar.gz
python text_classify_service.py serving_server_model/ workdir imdb.vocab
...@@ -65,6 +65,6 @@ if __name__ == "__main__": ...@@ -65,6 +65,6 @@ if __name__ == "__main__":
program=fluid.default_main_program(), dataset=dataset, debug=False) program=fluid.default_main_program(), dataset=dataset, debug=False)
logger.info("TRAIN --> pass: {}".format(i)) logger.info("TRAIN --> pass: {}".format(i))
if i == 5: if i == 5:
serving_io.save_model("serving_server_model", "serving_client_conf", serving_io.save_model("imdb_model", "imdb_client_conf",
{"words": data}, {"prediction": prediction}, {"words": data}, {"prediction": prediction},
fluid.default_main_program()) fluid.default_main_program())
...@@ -12,28 +12,26 @@ ...@@ -12,28 +12,26 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
#!flask/bin/python #!flask/bin/python
from plugin_service import PluginService from paddle_serving_server.plugin_service import WebService
from imdb_reader import IMDBDataset
import sys import sys
class IMDBService(PluginService): class IMDBService(WebService):
def prepare_service(self, args={}): def prepare_dict(self, args={}):
if len(args) == 0: if len(args) == 0:
exit(-1) exit(-1)
self.word_dict = {} self.dataset = IMDBDataset()
with open(args["dict_file_path"]) as fin: self.dataset.load_resource(args["dict_file_path"])
idx = 0
for line in fin:
self.word_dict[idx] = idx
idx += 1
def preprocess(self, feed={}, fetch=[]): def preprocess(self, feed={}, fetch=[]):
if "words" not in feed: if "words" not in feed:
exit(-1) exit(-1)
res_feed = {} res_feed = {}
res_feed["words"] = [self.word_dict[int(x)] for x in feed["words"]] res_feed["words"] = self.dataset.get_words_and_label(feed["words"])[0]
print(res_feed)
return res_feed, fetch return res_feed, fetch
imdb_service = IMDBService(name="imdb", model=sys.argv[1], port=9898) imdb_service = IMDBService(name="imdb")
imdb_service.prepare_service({"dict_file_path":sys.argv[2]}) imdb_service.load_model_config(sys.argv[1])
imdb_service.start_service() imdb_service.prepare_server(workdir=sys.argv[2], port=9393, device="cpu")
imdb_service.prepare_dict({"dict_file_path":sys.argv[3]})
imdb_service.run_server()
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册