From 9476da2bb15205f69bfcc2b3c521ed85ef6688c3 Mon Sep 17 00:00:00 2001 From: nnjam Date: Thu, 1 Sep 2022 22:22:48 +0800 Subject: [PATCH 1/2] add model autoint --- contributor.md | 2 +- datasets/criteo_autoint/convert2txt.py | 57 +++++ datasets/criteo_autoint/download.sh | 11 + datasets/criteo_autoint/preprocess.py | 125 ++++++++++ datasets/criteo_autoint/run.sh | 8 + datasets/criteo_autoint/scale.py | 58 +++++ datasets/criteo_autoint/stratifiedKfold.py | 158 +++++++++++++ models/rank/autoint/__init__.py | 13 ++ models/rank/autoint/config.yaml | 54 +++++ models/rank/autoint/config_bigdata.yaml | 53 +++++ models/rank/autoint/criteo_reader.py | 60 +++++ .../data/sample_data/train/sample_train.txt | 100 ++++++++ models/rank/autoint/dygraph_model.py | 93 ++++++++ models/rank/autoint/net.py | 213 ++++++++++++++++++ models/rank/autoint/picture/1.JPG | Bin 0 -> 75130 bytes models/rank/autoint/picture/10.JPG | Bin 0 -> 15102 bytes models/rank/autoint/picture/2.JPG | Bin 0 -> 35528 bytes models/rank/autoint/picture/3.JPG | Bin 0 -> 9187 bytes models/rank/autoint/picture/4.JPG | Bin 0 -> 9403 bytes models/rank/autoint/picture/5.JPG | Bin 0 -> 32550 bytes models/rank/autoint/picture/6.JPG | Bin 0 -> 25783 bytes models/rank/autoint/picture/7.JPG | Bin 0 -> 14880 bytes models/rank/autoint/picture/8.JPG | Bin 0 -> 13299 bytes models/rank/autoint/picture/9.JPG | Bin 0 -> 12886 bytes models/rank/autoint/readme.md | 162 +++++++++++++ models/rank/autoint/static_model.py | 100 ++++++++ test_tipc/configs/autoint/to_static.py | 101 +++++++++ .../configs/autoint/train_infer_python.txt | 51 +++++ test_tipc/prepare.sh | 30 +++ 29 files changed, 1448 insertions(+), 1 deletion(-) create mode 100644 datasets/criteo_autoint/convert2txt.py create mode 100644 datasets/criteo_autoint/download.sh create mode 100644 datasets/criteo_autoint/preprocess.py create mode 100644 datasets/criteo_autoint/run.sh create mode 100644 datasets/criteo_autoint/scale.py create mode 100644 datasets/criteo_autoint/stratifiedKfold.py create mode 100644 models/rank/autoint/__init__.py create mode 100644 models/rank/autoint/config.yaml create mode 100644 models/rank/autoint/config_bigdata.yaml create mode 100644 models/rank/autoint/criteo_reader.py create mode 100644 models/rank/autoint/data/sample_data/train/sample_train.txt create mode 100644 models/rank/autoint/dygraph_model.py create mode 100644 models/rank/autoint/net.py create mode 100644 models/rank/autoint/picture/1.JPG create mode 100644 models/rank/autoint/picture/10.JPG create mode 100644 models/rank/autoint/picture/2.JPG create mode 100644 models/rank/autoint/picture/3.JPG create mode 100644 models/rank/autoint/picture/4.JPG create mode 100644 models/rank/autoint/picture/5.JPG create mode 100644 models/rank/autoint/picture/6.JPG create mode 100644 models/rank/autoint/picture/7.JPG create mode 100644 models/rank/autoint/picture/8.JPG create mode 100644 models/rank/autoint/picture/9.JPG create mode 100644 models/rank/autoint/readme.md create mode 100644 models/rank/autoint/static_model.py create mode 100644 test_tipc/configs/autoint/to_static.py create mode 100644 test_tipc/configs/autoint/train_infer_python.txt diff --git a/contributor.md b/contributor.md index 250a1852f..6e2f5d3df 100644 --- a/contributor.md +++ b/contributor.md @@ -27,5 +27,5 @@ | [AITM](models/multitask/aitm/) | [renmada](https://github.com/renmada) | https://github.com/PaddlePaddle/PaddleRec/pull/756 | 论文复现赛第六期 | | [IPRec](models/rank/iprec/) | [renmada](https://github.com/renmada) | https://github.com/PaddlePaddle/PaddleRec/pull/774 | 论文复现赛第六期 | | [KIM](models/match/kim/) | [renmada](https://github.com/renmada) | https://github.com/PaddlePaddle/PaddleRec/pull/790 | 论文复现赛第六期 | - + | [AutoInt](models/rank/autoint/) | [kafaichan](https://github.com/kafaichan) | https://github.com/PaddlePaddle/PaddleRec/pull/829 | 论文复现赛第七期 | diff --git a/datasets/criteo_autoint/convert2txt.py b/datasets/criteo_autoint/convert2txt.py new file mode 100644 index 000000000..e8108403b --- /dev/null +++ b/datasets/criteo_autoint/convert2txt.py @@ -0,0 +1,57 @@ +# Copyright (c) 2022 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 os +import numpy as np +import argparse + +parser = argparse.ArgumentParser('convert npy to txt file') +parser.add_argument( + '--root_dir', + type=str, + default='./Criteo', + required=False, + help='root directory of src data') +args = parser.parse_args() + + +def write_to_file(output_folder, file_path_list): + fmt_str = ['%d'] + ['%d'] * 39 + ['%.7f'] * 39 + for folder in file_path_list: + if not os.path.isdir(folder): continue + print("begin {}".format(folder)) + feature_index = np.load( + os.path.join(folder, 'train_i.npy'), + allow_pickle=True).astype('int64') + feature_value = np.load( + os.path.join(folder, 'train_x2.npy'), + allow_pickle=True).astype('float32') + label = np.load( + os.path.join(folder, 'train_y.npy'), + allow_pickle=True).astype('int64').reshape([-1, 1]) + data = np.concatenate((label, feature_index, feature_value), axis=1) + np.savetxt( + os.path.join(output_folder, os.path.basename(folder)), + data, + fmt=' '.join(fmt_str)) + print("complete {}".format(folder)) + + +if __name__ == '__main__': + train_folders = [ + os.path.join(args.root_dir, 'part{}'.format(i)) for i in range(3, 11) + ] + test_folders = [os.path.join(args.root_dir, 'part1')] + write_to_file('./slot_test_data_full', test_folders) + write_to_file('./slot_train_data_full', train_folders) diff --git a/datasets/criteo_autoint/download.sh b/datasets/criteo_autoint/download.sh new file mode 100644 index 000000000..acb3ad712 --- /dev/null +++ b/datasets/criteo_autoint/download.sh @@ -0,0 +1,11 @@ +wget --no-check-certificate https://fleet.bj.bcebos.com/ctr_data.tar.gz + +tar -zxvf ctr_data.tar.gz + +mkdir ./tmp +mv raw_data tmp +mv test_data tmp + +find ./tmp -type f -name 'part*' -exec cat {} \; > criteo.data +rm -rf ./tmp +echo "Complete data download." diff --git a/datasets/criteo_autoint/preprocess.py b/datasets/criteo_autoint/preprocess.py new file mode 100644 index 000000000..8ff61eeb5 --- /dev/null +++ b/datasets/criteo_autoint/preprocess.py @@ -0,0 +1,125 @@ +#Copyright (c) 2018 Chence Shi + +#Permission is hereby granted, free of charge, to any person obtaining a copy +#of this software and associated documentation files (the "Software"), to deal +#in the Software without restriction, including without limitation the rights +#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +#copies of the Software, and to permit persons to whom the Software is +#furnished to do so, subject to the following conditions: + +#The above copyright notice and this permission notice shall be included in all +#copies or substantial portions of the Software. + +#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +#SOFTWARE. + +import argparse +import os + +parser = argparse.ArgumentParser(description='criteo dataset preprocesser') +parser.add_argument( + '--source_data', + type=str, + required=True, + default='./criteo.txt', + help='source path') +parser.add_argument( + '--output_path', + type=str, + required=True, + default='./Criteo', + help='output path') +args = parser.parse_args() + +if not os.path.exists(args.output_path): + os.mkdir(args.output_path) + +train_path = args.source_data +f1 = open(train_path, 'r') +dic = {} +# generate three fold. +# train_x: value +# train_i: index +# train_y: label +f_train_value = open(os.path.join(args.output_path, 'train_x.txt'), 'w') +f_train_index = open(os.path.join(args.output_path, 'train_i.txt'), 'w') +f_train_label = open(os.path.join(args.output_path, 'train_y.txt'), 'w') + +for i in range(39): + dic[i] = {} + +cnt_train = 0 + +#for debug +#limits = 10000 +index = [1] * 26 +for line in f1: + cnt_train += 1 + if cnt_train % 100000 == 0: + print('now train cnt : %d\n' % cnt_train) + #if cnt_train > limits: + # break + split = line.strip('\n').split('\t') + # 0-label, 1-13 numerical, 14-39 category + for i in range(13, 39): + #dic_len = len(dic[i]) + if split[i + 1] not in dic[i]: + # [1, 0] 1 is the index for those whose appear times <= 10 0 indicates the appear times + dic[i][split[i + 1]] = [1, 0] + dic[i][split[i + 1]][1] += 1 + if dic[i][split[i + 1]][0] == 1 and dic[i][split[i + 1]][1] > 10: + index[i - 13] += 1 + dic[i][split[i + 1]][0] = index[i - 13] +f1.close() +print('total entries :%d\n' % (cnt_train - 1)) + +# calculate number of category features of every dimension +kinds = [13] +for i in range(13, 39): + kinds.append(index[i - 13]) +print('number of dimensions : %d' % (len(kinds) - 1)) +print(kinds) + +for i in range(1, len(kinds)): + kinds[i] += kinds[i - 1] +print(kinds) + +# make new data + +f1 = open(train_path, 'r') +cnt_train = 0 +print('remake training data...\n') +for line in f1: + cnt_train += 1 + if cnt_train % 100000 == 0: + print('now train cnt : %d\n' % cnt_train) + #if cnt_train > limits: + # break + entry = ['0'] * 39 + index = [None] * 39 + split = line.strip('\n').split('\t') + label = str(split[0]) + for i in range(13): + if split[i + 1] != '': + entry[i] = (split[i + 1]) + index[i] = (i + 1) + for i in range(13, 39): + if split[i + 1] != '': + entry[i] = '1' + index[i] = (dic[i][split[i + 1]][0]) + for j in range(26): + index[13 + j] += kinds[j] + index = [str(item) for item in index] + f_train_value.write(' '.join(entry) + '\n') + f_train_index.write(' '.join(index) + '\n') + f_train_label.write(label + '\n') +f1.close() + +f_train_value.close() +f_train_index.close() +f_train_label.close() diff --git a/datasets/criteo_autoint/run.sh b/datasets/criteo_autoint/run.sh new file mode 100644 index 000000000..dc6f950c5 --- /dev/null +++ b/datasets/criteo_autoint/run.sh @@ -0,0 +1,8 @@ +sh download.sh +mkdir slot_train_data_full +mkdir slot_test_data_full + +python preprocess.py --source_data ./criteo.data --output_path=./Criteo +python stratifiedKfold.py +python scale.py +python convert2txt.py diff --git a/datasets/criteo_autoint/scale.py b/datasets/criteo_autoint/scale.py new file mode 100644 index 000000000..d63d0b1dd --- /dev/null +++ b/datasets/criteo_autoint/scale.py @@ -0,0 +1,58 @@ +#Copyright (c) 2018 Chence Shi + +#Permission is hereby granted, free of charge, to any person obtaining a copy +#of this software and associated documentation files (the "Software"), to deal +#in the Software without restriction, including without limitation the rights +#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +#copies of the Software, and to permit persons to whom the Software is +#furnished to do so, subject to the following conditions: + +#The above copyright notice and this permission notice shall be included in all +#copies or substantial portions of the Software. + +#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +#SOFTWARE. + +import math +import numpy as np +import argparse +import os + +parser = argparse.ArgumentParser(description='criteo dataset scale') +parser.add_argument( + '--src_path', + type=str, + required=False, + default='./Criteo', + help='source path') +args = parser.parse_args() + + +def scale(x): + if x > 2: + x = int(math.log(float(x))**2) + return x + + +def scale_each_fold(): + for i in range(1, 11): + print('now part %d' % i) + data = np.load( + os.path.join(args.src_path, 'part' + str(i), 'train_x.npy'), + allow_pickle=True) + part = data[:, 0:13] + for j in range(part.shape[0]): + if j % 100000 == 0: + print(j) + part[j] = list(map(scale, part[j])) + np.save( + os.path.join(args.src_path, 'part' + str(i), 'train_x2.npy'), data) + + +if __name__ == '__main__': + scale_each_fold() diff --git a/datasets/criteo_autoint/stratifiedKfold.py b/datasets/criteo_autoint/stratifiedKfold.py new file mode 100644 index 000000000..2ab4ccbbb --- /dev/null +++ b/datasets/criteo_autoint/stratifiedKfold.py @@ -0,0 +1,158 @@ +#Copyright (c) 2018 Chence Shi + +#Permission is hereby granted, free of charge, to any person obtaining a copy +#of this software and associated documentation files (the "Software"), to deal +#in the Software without restriction, including without limitation the rights +#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +#copies of the Software, and to permit persons to whom the Software is +#furnished to do so, subject to the following conditions: + +#The above copyright notice and this permission notice shall be included in all +#copies or substantial portions of the Software. + +#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +#SOFTWARE. + +#Email of the author: zjduan@pku.edu.cn + +import numpy as np +import os +import pandas as pd +from sklearn.model_selection import StratifiedKFold +from sklearn import preprocessing +import argparse + +parser = argparse.ArgumentParser(description='criteo dataset k-fold') +parser.add_argument( + '--src_path', + type=str, + required=False, + default='./Criteo', + help='source path') +parser.add_argument( + '--num_split', + type=int, + required=False, + default=10, + help='number of K-fold split') +parser.add_argument( + '--random_seed', + type=int, + required=False, + default=2018, + help='random seed') +args = parser.parse_args() + +scale = "" +train_x_name = "train_x.npy" +train_y_name = "train_y.npy" + + +def _load_data(_nrows=None, debug=False): + + train_x = pd.read_csv( + os.path.join(args.src_path, 'train_x.txt'), + header=None, + sep=' ', + nrows=_nrows, + dtype=np.float) + train_y = pd.read_csv( + os.path.join(args.src_path, 'train_y.txt'), + header=None, + sep=' ', + nrows=_nrows, + dtype=np.int32) + + train_x = train_x.values + train_y = train_y.values.reshape([-1]) + + print('data loading done!') + print('training data : %d' % train_y.shape[0]) + + assert train_x.shape[0] == train_y.shape[0] + + return train_x, train_y + + +def save_x_y(fold_index, train_x, train_y): + _get = lambda x, l: [x[i] for i in l] + for i in range(len(fold_index)): + print("now part %d" % (i + 1)) + part_index = fold_index[i] + Xv_train_, y_train_ = _get(train_x, part_index), _get(train_y, + part_index) + save_dir_Xv = os.path.join(args.src_path, 'part{}'.format(i + 1)) + save_dir_y = os.path.join(args.src_path, 'part{}'.format(i + 1)) + if (os.path.exists(save_dir_Xv) == False): + os.makedirs(save_dir_Xv) + if (os.path.exists(save_dir_y) == False): + os.makedirs(save_dir_y) + save_path_Xv = os.path.join(save_dir_Xv, train_x_name) + save_path_y = os.path.join(save_dir_y, train_y_name) + np.save(save_path_Xv, Xv_train_) + np.save(save_path_y, y_train_) + + +def save_i(fold_index): + _get = lambda x, l: [x[i] for i in l] + train_i = pd.read_csv( + os.path.join(args.src_path, 'train_i.txt'), + header=None, + sep=' ', + nrows=None, + dtype=np.int32) + train_i = train_i.values + feature_size = train_i.max() + 1 + print("feature_size = %d" % feature_size) + feature_size = [feature_size] + feature_size = np.array(feature_size) + np.save(os.path.join(args.src_path, "feature_size.npy"), feature_size) + + print("train_i size: %d" % len(train_i)) + + for i in range(len(fold_index)): + print("now part %d" % (i + 1)) + part_index = fold_index[i] + Xi_train_ = _get(train_i, part_index) + save_path_Xi = os.path.join(args.src_path, "part" + str(i + 1), + 'train_i.npy') + np.save(save_path_Xi, Xi_train_) + + +def main(): + train_x, train_y = _load_data() + print('loading data done!') + + folds = list( + StratifiedKFold( + n_splits=10, shuffle=True, random_state=args.random_seed).split( + train_x, train_y)) + + fold_index = [] + for i, (train_id, valid_id) in enumerate(folds): + fold_index.append(valid_id) + + print("fold num: %d" % (len(fold_index))) + + fold_index = np.array(fold_index) + np.save( + os.path.join(args.src_path, 'fold_index.npy'), + fold_index, + allow_pickle=True) + + save_x_y(fold_index, train_x, train_y) + print("save train_x_y done!") + + fold_index = np.load( + os.path.join(args.src_path, "fold_index.npy"), allow_pickle=True) + save_i(fold_index) + print("save index done!") + + +if __name__ == "__main__": + main() diff --git a/models/rank/autoint/__init__.py b/models/rank/autoint/__init__.py new file mode 100644 index 000000000..abf198b97 --- /dev/null +++ b/models/rank/autoint/__init__.py @@ -0,0 +1,13 @@ +# 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. diff --git a/models/rank/autoint/config.yaml b/models/rank/autoint/config.yaml new file mode 100644 index 000000000..8faf6e5b8 --- /dev/null +++ b/models/rank/autoint/config.yaml @@ -0,0 +1,54 @@ +# 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. + + +runner: + train_data_dir: "data/sample_data/train" + train_reader_path: "criteo_reader" # importlib format + use_gpu: True + use_xpu: False # Enable this option only if you have an xpu device + use_auc: True + train_batch_size: 2 + epochs: 3 + print_interval: 2 + # model_init_path: "output_model_deepfm/2" # init model + model_save_path: "output_model_autoint" + test_data_dir: "data/sample_data/train" + infer_reader_path: "criteo_reader" # importlib format + infer_batch_size: 2 + infer_load_path: "output_model_autoint" + infer_start_epoch: 0 + infer_end_epoch: 3 + # use fleet + use_fleet: False + +# hyper parameters of user-defined network +hyper_parameters: + # optimizer config + optimizer: + class: Adam + learning_rate: 0.001 + strategy: async + # user-defined pairs + feature_number: 1000001 + embedding_dim: 16 + fc_sizes: [] #[256, 128] + use_residual: True + scaling: True + use_wide: True + use_sparse: True + head_num: 2 + num_field: 39 + attn_layer_sizes: [64,64,64] + distributed_embedding: 0 diff --git a/models/rank/autoint/config_bigdata.yaml b/models/rank/autoint/config_bigdata.yaml new file mode 100644 index 000000000..2475b0d20 --- /dev/null +++ b/models/rank/autoint/config_bigdata.yaml @@ -0,0 +1,53 @@ +# 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. + +# global settings + +runner: + train_data_dir: "../../../datasets/criteo_autoint/slot_train_data_full" + train_reader_path: "criteo_reader" # importlib format + use_gpu: True + use_xpu: False # Enable this option only if you have an xpu device + use_auc: False + train_batch_size: 1024 + epochs: 3 + print_interval: 10 + #model_init_path: "output_model_all_autoint/0" # init model + model_save_path: "output_model_all_autoint" + test_data_dir: "../../../datasets/criteo_autoint/slot_test_data_full" + infer_reader_path: "criteo_reader" # importlib format + infer_batch_size: 1024 + infer_load_path: "output_model_all_autoint" + infer_start_epoch: 0 + infer_end_epoch: 3 + +# hyper parameters of user-defined network +hyper_parameters: + # optimizer config + optimizer: + class: Adam + learning_rate: 0.001 + strategy: async + # user-defined pairs + feature_number: 998961 + embedding_dim: 16 + fc_sizes: [400,400,400] + use_residual: True + scaling: True + use_wide: False + use_sparse: True + head_num: 2 + num_field: 39 + attn_layer_sizes: [64,64,64] + distributed_embedding: 0 diff --git a/models/rank/autoint/criteo_reader.py b/models/rank/autoint/criteo_reader.py new file mode 100644 index 000000000..f9eeca114 --- /dev/null +++ b/models/rank/autoint/criteo_reader.py @@ -0,0 +1,60 @@ +# 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. + +from __future__ import print_function +import numpy as np +import paddle +import os +from paddle.io import IterableDataset + + +class RecDataset(IterableDataset): + def __init__(self, file_list, config): + super(RecDataset, self).__init__() + self.file_list = file_list + if config: + use_fleet = config.get("runner.use_fleet", False) + self.inference = config.get("runner.inference", False) + else: + use_fleet = False + if use_fleet: + worker_id = paddle.distributed.get_rank() + worker_num = paddle.distributed.get_world_size() + file_num = len(file_list) + if file_num < worker_num: + raise ValueError( + "The number of data files is less than the number of workers" + ) + blocksize = int(file_num / worker_num) + self.file_list = file_list[worker_id * blocksize:(worker_id + 1) * + blocksize] + remainder = file_num - (blocksize * worker_num) + if worker_id < remainder: + self.file_list.append(file_list[-(worker_id + 1)]) + self.file_name = ['train_i.npy', 'train_x2.npy', 'train_y.npy'] + + def __iter__(self): + for file in self.file_list: + with open(file, 'r') as rf: + for l in rf: + line = l.strip().split(' ') + + output_list = [] + output_list.append(np.array([line[0]]).astype('int64')) + output_list.append(np.array(line[1:40]).astype('int64')) + output_list.append(np.array(line[40:]).astype('float32')) + if self.inference: + yield output_list[1:] + else: + yield output_list diff --git a/models/rank/autoint/data/sample_data/train/sample_train.txt b/models/rank/autoint/data/sample_data/train/sample_train.txt new file mode 100644 index 000000000..7ab4949df --- /dev/null +++ b/models/rank/autoint/data/sample_data/train/sample_train.txt @@ -0,0 +1,100 @@ +0 1 2 3 4 5 6 7 8 9 10 11 12 13 41 1466 2018 177793 306302 306607 306816 318556 319185 319189 360699 365579 540646 543583 543880 554870 720072 720201 724686 726703 726714 899031 899049 899064 955520 955606 2.0000000 0.0000000 1.0000000 6.0000000 44.0000000 20.0000000 1.0000000 2.0000000 30.0000000 1.0000000 1.0000000 1.0000000 14.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1484 2322 177971 306302 306607 307702 318556 319186 319189 360550 365722 540553 543584 544151 555028 720075 720466 724687 726705 726856 899030 899049 899157 955523 955673 0.0000000 2.0000000 41.0000000 0.0000000 119.0000000 0.0000000 0.0000000 2.0000000 17.0000000 0.0000000 0.0000000 0.0000000 2.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +1 1 2 3 4 5 6 7 8 9 10 11 12 13 27 1458 2011 177805 306302 306610 306647 318558 319185 319400 360429 365572 540429 543583 545048 554880 720070 720137 724686 726703 726723 899030 899048 899068 955520 955606 0.0000000 -1.0000000 0.0000000 0.0000000 53.0000000 0.0000000 8.0000000 0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1458 4122 179610 306302 306609 307129 318557 319185 319199 360470 367714 540420 543584 545237 556947 720073 720584 724686 726703 728722 899030 899049 899065 955520 955606 0.0000000 0.0000000 6.0000000 3.0000000 78.0000000 26.0000000 2.0000000 2.0000000 3.0000000 0.0000000 1.0000000 0.0000000 3.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +1 1 2 3 4 5 6 7 8 9 10 11 12 13 16 1458 2269 178117 306303 306607 306964 318556 319185 327056 360605 365840 540607 543583 544684 555160 720074 720649 724686 726703 726982 899030 899049 899372 955520 955606 0.0000000 8.0000000 2.0000000 2.0000000 78.0000000 26.0000000 2.0000000 1.0000000 10.0000000 0.0000000 2.0000000 0.0000000 2.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 48 1852 2024 177804 306305 306608 311170 318556 319185 319189 363135 365586 541825 543585 545549 554879 720072 721052 724687 726705 726722 899030 899052 899064 955542 956892 0.0000000 3.0000000 2.0000000 1.0000000 62.0000000 0.0000000 0.0000000 1.0000000 6.0000000 0.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 20 1468 4352 180637 306302 306607 306797 318564 319186 319249 360426 367944 540410 543583 543789 557387 720070 720171 724687 726706 729144 899030 899049 901529 955522 957467 0.0000000 1.0000000 2.0000000 0.0000000 146.0000000 0.0000000 0.0000000 1.0000000 2.0000000 0.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1531 4565 180216 306303 306607 307105 318571 319185 319189 361158 368156 540741 543585 543877 556991 720070 720168 724687 726705 728767 899030 899048 901220 955523 956513 13.0000000 4.0000000 13.0000000 12.0000000 10.0000000 12.0000000 13.0000000 10.0000000 12.0000000 1.0000000 1.0000000 0.0000000 12.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 21 1458 2013 177794 306302 306607 306633 318563 319186 319189 360424 365574 540413 543583 544457 554865 720078 720347 724686 726703 726709 899031 899048 899066 955520 955606 0.0000000 24.0000000 2.0000000 2.0000000 0.0000000 0.0000000 0.0000000 2.0000000 2.0000000 0.0000000 0.0000000 0.0000000 2.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 34 1458 2021 177801 306304 306609 306731 318556 319185 319485 360976 365583 540569 543584 543893 554876 720072 720123 724686 726703 726719 899030 899048 899076 955520 955606 2.0000000 0.0000000 0.0000000 3.0000000 37.0000000 13.0000000 3.0000000 12.0000000 31.0000000 1.0000000 1.0000000 3.0000000 3.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 17 1462 2028 177811 306302 306607 306849 318556 319185 321067 360692 365591 540695 543586 543714 554883 720070 720134 724698 726705 726727 899031 899048 899084 955522 955619 6.0000000 6.0000000 19.0000000 12.0000000 35.0000000 22.0000000 7.0000000 13.0000000 16.0000000 1.0000000 2.0000000 0.0000000 14.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 21 1459 2016 177797 306303 306608 307470 318557 319185 319297 360648 365577 540653 543586 543617 554868 720073 720093 724689 726705 726712 899030 899048 899065 955521 955609 0.0000000 1.0000000 18.0000000 9.0000000 75.0000000 27.0000000 2.0000000 9.0000000 17.0000000 0.0000000 1.0000000 0.0000000 9.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1488 2011 177795 306302 306607 307407 318556 319185 320051 361142 365572 541094 543583 543757 554863 720071 720207 724690 726706 726707 899030 899050 899067 955524 955607 0.0000000 3.0000000 18.0000000 1.0000000 85.0000000 27.0000000 1.0000000 10.0000000 16.0000000 0.0000000 1.0000000 0.0000000 7.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1471 2011 301805 306302 306607 306629 318556 319185 319194 360413 365572 540408 543584 543619 554863 720076 720091 724688 726704 726707 899030 899048 899138 955522 962753 0.0000000 61.0000000 1.0000000 0.0000000 75.0000000 5.0000000 9.0000000 0.0000000 5.0000000 0.0000000 2.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1535 2500 178220 306302 306610 306628 318566 319185 319189 360567 366076 540415 543584 543948 555411 720073 720172 724686 726703 727221 899030 899049 899065 955520 955606 0.0000000 -1.0000000 0.0000000 0.0000000 79.0000000 11.0000000 1.0000000 0.0000000 11.0000000 0.0000000 2.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1474 57624 179062 306302 306607 306655 318556 319185 319249 360426 421385 540410 543584 543628 556732 720073 720105 724686 726703 780975 899030 899049 899071 955520 955606 0.0000000 8.0000000 7.0000000 4.0000000 70.0000000 0.0000000 0.0000000 4.0000000 4.0000000 0.0000000 0.0000000 0.0000000 4.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +1 1 2 3 4 5 6 7 8 9 10 11 12 13 20 1468 2075 177885 306303 306612 308974 318556 319185 319189 361191 365644 541136 543587 543695 554951 720070 720118 724687 726706 726787 899030 899048 899163 955522 956184 1.0000000 55.0000000 1.0000000 1.0000000 10.0000000 0.0000000 1.0000000 14.0000000 24.0000000 2.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 19 1460 2012 177793 306302 306607 306718 318557 319185 360129 360557 365573 540559 543586 543610 554864 720070 720082 724686 726703 726708 899030 899049 899064 955520 955606 0.0000000 -1.0000000 0.0000000 0.0000000 113.0000000 0.0000000 0.0000000 6.0000000 10.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 16 1547 2193 177900 306304 306607 306902 318556 319185 319199 360466 365766 540422 543584 543872 555082 720071 720301 724686 726703 726907 899030 899049 899111 955520 955606 0.0000000 -1.0000000 0.0000000 0.0000000 56.0000000 32.0000000 1.0000000 0.0000000 9.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1711 2012 177793 306302 306607 306882 318556 319185 319189 360727 365573 540728 543584 545007 554864 720075 720575 724686 726703 726708 899030 899054 899064 955520 955606 0.0000000 1.0000000 1.0000000 3.0000000 112.0000000 0.0000000 0.0000000 4.0000000 31.0000000 0.0000000 0.0000000 0.0000000 4.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1459 2011 181408 306303 306607 310860 318556 319185 332398 360968 365572 540945 543585 544164 554863 720070 720206 724732 726705 726707 899032 899048 899101 955521 955646 0.0000000 2.0000000 15.0000000 6.0000000 77.0000000 21.0000000 6.0000000 5.0000000 20.0000000 0.0000000 1.0000000 0.0000000 6.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 16 1465 2011 177792 306303 306612 307145 318556 319185 319231 360579 365572 540580 543591 543785 554863 720070 720083 724688 726704 726707 899030 899048 943173 955541 990085 0.0000000 -1.0000000 10.0000000 0.0000000 91.0000000 36.0000000 3.0000000 2.0000000 15.0000000 0.0000000 2.0000000 0.0000000 2.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +1 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1490 2012 177793 306306 306609 306889 318556 319185 319192 361573 365573 540737 543584 544010 554864 720077 720289 724686 726703 726708 899033 899049 899064 955520 955606 0.0000000 2.0000000 1.0000000 8.0000000 63.0000000 37.0000000 3.0000000 15.0000000 21.0000000 0.0000000 1.0000000 1.0000000 8.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +1 1 2 3 4 5 6 7 8 9 10 11 12 13 21 1623 2013 177794 306304 306607 312404 318557 319185 319189 363002 365574 542574 543583 546256 554865 720075 720317 724686 726703 726709 899031 899048 899066 955520 955606 0.0000000 25.0000000 0.0000000 2.0000000 48.0000000 0.0000000 0.0000000 6.0000000 12.0000000 0.0000000 0.0000000 0.0000000 2.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 20 1458 2210 177948 306302 306609 306635 318556 319186 319189 360425 365783 540410 543584 544140 555100 720078 720479 724686 726703 726925 899030 899053 899212 955520 955606 0.0000000 26.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1485 2018 177793 306302 306607 306661 318556 319185 319401 360422 365579 540423 543583 543673 554870 720073 720104 724686 726703 726714 899030 899049 899064 955520 955606 0.0000000 0.0000000 1.0000000 0.0000000 82.0000000 14.0000000 2.0000000 0.0000000 6.0000000 0.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 21 1488 2011 177792 306302 306608 311744 318556 319185 319284 361736 365572 541184 543583 543688 554863 720074 720116 724687 726706 726707 899030 899049 899070 955522 955608 0.0000000 7.0000000 1.0000000 1.0000000 75.0000000 14.0000000 2.0000000 2.0000000 12.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 16 1504 2013 177794 306302 306608 306645 318556 319185 319189 360443 365574 540441 543585 543871 554865 720070 720128 724687 726706 726709 899030 899048 899066 955521 974597 0.0000000 2.0000000 4.0000000 6.0000000 87.0000000 14.0000000 5.0000000 8.0000000 14.0000000 0.0000000 1.0000000 0.0000000 8.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 23 1463 2015 177796 306304 306607 307161 318571 319185 319385 360643 365576 540648 543584 543627 554867 720070 720086 724686 726703 726711 899030 899049 899069 955520 955606 0.0000000 -1.0000000 1.0000000 0.0000000 72.0000000 29.0000000 3.0000000 4.0000000 54.0000000 0.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1475 2120 177807 306303 306610 306755 318556 319185 319843 360598 365605 540598 543585 543925 554886 720076 720338 724686 726703 726743 899030 899048 899079 955520 955606 0.0000000 8.0000000 0.0000000 1.0000000 64.0000000 0.0000000 0.0000000 0.0000000 17.0000000 0.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 17 1460 2012 177793 306303 306607 316356 318557 319185 319189 363878 365573 543143 543585 543683 554864 720070 720164 724686 726703 726708 899032 899049 899064 955520 955606 0.0000000 -1.0000000 0.0000000 0.0000000 82.0000000 34.0000000 4.0000000 0.0000000 21.0000000 0.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 16 1458 2021 177801 306302 306607 308029 318556 319185 319189 360904 365583 540561 543584 543810 554876 720073 720152 724686 726703 726719 899031 899054 899076 955520 955606 0.0000000 3.0000000 6.0000000 0.0000000 57.0000000 43.0000000 1.0000000 10.0000000 25.0000000 0.0000000 1.0000000 0.0000000 7.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +1 1 2 3 4 5 6 7 8 9 10 11 12 13 16 1549 2011 177798 306302 306607 306634 318556 319185 319189 360427 365572 540424 543584 544657 554890 720072 720189 724686 726703 726864 899031 899048 899068 955520 955606 1.0000000 14.0000000 1.0000000 1.0000000 1.0000000 2.0000000 5.0000000 6.0000000 14.0000000 1.0000000 1.0000000 5.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 141 1564 2071 177873 306302 306609 307182 318556 319185 319511 360619 365639 540623 543584 543913 554940 720070 720334 724686 726703 726783 899030 899048 899083 955520 955606 0.0000000 1.0000000 2.0000000 4.0000000 98.0000000 25.0000000 12.0000000 8.0000000 21.0000000 0.0000000 2.0000000 0.0000000 4.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 17 1522 6115 182875 306302 306607 307256 318556 319185 320308 360504 369748 540510 543584 543895 559326 720076 720181 724687 726706 730987 899030 899048 899849 955524 956209 0.0000000 20.0000000 9.0000000 1.0000000 72.0000000 0.0000000 0.0000000 8.0000000 26.0000000 0.0000000 0.0000000 0.0000000 8.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 16 1472 2011 177981 306303 306610 306808 318556 319185 319769 360455 365572 540456 543583 543746 554863 720073 720151 724687 726705 726707 899033 899048 899204 955523 955641 0.0000000 1.0000000 8.0000000 2.0000000 78.0000000 26.0000000 1.0000000 2.0000000 19.0000000 0.0000000 1.0000000 0.0000000 2.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 16 1485 2012 177793 306302 306610 306709 318556 319185 319197 360417 365573 540414 543584 543668 554864 720071 720104 724686 726703 726708 899030 899048 899064 955520 955606 0.0000000 11.0000000 0.0000000 0.0000000 112.0000000 44.0000000 0.0000000 2.0000000 19.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +1 1 2 3 4 5 6 7 8 9 10 11 12 13 17 1687 2011 180406 306302 306609 306663 318556 319185 321213 360429 365572 540429 543594 545038 554863 720072 720725 724686 726703 726707 899030 899049 899638 955520 955606 1.0000000 6.0000000 5.0000000 2.0000000 10.0000000 2.0000000 14.0000000 3.0000000 53.0000000 1.0000000 8.0000000 1.0000000 2.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 21 1491 2011 177798 306302 306607 311609 318556 319185 319974 361325 365587 541246 543584 543630 554873 720074 720109 724686 726703 726717 899030 899048 899068 955520 955606 0.0000000 0.0000000 5.0000000 5.0000000 82.0000000 31.0000000 2.0000000 5.0000000 44.0000000 0.0000000 1.0000000 0.0000000 5.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +1 1 2 3 4 5 6 7 8 9 10 11 12 13 22 1517 2699 178165 306302 306609 307007 318556 319185 319189 360726 366276 540717 543585 543854 555642 720070 720149 724687 726705 727432 899030 899054 899341 955535 955698 1.0000000 0.0000000 52.0000000 3.0000000 7.0000000 1.0000000 1.0000000 5.0000000 4.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 16 1502 2087 177908 306302 306612 308331 318556 319185 319189 361845 365657 541690 543586 544187 554970 720073 720294 724687 726706 726802 899034 899048 899175 955521 956333 0.0000000 2.0000000 6.0000000 0.0000000 110.0000000 25.0000000 1.0000000 0.0000000 25.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 16 1461 2011 178877 306302 306607 311996 318556 319185 335651 362737 365572 542391 543583 543614 560731 720074 720084 724687 726706 726707 899030 899048 900004 955521 956348 3.0000000 -1.0000000 0.0000000 0.0000000 35.0000000 5.0000000 23.0000000 5.0000000 26.0000000 1.0000000 6.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1479 2073 177883 306302 306608 306897 318556 319185 319189 360487 365642 540491 543585 544347 554949 720070 720199 724687 726705 726785 899030 899053 899160 955553 955697 0.0000000 4.0000000 5.0000000 6.0000000 53.0000000 14.0000000 1.0000000 14.0000000 21.0000000 0.0000000 1.0000000 0.0000000 6.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 22 1458 10420 187645 306302 306607 308330 318556 319185 319189 361637 374140 540984 543585 546693 563810 720070 721786 724686 726703 735458 899030 899049 899480 955520 955606 0.0000000 6.0000000 2.0000000 1.0000000 80.0000000 33.0000000 4.0000000 3.0000000 20.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 16 1504 2014 177796 306306 306609 306793 318556 319185 319189 360570 365575 540572 543584 543748 554866 720075 720128 724687 726705 726710 899031 899054 899069 955521 955688 0.0000000 20.0000000 1.0000000 0.0000000 111.0000000 0.0000000 0.0000000 1.0000000 8.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1501 2011 177795 306302 306607 307447 318556 319185 319481 360458 365572 540461 543583 543644 554863 720070 720124 724688 726704 726707 899030 899050 899067 955521 955607 0.0000000 16.0000000 1.0000000 2.0000000 51.0000000 20.0000000 4.0000000 1.0000000 32.0000000 0.0000000 1.0000000 0.0000000 8.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 24 1460 2012 177793 306303 306610 307251 318556 319186 319189 361064 365573 540631 543586 543610 554864 720078 720082 724686 726703 726708 899031 899052 899064 955520 955606 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.0000000 8.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 41 1458 2011 177792 306302 306607 307417 318556 319185 319199 360875 365572 540522 543584 543949 554863 720070 720360 724686 726703 726707 899030 899048 899073 955520 955606 0.0000000 7.0000000 1.0000000 12.0000000 54.0000000 25.0000000 11.0000000 9.0000000 51.0000000 0.0000000 4.0000000 0.0000000 18.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +1 1 2 3 4 5 6 7 8 9 10 11 12 13 17 1500 2011 177792 306302 306607 307009 318556 319185 325830 360842 365572 540842 543585 543850 554863 720072 720125 724687 726704 726707 899030 899048 899070 955521 955608 0.0000000 2.0000000 10.0000000 0.0000000 64.0000000 16.0000000 1.0000000 4.0000000 7.0000000 0.0000000 1.0000000 0.0000000 3.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 17 1484 6270 183061 306302 306613 306649 318566 319185 320493 360414 369910 540411 543584 544151 559483 720070 720466 724687 726705 731151 899030 899048 900023 955523 955673 5.0000000 1.0000000 5.0000000 6.0000000 23.0000000 7.0000000 6.0000000 8.0000000 30.0000000 1.0000000 2.0000000 0.0000000 7.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1460 2012 177793 306306 306610 311824 318557 319185 321509 362511 365573 542211 543586 543610 554864 720071 720082 724686 726703 726708 899030 899049 899064 955520 955606 0.0000000 0.0000000 3.0000000 2.0000000 95.0000000 0.0000000 0.0000000 2.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 21 1472 9990 187200 306302 306609 307473 318562 319185 319189 361169 373710 541116 543584 543739 563387 720074 720151 724687 726705 735025 899030 899048 905839 955523 955980 1.0000000 1.0000000 13.0000000 4.0000000 33.0000000 13.0000000 1.0000000 4.0000000 5.0000000 1.0000000 1.0000000 1.0000000 5.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1509 2029 177812 306305 306607 306721 318561 319185 319189 360554 365592 540556 543584 543881 554885 720075 720160 724686 726703 726728 899030 899054 899086 955520 955606 0.0000000 0.0000000 1.0000000 2.0000000 79.0000000 0.0000000 0.0000000 1.0000000 5.0000000 0.0000000 0.0000000 0.0000000 2.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +1 1 2 3 4 5 6 7 8 9 10 11 12 13 21 1458 2011 177792 306303 306610 306634 318556 319185 319189 360427 365572 540424 543589 544328 554863 720072 720491 724686 726703 726707 899030 899049 899327 955520 955606 0.0000000 25.0000000 1.0000000 1.0000000 60.0000000 8.0000000 3.0000000 7.0000000 16.0000000 0.0000000 1.0000000 3.0000000 6.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1461 2011 177797 306302 306609 307778 318556 319186 320752 360527 365572 540530 543583 543651 554884 720070 720089 724687 726706 726707 899030 899048 899065 955521 955610 0.0000000 0.0000000 20.0000000 3.0000000 187.0000000 0.0000000 0.0000000 3.0000000 20.0000000 0.0000000 0.0000000 0.0000000 3.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 19 1474 2429 177822 306303 306607 309847 318556 319185 319189 361592 366001 541479 543584 543628 554921 720073 720105 724686 726703 726890 899030 899048 899071 955520 955606 0.0000000 10.0000000 2.0000000 2.0000000 84.0000000 0.0000000 0.0000000 9.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1459 2016 177797 306302 306607 306921 318556 319185 320130 360770 365577 540775 543586 543617 554868 720070 720093 724689 726705 726712 899030 899048 899065 955521 955609 1.0000000 8.0000000 8.0000000 5.0000000 35.0000000 10.0000000 11.0000000 9.0000000 33.0000000 1.0000000 3.0000000 0.0000000 5.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 16 1458 2011 178577 306306 306607 311688 318556 319185 319189 363420 365572 542869 543585 544760 554863 720074 720668 724686 726703 726707 899031 899049 899508 955520 955606 0.0000000 0.0000000 1.0000000 2.0000000 51.0000000 22.0000000 10.0000000 6.0000000 26.0000000 0.0000000 2.0000000 1.0000000 2.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 21 1715 19396 178611 306303 306607 307258 318563 319185 319189 361072 366220 541035 543585 550815 555574 720070 720587 724686 726703 727374 899030 899057 899087 955520 955606 0.0000000 -1.0000000 0.0000000 0.0000000 102.0000000 22.0000000 9.0000000 5.0000000 8.0000000 0.0000000 2.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 16 1479 116510 269396 306305 306608 307375 318556 319185 319189 360526 479591 540529 543585 543703 665430 720070 720111 724687 726705 839709 899030 899054 909659 955525 955615 0.0000000 17.0000000 4.0000000 4.0000000 111.0000000 13.0000000 1.0000000 5.0000000 6.0000000 0.0000000 0.0000000 0.0000000 4.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 16 1458 2011 177899 306302 306610 306642 318556 319186 319189 360440 365572 540426 543584 544546 554963 720078 720288 724686 726703 727171 899033 899054 899170 955520 955606 0.0000000 58.0000000 4.0000000 1.0000000 0.0000000 0.0000000 0.0000000 2.0000000 3.0000000 0.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1462 2011 177792 306302 306608 306872 318556 319185 319330 360553 365572 540555 543583 543624 554863 720070 720092 724709 726704 726707 899030 899048 904935 955522 960794 1.0000000 14.0000000 2.0000000 0.0000000 5.0000000 0.0000000 5.0000000 1.0000000 3.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 22 1489 2022 177802 306307 306608 307620 318556 319185 326773 360759 365584 540761 543583 543633 554877 720070 720106 724687 726705 726720 899030 899048 899065 955521 955611 1.0000000 -1.0000000 0.0000000 0.0000000 40.0000000 4.0000000 6.0000000 6.0000000 17.0000000 1.0000000 2.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1465 2686 178681 306302 306609 308537 318557 319185 323497 360635 366263 540642 543584 543623 555629 720073 720083 724687 726706 727418 899030 899053 899729 955528 956077 0.0000000 0.0000000 1.0000000 1.0000000 60.0000000 8.0000000 2.0000000 6.0000000 6.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 16 1463 2012 177793 306302 306611 307302 318557 319185 330649 360764 365573 540769 543584 543658 554864 720076 720126 724686 726703 726708 899030 899054 899064 955520 955606 0.0000000 5.0000000 3.0000000 5.0000000 106.0000000 0.0000000 0.0000000 6.0000000 18.0000000 0.0000000 0.0000000 0.0000000 5.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +1 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1461 2020 177797 306302 306607 306630 318556 319185 319192 360483 365582 540421 543584 543647 554874 720070 720089 724687 726705 726718 899030 899049 899065 955521 955612 8.0000000 -1.0000000 2.0000000 1.0000000 36.0000000 11.0000000 8.0000000 13.0000000 19.0000000 2.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 16 1560 2564 177860 306302 306609 306673 318556 319185 320209 360434 366140 540435 543583 544088 555482 720070 720218 724686 726703 727290 899030 899052 899136 955520 955606 7.0000000 1.0000000 5.0000000 4.0000000 52.0000000 8.0000000 13.0000000 8.0000000 24.0000000 0.0000000 1.0000000 0.0000000 7.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 17 1499 2195 178032 306302 306610 307370 318556 319185 319191 360875 365768 540522 543583 543715 555084 720070 720131 724691 726704 726909 899032 899049 899070 955531 955608 0.0000000 1.0000000 14.0000000 7.0000000 53.0000000 15.0000000 1.0000000 14.0000000 17.0000000 0.0000000 2.0000000 0.0000000 7.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1475 39456 178050 306302 306610 310130 318556 319185 319211 361330 366918 541251 543583 544137 555827 720074 720231 724686 726703 728002 899031 899049 899108 955520 955606 6.0000000 5.0000000 2.0000000 4.0000000 49.0000000 5.0000000 7.0000000 5.0000000 11.0000000 0.0000000 2.0000000 1.0000000 4.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 57 1458 2021 177801 306305 306607 307472 318557 319185 319189 360520 365583 540525 543584 544771 554876 720071 720152 724686 726703 726719 899031 899054 899076 955520 955606 1.0000000 62.0000000 1.0000000 0.0000000 2.0000000 0.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1498 2016 177797 306304 306607 306628 318568 319185 319189 360815 365577 540415 543583 543783 554868 720071 720122 724687 726705 726712 899030 899048 899065 955521 955648 1.0000000 2.0000000 1.0000000 3.0000000 46.0000000 11.0000000 1.0000000 8.0000000 21.0000000 1.0000000 2.0000000 0.0000000 5.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 16 1478 2011 178579 306302 306608 306906 318556 319185 319189 360531 365572 540533 543584 543648 560114 720070 720097 724687 726704 726707 899030 899048 899489 955525 955908 0.0000000 16.0000000 5.0000000 7.0000000 67.0000000 10.0000000 2.0000000 4.0000000 10.0000000 0.0000000 1.0000000 0.0000000 7.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1466 2015 177796 306304 306607 306738 318556 319185 319191 360522 365576 540422 543584 543615 554867 720070 720087 724686 726703 726711 899030 899048 899069 955520 955606 0.0000000 1.0000000 2.0000000 2.0000000 10.0000000 0.0000000 0.0000000 2.0000000 2.0000000 0.0000000 0.0000000 0.0000000 2.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +1 1 2 3 4 5 6 7 8 9 10 11 12 13 16 1477 2011 177792 306302 306612 309059 318556 319185 320934 361179 365572 541126 543583 543721 554863 720073 720096 724687 726706 726707 899030 899048 902078 955526 958026 0.0000000 5.0000000 1.0000000 0.0000000 91.0000000 22.0000000 1.0000000 0.0000000 8.0000000 0.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +1 1 2 3 4 5 6 7 8 9 10 11 12 13 16 1498 2011 177792 306304 306607 307171 318556 319185 319334 360498 365572 540502 543585 543766 554863 720074 720122 724687 726705 726707 899030 899048 908053 955521 955615 0.0000000 0.0000000 4.0000000 2.0000000 43.0000000 0.0000000 0.0000000 4.0000000 5.0000000 0.0000000 0.0000000 1.0000000 2.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +1 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1522 3738 179976 306304 306610 313141 318557 319185 335898 363257 367333 542765 543583 543820 556769 720070 720165 724687 726706 728545 899032 899052 901020 955524 957079 3.0000000 17.0000000 14.0000000 7.0000000 3.0000000 5.0000000 5.0000000 10.0000000 15.0000000 1.0000000 1.0000000 0.0000000 5.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +1 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1482 2889 178946 306306 306612 307117 318561 319185 320761 360701 366470 540701 543589 543667 555843 720070 720098 724706 726704 727635 899030 899048 899467 955530 955890 1.0000000 0.0000000 0.0000000 0.0000000 27.0000000 4.0000000 2.0000000 2.0000000 7.0000000 1.0000000 2.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1568 2011 204128 306302 306607 308431 318556 319185 319189 360873 365572 540804 543583 543885 554863 720075 720211 724687 726705 726707 899030 899054 900320 955521 960990 2.0000000 1.0000000 20.0000000 11.0000000 31.0000000 11.0000000 2.0000000 11.0000000 11.0000000 1.0000000 1.0000000 0.0000000 11.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1538 12919 190274 306320 306609 307539 318560 319185 321693 360538 376655 540542 543583 543845 566409 720071 720185 724687 726706 738004 899030 899051 899070 955546 958409 0.0000000 23.0000000 24.0000000 0.0000000 77.0000000 31.0000000 1.0000000 0.0000000 21.0000000 0.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1476 2011 177799 306302 306609 309264 318557 319185 324476 362243 365580 542019 543584 543642 554871 720070 720095 724686 726703 726715 899031 899048 899068 955520 955606 0.0000000 -1.0000000 0.0000000 0.0000000 112.0000000 0.0000000 0.0000000 8.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1648 2012 177793 306302 306607 306800 318559 319185 319189 360417 365573 540414 543583 544080 554864 720075 720446 724686 726703 726708 899030 899049 899064 955520 955606 0.0000000 20.0000000 0.0000000 0.0000000 53.0000000 0.0000000 0.0000000 3.0000000 5.0000000 0.0000000 0.0000000 0.0000000 2.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 17 1603 2011 178122 306303 306607 306798 318556 319185 319189 360607 365572 540609 543584 544082 555245 720070 720276 724687 726706 726707 899030 899048 899388 955534 955800 0.0000000 1.0000000 2.0000000 2.0000000 112.0000000 56.0000000 0.0000000 2.0000000 47.0000000 0.0000000 0.0000000 0.0000000 3.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +1 1 2 3 4 5 6 7 8 9 10 11 12 13 36 1459 2011 177792 306302 306607 306630 318569 319185 319192 360691 365572 540421 543584 543818 554863 720072 720206 725713 726705 726707 899032 899049 899101 955521 955646 0.0000000 0.0000000 6.0000000 6.0000000 53.0000000 6.0000000 34.0000000 3.0000000 36.0000000 0.0000000 5.0000000 6.0000000 6.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 23 1713 3976 178192 306303 306610 310651 318563 319185 319986 361580 367422 541467 543597 544803 555404 720074 720645 724686 726703 727759 899030 899049 899449 955520 955606 0.0000000 0.0000000 0.0000000 3.0000000 95.0000000 26.0000000 2.0000000 1.0000000 28.0000000 0.0000000 1.0000000 0.0000000 3.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +1 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1476 2011 177799 306302 306609 306636 318556 319185 319433 360417 365580 540414 543584 543625 554871 720070 720095 724686 726703 726715 899030 899049 899068 955520 955606 0.0000000 7.0000000 4.0000000 4.0000000 51.0000000 40.0000000 2.0000000 14.0000000 40.0000000 0.0000000 1.0000000 0.0000000 4.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +1 1 2 3 4 5 6 7 8 9 10 11 12 13 17 1479 49480 222329 306302 306608 306669 318556 319185 319729 360462 413220 540464 543583 546440 602571 720070 720553 724687 726706 774427 899030 899048 923843 955525 955631 0.0000000 0.0000000 2.0000000 2.0000000 112.0000000 11.0000000 1.0000000 2.0000000 10.0000000 0.0000000 0.0000000 0.0000000 2.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1463 2015 177796 306302 306607 312175 318577 319185 319189 363098 365576 542653 543583 543639 554867 720075 720085 724686 726703 726711 899030 899051 899069 955520 955606 0.0000000 1.0000000 0.0000000 6.0000000 39.0000000 0.0000000 0.0000000 6.0000000 6.0000000 0.0000000 0.0000000 0.0000000 6.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1481 3639 179855 306302 306609 306673 318556 319185 319404 360434 367237 540435 543588 544528 556671 720070 720099 724724 726704 728446 899030 899050 899575 955526 955664 0.0000000 -1.0000000 12.0000000 9.0000000 53.0000000 18.0000000 1.0000000 14.0000000 26.0000000 0.0000000 2.0000000 0.0000000 12.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1465 2016 177797 306305 306607 306653 318556 319185 323350 360448 365577 540451 543583 543616 554868 720070 720083 724689 726705 726712 899030 899049 899065 955521 955609 1.0000000 0.0000000 14.0000000 7.0000000 7.0000000 5.0000000 2.0000000 6.0000000 30.0000000 1.0000000 1.0000000 0.0000000 5.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1478 2011 177792 306302 306607 306769 318562 319185 320412 360428 365572 540428 543583 543649 554863 720077 720097 724866 726706 726707 899030 899051 899063 955525 997441 0.0000000 1.0000000 7.0000000 5.0000000 107.0000000 16.0000000 0.0000000 9.0000000 12.0000000 0.0000000 0.0000000 0.0000000 9.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 16 1460 2012 177793 306302 306610 306651 318558 319185 319189 360418 365573 540417 543586 543610 554864 720075 720082 724686 726703 726708 899032 899052 899064 955520 955606 0.0000000 8.0000000 6.0000000 2.0000000 87.0000000 0.0000000 0.0000000 2.0000000 10.0000000 0.0000000 0.0000000 0.0000000 2.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 16 1463 2017 177796 306304 306607 311177 318557 319185 319189 363219 365578 542738 543585 543694 554869 720076 720085 724686 726703 726713 899030 899048 899069 955520 955606 0.0000000 6.0000000 0.0000000 2.0000000 88.0000000 0.0000000 0.0000000 6.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1458 2011 182385 306309 306607 306641 318556 319185 319275 360436 365572 540437 543588 546877 554863 720070 720985 724686 726703 726707 899031 899048 900103 955520 955606 0.0000000 13.0000000 1.0000000 2.0000000 79.0000000 30.0000000 4.0000000 4.0000000 19.0000000 0.0000000 1.0000000 0.0000000 4.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1458 2011 177792 306302 306613 306857 318557 319185 319327 360442 365572 540443 543584 543883 554863 720070 720315 724686 726703 726707 899031 899053 899073 955520 955606 0.0000000 48.0000000 0.0000000 1.0000000 45.0000000 5.0000000 23.0000000 5.0000000 15.0000000 0.0000000 3.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 16 1773 2013 177794 306303 306607 306656 318557 319185 319204 360418 365574 540417 543587 545686 554865 720074 720764 724686 726703 726709 899032 899048 899066 955520 955606 1.0000000 24.0000000 0.0000000 2.0000000 1.0000000 0.0000000 8.0000000 2.0000000 16.0000000 1.0000000 3.0000000 0.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 0.0000000 +1 1 2 3 4 5 6 7 8 9 10 11 12 13 16 1511 2011 180513 306303 306607 306638 318556 319185 320669 360419 365572 540418 543587 543906 554863 720070 720325 724686 726703 726707 899030 899050 899323 955520 955606 0.0000000 18.0000000 0.0000000 0.0000000 106.0000000 35.0000000 0.0000000 1.0000000 31.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1482 2011 177792 306302 306611 306653 318556 319185 327115 360448 365572 540451 543583 543666 554863 720070 720098 724688 726704 726707 899030 899050 914284 955521 955747 2.0000000 1.0000000 3.0000000 5.0000000 5.0000000 5.0000000 8.0000000 13.0000000 27.0000000 1.0000000 4.0000000 0.0000000 5.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 +0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1475 2151 177983 306302 306609 306755 318557 319185 319644 360598 365725 540598 543584 544636 555039 720070 720760 724686 726703 726867 899030 899048 899079 955520 955606 0.0000000 11.0000000 0.0000000 0.0000000 82.0000000 30.0000000 1.0000000 0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 +1 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1458 2013 177794 306302 306612 306679 318556 319185 319214 360435 365574 540436 543585 546747 554865 720070 721194 724686 726703 726709 899030 899048 899066 955520 955606 0.0000000 -1.0000000 0.0000000 0.0000000 105.0000000 14.0000000 2.0000000 0.0000000 1.0000000 0.0000000 2.0000000 0.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 +1 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1483 2017 177796 306303 306609 306880 318557 319185 319370 360453 365578 540455 543584 543637 554869 720070 720113 724686 726703 726713 899030 899053 899069 955520 955606 0.0000000 2.0000000 0.0000000 0.0000000 112.0000000 0.0000000 0.0000000 2.0000000 15.0000000 0.0000000 0.0000000 0.0000000 2.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 diff --git a/models/rank/autoint/dygraph_model.py b/models/rank/autoint/dygraph_model.py new file mode 100644 index 000000000..5ec977fc6 --- /dev/null +++ b/models/rank/autoint/dygraph_model.py @@ -0,0 +1,93 @@ +# 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 paddle +import paddle.nn as nn +import paddle.nn.functional as F +import math + +import net + + +class DygraphModel(): + # define model + def create_model(self, config): + feature_number = config.get("hyper_parameters.feature_number") + embedding_dim = config.get("hyper_parameters.embedding_dim") + fc_sizes = config.get("hyper_parameters.fc_sizes") + use_residual = config.get("hyper_parameters.use_residual") + scaling = config.get("hyper_parameters.scaling") + use_wide = config.get("hyper_parameters.use_wide") + use_sparse = config.get("hyper_parameters.use_sparse") + head_num = config.get("hyper_parameters.head_num") + num_field = config.get("hyper_parameters.num_field") + attn_layer_sizes = config.get("hyper_parameters.attn_layer_sizes") + + autoint_model = net.AutoInt( + feature_number, embedding_dim, fc_sizes, use_residual, scaling, + use_wide, use_sparse, head_num, num_field, attn_layer_sizes) + return autoint_model + + # define feeds which convert numpy of batch data to paddle.tensor + def create_feeds(self, batch_data, config): + label = paddle.to_tensor(batch_data[0], dtype='int64') + feat_index = paddle.to_tensor(batch_data[1], dtype='int64') + feat_value = paddle.to_tensor(batch_data[2], dtype='float32') + return label, feat_index, feat_value + + # define loss function by predicts and label + def create_loss(self, pred, label): + cost = paddle.nn.functional.log_loss( + input=pred, label=paddle.cast( + label, dtype="float32")) + avg_cost = paddle.mean(x=cost) + return avg_cost + + # define optimizer + def create_optimizer(self, dy_model, config): + lr = config.get("hyper_parameters.optimizer.learning_rate", 0.001) + optimizer = paddle.optimizer.Adam( + learning_rate=lr, parameters=dy_model.parameters()) + return optimizer + + # define metrics such as auc/acc + # multi-task need to define multi metric + def create_metrics(self): + metrics_list_name = ["auc"] + auc_metric = paddle.metric.Auc("ROC") + metrics_list = [auc_metric] + return metrics_list, metrics_list_name + + # construct train forward phase + def train_forward(self, dy_model, metrics_list, batch_data, config): + label, feat_index, feat_value = self.create_feeds(batch_data, config) + + pred = dy_model.forward(feat_index, feat_value) + loss = self.create_loss(pred, label) + # update metrics + predict_2d = paddle.concat(x=[1 - pred, pred], axis=1) + metrics_list[0].update(preds=predict_2d.numpy(), labels=label.numpy()) + + print_dict = {'loss': loss} + # print_dict = None + return loss, metrics_list, print_dict + + def infer_forward(self, dy_model, metrics_list, batch_data, config): + label, feat_index, feat_value = self.create_feeds(batch_data, config) + + pred = dy_model.forward(feat_index, feat_value) + # update metrics + predict_2d = paddle.concat(x=[1 - pred, pred], axis=1) + metrics_list[0].update(preds=predict_2d.numpy(), labels=label.numpy()) + return metrics_list, None diff --git a/models/rank/autoint/net.py b/models/rank/autoint/net.py new file mode 100644 index 000000000..520b7b435 --- /dev/null +++ b/models/rank/autoint/net.py @@ -0,0 +1,213 @@ +# Copyright (c) 2022 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 paddle +import paddle.nn as nn +import paddle.nn.functional as F +import math + + +class InteractingLayer(nn.Layer): + def __init__(self, embedding_size, interact_layer_size, head_num, + use_residual, scaling): + super(InteractingLayer, self).__init__() + self.attn_emb_size = interact_layer_size // head_num + self.head_num = head_num + self.use_residual = use_residual + self.scaling = scaling + self.W_Query = paddle.create_parameter( + shape=[embedding_size, interact_layer_size], + dtype='float32', + default_initializer=paddle.nn.initializer.XavierUniform()) + self.W_Key = paddle.create_parameter( + shape=[embedding_size, interact_layer_size], + dtype='float32', + default_initializer=paddle.nn.initializer.XavierUniform()) + self.W_Value = paddle.create_parameter( + shape=[embedding_size, interact_layer_size], + dtype='float32', + default_initializer=paddle.nn.initializer.XavierUniform()) + + if self.use_residual: + self.W_Res = paddle.create_parameter( + shape=[embedding_size, interact_layer_size], + dtype='float32', + default_initializer=paddle.nn.initializer.XavierUniform()) + self.layer_norm = paddle.nn.LayerNorm( + interact_layer_size, epsilon=1e-08) + + def forward(self, inputs): + querys = F.relu(paddle.einsum('bnk,kj->bnj', inputs, self.W_Query)) + keys = F.relu(paddle.einsum('bnk,kj->bnj', inputs, self.W_Key)) + values = F.relu(paddle.einsum('bnk,kj->bnj', inputs, self.W_Value)) + + q = paddle.stack(paddle.split(querys, self.head_num, axis=2)) + k = paddle.stack(paddle.split(keys, self.head_num, axis=2)) + v = paddle.stack(paddle.split(values, self.head_num, axis=2)) + + inner_prod = paddle.einsum('bnik,bnjk->bnij', q, k) + if self.scaling: + inner_prod /= self.attn_emb_size**0.5 + self.normalized_attn_scores = F.softmax(inner_prod, axis=-1) + result = paddle.matmul(self.normalized_attn_scores, v) + + result = paddle.concat( + paddle.split(result, self.head_num), axis=-1).squeeze(axis=0) + if self.use_residual: + result += F.relu(paddle.einsum('bnk,kj->bnj', inputs, self.W_Res)) + result = F.relu(result) + result = self.layer_norm(result) + return result + + +class EmbeddingLayer(nn.Layer): + def __init__(self, feature_number, embedding_dim, num_field, fc_sizes, + use_wide, use_sparse): + super(EmbeddingLayer, self).__init__() + self.feature_number = feature_number + self.embedding_dim = embedding_dim + self.num_field = num_field + self.use_wide = use_wide + self.fc_sizes = fc_sizes + + self.feature_embeddings = paddle.nn.Embedding( + self.feature_number, + self.embedding_dim, + sparse=use_sparse, + weight_attr=paddle.ParamAttr( + initializer=paddle.nn.initializer.Normal(0, 0.01))) + if self.use_wide: + self.feature_bias = paddle.nn.Embedding( + self.feature_number, + 1, + sparse=use_sparse, + weight_attr=paddle.ParamAttr( + initializer=paddle.nn.initializer.Normal(0, 0.001))) + if len(self.fc_sizes) > 0: + self.dnn_layers = [] + linear = paddle.nn.Linear( + in_features=num_field * embedding_dim, + out_features=fc_sizes[0], + weight_attr=paddle.ParamAttr( + initializer=paddle.nn.initializer.Normal( + 0, + math.sqrt(2. / + (num_field * embedding_dim + fc_sizes[0])))), + bias_attr=paddle.nn.initializer.Normal( + 0, + math.sqrt(2. / (num_field * embedding_dim + fc_sizes[0])))) + self.add_sublayer('linear_0', linear) + self.add_sublayer('relu_0', paddle.nn.ReLU()) + self.dnn_layers.append(linear) + for i in range(1, len(fc_sizes)): + linear = paddle.nn.Linear( + in_features=fc_sizes[i - 1], + out_features=fc_sizes[i], + weight_attr=paddle.ParamAttr( + initializer=paddle.nn.initializer.Normal( + 0, math.sqrt(2. / + (fc_sizes[i - 1] + fc_sizes[i])))), + bias_attr=paddle.nn.initializer.Normal( + 0, math.sqrt(2. / (fc_sizes[i - 1] + fc_sizes[i])))) + self.add_sublayer('linear_%d' % i, linear) + self.dnn_layers.append(linear) + norm = paddle.nn.BatchNorm( + fc_sizes[i], + is_test=self.training, + momentum=0.99, + epsilon=0.001) + self.add_sublayer('norm_%d' % i, norm) + self.dnn_layers.append(norm) + act = paddle.nn.ReLU() + self.add_sublayer('relu_%d' % i, act) + self.dnn_layers.append(act) + self.add_sublayer('dropout_%d' % i, paddle.nn.Dropout()) + linear = paddle.nn.Linear( + in_features=fc_sizes[-1], + out_features=1, + weight_attr=paddle.ParamAttr( + initializer=paddle.nn.initializer.Normal( + 0, math.sqrt(2. / (fc_sizes[-1] + 1)))), + bias_attr=paddle.nn.initializer.Normal()) + self.add_sublayer('pred_dense', linear) + self.dnn_layers.append(linear) + + def forward(self, feat_index, feat_value): + emb = self.feature_embeddings(feat_index) + x = feat_value.reshape(shape=[-1, self.num_field, 1]) + emb = paddle.multiply(emb, x) + + if self.use_wide: + y_first_order = paddle.sum( + paddle.multiply(self.feature_bias(feat_index), x), axis=1) + else: + y_first_order = None + + if len(self.fc_sizes) > 0: + y_dense = emb.reshape( + shape=[-1, self.num_field * self.embedding_dim]) + for layer in self.dnn_layers: + y_dense = layer(y_dense) + else: + y_dense = None + return emb, y_first_order, y_dense + + +class AutoInt(nn.Layer): + def __init__(self, feature_number, embedding_dim, fc_sizes, use_residual, + scaling, use_wide, use_sparse, head_num, num_field, + attn_layer_sizes): + super(AutoInt, self).__init__() + self.embedding_dim = embedding_dim + self.num_field = num_field + self.output_size = attn_layer_sizes[-1] + self.use_wide = use_wide + self.fc_sizes = fc_sizes + self.emb_layer = EmbeddingLayer(feature_number, embedding_dim, + num_field, fc_sizes, use_wide, + use_sparse) + + self.attn_layer_sizes = [embedding_dim] + attn_layer_sizes + self.iteraction_layers = nn.Sequential(*[ + InteractingLayer(self.attn_layer_sizes[i], + self.attn_layer_sizes[i + 1], head_num, + use_residual, scaling) + for i in range(len(self.attn_layer_sizes) - 1) + ]) + + self.linear = nn.Linear( + self.output_size * self.num_field, + 1, + weight_attr=paddle.ParamAttr( + initializer=paddle.nn.initializer.Normal( + 0, math.sqrt(2. / + (self.output_size * self.num_field + 1)))), + bias_attr=paddle.ParamAttr( + initializer=paddle.nn.initializer.Normal())) + + def forward(self, feat_index, feat_value): + out, y_first_order, y_dense = self.emb_layer(feat_index, feat_value) + + for layer in self.iteraction_layers: + out = layer(out) + + out = paddle.flatten(out, start_axis=1) + out = self.linear(out) + + if self.use_wide: + out += y_first_order + + if len(self.fc_sizes) > 0: + out += y_dense + return F.sigmoid(out) diff --git a/models/rank/autoint/picture/1.JPG b/models/rank/autoint/picture/1.JPG new file mode 100644 index 0000000000000000000000000000000000000000..868a44eeef6817d957a9bf6b1d32293c116ff0f9 GIT binary patch literal 75130 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 literal 0 HcmV?d00001 diff --git a/models/rank/autoint/picture/2.JPG b/models/rank/autoint/picture/2.JPG new file mode 100644 index 0000000000000000000000000000000000000000..4f56c4e3a51be748a5a3fcea86c04d33259b80d2 GIT binary patch literal 35528 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 Z8vP2U(({!J)_)(cem!jcSFXR0|2HR|*f{_I literal 0 HcmV?d00001 diff --git a/models/rank/autoint/picture/3.JPG b/models/rank/autoint/picture/3.JPG new file mode 100644 index 0000000000000000000000000000000000000000..8c76d0b34b8e2511756d573df5828b664752afca GIT binary patch literal 9187 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 literal 0 HcmV?d00001 diff --git a/models/rank/autoint/picture/5.JPG b/models/rank/autoint/picture/5.JPG new file mode 100644 index 0000000000000000000000000000000000000000..1bb06a7a4a221902dae9ead8236a6d62c1b9e274 GIT binary patch literal 32550 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 z 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 literal 0 HcmV?d00001 diff --git a/models/rank/autoint/picture/6.JPG b/models/rank/autoint/picture/6.JPG new file mode 100644 index 0000000000000000000000000000000000000000..701b45b72c93692b773dfb3863277090ba6450de GIT binary patch literal 25783 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 z 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 literal 0 HcmV?d00001 diff --git a/models/rank/autoint/picture/7.JPG b/models/rank/autoint/picture/7.JPG new file mode 100644 index 0000000000000000000000000000000000000000..840875c14576d10b54d595f12625128bfbf31399 GIT binary patch literal 14880 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 ... ... +``` +其中```