From 0469dcff2aee8b6b318ae3cba266d904b484de9e Mon Sep 17 00:00:00 2001 From: wangjiawei04 Date: Mon, 22 Feb 2021 16:15:27 +0800 Subject: [PATCH] rm criteo ctr with cube in grpc --- .../criteo_ctr_with_cube/args.py | 105 ------------------ .../criteo_ctr_with_cube/clean.sh | 4 - .../criteo_ctr_with_cube/criteo.py | 81 -------------- .../criteo_ctr_with_cube/criteo_reader.py | 83 -------------- .../criteo_ctr_with_cube/cube/conf/cube.conf | 13 --- .../cube/conf/gflags.conf | 4 - .../criteo_ctr_with_cube/cube/keys | 10 -- .../criteo_ctr_with_cube/cube_prepare.sh | 22 ---- .../cube_quant_prepare.sh | 22 ---- .../criteo_ctr_with_cube/get_data.sh | 2 - .../criteo_ctr_with_cube/local_train.py | 100 ----------------- .../criteo_ctr_with_cube/network_conf.py | 77 ------------- .../criteo_ctr_with_cube/test_client.py | 49 -------- .../criteo_ctr_with_cube/test_server.py | 41 ------- .../criteo_ctr_with_cube/test_server_gpu.py | 41 ------- .../criteo_ctr_with_cube/test_server_quant.py | 41 ------- 16 files changed, 695 deletions(-) delete mode 100755 python/examples/grpc_impl_example/criteo_ctr_with_cube/args.py delete mode 100755 python/examples/grpc_impl_example/criteo_ctr_with_cube/clean.sh delete mode 100755 python/examples/grpc_impl_example/criteo_ctr_with_cube/criteo.py delete mode 100755 python/examples/grpc_impl_example/criteo_ctr_with_cube/criteo_reader.py delete mode 100755 python/examples/grpc_impl_example/criteo_ctr_with_cube/cube/conf/cube.conf delete mode 100755 python/examples/grpc_impl_example/criteo_ctr_with_cube/cube/conf/gflags.conf delete mode 100755 python/examples/grpc_impl_example/criteo_ctr_with_cube/cube/keys delete mode 100755 python/examples/grpc_impl_example/criteo_ctr_with_cube/cube_prepare.sh delete mode 100755 python/examples/grpc_impl_example/criteo_ctr_with_cube/cube_quant_prepare.sh delete mode 100755 python/examples/grpc_impl_example/criteo_ctr_with_cube/get_data.sh delete mode 100755 python/examples/grpc_impl_example/criteo_ctr_with_cube/local_train.py delete mode 100755 python/examples/grpc_impl_example/criteo_ctr_with_cube/network_conf.py delete mode 100755 python/examples/grpc_impl_example/criteo_ctr_with_cube/test_client.py delete mode 100755 python/examples/grpc_impl_example/criteo_ctr_with_cube/test_server.py delete mode 100755 python/examples/grpc_impl_example/criteo_ctr_with_cube/test_server_gpu.py delete mode 100755 python/examples/grpc_impl_example/criteo_ctr_with_cube/test_server_quant.py diff --git a/python/examples/grpc_impl_example/criteo_ctr_with_cube/args.py b/python/examples/grpc_impl_example/criteo_ctr_with_cube/args.py deleted file mode 100755 index 30124d4e..00000000 --- a/python/examples/grpc_impl_example/criteo_ctr_with_cube/args.py +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# pylint: disable=doc-string-missing -import argparse - - -def parse_args(): - parser = argparse.ArgumentParser(description="PaddlePaddle CTR example") - parser.add_argument( - '--train_data_path', - type=str, - default='./data/raw/train.txt', - help="The path of training dataset") - parser.add_argument( - '--sparse_only', - type=bool, - default=False, - help="Whether we use sparse features only") - parser.add_argument( - '--test_data_path', - type=str, - default='./data/raw/valid.txt', - help="The path of testing dataset") - parser.add_argument( - '--batch_size', - type=int, - default=1000, - help="The size of mini-batch (default:1000)") - parser.add_argument( - '--embedding_size', - type=int, - default=10, - help="The size for embedding layer (default:10)") - parser.add_argument( - '--num_passes', - type=int, - default=10, - help="The number of passes to train (default: 10)") - parser.add_argument( - '--model_output_dir', - type=str, - default='models', - help='The path for model to store (default: models)') - parser.add_argument( - '--sparse_feature_dim', - type=int, - default=1000001, - help='sparse feature hashing space for index processing') - parser.add_argument( - '--is_local', - type=int, - default=1, - help='Local train or distributed train (default: 1)') - parser.add_argument( - '--cloud_train', - type=int, - default=0, - help='Local train or distributed train on paddlecloud (default: 0)') - parser.add_argument( - '--async_mode', - action='store_true', - default=False, - help='Whether start pserver in async mode to support ASGD') - parser.add_argument( - '--no_split_var', - action='store_true', - default=False, - help='Whether split variables into blocks when update_method is pserver') - parser.add_argument( - '--role', - type=str, - default='pserver', # trainer or pserver - help='The path for model to store (default: models)') - parser.add_argument( - '--endpoints', - type=str, - default='127.0.0.1:6000', - help='The pserver endpoints, like: 127.0.0.1:6000,127.0.0.1:6001') - parser.add_argument( - '--current_endpoint', - type=str, - default='127.0.0.1:6000', - help='The path for model to store (default: 127.0.0.1:6000)') - parser.add_argument( - '--trainer_id', - type=int, - default=0, - help='The path for model to store (default: models)') - parser.add_argument( - '--trainers', - type=int, - default=1, - help='The num of trianers, (default: 1)') - return parser.parse_args() diff --git a/python/examples/grpc_impl_example/criteo_ctr_with_cube/clean.sh b/python/examples/grpc_impl_example/criteo_ctr_with_cube/clean.sh deleted file mode 100755 index 99a48198..00000000 --- a/python/examples/grpc_impl_example/criteo_ctr_with_cube/clean.sh +++ /dev/null @@ -1,4 +0,0 @@ -ps -ef | grep cube | awk {'print $2'} | xargs kill -9 -rm -rf cube/cube_data cube/data cube/log* cube/nohup* cube/output/ cube/donefile cube/input cube/monitor cube/cube-builder.INFO -ps -ef | grep test | awk {'print $2'} | xargs kill -9 -ps -ef | grep serving | awk {'print $2'} | xargs kill -9 diff --git a/python/examples/grpc_impl_example/criteo_ctr_with_cube/criteo.py b/python/examples/grpc_impl_example/criteo_ctr_with_cube/criteo.py deleted file mode 100755 index f37eb1d2..00000000 --- a/python/examples/grpc_impl_example/criteo_ctr_with_cube/criteo.py +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import sys - - -class CriteoDataset(object): - def setup(self, sparse_feature_dim): - self.cont_min_ = [0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] - self.cont_max_ = [ - 20, 600, 100, 50, 64000, 500, 100, 50, 500, 10, 10, 10, 50 - ] - self.cont_diff_ = [ - 20, 603, 100, 50, 64000, 500, 100, 50, 500, 10, 10, 10, 50 - ] - self.hash_dim_ = sparse_feature_dim - # here, training data are lines with line_index < train_idx_ - self.train_idx_ = 41256555 - self.continuous_range_ = range(1, 14) - self.categorical_range_ = range(14, 40) - - def _process_line(self, line): - features = line.rstrip('\n').split('\t') - dense_feature = [] - sparse_feature = [] - for idx in self.continuous_range_: - if features[idx] == '': - dense_feature.append(0.0) - else: - dense_feature.append((float(features[idx]) - self.cont_min_[idx - 1]) / \ - self.cont_diff_[idx - 1]) - for idx in self.categorical_range_: - sparse_feature.append( - [hash(str(idx) + features[idx]) % self.hash_dim_]) - - return dense_feature, sparse_feature, [int(features[0])] - - def infer_reader(self, filelist, batch, buf_size): - def local_iter(): - for fname in filelist: - with open(fname.strip(), "r") as fin: - for line in fin: - dense_feature, sparse_feature, label = self._process_line( - line) - #yield dense_feature, sparse_feature, label - yield [dense_feature] + sparse_feature + [label] - - import paddle - batch_iter = paddle.batch( - paddle.reader.shuffle( - local_iter, buf_size=buf_size), - batch_size=batch) - return batch_iter - - def generate_sample(self, line): - def data_iter(): - dense_feature, sparse_feature, label = self._process_line(line) - feature_name = ["dense_input"] - for idx in self.categorical_range_: - feature_name.append("C" + str(idx - 13)) - feature_name.append("label") - yield zip(feature_name, [dense_feature] + sparse_feature + [label]) - - return data_iter - - -if __name__ == "__main__": - criteo_dataset = CriteoDataset() - criteo_dataset.setup(int(sys.argv[1])) - criteo_dataset.run_from_stdin() diff --git a/python/examples/grpc_impl_example/criteo_ctr_with_cube/criteo_reader.py b/python/examples/grpc_impl_example/criteo_ctr_with_cube/criteo_reader.py deleted file mode 100755 index 2a80af78..00000000 --- a/python/examples/grpc_impl_example/criteo_ctr_with_cube/criteo_reader.py +++ /dev/null @@ -1,83 +0,0 @@ -# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# pylint: disable=doc-string-missing - -import sys -import paddle.fluid.incubate.data_generator as dg - - -class CriteoDataset(dg.MultiSlotDataGenerator): - def setup(self, sparse_feature_dim): - self.cont_min_ = [0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] - self.cont_max_ = [ - 20, 600, 100, 50, 64000, 500, 100, 50, 500, 10, 10, 10, 50 - ] - self.cont_diff_ = [ - 20, 603, 100, 50, 64000, 500, 100, 50, 500, 10, 10, 10, 50 - ] - self.hash_dim_ = sparse_feature_dim - # here, training data are lines with line_index < train_idx_ - self.train_idx_ = 41256555 - self.continuous_range_ = range(1, 14) - self.categorical_range_ = range(14, 40) - - def _process_line(self, line): - features = line.rstrip('\n').split('\t') - dense_feature = [] - sparse_feature = [] - for idx in self.continuous_range_: - if features[idx] == '': - dense_feature.append(0.0) - else: - dense_feature.append((float(features[idx]) - self.cont_min_[idx - 1]) / \ - self.cont_diff_[idx - 1]) - for idx in self.categorical_range_: - sparse_feature.append( - [hash(str(idx) + features[idx]) % self.hash_dim_]) - - return dense_feature, sparse_feature, [int(features[0])] - - def infer_reader(self, filelist, batch, buf_size): - def local_iter(): - for fname in filelist: - with open(fname.strip(), "r") as fin: - for line in fin: - dense_feature, sparse_feature, label = self._process_line( - line) - #yield dense_feature, sparse_feature, label - yield [dense_feature] + sparse_feature + [label] - - import paddle - batch_iter = paddle.batch( - paddle.reader.shuffle( - local_iter, buf_size=buf_size), - batch_size=batch) - return batch_iter - - def generate_sample(self, line): - def data_iter(): - dense_feature, sparse_feature, label = self._process_line(line) - feature_name = ["dense_input"] - for idx in self.categorical_range_: - feature_name.append("C" + str(idx - 13)) - feature_name.append("label") - yield zip(feature_name, [dense_feature] + sparse_feature + [label]) - - return data_iter - - -if __name__ == "__main__": - criteo_dataset = CriteoDataset() - criteo_dataset.setup(int(sys.argv[1])) - criteo_dataset.run_from_stdin() diff --git a/python/examples/grpc_impl_example/criteo_ctr_with_cube/cube/conf/cube.conf b/python/examples/grpc_impl_example/criteo_ctr_with_cube/cube/conf/cube.conf deleted file mode 100755 index b70f6e34..00000000 --- a/python/examples/grpc_impl_example/criteo_ctr_with_cube/cube/conf/cube.conf +++ /dev/null @@ -1,13 +0,0 @@ -[{ - "dict_name": "test_dict", - "shard": 1, - "dup": 1, - "timeout": 200, - "retry": 3, - "backup_request": 100, - "type": "ipport_list", - "load_balancer": "rr", - "nodes": [{ - "ipport_list": "list://127.0.0.1:8027" - }] -}] diff --git a/python/examples/grpc_impl_example/criteo_ctr_with_cube/cube/conf/gflags.conf b/python/examples/grpc_impl_example/criteo_ctr_with_cube/cube/conf/gflags.conf deleted file mode 100755 index 21c7bdde..00000000 --- a/python/examples/grpc_impl_example/criteo_ctr_with_cube/cube/conf/gflags.conf +++ /dev/null @@ -1,4 +0,0 @@ ---port=8027 ---dict_split=1 ---in_mem=true ---log_dir=./log/ diff --git a/python/examples/grpc_impl_example/criteo_ctr_with_cube/cube/keys b/python/examples/grpc_impl_example/criteo_ctr_with_cube/cube/keys deleted file mode 100755 index f00c965d..00000000 --- a/python/examples/grpc_impl_example/criteo_ctr_with_cube/cube/keys +++ /dev/null @@ -1,10 +0,0 @@ -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 diff --git a/python/examples/grpc_impl_example/criteo_ctr_with_cube/cube_prepare.sh b/python/examples/grpc_impl_example/criteo_ctr_with_cube/cube_prepare.sh deleted file mode 100755 index 1417254a..00000000 --- a/python/examples/grpc_impl_example/criteo_ctr_with_cube/cube_prepare.sh +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# pylint: disable=doc-string-missing -#! /bin/bash - -mkdir -p cube_model -mkdir -p cube/data -./seq_generator ctr_serving_model/SparseFeatFactors ./cube_model/feature -./cube/cube-builder -dict_name=test_dict -job_mode=base -last_version=0 -cur_version=0 -depend_version=0 -input_path=./cube_model -output_path=${PWD}/cube/data -shard_num=1 -only_build=false -mv ./cube/data/0_0/test_dict_part0/* ./cube/data/ -cd cube && ./cube diff --git a/python/examples/grpc_impl_example/criteo_ctr_with_cube/cube_quant_prepare.sh b/python/examples/grpc_impl_example/criteo_ctr_with_cube/cube_quant_prepare.sh deleted file mode 100755 index 0db6575a..00000000 --- a/python/examples/grpc_impl_example/criteo_ctr_with_cube/cube_quant_prepare.sh +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# pylint: disable=doc-string-missing -#! /bin/bash - -mkdir -p cube_model -mkdir -p cube/data -./seq_generator ctr_serving_model/SparseFeatFactors ./cube_model/feature 8 -./cube/cube-builder -dict_name=test_dict -job_mode=base -last_version=0 -cur_version=0 -depend_version=0 -input_path=./cube_model -output_path=${PWD}/cube/data -shard_num=1 -only_build=false -mv ./cube/data/0_0/test_dict_part0/* ./cube/data/ -cd cube && ./cube diff --git a/python/examples/grpc_impl_example/criteo_ctr_with_cube/get_data.sh b/python/examples/grpc_impl_example/criteo_ctr_with_cube/get_data.sh deleted file mode 100755 index 1f244b3a..00000000 --- a/python/examples/grpc_impl_example/criteo_ctr_with_cube/get_data.sh +++ /dev/null @@ -1,2 +0,0 @@ -wget --no-check-certificate https://paddle-serving.bj.bcebos.com/data/ctr_prediction/ctr_data.tar.gz -tar -zxvf ctr_data.tar.gz diff --git a/python/examples/grpc_impl_example/criteo_ctr_with_cube/local_train.py b/python/examples/grpc_impl_example/criteo_ctr_with_cube/local_train.py deleted file mode 100755 index d4a1bc93..00000000 --- a/python/examples/grpc_impl_example/criteo_ctr_with_cube/local_train.py +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# pylint: disable=doc-string-missing - -from __future__ import print_function - -from args import parse_args -import os -import paddle.fluid as fluid -import sys -from network_conf import dnn_model - -dense_feature_dim = 13 - - -def train(): - args = parse_args() - sparse_only = args.sparse_only - if not os.path.isdir(args.model_output_dir): - os.mkdir(args.model_output_dir) - dense_input = fluid.layers.data( - name="dense_input", shape=[dense_feature_dim], dtype='float32') - sparse_input_ids = [ - fluid.layers.data( - name="C" + str(i), shape=[1], lod_level=1, dtype="int64") - for i in range(1, 27) - ] - label = fluid.layers.data(name='label', shape=[1], dtype='int64') - - #nn_input = None if sparse_only else dense_input - nn_input = dense_input - predict_y, loss, auc_var, batch_auc_var, infer_vars = dnn_model( - nn_input, sparse_input_ids, label, args.embedding_size, - args.sparse_feature_dim) - - optimizer = fluid.optimizer.SGD(learning_rate=1e-4) - optimizer.minimize(loss) - - exe = fluid.Executor(fluid.CPUPlace()) - exe.run(fluid.default_startup_program()) - dataset = fluid.DatasetFactory().create_dataset("InMemoryDataset") - dataset.set_use_var([dense_input] + sparse_input_ids + [label]) - - python_executable = "python" - pipe_command = "{} criteo_reader.py {}".format(python_executable, - args.sparse_feature_dim) - - dataset.set_pipe_command(pipe_command) - dataset.set_batch_size(128) - thread_num = 10 - dataset.set_thread(thread_num) - - whole_filelist = [ - "raw_data/part-%d" % x for x in range(len(os.listdir("raw_data"))) - ] - - print(whole_filelist) - dataset.set_filelist(whole_filelist[:100]) - dataset.load_into_memory() - fluid.layers.Print(auc_var) - epochs = 1 - for i in range(epochs): - exe.train_from_dataset( - program=fluid.default_main_program(), dataset=dataset, debug=True) - print("epoch {} finished".format(i)) - - import paddle_serving_client.io as server_io - feed_var_dict = {} - feed_var_dict['dense_input'] = dense_input - for i, sparse in enumerate(sparse_input_ids): - feed_var_dict["embedding_{}.tmp_0".format(i)] = sparse - fetch_var_dict = {"prob": predict_y} - - feed_kv_dict = {} - feed_kv_dict['dense_input'] = dense_input - for i, emb in enumerate(infer_vars): - feed_kv_dict["embedding_{}.tmp_0".format(i)] = emb - fetch_var_dict = {"prob": predict_y} - - server_io.save_model("ctr_serving_model", "ctr_client_conf", feed_var_dict, - fetch_var_dict, fluid.default_main_program()) - - server_io.save_model("ctr_serving_model_kv", "ctr_client_conf_kv", - feed_kv_dict, fetch_var_dict, - fluid.default_main_program()) - - -if __name__ == '__main__': - train() diff --git a/python/examples/grpc_impl_example/criteo_ctr_with_cube/network_conf.py b/python/examples/grpc_impl_example/criteo_ctr_with_cube/network_conf.py deleted file mode 100755 index 2975533a..00000000 --- a/python/examples/grpc_impl_example/criteo_ctr_with_cube/network_conf.py +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# pylint: disable=doc-string-missing - -import paddle.fluid as fluid -import math - - -def dnn_model(dense_input, sparse_inputs, label, embedding_size, - sparse_feature_dim): - def embedding_layer(input): - emb = fluid.layers.embedding( - input=input, - is_sparse=True, - is_distributed=False, - size=[sparse_feature_dim, embedding_size], - param_attr=fluid.ParamAttr( - name="SparseFeatFactors", - initializer=fluid.initializer.Uniform())) - x = fluid.layers.sequence_pool(input=emb, pool_type='sum') - return emb, x - - def mlp_input_tensor(emb_sums, dense_tensor): - #if isinstance(dense_tensor, fluid.Variable): - # return fluid.layers.concat(emb_sums, axis=1) - #else: - return fluid.layers.concat(emb_sums + [dense_tensor], axis=1) - - def mlp(mlp_input): - fc1 = fluid.layers.fc(input=mlp_input, - size=400, - act='relu', - param_attr=fluid.ParamAttr( - initializer=fluid.initializer.Normal( - scale=1 / math.sqrt(mlp_input.shape[1])))) - fc2 = fluid.layers.fc(input=fc1, - size=400, - act='relu', - param_attr=fluid.ParamAttr( - initializer=fluid.initializer.Normal( - scale=1 / math.sqrt(fc1.shape[1])))) - fc3 = fluid.layers.fc(input=fc2, - size=400, - act='relu', - param_attr=fluid.ParamAttr( - initializer=fluid.initializer.Normal( - scale=1 / math.sqrt(fc2.shape[1])))) - pre = fluid.layers.fc(input=fc3, - size=2, - act='softmax', - param_attr=fluid.ParamAttr( - initializer=fluid.initializer.Normal( - scale=1 / math.sqrt(fc3.shape[1])))) - return pre - - emb_pair_sums = list(map(embedding_layer, sparse_inputs)) - emb_sums = [x[1] for x in emb_pair_sums] - infer_vars = [x[0] for x in emb_pair_sums] - mlp_in = mlp_input_tensor(emb_sums, dense_input) - predict = mlp(mlp_in) - cost = fluid.layers.cross_entropy(input=predict, label=label) - avg_cost = fluid.layers.reduce_sum(cost) - accuracy = fluid.layers.accuracy(input=predict, label=label) - auc_var, batch_auc_var, auc_states = \ - fluid.layers.auc(input=predict, label=label, num_thresholds=2 ** 12, slide_steps=20) - return predict, avg_cost, auc_var, batch_auc_var, infer_vars diff --git a/python/examples/grpc_impl_example/criteo_ctr_with_cube/test_client.py b/python/examples/grpc_impl_example/criteo_ctr_with_cube/test_client.py deleted file mode 100755 index f82c1a21..00000000 --- a/python/examples/grpc_impl_example/criteo_ctr_with_cube/test_client.py +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# pylint: disable=doc-string-missing - -from paddle_serving_client import MultiLangClient as Client -import sys -import os -import criteo as criteo -import time -from paddle_serving_client.metric import auc -import grpc - -client = Client() -client.connect(["127.0.0.1:9292"]) - -batch = 1 -buf_size = 100 -dataset = criteo.CriteoDataset() -dataset.setup(1000001) -test_filelists = ["{}/part-0".format(sys.argv[1])] -reader = dataset.infer_reader(test_filelists, batch, buf_size) -label_list = [] -prob_list = [] -start = time.time() -for ei in range(10000): - data = reader().next() - feed_dict = {} - feed_dict['dense_input'] = data[0][0] - for i in range(1, 27): - feed_dict["embedding_{}.tmp_0".format(i - 1)] = data[0][i] - fetch_map = client.predict(feed=feed_dict, fetch=["prob"]) - if fetch_map["serving_status_code"] == 0: - prob_list.append(fetch_map['prob'][0][1]) - label_list.append(data[0][-1][0]) - -print(auc(label_list, prob_list)) -end = time.time() -print(end - start) diff --git a/python/examples/grpc_impl_example/criteo_ctr_with_cube/test_server.py b/python/examples/grpc_impl_example/criteo_ctr_with_cube/test_server.py deleted file mode 100755 index 8a3bee4e..00000000 --- a/python/examples/grpc_impl_example/criteo_ctr_with_cube/test_server.py +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# pylint: disable=doc-string-missing - -import os -import sys -from paddle_serving_server import OpMaker -from paddle_serving_server import OpSeqMaker -from paddle_serving_server import MultiLangServer as Server - -op_maker = OpMaker() -read_op = op_maker.create('general_reader') -general_dist_kv_infer_op = op_maker.create('general_dist_kv_infer') -response_op = op_maker.create('general_response') - -op_seq_maker = OpSeqMaker() -op_seq_maker.add_op(read_op) -op_seq_maker.add_op(general_dist_kv_infer_op) -op_seq_maker.add_op(response_op) - -server = Server() -server.set_op_sequence(op_seq_maker.get_op_sequence()) -server.set_num_threads(4) -server.load_model_config(sys.argv[1], sys.argv[2]) -server.prepare_server( - workdir="work_dir1", - port=9292, - device="cpu", - cube_conf="./cube/conf/cube.conf") -server.run_server() diff --git a/python/examples/grpc_impl_example/criteo_ctr_with_cube/test_server_gpu.py b/python/examples/grpc_impl_example/criteo_ctr_with_cube/test_server_gpu.py deleted file mode 100755 index 343ded24..00000000 --- a/python/examples/grpc_impl_example/criteo_ctr_with_cube/test_server_gpu.py +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# pylint: disable=doc-string-missing - -import os -import sys -from paddle_serving_server_gpu import OpMaker -from paddle_serving_server_gpu import OpSeqMaker -from paddle_serving_server_gpu import MultiLangServer as Server - -op_maker = OpMaker() -read_op = op_maker.create('general_reader') -general_dist_kv_infer_op = op_maker.create('general_dist_kv_infer') -response_op = op_maker.create('general_response') - -op_seq_maker = OpSeqMaker() -op_seq_maker.add_op(read_op) -op_seq_maker.add_op(general_dist_kv_infer_op) -op_seq_maker.add_op(response_op) - -server = Server() -server.set_op_sequence(op_seq_maker.get_op_sequence()) -server.set_num_threads(4) -server.load_model_config(sys.argv[1], sys.argv[2]) -server.prepare_server( - workdir="work_dir1", - port=9292, - device="cpu", - cube_conf="./cube/conf/cube.conf") -server.run_server() diff --git a/python/examples/grpc_impl_example/criteo_ctr_with_cube/test_server_quant.py b/python/examples/grpc_impl_example/criteo_ctr_with_cube/test_server_quant.py deleted file mode 100755 index 2fd93084..00000000 --- a/python/examples/grpc_impl_example/criteo_ctr_with_cube/test_server_quant.py +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# pylint: disable=doc-string-missing - -import os -import sys -from paddle_serving_server import OpMaker -from paddle_serving_server import OpSeqMaker -from paddle_serving_server import MultiLangServer as Server - -op_maker = OpMaker() -read_op = op_maker.create('general_reader') -general_dist_kv_infer_op = op_maker.create('general_dist_kv_quant_infer') -response_op = op_maker.create('general_response') - -op_seq_maker = OpSeqMaker() -op_seq_maker.add_op(read_op) -op_seq_maker.add_op(general_dist_kv_infer_op) -op_seq_maker.add_op(response_op) - -server = Server() -server.set_op_sequence(op_seq_maker.get_op_sequence()) -server.set_num_threads(4) -server.load_model_config(sys.argv[1], sys.argv[2]) -server.prepare_server( - workdir="work_dir1", - port=9292, - device="cpu", - cube_conf="./cube/conf/cube.conf") -server.run_server() -- GitLab