From 55533c75da5659f93879be42236589dd6ce437ad Mon Sep 17 00:00:00 2001 From: Travis CI Date: Fri, 2 Jun 2017 09:37:44 +0000 Subject: [PATCH] Deploy to GitHub Pages: e556161396ffc83218428808b2ad62f866f25e48 --- release/0.10.0/doc/.buildinfo | 4 + release/0.10.0/doc/_images/FullyConnected.jpg | Bin 0 -> 50847 bytes .../0.10.0/doc/_images/NetContinuous_en.png | Bin 0 -> 54256 bytes release/0.10.0/doc/_images/NetConv_en.png | Bin 0 -> 59083 bytes release/0.10.0/doc/_images/NetLR_en.png | Bin 0 -> 49488 bytes release/0.10.0/doc/_images/NetRNN_en.png | Bin 0 -> 57109 bytes .../0.10.0/doc/_images/PipelineNetwork_en.jpg | Bin 0 -> 7466 bytes .../0.10.0/doc/_images/PipelineTest_en.png | Bin 0 -> 8656 bytes .../0.10.0/doc/_images/PipelineTrain_en.png | Bin 0 -> 8791 bytes release/0.10.0/doc/_images/Pipeline_en.jpg | Bin 0 -> 11633 bytes .../0.10.0/doc/_images/add_security_group.png | Bin 0 -> 118948 bytes release/0.10.0/doc/_images/bi_lstm.jpg | Bin 0 -> 35593 bytes release/0.10.0/doc/_images/bi_lstm1.jpg | Bin 0 -> 35593 bytes release/0.10.0/doc/_images/cifar.png | Bin 0 -> 466572 bytes release/0.10.0/doc/_images/create_efs.png | Bin 0 -> 241814 bytes release/0.10.0/doc/_images/curve.jpg | Bin 0 -> 53277 bytes .../encoder-decoder-attention-model.png | Bin 0 -> 68089 bytes .../encoder-decoder-attention-model1.png | Bin 0 -> 68089 bytes release/0.10.0/doc/_images/feature.jpg | Bin 0 -> 31204 bytes release/0.10.0/doc/_images/gan.png | Bin 0 -> 17810 bytes .../doc/_images/image_classification.png | Bin 0 -> 52635 bytes release/0.10.0/doc/_images/lenet.png | Bin 0 -> 49835 bytes release/0.10.0/doc/_images/lstm.png | Bin 0 -> 50694 bytes release/0.10.0/doc/_images/mnist_sample.png | Bin 0 -> 28721 bytes release/0.10.0/doc/_images/network_arch.png | Bin 0 -> 27822 bytes .../doc/_images/neural-n-gram-model.png | Bin 0 -> 68482 bytes release/0.10.0/doc/_images/nvvp1.png | Bin 0 -> 426047 bytes release/0.10.0/doc/_images/nvvp2.png | Bin 0 -> 495117 bytes release/0.10.0/doc/_images/nvvp3.png | Bin 0 -> 253700 bytes release/0.10.0/doc/_images/nvvp4.png | Bin 0 -> 283198 bytes release/0.10.0/doc/_images/parameters.png | Bin 0 -> 44469 bytes release/0.10.0/doc/_images/plot.png | Bin 0 -> 31006 bytes .../doc/_images/pserver_and_trainer.png | Bin 0 -> 71688 bytes .../doc/_images/rec_regression_network.png | Bin 0 -> 83127 bytes release/0.10.0/doc/_images/resnet_block.jpg | Bin 0 -> 22422 bytes .../doc/_images/route53_create_recordset.png | Bin 0 -> 35749 bytes .../doc/_images/route53_create_zone.png | Bin 0 -> 52035 bytes release/0.10.0/doc/_images/stacked_lstm.jpg | Bin 0 -> 31077 bytes release/0.10.0/doc/_images/uniform_sample.png | Bin 0 -> 24880 bytes .../doc/_images/worker_security_group.png | Bin 0 -> 89208 bytes .../doc/_sources/about/index_en.rst.txt | 14 + .../0.10.0/doc/_sources/api/index_en.rst.txt | 9 + .../v1/data_provider/dataprovider_en.rst.txt | 34 + .../data_provider/pydataprovider2_en.rst.txt | 249 + .../doc/_sources/api/v1/index_en.rst.txt | 37 + .../api/v1/predict/swig_py_paddle_en.rst.txt | 59 + .../activations.rst.txt | 108 + .../v1/trainer_config_helpers/attrs.rst.txt | 5 + .../data_sources.rst.txt | 7 + .../trainer_config_helpers/evaluators.rst.txt | 108 + .../v1/trainer_config_helpers/layers.rst.txt | 508 + .../trainer_config_helpers/networks.rst.txt | 123 + .../trainer_config_helpers/optimizers.rst.txt | 61 + .../trainer_config_helpers/poolings.rst.txt | 33 + .../_sources/api/v2/config/activation.rst.txt | 101 + .../doc/_sources/api/v2/config/attr.rst.txt | 6 + .../doc/_sources/api/v2/config/layer.rst.txt | 428 + .../_sources/api/v2/config/networks.rst.txt | 117 + .../_sources/api/v2/config/optimizer.rst.txt | 45 + .../_sources/api/v2/config/pooling.rst.txt | 46 + .../0.10.0/doc/_sources/api/v2/data.rst.txt | 113 + .../doc/_sources/api/v2/model_configs.rst.txt | 12 + .../doc/_sources/api/v2/run_logic.rst.txt | 31 + release/0.10.0/doc/_sources/design/api.md.txt | 262 + .../doc/_sources/design/dist/README.md.txt | 172 + .../why_plain_c.md.txt | 118 + .../doc/_sources/design/reader/README.md.txt | 202 + .../getstarted/basic_usage/index_en.rst.txt | 101 + .../build_from_source_en.md.txt | 222 + .../docker_install_en.rst.txt | 270 + .../build_and_install/index_en.rst.txt | 23 + .../ubuntu_install_en.rst.txt | 25 + .../doc/_sources/getstarted/index_en.rst.txt | 9 + .../howto/deep_model/rnn/index_en.rst.txt | 2 + .../deep_model/rnn/rnn_config_en.rst.txt | 251 + .../howto/dev/contribute_to_paddle_en.md.txt | 146 + .../_sources/howto/dev/new_layer_en.rst.txt | 390 + .../doc/_sources/howto/index_en.rst.txt | 38 + .../optimization/gpu_profiling_en.rst.txt | 240 + .../usage/cluster/cluster_train_en.md.txt | 156 + .../usage/cmd_parameter/arguments_en.md.txt | 394 + .../detail_introduction_en.md.txt | 327 + .../usage/cmd_parameter/index_en.rst.txt | 11 + .../usage/cmd_parameter/use_case_en.md.txt | 182 + .../howto/usage/k8s/k8s_aws_en.md.txt | 689 ++ .../_sources/howto/usage/k8s/k8s_en.md.txt | 201 + .../usage/k8s/src/k8s_data/README.md.txt | 6 + .../usage/k8s/src/k8s_train/README.md.txt | 5 + release/0.10.0/doc/_sources/index_en.rst.txt | 10 + .../tutorials/embedding_model/index_en.md.txt | 140 + .../_sources/tutorials/gan/index_en.md.txt | 137 + .../image_classification/index_en.md.txt | 221 + .../imagenet_model/resnet_model_en.md.txt | 284 + .../doc/_sources/tutorials/index_en.md.txt | 14 + .../tutorials/quick_start/index_en.md.txt | 562 + .../tutorials/rec/ml_dataset_en.md.txt | 111 + .../tutorials/rec/ml_regression_en.rst.txt | 348 + .../semantic_role_labeling/index_en.md.txt | 204 + .../sentiment_analysis/index_en.md.txt | 328 + .../tutorials/text_generation/index_en.md.txt | 338 + release/0.10.0/doc/_static/ajax-loader.gif | Bin 0 -> 673 bytes release/0.10.0/doc/_static/basic.css | 632 + release/0.10.0/doc/_static/comment-bright.png | Bin 0 -> 756 bytes release/0.10.0/doc/_static/comment-close.png | Bin 0 -> 829 bytes release/0.10.0/doc/_static/comment.png | Bin 0 -> 641 bytes release/0.10.0/doc/_static/css/badge_only.css | 2 + release/0.10.0/doc/_static/css/override.css | 509 + release/0.10.0/doc/_static/css/theme.css | 5 + release/0.10.0/doc/_static/doctools.js | 287 + release/0.10.0/doc/_static/down-pressed.png | Bin 0 -> 222 bytes release/0.10.0/doc/_static/down.png | Bin 0 -> 202 bytes release/0.10.0/doc/_static/file.png | Bin 0 -> 286 bytes .../doc/_static/fonts/Inconsolata-Bold.ttf | Bin 0 -> 66352 bytes .../doc/_static/fonts/Inconsolata-Regular.ttf | Bin 0 -> 84548 bytes .../0.10.0/doc/_static/fonts/Lato-Bold.ttf | Bin 0 -> 121788 bytes .../0.10.0/doc/_static/fonts/Lato-Regular.ttf | Bin 0 -> 120196 bytes .../doc/_static/fonts/RobotoSlab-Bold.ttf | Bin 0 -> 170616 bytes .../doc/_static/fonts/RobotoSlab-Regular.ttf | Bin 0 -> 169064 bytes .../doc/_static/fonts/fontawesome-webfont.eot | Bin 0 -> 56006 bytes .../doc/_static/fonts/fontawesome-webfont.svg | 520 + .../doc/_static/fonts/fontawesome-webfont.ttf | Bin 0 -> 112160 bytes .../_static/fonts/fontawesome-webfont.woff | Bin 0 -> 65452 bytes release/0.10.0/doc/_static/images/PP_w.png | Bin 0 -> 3183 bytes release/0.10.0/doc/_static/jquery-3.1.0.js | 10074 ++++++++++++++++ release/0.10.0/doc/_static/jquery.js | 4 + .../0.10.0/doc/_static/js/modernizr.min.js | 4 + .../0.10.0/doc/_static/js/paddle_doc_init.js | 31 + release/0.10.0/doc/_static/js/theme.js | 153 + release/0.10.0/doc/_static/minus.png | Bin 0 -> 90 bytes release/0.10.0/doc/_static/plus.png | Bin 0 -> 90 bytes release/0.10.0/doc/_static/pygments.css | 69 + release/0.10.0/doc/_static/searchtools.js | 758 ++ .../0.10.0/doc/_static/underscore-1.3.1.js | 999 ++ release/0.10.0/doc/_static/underscore.js | 31 + release/0.10.0/doc/_static/up-pressed.png | Bin 0 -> 214 bytes release/0.10.0/doc/_static/up.png | Bin 0 -> 203 bytes release/0.10.0/doc/_static/websupport.js | 808 ++ release/0.10.0/doc/about/index_en.html | 254 + release/0.10.0/doc/api/index_en.html | 256 + .../api/v1/data_provider/dataprovider_en.html | 264 + .../v1/data_provider/pydataprovider2_en.html | 687 ++ release/0.10.0/doc/api/v1/index_en.html | 270 + .../doc/api/v1/predict/swig_py_paddle_en.html | 313 + .../trainer_config_helpers/activations.html | 373 + .../api/v1/trainer_config_helpers/attrs.html | 328 + .../trainer_config_helpers/data_sources.html | 284 + .../v1/trainer_config_helpers/evaluators.html | 765 ++ .../api/v1/trainer_config_helpers/layers.html | 3515 ++++++ .../v1/trainer_config_helpers/networks.html | 949 ++ .../v1/trainer_config_helpers/optimizers.html | 474 + .../v1/trainer_config_helpers/poolings.html | 283 + .../0.10.0/doc/api/v2/config/activation.html | 417 + release/0.10.0/doc/api/v2/config/attr.html | 356 + release/0.10.0/doc/api/v2/config/layer.html | 3485 ++++++ .../0.10.0/doc/api/v2/config/networks.html | 945 ++ .../0.10.0/doc/api/v2/config/optimizer.html | 425 + release/0.10.0/doc/api/v2/config/pooling.html | 350 + release/0.10.0/doc/api/v2/data.html | 1323 ++ release/0.10.0/doc/api/v2/model_configs.html | 262 + release/0.10.0/doc/api/v2/run_logic.html | 599 + release/0.10.0/doc/design/api.html | 470 + release/0.10.0/doc/design/dist/README.html | 403 + .../multi_language_interface/why_plain_c.html | 374 + release/0.10.0/doc/design/reader/README.html | 420 + release/0.10.0/doc/genindex.html | 292 + .../doc/getstarted/basic_usage/index_en.html | 331 + .../build_from_source_en.html | 464 + .../build_and_install/docker_install_en.html | 464 + .../build_and_install/index_en.html | 273 + .../build_and_install/ubuntu_install_en.html | 267 + release/0.10.0/doc/getstarted/index_en.html | 257 + .../doc/howto/deep_model/rnn/index_en.html | 252 + .../howto/deep_model/rnn/rnn_config_en.html | 440 + .../howto/dev/contribute_to_paddle_en.html | 383 + .../0.10.0/doc/howto/dev/new_layer_en.html | 621 + release/0.10.0/doc/howto/index_en.html | 285 + .../howto/optimization/gpu_profiling_en.html | 572 + .../howto/usage/cluster/cluster_train_en.html | 384 + .../usage/cmd_parameter/arguments_en.html | 492 + .../cmd_parameter/detail_introduction_en.html | 689 ++ .../howto/usage/cmd_parameter/index_en.html | 259 + .../usage/cmd_parameter/use_case_en.html | 431 + .../doc/howto/usage/k8s/k8s_aws_en.html | 866 ++ .../0.10.0/doc/howto/usage/k8s/k8s_en.html | 443 + .../howto/usage/k8s/src/k8s_data/README.html | 240 + .../howto/usage/k8s/src/k8s_train/README.html | 239 + release/0.10.0/doc/index.html | 1 + release/0.10.0/doc/index_en.html | 254 + release/0.10.0/doc/objects.inv | Bin 0 -> 2303 bytes release/0.10.0/doc/py-modindex.html | 266 + release/0.10.0/doc/search.html | 257 + release/0.10.0/doc/searchindex.js | 1 + .../tutorials/embedding_model/index_en.html | 405 + .../0.10.0/doc/tutorials/gan/index_en.html | 364 + .../image_classification/index_en.html | 432 + .../imagenet_model/resnet_model_en.html | 492 + release/0.10.0/doc/tutorials/index_en.html | 259 + .../doc/tutorials/quick_start/index_en.html | 733 ++ .../doc/tutorials/rec/ml_dataset_en.html | 342 + .../doc/tutorials/rec/ml_regression_en.html | 845 ++ .../semantic_role_labeling/index_en.html | 432 + .../sentiment_analysis/index_en.html | 544 + .../tutorials/text_generation/index_en.html | 592 + release/0.10.0/doc_cn/.buildinfo | 4 + .../0.10.0/doc_cn/_images/FullyConnected.jpg | Bin 0 -> 50847 bytes .../doc_cn/_images/NetContinuous_cn.jpg | Bin 0 -> 35863 bytes release/0.10.0/doc_cn/_images/NetConv_cn.jpg | Bin 0 -> 44038 bytes release/0.10.0/doc_cn/_images/NetLR_cn.jpg | Bin 0 -> 30320 bytes release/0.10.0/doc_cn/_images/NetRNN_cn.jpg | Bin 0 -> 46358 bytes .../doc_cn/_images/PipelineNetwork_cn.jpg | Bin 0 -> 9559 bytes .../0.10.0/doc_cn/_images/PipelineTest_cn.jpg | Bin 0 -> 9408 bytes .../doc_cn/_images/PipelineTrain_cn.jpg | Bin 0 -> 9210 bytes release/0.10.0/doc_cn/_images/Pipeline_cn.jpg | Bin 0 -> 14244 bytes release/0.10.0/doc_cn/_images/bi_lstm.jpg | Bin 0 -> 35593 bytes release/0.10.0/doc_cn/_images/bi_lstm1.jpg | Bin 0 -> 35593 bytes release/0.10.0/doc_cn/_images/cifar.png | Bin 0 -> 466572 bytes release/0.10.0/doc_cn/_images/curve.jpg | Bin 0 -> 53277 bytes .../encoder-decoder-attention-model.png | Bin 0 -> 68089 bytes .../encoder-decoder-attention-model1.png | Bin 0 -> 68089 bytes release/0.10.0/doc_cn/_images/feature.jpg | Bin 0 -> 31204 bytes ...a2be3fe111ea3f93b646fae7945ba707984fd4.png | Bin 0 -> 37132 bytes ...3fe111ea3f93b646fae7945ba707984fd4.png.map | 2 + ...e6aad37f57c60f4b971dde0ef44ce27179cf9a.png | Bin 0 -> 11618 bytes ...d37f57c60f4b971dde0ef44ce27179cf9a.png.map | 2 + ...f0e483abd6c62214b13e553c3727677a6f0a99.png | Bin 0 -> 23985 bytes ...83abd6c62214b13e553c3727677a6f0a99.png.map | 2 + .../doc_cn/_images/image_classification.png | Bin 0 -> 52635 bytes .../0.10.0/doc_cn/_images/k8s-paddle-arch.png | Bin 0 -> 513104 bytes release/0.10.0/doc_cn/_images/lenet.png | Bin 0 -> 49835 bytes release/0.10.0/doc_cn/_images/lstm.png | Bin 0 -> 50694 bytes .../0.10.0/doc_cn/_images/network_arch.png | Bin 0 -> 27822 bytes .../doc_cn/_images/neural-n-gram-model.png | Bin 0 -> 68482 bytes release/0.10.0/doc_cn/_images/nvvp1.png | Bin 0 -> 426047 bytes release/0.10.0/doc_cn/_images/nvvp2.png | Bin 0 -> 495117 bytes release/0.10.0/doc_cn/_images/nvvp3.png | Bin 0 -> 253700 bytes release/0.10.0/doc_cn/_images/nvvp4.png | Bin 0 -> 283198 bytes release/0.10.0/doc_cn/_images/parameters.png | Bin 0 -> 44469 bytes release/0.10.0/doc_cn/_images/plot.png | Bin 0 -> 31006 bytes .../doc_cn/_images/rec_regression_network.png | Bin 0 -> 83127 bytes .../0.10.0/doc_cn/_images/resnet_block.jpg | Bin 0 -> 22422 bytes .../0.10.0/doc_cn/_images/stacked_lstm.jpg | Bin 0 -> 31077 bytes .../doc_cn/_sources/about/index_cn.md.txt | 11 + .../doc_cn/_sources/api/index_cn.rst.txt | 9 + .../v1/data_provider/dataprovider_cn.rst.txt | 15 + .../data_provider/pydataprovider2_cn.rst.txt | 229 + .../doc_cn/_sources/api/v1/index_cn.rst.txt | 37 + .../api/v1/predict/swig_py_paddle_cn.rst.txt | 58 + .../activations.rst.txt | 108 + .../v1/trainer_config_helpers/attrs.rst.txt | 5 + .../data_sources.rst.txt | 7 + .../trainer_config_helpers/evaluators.rst.txt | 108 + .../v1/trainer_config_helpers/layers.rst.txt | 508 + .../trainer_config_helpers/networks.rst.txt | 123 + .../trainer_config_helpers/optimizers.rst.txt | 61 + .../trainer_config_helpers/poolings.rst.txt | 33 + .../_sources/api/v2/config/activation.rst.txt | 101 + .../_sources/api/v2/config/attr.rst.txt | 6 + .../_sources/api/v2/config/layer.rst.txt | 428 + .../_sources/api/v2/config/networks.rst.txt | 117 + .../_sources/api/v2/config/optimizer.rst.txt | 45 + .../_sources/api/v2/config/pooling.rst.txt | 46 + .../doc_cn/_sources/api/v2/data.rst.txt | 113 + .../_sources/api/v2/model_configs.rst.txt | 12 + .../doc_cn/_sources/api/v2/run_logic.rst.txt | 31 + .../0.10.0/doc_cn/_sources/design/api.md.txt | 262 + .../doc_cn/_sources/design/dist/README.md.txt | 172 + .../why_plain_c.md.txt | 118 + .../_sources/design/reader/README.md.txt | 202 + .../doc_cn/_sources/faq/index_cn.rst.txt | 301 + .../getstarted/basic_usage/index_cn.rst.txt | 108 + .../cmake/build_from_source_cn.rst.txt | 43 + .../docker_install_cn.rst.txt | 183 + .../build_and_install/index_cn.rst.txt | 29 + .../ubuntu_install_cn.rst.txt | 71 + .../concepts/use_concepts_cn.rst.txt | 150 + .../_sources/getstarted/index_cn.rst.txt | 10 + .../rnn/hierarchical_layer_cn.rst.txt | 89 + .../rnn/hrnn_rnn_api_compare_cn.rst.txt | 231 + .../howto/deep_model/rnn/index_cn.rst.txt | 9 + .../deep_model/rnn/recurrent_group_cn.md.txt | 96 + .../deep_model/rnn/rnn_config_cn.rst.txt | 278 + .../howto/dev/contribute_to_paddle_cn.md.txt | 219 + .../_sources/howto/dev/new_layer_cn.rst.txt | 389 + .../_sources/howto/dev/write_docs_cn.rst.txt | 54 + .../doc_cn/_sources/howto/index_cn.rst.txt | 39 + .../optimization/gpu_profiling_cn.rst.txt | 242 + .../usage/cluster/cluster_train_cn.md.txt | 159 + .../usage/cmd_parameter/arguments_cn.md.txt | 394 + .../detail_introduction_cn.md.txt | 323 + .../usage/cmd_parameter/index_cn.rst.txt | 11 + .../usage/cmd_parameter/use_case_cn.md.txt | 182 + .../howto/usage/k8s/k8s_basis_cn.md.txt | 75 + .../_sources/howto/usage/k8s/k8s_cn.md.txt | 205 + .../howto/usage/k8s/k8s_distributed_cn.md.txt | 315 + .../usage/k8s/src/k8s_data/README.md.txt | 6 + .../usage/k8s/src/k8s_train/README.md.txt | 5 + .../0.10.0/doc_cn/_sources/index_cn.rst.txt | 10 + .../tutorials/embedding_model/index_cn.md.txt | 139 + .../image_classification/index_cn.md.txt | 205 + .../imagenet_model/resnet_model_cn.md.txt | 284 + .../doc_cn/_sources/tutorials/index_cn.md.txt | 13 + .../tutorials/quick_start/index_cn.rst.txt | 397 + .../tutorials/rec/ml_dataset_cn.md.txt | 105 + .../tutorials/rec/ml_regression_cn.rst.txt | 349 + .../semantic_role_labeling/index_cn.md.txt | 201 + .../sentiment_analysis/index_cn.md.txt | 325 + .../tutorials/text_generation/index_cn.md.txt | 339 + release/0.10.0/doc_cn/_static/ajax-loader.gif | Bin 0 -> 673 bytes release/0.10.0/doc_cn/_static/basic.css | 632 + .../0.10.0/doc_cn/_static/comment-bright.png | Bin 0 -> 756 bytes .../0.10.0/doc_cn/_static/comment-close.png | Bin 0 -> 829 bytes release/0.10.0/doc_cn/_static/comment.png | Bin 0 -> 641 bytes .../0.10.0/doc_cn/_static/css/badge_only.css | 2 + .../0.10.0/doc_cn/_static/css/override.css | 509 + release/0.10.0/doc_cn/_static/css/theme.css | 5 + release/0.10.0/doc_cn/_static/doctools.js | 287 + .../0.10.0/doc_cn/_static/down-pressed.png | Bin 0 -> 222 bytes release/0.10.0/doc_cn/_static/down.png | Bin 0 -> 202 bytes release/0.10.0/doc_cn/_static/file.png | Bin 0 -> 286 bytes .../doc_cn/_static/fonts/Inconsolata-Bold.ttf | Bin 0 -> 66352 bytes .../_static/fonts/Inconsolata-Regular.ttf | Bin 0 -> 84548 bytes .../0.10.0/doc_cn/_static/fonts/Lato-Bold.ttf | Bin 0 -> 121788 bytes .../doc_cn/_static/fonts/Lato-Regular.ttf | Bin 0 -> 120196 bytes .../doc_cn/_static/fonts/RobotoSlab-Bold.ttf | Bin 0 -> 170616 bytes .../_static/fonts/RobotoSlab-Regular.ttf | Bin 0 -> 169064 bytes .../_static/fonts/fontawesome-webfont.eot | Bin 0 -> 56006 bytes .../_static/fonts/fontawesome-webfont.svg | 520 + .../_static/fonts/fontawesome-webfont.ttf | Bin 0 -> 112160 bytes .../_static/fonts/fontawesome-webfont.woff | Bin 0 -> 65452 bytes release/0.10.0/doc_cn/_static/images/PP_w.png | Bin 0 -> 3183 bytes release/0.10.0/doc_cn/_static/jquery-3.1.0.js | 10074 ++++++++++++++++ release/0.10.0/doc_cn/_static/jquery.js | 4 + .../0.10.0/doc_cn/_static/js/modernizr.min.js | 4 + .../doc_cn/_static/js/paddle_doc_init.js | 31 + release/0.10.0/doc_cn/_static/js/theme.js | 153 + release/0.10.0/doc_cn/_static/minus.png | Bin 0 -> 90 bytes release/0.10.0/doc_cn/_static/plus.png | Bin 0 -> 90 bytes release/0.10.0/doc_cn/_static/pygments.css | 69 + release/0.10.0/doc_cn/_static/searchtools.js | 758 ++ release/0.10.0/doc_cn/_static/translations.js | 1 + .../0.10.0/doc_cn/_static/underscore-1.3.1.js | 999 ++ release/0.10.0/doc_cn/_static/underscore.js | 31 + release/0.10.0/doc_cn/_static/up-pressed.png | Bin 0 -> 214 bytes release/0.10.0/doc_cn/_static/up.png | Bin 0 -> 203 bytes release/0.10.0/doc_cn/_static/websupport.js | 808 ++ release/0.10.0/doc_cn/about/index_cn.html | 253 + release/0.10.0/doc_cn/api/index_cn.html | 264 + .../api/v1/data_provider/dataprovider_cn.html | 257 + .../v1/data_provider/pydataprovider2_cn.html | 621 + release/0.10.0/doc_cn/api/v1/index_cn.html | 278 + .../api/v1/predict/swig_py_paddle_cn.html | 305 + .../trainer_config_helpers/activations.html | 381 + .../api/v1/trainer_config_helpers/attrs.html | 336 + .../trainer_config_helpers/data_sources.html | 292 + .../v1/trainer_config_helpers/evaluators.html | 773 ++ .../api/v1/trainer_config_helpers/layers.html | 3523 ++++++ .../v1/trainer_config_helpers/networks.html | 957 ++ .../v1/trainer_config_helpers/optimizers.html | 482 + .../v1/trainer_config_helpers/poolings.html | 291 + .../doc_cn/api/v2/config/activation.html | 425 + release/0.10.0/doc_cn/api/v2/config/attr.html | 364 + .../0.10.0/doc_cn/api/v2/config/layer.html | 3493 ++++++ .../0.10.0/doc_cn/api/v2/config/networks.html | 953 ++ .../doc_cn/api/v2/config/optimizer.html | 433 + .../0.10.0/doc_cn/api/v2/config/pooling.html | 358 + release/0.10.0/doc_cn/api/v2/data.html | 1331 ++ .../0.10.0/doc_cn/api/v2/model_configs.html | 270 + release/0.10.0/doc_cn/api/v2/run_logic.html | 607 + release/0.10.0/doc_cn/design/api.html | 478 + release/0.10.0/doc_cn/design/dist/README.html | 411 + .../multi_language_interface/why_plain_c.html | 382 + .../0.10.0/doc_cn/design/reader/README.html | 428 + release/0.10.0/doc_cn/faq/index_cn.html | 593 + release/0.10.0/doc_cn/genindex.html | 298 + .../getstarted/basic_usage/index_cn.html | 336 + .../cmake/build_from_source_cn.html | 377 + .../build_and_install/docker_install_cn.html | 401 + .../build_and_install/index_cn.html | 282 + .../build_and_install/ubuntu_install_cn.html | 312 + .../getstarted/concepts/use_concepts_cn.html | 505 + .../0.10.0/doc_cn/getstarted/index_cn.html | 266 + .../deep_model/rnn/hierarchical_layer_cn.html | 353 + .../rnn/hrnn_rnn_api_compare_cn.html | 884 ++ .../doc_cn/howto/deep_model/rnn/index_cn.html | 267 + .../deep_model/rnn/recurrent_group_cn.html | 358 + .../howto/deep_model/rnn/rnn_config_cn.html | 486 + .../howto/dev/contribute_to_paddle_cn.html | 439 + .../0.10.0/doc_cn/howto/dev/new_layer_cn.html | 615 + .../doc_cn/howto/dev/write_docs_cn.html | 295 + release/0.10.0/doc_cn/howto/index_cn.html | 294 + .../howto/optimization/gpu_profiling_cn.html | 584 + .../howto/usage/cluster/cluster_train_cn.html | 391 + .../usage/cmd_parameter/arguments_cn.html | 500 + .../cmd_parameter/detail_introduction_cn.html | 697 ++ .../howto/usage/cmd_parameter/index_cn.html | 267 + .../usage/cmd_parameter/use_case_cn.html | 439 + .../doc_cn/howto/usage/k8s/k8s_basis_cn.html | 332 + .../0.10.0/doc_cn/howto/usage/k8s/k8s_cn.html | 453 + .../howto/usage/k8s/k8s_distributed_cn.html | 544 + .../howto/usage/k8s/src/k8s_data/README.html | 248 + .../howto/usage/k8s/src/k8s_train/README.html | 247 + release/0.10.0/doc_cn/index.html | 1 + release/0.10.0/doc_cn/index_cn.html | 262 + release/0.10.0/doc_cn/objects.inv | Bin 0 -> 2782 bytes release/0.10.0/doc_cn/py-modindex.html | 274 + release/0.10.0/doc_cn/search.html | 265 + release/0.10.0/doc_cn/searchindex.js | 1 + .../tutorials/embedding_model/index_cn.html | 411 + .../image_classification/index_cn.html | 432 + .../imagenet_model/resnet_model_cn.html | 500 + release/0.10.0/doc_cn/tutorials/index_cn.html | 265 + .../tutorials/quick_start/index_cn.html | 850 ++ .../doc_cn/tutorials/rec/ml_dataset_cn.html | 343 + .../tutorials/rec/ml_regression_cn.html | 854 ++ .../semantic_role_labeling/index_cn.html | 440 + .../sentiment_analysis/index_cn.html | 549 + .../tutorials/text_generation/index_cn.html | 602 + 417 files changed, 119793 insertions(+) create mode 100644 release/0.10.0/doc/.buildinfo create mode 100644 release/0.10.0/doc/_images/FullyConnected.jpg create mode 100644 release/0.10.0/doc/_images/NetContinuous_en.png create mode 100644 release/0.10.0/doc/_images/NetConv_en.png create mode 100644 release/0.10.0/doc/_images/NetLR_en.png create mode 100644 release/0.10.0/doc/_images/NetRNN_en.png create mode 100644 release/0.10.0/doc/_images/PipelineNetwork_en.jpg create mode 100644 release/0.10.0/doc/_images/PipelineTest_en.png create mode 100644 release/0.10.0/doc/_images/PipelineTrain_en.png create mode 100644 release/0.10.0/doc/_images/Pipeline_en.jpg create mode 100644 release/0.10.0/doc/_images/add_security_group.png create mode 100644 release/0.10.0/doc/_images/bi_lstm.jpg create mode 100644 release/0.10.0/doc/_images/bi_lstm1.jpg create mode 100644 release/0.10.0/doc/_images/cifar.png create mode 100644 release/0.10.0/doc/_images/create_efs.png create mode 100644 release/0.10.0/doc/_images/curve.jpg create mode 100644 release/0.10.0/doc/_images/encoder-decoder-attention-model.png create mode 100644 release/0.10.0/doc/_images/encoder-decoder-attention-model1.png create mode 100644 release/0.10.0/doc/_images/feature.jpg create mode 100644 release/0.10.0/doc/_images/gan.png create mode 100644 release/0.10.0/doc/_images/image_classification.png create mode 100644 release/0.10.0/doc/_images/lenet.png create mode 100644 release/0.10.0/doc/_images/lstm.png create mode 100644 release/0.10.0/doc/_images/mnist_sample.png create mode 100644 release/0.10.0/doc/_images/network_arch.png create mode 100644 release/0.10.0/doc/_images/neural-n-gram-model.png create mode 100644 release/0.10.0/doc/_images/nvvp1.png create mode 100644 release/0.10.0/doc/_images/nvvp2.png create mode 100644 release/0.10.0/doc/_images/nvvp3.png create mode 100644 release/0.10.0/doc/_images/nvvp4.png create mode 100644 release/0.10.0/doc/_images/parameters.png create mode 100644 release/0.10.0/doc/_images/plot.png create mode 100644 release/0.10.0/doc/_images/pserver_and_trainer.png create mode 100644 release/0.10.0/doc/_images/rec_regression_network.png create mode 100644 release/0.10.0/doc/_images/resnet_block.jpg create mode 100644 release/0.10.0/doc/_images/route53_create_recordset.png create mode 100644 release/0.10.0/doc/_images/route53_create_zone.png create mode 100644 release/0.10.0/doc/_images/stacked_lstm.jpg create mode 100644 release/0.10.0/doc/_images/uniform_sample.png create mode 100644 release/0.10.0/doc/_images/worker_security_group.png create mode 100644 release/0.10.0/doc/_sources/about/index_en.rst.txt create mode 100644 release/0.10.0/doc/_sources/api/index_en.rst.txt create mode 100644 release/0.10.0/doc/_sources/api/v1/data_provider/dataprovider_en.rst.txt create mode 100644 release/0.10.0/doc/_sources/api/v1/data_provider/pydataprovider2_en.rst.txt create mode 100644 release/0.10.0/doc/_sources/api/v1/index_en.rst.txt create mode 100644 release/0.10.0/doc/_sources/api/v1/predict/swig_py_paddle_en.rst.txt create mode 100644 release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/activations.rst.txt create mode 100644 release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/attrs.rst.txt create mode 100644 release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/data_sources.rst.txt create mode 100644 release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/evaluators.rst.txt create mode 100644 release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/layers.rst.txt create mode 100644 release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/networks.rst.txt create mode 100644 release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/optimizers.rst.txt create mode 100644 release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/poolings.rst.txt create mode 100644 release/0.10.0/doc/_sources/api/v2/config/activation.rst.txt create mode 100644 release/0.10.0/doc/_sources/api/v2/config/attr.rst.txt create mode 100644 release/0.10.0/doc/_sources/api/v2/config/layer.rst.txt create mode 100644 release/0.10.0/doc/_sources/api/v2/config/networks.rst.txt create mode 100644 release/0.10.0/doc/_sources/api/v2/config/optimizer.rst.txt create mode 100644 release/0.10.0/doc/_sources/api/v2/config/pooling.rst.txt create mode 100644 release/0.10.0/doc/_sources/api/v2/data.rst.txt create mode 100644 release/0.10.0/doc/_sources/api/v2/model_configs.rst.txt create mode 100644 release/0.10.0/doc/_sources/api/v2/run_logic.rst.txt create mode 100644 release/0.10.0/doc/_sources/design/api.md.txt create mode 100644 release/0.10.0/doc/_sources/design/dist/README.md.txt create mode 100644 release/0.10.0/doc/_sources/design/multi_language_interface/why_plain_c.md.txt create mode 100644 release/0.10.0/doc/_sources/design/reader/README.md.txt create mode 100644 release/0.10.0/doc/_sources/getstarted/basic_usage/index_en.rst.txt create mode 100644 release/0.10.0/doc/_sources/getstarted/build_and_install/build_from_source_en.md.txt create mode 100644 release/0.10.0/doc/_sources/getstarted/build_and_install/docker_install_en.rst.txt create mode 100644 release/0.10.0/doc/_sources/getstarted/build_and_install/index_en.rst.txt create mode 100644 release/0.10.0/doc/_sources/getstarted/build_and_install/ubuntu_install_en.rst.txt create mode 100644 release/0.10.0/doc/_sources/getstarted/index_en.rst.txt create mode 100644 release/0.10.0/doc/_sources/howto/deep_model/rnn/index_en.rst.txt create mode 100644 release/0.10.0/doc/_sources/howto/deep_model/rnn/rnn_config_en.rst.txt create mode 100644 release/0.10.0/doc/_sources/howto/dev/contribute_to_paddle_en.md.txt create mode 100644 release/0.10.0/doc/_sources/howto/dev/new_layer_en.rst.txt create mode 100644 release/0.10.0/doc/_sources/howto/index_en.rst.txt create mode 100644 release/0.10.0/doc/_sources/howto/optimization/gpu_profiling_en.rst.txt create mode 100644 release/0.10.0/doc/_sources/howto/usage/cluster/cluster_train_en.md.txt create mode 100644 release/0.10.0/doc/_sources/howto/usage/cmd_parameter/arguments_en.md.txt create mode 100644 release/0.10.0/doc/_sources/howto/usage/cmd_parameter/detail_introduction_en.md.txt create mode 100644 release/0.10.0/doc/_sources/howto/usage/cmd_parameter/index_en.rst.txt create mode 100644 release/0.10.0/doc/_sources/howto/usage/cmd_parameter/use_case_en.md.txt create mode 100644 release/0.10.0/doc/_sources/howto/usage/k8s/k8s_aws_en.md.txt create mode 100644 release/0.10.0/doc/_sources/howto/usage/k8s/k8s_en.md.txt create mode 100644 release/0.10.0/doc/_sources/howto/usage/k8s/src/k8s_data/README.md.txt create mode 100644 release/0.10.0/doc/_sources/howto/usage/k8s/src/k8s_train/README.md.txt create mode 100644 release/0.10.0/doc/_sources/index_en.rst.txt create mode 100644 release/0.10.0/doc/_sources/tutorials/embedding_model/index_en.md.txt create mode 100644 release/0.10.0/doc/_sources/tutorials/gan/index_en.md.txt create mode 100644 release/0.10.0/doc/_sources/tutorials/image_classification/index_en.md.txt create mode 100644 release/0.10.0/doc/_sources/tutorials/imagenet_model/resnet_model_en.md.txt create mode 100644 release/0.10.0/doc/_sources/tutorials/index_en.md.txt create mode 100644 release/0.10.0/doc/_sources/tutorials/quick_start/index_en.md.txt create mode 100644 release/0.10.0/doc/_sources/tutorials/rec/ml_dataset_en.md.txt create mode 100644 release/0.10.0/doc/_sources/tutorials/rec/ml_regression_en.rst.txt create mode 100644 release/0.10.0/doc/_sources/tutorials/semantic_role_labeling/index_en.md.txt create mode 100644 release/0.10.0/doc/_sources/tutorials/sentiment_analysis/index_en.md.txt create mode 100644 release/0.10.0/doc/_sources/tutorials/text_generation/index_en.md.txt create mode 100644 release/0.10.0/doc/_static/ajax-loader.gif create mode 100644 release/0.10.0/doc/_static/basic.css create mode 100644 release/0.10.0/doc/_static/comment-bright.png create mode 100644 release/0.10.0/doc/_static/comment-close.png create mode 100644 release/0.10.0/doc/_static/comment.png create mode 100644 release/0.10.0/doc/_static/css/badge_only.css create mode 100644 release/0.10.0/doc/_static/css/override.css create mode 100644 release/0.10.0/doc/_static/css/theme.css create mode 100644 release/0.10.0/doc/_static/doctools.js create mode 100644 release/0.10.0/doc/_static/down-pressed.png create mode 100644 release/0.10.0/doc/_static/down.png create mode 100644 release/0.10.0/doc/_static/file.png create mode 100644 release/0.10.0/doc/_static/fonts/Inconsolata-Bold.ttf create mode 100644 release/0.10.0/doc/_static/fonts/Inconsolata-Regular.ttf create mode 100644 release/0.10.0/doc/_static/fonts/Lato-Bold.ttf create mode 100644 release/0.10.0/doc/_static/fonts/Lato-Regular.ttf create mode 100644 release/0.10.0/doc/_static/fonts/RobotoSlab-Bold.ttf create mode 100644 release/0.10.0/doc/_static/fonts/RobotoSlab-Regular.ttf create mode 100644 release/0.10.0/doc/_static/fonts/fontawesome-webfont.eot create mode 100644 release/0.10.0/doc/_static/fonts/fontawesome-webfont.svg create mode 100644 release/0.10.0/doc/_static/fonts/fontawesome-webfont.ttf create mode 100644 release/0.10.0/doc/_static/fonts/fontawesome-webfont.woff create mode 100644 release/0.10.0/doc/_static/images/PP_w.png create mode 100644 release/0.10.0/doc/_static/jquery-3.1.0.js create mode 100644 release/0.10.0/doc/_static/jquery.js create mode 100644 release/0.10.0/doc/_static/js/modernizr.min.js create mode 100644 release/0.10.0/doc/_static/js/paddle_doc_init.js create mode 100644 release/0.10.0/doc/_static/js/theme.js create mode 100644 release/0.10.0/doc/_static/minus.png create mode 100644 release/0.10.0/doc/_static/plus.png create mode 100644 release/0.10.0/doc/_static/pygments.css create mode 100644 release/0.10.0/doc/_static/searchtools.js create mode 100644 release/0.10.0/doc/_static/underscore-1.3.1.js create mode 100644 release/0.10.0/doc/_static/underscore.js create mode 100644 release/0.10.0/doc/_static/up-pressed.png create mode 100644 release/0.10.0/doc/_static/up.png create mode 100644 release/0.10.0/doc/_static/websupport.js create mode 100644 release/0.10.0/doc/about/index_en.html create mode 100644 release/0.10.0/doc/api/index_en.html create mode 100644 release/0.10.0/doc/api/v1/data_provider/dataprovider_en.html create mode 100644 release/0.10.0/doc/api/v1/data_provider/pydataprovider2_en.html create mode 100644 release/0.10.0/doc/api/v1/index_en.html create mode 100644 release/0.10.0/doc/api/v1/predict/swig_py_paddle_en.html create mode 100644 release/0.10.0/doc/api/v1/trainer_config_helpers/activations.html create mode 100644 release/0.10.0/doc/api/v1/trainer_config_helpers/attrs.html create mode 100644 release/0.10.0/doc/api/v1/trainer_config_helpers/data_sources.html create mode 100644 release/0.10.0/doc/api/v1/trainer_config_helpers/evaluators.html create mode 100644 release/0.10.0/doc/api/v1/trainer_config_helpers/layers.html create mode 100644 release/0.10.0/doc/api/v1/trainer_config_helpers/networks.html create mode 100644 release/0.10.0/doc/api/v1/trainer_config_helpers/optimizers.html create mode 100644 release/0.10.0/doc/api/v1/trainer_config_helpers/poolings.html create mode 100644 release/0.10.0/doc/api/v2/config/activation.html create mode 100644 release/0.10.0/doc/api/v2/config/attr.html create mode 100644 release/0.10.0/doc/api/v2/config/layer.html create mode 100644 release/0.10.0/doc/api/v2/config/networks.html create mode 100644 release/0.10.0/doc/api/v2/config/optimizer.html create mode 100644 release/0.10.0/doc/api/v2/config/pooling.html create mode 100644 release/0.10.0/doc/api/v2/data.html create mode 100644 release/0.10.0/doc/api/v2/model_configs.html create mode 100644 release/0.10.0/doc/api/v2/run_logic.html create mode 100644 release/0.10.0/doc/design/api.html create mode 100644 release/0.10.0/doc/design/dist/README.html create mode 100644 release/0.10.0/doc/design/multi_language_interface/why_plain_c.html create mode 100644 release/0.10.0/doc/design/reader/README.html create mode 100644 release/0.10.0/doc/genindex.html create mode 100644 release/0.10.0/doc/getstarted/basic_usage/index_en.html create mode 100644 release/0.10.0/doc/getstarted/build_and_install/build_from_source_en.html create mode 100644 release/0.10.0/doc/getstarted/build_and_install/docker_install_en.html create mode 100644 release/0.10.0/doc/getstarted/build_and_install/index_en.html create mode 100644 release/0.10.0/doc/getstarted/build_and_install/ubuntu_install_en.html create mode 100644 release/0.10.0/doc/getstarted/index_en.html create mode 100644 release/0.10.0/doc/howto/deep_model/rnn/index_en.html create mode 100644 release/0.10.0/doc/howto/deep_model/rnn/rnn_config_en.html create mode 100644 release/0.10.0/doc/howto/dev/contribute_to_paddle_en.html create mode 100644 release/0.10.0/doc/howto/dev/new_layer_en.html create mode 100644 release/0.10.0/doc/howto/index_en.html create mode 100644 release/0.10.0/doc/howto/optimization/gpu_profiling_en.html create mode 100644 release/0.10.0/doc/howto/usage/cluster/cluster_train_en.html create mode 100644 release/0.10.0/doc/howto/usage/cmd_parameter/arguments_en.html create mode 100644 release/0.10.0/doc/howto/usage/cmd_parameter/detail_introduction_en.html create mode 100644 release/0.10.0/doc/howto/usage/cmd_parameter/index_en.html create mode 100644 release/0.10.0/doc/howto/usage/cmd_parameter/use_case_en.html create mode 100644 release/0.10.0/doc/howto/usage/k8s/k8s_aws_en.html create mode 100644 release/0.10.0/doc/howto/usage/k8s/k8s_en.html create mode 100644 release/0.10.0/doc/howto/usage/k8s/src/k8s_data/README.html create mode 100644 release/0.10.0/doc/howto/usage/k8s/src/k8s_train/README.html create mode 120000 release/0.10.0/doc/index.html create mode 100644 release/0.10.0/doc/index_en.html create mode 100644 release/0.10.0/doc/objects.inv create mode 100644 release/0.10.0/doc/py-modindex.html create mode 100644 release/0.10.0/doc/search.html create mode 100644 release/0.10.0/doc/searchindex.js create mode 100644 release/0.10.0/doc/tutorials/embedding_model/index_en.html create mode 100644 release/0.10.0/doc/tutorials/gan/index_en.html create mode 100644 release/0.10.0/doc/tutorials/image_classification/index_en.html create mode 100644 release/0.10.0/doc/tutorials/imagenet_model/resnet_model_en.html create mode 100644 release/0.10.0/doc/tutorials/index_en.html create mode 100644 release/0.10.0/doc/tutorials/quick_start/index_en.html create mode 100644 release/0.10.0/doc/tutorials/rec/ml_dataset_en.html create mode 100644 release/0.10.0/doc/tutorials/rec/ml_regression_en.html create mode 100644 release/0.10.0/doc/tutorials/semantic_role_labeling/index_en.html create mode 100644 release/0.10.0/doc/tutorials/sentiment_analysis/index_en.html create mode 100644 release/0.10.0/doc/tutorials/text_generation/index_en.html create mode 100644 release/0.10.0/doc_cn/.buildinfo create mode 100644 release/0.10.0/doc_cn/_images/FullyConnected.jpg create mode 100644 release/0.10.0/doc_cn/_images/NetContinuous_cn.jpg create mode 100644 release/0.10.0/doc_cn/_images/NetConv_cn.jpg create mode 100644 release/0.10.0/doc_cn/_images/NetLR_cn.jpg create mode 100644 release/0.10.0/doc_cn/_images/NetRNN_cn.jpg create mode 100644 release/0.10.0/doc_cn/_images/PipelineNetwork_cn.jpg create mode 100644 release/0.10.0/doc_cn/_images/PipelineTest_cn.jpg create mode 100644 release/0.10.0/doc_cn/_images/PipelineTrain_cn.jpg create mode 100644 release/0.10.0/doc_cn/_images/Pipeline_cn.jpg create mode 100644 release/0.10.0/doc_cn/_images/bi_lstm.jpg create mode 100644 release/0.10.0/doc_cn/_images/bi_lstm1.jpg create mode 100644 release/0.10.0/doc_cn/_images/cifar.png create mode 100644 release/0.10.0/doc_cn/_images/curve.jpg create mode 100644 release/0.10.0/doc_cn/_images/encoder-decoder-attention-model.png create mode 100644 release/0.10.0/doc_cn/_images/encoder-decoder-attention-model1.png create mode 100644 release/0.10.0/doc_cn/_images/feature.jpg create mode 100644 release/0.10.0/doc_cn/_images/graphviz-7ca2be3fe111ea3f93b646fae7945ba707984fd4.png create mode 100644 release/0.10.0/doc_cn/_images/graphviz-7ca2be3fe111ea3f93b646fae7945ba707984fd4.png.map create mode 100644 release/0.10.0/doc_cn/_images/graphviz-9be6aad37f57c60f4b971dde0ef44ce27179cf9a.png create mode 100644 release/0.10.0/doc_cn/_images/graphviz-9be6aad37f57c60f4b971dde0ef44ce27179cf9a.png.map create mode 100644 release/0.10.0/doc_cn/_images/graphviz-def0e483abd6c62214b13e553c3727677a6f0a99.png create mode 100644 release/0.10.0/doc_cn/_images/graphviz-def0e483abd6c62214b13e553c3727677a6f0a99.png.map create mode 100644 release/0.10.0/doc_cn/_images/image_classification.png create mode 100644 release/0.10.0/doc_cn/_images/k8s-paddle-arch.png create mode 100644 release/0.10.0/doc_cn/_images/lenet.png create mode 100644 release/0.10.0/doc_cn/_images/lstm.png create mode 100644 release/0.10.0/doc_cn/_images/network_arch.png create mode 100644 release/0.10.0/doc_cn/_images/neural-n-gram-model.png create mode 100644 release/0.10.0/doc_cn/_images/nvvp1.png create mode 100644 release/0.10.0/doc_cn/_images/nvvp2.png create mode 100644 release/0.10.0/doc_cn/_images/nvvp3.png create mode 100644 release/0.10.0/doc_cn/_images/nvvp4.png create mode 100644 release/0.10.0/doc_cn/_images/parameters.png create mode 100644 release/0.10.0/doc_cn/_images/plot.png create mode 100644 release/0.10.0/doc_cn/_images/rec_regression_network.png create mode 100644 release/0.10.0/doc_cn/_images/resnet_block.jpg create mode 100644 release/0.10.0/doc_cn/_images/stacked_lstm.jpg create mode 100644 release/0.10.0/doc_cn/_sources/about/index_cn.md.txt create mode 100644 release/0.10.0/doc_cn/_sources/api/index_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/api/v1/data_provider/dataprovider_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/api/v1/data_provider/pydataprovider2_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/api/v1/index_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/api/v1/predict/swig_py_paddle_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/activations.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/attrs.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/data_sources.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/evaluators.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/layers.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/networks.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/optimizers.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/poolings.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/api/v2/config/activation.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/api/v2/config/attr.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/api/v2/config/layer.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/api/v2/config/networks.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/api/v2/config/optimizer.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/api/v2/config/pooling.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/api/v2/data.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/api/v2/model_configs.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/api/v2/run_logic.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/design/api.md.txt create mode 100644 release/0.10.0/doc_cn/_sources/design/dist/README.md.txt create mode 100644 release/0.10.0/doc_cn/_sources/design/multi_language_interface/why_plain_c.md.txt create mode 100644 release/0.10.0/doc_cn/_sources/design/reader/README.md.txt create mode 100644 release/0.10.0/doc_cn/_sources/faq/index_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/getstarted/basic_usage/index_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/getstarted/build_and_install/cmake/build_from_source_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/getstarted/build_and_install/docker_install_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/getstarted/build_and_install/index_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/getstarted/build_and_install/ubuntu_install_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/getstarted/concepts/use_concepts_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/getstarted/index_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/howto/deep_model/rnn/hierarchical_layer_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/howto/deep_model/rnn/hrnn_rnn_api_compare_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/howto/deep_model/rnn/index_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/howto/deep_model/rnn/recurrent_group_cn.md.txt create mode 100644 release/0.10.0/doc_cn/_sources/howto/deep_model/rnn/rnn_config_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/howto/dev/contribute_to_paddle_cn.md.txt create mode 100644 release/0.10.0/doc_cn/_sources/howto/dev/new_layer_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/howto/dev/write_docs_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/howto/index_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/howto/optimization/gpu_profiling_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/howto/usage/cluster/cluster_train_cn.md.txt create mode 100644 release/0.10.0/doc_cn/_sources/howto/usage/cmd_parameter/arguments_cn.md.txt create mode 100644 release/0.10.0/doc_cn/_sources/howto/usage/cmd_parameter/detail_introduction_cn.md.txt create mode 100644 release/0.10.0/doc_cn/_sources/howto/usage/cmd_parameter/index_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/howto/usage/cmd_parameter/use_case_cn.md.txt create mode 100644 release/0.10.0/doc_cn/_sources/howto/usage/k8s/k8s_basis_cn.md.txt create mode 100644 release/0.10.0/doc_cn/_sources/howto/usage/k8s/k8s_cn.md.txt create mode 100644 release/0.10.0/doc_cn/_sources/howto/usage/k8s/k8s_distributed_cn.md.txt create mode 100644 release/0.10.0/doc_cn/_sources/howto/usage/k8s/src/k8s_data/README.md.txt create mode 100644 release/0.10.0/doc_cn/_sources/howto/usage/k8s/src/k8s_train/README.md.txt create mode 100644 release/0.10.0/doc_cn/_sources/index_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/tutorials/embedding_model/index_cn.md.txt create mode 100644 release/0.10.0/doc_cn/_sources/tutorials/image_classification/index_cn.md.txt create mode 100644 release/0.10.0/doc_cn/_sources/tutorials/imagenet_model/resnet_model_cn.md.txt create mode 100644 release/0.10.0/doc_cn/_sources/tutorials/index_cn.md.txt create mode 100644 release/0.10.0/doc_cn/_sources/tutorials/quick_start/index_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/tutorials/rec/ml_dataset_cn.md.txt create mode 100644 release/0.10.0/doc_cn/_sources/tutorials/rec/ml_regression_cn.rst.txt create mode 100644 release/0.10.0/doc_cn/_sources/tutorials/semantic_role_labeling/index_cn.md.txt create mode 100644 release/0.10.0/doc_cn/_sources/tutorials/sentiment_analysis/index_cn.md.txt create mode 100644 release/0.10.0/doc_cn/_sources/tutorials/text_generation/index_cn.md.txt create mode 100644 release/0.10.0/doc_cn/_static/ajax-loader.gif create mode 100644 release/0.10.0/doc_cn/_static/basic.css create mode 100644 release/0.10.0/doc_cn/_static/comment-bright.png create mode 100644 release/0.10.0/doc_cn/_static/comment-close.png create mode 100644 release/0.10.0/doc_cn/_static/comment.png create mode 100644 release/0.10.0/doc_cn/_static/css/badge_only.css create mode 100644 release/0.10.0/doc_cn/_static/css/override.css create mode 100644 release/0.10.0/doc_cn/_static/css/theme.css create mode 100644 release/0.10.0/doc_cn/_static/doctools.js create mode 100644 release/0.10.0/doc_cn/_static/down-pressed.png create mode 100644 release/0.10.0/doc_cn/_static/down.png create mode 100644 release/0.10.0/doc_cn/_static/file.png create mode 100644 release/0.10.0/doc_cn/_static/fonts/Inconsolata-Bold.ttf create mode 100644 release/0.10.0/doc_cn/_static/fonts/Inconsolata-Regular.ttf create mode 100644 release/0.10.0/doc_cn/_static/fonts/Lato-Bold.ttf create mode 100644 release/0.10.0/doc_cn/_static/fonts/Lato-Regular.ttf create mode 100644 release/0.10.0/doc_cn/_static/fonts/RobotoSlab-Bold.ttf create mode 100644 release/0.10.0/doc_cn/_static/fonts/RobotoSlab-Regular.ttf create mode 100644 release/0.10.0/doc_cn/_static/fonts/fontawesome-webfont.eot create mode 100644 release/0.10.0/doc_cn/_static/fonts/fontawesome-webfont.svg create mode 100644 release/0.10.0/doc_cn/_static/fonts/fontawesome-webfont.ttf create mode 100644 release/0.10.0/doc_cn/_static/fonts/fontawesome-webfont.woff create mode 100644 release/0.10.0/doc_cn/_static/images/PP_w.png create mode 100644 release/0.10.0/doc_cn/_static/jquery-3.1.0.js create mode 100644 release/0.10.0/doc_cn/_static/jquery.js create mode 100644 release/0.10.0/doc_cn/_static/js/modernizr.min.js create mode 100644 release/0.10.0/doc_cn/_static/js/paddle_doc_init.js create mode 100644 release/0.10.0/doc_cn/_static/js/theme.js create mode 100644 release/0.10.0/doc_cn/_static/minus.png create mode 100644 release/0.10.0/doc_cn/_static/plus.png create mode 100644 release/0.10.0/doc_cn/_static/pygments.css create mode 100644 release/0.10.0/doc_cn/_static/searchtools.js create mode 100644 release/0.10.0/doc_cn/_static/translations.js create mode 100644 release/0.10.0/doc_cn/_static/underscore-1.3.1.js create mode 100644 release/0.10.0/doc_cn/_static/underscore.js create mode 100644 release/0.10.0/doc_cn/_static/up-pressed.png create mode 100644 release/0.10.0/doc_cn/_static/up.png create mode 100644 release/0.10.0/doc_cn/_static/websupport.js create mode 100644 release/0.10.0/doc_cn/about/index_cn.html create mode 100644 release/0.10.0/doc_cn/api/index_cn.html create mode 100644 release/0.10.0/doc_cn/api/v1/data_provider/dataprovider_cn.html create mode 100644 release/0.10.0/doc_cn/api/v1/data_provider/pydataprovider2_cn.html create mode 100644 release/0.10.0/doc_cn/api/v1/index_cn.html create mode 100644 release/0.10.0/doc_cn/api/v1/predict/swig_py_paddle_cn.html create mode 100644 release/0.10.0/doc_cn/api/v1/trainer_config_helpers/activations.html create mode 100644 release/0.10.0/doc_cn/api/v1/trainer_config_helpers/attrs.html create mode 100644 release/0.10.0/doc_cn/api/v1/trainer_config_helpers/data_sources.html create mode 100644 release/0.10.0/doc_cn/api/v1/trainer_config_helpers/evaluators.html create mode 100644 release/0.10.0/doc_cn/api/v1/trainer_config_helpers/layers.html create mode 100644 release/0.10.0/doc_cn/api/v1/trainer_config_helpers/networks.html create mode 100644 release/0.10.0/doc_cn/api/v1/trainer_config_helpers/optimizers.html create mode 100644 release/0.10.0/doc_cn/api/v1/trainer_config_helpers/poolings.html create mode 100644 release/0.10.0/doc_cn/api/v2/config/activation.html create mode 100644 release/0.10.0/doc_cn/api/v2/config/attr.html create mode 100644 release/0.10.0/doc_cn/api/v2/config/layer.html create mode 100644 release/0.10.0/doc_cn/api/v2/config/networks.html create mode 100644 release/0.10.0/doc_cn/api/v2/config/optimizer.html create mode 100644 release/0.10.0/doc_cn/api/v2/config/pooling.html create mode 100644 release/0.10.0/doc_cn/api/v2/data.html create mode 100644 release/0.10.0/doc_cn/api/v2/model_configs.html create mode 100644 release/0.10.0/doc_cn/api/v2/run_logic.html create mode 100644 release/0.10.0/doc_cn/design/api.html create mode 100644 release/0.10.0/doc_cn/design/dist/README.html create mode 100644 release/0.10.0/doc_cn/design/multi_language_interface/why_plain_c.html create mode 100644 release/0.10.0/doc_cn/design/reader/README.html create mode 100644 release/0.10.0/doc_cn/faq/index_cn.html create mode 100644 release/0.10.0/doc_cn/genindex.html create mode 100644 release/0.10.0/doc_cn/getstarted/basic_usage/index_cn.html create mode 100644 release/0.10.0/doc_cn/getstarted/build_and_install/cmake/build_from_source_cn.html create mode 100644 release/0.10.0/doc_cn/getstarted/build_and_install/docker_install_cn.html create mode 100644 release/0.10.0/doc_cn/getstarted/build_and_install/index_cn.html create mode 100644 release/0.10.0/doc_cn/getstarted/build_and_install/ubuntu_install_cn.html create mode 100644 release/0.10.0/doc_cn/getstarted/concepts/use_concepts_cn.html create mode 100644 release/0.10.0/doc_cn/getstarted/index_cn.html create mode 100644 release/0.10.0/doc_cn/howto/deep_model/rnn/hierarchical_layer_cn.html create mode 100644 release/0.10.0/doc_cn/howto/deep_model/rnn/hrnn_rnn_api_compare_cn.html create mode 100644 release/0.10.0/doc_cn/howto/deep_model/rnn/index_cn.html create mode 100644 release/0.10.0/doc_cn/howto/deep_model/rnn/recurrent_group_cn.html create mode 100644 release/0.10.0/doc_cn/howto/deep_model/rnn/rnn_config_cn.html create mode 100644 release/0.10.0/doc_cn/howto/dev/contribute_to_paddle_cn.html create mode 100644 release/0.10.0/doc_cn/howto/dev/new_layer_cn.html create mode 100644 release/0.10.0/doc_cn/howto/dev/write_docs_cn.html create mode 100644 release/0.10.0/doc_cn/howto/index_cn.html create mode 100644 release/0.10.0/doc_cn/howto/optimization/gpu_profiling_cn.html create mode 100644 release/0.10.0/doc_cn/howto/usage/cluster/cluster_train_cn.html create mode 100644 release/0.10.0/doc_cn/howto/usage/cmd_parameter/arguments_cn.html create mode 100644 release/0.10.0/doc_cn/howto/usage/cmd_parameter/detail_introduction_cn.html create mode 100644 release/0.10.0/doc_cn/howto/usage/cmd_parameter/index_cn.html create mode 100644 release/0.10.0/doc_cn/howto/usage/cmd_parameter/use_case_cn.html create mode 100644 release/0.10.0/doc_cn/howto/usage/k8s/k8s_basis_cn.html create mode 100644 release/0.10.0/doc_cn/howto/usage/k8s/k8s_cn.html create mode 100644 release/0.10.0/doc_cn/howto/usage/k8s/k8s_distributed_cn.html create mode 100644 release/0.10.0/doc_cn/howto/usage/k8s/src/k8s_data/README.html create mode 100644 release/0.10.0/doc_cn/howto/usage/k8s/src/k8s_train/README.html create mode 120000 release/0.10.0/doc_cn/index.html create mode 100644 release/0.10.0/doc_cn/index_cn.html create mode 100644 release/0.10.0/doc_cn/objects.inv create mode 100644 release/0.10.0/doc_cn/py-modindex.html create mode 100644 release/0.10.0/doc_cn/search.html create mode 100644 release/0.10.0/doc_cn/searchindex.js create mode 100644 release/0.10.0/doc_cn/tutorials/embedding_model/index_cn.html create mode 100644 release/0.10.0/doc_cn/tutorials/image_classification/index_cn.html create mode 100644 release/0.10.0/doc_cn/tutorials/imagenet_model/resnet_model_cn.html create mode 100644 release/0.10.0/doc_cn/tutorials/index_cn.html create mode 100644 release/0.10.0/doc_cn/tutorials/quick_start/index_cn.html create mode 100644 release/0.10.0/doc_cn/tutorials/rec/ml_dataset_cn.html create mode 100644 release/0.10.0/doc_cn/tutorials/rec/ml_regression_cn.html create mode 100644 release/0.10.0/doc_cn/tutorials/semantic_role_labeling/index_cn.html create mode 100644 release/0.10.0/doc_cn/tutorials/sentiment_analysis/index_cn.html create mode 100644 release/0.10.0/doc_cn/tutorials/text_generation/index_cn.html diff --git a/release/0.10.0/doc/.buildinfo b/release/0.10.0/doc/.buildinfo new file mode 100644 index 0000000000..fde5b8bfbc --- /dev/null +++ b/release/0.10.0/doc/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: 4d7a146cda87e1e0222ce8a24b0ea6b4 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/release/0.10.0/doc/_images/FullyConnected.jpg b/release/0.10.0/doc/_images/FullyConnected.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b2241f401434e527f95ee4e0e541a3f2ff78fd1e GIT binary patch literal 50847 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/NetContinuous_en.png b/release/0.10.0/doc/_images/NetContinuous_en.png new file mode 100644 index 0000000000000000000000000000000000000000..7bdef1aa366711806585d35c8653c987fd63d59e GIT binary patch literal 54256 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/NetConv_en.png b/release/0.10.0/doc/_images/NetConv_en.png new file mode 100644 index 0000000000000000000000000000000000000000..ad618d1d6f8f4839f566f5f5cb5db37a4b7d9093 GIT binary patch literal 59083 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

EH7<7hN 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µ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 Ns4MFzRll%#_dhKvR388U literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/NetLR_en.png b/release/0.10.0/doc/_images/NetLR_en.png new file mode 100644 index 0000000000000000000000000000000000000000..9d514bf1b18a0c330f98c28785e5d008f409fc1d GIT binary patch literal 49488 zcmZ5{b95%rw`Gz}I_g**+w9o3ZQHhO+vXQ_?0iW&wr$(yEE`+V!*(yf55CJwc>J1yC@qItf)FehDeR?*%dRi4$qgAcG|PmIecWzu8Q0oz zAJfChY>q=Gg+mOr5iY**Qwl8v8dSZe1>%5UWxuj{al_7%d zD!oM+H>2r!vZDLFxRcSHD%Jn-QRh}eT^7`(LYEAM37^Qnh=2`O{~1Y792QlZd@g+> zX~Y;CT4xvRrh^Jb#5^}aMu0vgoOT;UPb*cjm|VKLN_`bdecqLio%H?c){Z!~;9$FX zS5e?|U2Y_w2Y`l=tb!fe@P~9QrGOSNaAE7npOELP_DhE;nKAxl0ytc1zF|LS9JE)Q z=5iBrFpJ6RRx*RxbTPp&5n=S+clFlBr?-?;`IX^zlOV%`8A)146p&YM_ftH)@sf(c zEw{e-BBb$X6_tL1-jp38A(H!%+PXwQji&{j71`AlGY1?8M(j@J>0^rp_;NAV`u~m* z*QcPtGe=IJ^`T<4Efy!37*EX-2@02KJkBeUhom4`eMseRDWIH4N*Qv#8|r8$m4GvZ zJ^f|x3DE098uCW6vV73{j2F0l3_xdwzff>iOCfE7Zk>Mo8_yqvEDr=4Q=RXP%wtvP zr5T@XRmdgF@q@t$>QjQ&3Dk^6#e+cqf29})6egT<$+(K)|MxJ%e|uv7rKpjDA`|?- zB_NrYAN0>bW;7bv|7-rf4;Uom2d#5xy#5ek0z&>A~p5vV( zDJ?DSKwj{I9UYi03C&K15h=G-XRBv>B(h12PS8N?%_?`^KsnuoKx+Cd89o1i5UGv2e>qPA!>oS7%kaNJ}jQSkYG!G-jP2CqfdsBnGZYuK-;D%wBAB5SZ$E97!(suB#;aubr;@zTq_ z6rybwx$XcJKOaz#b3eSgjK=tYa-)16a#YmWo^o}B4B@K;? z&gb)_+o9(=cRWj^tm;3CFN5&tgX;NFA6jb^a>(OnG&%HslAJoPt>BKUwbytmd|f0_ zc-#`Be4S03buW-xv=>vIDy!#yV=%S7KN92lHJiinvz!2EH1z7)0#LDF6NOU<0@W~A z^X4)eZn7_6@9;K8s*o1h&|^m%)Q@t=ibg5_8A<*6dx|7D}*-=*ee{rp#G)fxx;RDA4A?}3ZWN3Kv@L@6DpV4axW@qOPu7JL2InCO7 zhf`VP1?drGxJmZe)m+zZyKP@D8JlJiUIS;yz)&}yT3%0U#8r7TN0d0NTVHCi2(czv zu;Yefv14hehYevo7NzdA+giMYdb!KQQ9V5^m=q-)I<&11IZ3{5Au2yl1u8$UA44(8 z<|p2EA2~}B?;NOCGSy?C8$f#Q@`gpv;IKjYHCfS&CR@KXeAI3sP^rn9!}JBa}{V*nVDjt zkbKy*FY**b#r!HWu3?8r>Zi;GOb&dpts1vi(?Ha-1<& zd^`YaJVOjQ_P!P>rHrvjvGamr(i?*t&c$Iae++f`vR8X_MqyjJ))H+u^?9)LC>Vqrvyw2jp z%uGjL_lQr9^DVxdk=$&|9l2no`_tD(L0i#D$Lxg` z*H}V7;Fe*D`fLpbi+$+&phF01dpq@3Qz4t}9_@}lYv808aW?oS9Rs%nx3dgcRPr>< zHt~^jm}Co?e38r!?RLk%)|mHgZBp1h&#V6I9zQX-xkyci-F%u7{&yI@hH9h&RlsM* zfgkgQ#Gw)jvmr6d^NtR-vLvvl?P8ZFtZZx)rsF(9U9p#^$6N$v;nZJ2VcwlhO>-X( zyQpcC4B<8d1=juIE=v63SQ#%{^!CGlxTc-ebPj{dpzY7jGVSMgxh6(U@`}{g*PjJ9 zM@{mmO!9oVk4#J?oS);ofP$SNL0*QQ?XOJ{dd0;@pnNh<6vI^L`Q1cp9G%hgCB^)# zCjDq{N#OItSCcFM1Mx} z5WE8iRTfa(`7yXFug95*gV8b$Aedsd@sNirKCaKMogDjWe^o2$fMdM-o!L0 zc@SqOp&3^&d$B2a;<}`5;WVw{THTpLpBzodCD5TnT#$<`zE*UVkZmJ(m)jTP3G)}NL@{vx(Tk2~q1#0Y5zt3l8iDmO8Q9p!If2M@F=%>m`FNrtR~>Imu>KwYad5Ro$iXd-1yml{&4)3NaikJ zhNuBhj<>h_fn&7^5-8-uL-?IP1OVL;2{5iR<-}=v?xmeCt5UbqDD=Z)cHU5I)#2w2 zV~fo_8&CN{2f<2H^^3fB>rn@#T=>bKKOiO2Y0+7Ug!*r1-)u<;BYt=Tyt z#Xx;#Dt|nuzmUXxtMmZdF)+X@$i}4U{_sNQ(Q8qmvIt*RU>V<$1@Wo(% zy8g-`Aml`>_@%9y_+luep!=H2EkfH+a~in9Ds=v{+k9?Y8r#lOuvTZGoQseB38h7$dnDN!Ni!5%!2|K|b0o$>A+&c=6 zINa1yvtOKr*XqaJoNVrk1&v`v)5>#9O9(Fizu6@yFJ<&s#t*`B~xr=1lO6camO^>S3l9-p5Ugke5Bni3v z1?ceR!E%bUB7{w)pTBUxXg8r1byZcSt{9RJlk&R1G&jAhir*iXq&f7zHjIyQS`xkR z9*M|#-M4%gy|ZLYhLAc|wmL4`YH@t;>!xX%lZ@oJRV)ii-rs70B;@2en>a6qI^@sy zMf9XxQM!|7Q5c;9Czby)LLxN@;`b_Ov}d{o(}qm0>C5 z#yomS)kcKmc*)3fJ)7@!JK}^18ei)O6j7G;VmWm;J@!;y4AxOG>)!B6aZLyVSO~Y1 zY5g%zaGrmdX8c8`Kk*6ET8|$Vq}i@Rl+$zLQn?%{e0vJU-(^yKey>18B|L{)cBojZ zBzDg#d?x*W@x1k7UlPe0UQf=62-kIk2`RHi4;e2u6`2L4{1bQf!q-D#!$%pkM z518K;TfccCykL&*ISkfGTU2 z7rXJI>m*`8xDNqSk&*a6DF8tP zRHG(nUFl#-b@PVooeoq zP287CO)~ZJ(f!bw!!1oU8Rza0lx++$kK`_tZ17p(?w#h)3(MQ;A)03V^;cRi9UB84 zv1Eo`*e5C9m$)#nacyU4qGHDc|2uu#Mlx>#D}>R2fB!|_b}9-@40A&Kv;_hB$2>6Q zQ0j871qj-H^7yvDDTbHIh3~F>*?MKr_Ovr(++~2hjYA`8*d<<6^=%WMeDWiT5fyZ$L#{QigUozxn8|-H+7F>J?xN4xkrPA~W zv!?M*5#;E*RoL+RS=h*X7F&~e8#=*HA9*KaI&XVBjpt!dbc^}0kK|6CFN81C%((m@ z2j-)9c*d)**RgkO*7(2a z^M6Zg|6=9N{){ia>{#%P1Zp+M&pvT~2}cQ6>=Bm!84bKD;G?G4fi5xtwAZ1ow`7e2 zO(83Co);v!*%2)0z{rkI$Usu%VhGYPdLkcb;KeTdOFs19BWIGH>cW{q+6Kp#XM~Q{~0pk-dV`9AOTKI zf(zt*l94R84DW|IsyEV@wZJbAsnBX*UDH(xMqUsS; z+yGQ$W;mc!K?)9j)1#&9Z@9}r?wV~fUYDm-82n28gR9o6ncIeEjxn+0$>Q1tg=Hon zLFUOH`m~nsi=b!|)5L;}v4QbmbFE8w+w0QFe}TN)Re^SQcA%+;4U!menlO|@v!v}C z;QcUQ=4$gD&5%I-T)m))h>9&$3x{bjM07bm91LHM>RCC(SMxq;(6=s%Eyp_)AI7j# z&%5_Z^rQ|Erx2EAM0h_ZR`vZx*7xnxa}Ndfo-t<)ai|ksrojwBYYxk)lr1H++#uh9 za^H)36-iOupikVC$Fg<$g2|8bx99*a$wyX5t)be_GstM%scg*&M4!LX(Xc2dU2F-l z7{1Vie=yomh6v0j!xH~kOG$*8CX%*6Kd(9qK^W1SpuHOofGrn$9F_uB=AepQwklHX zFKGLhN;@oSa{4TmMf_7l-kJuMtmc+Ep2gVCXA$!jk`i>mD?~qEP%Xp}6I6e|k{UR$_#I~7OxqJP%wnNqfF>8B@CkXM ztBcc2)q28R_0FB4$m1U#-{aGs)_s_3W_$Sc-uhocol}$iWd!#|bY7ntoJ`p&BWyth zPe;ObO{@Afan!k2B{ zt|O$CC;uSQS{d_i?4>g3u;lPM%CT~4P$QboQr;3V-pT!CRjv52~kWhKPceHO;yW5&r*<^p*Mu6(jdEQQ%kkfuW7>LmeUIohflFtGd>IVm5NM8)r0h zY^W84OnVbO)?wS_l^X}ao!=>n#{F+@8?2GH;MtoYa(%Lr$Xabed zQPi)~(Dg zGj6{3QwpYZmt$8J38C2S!YmgthkPP>4+Dz(%Wq&=Dc!b0)1~4Sb1;#w?j26PEix>A zOT96V{Rw=VO)d@Cza;E?=we*)bz4uM8nHkXWW-p)$6NIL2+yj43C`#9n5ve!+r^Yb zrC(fVrn!D2=vp?g2J~yp!I@&$wS0pk!F+yc8FODOHu*o(Fqw_ZA;M>p(e4f>ds%?V zqmeKxK3Crz+W}8@|G{OF7#-x_y0Ew=6tp}et!5_srsn%`LB3)*W>c(mM8{zAa9JCe z`-&9%a$)xJHg$sz=duABWb!*$x~s;L1%ob~esA#IaA~eHTod@rpa_3qpZe@&XN%22*9e>( zuR~P4b{mIuIVflTQ~>zQ@=H{b5E#nF$$qZ0(t-KJ7cr3$SlXzW&K2F{jdloCA|kRJ zQA&^aTo*mLVOwI;P%%qVdgl_7{0uu^P;Sk7;GHQv*%b^rwVL}ks9}WmjR1=@ztpUK zgMlJdeM(r30Zj?3oI4D$yyYEu^1zCG^eNi%t%^ehpc0?ZgGRJIq{^H+4KKa<$hpgr zu#D*5DkqQFlnT?LumD3aKYK*pKy8s=30`d2pOg*p!zzHSJ8d4g0Zf8_e90S1& z9UsP0<+D-=2t+a7iRqXNu%d^z?6}6u#uoWAf67j9vK-69y-V)Iou2)Lmkxhhe!n1c zSH0h|`_9V!G4{>rX4iY>mm&F7&^Q;A**SNJ=fELfZHWH$wjo0UpIaoncIOUJ|w%bfy+AH>*YY!I|ddYnmeJ9P0#-K8{f4 zg5M14ig;BQ;s5SCz-+@PDC|Rw3;Nx;UB>Yqc^G&MjSFiP0Q2c92I7EoAdM<|5&X}y z?^Tw&c*76xB}Gm%stgK`ZvO@;*V*P97bpeVDZo{ffU1;P2-PpSr95$;Z@8-{l*N`~ zGkJv5uK1Q8W4p#ZIBPn=p9Q9M!w^dlx)3ate0u?-oEbzK ztuWg16#9crfqni?C0vjzt=*oi-PTZ|~5d_9EZh|b5ywRV_;cEWi zgKfHz3DYzP>%(hR@}c*wcf=lA4Vdw=q^Jz3vKT~H!Zg)D`*kb~l>Z>Q8tiu4;X4}_ zmNnjgW%gSi$3gjB^yS;YZrR`{z;(ygAyFFo9F83ZSN z7KVk%u^CE*Gs(}TA9HZUIUVfj#tY7gw!b?>pjP<c9Gm-+wTf2e918MW5<5FEp~9t z6#r#*C=Zoyo`@ZELtvrtcV<;?$bWG=G`9?m-m3HX)*RwA+lb6zmdL-4fkiKaFJ46I zIPY;eB43_SHgkdQQRaSe52WnoZZxL`yc7&-A+8EhTkjAFqu{V#?IFyKeCQOFM)+Fn zTu%8O^U11RtaWeTuQqXSu51BHO>|>)zJm)LiH?~gCT5y$@wp=Yv6CkAaw3|cP zC|L`-6Ye`iXO>#})7-c9aQ-7@u*W##stb*2vJ#wH^hLJ2a$nOb5}TP^lR#XR%6r|Y z1SuO5naOjod%%2h)0w&ju9k{J9WGA?LtbY*l3%dHHzv7=4E=bGLZ}D;6M7Qpa&7TE zRd=Y2wBJO$arthfpy8c#0&ky>Y5Ds2o>9bn|5nCi_h0`_`1Jr#u9Y#Vc@ZpJl|2ckCxCpC0b)bbZ`gHBO$mC7mtT3H$1V1xeVdjQ%`30Ai>6~c~6BApa zDlt^3eP;$}7Hbl(L!}~nY|6& z#d5HG00T^(h}wj>iuoKbB<)KG&8|MJUUrdii{^Rd(;7K4*&7s((>7jn49 zu+KOd&@voNQRdd4L5>EwHV=w$^)SIre^sTd6}8paB&zJTwew0rXFm%lgHJtEedVue z7uPADK+!FDABcMbk8;ZZ3L@_FYlHz|BKUQ%NS7DpF}LWExVb3)k`@$)o9RZlRO zsdt=vV0=qXIXv)iLIi+^QQ;-sE{H0oHC>rsAs7IY5V4bvq%bE*Q!**ZW3v0wOeM#D z1{CZ)YtY0^4e!Bj=(JB`{!!&tovuDRD>zY$dac3@7437)1$QsflW+S^n!yR3poNqb zw5nWHb4_|r5tTR{mU-bc>Ua*S11i%vm0?j&A3l;D_2E@YMwtqoTF(Gw%64A+9!G3Rf?QJE}BKb?RzS#dUY6~8Qfi`iu!{YN?9rJ zBK&8NkRX9dO@Lm6!C2qC18z<$fT=HITKt&l)1+jjY8NqdlLZntwb3i>FfsrSg$ZKc zC1x~R==VwH5+UxTQo2tWl%O{-P}hNpO^fUhQRRlMbl#xfpjy# zNc|^xd?_J2NJU2D#6qpy9RP4;RhU;`S$1(+XVUokMEV$I!umA|ZH4}U{;`QMD&XU) zrA?pS{L`SYT~lNT2^P8v?3?GV1c?g!zhrV17AQUuhvg&}9OK^PyG&vDdWC>-Arv@r zPIx0Cmi<6sn4t<>z@z}PC`*D9B2E9ekV;lj)JyAPRc@*6NxQi(9~za8aGEnx{&A|f>+V4>$B(wm*Y!5`nc{v&d zL}e7d53LZ$7d#0r%f;qy%leGh`ebuYMuJ)dZOFp{!g6FDZY;2a=;CT3g z_8jkQcRn`4uom`0K0}?Un%|;3!*3>;#m+o)v6#%W<2v>&0e;dm5;EgLJ@Y)#t?BH7 zz!=1}V09VVT1y@mnsWRCrQqT18_$!UQJI;GDQHh|?%W`_kXRE-EK0WDN%x=cb{aD% zj<{;5?<8sYQn6;#Ck!AVLZsCp*ugX+`6kw%nBLrGrZgoZR8xlw%iqZM$S7@ejoVG!J>L??Wg9m?5fuxv+ruCpAfM3E#78WO z`HUzlRjf+QD}-p7%^nZ?yhzqfPJ z87!Xvd!T`WKRuOxvvueq^9>#Dh$^~U6cLmOMvsfd%EI+&yB>*&fw(Z5>>QZUz>a32 zpC^KD4CfAiv2jXxk}Ga4H?6owtemr?!rAn_V@XU~6OHA#nfI)qLat2<*|SVInw|-P zP?TCG0rP{!pbsFOQ>c>V**z*p1jsH%STHZ{d(!S`9|~yuQloRXw#>itQXT&D-!R{Q z`sI2~ei9@mz9w`j^Kw}G@+6kwgI@S)fYLpbM2b9ZZZDyzX^7WfZmID%{9*jea0khG zCn)Exr=6=-Ge0!gHS%=wIU3(apgI8*yS^Mj?OqNlY~!MGt7+7bwG89uP}`GcCE(tZ(5uo&f&DItEOhb>78 z(^Z(5IR5R1Pf(`i_H9!3Nr6=mj9$a{@bPmYo(o+>)&=W@MsGw;A1H>R7o?99te$?9 zQyRaV($nd)v)?m4OuxB2vrGG~Tf}sS)OnnZ`rMCyhQOpDTGNJ0RI!WK<`0?c-B<8e zE{SRWf}A>-n)9sQ?5Jhg7jT{#%AN(gDbi_*TX+yy04dT@p~khdlM&i^7*mf#VPO*G zO0O{MthQ{dZUp962M(vChdst-fK`@G(f)Hgm4e#QC0-JpfxLh9#D}yg&Ex_;VlLnf z)kb{oCr{RW*7~@O7-BnW(zBSTqS(Mq27Bim5=S5}9Ct29Ul+wy$Xk2}g{X6f@!|XM z<}Qi^;aS8AN2BRsM3QZMq*oyj%yhbPXGfO(Qpl$a5N=#Tbu0EQRPtrm=tv$++riw+=fJvnHD=)D|sK zQ;OD*SW>Gsh-fWY%!t@G*Se6{ji>HMo#c#;^=QY+?;Zq&t=EQ`WV zfIk9eEB6_U2I*}6=yx>J;H_!yN^r-DLL$j~+%tA$8KX*nQPV=R5QSEnvkA zFak*+*y}6EDO#1FiT{BWOh(9AY=QTnjy9Z%2!Fw?lWY~}W$w?s<56f|zV$|^49>Z| zo^F4f69j%DUbJ)7SpyxW$?V{v&E9A<{dCXd)9r7WXn5D`Yw9A=W9b9$(!#mj9?@5@ zK!}hbPz=!sx0fLOzyx)>h|wsg z3GDBn6<}|?qj9{{eD+0Lg_#jYc^CG{u$j@DF>BJ9PsZ%a+$5&^_1ZMih>H^Z&)sj9 zw~l6Kx?7D%hZm63N{#Q8FS!JfRX?AlI!*`U3Yw9rtEX9pFV#5c;_x53q75pZZC9^*4 zQew^g2r{zpVxfN^tq*l7)EX+B%cuFh6({>TcPPht%)ycZg`wp>1V(u~0EOgT!WfzW}ml??~2^;<``nui!_ar%`+hua~0iWu& zg-00@m9H5G?c}gS;V+>F!3tTLm)lm_5|#$KBLzX1)2{+DZ*&SiyzKCr0pr)cEiN^5 zX(G*E2>>J~O|h#@c09v$#O9WnmJSRIOh2OSwdaZ|M17v=XiW$w{Kj~QfX%xJRTZ!w zX+QQ5z|qoHrhrA)->Hi5xzTth_q}*#*>#D7&A0&ySy)V0g`RKvK0Hl_Af6UJDNmT8 z!jjg;ZaV#K`~?cj=tWSfXd@inB3`EN8@Skr(u6b1_i3C z?IwLgeKZ`n)||MTHkD9_G5KFQqJb$w#pit_SLuPYIPo2(p^?HbT-qqSbt!b78$ZPH z!4)?XJsv8E7Hc|@shrR|`uIREw*-h5J0&-phbV3Pxzg4}1x3bNNy^tP4aNKWnMWVg zL(Ye8uS4s3rbk@xUzyB(qCsqrN;F9JgmlFjh%9?%Bn7!7@Y2k<;1=>< zx!*FQjC|Cb`waGm9Vb>Z?svGIBs96q%dT+go_T)K%|Cl2fKMK({eegrotcrMn-6y> zOWd4Kl*=b8o-HD=kFa}RCx`K0-f>$p_$k-CPB3QM>2?=*ljC~ZKb~x8pxequltI}5 zPd#qPQN<^8Jxmj?aGw&_GQqXQyg@wplht0n;DU9p69OMB;Shm;k2xlt87g!%32e_z zcOU-40_)2_7gzb4A7+aT+>XM2C2c%y%1w4(GgbtnJIt@uN{N=5Rpu>`iOF((GI-q1 zydAt&(kFCp-0sKwxF)c^a7;5Fj(#)kR2??JjQf*JYN0phgm1hYUN9daOKZgaqg4QE>fuj91dsYEZ%yX|XI z%U+uf{BJn7^VUWENc<*aqn+A{#Tnee-qTjy*|AR}-Bs5^`+4`jLl>8}AH4A|7xf3x zNwLXebnJ6A9UG=X#eQ+kj5m4Ej4r3fnB6lVFK@Mc($7kGEG!H4UwCU{Ome(59Bmx+ z<~v|3PGz(Q9kt!bLXWrxQ(yOc2$Jxp`%iECD`j{oHmrCQLT@ff)vUh>i1mCbazVOE zbN+Yii`tFdW?t~~JG8jYUztO**~C-REWt5%MCWl0pP$U5&7u3yY~SF~V`N*E1CU3j z?W#>S7!^)8qXHfCz`cH@*gnxDKALqJl+svk&R;HSJrY#c=DV}&SH#6eY$vz zws`h^T4c^Uu&+1duR7XU`~rIv?XRGqni>n=~H#pVEiw<7Kw4d@~qR(y~o4u;irckbxO5KX!70`4Q2#e;kPr(pV~h zN3`u)XiEmArGLddnwaC{fC(qflU;%^QIW*dr1|oP$S+)52un{Sg@K>> zPDGRj5T=f^nPF&P1u0#}nW?Us{C$bcu+#c8OMZ-2AcC<^J*RCI0DA4#Xr8qkJ-2^| z1)A``F|TjfOEH>%6eiqaI`ZS@O+ACltod8M16_YpdWP-E!ln{1j&dz*DxF2vvgO>w z{d8~Sc$b4PeED{62YWDrLOzN~jz^ip>6Wmx`KC?Reai_IzLeE0i{=NQeZT+rv|nmP zpJrv(tz_Hz!RzsHaP%!#xMEJ4MXcem88v?9kxjO5)nr{aXKFh<Ciu|`xeoptA!JAl#K+0;h8LT?T?-vq;}x>4?5FQQd8EM(Nl)(F`=6sR;p`JqkQEO zIGIk==kx5?SC41&%E}Hh}sH{oA_|!b0f1De765r`{c%K}u@7+91U-w!%ph{+LUh*dJ0@ zxXte&2l|OFw7MYyHdD^4WfSF}dXZ0A#T{Kar)tz9uByr{%3$ilTd_jWspgH+_b(CW zo-K$@p536(6|T6hnq3Y95<=#RT^F^Vjf|x__HtA1d9`*q%_I+hLK3-y=N^Tb8M%n; z8mLbn;@{-&UwIWZuIy1gTlOr0PvPWN_Wc-hgr=|u_mQV9=zucKy(5pDipU_=GTJTy zd@@?u?Y#7xvwNU*BMScmPNrTL1>~i^8d=!3d(OzQAVMo5-fynoy#)|h#J~c@V9gbw z2<59ew!?~++*sVfy}hKvg@DtAft9X;574mAT2prjvrq}>e-IxOfy@h$MRFPRvMmL= zKAyy$1)9nvtCgAd=>&wUwTM()k6|7c49}PkPu^4cv2kLYEDaiPDF{hscL<7GWHH$l zy(G&e|508OK>SzeE+;Ff?RxJluiXyK`X$P&kkBv*RNi#IAkE-03e9k^RJhQTacO#g zU2=vJG8?93fK^#a`i_2*ifJmf(s(gd_GqIxB`_ryw9Pf1UVVmX`d#Gx$Vb6c8$+z_| zZ5M-;2Qyz?MC7fU!H>BJA*$%QgOqCh+WfsWGG<+X1knFRUMn?N-m^-HX}w9 z;xv9mr`yLcclS?*mHPxc!_|Mv_b@vmqzOJtJ^U-$SL@#r!kPW^Pe9x@QFh?$-TJ8&NW)bn`E$8g426){~Tt}ehM=Km4G_rC)Byk4JoqxZJ z8t1GF8gDBOo1e_t_F>yKyy}Q}zAS#-qFrI!u?P>2I1BZx$un1=C}={;#EJT{H&nMv z(O3+y-IS1nfG4WSqw zwTgPu851DY;gy+w24JZb$F;-Eaj=ZC|NFi2DVNznuuH_1%GGjl#c4`Xh#(<*hg`A) zMNc@~rtxbCL9*J?xKaNG5MV8MW=*DJ`>f2V^V#m)`RtOO&>fnW9*PiFp`j0=uobD> zu1MAWoM&v)S+-BCGMHEckowu8AQNeMR^P&_*{=Om;PwHln+9*zMf3u>VWR>?@a|p~ z1x#=y=LWl*_eIWN(?aK|&l4`dgfS-dT>@Tmv5?P0IXu8fe>R#gzxIEleRfX~BG}P> zWf66I0~q*H&@%`teyKA2KAJpsT_&0abV%`}bk3wOdUacA?tX%NY4$?zH8zD__Nz6k zbe?)KAS-TMH%}{AtAn(N7S2p#7)L3~FA*L)ySU0|;eXOVuUbhLLZ~bDq&gpwZ;LBk z=8Mn8r?xHii+>4o32%10pZT zov>?pW6SrC8T*<*NAwuEysaBq`Ix;vFnSA5kkvuN(_%i)>D)J5ilyFcR_z97k}>78 z1~Zpl?K@ci>i@7B%)u^X$gly9$p zB2bn4nD4bu9*j%w-OJTi^BzmVRgCHb6Bl74s#%7Z3KLC#ZI)cVW?n_nW`$KABk{(otJUCFQqOl545V}Hg?{}_E~k0r zrL(VlbJ+%es&f&*GDrb6^Ef7(WC0C5Yw35cjMtBgRu;~B6OgJZr?^Vt-G!9gs%#8t zi#oNs3@d#zkUuZTzS%eN{HbQBk|}0Pt93T_|Lj;YC5}%7Gjw&8#|uSVt}`;@_&A6C zo-%T2d$PPbvOIU*n00HqQ0uoH(i!akyb)~#P*4)B6+kF!Y}OtbNGFmgp&ko|)RpC7 zxr=(WQsayx2zxZ-9-jnz@%?TyZhMLlMspCjVNmA8_G=*V6S^Mxh6}R} z51ao?KZ%EHTn%FG-ZOS&Gl@FYJykgNADn zcpZUiWsvgZ>D_oP>y*>#gVHUT)mq=tL$IeXO_0HH0&ms zsrUgqdK*uK@vBs(_;;Yu4E53Iw^mWOczz+HgJ(vD-(-g=B2kbnnaDFQ zmX>iAeQKL0X*%5QRFw?85JT3ZBGV-?WviLl7*PGW&w}wPl2;M)4w}aE##zJuEHxFY z$bEkRStJtdK?wF?^Y;)DjKzi<#z6NOX)oQGW};<>j`SOb^_mW2n5_ZU7({rc=JPpp zxMDlYxYAe84Q{>&Pp=n356N_;si2O`vW9mx%g(0Z6bnCM=;$GF9|e(zC5gN+)`EH7 zrfG_;U`Bc4Zvk%%>YEZwKC(}Zce~E#>=8Y}zT+p;(u$>9i*EWZ>UT^Rp&k+bObW0~ z^Vw$#qGHZ3Z%Yf3#^?Ai*&jnt!P0QKMhfyr|CBZO=GxEVV5|wDvNGv@D9EzxRzwlV z<{}shZd|C@DNUR)-(00m2M^}1oQ8v+*qRgwlY3K4k_bBtG_cS0k`ZFrM_pihGyLzM z5r8g1aPYkgE|g3zmu}1FF6G>7y1;P;4PzwZNC)|iLu|5p+tI2VyevpiKtoK9k?4{|0|?KJ53EV+i{T zE_JTUOK!wwPW1CC(WwM=(P2TwAU$G{z${tbp=GQ@i#zouUEjaF zT~*F!7Ao-5k3r7|tXE_)0lo}q6DV-_*C+L6L+jdUtp2mM*NlX==rR>|@>RaxjTdRE z1yMmVFOc=d%$y7%nNBUHnrkr5cu;kzzkdx&UAUuzjLlSo6*Q*5BH%Bx`LD)qI`BVl z5eL+b>j9=i8QUG!^a|dky;{2i+vMJ*M;51q!apAf30qH^aQV9EzSNWyomo<0&Sv2CmJJodQ}J7 z_v#v9f!Or9dgRcViy{YUG*#e7p3ZXSW?5Z;B~e`mlYjb{FW~Ojk#D=4NE5)%g(gVx zhWa0_wU_`DUz%a#|41>>GB9_;;X0&Lf1-yeO&$^yQ)%2oM_u$tMIFO@^Kj2tHBdj8%Gq@!#Tb~p- zc3YFi=^gtQu?3=@Tb%##9F6CO5U^hC58Wuy7@p!lCB8*3YkqI9{E;`}?BTEvS^qEm z;^1=4HtnpoeVI8A?V5g`fWxlyGZH7pYSUrs$L$e5it$+tV5BLm&N{f%A_VavtkJ2eYQCp9RM(|v9b(J zrm0Y(#VS`Aj~Dz7%Gy4@*v84VfjclL8NGeGdBC@7JdCyG@Cv_Vk2FvGuqWqy?v@^3 zbhB@c)Mq$#_62!AL2Cp#WV^IGdW=ezbQXs|UwpS~Z^&bd@UM7beqEp!Ag>UZ0p5Mx zk(Nm&P3&u`eVtSSVR4Ea@>5ENlEq%q{-bo{rrfTdl=dp^DWj{>NFF)v&qPaRD&17D z-c&`1%a8YuRIljQU*@j_I9PdosemOvoQ5i=)c?iSSB6E|t!)bqEieozAq|2c9Rk8o z(%m2((jnd5BHi8HNOyN5-Q6t>-?;aq@7Cx0!*MeU?pbkloXh2FXa1Os^^OXB?_@LT zJqoeqo-6UihbM;~=2%bdyHYDMxv7Nugl_)QX$!d1{FV7m@*sIqbB6m^27g%CV<^XX zD2Iev1l$X|a4S-Yj-!DiA}E1Z=6h?#)QLPovlPKOp$Iz$$YP@C0r#gRU9eVY8}#g2 zu~BYVic6$npP@58>?FOIkVbyYxItZq`nZN%uuJ!NuiH52+gda9gL5EG)4ifMg@1av zR>LwDn6Vj6BG~z})Z6{(Cb#I@4-TxToafBe_1D*{4W(8Z2`}cgGL=8yc_2i}QA$Or z+bs_Oc20HOzdd8aGh6e$pKkQa&L%%Yz9-!tPNC&IXiO}cfD3;*0VQ#MikZ^yj|v<| zp(uF{hZ+s#4Xf5E{Xo^>*kY(2Hf>qFq>7z|yfZoLquF%yBCGKFF_BIpVA`+%*GysL z&gmjoc=nV{Tm`P*QULt$V}EQMVLRWb@K(jm-x~JC#}UAY!?Rb#g@_5kSXjL?3@t<~ z-Go5P%2q@ET^_Bl2lIwCk&lo9MYnaDT5HbySHV@3CaCmgsoqtv3d=mf_d(~Y!PfyB zrmmvvN+exJqpC2S7$!Neg(X`$Ho2~$5-;LP+i4WNMzacYDotNiWvGX(>9WIg!e$O3 zv0y-Q?Z|==(}Cz|9y4dReEkRkbAT;te?peRkBX9| zJ9!6LZJM_N`Dt|;L`(ACcWe%jX>hxD zoEaJI;RE+YaP2y1&y$@DEO1ZphW(-;Y9U*FHy0{4VE>lG{j;TnZ^5T+Ka? z)}@_$?c4Ev;?ZRs6aB>g08WDVv!5{{%C*=nT31!NPY335vd}+Z3*ZiPVG*eERfdxw zNHNg>X&M!@*Ue&A>O@KyBwiB3+xq#uJ#@y6Mv4yUmkxLfA%OgOyP|i$s7R$N`k$~2=JVxSe~*l& z{e)$BEvfMZpqT1G=R-D6LnYCQ4MyR@0vQTJKWg!7m<^R?JHAp8PD_U;`osd6Irt3i zgjgx%Zg!^b?5>Jrqt#l!({GXd&GWv6ru#z(s!0@paU7cQEO8f}iY@~pgH4{YinfEO zH!+685^{fF_Zffkzjbl@@}6#lT+A3PZ`uwMCc+8=ZDQir%#Qp;yU4m!%0-9t zBi9x4Vp@l^(-#GWF3ouPF+2ak3DG^*;N#KUEIjquq5!%}?V7H`dV%oEOstgxuPmNH zPZF^{6VUJiC?-Dpu1W!{m$|db)JCIhPsPyFGQ+kIQs-oYWJv8Srg@jg3DtmSlv6m$ zckuy)CJj?=W6Z6AGvFTpez*#lJNbf3@l{A0PL z92us|d{~FBQ_v*>O*Zd>+4`#pWMm!Fw?uRxVNvJ;7MIIHBdStfo6K*Z#|;Ck92fmL zerKYXNpcSaS<1fFv_*2WyYqz2cS++gYlA*NWRHjc7qaGEGWn?W^KgSvQBDQ&HSs%M zmwKxX?y0n)c^d3W?oD*}W7^Kt#p>Nck2|4HA(%BbD9dsZQY}_ThOUUEx#s(UEoPBx(?YbB~(MWv8Q~|DbFLa*r1DT5W#t zh8&B>;Vb(S14}d_lb*DNS}l}UNl1e!C=f>Q0PFs$BIUhKR*7+$KV1qt%P8C z6Nc}x|H2~)govsS&;tX%OUQmPe!)*X5@Xu#+kcIaLPlnUwH#Ic1XqCq39~@NpImX5 z@-Hxv-{32TWRMX&1R6TAU)_2CT`d?o|7X2k!8e@!e~p9)Xl0)h`I%&bN^Hs2YS-v( zbx2v@{{04I{?_AjkY#g4iq!c&>rU6go|E%hlD1!V- z#sEdQ2m4Y+UizZLj+uv3;_M{TovxHd4s4@9UsM$B6=4kT>(q9ed-u5RB{Jx*@W~$0 z12Lj9b~~d*3#ZYf3{fP$OxAo16g738)#s7_vp~oitDvE&_wxsHD^mMC0(0_gq1W!$ zsNo4!Itvm4q7*(DD$Y?iz!E0>NjqsQ zpcCdmor<)6A60QM4K=FsTIQAeuVCh{74H8iION zPYulZ6f`L>qSfB8miUx=ExH{r5|YI=8T0szda^-u3Y7lkiUZRi#;gf_;ie`$V^23V9#I#=6sKxoNZC9dy|MC zw`0O@*F58I-V5*vbyd&sM)jyOQYqj<+5dC; zWY3@_NQjK3(Nh6r7wyfUxa)A3mO-4_rYfE-1ST1qbO}8X8E8+SQ@Ez+a@_~f7AI9` zBY3UIWwC;h$LFbcTE?Ocs~Bb~ii!UtBGNEHh6!8&o;Iga4r2E}6m@vywzsa?9f2c> z&v;kqyPValu(-3nMYvykN0c970UrqrgK|Yq_BjRk0%ZTMi~GNVB#aS|@B!>olkR>- z*&CaCO8XGeFhq3?%wk^49aR^PHuf>r= z__!nPR#g`lDWT8*EYJg>%HjC|8_4oGFo){|a~P7M2AfktuwP)(!<&t03#@sAcLoMy zwR*T?#>e48GUz^Z31F~15D1jehSw&>0kz!ZFi2?_+k{7#W^W3JkDMha z&d-YnP!W}I@xJ==)P}^;0s);{uEI;nf6VHqAkpfA*uW)mXraG_%s&sFio6hgTWDy& zP4+jF7sWk;>BMAOL;GX1{-YJ(rNO3{LxcYk*q)dWC$CoL1DDs|Gf;(r*!sm8@i$?A zzpYFMBJPw11AciJzcm)PkO*SyD=;$=M*RIYMR7<&L(t1p_&?YfvLr*ypSHd+(;e>R zUL*V8D`F;tOyZ3ox>pL12dNV8%K55;=6z#yeczh*1s7pLx0~W>N}&VZtAB~`z@NL9 z#{&jiLrhlM_+Zk-Xmrp6Z$51tNpQ+LnS!U6v>A>k;@?Ob-#?KOybfbkDEJW3bM>$2)7Meiq|m;~y1L zFLZ|5qVk!Q2N9YSAm~cnqDk%MrcmHUNNz4s2be1+H@j+9yf>>CzDyH@>=eUr@^V>xx6-#+#7a*lG2pNA0i5y3@h!noz>r=Mp?3;glfd(HUX`NB{Un>P%_Ixqac6b@zrjxHK0p9OfQ&KcD5SU{M0v=#tFWo*2g1fpehjsNW@@pTh&In{fMw>+2uU_R1fEKgirafL|uAI~5m)+&K4vT)pH*28-J*P5?{7zjbCdBMT9FLLgWy zYrU>iOf^)S@oD%_P7UlMu58_gW93vt2bwxm`(?@*l0aKRowh}jA3h?JRrK|N79ojS z(WKyn0B#F@=n%=)p;NJLmi>T+?=c|m0B9Zl=eZuW)X;0;HDX6GJwe`SEXJ~`kTO@< zi!hvNUDfh|(|_ zPt=eW{UAA&FRe_=B+&W7ub6#i_m6{hwO)ka`)TkJ;p)}AzPq(T7{RAhSYL{qyQw6b zbfstZHY1zNryGW@r19Ep++wbeViY#1mCcIqv%cIv-xuxHQ|OkFCi ze-SQ&7L9-=MMYI2PI`*-mk44Z2cu75qWQ#&R@pQQAm((QVemx~gg=_KBZKEw%8Oi;FLydoHsH7VS4M}?BrGVlM(2mwP&2ttek zxp0Ur@xT5GjK>RF<$Ic|d|BSm5Zo zt7}?*r04GU%zi%g~vT-lO3m|T^Eu$@0`s?B^1wWwXoHlAJ3TAbUavO9iWIj#U( zOKffY&2^X2;>YWYKUNsV2f$SaGo$mnODCoK&zG9(2SV^1F}7FKc3PH|65SL?oD&?h8t}Ni_0))9emAgay=OrXE&R z6CFAwOf;C;9&fZ^AwFmRj|B2$AzIl>l2>`Xi)uz39ugYcJ3Jj!nq!Jw(klnC>LLO? z5+mR2vXzjV9~YCmj9N=eM^VaM$~M21pdg~Aa@7_iBT2U(4qJ)aPG`9Y^d@30;Jx^? z8N8gK!N|h*`HH&KbwL;h%_z7tpGt^{FE12qc+gPngX*dRXftvd#jX5@Lc!LMPUji? zNk=J=AqPY##b_EQRK}L z@oTBK*??{?(npn+)ngDmcF0|8<81=EB}<5)WIg+PwwRr?ht8K(p|xhytf~Bj6RJh; zv@|^bW2kF|Kt#buQWvgxKtu|})a^FQFaQCY{6B|3@lbgMSNSz|KHFj#ZR*v;eCo2be|MNAgx!+R6tB1BHJH$uRKGUhz0aiLRi3g)i4ZKmXCi(e_WB0|{Tg zglx53PQJ3t-y?<}|8od*rT_92sQ4ih?Ptb(Bl<@`0J7sDVn3H~wmJ2eHy});57{p9 z_#7Rdtl7 zJX*Sx$_&Wk6KO>fZeeZ=}0r|I$-}Z z+H4YXk8@+l54wKj{-XBf^wU*0#b_wbay>$ofXGOA>vb&IgYP=|!wq`Z)0Hzx zx<0Pby6$oYNBg>Oq~U=TBiPJ8FWA&y}^- zI91~)%&aSP$fSk9Jyb;ifHOBYC3V}?@M*IsehXCUH6n$`$@#uug^kPpNzYSx5i8`B z3PZk9{-#D|PS3eAf$BN{v<^437catBXTkd?H*Z0m9EG9#h_YI7=O^g6I6uL%-Y+Qc z1(J^N0tHMGn{JCB=icfL96hZcJ6)?%8|b#z>OKZ}yv+Z)>tHo;GG%`iJv-CQ>Ce50xORUu6JZlZ>)nlQHkn0E!R-VYAWV(r$a) zsUE3P`3*ZiT{qh0nxyH#7wp6VP+O@X;)y2IV$w>5>yrCJ-H-Dy}{ti#I+iuC8rclBI zw{z-45BhH&kMIN6@y3rTM=P$F~2 zl+i%S@1UC@_ZXlosFC2k+73DH_XWbg(I%#sa$(s#VJnKBYdXT{+ZSE6+zfl%mVu~< zXC!pIzhn?3!Zo?vi<~2(7hI{k`=+tcaLeCkg?UUPF__7aXM(j1a*$cLP^M?CG+Y^v z9g4s@`JUJM*ONQ^!@0n_TkWaSEaK5qa!o|859&@21uPmp(F2|rkwJD+~IYae8E-<6=b5}@i}ktX*+XjVnZsLfu%(-Ar@ve2Kehk)I{~SplLt9_1Z1ku@C0Ni#20#F4jw}&a>c~ zqCl|+c!naiN<)4>B#U81qk3nP00)z+dMgu^?t~KP#tCC|OWW|Y@aZiiK>(WT^A=*iTfDUvJWaZg&u^I4;6Z#*TyL&CLYfb~$CjG?rk6>Nf^=F{N)R zOWqLArlD%hU$rS$fQPPjKdAZr_}F9rTFgr~HFhO2cje^-naiM1fMq=zNo@6tb6LFQ zIk(OMRXUkIiu{-aXP*pkB$(s2nT1pnSb!C`I&c2iI zhk9@Jed1Ni8f1E21*UEBh-#${d9fa|uh)o=F|8Y+29L{%e;pMTrX{;-K}~X8%DIQa&sEOujP&5H8M!V9=-t6bD{f~J0|*7+S4aaRhRQe zEcbyK!c$yjLI%=~NW6k6*)-p(2JX;$g{^OxHQN;Q@ynVS5BA-#(;V>K&)?+-ibAZF zw{|6qMdApqE}4Lq2EyQhn>qjY{DN|Xvi>syW-Wd-GA$@o3Dj=Z^I|q9ZXoV!E1#F$ zfUX5ulU~*v$*f@S6TO9&QIY2*a0brVW0VpNtW)CHW9C(Ddgh*|{`lOPuR<$UNS=m>lTRH{ z#U_RI#6zg1u1Nm&MYC#Dyiu^l;>`6|s-cDZSD>YBVk^G`-)cco)NczW8{=8f8Is}& zxnvjPZIEDlw6N1NJZBk5cqUS7{s z@$!asF}}R~BRhXaHWF6oCaZeZk4~vBBh+Ov^GQ~9YqGKA1uehp?RyF%R8#Y_wEZhx zy5(rF8(UGOGf_O($A-KBkqj&~JB5#?7wpl3pe`Kyf;TH;FbFLiLGVL8qKD0)+N8q8 zFt|#>ri@TyjZvRJldTi8M@zm8S$ts#3hyB^ncye?Y1B_@o1JbG-vY4{`j)LuE36=X zSA|xDywtV0C{NwQoCIg#gyZ}Ccb96FiRQ-6yIF9tUYN{7ZgyXNQaI(kbTvE!sly0c3Nj`rb+XzieObu075VY^$x$wrmGLpRE;u8Hw<1G* znv8XpjBG2o--o&xw^l~w?!->6*sw!4FRvmNRw+f&_$|KZZ@_hW{RGRLQ7&m$)=1O6 zQKNckn~Csz&wHmza~f~pCGbc5Ypy!H3Qv>m_T|x<6$=q(W9*Hmk3?VB19)t>H?oM7%*Y5exCWU`aBMNKgvT6yO6P7HG`2I{YL*Q@gp{ zDv|N9E&}s%OY6&~#ZmNV!!~K_^QA>)@h!s7blqp>I6WtrE6N%o2_m1B*OdJ%RL0J8 z`L&YZhlsmBKP8j7j8ozdh>Xii$RJx^!5fI)E>vf+(%S@_ZvUj$t4S$SV}BR zkJ3&H%`pstt%qY>a@`Z#LlV9T9T7VRHj-rOw_&EgTfe#_U@u(u6ax+-!Jab>x* zrAdEz;)2i|!By3@)>^498~g5?)2EwPtS}X_`|-;2nCPuJ9`0lE2yUU}_&$B{UpF5t zVh)h6D$9!~Ht+}DbjQgHk$v49-q)ewA#Wb!n(svtzn8yvZyG62l1KjD8|?|AIN6_A zOGRDzJY~PoZgFtzCjEX*;J3Wtlo>T@h`pAf(Z)X zIgV?$8#g*9iF3@K7uNMpj%Zgf!sJkw=#|to=$Scquw(ir8Oqiu>>HOvN|w1=7*)>e z13@Ip$~uHA*kqt-k-+t8m@3P5(jAJ!D5LAZ4|4d5j2#HZsD{J+di_h(M{!i!g6|ZZEfNh zd&nHVlEQM%0Wzu&p%|Tw#>MRJGKtNX*r~-#{Je9V4?a!( zp$s@`Ut@N=qW%g8Nl;wc+Lc+-$OcM=T%E8A_0iEiVG z{V-mSdb;tr7H^qG+ijdR)}S2B8)t*+g&pSp!vYIt$Uh|c!kk}Av45vZWLnZhmKgI# zI+f&cQ=kgYZGZS#noc?b1`Tb1hxyqc!KW=@&x0R85?E`RnzXHNLY@XQu`%T78hEp> zQc7Rs2T(J_yo0N$iqW`rEVC*+B7%-3l<Q;A8`tL!Gjm4ha;;43Jn;BuloiMY+~eN*|zkQo$Vq0P-^U86AobC8QZF?38TBdQtU-gv4> zY0S(@S>p?0g6J+E@Cq(f%J)1uNLxBIP-O8<{muqbA-Ub6GRpTEJ%NGjNef+dz0T)R zd+ibHte5jP@lqbumvkBew*m@*v==gJ`?|Z0Cb}=pil3}#YGzWTW2pzXw9IT!wy@@B zY*GCf2vBi8{phlRF)BAp(OS$jD!{FTr1g94<#ky}OC_K~1UyWFKR_oA#_DHMTJIOx zEzT4bhP<_v(#y;>pD#8ZLZ3^pf>y-TKqN>_b2ZusY0g0h%E9v#{wwlO9R4%k_^qD9 zfo^l7xG!gl$tG~IPXARy1|H3}vzSwYd0^kqSfCETW`WoYxLl3?qkbq8D72vycgvi{saahm|x`X`%hNycsz{_Q?rRKf)Li>Z z7dCWY6wlFzhaxs7uv}HkxZBKa;K5UnPHL&yJ zPhuyB@8G;td+mevR=4TUKg^2OoS?;6fdv+2E zql3LH)_9suUxih3l#m|qQs+-cac|R!PO(~(Tq5iMgwA#^+z?Ya1+f;I320zMn@$b8 z#Nf1a(ReP!o670Gg%A_m;Y_m{T;2x4%t=_#WJ(6|9k@?cj`5zsl8q_@MoW|XN#dO! zZe?#K)T%`i7%Tzfs+(eca5XBAf-PS$2`D+rjg{T*&ChjBlO{t{Sn#G8@Dh>s2l;i+ zbJ)5W9+`=+ITFPhNa?ybSH%YwRhSMbtqP5^57X_1L+=L2n|h@C<_{73maky5KJ(tf zh1_D#@2I;h&)f&So4yn8u}S%qP*94MWlrsI0gShPuqy*nU&)FPg@79}Etk=-mF1NO zXw!7nMnZX{lDlP6;VzMN-qtwpBs@EQX)UMyGg;!f0f~E_^2`YiDKWwlufASdhamRP zcLE`0K9W`pK70W09Kjds)=9t>+9_AtOj%*Yi4ESe% z9!$(pf9>|5^QAACT$aA8J4qFaJvz9|aDWxPwqH}@+=qkaOq8bqJHbCP`}(kutU@b@ zawq@0&K@e{-Y|mNPvKFk8oqQ%RMEQ2)%c|psyYlfk5@ueoilG;PG98v#MkcV%{ zUp6u*jx=a_`Nw|9*j1f~*jyA&(}qt&Rnnpn6cZyi@m|cDn9a;uL_-zMWm<}=hFkW` zTI?;&=ZiuH(r|{26t2Z8=|Swzev&V<6;j7t${xE$gF@wNxv_d!kCLy=OsB}I7}6&CtIi6+TGe2s7gSzF7gS!dfy^llH9LpbF6$C?mm)jK7HFNDX+ zc-~W(IQ#bPYjC=E@8i-{y&S(l@biSndIwH#M9Kj5^6iywH6w4D9dRitH$lB3Lhp}b zAP7n|SHZ!zwb9u?w{Umh@fX8W{Khws&U-4yCxbgRUoBe^s)rrB{P^qa$>9gQeb36l z@!ou|eMHvypAjlyqL+{u^2czG8T&T}E@b#$>jY*-F4*z`HXek4c>PhSs7#< z9B!0?Q?cWQYy?liQccLUHRud7t{#EfRZ)%BnKVw<;K2}jBQLlk|tIHGgc# zwH-?IzBfWx?KUO%^PjSDk@}(I%5Gz&MagvGbdrVB#t^i4U+$Hm0O|rTv@5f5xrHEJ z(1^KzmjRfB{wc+I(Lfo$nL0e;-Hc_O`qpxjwYY8o%+l3}@M*(zJDI7H8hecUc@iyj zX7+jZStu%*DkExePe6RT!qYhnmJ10?D1Lz8&LKTPDqQ+0W<$zboQIhW2=vt}3N!l- z7jvH|*YjHW5LYCxjd(jV$Sn(0Pe(>7C#`L=zWY<+x46s6K`@^~1l|PeA0a2skg&=! zVqZ4OZ7pw3MJhsvECoAwcawNPfEz2T3^-V2h>!IwtQn(xEF)VD0*r4MZ?z zxCcWwm*0~LmTCkrut*wz`r2{bh}k~dMIjvxj-z&2C7Jg?9(h2*;vC_RqxS9FYnush z96*2T-Zhi(4p!IxYgFR{PLVx#8|*$$HAAMgDe`0S^`>p1(Cl=m$PG3s@dt2rh-0#v z7*8$I`ZXL?Pq*0(YAyHCx0BP3tlLnTnHRT8)Y=49Dd(zzqEvo2qVQ0>KPfW9qIFq=&wo58 zrFzf``{~+LwdnB1?Tt zIYf{Lkd=fX7(l{#pCAr8g9_GydjO5o9!|cmqSQB!?Bm4%f_s}?%enpWn=?&vi%wrq zJm>S^?ohMJ?kZTpU^4sI;Ov1-9?`8Zf^56*Eue1pLx(jakgAEUDYU+5&%|;}wf`dJ z)cSI40Z()I{eyYurJEP)#&h^wW&FqM##{t>Kb%B};VZly+|0LF!n`Rwq&XwdZ%o;B z{LyZ)CdW{|t3|a9d$PKvuaambJ^Al2UDw@UH zE?BAIm>!)kn$Th?s(tgjF1t2ZtPyGNs)#IZU$x>WNw_=A*}#|g%(HML-=$|=Ep@Uw z&J&(z*)%*_?0#O9nB<>K1J+qFEHfPlx$_|&0%S|PA%rTxK9{bIk?mUQap1)lU~ z#XkBSh2xhweQ`admFHsVFIlXW-=nDZur{cB*>}h0-O*bSaeW`|s`pau^ux!Z-BKMD zbGByr9(Bu!guu-5lg1#GPP@XaSYCKK*g#c*xBvld*u9PnX6JQ&v+`V-!S?z{6~x2U zXK|SsKINo)?d`M@-$G|^s?!GXpAqJYz6J$tX|=-9=WEf{^`!$zYGSltPe1~3b-t8w2i!J>>?QEyCqf?jo4i_7UPRv7L91*9~zvD{a%cp1R` zzB?MMh*t}f&Ff9yw~*D};wrkO-jHI1XN!jG2Ugu?^V$Do=0LPJE;jB|;(sN88$}j9 z$~=gjOGaX3Vn)5Y=pV15_Wkxwr(D@{U-CO9Qx)kahs*obcXC9NZv{N?ucgW%$k(8< zAp#nFSMo|S`c0($?Rv+tk4Pd@lSZzl(+E)C_u$g=TWW2~PYbM5VC~edTVKgqPNNu* z9Cd6%4|o)5JL{eV4K`@&s$9%yvqC!C{lUU`fZ}^j#_ftF9L^ElOe`#bEex9?PmfLG z#Dx;P_ttUVv^*W}rHQ;4VO&As{)b@$p_vBKNqu#MOB@|Oy|i@>11}B8C9gPlQfs*E zS@kc_IlYGSTZl?9dwrhLy0J!KJh4Kuf^B3!gI) z`xD{qO=>dwA9;>Ai<|2egfs zl-!hafb2QGOO|m0p=1FD?_Gf)lLn4>owHHjtnK}h?c5;qTykXJm5HEuhnu$5g_s%I%A#O#@TZ>y$GYiJ+92A}8M7H$9G#l{tP)Zca3I;h1Npw;F z;!_O^kAH85$_xSiTj+`CFSa$lDiTnGic21WgB)?4^)q~QGv%eos|g~f3u4^)k9SOQ zg|}!TX0)eWlmXZ680aEp*6tI=@?UrX?AMA$CrBR_Ew;wSGR#8>Yz%8%Fwv~6%a~M{ zB_J7Q+3}PmOxKrfSY>y`TgD>~}+ripy ztRK&QG{53uYX#iHGr?#&F(_Iz8E}i{z<6x6Pl2(h19bc~r|mtzutwBuvqaR4AV<`6 zsEop+Xqa-;ypX0=zJ)+~nCU~V#7z@X_6W)RDjQVAj=RMZHb0vp_z<;zIXHJOjG#xC zn<6reQzU%`9OYIcZth3?qJA+2yP@1IX2p?*15cXli)oR|Mo5bszmvjS!1}lx!;o>eOH>K!wBWth$ z9SAWd%Fm^Y7Om|$q|Q+5k+u%-W~>x167nkLWOR3P2R|||p2AhETNDJG(vBCd2`+qpu^Ntlm^hjv#=H*;hD zuCuR`Lb^ct>9uMw?t$Qy{>GBtfyqEA`p@78whJCa+=g};2wj6Q;^XsfrSjz5x}6$2 z>If7WthYpf+=#sD%I&7KP0QaSnl{5vG_Ms5lID%(%q+ub8;aKpAqUnLy(oeb`tbrD#R{FLM)eS8-GqXDmBSF;iTai zf|^C^IE8i}^7Hx`)GuJs=yzAo@4&E-~)mgC_Y0d*f zXsbY>IHd5j!>fm;_JJtg)vjcatBOleWKT2c{@H8gP8zw zf!DXL<)k-uF^=|!Wbfz+N0y8=0mHSL1}R@mlH*CAUQNs*Ie8|lzn25=A<>QF8mN8tVreqTGjJ9f9 zwhR32n%yfB7Rtsql08s6!Ny9vkt^3qWakO5Ku&}=4rs~KQx}L5S|3W*8SLlf=*`2J zY7Mb&ueBN1vr^zED^kr4@}%>06?!thhJ4X>*2Wgp`|<7ur|_`+ot&wz(9jYK&d{J7 z!*D49V#pF(L}ec_)_a%lH_!ElyB2{nMu2gtP2uj9MRB}5Yomn`8CQ_{3x2$LD}9oZ z{nk!3@5v2wdk$IM3s2Z{w|KiS&8>UFElWU}h^D>sU`@R2{h1@Lj5%oFMk}QmRW7)1A}lucavE{uk^Gh7OxBo_P6uL>VRCYJVOlGzv8K!nQWWN=W6jumPO7T0Vp*x;jHLiKSIEV0h=Uca~ue;ezDdYJs-++;1oNUv< zhPMLt5Z-KEwL5EX1U3A*EkU1;owUR>q$rrTovAzS2Qf0m?yd=`2j&veH{sIsIYi`I z;u!@Ae(rByZ0$#*4bl14T{w})G=FqG$etYyt@SvuxZJCO2+H7?hpAyIA<04|YnzzC zn9-}N4zfd(MiYhNuc!Fk4o3kJ5r<*p`se5jxveb^@)k7y^)JGP=^^42ZQV%g>&kI*sG%oGU_^6?2CB2w6761`4P(-XWX@eF@W2t3HRv`$Ou+C$9prKaJ%49r zzd&lKKGR{XZQQ-)k108pw;%p_3o3E#><7EV*;R9Q<@fwI#`a&ggAxrX6SU^H>*by^ zba5-ihA2PQTw9g9bO*Qe3`nwRtl{bIwd-?_m!E@5F-yHwrDh*=uL6r#_e=77XdRag z*7ipBX)53D=$SCL&E?+aFrG%YDb=GP!gNOa79g10w(hOSOL$_&L3KuG?GNj}CzecJ z+b2PHBA`1;&1wk6Jsdh03Yafn`HU+dFm>vLjfp$N@QOguoQ8Nve_F*!5%l zEw)Z3e<>c1X6S@d=SXO3A?eH#c8W-{5yDzHK5?3H*1E&{{U+>${9wrJQqIB!Rw=1o zL`*@_E>sVUD+9~`q`?muKwayM=_`g0 zQ}?nx$sy?KZ8}`LE;+hwTS8ynNu9o&$Xe~nN({txfy>FUUGB1ez31>nlZiXW=3up+ zRkQnZ(42F-i?=Sil*_BHnz={npu*H!mF7&n`EH7oog;Qt?E;i{pfgeMB&WyJrqq*FxLZ;Ratpgd1Jjm;tf|a-{d*} zd*W{Q*G7aIUTG|HG*g9|>h-GECoWkCL{jxn5LzRBO7x5a$rujC}L^ zve)DLc>_VuyF%+j9HDBtB=R6YIF88)Q%F(JI!vJ=5Xf)%Npv6!MSl)uaAGi2b(GxW zo_gvh78;Qmyw; zGTSSVKG&K>4*Y@qrHlG8XlpCNjECDEZpgPXEe#{mxE7T4jarwn-voFwpy96LQodsj zaKQF`dJw_lvH{9UCF?4BV=i-35=inQvR}Vx_%`#x>&bkqaNGIa7j1bQQ>2y+IgRq` zSC}o$6yz2fD5-jey+mX+v&URb;6Z{zkU($` zu0a}tyGw9)cMTTY-5r9vTX5IL-5PJ4>2Ktpy5F6lPEp-Jz3>)?=A6Bsy;dNUGT~*p z`+ULd-8I-+*{%20ONOSQMAfeY12xD}L(qpRq((28fO6M{nFgsKGV}aLLn6DU?>=}+ zdWP>k>}3y$KBQ;(Jhp2rP%X*#^2H2FE{m2#e+D1>n{}eI|gANm?6gE$g;nQBQHs92h88u)Tji)L>9vRp6i6P}MSo zTR}@+EH-Bdi75+UEVfK`^spfvxvSmG^5*nwILj`Cmf>Mkqn2wH_%Azp$qPWw92hk4 z4LgpR+h-M1OwVUjO!R#KS(zV^ApQ2WKKZ7~DNR9cX>t`0wiEVm4J$g#GA=~9P=?gN zzqV?V!5U(;MqcT|JEAgsZeyqF*-_cJc7O1FtLf`RsU~B2WpXzl^MaIl?O3C;ixaKf zF002B{*q6^kyQ3vpgGXjDvc+SJaWUsiw)+ufKEf0hXG)79z{o+qu_={fWR4}w zM*c8H2;GBw<~vc~j~^)^u_PaG9%7Qg%h&Nn0)-cJH@3^TisQ`^)z^wjux@paZs$R_ zPLewvYxJ;pd`YYQVR?uu{*H7m$o$QEB#J4E}j?OpyTjzyIDNgn~( zsaan6>Zzkn!%t@_(Z6EN!AiqM)Sw?um0?591NZB zF53gK5Z!sKj}jZ=#d>8|79_0h!P30b#x5my&D~Y>M=Fd&LW1=L_eWxn5Xh@nYM!}- zhH}Ohmg>*aEB1MP)+4EDKVscV&^(pUVq!H#(0rlo&ERl-jd>HCWEO3&P~6&lCU`4D z{nH@NhH&5Vk;9W6g(i|xfpI#F(Mc2dm*pfm=U2)^-c9X$J-M<#4*cFty@ah2^$5Q= zp;~PJh1j7Qf5#Tr=C9OkD`h*bM@)HBpyVySL)tJ5%5fm4{dxzHTfD;Xy`Cp`%KQXLR+C!#w%hl<6(j}hhh3%AS02FxR$xC`Ee=IXfR@rPS>4091??&ittq7$z;;zis;^RJ~D>tH^(Z z1HWRGmp>a$DbfFtqSt}%VH-EzLsc93O>p)`ZU*1fR=rH{M53(KBoH|)kc7k1SGgfi z^IT0tI7Cd}g%vO4P2od*fN_+=3dm%4PRGt^2N)i)IvFEZ-+YVH{w1x6Q?S8_d9o z((9nRA$mNIB!NP3`l&EKZu5rfr zUHS?()5f8@*d=gUjCM5Cs3^==%3O-eiNdp1AL`o$ff2*)J0jiXd0V%*d17!K&nd~5 zE|e&<)U;|#kj~6&%FD)qY2*=b+3gol(+v^_fUSc!-`y0tdQ?CxoSz9{yh*LLjNQI^ zmxj9Wf1hfmdabJ(=*HCQw;o^O3}@N+CvbQRUna085m)Kzj%eUL%;k{~`ej3o-o)ZB zKJM)**?W{T@2T$d%%;mz4e5J;1vLB88cu)-F`Wkp;ej%n1|H-5vnph0mUngxj;|qr z?#SuSQ5w!a;e!mJf^tbQ;1YX)JC>mK;0*&Gu)W5t)#4YabD)6JDEe`V)w_cFeK z{_-m`l!h+=+%j2MdQG_U8IybiGd1cy63Z#tY- zM>R1xJB2jA?$9{;D17keAb~DMhfx5d^OgGRp`_kZ#!#CdgNr0TM|aEvq!S+J;bv>s z8cj#VC1Pg9*z7O9`wq6cQXgP|aCP}RHU*TN7VUOEd?&rI|E8o%W%0yb$w@f^t~fSh zLjYN}3TOR+d0}W!QCZ0#Lr|XLFAIfA>paezz5i{+Aa8L8A|oFZcazpOLq%1Z+b&EY z&xN!J%5&20S*&)&D(**~62(b1GtCn$971wE`|O(uLjKhl zU%x*CDM;xhFSYEnze{HbR3{toeNkY^RxMb08^CA8DBlN2TxL|F-ACWC;fq-O2=ou9 zYbBC(r(i)jSxJ|X*%P_7__B(eBh%|M41iiStBzef;@hHRIQ=st`nI;g;0}? zE84_pha0DcS|0(4Z5>a`oV!OmiXgSAu5`ih(bp4u!*r~dGp(!7MH0?Oz1YAlq+5(= zNA>z~>Lkdhou*l37e+qKAf)Lp3sH0MKC!i>O}Y>i=WPfS0x7`cGj~Ig1p%7x4FPqt zyMsg*b#GR>>cejQ))#&qh{?|}QtS58-rQ8{w7&90&2?_b<4V6a+tK;rvZ&0S*~gdq zh;FVYqdvmM#Hx5ZZ%*5#e{wEM;c@0WT)}spJ(QGM~DcZk-`&zrLexeOfS_chU?Z z8iTpyJn`NrNd{S8@#q-+h>6YMjfpUZGo}#?8{(2btEE2Fm6H*&B7VuZ7x_`Y>;(@> zR%mu*`Ruhhlo#DS;K7}JQ)&A{|DL#`#RI|{Cx4J|U!7u!_98}I5TimxzHpgqJ6b@c ziu%^v@9-Xkp$gKN6t~+oJ8m0ZB0#qKU9|YoYO(hysKxXpe&1S7WdCdGmpo?7TzFAs z$cV^*O*cARKgtzj|NDg8Skg4NoAf0RHGTjQi%@<-sIvb9VatF+k#BHyjHGVHN&8<} zDOP6#%W^9{^+xBmi-j*IwIA&NqISBW2-XwtStbQr@r=Y0j9ib4-f4_gm2wAn2$fW&_`-gpx!d?>{uCaAl6ok+gyQeX z{shD{KlxiQ91x@AwP|UjYratToI6>THR*xJHG)OwvAa5$=f{chkvAyl$KKHebi5Mt zqDt(O0aU_h)i}JD89ruAS&^k{F#_*1kDAj;uS+IA2<^$ z111^*WV}u#uddV=zMRq;Ju}x`1^ONzq4L%FdDc8GyZ5$)7@Am|GDGZI4_8S9zirD=!otMV>1F16Dk5$nt&)|RFMobW~E z*d;4N(YZ`OISFU)j~a{3?G+XT64{e`Of}}c{0jPzx#wpHf+B0bXwK8r&Lz{i)trN} z@cf7xFIHE3lleZT_Q@Ot*6ymz72q@xsf>cPnq@#WmTwM*oRkf~lvNaJ&4W zC9H?_y1H=qGI(HWVC$oCN4GCH8Hz{f-Cw&9C(zIxnrp{N;3CYmHl(6c-FafGiq#q| z|Dg7%YtAhM*i4pAE?;;ue`j(*$raW|#<=p@^7JO$fxV8EYC2bb>>wP@bz(SysC zH;Cja=Q!bk9I~cao!R5vPLjw|1d%3Ln#Iu5aG8Szw()6Z)yzK&$m+c9A-9?_r)Y_q zhv-9Be9{y1WGCK?zx3J_On2J9rBugWc4hzy&5Pxb_VtBgtk8r>6k@+FhC~3JN~sif z+xt?cl0BNyQ)Z_?DVq4;lofom`23W~ffy;gvmA`!JHNp@F&!Tgd+sHJPPa?_ zRcf05aQ-ePv?=mSs7=mPFWkZX&ESDlSUV6Xb`HJ)txpae1wMn5Kha`{y@%}z#;-HA z*vY54Y#XFSfP3=IegqHpdUqhQ#YMRlf8_V99q+P7>LR0$d~?f0&iEmh^wEfTvW;N( zZ0FA80*xrcxb4FBgo*={%qTJ3u4lz{!gBbIkiJss%l$66K$EDQSih2jUT?n~7oz-g z<9ux_$_dd>2W^ngOn~^E-kaTY^u^1q-wCnMbau(T`9m!lDJN@|7Z6Vg-ieSTBmKr= z+c@m+_zi;5I(ocEvkh$CwQhy{UEvHH_=JLB*KHJnG(3p@Ixb{({8FEt=m00WLAnEe%rr|?mWHagX73LW)l-A4}=B#Jhbg`f;`xNO`G=A2wLTuXM zhuT*4MpOx;NTI_vL#0p;&&8tDpsVaJ-uEUr;&(5rt$w30QHmso^;5m+TUl0xjxS#B zQ#!vqOGMWEa>jY8+8Jf#t`jay#rE6DmDLs3|<|BO8ppdgCrJ ze?{4;AMlx9=YR|%6+#+x(od^Mw?By*t11eA`yX|RsUlTCip)oisI^GiUp|R(H30<{ zf{#TN-QaokZ<(+y^^k4W!AjRN=Lb?3lo-D($s;#A7RQ-yTm^_t>E|y0bguzE#B>!C zj{YLcPU^_Q8iBnZq9y|d;J+ark%OgE0Gq)mo&msq#CEd6sGX8+E${OBj& zd`Qw(6yp|faZf9acT%P$rW@?abEkOhx!=wrw5CSi<*RCG;0H7vuCFs*UBvtA(Vi6z zoPX^YXelq82jZQDC;D8G!!4#5f_;8Fw|?LPj-)9+^(s%hdz#6|B$LG!uq!e{VOkFXZ{xpls2 zkFMGa(fPb1Bg?-HaT$4+f79nt{wvg}ze?i4P8n$fr5{j(m39`==Fbh0Rz|(?$zMZw z+fUXrBLG>ycJn zVZRr_GKZ*`K-|?fBkO_Em52-er`+mN;v1R`p?d1~EdVRiXQd~K4MrX&vvziCcADRt zXf8ZBkD0Fi_Ky{XU}BmqW?#8Bz3L@EN_<>O-v>Jzz;cCz6KCVftGBEmQjKmji9%xx zCp%$kCFP^t!lsaPyRmKjnMowl=jFY0+0qzzoeE!`HWzYtX{Gg(2hEU zx8o76P)czD@}I&Q0xjr6_NJepFm;E2$PVzX*%H8J%#J?o{)LttrzG&`MPydq$sVbM zs#yado!Vvq)LBi&qrM+Wa%cj2kbFl_I&R%k5im-0E)pw_RLMmP2_ZwjKc zp&Gcb>8QznF>$;329Y3_Qu?is3^H zUVDAs5@M^C=4L1nuI0jC2~FMAX0$%GdlX%hXDsei20K&s=YF-W*IotR!4ftDh*>ro6?@K zc`VzbLG@<_32T(8J!}-gC~)Fck{gqU(u=uS{0WLa1*MNzc=Zd*a%iq+U(RE_RoD>E z8EnAa5-%Qt;$fbPXVskX%APrQhBP;LF9dddAZ=lCi3*?`!w76F)i|42f+q znVRHEeN9+aBXZ$dVn|#l=I>1mCJn5c8O%Hh(nVP9WBFhcXx4VTdZ=6TB(Zwt1uHAk z96VG#4L7?k7t3;Pk}HQlO5^}7Y77oCeyN+izeL2sYcH^XMC3k*LD9*N>`L{5P$b>EM(XfttQP9JStZLvf$Gl|RiqC`6LX z{X#o3<_c|q==83}<&jCWSzM2}V#-|TaugbhzOCV-=hyLOE~n+}<&T{RyHbV3MEn8c z-Wkv3wB$$SmtZ6Y=rCl2K!Zn!X(Pyv`N~RI~eNTQW34pVv;1}$v#JB3n>3J z_-Wvj)9QKDeO1)>-F{KXxVW74bTNjOpVs4950TDIITdfKD2K>P-_ih&3 zhrmlWOj1;%V#kNKBU*?Ouvx^v1IQKP?3B9ORK`mK5`*~)fI6scgEqN>Qd87!{nIRU zy{iNe4ki+T1YQ6oH-f<|P05hn0Q|U&Awp;te+dkFu?QKSuU&ue8D^?nwiW%hL5T~$ z5Dnv#;M63ymoa1%uNJ6=Q zaR+xvO%s-41ggoMS1;Ua`p`BorSA?l1XO?QnU|f=fSA`~Rg8>O_CanqTyz&=7X=J!=Sy<9xWDFUg_mrK$To~1oK0(&a|EBv0o8*ch`3*t$VU)`oE8zdS?}Y)7=R+29rw zoM!!P_YA}kGl;sJ;ev(5`<)-w4$hqeTU9@5O2j=n4$&C0`>5wJ zP8U~L9J|cP_&Gb#UBLc)3vuu}b}!-xSV?a?@K^vX$cXQ*@TeNCTF5c12!IJ<1roVH7`Dx zu9^mz2Wrf37-y)H$a_s>f32EQ%SN`)RkXn9q9#0^2s|6$GKK=+m+)3w9sam)L|2yCoj&68ySoowMef~7uV6g$Yrh~!qBvpiUNl@h$a}kWhn+R~N zMIroVy>8@Pkz6&L#ZKjw(QmMD9iSqTQJTz?HTf#srt^w*Pu?h|U-TdyEP^yQK2}v3J zmNCF#@Q>W$^FTQ9BYP354y#2{)_&kiUsOC*QqM`Dyp8%|u{FgOaR$u*KzbgssY_uHU!=%t+MhJ734V|vcR(HWG zA4zNcJjc8%VCR&dL};47`0gZR@Zg5Us&j5A7@<>fQ;Z~azkqDeYui)<_JzV$;d6SZ z^&B09hRA~d-j7$1gfy%2h8sf!A02EdU@hw*YOWhVZg$Ea?QI?L$B^*X77w+Zesm&# z&hjSj0OxeHUWMsS%7!U=4A__*@Qx(^EGM(k`n`NR_UBZ2KYHX8X7F)?o)v}rgk;Oc zdvEM19^8cIN7O@f_lt>+@IhYwT~s+Avt!UaDVMRN-9+=^Ti6BSY1&S6O~X7!c|`Lg zVwsL5zO1Bws#DR~Tswn%y4J@%BUmXPM3)VvW~?=`UjCAsGz4F|=ND+m3;!5&w=Gqf zu$r9=0 zHf#`yXm1W4fFaF_hC|JVy_x?x%T!T=?BV~PB7%ogbjECndZ$sS0=;2xRYQdXlxjaMHsm5szWpj<2=3u0dn)Y~Hq z&*d0ND?BtGm^mpE65+XT>PF^`ovdFI0UY3ITZ z1GFYjlH$_4JqfW-4r4aT@RnZ=_DDk*L29rG;_V8B`W9YWj#EZYWn{r|4Q~7XhkKPI zaso^~{g#uK?8^VCmvPIv2B!$W6an?zy&OZ=Sv%FP(YWY$Y9%Z;^-0kypa4nB6xsaT z1$yzPt_IYHzT!#ivb4K)o9PCDGuu?RA5DdGgx=-YZ(){w$GEq>P(!>g2{J-$WPw1q zheJ|2&2T1DtY0%zuPmB35PIgsW(`mgvlw%s_Mys(1>uVH;TnrsI3xy{fd@drV|lA| zr~h~J{kwKzxu*7gvKN4wEAcinKMv_fp0RFYq81uwv>2)MoXUxlNPRBR4;peK{zC{B zByBz^+IJMjtYPI5M%z4@oY#>qaMZ-c(OedKJ7h^c$8e!M(dV%NzH$1?(EVEgW<_^1 zA4=TZB4LzS7h>c*5p@AK_EVqT>P5xdET-*(XwS{J#qLg>9{>vprTl{0cse<#SLSIv zqNLjL2+6&whbteA(w58mc37vK#nh>d9{1pH+_RI;{CBJxtG8TV{jcq^MNJGew#fZe zH%Lo7xA$0UEN*uw_Y@Ys)sa;CV>g16^ZRC{EozNZlh+W;DuoR`xPBsU>`C_wv7yT{MHo5<$ul-SOxp49F{ zUPYAM6OQ%1wKZW@%s+`XAX(~vf+GuLpwlsxxe?i!0yIsFH;Fs=vaXua_^V~=Qd*hv z=MQO<-RFXZI&O6l+r!e^KQLQO41NsBiMe<|#8REUA+j&Ju9-5~h8>oE%TpIkZAa>o zamuYaHQBzNxE;s)qcKp9p}1Z+KF-eyZKxEP%vcN8!5dLZ_B&;OeNNU?1valcqbBf& z-bqgIF2{Z_lML)Pso}iCBcF!JOr;sTq-!`a|eZm-$Pqb`3pwK;~3VVR&BqzPo~QdjZz z%kqE_VALjK6Kr)HWA%7MJAh%>ac~A2IPQwuUp1B%fU!l7x60Y3UP5<0fxQ_6P3Tyw z{<@REMYqxMFwBSei6bLBqIk0>qOkkqJ_gX=YUuKmcjv_~G_k=F%js=DchM(0A zTib}uU5ts1B{mt$Iin64t1HNxVjbj(Kv(=x^jIf#yo;_SxN44S?=_t^M<5{|dIE;z_xMlZ^$Z<48u#*##GI8dUIzAR6} zlym;fhmgXh{bB0J7qAYFf# z&9hOHkW6zC%`DCsLHj~~29HtVqMPc$Wu_*HI0;brYm4v z?A|tJK2?qiklV3{wAN97rMUgX@CW-Mbg)puLJreb*T?o|lg-{`%3xUds}W9t527-W zjy7z_04GMW6bD6wMZeoOJ=P+m%I*6&#@mLeppE}!@C zgugk_-rSA=MA(*QeNzwvTwWD9Ej&ed-ne1pO0cnBPqi9 zh)|lyK^SG*{s`jM4H_`QPhCTRxpcpAv+l%Xr&u^$Lr{FtEj>JC=lE?uQn!vN@GYsP z7wk&kykWV}8JE$a2{-WFw|IHSp>8GOiLTIvEUcp)ro9ICwcX5N$SK=8(~)V zr(?<(=WjWXcKZbIZJHS(tuv8Od*Ht^)2Om-L80aJJgpYhbw5hSo*wDi*eOL`UGUb& z8DhkXPs<>se0T2nRK?E-O0yw!8LPB-)5xJCLIy@8cNLxx6$neJbU1 ziGDV?Bb*5AcCI6qr9k?1*AOhX(Z&c4wPZR}t7s+F(t52w8ctn}t~xir%3^suvhDbe zZT;6F(oF)vJO0|Wa~Vdw^4=6+*(|!dv{CtSJ{UcGL2fLc!bx%EVJqVvohz9UNt+So zi0g`Yy&-nh6I6^RcAtGe^e3f1sc0XkrzJEaln8KVk!&lQHG7>-VsoOYaO{j`g$n3j zaF1PifRN;*PKf5}a^!xb`|H9g4cxqQZWJ&&{M3ajJ66v}wnzYW;I1S2Dxu3BF>rMM zeY4qm*Gv(s#^v_|c#B6r&;C@%N^>G;g=P#_R>lJ=DB)D%T8?D=QDQvOvxJF7 z-&OM&{jKHSp{+o4T2SiPbt60_`$uPUj$rH~sg~O3Q;kr24L++%?qn?X0OQu5oL7!H z-{vy6*Sx5B~X6t|G#5#Bc;#eS$7)8k-`pU~zxg zvx=TrDdjeXBxhcioET1Z7vRtd?RB}=NeJ3Ke0^q4n!4U9|MjX&%Nu-JO{M1QE~)#Vn3F(@<&sIj}# zC-X`#b}uho?8zMzDhL(52Q0KGYN%WFsdkJZUZCZbUr`M};NH77c)D)#scDp=wAppH zH_vr*A>?R;=~>iw$mXf`soaSjURfbrOWtZfx`DMBNmkH78cK;!4Q>$nU}Q#7Z?ZSi z<6DC`N?fhp99?apV1UN$oKYcY2C1?Q=lFKGW#Xd8A>*k^`yCncn2*mDv8i}dV*?e*u2C=yw!xG*ghF=1xU zCk^(;J)` zquqyzDh2QZsmV4Dip*!x;F1%mbC0d^L)dLze>&o9Y|k)Gg=#vuji{tYjgL)0v9~J0*lI46>Q9AK_>h%-+cg^tTBd{(x3PmzqF>m3e?tPAeSiZIp)>_b^a=&NH z{BkVc6Wd}DK~C0OA~nnK9szn zn7NZQFGoaqc3G*s(Avx`XsZtmSEZ*s)!N&$vlY2+N>aD=Vwq}LiVSLKaX=G|K`_;~ zal;XyO$W#f$MPz&Q*HFmj3Cxzu%Ar+DT#G)(LW!qwbC=2ASAE7K=JmdFZ6LtdZa4P z{gPfTv$SHBO6ojeHS)Fc19YT#RPinR>xO4L%&)XNw}g>w@UIMzrZcCjg(I{gnH238 zm&y+>x214?-s0Z-HRNz1Tx0M08w;R(V-*RD0iiZ}5}<`a=d->Gp1_pj1;gqmVu%1K3? zJ4)F!KD?7Kc1b9cQ{eY>;YG^PJXpsM=~rb8+-RBZMXu%L@N{xXUU2NmRg_t(Xdf+< zf0ehihjH1(JMn!_oHF#}9VKc$`7+_Kw$(v&7T9J}=`mZIx7!4wwVjfyLyh3zSU5?* zp4o>3eEqDzolNm%RYQ*>&G;MclQ2+Yvi{rhkRvIa*my7G*EH=fr!1KO%NZ(6$bj(6 zG~Dk%o-(rdSGU>?%Bgoxv+rEPfaSWx(n^4{Lp>iQ{vBpzeX~m0D9&|;LZ2NMG;7Q_ z4IP?6fnqX2j2ow?5_?uYGXXA2ZGxew0HA`>fG_dHt(0bnxVdcZ{-1Yhaw^I(`!q1X z>E>+>Tl0Lzd(Z00IlObV!&AKHR7OzmJm^PbNZX{XXfF%;pB4ClA{2t-oKN2~#CFTm^KXj!3dX$R%KNksvl9OGb{@2$+o<>2z zi@U=8_r+2EpW?+xWQCxSjsI-q|2{yYeEx6S`ThT~Hv%v(+nLh-wRgzV23Ht*q9-3g z^)FOS_tiaz|APOUPr#|rsH{wb@X2@-qL?MRv;8_ z-+%8*VP!fe4lg%??)kszARCNeERD+l(%JLjC{x)1#Klmj20;C_SF0 z5es|}>o)keK?b6NBY{&vP|;NQDaz{`y?h( z7Xn5R{FmiMxPmg5O;2Y-c}4zb&%jPUG~gSln##i8z<9z4agwXYTYLSpO|`)ojQ{4l zWeoJEz4Hi=4ubA>wuGH9JTRIte4$98BOmJ4(NJQ<<-{thj_%WRsQZ0%Q~3S=xUl~3 zA3*>WHRck0xx$e!&o~l16`z0x{%=#wg*SOumhVEZiq~a5ijkg1)poK-wzR4_KKMjVW1#y(h@(!t3?e0 F{|6GMn8N@7 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/NetRNN_en.png b/release/0.10.0/doc/_images/NetRNN_en.png new file mode 100644 index 0000000000000000000000000000000000000000..180f273d32ea59dc8ececa69c08e249f79f9d4f7 GIT binary patch literal 57109 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/PipelineTest_en.png b/release/0.10.0/doc/_images/PipelineTest_en.png new file mode 100644 index 0000000000000000000000000000000000000000..7e7ef520b5effa2f43fd2964048f05c42f2ea890 GIT binary patch literal 8656 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/Pipeline_en.jpg b/release/0.10.0/doc/_images/Pipeline_en.jpg new file mode 100644 index 0000000000000000000000000000000000000000..21a7a7bb6a1af746120e6f4f51f797b6aaafb9d8 GIT binary patch literal 11633 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

27#9dk};rh=2o>h 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 z⪚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Ϥ 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%0AvDl#& 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 |L(p)T?x{0(o?~;oEl}*+?>Noo+aAQ|p^+I% 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 qm(2UW_!qx-`}_crd-;V|Loq%O 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/create_efs.png b/release/0.10.0/doc/_images/create_efs.png new file mode 100644 index 0000000000000000000000000000000000000000..e5f1526033d1daf401700989af1d25919bcb7675 GIT binary patch literal 241814 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/curve.jpg b/release/0.10.0/doc/_images/curve.jpg new file mode 100644 index 0000000000000000000000000000000000000000..baa35ae7f0a0b6c246f3a0d331735477ab8bcd70 GIT binary patch literal 53277 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 D@j1Uc literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/encoder-decoder-attention-model1.png b/release/0.10.0/doc/_images/encoder-decoder-attention-model1.png new file mode 100644 index 0000000000000000000000000000000000000000..79f911d4ba12ac0c0d1a936c9df639c302786914 GIT binary patch literal 68089 zcmYIv2T&7H+pgG95m2d0vr+{_X%ZkJ0wU6+6M8QRolpZJ0s;aeO}a`ip@jrOFVcG_ z2_Z-oLg*y4z~#IDf4{pkXLioJGdsIy-}1cAb2d^-Lxujvy&D%UT%cEd`{u)i3p6q3 z!~WXUbBnPri^Tbf#`A;9>kDOroU7-P%k~QD3KuR^#?hTvUOAs%cYAB(dEvqxum231 zSvwxzbK?UqB||So4_iwwM^~5ox{eUr3(ud4NyLtHLg%AA1EQ9Hex7nwklwyGZjFY37Gd;dl{cp)F1MkwwIIN^JjkuJE!4& zD z?sPYW{@(N1?{PoHVVQDEt{k#nUk60gJ<*`l7nmU8ZiKp!Ezs_LHQ|ii)$<)DADi~V zHX|lorsSu7K@5i-RYg;{Ft*w?>tM<^-E8hn_9^Ar@qT%)J33X;YU|c1QDg*XjN&Gc^gH73wg3-%IRN564T7I~hH^XfiS{=X+5WV>SlrHDvcZ}W-h;Loh@CQ#*31_571 z3S-4xPuE-9OM7mpU>Or`B;1>=tuu%%nPm<*3txa_cQvUYN{XiT_3Cp-6(D)UU4aP` zS1a@S-B()0+H7$#nl$TuHOZF)g6}ve2uUC>=qm zk;Xufij-I$_QWYa?f{z^gjL$8A3^App~<=i&2WAeKgr5wQ;!)j^1C4*gfLcKl?jrp zRN@$~0oFCz4>fFs!>Cjr@_-cK-$Sq3)2$8p>tox}8x;@{}g2 z$i5jBrf-a8%|O%&Pg;EP_9q(=4=JxFeQE5YMJKvXj}EN^b}$B{h$bEQ60h_0!(wZj zYj;(UQKMw;O7Idm@^2Rky#kG5V_ceUXt zRRDU9JmuKZ<|9f#KB>D_7fYDue~L(mfLZ&j-(5PZ6x& z7(zY~GM}y@mb%ghowaQQu33W|!dOur3*n=fuQlA8`&Hq>>3-H(d&HH=)1E2FUYk1j zum2ciXV`_@U4n-kBBv0+K|y%#&8<*j1k@R%ynnU}G6(Wo?trwj3N3POX9R~E zN7$QH{(5oGDCY_hl#`@i!J=={K56Rdn7%t?LEJhSBWu@ePg*4;qki~e&c;&KG3BQf zNoh}QH0oy~2IXhUYN;xoAg~pv9QED;FxIt))G$A_A_VV*P!T6}sDp1qq@oo7cBtJR zvqmhnixzjVQ6vNoD7#cQlg5fGQ`0Rrn-6|8j;>09AP9P}fZX)$P=Dj*5hnOhdO5Zx zhZQ*~oPvla$U7dBe9`+8mVS-GSi_v{=4rO}dxpD9f8Z~f*2frza73Onuo}|Awoh0e zNU_d-){@n*YkBNcirAkr9$+1nwvQp&i^}g6HcI*CLz)yk-0C~yT6|*_k38JzX8zG*sR%=s( zP&AFfl?H^vX*)>}LErSl=CEfR&Uup&wVYlf$x^8eY;ulkq#z_5t3M7HdKoz<=IkyU z!7N2(DOIo+7T@93lWAt?>!AV0gzYhK_ewcV4bNwszHgAS0Sl*JJB*1rwg26S`K!l) zeCz3qp0QdZaB>{<0Lan04LWR~iAlrc&3F`GIjwuJg`7X%bTW-Pe5qv>M6Ibrf z#|EzWDPfdxms?|>18yb6c-SHm5Rk#uymF-7L0sHiEh=C&Z8W~$ygYC_(WV0c5gSjak}6aWLWk%uPDeSYot6h(``Iw(zl%+z6&qF z;WJg1Z5lWZzH|9&vVq()mq_hG4As$uqt-GxHxSM%Znu;;tpr!sWXi=wksF97`)NT=_R(@X6YMxUoOkKaBR-6PC}YpdeD3UjN*r}R;LXJtb-pZD zSNc@T7eT8QDFkYkglpyJM&BKG=+sIuX0ePBvnthC;x2*Q+yIV{ga7eyOs*>9EE)&a z6G6Z#B?GgT4VhJkfcz=uH<6}+t$CA>qfyk%XHm%1fJXc~x5CV7irxG~{G_8BtYoUD z5jpDw3{ay}q?&1BPVHwQ2)sl6zm`eVc2f<`(0_&~=Il99kFtrjBX^MOr$?rm?dg-9 zEJ)?(KW1xUvuPp{U0Dr#?*gnpdJ%$yTo_?uqbN*}9PwnG1x?8x#&5c zX!-%Se!UWjN6l(sz0oo9R1#ww}FBn8s@|RwAXGoXq8*bC_JWHNghtMttu8BREsHqr8;czG*LCd@Y|9t=jQ-#;R0)WVlv_TY3LuS^DUA!;Z zsJK$y$U_X|vabiWiEyqKzzmn27FrFS9;_)!TEy>zLwVatdrX=&t|}|TWpRh24E6KZ z2T~^>!;ko!2ls~YiX@auGg1PD$0naHY2&tMD32@5QO7|)9Mel*c4akh*!ICMr-Oa6 zf~#QC{_Y?*FHsI@o8Q8Z4_$);?HFP5Z2`QOu-VRCgtOwzpgG=2JAyMrD^w3GOv!{G z-qYa@KBFZ4Dxbh{!YR{wuJjenghq@cxGCOr+p?p!uKD!mzG-0|9Qkh(I*VDE<`6Y; zQlG+)iUiix!?A%9&RE}Kn7>*;`poYbNP~?iz-2`UvY0Cm1=VMl9(I<1n%OoGB4`=l zu@rzMbm76Q!BjtreJ2V<~y8xGD1H4# zig;wKLIl8Gf}kgiDh^#qg&hE`Ph=mC1=yVq(FOLD9}; zNOP^`>{$!!U_@o((dN-``S~`3C2~p1=pqOt$I9;P8E~ zO=R<|u#H+hojG@+^|j!76o<=#%j)x{wM`wMmzqdb<}vh!xu(YoxH7Z;h!oFa%j*MG zGo+jHtMVk^>*}3h-NYl0M1Xfv(u}GUaN(+MmTf(C^I6Tw#!BrJaEP7wr?qT1+6TR# zVmd?eRW&HD1CYT>u?+<&l*45?A0GpsdyDeu19qQj?`*wQoq}Dmr;xZ&4}7XP31m-_ znEA!#4KMHB2B7wVcUq_knXpqZFnXmPm z4xg_WTyHrH&z||&4m@dh0n!V(1 z9xvB)Fc_JJbcKe|%gz zH`!3K+3?(&woXG7Pn1N4%>?;C$0!JV4#0&p_>Z6A{mD2SbrMy!0Nj0-g8(}modd;2AGsRr9R2-KCmDG@aEQQwS|w-mXiF?1!-+ z%he^kF?^1Ib!n7~^TGQEuVbGglIs8cs=*JNFtzfG<^pHfHi1N_qagtjFv~Gp!^n*c z#gWKSl#QIw^g5E6RnxwkvnVn$00%M*uZ8KGx5FeMb@eV(C6k3^qJEPis5X6;I?x!1 zA(vS$=$SeXHz2H7|EwJqp;L)voyA$z%xjvWF4vL4KL7OjSGVDW9 zrnueyLE9151GRnBryp;9c9X{j7_@f3(qqwV4_>o1Z*Wg1!4yUMF3Nx@`1~ z5BH-d2fUZ~E-peT9pgXQLS)((`R8u$SAV=<58nUfilM=6I#6KG+EB6ujdIALdGcbC z3WmHQYi%7KWKqu z$`M7@DyHl;m&SnoswV1HY)Or4+3_dTr7`gGcOoW1W`sIg61Shw-twfr%qhY9Bu`Cc1emy1otr`j4&SH`7LfK$y07btZ2B+|qW69C| z)jhJC?`ECI|NK1XvmUSxND5zNfkF4dAz=qWr2}T`4#)YLqQr^%a_Z!<1TG+RE@7B+ zEaOnhbFeTjIJO$88K6ON8gy9S1O|j4v8z_c>uZ^CoHd(q30wnVrsta4H`9~Ai>X#( zEpp2o|Jzd(e3Q6I*nfXYfh@f^958G26iSy5sydRlFKh33FXw82j>rbHuaRA=5xZ16A+IxQ280qS%pZkpbT;jvAaLbn8wuAChiZBnu;g{N>GGBAJi zz&iOeiQwcMAZxI4w&v8e?jITB)R1l(ypoFg_cdw^^K?5i==F`YL4SREYn;9?7>YDUB!|X>vy27&M*?&K%TrmEr7E=kISu{3rbap#_rQ@ zIN`E(ZNQqn{{E8)eUr)LtiJ6-qT;*P)~H5z%9ws|V>@Isrnt&!g2Y(S=L&Y7GJ_#a zNv2cN^irmfV^kKO$y)hLFY3pB0SuTs8tJi2n1rhYBZ8WZe*Jh%OtcgJ1T&0wr@ETXDzhP8<4uzJ?GW3Gb2VWx(m#rsLNEDho$P!4%w|7p|yG)_bUGk?GQKFo-#WL zJ7DIJ39P-WD|)=T`Ggb|Jylu4P}kDLA@;}2e?vWe<{Mj0lZ0ttRO8rRIgY~x4)RC~ zBWW~L1l7TS>ygp&u4pD9!LBzt- zsizcQj#C{USaT`~?db}b`wX3QZgC~+rIbU~fjXoi8Y(2$Yd5tT*Asx-Vsk;N2(7%Y z83baAX?a}tvF4VLZ0gJr1CJ9ha4(E{fco6+bd1emG_wb3aM~zJbnr18PF#(FuU*Aj zO(}x+39eNoW~Y<>u!)XS&Xasn4TcNVnTo^WrZTKFcix}=bKHbY6O>n}9KfJj`rVlY zyLZ=a)`$h)oH)q>Q?K4cw0>xRpRpT3&q1w;`8R8-ws#dZWEr~tabW{t9&|hqbg)QA zqy_*vc2*pYVJ*Wq+z}gQ(B5?wa5;xrwHYh|!$=5r3GU9?e!Iy+>Qvc8KEn2+vcnze zUdB`GOjso1(xv;G*0WOsbhUwBq8|ILV}zr?!!Q_SN*v&k!b^nkIz(>aT`{a==~skh22}PGYSau9QzP zW~5sI3*ppi`9LSpy&q1_QbyzV${U;D^{?fQf5HG9RlQ=+sY4v*cUedb*H)9<*7$|` zLMj!tEt5X&Pe-W|Jr)H=aG|3me#o@5rsKPUGHPpufu1y=z{p_8!Qv6>V9_1b`IikV z+=Z&=IyZfC$u=o2jL0lovO_oj9w zosgl8?lHd2q14*B-pSn7ry!f7O-Y-{50h?-kDa}{gP^^Yfa#Al*+_$+3>!YV?T;kX z_$K*}GZ33b6oDYRs1O3>qe~1jCS`H`di4MVFot%K!W`=^*VG!VU$6bZGb35v!@mZ z8{L8Sx&sVDN95LvIdGWnRcGUL{arKkRl4q9^AS_)VWO-RB|LS5X+uaA$;wBugs$+w zy|0Z&e+_YmUqWraBzXj_xdk-g6;Yp9%hYO;6uk42Af4Imr33LQ*gKbIliZH8h3kkk zlOL`c{43uCR%v#LLWEgUZK9E2YocpiBs|x1w=0ybMkf|CY1f}&9j(c3BbP5?SJGYE zJfB>Ty0#ZL&xh+{i=n)B|jvx6x~IbTMc`-J1< zO7;>Yf`xCohA9Q5mz-g#2Cq-za>r_;_I}2#ug2oRF{TVv!usa@v*_)I^*Q#J03Kc5 z%YzF_`m_Cm(hd>lo-dC@V_xxd%wu^G>-sgo?v z>X(FZJ4aBcZ%G(wL1hC)E5leV3?;NB5C0v>>6oer^#S!Y1uhA2jDR%(8;d!lHRrgR zWM{A)-#YeBR^5W-KzlxPUcnhxzX@{{ssY;|^2_bg%TFR24_2>%TrvKVdD@paUN|L7 zfOgCw^WoTW+sUeld+LZMQ@CCR8M2$R?4q^vnbSEVy4en)2G?Vbb68PJ%rzq(6bKk| zRc(5MkK1;vPR>=cX$FVogl52N)~tB@5*mNe4^G2HYG@fiL*c8RgL^LVVBbNY)p{v~ zzWV!Vr4XVBpl$Z#uQ}i_5e5!P9RrVGtk+kx2lYX|X|qHlNhc_ivm`pMk-EQ$!a#{2 znAAW%b*5{%+OR#GY76~qJ2eeeBiD3cn=KbW>);5Nsw&|ze;m&6YF<5YM>V>?ZH!bIty$%&517b$ z=@Vgt>}Pl6X+CU}7+rKitbOm^NI_g2;p&-B-KYFe5j?Ku!8~Xk`s#oTi=Wep5c)$Oipdlkr!E+hV zxH||SpX?6dxC3k!>^dO7?0UCHGu+y)zwDYQ(&2L^G&PbMDYFt|t)==D0^yJI7BBa> zUI>qP+_cFYt6!BWEA|HZ7kuYl-yOB5mJ!_kh3eU6TsJrrwpRjgtRlgf4OB=IbJ4} z7Ox9?7M6`BqY8W5_#OBXpgd99=6FtnA2*(Lr^s^+DrGuEzohjja-hav$^0{R*L%bG z_rdmN^F?B*nhW?mkp8cB z{+xE%fPwj`_@JzM?f2#%jkt;RWVXu}WSTvSWy}5>PbXsiK|zE>=a%*2fTVnF=-&>O zs;$4#@9GWTCr8h2qHZoq~`{jN$=A zVGkYf_nZT#qoB9i^WxWLADi)YFWfY{{gzis2k=cJ|NYZpVdLtG)E6c7S@*TBGH^OH z3#44JeWye$MZ~fZm=={f>Q!IO>uAc^c5(Tb6xHd%xeid#y4a!o_!>2pCD7Cy$t9g#m1?pmt2DdS>&d=cK%@x+ZSX^6^&iiC@r> zl0%(wl6KI}pBLjD(lLeZcpm}`DX3u`CztUdb2(_2M4@_#3e#9dq9iqt;U;f7rVoozkDI$NF+f zy3%OklE{jX0>=^`;~SuAYXPpk@`@- z)kX)Q;C;$jGH301bh5(TdvkW8)PHD6Fpa&Y8_)*7VyY)&L!<5#D13jUFh{!+b!F!~ z%~mTiy!;b;Uq`q1O~x%W&nMaHYwHPpH7Pow(~%!;Z!YJ=$vY`Hpn_uW&fn{{*VbWv z@^97P`@S^^Idv{8)IM1G0X$xRAu94lYhOZQ@pm<7YiIV2U{Rd>tqol^gu;y-XDzpw z)`dSY-+oq62*CuI^O{3C`j->;_06-q`@F0!aW*u4O$YM5-biLxe?iQ-qnNK51`qbOx6Ya@nx-c`5B2%;9IY?jfRQwdQqW^71844W5qo>MB4`wQg zJVSRK5+A>3GjUV+m#Ix-;3v-EtEStQ3UX~kYFwo##SqCj*K+Sxm~&a`aS_8k-G;d) zezVobTGew+=c#=;)jnCaRe7#}Qt;0wMaHQ`+v(cN;Z1&v#Io@Xwv`vSJAX*2y2~iMB{- zZ9#a^-^i^|PFM8*&(s&C&tqe{8okc${KLE1JlyT?E~fz?myYI- zoXR8O0BO|co$EX_oIx~cNQb!nepLCIfDxOo{)YAc1ol?;(ksi?ieQ}Pg)pgi7UKF@ zQ~Ch9*N-3NJ0cr%QFpi}v^i8EPqL2&-_4Al3M}CYWn&s=V%mun|mi2MID;GMiDma~*Z)0yy(yF*05O^fMd^vO z;*~G=c|ZQ}eP*RGul4e}&O=7q6@RFQOX0@qajqvWL*Lz#FqBD@6Ejmn6i82P>#sB& zJ~H#07iYHRGOi^EmPi-;;p^bdeEbkLx`|%NvhsPff0Xn6nZPKX!w2%<`!hIFe`EG5 zr_t>KF(=(4x!9;A-@~O8uAXmE3bLVvYDQ0^N4y4Qa_05lzRkUM_?;|(5StfIRDDqm zyTS;to%xFIDwK}#xRd{M1m_@tSP>Ni9NuNx`wYJ8kx6~e7q?`UuWa^e)t|BHgYs6= zeD_||bA?-1QhkE+O+P)8oj3Sl-y;oZj23N@9>O|rpbFoTi*%Nxgrj6^lRPfd+|^u> z1O^3msKD8Zd;|pbFPiPIV_xh-7xWLP6hfD9+B-D=KJ&?io?pC?Ue%U=uK&qiaNI*k zHu5=s?J9rdny&2WXr{rI+nb)91}PphX^wyH#ABLqGUrZv^0j=9A^IQ+WE8T5n)P=k z&Y(R*kmF^z+gST-7%IY9H|5L8P9E<#*J5P3z-tNp^zNFJc%cT=9aw23`UB`NzQo** zj$Y6NDuGxMqS{Xp-h{h#fd5q4Ge@cgUv$RSAy0x-n2W*=Cd|A>l%V?)23^g+7!qyx z@*g!(H-pbgE;VLOb)*><21bNb=X_mweu{H#jsaCaUYcIAUN}C7LTaOC@-aUZzT_x% z7i=7^W;KL$zG?l*c<=FBF9_#VVmWwtQtj62U7Ej7R&-#W!?o<-DskUyGV%A711#~= zaX`T@w(<|g4bEXLvXPAK3!?5%$-F2Yk{@%g{qy-_hvo151Fvbz2%~Iy*gM&^nE{$2 zg=~>V-Rr(i0+ttO(Y5dYa(06p_Nd+Kf7u3H&~2qTvPH8nwT)^`euf<0ml})rxgRz9 zPuPeyp!`&)lY&ptfw3!(tX7_0`WYc z$24(At8>hq+JLdS0MC2l6l$!d(++t)LQS?`O!}{#1|eZ{vTDvrmf~-ZzKsPcVaG%qQ~GU7R+Xj$KYTZalr) z!3f?|Y4H7L(ep{{(OS1?Gjo523Cpc&ro;<; z2w9mWVbpXRQ8Y_;{lp0%+xiivzM8vc455{Oeffa-?mtQT{(2S2%LAipyt4>>E#i{C~R707m0# zhrdgc_qC0RBGuz979hRMt%f$YU(?exkG>PaoL7AdZJLG|4RG(T2=06Al-3_cml&ky zE({F47`^L6OS2EjX+hcf=}XlY%mKWNU&7V1SafIfD~1ouuqodAB7-AE_K{m3NuOkT zb9LltMTLxpT|V-Iq0mRqJ~>;h!IScuq*YT5pIwtYId;tx?0*Plv)P?b4EdJBX>{@q zP3%h6knVvPc1HCgA@Wa7dLE z(NNlY5H1N3MIxE{h;YOKKTVqY$^ z*Dt3zuP1|CDytt=%`DBbg zcN|vnSRhc16rzN>$ZJuMA6!h_fizEYeiWXth&DPxks5we9bfVph_35zlR2-HlFveN(SXs3!!3%4ox_uiVn83->a{MW* zQ|3mr?-CS|j!lQx=G_rv8BQH{=?J|sp>0^}<`ko3@cG?J9Psqoc%CxBG(hcR$#|Yx z3KrMeoAvi7>eO$~;qO7pH^W+O>xs{_EDUt%;3`%4&1Z7+Uml$o$2;@Sqv zW{~l`*XMu2FFI!jVymsypmI-;lh!Ng!Y0x(ug{Sb0PVwEu#IlGK^yq{v|IRO3R_uu z+yA$PH|;eHP>bHL(pJTl^FC3qI_)=s@U!*P>}th0;4QT5!lFBtU!t<4 z(?TPoJ6AQ~9X`+@fPKKZjb0||djIX4(@05_Q+_hho6gP2p)QTp5ty#cEah>QRWtk} z#O>DWgURPXK=M~ifugylQ`D%HW_mi0^ zS&6+@IshM)CQPZb?e`_@+W5Vcl#E$=nUXE;wlh89HreYU(d zLBLMsvttQzxxG-ktw}ZVWQ9YVc1|ZBB)!q=IB$NqD?1g?($g8N@$}O<*%g@mFo9sE zm8~`Q>tSC8fW2KMmh(}VmvIHeI zrDK}IB=(~(9yP@aTW8D;1S#6~v*{iwL}B<%lJ&9$*_pPdTPbq?4&H8IRCr+GntHFj zq>cPv*(5y>S8r2Rm^0G?4oA)l@19o}L21*G)w`dArCU9J5|ot+@-c*3@9nC~hZXj- zq7?0g@kOSBuR>+DZDs)^WbHt%zQ*a5$)d4WspYZb;Z{9@`;+BB9XcO1;w0(%UCE@b zpvvISsmNfb3Xwl+rRTWCZ2lK`-mCSsFq;nGU@lZ{wq@#^nUP4UL|piEmLycMbY+H}nfYXLQ1p$9QGc7|yESeF6GJRjR`LDFrG_uSv zF>}7}zXoO17?hRrWliewfL*zb;0+s~$vSi_$YbVNWM=ws=0$V5FAjS7pv#W`PT;_! zM48va&jBJSTg#>Mhccv~<4>LenTseKq;Ml#WQc;l&bTOfpD@GN!qG z@2!@gAkENu-)!_m;}OECQG6qmQU2|)@oJQyhxF*CEdTPWi}hZa{SE?x*T;C?ZFL;( zmNyH!e7HA0esq^bNTE$o>5Gy-W{KJ=bY3Ii={L{0{Z;@k8@)cS9LAMY) zEteQ|(Uc6&LHEZcf>&-AJYWtT&S$>7nyc)UVjhG}(0^0~(ykO}Sn{O?Lm_B{g}HX8XX!n3fie&}op5GZ;n>0ISw9eS^Or1LVjDsCiL z{_>#>JF}nFQlB^XF%6r2Y8$mfVc3lUo@}*~NHqivw2A}>e-8Yd%Nusy#dtmJFTqCK zUl_hlbNDS;P<>PTpYMwao%<{m0qW7e=Oz&`8@^~3zyn=o;3wHyhI2-iaU)lk+3R^9 zIGv#VO=CR3Hs=jCrYl&whk^PHl3*urbb^{CR$ zbl9LI&PD(sRrX!M&puC`^z%pch1Koyhj8Fp@KP5mDb;L5Fk_oM)`viEX z7^P8>KK@u@^vOk8+HtL!Thi}rZkIyL6fT=q)r)!$+m>CQ%TC_%ihf5AdX(@*nWI~1 z?-AySegY8^jIJ!BR^QX&%Sk3)XZ1=gw{eS)SHfs$^C-ExQfLX0sD9_lA^*cA& zaI252att0rieJ3G6!*kRtc`!TK&bf0b1z~_CzYw6X8Gb!)*HoXt-!XV1j5*G5|c@9Acb)0NC7VlLhUuR=K=ni zwsas3vjSQ^+3bY+gvj5nr3EqrzQ3sbrej#CS#<5P#*fq8-T~ciPqI(Z;^W0TWS!m z?N1lGSJ-;v@~f5VigQ5w!#aaF{GiSx>&apq>G#FcPsPbn(PMo{_9b~}^@LeEjcCOv zbvJ*bd1hhbR3=R?jl(#P?_WnW==`;@Q?I%1F+)$by8ucN1+$VNfyUL3h_IDRpN7kC z^BxK}Y1D6bFDHgoDBtn#QS6PsFP!dm$NTYzz6hHf_vh;?p3V&cF7j?>7xTmR$}+t| zJSo8C8LontHAKvysZYKqP6&XZbi9jLG0A-Ccv;mM%IDku=14c8)TZ{CX4D(s*Yq5c zPu=IHJ^F<0K@g-KT=94h^I3+*#?V4@{#L!?Ma((Rbg#fyyEm{DoNVbpS{I3?xfdCK z7hF?56P-72r>>0>98!h-o?vl}pJX{DP}0F_=0|NQ66pH&tEIQ6vK2;11v z@IvG7PcQuQS8d}b(EK-ZKU4$_KUi7F^w=9w32>^xzQv~c z<9E8)&gF4c`|%>30%;{3(a@rcUHrF(Rato66f(HcYXpSs;Fa5}_I@p^F^R`-S8B!2 z(Sel4PpsGT-aTJzPH<1~f}od@pA1Ru4l6SH>3p79PEB-uBR%`A^wK*d=t{-&%t(3M zy22Hr0?~o#WLxf&>QJFyRfTlE!MwY8f~6}{QCB_P{fcY41!3XYJb(X2JTYy5D`O$o zQ_MP&_@jr8NDEm?;Q5H>$$F$+|0l67y)cb|iy0y~-w{W|x4HPgDPsX>6MN_ujA9@Q zLqPRcVdzbjxJ)}9v8pQTFzLhPPjRn?@WQ3mJrV2IUjgNnowA1SeJP-ku4GQV3=49* z7-fAzJ03TnD$r8{vdI>l(_#MVuLXpqc!KR#+jICsw0$i8EZy{q)wru|fm9M9slLpy~ zN6}o?EiP%t^S)Mja;(6DI56J0!EF>ZNN@Ch>%rrNqCY`HnG}OtG6u zi<=qkYqPc~rcol|({B$Wv(FVZ_7XYHXIa7z78!}Og0{23ECcdUYli0h^)FJH!O!`4 z`Ct*3IxI_T61m}J!i)6x-q0O!^LRAFPE2WNSZT+L25-bfi_~?8W;UIxD)h~3-Rm}U zTB`>?B;6mw)+@VY%{^tmzO7D7+mxOnVF=sQ*wLKE5xjvXlXYg-9@z5bEo zx1}4tM`CNS&+@{rUgn-mX<--k)^&xutB@?nMUqvZm0Ke2v`Hl@z}rsu$| zvadkf?ZkJ5x7+f~pc(i625Dxo2kq>Ft#-UO;P3tR$r3e5Ve0sJDaCxblw(ssSg;5w zd>n6(^4-!e*t<8n6y(wsZ+k=FBSo7RXtNlrho=*5m~&~|pER_k6Uf!6NOQmCP&qwKDCywKh?OkoYDa z%Fj2E+8*{6F`=4cyur!GA% z7g8x>IC_;iuFf$!RsTRST)L>SVRJ6w&Z=})1R=|7)c>kVZFX>wW(xq{c(l=!e&|(9 zNnKeO;sch4Nor>~KZbp@AE#%$9a}~4U04D5X3Ay%h>&$QF{R2^{5v?58I)eQ>2pS< z0F*2YQZ=vL+$pMX*nOI+S=)NFD^M?Y5X14p@9wm&%@ALval^J4Z;<_n-0f`Zk;*P^ zqSr+-t7T``uBH44_YjwX4r|@|;bTP@^6;^@S<>MjYOkL;L_Qwysewy2$F-R{8K2!T zBycg?EqZcuub_E-to$3VdVMDT0c;ET$DMHli0|Ltbjy7mZ`b=+;#P1tIaPU&_ zJNGaK?xQS(z+=3E%67b@5Px+%_r9YX3kiLopV{sC<73RULA(BEe+NYp8TtVEe1w10 z2{BH-hbTvR_y7<5_V~*JNB!`YHW({?%WRLn^PT@(D0}kBCp#H7=RQApz_=m$4?lc9 z@E!HB1Edd(fpPiY!F#_w?&Z1ho!=hMse+G_-3lvIJOlVUdUWpjgn(v|;@-^m-~;`q zZvXjKn@^Q|gcp7vd|vsyrCvEVRGClI4gdX}KA(f;Q+9j)eDddD_I#ore!P$W4#5xR z5`AEN{(Pb=3mF>=|5-%MC!SNB`NZ7u`AOZGNs8bTZS(9h`R&gq|J{W#clpI7dl;;%)na`N>=I|74`ua_3L33YF_e;hjIPd3vMiC1^JGvb?eq%OhUf* z$LwCUVsRe>2K$?iFXf}OaUT1Ed#P#jhXZ@-cR#cSl#_(txv!p`X|AM>x2&t|0DZnqn4cJ8A^ z>w29Q8U*Ad4k8o!r~qP8XJ}eUg7k!qBMDb2hI zad{<=oJi>WIAh2xlQgJQUUWsDV{!SBJytSX%3~}k3lf(nC^FZk0re#awMqG!@0g=I zFZK8J*Hsj2d8FBZE@p=)ed^L#0ep=V*?PwdW-Cc>{GgbQB2b+c8o*Pd15HEPodPB?L4 zS>kdbY5HK2QKcWXT(!4x`H?+FKriLO9Czq>mjlXOZnS~-lY4`l8cB17=R4-;K`6@m zM}iH7A9Bf6W=ablO6x9T0ws&CHjfhZu(s!M-@IFH*2klDNx&5&OO)Rb`f-ehnZ|Ek ze2$TX@G}gO9|h*r$R403OHM?)7|g(c$POeEpN6*OmgwD$5se8MmGmW7Q$*~_i^{u7 zN^7XKp}OW|w94f4^H-4tY?iJBGe$oB9+L0wyYHU*P~=kTofI;SmU;|xeI1w+sK|IW zL4+z0JSfF+B<>rFe)YEJ%>m{Hh_c`q1ra*)TyP^%ogwc7i&@zGBX39)ev)DlJopp( zStx-og)Oe?v#81s>?nW%MiJTrxomq#v$>vKR2@OT18F zR@{r1cO!_vi(}lGd?xvpe|n*Q#vGMAF5XyVq&Q|XA=r*G`$ox^+AJM@+Z`7xm-r!O zr*0Xq`UIs47aBD7ldeZ}X%la9P_keiC+Jr7qQF|P1L0U5gfqp10Zt*73>18T-FvSD zUBv`RN=y>eNJ0Hz5`HKQ3%LUqv{3G}(@v&ftyEs<*yEGQXV&twY{s55tlo4bbjcvM zkh2AUUeFqJ(@UQ~XaFjy0H|n~m)M=0R}lCZ7ErLevY$IIEQr->j!Ab{nSYaIZ<@buG9Hz1Evq5gtvUt2Kf9R!JfSP(>r5;VR0vTPhe{eGgS z*?aoC{qm_aomolYLPN0a29%D}YsO|$NTarsuBPes6{8(E_2~P9UQ`xqTp1Ox6W#FL zcMJSWFO=|Q@*%&ST>TJ)h5_{qeoellphaWXqUhp$t4MyIPQFu)nPQWkoMiQ8Ru>wJ zJhF%_ahC9y69^4>1ila0TIh+>Bo08ts zKuv+c8&zWv@qEdIsA&5n&3a{{+CJ%|lk9>EE{Mz;hkA}V>Z3&`?nuTBoY+8i&Gk-j zYUU)45RXF$7!1)uGKf<=vJCTsO$Nd%S04e}%*2ipI)QN^7=nn5ePOv{u*>x6(t(xbTNLe2;WiCiyPnZ?iZ0-Km37dhek%rX zBuA>F7RbJ6FHT-xuU|l=hh^%C=)A8Y3+e}b^wm^_@POS3;CH1aP8juO)w2aAE>QKF zwt&@}T2+w5=^MfvgJRm~u72C70^oPh73Cy>Dl^|$4PQtF%>nup<&{N__{cmkIT-BE z^PskqIESD@g-4MH(J>x$7(Z}0Na_uR$}nx0SH{V^8^kyIpDj!{O%{@}AgK{O2Aj;V)Sy*zSVz(bwzp#wF+|i{bc#_Wv zC+&WM^qQ}2CGEas)`x0M_+-UwBC>8yifKD6L^c|yz`1vr9oxo?#7mh%W6izHx+Q1hxpuSDkHfxZz zgg1!Pr3-3@#YQUT3S9u`RP=>jF^2b?;!KRJpgh~tOVsN$nvrLQDHUaHChP&Y ztNQt;Yja|V@q~muHN7DaI<9BesOb|=5U&K=UeauS*?r(N zm}XkwsQD24_i=rs*^#%=B8tUmEl80~WfNFgcG?wpP?R|Kg5pyCLgN#4>~dYoDromr zUh?oNCgFX9OCeAL*%$5R@`(@Zla9XH{^r$P-xocoAGq!<4qQn}BnWF$j)IhGi>?O0 z_+=MdwmOd+E>qCBFl;J^NOT7hmVno}t~fsaxJ`1}NO}tLee;9n03KUpJ&dB|mRl|_ zo0UJ$gWBf(p#8W+#y{o0C>TI7j32zW7?txOJeNqzng;Q1^6m!ljs9oHQ-B(f8P}1t z52TV!ow`0L_qkRw1t>!wA$E=AQoH_!0xnc$(t3gsIZU>W-P%@-wMw}Y`McZ-?!*Lh z;yR0%~T#S1+*HBaax3Tq;CO8sdC6iHb+J_vg0M8 zs5~QNKveKtXqE7noFgQkNw z$$dd(+3#g&`t?1*~5oSLNo>5$PNz_>E%#)B_M6b9K z8dbaKOB~=jPOL!EB#mM4PZ-Rz?2A4nRkiV4KvO7$!uY}XfPBe^=vxwXTUZS5!Ka?s31rgFj2osyej4zu$&g>uEQv}LiX!xB0 zHblmJ130#uE+5>k2%Sy6N};ftc6(9|r(Sj16@p>ZwQJY3t1W4L?5qi-t7$jW>_G$A zr<~Cx<%QoEiMMJpi=W>Q;6$*))kZq<$RkUd%`cM&d+oJXC{#%4_|@2Ktr6aVBbs!= zc%+NjGAUy@RW_Wz&;Wpy2yn&78R)`5%JkJ${MeFcp2aO8FD$`ODsf58EEsXSNjZS+ zSa55@t~5!%v&%|{?;)$!CW5y$l`RgTfdRIr2}5?LPMvDH8-eZP@bLKKkJm`wh%t(z zYAk-|q;k4MNESeZOw0xTCJXs*@(67$@2bD$g1hZ%Md?=lLStw3=Tcp->jDo>PBkX* z*g8e>a?whxlM+Xz+D|XP{IbblS^GO0(nHdDmLgX|QYPWiRTDY0!R7k=bGc8}Frl7; z2Wj9?r9BkD5OKSW!V*inUFyT02(z!~?bd%OzExv8#Np*pu ztJ^3-yydP6_><@3gZEe1nu|dB3k_@<>bsFo1FR|a*Mv4+Ov05BJ#elouVnB#ekOIh z^?lMYl4W0vKTghoeE7s}ke8>J`u7FvFK7)HY3Lc=GcSzA3pEJN4UuFlJVSQ&X~9F_ zZcE>?p9AgC|F{I?ev*Vt{v4p~?2Ep{odf9XiIYe|{yfh$|8VnN`5M9t9dqC_yhV6i{}X;w`v=W#6yP73NN><0eE(y@0mLP@ zx!IdKZS1L>K}Dkc<22|H2)D{CXgW1{f`b^e^UO0 z8B?~EL0z}Cadp8aAI00-nZg5%a(Z;foGTeogr zpk3TP5lIdNevs!Aiv?o@a57GUC*pAEBe5582-^^tWI^)}LBia8@x>R7%!x^eyc)b; z4dln1N4sutGVIZv?}`=ytEBv*IyKWR`S zFe2DmfIX4mv*;k$yxE4k9LH2pNtt}v7lC6*c9wHH0(jvU0BOZ1CYBE=jR4EM_`aAR zXXwDw+ND<;v4jDWojeBYJTou8TXeB>e5zSslI-fko=n(tNTO;%4UyEYfv{pB%D(&^ zYup_wP%%lI1E?4G^ITU@&}p36O@5Mmqpuk=F!Lm}%DzZQ#hlIO1myP{^%-+B-?32- ziK0lH6|{cvJ###pc(!5d3U0Ny6K7w1pVXB)&NG@}-|VZeg>E4MQUZbD zwO?@H$CIjoShwwTjmoI)Zl<=b1$8~HYYAN~bPdX{MWLiRC6)=jIV!*?=go&7?p&Wf zu{#zO*rnY^s=KaqG&b z9FQV~9MePFBu`2%%JaEpSBGwyU85ql^BI2Zdy*!@!o4zX@L`&BfV|X6Kog_pdA{I- z*jG3uM2#)i13>MQ>&mxJep|i@Qo=Cy^Up3Ar2)wGJ16cao(FZRDDg=D^fEh6nFO~` z#>Y!!0Kc!D@)^k(ewvVDSC@_8SV4%4&znWDZp>e3kUIl6TOz`Jm)oE9In(79fx-X% zq)b33_1Be&6UhAq>d0e_G^~*Hj!M{Ea5bf>V4r>VG4eYX`XZL9zd`MgMl&5BhzA~O> zNkO+CF0ZLuWC*`SM)BQNlZ{zvUe{IL?cV_dEDq%_G>HDbNEdb~+-=F;CqsTU0$j_F zo%5YoUnZAN_VUEQ>p;d(Y;pnA7t8mQ?M2?5KdhH zVAh6(i5wp|a@0l=_FRp)Yh%+$3e8d!{yirzqwZQP8)^6bo)Q^N&<5ufC26}#fSgy| zVD{mU+JH;293$J~kr$X1Cm_6l%zYASp8Dx8U3gFJtt$v#2C=koB@6u+y0t3*e}ew5 zplhk3usB(zGOjCfF4;XbSXy?C8d>1d95S9Pg}PCu*&i~s)x>TePp=6RCe+9&C!2qG z`*iNyIZd{vRu{q*hlR9rheve~19>ss+@spB_+1FL?YmSgm>m^_xz~C*Zqs6VmoS~y zmY(_R;qj_YSStUMhTjm`NQnd|KIuJOxZ(Pw*g4O}@ro{ahS^WLl-|}9u;>vUfrY#N zCmeE);sTjd3b%CXDnTu{QK)c7L!Z6r!(Bt3SBx zV%w>Syy{87l4VrGTB7HGnCLvrhaXF2HmK+sGnsg3qvBeg# z`4BbF3rzyX{LaVTgo=%E2VH3))uPtSHwA1|Qm$OTW6;hA>LuMIOj4hpu4F}1V;X>a z3$Sp(ti)Htq)C}kIL=;S!F{}u4^;|^$@;6vcFSB(QD32w!nP=wrz%8wIW5@*y5tNH zMfiCW5lz;upqHAL7@cswo*!ORxPrB;Jr@3OBDjhdE2u5L2QFLghek|AF$qIB32IV1 zu9Jjm>T`DC$`@8k!ZdZksdn;&lkL`VGD5|iw{gY}EDF)S2*9KSIxPWwL5nE!f#~MT zF1ySN!i!5J)_M2ccRjv_5yorgVXisAPCY6KQ)c~OirsO?9kCKJ5j(&sGsvUIpMOb` zFlCRE#6bvi5+KDT5~OjDA1R-CAAKT7j^I3kF$*F1ecEZK2|eSM#L2wq8ykaM$*Y(z zLC^EH+ivr`{p1#1rR$|n!ldSJlK0WBI&HMcmB>s+QtVm``N$l~-Pwxc@+{huK8fEx+)>3tohDTw;z95lyst z7y(s}du~twmmif4meaAv9viD^HUONw;^g%}VBkHMD{f@FhBchzF zhj9s81J456Og8aO&|gj6FD~Y|Iu1*NdE+lAM6(mWK^_p^*=+P%{?7(5 zhQRPgNSp>QN>K6{zKf$)2<4VeGCG$>GL#)&SU-xTZVBqxd4djz1CtRsD8E2ho~22# zYl&TuNZh!w5kZxPC1J`(4~?K_frujJ0CSGhZP1l82Lq=i=5HKBeAxVBUPi?;MU4%I z0EBH)3QFGPf0vXWVQpiq&j&;h!JKRDfN#0tG|+D3gCmu05+>!*SXyeEcO^6iX@0)& zyh*ZWTzXzFYFCHAfPR*N`RQjWf9JOj+7K(g;kW0^ew0zY0LouzpmsW07YWY*D@5pn za_c9RQoeH&c9tg;FnlM+P%B_qdEQDc--M7NdA5|=ZR}>*Q6>ewORWP1Rs^I-$BrFi zEtUl~73+4TkoEG8*974hfLgPr3Dq7asR08pQr14gbFgn;yl+ZFLJF`#?L?{c^i-+G zmfgtgC3&}fCy+}8VkWzk@aQXfBrQ`|3`hP#gHr@TLl{|J@}>EKHkSW$9SZXES&k7^ zPz`nV382aYpQttv3q+SLU23E&X<~8}Isk$%0dcI2B=`;k0I^hrdM%$*Yx@0bZFai^ z$B|O+Y`%r;8uB7abjfaroprUsFw^rF8YEvLt*}lzp1lH_nc_?8Gyzy96@kvMb!r%( zlNJqDqy(H`hn@UUaAkGQGdMjoV1=Wphq*QrG@PaB> z^g=#4{yVqL(P&`B=Tv0&MRPbdsBJ-OJSv`c@MGV(r?s zv$k#9#u{R1AwPOQs8F^uL*cE>tzp0Y_VZj_lTug`rhN6#c*jNM%VrKxf3CQMsF;9U z=5%J$;&TR_`=%n)7}=DT2(?!UwFFh++$}u`b+uTrs#6(_Y)np zAj0kb`*ZpGRv!^+By14yJlnsX1z_;t!QOni@kSwkCLq)v4?OUI7iW=+NWz3cHpo-S zpNl*TcEm}DzLM7>Z0;biz+uYu9$<^Wh>aU;A%xp50xV9P3(gqCYUGN6!1a{GVJC2s zPl<@ZA<@+a8*C7(M)-zM4ti#6^suYtiu1y)ojHo*iBF7|{60b6lFR{w8vPSgeXRaP z7Mjyf8Xb9f;>Eb2-tl|oI(w9aL=(NMGd~svpaQL~6QKE{|$5zu#Gi(R=604#u$_u(eU6M&;Llf0qLD>;@TU?!KFhM1gg& z6Mg;l*S*9m*~CtU1qZkTCR8cu;fEgv3%lYcMG@v|pH$izo@! z8_liNgK~u{g3uta3V(Lxp@@A_V*y|xV&|Q$(qR$s;|7RZNJ1k=jx++gurK7=wUZDG z|NWp?2@I#iIS@;5Aogfw^(x&^?kF}uf61{ zw6S6}Ql|XXQ^22q9Yq|*PP#z7Wev@YH%YOx?CO#7_-G^HvoCfVsT|AYldXsylk~~i zdlo68L4*3iX^0@AnlPMUyd>BtZybL;yJePL#x~n@GcRB;^V($7O>E^=GA3z?&z7pN zYXH@dBr731ZCqrt`^x{7pvklIwox)rS+7$T1W=Fc&W}A7t-0X|?@$ku~ZN>wl zKo}tqX)|d4@qWO|H0B?RB4da%pAgyvThe~^#k<0Soew|4_`pdsN&E-GIE-&$Fh!(% z&32Ap{$c+Lntwb;1WbBk*74%yN^iC+AE+uY<}%6O&B^Z3S_Wo8;uM4O7aHPguImG+x+9W&{)f^p0Svd~k#O z>gLRzV>4z3@OZ||R2HJJaiO|M8gJsK+Rc6*e4pT*N#*ciTMHv54O>#1b;@8}{Ex{Jn$1n#3U}b`w0&>+?$ovZ) zv(z~a*pchxuIQ5b<&xn+=re(F3ztHe2I#D0q(AA~#Z$7JCZM#PS~@1U>uYZv{tYkIP5}%Z@z2W$T-p8Z~Rg2n<|sNuu$d;7)E(MEHh&4vKWSQ@GF&HkRi>bya1@ilFaK zcgQhnllseE0nfee5h?}LJW;#k+BhFF;m zUc{*fLvtyF8mG@xyffnrDp#39g}VgO#_L_HmsnI@EbX-rZ!G-0ePmePKn@sNWTV6u z()hf43l|!w*#LjMpi*%7Fe2&nuV!kIQB2mYimMJ1S^Y}o!=5&K&OZBW&&i;s37be9 z460)ElZE=X-{eAB3kZGv(@#HL3wjdV1zfdpjwv?bky!I5czJFO6nx0oPG%oS6EY3& zqe`l;rF^11lX__0w2{|TXBonal&h$4p>c&eP4FzK1*O#~CgC!ND?iSx8P7Ezf)$uxwdaX`JbuX`xy)~s1G!-$y}&q=4m*>ft8RuMQ= zuBp>(*37~axJ11~xU%AX78T&;O5@fZDdKq*4o`0MM6(S(Oo;p|;X)NB? zMLbDZRB@gi1qvBAHgwHF-V(SW5|ovimj+R}!bGyS->%kUg8MkO=L)U@a^M|Bl@t6` zQ}l(7AToQ#J+%&mNs!R zy<2fr%=a*YZ@Gf;I7u+Ru#G3r8+)Pe+K+G#ONNDtkwjLh#in%r(rl0LJTKn(rwDrd zXSuX)*)(ldSJWpabgwVsk(aRS5=(5zW@GvcmDb3hZdDDc$})@m6q7e%j+E zt1_R`LhN-~1R`(MCL*+qgtrrdZe%^V3Mi+9Q*c}0&k`D;^~wv(DHts8w)ft9Z%w`G zbB_vj8VjvgV17m8TC#mMXOW5VQPKKtVm7+-gDN;GH3mA zr*%RH2yI_+H=)0ue){Q7>44{!iJAjK6o@sCV>9KYw$6P&F1q+v?VUUQ#prT*mdIZ{ z1*qbqy1v&%lssNk@uKA7;i~uqj7D74+pr`|g(krvc#jN?L8SMsVpEr6 zE*9!}MK0`IfsX#^CRf{OgAB5p22ToDmRwY9euT|BRIz02j0z0(;XZQlEh>2$X`X}L z?V$SLM^L1AL2u9UT68y8)VEGdq1U#GgXs8#(rjlK$_r|^>dpBJ4KnlLHASB9cDhKm zgnDXzA_dFEN&i|~hYaAHc6hb5dpY}s8sWeL53DioCBI_?OXicYEe(dF>Iq9_n?@T+ z>R@3kg==e)K4q3A`kz3=ViLACAZBWgDqT|-ZzePj#bAIj=U;NQx7DSNswdk(D;dih z3ZA29ZHoxU0DhFN)pQXNPL{!BDSK;<_idrjtNb|P+_uoG>A9k8;}~x5ZAL#Rekv z(?gQMj#Gs9Bl3=#B(JHyznY}vyi2wg8~nT3hYy>bF6_KPnmhXz23VP^Yx$ov$enSv zEH^-WbD8`yAHiOG?PW5`*SV*HpF5s%2#%U0 zc9t~}Xa|f5USW8L)dm6tkywq|BE*7ta?CNucxefWMR;h|==gVu;W@?NzgEO}m;1~* z$&0E8l)uox`))s7AO*`4%sXkUU4$Oibd_=wlrLUQ_ag81f$2W+#1muNHfAq8+omr$ z-KH;5^_sDS000{nKTacapu}wClb9)QW(C}cn|GYRwlv$ME}*(;Hx5`J<%<;qkvXob zufDog=b|TG1E}(15iZPef(VP%zBR0xt{|`-C)C(GKh;md8(F$IS<~_t8o1E23EZ=2 zEUHp59!tJa5?y`vMd6~P$<(n|I0{wz;(KZ3>IVyTQTmc6t1nh`JAU?&B!{48pER>w zPTIwGID3bR>jGWp?qEBex|6khKF{P%kqrkIz>A7J8@Y%$nXt@#EWCxPw^~U>8B~WK zqmye6fFV_=Hy`&0smA=dmDx7IXZ#;xM_i2gM@|U9K4pwo5|12 zm+P5D1>(Wi%xsW;oJ>%CzG}13IS@7GYQNW$LHsLuBz-7V;?6Rd7lHB@8VUp}CE>{e zCK0&&Tm;(S&A_6;XM(LbLZ?m&;>*UR2ZshUQu@Je7&vPt2?0)gM^G2P*A`+yA@@L3 zRIlmuyXZQLTGRSXZTW?lx8)bpHB#5?<*jLhrnbZ?3iwn0mr@an0LhGU!Jz=RLG-&n zCwLAB3S2PxjB%744}}nOD=7DRn>K9>W3}Hl&z?CzdFI3oO5{~&aNV)T9vkQp#Q2!+ z{`{jKw2d8v@31{&W|%8v{F(RiJP2+JA_P3};o1D)IlvDRY{8>q5(_$+8iUk{2n15L z`u(F%z>n}fpShwExRLxSGfztP{Ns7^u2GJ80FD|tPfAN#(%Wb!znj*rVo{#)9kt>% zMcq0XdW+we^UiZ_@Zg;7OqejiMFlq%zmwrDNZ>kxz7o@hy5on$ccpd%0i6UI#wCK# zv>T3FJXSdgqFCj$u?Y=;i&aTRAp%;JnK1G;;fy&&u1A(jqd<0mTUebEB2K&UG@6ZF z$K{t_?%KC+AFDjUirQ4fDoY`$3Z1|}LxTuqLv(_GiCt%1ESUdEqgYZbLA|(=;>}R> zU^?yW!s0au03#VpRB%y(p`~6F*a=h}5^(YBCg)2}U7h3Kl6J}S&O6WUxks2fF$pLL z^0TK&>?j8g3^yu%^UXKjPE`w5YE6T*``mNj^n?>|CpZk0!ZjGq$S+=ZEM#k4U5 zaRqO|IJjlp%UmHAM#4FY#oq6z966Z;!ME@`DmvyKxz*=qs?$Qle?cSFE`>fp9b-*+ zQn?7QG<277K+_8CO1}4lWrWHs&I>=c4c}82yIPUb_(qKfwE>GjSn5^34wB@MDi!Rn zxC=*A`}|IfLM~mof4?uN(hSH$2T!a>*w|U9*sw6}QslkB^)^=??Mzd;qTeHCXK7`93TVXjRoW5t#-YMtHTd(JuNMp7}I|-sP_1;DZk~02rg_%P+t5kVx@x zVdtL~vEzU1t+zs}Lr_6%9MTK`BdUMM5Q3qCi5UmVw4KMx0n z;Y25@2;Krw5!OCCOCQRdg^2&BMeLlz@{7=}@7-1O&65U&6G#|rJL6_I?(+*?#F}qu zF--NKu6zIea7-iShrkC72OFMQE|pVuw>Yr}WmRPTdAkx3n;4s@_EQ{g$*ZcfLIXEa z@QHw%;KhowsN~IEx!P&_qD1Y2OV1+oqP(nliQu_W%;2KD`=4>+;fEh?ciyQS!cm04 zAdw3WFL+s|r>c)?x!UhQd7w)UbDu?6vw0wDSLmYl!3Q5CZYS&p;x%&FgE(CrdE}9X zZ~+QCDtS|qj^Pm)rhY{o_KH#yWQ@8Pn$Kb z$k@Lli)k zPQBjuS|q){(ru^KF5_bCxkwN(-cNGvoICE+8qZM?(Dk?9etXVl@M_HDhg^V*-KA>v zGsmSC3v3s!DXFkLZz#O&AjTAj9(dpZr&C0=qSOb;?K$;15T{?IEEAp`;ip%eJN_K! z9(dHbXC82FhZCGj?>($CP9~x65-R_6FBide*InndbMwmWvBw_nwbx$rKI>%Rz|fae zcaJ~*xaR^V$O)%ov6GjOck$WB$M2{GUq1U@jsaYB$#)^I6erjLuf8+SJk!JaCx?S} z9o~0`9(t&g7likDv#qvrKgwmbzg!4k`uJndjgY!&Lpv3x%w|qrC0-l+hRdD&*5#!; z*lX{y%Pw=;d3e7={QuTlZ}s|q^2sNA-zjR_X?Il7p6VtS#36?q;uNPa_d5h7eDKF7 z{j!t(-V;>h3ZOqb?X;6O9_>!O&k*Cq6;V4NubmrjywNMK6NmRZzUi*Deidt_R^nw0RH+>Ycs`qkhN9C0F+~Xk&f>a7~+moHfDH_Z*#=+7sA zj*)l6cg;Qb+;g4sNxQr5x~s~3dR3ba1zCFS(SIe8aylVbnNOMX7ar^6;B=z)o;lAy zb3XAs#JK1?&zENp@tmcr_jtxVJfH0OG<4|DYV%1RVAbXm&oXm9U3%%Io~tVFl}@f+ zd-8H~_uhN2d+4Eu9K2;Sr4xx09#qAA(wye`@Ln-z;4R~0KJk6_d}99ly!Gc3Icjie z_2*ODwr#!V%J>kTne$1WPM+{S_0&_V%_kOkT$E{Bfq71+M31+Ad%X9|85zjkw%cy& zwWkx4_YUFCEv{(XiOXK z+(TMKI=t@OTW>h`(g#K8LPeD@SspLmXBnFuu@5AnVZnfSsO-8Rf5&(K{r7tl)&EW& zOpX_Ui_d;J?jv~$I}GZfExw~2h;~^h*s01s;eAJWf2T5V&>&A%PH)o0P4N4m@BH=< zTGFFCsRz7!r7H0RhSVuudyGNGQLkSR3q5_HeqJ7kzqId?I2q6f?qMu^N4+G_VPQd-Fb4QS-~IOBqyH?W zrt#W{GoR=meaLK&6PQ1D{O1eLSdjfq2G7}_Pno9=<^YsyK5-wZu@HO_HVkuxzqHww6Qv&>?B~# z->H^_@0x_JPoIjW^x|YvR2Hw2^e;gpsBwHD9C}-Lg1Q7P7G9Lyt-na+s;yYhLAI*7 zyUJW`D_XelK?c-7Kpi{VFj53^QQFQ`DJK|q;$c)Qe#99lf%`Opc(KXkZ-E!KzMCLVOfvMVP$#7l#fVg$nt;pne z*Ig#RyDFX0bE*X#iQfeblsZ~R-%yK&CACi^VsEjY1CTYi^A-csDe57#ZrwT(;v%Y! zw0{S#r8c7{W01xmALj1MTuJ&o@wV#Fp+nm2tW)(x2o2%0FCAnh zEg~i3H0c%P4I(FPvzu==d+<4!t0Y9`OFo1TN)yG7J5GFPYr-866l`(OBTLO$+#(5xBST)& z9apLQig05QVAl<#hnyx#)&(HSeMDVcD`o60nb06wnQ=2_gjQ`xs6}50cmynx09(Kr zYa0SnD{I?M-*CRoxDFnXefWe8@CHbK^XO`D(liCuhgoO z2D^u-Wbmmyl|v6T1MwD8WN0?k#@$xf*a<`gm6JtCMnjW*Be*z0ezkyjVL`1WkP>_$ zB7cLZ7|+2+t_4N{6&br%ABH@$55;I3yd&aNi2aZwK+b6MVzeFh*f-c<18?D^PeHuk z-ct7|v%ersBivEJ@)tg46DN=)xOE5&P-_uH+ikaDD4)ZQo(F^?x_lz z^IS!JFOh0Zy;+3D^Q;n=NBYc_3;h*W-eM3gwSL>V457H77K3ozq;1@~{kWj)c6@jA zVzeJr=W)j!H$#ZSpCoZrcz@wF=FbD%n6pWNr8PC= zlC@i3zRqoPOB?N|`zd|mU&G8km;UmSE6tjd9K7a;9WhbZ7~$k@>w&a^F3PTf=vh!W zi$*endCA-{jGrc_05bZ4Nu=oXjc4gphLIexLODe+*JdL30Xyh7-gv`1tq~c^|4~z+ zjv=a*oXeMYxZEaBnCwLw1D*$rLQN4T3~U_Z61xC#;=muDpgh07_|p@}Nf6=9H{a~}@TWlp z%hC4BFTd!|clC&p&4=PI%OnCkE;kOYq zNMx>5Ky`uSY2qz%2oM&YFhULDN1E5v*kr)>qIZeNje>t57>mHSNZ6E^gCWwG2x0_l zSey%iVIT~!z^6e72$DRZ9*Iga!~#wq5uC*)oqD`Ta~95AupRV);6mPEcv4DYJ|i@U z(&w3l^^rNk#uJ2rFkbK+|5d%YmtQth>d{1`04VuN zn$oHzx~&+6wL9_*rJ8Wnsux(K9d*=EiJHCg$}3H(szmoBDU5NF#?gpTVO=?fv| z3v&m4WX~P=L9kmAe#jo+8O@0gN{fi0fxki78ZpMxN1O@b5(abGEIea*Q2Y|<7;s2P zLQ?-0H+@5r&JIEZ zuc9`WDnO3p3>oywv&ugmp0EZF7$$#GT2TpyKGq_ch%}+){$aN5wu*jN@Yn+nnA~tG zs^I0T^wvpKr~LXA5tQhbVid-!hFlut3TM%kEx>CA&$Fb95%=M*E1{QQRB{ERJ}S5j9UjA3udFUNYohNJ@AY;gJ?aJR<}fo?*m; zkf#N2Er=jLJh+k)xg`q8u|Z@t9z_I#N)6>b3qM0036@BOo0M3PQ9&C~47Vt7{=%R^RLM z%BrVp7qhK*Fq@`evJpzj*jUlkOY20FgGkcO#K*-g3H>X#x~WRE<{4g zfCrd1ZQdQ)Ey|D1jvB;sh6MFg0I@rv;-yzs)_n0;I|`a^#?ZL@3Ua}q+x;bMxLZoX0f zoDNu&Gof4PCntK69dU|FLhyij!}CmI?!Y7Z$lT5hQiWGUuFD?kC2C7Tyerx6<;+Re zA*sGiUQtP^^U9J@5*Oq;PvHOpLH)k^F}aXEC-0Aogcf>sf8B|L6J!bm)|64 z%;?i;mwXhs){?V9i(k@az4CaMrQv>yn>(Ik^h+l_&(#?lOO*FoP^YnHke?!L!s&qi z;SC7nIqt4fBPFuA_h{rZ!n=_X&`yrhO5RYB6T|gY%*QU##v~>y z-U>+xuMP!1CB4nLqmGhbQ{o`{OD+f>0$mH1T(XkaC(kcAaVNhoonZFZ@15yI@%Eslz$3O@?Kk-tM`Y0>AVbWV_W%+3D zsk`Jo)xL*1FZ_^;ZdMRm);Pv$K|e@4&co%cbiw(~9d>|np2nD@_X(2Z;oNR*ek+9K z6QGrpz{yYivV;YJDcDW3C22R5`SAGU_Y~m{KiN-E)dWB#bw}lN5)}wl$S}fOrpYgn z)Rk1o0bZOy6ya?{(wrcINAM~saXO0QITIFy$SEe9JgD?7V90#H(2vpC%N4seI;DZkmq3Z%` zf%8Kl1V3^?^YA_WitAuNKd_D98Ml!S{#i)pD(}TMf;}jR@LXdpNP=<;axah~*h+#( z0h@_YmVtc1rZ!(tw8WCC=?UqOFKFxBuN6nMYBW^pr#4Ec-grgDVknsJ`v^ltbfZ;D za3n_e9u^Jm-#|`jB290IaMsH<^` z7Of0Z&Or!P)^aa73c+(8~F zMWlM>xPb}59u{`m_RFK%BCT&!9ErThyj<~d2=y;2zWIfsZ5lraKj&CQaL$&%=$r$V z;A83kL45pJN6s&0=>DK0*LRx4OK`kYJweElemg8=OpZ)knKb+0)x}~-L~uyNsK9od z@<=MLx)4`olTmb6g#eL?p|%n)6ub*th*25w0&Ui?UB%72uE=|r<*l!&O^OJ>Vt9kOOgW%G{EUpEoL?A`B}U2%&N6{U|hi@T(Z zlb&lG{@A$f;Z~=eoQKHD@sA)He&=YZB=5yJ4NB!;?b_i4Zg#>6CV1Tnw_bel@4V9l zy<5>Ph`YYK?^Q}*B{W>YVpbsFCUl)F&OoZxs)=m^+4GQZC7`WEixwV#CkWM7hICWZ zxaW$B>d4PvN6dtbhIz#hq%kJqH$WCeO(L%&&s~2)RhbsJ zf|>{67BvNdfLaW_xrj?E{2}NO7f@m?a1l<6q(}Decd_7pD&l`Mzz6Gg{q z{H#dU*JZOHU~ioCvd^4Zb^KFDDhN(NdaJaMpjgrDCkd4e+M4a8g|tY7zqodA9yBzI z0uK!zXp+M4op#J#U|7*f6GZI1naNAzRXFjyeM1*1ml5NG+5Ax5Ee$67ynQQ zoW9V2y&ycsPF=wBvq-QYv5+H7(k6n=7?)2hcG#r|nj<+-O%b+7=7Q9h9uKhP@NP0k zh{`S%F&DA9VcP`aA0z|_p}{l9K1vWJk@svQnAaqe3Y!NyQQIAN+)*W0JF!h9FoS3V zXngE_#CI_F2ahyUo1vhhzA|2Kt%z8ydGkm{?fdT)goq}^8roI;D=3k@ z4mN9&{z)UVRUWpyQnazx&OVEHfjD(AVVMv_0~29fa%_8|c{Opp+#8y#+6J1EFjNEz zl9PjAL7j@cznn<;jnj+p`nCNL50wi-3xQT1o#GS)jd0OI?44F>ka#hO3T9^sk&^&H z&JKP3wpw9?EjHT@0S#*=; zqCiL;eDJ~EB96h8ohHHpp~c2U{{2OHQlz`}ofkOm`BCddX)I=?x#!C0 z7qhy&iy;g+@o>WNqt`h>gr*J(X^oRBr&*8`c-|QEG5!-|`d_3Fp&|H?BeYc!NO^Ugg@GGdZ!dlEPPJ_m?9^G^6{)lN|cLG55Rw(13NzmmT*?fWbhOkO@VCutUJ1K4JdgA%y^7@dL&r4jKVtQ%s4s<77^; zz;NOrQ4~8))KzH{3n9B_=055c`pPb!Q(jFFV`sC*d&X&~Ci9sy&sY}_ro8W{R+AEQ z0<|o7U^4c5>L<`CsFTy(f0c3zjS;dA1l|%t1=|ODV%+iMEio78hZ6}pYkouM zaLh$TL%mEKe}Q9BVZj4Vfd!(Z1gM?*EUXI?&`yOtg;NUx4ne`m1$-%l6$_SJmp!3^ zdJISw+>vY0t^%9_J2n;?fFop|(MH&LWSnOf!QW^PE#0>M#~c06v+wsLXkC5f2Zpi@I14FotpT#W0M(;s4lBcv)x@LBkG< z-LkLGXV=Vv$l}Lm79Z;L{lE+DV<^uM90(TFWT?Biz`giW3Wh1e*(n zThw6KT!`%;cBKfrsZ>NetN6g{76 zOhnjxV{=6e4T6Kk791$XScuIi$(q21gVQ32&5WB9ByD5EiX!G5r$uZOoGcOk#ZoOs z^`*A|o?B@AA-(#QGUP5J{rSSOPs|X2-*6!nz9OKmOs9-aPY9{DkJ*tInQg9ePd=$r zh6GD1EjIr_!oz|^h6#(ojm3r?HItGB5mg1dA$FVWcrm0RR9N_!tmuR>9wT&Eh?wxX zf{Y4gFKR7<6*;YNO3_Q>eda=ND8R`hyu~o~^BuMo41C(jd6!?N;Le0s0MF#k>7m66 z7Q$P=IpMK@wu#K z9#p8M5%fIAGUet#ZlN(#YK?`m5jC|Foueqp?BL5;T6`ANmop_;rt331)A|V$XZ%N= z5-J!@8Y~q4uA0xNWPFE2v8RQ;ctTOhx^n_B_>= z^wXZ<9(5Qe6;3V)5QGdlBINGuAp=X->zz^%DtOAE{^I|fRB$~mlKUqMxNn330%xDT%#qOsBOvt!K_Va#TN`_P|b zi(_XF3Ib}CI6LGx{l)Gfz(r5B%1Nmh9$oZ<`3zrCJ))Yz5un(o3^rbzs(2q1pAy^n z&M8(nY~H4h+!!GBmdevF&NHjcW#V~H)#efWNBV|}gO`ybKRavGWvBz#eWNZzkBwRY z-9M)m1QQDq|7QWi4Uio$FEK_u{-Wkdg%B=4tRP6RtsqRWv*?87xe{|iL3m)mM`gwd zMLKxtW-9C~80?Fn0z;+634k~r7G-P`2wnJr@P;?+Dp94dsHbV%M3A8-LJ!UY1@947 z=+@D>qtXfz?$|*vAag?CzKixRtHc5E0>{nJdL3zdu!it*8<6M>h|3i}Fn74nr}ut(6yW!G~x#+g8i zjdXMs0tHuN;#MT^(jrucj2)hEDnJmkL*_5)9QZ--AB#N3_&A81nISC<~4J_%>hN#Uh4!3>6Eu7(TNz#|X^{20`QR z#!-c#2J=-B?9|c2qen(4A#~Wm=XKOaC5DSJrxaX^G1yCe;Hkt&qNC_r@03DXVZ6jR z!4L<*DFzo~gi8*PxwsFEG5G0T@q%LECTI_LR>p?E#QWz)Uu<==?e?KVAj11j0iLYJ$9UY7Jg2vWaDF82uf6AX%Q!5PDn)Nr%9X; za4)8>1lxrXb_!I5Y>wy)#_ci{&Vigl10x+f)*#(43kIqUcA*@-bGbvZyX6?pz-}3}Os@XJ3nF&m7du}cF_hB>7wRy|a5}-$$46R4jly%~ zcjg196Z*wsipmTFF>SJ#VU%W}#W>7oE>tggNTIHwe(G>qkhwhj2U*>8KRlg-T1&?H zIjFmc;?>+-NdIr7YX!}(rBvS>3A{xx;A4N$|7WW||4I!rQS)@71WaR{q(%Vqp_5L1 z)kzjbtZta+7SQ)|)Q6_B6)h?O$f;mqjeU_yND{_^>nsuSycaC&K3oX`77s4qBvAWs zLc=&u-fZ;k%vata#^+!DJmD`VJnF~eip!5whHvl}{`hH3X$ygk+Kp2SF$9$1x$&%& z6v-=(dXi_s`^V++wh}@mbMDXveG?v(X9Hqfq;KWfuoLH$6Xt}GYaVhBb>pJULQS2F zE6mmwHm7-y86&Q+oEU`XIVVCQ_~!gSyy>p*zhLhe2KFZ;6VAFNM?^pf%U-eldOiMT^dYoL=->J-t*2 z8NDd-^$;)A#^##S2oQF%5bp`&Ls;@X7bh}BGv=-Bd)rf45-gHu)_;BKp5mXg|K*WT0xL=QQohU`Of>{&uRGV&kfpP zQKlW#S8Nmzj`SmFLlic5xDTiwc)UDxuS7^9W;wB!i2?>ogWJ_ix!I~ z#%m@%lb(fx#ekQ-v3B&l_*+X=!NTDgm$f5ZHp~qe+X{9S4EMqc(%V#Fum_%nxD?!w zGu@8afuRONHHLkK$om*HLBf$8FK(#awBR#7)Lbk)Y*tv<*|_i>r;<3Xwk(E>9d9V= zMId0GVWBziyz@Lk!A1eW%%aLkfyImkm0aPp7iSlYfI_W9SxyW2s;zjg#MWfuWW``z zl_Ch#E3drL+q{7(7eoX&a+*dUWAjPka+|b2cI^la7C}CC- z)`E*M#{3+S_EWUDPm}N%ER`+-a*Tu*YA;Ty>?%>eatc5gAOL;)Q7#n)W9D?jm=RFm zYw;ZhU&f5EMWEo)i?G3^7d{HI-E-fL@}2{q3y2aeXIO+Ac;dYS&zPV2e0Wua00=TdGV1r8uk z5G1HGSzK9AS)e)6BY04|Y%T-)l2R8TKo-zRhO!H4(O+IdprKS{TPR)vT3w5HeVu0J zIw>Pe2#myNFBoi3sPG*p76plUf`s3RQQ@Ql&K5yqMA{Rf9DoTnTmoc})Hyx1yXK^T zY6_Q7bk3Z(P$M7&2|~km6a)y!7}<5R*!vj+5f1FaQ9+;%@^j!T?S5H_5W@EXe`R9^I*(;Bu7AmGbXS`I|3r~c6{YY87! zRY&(~k$t7@aJjWI2h!vK3oF6}JwCfvJd{{S{m6dw@a(iHhtB_NonladHPj-!o@^Go z%PVI&35u0;%2-j0`f?I1i*efE#G(_0cUr;K7$Jd?p1?@$;5`@@>?U%z^<0c~D)1uh z5il7vK_>-HB|~K-|3!{IIS?Ty~+5=D>W*0UzKJ z^%ANfjI~_^ozX*!%?HPSBK(*w)q&>Z2QlS6CrP;1d{tlfVD zIR-2y4<_$)g1{k%HhIMfz{C}q;71?T*heu|bwkyDZ>gR>lAYsKCBwpKzq7pI)|Eh5 zNP>#pItwkk{Y-o;Jdp_W!($732S$1pVNPV&2>1@KEd&dyp-g-)gcz_Vd zPTnQU=*a!I@PuBvy((Z~?HEV77iA9ASq@;_$6$@!0-^G!7SVsTaE{kb`!9Krjh67~ zCl%7?a)Vz$<)%x(Y_8M8#&Qu}L8pV&38s`#B6ekI{arwApUt%3HbPBC@-OmhV5FBo z_*?bsn!rUImsuj^i;4nWXJ<^!c0Agq z@!B=Y%%|h>)7mAxD^IG6j;z@pms>A$;6KiRIa<*F((ZnuY%L?SAWzX^-c2WiF%m9+ zNmxuJAWcGLMbupSzmwn@AY05#op4A#D@aM(NUF0&eB* zSMFJv1OHJDOxLMphE64ub@G@=M88fUQ}y>RsjL>$ZxdvLnXKR3?ftcemd${T4Ti89yDzo$OGApta20%k)Arj?~)drux|lO&v4=>)QX zY&N^foflOYgrLBlf{KcO#FI}x*;8k6ioiwoSDj`~lYyHcRBSJ0s{I^@K56`-9M`YQ zt}#Wbsy}6zd*Q5FH7btu=tS{9$9P60WnCgXR(x2LG*MRL@Br6STrmAqw{h-Cr3?Uu zK&^ulg<&&|bhLD?u}k zL}QwlxB%DFsbNvsVx|geWC5KxIH@#~EAniqlKPY3PAljxeaHxWn2TfDn@Y6R#jVfrw#HMmq&f zm2*CL;KWx<+s?r_!X6QW+gARM>-bEiHFm4EJBiXg))N|1Lp`uc`Q!nNl$=NSa)o zE+$Lp^p&b3RgU#N zG^R4uat;s?o|}ZubJZQrb?fQe!2ZsC_O)}f!tcoW>vkj)UD3JGdETFKn-*0kovG6< zy;^0$fpH2ba`L!v+KCn3SjshMcki?~J7rP}teHN`%f!hLm~zX`2~W()py}k3A6U2C z8=X`HPFd;FZF|}@=kB@3xf4!sZsNr1bx)b%+{G6=cfkctI`dT97WR>ozrSN_K_sss zk0)Am^J-UETu$z(j=w?l%rnn;&r=>rdDWkJlVV4l5;Qplw*}Tk8}fK^5?%$jCBwYO zH$jO9)+J%$jydi)_vn*P#%}Abwr$G^bWwsSi!q)D=d7L9!FpLdVoke%QIA}dkksFN?b z)}VA3p~!|q3P_da1ncYsa}ik$LgnFyAC4>+w}6myo$?6Co~Z>qgmhZ-77H0A<5nGA z?y}3Ad-mDrat}V}+|D~kmy20KF$dnFCve2jJ9sXasgFYNjahR=F-2`Vc@jn5BbAub z=~v*qJtE8IDxiQvr$j?eC+W~SSnP$>rcUw9oIc2kRa=VSJgZEM3hLPnucIe=) zUUbnwVUa07x=U~zzW(~|pIY?ZMh@;jRvxBVpmvTLHZKsMf96d%1oz7*aBOvxLsg& zvFl-hVn-V#U}9DH;)~Ax?|-q1dWARP8JDngkUkST zKtV*ZB>Ca%p~bHTEFn;6iHt6Qun&PNl?23&jBYP0syYr~cVaHaO*Vxc1^X4y*-43* z1#B@yR>vi5EM(71N(3YVp+XLfxTI5>mv1{4T`Sw8R8O%<@$%N`Bbz|A`Y?(nHHflE_(^4=I*1_@j33}FGKolJqI{Ej3gJiqGTh*#y*iQh0Kb@8DFCt3Ch-!JEn^jQK!>Bq0p{Y|h|S_6BE^ zoGezBJ8x3(58PP#3be6IwT}Z4LPIalE7~KRb*|zxgk^v9J;5WGtz}Pq9)hN#uz`Z=#uEoHyC~xHbm4^;dj9u} znFWVk_)qernW?cWby!pt)qe+aoNRp&M3N(4AQCjjj`y8+-ti)jIc0<;{Ryg?oE>f5t zk2wOQ2a(%6Gfr5*s&m3%^8xB@QX**+CmS|72w(pHjpiP}iaX|UY7{204brnLQ|;qG zG+^O0E%XgRD-=C;tJx7(nJt+$kSS0T0Mefk`_oIDpT+_S$Pnn)S-EGv?F; z)=(JVfPWwgnB8|K@#5bs!Lh#*`6ME_c^;^!;NFVC2|L&_HWolX^=xJvq`Bp!kTiET z0DP$BIMGr+r&|&pfgzPivKi#XQ%)xcCWLJ!Pic!b$v(&FFq3et#U(oFX%Y8ZKmgfz zWX>JtDFTesJ8>o1#3qONnuKtH=VXi;nad|)HBQm#Es1)Hd)aqhuTA2u3O+1TE#pAA zr9}qpmt+V({zT`FIncR1a~PpV_I2(>d01U@s|?=qwi+~}YPDm2bZ%t~VGW(@)Z4j- zPp&YEt)Y6m%iv~1~CBfYeuBTew;4Wa=cWoZvnj-egHhg4=1s>+8;@7rzWK%p`PY54@WQc;;Jz_j zV$)rtewC^AaUeoHr4zQNCH#4%M#v zOsTdWyv1xl4`nw~{($@2nVlq~@N!CWbA~jStyD({p*IcE!A8koqGp41-ck4E^E?8ORLB1)Yd9Z=6n32Yuxnnn@1n29b&{Xsrp)C}@~@>F`Lt&$Rbjmqps zot$denUiD(RT#T_EpoOF35Nt{?FH^7B?Yg=A$IJH4P81m0n|Alv9cqF_r7f+PF;Q( z48cBxI56SZ1Q;KuDC#755A`1>z@&tlk(8@J#5@J4kG4p9gpEkvT+;5X;rPPc~rB?ej zkBEP=udhN0Wlh|cZdT1vdbY%T$6kvCri|B(Qj}tY+j+g$&+4+T) zkr!4X*Hb#l4qFE9$o>*cNo+tM5qzoGki>*rwRYH16t??Tw6_i`@lGp#J5obcIiZBr zkL!1wc$>^I5MY=qFfVNG$icyJB_U!%2yhJ|o>?y9WRB}`62diG83uFS(rT-%5}!1# z)k&k{#~&x@M!9T>I1q8tkk3OarKf!BVY4d)k-p6CIz?p3&SeEMcC+xP{?>`)7wu?! z$Y{IDQt<`smoj!Osc!r;BlI4rd_4EbBrplMxw7NO)v*+mE0;5E(+75tL7r8)`i3zP z8%P{Tk+3otC`r2+mo)cG!GIpDNED$TM;{+Z;7S3LE%=Vugz=Lc+c6C2*l}_ZyIywf zag6zX9h?xi+ittLRfg41UTR>xGwnxVW5g>mUl7JB)?=7TAsAl7d6M?0i8K zmJEsf8Jtc(64q2)dg!5tJapPz)KPBC^1F;pxL-_B-i`xx>M2t#g;ICqNzxt_Ykx!#kbtMyBa8{*tx!3M;HClPMH6ZU>&{peWH&&q%q zS+-OK2n16S8&4-5MT{}&$t0}Kr=EJsNgWZ@tQXKnAYiIcA_}q-PDfKHw79@Gd?`S}uXD2knkHJ=GOj1#4ut1ko* zViOyIT`Gc<55q|%7*)*Oar^B~3cbh^hmzsC{g+t64Ie)~vd(gWn&Ci1M7SU)o)84Y z7S~kt?jot5f?z}j3vS?9Eef9t6X)tPo$Fj&>=+hPC2ny82M(;pHL#t)`#~j>Y0#`0 z_Ev8dcn`8 z;3-ZGY=m%d$leU`JQ=IJr91Z2kJ4>> zE{`CV;u4Di9shjXT!|~mCk`M^+ZfC-xJo#AuB50-h=N8fLmY_~isHe`zx9?Pw)&a^ z9ZZc>3O@oR!~HbEb6jgg$Hk=8ZY6MLe4iEVOt!v56@K z;TgzS!fYaG^@DNYSw`$i8Z=2>Tz^Xdt*ZExGSwjtgdT!Ec*ME;-mWY%L|#%C1=}9} z79#2x9sU22e|s*wN0Clj+NnFahZd>!;#VtI#o{*-&;s68xjcD_-XTC3Gh!i%-d;un z*e;4is2fZ9JkwA^#pT5pinoYk8;V;W(CTS{amH=4TrM3BZq#(22ege z_=S!a07HE1YlNhNlRHq!o5uSHe5ZWkH{x^_coEd4r6ANqLQO73Q#ugN@L)$!iKRvD z1;Pj(Tbb$}2XYII!9s?;PQiGWNeJ{3#K(g#nyn?5zf8~ASqj=)SI%^Mw=g?ML4CJM z(7Ys!syC&lE&;I!@bZ-EMNNB1WY0rCoC}XA?e;S3!(9|L4PbaBB}|~wWeawF=GKFv)IHu;Uds9Edo-9;K@P}oYU%0xt{nO$SpJ) zHuz!$>*Pt!1^gAq1Pt@8GI}vsY^-%{PT##t`beQRPDnLwPTXF_bEG`Y{`EVdJAZ1cn^_Cx!~aQKq`Zfe`hSzyqC(;G?x`nmWPkPhEe@ z)4EE0kp#nxloh>)ixH2xB}SOYZtzD#S?%qjaf= zz&$)-pnRZN3hJlwa(g7t9~~15sw&CN?8-USLF5Kcn-E0)^DH6V8|C=O^CPIoDnWkYpJK8<%Nv7vv8!E z2+_6#l)3X^msgjFUA~_fiIYaD@Uh?#(Z&AB4BV!Y5$LU%sHH-5Efsz}HUL_5dr zpTCGxUMW!H-j-K6)I>gtGOA4l;pJ6N+?z77s5l)IN|`xDa33yH-Qqw5j7aSs3=09U z=fHEY@Mb3>4aMxK|QKz)o4Q z45cFSV34DNSO(<{_jr&NvD23)ke6=*;6~yZim7&Crw%L(`CEvqVJ;PmQ0dVIiOc|7 zEOe8>iBG|T-aAWd32`%Js$(2T#|f+SwG2>XG4Rg7VFUK2V{Ts1*-1LWYD5LeSqrUu4h~rSgozPRb{M2Z`8*ll};<3`!0FUfz$ya zrA&2)0}(JHwRa#sDyXv3ITpgYN;)akSl9gpGz|4L)z10os+nU>31=#9KXtl_TQqh# zpMPv*bc%_6U!ev4xl^p?mszhM{yo76rO_V3LlN^{ePIZ{h4QF;fBGD#v+Ai*M8MXu zLu20E4MRQ6yV9T={q(+>zvV*6O|{|TR_60BF5+$4y(!l7%dS_;kJt4y+M_PNzP#S$ z898%G$7HWElFrD?JstD5axts3LZkfb${Z+j;J?ZN39s*}rWQ`l33)4iJ2?4mptrcG9nUtafie8=vJjA$1kP%Ms>F$+R zUU3RktI{5A`r`+T@bSkV_jraE5BI`H<+b+s0PVTwo*sYU1I`2x$(QISIUBe~xt?9q zrcLLjK=t`aTbb>l z|NZx!+(_NcH{b02PJ4LT29@lndTzA$O~$4NQc$N92_#G$M{3_2^NVZP#5_9Jhb5pheCwJSq-;vt_K4i})#vL@DNL1#}CqbX& zoKM`#dkIfSY~{~sQW5*}Ns#Q`bL8Fh=M&FTuDVs`(+VrB;DkBl8Plmp@h09}%AQYn z6EZ&Lliwcchv9=qA6*ie&`CFjm$@VVq*xW5_-|4SX!M#EYvJva4?@|)YIi3?dPfRd z@@musk?X;a3@>T>8nXsn(kA`J)?Rz)F{6M{W3oifotS-DHX|8wNy=c?I;C7 zs_hj7o%4?b!d1dC>-vS+XP=v*E9YHZ^!c@RW=EZ1_K`jl{FwRs=eqCVbA{MFJJs?0 zS1L`RbO{;Vly<}Pe9BbjK$!z&4iudOVJOL*X1Q`5CdvXM@5fWP&;UN@c3s!$ z+DljYq>=Z-DBoD-K$!z6aR9qUeO={EY)TBBS54tU0~GX!bjg#=l!K|%4+*_)g`-W~ zq+(@}i^Gi?YrDjGG%|Tn%rP?$OKE2)=2)`l593PH{+0@_!d$l(P`0?gWb0IlpFj#i zCy4XXl*^MmigLLd+ zHd*l)v$Hmq(-aw4hc}z~Gp_JE3wODFP@N$8n-H&UUtPs}C%w_K+fm%a+|z~pyS;=i znY$o%V8BzKe){Q!b13B+gcK@7@CRgz4X#^lLPU8`o6;sJDB1O(rtO9s?&R9 zi|FG0;n=>EE_o)-CBD-;XP4<(Io;-g)CQh>p@n3b)R;BsDh=@b6enYfGf1^z@=XX8 z)_i=UY<{zYKKS5+O|cAlwfnS!%0Btz6K`Au+YxNaeDsNNopsh(w&j*v=2d^@O^R7C z#jwo9e##yTu=lN7x3D8~>CAzJ0i7Ff@OlT0s|FW(VD(mF)emtn+aT&M2?Y7&_%ZHFFzcnw@#v5;3 z(!@q_N34K8?`1jQfCIeDW!XgE*@2~=SVwN@wpq+xc2&8Qg+F;ux_0eaWkL0OqX08+ zF(J<3#v5;p*~xgtjy&>6Q(&W)dm>wP#KJ|qfPyN$g+Cu!V~sUDVHo5-%D50(LXL;^i)d#pkfGx&O5eMqMUG@| zMVaqnluKAdi)-i|M9LEppEdziPTrMV1g!q)SU5{MpBLM)mz+_`p_JGad)&Ru=CbH9v;zHP$q&VBr` z%Jy|`#9z)$o*8{lxkNP%b5^90(U0ayqc~6~f$vJY0nk zD13L0E}S)RV)$RIHp_*|94K?3%z?r-yA!xNRlBbx)y>kCd8s121t(XP~$zj-~9zd%pp8&BSX zT#)EYKK#Lz1Szt@XC(uw7AQquiq>}p#@fba?b^1p$%{<31!h-$NUpxK zhSM9`Mb}-V{L3o4dAgk0Xrqlx$(_70XM5$a_$axL7fqd3V4B~10@R3?Sb61@tHo&$ zU`ecxk~*1^NaZ!)%{JT2ivz(6D|=kT9uQYSj0p3!P$KsP!F1%1nKo@&wdxR#O0;D| zhYl^YDer!s3-x6NEBY1tZ84XXs4G@`yY04{DdCj&JhCB42>2s-kzn1s?`8)YK`-hA zaWo552u)Uy-^+u{PRTEDGpY;!)!)OHcL{2npbJ|ChVCFDau_w11ih`MtB3-F=9z3v ztaa8|$K)d)cm)M=)s_d0%OSx~Bm)ZSKYh=~l`-!4TCC9`XWK2-tc045TUml~xKlE= zpfSS>c#53VNusMCavj4W&24>6k7YcXB=(6P!@i`D0yE09`-l^+VT~o43 z&d~p#(6yniGjyG(t0HS=QHkI_Qk6zgQ3B+m8jbNg!F`Gn4lP-fzWc#_Q$w1b#S);a z27>ztf-6>VpLX6k2Q8S4q6YVojy28TzDFK;By{dX1?0t;qH~M*X=`)cbNJzhryAV% z%P+sg5AK`zZ@i&Q)5Kq89p`$Ck5|52Dv|@?=YqBpK8m(CMeA4djKUDk>F^C**gf#1 zigBupFV1q8OcVr^MuREW5d_~>!i<_mvGGN9oeWJzQJr0qK;*A zS!Joh+bq}MaUi$Qz)1r>FRH6^2)E=OZI9~Ww1Eq5dK;bcBPw&C%z-iof;q6HkaZur zK=#zV1!W{Gqs(hx35xw?WIbEESRFL%T)BR3yF!_hDRCfNJvBzH9Hr}RU3xZw#EIm5 zU8H-(-c*JWN$Js)t0{A!%z>O7K&`lnqK_}TN*H9mC9quc^RXiXyNRb_M z{!33PoRz4a6oqesrnf$oY{>=%BXi#px$X00^5TLxl`B0x_-;x7fDVU>yrP!2V6)> zf?SE*{o4>kipjCJbPdx*j7~yIJ76kd^92`QYN@3Pt|RXX!kVtZ;J#w=q)C(9PzAV+ z7L(E*7kMng$WQK-#+agl_Ywu;Rdy&WxG(;*kPdvua`L1!o^d{Pga`Lws~`sBYh4@a z!p?!9$aLq&YYN8%P9!WyH-&WLFa3sU5eRNT5VaYwmy&fGPZ)&8nrp5Z7#!!Qgvu4e5`lK(r?6O9Nzf`F*xNqatH?}cujMaDbt5iR`-fUZHfu*e1 z;9f-u?jy}AiKT)fmRU&t{PRz{_10Ux1Vd@k`RAW+%0po+-r3$j^o8U}y9h3u?0)$W z3Bd@a3tFuGagkW+l1nbhr}`@Qyz|aGw*UV7d%>+io=fzB?|=V29e_Uglj}VraFGN} zB(dUMi$nCCc};L%wwD)uA2)8CoqO)NUUtIxq+RL{+O2*roTrG!Np=;@uSZbrqiAp2m4@Q%mHzpHIeBDeTpm?Us z>utJLXi!CHYTAv2m|h^9s*i7h9Udn4*$!}Tx%%r!W(|vM4+v(3PjIC0jw>PVc%e(4 zsLa|;-f7$4J#U@;%%>827!WrU*UljxnWIUNlhmjFQotMmyG^+Je&lo9M%zVA-DKnS zo(0tCOlV{g(U)G*Ln$)24aBje1!O0db6*_AJ+?49SU^3nP&N^cKIa(-_$#c7EZ|`j z$DXU3)me9k_JJe>h6)=IoeXEs9r1G-N5-AzSIeBbT+)i-dVOtfmsltI$oBZzrVsU& ziOay~h*0;ym0K`VDk&p@crWwXHp6SW%E`);fr@=gaL%CJ&b^#-((u19?f+!UoHKudo}Ny`-(A<{832kvbM(ALu^Aqo#<>mG9gF22KG zm4`iOnUuU$$2+Mg(8V=i6a3N#N$m$=VbH^8MN;NKT$RVq1cAdwK0zcq=U#XoT3*B<4sckUoK*XAojrUsEZ!o^_Ieu7fwg?Fr0m^_BR0%sxJuA zf=mX|=;$mxzm?^IM<8HdZA;WKlpR6l=Y^wJ4x9%hE9$(mFp$CEv4WotkJP7Wf&^hmSqZrNF2l_-A!? z+`~1m3ZB_SNb*8;6(@ zq>(zByQ&bKG6B=XtcVfYy!zki2os>Q6v5GP9H;sHLd}jLVYL6iW0~-HJW2(KmM-3O ze|=2hdOzzEMGMAM^LPzUW$p8nDgZ@%V?D6V_b{<-9*&eYawpXFqFB=AMs&P%MTZE9 z^;bRbCai+cRiGoJ^~ayzvmIx}b-qicIXRe`V^*MzpYQ`pL->ao2KOA+WL4$t8+x32WI;{B_+p{ds0tCz zt#*MDD}F-!J(wJk9M2nv(_8~0w``tJPWDmU?=u7Wsq;z|3a5WC=|!{}XDp;EE7!%h zR&N3^2`dZ9G-1>Dqmxs7UzYr|`QRR%R7MI}OF%-@^wSz36RInb2i|C49i|3GS*_vl zY7nN5*;QxonTfr{LRlha4Mu`+oE?Qr*u%xzl64DzNIAr;BweRb02JcmE7ty{#6Fjw zkKi9$Pr3{h4RaD3Fx34zDZ&OYMDFRo#9}G~>yDH~v6H`dfd#oN(@+67^VO zJ$d!DvFL3glenZ@8?uTy|tdG_?3Tlj*sN?{J&Ix6iWwEd$uqRgwVFgk=sAWNh#|Mu{?znSxJOa_49W9%XEpVwoBTK%oRs@=*6sa$lfEoi$Ij6>_RfNWw_(Bv*8gN`L0Lwr3> z&BT!g2K-^_$~lVJnCLQ9*FZ5-s8bK{;ifj3=^&5G$r<=$$^X1)DwvzYb~Rffg%T2h zkY{%#v>`qmltt|+K3z+4Vcx4q6tN7y@6kx~JGq;DA|ke1J?GnyZSIWLpy(+m0O$D* zUsYq5J!I}1!hRaIKS|@Iic*5fq;EnyMmeVz!|w=S0yAoj9!sWw11Vn%9mHGQknN@Hy$+N;44FNpv4M!^JALH8)926)t00unTi%;MJ);Sk&Zf`02d_Aj% zXq5ce2ZaGF;rYDpw00M<&>nt{#1eHEauVoU>838NvqNszIxVZHZQ zGqlO7IynoLTIpA2rI!f#gz*=REiwgk#LI%oN_@>1t9r$UF;8HL97E= z()OjGV+mmq-skMNxDQhd?IE8SIAG3+Xmgrofa_LoisvZE+e_8TWX`+1uE1+GT}B7g2swSB1XKeh*%wD=LuKu;psHm^@}C$xIKvVA_? zfZDm>T8FTg9zc9iXAth@P%aRQ_17U8QKApL8VTEKwV{^l5{c7_T>PT8(Vo$9B7zd3 zb*D)Z9fua|g#l~u#H3XU4N4$B^j-6Xio-H%oRUNOi%)zhKXJ>apnDjdj|E0N1sDUe zNB)GxjgZ$Z9D@?;E9evLgxld4Kzxe=D>aSQNa@KEA6p(4NdElIFrEguCd`&wb2h=>W`I%UO$E-SXA z=fW3kT52q(m9u8>rz#?)Z`al6q*+q@UkA9yPuN9HME+#b1)W}}9Dbr{?kn+Z!+CbA z(#UrsFVfy>y_DSUVAWO4qJpq&{OdO&G0^EnC7NB;J60wR0=SFl6V87ARI^!TloJ*q zK>u1|*TS{=ueBTuMmEA^kwf2)fyS=G<|YplJ;}SYWz*=9NeuULdHaR;lDJq@6ZmWJ zWc6L^cgys)YQ*}08FW$?EKb1}h!J!ZZm$v#dmPA}tH7 zZ{2;$;Z$YDeDdM;Tw%y%Zj+he{ml_6s40-F&>OELgCdGT#8dKyz-9Bs_V2JuP?Z+6 zgiwkERwLWkChTTZloX1Y_n7l`gKU+f06wH!6j&JRs?+s9h?GZsKmE~WO82$^LYw2J zaf`JcWy9w9)I(>4FDTGW13KiviA%kj4OtsI2R%>+KvE!W)%U)CWCwj`=qAy0W{w>F+P$ znG}h)^<2G$F6))I`+9p_e0$|a>P;P{rB$o+Cb`=iW<;>u+rby0zI1>i^ThAiF|&C9kNZI@CUc( zknpwvka+u|tlVG-E%4r-7uSA-V6lTk4&Gi1jhh2k>a%ac^?H%;nif8fcasTkG0SEA z$@>;nis7-v4nVB-3e=70X!&s&%-2Omoc;BBMn_b2Sk-H1{W1H!&kn z$KxmRa2{L&S;t={iHEjo1qI2cGS91~4vai$G$H4ikFjC`wsk~n)u?PhgqAdKkA|0M zOLe?$ZwI(k^a&^^Pe{VqfX;lOsi{q(bH%sp8-EEjcV8E$$dS^ z+rSko2;9(3zV4~8m1+|De!kvXuZnv=&+Nh<${B0A0~FO>Uea|4ME$+xz4q&n<|oCb zxwVDPwyuO2FA@=%P@s2d$RLa@&xkJgoMpRYGOa_o$6>1JY(<-fc18^dU0{kJdoWsj zpv!@BG?5_hG{K6O$5rQ32P)qE1Y3(XDG7w`Ikl)0L>#?u@RwNFr!5S(%ZpWI|?f<%^ z`x?vw^-K<0k@pBjI>a~TX!Gw%ihdPsxE*Ek(3N@4_%gkK_%yA_jK&Mu8;wRQH(y^$ zZVOd?2u^TPRvxb&uQHkCuv!L??Jqt0yjR)g`n`g>BH_;lXl<-eZ_hmXRUJ9S)|_n3 z+9o99l3(yVF86afo$j|1*zcB54fK&*A!~X)EC7k7x}O|(NC>o+?Xrh38f$^=Rb$aN z%u*t+x5q}NN%sB#6w}%}rvqV&Dv8Er`5K&md*C%ZorWLx(WhwCx7+46d7#Bp9G&=D<5 zh$~2;)yg+amb-sqQec5j6TpgdOU{}5N_Z_>`<=GOMbVzEq%@ImZi;67eBn}02Ojig zHYnaLHTutOAniXz(K17ajXeS9fk40(0%|8|#8!rITd~%p9v}S|HR;7#fN0*~mfP@J zs=z-DjOLLX)T_nH^yCs?$@la~|GedXMk8yseKv6dw!!;j@R$aEdTrNS0ngwMG{kuCld^+09qj|TlwyLz- zTQBSihDVN?hb1S&{o()A>IJU=v9}#KSHQO4$;IJ5@?N8GI+9b(^sUcphy+|GW1C*o zleb4S&tr<+4Bl$KwSkgZaB_mjiuu!fYcbDL#r>QDMc1aX9Za35m;EQ%qx*2!4~Xw~ z8NO;-tx(-=ufDw~dDg2ynE~FMx?c}qbkCU{ZqCP5CtyNv0|ptkeJ~EncFgC@A~@tKNZ-f(2O*mkDG_8`@1%SL45@HxcV<#_+zXltx&-gNgDcx@Q-BorYq<9T|a_xXtbR!i~YJyrITg8KxhOF@XFzWnm{%SK_~A(CxZ zICoiRW#3a757Mo7&7C{P$MVw8f~Aw6|ZY8f69uX*Ja3A zrz`x~QbAA2RU&rL)&&VtDiZpKntKkKgE)hDF-J2~had#UqGezQ5Akyj=K<@L$G=f{ z!PPE}8l1;u!l@63qFM`8AhR zU0=xUHM#(GnQPt6gJJQ-^=a}cgma*RXjstA7^o#@ACm$*X=&@*Na)%?5)rG z0>sq!@9DC<8Eg)SxiTIlJ1N<`TV9((nX(c6NBLh%KDgsJ&mrFmbQ{Ep8~IH5^ih1w z>C9w?Gi5FN7@6*7NUdJBAUexaFJ8PxJi8)-eO0nCBm8c9M8CXlkK*~ZJYC%`Q{Qcj zHT<}!0)8!_hF$nUjZ{(gTg3hD_8NaoY*zN^@ES`90rRsSQGB4`kQ6y>lUJ3~!xK-z z_kRtUW0%MD^Cck_PUS>7nOBxzGM6#Ht;l|kQnD@?WvFgk)F_Q0C_%|gSPvz;B~18J zuu3g0XmJ3{{G2&k3l_6vaICvOLZ~N_hqzo++C6P(w^YAD`O5-IJnSZ?#V4y4f>bq| z`1q>Urj9xJF-1F2hRvSi7#y18#WWV<`rMrx3&;x3hTb_%z6w+*WgrVvXiV13U1f|P z>Bx<(-aqM#opVt>6XYBB>ZuFk7J?vu|JWk@?g{L6^7$Ns^>w2BGGizt=) zFV#N$MZrET0F$CtPC8Qak$Z0crAWWkc{}8;0(re9vA-c7X17?!S_TL2duD4`Zku0~ zQ`+V|m#7YiZf$D2U;i$459in^_g6&qQs!StG2V@xLL^(FDZ{EM^5=pF0hzfCBR70% z?vEI8%t(E+Etn78zqk4YN1T=%Jq_)8qf( zFA4r&#Z<2602;ZLShf`{P$6r-Y)Z9rD>oM$BD&Ex5^ifA9a?|;MjAy6Ae|ZDtjt@F zKV%LcQsO6CB_W0>E`bm`$Yv2-NGxD%ZL?;l+un_uid8Wk`5+8PaRG;Y>>lnpOSR)7 z<0ay(yc4SJRAe7WWziVvTuUVxf}N)*YTD}Qq9oOGY#$Zbfcx7zSyRiLZobe+&5r_g z^iUP7)MW~}Vl1c_XRAz;VJD8&D2JrG7k*3_`G$cW88W`e zwfYa_aVLa!f3y=IVB-OlE0j(zBK7?-9s~IzgHC}FiM9U^{GI>B`|HP1m@lD8fF3)F z4Y~w)7El_>PY0iBZzPLrUUnU<*UubjkKi^IKhH7a9RfCQOuZSjex3L2Trr`^W!+Bn{Z@bu<)c7a6vrunh!j79nEBRPW#&Ei z31uy(!pm(b+but@Ix}xi@Jz#LL0Qo}Tmrb8b4Cc0kaum^+&qY}1EUoV3c|4JEhD@IwOwl^0yg_*;U$Zh~(cJI*;~^=0VCNV6qY@29-753%CsLLoUz86? zELY$`1C4car$`)h`3|7u3_7e;aPA38uFiN90HW&xmLV4G3q3BBkSHYq-%fM zC1xE9zVCDzXLQQC{Zc{GQBGCZ`IU(dD2?dS692cz=d}?s?m|{B+D95yXft$;i5=3! z^-@b3&wt=i+$@HI$0t(IAfQn*LwZ-w>5?3(ZqX&W)e1pxnKR^Q$^JJ0Kf=3WYJff! z%%9&?%xfyW#$88VhF-zucgZp)?Nz0}4!&@eWErx}dIk1S-N<3YS9#^L;wL#NKJ!Oz zrqD{%{}1zFhW%VX=yb(BtHA2Q0=AeJR|J#Qo~|b{mH>c)MFougX7o_~Sx~6+F7KD3 zcmUYYaNFQ|lBx9Jpi)3-`h_yc{0UvH!t-t{JkN-|cPSe7x&6VU-q~gd%eGaC8UYQv z_$GbUvAbGGdW^^jtZjspgum|N02Uu{>>jgRawjN3UJ=GM!RMf*cwdlLuJvb#Kt&ED zd=XWbzC+;}_wrl!Z5#QH3~XeP8icr)n2=yz7XB3)XciEMbxPtZkuJk|LOkX0JJmQT z6$^8>+0PU%OZj;kbt#55mNsEPOkaqwh)EHlg5#{Bz9UfDXz}mky8ie;5fWBE(`fK& zgSjD=WetChDpI(0xA%u7u*29uRfWGJr7xs&4P>F+YyvWpwsJHv{Wd}-8%4DvGDqSN z5NktA2*}Xm%fcKTOw#p!QJd(6vNxTU-Q{6~(HH36AxT9fIx%#Uy>ON_VyN!%51TqJ z{*jBpf~f?k&UeaJ>J`YZ2LJ3IyIzu;%FnGSkzv=JDhk0;(KSo4B1BN_gI3yM0Ttvz zlD9$wxNN!=V?v7*vGKjgnmmaQHTUv)Q$DpGTuN)Z@{ie4n z6ee5O_5$Nnhsjm=YG@tn?wUP9Fcyb?Xq!D_nQVE(>?H6p;#2(vKH66$H z6$EvD-`L0mIB8G2E*RIF%+OGNY(hQZdIZVtBEX;`Amr+_!3moa2==L*dCVP&j< zH|wq!lVXTEBM^;LcnY7!xxS2gD;jGE(xFkFijrTo(Y&uC=9rnU=Nzxc`I)nAhZU*< z;}>0Tmu}5iiSyzVx|y@7huS`ek(?lHCErGv1Kt{dhp&tz%m#4RfE!~!HJU`Dab?IR zTpxH`3LW@jX=npKpNCq9(T>>&bP^8~ZrJ5gqy_6O>`L>iben>(>e|+JDJh8;fcN>flq2}6i*p#cx`e0+1 z)65k&rn}BJ+!tpJ{+SPx@o(;&aZc$uED4PC0tBEyQ$RYtq=w?AK)VZ8+lfU>IQfz4 z0-J{hj-~?Wz1KQ{v6{8MAelPeU+jv8stJ>_aYCb&r}#jIMMnB(kh_=*dI=fiSpk=YMH6#veodqLL7ht3_Ovfk~vv~Mg0?FV&qeKK1diD_K6=58q zUJ?mfj*{E$+RTZ>{7Z3kt1Y-wEd=lZJqz%2wgC z-xo_sNeR)h(X743V>&{$#rop$I9@I>s%>s2%R5jrGQ|{DqLSxro;gZkw%NpXI7DJn z3cVe~)b*wM0|^i4=%3r(@0y=iLSEe5WR69TVYONfX`x#eIJ3%vyjsfSauLEtW^7l^ zx%V;Mc~A9nMC1+;Pz~#keTs+j2#X+YszedOg-`-yK_WUYv^tp9a>Gw*!@|LVWq*~c z$h)fWQ&NK(s{lGoM~xPe#C+02?bPvHq6|9bIOTrrcVq4w?30DLFgOro{s@g$jP84( zEqva^fdt(cwR9P_TwzD2ie&k1oiCk^*>K%uCz(^69Gx#J9V&03sGkV=#c%tEG1`bs z#@tpFmb(tm6opEY+zes0$%-lrKrUl`O>W8EhO3*BK$8LfuSgFOv$cUU?RD72Lj>V; zq2ACd#05&rlo5-=!d|)M!MhZ5TvmX`O8mp`~p(OS|{VJ32|AP_%u%)}ODW+7dLmMECU|+1~qT@;{IW zpt8BF^|h%0FYSRI5j~2@ptNN(yddvMHWwX|0S}YK>}ZX#Wa}W0+g#-h`m*s*O4&4J zF{InK6k}+;dUd+_`FLKs9Q(%JdbK|qe;{&6G>BhoEi-?6eI4UKERigQ(Hb4Utt5O& z^n`|jB`G0QxX+7QD6hWH%WGps5&N1aS5t`fgQ8S?MuO(|NDP4#pvlHGN%#^D7B((> zy|_UK79tS?Bq-ZFx@0AGukx?%5^N&eaIf2y>i1qzV)fOyXLV6>WRDD3l zu05;XADUmdViF`A9J}%5Ddoy#tP&E`)~aO*{s-hj>y09ItaioUIKq@9P?QY_D|O2* z>nYy~(Y6cGZkx)Zo8yzhB2*L90j<@HhJ~lKC1MB3(&jOem{5!|%K~=m$uU$ZAM(Ep zVKz;nqI0dcKv^?DG-6PDg&hMNvvzH;KLa|%VvE=PF$a3ZtHh?Et^Vg2kdR!l{OTy+ zDW#)jVEyjbFGw;uxsThFX9cgVg}xQwM?4>><{)qkVsl4+w!%{vKVwZCTY%fR=ocW;W=l2M=M`R*MlbhPl-yBJ&H({fG5jcE^rFToGDfE$hbv zHhAE9&eH(-lcT)BRAAmeSM$#jqJFI;Kx)gj#tP48(e!|Z?R+LgeSaXiF%uIUFJ=yJ z6{Zg592|U(tiTRN?%zsF5Y|*6rG)Lxb({_ah4^oX&vNJlX>%lt%2BPwAZYK8u7Ywh z#`Hw&WVjz8k%^>rdC*~hsUp{lPix8HFa$Q) zpcB;1uk)xwOqb&LQsm@lkwxi}#>+Mvx0AK>rm_Sn>~(Q$+wXUiTU!~1qRA$d{etKS zjohJSGUD!cg_xD0b-CTXkxr_Uhhq6m@$J3CD^nm45fRC6*ew11B6HBP#qw4rN7%%Z zsUlKTs`WbDlTYHktBqq#%9t;q9t4UXb8}k_N8t$XPdDp&>QE?}2L=a+*PybQV4#)7 zi@H)r?rzJ!u@?)jzwhn!bI|?yQ`nfVG)N~*u1E=5*f^7z#2fCPX@r*0HE?G7V@>)- zVL#R&OC$$eW@M)yJ-zsbOZZP72ykK8X5IdhKV{~IMn&W#79ZKKU3UclcO;a5$_79s z$B`Pt^vyT^R!!Y|xtrokcCQ#P-sVqfvRWf;q*h-Kn`I6}3z*+05{Zzbl---j7X_8g zX9iP}F-PY$Ck~7WwG@|uE{YRc zbt!{PWb#ucnSCAnxsxdFD&=5K7_KRw)-?tzM?$+_QE^*%!%VrRHgb9v{MrdB=}CYV zistR|G)kyuhC4-?B|@LN757HL|KFbm_`xgpFOaHK^~_iG=mz_?!j1M{xayt3?pk@~ z{DRp)`7ekfA>sd373PQLfse>Xs^(pzh#J!E=?_4o%D{G0sp{{_>%_c;`ENbEvmwi= znIFraMrV++@h z_7%fgysv~unCjIihS>$K3b%|a1Jf;mej%k}Y)$8qS4&wz{;fjH#~30qjtufo$AkUS z<*bm(FLFCK;B%L$LdGR_YkBe%E5pT<%~74MvL zBZ`QCps5{A3@px$<*I=KPsOwHB$Abe0B6i{#oumkI%_bRp+qH6$BekR#vu_L9V55`ywMMcV&55 zZ-vnS1WrN!-+RR_W~X?~`c+BXlLR$GG`hc-Ayl)V`ut9aRcuhWbMcV@`tv{zoGC8> zGqmgTx8+t)k<3Q?t8%`ZnnF zHXOb91_xCCQmpF?W>x*-Q@~{VhI>B1u|Nx zw!W*Wt5eWGqmp^tlKbvTCB2+jZTI-yW4&oN%*2S2e?mT9ZPBru><)$}@szekM_&978Ftb((a~-^!^HGgQAxe^)LlO^V6`88A3EDy@|%sN7adC8P=-Bp19?oVydW zvl?n+58{O6e%y|qBhp3oNdySWXJ)xK6IVCsMuGF@KW~bo`Ho&sSj_|nCruN9{4>8V zc2HvlzzBp462soPH0*$osPIth~InOlE%js52m`)U9iQHm=lM`A~3nn|&n1 z1AlC3aU~`e3LR$-*PY7d6EWCz5DxROaeD^Ez{C`_l6_WP3xA8r%A&2SPzbuVAC+cz z#aYic8^!#J@F^~9d)Xa7qvFsRyxQB_6HX~H;NSlU4GZf7res^C>FGZl<__!bQ=h`q zFNOvNIuv=YFslXCKXwnU-TH^cv7JAtpt70DA7sQpD^V=mr&L9$1 z_HjqXZO9UfJWJL&Hdf@j%Z0fCtgYcFTBNtR_Patts(`piDtSRlLfHV+&W?@_p~w4O zYL{n1G!zuVx(n4N+c$5WZst^WJ3?0L0^chM3>mS#-X!AKH(XxN5a6k*(!llMn*@=| zy`ucL#|y=hVeV^Wwl#E9@c~S?sswg2)5#2u|2zrV+(ZTk>cwhfyx3*C=S!W!s23WO zAYtp&+M4D7Of1_78rhRw#r^&LK-?SqO~RcUxV>&_ahL@hc`-XKtg0q<;K`%ajW9O1 zT5SM5vRf1|pO>-t3Vko8=bdGgNo5o^>A_b3P?n~n{h7D_cz;*I2s~M-H$^!s8q7*0 zfsQXMES&eg*;d%{eydcVKj2Rp$@iVFBOl9BINc2z0Wc}tO2GG_0RWWX`U@=E5YM=YLx*bhb>VD31z5m5v2Vs=n@oE??^&% zrJwJiOQq-Dp@vz>=jqhe!sdsW)CiK!&d%mxsD+6`O!BNMh1MA{{Ivg~+cZfufg_2r zBr%^oX24<7{Zg7gJq$N|t1l+X|Du+X$iLej#Kj{3V2+O9Bi* zRM!7xdn3WVeG-CQyFp6->e7FPhXR_YVjctXM=kdLC79VvK=*%fbqvl=qMZ5j9rgKw zO^=7im(JS`bi3{K+ZED`-&EESRIz(!eLLV1CvTq`QHg1PWQ($4)-ST$}w2g<>? zR8>XC_%VEmgi0-u(G5@+61^*BS{R9J)6G07p*}1y^Fpvsg##+FW1dhoR#!+mHNC&3 z+r`K#Z(9O`rd>lgdb&_9e1qjG1#j2%@g6+r6Jg|Ca&Hoi!-b*QY@Mhh;^8cqQ34y-~6#){b&2ka{c_iQmD74b5DFF6fdE{U9{m`va$Xi)PeL~jwh6`TB1-RSHE@KORP8XbE) zQ|A1$T{-DImA!KUbBL#{e>2dtP>Ee%44O0g+M;r2e&mI}OFCHmyYMGjH@JE+iWreIVgSH*V{aGh9n5pxuJp{(_2 zIYqYn1{O+b5dsU@<*IeW1=Xt<)AKs0$lr zgVj}t35$c>#XQM=0+nrAiH*6)m=p^G&Dd(=wcwrpS|3ij%?L8v{)>8p%{(kBn=Zxg zMupq%q1aHo{?a!iEy;03X&!S#`ZiGq$4qQZqer zKf5x35^suv)5318{RrB7=6$c@N&jWYDfV%fru}U0NyUUJ+1Cr9{a>?1v-#Jjl|Tv2 zrP#{!<zwA=O74Badpn>gA2`t^r8r^ihFlG|U14BDuDB5fS1= zPcB$m+IU;8O0`tR_0^7VnVMWZv0@4tzVZW#;PS-@TIG_lF)U$=mP3#qupDOyRrRv0zQ@= z-jg{uWB=@Esl$N_HYD2@Lo0ZLPn7)F2$+_F?`<3X*m-C z6zmc}mD#xKD3@w8Ne|`uxGwg2kKJ25_l57p$hu+~)L#5nytt@!{uF z^OoU16gQx=3~c{9oYJum&KUlh;Px9z!{su(b*&2Y6d=qZc6yEa&b$uRFG4Fc5>9QV z;4bg+{*=QP3#aMT)nV%$bnahHwQzSQ500%Nb+`C)vfgD5-JH1#YXt^uQCC!Doy4>G z413Zl4JJ9s5E<<{@Z_6;Cm);CbsI=j1hF_AUwG?ZR=uH+ z&6I{c+KHKAHSRV(-cKXONm2BPgLSbAoLM*o-0Yq0jXXb!kp7|>o|&R8O!gmRJ`oVm zypL4Qy4U@2wO-Rsm)7!~H$F6ef4Auv+^3uaVXQ0IL;ts1A!cI!=q@PDFbi3mwD5D>=BjHTbVbv!@i6 z^Bsl}#^AM=+8(vq{B-Kh#~_Q~7~@pO1aD>O3?HnVHHI^-=e~%E_V(fo+bL^UuO+2EN7sy661{S*L25aPKFamJ_w|<2d&u<2%@a9sgjSHI0&kamkbdIZW!C1Tu(GFbaR{FwZ|EV@%g{ zWWqVs`^wH$hckaXz$BUaJNoCjIX_5yt2x?S1FmS}%*%0~Ws&JifSISDi}wUJS0zSd z{FR^d`TU0^hR==*tI0T_^UbL_>*Q(z$2f2AY_*ME(?)R}IBddx^DC;#f_o@=x0)Ny zl*!{sZx;uWM9&MOCXd4*y7)uZmtX3A+As=*;__s5O4BI$W60*)_{CsGHzxt5#ohGg zxWkFE`%?yuW_|GBfR1T)+HBfydS8fcT0QSMjr!GmS@E(|h^tfrSZkI`xgYJF?g_^q zIW){qI@4&v((ZYPyxYQq<+N&aQEnJEgLzP^*omkl1>(Mb9L*58u9(oHVCp zf2?=5w7)}+%%)qBicKSeQ?i_wE{~&4XGEvq(UYHeOaT07%W9up3Po8c9 z{Berc$Q2QU^ArlbyUh00O+n^8lj2{HUaz%N@uJqWMWV;@7cT-?{_sT+KEPi)2Z>r2 z<5w7gYdBf;<()?wG*~R{o1yq+T}7b99F z`6teGXA?t`>r@X;^#r^96-7gdB@*OAUDO=HJJY+iDKvLU=x!lrgU&{e*ijaH>=on` ztMUs#Jor1yF_O%16Au4GQ-FN%m?e`wuRG650J`d3?gb}u<{aWKp;Z=(0+a340lb!% z2$vD(OGDkFUv@Pc?J)O{E^pU!$&=joGXwvv#n&9==vw-`x-~A2m^T<8X?abmpXiN? zkhCYubX=Q3@M7edU~=K!l(bK-VfE*B5jsY{k5DwXjpePh@Kx@IJkmR6+=)W~fMVHW z9MjF5PJXHH$Ak2m{>*r9$?h&V7K>AZtxc%^v5|mI$Fl3E?^kP6f!z#$`Oom_m6o4v zj(M%cOQ080sIkuy@AZjg7#}s(@-Fjc(`xg)Mw`A*P2@sad|_}5kSVPC)bp3P{h9P| z_ZB+vL$vXBqrYj9T;Q5*UWxWk%`;%<`p!8%X5Q-6e=PLkUS?{UU8eO9GD6ADK6gy} zC;j1UD0IE8FyKSDYmdW9P6Qc2c!M*S4xXz9V}C1VGuXTA3I49)9*GB^{AcI~uMHq# zPqy#q)@$Daer3PNFj69%f+y6bw!P1f3;e-F_DVY$qn5yfc;@8!Nz3o>?aew;QcGW;ZR0&$;1YG z&|HU3 zp@=s#(m{CGc4jc74KUBrn44<_-55c?9y*DstP)d>pcp)q_oTHDYOT=HVUjnP5)Mft zwd(FE?=8)nJD*cn83k}U!#^>BR(C>|*Bh>5y zkz*j{bUpc-UsMvOy0la4hdCQgmxd&gHqM04YDG~I2#%M++D}ZqjZ2S~snnpsz4cKt z)T>ES8B3o|_)$f{a!L!Q2tlAJaJM-1ONND{0 zd%_Ceq~RTw7xzRUOpaG8Av=<*hhqW#wM~@(?_#xmnANI02&QzE9MViOy_efWwOUVz zp|u6UBn{fQk>t3Nf)4I|V!qyVtC8;X;@sR&Yy}bXyu?fbI=-K+ph3^yzQJsW3-K$> z*p1Rpj|P85vR%wDF^UioX`3xO`y*@LoUb;6L3Cmmc=r7q=fxJ=k|$<}>j2e}+gX<@ ze#sO6A=%VFCdxZO0&m6JZuS{NqNlIoWD&|*b}YeKhP05cbI(K9-vc|RLfv1MSYG3( z!#7{0jD7+`kh3=C6KDd)*nnj?mX?@cO_D^11$8ms(8r27VaiMA=md8p43d3>qO7A| z3wGl2wtKELo`wk$jqE9NNF-ZNxjsZQc&l7qYcR;&zz{X~EF&1RXb*nq$$@qV2;v)h ze+Q*c(+tWB5)Y=`-KNvUw?Dvl%yv>aeb5?}r*^Fb+XEEYs||m6oCkev(t!ft#Eq0k zXY*^U?^J|LPx4F_w7|C{{haFEzt-t~&j~24E&mV^5&7zfh>Vnzewvt)n#kcaaQ^gD zN=CLVsf=m}>1Oyy$J;r=i!56$Z4q;+C2Ot@P{q&0H}Uy%9B_BNRwy>WhtQW9NNIbv zfV$8ZtvA^==bB}U!@HC|Ez>|IQ}u!2lNFj{iXd~n)e5>6r6pLYqic}X59i7Ap*m0; zw0pgxHLk;s(`e{ocpKeKB$m&)dcxP2_JUveK!^{KCSbIn1F&*{O;YV?SLK`yKa~mrt`@V z?L2g*pQnJ$ex}6Ul1UAK11UXb=mBiP9qsgdSbEMDgH_pV28uSZ-iB@&knL^Ll64fwqyRiMhu{56RHde}9K}Q27eI zKCM!F<3oJ5(h0#~%fETPnhQB*M=0m5MLDP}e}tYRz3ki1{JX7>9mb#EL2o>Tk}|_= zt|bb_`}=5DOb>K6Yhb5Up6PpoPb3W$#;yuu>hva%ke%(MRm2bCRzS9wuNXvQzWPzN zoH_E0C^5@teAO9Z0Vt>0Q^*93Ako|6^T*@UhkwHe+a#(szpw-HJ7@>J zlLO=8CnF9HP&TYySMTOEw?t+NiFN7)viPbf$M~v=z0;1tGm5My*TZ3by&a2TAw92j zCf(GI4h(T`?d1$Pp$O4KWGc-W_ZR<1lkEt1}T z+cNu;W`^4}>;)8pznc|Y3D26J`Cpk`WedVSRG30n0Z+C3jqNnv@;NTs;k?mOD z2`3G9Ixe86B!|Omm~RIkV`S#BkjgdjGS7tcPu?%C|CR^IXEz8gZ?do>XMhkn7=mA{ zMjOSOn5pe;{rQ{LNFD2Qj;Q7QBibD2g+maBR9Ugc`jl{8I!e^i5pb%JzI*xjz>X{r zkMXB=xo!{P{Ec&G==6pC5)*=Is@6=03GmnS`PZ--oVYkg$-=H-%OcD$qGok&sJ6q8 z>5~Gr%dF)9RCx`vmB5aeIIaBuFE0hq`sYG%Hp4Nyu4r5(9XBr1$s|h+CdLhsnG%Z(I(g_dYze1k zwGn>fBJPnQFmvdHR&}c)A?y|c9>0VJU2~Y|>mo6kc4x#5X=tj2$1!xBME|{_%~KU_ zZd*_f&RuM1*F$xl@I_3fE?RWzil!f>;OOB)hQ=ei`89xQv`&_oLh1LV_= zFYTc(9+{8A$6B-iz9utXJ4aa44i|WZpi7q#Mz=)Pj;^q-S^VS8!GpUGU}R;Fn%dd8 z8yJnoc9wMARS0!r*ll`nY=YKxQ*q@^EHw41qrOR1JdJ&Z9Q_(-V`+>ddwihVpbLh2 z6fV+u6^E1O?m|;b2lcEPBP0AFQfLQi(Y`ZkCI#SXqy{>)t&0bNPte4s5#2E5Bl6BQ zBv!XUZ-*wxioK7W2M)o&eFlcK&@USEY$QBMM%<%7Bx+ltyJHi?UOkKZ8TrW8Z-jmw zE%7=z0w?|ML9=EPxH;L1PIp{bb`k=@Uc%0;4s9C!vxCo1euPtg_fe&` z4Ml`B7wtIH9^b*=4_=@dnL%q*HHL+8RfJtSO`C==44yF+W+gZAInQy)&z}xH=BQ~{ z1!fKFL!TBY-kwtz0+3~Bfxewu@S8`Gr2;eqt231I+psmPif!8<$_|VBFZjbP-c1DbaV~{~(@DfK_OBua3;DSJ13p z8x1tG5dI<^xmD`Ip-~=oY`BPaqdtR+Md9x!FYO6#Ub}}3I;9!eIKjRyKj~&6`0`~u zO3{Qpg~c=zE$->KbKxo?NqL&J?0`0nD9$o%BpzMy#hsU$uygE$`kD7}`F=dj3j;K) zt%oO16OgH16|J2dp&uWF+t2jj+O7`n9rz8uyl9W#Cv+%k{hL4Me%l7M4j$-i_vVHm z`Jq4jsBg8KcZ8#PEo3~o2fsU{Ox^8}6#NK!4UCX_FBr+>ow=%|D>|5IBk^f65+eig zIM)@qJrWx>9zngf{m{>?(LWW&1YX5sO*6PQuS=iZ!oZe)VBwwhXfA||erIed z(g$)X4dpfY+P3LfaN7>v>p!REy7EcRiwK;*5Q^3VdKKP7izEwc`nn>x-52OmeKe5fC;Kdys*Jyb{xEM24ME+h>% z&!0h#^#C~4d(W#&{tKM-y^K0-`@%+Yhz_wmO1O6kchd~v-m$rqYp&9QQM&Z6v!CGP z(FbIOYNr}0D1!KwW z`@s$9DDeAAH>l;1`n@X+epecD^8rk3tzlT=`l=lIuGA`XQ=)L<=y8NT&4RI6d-Uw@ z3}Y3Mqm|llp|Jlr0y$)OvKJSU>SE-WE-;kqDW`HFON_dQ1TyNdZBQAvk;=uQGL%*h zN~1EsBD7IJKtMo1KtMno0_Cu;5C%d(KtMo1KtQ0fA|NP@$~tmFy9ERU1Ox=i0Rcg2 zlmqBOl>!0+0s;b+6#+qMRMwFb+ASa;ARr)64hZ}oxUk&Blf{6~00000NkvXXu0mjf D@j1Uc literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/feature.jpg b/release/0.10.0/doc/_images/feature.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0e3310e4ace5613917e7779d3198ccbb3cdc5ada GIT binary patch literal 31204 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 OAQ@K>FBLWL{a*m;J>miY literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/image_classification.png b/release/0.10.0/doc/_images/image_classification.png new file mode 100644 index 0000000000000000000000000000000000000000..14f255805081c1b4fab27eaf336fd389fa93ca19 GIT binary patch literal 52635 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 Jsg}OC{so6%#ex6; literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/lenet.png b/release/0.10.0/doc/_images/lenet.png new file mode 100644 index 0000000000000000000000000000000000000000..1e6f2b32bad797f3fccb929c72a121fc935b0cbb GIT binary patch literal 49835 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

U`?d)7KCYT17aE+G#uZvj_wLPE%&KYw1i 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

0Vjkwr$sfP-7F)3rL0#=oB=& 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 KlC$B!ng0T^sCgj( literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/lstm.png b/release/0.10.0/doc/_images/lstm.png new file mode 100644 index 0000000000000000000000000000000000000000..aaf1fc690da2ffb8418cde5ed81848ddb5263030 GIT binary patch literal 50694 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

Lc* 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 z

cx?58m&(sSup`X2q%$A0#8_w)Ew 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

ll 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/neural-n-gram-model.png b/release/0.10.0/doc/_images/neural-n-gram-model.png new file mode 100644 index 0000000000000000000000000000000000000000..f70b765b3fd69816345a79fc59adfea46008dbfd GIT binary patch literal 68482 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/nvvp1.png b/release/0.10.0/doc/_images/nvvp1.png new file mode 100644 index 0000000000000000000000000000000000000000..1af23ac3c52929b2b0645d2f9fa4d4c6db1f6e77 GIT binary patch literal 426047 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

!b*}H#vq?_wzp`ZDy)Q>>UOWaY$|GV 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�Bd8$Gpa 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

*&`6 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

MHup0L%5(@%itZkb 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 J9~Qi^{|{Hm!2$pP literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/nvvp4.png b/release/0.10.0/doc/_images/nvvp4.png new file mode 100644 index 0000000000000000000000000000000000000000..51f2f3e183295de6cf8ddaf2b3b8a0862aa35f01 GIT binary patch literal 283198 zcmeFa2Ut^GvnaeF6zS4?Q9uNwDosih1Vls>DIz5zAiZ}CL_vyxA|Rl&D2NCMh%}{z zj#5N=C-fpM0faz8@^Ad!_bcx`|98&4|9S5HpZmCQ?>$+2*6f*CYu1`oC5@1#f#X+n z^mG6+G5~l6{sE*Jz*jra=^g+W7yuFg02~7-$anxs5CTyE4Km)p!#ZTA0m!d-asY^O z0x15#xduLu0!Zywn!i2CUy=WbaqPh>$e%E|=@BYv9ZRqbDbFv;3@db*My z2LLyBUvDE_O`%)nw}q&u0a}0@paaeTayGU;o)@oQzj{RT&*u^RkFY!Ri+7-3>WJ1q z;{Qt!vz@(f$_otzMe-g287wXK?VVU>PTKT zhrhvGNATUh!DoKq7#nGUI2XVyp|`Q|b^rjzBmRZ_Z5=>5j7L1my4yLqgK!22YuGy4 z*n#i_2%m9t^8jI{V<3F`?my9S_$S!L=I-BV+SoY!9sZjvU`p`Amz;b&U2TGX{rK;^ zxw-m*`uY`4f_HjH@5@HulMU3{I~NcABbXk9Yu)c&GX!B45dPu>O7sUj=ID3X1cZ<9 z*KB>XKwSbH0GQc!Hkb54m=AnC&M|7rw9kq_)f8luh86EK~0>#wp7;zP3RU3HJ* zK|Mo0`1s%aGi{%*xA9Rts6)uCv(1&GvU~KcT~FWZNBRMIqaX*a0$RW&KnU;yue*Q; z;0!o@TdP_FfBo%^4qyX#0}g;aAoWMgpDE0Ky>SQcH-TVa9dHM6eEyzJ^VeH@z#oi1 z{Cn)*(nc?x9;l|R!7G5yIWl{VESs>@V5 zRN{Ze0Jb34uHfYjIQ<84`rtczP&#k$?*69?|DZ>?NZCs{OF2k6O*smf0`tG9{2?jK zDa`v%4*pKr0GI};{Y@+OpvK&Rl|OMPPJvu2P-s%9gZzWMQ*co508$j^KuIoAKtb6Q zz}P>vcf_^d-+B9oF8|c~pLj=H3;mOff5bCNFe?1P#oa%p0(0_DP5hP0Ki)V2b|9Ai zUoj!kkTOU+q!IEJQVXd9gdix$CrB5h?g;*aXPsZ#arpb!jDBg<1(d<*PaN4o*%evB zANYStU<1BA`u{PrY~=jpr^scysOkTai1Edyxl|KO%oh{(?N4{5^Rkc_Voz z`5^f;`6~HO2mqmja6nE#q#()=Er=oHHsl_}8xjhMfuumPA;pktFrWJ&(~vdDJ_Qv8 zD}@k+6j(MdQQp8cDQM{w5q-de&r}Y~$;%VN{RMYg(EYRR-nQ6sn)oG1sooOG^zMw6pZKa){-KL|XJ4vTPcZ1G} z?g8Bkx({?;=w|5l=~?I{=(XrA>HX-R(&y1P(2vq@GcYimVz|I?o57diDMLO(Gs6@E zj**p7no*C@juF9_&REIV$GE{n!z9Xdk;$4Vm??#+jH!od?KsWxQ^&QA+Z+!)o__rE z@!{h?nOT|Tm<^fTnB$lWn7=YFvrw~~V$o)?V|m1q!_v$$#|mK;X4PV~WesP2!`jNa zz(&O;#-_*S%ofX5#P*F1!_LBfj@^_!kUgEfj(wT~!f}d2kHeKCp5r6O5XS*0Kj%eG zd(Ow4#hiVddtAI+7r5-XVz^4U2DuKng}Al3UAPmttGFk5D0n1zZtw)~Wbw4}tnsq( zs`A?M#_)dR9pfYCli)MryU&-y*TwgfUw~hi-;@6(e>4A@0EfT@0cU~d0`&qbf~u~`WXZ`%VOn8j;d{c* zg`0#iB7!0YB5;vHkugykQDsp_(NxiP(Y;e*r_4@8ovJ#uEXF0KCl)MLC^m7L;WYHL z*Xiuj1L9QT%Hl5Knd09i$R!jc93|2vdL+pu6(yY{GbMY^P@Yja<9;Ul%&-)_)I}+O zsY0n4X%6YD(qYn7(i<`&GPh+CWZGqjvI?@UvTtO^^aGE_UE$BjVQ1x7$`(3G$|Y^Dk*v^7AvkOi74Gs%1|0sW>dbd9H;z6 zg;GUR1))-_vVUIjyzlvs=QmZQR9#dHRF~Dn)a=#XsLiRLRJT!otv;%3NoR>LL8CEZIgm%eGUXq#xK zX;0~#)N#-$)WPT~=-$_DxJ-Fj|8m0RVLg65TfKZe%oU|8Ay-=T>Gf~wr|HjLmALAC zwc3E(;EF+#!NfJuYwp*o3;{zu!z9DW>tffvuGie4x^ewR`i(^+IU~4H`%TuHu$u)p zca1fT8R@*|V(60RLUJ{8 zEpa>McE|0rJBz!Edy9vFN1#Wqr=(}3=d{;(uVgQbx4!pVA2J^+pHIGQpqta>ciJz) zZ^mE4KiwY}U>Z;s$QG2Y)UL4&Ni;&iQJPHPe@PiJ^dE17@zfw>Y4kqp#*5cyF}*1;KaEk zgQUvmLeFEK?uY7K*R;{k6k*>+BJyDxp$6gm-Ph0<}o`ecU{cP}T zSZj1>oNIzLjW^$F9%#AI@~u_B^-G&hTXXxxcGMU3FSTFKfBoE{+)>r3*jd@7&{ff` z&|UFO@mpn&QqQOFD&MPn)q3mupnZ+~m-^cV^aeTyuMPGNnGB5#TMkc;*o`cYx{hMU z{KxR)4<;xlVkVDIrcCioWuwK>CDV%2bu*V{x@K?Aj?dZ7t9nW&B&;>lX&u-};LnO!mih6#WA~lb>ur1iAU}Kd?-v+z6nyTTmH!2h(R+ig364bC<_7@kY5+L&CXw)&B+}s<&}Sb7 zfCjI>_4$slsg47{EAAtxYZwIo5=adI^D%PMV-Fx?CjoM1G6*vnsRa-Od8Y&&6EOUV zPeu-*proQcMng*nB2*j)$jKlOata6~?ReC2bwu%X(LC8k?A!fi9V? zo&7xrM<-_=UqAnVz@XspM-h=x(T`&ilb$E1q`r8WmYwq^_if(0{DO~Vw2!xV~5)4$wKyQnR>KN^@UxD_I zK>sT+9tEbq2NFnx45UFpK|u}vJ5EPKcl>`kkS4)_ooLb+Ko21U3loGHfC7hv>{>LD zWB4I-SqQzi2qT_KC35uq<5w*SSa+2n9L7&QAr{@-H(%Z{OD6$MV;HeR3SJ_ilLWL3 zyX36$gx2M?7OWWU5A{3PP8a)U2rx3;u(;lSqhQ~uTWP-kq^|>ekR(?%@@cJP4ovUu z53?zQF4X|BRAF0BdKDAl*Ze=C2xrg~i0}F&K&Ts}Y9{PQ0)$b~sP%plaA`=L1jLq;3HWjrfn`H9 zbz^i7DNtMVXo7Z7070ytiv%Fwk^qz;_>o=`K(iSMU0OkHf?vTZbRHH(fUisOy?KKL z2uXEaB8Nv9bXk-HJiA8%W+jL(=SpZ-m3mjI-S#ql6xZ_?zI+~|6EMH9%oMy;$i(Hy zlRWRwkxIFgs%o4g?I|B5L_1PJ0us>8sNFphknK_sc{0S{y1}?$#pO z5L>39{D=t{3D8Ta3wuC&I{Vjkw!%uH+2TX0{@}^&qI=_YO7crCRDAi=@Ay|ieMa1z z7CfLN0rNp9+(IxvyH~zw_FXSSpC0IpF^-z}5V0@dK~&KtNFV_c@LdMXH8B6$CBH8h z?DlW8eyI@%A_25{4bUArFi*A-*p7cmXC0+2Fcvc6E#01lXv)Vh9g>rPEj2X3J054E zK}G^z!HBwGiF<1Hx>vUn>CYEix`f0Oz#$~y0*Vl?L<0D7i0pg zRhNS;jq1NBPw-zqRg!?15iKVY(0e}&F@+piry`1TVy2vIUw$2Z?mJJ9xy+^|oTHdS zZ)Xt#YIU6AQ<#@o3V-flkf8a$Rh2Q6K}|QP#ObD1=%V>Lx6YRLm3l8^D3ij9!uE?X zKSz^f@lKP)5Du1F$(ts3%N_nx#am8|g^c$8AIM4H8|!(KQ76}emi|(@PX9%-!TfCZ zo%U@0+gMb81J}j+*VqW;y$#guu1r_8SpV|5v2nURE4!Qo%*bIk4{1>Q*W*dRli`>2 zyDV33csr2*f5f~y=85XL`W@@P@b{OTFMwiR;P!}*(1droB%p28qDeyrg=Ht^zI6^Z z+qL?ZzTgg1GeDkWQK5b1slIw8sKs8C?yFM8Kx)?dEkoKq_s&gi#J}3djlUS#&Us1H zxM7Xlyj8r~zh|aID?8pzV@-wA_CK}g9FQWT_Q-b6fA;Oupy@X!_^WOIt8G62*K%9O z7^7Z}|L~i|Up3tSn1lZpX|YyjHv#t@UAEc8U^`o|j2>Ul)pOx0!|RU1d&(ztso-d7 zOE+}Q2HzZ?!@10$Jp^XXxPRFn`mZ(SU#oiTa5Tb&1jGw6?BrtOThXJd*T2J0K*YxV z==lA6Zl;YX&A`^MZ7;cnSiZ%a?R1F2qja#0PiC2zMgsFL*XTcyyjdBuH8ssA+$c}O z+^9UAPo0KxG8#tBRh8Uz<3BgCfcUpFmbTqlIskgKB2RT-e_vT$x zrH}4pm=9iGy$RM}@d^IQhX0Aluyh@Ynv;c*d2U6YEWBq*R=~D6@QdYvSs_6R7yp`IfuV}R@-`+e{1otJ&ylg*Y3AP|L^UM z{kG`e7X90z|I33Hzs=>hx%@Vl-{$hab;R_4zS0pSeLvL3>U^Fop`l<~1(ZQ#?RatVimWOctNS&kDvAp&Yx# znoOsJl+K%U=r20G?KSHVcdFAJqn+RINDp7P5+<18aQw*{tnSyZG40lU`tlQB(a9y* z(OncQxnqrby^X$YmYFA7I10<&NEwU7RsAfC2$*lDboYnA}k-=#bB4EOY@~S1Oo^I$L z4dYdi63bzGj5(nv>bz|*IQVy<^21(dFu%ttx4P=qfxrfBi2`R~aM4Z(Jayh~67gko zRtE12l2(|X64!vboo$cBe7=a4#Z!;UpHy!n0YA}V6Fsozw4doE`}_oL65x(JI903P z8X$O_g-I~4X`2MF3lV$pG6yI(60jO-_&KYBYs~T+@AA|*L4Lf;Z^2nXX&hu;=Inh< zEVP{jFc8!*%R_LkdI{_~65vDxXEpRI%eVZ$z>(Foiu2Ise!gu(!^dbr?m^h}RzV^e zbZoaBGQ2T#Eox3Meu@u=m;q;b;%Pt)+?+Kh_8#UCUwXLAuRq(jBGZ|O!Ufx=1;b5o zxNilZS}XH~SPx6wJ=H_kUGtagR-`ybQOiV!N2MHkKHZMhuspMlpPTtVG!(r+WRD1h zzwkXyb4clka^VnaOBEMDoFV}`20qrZpPk@tGsinCURcdLC~Mp*P8lZZA{fDOZZz?6 zu1>1x?Rsz?#O?7;V&@<}8K9{B1WTs9eBJuu z!mAeR>rI6A#UGNa_}j43{hE3Y8UGM$8aAGappFa2=FA+vttrF}e<>fZ>a?Ka`U*RF zH-|-1eCdt?Cg>W%y7;6d*|jZw92a{A2IeR0Ry02f3h! zx39u{iC^-&N%F{dOApsxF>YAaO14KlUn!6AQ@IiKN>vCc)xB11h(Xc5BjF;de zi+`X52*OTSgf8x4o-Y5w;Zo-ASNZF=U8BCm7p#ZO^?us4>}jH&e2=T7p9`wu-s!S4 zTS_U#OX6}2aou@=9C)L^@V2~wH1Ad0TbNJUbg7@0w+%4=hxIIR^%#352&z9D? zOi^~4dw#b>9JiW)R|uScYKVLTX58IAf&(rSyM3$A*W;0fIOb{kbh=0Mwdy;A_Vt_} zvcEpS5|@EQSs{keFCsE3_B)>vNq|+sQ1Oc7I;OpUTUDO!jHv4RJ@i!1_ih>UeuYed z{uUm$CWAcmMgFd{kcdG0>&yGHyssQ-{Jh>e8GgLK8?J~whgL&~+!LBm7AkF5E=Ep6BWf>BqvQ5u1F0K>_rf&< ze;n8zzU?>jkmss6-ShR#rA|5CXO#QtVj{k@)G=%0UgH+<5>ydNc)09JA6lQVP7J{J z)H8H{cwxbP{i=?pJ8$%XU%q)VTg|hA9FZ)59CbnzqZ?7nnF|{y_DxY^Mf0NPQBL#N zw)AtU36a|fALxsck7vl)PUwh*mn)Lvqt=B>5Ka0;a1opz^B^2H!yh{4g8y=^>PEo( zb~joz(HC6L^A~l2ck|C660(2o zGE~7yA2SEmw9&Qv(^lRc8~xU0gO+u#J;c+vpY3nUdN-W7I{}Gko4ZW{$^;t`k=2H+ z9?{jUk?{*tfvQ%C{a2FKSxYM)PTScvU)EZ%jQhfcpQnA3D!<-=p6ELaU0Qgre|gfw zw|)n`f(u$XfWXcYbPwOEsbZGq1S3M3r$*AFu+*u$u|2AHN7JL^8fabJ@Dp&f{JIfu z+JTW%c2%VQ;|X29E9NgUC{4IUkQXGe8{2K6e7Ki0hOxv`gXij;Lwwo-@=wL8zs*$p zo?D+3|6$gi(zr}qPi2n#{Xk-3eW%%CP4G|a$c)t3jU8)4)X$Kf{`e;XswkWT2Gt^< z+P9uvQ{6jlZX0vANl|oAcHA>q$@W%td&{Ar0WKYbZzvsY+MSXs8<2K*o`PmIZ%TZ3 z%_~wWJPlJ44Lxp)%f%o65voYfGmF=I;{IS-YT&GhPn^Ki-BN)Og@M3A;x*3cfWxo~ z)S*aBc`oPr!ZiySqK?Ooj)DXJUAH?4_$Ij6Q?#5Nli0(F)AfYT0R1W?APaRMSGb5A zXPpyk5scWgJ|5ptowpnOBi>sY>c^Mfa!(4i%3k`UJy&nGgfB3>0n8qT_Q$nSe!J>d z`aP1RTSIC#!m1dLsZji6$0EQMo;xtS9Yt5q7Km(Bg1HV9zZs|<^)GNAJ%4%z;0M;N z6>evB((uStC&s~M6SgO`UvA;Ac)ID|2iv|OsHt110vwvuh9Ss>m}!XF8M)QwpMO!i ziK=p#SSoT2l)fkyPq6vswJUST;j%4r3v2phhH2b_$YKyWw>G3$+P$0Yh;MDQDBZ8aFTl zCu?D|ZqUXojzNM&q2jo@z>rIR$d#su59;4!)mO2Ez>Yqdu-?G0zIAutT81o0E`^?5 z-`OuU`W@*RZd(kfo?-5}+~5z1OXZcOsP1vhAfdMB-VJ!F#m>GY2}s;WmWw_=P6K3R z{bVy!+)lkEYEH{1YfA03qr3v6CH5t*z&Oq!!cuwM)^^hnF@CFx`mz3U-=0lsC6!he zMz}hZuD6N%$%IeQ;Z9&zXRJU!XGHY-Yb-_8L1>P9Qs)^nIc;Y<%~`Y1i`?pu$vz36 z+IKxXRNsJQrvB(Vxn~yd?vaAZ)>uwk92e+W{WvIWNcW@bY*#>Rb#M9ylT^{iJ2y;;+>X0Q4h==Z zbzIVWO=;izBA~yc(ZF&c(1yEyS&E!h_rXcETMmf4V166|~ z0m;b8#gOpbXy{Tl@ovVJE)Tceop(8+j~gJXuou<}hgtOuf!nhoRgH*88hi!{zNelp zwNwxIOmyxlU*4BGxozj`w7{DT@(sTf9&jBSts%Y>5FwG)Z6PF&L>UgGy`*ML(QYuRsF*(N^U*sh8Oo$q)i zT)^(bJ`IZQyCQB^lv}E!#>ivu=O?F~rdMUue~_`s_i45U^%TKeAs7K=l!3eCjpM$^$kHIToC%stoU$(9|c-;EAzudc-iegrfggqHEYg(v?9zids^5k684=NNn z`~D*EZSswxA$NE1I=s1%1bm&uc@SH9HxDJB)@Kz58@bb*e$>JzlZ#u*(xFZ~JfT9FShCLlrril^F(b29^v>}- zxQ?S7AIEi)^a=OggS(GNqk?G-irgbt*_TEfZ zm9ML)58Ke~uuGze-!>pGmM)$7JSWj0pBUF5`%O0;u6LMPfsW=ed7+`yqxZ;tV7jn5#OQLJF^!MtR-FXUshm51UKzcnlV^USIH zk)VgAnvtl__z>9lMnn>6aRJ%RDX2=ZW(4O*V5QZK4SQVD8%uozOI0R57O5g=$3-FW z`pF1pTOcCQuvxEk4_9(wS#d^swy+8XKRI)9dHZGGa^^8{k~ zod?&bf=YO64xfa|cF!DY&A?%Teoh*^&aNwp=>cyoCY^Qq?q01V0b}0Kmr-B2M;|DU z#)Y%E{}`*WDA|UE3>#EC^>T7l)DK(LSoHox7uT7)%qkF5L-3bEJ9wVHEX?$7TST`o zdA$45VZEht?p@5)Rukj$9D2`JEP;?*XM$NfLCK@x8+4IrR_5@yOBt>Xe|jbBJO=sT zTuD^DNHs>f22;}kV{-P)8|z{g@oMSSXRQu;-KRi(Mul&~sAHn%A;PYQX9dbrtAJga zg|%Ar@Z#dND(lLVMf+csRRp>VJI-1JzViGKbbk^VwM|1k-`Hd9An1s^w6uLqzH-w2 z=Sa-Ao##eFy)Xq;R0Gy9${K>nYcU+H+Ku>LYiqlUKdt66yE@X}l_*uk@kpO;<8gAm z*>$fBfk(^zXVFoC`A)#0^?_&<`oB;5=Fwb@d_WEs>UQlN|ZJ>W)r6FnkPjy0qL3)cXLv_ zY8}}29&vW-^jX&gsd{8fB$dU6h>C4_8-&&eBWd8un7szUDC;vgw_LEoZxE2jan7wv z6Z=jSMl zt)_sK;oa)nPNuu^J?iQAAb$QOB4wv73nM!fy}2zGOX^*Mx|Ip&m45r-OKbLAV=&RB z;=162I?b5V?+wUfPQUtn{rBsDiPVd)-kh~AalmV?WHEdg9wK&NMU;3Dqejq=T;<{s*&$$ijPkEgV2`ItuYi^|ZkAws-$@(w5A>{62((PLMp=WtWQm3aRL40jzy zO9GaUqjAho62N&)K|&JWZG|@MG$sLBU(D@(9?lJ-59)f9FuHLBkJ)2>OgIC$Y(3AG z2^_ierMPyzu_~lNalK)6SYZW84ns6Eh}PYnBLTYV;P4qO-3;uI99%m~E(R{qUG1w? zpIH}c8oSCP5Jf$@R2Yb zgzgx?v2&6oe630?lsMN$I7k^B=_#{oUq>B!eBC=cR38N{=S)Diz;;)TR`Mne5_xc{ zRs;72D^yvf25?ie=A5cJ)U*x0?CId5*%C=kYor>Vj7yeDHm-9nHL8~S6$x+&w1*qa ziW7Tx!9lRj`!F$AWcBhNLv;N~vsLX>erC8k1#jYz>n@?xC0BL?aW_c-6R0~r^d1pL zl#c()?~2_rJy9`SXsO!f+E>S9GaMp8FnXhf2*m`7xS!k<;+x*rdMf#S9Wft(**vTR z38l@K$4AyPey`y2bCYjr^`r7vNzrMW32&C;XYi~1ry)A=jxF!XrTk-K;sS#(C~<(S zr_sPy=uE(E43!}Pt_!-fx%>vf-#%zm1l#{|aP-)46U zHAPOq+jr9uYimLINJ)G%zT$gm=S+K}!7*it04q-&CIVc~fCNNZ;Y1hr(IZkQ|Fy&7 zxnds@pe~8dj!_oAWph0`9AIp!XAS?PSPzR%4&J)<0S62Zu2!tE{|_<$#y^RMJCJ~zZw|rxsO0!+cfBai zd)vD2by_2R+1OeB2X@JD2LS@3wGYL=zcU zK6>6D_jV1567~J;&#vU^8OJ53f8Kgwxpi)(Ej{-8O1&z9HEPasj4jX7N)peW>l&m9 zJKKF4QU9r}C$u6Ds{z{6qwuEdl2N0(2?^_5#k|Dh4AjIB(1k~RL|{z<3@{omokG|L zBhnAE)z(xetK;~{4U25UW+HS@Rf}fT9-)y6+qb>r281?+Ytv^C1ZilbwHOX@n0J_P z_*yjlFz+i~r{|=Hl7KaCyT)Au)8^B2WfvU>qd6BJ2V;`1r74);RpDxvDw=H*xo`0z zbiUwCabU*>dKyzaR(6%Et`s(?O_Ns)5p{o`pme&8VX{wolS8m`hJ&()DtC{ z7jq<}XFfUbWw0=Pe{QtmVc6{Psc;psYPB=6zcjPgh~jmumowxiT*XD*pOd;WL|s+> z(5?SkX@uQOX3@;uM7^*JwojRap1sj~MPMCP6UWAy;Sy#_xb&S~2R^;wlfP`>z?aZ- zzNI%xKddo(Kia24{&KS%SNnHk6LHnIbsAXpv<)u=bFCC&E}ncfi>cr5Y>wgkv9C_M zrJNae^>l_$D77aVKhv;@TdL5X7NmAUGu5(Z zZFM>SHtZWZf&_Gj4^6>}P+tY5TJh&}oiMAjOwFoH%v|TbDBld5hX6P&GEAh~znsun_Rs0v_U|I2M)$3VEbs`80wUK8YobFrZ7&&2F39{=%++t`T3f;nt~^>WE4 zC9gKg?Qf@M;&hbGzK+e_XJf6o?T!bx#YB$#VPB$|?*5oN@zbo6fiEky+QYqSTlXEo z8E5Z>4R0{hAdfe9W0@j4^87H4`W7S<(ei}l$x3N-lTnJ9+F*)0 zm~$Tbw)?{A&cwIMZv0$%zAgS+;M|=O7&fo@;n6$|POKF@CI~v8kIw&CT>83I+fyEr z4Pl(b58sGShdd7Hcn4D+}!SmHL@g{Rk^^yoid8>m-q21f#cV(9?=zuNYHnc zQ4`O`Rj!x#NwSqjF5Xl_t)|hvqoIueKG;tV)AiM7XXhk%f7)?IOSffgzSJ+;+}?nP;4K1E8`H#^ zxHWiO47`G71&>?2xh-1so<(hY>UOQQMZUJZ)l=hVx6aZ>d@V7@UBnFS&1^P?NH%y` zrb}6xt9+`qyz&*{OP|=G6mppOxh?ns<$V_^fgs(NHztBUg*_tb%c#L&u=Tc&{Pf80Ln=cYGrO z=j~Iwwga$FK8=4^Qu)%Zk*Up2V{VQx3m|m3Z;*hYA#gX-i=!&yKfHYQIQPz8HXS9r zdp_q+cCS6u8z4x&D!wKyd|mxCISd>CAcmre`{0I-$2s3n;2y9l5>RgoI+RYQUr}zC zkbtFi60rG#1mM!tK#uqE2>c?Hcq%al_?`B*u6~z|-?s3(-uPWl{%#k3x1qm%hTlHY z|37^~CQ{#F1o0~_iUeqbLu9AFBc2G3LXU%kf^QKEJWSZ4>eCQbyx6SZAzKe2=OXbO z!j7N?j&;5y0nZ(wZI#Qfn3M*HTrRh}chXXF!BLp=i*7YYyf~-og&R$uz?BWg(3xvf zi0?l^{Klgr00zMnM?1Au!4m+qhKV<+f9=+1TVFb4g6&@wBzV_Z#{gU4m}V7nM;);s z3!V*tdJC5wDtB4_DW%j-1doWQMC}?WDv{?!dY@+<7x7Xi8kw^}+IW@9kNcmmzQV(e_FBlP4DTS3ep)mo=Tp z5tLP4j~V$_7TkI-a3TL$k2(LOLxn1B;O@WbG5()e7@A}wd;BkKKtG0_09TJ*B>^4h z1m`S#uTzQb8n!?W#F6_t;RMIupGG|St?*yw`n#C@Z#J&t?MB6{lNERmaQ5agYDRc+ zVIQ%q=P*C#zxjEu%4_(o`f65jO%rMhtN;OU`rsX;xY$VMr^`-p@#o8^!IHiQg4*oO zPE$O+YTC0sV7=>V5t6e8PSK8TSKGpMpx*bA z#~2<$P+RBF1S`PlhB*pTq{a%KfU-$=q6AK;=@KLjDZsN=RKc@Xz}b}6?^MaZY5dm5 z@AC26UVhgfzw5%^ZNu-j^0)8s+n4(77yjSuCsUL9j}G(HpX+H@mzmoPUx)J-;Bs07 zSYn2DReJ+wIu}0F-g~Mdyfvls^!nYCnpf86BUENlC)C97rxEVNv3jM$3>ghMg03M$ zphvTRT5Cm1s8H*6kLrc@A1~jLV-v7xxb=LeQ^5Pxcv_U%eR%dfxC5#q?F!%C*zkS@ z`+m+|b_`(`%h@g%A^0IOd4pyxZnHQCWY? zt;TcE%M#6q!YJXZ6C_)$ZzCGVH~w1wrfQ@z=Z?UEV*v&GbC=yV>Mc3nmRzX>5g zvB-G1;EYoizkbV@KuXy%mh1Vs_tHGZR?&H?$UDM|6t7L?vnnN%$Cg(7*teFRqFj0& zh0-5pnC<44rYyD8(=f`}EVm=f-|o0%^0v2MU46)7R84o^ z@V;Q~j#($VTxQ)Kv$`8#$T;G>%aa#F(4F1&>n%4RA6_5c%T~{wJT70{_{pb6ia&Uj?*d#G;4t}srlGAdqgJ8S_qbQdpUAR>XXqoJ`nNrPn7@qS&QAc zKY1V+hCy$vj`+aym4<(gZ)!B_*(L>~%v5IPQ7a3V?&YxnA{k_`N6?Sxb(mWs4?VB$@)e7 zdAQM#8m-K^?widAI)zS!PCOZ!=o|e@_%n@{dJC1u@VqWmYK7usKRQ%aO}$=AtXTIh z5@hyQLKn-$w+D^0Qd4E-JaA$Y%wPH5i98O^@fDgEY(v7pK5?mFO9=%*09=;h7sxxS z+oFC&UAXx`G-AF=iIJvlUDH?FY zoRMMgdghcRI()9w$$G9V##;Buh6JIuZgs$NpQP=HD)gb_o+B)f@7T<~K$)O!utz8s z-x7hq;mZ{RYeYdflr^NJHPusBAj$vxoiCNQ5{kuyyycjnrv=Zx@}T($svsLKIhnUg zJc$dKLonhXrk^=>r=(E59gdr|&k}ZDlQz5%uS*<((n9Ump-pMSEy|l4J3XA8=lq9nyWW^+%etz6+JQ>@ZZWqe8$)7H z!{R3=gu4f$#vEd}Jb=681X5epaHLpE)%B@8 zIT?cXx4V~g|55`7ukq*W*Sf-}`w``a>o+mYyRI1GlY+pS^|WvKvq7zuu{kTpV~cce zK2PSViuVpHtdnnj&?!;8WPj7N7pe-!2S0{eqM)hwkynge&Rpw?o_Wd01p$}Jf_4CVXkw%e&L*{UdbC+%Q@>Yj_|twfU>FA6C;!ftw+jn6|% znV{u+>+Xgy+?DsAH}~B0+oXDuNq}VPqphm(LV$xz>d*3i+tL*Dy?V zC=74C2WLF|q{e`aosB>@T6r{S2;;ow0^JPO>tD{goUoUgtX}fbgp`V2kcxzOhkdyv z>1KRL0;0f8bPU8*XNmaK*)4*bNBz>+z>vMR^t{BouVN2?lCV%AMB@cG(@aV9)Crso zX1hT^8kbvuyRbI&7Som{3uzZ?RlX4jXsBx6tUan`>$kHq_Oss%U-L+*CNgcPZ{?$Z zoDWTQ-W$v9GWGAB^DR5y7W--1{>20NYm{)gxt{UWM(`YlhqH!J2qvNc*lhZt!+AT0 zHfojL#@48Er>agn@n}m)+}XJP>5CAHNf-uMPTdY2h3&>1M$3fC1-6Zw4~O#ecFL5G zuCz*3xZEGCe##!H9b_ttt$pxms^j{GW<$P;w3EnmN!7$;3DJtTvN~Pl`Dc4@Pf@T1 z0%;tY5_as%JkRZYr8(HT5@vkYx)07fz1ZuAWL>Qnie0PbjM|YjMGX|6D0`x%*w?(E zEtz<$%-dLzE4m&+9I>Xsq31$eW~|VWKR3w&S2e@eeU`I?%Q#ZyZ@Zgp&x~ypKd6q& zV0~uHzF4ArDyJA+#7F`HELjpLtx*0CoSuY!BxeGRl)(hmD>t)!XM zR+*WxWa!c#KM^EiJ0cNg*oRV1C(>#Q+$i1}ySGp6yW6mJsNpIIHx8ATw(P zZoh49zU?Hynr=ups~Y<#wd1sF*9+@{36$;yGJlhENnYOT(lAwU!vMq9&Zp!teTzZ@ zs>tx8W69%shR_M?W4Ju5CNzvFh6#8a%8l#W`aU({L=^kLVTd3vJjB{zC&HEs{6kEiwD8`g4qLRU97|r7`e@1=J@U_ zE4KxVavc8(9dC}O-BxJlJRdVO&Hv6bRBMexkG1ObChoLhm|r|kAgmF6yq-U>b0#}* z%)YAEkBNEZ?oh`@5U<^hpjct{AR69KBiV~0;uJL+4vd9{>7&8*(LFD{?_WbMpe6?n z$+BZ`XWNlg!{N0mSV#+!ktj$|!y;N%QB+E)MU#OZ2Aux>XQcxg`p(7NHg24F?e*+} zNFimENVyE?4Nm!*by>3>e$b%6RqevlchkZx&m+QI=X?V9yw*NfWOALTOk|V3x-e>T zgO2)4E*+IosOSHJ*I{zal8`b?*u@_NEE~!%EUpkO4kzym=2G2C(SDpkedn^})`iuF zMrMn;twRjpa!D;5iw+l}NwO#b{XW1l2Apnqf~b;tpus}W17};6W>B=a_*svqQtPdg z8_6>+OjX@B5K4QOI9UmEt6P)|5ki%dUu%?An^=kNZqR0NUGSV0RDzLdM$Q;I?&hIu zNU1iw8?R0r1g9ZTjy<%iS;Cm+NymUJw&dwy-@1DW<@J4U;zL9G(qEb!d-CN@3;aE= zOQ8gz6$)G-@&amHEaw~jy=dfHMo;LKGfFQPgZEI}2eNLgGz7%^6dH17J zO3JJ~6Xir%_x~Z^Da_Cah=!CQ7TE}C9oAsPGKKL=^NfrJrnKWVb`7PN zYv*Hq7R96@+~tk2t;!d_f?AR++qd}X4|*TsdeT;*qJD>=Vjpk7R6=`E71Yfoqv=|G z3QXM1h{7LJBGnwXb)LLwkgkx@oRgq!WVWLa_oLTmG&d&iDuDM)53jdQ$HySpgmE&n z2!bxK0+OjD62xPN8(ba3#XNLS#munSr zE5QF{An`??xOA?l=1Y3Ra)t@<%so=?HT0Dn#b zFvdL*Z#xXREeHzO!S?1C#l(&&DFZ>GsPZ-(soEtEDMQ#kR&_;hnRG~jc}ctO8>+;g8ZYEAYabz!+_raeW zmuN@EyrRw8kUm;dhHxcV76zEvL0Y8uVZs#RB!CzpPax8i0ZcXOJ=nP~k#$4OD5b>T zxHFj5xvTiQ+XT{KOeW3b5vczUV-5WlkCBS_<@^T0=}F>yeEO~o9t#rlzuk6bH2SKs zu7cH-fz5c$s-{~tLf^tg6ZGaZ#L7#v5p@ux9VELB%Pw2=(wvAnVO}KuA$fY@wE+Ao zz@;}H5slw|+B5>&jRQi%EiI78Ax0+z094Z7YG!YRUtG?)8QVarTLW z?&7e#jjypkg4i(iN-ITJ@fOvCR*IoqXC_2<{9hd zVPHMGK0DdxC8ES#gwC}%@jE)4I;(Sx&&su+9p!zm5qI=^*BI5&L`RGmYQ6{{Rb$Z|lds(XS!SUIxD7CcL?qr&<#396VC9#PVc=o6t2j$Wk zsfIC-GFwOT-j&6oteFgEJw<(cs?r98$Hz@RLu}Ws@AWbIjPe9WT(45X)cz61Z(tLoGeJN>j#Z7$+z0^4v!8M+2*oAE-t555t3! zU^J4LMv|dxL6KZI34FROmxgRhN#=bQC?-+b@f5$zGn5o>AM{*33(<@nteD%;rAbH&2WmZ zvd#>mvz&MvCXoKaSkgU0eD7ue*V`Bd(}onPaa6=ER6omu!UHZq=>pWZYO5Z;dSPhocC&-DGIV0d~B2BDh+Z zHUTuk)q}kR?8Su~tS=;nQtl4ju2ur^ru5_2qrA`4C8QOIFBbfmRnEzYnF8Yn$n9s~ zvU7{{d5o;m>8Z8b8M^sYP>X^Z+*+8S{6)FF{o72On3y%&`YE2%TynAmTnN?w*{grN zI_uWG(be(l*$u^6?mMrt*PcZPUtDtcyP>1sE&5(>B&Py_u2Q&C+A;=hEM8@Cr+7iX zSaZvL#fJQD<=K9+6)cS3i}iD~FWE|~;j&6O@h!J8O43&+9CVc3_x_Fb3MhP0SFO!% z`o9V4=RkWQv?>Q5-Epqjp*saYOanx6e zJoy!Y?gLB|ANgLv~EF|l9G}OEO z3g>pQ-OcQ~5l>T>>9}9qvk43Rd4F)|ZN@MN*Ieq$D7DU#D9EjZq&bgmTc8P-g&V_@ zZRJ%j*ARWT289zCXggtvwhGdPvgdn^G%tLBWj$NTRacT_Ao*> znb(8YihYnPK%}@=ZDL?vM;4m+CQBqJt39@3VcIq zJ-qKdJbLw1HJ;%fg#PiM6COI6Avt|LbTS ztFJOi;Z_UhSXty~7DKl;7=i{3Mw}*Y597=_*WmZ1u=*e zzHBVG*?a@WC(P=4T_v#nh6sRrsot{6ivN}fqfGg>UAAoxu z2oCu3F}R-#U^)h8-TXEi^mE^$Av~MAYv)a(l}#Q>NM?oALl z!*QgyA;NPOy8iBh<^z7ri+%p6Rr`ZJ?~YiUS7~yK2es<}UL~<=A3> zq;XYqd`+XNO;;)JJFu$O&Q$Ji=F^y0Ub>2I(vSK1E}5HsyuWf)*Tm)MfBk3dR0s~Z zgxsaqqm5uJloJ}*ak~Fm8agB>0dM-A_a)@w&Ap39+yj=nN-1aR<_<$opMY~@Q{Y>GwBSoke3uh*0yYDTQ4rD1pb7X5e9YFQ)(Biq zEG3}GrmIpBO_eH_Q&HQsbdTz-X=lVU7l<`&Ro&lkj>E_hID!Dy5s(-TmUg-1LRN4- z{S#Zh zh&04TEqx))bu4?_yD#*2T>xo3RBb`Ql-}RiVSl1c_5arw;@{Xg8TAJl2|h@L#QdWo z-rU5T%8y_Si~AM#!~Rh*zeUEpLv@vcby@vKZOUT}8^<&@qtiy%N|H{r|44<#9!g$P zUCEHxG`|*j8`i~^xJFsZu3Dv?Ovit6Jh^qacyAIew}c@{qT`oI(bDEB6e)Z}mSDtf z_n1z;s0gK6ba>XU5k10PZmO&V%>I3XiZy;P4!~hWkV{p7cCeo_zl5awV8S@svC9s%~v& zF=t^EM(x7qR>3XVs=sQ`3F?9BwmdK5#AmN}BbyoAxHoe1E_6*W) z^|K>gIs5Gp?5bWx_t|fOyB2Oa$kZ;+ur6(AH2f%^es2ZYBc6W(#su}W_L!9#<)y_O zpY-mZ4w12>?}TL>8Oa&UK$p#+a2v9T%`1MGTFxj$#RE}~1v5qAN>{K;C<=!sJ^~I`Ko4?qjJ_PwL z(7eCLJ-EpN9IB*63?}V<+W?#(^Re_wnZ{Rcb{5{rz%AfrL`<@+=I#r7eY&CZ`10W*YBm0@d&0!E4harjW?}RNsul{cw)DZZk8fvv| zU02KHS3a-#ck`0(;fSYX*9y%_G5x25A1q4$gUG1J0;DJSy=^Su$;CA5yugh~aNa9@ zdAr|B%=orWwv&T&S?kBU zQ(ftH!KtNf05Wos_2}H{kV3zVZ{F(6P`?5;MWy6**kz@c}i88sAbftUQ9b7`!z7B9m*_DyfE3>WO&n#237@)8M!$#lW zF2H9ME}%LD;+=^%oq&N@s^;x%XFG52wx-SCTyD@BOMO!JpN(VO?Rcb6Y6^L6x<*bd zMH>nRpYlz;#TsPB~X(OHJT2vDO*pRAO!*QJv{I{2-nuvoG4>k9bGL zUYCddEme)lCGc)E-h0`&n`KsO85p85ZRLz?foWaPenbHWoztcgK_}R+T=A{_2fV5Q4K?{)O35~NZD45lZ!;kaU&#W(D@B1StvDj~an(UxUb z3cmBz$_Ef-ZdASYk{?{zdpV#lvgjANxrjI1pDH#WJSW7X+j(`HEHgYWPpYI$MZVM* zbVz=UmKbFH+{@g1M-F;e=Y8IwGHGqOIj%WAgI}%tHv~2WIzpP130@L&je{%v6VGvKwCexE&ci10fDZ`iO?_$-p;DkE~hiG`(Lt%WrMBjS(R_-S? zN(q!<6YEC$uI2uF?+vAQCdXDAoBU~ zpUQ_J(X^J6DcRsx%_3xJykHj#^_Jk}=9`;{8Orr>bK$zG!-6pXQ0+AE!aYK7gDpF` zOd(D{UWyK<+XDU|$OWf`;`?ym2$||ZW=m-|C``_SxbP^zdFXM8X!JP9b^{wF%ywUi z>v&c39FWi)SZZ%CE?{h{hkndXb)~-=J*idtN0ql-bLxg(SI)=BcCwsVlKGlRhiCem zc2WdnWSRTzx3-Lv?H<#1Hd@lJ2Cf_2{oEB-o_yWDauwQS4GKR4RttItgC_uBqhyKL zP~+GjPOJ2UufLpO0|qbu{6kByY3Z7@P|q zh8=7lWcNpR1z#DSG@8)x_Tk^FRO?qny4FU?=k6p;-)eb{Q!>#P4h<+S7=xrsrw^Eh zk#kWox{cA+D{lJQro zId#ZI8i;@k5^pFwmH241nqQtJ!u+7KC~Cqy`yZ7_#w%9UBzSaQt^7TGLAmIU_2iOA z$&w!XX|AReXH4?EH4J&edsjwgdU3rHv*8h}I$9zN0Jgk;RF?`HLtY08Uf8N^dG6Gg z9@yO!L{w+#Dk3997b%RoX9|XNdn>i08V2kojS5{gUcYp1C4Wo4r*Xj>;%7?+%$0%& zym}Kaj-l(O7I5%F)w&X+DU`Q53jOO}c)c6JxN(%7TacuiPd0WHt@ z;1xx4T4}SH`}|8VElIXTK$>KUHD+kdCmDBNvmGpU88YH07jgOOdNb=Eu*@yVuv_KW zEn=@*%}O)hN_Hvx@&)(cX9*J*bpBn&;ouYt;8BEm4VgY@Z_AcM$1HYctp2I5srXp& zJIQ8__UU_hw#c4vR^~P{|Cf1TDZ@rNKCXlLdzg;VSRl0hYNCH^4Djej$j=Aw@=Q~L7*gF?CYzHdyb*X zLGACflR`DR7&+k9xa015CnDhL6bd0fB*;c9%BVjaKQd;sbm4;LU3NiN%x-bIyO-9% zQaj#Xs|%6TQx#$vfy5wxfp@+Tke$Z@nxv2=Zuh^lbG(_EZVi1bRd*Er_e|BQg!O&h6BE0O zb?oaK98DjXtBCatoaxDHB*$;{9(vot5bA~XGsk|gzCR~g#1fL<5+rJolft3>pS+6> zYuwe(Hi3g(X}E`eGH*TiT|eo2`kOa;@t;@}ggGxKFowjQfdP-Czu$r6}o#f!M1>xG$yG7DeHX5_$aASb(Uz{l{k%Biri(&wRA>sYe+zG z^ooDZlg$HO)S>6m9x*t&gjeP>4WB?0EpyDYPUNfSX&~z00R#U6&^CJI&{cW@YX5FJoa zCp!m2uRpclRYb5o&w~+FKI0Y`h8ufco4;r_YxEZikJn>>)N$3Azf1jk>YIDf&m8@v z%1lc#GC^;SNYFT6Z8{5>X|q zwAZ`iwPx5i6Dp2mQ&V5xrbc4(wo@}w!A}^MGSR?_qcglQ1<7)C>mrv{9xzc2QW?ZRb%Wq zmnA7oW+fIU^G?o_HpZIv1Uk9*C2yl{V0|i#7A-r4;0&gROOV!=h5@U794b=g@9w3$ zY|f=~jiNjbra$mKOu|Wb%pH5>v+__6?jQW4x*FVxsN{+X=5!Xkq_j`d8h|xs;xS66 znX?Vb`7?MU4I+s*Abu3~P8V?JrMe2RI7Xh(X_tXjw<8xRNYGug!|ADBu2ub}04PEo z9q7|Uv2$AI`$&E?f>_EEq$bM|ES9e%c4~SXhuNi;mQ=+8-5$T#X#Ol8^0m|L(Ve-A zkzTYHFRKm~QF=kDc$RkASux@l05kSK8r32oqm(wPc^ObE31bVJZ;}n!P12!xoqRDX zGXcD$QHuy$ASb%jElMxWa(pLdw9Bvu}5hjPYg^=U(~@vS?=jI z80*T3y_egn@eDv;-pI9WAMg^D{%jD5RKg? z;tIx@UlxlaIhi)wy0srK@Kn^-kCth)Ss8rU6G^bJWWT`Q#dU=nHvbV+bsi6*_Xlj6 zuG4gat02*o>sD}ne4n!k$*nz`H@1)K=J0F%mD*Z8j~_dmDRo+G9WQnl#fHJ`h!>D) zsb#S^ca6a1eX9FDWp-JU3N!QbQ$gPklMnLqhHw2wMECBy?|4Z3_@ToJ=^Z^dUKJ_K zojG+W`!L{|3oXrX8=TkQK0V!h4QE)~n0~m#ZyXB}4juPU3 znYBWE`fI_5e+B?C9%y%NGMaq*956CQhGom334`w`g0r*RzK;cFaC=*O01vartkse3 z{V4h-vVIB1ANAApe06{C45OHA{U$p@@yOh2_IXjiIC$;2nK-+6XzUk+DxC5;p(!9s z5pKaPNaX}EBFFi+x4UY4>*m?(ogl7B>CVo$cNL1+p2;rMY4p>_S2j6y=nuKYpPdJz z5`!g!0W4AB)P>-h^FPMXy|-_egn78TL(BH1K|}4NRRjGTUGMqcea)#QhwPEH`kl$u z(VwF*Ek{|O&SMB_?(gs^G8H2TQYN(%lYr;T8$!aE4@)cZCNlbO%^FXN4u8AmlK#Yc zDX8M2w3g0@@l~P92>Z#)%4cG`41n@vLG>JIz6?m&g0Pb$2=0c9Fk3fPUBn&DPXyW!B9aVlaJ-*2N5h zBu0VX3$c`gsC56It{6Ayl8Ib*+&OD;627U>7`tsfzs2 zNJj{5$0A}-K0i>weL>%?w#>HPd9vxdncm1mJbhMj*zI2q3%>Suyw-g&nk@w? zW!+ekRAp_pewpD-%~Ejvc_K&#ej$>`j?XR^EiSMkIkc-?m?nktWN7}f)n+|=>vuKV zp#O#+qlJ7lwMlDNa4BHWr+`&yF}{rc5X|cDI@_M{Dsk=6ul)e0kC*8(Tr5{p-!F0b z3VGa-T3-ZiWb563R1UHn{=EqPZNV$0357nYbzg+)8*8ePO}zB0BHo5w*0Fp*>+VOB zk}kGaZ}2+#2(4mNbf_si>^74wt5P*_3=7_rIR*Q?MW+7@-^T@4wjIN zH&zxQWq+@LY}J?oFOAwiAIQH5Yyh?5tu@%-twzAeTNCf58lhHb-@(`aiz2v%=^C7#UFzQD$gy%31}P1?;ycPDK)}NcuPyW>O_~|2=T>8mw*b zEs?9o`|UB~WclZU!@T6zDl`rp_mv3(#%WxlxeT}UB@A-Yv-UFV(lCY;$H^*yODf&? zM`cYBytUOng1G~As;xdk-N1KBfop zk-3IpWOe+YuI)9WvHd+I^(b?f0v11?MCHc=2ORTN@ShLj;NPB_>KmB_y`1dtl|6{% z(DfHbtr@T6ikwsh%ekn5P>8du!86xk;kcX5!9t{DX$*D-(p*fk^g&j zK>FuLg}n6{{Z4Q%_9=CZ8a4Dls~p!}>wUN{I&`M{JJZDX2}H3USl(GYk0~TLkwuO1 zZNKflbasD4bGg_z`kpcVk*Rsty}F~RynHjKg#Fv*(I5ewzXU(VA z=(xP|fDA+qh=$~eUu*$MoreOla|Auvk`xVYOXRLWdHy7+nxo9wvr^Vfr9T>YEl@wxrwZ})eK&Iv6g55}a zSdy)2X}{Gof#{wFzmbW9V7ET4^rWAUm;$YuED67OUJ8dSpF=tj%oyiQjceH1$+#Kk zZEUeR*14GN7HUQ$)%IA`sfUKQe8}P_T<1Im<1`oxzIp_Sp=jbis71!Y!NP1auB>x5 zGriX*?n{f_he^Asr1dICKl`P+p@+(G%Vs+Eh+U9CrOp}?PW;p)2Q%{WYT%d;PZ7pj z-78MJXe@?@q>C-w8O1I}*-659{UZi(?h)vB?K8SB-RCo~sm+6|;+aoBP+j|2r;%do z)FB(U$lojyJPi^*{~F9hN^D17(G5F_wJt7oGW}(!^%SEb*C}V+>Pd5t=iUkgV$g+ z1cSoYHB+C3Qw&Z_ZGBUM097EI|BP*(6naRUBW*)*h^RCShf<&ni$QhWnI79abXJ-=<9jbc_3+ z%c)JuJpNI=U3%|DFX#c602qmjaOMe=h88}vjkB2tGbUYnbQW115ZVWOLE|SkbYWOUlB}O-kl6>5}%NA^6`_c?ze?ZG_tH4}Ds$*V-^r7Y5 z9|#MlUrEUfTYV&TVgslR``==eNPivDRa8_CC4z=lt0_Uvwp?o#A=TR~9EesRPq_$Q z+tkkJeonBf4xqNLjBi=o6UGyV!2FsBuZHM3zWx*|i zY!oTI;-!WwwDz^l4Lmi~V@{*c;6CYta>?3H!XcTw58td{^&z8!v5RZ~_Y@EA#xQH# zB51#z_wLLX$mb=!oG*ze^rl@{nfBrANGcuUFC0{V>Y)BBFJa$~M2AOof*E!wbpDC$ zoHNK!#WRCIUML8g_fhLg$xCr~-IqUo!mf8JqBUA4ef5>r1OZLhOO|QxC9!A(R)OTO zWE}*yeI~`R+u7Mq9=c>&x}r2!aUzoX#WHv1PhOF*r|o!g(U>18U{z$He{p4h(pIJ* zLXxlC5Z0T!T7dNPA#K4|&y=iYFl2UP;*Tc(CuKLn+Mnd*-}lj%9;=VoqG30^x0K4W zA(b_z7;k2BUJiCGRcR}SPAJJnDl@=V3vBoDs+^ZqX$|Dm@2v<>^#@1$!vK*-JCYuL zpJ35x%)Egc>;x%WKO5h_I0~K#PY&=1-du4`c}X~{vYodUEpb6G!fA5IdJ~k}E*Tan zxJA|(>#46cZ+ zLL{_-$<2FA3;FqZjG}Qou(q|6S-40Bo#!jc(vYkl#GGmxKWe}aWO>aP@Z=}Mss}ZC zt>2+P3usdnGuJ8&kWEQ`Sa2i;|G59cVC%wd!E22S`Tn?BlQADA1BN#a*)8)LW*tce zHzbSiGBom+bjSG!7G?w3Ec9J)H)hOm`&6Ai*Q_P$$rL2q z9Oy___gYDw7M>g}hpXY)LBKr>cjSsJ;cA1tQU*`oTmY8`rACZ$rNn2_Ys7i~Eh`#> z*5&Wp-JV7HJ~D@HyP=-Ve;$pAF_{lsurB0JORs#lyOIc$dl)PRL9>srPh^KQmlteV z>Bdw|+2c>OguR%GbAC^BO|!3jeiZozQB1GDp&cZ3b_-zVO5ituRYik`|ENa9i+@+K zkVMyaEU-m?dE-^Er467W7f(mo8Clfc1Fg6D!Uyo}$OD_A8;*%@qCnf1zn+Is8D$Ydf_0zeB$@5XqDf8cB`LWuH@9z7t5&al~hvi={%oX44g!? z8|onI>!m2lXEjqB&N(r^owD382OLNWP-4HuOyW`GCPWLE==ysSu_6T~)BU5m&w;{1 zPTm3c6|pl$J!v7qby|IDVe!AJ%X=&(U#W8hSsT(Snvt2hB2_|204}Z zK{G5BPxwa_t7t z3+!B2Y$i>*t4(q`>;|LErr^H5e`_)~>&8Qgz&`6NwjPuJ7j%iR|DojC65vlCTV|9f zL-??0ld7=8q$&rG3i#c!JelDa0>9-5^lD*xVQt=kPPy-eqq2$+w@Spv~~iOh5Ukj`u>%6L`Xj3{`9ReOzoNVfg|ARbP*a-ODsDL z*3hqcwd_%AW*p@P$-yiIMdMJB1dju-P)5SOt zkm1sBZFbOuxkz4xhD*xg0WC-Wefh*l5G&#W3Dn)rW^-Oz3U7NgTPdpRw3#yMt2POP z44?Q_pEiMEglWjc%x=N@%JY4v-NKz<-iCJ&Ed^`8L>-L(RIyBB-c^tL^d9#)Naa9D zu_sK%H^RP=pQU$Y-x%{buBsb(DD%U%|E&Xax_W3p*{pZSR|i#|4Y@Oe|D?9pOn_5J z0uV6(?wqqL-(|l*NQRa4$XTIjo#r~C(J~o?3abr3c`>z7>3S$xk3ej+UxO z2uYys0X~}x*Tq|O8&6I77cMPe+;IK8?ah)vJ6wJH?dFGa>r3biCAOvGWdHYk2Yq&0 zXZI*WfIOHb8oZP)z(?}ILj4|Rc0dcAeSPbN-AjL1ZYi5~xUVE%K1sT)tNi)}ry*G( zAWWmDN5==8+G#y*i`o9YP4x6CyhstA4Jw&IZy#?2C;Ar>NhC8YGH#I>#3qUi`Y{VP ztsdQ1gnH3%5#i;orWz(GO%o=5KQ6xcEiF&0V0qpQ(1*zC4}ukj3#mU4Fk^3+(|O)y zu)TF`=CitZ=2wUEe$oiOvG#Fsmv~rT!?>u2@{3rR2M2}^ zI%f;}qOQ4s568UwJ=E4Bi-9@GWDIyI&zG1|fN~+2E)d5Zz0aCN#n^5_uT-UGEk$b9 zTxFK3OqTnJ70VMHYvTKsOEQ2MV-if$E7xKso)~GCefpYRL$T$0UB7!qz@lbvwKhwi z|NIMxIkfSVd{8xZ$}X_!ae$!x!vy+#*on)U$3Y3id;iSa9N{iF!(w{=<-a9TR=7T% z>~g!YpBb5d65FiU&;Tu#Dq4#AsF-Pd`KiRxWXmG{QM@Ka5^hQ&oIQ8t+=<7PzBZ7e zxqbOpr>6qMnBmqfM%0@|K6rCmb3Aab%lzr=2$MSjWrN=y9LxK^JRN+Vt$OUPT(i2I zg{Qx$ll+DEF7?x|uP&&14u86XZ%%gASX4n#9vyG^EX_Gu1-;BfXQd(GiGz@kMZ7U2 zez7{So&EefMTY!hToH4PRKh#Y^Xd@B*xLAcH7lVq&yy9G{hG`^e6v1J26OVNwsSj1gfECZeSh5r_!by)+Bz(7*E9#ch57I z&Qr-!xuoN+4A_Uis0*7(F6k30htdkaYxFDbLUUW(LWEsQqf$T1N$PkQA|fF*et=3H z3Ls)Z!Nwa);K)js4D(oQllh|ISoooV(%=3$g>ILtk-y_~g`@I+v(>bRud5fMu9;0g z%5#zR(QbHKF};{eCfdf`8GiN*?7B0TjIp&V9z9t6(?>`rb24E?zu+_-j7UC9wt?N( zMML`6%3V2m9TPnuN?MofS;ZI+P689}hh7O{0!S@d7Sc^1WHbkN!Po|nFk|#zV}xjCEzrE_&|GiN?3Z0Rmni954EEVEmnft_NRg6{|Ji2_RQ<>;?nc} z)xXteH~WgF^j)K`-{(E_(&@R@69)imi}j0ST6}}0&E#EjQa@(^<;D~9%+OD;KykpUE=FI8bbcO_zdsY`CIS=AGz^+Na@tP&4qR~# zNy5duz-ER-*O7i*Wa?RMlN3xaUG-tW_vq_}m5TSrRQ9j^xV0*jgy1WJ{qd zN6CV?E5>aW*EHm|``GUDw?u^}8w3W#G{$_0i+JUk{gjX9aDUf0-z5!!*MohKa&u$9 zuM?s=^ZupF(wBVCje&vA#GvkpV#-_^r#YZUG7y{w@+dk%6N!(n*fqH`vdMLMDyG2px>26XtdalScK|fX!Ym2qBC4Fo>@--eo!K8GHt@CQ zknQWniKW`-Wx0h>3-qN-IvVTdj!6+cH1A{d`KYs{)&cbhAR3vP*A^S)9a(rFV7a-{g&uHR=@@&DQlbW$AkmEE*ioxnMN;d!+Qb3E{F^DalaRk|3k3j)YMkV>xD zMmhkyvTs-=puCq)Rzin&8nZrDnYOaZpOi&j9LR$XYC%#F_$TuZWU0s&=P5peJOOFS z3j#Hj0Bxb;8~vv2P4;ql&+B`6AM3!MOHd>Uv2O4OBsapDed@?Em8a!4?8+m#JRqGj7z zID!YPx_6nDnKUihtXRVH4R|YmwiJ8&c&@bcP7pc<*BG)LpKhik-!n0U0||i^NJ7aH z_%liu5BMngQ4#Qt1OXjRkqd6M<0m+^Ww}pwswpRyZ3@m%1-)TJ4rrgPzPwxO?MeX?5mHtaV?jytJv_c38MWXK<~v)mkDh=$bJ>EE08V zOtHy)L8{pLv-Ml=`)YIv5ADY-^@L8ZQ(XS?OBoU{J1JOxDO}`kQm!TGx`B+c628~@ zj_sn$;Y?R1^s#a>(}eP$2UX!z_K^8w0*me)gCpiJ4K+o?R@3#Fj4XTHs+Sz#% z71O-M=C(t>W!6RYTI0$%>bj(cQiVT_F5F%WTl5K1tenLd$vV&FLNj25%`x&wIiWiq zfjyXPW&{b18Apa^V++nJVC9!6t@;YYAPQvhq z{RnOH9Q=E9ygNtIAb$6yzZn3jTCFk8s1JfXjhag=;Rt%THgwt0RYre5U+rOR;05U< z?whgwQ597q>V)f@FX;YoNj1cvFcIImU61Vi%wPxVM+u_2fnJ4xMe+!F08KnUM}vd` zMNVWpBtnp}+R&jrThvy{aBRQY<5yGDYEx&n#&_XnhpL|>r{08aF{Nz`KgJmr@{g+O zc<0tn(iyHWf($9}chi|T+Llt|Uh7+-Mm3mgdGY z;>nK1`o@^#eO`U$D4jraTjySJXBFkwE@DBK;DTy5w)MN~5siA0hHOBDx}6>jkqU|R zRd`!;1m>k`v!GTWOGIAHp|qKq|4P$=NZsgM(DxiBo{xJXHB@yQRJi6j;AstY0V-7L z;O;HF5=izrDSNrY@A%H_CM?HhM*Ec~f_c2r`jg*`Fg%69TvBh~!Sd4Jj5S4naEIp~ z)r$tiId8$_7!q%`c%qJ+4x_YvL~IU>)XVMzqe)cd-5X>z6ea84sT&SWX2-NGGBo<& zU>CPAjBtk^vf+D9=uDI9s;KGTH7E1(dLu0JOPq6_-C`V@$cn_>W&Ap^0>O#A>}-`D z32o$u!Mp=Ji%u@cqzk}wVsyKPuU%{43s%Da_m_#inKlHr;4TQgQlG8l;qz=MU}?qA z!obPNg>QxC)v@%whckY*n0v_jljtPf2?RATnRAkzE+jrC_@?4{JFEmdiWe_zSY#~J zyq)a}{Guc^R^#VX`&>Ya&+GFa&tj)Hu3XYjQ~Goeb*Ywaj=6ig#c0QEl%bL)OTP6sH(vN4l{(ibYg^DZu zI$XZ-%;?@O2C#J@i3@&6A*w_!TeK32OS|JI)*p}F&IuJk>W#fLt6h+)lstJO_vw&^ zjWL;C=_Im{GAzhVxg9)!VS_v1z=?LuB+uM=ErhcMoqe7QVZrsLfse7MI2==b5$O?U z*le0B{pY*tF>G2(jKaW6_~p|vvrb8#8Mnwgk9WgFNZP%tF36B79DS;NJ$7cKW+Wvs zE&6!UXJhai_yuP6<~A{$q*VqNB4J!mZVN(H!#>6HX4c87FRSV+4=*B|A^^(wv$ooM z<;zepO-VtL7+`}dJFT*mxHC);!>xyj5(Hwg{IVADK0F%wBBlK+={M;=$XScTc@{0a zV*D2087&;n=L&?kVz7umjoEpWD9OnI$IH`bnP=r65m+j06nZKy;KJ{C=UQXO!=l6Y z7BX?`Hv#voyLoPEiR5eQoyYaB*bLnA;g8B|n_j6t{{~h0Z4O|LerZ=V@*fG@E9~8a zVvwHO!T}n4lH)OK7I!!M>nQo=;xepm>f9aZca|zJOv23-V@iV&*&-v2H-6YuSE=<$ z%S(vsEU$*L##~^^d9;)J&Eb7;8eo?JL@X;w_6&@EFI#O5fT^n+5LW4kT!$i;Sl+fY z$6Nt7;e=$tw0pA;_LjK^IZn3!?;0nth(D$cP4G7$^5NGL-c0yctE6VnV5#-r$W~9S zgxl)13#T1Ov~HCSxCJ~pUoH$P$PM1?G6GyhHb;w);Jv2eZO+|s#Yt>w(>uYR*#H?4 zT1yrpICUBdVka<5{oZXg!1^7%w37P1a4u5;6HL1N7Td?)dL2v1*i^gU!=H$o@K-goSo3|n0lyGb;a1I&h~o#0187W# zGR&yPpanJZ)V1HfFuHf?cz#`0%6g9GOe*COQC#%yM!W`}+*klol`jCTALXMi;n5Lf zM}h?o7N-%2UwLSdr84I$DOGEN&h-p!*U8o@=R7{YZu#RiwMyr*Y>etq}4`w5a0bnl-doQSg?8fQJ6KY6ZS0?lo80kf=7TGa!CAzjm@9GW zNVd*0n}9z4nXF$D^QqKX?VOisuCnv7e0tiuCjqez)&#Tk{o$y~+(eKN-G`t%co-m7 zj5Kr3RwHyL_yD9Q0b07+sEk{{c2-?d*866`%FY{Q=jY&T^U=?u8ZIyf=Ox@C24`Y> zU2}Ld`R`&euXXRcz7DvqB8`3Weztb^<()fv{Xr}^7!?W80pc51M+x#0S#}sMi{ArBqC+(w%$L5ZuK)Z%NQL1BwDY~RF7v&UXo0GH zCkCB)wlfsv-D$jXJ`bcAk$&Q`0S8uJqy}fq+Jmn~w$$5&6>Qy^>5|#0#s;#Y4eZ-~ zoB6KOW8Uu4Q8{vlHJA}q&}l4@^|N{uujX>lbcAnTjd+NUG_?@&iD4qqn-o&uj2587 z|D)=NjfF7GRnoW;e;x|Uv)RdsJF3EPOx4z6QayAVvMeMPBRnERH>B~F!sc*0Oxk4b ztG;BP_}#4fOF`?ts{9d`s0w9ctZOh!r`Mpl6_`Hq;58D4Kx0F&t6HR?a3m>L2j}}3 z3?cjqXZaYY?T3G>I*fa9c^STy;* zSTqbiiKyl$wVHXLtcl)_@vv*S_rRSQ~+Jif*cMR;K=8qHJ z9d(ZhvIYyV2=-v>z*V4DU~Eb$h5-oZ=OKLm7P#ST8-4d|Zh2_jI0}5(qC5KrKB3X) zmILsy(&JeTjM$$;iu3I2-R;UfpLUE-o>;(K857nZ@0X zFFSz>JkrG2jzT7?}_ zhJMyAHu*wlk@eF=6lem(K&lw+tVhQ*^OA7O?U32hH9KqlH|a?{%=)hmxoKCDRfS(+ z-?v=jorWL+3BR)US4j{GwHwj5ndIk#jW+}dTG?)T<{xJEF?ER=xJ8&S{t(7`)bf+= zuCUsoyNuZoZ6f%Fj(Qv>UE17B_ZoAKrk!B!O_j7BgmP(-EBcC0 zP@pRH`j`5z7d+IyvULl8J?ze=40{gZ*zvITAFT6m{Sqx={I?{cH7vs>duomsUue!Z z5xVVoJPoduFi5Qfr6YW%foc7v|A)Qz3~I6u*L_h?qzD4ig`l7)Rl0N)X(D2!h!7F! zLX;XHB!EgUf(kD+N|7dn9uP?ANbew>1nC44N(iL5pZDzbVVymD=A3nAeK=?4e29)? zCg_vr`QPoje^;Xh@GYda?woafo&CJRrc0_gDB6X-6-pQWg))UMeLQg~k|{!1xP?`M zerx?c(^d9drZ=bL-5$Y4yf0;Xo=^Nt12o&xK1Fm!253cNJ4yKN}ZcZddfw}y^q8@OOabW$8ch2?gn#PsD7ooi9o0Vce z48F3mTS;AS6W3a?YC8jnv4Wkyh|PHP?iv>fExFhT-}3#%dLcAuk&4II|Jzer+Qe(n z<5Cd=m^_pM#f>-yh&tN6j-Q}n7#4frKX+=( zCik7OG203{w>(2|AXaG3f+0!H>_T2~ho26Q*CR9As#mh_LfZpa{83+Mn%|*-doO|G zJ2DFWmQuXgF{Im+QfOu@j~TFG5&j*Td5t-g>uKab!4yM+CWs-i#(t$lFM@f@a1dVO zbKy3RE~;wqpl(UM3bnX3uq?ryDj`y|xD&2bQxN}+5>JwB-=&m1uezP`uE#bw_)T-s zCAAyUEQ?HEc}-asBh5^&>1#8daTThor@q|VGM(;a z2|~j4po*>`&QGCiC?Sf*BG4gCY(E5Fz({_p9ap;n%TjL3w6W2UlmI*`nVXkNl#Vhu z0`RNNc3^yDtnUI}3x0Csv1$CNnu=<{YZr=_`*Kw-Eho$_-}jG8zJ7Z3y`BioVhCpF zQUZO4f7;pLZ~~#;z4eGc)mu5P?n~5kyT<+BIVp$1z#=|!G5q_4aeet^6IPalnxkQl z#W`D?Wo)S{l21>lAXc?E?R$#3e}A%VesrV)+u2K=%azY`yzd7ghfQ-5pxJCjf0FK& zAF#Zb>=}j++TR$irtYv)EbxXCS-990*tDtZr``+RA^SGHC7g${=rR*&ss60F1_XFS zUd=N&yPue_*_w*r@-=Pbk=n@#yzJT0E0A`w;dFer^yk-QCnQenCM(%PNK5U{ygmfv z$^%Eg8In1$Tk{FJGI@t^<66oUHEn+vW?dhGeb*x5^tv7su?&e5;|{DI9V)JVFX->A zu-(q2+-JJzSdRZ`xF^Nu0N$eD8J zBI_*a?04U@S~FSG9zT({e)Esb?K6LwzI!nEzZveA+dhoA(Hng?ev$ud!cCndq(K;1 zmhlU*YvG5YaseaowK|WDpS#%i2+mZTRpd@J|JeQSii+Qxc!e61G445AoreSJe!m8S z*dGjIEye|ww`cm{_YUsTHYqAZ%pP97X30*!UF(36mFJdTy}b2$Wf$;bwFygh3^#cY zs&H%dhUCf|@VCU(rxlcL_HCG2az#)^6?~diq63xA085R zyhbWrO@s?Ui!InTL<&zHD^`_uG;ZrJfA73#5TI%KC;5!j3h%fn86j_V1echPSJ*tJ z-8aB#d0^Nm^>|QtP(rCGfU$lbeJJnZ}6+tnGj9i_I}F3}Tc7h;-l#Lhpf4w4HP0hnkkj*(kLDR@4< zOcIPfK&Gr5J59a+rOo5r&UG3N!96$`7Sn)(ykF0Q-JAgGlGrC&D^-QgvX-u}f3`du z40(6pZ$rW1M$le$uj$U6@2Gvc;)a6fR+Hf7@$aKl;EX$`z~EdLAtXl9uKUfYv;{I!It;IE8x5IXpbMBdgnYl_C%r7O-QC>v?06%GV-C_l=Xp#i zT|O?)iMbYaH7ADY|BJ7`Pd?Sw1C^e7$*$Ra4V%l>-!w61>J@%gtF@Rv$HZ?C3XJI0)Q62HBat1)XT z{8YNXe@?Z@tBm)jTY&ko&F|ym7=YcPPZ(TO`~c#yT0D$wybMqT^|T_!A&S+B9KZiE zxmpyow%C{tObWdeyMIpo#HpAF^Z971E_@uxiFE_9Zw4K{bHt4L>2vgvj|XClTICOP z^?VoJr%UwJA>?a6wmaF_0xUReClLRWiB$^&&6EDwvi(&_G z&3?9PmCjnG9=AWM*JU?=YDfDhT?@68kLXWD>W1z_8rv&8EZj!885$qJ^ zPCYeJ>U-2m)z491b9snZPAKfqeYof5ySHaF9D2{GGx?a8s5UGRYyL8+D#Vk~OTqAa z^fNgaXL=UaeJ27`ofv+A6r{YcTLTtr0_AH;wXNelz4oVGo{G*gP=0^WI%19{C+Z=4 z^(f|$!5&X6GTez)<&J~{#14?#B*>+X#*Pw_ok?2 zZG7wW#x*Zb^`l|Q5>o-vm-(;D0bE9J(;L9Zg|lj)DQe5Vz+CAiMK;%;WA@6#n$iyo zG1BQzk|)+L*95la{b_N87F}*%@(Z?Q$fZPu$4uzBl6lyDoQzsB_!C`X;RqS3H zbX!zc{hk-pCF?uSPW+qaJHIs)F0AAz|BOGZg!CMud(HRNGM{}S_@`!-QZ{P~HURF3 zV7$J^U^u`7Wi5aYPo`&1N4`I(j-;x|;gs#c&!2lud2q@-K0LDIEbBQ};w5p?qZcF2 zn8%zYS+rxhVb=gjL8y)`5o<#VuNVfkPkT?>F8mCI<-L{Uxi)*9eM#!ti@tBw54>Pm z5C{?imhYP#iOJfpVF35qU_&9Qvs>S5Avy>`=t4nngPACY4~Ze)BRq469dW30u$!cbqSuO#4T*D!GhPnW zay?fvS>DSF#fZ*miVt5(kymHFcP0Zk0=kkLd+Z8)~273vyt9_n7 zwG+-vv0EDCTNinysE+b+%IhQ_KQMY>x#E|Vb9OmQk@JbQmFkjL@XD3#z0x0tRL$z+@Q^tcyBXvOj+1Oh z7N)?{_>Cs-JgkNip=pt@;WU1{W{M~`pZl~);@wYur*eJdy!D=jN(s>hG&_e(3IqqY zjz0-x>gLQG(|(fm&99rrI7T^Reiy8O!4+d;o%cc z&uDP+PI>vuI#h%aS;>P$?k=#1JCdWUQ5yx*Crx}|on9~?$tP7brc5r=_s!}nPvgFL zmcIMQ9)727{%0Z*hn<@&U)|1I{ufxj77}j4l>Fw@lkzcNy5+cHb;Ca>`MiNC2frjy zR#wiucj4DVHd3Ru_UXoL)8COLxn_=j9y(TM;-02U-!9`1W8uwP3|HC&XD%>fG#CT= zRgqg4ok(4{&M-Wn>op8iDgDxW>upIOS|qyC|MkG7u5@LlkFd-o|632od#JJ@gc=m& zVYi#8AB1S7f3FbL&w--I2)5cOEZv;|P8=r6q!E#;-d|p>(Ka|QP~;93v-PY03OPDd zPQA$cYgQTy_efoS3^W;f!Sq6mu+4pgYr-r%V?0lL2>nAT<42}4DspC*+6S1+r4#}s z{F+f+;AjL|qaDl2m?c6L2Ak)#u|)q*x%Rf^xEV1K&9VctIt6LN@z=S7X=-Ut?JA?s zpUWd`a9}+w;>1NM+SCx(d4SzsqI(-Zve25IZ0O+RKB@JgV|*3KDKOMrkd~J;&Lo#B zopSO!ulXoJmcecwLaViJ+E>WC5IAW)LwXC2RL5l1=sR9TMd@)c=Ioh)MGz~-`P3-d zMLakHqgGd=k)nl&-ZG3!EiZI-JTu>4C!^x<`6PdB^3%`~k_&mC2x?o1)=F*FKLwTT z&_Cb!@M}(Yi7my}+~dzEn(3)aNZU#qCxNpVZuz3QRMYL%F=2OMo7W1PvO1?~^$tF$ zUkzzXoOWs9UV=n=&l=SRoOMAsga{@DJNSpH80ZAP;5s8wqMY3&5w?s#2Xt|tr*Y7c zen8#>l{KB%J}B7?BoO?>F7?-E$ZQ6ogPkLPbz31(Jsp3#zYA%`L>^^8A-8=o}s6Cv2e=GhLz$sUOSF{NAlP%(GVkifT4MyTVK}rJ#W=dXj!v zqZM(c{dl=L_1P1>E2AGiViMHc&LkejwbV-TBvlif<{H>vDtYE%Q4}pt?8m#N_CSV$ zEXeMf^L-!6Ce38k3TzVtpLl|%OZij;lO$S&H$Enrb%?ObrPp9TR8L^cwcnhw44Bn> zeSKi42jF;fvQIFQsK&rj+jo6H)D>l~LGe>-zddL?zO}OjdAY0jT4AJr>Ra}8>(fl( z!Zx4Dnk-!I2S=_0)lWyv=?nS$^}~1LH#$F8d*&Yk%gqyAlU6~sUmRYircQpGnfcWd zE0ruGshuekA$8Jpk?Y_aI16ar4hazjqt^qCHo1<9JH?aOPXDk=L6zLgN!;ve$y&G4kaw_&n{uN?q@x zR8fPV+_;_gEHfM^ypbP|jIqBu^zhYqDNX)+&92)_s7w_Gx91SyAMsRQ_WBFU%9Ip~ zvITj@lF3GfoyO5t$fzMyV{4CUL<6oh>>NX#5+L91;qqo8fGjv1C|E1#%B-r=mBO?b z&R%tG%lnM@-u;Ij-i}fSw*YA1)&H*4dapEqak~omrV#r)&lvoFnNm>{Rz|;#$PVp; z3lRK)!tqiKO%~{IgNfYq^iZvhWk9@QiM_kA`8k&UjDGdR!T(8!SmOP^Vj-D=E}wsR z^VEO5c+5Ei&UHhSw-cVqw2fVF;U@xlb+{e8^?fp27&s{k2g>!yWDFxGRi>#czypw8 zwvp{9Y($^t>D4xiNXEJF!B&P;((+g}wWv%@NFm*1LXekZO8TxGJDCe9P~-=yC5iyF#A z8lSSUesvBi@or2cg#VG3?Z&-FwjgF`E`u$R$`7q-7qpjbqQGk(&+8psEXOof*35PK z+qTJc3Ek-YJ#JMeyn<<RWM*UXb!Oj$ zK0;Ws2PP+~HdW@g)Mup1EF~AuP2)q8wJBNnhCvZZ3GNSQdiq_Of_=~SZmVXV^X!PK zdX=I0p;XF?Z~r7)f9ek+W2x6^r$~yeLX49e_FOfI%@1|F6~4Ic*%(R1Sg3(RsyY;Q z|1znl)9R%vG&K*?WzJhE%2!`Q!@UZ^DJb$wis%yJy_Q8YDPfu;L{GE?GG~(N9hs&R_4|5T3Nx$J-oam{_lQL#AgEvsg9UT9 zqc~|ds%j_YT{J8SQiqRcZs`&5CZ*14grQs?@!!pHi{EECLlOpN`Y3Z3l4P8|Yw27w3nOGlOz+4gahte$){v7Bup9e!VV*n&f!&E3ZoTd&p3EVa@FF9;~>w5Uo8>ODFg~`_>Wu+dSay~KqrQBqI zt;_&eRp}y1`gb;W5#^#yBGZux{DC%`jeAiG;nDx6gso`Q(K`gto^~{vm(g{-omym>1p!u8NEW z_BEN-?Jp5S8)_&HB5k-aYRGO#jH=T0M~`s#eqZlm)OC-}t`-7ZV09Wlr5C@z0o3jm zk*6!lpb8K5KD{M3G$5)>D)XAR(CMn5c#R5pWx15%c)9BzJ`HKiVn6~mSBzzYStKnQ#GAmt9~SP`vqREj14t7vLt9mTvGNI8ouXpTDMN<5E6l? zLboIW0y%Cq?)Sj2G^MkN@BLir0OeG+&Ca(vjfYX+c}2UgI9nOAKgp^iOf(h8c-&bU zE`c=!v2BcHuP>}Fj2%I6ky|!YWtb32p%lLpVb7LmFs{~cZGW>~vI&!-QC;s8_|n=r z3xBgOHa;rPk^LtACn5q=xzlX%F8ef~kp@O-?*-t3B&kG&{DL|2w}mafBSz(QAMLv} zWqy6Ty9%i_MTO)<7FQ7t9c$HFd^FA23sP;1UBWZSZp%+mvOH1G>sQ$(w!?`Rx~hxUZHIB@`C?HOHv zL@(R^J@aelLY)7MIWOj!)QykVmkOlymJQF#^QW{0FBCpBJpVsYod5st|M@zc_&Y(( zWw4_FfVTb;@|ZIGmuY_)0=~%T;Vyx91JZZD$q0S-Z;&6*+$FIOne!mhSiIzqZ65yp z7O6Vx)VC(%PalL=$ev6*WAPgsv%m&W7(9u(fXW;ZeQZUZj8s$q7o~Odzd>pJ`k@#L zX3{$c^CkKfgu-PgUh=^P0>a8JTe5L_Us--0E@sP|A0kGTp=po$awjZY&~Yq;xsNhrDU%OJOG|4g zzH=9SfB#r{uYB9C^iQyJNJS+-IFtY7Uncb}x*aK!tOlUcbk$Sek{-8IY-;?}Ve^0l zlQRkxVNoq?7tjxSKHbZe3X{c3p&yy$5;KAB&O=-VgxgI+s(PL4Fa;Mi z^V98*ONwO|Q$sQ<^U10w1hXWs96V+d+-p99X|Nu7ypoY&+iiN}5$ua;@LcuzGf27Y z`6a(#>(-*F=Qr!@?T}|SX-1sM2-n#wE4l;YPY1s;*E|N+qc&M62h=AU>nCHU8r{ov z>W-$b<~ZMx9#W|QJ)?TyTv`Fx5YwA2NFAhm zu;HusN8TpGT{U(Ql22GQHP!Ya0hhkag^I*znxlS#A0(o-;8A_%^PZ1(_O{bHUstb; z2#+kV#8tj$pWSAazTsW=loc&^iT<(_{bZX8*YdsZku{c(m{zlgwollgTMQ~jF*u2n zZGiK-Hrb4be%JU6qd6>(kzOBk`*Hb4t*Ot2$$(^7`Mti4LhG;HEi-j*4B`7$NdU-G zqg7GdHTyhqAsVK}^3y5|_2WREcVce2Dx!0x8R2eJn?%58N{((8_~(3uWsXSdtIU+ zO}4t=V&diA;7R!)uO|iOe(xpsVv-Sxf!3SxcZxd;46o^9KLMm@7yN4L;8_@m5(&iT zHi{_@9IvPU2{$uXW~UxjdUADZx>4lATJ6Afbs52d)i@?)F%y4DM#K=12dr+TM30!m$9+Vsnr`rr=nkfjIjzfk*cJ9+)t!J~nH#RAas9 z6Kdi3lyMQ}O!+rtc9V>^mWbeXfPLz&1Il|gXXl~yCEQ&k|ENCUT8wRnq>Spr=*P01 zBOC(SUyLUa!iZO>sa105WcA>A*fXN9$b3cKr4CR3s@duL6_Tmea|EZTUom|)PY;<) zn}s#Mk(r3z0t-<8t2%8T0%z{)sxWF!+l`rzb+xsHho1^1F8(`aGWSYa0`K7e)zQ zelyylA$r12?>$}bsJD0g!@ZsMIrEF=pL2Q}!Os<<^mSM9R>!7CE-UnR%!2 zuhyRYuay7kiI6G07i@OH^Tz(p2^tGP3>n3BOtvbrQk>@(S|&UH%(|s2%J1`qlp}Rt zQEht$P(b{#x^N;vw&h<33YIN;d?Vk|86Cf`G>saO{2!h86Fz={0iNgUXN5h>u0Zu3 z_c)z-9ADS`J)L4d_=P?kXOAQkMlq?*HF=q{cx?K7!lUGU$`63CAy2(E1ua&jTwM(< zg9$H{fZuo76IIpW;^S&(1!QMl;@!~JQW}Q5!Zx<=K0ADg6#jVnAn`0ra^eLY4LEgV zEGZJs=0j)jph#cpLG{p9qqYFjPc5$YkbT~FBDpf>TT<4YHdYpiQ_=cg|1t?PPQWDS z-*hwuKftd;-51&|1$G0=g+)wU&^~e1Dy`je!R5@a-w1JDmyB7~I|J_qR}F5h`UDoj zKtxYWbRqa#f=5@1M?-DYmn%xTW68ggl8f)ko{~CwOH!4%w;T|nSvrZwhM?Vc{HBkc zEHz>uZX}1OSFU5G{X^^$1Axs_wnD^YBlh?NYL&bQZ0UweOcnhR9S0qGr!(GvkC2Ue zg-#1Fmigka@#DH7jDc_hhsG0c>ANuFU^K1x_Sk%S?O}wV{_DYMKmrMJ8#*?ZWD}+|;&ZM2Gd!%>NCJvpem2x-BvS!&_J9BUQOBz_rzNIjwXk z*`i1d43znUCulE-;@^NCjY29Ng)4pf(k#P5%T*&v%EpoYhxe_!iSGiyB%L#KRe*!+40zHel%&3I5W=tEHPp{%a%P?keu4yQ)iT6lA@W3j zyQxMhF2woH?6=ywgiX%+HDgDxJ?ss@ojVB!a>*$aDWmlPCEQc;P0c?RZ{2hNVRN9) zjLl2`+kwCPtN>ldBsh?0h5G_XNfgi0o;D2g)1Kl)ulW)b4hJ(ugKfrgyOyI_AYY`I zFI917@}$RTX?cMi27z?-F?#k722WC6C1+yY3=xYusYd|H^f#rK92;{HNG_P^UtG@Q z7{BZ2v1NYybhL#jyN)F@=+*IL2hg?XiqN~U0TR`BwP1zmQpO#Cp;tMj>tPdi1k$MO zQ3!;6QQ!u<;ah56(#ualO#0Axbn)Vzy&?}>b`VLyYJIor`6w=2OU z(??EjcbaD6Sn-m%@rd<2o*<;q1B}FGMpo>bRB66!)8=UU4D6G|-Y`;^(F*3G>EraH z^+g-aok#%|loCAmId^qwJ5QCnB2G0~G^0Q0<0A2SfV1F(E*Ohs=Pw5D5ah)l>yScHb`s}3 zWA51KtsTAMZ1gQ^d<^6?fS(>fC{&DsOOIe?@Z2Z6{S@MTR{KFy_GG2=tG)3Pni@G_ z)Q%TgW!!43!_SK~*7YE%a#jo5Ro@?(_g1}29N44jE+2wou>TKl`KEWl9*0dx>Tn~Dhx4!Ro*^q{dfaqLKJL9yw~Soh|khw zh^!w7s$h-v7JkHFz<%Gb4QGTPJUlwurrN?AKq;zUE3%~;-YM3#IWu6vd zm2L()<-zxV@N)Z;bvJh^e#6xc*y#UYP9s0egD46xWqsUPV$-a~v}fcruqE@>2clwe zAv+*zRZq(QwRX8?3(H$O;6wpRDR%^KH8xIg`ax>Pw0zt&Fa^p|{)eC-3QIb=)oxz5 zSO2km%h1mfseb8c%79O5&yyp;0qW5O-^Fo$^PO%X+Sn1YXF3SU3j4pt^KS6x?+#< zAngoWrI=%h47P%!wZU}6ODr2j7MB{w(1jU}!ByA6JP=eF!K=|cz~y^clH>Q;XBJ&KBWx;c z`6$ni<($WRV&c{w(W)82smA@z{v0trC2f)LjIDI%wdC2@>bltO&x5i`DOS+t$CCB1 z6MJuzhG}w?$3RuNSP(7;0JW}<2pSN#)16%9Ep42qN3~5aD&OBV=}3$2Rnq;*Bx~BO z;T0`~xjQ)Q53E0fqqk=u`$vbmTrpRF^srye3H|SQ>1+au#s7^9nWa&~U#5#Tz&}<0 z_)IARQ2X=(4(~uy_$$}XdK2t8YUJn7|CmoPg*Z?w7)FD9KpaVB#JJD?F9403;?aiu zc(C|uAS`JwuugYS)fb@fw)R%CiZ&(QOQdfq&>QlEs%*mW0u1-!;$CQIc3jzd;^-gj z$xrFdfjI(C&p#du)vQqn7g2LCt`(Zv_UwsBM@Rcd_mdrjZB7SE4W2Z!cM`u`Kfi%H zc7_CyLn$cgW1xBKMl@saA$eWNa21ktyO_4gdA{U6ARh_!)nGQ z7wAaqznC|dWn-3Op|s?z?L_NOYi(T&*lOz&7uGbwn)Fl>9b+= za5^vf+`=^2+uQ52C*yVq#D^}5yrOH%J_g2xPv?%s&hi6+bt2b8_M9*BQNTf{#&?+ur)k zUi>xLwE051^fv7oyVjO%PNT>UIgg$pr|8?SwTDlP$f=ufOz=?kw46L7^}Q7>+Ec3e z)tVhylA*L+D~zY3gX zO9x$Z>g{~G?AeI}H8~VWd(c5bY6&#KIQCw3eSL!P&a0@Cn-I}*HyZ=a53It%n~$LH zId=mV*P?~3(dipyY3WK8iF-*Pbt(Sz;1f6bYKl%&VubwC zUVd;e+TgR(`%WRvbzz@gwSe?Vf;m-<;^(_Esdo+P-tIoJ9^mRUUTQUfPKwFvrVcp1 zJi~o>pIb*n;Rn(eIbWt;<5A_YJ$qOzn@j>FHlAJl%fx{crJ&li;EA}Q3Z*fx?VO0g z*MH=U2mRS1<-XkqY@thi=J_e(#Ktj~$-GKNixV2CMEz;rs4!ciWo@kN+Ts_Th9GE$O*;YaK zJOHhH3J^8A5AB4aUQPIwg4)u}=bP}NYpVUqt?KD38yim}&b+*p5-8=(|Afm_>V#Q= z#;yDv?*r8}lrT|{z)uv#r&Ka7P<%+N1|;zxQ6m{V;pN0qzDn z!FK&vBnO7qdd3~WN3;44eKt+%d!v^hz>m&ceD&j{(Wze-vg(^R4MyL}`x@swd>$Fb zkf4a-o!^0C^u(dzUG3?2;)Y8nkZ;BMv`2R?x^|yP{h4k2*50QGJ_=-R35oauqFyOU zqb((9--jchD)mXNX|lKf(R~gYDqB5M9op%-**nHJLg)6&sRs*DHd_$fs%(u`OLIY8 zZ9i2{J>5~`h$57ZXX32-lD-5e;f%a3PS#^1!6KM*G&?~TTtM7@BEMS1sCT;OmWJ|e z(8YVvq5?O6Ynw7%xZtZg(nJ^%2CjGl?I!)3-YMF(@s~q@qM3S!I8mVU@>LBM8^P9h z&%|nX>K%*JIia`<7sSu{cP|aHm@STy1QgF%o8q3FnJ=c3X_ z8y&+{bFO(T=gw%Jt_O+IZW1-x%uidKhZ&GgB}VK=r9CXG0WQ$D`2|1bUpM9EK6?kV zrx5B!FkN87KvWwx4#~!lpRt>xT_;6+!T+yv0cl@82Yk&ETcUYZO#*H7U(7FAQ>2Ys32?&`Z73M z*YPu{V4Pvu^p~mhn0NZmm;12{k@UQay&ql#oKO}A<^F5W|ow>Q0>W7FnkZ=1~K@wA*S9w2WhWX^Gi_k=2TahJnWIfSB{N9?$Ib6wHEzNyG(bEGx2Teb}bC z(&_G{nrM|%kL9HFw%V%_3E0@ii={T3L1H5+9U)F{#X72rd4+ydBp0}`hyxl3dlwh# zJ@~+JO8&RCW0!Um*8-UGWkOe(Bjo4D#0Bz2s3x0#zN=YM)j>Qktu8eRiYBfT}{5d7V3 z5_uk`#@|_W!N(@oy%vj2aEzL>NQ*BsI=`=5Y+2U(wy7+*pC5m`N)RKmw&^K>xPco` z@aAZv*-97NXu(+NQoW5+i^;q?tOSFrv1R%5!drF}W{d}OQS|RLkQ8Ip%pxKo>A)r)YY$6jbn%-KB*V^!pzojpzzvCs|fka^8;? z8+3`n32BMAx6eRa3>dQiO}I=op=gkkM)jRR(}Q=0K@UitafkEblQ2zkn2YyB z@rW5qtcK>91k+2(@2|?V8aiw&R3f_&Vt^GZwv*1>d1>ewAiwpSi2fduE)b3B<+uS> zP4(RQAS}T}3wrcn#G@Fp?XI|z!6prgwta%xpN7XvZf(c{|C8z1rLF{Er1pTqhXb9V zf1>K+rK2N06^G;qq*zpaI!EtieGtEgmeTOL(Q+(}m+l080JF(^qV%LG4R?t@tbSO| zZdkpw6^^0fM1D16R0f9L&R3b=*z?6I_5+cZ{O7FNWsoebY;tYTIH#VQ1qPh6?WJrw z7R0@F0rATtubkuT+$NRg44UA(g7N>H78~2uj@c;4=CGFf`7_BOf?r|#k4$l4x3hF8 z)1OcGpLty_Yp=HY0QDdv>6ri%#8pQWXystU#t#|_lv><8ie}8@1~g^QS?M{x;QP?s zTsGK&6~G8kfJ~pN*d?wwqN5*7HdUl$P}k)1s8YrrgSA$Vmx~r_m9kY#tH1o-+Ho8z zM5&MJDbcP@z)mT4=&E!aKWA`-n!K7gHG8{-#k}J1zO}@3n_Ks0*Rx#W<`TLE5sTKa z)aTTJwOesWc6k)F2+!5&^M>iq61Wo+&WrpFb9-# z9SB|>{rs6t@@7Cmw_d(iNx*Bs)hO#Pla6s!9I7d(6Ir@8U7N@nO|IhUslIdC+zpcg74W!YV;$CHtTb$8sIIW<}U#zulYMXu~|kd+SchtYcV6r z5svRZ2uqKAa+7U}_|)_>D~o?Qn~$%I`aKJ3>2ge0SwB_O;kQ*hjY2fj{jR-XRJOd_yJ;;Q@>uM0Iv4fXfuqF(d7C zTBf8+hrYqeJC(KY4hs*3m#ZK%kDifc#z$W$e_e^fRP*(?T%u%FVAWjeM$HvA{F zF6Y-bq#p++Yr7K01Ja&ZUOahf_3e!=H5tKPz+Z=)Kz221l+Ga0#fy-c8T>6HJ!-z445PUFGk~X<^WTri~ z&=t$ICAZzE%q!}gFgj3Pj|?(NT5)o|=_{%J zsSD^|^y@hoBYF%&2AYA_-%4FX#vu9C@|(s{rHTr`PsTaanwQ(%&zLo;XpgD*+C6>x zw1uYHhBzxd7no4on*?UwAeg~Wqu~!v7l9P5_k06u$iO6?=r>KK4{l!AFH0YLE_3(O z96VA@rue~Afj)Bj)tpMz|BgPu{~JC-|L-LI>wnEW{J&~8{@?TdvWEX;pB&yU*G}$weXENxFCE~T zxN&1~auO~^&s+imJK-T7JMHSR;!o21;F$wdb0Mj&@3shhfeWsC_v!NwM0IL9;iO#h zXL=SNITB4|;l?w6{a4y*LArWrk^pw6auGdAD;>)_3yi9jnZ!Ex7o~UOz*7Jzb#cmU zH-M(W?@>SgcBA@$?5>}VrZMAoW*Pu8gCwy8=v%Y`aBF}Q;h%*Q^J#;t4#}57R7-rT zGux!PynCfy=wOv2Iseo-e4MR?8w1gOpdfX!*#e{GsPAHX#i%C{bZC1Rqr501?u(25rAbS}__pJ7Us#se9 z!zIRfdX*yPnj4lybTPGUkjGWo#{H)!rqm(WQJy9zE<7?noa7*V;&z_(CQlD}qzGDGdC|~!d*w0qUL`pvuW+AWaFkl#X8{T4sP^5IEjQ zd#%B#p$%ushdM`crOtv}CMvbzg+Vnt{W36%b9Tsw|MG_SAc;vw4Kz)kuZY(niC%ic zq6J7Y_y&FMXlm6b&P&YgP`}Egj-JH2Rjgx-78kYP{>$__sAtkMJsqdW?_UYI^f!|*=rNOMtM@podb;+IcKjOdzJU(4rGP<3t1ND#QCEnLgG3^I+A=6 zxRn!Q^q45!q>?2}?h=w0%4&&js)?_T4c6waXzi7>?egUOYOGp$DYcGe`vHIMWdp8N zOKzT!oZ`I&YU6M)td=mh=FodN;$bbOH+dd@*h@gzeujzVyQQzv_&JsYVoRsm3f&GF zOcm(*+PZkB2v;YMr_ev~EmlU446d=9d*hJ|d^Iq@3kuBIsXr}g9oZ_P1*Saink4_! zZ7xUixz#TAgv)A7{bZTGONcA%66y#+<94P7SMr(Gdc%KsKMQ(l5_iO$6VsaT5H@XsdhZrWwP+XHg(2_j z2re$r7C`if8VFsz+Xhswu?3;3K(S;^;&ugo;f$M}{J0Lp(@#CO==n?@`k}VDl%9Fx zssBPMQUJJ`G)V zyomOGo}KxRwawkL?nNVsxpz%bW~Gx575BXf<@=LaR=Zy62%o9LZRmycgs%V+78{q% zocbul%9N;)&>5LGYhqAQ9{aH3%jxAKlR4SzT}NYW2$65IKNerJbBx##Ym}OTE%KF*)(u%oZ%w9l=$0<>@rq^ zWu{cM1<7OE>|9zzvYH6-hmkL9MxE+h@8cjo|D?GX%dp9DW}drn`prVtJg{i7%fKs)qbF z!$V?q+;E_Cj8Wu;8t#}N#V~~&?8yGx{I>j=ravq~`3JT<|aiwkTcxw4sZRY=gEl{rj1C%A4;Ry?5A+ucwj%u&ZT~U}QLsy_ z?ebRm$T*nai)lMLy@wt?FDl5Qs_tLja7N>7LmId^JWP3}Q5f+;F`-tEuaTmW2Ol}^ zL$E8-emjkLsRr9--I;pM>x^cMy0QEd(#Q7XNsDA}=dJXl;oItzN4s+kdOyK_>mHYb z;?R&I)M}*_0fj8xp6Z7WV_9kvfxGC8zRO?~;(xIB-ce0;f4?AB6i@`IB18m4X#td8 zq9P(9ASgvCQK}e2L@7aHq7>;OAn;J5(xgUuC-f?Wj?~b5Nhl$Z;+*HMx$FHscg_3G z+%c=mM1*M zzx6_a046~>l;TZ}s}sVF;*Cnl;Cfk$DR4_-^2Hf;n8eueh-|BG*P?Qre(4-*JZ9RU zbAq+=2zuwf_9tp0?W{|}p0Bph5`-0n$fhd|*Pgvudccqa7ELvO_$H;fmL z5p-&EwEKW>fd1NRQ3tnJaYhh}Ihzd#A+-uU@Jofg!TotVi9#pxdD8Mrhvs9_9i40wZJhHirtC;Kpgxg>b79do~#X4ZULWQfv zfX+r)3*z*0ttL4$q}nX|#+%WfXI73ks0yO0p7lW$E{Z~5UOx28 zM&eli6sNyyGM#g3Oei$@(%_s+K;jA?|7~QBDO!^cU+(HK(m8QjEWtr>Qy=7ZPh|wZwF|Hld|*@57fG z%o+U`QP1@~vPX}{M9ndG&v*yi6#LGmFrGkP?qv!X)8tWtgW9}IAgL{^Mk|m?5+@9N zW(lXXN*2D5njj_ow3I( z$Y1${xyw99*Cs7CM6e(+(`Ekl$YRW?5gq&I;!m~&rtep!Jz;US-&SC83|8gcMyxB* zL?6+;$lwp?D*!>d40{@ViK-%<0i!6$EVemGd?|ldjDCT+`mU<3vHZ!>&$OJ&G>-@F ziMxZ>QfeM}?Q;c&Qsg*q_t{!y3?&Qa4R2_hQVAqN9h3!v0F4lvLC4(_jZchInKsb7 zLu>B8Vn_S7`c%J(ri@-FSah!nW>ahndu5^YUE%{4y;FSMM#eL7- zv|77cH*2TvANldkufQB{C%uhxZZaY<&VS*j5;*e- zQ_0G2(VKMh5W zN|DA)F3h@dkv-G8wv~b{+7Dy^l-n)}aWaRCXQ^BI(W`pNi55je24y@~e0DeJVM4KY z+UQ!MO|6eN4%&hUXG)L};SdMxud(T-N}J&jcY=WRqvr3+@+<65M$7xnFT>X+SIqY{ zdjMtlukS8=cqmp*256{|@Y+jcLL*23b)FG@k$N?sDs59-6=&X8k|%6#qh)z=I%RU8 z?$Wq=RV@5#bfg#?jR-s+l+euPh)+GXC^Lwz;|Zo8{b7(s{n!90v>Ahr#Y(%K_n8|# zJ#$WLG3-pow2e3DG`bnYzx($w3WWj%d#x2b_cg@v@n)aQWxfM~Z-qjVvYs&5OJ@R{4QTHE0O4 z1g5CKIugec! zA7Ajhi|TqCTO;JcRCYO7b1y-@B4(pY@%tGyoEI4}ni^>UoHrlhf`1R?3@#=q#l$A& zjJb5IkwzwMMsqqY9!-9?pXkOI&|UHcR0HZ|AkLh=fs|*Yh!$Dn26fMzSy@vGWt(P1 z8P!NkbdlMV@Z~Jhd>%wDF7tj6>cLidPTHM4~kaS8YFQENnmt_i0iO zI_y*7TloFXo^spgsvqWFFA6#%i@`2{v(yOyv*AJ&p5F8WjR9#dpwOIHMA#)LAX*!L+ts&PFJD5Q*9LxeOR(6~`&snK3a1i$JBX~I@!@8?G=!{=k;jz)^-o_J*$ zd-K&v?&M6jHpa;cMuKkZS`ft1WJar;G>XK~?APLHktgWDS-d|%PEJ9TZtS)KUE~lz zQO9oz|Bfj%iS*sPMTRsQz^?UZ8a_!en@Ar_QfRt#0;D1QP0!(xnV(e5C*I>VoG!ek zrq9U>er1_j6QzA*7p=88osTif(Et`QNXol&RFwhwXeB3Tiv^`yK)qded(ogph-antv>>Z1Ic zg%uIG52xKjIvCJAk)UZ%fc9xC)NMdiRrA6@M*LJ2EJql0Pd|Sn{p^IdDK7Hj#;b>fIO#`@d_HvxEiqum8yJ=;06%;%9 zs^N5#+68X@MJJjDC5{mZN2?)I8zH>aoHJwiK*-r@q0jvuw9DqR4B>X!V@(`w5)m9z zr>35c%X`>mN=~(|#m{2dQ0B%!%r0Cj`y9hVw|WYbjZMgN;fu)_(Ul)vD}AYvdiTcD zYPf)Xj0~^;w1iVqnf2K20v^7RTvAfK78q<{sP}NdB0Y}?Q}Te*^9ecH7e`jk1vUcW zi@#h>l^!e_)P#)tZ!1XGtzad|s3tdJI_eNWhG-k&H(~g>YeA;zvEegX=U2^fy!{Fx zviHZkG!5Lv*rxAxo|Olw#5NvHvRDp4!;n}CI~nJ%eFcW)#W-L?y|5=G$qrG*xh}@` zd^s70n&IW0JZI(abk8&$*ORjGho2LU`OKTtKdLXC*KbkQK0)jzJaFm{^Jym9mYHLs z_MwYynd`@Bu7IjVsx~+M0(B8S#hwTb+Ve62x?fr%sj_o?l*qss!l>i@__oop^TK&a zcGXdAb?m0QCDA+&Q4F1HEDDvOWrV8^+`4o2Cwz98^EJvqJMBk-H|$^#fbQY zVZqzQYm1;vD;Zz3m60pkGx(f zNFj>52nQpbDaP!Dl0FGFk`K2U6*7O)z_GHBqM47f0G@8!s*6~py4COM7X7%d*!lQm zhXp#j9aF!J&M=(hy&h;C#`!1uH_i)rnXD{dJ zO^)SZ1>#*1vWTE#WqEK~_8&evJYDE*Uw_XG9&rUI ziU%-gmqxuq7t6w%d^N-8x$^wvZOa7(wT|n)0&dF!NW4NR&=T8ZngP;hS}u+})_8{M zeeFXJBL8WK4|`CCOKm@o7fjr-VxLW{^bu26_4O)|6%g?PpLs?Ul!ZKlj$WN{+-%04 zU+S%Xd?RY`8bibA5zp6W>-J8jRHv~ryTi>PR|DMoQO=BLK;sfOvq%R+-edSnzyVCD zs-lmL_rpe-bC%2QH_7Kw3<4kO%k%K<2X>q=v-|lv%v+4NYTeEbH&LA*eF^QTjCX=aY)mWM@)l-5Y#E#JSud1fZj~@@%Nr>Jx6R6ZS%= zAo zQ22q1Wqa@v5qGf=<3t#F3K$vsH3O3SF0&dyZqB9Y4sXfJv#A&UcFprkuE`C!;8Sjv z>tf!l&!;X6;BEo2&ta-PC5Eb(OBW+MPPAZMvIQJJt_=o4ob5pPxmd9^sMb_4mnoO6pZI{vm*HJA*Q!n$f^|Bwacl?c;92+&KAmF4kLuVaB2`C%U)?DFIQDd?UD*Xx;dra-hNRTZ z!nrHssjn5IGUSb8OQ_wUUGV~OY2HXneeT&iAzM?dcvA0^_|aQy{iP1~Ane;Or77yQ zuNcV~XENzHXV95bJ~VgaYI6cMc$)$(1k_RVoDWnEMo^8q2+6FrsXZ||*!kv16Y zfP8y;X)SL8QqL@fTm>3ziNr$u8la*@cn{?Qqu^7?8cqCVw&H`uZm%(itqBNc*!i2{ zWs&vI9vQ?E1y5TYE$b*JEzxh}0R#z>KIAyk^pqX^su39!O1zG***?s`-iv!s;jO~m z8PtAV@J7AqjeP@)HSAgmO*M0^cS`tm-SW(l8Sr`@un|2{IX=9W0v)@_DeasnxBgz6 zGF=66w@3ss)^jAIc$x%(b_oz-l^`oezm^?eH1R$3)QxAD-_V2S$5)?s5$r$eWjcO| z#=&@VONy;a_FN{s+~!|FHT0p*=#1XEy-J_$vZ$y8<9TEi;+y7GN(UnxX-?!_d8g)u4j>9KHIUL2 zd%%1Xd)x&pz#6Ej!8=(t{niM%-hUtau<(6?hgDeJuP4?Yj&3|`xTDCLIu5*0nzb_2 zu{*uYa{#yCn-W$KCEJ@3-r}3^!rX%2#44%&RM$b5cwzRG^P92@JiqE6q5T0*w@c3< zTqSr`>f+R9($EF-@Tq3*N7oidA{;`RkJBR z9P>H)ZAoRXXU(R)K#khtQQ0?>qfj4d6|ce3p%?qnlqW+NC%gc|fK@WA_9vxO%=n8d@GstZoL1bgd28020a`7(ft8G&LPK zS~TBcV5#Hm>~6}5t{mSl7QIdUVwjfyt0T-U%mOf&#yDWOko+@)#MaGl3^zji3hHK@ zk-A~tc&xljtf#rm%*{`ub&qtSv41IsT}4%h4?>Qh+eDE{`fkP#^a@>_=OzmQZT*{F9fv zFy2a~S-P3jl9i~Mh!~7xM8IQbpyn39TKFM??A#)9fqWm|hcdyfq{vsLSV4>Ak`apgQMbk%K6hMvC|=GUNk4*LTwL=Y ztxf|HKx2Tj<2s<|Gm)=(EVX^kMFqjG%R5wpL7bZ;oOqeZrnzt-AA=5W(RKC@0qm1& zCM_%8Gz{URt0IzzC`DOiC)9&!9j5a@a|BnGu;;jxG7NDQe;zG)1RZJxcm^ z4DQI}*_pgQ&$lENep`$8I_}*QaZJ70<_STuX?36~;N}KRjoJQ;DWXPDa^omT=O`%R z$q4q}EDnsg46ybv1zWt2Cvk#1_K2gU0k>DO+5tRVtt&S)@ir>!Mzc5i6gr5`1bTmH z6dM&nCN_Y$wAF#bVJ z7HqkkqEtH!M@#=28`YPfi*CZx4ZLT|%VTGMLR`G(%e~QaKIqM^y_}EkiH+S{y_H6M zo6>soy)`~~>#*f(~vI_V}GpU zQSwbt>Ezv5C+|aC-i6s`=6FrNCcgJ0qMlKC$(hZgoB?xGVH!x6l-Q!pIgke~UVnXW z*xlqZU#o=NQClnP4N;@z^FN*@H}RP>xcn$*Nqjjp(Isr5bA*RWNsi&M#|Ch_$zw$o zA2tcG4&@=r-oCuskJw_Lv{^bhN2nAq0+>qF!o|h|@cJQ|E=*gKWDzL&VMa@YXc&6e zr=?V^(`u}IA?i`jJDtt(^{87RM5Q+#QnxL$y0p&kM=!%=7d_ym!*3rg^o6Ac`rEE( z=6SEKFA0B^j)X6QFExfU}fUs&h{1eN|WC4OYl@`ng0EoPU2v)}h6ypwe zipM1g|Ai=eULS8MlUsE0`-K;8$(#WBs_hAY*qaI8CI)CTGBb&w#GJ6+qet!kZe;sCa zJ6pMA-lEK>L< zI%iA-s_o#;U@2vcc-dlIG7tW&J6C4)`isKQUt{iV*=yNfVl~VLN{=6(PI9nlCz6bT zR3eZVW45FU}0WyEQH1I3jtA73A9^pPI~Ey0 zt;fj#&V|wiH%%OM+0?L-`9@KmP?V~Y`Y!Qt&_nk9`*LSN-hH6;d~^Xs3ZV{DBB(B3 zRwBM5o$nP_(xmw~q8PDOp~y@jv`wFGcr(&fNZqHCv5k4JhHd)hL!eR{-Da^0;?G~Dg{^yNnY|M$$903Ll9*OV z7#=`z)9(!dzf?E*{J>#SH-Is4M(Pn?i4(VC^SR>>QED8VhpYLSC&M7qywptc-gJgv zw)WTQWCe%+eJl$;{}{_-06PHPSHXp0cPH>W0ohWoD$SnjIU6eNjUB+gOk?0ioF2;9 z3Czmk21~T8KyuY0J=Ud$lj6r|-KDTpR0ujd;p-6L-;2^T*iwD&FOonRi?J zkzx0UF)@nOFiM9X*c*Z?We&o&PS`_>{XgoTta}*$E;v+#pTkQe9=GV%h`um%4N8@? z2z6)3E$2-QF)xga+Dgst^~fbt-V17{ytq7$@e)>)-sx+l@G&BRmfnb1UFBwohY<8w z*XvA|%5Xx+&H{A_D_4(43a`(?B3RU4{cY_wnBVNRQy%6teerNn* zs-oPT`u$)K2g-)ZP6}m;cuj*pWH!FUa!_M=@dGdJMGI`mIr*+U61T^{9AC=4`Kdx! zO>GA{Mr#~Z@y9=l81ZVDJYQlZEPbbTXYjaJQydoy! zD))8`(wT1(W@?BpQVV@CZ)+EcB#33LB+8qrMsj!zpr63~bPd@h*`q3oOr{y@u~>-- z(fddleim{<4~f6UH~_XJhhgmXh*Q(^g&@J4FeKg$Q1IjkdQN3%1PXfwzwz=hu4mWo{Y3rwHn!qI(a1 z4Y}u;-iJEf1uyi$-#`bkKgx)uptY*ZXE`(M*x*sY0`G(gTaA*K1T!-ylk+}F>l|sH zfVz$5a3NK!wU&b#Gu?^cM*`g7;bK@#gGP@2t%BGGA58To95oe_&b)aK1#)?k5opAI z3ja4#gi8}jR=Ev-exMQ8FI(0n4tpN_qR9J4(1@FYi#E;q&~8}_-j{_*Kv9au| zNdLr4Um}+=fS7q-g_86ef6fB&Cx8-^F; zr5Z1gZlvA1)1!CJ-)xDc4iw;x{ci>g`PZ@DXU#ORwg2aUBmOzoLjdvcF94eRFC$L< z=U`a?R?-6GA0z(foL?77*7c6~b07b84gQ&rKkMUv!uxWy{@4JwmCfxU9jVXmF9jc2 zKJn!QJQL1^ba!+bl^SSiPij~pw@Xz&Uz9U4;=O((VH^L?SN}ifHus-oxBYV){|S%4 zKM&>4L-|i0rTtl={~ukVzk3;n8F>)ra0^N@^)Z%xP4h8I6fV2N@AaA;T=w?c5rknCyPKpb8|W*mqu_9( zqA%2(dlhE=AY+6Yej*`?WaZtoAObMBBT!;y&=1?XSUAFXSc900k%u4z2Wd7OTC zuvU1rbTrXL<&?uY16Yk#-t6aQ88-ujsKof9qT(5r5o`iJRcwa9$>rzq39}5~umf~i zgEhe~(q%L5d`|ilsTjs&e;}~3nI8;}e*0zy!GRpu5t6UEwd|!ER`@-oTIu}ANf8}6WyHtE+FXFQ^uzv<^2mi9CKnC&8zyT?e z_x)yR=8!XJhKB-fb+vR zVvfVqFGXe>P0{o;g@#v+>t|phats=`25!uZxtqMD}m6r3;+iG?MLy6NWc8g%PRw@@o}Qd zqXSPKe(6vf;o&Tjb3+8suK+x2Xb^zY^p?CBG*5O)oXOMm5cNLxr9ZPML3Q>{$_1y2 zW4);p(e+1ju9&{wX2j9Cy`bfO#w6#ETGf?1gut>$3)+&I&*<|~sU zpRT`--lDhQt${B6zrV!J?p4%4P8I)x>2_2DC@F$J>1S4L6liO z)pMhd!q~Oa@sOntMY)>kPcF5yy0V>U`M=vt~c*K7&SyEX8Zc$0LS;WQh_~yHE zoKAULYbX_(DY{-6S_}vu{4KfgLDL5_1>#-)q=TR&K0DPB>Dt|^&)1$e7h(nu?-Ug{ z!ggA}fUH9i835iD$g%1hd8k|QyPW<%Mq1t6+@1_SfN_tuAB~WS(&~AZ^5EpSWyh-# z@mXxyKi|QBUIqDNUEcB9U&YOIe&5G+4O-2i4$*G>-9)}d41w|jQ;noc0YptwXN!f5 z$i_mKh;Gyk&}S$AW~J&M9qn5ckJ!qYXMX-1gBBs^0P(j0;H4up^=H9ns2Q6rfPcFZ zfIh4&`Dy#OAue9A@>buSb(z59`rzg2mB+jt)@p_}44bZ=bFC zhG27h24!uo@DjN!;zFsm4S=F{sHaH-W_FzKj6?9#mzl&`A3`xBaLv}7$}OA%#cHp; zm`HBSSC~v?gyS9F)5NLHO}6KuyqJcEN~>)fbm9+2V8_<%76rb&IFVA(c3?3;B*juO zOf-H==)V+1{^i1@dxPj6*Z#t}EjP}I*p)2I+l^_k0;)0l2fta`5P#QK{^g2SLij)a z0iHv>z1EBW80J3*ef`fLnEo>dEPv(z*be@eSO@=71RiX9Y%@l*N*~PG4Bqzhz3S&z zzxX|$_;2C~{|9mj)-U9#f!5^HID7jXpnFrF$-q8mBufwy;x&^*Qi*w9RNc$_Zdnz1CfHMMa&NvdQ>PN!HB!{?VaW(lMBL!=^^}Pi88^EA7UCLX9x!X z0(R>zm?>4m9l`?CPHxd3{btdDF!gl->?}}4K7kE|ECH>X_RDx`_RihQM*sze>9b^K z1_!XyNdVPjUOoCnvwCA z{zsWm|3C3}q{VE2awy>HLjo~QnAbSK@LOzH<`Ez@Vq+m=PGZ{dz~F$(p3xe;e@p#x zI;$msF*9&ozL$*etj}O|O%xndln^V^q6Q0Y`>s#ad zE;I9tymNAt`O3ZG{gyF0MSJI4i1ZvGi%m)>G)PuNMAeCMmXd2Fk!*!M^BTaH0?Y0Rk?U0xgy;Tf@>EkcX0qhIs(%M!dpIA0{tIOeXa}7{o#ykKA%yL0a&)5Etr|V#x99J_v=O!G z<6-r!_w=h*N}Gu?t#nyu+ScBZ-c}tmV?cW-ccnYgA}Cj?9@)9k3oQqflqWQr)Qzy% z5@VP;exx+Z?vkyDSg~v4ch$vo@3(+XVF68Ixl#)GVR5GP-3y1LG3jPx^wqoBxpjIX zi=sMLBwdf+HdX@bIVt6TKL`og$2Z|iIoI&h!tA%nay4WX9X~@d2V5B|;{^l6&h(y* z^gf*&GaHNyW|7W%@ZsobnhAA+t0$RFc4{lJ=dNedN|L`g;E=EG0!&Xr4t z0YWEp=S1QVsbz$+?;Zw=TUvKR_OTX>LO?gs@c2SYzd2yQO_dmU`eBBPvNWb(&C;t8 zBYwf-NnI`R^Tu-5o4qh?Nx;krGp$4>hNE=tQ;{C@yvl&4rPxeD>*re)qdIf&3saP@ z>uzIKD5jo=u6Iio88eLzCQ(44=kOudXprOMx<`9g`nq$R$m4~%G7^%m!hapxy;SWt zi(7w00<@RvqzT~%+7;=~Nj4*$%DxfEg2tTgcQGGWt>YwF1CEm3t~@uqDQ7x@03L`= zrifFjNEPUT36zi7f-QykW1eFVJ$i1T^4K*f1_N|V%CN;4ylDMbB-I0ksCnMY*6JiEnG1~a!sSRsuHVe-L&FXzsvsq&`H%=Epz z<6jXC`?{0I8~qhF3JSRfgK!~X_sa&0^KMI|jBfOqrJS5`i$TuaH2eI~pIdqx#$=PF zS zwk?6ifp9G&4J|jm)H#DMUNJv#eE0e(-&d`#A~w}`yTpq99g-_l*VKoMzFDs`J}2&1 zq3uo3^R@kj`_kB)hZgmiBG7u|7v>=77_LM^7NJLqXi_N{y!2L4qogv?@Z-d&08S#f z?zModP?QDYf*0-sc9s=TC2ys00#NUZh>w-VO~yPfm6LHI*qmo7>{$~2ug9&@daC32 z3Qlzwp8b(}%#jsI|p*pQ>uWpVC%9pw100rX5voXed;&-Gb1r5(LS0>C&eYry$~ zICnNjj{q%{z)h4%)>4m6Z3co%bRZ@e&1^G^u3(_JhK;CmLJ#8 zJe}5H-RmDkjbSL2;s+xNFXOOuF`7BLt5%CF9O19YPnNtnRFbD3FPpm#c$K-tKdd+r z^6HM6RxPFOt|KkSa65$z#ZoRm`oulXP@J#vj z)q)st_^GtoQ`A+mUNc}lo^#G%bhSTK-Y84D=UetcWA++kV$3R>n>bv}v;={q5DqB~PM9<9`-jU!*#1 z`2~$7#k@LkJ~G54%FQ1i5B#?!HEF=<&H_02pjp71vXDS%LHIL4Bwl>8tbOySO_|?D zb?WJS*HmT2lOKOky3@XnBL%cz?Yo#UXUe^v%{BK4#r~BMyZKCXS**mp?378uCd{l zd%%%@oySC%<gfD*V@>x_Mo;v=NipNJ2hp-9>7MGFwcJB==WojgtDPK&8)i*PL)JQ9 zJ=75hnB#W+TbAReX07LM`5Cv5q=5lPulzz)}YBGQneqAI{cc zdAsj~O$h7ddi@s9BzL9JewV!Fm)}CJu$Wk;NRatLr#Vlrq{xsZ`hG2|E9DNCz5d~3 znYZ54F81k50b8~ai)4?*F_PbGL<24YEmB3cXwX7KxLlM~3>}r4Obog68d{=0H!TaQ z>hsJUR%>~6;E%<nPU@{4k{e^s7%LIWxo3I zQ5OXjaO>v0l#w1Zgm{)m+y_H`E;QMF)%R(g*s++0QgQ(n7tQ=P%j6sKatMX<5Xyak z4)H8Km&(W=Rvl}Aue|XW--2zA$F*8tx>%SQ@@2W1k+Tg>2_Xiza*UoDz1un&6PXV* zbfqv?87xXM%x_0k>-i}!=8XrxS?Vx5qR@)|EWu_Yx#g5^UYgJb z=oT2*c>!sQ9c7#e2}iHN)IliEw>JO1Odz|(W3WS)nTL)U9R4qqf%`{RIsZi>+kF0? z{$eaZJLcOvZJ@dC>qjLvj!M>PS=7gsaU>9eHE};~7HI6_oyr5|_hatn532145uR^j zsgmGu_mi3|%+oI8Fuq^gqR-N-U89^q3imVT7yY2=QDgPmn$*~P?&F7A7xj7biY4Wn zBBL3DNA@jx9&~>_Uo+(`lD~(C8o&`(o3cK4TMmXTK9+twp@ld&3s5k&7fZb}TSA5P z9#FMr^HlV7Bp8zcSl)7RX2#rO@~YH)W~e$6<26GvmyoXgNaAjr^xMD z$+h4#bZ@N)6+VkBuEK{7L+v9BoqAI!2Oy>7ywA4j)xI3u-AC?J9YLs`ir&9M(wipu zVxEJkR~B3DXls5$#u6K^KF?@0s+4U1?6Ma*VwHN~X{GAZMQ727pLN^V8oVPX^%4OP zop9a^QbajZ-_La7gC-$AyN<2@bP|A1PJ6a14@bF3B!4d4kGLe?dO~O+8(JJlKWkw? zEg`?7qo_J$b`z?_tWSnTb!CBGjKe3rx%jUN#&8+#YK%;PgVZcl=jv4#BdN3gqqR{r zrAFqZ3=50Bi;gO)MnW(l?Y!H2wjXKk1^bIrh*K`0A|jn(!CJGAhrd$;^Wrq!u0D|=v^oKEExNR}Zzm`YNnXzcH;aC}^L?9yOwK(4Bv?e4r+*NaRXURbiZE zWoYLev6}Yy+2FL8Ntcty^&Mj33j%%#?s;Gf7uU4$Mb33ZVLCtJ9EdAIsNHjc>O!%%@hO>i$Y(qr zBSAy}0a(OH=u}zL=C22{fz1&@OGiw}MnRQ@F2flvCV;F&QSmRFsDhOIeblhT*6I0u zBZ~`*NT-Dv3{|Ww)Gpz+dl|V}|6CC_*S*+}W;d2p6jaYUL=Pk|!Wme|(@2sS#fj=i zQ^z#G8D#)GYGi;w$)q4gYC9RJ_QG*=A4UfBYUc=^@qD9uQX!hOx2{72bB=%j8^#%I z0G<>LAWd8~4IRHTaBG;S^(mHTJGZKrnVT`mWBY^~AuBBpeJQbTRQnC+cTE5}iog}; z+sU&=os*{DiJ4*s2TN{z&;rC-7npvQ+c+%THDZ=?O;Ga&qf$<&>s-j$P#MG){m1ND zhE{c17qjSixj`Prau_oex+;Qm-_tQ5b9kCB=#-~dzj@~nA(G^?|g5AE~5GYQ#^-2D!o}i1bVr++Rx1w5GTY8A~K+gBgO9`|Dx^PH? z+}+PsqgOKba9z*?;O%hDa@?XmSm)(MALLK>H5Z;)GSP?&YgbV5*J&E(VzB* z9-nAyh^X3lz0aUspevG{n;`xo3N?Meeyx4AGY@M0NPk8;*;865RPYv8d5FNgM(iyY z)KJU`aJ4iyKQB#>CV{Dklpsc4H&xCWlg()@wkL*U2pRlN zTj|->Qu}EfB~MP!^-Co?4+)oard}pHbm7u^HR@+qSQKoYK$SIX;;W3P>r9N}YCg4) zztJlBJjXH$x%eKM1qEbZs-_?#D$`k1uPN^hrQ=l{@`|vlZZ`l`? zj_W(gw17u5DP~kJ+GCVfL|v_h_nPDn?D`weRF|@KJ};rWQAZBrgtD3<%Q)n3n43BF z)i`B0&Bd43-68jjElrGTla*#m3D|%w2QBd%+oO+Z3^fUGZS^%li3L@Qsa=~mB`}mlvjf$(I`H|AaLGX>#x4sU) zI)nrq8y$@=gzU88ry}rNC5eWT^(mT+FCMa1bqAW+Bo~;A+DCEgFsnwTxlh;U^$+>V zTknX4Fdl?bT&Pd&X&U3qpKp|MM-hJc*RpnSs^5D+q znO`<5Ptz1TUqrVZbu{2%J9?#8Z(>&xl7t838s~YS=K)g&L?33y6$|}=EhNy-E;d1n zF5zbGz-#57YhNVAR%Jjfb-wC5Q7EPTlh=^dQeg3bgJhY8y1@G&CeIctv0E^PsL1CZJpcs?l*3ObrXPwu@rlmR0 zPApAw_rGxe?#j-dSTPs)Go+70p4L_I*VNkeZsY@~0dih^EsEe8IPZ zFc@@%>HOD=g>8MBAgwycPdtz|wehr7VeL)JSg z3N~$3UK27>4&bW>7lLuI6W#M=WA< z=KGd!Q%UR;R=@!hIs*xy+vK79QbfsKfz_&av7F;Kym&v8g3bxdNF5~gX6wZ`iaa<} z%))x~6_yJ#6<7Hohuqi%5!7Z!IStkFgZR2+TQcDp&ETZX*Wkog1>^NzFB+~u7r83S z%@@U=oXY6W5<&rF^~Za)n;7a-IcLENlwl@N$Tcvmd{OJ%3?khlo&>fzM!L2(U4)DY zXbGK8hTg07Ga+@3D>Zo%od;r-im!e(|8!j(+32@@`gJ$#0f4Fn6!`cuj)uO*_5gV$JM-jn2D2T)hcY3H>60f2 z!GM~wpp0E{Re@!`s9uWNUZ;DJeEe?~FW*}Vb4gR~`5*%zR(9x`!j0ZwY69MhH91K0 zhP_9IR`+{TOFd~0PHQ#wlX(f%SqBvy?8* zpX;oSwte2gjN1qCW(Ms>umT6DF8(l!zYK0t zFJ-R9(6muLjATHU81R68@rH^2{@mg*D(=C(8Mv}Q-b}n>upcU_sI5=%L_5osjt$lw zTs^jcH!c7V!=6VESWHUWm=CuMsqiT-DZ142U8}gmwP(%v>hE_Z2^UpyDvV5MLyH0< zykWcim=N@ZDnu@_B!T=<_djS%fZ7wL9sOe&O?^6EFXTkcJWmvfol$kNGq5;z&NIDT zA}1qtX=99jt!Fhy=}Kwo;;UUl@!EyN0eT+Qc_tjaNI67ZpYjO}mb<1U)TAv~S=9d1 zMQLs;ZA^6*>8p6#jmQ#ZJcI!@R0qua+B3jSSR*mBw(;MtA{SsbAhWmT`e|3MC8Yn< zmyz)DM&C_KH#r=31{5dLb)fP0vEE1Zv8PF{V2U{3SL?f_8RkFdtIYU{vw57iwx^=J zk@u5boUI_hCh}YP2{nmdMJm~Uqwm$B!swPah_$duS!L+RC_2VY3HQT0u{&PIbdx5T zQogO33*Y`YzN@;J%Dw-2-=}dQRUng!i}#l$@WZ5yjk-#Q7u-QV9JT=hIrL;&d1U(2 zuXXPVWNvIO0$in)Bg?G2vo3joQ041dYMK|MVFc9wz(=Sr=ohd}IwMlfJ(Qg)M zRN~c?#IaS|8XJMEEVHE4BE+_QLw(C&bK(}xZlVlaCdb?ZUg2s+RZjj-2?+fUyYYlb|5 z^3d-Cy20>uXNnxzsrUdNh?}b_xr1t?SmxW6!Dz5wVxCXAQn-S-jP%{A+`Ad0o*hSSHYGSUS5}p8n~(iekm-(0dy2j@IB*Rob@@dY*9XW^bZbIN z6%8Qv*WXjZj#}vVIsPC`e%L$bU;9#auI@#m(U0H}eG^STZe9+(_Dkad`H8LA5|x(C zaA>Jygf{yMR76&r1qp5_Qx8wh>lZg^7IWzjI$YeR$Y%U(XwVl1L^n-QE@LC|C=y8Iq*Afwy09e_Q8|yG6U*uN9 zmAPqM>nK^AKT#wRMU-) zenZke?Qwfv{Zq`#C$ZvNkrS?EieK+c7{loy6O7>eybb)+cfPI1NXp`jyAJKK!i+&N za(B`#)u?(T*z{&l36S)}(Pi*KSKL>p+cl{zNu}HSQm*XRFM;LeuAB+CoSTnhuWE5e zP_LA=Vm@GbHI=4}NBgH%sM3by2Ms?auW##!bKRSPXy$fZyjM^l@|;!gM$`>eb0GXc z5XbylD=|&D5BO8)L#SK*bcHFRz^K*aI5nfcvogZ5d1uIo={d}P3Ln+Yv=#VtR9 zZ7WLsVZuz{d-n>+GjGf@_9~QtY+u;Oa>k?7vGd%rgFo-}1^j%^7W1pB=o6p38zp8Y zEjL|7$kU=EcHOE9NcmjCYSc|jSFSJ)G62A)w|CJ2Wwi}A=fh-kQVIg@3M@Q9MHzu} zqYbLU*ZsT;-X2WCEVjpHg^%cyp>)2e#fAe$;iOAK zb8f8H{qm0XW32(BYG)#D=ITB@p+6jWX;~llFdxt3IXw@uH|vCf8CO8xR6wO4<9@Sn z9LGFwa}0V;_~s2e$@*ltod$|2^1W}f{hP(QWg}^L8i-B#2)3n+DwGf;*#3WG?!CgA zYP)t(EQm@|lqMxg5tSxgisV%UL_`z?ga}aqX~rluKu8osItU0+5KyW}iPAz%q)QX& z5=uyDQUVERn2_?W`K^=x+6Vvs*WO3#lR$i1<=&j`pyBsMfdmi=V!rVU>#qS)Zx778J#uTeZ${IB+C^Y&a z&f0frJTmdnP3*&d;s*H)-bI{~WtztQ1Rj@y(D62G0+aUxUe)y?xm{DPOW{&rQ_s&X zzu!u1lbhcR`c|dYRX5Dz_sjhXPscvO17|H`ntYknm>susJ#kbKNN}W0!lM@7d3}$SCc?h;y^Bv!x_4J!q1F_s0oe$%b}^?QxS9B)3!n zT$3s#ZY!d$+HfVYeV5lyf{vsoQ97(tuwdqKl(S|722mNpVq2F94b4^e8Ta(FLzMsa zeI-q!s00;_dVvQmCxtc_db6n`HLR>1YxnQ+cUwVh~tpnlG0)?`U^z8|fYUkvp09{B+Iq`K5$CGsV%Y-^?40Z2x|? z0$|WG){ucK?yqD!`PPe5lVmPE^IKF-z^_m3{3EgO<&gB;90WM?Hvxof9O-Fb?r!T~ zxl)*5_rrL5Sb$7H+6@K6H(yT$Pu=ZZ`0x-qn)6h|Xai76j?@I*eFtdUbbp$cRv0bY zj@H?qrBqUnqmMUQtr(abKFC`=d|oyCQtw)ce@OLE{H7hTw}>F*SwGOrdLM#LBk6(B z&B5F96!vv&i@C|IS!7~7Tc6jTvj-V7V?yw-9-8rmwdg2(e{hxBcJ-D_z>wsXcqt`n zZ9iKBEXh~Emuv^k;-!r}Pb);Mk{RVZe7_?KTmE{ihAUPk$ z(dQceW86cFenmWqb{ruJbbnsSEEtrc%Eu8>0y@ox_Xh*>BHYU+B&6^jvxFUz8XorJBJ0-7i(Si9Y3a>x`&LV%3n&! ziQb@M*zQXs3^*~%qWegFy0|b{igbo< zUBsNf_O<+ll!LM*Ef!P8Sh5@M@L5{&KJ;Vw1cCLKA&9nME;OEV&De6DIrL7#?69TC ziOVsQMXwu_?zX516BhC0lY78hFAlh!#M*V_Mf$_#eTm{OkpCp7n6<%=n5wS8_sx$6 z+SvIbk2u*X*H46>n}(U|we}0(_WwL@{EqeNaPi1FZB|_NxKr_yrdk38+wD8{xh;*X z%bMTucimXVsC6n$|Ump}^ zUI@0bysVuCw!?`e#_e25G&p!QIkGSQ2J5I2Gkh$40k-U0+^;$VcfIG_W^(JTgZ?T1 zQ^H@2k2Gl-LiEuPz?TgMusjCjS0H3tXMn^M1grdq5H;md_4N$F5T#90b^B(~_qkpP z2M^avOF?=~sH{e>Ecsk73&qXj$#l&oIy%-#+|RCnH5 zEad7s0ru`@!IR=zo_V+#+da<`e62@-Ec25?3R?f}i-<0^#e!criZ5JMkhRTph?+$L z=R{j5l0e?tUGEb%_~;6ab=bPuULQx;Jd$(s?&*LDS-D?R4M3ytGK7`S+j z`W!{n2_UpM*HqN!t?bF1+57>rN-k?zoK+Aj7Am{}TA{#y3~-K%tb#pWGJW9#W&nDK z6W=(%PY%zV)?mr#5w+wlZ#oI8#oe^{dZlOOk{4@sDd+K>i-qRb#u`VF?lqy%`su$T z%Wc-FBBj9#FnVz1&fgu`@ik+Cc zfD^+Pf7Ke%NP%Fm`9QK!^4cIn(iP|`^gil~JE2>9E8eQm%kEO3zg)fYh?dNicd|kF zrAF2oc;cR-G;cGa>Bra>K1LTicJg$hg7%80E8$o(kFO*o4tCeeOxyUzd|oii_L@@-RZ;B- zooIYJRFv;P>6h89E~6CE-Il_Gd4~tt|MV3qV))}nT> z=W+zT-d*I5ctVEiYjc!jt4tUc@PCz;V}~#mVk*vgfkX)-Cc$ky*l;x`bbL`5A03$O z&pV_VSmOQVUHKo;Sjgk1leyF1Sl*9i(ig{<|#LJV4RNF}dmS;8iR^4qGo8eE$ zkmE4GVYLnMLHpsR&9%Go%IOdH2@5tJ>YF>K9SqSG$Ab&ih;v}8SP9^Hos)R(smk)- zmn={*6)Dc!+c*w1|I)eC^bC00Vv_clQ~cB(#b>6yL2^GnNgu!Bm3><20HAYOBS%J)PpkTjO#$@=~_{2j8^ z-9kNRO}_z1TostH+^ zKQ?cIfKF+dBlZ=w$Y4`{i2c*A5QOEVg6 z`g7Xr_SA|#F30ApmGBg-d?~9pLOo^$;w3XF`_wcDJWI2mAu_zPsNQxX&$ToLg5w6N zhJ`w}Y(xCzMz+N!E1qdZOckdsiX$}?1{7a>6HbRCxVa>6WCE68yEe_N@Fg8^1_Gg9 zH*~{Kz^sapwUnue8%hZ}e>S(xdbUG>CEg(wwl!K1&|_@Vz-`1iAa$VCxyncIvr=Z{ zL5anQlXnxI)k}xC1*r6}m$2W97rX2o4INT*G9oa96`lh&oL#1nf8tj9MdayR9K2&X zboVaz1UCVSL<(cZh$oo*O_^sI7H-kAXd2vW9YjF0(;dm|slSX-Tm+Fv;FY83t^V9&c4XRt*9 zPWN>)MOl5o7Bj5%gnt`Vwb>Y!VR(>y>O@6e8rkC8ru1B#S<>XyKltn55tQwc`iar# zIU1amEp2`O$w}o2zMMMg3-W&pjZBA3Hf;U036JK-cMJgMl|cvBANNWq6mO`i%D;TV zo6Q5||MES+0%vTB>9(GXvPI_YJTIaTo1r+d{pT2-0tVwKnP;5mwdd~$ccwC$Do z1ksrR8@$^*BeXp;Iz|oZz7esBYHK6PBo<|^(2TR<-<_16R5g2i^Rjze$g?M@mVC4B z+V~&2m857r)miKaxLy5l8gcKVyEL61Ue_Q_t;8eTjp3)tp z;5|364}F^{hkF^AOo!6#aksFio|F>@WKUn1sPk4p{n{~GGT!`1eC)QrC|{o*>f^BG zm&y?%Q5FzNJ0Yp#lxKhLmEfCeN#$5`s5^9$WX3Jw$)E@>HV1#pYcQ?|>whfLExIe` zq~zuC3h_C}FgE>7#k``x({r60Ytrn8zPYuKmrb{62xObXj0{qgV)iIya_Zu@H`bDG z@8aw`jrdekx$m%Eq!-ZYiWH`k=^l;&u666KlaVWkN_aX=2wT8v>a;Z2K^p5$HU1e!Hg@Sg2OVhKW->R}y|7n`4Xfl;je@$eO}R8tgc z$2x|+e-w^3f3H~$hfkNse#%S;(c8`p52%gbSivM=e&iA?V=x!Myn1od!*IZE{2BoW z%FH(lksC?1@(W-OdNt;s*&8kJtW8$_Kp5JQiUrgpJK-^`+g=bMqJR|*Diy7xUYj!> z`qJC|xj;%DA^wM3^K+i~t%TGY0^owVMcc&w!5j(XaLiE>|J1lwGDXtMea@>UoR8bM zo#ZZLELW!E3c}0#4I@O?Y~u;8c3{BxU|Jv9fIblrw7#0Km6U$xjN$G0jNC>$Ow%TO z0juQcKv1_*#uJDBEZA}eK9PJ#z!}YWtjC5Z2QvCMcb{dLKU3hk0lBccve(x%SIx?2 z_)3b=x>`|?OQrb9Pr@?|$rCE9UZ9PA8EAtOncJgI==f;DlA%Bkn; z8#6A@=MS9r)`2`od3^{Ui=C|=?9xm&!)144d)0q4X^VF_jLD{r$2D1st|c;@ZKVKM+u?zW+>v1IeqHN9&Zp}SPp1jF zMF*rdBt(7pfLDUIs_kTa8@7h<0)45(ET0gKhEbJomv|?i%~Y=xINvYSc(eM6+x?z9 zx{uHM9j?M0;k6k_M%8Qx0XW++l8>C@ti;C$sH$uu8P+gD(@pDhY^2_3gY|ijGlO)E z;0dlGQ7hiZp?UERwoYv_nT5*#`Z&p>j-33Ip(8_8S4nB$zo zS?w6LO4G2ehfk2@>T9xsH|~+=&O;UodWF*^+YxI-D(&t6|tf zsQ6Zi{G0V&kK8=+%-!m|!!V4V@RrvO%EoSGBbj@M`rDD1kLuGcm%~l>IL(7d>Yf>!3dV{GfWexE= zf`JGYimKJw-)42Jv#SSUNJ$soa{Gg1odY)^N> zhQCtZyRb(ZYuB1yUfm;88FIQPpe*}BE7~Kgc%zRHUBA6Xd;;bEl&_lfZW;xA^1E{M zhfgsO74cN)q0XXTBa4;`&7Dp^|pm#i<~_`HZ@F85`fKxJ>zDF zwfm(`-)Sm-d5=pIP>1)w_kKOx#gw~tq33;Uho5Qg;o;%TrLIS*NXfMYjXNyt_`3y` zXbCFWv6itE?Pegk{c>&JzC9Lmz4rqIO7IAvg-YV*7%+mesCO5R0hu=QSNA1QM+cXH3>D$_ z?32rDmzaI)iKVRx;XjQIZ$6vQmr-c36}@$qc23pwGia=9zzx~?RXP|SW%G#l8^7hb z3|S-54F6(9SB$PF*6R)^BDuBRv2ej06@XrD?=N38Ky8!-~51FC5#l%c#PRdYv@j-AEs$~b-k z9C@y!SqNJ%B={w19$o{+`~J)K8{wM&Uyj18=#c-}M)?2f2eEJPztcFKJNqGGQAfPp z_niFaZ|CQJja1*HtY|!K^dZa;IBNr6v`AS2m4p7Sea` z>3r{L?>D-4$dm8Wuga>=LN5;=5?DWR?hP4d6gsoLis9wW-)qVk_6-R-!goNxhat(u zneOjqc3{0F8J!qK6`R|1T<#W~1qHUZi2c0$`G5KBH@55X*t|C|+jmb~{yh8r<2?ET zfHLvHC?yLnyLA+4o?L}IjAUPFBOr0C@|-8rO^E4)XG2Xa&57dKH&B^EZhk)F7v$*a zFM{y6CD-&^;v6k+b2(7aoTu4Ki)8S&Bz!J>M=;4a!QKF|4gn|vXirk7kJ$u z@Vr5n9m7E+IS^#I>#s9cHN~tDnqudzj&k!R=2G(c-^NVD?X}uxG6Dsqi0;^lIhJ32 zSV4Jm@B<#mWACqK5V`7o-uuGVW^(b7CHm3*}TqWVQK=%7g?400GF2F4nk znvK_th6+|k{p4IMuEq<0$?)!}-qfu;rnaF}W~~L)c`vl*IUn94FJ?I`kkV&2HvSvE z#O!5RbHR4pYx(gyPZKbuIFY{Gd_B{pG=__pn!55R%rnU{LE@pJ-}ggGd?BBR0=(~} zD#F@wpnnNkfq|$^E^$@0RR5D|6M}L>H0C?4yIP59+gn{ZSMdC*O6IOboMKUnNR0e6*l>kn5lizhWjX2)pY(4PM;v5wmlMLV^+UFp-Yv^LBDSO0T} zV!CuNwfSGZBWrG(A4g5cgY=7EkNsj_cniy&HrBX)Wh>{yiEZbz#ZO@2*-eDW+Kr6| z$oK&))O9HWhzHYyXWK41whivXTz~adIj4}-TfLcagr+sG)cfSu3?)?O{nk%6 zgE`z9j(w3gI5aWMfiuF1RoMFf;UW;Aj+k#u%y4_QT zv*Cqz^{rD}h%U)l{~te>k!nx~$N!6itON0MwDvKY@=t~Tob~9ZzR!HHgMFP-n1##C zBY)WwdK=aDCAvEqY;?~2h0|q&v##3z`Blz8K+Q+AKNI^3TWx}*etgn^`GC|^*fcLl zR)f|hdAwjXe%+aSyd-e)Ft#&!B63!fF7((P=$KuFAGIw?tlbvcf=yXu5gs3#G_hNo z{?XduXDj=jJt{6SXqgwhLnIakB1?xCeo=WcXafekRdfF`RsNt*NTN#IV#e@JBzH`Df8^_{CXyWO=x>S)C{Mb%Ndrb5f42y# zE3;PTqS?0OO${NC_5>mAFqFHHjUC~~%rD1PxooS~(&s}Y(ijk`MHIu&_PLS6%ae@b zwFXB1-X!n($K+|8j^$Ey5%&Feiov@&&xi|UpxzIB{F7UtFG(VSke3*KMwvv8=x9NX zb-(_i6@IqP;LO)PCANE-j%r@ixf@d=*`Q#m^i7r@f&<(6J5DUHIHZ(1iPSWsA%(Fm zMo>4%Azz$4*vFnAXZ6M`#c=c1Su1D8X2t!F>-=DLeuJb8nyE0vO~#wh#{qr@jup)4 zr$iD(yx@%F-`nGea9xN`edDwrv*0>=y)eDgPESfmGGR_BZB6%1*EA3?L{VS6J?`)T zoFaI#%%T_JRJf#f#_o^g5{n1*)s3-_BD@Cd1D;-z<0dO+0$SMFbkf(uEC0!5d@13V z^9by+R>;w5ymb@qWHdO1)Cl6+R(QZEU6VKGgi{bO+bJS!Qvpj%PYy;;N7M8zB546`>Gg@s^{>}E7o=E>7 zq-fZf`LNN9aQGj?#b#PuMR3ptF?sl_Y`i%lc`xwnKlKT)VhXln#WC`LCtJ0{R9&aG zIE2;P&HMSJn0=kpkmIdjGn7baH1E3fq9eo;%!E`StVJ`C9XQtu%;e{%jQZJ<4Vj%Q ztG2LM>3H2#b6>S*)d^PWr>ECK9{SP`pF>pA^EUsSH3o0lt-mG|D!f(n6?Q*bMe+sj zH~?<7Lv?Kyr4Vn{GweQIue!QWka_v@hi*lkBYY}+jz8qjf*(c@rpr{DIoj3k5=NbF z%50{8YplClQ88PciC))WeZBrgt_$b#;@F=s+nmvQ4pF(p5^k_Wk1K=JbPA;e5q#_47@HMqq#3eMkj5`Bn4XmiMs8-$#`ix}C+?s=(gtD2GF zefYWH_qAVqo-bU%RZZN&!tdLN-goOL=(i1!s1&_6?OQs*kzkB-6u+$Eg>dLrejWjS!FMc22<6LcjX>*wMjJ*99JHFUjwe)#~WIj(S z4gU_#4=Mjs?3=XFO#B0yur@-)F1erZp0D@&Z$G0Wp>Z4{Kw|3wS*`xvA$gjUe}?=? zsuBZ@zv|t(@uQ)t3jppVqyD{Q?U1#%`uI+Mf1h6i>Mc2J8+rh#VREU|M+@ewlhyc1 zTX8@CWXiw|Q9j2Z${~`c=5gT1iZM3;>$&`49@=~QU%uvvdq=;E?|w8#zY=ZDJWQ(X zbOpX@%93@m)pR(2Dl>8pM3|AWluD(4`9z3@D499W1hjRD4J}c} zdi-$>*Sum)PpU>*+FkYW-aJkFqqX$UW{RpG+>+UDn4h7Ru~=V6ZZ1X%{a^$m!qH+R zrSr2sKKrQ4TyZWc4EVe(kc*Tp(!IK1ark%d=GSw5-`%cxPpFiWcM1x(ok~NN-ELTx z`dX`OB04at@Fp%Hk8~XS5Sgrh0#0`;!3m#31o zDFgLMr&FZ&JUqHT#N(TTlOV4Y9Rwt5wrWPo8vwb;!}kWLi3*!MsX}8rs}Hf6x(^N8 zF7VCe_ zn?5JXcx!H`VZIYA)Cre zgxyFQ?6m8i^F&9L7OSHdc+eGQg8e3u6cHkLk5L(0TK zn%p;R44BDndMa5G5=RkrXNa=&@p?J$7Vm+8LABcO`jpU~gx!Ra0XbpxASh$=OyFsN zWT)hpO~!cmFFnBP^86WK$y)>`D_}BrMj?X+9eZ^Xr}* z@;SRp%vR&753WsS7RqgiZ+A3e9Jk=uRjxR&L&g4zXT4xzTj)^QB=09is}>k6cQz|) zh1~J_bMT4hUaGoMO`_D!KSz%pKdm)#`DVx?$fW<=c8Be&97#ZtVMY^8o&|zSQ8Nan zI?NkMRoBKC6H4A%RYxyZsgT|M%oI*J?D12a@x7Mv44q7CaM&8hdw6177jM3Cub*Q~ zH123>tnXsyi)BZP#?mg_luhTuS=`Sh%B%jA?7&Elax}W(E8eHy7dhJ_I`KKaA3e@78d2c#92d5sfM@Z}d(Af6M3N{*eO3Pa&!(dx>eG}L zdRDsO_U?q#qvG>dqOW)#7vL+|!6|Nu_n_r~G-hygcH% z;CZ5>V&_iZkv)WkD;RC9(=(r~IDKFx3&9Lzu&{DO9aK6xoHmY(=IIl^z$``uCiGtK zAKclk#yIZY0b_RQJGQy+9Z6^~T`b}6KDGylPsZrUq*43fx8tq1G#0TS=#;CNM_wTL ziP!JFSa;!~x&K(Z#d}#YX&q$y{7D|jy3y;8`uXN_*hNxEF96!lri_!UA;r3mvy#!K zhtNn6%+V#)M8}$%qQ)R6em97B))Y>{RvzpAURx9FmeuLhQX0M%W8E{fFJsSWtK1~! z3}DV|yUR@)W=)WQojGY!u!g$BfON!cGt5T#qzq)O`@w#%xGN_5LyE!OUf!4*C9RXl72^HVDv^>%Y=wmDy-{AlkC3$Y}PXP-=X&4$dJUha% zr5Q^t_-3hUA@+UGSlw&#=~1d%P1=5OzAu*-n;`$c4@hR`%WSv@cL|a?yiUY%^;F3C zN1rtp>~=1OYa$TKqrbTK8F0F432J;Ux)T}E5FF(n$oM>In>iEM#9w2Dq$jLOW(=N* z7Jj+EG4lQU0Q@Cx4kwIhOtWn>hKi$I7-k$OQ+9aD@-$9q#$WAL{oVO)zQnorM{~Fb z@v*!;#vSYs%(z{9hnyPcg8hq@{oYIakIoRi>p|<5E7%s}2AxR<-DH|a8PT)Ra$?sLI2#qWpnB`-h! zc=O=I2yco~J>8e12beQlH)y(GjWU7ET|A4vL~{wYbs|+u434~2zwfoLTQYO7Ayxa3 z$MhQqE1BVGB4J^3qM7Xkt$XHpkG1XG%sl}M9t~ew%N7StF?8kzB6(7nG4Ni;KrrAr zl>NJrAkPOxE#37!5gaSOxHxCic*PC*jK8B@;>;o{r!Ruz4vFs zMt|r>WKP1Hk=(%g!>(JA6w6Jw(nU?OCo4XUg^Hy98T`G^6`W9)I*hQdz8ipoxAR1i z>vP+7$g@@J==y;faiDQ_L)Hs&EKpPC7iI)rZJ7uH3H~Di`v|2sok7Q zM1Pc2^m~{0Xy3UT=&s#p*7mTe;yug{N>xspLE_`4OLK-CM4ma42D^LH`JRgv|F_!a zqa`U)eo2#lWqy}uqdr;HwfdGuPoHj}&$C4u=ikikp2f%^nj7+2V7Gc7WDGK3wBWT^ zXd6Ds^#Cw22N7Gjjmp11^mkGnd&{>`*h1aH!s+lN->3M|D~Lv)*WY`7OYOotH34Tx zjR8HS1k*=`BF%d-wi_Fh6;5QrT&AS|zmaAMd%(Tk;E6y21>CE9@Yu0SFCDrN+{ zVGy+GYnuxJ;rrS)T_^8)u|9RJwc5WLO~rgjO-krFup^j8_?;|>8HH3M+u@+yLt>NL z?DUOQ7;`DICh`NZu^3i0J+(a8BzAGr;+B%7#1_I^=)vfvlv<+GZM&O(zIW2tWEj10 zlpQjGlPcCb{-+Thxcg+diqP8t^;_-66ZJV4hl$$D6ux!5GF;lH0k(Ps79S#H@xuT$ z(bt0h609g(u(TzM}8yw@^SILEuJ8ENQi%-T$oThw?iiZZdfSN-z0?m&NDq#HDK z#wK-cA=>x8n1R2upWcOzzl$7&nH>21_?*xLUSP;l>aVd7A1T-*Fyj$1-t_tquI)1}|n07wTYQ#A!CH2nO) zgIQmM|4m*CuEps6mXi!PgFG|QIc`<-@_gdLK48Ls8Lo!fH~Sxhtw`2$?uS3N$2o2w zxQrI2Y96a;j(QbcQqx58Nx3`Mm*R02A;#Z+Zf}*o#Slqfcg5fDQ$ zU9Bia!dp2|UH3)btwt@3qjZ|EeON~w%Wg*>*GmHdjpt`dyDb|Rb|y%!$-ADbqag-K zJn)MLp3PzRb4-{n^R>H_c9~du04kr5YM%+apLjCZTvckX`9cg=7;^*_O&f2`jU=i8 z;T4$v+!}#+;z{6#P1ud9G2P}zi<|80BabUQCZ5h)BV|>)`Sz*S-F|bbb9YyhwGId) zY0ycPS-nYMslz!0i2Updt0en8R30RDAblciPKJ1{Ra$QsB6I!yUpQYjNH>1G(7S_J z4QEeTds6}>mA5bQ7U`pidN#})a~?AZk$7Ty9H^oStR?z0gB=)>k;TKpOQ02q+OUi7 zwnWBceuUz)Cpq^ss2`th^6z=~;{GisNH6aII)s636D3oq8*LjC;6^2WacXMHo8XmzSU*`;7cnjHwter{561Q{v#O-+qp#&((+nE=>+DP3Fy}eP)hu_^ z2Uw9T@dLIiOB>0G$>FBzzeNF?^h1d5uT_tv`@jcmY;YTm-JwrsxM~`)2lOjHkR^S@vu;B zveoIC_1<;T6zLA871h{r!ZO0-Y#A^Bf89~!rSB-YeIsA_eobQG>ld9@?JtOf+{U#M z_BFHxw@^)^$>THUY&`?|Vx6Yr6EZoN&?cE zlPrB;gHb%El34SKsrfD33|5VBv#MvyW{wyk(!a$Cn=QDRh{?6OU+_MD>XC+Y@(3uv z-gtQ)P-F!$2+8?OWK3WY6O)EGHLPb0PJiB+NSspflU(Fi^z%s~_FdHr=i6~j+3V#J zB>Fr#e51IBJVPs&lrnc7YD)VXZ-wu|5Qe&@p+`7jRD9IT!7<_~pfk93&;=fVXVgEwoof84DW8b5<-%eyu?|8;7 zWnp@%YZtCj^fWg)CVz&s?v0EGZEO;Dc&3)i&=$>DVP+&%G?I6gn4??7binz3%DSYP zbJE~w^u!{OxchE~GclaFHB8w@%ffrU9?6|lXF!rdNJ*X_3|tM-+# zHV(=lk4(0HUhCA`Yi0I|GSDAM3Z5g;Bbn!hS;oMgC1B7*ng&VOD-(|FICM;U?J=UY zaAE4!Kl{|mT%@WmUEPUztn6e^K`T77HhhgjL#ShJaGUzhFZUct8`YiukFX#V{f8?$ z`B`~g^Aqd$9!XvN(IBczWzf=`2hKLd^SWM*&BmD%@JP34bR zFD%Q;GQ#^i-VU9*`OCVlJikeM>i)-v_OiA9o9X6_Y$)0fhz0dLD$!kthg+TFIZ90o z2uCUOQ8ev(zwf6hC+E8bV>nI4quRaf{+72pap$En_K%&NdH-3nN*>vv3MZEKR{fm0 zSv_Lhh;8{Zy!n&+K997w$(rFg=lP2CFk6MyQ3sB9PQ+8*yZY(nps=mr#%p!=^D*V* zUlHzDv2()MXmDI=MdbPltTPgH6 zc>IKEd;##pTJWrfN0_fcW=p08A@*&7`Q+lm=kA*!Wj?kUT4}5DNDeNu%knFFIC-<0 z$il5)q8w$IqFuxjfXi&6FL;_g!w|>XSOdYq;1;Rub*FZ_!rs2{=lG7~2}PC2t<**v3F1Xn(g-S9Ok&P>^$VEYhoXTl+)CnwUpJP&QoYdx8S_#dG^fy~Pr6%|Q0$ z9fD!!@G&#mW5eyH2O}LNkKJ_%&(_0!Y3w@g97Cpf$8_Ef3aT<%2lsbOpF4B6ck=L? z8=EV{D>twCMQ;+2xybD7+!Qu!mL&Nbd&C5ihgxkDtLaRk$*6{3{$Xj6m@~7YrS|yN za}VXavPV-~^w5SNljdJOz*4deJF(j8s*v14JjIkjbzK@nW{x|N*e*p`SvPqW*%IxW zr?`vy9(DH8v`;(=I3y62L3Rg%3Kc-hj~u(ojBei$yNh}>a1+s3HpZykd42vtW0cLW zo@lkY`vn1W-eE=+@5QHwtos{b8!K+F&`i6uTHKB@_B*?ic!OI4^%3CaC^9gSRMJ5g z)OIHkRHj4C2g@tOhJT=HrCqJ2-H+x8xCR~larbjX8)#&4Y!=dy{Huz32U?vAJ^@5c zraWPGxhxml2ocyRXD3BMD3gj*;oSCQaxUu`GXSH< zbWMYF_`ZX8*N(KiUAg;st*17PT`N&(^}df{y0lYQ<|g9ZsfG16=lpdb1%`+E1|S4K z_1M85*%I;VgK5X%d~1pVz2q7`a{SHdz8K{ z`8_wR0N0W-rVx}RE%zl+*cVsXLCclt2-e5#ZBgtx=VamWw)*qo)8bY#G5vuv2N<6L zNDJ8@a@d|UE@@E{Hv;!b;}-2M^|%lb?URmuDPJ=X`6@LS1KudSYLo<0oj>Lt)E#CD zbnGHIDhyvob-j$z1>1aX(%@Um0@54Gqa+tn(>+sq|FACa9P_0EI1fZ1|8UetVk|~H zPXD#$BoC6LFoS+5M^+I7vPN#$J5`*hTS~X7(FwRY8J_6zKq|5a!EPcJnRkZD-seK$ z@$edfR+2c7#-afNjI0({!%-8xrzVgPH&deWG2a6{)1I(b))9Lo{W}ZMj6Du+Czm71 z0I~&g1PhKfo>X`nToiqS2>~r&nGd_}TK9?`o5{BD4NE*XQ7qP>ar92r@y-!}J&_Xp zK~1`M=J>;5nIw$U4T^?6(tgXQX6`JpM`Ic(gM zt8+gHjQDR5Q4NcFSw*YMc;JF;LYdma0-o?NC9^U4}*?Q>Nv1^H?GrIPSEk|s*QrEwHCpws~R&C@@U2(adC}#XBnQra= zcm!M8wI1uZ*>&rv?Q||bx7@_M6f+D5zm9#pVON#$Km-(4bN;TYcLvT{BpK^RSR8_t z#{cuy+u(|O%&S}SwDT6K-gc?ED)wiJLCLl&*Ys?UWlU%jqa$%a($C{iWX5;%Bb9b!m@!V8!dsZxo{|S#VRj*}; zKId4?m9~prqE72?+zL>y)+S#bN}rxIewH)ZxAF-TrSksr?67&d#fNT`7RxVdX2MI2 zc2$|!S)J{YzdRwiU4($2cVa%^Uycfe9-p>R z-|Q_vXRdmQ<)t|xXx4D6o~(Bzz*ycu@!75_%V8LE3VoFO1*3@RYrrM_O_l|;p&}DN zymdHceum=Qlv*H^^NjC)MtF<;9qQGalaJ zb*<=$gH#t~&H?hdK8E3N?A6i}e{02j79@jIXOIp!|4nnW&uP`D)kK_`S1TwjsY3A zfQp){R+?iI0?pB4KO3=W&wb2>v!L&mcGyh=2H1X55PfP%Z>N`iA7y)+xdi%vQbCyY zD2miBd7>h>!0Xw77di4`Qoi!)l@qkxv-@2u4U!>gM*ta2tamh@m_!p)o!{hX(`I-ZG7 zYP!T9%hZhB5GlnLI!~Dq7w=wcYwV3ZwZ~pjEo&leX%c<})i&4Fx-sz+aHHYYCfPTD zd>S%ltwzx6Z~wk_9oH$Rm0CN0aB?lbb;?kHe|o~q!(D_gSnBMZ`Q$)I7Gbuc0^}eI zDNw5HRv+=Mal;yoHLc0Nd2c>_`tZh9$p6!~6f?f?PTx&!Q4#cYZavf+8P{O(m8k*; z;napQh^ z(h64#?pbEkZC+|2D{?24m1;;=IDa=cSAl!aBC+93%}5Z@X#2%W@xpf{le=j6F353S zFR2O=&yxc(vBIbgnn)uxJuFMwnS4m&uc|VDrs`cophU}B+cEfwzE^j6%>dvmMWu-}1tc~=M2H~0MM0zqQIIAfL68pe0s>N_6peTHyWm& zHR1~|J4!7l(niLJcbVDooL26)fI;El0vefzW=J!mQ8R<>{YIven;v`j(4JK*7JX6a zogIb%zabO}`|sCxEx*nO!KgI|qx;@BZi${hy_SsZtaPQI+dTACRb$ViIu0+G^a`%p zQQ~bc=C54OEBrGbXL&rYH?gKxt0z8Ih`}N3ihaF zoBvN4aYSHn)d&UuUVm~nN#yaji0%$4<@pZnv}N>H2PIRz&*uVi%k^Lp#Q*jWtl6dv zrO%olj~QI< zmlQXzl$P|joFr^FPIw|-1*=lx546nYVG^GI_u;ZO!}Xz_GLF|_#U z%XIg5uW8~dzdZ@=QMAWqo~p)4RVuzk8*|qpggj!~6)~|-q)~-{@f5)VfV3Z^y5x3| zgzO>40EVr9o7u1WxW!LlRB64kID7cUpA0|aBmt#?_P)vQQIE|9(5|O@jn-xr7T3FI z3sY1growRBQ1Je!@au(<$@}f_!gsL0_ z0cn;yRmW}*+=TR~4VptE2;fd=H0~PfF}M>i!~1hqaTs^qiP&3uw}jBbky0)uxRGnT z@4x6t-@T(2*Ae21kue%%T4UJvImWC~HXz#vpPU<8-|}(q1RsALrfTmkFg>O^JRO>2 z*HJED;8Ajw<`FxYmiXl8a!JgGqQZ%60p?B~cBRgfC;hiA;Dl*qc6!rNlW$WwGlMF)pjhBA+igB{tfbtaV7mE)u~^W?d5M{f_os{eMLi=V zHrmhkR6j<}yw92)oJ2EMzjJfvSTR+>#2@*}^xSN2uKu|O@6~eYukLF9$-j8wazo%! z*{N&M7C+C-LM(HJIRK}Mg(10e+|GVGEer<0Dxis(K-EO60YU}N&vIvIGnuF^aGgR2 zC?Q{o9vHsYxsXK;Q)p{U8TnjaSNlR~m{TPa_eA7ps+vU~@j=<14d>*J6^rP@*ks1B z0vPCSNt`yG9yT85eyC#un==2RQ9#LhcVouW#g_0WQf|X3ucqs3cTN~cRU5dtt+ zuD$(pyUUdj}pICyTjY3=reyg4v4 zIrye4K-sJqGLNO?aD^`#H#|<>gwp2$@mq482O6Lj1}Vsnetu>EH`kX2{A=K2aD9eM zem49S<>tYkdlko9ic4cL0}o^6gZ^telX;OpMBiZ#xfbL;(|}VPq=3Rfb?LMY7@w18 z6h=faIDXxMYcc)OtoJKoXs*{cJYD#sq2FBzU9EtDWTlnc_$bVdci9rk(60>N6lDT8 z2DcEV%S-n%4UpHfVbnu(EHjxA^Ik8MeV;d+FUxX0qf^|O91Xuo&Z?q5!F&tntxy7^ zr-K(fwS`hJzbs6muEedPgz&zQI39=_g;Qb0={>?}FhK1sE?^OlvvT?J#%L<6=)Mn3 zE`CNb#MNRW`MSgtF_VVKjK#=>l7aN8G?NyB@tdj2n*qOXcb$kc^X$qksDqPY9$)8(64nR9FS5=x@{QV161?Ik7FK(J zJj&k{g`&Hr3$&?Z+{Ybsi8o`1cT|!*c$S4{R&ulS)abn({B5`kqjM88F;r~>k+^b!zcKQTB(#ud#F?cEXA%=G+LW7PgM^Abn5JNf}<_7{dc6@GsMN#$=+VJqUUW)o}z5< zJ_)tNeKCmcvzHjiuEF=DGrXJA-i=A!5v~9%Nj^oN&Yeip%B}V+OYjd6uBR!ei^XN! zYI^H=IOM6-1HB&AW{0iXc>qV)KLSK-f0{$R&di&*wzUHc1P9jfv51>MYZ2|BH&m44 zs!R092i1o*HMk}fKZ{n&I4>&Ux^^h!A73KwhDW2q+G;ss$XUEzXCciSNZ>PaJD4~g zy|T}T`7u4=qK3i5>7Ek}%g%r#^$>^^1bPox+D?1b1jpD8i9}VX1ROt{6$Gp;J%%=G zJHIf^OUL{kD{k`nL-m3$lFvW^?rtXQtU5ysq0A78C3b;@Gj=Nja{lpQ2%ZhYd7LC2 z<+!=K?7kPhFU!*RZOG9ZDl{63AzE#HeGwS9yf=Hh9B`m%E&GzxSK`3xU-_5wHVH7pU$=MIDN9FJ%Xx&I6KgFtKEr@<#kWmn<-T^*! zP-~AAe?ngU&mUrxN$>Z9@WXbtjcOhdDVqoXJg9*=bv`hk{F09EAlP&A*dZUEj(j+; zQ0CbL=nCYwc9-`+SWBDDkBFOa4b}k$nA{zQd=4Y%c96to$F_5PR6Fv|GGwtqFaO$3 zUAJk7TEJrCB@*ckQ|F!^RJ(lvyX9_4UM~&7>^RVC?=0>#z|+_?-ossB&!(Q%?t;XF zC2?m=KB@eN7Yy)t-Pzz!cmsD*0P@jQ&1l}Wm)(TAv7$COD$ZfFvTddjgU~u{s@x28 zAE7gpp#Y?ED%DLLbUrQ~Ro-MO=;YWlC;x|F*_IYz<}iO4hi1{r;g7hHcvoc;r|+!D zufbSKa>BN>gKm<)bz}a<^ziy-XwSITaOVAj2)VRg!Lue$C+`cMT8z54bO&v8%6r-( z(HFN7U21tx5qd((S zhVQ3{#(uO6I7<9@qN1vzs3!4os*|)iKF6HfJi zTR;Wa%y(jC@pZa_cDR=oSTI~0Vl=GAT_NDu87T8>}2X+XFP0l ze0fJjUi(4#=l3U3YNH$F(SL7AJFKJfaYt62`B*Up!B9&&4A3f}1vtTWl|`d#aEGuP z!$r6cQTadZ9c3T&j9B5ie@h({U`K@pN%4w| zWafERI+9Vqp0!y+i*!0cyYq#ID_v0S&Z>4*FSfrcuWy`23@K#l-fWKAuP$6v$fuWK z3016S{bJjDBY=VIxs%0SFQqd7+c*}Xy_tjLTu3?B=+N=;fxNcrX}&YjYUI=J`uZBL z>${!WHm=GXAK*3wA#A*u^2_pb%s_;_(;JeTZ>2&5n{0rPTGNwbH2r|qK;raO zRzZS1sio<&(f{}yCVbo*8^*UUV>Mnnv=EFmde$yX5B%f12y-FF8eGTM40e-_0StF5 z5CzZ*jzpdgNKQlwaY9O*nyPR+C!Lq2l8UYkHn@L}5dOI=Ankfo-_Oaftgloh$c?*- zBw}0GFQ^*?%GbZHK|}JqKw=9z2&Uh?9w5%@q(jK)4ia%=wF`Py{{qL30g2=&HFhqf zlfyu5jmb>-Rr|^MgPSrnN)?^q3SLdu(wd&$b55Imp2oI-19wgYf@3+%Q{dbVgE{?% z0qhv>!bsKn`7wtF-fY`hNsFlW2DwSZyWjHNAevlQx&!Ph4VVK(wyr3esk2B$nnNvgR&}_ z;#0soi~+(U01936a_Pup+G%4Xu@pQ($3EUpW+t;zfNsZ_h%K)F48Faal~(b0<&pj1 zQ<Nrur*(8puXa;(2cY^)fio~|ko%}n6;cSyUaSj!<9U*Ix!-@KiglDEv_86Q5FD&VZN#=adj_WVP{`b@_2 z0q<2+V!~`tEYf{&G6zuQoq(Tpg^J$FV7>|cDgMqzvQ}2`lF=c@jx#^S-&)uR9r;cC5PSofxKec)5G_~+s2fX?k!8Hz&Ec|?5&_+9i3*& zkhMC%SAn&FL9%HL?285nMb2xMIS>_gnE`4;COQkU24_KHM&-ffX1|+nKc&bRUS+NeY@E)qi13Kfr z|526tutI^^LH`m

Wy+n382+-T|ez#y4bNbq2>X#IrtJOs%?Z@rot2i8=-lg}_XU zK_-Bo!`2Q(fQ3A?2ouZ_LV`vYxd5uT#(Q*BvY$Quba^Lac2i*ny4K=_qCY~#PfLPM z!e1pHBzov%12D>qWUN>8JuGUCkUI_8Gx*Mq&{O@%H+Z@V1uUyanjinKd{%}?Yoqr2 zZRkEv{xW3ZB z`~sIM9Wc$il`zxoH3NmdoHzD6tMq9$tUhlrhzmr*dDsD2ToDrhRdD{dO-GVzkf#q* zt3m56ZtPNWQ1-=4Y5!cG#ZjAK>y2F|V=xKlQtn!HO&vP8$Pp7{LKuTTAd{2ZG(osC z!zO{F9)Ns$7+)NmzpHsLr7xWLm!OvPP)?rjnozBx5Kc6D?;`K$KK5-VKn#vJg&3GX zolszzl0`&qag`LOP{>J{d-jHQPwL-N$BGjAJ@QQUMc4(oiKmP@hG>uVqagv{O=R?* z)B}}eqL~8@??tLi{x|-A3mI|tq;Fb}P@6#|t$IyP@V`kFZ+aHLRgJKN9{l6W2Q&|> z$S6MVAv+MU(S`%4fw~?~13-C>g0ZjByR?6N z@3E{$hg-x`xJ|{#K_n*t-C;&yD+~V zsQN!m#8p)d_wi%s;c$>G0$^@ZYC8bF0034CvayQ)*K*89`~^S++CKVV1h5So4ufH& zSg`cA@Fjzp7XP*k9k;w4!g*KazmR>woc|Ww2p3%&{=2+ps!GMvy(!vVija3|9NppQ zvT1R~dP=3&xxaV$fn8eQU@cny_$V+{NO)xDGD7IBHN(R$BgTzENoK$O z>rQlklW#`OcDJGk{A3bU3xx?^zV{v~W;aAwOA5<6L3Q&xL6CeyN5qELL`3As$ zw_GHnA`0rX_JX2)-0DX$0xEWy+S-!8Bld@%I&`PuXOD1G&N3<%Uw42(y z*Vi)4vVy+!D#4q*15Vy^x;>LV^`A&_P@R=keC`dY;qfD;U5-HNqa-- zP&R2=()<#R_vQ`W8m6U)os5EI#cf!^6Sm!{CiIg~))ZTD6?Bw0+K5W@sZg$Z&F-|N z>P@+u2`c%Wqg+3@asF-m409|0H*Z^e}vRm{bkSA<1Ih7t^_+#^;kc;2@TjwJd z@DDu-3N0)W?5}SSdjW~?+@nXnIcBPsyXZyqF6uwt*)jY~$@DSSV^8)?Pq45?9Hvr* zaP#b7H=Y>S?aQeWG{Os<9he8U#UOT?{uGUxyy{_X5qlAxYI0Mh7EZqRvC!9 zO`D-Kry)HmUfO%(z2YSHlziS_?~Bs<^3c`wOyhT9Xt9|2jUGrA{>?I}a)OL@(pTWmDX1(Z921OCYI#Hdo3c;!S1T_FL(8!oqp(!C9AozP_yR0|MD?#E||Kj_8Pw3lMabs_uzMb{Eplh<4l! z{gv>uy?>VM%3yasdQ)Wp|D~{2%An$BGPFpw zu|V{_qit1&;V_Trwqy7mrp`ZNB{ACd2Lz#We)2DZqVG(AUs9-X-xmp+}YrnU9PMce5)@G02K9u9q5ENhE0H+ zXx|dRr{H9keqD6->{=PIAKkW_Jax{P?DVax!YXc`bi_3_4%*^-!cKYay?|bpo$bXL zt?`S|tur&5@!9cywaKd6T;%-+I}1EKx{vdgF_lbRq#zHoB4^N@`0(jdtoB!dBScT0 za@bu+ZO#2JpvLds0=GWu$*%XD$`zOPyA=pv+je>`rmt?c-im-SnkJR^Y0*P2`H5+W zLO1vwsLs6|Lhu25i%gan)iHidy#81RJI;E(zWqY>`~B1KQtHBoSj)1q#OfZO>ozB@ zLWk`Yuis6dR&{6yW0-pn_cETR=52+g?q0s3nn#*JxC3n3ZT5ZmGw#>dgM>6@#&0Fg zKG&I0!8~xgz7(b<`BC1pCd2pMIXSTcNi{XsPqki$q}=gMOJpUm&u~l_AdZ-%0js$9 z&pOMb^zX8>>;#l5v4SFIi?{Sic+W|mtUg%i_UQBGsp_Az+o|z{JToJHnHzy@8X6fo zy=_vRW7_q~mqP%X_10&<(f-Q;6pm}5jJtNgj{0^Pc~ZHuc`y7attm~1b1OMlugR2l9zoeUpKAl ze!IFMoltyP$u#k83|LKC?2_w_lX!OHyC?baz;=a-sBubliVs})KrP3T_ppKNdNwKt zRSg1)wiL*;j=?y91_ioqASSG5C{aYG4C-B7$n5usPUQo>sn+2~v>S9|GP~^W+*$Mq z1ycv{;bjejCzjo_+!EA{Jz_d>r$|R*KYNSpf42^ zSr(pBK7nbjSjXa>0yq&La%C5rLU*^8eY26Rqa1bCJm9L}Zq)=^&~K^_I0sZ~B3(N3VH)@rEAK zmw{g%L8u2`&}~XU3$Ij`+byR}8oXXx5d6NbRTpJTJ9kJrtG>rF3R02@*yOP{QEOut zCs}Fj<$#Z-9|+pXc=hE&{j*v24d|2JHR5GGHST=akby4F*?M~jT7`-+b*kE1 zU(ai3NUdL=(ga$ccW+w%Nfz?a(ER9= z5qX0U`411%9It&5_;Bn%N?p=NpWeO42682;Dj7c9l|ef7350^f8pG2XIgkXn0lk)@ zRm*+>n7oIxuR?@8^+iWDR@upQKM;dquT-{TdR64$kvl_28NbBcnLt7PEGY(hl6RAp z&?WVxdW7RmsV!YT5l7CXYDJ6Up8uK3)(udM$v9lL?>Br?hGSqGCOfM$1r)S+zSG{p_0GpYNqTs(DSvh zZo+J1Jc|fy2G!c#gJQfMoCaN1$21Qce}R?vHMkctjIKJDLA3sM!}fFP{bIF}+*9A| zP9xSQCiB{vxcFDr52jMtx%Ru$ii|T(I3{mfcA~h5!yM(M_{%^s15YU*`RoiD?Mly z`XleyMCTh)TfgDAy34uG`JW$os%Zvi87A^a&tVC1&opD)prafU$l zxZ)4%!>RH?kLJqiXUH{gq4g}Qavl+U0;jwzMN8)J7jmQktG;YfNC_Yr^L{+${_M$H zg{Z)GscLK4gT6<4*LM-@f>?d0`mtid9=>yWV1=w~-83n`*Mz7aUK!|+v}QOvn0Q|A z^Dn%3EX(>7xEOHn5ZRKRQai1xQ7GXx{j0%JKpO&D$O~3Z^sKd&8>#*1OUaw{ zd^x9k<(+gEv*-4H@SiJJltz4Rj-gP{_Cn{d-i6`*0DQ^zC}#{f`7d)Gv%=VlaE~Fl z+bb9vZp~_yXeotudtRvgh9C7QdN1fPm)Q$xo_wxrZr2lGeiu}Ne+JtZj3x)IjnOyB zJMUlMYcX6AllRjbe@xCyTYmnSzInktsXD)`BXnZugLN)((oWxMsqi)a@ZB-ly&K@% z3esFKnhK)N+OS&a(!i+D4Ayw$l`lKAzD7OkXMO&atb6Z?t3pw=iP424YL;ZIk?Xl{u%16HA2k6No1D4)lPX^(Ls9GHDfr$ zJT80K_^Eqr=FxXoT}loKUUFFlcBmWW16Dd%$t4QWdbf9Dw?k6tqVTYVbD6OMGL!4LsdjU!z_cM?)|A>L* zoE$?OVmTN}^0b@|w2yU8Z ze1^)l_ujA$#EdV_yT|GAv+aN^5e%#YnFv0Bld*$8rYCm>zi?};l`6)i2e^hjJrWmW z{QA$8zG3a2#8X!feun0RG9j!RY||y=8Qcwy4dB6dkkO%02l7NmM zQk1hkOBHAize_IZs8nTxI&g=9e&uqD&!w1)0b<0&5x?<*b-myiokov*ZMtu@Cq?Ec#Whxc%KiJ5 z`+>N9#~$Pr@e8J4HJRdK3~@ONN9yDfZ2^O?+@{XETq-`~Rz`FlESV}nX0aFm@Pem5 z0ucpU-?;w(#gc^T@KO3_M&;|$ItV+=mKIh+{J3RG#=tm##{FI$n5D~1x|OGupTn|9 zGHG9P00o*1uGNlh-dD&)1G9(_4Lwk*>)3v}uHHj=Hhe98+&C!Y8G>q?=*M>h-Lh10 zZQje+tGItn#RA>QMNzZ^@!psB8GCj~|Ikqg38E=sUX8~4;k~SeaN$d0B ztgw<5bH&3c@(sXRRSWu{c0MBA=`9gR63zyy=SHiVO=ckktr25-hfX>1$-9F$FF+@=E*8MA(FfmQxC)P&zD3$rH#9Y~)o1}WCAM9)9>m~8HnyCczR&;44E zomVpGTV}l+;DZR{C>-`*mKQP-dOU}BR2s&ZeEkV7n!jI15y~w% zlXRC_shTzi+r$A0w(3zJpk^YXkL%=fkq&uOPoGp!YVBCRDGE* z4d|jfTT&f}fA6nHtPhjNZ8j#cVnT0?epam`W@%StO)3CDI7-k zMT^8$U@S_-{~J}F>a!*_y*=EKM6YsPFgTd>?(Lp~f%oNKE2Ne}yhG(T;_Or^bCYB>>nZ-rLthy>TNT?r}?g8^n>)jdF zQX_=(h`~Ct)cuHk540i5_BNT@J?oCzIY#9<|Ig?D!UH7GjC5lM2ba&9j%S=~B_v1q zXe5Nv^iMeN>0;6;8+Ws!McrTBD)}VKfV!JMKs7yY^heJ182{s2HX~hdlP*;lC&eh^ zw>}^Q5S{v0xV8GHI64exG(Cnqjbc1*%|FMG|Hd3Iu}wB@8K!;C=}9kQ-?t2wBUGHY zW_DZdLpA?OawN2Ru+zz8CZ<~&{az<358DY&rvKI4XzOw?Ro%HJmwT|Q@6?@*dYbY_ zpQE2qzOy^Dw!wG#`&p{wQuulLqM48SgX|5;Zh_~*cX`S(wuikK^t7R&>!t3|t@r^k zs)0r5#wF}rYNNA_(;HbIoun~;2mc!m3shtpd$7}^4$Qj5`^;AR%lkFNksa0;|Mq*~ zH1OvoPAhTSuCc=xN;M6;JCSsASX`zvh#to>`2;_Id{EFEA=@yjgn6ARcJ5()pxSQ5`&qdI zS^WDRCghFng&EkFdTu(D1ulomA@+z?p&`eAHi+peLMxl#=)$QW(U)q_4Bk1GE8CLS zhp%%_)>q*TIv=lNmCT^xQ}2eBF8Qsz^32ST`tYE&_`O5g{0Emlzt3^P-^yagh}-h< zJ>!|zNU*diguq^rCo(9Vx>t$Xo}{kR%BdXxjlK=)}10^_y+swKU$wV7dR{&|>@kdnHEmSM z1_4o8;BbUoFfep+Kj@$K90bL1kR`#%ZH<SGh=IuEziL4DbeUmTTrsSXO4?Blj zt~7dCFZ$(<5p&WTeWXKx8@bs588MfRqLaxHkO(U6?k2 z5V5cYwk$7@h_KWKbGmEQEYy#vqCDTkCCGeyv~>F0@a0>lZhF8EvW(b|S3&iL7zP_a zS>L@T2`}mFM9d9QeO~u2so0nuUYC5|<&r3y`m$U$`HJE_6TYhJ23(VZn#Am&47|iY zzUdYqcM@PHg{*UoOz|5I4jV?ZJ8d+6-W0g{c}^8jLT5*x?w%D1A77!Yw(Fz;|I=sV z0G+KFm!3 z;UT)tfQdN($_w-rpJ2IBk|U*@s+uUsXoUQ?i3yX&1{14h6D!%Snx8#yu~9$W&9Se9 z|J%2Q&G1jsyOR2>b#j|dxxtxA>?b+1 z5OmFI8&8)vfE2`g${c{u@tp~}d3PU-R3Sz)m^*3qO38^XcMqHoU@AoZoZGKfmAgEU z%{JpD73Dzv5T!n)!6BE-P9WXFm=k;3D{v!#%BZBrBm_XB06M1#AwPvHq0r*BUzRpy ziOYs*8z!$=e<~~c+N+csu6^l_UkG~afGzF}eLadSe87y3j#hFR(MY;5t?OW7EBWG4 z>(O`j%>P^oSM+LpB`!Aqg{W%qxi{tuSsIXC! zVYaM!y4+6|mSfbd1)Btu`l}{FqFr}&)Z65J->-<92jK)k!vw{A(Fds7H|#R))t<_d z8Qg5aV_*2{ZbLJ=oD1m&9@`^i>pjF_`1MF8d{|#($yqb=7G#Yo*`;7zhpja^-*Ljx z?!I-1(9u`PDe+$qInJXdaawR8?k6~G1~f^8jPZIYG>KsKZXJ~-N@$a6t*w10%-1b6 z?)>|^e8J@Dub)r$z0`j3>l`A<+)1=z#Ntie2tLCv~8r;KR#7=pGitB+z7a6^*;lC zh{N=fZfPf3aKvl;AxBSbNkH!u?t@ER2(oRC;JxZ;%xgW0#N;ckdnsxv`XPgW@plIR zB)3XfQcz>`0(OQn!Ar%TWVDk--XXm};XHL#CK)t&1-Qde;=Hpf_EhSyK|mP*el3*T z*l!YwiR(qsq@Ayt=>M4Mm>-=29_5Q=gnBji6JWVr)(b(~2bVbUMutzCkFK4<u=KU&Vbs`lM}6lKTra%t%kO`(yQdFNQ2CmPcv`K8ee&kIw{-YgH7j*CI3Vn z;#}vVk*>)nSR<_{0i5JA=`=znIL)eY{B_8&N}uBCoM1A>z0W+H@77&c#I}-o zSb_~V59t9S2r?fs@IXeks@?Ew+G!T#wgQLGpr{Hhp*4>+AL4vlu`M5|ITrWu5-Y8))2V z_W|7xzTOw2am# zQ8%%>plne6;tvwRhyv~g0d60pd#JZ&3!R_Y**DSnj?wKYR3j@abkeBV^n%lo=@TxG z>$Ge??UsiF941hwr^@VPy`{5nv4-gDy<|{3>Yx|1ky(hf#g6%6benFrUJNH{ncr9X zbamfdNtLxS%-)oNsluf~lCSn&A%sb#Gr zJ01Qw-dxstjzVt8Kx>%TzTZ}`Q@kGVLBu(Z%Mec|c)}pfmSGgrVff>()5G!q^!U|& z)_;CyF!t?7I{50rjq>C|&qq7wFKwsce<`Zst-BqjbD{Uk;WT8s+vfWJH~4CC=k);* zPgztC6VZqvI@Mn`Es^9@{o~8ry*M`*4HbgJ$h1EwBbGt=avP~L19w#CVFu#0X+3LF z!`UXg$_0F*Yi2%l@yx_8ot?F}46HRb6>-RpW$yDDoCrGf3_Du+0yh8N!Fb+K-rHC% zD*uAx717rCTrs833FuW*u?6%E%ay;-!UP|OMb+L#QO9qI+Q!CjN@eqSCYxZbW^D?T zxI;lDHmeq|Kn3d{5jg3Q^`|K3QD4;xOjE*=>yu~Ln&@+FC(j*pYbE}7FUwJTSy{}g z!PEN?2CSd~`*RfzVIZm6?!edR<)3Bbam{jXlF;fA=E$_cywbeyQ?({ziSB@@GdX%c z?CxJNwF1?aP_2Lptp^iGcTlouXL0agtM>RvutTSEsPI_THzgUWST1VHuN2G1+au&e&%rRs{$u8~*M--I3uLC|(h6Ptj$}!eFbohVMBCC0c+y^7+Uo2ZP>gmp`y*sU$;xz zGho*;^9I>8tl!|F`?J(#6&R|C6au79#Z5w=IaE8`_{-2-<#94+w#*|8Pm{z6RwGQPu>(o&1 z&;akR9QyZ5r@O|_l>zn)Dn|Th?rVr;sx^Qmkmx?&{WTFz(mq@^4Vg}JRk$@g5cAoS zpy+sWa)kOBtNy@W7H4sAx|`jfhyo%_7D99!b88XhPe{$%SBy-56}ogq()YWu)cPT!n928iEiFrxacd?0<$|&kn5_{9l?l>B;26zC zPP!<6&uOQglu?h_L#3V-0PwOLU{OGI0s1d>`UW5pX@{L$$+RCx&U2BuMthLGDosXF zjTX(ruZBkx7hr~gw^vT`22pjSF4W{nicveBpwN+_?X1U`{S{PV*CGCzd&-dU*WNDV zoBV=RhMw+%<7K|nS4|MfL$==)Ad|RXAw~7r;*6$0M8YpiX6Y&dhT0x+Wk4v0(}2kn zuraYU9eD$i&?8%TVF;|a(>1J0zv=m+RYdO-31$YPLA2jb^l%8MhuHl5W^Xc*Ta0{8 zO9YD|T~X0z57Wid>u`FkmpqwKpoYQMJ;}A9VYpK0nu7qgB4m2<;LkGR{poAMh>RhJ zo{Bt@^{o8fv@&LX!rOsytwda+vc@8*(cV~rrM$yY-tA{>w&LrIs50yu!Pk^s$%J6{ zE@r;UFh-htJitM>IHIR(ey2|bTV(o?A>ZlJu4{N7{fH6NhCI81!h*taYJZj^AV-#P zVxx7vO(cC$m!^ClM)zFiiTWA;hW`b8r5U)LDwdO*!soyzA2nV{>Bxd51S`?rVyOcuV>&K(8B`Txk&cq-B@B zpK6_0%WIkFB8efNg2VsuiQ&#W!L8FZkw;mz=82u5UxPy}a!fO*fl*v~@)a|_Uq=O> z_)f*2^v+OxRt!if^?l&zrE%0v+0m-$J;c#zZ0**1@_YPKCtZpYp4!g7{TFUK{zC6A zC4Hn0Nj1q+1V4>f2(WRuugxL)d^lxDZrX7V>d)p1aLaIqjDWC2>;0^+x6@g=zy+q_w{npKJasVB=C$OF)Gd4^h^U@zp0@?Hgm!5EM7Z_@P-O$glX+q)}`GYZGI(>eKDT)M@-H5dTngovh2_k^>?lrF6ZyI zg(?7~>?E{HC#W4XSxAm)Th(G5Lbst#1;1fG{vPtF{;6w8QN+Sp#juJWwW&9;mh;Ez z`v1Y+dj>W2zU`tYAOZr?1%xP7DMqA;AW@M1L!?WMigY0&9YUh0^dcaFv`AMe5h=~&%AzE`M^L}>se2^@9Vzq>q3vn%H1FL zM2w=ZrSAI%**$qju@AiSAroV)+=Rw1W47Q*lo0B9Kvkr)HJ4#nOV~rgrfC@NRp>bp z?Q;RMSLSW~P`*BAiKDuK`q?;}P~5VbAKQ0Bx90~C<3jV5v+FZq`Ito$tfNN#@0?QTyp9RW)LnH6H??cfT%Q^AFRV zeftq3Bit1?SodPNjFuOz0$@DP)MDr<=wlEMq-{{lfsRwd3SIHfCJS%kaikMi-j0Ez zpYSD?RO}$A;RtgSrr|TlzgN<}dxAcVtt@_D4mbt^X^9DWU?F;E2YAz;Ys=k=OmCq@SMGfe{7qh%cG*$sD6cPo2CO2WniUtp3Te5c#HkLQl5B7J<)?MZYhut}?MN zs-T2F83df zDQ~7-TuQW&6E-M9iA>#|6$!j2M~^Zy>AzD@gi@hSuOK7eZEbNmN`0;=UkRg!;#x}n zOwjBA_%56dKZY#gkSMJt<9`VB@IRY=F8kWFHT(`(1!j5GYdokMDR%bIGHkf&cVx-2-IoiT=JmpeA(T4}+~c zQjQAwe(;|+UqDwlJlfv`h*>~OxIP^Y*^|do9YF*%RRRD{Kt}>l`jw>L_T1EAD)Jj- z+z!+S1U&mUCH~{jfZO_y!QDp!e%;)_+vlRjfq_0T{r@tO1vKkUq%sn;$Mtsr{?35E zOW^Mw@OKmZdkXwL2LHwZ|EC8+{<%B^WRx=c>@;-JF2tg1)f;wAuY1`=Q;B=%*xIVj zr}?^(cc~PjSxfJ2a76s-ht$Tvb-G*GIs^cZrie%vWDk0vY8M&2w(B>cf&;=NC+q@< zq7oAHzw(mZ?`a4a>(ix|BhtnuE(;#l9N%NyjJDM@DF}|TZW;9-ti6p~e%M4_>Uo=? zscLE-e!~Xl@Z>5v%7Ms3n;AUIo| zh2Zt6lJh_*EDs47T>v2_8&Fs|jf#W(a{I&3dkIVa48ijf-DrU7!I2bDyWzjZ4-hJd z7#ch912rzP89-=NOThku0>52{Y%fQ)%PbBa3;ki(GXm3PlgM|dKv#$kgl?z{gtGUT zp=84*?>`LMe;DW{9dtfqyU7yl82H*f9}tkD0>pGO4V?!jf*isEiT6_=#s(2mgJ2uF{KHN;cOW3(4%uyoj(jdsAGlF z7W4=iN&5kU44`t?P`egK2!l)cu_RMT;FID1#7hneMDuUTKm;(2X|=L9@UMwUX00s{U6j(^K=+(AH56LMvM@dMNN#_Ip8`r`AO zJh7KPoQ&NwP2{EOMB!@zFrKYgH>pd%k0Q2odT`g~`yU4AUikOl6+xu%^riDHymQ2y zvEN9mtDq(15q^(0S2K5>gRsl}15<lm>78UFVdi(GG$6>)8$V^r>cp6{s@sIGilf1~7N zO!21LO&~ZBKj?rE$LkV`bWQNk`nX?&j`pER&GJ7;VZHNtTdiV~5JvhpE4B42d~X7tGfwRuP-zpaxu+Ln+tl+Jk);9;G1UejX5#=C_A zhHf?&C$gpFm)fKnHcDcCAJ7}2B-2|&fftL-(i~wO!fCbW;yI3Chv|P(J1+dTm5?%B z@Op&31aSdMS7=f+?LF2*!9s8NL%Id|=4YW1`zfF8TP}P5yc-oU182$@GQ58O=)?=> z=XE{d6m9z4G3EtAwxkvNf__#@l^9|0W!C4KvZ2PM)NhHG5FxhrQYCz>l9Leg!5#j~#eyf1xBe#ToX&M2y)$E?1 zd(+VAqndu-B^H*$UZIIOvw2bC920L2(Vj#n+H|0kawW(Y3#d0?ymRZT*Ol>Z@(F%H z0XLg0^vcibUDVsJ`{?|lb@|P__ib$zu>Ve4>YRV=;ogA^XzzpNwndip-LJ7Fj5j)l0(K@gIKZdps0j}_W>RcF|qetY%jdS zN3@UhTouU=ybuz5%c)M{`sKBAA$?cP=ce2bw-Jl)tQ>U*%6VF78mQ08Hl0qKG=O@? zhZsNp!>~04jw)ZM95%;yf2e9Sz7Tn7St!0@IEAeF6Dff7@^-^xw{;e9Q>2-W+QV_g zWyhPjM?0dDQQN7#?2oP%st&yul2Gpv^$HC>wn$LdrNYueH|csxZIpaO$?t9rs$OgF zCgi?el(LE3W6r(&F#3(K4qp+qL(JxT++}gbl)^M?nscOkg}C8@ujI2!E-vb43Ll@< zzo#2|?#Vy0#rWZ=1COKZ``MD~%Eg$Ossr^H&5#9mxIr#QR;S%Fuf3~QqnSJ0!QU+g z7;f2rm+2QFVs`dNGlwUr#&{g-dU;uJiBY!e+WkF1d zPS#?)3(|7xP%EkI7yaVsgK>ZMUn+9!Z|vmaJgnUxGrTcs;3>Oydg1q{-QBW-Mv(+# zv-jTH-V!0jX+QWS;ssotCmC2($iIQ+5+Sk(owXEi4`wA>uXWxFj{9e>A_q0+Tycu#Y+S zV&A| zlI-+faISE=@tK>8^CB!N1AnOM@QUhOD7`QhEhj#qTPjs(*!W8F5_3n#4i zjr`ZUt(?|x^44M}%*E{0E#G?h2ac7}-8QB8kM;>T67FZyZOU~(`RXMR6;WInWrP*D z5uTRXRB|tn`}5o6AqJo?YKxJXZIU^1be~l8uSQy0(E%5y9bhiU(iXg}$r5(eph9#< z!u8BkEcU|dGkW~rHSQCXbpKg=r4UFmb;}QPu-wbsYfiVu*q3k95c*p;EwL?CBU?Ty z3VJS>n(BnrOq=VLiC1mkCp}=0oLIwb>rk{e=oe|p4~Y{UTx?EW$NHV3*EZ(&EO`Wn zw~H{o^7}`Z#b2L8T7I!;in$*?W8+T96ZEA5gqbwWhiG1xr)d{aZ zr+RKVyT`cRJH3CRgNC!RP%^49Vzup7YrH$Lz3vS|D)g8t_{4i*3Ic1hkf`)Q=ilrL zhuf@#xTT*r3UO?|hszR#^6fu(uhqI!x4V^U7q9nnRDQX2lhbQjZXZ}2I6yxD9qZ2( z9Xjz^ld%M@Q9J5Vl|nN1s^7WOzw&*iFf9J9K?D!~-QoJg6Oy?=h)QRZA;K0xu>p-- zQ>A#X;DS3t+(nri{&kri7abNY_?R`z$==EDf*xEK>Wh*e&$+HM4GA?mmOh5f&tpGm zetq^y#l$_Q1~ZFjFoW_V`f#;(Us8;Mk#-5y1s}+z9bb+Pt))#>FF(?V=x4{@ufRu{ z*K6PEe=K|?(f+UfBM!&ypS1~!0PcH6?TS929j64vwfx(6tgSN zSlOuN@e78{IohfP0A6)yFO4lXQ~7e4OVi_lK_j?{MMSq5^faOyS?i1#b+ad|MIRVc zgL!_L6?G^y#gh&Nc4pY~u|MJyp7$AtFWlZ>nfpDXUG1r@a$zU8M_n1tdi zFlX@m0}}NVuaI0H1k7&39}F^n_*9|7ejsVI_{QPMrr5UMVD1gl{CUEb>mr?y^Zdbs zOS2(QIG_Jk*~XsJR9nDC(m6-ra_94xI!9pQx6Zq9Rs{FU%svS~cLswvvhWfXs%;bg zX*Yf5Q;_}MIn*ChKP_Grc?+&hh2(a41aK^~`<|Fh8o?ZZkJ#FPrbNK8(Ignz9&WXJ zu$iT&Zf^<(5w0!&VURuKV5e(;LAGKKc%e84l}<0UZ+RKhKb{6TW;P&W-NZOmJKL^o z?%x2jBEMn1fOiah({!_bJ9h8)9|i^>KrHQVk^<=JG&Ge9VEcIf1_6xq{s}7Zd#>nY zh|!IW74bg|)>xyB&9`whJKCiazoYPwBN0tgAlrl8db< zO7WT90`Vi}=J|(IxLyE~zI~ly=l{yjyaP#7^8{)qFt$RgmtZZy>gUhR57N06g}v< zk0Q%}6Z}~<8R(oIvt9y|`xo5{9eh&UK#KQDR@PoZ!}R#2-WaVPI9!uqZi>l?t>j*)z;zK__{bkw*5N8k|?9GpLheZGyc;8S0aJQ0RS1*FyyvQdkQkF4d zlkL=-51Ilq)nZDSM;&z5Vd5eFup2kkaeGwrqKikKXD%D&rSX_@oLP-Rk*?FY1PYR%7&cdyHT$T+G` z)Q!AZ86AD0>L_Ejz9RdMaQS&nRm06W1=v0|-~Leg^_r2@TJs3Tb+@DsrxkS&1N1~J zLE4jITLkNgB^@aKb^68OCm8muEW@$!+5BCX_lSdk1XrgQ&ilpNq&XsHKwqtL-;1Hu zx=>sq9_OvDeE(U-@C(zd!r<>a8 zcYh_1E$4o9m?-(lc11dhsa zRD062-~y@#g5i4Aa&44qBArz|+vNq`&9}ze=0B}Co6G1uZ7MW?I1f1d!8)*sD1tRM z#)*fV`d~UYs<7}leG>Ck*H==2RH=Wy%fK~0q%k&vk)Lf!yD!vqDiy!`8o`NdbAWpj z*6?$s9!{c_qdwyzR>^bb8gUx-#YytUd_1+5ir3qZ*|NdA>R?j-%HgStdw%GZ6u?Yu z7;a6=YdKBjq=>_9iMcuW_vkjSV4q?d^&=;H*(G7^=LCD7q2M2$zB1y5; zPzdswgWTlI{6Y$-S6fLj9kf^b)ijugU3iNHwOoZG$YD$6Zi~QrbR|lyrhT>tIzi>{ z-FcL-FyF_d*v)CGx!Q6>J|d#qu~mcZ(6ev{Vsyw8!Jab}E5Jk+v;r=Ig`I1nvvmmgL+mT9m>?@{s6ud<)yyR3fJo)Uc8E5yHU2ku6` znwKDlt96BQbxpghy(~{&&az6}Q1W2wIiyZ0MfV}kKH=YCMgRw4n=Irp4wysF38tN3 z9=QF;5>dLu%}?MxM|Ns2XmYza3ORl6&aZaE`(F!CjVn1BQl)jk%yuMebl9bL;--~I z!Pq)2DRPkXrZdx5UjAj(!&H08srZUBmCnA}YG(pZMw#s2fO@6%1`b1^Z_;$XefBr6 zI%@Qwg`hkU{XoIaTrqb4(H%H%Z6Qwnxq?Sf|a{kpL}}MFE8FLZH-BhHn%|v06QAp4+=;E_+QQ;R+4YE5nu%&U zFHMMNyj4;1L0*t)34Qme;fM1xR%6LA404|=BAK|_kdrciQllI(j$}<9Bg!pai45=# z(@!K#+|3@8M?Rvc#Lksf%KMbA3K{f1z{ze?%J5kf5yW>WbBhe39d%wyJ{WgPI6c;1 zcP#a8vyxGg8!e}}D}*)1EaK&AJ@`!!xbIm#OK5`rGWSV zkYN?erK#lS3!!q)bXA&2+^{FlOD5RHoGv!jm;G=cl9A1M&2Ym6@qB(A_Z9gH`vCPC zBm(gOvEC2P-PI$!%W^K#d3xVrZctL|vGtpWQS;v4dsrTw@@vlwNdHR8K?}}JwUeBJ zJZxdptI9>&qRNNWO=&;3(Y;W|#z`6*A!*x|qDnsO4AeSHfOh7v+l|*qKd!B+X->2) zb}?TTzubG#67``J$A|SmK8G@c^F~@OlXr~>J9#%)%|{lW`oupmu+@AucR~C1iP&w) z^I{wbU0`VeiZzc}0|xnL0d2*z2iK`L`M0~i&+`s%r{OV?8aaK3h9XMWUzknHxdf^^ ze0!#e(ZqJ{o~525zoxhbuj25Kt^LnbII-*1gre884Lj^qbzMpAl;`SoF(GHgPK#c> zv^OWUbYW?)Enk|)->9CkpXoR4shvqMv@@q%F3g>n2uE_3(a;3!_6dS z5x!f155K@0{!u>&lf zF$3b?zfTE)6xk1uiGWEXbP9<_#S{}@33SO{$F4P=Z89}V?;pPyBn+&uaAVYEm(Qw8 z@RKKVCB`)YT$NdX_6cr_U#Itfc5h)L@~@P&KJK~MoK~1zCrbMI(gwSbiTY}@bwu1H z1rXN~=nCtVo5%FLPmUgYjwVVm)sv4fu`chVIrfYOB@7-*NHUbj)rlFYNdD3@b{{nl zpPRA9Zv4m`GAcupiWgf9)yPkhDX224E7=r?#7@{#&Brwzi)MngHv6t_tZpbdU&z=_ zda_|8+VkS&coWKoR*QT*z)9~h`AL^^=N|mn#W%FwXv^E5eJY{Qe>VA)xya$`VDgH869fYA?gXzO}Um?Zs%cV^$dP!Ebtf}4=!T2k_c+; zAcAoc7u9Q2Sr2x8z^h;b{kc~;(lynxK1S+Q#V)wl^6lpfW)X~gEAKI7_3EfQOPjlr zfaCcehSqC_`jU|8+-hcbS5_} zX>t>VM%8b9uNFyf54d@6e@c_BuoS&hv(oT;=oejr4k)q^%#x-a?cXNaY)cS! zZ`TnbOP(ssPVqC(ma4z@QP^=iJ5XZ`elH@&@RXAiVk=4esKt2SU5tas6{88H9)TdS zNqf&5cS5t*Jrp_xjpAR)zj~0QsNrhX#Q#q>ECshk;Jo8yhIZDPxJ zK3i8^t;9^ptK2^^s+^CLjZbOJNiUJ}`NN=GzQ12%oF*eVpWL_|h8{hhq=^7>9PSVf zxD8okF&fBvO%vxu2^BSX%Jxlg&3p8jz^A&t5+9@I^!aAabaD11*awc(Go(7v2tA8; z(}5m$PeN1z{RZI6rlOGPUD-^OnYNM#7rk+D5)ys19~95jehTj9b60M^lypc-M*uZR zTqPudci}K9G44tYGEX0=G&ehE7(lWwR;rU<~f zh`Gh2dG?>0a`+BSqj|ehPa6~1Q_9z?yXP;(;yQi?sQ*Z6mNClR%eKNH?6JV6%Q+xh zDrFv~$MX)gXuP^}xP{a~0#ncvHnp^*S1A*PI2TMYp7?!#sF!rTcE z@eeO>e7ih|pV+GOmo)><9a?harc`;q{D?|TTYGYpvv4HZv$K z>=x9PJo((7@%lN26Mb+OTCNt*vd}S36(LlU9|;i9u@4+|%)eaw?p)uH$zETWobbu)$JcPE8dw}c$_v7e;P3*m zAhgJSt@8pCT7&9enws};c8OlmvAym*tnb!cV%lYu#Fyhi8ObD67i?N&A*prut4tS4 zXnkHNlPZ9T+<@Wwo-Z`CzbL%K#az4162FQC0WuGCks+!G#Te1s!b2FypY#w`nM=#b zY2dLI307ghzI5w;>g#(9z0xh#sdQd&9Ee~Bjhi@xvgMJ9$UG;{p|<>aPwsURiBzj* z=)%-9@co&*;&%L<+svr%-75n(!0#_vO#c>ZXar`alX0)G<;%Mk>AKAO9zdbK6jC@C zi4+79w#P$Roj7()lZT7ps%m?M@48*m`%+KT8WpT25N-n*|5@LcPCARA88?y%0UfR`qcR;~^R&&HTvwyOPVDF3iP&zk9~E3+v_EVYvM2J4EPwrRyy2X%@*g=?hZ z1tTlOxl(A~#1VB? zPptuG4=)46Iz`|~8|ixE)kyAj)leY1M}PQvFrY1&JH0V(mC3sJ#>Y@1nbpRc<>HGA ziD@NJ0c0D5YD{qM#8q8+32qHD(J>};r41~D9*hC^GL|!((XVN8!IjzAaP=Zf+EW9j zH(H|=u?I)ei}4<&nQCm8@+*~rkLUm0FUX&ff4}xm1{Bk|7C5|m0K7;r`ofUH{LcQJ zOq|u8Gi8v!idzwY(%z#)5l-q0WSK1uiZk{6D4p2@aRR_{G@u+_PG=L1pMmXr6IXv~ zXqvM72eP#Zu?(jDIDKJaqr`~=9=+#Abunpnr&I8+0bsmV89f zbD%1c!|~A-aBj~l(&3MEWF6S=OSFG~bb*=Yhn1Nrh?V*PI$B^dYC3mCo+Km|)nVQtgm7t|e z!1N%=m)tr$TDbegnmJPg3Oam)Jau$5?$6zv>x`y}ibs_ua(2YWyA8pWfdiXh-Ta^- z@{*L?8%{2g?3pB;m(U{UY2YA70m!FJeKX)|6s+7h(`s&v3Gwmy$Bn7G%0V;nqfvyJ zf%z>--T`P04W)I~7H)@HDyn_X+aq`(Mun@!A^YWN45aSb5#!-4FgNA*YA%;Tj@n&w zkDAN9$Gvv_L&0S~c+Fo~U}R&Dg6P-=M;j(yRJFE9kZ}>aN8A$9TP|{GD?$JLYEW4>ZD;Z-#8!4)ty5 znwy{lOS2BVTV|%vV8w~=>%D!wn}#~8=@mFY;1t9USYE-}v1C~>^b%OCVdmHPp<;(r z|7G7N6T+6hl7$R+`7?YZ-mu;*l_UKkXDxt}kk#OhBu=<^Q&gwgJ3V$Gu)^J6#kqUy zXRa0&L``L<)ZcT6U%m>`#?ik6bxJhg6y7OzmALjI5lz5Z8*=aXEF~K21E`tZow92| zr+6y(-=4A-VschF1U&ercu7HIjYY-9U4~#S5rv0*Wj0EtzQKe@CdH`jYlbV8OrKmj z&Kmq+tv6#17!rFxSPNP7@f^`u{mr} zbZA7mbV{yzJ#w$B#c{qdXUPvf;C<^%&*FW#1rSj2WAnccdUlrAk= z4{A`&A=Q0-lzG3xNnf$Dd*zg4UKCTrZHZIZ`z==x{h*Ut>Ko(Jhn?s%`X4s}laGu8 z`1Ys25C3MBuy1m`1&KlgE^l|=^;I^V93;6CaM1@`0>89aFki-~O3PV7`1%HIG^3!Q zq}f%&LZ-dFDAxtW3k+)QD`|LH#Z-s4t3~76PV^k;(Ru}c6&p|da_Z{akWgC+-m1^w_Xy3k z^(xP2n7)s+-H;A?!h4JO%|dfa0fRoD8M_I*D=?DKGPnSMN3Y9wsGyQafm(~EuNmwD zkBE17+zhX6N7*u-dBZ8|xx(*aWVzF#rh;`GJqnbK^fKa&FQaqXU`#BaT5C%|-KHnu z%=IJHamZ+74We=>+RZI|7$bXj)?Pn(G^z;a0{I9u6@{OOE~i@I2br~}a{w^QxIZpyEaqpV zjlqs&%GHfqvXr39%iK^Ko1%9Q=J>T9r>5FFZrAKiSPXtwG%Nj7m7p(}XTB3A$h2!)rb0thsVc|tncSzPbJxS)%2zd4z29;wgqRj%P{SQMzrer7! zVC%-!Rz7p9E6;82JVCMhAB#@w`-cyF*jlfid!WycM{v?2kS-{u&36FFqv<>b6Idp8 z5$ShxS+*nZYTvd9_sp|wF@4R6H+%8=l7!)u<+s`BF~|AwnS3bWI21Yk_I#d`;eNNQ z>aVS`ra@Uk@r%#FUUb&>}T?HQzM-O~1$eRo|pU^BM9!TE6TzyL$B|nP+u; zRWY!}w0>i;Y@);iY2B9{H8v)~Rq2hQ_u=iY+{{ZG-ey%<4?}+L zp{F6FB*H`+b}F=QpJX*w-56(oQ+uLg$l-p2V^_&1Ov)om(O)Cm@qW^Nb(KsLYv69| zS+5px8cG?*PsWnoAcX+-hQKrID}{-tF_ST(SDNZubxtXzKR>x~a_wT&4k!}qGWa}~ zo4{E~XuLy+XUBVo!m6DnXH9$qQ@-x=&V72jP&K3en3gPz5?`b&1e(A&19)fi-~X(-2pq} zVKx)&`9nxy>1%TCB1HPpfVg5#PPSs;w?}^2{^&~tx2;r)233<7O+1XCigKn_$o?o* zR#UU*_c_}mUZ$Y<`nLA16AVJv+W<%JSD)nXY_yNRRd+m`|HF{eVxzec{29?R)vNKz z5B!b#uW~}LdnP8P->;qOVMYKey=AV7OF>W=kgi!weP>M2N6u5NhlV&02$Ps z%TJC&+mXG@)jG`do5iJa=N{hg)9cwa6uGPgo!4l&hj@Z0hl`V$38@RZwM8C;lH2r- zIGf=4U*W~8Yv0{h6{X+g3-hj7|sE)F4eUEp^bTbQ`RUkQmckywa z-o9^9#H7##sqRyu3y&u@+&Xq&LpbUD!S{m!Mcdb~d=D0>#pj|UmG_EPl4DZzWf`t) z*)yCW$mNoC3G8^8);MpYQT*MPv?zfJV)GEiWMD93DDt$QpM25Na|B>Dd#A5dyevis zoO?!{t#8@g=)O-Ku(ndhD48xNA4O44i|bOn;7?gJ} zkH*2pO&Hkk>y_l!)=e8dZm?eP5J17-Qa|}04D)}n%>UnCTxZF150$4)atqEK$y4WW zq@iw>y|Sd|5Z)&6!$$z}2#5JVs?foS=Jub{-xA_bO}7C3dldz(8Oy4a?(Lv18MA|B ze{_5kk`Q-)SkmKwNGiSN*LYENNvu2-fJlQ2+UuxdPxh(ITEV?i=Bh2d3XRI?MKvk~ zv1yktcR{I1<-bk90AjaQlaC9I?S1!$!DcKl%bgxD_hsA1@XZgTT=?Dnz*t?u9!r)p2o>8Q`tA93x_Jum==wgTo6s%SHy6Qdc~ z3L$y!?fx$rHcLsPoDKB`*fI1-L&N`|(=dbsezJ7EL0+I_mQIiLoGpW}0teaDB9ij# z55us@EwLD&H-PEdOq-S_`Q1PMvnP7i4Ef8eWv+H6r_#n4k1P)?8u=q)FBM)Z|NW); zYh9JX7gLd*Y&Ve?LNqTtbTXABR!d8)P7?Cq4Q>h^fe7|`4r1>L$nn_Amwx$FSGTVg za~JVzDQ_TrUH5vUpZ&HRU>&&6m$r>a+?;UU*I9_7^43D9CP;67B9s9dOOkXd-o(yu ze61Z_6eAv{-i`Mrp=+)%UBly%GS3*!zGLpUrhPyzWZ#49kpXeZYOXeL^l?%kFQeo300+>yUiPBWX&j>+#?>N+hGyO4V< z(>ef@+Rg$5`~>|)u1-_I`wkux!ehr@kM7Mbg~>lNR!)-ezBOW~#3RUdR$#Dz-iiGR zqAE^2SHUqN+X3Yw)*#Y&aR8_~{NHh8WEMq&1gvBoh|C z6~%YBi_Eg7CPlV@=v|u&&>6vQP)!E$MKd5g^mW_|wgm&G6L@R&p^sWPdYc0)rf({R zICN5nMPeU~5q7sfEppAAfIo1f&((PO&g=y5pZwQwUav@nvi;zaD zDFR%IXr*MEb~}9MbeQgqrsT9~^ObU+2eE4rdUjF^OQM@wTvNNG3uF(97+i{oqDma5 z2EXhQo=lO`T3xFDu&()t#qxV0Ge4un*=yF(fB^uW0Bp_>LBc0C5Ke`YWDcB(W7_Q zU2ET@?D#cUYcq&BAv|fVw0PtrG!vpni*HPMThKDA)9E6Sz4Q3pCuQvu;;rX&`L0GH zuPD#=FwecuNST~2C0Pp8j(;{Emwav5dphs7R+Hs#Y<101XdxDzTg;Z5OKQN-;MGT< zv`{FOR~p8Q7~vwW;cdFM?b~Yw8~Qu}-$v0Y%#4KEqn$9B`p6BA@x8N_^2vrT4l%hc zRe-^RhcaloWKnSYD%{geOmh^hyt{?k+K!yq_H7eN-G;bpx#DCr;6*>S+~QF!zsf=c z#Y={z(+kT3$nXY{dW?)#dC9&#WOEhHOSyvR*rce!If%HnKw=*89I+|g2Nsz_QhIWw zY<%=2sM-YUGdDF~zy4ypls<_1@{P<5L=J%tVvi*KgfhaD*aUSkLfV86-F?_I9or)gTCx`-XQ%lNa(ik()!)e9_>WcxIW z8QmE;Pp@c+0|hE@0Ef*|R5aomT!1`K4!@$MkZGTAcg7?Zsy@F8Rb6qekJy=dWsdzJ z5%9G9he0c-oX^6$w(xL*h}-2eH!P~c-~mdnFZ~;oU}~a9G9*_mCdCMwChovZJk}B|ND~#`}wVvc45IKLm0EmdKmTh?o(eA z6G-(A4QZN8hP+nw)ngr~#6y(%#RiK#3`g+?jOH{=CKQs(0b( z_s)0d=?1xTqlS{TfV}n~_B%!`@EC(c`RyAW(pifLq#lwfpm*;IVhm1MGRSiHsSseI z`W_5r{7QTW-+e4{%dLO?H3@b~R15(+m1w zUoGd_{URL6^rr7>$o-i$(fSSF!5Ka)6F(=K9WpR(#~|a^s3R|6YOx1;j%35)_2D7} zR6BIrbQ?|9-AWnUZqc7=q7~-Qt&ddQZmMC%TOQMZj-`j4G&E3gIW)#*U4pS6j7=1YzH^Wm~Bk7g!&iE@0p?BEv|z zw73btAg-Q(T`ZwWvvl;}n@1e7Ai#N2L#vkhuBHLURqL#{_08lYOS~*NRuIq`p0;FT`b?9L9+E*f^!{o|MrMpCq<}W8LEv*7_2MRCdyWYaz$xCk8 z%8(a1$d659Li<$wt2m0Rt8nuN+=sIOi)lT$0YNX94pScx&ZEV0`6PUj$~;}64RGn}3Bh}=P{61%E~CA_m6@TMiu zP%E_T?+V?!HMBg;(zo?x^!#QI#;l8j0DpA zI21cw7TNv)u89ztlj^Oa4^p5r+72Cl7{D@B%Nkx@KS}dTyc!Id9;LJ5A5sjd<|A6l z!4`{Rd4%1rW5*@|oM$aY%}BROqf6diruLoC+j^04^Q))$&Zi#h=(?SgOmP(P8rvB- zpXJ^1N#N`G)c;oCQ(@QQgMk6$Zrn2EiRqElq4#0XEEPw~g)C$v*vTe-OJF{r3&XX5 zsNXfOIeMi!+|(Qk=6nLvn|Xc9<(;#9EWe%2`z$uqC;e_~(EuU=J*%l$82l2y)&ZTC zupQD8CBJi=$kdpu&h_L!y?Hry=Uk!NJ^sl%FMcuyT)c&z4!smg8$WU)QGN^ijAQMo z6go>3{RftzNr<8hmmQ(=l7$U-w+qXPnSrOYw0^$!l#hYo9?SLKL$*tw zvuAUr&PK$31*%PjAM#@_G5j~b82^m^`&FmE?b-isd$wF>izfBKm=;^G)=u)l;ETe8VsID=6TCzU+MC@aQWSeo}yXorm-4=Ue>=*l}G_9Y+bA|F;>Gfx~XA4E!KgmtcA#GrTI_idchwF43YEl#M zes!7o%y}3j3CtYNt8F^4Rp{-2C9Y}H9y>JkB97gsj4p8B!O6B`aWlt=pJLKgeBA`n z&%^iZsp#Vekm$%h^sMF9R?!@ExourWuptnUrwd=9+=s(cNiJle3aU$-j+nT&fbsRN zR0rA{LsDbL_Wo-0N;gg^XjZ-Z`X-8J+z%_1eXsZnju4rD#7%h&xM?K?Ju0Np&57-d1r zqnZ*XY{>!ASp}d_I z_%8(lJ_|Fj&>KZKY8LfP*4IXQ#r84kF7Qxi{-1&fO<7CW&NVWa5Yz>9P!x>nRm=;F z7GnimVHZqS&TQ?gYRw*RLyTfm&EnqH>S}YE==u!W<~MEPxsvP`QSE3Js&N>1v07|( zoanvj7)|_%rWewC)PYY}pDmwhz!3R{P5$_pM<37AcbhubdzCYRhxzcITW8C|fB6sh z6HS3W+CL00Q{35$!R`GCH<+6R^_;^=NTqnim{oKj5Dq4XS*pL9U2*lFC zxWUAtI5T3Kxk-2}R){Q9y{$yfV%oYM5K z3NRiUmj%?ixirB`m>L0v#hX|9%~kQ#Vb(_Ao;%V^W`djp$9^ci7-=+`FTbpPmuJrX z;obaf%YrK4uB+t#bMTr70^vPoq`!gzB9q z&YO*0ISyYkY)-PuZ~7M(_9f6+Gto{#3Btt)#=rt*Gx16G@a2IjnSZTfFv&jUk-T=F;R9V7ePH^DhG>p(z4okt>PnMHp;9{5tCej8{=jlugV+ zit_7S{@e>GSJ|btRRdFFm+72TLvqIwOoV!82q6i-k=m9i6IsLUo#zRDR+aE*0{+?c zG{ekZK1AqTD$Gi*&9+}rML4v9$lBrFb;d_E39}+`=sgolM_yr+GEg_{b73PE=$R8 zTHt?KVCnQzz?y|WCKnLH@SP1O*Vzde>!^S1(;Aer@K@g+MJn+jtTnNX_4~O6=aa|k z%D0gz9tdxyYKK9unblEbf!2SC4UVEnPPF_LT7f@I#Iwqs9lyWuhk%$l|4&b_}o zcg^45|C5#EoSgmH``J$!1EH8;zGk*_OFe4a+^mjE7!uXiEIc<^Elc0bVfh-Z^I?;lK=S zXW<^E5JZX*r|KG}LTv-(M&IHx7CM%`h6sr!x|E)jUN#XNjBWMkE{twuHhNc%!lA4P zFgqz^agp{IaG)_@a(}r3{bY3wMN#bEv#WG@Afsv5McmtS=_Zt1?rOnu&BkwRQS`BYTr!x@S z{MVv4?b;vZDpdGBbl&wOy(HGzM|qNr4R@8I4M6}ByuxMZP==ax@^Bj~VcxE#FDxdw zAo%t5FMg^6>+upz>&XwDhp}~VDz`G#lm@i|dNrS!oF!IHJ7Wlf%2Lb zdL+sib-QSjWrlu2{pJ*g35||^?=rs{77uH0j!{)=(o{TiX_c?P{r=2hwe-$Df6MY~ z^}d;s9!elETBh>fs#DENlpbm{1gQx0($I^SAMIaFrrYl^25JOGpM7Vi$_J9QR9SQL z-gW~ip+=Nns|uBo*;D?@I9C6udzn;p7LhG+%|hhR|MQsmpS^VOqQEa^XoSOJcuzC_ zAkv5yS3`Fv8(CyitiOI0t+OPWw_*jCGO8sOCFHkHo_9XIS2U4EG>D$CK<=ZpG4^Pi z2^=*d@+dI6VCTPhFy+q!Xx*F17pB#3+sXP#OBXQO^jPUI@dMf?GmoJDa#aL}+5a3^ zp6D+>qEe#_=6lliHYui4A5{=uW;%6a&hFXYJ5MCI>LniwHZZ9RKPw%Qn^jRqVr7BB zyTQK+f4=`o0{5~w4~kNs!=wAp6JUmyxMGPzh_4 z^=``Xp%2&_#Qk@@vgb8=KNt|d)@w4VNh;R^+2_j&cv;jaL&yQHY?TEkh8Dw->4A5-*v4@eOa*td4S?cV_hfev`sf6!Ov@v=rNiaPY zXsw_+zR6Fo{M9_{5Y?13+;(b*kmGQ6;B1RV2I5B}Vgqg#|MwePkya8H+Fj;H{Llmn zbMadyIrCV<7nN0g56(pV5cH$|<@(SF-v#$J7%gB7-HQiDpv-dL++G>|%O%ES z?f#kIG?1a$P|PlP1y&~nm(lUNeC*hAFqBJ>6^ZV{tZO)PBG8l}jvn^EeW2BUfA{}* zSNvY%#a-;;|KE@MjjlS2S;9~_w>VW-Io<&JIpI6lSc80w{v4JMr)vVe63;OqP;CDD zxBLA+e(Ty5h21;AU#^$vitEr<9LNtXhFHa4E)ysn>{6wm|JBv8+8a;cxNxA$kpKL& zfA9H!?%MzQ|NqY)@;}eof6B;zDkSzl=h}bKA^d+N8kTVm=lt|@qg$Q zDfk&14@&&HCs1l>B-&G7!k*692lPUP!6VMw1;o>H=x3WbmnSz+^1j+G9Njr3=*JEm!^o8bV+bze_eD$907K$CmW9ioqRelPJI^RN;J2?!f?d3zYfPalC-;4QXT(^0O9ZrA==P4GtQRqtVE}K7a?;5up8~dK#(_qTZ=VE zS?9oszOhjN+MBCXV&aKB6VTA`vSBPJpW@IUL*=PmKU@R(KM13*^BrhY4JgsfH&O^R z4uKDtKGO47%-RiK@_4k}wnoa?+@0OsWGDgKw~9EE=W^EBv?=mr86C5TYI!$M?&7f) zM+SvA-!wjLYp|Fv$-c**i=8}Xm3@QP>p5W!jHinKMYmmK)GWB_v*BH9W$$mUo)ew= z-Y8*GCI+7!X=H3n*K! zY_H+r-rpx4zd5k)YV`x1r$NiiOO6`C<$q2**>!4e8_e(sV26jX)LVbuIj5Cfm=W## zqivTo$gv`evxE&h4Iuo4do{;6pJj@0yzp0`qoT0(*5783V6T&b^pNKCV1W3Q&USvos8s- zuSllky=Grz9_5S_7yzM6WfDsg7aG zG;tom@;@X1D)H+TG|mbGNptQtRU@Oa-s{l;L{Gm9u0Cyko@^D-J6F_`s9ta_;Dyuq z!XM6|`^w8NZH04O+$ZOE3OjJyGu8E%G_Od9eBtTE6eb{0W zo6us)?wjHfd_4?~~dH`iO>Zmx>N7K(tfaCE6kP&>AuetsFda&9OMzKeMAjk%%M6mby1_9 zra&#z6u2->E{QQaZ6~l%_|CT6qG;a5@0!|yY@;Ap)>6woqpQ77c}~C658HrxVV;m= zg7AjG2%~{r6j-IFB?i3fGL^Rds(w%WaFK6tD}Laf<=se$zWAkkD^ap-45f!BiVpR; zKWNls&DLxp8NO8-Gk2;Ruec6WMgO4u3MJ%djKjil7bzVu3aJmC2>o!dYa||ZcoI>C z*8-;C@Pk7SwMw2|jq{NARV?rg5_$FX<=bbMdsc)p9vmKVtzm`Ir}_xf^$d3)Y7udK z^${$^Owqro)w40uH&nm6kbxGAi+4^hPRu_4c~CJZ@?b&ZPxJx89c&_skKJM7NY`?& zou-vsZk_l8dhrp68q-(m$%m>6+h_J0y)r0G*OljG6RB&NS|1VLcgXQiph1G7EDO3t z6H44iXYE|hGszNMD7doju@m-4cx$C=c^vtDK@UT{0}&Ln zC(QE^V~E5(rR2~GKmX8j{XWbC-Zq=?pzJZ#(~gD-cfC*DIJoc1TyB93`-Q$OdRmw9 z6bNKqfV(4&KG4xAe>B3n9oyR*{e5owYTT`Bc}2-eSBQLfXSe!CD>YEv-!j+nttc(T#+@@iHt#eVwmZufWG6IILqL^BU3j+ux~Dbu zOI11C_xM0?c)0HDjmt|fgEDORbRiGykm5`PGKf~QzQznisse2kiQ?uDqb3TKfiZL8 zwkF$rFW)A}CF3o*Y8S1Pi=u~_2i;-*Oj*{cq{Sn;K296^IP0A+kaJqC4yu(rC2ZxcnEfAtyCZ(MEslO6}XGtoHu7WqzH)eVG|*6%fhjz;i*w z5jgXK|DU>T|B!fI6}B^Jauu?79l{a^o!hh+VR_{0!iAdSsClTIiAQjRzNyfP^QehN z@v2U7Y|*c4?hT(#B|-+Xm!98xHId?ds$Tgx#}BY2Z+62{3V6Ta)mV}2YLjaVHA$^Q z9yeTnxhbp~>{+HR)oU~;5$ESvy}K8&N-hKZ`_!5F1ZzAm>I)RiqV)dDmEft*&Zjm^ zx7#rd0U~kB?i@h+sM&6MYCTA)QQPkHm!G?8FUQQA-?#9OAKAvl;^o+Qs8aw|Q zwZB~Y)C!={cW3@s@R%Fk`}1a@ou-E|C^7KKjW%I|Rvjz7m_!22hI)~_)YlPO96^B* z8pf3-8U_mbB69`o54C^&Dxxyh_0jsk*B;!yE2Do_o}#_ABv?X#7iA==Koe*r6Qm<% zuG6yLX$~{qpz8yxbGePOyXLOz2}r+j`EIjS9TxkETM#slkpw9%m)TE4wPGJJrz1wl z)g`8>!#$7gH;q^6MT~}PAJOUI&wMgVF3~1TtPNs&HX1+%%9Z(QCbCJ57ZGS-$HWmhcA;ns z(lW|~CB=S;(q;v*GxSJla)tnt5(Sln70!D4j83nP2*g&3;cwyGv(9@J*cilTz_suG zP*p5;BVh=EHAx0g+LfAE^sz#^)X#Zc;AtsFa2|NF_&NJNaX46Xn3kmfy#6J%kDS=1 z=_+FO75Wd<8y1H$pee6MEuv#lYUB8Baw@dD?)!-EiiPG-jtv*gK-mYQZgkXn9OK!HmjBLENPIS4<} zo}GvGC5a&I=(5>w1La!YM8x^eB%3-7UJ2s2)h}06KC#f&rV>#3OEpO7vhDN!?&Ps2ko_K>hfehSK8p?To^ zviU~``IXQ|pGgPs3Wh8Z9TKJd*G=H03C}|Z^h#%XX>?=J7BZC+K5LBQnVt!Yc>ntc zzIABhhksBK6JBxmdg^%HF9=&Ba&>HePUAc4Q(k|86n&&mD@hK*t_E4;Yv4snqyCwh zfeW}2XJ>ys(rNZd(!PMSJL(NBIh zoh&VS?Z8`ZV~JC|k`p62jjr9YKg3Kj;fEt85i^aT1A4bsB81ySpT230Z^kke+@jb} zSX0_0Jo{8jU5m%kSFT~)y~8K(1{|m<{mXS*@G)K)ys+LdL6#;x|F>c5a04zpTz;Bp z8zHrE@5M#ov-XbrB+o7l9e-|KdB6M{wJCj$4)%+9GM#%UxU7Z+&-%ew< z=y%4y$xJb0b$xnv+RY}IXL5V?Vo=MA8Z-Og#-|yQ``P}W z<@-UP1Kb59Ll2`&S*oI_|P>}Va29e$l2IdvtLr*GNvd<@r& zC@S<~cHn)nl`9@gXcli##r&SD2KI9$>?4_wU%{z6%)_Wf&O)!6Gna-L&)H4fema)zSJ1rFzgGfln%QeUnm?L_GJ;UP0_l zyXUX(X*GUXu(k)eaM*BJU{nixV!u0 zjnqy>$J;H^j};V*sa<44_#=(arKEo)xyoru+vQZ z7YN`6u->W*8aGLzf%c8H^gc|Lf4JF0gN5@MFw;L{m0Kt83Jr$!<-I4KKXTu{_Vk0& z$*&=?t*#+v2n&Ds_~446-itfvR8^0iahP+|%+O@t!G5@4#2Q14{kn066c0VlvY{X# zNUMp5`A0#xpl4?-ieWqS^h9L9==kw$JC?55(LTlX&Mhd>o1qSr(4rWwbVTZJNLqm= zU9&ClJ&vW=>@LsRkUEc zZkc8}+1NiX5N6$)p08lLW-uoacDb&i%xiX^iZxQU8OqOcfdi^=sxVF05m2sTsf@LY zhlZ3`>w9=JgTCCUV80F$%MPOtcFk?fU8o;AnQ}6q?yhsbd+z-*)|~N!t@k;Bo1tw^ zjbDg<+Ako}Yx6sgc8HVFvKx`Oz7e9ZD-g*v83U1C z#Y9*4GHaegTNRhbWX|1;c_Vh{#+2v+0)rLg9OjIo`Sd_v-)_oI0$wx1yZ>C}IY`1o zn2=q_LmIpKpE&8}Qw5WU#{F$xs~o-b*tYNttlCTwHAs*>1?V%4BeoYGIz30a1LE(A z7l`_-TGOhnj@M`Ar(a!^z=4`q3F}hFmx&_OTR%BGbV2F_{UYf4aF?#!?IFET^W=Br zv%Mj^Xzwc0YEpZG1~N8fxw& z`7%XXA5>_Tt^M4L4w|d-s`CNm^Kx833rPBA>;X?`+5Kc(0_!-q&$FR%GSQ{(K2w|g zb;j>1gJ*)&vzfE?gRAlPJt|A?t5L8G&|W*ff50cD5cLTh(osfh;Dm=4W9ie_c_hE= z%n>C*^{RbeN}}mfgI0_}y39t(+tWQ|ATafFe1%51-|b;{$~Lop_G z3u@}I8!Q39iw7Zk&`zYWEg;%3_$H&!276I;;XvIZrtUyN<*p%cfg{Hs!z!U3y z&%T%O!jY-PKw}vl^qih(SU*&nW%wScOS|qAN4i2Au52P^zdbdiv%E~+J9hpmH&>~% zk)$~;1lhfywI5V9*VZHfsA!033PU$|D$jxS}kcMOxIJQD8Ry%y^of9uwO!0URM+P!Yhk&}P9l-%jg zoX&JGLgBLG59|lhM=VioF}zPOm1D|&d$J*$*+1^H^PKd3L?#<2RDQ#>=W3tKuuNE= zV=VHUeW$rcckbRr#vl+*5ln{Ei}wh|qxRKGVH5P*MB~1E9}qh1B*GVpN?B({HFgxKX$zeE>nUC5M%Of2JGk#y`;ywq~r(y~j(^ z8($dOTNGc(wAFa|O}Qy0VV_-w?cjZ?RLuTr)1yQvpo)&cADre4KZ15gLtOB71_Dx3 zeYO5!zXXah`%ZptdhjBvT7x|JN?fhwB2Ny$-gIMUvXmFlfO2sa(;x!t6kGKWEjTv| zEBkUejP9r1wt8SinfG?u$}-pXhns)&XOe3qE)|7VUeC0xu+4jgq!i9?dgdS_&IJXR zSX9^)V}}*-E9Gvk9=;(8<>gw8X4Cy(up*9a4Y&*ihxdgUFh1c@+^g8buAS z?-`Az$6v1Chm6(tI%J(g4QkChqYY~oD)HtQ>dG`Dk>|8BMrS7GSR;LqY4D!)B4)53 zAH`GE=x~a7GV(M>xvc|s^p~gPH&mxr5s~>d1TJn0NW?VBSzYd3l9{qktQIpzUf9#B8Qkj?Ioq?B^ z)C3*J#$zNyzp>r4*3d$I0UV5$UY&Z$Kd?7`MkYx+Tb z6KHh30JJ~!(Qm$KXMOQ)x1tl-XPr29ihDy))8=B9w}yh{$2wdLXR_eL1lkw0U>AQv z@U0Q{Cw8Ra{BC~e7}wDJ=bQz5kd$W=RIMR;W-KUS;5h#~)1I42JAn`_xs??`JZ)AM~GG>33t{9#<$bTMkx?W{K7Kr6FYU-Fc ztJnHIZ+ServYp7>J(Jn)OG3HAo66kjGj(U6{;-1phH;nuxZT}<0h55&n9#Q%jBVVR z)c5eT`Qu{IOMMUHcfNMW^(67oA!z%wveJ8Yg9Dk6jP@0r9$AETV-utZPvq$@q*#wq zzvP7|dQlf}aW?Kl{Kt!rN5+WXyd2ay#pATuzj+At4bm{OZbXLhL}V_ec!~q5A<-ok z2U3sLcs8ABWa-BKK;+Pc5gQFCtb>pPGhji|nPUOMEddyf+hNTQKui5?bV8XOzzt7dB} zex+VFCB)88Y`~9$P@?73UoM1JEJUiIO2uwrlOI4|uluHjAKm{lNK+^@(Ih)qcSA=@ zCD!VJnzI97N8i7~V2+vTcNYcGJW3wl8@)@|UX=I-x$67O%m#gyv%WDe>>W5wZdSF~ z8jpsbL*?YAaxNL{>bH#A9}lX@In@#U#XowBP?Am|)p9Uo7*UX6MOThvc~LMzuAY9L zN)rp5>G3~C3KLXvBi=dnL~G8lO0!+;eao&vu3=;{1@>hA3|*Y6U&t8-y}bLONm4yT zr5Td++Br<(kAi;7`XGCvHqZU+_8j1P?GbBUYoV9;cEFrA!oUL3Oo<3m*Ze`+>_u`> zUv0q~>eO zW(Uw!YdI)`G1PQ9{Bv(XWTNIruKN`&AB;}rzk0RM@Nnjr1Y+_=nctr4nwF_Ck#5-V z?a`O8ts7H>VV~BZJvC-L6|cul#vF2C!PxIs0O*25RZ+&ur7@)_k8sD=LDy886Fx1A z>>e2BR-#T1iK=dc$~qgm^QB3s?_Vw%#YS;KF~g*^>iF#b=0)+#r|rWEhOhkPdRT?p8LbF>2P@1StJ`_>V20Mw z=I%~%t{N%$%XJ6reyfRsGq#l28kRan>MVe$@NrOUs$~ube99QAcfBRP=ca1+28mU@ zHII)0g6V`_6!%lcC*W!2s`I&3q}i0#y)mj*by4;qr}@zWwTP_m35C9Aj=bT zx7MQ@gF+7sH4 zH9f?q_Ai&$Pn535Z6cqK`k@*AOxH_mdZ|Iro^%}(HMco5r?k<=1S1q_&~w*a zK=|Tj*PI&Dzen6~?;(9A5{xiN6?=Vlpm=}O; z%1R2=#5vF#EtZHVh9?V{@s8p8CEJpCoC;hOQ*vJFSer|~N*MNG*#i?yb8tdqD6wB6 z;fsReb3aMP+HaB91XLTPBXjqKobhk-NgdM~IBjf+Ieo6q=-_E9QO3$TjOIZ0?t*@A zomn*O(SR`3dVS>@s=OG81YK*j>qs{3j3A|yKqGXZx>F6XA^F`?jqsAe~F~0+Awi72?^G{^i zkMFy4VJk&JmwM$|wuMv84R&#RG#yI8f@uWkx}7ep=p1m+n%v zshm8IM$DaVr0pUs5&j{kzvdYZB?jb>VX~}qKz^0^VwJNE-E@=jjOH<$|6z9K^EJ^k z?!iYA(BX}*CLUjY`>z0+s>TdNB5Ayv|LUrMiy-m%8T?{a16$ZWW8SJ@^`k_FSoANR z^NF4o*H3;gQ#hfscN(d~t^nN*LEsuIi1cNi2bBKpx;A5R1C=wsv{&!1;)n%ha#G5= z?y|`;0Ttb+Z;HWRi2!NE<@kckIIRX)A?%;B-D4$~p!?PXsC?rpwJ&?0+gZ!HR0iM_Zu0;s^&cm4gz zo6{3_=qt&Rp%5V-Pq8D!Vy8Lz{ZOh}@DgY98lruCJDZDIQv|lg+*;kRnE3-hcsXj6 z2p$`Uzt4Ya#W$AE>-Q)ADZN~PNax*>m^~MFKdgtO`SIhsIs%*-iIfCz^o!jfJKvq= ze7O2!^#EahA%_*_Z%ec=D(i>X8wf*+hqfUgV zDiim9-3b)FVqEHq%p2SE_ILZsr2#w4&c~ktw7RfOn8)Dx^#v=_Zb5hMl+$hac5^BK zX>)2~y1u2ZA%lFlYNa`DE=1K6`JUo`P*I2XcN;v81kNjEIbSe{LQ!{&mnay+WF?XIrBPt3i(uV^NSzgkNRxs;`oT%BF(D=Qj zQ%+p|5!FoHCa@rcvTf-41Z6}PH3AVPfIlV1^Bldn2%M0Pg7Ro8%i{g)ny@57i0JOr znsHcDCUeJ4e<5JDa<#0vDj3ZTy@yDJHe$Q<+3z^2tcUdYcoR6qt6;~f;j8|Ey0M4N z+&b>6jhD0GFN}^42nU|MrxO(Nd*>O{n;<>Q0lVgggK5Y+@1@cESe7)-tM}8Mr#|y; zgb}TH2P=J+eFksEd5FlB+aW!yTx$^J-J)i1uRk8xGhll-dF2>fi&Ha(c6*X zJ~L~*5wkJ2IO)7KjT7O2V)dzdmD^bzt|yG`Ay=)w&ioy=L@MG$iwdQX>WMqijVbV9 z)esNOruAE(_ka{Q?L3Comvq%UgNva~{Nl*cSJL!d8;1S+q!9T=jic0AL~E+OgqLu_ za*FZ01G_F2YR#d$m8?gAFYO>1-Hj3Ad?q!7C*oE6E7lB%aFBpNwh7u;Y_4s+UlYPN zj6jHJNG^u7p8tI4c8mq0%}kXuNNCte1iWh{x~jo922@dDtR)U^D{JL%?nJLM0>Mw%_pLK3HC)VaaT_Sx4zC+|@r^{A=IG z0fZO7`7@>ShlZZwP9*9y2PFyl)j#lK%_mKIgyDK}abY!~L2l`u11i)(HX`!jJY%Vm zEn7J<<^~!dS8{wFFNx&am?(bv2!|Q_i1;Gm%&_28{eZJ|2Pl&%5!!YM+^>WPK{5>rh zbN;jp#pbYs&(882oye$(3>-SOgz^EO#IS-#>uHI&^+4I(!ZrU(3?^qKkZ3$Iea8W) zp&2qN>Dcv13PFMtvE2>-ZbQZhte$JfhrQ*kzw*IE=o3ko_2uJsL!^89RikTLhCOpu z3%ym~l>Y~vifwAbla9?V|M+gPsFwV_AzFKCzXWf7?v0h9`;J|95ZNoVyHFp_7c>{% zETWz~(gP=kGhW1zx=^b0xaS<1F+F3|$)CP%_ZC7FYmF6J?pjLU$gr)QZk9)`(XEJV6pyFH2i;gJAad$BX!NGF>k_d?5}j#@e++T?tvcxSK!k)MiPCq7xS2N-~-SI zYK|XtN0<7H`yKPmA)<zR-tLorgGu~Uw-n6!^&RUHK0XyFKTjkZrd++ zY%V+A>k2F|5@|9x7d=B=Do$gEwS5En8By#!lo4ti&3A%b%sIgdr=#Oo!4&R)@uZ(q zc+1q1f2s!pGF)#xtCf9{s~6E}No3}QKtMO*7~6|vHS{yM$O$@fD7eOo!gdWk><~1d z+1pW?pX1}$nHel`)s#!dS(O%L3BEiL^?CkKGdquUibk=fFJ~6n=@a6SaI;$8qQ3>9F7E@D!?mQFUp#8;(KoNY~X zlbMmXa4DXGs^8zdqJ$k*nm$NZsa{34Pso~{9P*0hs2GQL;5Gxbyn~$H7mAvCMF%#G z(5N$2sgRk!Tx8ILI36OKvKXU+*GFovpnk2@lm0(@ro$3l_>w5&<5g(_znLG%aVR z`r#rhV{pH|kNu%tycoF;l;sWC0uGDA7yNBZ>}t^dGo<8~RbDod0o0q3cT?(%|5$1s zc67>eKGmW+r@a0ft3wKMx58(`a@VRD=iD%@tNwh(MI9TUWUI=%ZtL45`|UlTmR`ZY z0j9LgMN*F}VsSGb>ANtLYURZF-0Jf~EH>9_D^p3o1(9*;r6#c5d{>}oo{u(?2E98n zllc*H=piA|Oo3kW#7xcCEw3XdQR`@-Y0+}NNakUM7tgLA^x-PsZ+?35LnRn?N#JR} z6Ue-W)Cbbv_`1>zW0BI)@9e_7;~(laV4D+qz9%;WWMd$(7wOYR^g3lAP&pX*QGTeiaVy=eu`ldZPJ zy%_!&R2sv-k6)g|A3>f29Ew@@X#a$Vi+f5>xI5L4E7v9cn*J;vJR9hHq;~%N5kuX; z7iC9Y4;sFH(dN4r9WC30_&i5Sf3Pz(_GP}DS!1{U0DH*9_TRa9XS=p13RFc87Cc>X^gSST^^q2scS(Ww)&MGky_-iO zGR9UMXa~DVv0_c*K-!lt%kD<{SfNXY4SKp&?$xIhQ!_$v4_cScI}lmHi-eg$^mL3C z*No!X>|h-h6(V5DZ{!? zgC>DE#;^hWI3VmvnqniU^A?vLBSPD2=-VDn0YGoFH*_1<`L zR($8#yB#zRA#%Cbpu|hhASWG>63{ zOdm8JE!1f9XQ?jJzHw}`q3Y6)jhA{k3WCy^k44NJk1ZR_5q@Ih&;n2&2zUVwnJGjd z7?sh6=7@x_9WetpgM@VL(E!bp5rYE{o(hk=GTNOx@bMyYy`uk$*6P+0DPyjKYP>qP zSv`qxcllL1)pTPf1i_w*df1fRxEUzjX7&&0r7h2T08nXGFkpuQ!OUxqV_e zP^U8dYc%Q2d-xf#EaJRZVSjPnam6rq@h}Hr2(4IkINhs@@vkgFQMu+nDvasV~YkW&W$Xw}eJHMp- zF>^Wk(%nJVzOM^j(c26>;7H#&DSeahxzj#wjoc%^${LZe2{cauE+KHK!d$zu^q zuPY;tjAS-v-F&97|NBy*s8sq3#&XW=LdI?g+C6Uqt9J_A9?3Iz-*cGIwF~n_(Pa1` z&K%(oUW^!#<}U3D_5J|yWYsdEJ;x&ReqiPIGrzkw>c zbDyU!@Rkfaz%rv5CTJmb-~5sjBS=L?27DB{F>=CE=&opRhfDT@w^<@;(KgU-c(R-l zyM`mi3Y}=z)9aAy?ljCk*DT(&&3@|8cI#y0V)ti}jCU?y-}XJwQR`es$#AByb%uRf z32rqXG2BF?2Y{ffIW$kj73@{vv!aUp!g=(jGbsBCky-m3cTOu0OCQ*l)%TAIq&keu zhf2HqRwBHc%15qWbY5meMHRTIsBN;>JP?H>2dxDR2HdHbfEIFK5y3(tx|n@JNS&|m zzx@_KEn7-u5a*{&24w0twxz6hEU#_3x}zjiEZ|BY+2RcA4lu`5^d-ocAm}@N43rMm zs=0l%uzsRIn$JZ8*&T#C{dmYEBT!Hge|zAQz0GCZ7@Qk@kCaw&8TduVQBs_)vaSIA zMFU=lLYK=m2l5f3h24mtaWU;zhgF`%haP#7@~l2^Pnq!$@TMU4qx$jUfHS$nc->58 zoMo($!YFuXzuxljInVa(u!ODd=S$IRQnRc1Hc(6k1ih){@B6UD!M~=u^l%ldrAhG}Hp0S4*KkL1v6Dd>i@r)0$RS{J&$l41)RX_EP$&5IAY^i{^6?r|p>}}%0JiMuPNN$tN1&}oRCLr3!T4S5gDBGJm@3OQ%|fQ2y>}|ZP)&0V4mpAx@M0w z^WcZ?($Js&@wbjlz z!pLL1HkR>@U1;J=(NL{w7p7}jkLu0v^)$!kF5Rm2_y15^*iidI{k)F+O8F0G-qk3T zE!GuX*o2V^{L7%hR_(;0aYkmy^jZDCTp1zmn_1L7NIDpl+(sLxC_f3+0*^mAv_D29 zLXBKqH{~q$$SGkj6`x)h888%hxCw_tYoo5N3}owE$kk)Zq|-UDsOnbQ>s~9e0Lx3<3hdyR{4WCSXT`ymE6PX115$!qBv@QY_AW#~2&H~dn z>^bB{&pUkTo6>mI7;#k2O8t3HX=2Om3uW!4>gLK-;i{HnOTa@MtlK#XQPn;@a7ruu z6>};aRQV-MHMZ_*!14(}-uGznaa4Uwnl?zNs@z#&dM+REY4o@xLbPa1`MF3j4$mQC zURN(%)gg4k>v4S$UciAdN)zmcPLES^67Z)1g}$)d6e%huQL(knAl$$y~s7q0_v{)jtIaO2FN_i?l$2xKq~8G}B8R47JTgMK=m8l<>TBQnStZ=J65DOgAd zw=}=``9WIk2j@=iFTVxjp-qOp5O5>~=k$Jb67=Z95$*`BF6}h~%H_HV4Mb4GVu-h* zXXyA_bM2P&=O-Q;^uqJ6F6Ey2UzxHq!nCtBOHO|}ICha6X@-lWE@%?GVUsGrJpU7= z0d#^S-lGxRU7pHOQ5wbLC8n#TtT`@fh20&=N8{`VCr0=sOJTAHvL|CJr`gSn^jt{L(fdb`ndo z$HYSTDePAu$1r|RsZ{U9IVTKdKtDmDp<%p3fp$R(oR{E+QB4*?_fh9b? zfa^g#hS%p4x(P{6Y9(t;drd{g@*|=jBZ_jgKgo%Q?tYxzXZ#p?=3vsMeN372H0!8Z z4ya3T3%@eiv4eBh&Gz&Ba^%XEJqU~L%kC&>bNBzieRyg{3DU+ zFflM472@BR?B?=G)pDCk5fPVIr65Z?uQr9VAMR83x67U?HgW{bro=U<2!GN2fWIM zqkaq>zc%^&VFNR`V8l^R?G1yb&aPjcd|es@w>U-kA60h?A)fr z5qHO?=EA@+xM>{!g_G>=`ZJ=nn~bKWGH*pN7syESN#sEqVS$Y=$hitU*jx`MW*4H5 z|6k<2cT|(@zwU_zktPBnASFmus`O42MMMOo3kXpWX@-b&2#JD#^d_JnNVjxLlaaGM;h2xznq|o5t z_`Lv47B&2b@RsAdSynbCP7z-)vJI6J+sE^>>9aD>7mrg&&7)XieahJG_F(AI!o~)8 zhnFHASie%ZQ(PFB`iR`KJj`Mz`zKBhG}f#eN)j*@&EQx!^Nq=>5ZYMqZn&4opdtQp z)2}ifbwvSKQ$95A#j0X>aVUN=%puW$K3m(E&bs-mW@71$^4#44F~ztYS1F%LdAnHd z<9`I4?Iqq$&|6H^MwFf){NZSK;<5m1`CX&(cZ4~-(e7%B^14HFa&~Vkp)+oAan-h0 zt8yogxW7VYUIXfYlE_cg{9A6@;F-O;Ko}Yu5|3^xfQJ-$XVBA+pZQd zN8t4T<`5YUxp4SAxl(1t&%N9uxNIlxqBx;q+Sx|B^G$pke<)76y~)^VACuWs*J3MI z4z=72wJ)hO9XPRW&Q3er3u*DKcZ!XrrK7I~MlFH6!C3A^^)3u2#3LQe(F9Bms}0c; zm6Az;5)ym=CS3V;ubi*zWfTAod zf241*bC_hh>xX78=>N{*((FHLk{<-E4SRzC?4x1f^nTnwb>U4N2tC^8(_Q7B_Aa<^ zs%f{U+wI@#72GF%bbc22kQ*j%E-?O>X+WPZNwt__xuJxR{5V%L(*zfi09>FUoA|_(}(s? ze#|IPnfs2a)=ub}OpV1TH1aTHj8PSeVDtby#9mTFg72G*wPPsC7aS=5sZ#WL=j zu~%L{4jKb8V?6J&1VfLB^<5BP^yZO>wQNOJ8;0pP7s0g&@Eq>&Zl|jaBNaN?cLR4H z%lh{z#Z}DrGHG*sbetgNPIe+>fXn|to;4mt3%3zcJ1`uo5h)tA3jB|^F5Aa{Nl=cK ztQ$*eD(#CassE@I#;u)E0{G>b0f5+L^15V-)(DrxQu8W3bWTnmEq2)d~qwf1ndX6Exjrb5B zC@y6BM0**?-||x#X|VR`}Cp149 z2=Y;?%J25KzVqmo3yV^?MAp%M?gghdgO;FzV{L~&CtjbdWw+*`1E3+>df36#3qV&1 zL$d2h&~ZNGft8+4Sgf8ju%$ZpJ)|HIVo0dSRUwPiRKuCqwV&HL#xfXL`%4=^BY1*= zhXPe&)>Rn}=tN*(m>7k;eB`rI?n4TUFC07atg96I-)ODFF$5<9Ik0{ z7NA_t0{~$7jp1Fo`uf!HE;c_8{}RA^Z62;oA!Qs)w}C3)ONd^KAX*#FIRwJFCXQeWPsc00j}6!D^-13q=A^B9MHNd{ON!eR<`E+ZU0MlMk$_rE+}ZG6 z4iS=CKJGFxs&TaK)N)WhUoIDzvxQTft-4Qa_S%Vwa0u?I`QWk+KaC?;pxz?cz)PRu zx`bgPVu;)KY~@?T-0jPCB*LTQI%dhLPw%Q!8$UDX3rZIoc{k7?D*-#TfPSM^% zdb-p90K#;HI?*$Ei}z7vKYcSRw5#G-f&^z`n%Il@fD&jb?Bh@i&zwLrIBHNxYaizz zM;f)onSNEt9cxBm+&wp-I^~1)P=5ml&~(QNrVS+!sNRh`rKcJg)oDJ9yOSe1+U#Be zgfftY)n~LF-YECuPVkuGOQ_~KyVCZf}DBFTnxfE7EuT6g9NiskV zkS%zxVRv0$36~P$>s7L_U^+Ex?G=Z9F+S(N5lKr^uOCDN*#7!sNqP*xI4gjYOAXV` z29bOD5{QsW6+~8VE~rfC_X(=0f4e_@zu7FRJnUpo`_oXSjeUgm9wMC34J zbYm`nUxImooyv=k#JMtezaXF7EnZ=dpkHO@=Ks3qzk5wQJLzp0OHv*l#zF7E3FY02{RCEZE^t~{sQsDgq#&)aFZcw{2{_d5E za)qG6I?C_8ncuNri+`gBKGcNP)K0mU*BZ$e9VKEbZOA=DnH9sGhD8`d;ISov4a2E2 z=wxCODjg(xn|B(&k^Ro0P9>J}!_C3;_-U=A4pn`#GvsZO7VR6FmFxp}-kQx;{SMhD zfBSOdQ4bc{Grit8_N+d_U*+xEymZ>n`-{#}XU^3D?_O9qij#g7F$$_KOoWT&$Ksh< zgDZgK$>Xf|q7+$M&YPkzc|$w#IrB&{8!^E*niVs5IZMrwe{TS9w}^h@-MZ4r4I%M0 z)BDKY%)c49;^~xv6OdZl(r`4YUJ5Tqw7oZ}C%#Q*Bs&r^X}&Tt9IQ^Xu=V4I3?~O> zdV*?`w>$1mvz27s^G7}-nC(naOabaAu4^yc{fOG3{_~~H1M{_(N&#c4J!B))(%xZLt7Lqw_-E~X+r&b%w0g6E z+Cx2+Dq02AfP>0K-|IfMow~hj@Q!0KKrbZQ$Pb7lJu_l^cY^V_s5H-geEfVh$Mdjh zkv9yek=!OOxV_my zP+EZin~N+D*A43(v^DBwt9DJVO zS_uqZW)Tl+YrK%=LwL5_es{``KmQhzagiHpWvPT#x;k4W#iZ~ff#pcLnP}-Tl!r-K z1I)ov^2iK@;VZG}rksc!g{|E&h^jE8XYFte@d(+bs1hq@0ZKq#I&xDFtak#M&fG&) z3V&u_t(%d3rM$={^K)Z$aW$9$Y`MMf<3LuRSRnc!0Pg^3z<5l+7j`B_p*VNxxUxVS zht6+})oAF>frGK)^q2f+w?$rCH`hgR=I328k&YiIvp-o-AQ}OsKPic-+5ql^;Cb}m zH)gT?ittC|3mMq^YiPswRQ^i$j7)=7*XINi@pkp|i>_ydI-j%mmQNVGM%D^~1?i&n z84xr2B2|S*uUwQ^!Cv+5pL{}pO@xLlfdKc@ zE2;sZiavs7t0kKeqT1?5JW|~5{t>b`e$*T*BAa5+lTlN}HNeM$e=Bye&y3VkP5yr@=T=*?aR+j}8O2o%z2E$yow3z=(dSuGyeqk}Kt zX7ozWebUX7>rE?Qe|1yloqp5p)Pu0n{qNfy?pme}3;z42dH_8YPxG6x|HC)oUJ~tR zjwuPArO)H1pk_D8uw~RGU>x`_u8Zk`-9KCx-2cvX5wpJ~JN*yWWx*bpmUByog=CT) zNUzC^#6;lzeQO2u9>6RRR~-2^?T2bTmj*)Bt^8uRU#@&8{Qna-1;1#p;aXQlUKyq+${XAYDkhN-y;6g zk*Mq12D+&7{i~;X@Iq6-rPG0~?2M~Ff9a7Of59v+FrP(UWQsYs$}b(T^~GWVJ-NLx zP@g<@T|QK8J!*dE=mdh)pjXhFArCSQqsKvt0;djXIe)a9J_x50tZOo{yyZr$E^1W|LmGioP*bK47A9BU{0j{o*Y< zaW%ZrRM!;&9K&|39Dqkd@obH5sVh$hz5km5Yb)*FSwVkvamV1qj$p^44Kz};-9!r_ z#*utLtQyG#2b19oT4bXF6|IVG>>}V*SsK}h95b&cvPYJ1!NnDCrcb`LV~GD0{`}fB?~jUL_99bn zdrF^FVQJHtW8U%ZMB{d8zhdgxUF_6|`)t6mZveHQoK-~StHls=Dv8yk$*I|8fw{S? z^UV_8A(s=sYAxPosIE5teB#CO!zgd1c!4bfp^6K{kO0$Wn57$77$F*1Z!0W9I8^G= zZAohds;~j`iVshWUV+!8=mnK%$MZ6E`hyAHPVxT*uUJ4?;BC@9GNu^WcB6onaWs3) z7bI-NJ|H*CRzHFR9Cay<)3MQI%ORec zUmn>Dgf^VMVRkm`p6V9378y;KgC-%J|_v0XUUF9cj-+4B+Eva+iaJFX`BIJ3-2 zBl&bQ?f&q0$ob|jv=ejha4BK}d77@_2sb4AP)z7UM()LdxTT{S5^u23A^nb4MfU4L z`1PwUarX*PrvN?o0-uUU`Be0W$FoR|8rWKIgYUxJBqr~`5ET_`wZfC%fE0E?X4%&F z5@1|p%Vpag3F7vW94-PaK~C*KUO-EEJ`D7<9)+8Q(7x#K21vbBS39_5@Zj>CelBPp z|HAJH*G7CZClH$)#vcRAiyWp)fh$mbX*XjDFG{CR8DKnv3X;>#dOIk4U0%K`yWi}2 z5P@yoJ?k3{oXsm~rF1R0F0l}QW-$x=4mcR2FXJSuVfj799VIxA;QTGewOA&XYDKFvX6EY6n&|K4JsK%I_tIoRa!b;o|sX>mN>H zgGF<(&oOGg_XMa}f;kP0{hG9RT&t;7M5AtzfV_2p=issHFr;c35KhMaAULQ;F`7b96BWWZP}k$^;+xt8mVM#YcyMwH!4! z10dzA79ZhnrE>HPq`VXViM65MlPQGEftAX(N?y1)rb&%?*^^l=WtDy5!JLi~PwyO; zfsIV^kJC!ZnZrCk2_tLdas^0?5ghLsWS8}Hg%PqqhJpIksj!2F{{lK<15|@~UyH=% z(V4?@5hLhpQ>suY`;l^M1r?g!8uYNmW`knE%IwloXC->`3b%?h%lqsEC5=kksvp23 zpZWW5hI6STxA3KeM4zIz=Z$Q7TJ-rh*z%}!5njoW-UfFYg%dYh|3$v`o;8>ixtId1 z4;@H?sWCt{Te1SqSmcz2p}~tm-|friN5*qon*2hd?ikEHf6lhTa(X{_J8sRpWV2jB z*l9atbIcgt^(JG_tt4yv=O4S-%5wY+$OzGgJpYt@n-FF6J*o?RmFPBEUUtMz7r{_` zutDkH6=v}F?(E~IK(g=^sZ8<|oy9eeT-d3nN6S(Ho%Iy!Xe8w=Z_4e|id`8bX%<|R z9uo87&l_5^j7vIaX#U4%QAnDiPmqdIF)`689R!O= zPGMW(dmJ}i8XzWKBiv1IjLcqyT$U^-yXP9o4R!w*{Xw=O^1(~7mrt__2OONaawOG) zL+;V~JsnQu3ne*!JYC4#H{SCOb{ISa|2;u#Cwl@03sYbq1H~NrO!+-l=l}}PefKC( z0C14gRKoB-?j`v59R>gEzn2kn{F@=k3NWaHXytE{m4DNC z4QK^5jz8tXdv^t&d+zB*+J4@C^z5+`d3ZrZ&cV2rZfktt2DS6?Z9)6P_8$N}BrAxk z{rA6Vh>1p&<41Av_!ICCGoXjX%WS!lH87w@SYW*Q>hipv zobBC7kreFiq~E;YuihK|9do{7NkL~hA?I!Z7ULFL`ig_2{HD(BkflLZtqRsDEqm<^nOecRo9IYu=)*szDG`Tz}BLp^!)D8&=yl8mo zM&}nU6@yl5YX*jM41A?W2OM!=w+6Tj#WIkC1a&;+W!ar+P5O%c)OZbw?ymY4cWX_J zwqR>1x}tmG1|p~M=W3eiF;&2f_#o?A{e?-Yg(txcxKVHahoX{el^N8hl)ENN5G)GN zsy%+Q`hen9vgRLbMgGon$Wl#f{tjEa5xQWzaKOv|+dE9|`Cs(`RBjmIfpGHc-{s^Q zj9OyRzdZuYOr$SloYc-5L7@}J|8ykkJ*Z>AqrIy_uU~><@YCjRhV47A@w4k*lqiiJ z{@zc6296n~p9>}Uc83wU4M6Sfc2wuW<&oxlPbrEMW#zln@>wcIPc_wRhi%1Q`7P>} z6QdNKR~%XU6H>K7Vo)4da$YvW!)jl1U`;T|B&1BCK>bP1Y{+D4cpN|)fwbf454u&k zqqJttx+kf_g>JbqDeeEQ>|16XbOAB)dK*|Ukg-5eWQQ>f%;u(sogx)tV^zABav?H1 z^oK0GgOr7*o5w+m_I=|&oBvki zVZiYJm9ISOz`sh5E0A>&6Inor>d4lt8I<-Mh+U5^%v{Wh{fd*>%bt&1-{5cEkr}=A zMMj&7hKxd9>6RbR(Z|OT|8zwC^RXB&6PfVcE|>rPEplHff~06OE1IV9v{yq%c)~x% zBF5vVcdF@cfFH4FxYI^(Cc)|^Mah=AweiF6CGCz_n_{EAc6aU6FL9{s4AvSevYh9a zNO+VAx%tn3e)qo7OW@CSH6jR|M@Vh8uj~?%T2Uo^9t~`|^DXN^O%wOeQlWy5%gJn4 zJ55r28j`;4c#dAn#THH=(=d|1eCv;J2e$w5fd|@&uKmXk`0vU82d}!a(2!0orU>6p zM|<2`{#dOfp4^u*PCJlZ?&K?+{~B%>uU z5#JebL%Fj{=uWcob?MephCq?i=J+rp_D(c1 zX{7AqjUEv`rN26yHCHq=ju~$83vCt@s^1LOR&=Y>n4&AfMF|zFpH@{T{L-l=6uaTJ_qRX2z!)H%mvWOg^_io}v3yxoF6;eEx$&s4LpG68hs;RDU@d_@*c#N$w&6I)s- z7^^pdInHSge%2D+3K3ETbIg}V7X8iOSv#ag$O_K+!mN`?J(eI&F~2V>UM|w|MtV>O zHgfBiy*t#x{Zqal7ySGE3CegJuNuo&%PNIq%M+np;II$>cY7JzUEi&{-j=bAu0`3y zyo3yDED1vZ)7VSL;eg7l03mSDGMk&)A^Qq|3e);G!=YNGIiZr;0*C@6kMI8##ynb@ zhSmeTcZ*T2*ZmYCxeS@&bj(X0{k~!~$_Nu(rX@VLh8O$A3%uBQ)2Vp&GzYeJzXzX6 z(enV;)VH<(3U$PYi##x8VWzGLsucSGch**q?lAQxN4q^huo-(Hp3x(}6%Ks-xl zLmVN5hH@FlKia`Fv&8TFcMB*?h+lL@!b0+jSva@`6ywJclL`N3;;&;^VhoPj8+h{g z?&QMbis-)QTtO$@=g&snUM?m#QLGSC8OUl~RDvHU3Vn_o^u^8teHF>>C=jxZzk6hz z!r0LIl+W(e!(Q9-c1hKeeK0EUCuTGt$1mY!mR#yPXfjJV6%vuUW<4NmUBI`R8#ff> zYQsJ`UU{O$lNxqcY-n{0twiMm$Uv9qBa^6F^_``{S*m`j?FjTxfjbcKXJ1z@WaOol zpD6(d}9@+F3uJ{*A1nM7QLtCPzMA#pQD9&`V!?1I|`+MT98R)rQZ&1ga zTI2}FUBY;9V9$`kM|1#%v5U@6P=D8KI!U^GMfmIFKCQ&SIZ?^rLqW|w-it*nKW7B) zQy1n5iAzlQtHe~&moc!18P?%uHGwhl?T)-Jpf!;_CP}*beku4XniXDNB9dzTy^GFg zm-Gyn8_nGQlQhN$&U?2}e$1h}-fJgCw8?#-RIs2gcRg{5*|DOpDH!*YdPvJapNG59 z3Vrw93-bV!aDcw7tG=X$K`ueX-Hv0Qs_fgN?YBr4RYtEb*goss`K>P9duh2!)hrGr z09fk6p2F`mO;TNp23J4~G2EMRL+5P(qm<{xj>eelYCEV$9aC93D7r}* zMz|9Tgoze1=w}AN9rx%$!{+2tiWC(=fV5^ClK@C1Q``%3{ZhGR^X(A+@zcL8bjy%# znWHk73=HDU?JjXS`(%&2gO=`qxailn!F(8JSQLos$Sk%FbGp3QmM5aSskm@=*VQH( zJ>p)dM-+dpU8?nRj$%t`s$LUTf&i?p1UiTM&R_^(@3wKg{ZBV+R3f+CyO}xneZ#fB z8`aC}n&OFT$<0+pvKBo3_)U!4-t@|{c?W{bt+oH86h zDpXmZj(npPQXAEdVxj-U)G)>9N&a4tZOJkrN~SJrR#ZN*y0Ol`ln$H)Ixe4G*ZC&K zKYbtc7z7k?BStZGQ$52BPE-gH@=gy#HaOIDFdI?5F1H%ATXrh?s_R11o%3m{*7`y* zDN1J)3_<{AA88oiJ=~^VCg-hGMqq6_aEyVhwmC*BrBM4((jQLQn?^w@$vg2Y(30ey zi}HmMNnw1UhJYd{)d@OB2PDH9a3_Y#9rB!jOUNf|yG0jFG_+(}@4b3urDm;T@Z-dfP9cR0)GWGi=*LOes<}YoR)Kg6nLX2FojX=8N zLl!eSaIwLtZcv1M}F)ljtoJKIa!Akf#Q{I0yf*beo2^BEJRoBhvnu*eP#JyK)$9oRx+RC{+ez0UZD9y9T{|h z`&yYfwMVkAn>5aQQR~bj6PniNg&7$1!g(C;A$ozxq!0NzF@Q8rxcde0#2AyuRydgE z19M1+fgukFL-{YuY6cwaaxQW3S%`PW+~pm3VLi96tSR#wNiYrtcVSHnDf*jE;Bj6X zq8uuIBg&%1+RCByM@QKhjIxCUp*G) zpDdif15^5)-@B_Xt_QKjRrMEj-uoR>=pCB!Lz;UI`9uN8q6s3H!Ceh>ZHZ>=aBTBE zzdPvK9L=YggNHTM-9-W2U+;>@zK;Vpo|CcnV#c`UYpP&EI?(ka^G7%bcb*UB?%L>( z&DwHshgAl&ar+mt&5$nCvywPt+ihQ#b9GYX_L3)S_MKZ_9ch`Y`^jk(-F+xb>&)j5 z{nS>$sR6AEc@>Cm6v336SlN~%KLx+F4B`n4=_r4Ct_faW7i=(i=-r)X`ZkaCk~#BC zr%5wN?#%NukOIJR(Gd?>K5m5xQukB07^%viDjQt>oTxp1!$p z4lPK?Xst|y2!WsBT}f8ty~SyS04@-Df3#+h!!p*geq3~1V(iARL2;WwG5xoHy}!rG z)izyp_F2Pdjf^}se%3z~-WN2RJ|BFnB_=U=pC;JCJvz0&Km(r{f(KDRR4?*V0JOPZM__g%&sQX#q?qG*klL97tiC3CqEvw_lG`Mj&+QL% zx7b}WsyJ}j#A~Kp>f5zvDc-J}?xRMzt*+;LWIOev-qAG3a)bdhvN9p79m!JD6xm!) zKxf0ANqN_P4NPMCP+>a1mp+@L9J7@LX|C_^8z3(X_@agI^~K$JUU%p+dalO~6I4hL z0n>#$xv$V#N#XIs(0Kiv?106k4ao(DnZ@9E;4UlR7-4Y&tYhy?VAyeo)`jFHPhw$4 z`p;7mKljf*mAqvuFcIx4&2O$>KaS!=12mW^j2B=e1biwg*>bLgfXEtlo1TZw2TPWW zUF{DIpT5km+8MS*KKcH)V#%a=?NR&=&aa}-z@cH>JM`(neP-=o zZKwIhtpw$zuHl~HDu6HZU9Ebh+_Ezh_qOK!5eG|P+}yyqlF|SstlU!Ox*FH_3(o}V zxqrrHXI%=ybfK^u%TwKE)Afr?;Rtqe41H?Zu=84l$>3Vc+~icMRD_%)eZ*PE@F%0tFfZq(oY7S2ijUEoJ0Zc>i1KQ22vy)rl`(sl2ID`G_s_ z)OyPY-5F{P;@Cj}_mvsh43K{|x^h(OIH_6$!o*dA3IbXU&?f7jt*;EkNGWx#<(@#- zOE$b`lT9Cf7%fyUjR923U|x6kJg-eX5+ctsPQilp4%WEeNRpDD2@TSPeu-bMOvsU= z{l!hvAykF|{1wsTp5yDw3KxyPJ{~yb3B52Uux)40tN$z=qNY^lziXa!?=;%}zZ$Ll zvqDm(B?5HUE3~gVK`R`>vnL2eCeqw=&;ljJ`}zbARU6)4$+REP0nT z?F@S@8A7q9_hI-DSGRDCdcu!@+*SZl#tP-+a9vf#QJ!*tyux%d-01ZUVuQx1+iT_* zoT0P3J{I0tHtXwYO==VAS@tp&(e>5ODS8Id-bfBv*u41eAKXHya38FkYPqP6mso*a zq7MLS5a_KOTEvlz1xEy1ujU96U%BIJSz~3gJX5^}#oljlb^h|=Qj|*O-7el?1CK8^}V0T6@j9|()c@daq0ExZ$%P}11^jX2tMG?Ur;wbNOF*9 zd<18t*i-M&KGKypG5oSMSx6r8hS9iOGkB?7d^Xp8Q?4vpsCg>C#7Ma*LUy#qLnq;CFxf|v|Om;Z(M3Fh$|JVy#uxA;aFD%GtW ztSM(B3Ab$m7MK70hDi7*+Kl!d30&#m5-bV@T&cppU1{yVuCxib(s-frwZHC( zrObDzRP_j)b5}2Rf4zFS5B44D4r2n!FgSLOh+?e^oHZ2x`bsj=qN=L?fJ;GbIV9lT z7`&{g>Eqk?$?xk3&L3P?PMyFzaSB}zO3`v`EdJX(5(@paQ3)3aHz~|&(RM%4KOImF$ zi5z*XF4?ZY{Me~0Z!_V?#a7v!(G5L^unI0W@>W3j)g8DGabu-E5wrLS#|ot07Oppr z(M7iC;#FhFnzD6IBPqAa3aIG8&*w5soL@fNxV9l)=`l&>CFGITX(+^H4{&urm>w(n zX=Pz1NuwG5r@X{L>G7`UdWd6rfO5CMKwQ;nhMOZimQAH2z-}9ysD}9lZbyY>2w!1d z0ke@Cr>w?h5wkDgSsF*iS&>N(ByXTalN~%7yk4E#l^z#e%nPaTaI*Ia!FrX|yI5r% z7fep*&ux=RxbIfmgZ+u4w-dcK>@3J1s&o1=dINYUt? zIJ@{ws?Ln37XYGX!HtN@q@QG4BGY3+`Bx0E2PX^_e%;y&oE+^;o$JyvzS{m^I1j#8o5X%PYmlD&wiAw>w6ix|cmIFO8P%CZ;sRiwndUCk@`H)F3-7 z?Ew*Cdx8qC8t}j&xZE(8Y6eA(-&1v$eM+#?T|71WI?<#7qnQ^;-9vWCb~p440vHru zyEkIQj#p{$#iL`bbKMUQ>S>%g{_tDD9TT&)=8uJ=zo)y$7KK;4)xN zT1)pLw0hd1QmtVc&|OvaD?kTX<0@%ith^;twk*APT_LmG{a$+n*Acr$ld3x7o{!8) zsi9XoMs;*AH(2?BaLU(J+B`fn!2h77;pM{QBoOgx z(j}36?EwHfgB!c5eI21HIcT$L1gfi#LHeJ@uWEAk>~rnj!v3{n_pOj*)~aPqidZze z;Fg&gWSfb|a)l|K=9B%dU$i17vKZd0Q5mU&q$q4*xRGAP2vPEOyBc<*gB24s>ZbhI z(a38{VXZOg<0udvcQf37u95ceRLYs~F6c*f>D`B+E`KxR4;<`zKN*eZE3QZ$+W>7- z6O5NEfu?##f=mylZm$Q#H@J+sylv0eU0?XyrZKLt!`|h~8xwaZ^sI$yQ`7Q|G4>uo znQGp2$Y3aFxv~So55JCD#sNN$mmEBs5J7qT+W40-yc3=M@+e-3Fr%8U=5n9j%QN6!{W{JG(&S)O@Ic_rvc zpKzNAlj**AB(nYKL(>HlFcs2nK z5Fi33VlHA{Bu3>hkK2!R(e*~*hPfV@e^FkCTHw$>C8Ja&ey^%P-w=g+T zE*9c@G?m55yYm+vCz~-eQujxS=umyAX9x&K!%@I^6nHu?5t+!HB_gF0!mFdal5Hcz z(WxaBE!of*h?o++%|6F9?0MF`Hh<_6lf+Glk&jYKc9$@n)Rblr;rNLWnx-!xqzJJ0dMs22GCKe=Qs;&0)}fZC z##JcV;xSJtrIFu0Fo(CB?tF=EGp`qCf;}G7<3mj1fQJMM9MF~mb`IS0fffE-v~O{7 z?B>l{V~0;tKR!Fu?9ZNil$Xf-;U# zh1Mk_Bx7Ghvbi;$eav2es=xTP`GYUa*Fc~f7D3&?)-fh_)8+yH44abv&j~9q8vSq6 z*8hKf&++%v|9qH6mZG!xpQ1&fC0r?)uJq64p2Vm&R9#LnVT!~{u-zFW++DV#OOVkA z7WED3!+MBpXaG{QNAQjhskFS!dGRFtw>A>n`G^ zWh{w3J6d3mN(La!NSFVHZf?jjj<Dg|b z;qUFVv*yme72rvYIn#+ah5mXJ!4j8zmXxbZZsRYfbhrn; zLtcu1mjRnk{Vd(cLM@_2`YNz`F7OlOQRRqnt;$w8{dS_OmajVgE7qyo*_!*DXQ^-c zlYa9&?Bi=re-Y;$`zBM;`>$7E7iM=epvM@$w!6|QVyaE4X6We9so$g#hwqdY$`!<% zlK`!}nRS`{zK~F}_A-uHI@|a`(1Q_Zl4hiv3pOIpN8p^rm%OLpN!D2h8|{F%=8-}i zhI8lZFFk(vh15=j;)NFuP~D27^P_zX9AXAA-p@TDr>N3-{NkTE3;>1Riws&629Dja zdg5e7B2ZovAK?8}Jos~CWTI+V>412ZEXFNu_NV*(?;Q+1jEV49D8lWJBJ@sjli!+D zHYuK8XD|;jpJC{=`(s#R)Aq{a{Z#C)xblrbs7_Aen7*{tYE?bfbM5)j;S@nH4`A9X z{*@z3%Q)l+|5I1H7`P{|C$bqyv93!8*i2*j(Q@`~DN+xOuV+Wjuq0WX6U#hF>_QQ2 zPzg8=xMl7(_#&Nga0z!RFe20Q3|zjvmNiSHmH%p{^&_G7q_xveA|W4TWIiX7<)p=P zbjdt|F+%*c53S#bgsUdpVhUpq;h`kLN73_$}kU& zr(gB^oYrW+y^lue{c&fc^cWn*1RMa{WI401fC@W%0KB-XA#dO^737cyFuuUpp2^LC zFVo_Y*A^xw_#T^XRrI5pAHFZKzuOX2Kb3DWi>So2t(&QIHNd9>45hF4S==v$-=YM&0Y0&E`hcG5WUW98YexoxiE#97 z0(z#I^m?Xhz(+;8tZ*@DyvX>Q$hUv;|ao>e>Zw1bNc*Z0h#1szswH(^@hozQBP$_1{v~WGat*^gcdA=P~ zOdX+*fLU~8h)r~sZEr$#ce~G*?J@UFU%BU;4=m)kG~d`tPY;MN#jR+F>}w!r0l}Kk zv%^GmSi&R%r!Ao9)!zS0QC4a1;*TFjFRIepzC7&T;>7ZImX#&&32LQF&l(z0%&EX+ zT^`x?2nHN196Ark%GQ%EV=3%T)0&whc_Yt0G@f6L*w^P-HrSp-FOvg+ok85FGdaT@ zP{bn0Uy9(?YV4O{-Tl0XtdZ~5xVGGPy`HCVE~w7tMAW4e#-2u17l`9u9MS7_W!sHs zO;kg=wcz!7A83^rua+|;D*`xDN=qgX)lFA?`+V&1NB)h@OJ@%xKehT>u`QXOPEW4- z>kWU#sw0@r5=vZI0>?G07b2!`=TL2W0z`|l^yA4sAGTlm_kdiWX6m4#7eq~Hq(A1h zRZ7VMD=;2?^J}jLgAG_xkE;#U-@8SaAIgGxG!}ex%^Wh8IZj`H#A9cc#pcr^8u7%a z`+V0c+<)#)DPZ}GYp&gsEMLtoU!WsL`+bA#^Kmn#bpHv`$R-Rke562Hr8O&Hp3B)T zQG;D0p;Ys)fnDPd>MEepJ5Pu&+~`d2jB=#V=BzYa-kbA!OTQl~PBg4bsbBziPW$ z3gYL#DR(||=Ta^#+!IAuCFwoa)w)8Dx*9JUsgVoVl};D&F`Q~WGg@br@^vGGG8S{< zhAL^SAKFmyR96-7jYXE6Y$IFgw-Aiv`c9xrrc?*EVgg%K!SK{(zxYE3DoPL9{Iq{h z@dj*-nn;%^-B8y<*k?(gp| z@IQ^u<^0Z2)AZ`?r*91WnjjJSFVsaHpo$dPW{%(*Bxt!c8=s2~`raP;rlV~rJb>dhF&@oLiwF9)?@=wuPH@%b_%pVV zT`DraD^>Q?utDXyc0j~^@Nb6n!LU;nw!*dh{=iv>(Thw}e_OK`<8+Y>V8PPYwL{Hp zn<cQhd|7>86_UlqTJ%AVM zofGH4hlM1$&Mf~p*p-1BFOeay=5rc0%6)80JygH5?q~p92d{Y=2{u8p2_7j79xuYJ zpfTXl?X`{K@D&BJjB7X4ux$ixMm8d7ZO|{qGS)>|PaK(htL6uczL5yi#E0GG6hFCa z__FR{jd%4~@M|}4ec?M*RNj++-!IYS(z-|+sT-Why54xDi2;!p@i_%WdpsE&=Gs3F^Ad;ur9Vv3AOfF03q zJymG+ds+90B-hW;9)ZZasTc8%i$(LFxfo$FiQ?N9bSE2BSp&4v6qqOtt({%lS%c1{ zI?D0YZ;wIRdn!F}1S<|ed2qV)ojkA%d&6l5SH*lb+(2Q4+cSY^E4hDXlRtCs9Df3pne@VXP3yohn zZARtfzBhaf1s{nN*vOfGZtOOPNTFLE_3As5R*HRrx8vch77Pmu*T z+SN{9^Mk%Pl3yE}B+hyovi*8zV4z{L+qvs9S7K*Hn_mKxuSsP?9ze{u&Ov?Qc56$)Yb|dw5<9F8gL+fYG0)_YIp?F}IF?1y+$f$;_+?g1kCqUiq zo=2pf=RE!ibm6o}n%!b8cF?6^TWG5ArQ>j&u5#uQSwq#;088 z*n1F9Y35Gh;}LeGydnd`a3RcMRwhRmN4OJvRvVqOo+z$9Tv%J979wZ8`x1+k9ItT@ zUN_Jj)|~TDL^WB)`BfW%CGiK16Ug-AaHom30pr5L5J^1rc#MAGS3Q+SjPyOWos~F* ze4{AUp5DO8IwtW;!mjSL0?Q5-vU-3XUfVm-JLaLV5~Kh-5^%?xMFjJ9Va}+88&8Qj zubG}6gsGT1XY$_^_ewC3NxJtm(!wenGBouTE=Pbl(lUJU5a6I(_o5}&ZQp&w-b0v; zd*Bsmhb0edP!QX)uU~%5|8&0}-g8ESmI*A?zCeXE?j7cZ98f%9`+k>dyHr|!`{9qe zaRuMwF_#aYVl*x`DN0vF+zt=BwHYRpmmET@o25|HPwaff>8uiK$I#X#6qu%6sb{> zCISM|g{X*hqDUtspaRkb1QdiQNH38ZsgbTCARt6S2?6N@5=sc9IQ#wP%*^|pnRCuH z<kd;nW*LNen=SSg5C~9|+HG|0>pcn;g{E<``dyrf%6q~jgTq{ab9SydB6*z>|+PiQTrgoxex3U>Oeb z1O5qFtavZb_6?Z|Q3&6%R&jZ2Z&|41C%=%HmmqP)-ND8$qNS4xFCQ8x)HUzn6U-0c0M}*8B09qC(tIS z29OC*Q3g*0nK1kCZ6J)-OPOoXueRUMxpLm2K<~k^G;S?fV$9=b-9gCz{QLjaZ@(T< zbxk^#bU*RlEq1nFk7ReUnAM&@6tWH>3n5wOQb-9Fdy9_&Jrp3cq6nzpupK(}$`<;c z&j`|>2wBYSWgQ#@dOf!;{f{pozXn*<|N4&QfBMfzHJJ)vb^QB(kv@*dLG2U<5rP zKmNzPXc~}z5s0s1YV~4J-;0Ce@-;aN*mEJfL^81dK?4G^*Nu38a z&}hhEmN@(bSr^rbj5%dI)S`KJL$26Qs^RIr6fe z2pT-th>9ZAD!22FH{tARX^KQN&FCJ^MMT+XLTUYbCFq_=|Kx}uUhI?AfkCwm0UKFu z48dPhD1Jhm6Tnd2rHRn5d1-N!Q=WC6?-F)7snYOvVRIArl( zc9r1`Kh$SFO#oGd;bY4awhUuWqyqeXquNwd6dWA<+uX%_%F`2m#!Xt(_0 zwasn9;$&6JRFDp`2MR(QV_c)TyOWVUZ9?^9I+8^boxYy#k6Zg|oVtH^{TOT>NWPvj z&sQFI!J_}`U^M(PP<9AG^b(FTti9(TN8x%=_2C>2iiOywrk{LAPCQeH6Z~0oUBVVr zPMZASW{j@)C|iIJL_jV5t89)Xyq|%df&iGGC}f?|`*$m-lRB4}*g)bl*%1^eE3@rt zZh`0J`s_1%7o`b2iH{TC(w9!26tFZ=&r-J7np8md|J++yrP|Prgj3oec&)__I_uo^ zZ>wby4cqt92y11C0coL0{mnn1vR(Ql?nj-aiAP0)ocYF^4VF<3<2GQJH8L0ce1Qz< zhVnYnQVd^jZ2H|^Pc|#O{_O>UB?Nq5B%=hrwrnvZL8u^tt~##XN=FyiSC&<}LG-4K4o zQSi&mEEYRMf)+aqi3fU(DynF~koqc7>lV5jfb8?oux1uPrz})cjhZZ*cRfBWUASC^ zJdJz+sJ!k{lf6w-5?H*LF|?0>gm9chLsr~Li5ILPAIg`Zr{AypbRUq2%JW{zmQ@Q# zANQSKy6v3fUByBa5By^b_5e9PNA+)P{;7AIrbRIP348ScQ)8kwKc4jQrm1e<*K>w9 zN@bqQp5Z&PP*?dMcQObfx(@MJg>pZq#RVKrzfE@|PM(@{L~TF0hygd=YPqh9pqhn~ z1n;Z^M(<9)cduWTsu)^C3L^MvY=98)21}G-0T6duG)wCgAA2wM!&?6%p?7QUJ%e8= zp1=3@?r%Q%tOUR%LW8s28h}?3XRy4EQn`Eq^mP2PB~AnDcZ z%f-T+wNt@6vYwKXO%q=zx}yJl8DM5V-9ij%0eeJB?5@zRI=U#LYI%!iGD)G28uNOR zXJE}=;>*AR&;f@q-nCjXTPO6eQrkh#ykiZp11=^KHOs+PgP|gsw#V+6JeEj{J;o-_ z$$psK_>A2T0c%vtL?(tX_){noW0n%FN}x%ltQiz}h9#%+c8Z3+9~Dx|SZw<#m3zos z3?7#^(|14u-XnEwPOb|rNWx)(;=t!t{h8;`+9X1ZK0`b5jF~biDR7M-w9wsu(PmQI2Rjh9?-jixF6Sxo-g@sOiVq5xl;P&e7& z>(}?DU<+>z8F&E8`9686{j?1v22zV{PkBb*g|P$}5ORx<3*V?jo>QyVtO=T!TV?6` z+JyR5>Y<&%(OYSsNMF&O`ENf=q{C(jgH^3N0{64zOnqBgwZVswoz>X;5TL3|Ge#2c zNarjv3%&r*N4gSoqWX74LEkuP&pqk&UJz-vZB+a?`5n20EHmU28`E9e$yA@mr4qe!Rf{K({~%2P;4lgl=9m3z`0pAGErv)g4anQiCuBr zm}(X`!t1oY0op1d<0)Bw)AH-Oyw`@{7YiIhf;%&hdxp8>@Hye}_@0mLhb|_So__r9 zXxY2FAdq0W!I9;AYLx&4=f6+m|L;-!{|`Q6lXe>N(Yab=_F=_xuVE`vBvkB}(KTL6 zXcj^EANL;q5c5!FRRcOA+dO#w{`hXVutKQXKH30|?z1mvni z+( z{eB{w?0JA^&-U%3+?6x&3{7Sd#Lr?JHiKUC2JjpV8@ls!VR4d`cDd@%LSy`VmD0Mj zv5@;!ACiR6Fb?uK8&hqm7qGbnTJ`UBD z*BD^0q&K`#1BW3Ze`?^+`a=Y-gT>2Yp_<($Q5N355V_w3% zmyhKGilO-Pvw)>(9E3}VKz&c%=zTy*d7;W=yYoX)QFW=mX+_0HBdF$Ab;QfJGKzJ4 zw=>Q*psQC{lFUlP1;jX1sEvbhnf6{dN{64wWhS&V$s;ukn9@{{PIRev*xZTxt)iN8 z{-RkKKj`HXK+eah0ZSIhVVs)SQnehm3YS1l@7WD7*AO`&IbA~H{N(BK*-AU)uR3p& z4fjpllRaC?8?YB8z22Pji9O+%PWU^96Evq1&A8}T~c4h%VJ^JaVyQ#2iC#~ zn;5}uahB+oKxf}dkzAa1DSytB|F@JkeCQ9-2%t88Fa zG*>V53;T;G<#W%!UpbU2J`0jad;+zxTU2HUpk~lfE!OnQ0EHyYvAuvcLfn4rh1aVG z3GHTXI^9gX?~v~Oa_+3a+au~1L?hMa|M7<=2z#~2|&izE333)it)wB^` z|KfdykK+7u6@8dkyYVT94<-UJy}pHEKTD+m;CbP0(Fnaje%~|vgQk*``nD&wu^Zu^ z)EWk^60n;W1`ukdA?skg9MH6RLb26#5B>qY4Q51xs%*=;)q$E?dQsM(p0QZ&!qP-DEtF?fS)h8*94Gf=!U9_lf?f%9r zvrWAsIcFEBX%2opRW;gF&QhOsKs2RcTP3#86Ggg@I^b`O=00~+> zd6#NU(@&-OW>}vS*DoQMz<81US1cp_1%(xr||xT4B}?3GLmf936$u; zohkAA#m^9mA(^}YPvDr+Hm;?bavndvoJF-;J!9#nSas;;5Q6Hmp=j0BB?z3raEMVRm5!W6(7XFZyzEp}sIjyPSf9*w|J zSGoNsJB-~iZo!jptalqeom7ZaS)4)r^0sEyVm+KWfzuIXorB*8{A|@7b0^PVe`ZkY zS?{4(l%}Dfaj`;*4g1^jRDXOM&P=aY}IBh0=7qToi% zx0Mht8(MR5lFNuOhQbzdRaM^FRWFyD>r$`e827@g$JNx)gGpgx-3s-~hJJ?wZA8Rk()DOKs^*QP3x&)s=AYG^| zTm!3;;2apl@EP8k?z7J3w~B=r=C}l5_KKG=t~(mDP!b?r6OH6Yh{0tkJjsPm%Hd{> zjrAjLwHSxW_u)2%PyFXcGb~pxI+H=Kt0BP;b<;|I=exd9WrZe(NT<=XjgV1v{H1$0o5~v2h@dLpNH%=fb12-*t zKQa5@_jR+w zR$)?E)05ae;ooVKO#OVUQ~(+en_EvJ^HY<^7F~+AzW}QoLD-9(K6#H!`Cm%!FF82B z7IQptUhZPxX2(nk{@9a6)wjMAR|{}k1H@c-s@ z^Zpt7-<4HdJjq+OBcv8^al1~lGkh|sBJA7Z$Ep!}@C~3>3WVOP$Y_xFkOO$4$&LXy z!t^>ZWLQ(f*hMT$i$J_`YTMR`x}E{#lt3SI4Dj`WU;@y48-Qy)hIWgiRWOy=T!ir1)&4PQiaeCTerzza@}a!d6vfrM%<4T~*a+ zj2%S}M}qAU08k{gwhMSN%>!|CHb(y6V3J#$`F1%Wa!35yPIdbpo|5=6buMvEVepKY z_po<=o7hT|Gv-+xO$l~3-eAigeXgAQ+wTYbc^QId3WbG#mY8M~r6fZhV#lGj=~Rx7 zfaZ`MKpPvk+ik!Xw$6XbzFe zaHHb%bRfr1v)CNjuW>YJ_Zfx;G-l1hHQq4oW&W);-E#hW$5B&Rbqh@^Z84yS7_q%B>pVOLWfh$6@7P zfgH|E1LN&EdeSkFRZwO?>^HR=c`$^oB7MgQT{01M``JEpn{?p9CbLwer?p394#_-#c0boq%m@Uz8a12foY`&W}*Uk z@%(pa&q`^yUgS}@JlVB#Y(F5g36blesHW>;x_tN#$T)3t$TjIM*GpGXhh&wD{qO`z z4pD>TP3i17)!Q)`kF5=U4mX+;9rJdAy~xZi%zZ0FY4$Vy@ElEz+>8VjZJ@xa1_)bb z_J8vRd%3eKiWA7Nl{Pbk{_{f7x}DaIiEaAGPX>;bPS-;GKyn2Vo)J#7*mGdu5F8N~ zQ^}B?u$wpv40rQLLmJ713CryPe)@P zCMO%~u^N5Zy9_6gU``%RsT2gmnadE!a9oR*OCST{Y-7uk0#x z;pJ>u#E_fhhr>0q8uw8uAMr$| zRq^}PpbhU(ADpO={ezQkilXJ*`=y-IjTcozXGvK36atK8fRMf^PiG9X{9t)lMmmG{ zs|61b(Y0TLI{>uyU@GE=-l?Ts+dK*Kd}a=3GDjnylR?3>lU%v!eWG7?bb&p|fj!vz} z#=STY7+VLX=`$|AU!E5I;iu@c-7hsQZ)$JrCNFUOOtLEb>ombDr_;Qh=ufWy0lkaH zGMN^Xs{I{hE9;o`8+NM&O;|HswdU3VtrL$ET@`(@F=jR>l)>(KfUzq|lb)0Aws--l zg>{jj?FF4UalxN~ri2r}kRB5NF~KdNob#y~zxFFS$$27AX2;&HNr2LANj}s1U^f*f?x%x|ps9R3qeQv7VlR zlxK65&Bg)Yn#AJ{MzACC-@5K-A5O@xw(7a|nro|ivUiGg5pW((nMM8LfIU6Mk*37( zfXfzoKJ6tPKcf*;>L-~p5Gn+I)k9Ec7N6$tjwt@u&NTGz*Di8}n!{nTGH3&VVa(SZ z?3F_4Q>o>n>MVax>{mx18IWPWIeXS(jOTwKYrh?9&fA&<{wi{^A`FWtW zj{|!ewv?rc{MUh6rAed7*BzB&_LC)5F@=Iz|Nhf|z5XfWW$A$Y_lW(c;RF5s^k1v{ z?`ZscqWm3=zoYT5#qoFF`1f@9I~spSVb^}~3y@&_{gTL?n9fQB~;6K*Ff2w6h z>J*!>23dm%ba|F8!WR`z?}dctH3H(5ENvOovE!okG4)Tr1p^PPb@|C!KpO15?Bc z-9^_&;U7J^+H)A42{@#0jPK4Clg@_{(Xn`oJ#)E^5f|Ida7Gvr5P1riI)>Is7I@GMklC9_E> z^=_V9_x##d80;wTY^a1>neNvrFn|&41wVrdu2)qcL_+2aC}yK+N2FuTuuoU)QSU=%9gDK%AK%H$wguaxs8GxS0sAct4;esG{)UbP^ z3^l+;4z(|1-QrB)2d<=(Mk=B##?@hYdP5xU`re>&U6j2kbogPwq@m&Cw-2iocV5Gd zB4%L6C*B*^n>tjbTHLCgD33%$;udkFIU@2{$OzEhe$}EpOHv`&5ABG#JH{^zuUu5% zH=1|MtxD?Tj%uGRyOmac$|7i3Dj{)ZCBV|3p67cKn(?Vm)OQDRA{q2Y9WJgXlCf}g=2XIyp7 zqKMH6qGFfyuUzRGso>vBQ!?Mabz#C)^uu&XsnHvGzu&m8hDv`xd+O*1&c>TnesRuB z5<-2*Z+ur*aBq~NLH$LGenLSx(s=0#4Ed~C^a~w{sQOh5Ho?ofv&*9B~Ui*P%Ju?#b`GciHlu?Ln^?Iv=nR=*B&<@6dro*eZaiQ-Xpg6 zwt;thJi}KgB;;+3H-KY|{gs_JSJyl-)Rt1avposm=NT`^(hLEox!s<=N~k_fkgnT5 z>ulPYg%iTR+NkK}Kyg3*Xdh&uYRQ>-Q}be4;gv(ML!=$v1QaGVx#bAmUMv3M?+*ZlWWb>YAUl8K(UhhJ zZ;mSWqdsigEf#-9Pw3Bb#v^pT($!c$2wd|t_c^C>j-PddN_%ReKzW#Z;83bkd$gh4 z()x#jQkidTHnbeT#_?JsZLku~$;?Cu_EGG*#QCn^cP0qkMaxu`2KCQUuR?vLZ|Q4^ zef#$QTN@tf1`DrW!q6*Axk#ZvWT)H4id`zWV586r^7oFW1yVFVLxox{>o}7Mj?bV& z--n$N%J1KNXm2j&|M_(3YB#)(egT2=rfk_#V4dLqb?9B`cKS`P%(=}U)lPgnC~STk zl?BogbhqV(=dg}w`~gX&`2GRiBf0(o869nU)SMRXU#hHKhecn=Xw=MPOjg1_`~g`s zqPziNXd=0miX^9nEY7Ys<$;GDG$!{;dpvyGvKb?nAl77ZUaaiBlfU}+^L55 zp6tw5=#C`*zZT}Mc;*1G<~1T z`m(oTGp`ppNZtPICZ}ohB>Ezc9ZD^0GPe~;#K?W{?eoJSBic4rT{pbsH(9;ZRodK) zavY0`>`u}ptHWZOq`SC&ZIdopH;mpJ6_PK_wUT&yt2u9xk-Lcp*v23pfN^s- zAehLy;6bRxegDM$y0t5Cy z#`P*sr!}MuSkiag7rwYbUtwo*Awaj$BiCqFxvQTK5ah_2q#^Ao)0IlC<)&3m)nw+- zwf+YUq&G^o8a7ub_YgkY0!9upyLMPJ5-XU53*d*BZM0$mou$s;h9_?sL}Q&)dMH&Bdo#}yOnX!#hwf*E&Gu5>px z7Rw)~h-?oQKTg^0@K`smC(=uI%f1R&^&K&dI{EF!y?ZES`NX8v`fS~Nsvr6~dUIpR zb8UX0bjOdNG4h3;7tcr_YcK@lsTnlf%vB2KjQiSDAbM%v$DhZ1A>#f?SNctZgwFek z36ekTscBydG1V5zkxnaw=iml(r*a&&R&bZ3U7@cLQy0OmBy3;zYH!$a%8^7k~j}lIb1%jO&!eE>B4_;hUIGrXJ##uL);5#c&H=d1Q3*%*BTW zqNTcuQ_Z0S40^dF-EkjUg9)eVefuDBApNr-*{%bO$IeL=P_lc08_G}i-yp76S2>vk z7On^d$CZ25?%i0Y^r;@TlETM|q$WQSv6FM!uwpw{p~8E}`jvB4Q}j-)P9G43i0X0E zY8{?+wh2+zqbgP~2G4DS919D(yP^e}ed0AmCcH{rqdp(XV-E{N=)?7C2IOWUaNGZJ zYooal%``fOyn%PE~)Pb(x^;A=laYJ$7Lc%T>E zCX=dMpMw>^>lZ8^IpdT-ugtp6?QbQps_@~S5!;gt!~H=jpy>ezcFZGgIMQRf)t9Eh z?hOIyH|}0@>MZe^)JK`rej}ws8?b{VCJIre}kNi`d zzADoL0g<|WRH1;~0y-XOoIv99lxd~2sAy~rw0*Bl8puAlv>m-2D+daWWx0vrFB-*g zRdsQhP%_gWBclh(3WK#hNvE5j>@_QBzD)OG0 zt)v9gJ7C}jJ9xvz)8|-2+trKs{)wd(0itrFn6f!msOc!o23@zeU!bMbwa#>JnUvT}mjPe1C} zY`Aujc=@QwXF-ZZWJ@5B-Sk3gI7#XRUWC{(_LwgmBApNrN~-IK(H^hZUiTwBxDf5m z%`vI|!rH;FKq|nRF7OWLIE%?SEKgauBP!GQZ z-=(KsX-&3&K*dPCa8}Sr{f=5dnrA4`V*aWK8-$wi{_@st_PsXDMVGbp4u9ovKGoc2 zsAv9e_|szs_UJ(v-hw)bWxi#}hse*cqR9Bgo?yL;!`Ts9JnFvOE2@<>5o0dBvnJHm?qf1Rpsd zX)aJD(v%W~Y6w6HvBVi>KY?y6`(%iIFX2c*qZTf9y?DA@!qQYhQt6PZtZZ})yroJ- zqiW29nlRqf%7^X4zDEq)SwY#7wjy*=8du+rwA>>qy1I<&$baw-(!h_!&LchS+n)$v zY!PAW34_u0Er9OpGzakux*rmW#h`jO@V1McO{h+A;`}-k>tH%P zmleU?IFdA1-UJP=-j6UqTxDDY9vKNh&{_w6{(-{z89Y9`*v0!nHLkp0ua>>_mC94c z%f4mkG&Us zHgV@%Y3|rcz?Ht!exlyzH1Ar25?@zLo|jdtX>AQcBcbxdab+dvJ@jth{J7UiAtlXntoZt^^Mq7|($_uUn9WL>_pj@gFL zVmLM9fZH-|J)?+AVQ>;B;uLcnn}6nyWbYB@`zu?Xg+JA_fvVh8S-z4GUe+qMo; z?=Wlq+SEgK0UX>RJz1L691#P&JR*&H{9*9Ir}$Z%T#<(){!M$p<#t;mqogU53Dwr^ zw_)Y`XeE}L#Z>FQHbi=H^~e5=)j8bfKGEg`F2akp)0n2ZOk=5dGnamec>C8MQk&jf zwKZgSF#ZBKhz7fyrr5>kxE3kZ6UFWi-Wi#Suk8QFYBba3oe96n@8AXOQS3w5VOCez zZnB=C8Hp(6545TcaKbW=oZTieyq}S`VOP)~v1qvco__>;Lbl5yKz0^r@ycsI>RU@J} z+~A0fe;P=A`{rVvrt+_5>NwyK;tf4O!}JJ;@r9Vrb!Z@Ly3rGQIMxgDUiIXq*ZC8l zDiSbV5PW1OKV4zXEW>5Bc6X5c*nLqhEPxWV3;m!KSr@6FW ztn<`=zbhOAQ_Sg0y?UtNUW}mu!q*#uk&bTxSaF8{AayUv)SK8&^Y={*g(re#`06c7m2d2XgXuT~%LRqVQ8BQI;afN>Q6`&Ale3=VYQL zFY5(WgV@$K(4YTZX8RdUKA1!(;IN%3>q_IL*-J&dUPL`(;PO1Z7KZSfyS zN2?N91&OHTB}9iMH0=q3K&Tf=pLvbY3`wB6x75>Y&X{JknYl>+JU22GDQx(oM{=Te zk-fn9+st0nv3)w{tT4%Y26==vU<<87KCf%l@5#2s2sV2LX$2_Y>@MB;tzZsG{A1&wvrx-7y=(&_yM=3-$V?K z(9RQC&7nL6E7Yd0Q_mZu<|M_#LtcIC4MfW9Ok{R|m6+Hz88~tn2)%$oXmXFy6Kfqy zDh$ayQpfdrr{o@#Z?Yw5fQlC8_<25Ee6OZ>l|pi*Y(mGg zW*#tGukR~lK2DJOq@Hh4KiLaIsTwJ%@8z@+2QKyk=34kH>hC|G7!O?ANl!5O zsWa^p!zgCCAl3rKRMDKZXKy*)K9ABY$_&)sl4Z-VyKI%ezJ_US3uS}!(=za1o&E)qX{#U>G;txPy z*Rm^aZ~4N<(CgP090^5O>HM8$y+sL`e+oiop}fEVra+JA>3L>1)RI%WE{4PpUT=-i zTQ{D~J}cHCb075Pc+<vnUFz?}% z5>HG}#Vw)ub=4Ca90q%Am(O4JDVN&>*A(}lpHT@%^^|B^CS;{I zKi7Eb&c&9j#Olry(-e||>~-1GpzC592lHU; zv5#lKG?`m~Z*Iv~ebeU3;Hv?QVwu30u=NX>M* z?b07AuX=yzb_3z!10&nJ-Pg+XZX}N0z7zM&SphW&Yr_XiiErJ|g~5QPOyJI1M7ROM z%nMAu1;#5A+mb%OEonP+&1sqiF}YkpUaHWy%pf$}Rcvs-IB(>>@f!&xDSH)T(E3@6 zAwoSTsgRfw=^{uD9DKIz&~}zqKC7Ki^EMfoL{C_Dxeutw8D9^{ILL13{tyJx(9#fU z@(y>Zq&s1EhT=>#VDfuTt<;*82yKe+ta~Jj5AgR8fg6v#`=M(5AX&J%QNpn1=7gom zEsO6Vf|KVfUeuiZ_VEz-miOK^6N~jkCp+TS=)vT2Kzvs*n7nw4A~_%3lUm~BCA44o zd|~*W!jAzmYVyl*H@hdbPcm+4fS0%|fEmgK+y9N)KU{p+B`1gF9q|>?U#Ho8LpIQk zf&4O8j|O}a$Q#M3;28WghP^nBaV!06k-er~;INZyXgug}hm6GU({ z%prOk#*MG;80a?4L$#*wmVV+{GREI7FX-8nm4u6$0{eC}+>Mq#w;=|Xp$U@DEq1dc z$a=LAu21B>$oS+|;uXf0Y zLZeh669DZB+oNdLrA1h4Cv&X!PJ_tveG_6Xi#7>2)AsU3TwwxVzn;&yzV+bf?WS_| zMXcH#<56E#zV!bVhgoe4aWv?MBETLS8ULe}7$CA8fQ(lBAW<9HFk@lT&|Ckuj zb{8g@wmRrw<#F%;mw^QLr|GVpv*rd7BQ`Q>-aB^mc3sCc0lPTF5J9+z#zi*mMhd?h z&bou-o{;=pQVWv@NN`_)EkX; zRX&0k+YFHeY9-Ip_O%@XGJYQ3Jh7O^xBBSr-mg$iysPDwYp{sk<2hcM41{!I2Ev19 zcu=5gL}U@;TyyrprdLgMV7#fjKk@#j%>LVT3dE?}FXe>XEHqyBnp8R5;G0&?*wa2ucF%j+B)H7H^TY(r$TdcbD=TnUR7S(HUAq&iw%Kt>heN_CEy%@I@|&U8Vk@v zaP3(cw2m*)*eb%*{KU-^Zj0IlJ}m_+->u^snQON`@;q~Chw{SJXi?;q4e9``dnTMW z7Vq+GmY3Vp(Rb|q?CUq|3k5ur7y9PE>tx7PCpAjhPF0(T=bd=Z`iINMx(FDYj{%w# zypb9%dSuR6C6`|-yIK{F53>4?_lbrSnVXz0lg>F~RXFOfgSEc6P|@6iA#+5>G0|BNd6W- zU(-Bw-oDTEc(!lF374xM6M5q4H97tq2p8Z{^)w1GoF`9C+UOaK0sJz2*DJ~SgZ*#R zxN;puBd&!TAK^34j8FazI-=+J?HT9dWeHilViDC2mT&QJx+A3}-Py^-w{jHogXvw7 za@>0#5*;9B)Wtg6WGW_ajLBSIpS`&jbNF~m@~^KQB@z^<#3}&;Y4;VTI@B}EpJ(yY z!YvJwhkFla4X<#ML~7(em1Ky4L%DCCyY%!M2SS22Lia!n`_i>(Xh&K;9=L) z&+&|)w&q~6c4{Ga8Deu_Zuk{)PwpIq!|UP-UaInV_VCK-y(fkyqFHB7KM>Ea(eb8e ze}){Z3J`^eu0HbEqUEy`FWoeW<5;1(K99b@`@Og5k?!i^#xGIUO#)Ga8Fl{;=*M)+ zdDhYMe?aGvYXB|BO~VLyuRF*lzu?7f+W{|#v_$e9oxSBJ*m)Saao^Jbt_ehj;~HQN zcm$CUMc~po0eF+nrU1@NHVx^%G7V3saZhBjXZ!-Dwy|+fopUbyG#CSJ*hslY z8~Fe~$Sl

L-_X<;h;diw#4&OO|(sxfj4%XRD!+!agaPcPox(Ohu~=`nfbIt2Y5j z*SQrnuC0L4J?Ywr)O|$*!~@zcb)WXEh&6;z1^8hCjMGgNTml0^HLUhfJ4qrH#h7}m zD@nDa*^l~KDXX10^3d-7fd`WMK&CrIcMa*B4esGRju?c9ww<;hPs|F%0S@$HSbQdR zY-P}2Ugc)I@R={4WCjv7;O(y}1#l{6fp#w5U*zbrIkhO1xSM7?WXHY^wq9rkU@!+NUj0}_XCmHukEcG!abamGBsjS|?lqSq) zGk0SBMpQlQ*isF2#k<6rGmncV9V6nKCK(sp9rsM4`_-q#KF~7*nZ}8%GT$)Ce`h+zm)NhL(zrv5 zF7LYc4NjgM(Co437eCExf&n$aaqC$Pk_=o}fS<;ByLrSgQ%%UNNhs|~jQ(Tlqg$A_ z<^;v2W1+JYaMP2-?Z;+ViEImsM>ZE;=2Jvb+Ky*EO$rff2~8aVl8kE*Pcta7nnsyH zjyJ6D5_1dlr|x)ZgmqoGqx1NThDx_jbzRTl$;%Gc{R)M@YlqtGThDTmM#v-WkecLF zx~z3Pt>-%acjen@1^r~R-wskiDzZN^Bl#(qJ#p|1uA_%SP&9X zD30--$4*6rgZ*$R(+oJxpcw92%|va$4FvS`epd7|+g{(#3CLU#i{tm%4E9Z$=u^ge zC}K|Iy2p?WNRsRfV0q!hIwedEYbF;*>o|o9z6#5GQ)WMHSjO~aOa)(r$7{Ph0l zF~QdYXd8-fGMvqu9!7%_>jyhqRaU!$r}=YiV!M;ANz@-7YCC)_;c4B*JX@g!vFA^& z5P8Ei#tCC9ii{@RFyE5KEQRc4_ua4ZdmFx5j6sYHx}WfZfB|>u>dzrCWKpUe%|^M~ z%)0{!zxXGpJ^v=`Jbi;PKdPpFSA*1((p5>1(& z?zT>uYPfo`XUx{^u19it&NpV=I?$GNesc+4HQ3sQK(s<;3P?BPH)}?yd$d)G--Zhg z*tIMoF)k1?IMz?1!PjfUD#6@)F*ZxRVUuV5@VpKD>xI6?6UpE9MTzdDc5>FN^xAwC zVkkTRP6*6`oRWL2x%f^b&Q{|idw&gc=)Cd3Q~u~_hpUGtGTgq(H0s5(f;N2D925L+ zIbmQZ81(#F&)qVIWYBLM7kP0uI1-^q^8u2`wt5b1fhvFi$no#i`DHGqclX%soms4E z0E#9fOcE>&QL;$3L)8Z5>+v4n%C+LL68@QG&hsop!P&~>xblGULET1}#$9D+G=tB| z?Gy8*LKVNZ8&2(^$PBTNqrQ++T6^1WZ%Pqy^G#hoD%9!QnC}Fjl!A(27|^n2AkXto z=JcTW)Jjx&_>P>9Tdz8Dq9R@WC-fD6rZihTX=v=a!|{3hgS;hbd$mAG9cWsntKhI} zvLF6{maT9f5kDdI4GHv%G-OA%b5<-&$9pd2)E7ln#iL!M%$4hh#ilwMud@#s{tSM2 zSMZTY=Dmv3OYH{TBRGI>_oT@+nb0gJ%7sOoSVid?`_vOsVqu_w@NYNe?zY3A+%%V=Ts z-QgFP%Hy`qSjr?T<~)Z?Wp@}36*nM@P$QXmdF%G7!$oY?b}ifWs`p^GDzr2beR^g2 zK92|c=l|#*Nu~f|GF36yOf{>y60)H2rH~z##%bElQ@T4&xYahZ9Q-W{K)F1wxYd;Fl@)s_P{+#6)u@}5lW7t zf1-&?#^^9H#9rZNs3e z2hFCo^>dgFy7J$>IN($w@y$!)0Et>V5U-;}iPmc;*22N+)xi<>QbHy%4mQ0KX&SK? zvgXTAMp<0lD?hD-2yCFYqrBLwPGM*-8|m4*l{&l&N~6N_x2BZ5yr1qd+h^3;j1-;^ zI#KI$6I;9SEiDJs%(TYb%FF%c>mLPN$iEZH=;VYe%5KKv}{jK-uA_IYPhPMo&Cguq3(7un6tR z<3);*uXCHCmGZ4|8@WD_e!_0}?&zIs6Em3nmR?8GT~bK66|}QP7a!Ii50zV#39qYIz7!t}Fkk&>Sy;dBM@@h(r3_x&y;=OZfsp1=z>)-2M_l)MhVrbl?eA02G&UYk@pslldwjtH9^|t&HO7_u5jy&yI!-c#Z7B;&Wsc+%(8yM_b`Cv zTROhrZ)n)Yp9)@J97Iu{=#s{*0qInJj1zAY#SaKo5B7F8X#3!*dqT@WSB(cAjJCmd zaz@%tM}YEPLMYd{2A~PI24Vt|=R%iw0e0#Xt~IN{+i3+Dy+hYyeEk29(Hm{nQgGuo zy0NGVkx4)-Xy45xtm60a+q097$rA()IE2WRp!H}O!c1|uk1(5sUlmjInn_JxpKI@Q zi!nNLYJ<(F|CP1LGDoN(u`=>2C8t;2)46C2@MxBHH2j^$XTNhIpU{mzW?q zGx|&cQvxHmuYFD#;yP`mG`xQSyRk)YsLbZ5Z|ar~7b!XlF#K|UK+2B@IP=$$$129u zGk_D`Tp;#(IE7P5Tc!x$HQ%5>KqXQEI%-DJM5*GZVp^?o;e%CFv*X-`4 zH_hLT#c&qNA}r4ZOYr}gsHSjjVALRmt|;uxh5`U-RM7a@%;Q&sURnd{thz=#28Vr} z$4{|c!E#YvK`&E$mt9cJnf<=Sfoe?4<)+0 z5nET%DU*C6n7?m!!lno4yL!Hwdh92Z!@Ewu6FF&V7sRQkRco#JAElY14q==hrWB%puU;@gy)S zgTv5WvJZM`6Tx>Y38;|b^r`2A8p%Q-oZMRWhg_NDuGn1iKLGH#Z9*biiO(X-Li5 z#F{Z4_Ot8?+g zH#`2{;(wvObJ66X^cD9cxG@p392CCWAp|!kenf;VrutuRiVO7~>Ii7-dh}fAXKG!k zwPE6_`Mpt4n3GONX@Dccsg<+P!55JYmLNkK|4vbp;%FG)gHEO14bEAXjH3xr)!--F zNtGE(t(i6L(|@(^$O#JUin>|bTQpm6f4Ux6)2e*(tUim0H-(@4gM=F3n)}Dp*P#Ri zl{c(!FN5CJ^G^gI*%rOb=Ctenu;yNKy!TDO*&Hi#?dD4tOsCtJrJU)MV->~_1~#>7 zSATW!GvTWa`H1{?()mCljurtR6%d*p1ycbR`bh&KJul>RrXsz@x#EkaaoHw0RrTp) z|EK=9mTIfsKbV(ns+t+Kx14+_EWPhA<6}P7^B~G3K6X{p9N^t{cS2drjCC^VT|QMV zW}^PmL*D<&(yVdxrX!sUB6*K=ixAlSI!GVP(S0DlHhG5-vI2^}b$72%q%`20zOz5# zJF+}9)anj??6%F@UJ*{vb)C0FBz}YF4iMHgz)rh`W6@&Hmp`)PmZa>V8mQjavTJhL zOkKijo}!A?(nSu+J3W#4H5=&B!`eAa7*hLIw*BHmN5_t^O60%E|BKPpf8U~D0-VJD zKm1co5Nm2~cT_{`ojJR1a*e)Jh_m$n`B5b7>#3)4KN!6=TCEQTn$@`z7^ZRH?>pLV zfR{=viqgU~`=#c;{`&5iMilTnNU;FOTM+$>RlCc7NsD44A^-0Tdj2=>z${p=Wzo3z8M-JD z)K0+`pmRSLaGc|0PwZK0>;Xq8ZWC#$6Hy6yl2gUgf6vQH=8tzYb*4eFgAyZ4@Ys4* zS6)S{eD!o_XgvL-U7rGQFP&AGqW!KW`D9RU0)dZkH|&M=WaFPYYJW003cZx8jdU;` zDVuc3b#>A+wEgSe z*Gw&(Lm%Di1ico_vy`0d{w%h%l!viYe>7e(SyB! zxH8n@`?ljc<-W&5ui6HThl2NN%mvZQ%nm(l)nMtP&#`Qmk^nty5y@Y-i6Y}l)d;?~ zshTW8dpPwHV=t#PqaV^1*<#FGd7`^8?aSSqm_?h6ABHl=!X*EtfgY};#S2-TC_XK) z@3OFnA$PgIk9CwK^VuhvN;Uddm=k|=E~S3tmg!@#GkQQZhn=8{$Zi;Mw#yH_{Uh>f zduvluN9MdzhVzN$G+iF0G=Y@US2D&X|BNpVX!LlE5?P*S? z^7co6GP7Y*WNl@ABnRrXmZn&^^{<`6dih(5;d7#rq&^^a*cCa5Mf^aKFVCP3Oe+wt zVaPpo3XFjTADC4oqn;_u?XTqbA!DFtIwav|r?fQP%i&6`Q@(7$aVGVR8M`wq2`qI{ z29KG&n|$sl-GFFJO#8G+4=wU075r#SwT0_}^*i zUY@%!pp{^}&pC79^i$?=qZiO8>3^-4CA+ZEAYOu&B65W;O0`0s-g>@$>ru#l7a2zN zf4|nNbS12WB6cpiCA$k~NHyU?6gpo#s4t(hvR*RUhhs7Kmc#s<1A654VAAq08&@Wr zu_M()x>_j1$R_X;HYW%W0Y0p6n@pr?=cn3D#yOf#&g@}ZJTWL=aKG=|cxT>?HhKxt z0~ytT5~>G9FvNX%oxDtnx_n{Rrz(6TvORX4VFj5om*aY`j15@b1O;so=8!l-j|mrs zzhC5fEd?J&f-UQ0eOAjU?~{1Xy(r`_*U>rqQ*sXeV~!VIA9gfLz&{g zbQp-}avk~xye?_N}@1E$Y@_JRF&Lrz7gL?pQ0 zr;?GqxcCa+805bM1Zy_Z(!g;bGI$Gn41pQG0s7nMHrgFBkp;y__+IrB2*6-LT%w)- z_1Bvp7Z|6aDd+z%$Eq#XJ2d+)~Q#u=S<1B`U6^$@Z)|Bcp@5b6WQ&worD-UxLsFe~leqIBC- zmPz>H%)?TyMxPuBL zj*pOw|TFd-GM;lR4lZVtr%uGr}d+VFM>ve3T;wz8(8v zJ>6&hx9|@$BeN5I-ZV+T|7>F^=UAWS1>+b)=p^W%C3dTh#Y5 zW*>tv_GImG@Md-+;|&b@1;wXxo~8+`z6>Wvqb}CHsh}WsZQRl@<9XPZDH>^N`*N#E zx=~ETPLXKQxYA{8IP#oUzzT$wrbn`hX`@-cK=~~mJ zA6-S!Sz@2C#{2MQbLxTU#rDF>{CiC_3~CPv0#Oz=F1mI{6@e-vgUOMc0OE* zLMvQ&{o+j>UP@OfT%7*tAXl6ZZGS<iH%j+C9mwnz_@s(4f?!w&AMc)RJiQ(e*?qub= zv~}-)Owv$QiNAZb)PGE%1e6;n5nIO}4TeF^BL=~jwET)_Hgz=%OngE zS=!OJd3j@=)u9Uc$-8@aD z9`i1opJvfmW~3YB4Yal>cdevr{H(nP$5&^(`iZq>K#uvtx~VBd{5scFb#K-b8BvA+ zh#Uw_AToZY1go+8f^?PVISkn2-|IoHsrbrZ2Ba}<36+=+1>&)TVoNh|P6zh03!d#Q zC86+g*Xthm#Z7p20Yzbp}5+tn4+fdC?Hj+7ezDKAx=DY9SXCX28k#tTx-?K*5 zp-uHWFBkVBl1DLChnw`5JCUK5=9?o$dk@GB17k>{i5ct8P2wS)4h4d*gDj8ymI$2N zP7=UN>x%dlm@VAuXyU#y9KZSSRy^$H%gqh=D>09;uy=XW^wTssiuDpWeDU-oFd!-e z3cc#Kn?)i0Xdr-SWq5zhvyi^lGbrkl`kOZ5_wgJPiwj(iB1EiOYKSfm_Qe&4XB&K| z!j6|hZ@cGhy0tW08avR7jg8KIEqIy|arydSWjV}J#-dcD+Vj=^oqG(Y-C~=N>$G|8n)T2|uTrq9j=33_RL5?@9?j;QMrOWlY* z@&jmH|3zdM&?!6(#a>j8ccZv^HF|3_-OvvT<<0ziv$HlSpz*>+`4csf$md32`)w2# zoPF7sWtg}D{VD6)rl8tlr}javMM#(V@tGBy>UvAH#GKpc+cM!SmrA7*ryAQwieQ@s zt=3rUMqgzum9T7!W812BThE60@ke`H-SeK7gyxvuTbYL~ERTa)*>xK3B)}%~!7^-_~ziWOs+W zj=k!u29bLlTNpeQGg5u;^4mM=8AyL3KaHoBtU-Y-$3p~yp}0{LxhNu5ZjrpZZbkb+9Qi z&7%kJh;umIdG5@`oW>s7?9PFyjLtCuV-oN{>ZX%pHld?6aMCwFowh*)^+D0@2uMCT|PD6cuHT%wP9px;Q>;wRC z=(u1-KZ=;uWp!*&@ghpCJrfp>$w=(jGnAW3YxDYj6wb?mRXr#g$X_)kn}6{xaiifE zl9ZGD^6ECgeo(6_;0E3!v`XAK#MnvtQjq!1`+DTae@yR^86#ja7fGFwY630JIEuxg z<~GQqz%Gn2ad>3_f1;EEfU&p(yN@TiI0j40_r&RS)$XqIEH=>qkCPd5GNMZx`Czl+ zdbhT<`ijKt(r}r)SEUI|KkNtK{~16P1giNr0K37WTad9&H>*@~-FNIPzTYRY%fw@E zcFfib+^vifXG?R_;+ro_vHnB&4Ozh^!C98^dSpI&kt-iVlj!x1NZ+sC`x_>&x*%vM z>OA7HEc8W7`7T>cbnO1I=u&b7mQ&|4C8w|B2GK1^1@Amy?HN`+zA-M<(v)z+8Y7#O zx)KVnj&youtw@q2KLa#fLH&7xl*APRha6zJNV~Erk@dAFAi&+<$2sNx>-O?$0bVho z443(DCXYErKYkyc>(2$(6kHk%DIzIoVy891*ILPGrRt=c>inyVY7WuFjbXMP)-isCA6--hJk`E(P{v z^dnADo)j@A@_A{FIAmfFl8@#xlbNX_>Z!68b!N?+Z=nzPR6_);_>!MJc%`;$om{M= zg6IR)^5ah}Uk5hyAzkOa?B+e!>R0*s)s*kQX8Ph*m#Lufl}Rey&+NvT%hqLZK*k@=RafXM7h%@;F^+ThCuM7J>U%i9IUOyD-Z$L`PcxfxAU@WSFbmv zzF}kMKFze6_cwIuImMGWz+ijC-wiPN%C^cht?2{y)++AJ?693Iv}r>T=)H-A&g| zhc}T+$5G<@EtypFj@GKsoW04Pv<`YUa&-*(3{1V$7VwX$c(sye1xou|)rtB$aQ7e6 zFEkxa#O{!YLESo>q-0>m#Nj+Y1v7v?*uH^kIUL{oSEJY3w0+GzdF1x#YcA~5ck;ZV z8mUUO^CbSRGSJ+iE%9d)ku&?dct;Mowf?tU{zyFisvAEm%s>6=xL#_X=L4(NJu>(R zvP?ZjsHtaIEYP-)tK`PDsx2UQp!^ijI%(6h0si#PZrMMk!p3@k1{+YY#e>M^z^P+Q z{$si)Cv(7V|DUWywp3BjueunfT&)n!*3UA=45d)bt zYu0RN43?R3iDoz5CRGX7oiHd1TT0YbbrgZrIp~t@f6Ups0CQV9%SC*O(#IEdrE{SQ zKs45IsG+tNp7OzeTXOL-O6LKzWn(3?9S1#MLc6%VToRqL+)n5k)$6x&%keLC)a7U^ zExVgZCcW2l6n+!YOJx!e7uH>2MYn;7Rh?G(4YRMY{m43>B9iEGR;0K5YW=UAd&b%H$Yd;y$alpa1{+HfiL)wMl>e zPi;~@(FA&=I3Ar(0A@@77GSVq|HmY`Ky^aSW_%Ql$7HCY z_*(BTjr(Z`8}g@db_lQd!{M>ZC@=s(q`H_zL@T^&?r=IhD%kf2*tIZsKu9VHRE#%T z3Slg>F=^P|K(`6;hblq*a>{oEbmv>&e$^e&gWf`Rfoa0asLPD;RGVOD^7|=CJQaM36_AQ73O2occR}BkUvtNQo5X!&e%V60r1J1$1#M z)%4sU-z>k(*(6-Xsztq0jz^D@)X_DE!2Sop&{$x2Cd~0KA127R{YNiMgj8U2XO-<7 z7j5KvHYAKi>$0z-4a9a+D#?s%!M*B)W{ma4yjBec%oA%N|?V=jvjO5>ych>2< zEL?GJF~tntTma4h5eS-+A`Wz+A+NPKoarAvd6>!7=YCH!Zu^?`g^-bFus!`gecP_N zDkR7ZN?}W*TcXNVOSkzM3bYR;$C~+RP~wC9I56i+a5Ac{q$kYXtbS7K;kV$~haL6& zoT=LQI&16egFK2XBOIAhQ>^n!>ds{oT8_Bncqq~8dVp_K7C^U(oF-b31*iXhHoiiI z=3d!LD7YFYu%cJDs#Noj=@i=!$|)){1w7Dkg#zHY^{hR2v$dW357BwiAu3UeTlP{# z84>#ap3)=NygT2|g{S#9Y9#|}X5sm@<6TvASluS#Mi=&67jD~RfP22BE`8oXV{B5c z7cW-HFX`ca^~Iex>5ud=b3>tDi}s(d9ocGIwN&PwEuJH8)C=Kb{IrYiA7$@BcT~ejqV{nM_5NIWnf;DK7mYgK%0n+d{&?(XeY=68M~q;w z=@a(>*r~-r8-=;Qw;B8x= z$HQ%xy&?S~S1B(QRK4ByVASTMif>;t*O&EVE1ga1b(??Ze!i3R`b1wSv}=4Wc}a4I z;ZsP_U1|k!&M!vUR+?!Y`XpdR+|~ord=;KEOVA5WoqF>y+M$wzp5c9K)3IpZ6`_^CJ&M1o2goepU}%%960-%u36*^Vn+tw`_$4C^~UlBIVz76nC$qQ zUKmryI_eF{c~PL>%Ds!C#Ky=kY1%@|*zP}CH({$%auTgYA$G`*em~=FP0|;z+7NI9 z_~o(wSY~!`VtL<6x}Q#(=)|Q2l4@lNKA4)0thUuf#(``K3^IY^lC6gwfX+RWOZ`BD8 zmj_f+NrX6#-!=Ijp;Go?D+VWcpozP^^)9HeV z(cN^Ic5ZK)+-{;8{Ii6WdThAn-HY6Jq-k@T8b4Zo_V&1ITYEn;ML-BU?veFUKl8Q( z!6wD|OTcUJ9yrmy$iXC+Yj%T$;FwwdMt-(cOA=w>- zn|7ECD{i0@8woz!b_(2$JsJE;NP*2!dw8^DRIIW3p3gs~*=VZ$&`8xsUa?AzevQg< z*9Wiu!t^S#Q30yrNI6wWR%*-nBKc(K17m&6_~K6zI2Ke_vO`zjDX4&3_@3WvTs%Kr zClph$wExttIRuYZtv;_f_`Z4%&Bs*AtihxPR;HtEn-EmCf}zjeJY=}T#dN0AYiO#RLSg`^vf^#Cq{uHf!cvQS&k$<1E0e?;oV_x zm>Yv?ZGD~7I6kJ=Hz)A)x~g%$dCmlSNHe0C5V6aIa392Fnjw+i(1;r@vV<91d@JsH z>yfQg#q)_;B_yNpROaUJiXZjCE$A2Tdc-cdJ(|^{TUd1Tu->&8jX*>%VF3wPH$#KS z+L@>`4#Zcf`jbFbvxH}h94xZs_=?KqJ1(KGGsniNdvD8J6*qa}m&qJfMh){ihDI}_ z5QE3N%`Y==1!N`QLUzTkK8;0AFx>sSzwR1$3P`?&p$~vK(yASkVvok-i_miw#SsrZ zvTY^XJ2Kbq%QeGuqMMZOoTV;H-d>5G*QhG!P=K>jAf)Z?vrEu;C*kPcTe3=pBz@6g zo*vo9k-^20zicp`()XH%(n_wRT8|E2+S@HI!T30Wxwc*M+Y1}k-XV!%(}31=3SU`K zb;Ts-rg^Z-nv>eO3QV|$>X2uPM{rRQB-w2AnH9%&2SnmZwxOq-Q@co0%`ml99Jc4GNxps&HFmUR+Ow}0}A;a;9u60V5I zaCN;pG4U;g$=WjUb`-}Y$b$)N9vJPoYEBp9;%n+}2f?f%LNAvsC zQN4dmchS~A(e5-JJ+kPpgLV@j%IqUg&o^0^%sdo2dh5*lTSq+FU7071juP%i_FKj} z$!vmo;O8jTDp8jP zA*AG1)}TbW?A^;tE3+8`>u7i2LL*wm4k;QR#hvtRSbwrZ z;!lBHBavLhS@pCyWNFXWyXVZ>2)BX#iR7U|W8nxi3@( zj3QBn$xi?(LpRu;Tt{NvNhd`N2txbfP2>dXgH?ymTx)Epaq;+RzfgGMp-t4VsPA)I zp%H0};V5wM;R=<(!(@JX6&#Ffb!(dvCsoC)C0%50i+?638DOSla?t=?P})g=R^uK8*x39hCAY95IZ}Spa|0LM*E%%euVp z%X=e{WijTZ)-RC#lU=o)R1>lW{oUVo1+ojt{Wa3FT>`+P;$Dq1nkzh|r1al99o@d; z(vZUYtXqse|G~7&KSQ-xp0mx5JFsnOHe>$F!4}!qo4a9WoYnE+%Yv#_G1^YL-GO7{ zbVsa6B60o%a8nR|Dgy7q7>KSMNAn})C4U117G07E7D^o27!S}-oRlG0D|OfvEBB5o z>}z);+XtqMG=26TM==8Hz^<$^ZX==&8Qp+otHW#P<6x$WFN4byYQEdEME|%DlF!0WV3tOd05V zl`~J%nuJS9#Jg8+oi~2U4XLR!gZQ0`E1t(Uz5Sjd-)WmKbQbg?IEZn!naWFn_Wlg6 zHKllZ%i-&aJyu%V+S}?m!@PYYgD;&UmcQlfx#GN;ABSS?5TN-I-!7h_l;Wtq=l`VN z@H@8@6{pW~H|0m9OWf^CuSqrEnG=?>M^*U+`n<9O_v#8@e*@ENYZ`s}ljJ`(c$OV4 zX!AoNp`ld+djtmi36eAJ4L$E5Kib*6c3R7{!i#L(phg@?8}?;s@)w_Ddobnd%$=Ty z8JovHLv(EdwhcI-MmnSezNWmS2U)-ey-1Hc$mjCX5on~idy5x;C28%MgoKIDJbAn& z+5(Hvl4&|QEc6X!!0ZS0HHhVw^-GXuVmdfgq+zEr|EgJ?B7V$bd{aYb2%9)QLO}B~ z%)!(fz|aNm#UAU+JqLZaj&BnuQppkYBAxTWGofKz{Qxo9HghFuOFzyYuM?DJ)K;vHmfOFxzV(=UwpDVp3uW zF273DFZJt~Ll}$sN{vMsvsGWM@4Z+D&PRuF$>BUD$B+b#V#p)Atnu~vQPzH2Xyh9$ ze(k8{P&aOSWW7MqNxt_k%2)GLHI1)kq*EL?#wij_AYu+;vIIqwbp+(6hNjRU8b3Xs z!G#!i63OZTv9>Au;xIB<+zu+P>rG959|bBU+_OzvlYZ{ri2yirJ1D0PJ6xG!7z&te z;@0C-;*$lul(x{dXE$>2>b2ZX4yK}S2PM}Mq|XuSA9_jYzl?{ft17exwEl5@cyl=S z5VHDt_;81@zt7((C||G)#bl8OiHj+p3H8u(wsxI`_|u*Te+q6xd_P2Mmwg7hUN6K? zEHh1pD&>jgqCHu5RPGkJM!b0Z?$&5#$%{;7gV7*aM&NLi)nm)`B6TXDYnN!C7t~A+OoIP`+ElLc{tGhR0JRp__BN3dYX0QW- z^h5j`s=z|l6cP?Srt$mQV8+?T6~bBCLprd1;pH3Sbo#B{r|p)?EPs!{ z_q5-0gy=lW*V1lRhIE<2e_s)#TLXciP$u}j$z4_7XoUDA9OCS*X>Y3YA&7VN;n+8U zFF}#-Wg=b0jmOStZ|{ea!NA4Y)71f@kf{2Ujjre(5m8D~y#JSA^WRtU(3txTA8mE( z@4OA%=M%TGcv92@rAo}_Jc38+2+(NXpYyy^c=u+u$*mdYN00} zWDLE9?rj&bUey&7^Y7iA542=X|9uiRD%+t&6P-jZa%3BT*towqpsJ4X=_UfE6`Dm}Aa$=7@GGV+nzh)E&UbG*4MmGRat7qrX4Ax0M$dU*MJC`c;u`}?L-b&| zfdc#KF6dZC@UN-$f7*_}sEAv>JJfH%58a8UQ?HGB7UvB2?G+k}n04da`I!lUT0i{L zxGr0l0uwH7HUe>-BKnBpx6-cRg%F;3!gm;0Z2M&Y8uJaP62CD&i|){Ot$@mpgP|Tz zML|a)QpT?|`ef++HUd=j=oi$pk^smB)!WPINAS@yyfIEyQsK`km z&uozq&&+#*gmb^9gcTb6>@CXXp$;VMvOVlNU8WCEFGcipum>sc62P##}~cPlYJ+;V;U|{Y-eApshb(5rty;pvo4yAr13l=M^Pkk&^eO_ z6yypQ_hue|{J$=l`aJWjUh`dbwi>M2eZRp$srF1?UX1OD=Q-m#>2PO#xg=w)*_DR&(h5|PDwTjaMOJPh zB_}VngvizBvv|}xc?uTZ3+xkH9lchoC?Iz=m7KvPm|91gfTx-s`wH_e#?ZnvH>zWd}}0hfX}|MOFL0J&n-5u&jXpFz18ydEoeeqPD8 zf7`$_?icIs{Y#A+E0(fKmV5J)N#>i>qeJB8yy&0l9MsyDzh!$wPC_lgo|ke0Pia zxea}TLSY`iID_lMU%s(O-IxCKXv|PjD^94A6n@la?^C)!Muw`JPyRATN@)@%%H#p4 z`N*B*-kHyVxXkE6vC|$B8=cxHxx~pH6!+tqU4p#Ik;*zucO5gzpRUwD67|@bbDj@= zDk;AN)BwSsBI<&jAwt2aZ6+mNX!nFVnKEJFt4+p&$6I8+B$ilO;ebsfd zzkP{>&KJR#X-Y^g8_-!H$oGFtF7!M_SF(fmUfaiKb4kCe(%UqFMh62JJ1PW(g%s0N z8Z%9(u=txS)A+yWa&>8Qh?IMipAcS5HikKNS^%P2eC@C3E$=_%Fa)nqAXR#taQ~x{ z#hPGz0BUg!*|$0SV-xk*_edG}7E5M{|Hq{FikM8fo=i&wI!H8w>s%Fn%sK1)k2mD}rSumfTd?8^SJ^w?8aB+2q$Cf24{)%uIV2;jPIocCqA1dY<9y-$KuB7MZvl@P1{d|q72)^LC^@+|CZ!TM3B^r`-=^p_V zhvOZBEkz&b%!D4bKf0V%W1_wGGq(EuFIcH~@XsYaiz|vuDMq}b(TCdE$S2s@#TQQ5 z?Lj{m%PTjo6U2QXL0KDLFs6_cq&pKBw+^nu5$O3qAG4`iuMl(gKLSFE2PZI*06oF4 z_-r~8kpQTx5ImHOW#4!PXhOdvzRg*<&8~u&7o;xb^(~c4YSkm%>#IQG#gG2!#(qFw zlRMit?3*8c#bl($Lfkho-S|{0i3QCN)d5;=>U5PafbTK64W3(B9_SfQKoKpWF$_71tBN{WOXnPn4;Asgs-&)|I>~qf6|39p zwGw4ro!LlAGlZN!XK^YN1+ znjVp}ak>3bXSRB*3Q$0}Jz{F0n<M2rSLYOGMZA?5Vq7-(E%26%KPAmhEge%UQUV;zmOoMdj){|+5k+tHq_cr}(tm4%-Iy29=X52v}Heo>J*;YPm2h z*L7zNI=X)i)aqC!^z}Z+C#&C>S<4MMagF-boOkv|o*0PcW*+Z1`FGCcPk<5qUD^@w zfH}P31-PbDjI-EJ&WzZP;A3~*BRVmuhYXuVEoJ6&z-6dru=HS94|=RB>~#KDOrP>F ztTge?5iY>v^M^-=Pj8P(ABCEn)a|N5JO0m)>HBnLvIm8~kajtljBF$(0*X;C+`gKp zHAHpZ%k@Kv8@Gd2x-WNgfH(CW{nrh}25GMV*p!KJQ~ln%{6Xr_sME+xx0QPz70P`n zeF}N#%CEF!uaXa1^JLIE0I}Ys19stx6p^hXp&}3>_5}4`EwD|# zixu?6oRGf@b?z|Wq@Jm2xEF@h|Nb~cx`q;6-da-S1fv~ZvM{&Pc5x~3u$lP~W zA11m7L^@xm#K1?HYa%-CWy(v&kzO3-@!}e>6Vq&hb=(bg)po|*;f-^nulvQA z`Sim!ycmOk2G(z79Q^_8VT9lr1j=6W+qRnu(KK+u0;VWqZFp4k-oEx%OP6_<)P>)V z({k(}xluMZ_d{>$q{4P1;@ZifGO)ni-00ZwxUU7%C5MB?7*fzq`AmsDQ2%C6F?f8@ zFAsqcDE=!DsJ&ShN#x7;2K&d<$Pc&*{rLtpn`%>Z_4fJPu$%38ODw^?al}x&?0|q9 z_>UI$3;_=LO4FJ!NcCHhGjO!GdZM)-R!n|sG8|j@{DT;+I#M@}FTE$9r9*&XvTPm8 zP@o|7`SRpR?*d6)vy1RuAM%|PfnfDVWkVA(M zbxU~P{n|QWd<)Wx1tz4{ZbLj*_f9QbnD7xXvq5x;d>-9O5i+6aN??##&=%bGe`Z3w*d zR?vO~396`Uz>bJs>i0qyVvba1AGGYk=ax`_TrVu1Z2XHM)6raF7i`eeL+n%ioTo%I z7Ov?>hs1FAKgYIQcx`go`^T013qVh7Py^oaFHwP2bJl-LX&z(EzM=GLxjo_@@Fjmn z-?4f^)_@iG+zudQFKB`l#+k%7KTET^xjbZ?jq#9_&U5Np@k%%sCPd6yBJ?D`L2xB^ zg4yc)K6@xaRJ$=}H=0h`VqPY8EE|K;F@dbNnJVbt0;H!yN4+ujwBvtF)^1KiKO;5p z{Ku+$o7;Pay-1=J^hjAQl+m3HVPwdKWZ^BBO;6z2{=CpAq1~q#5-}^15$;6RUIG^;I9j*ql-eQFnt-lln$*SeRHIKR zH3mZ~fRSi75M}=N(TgLE>!>{Pk+7;@+FGba9nd_>yB^8pXa5Jv|Bp?FP%rXiokB#m z@Iqz#O0oc~#hok{S=OgLcK2<_)~B>MYFmcyvXZxeP&I7Df*S+WF9_HzCo~Ex>m)pF ziD7choH^imGXTAJjKZ<*C{Sf+Y@|EE7+m9buEE=BFFFRwG~;o(J}s17wT@56On zPQ-}0U$(9WUOHfjf>N-IjAAImTCO*fvfe()!H}rgYhi=^~76TA88POB#qP&AL z5tar&-+?^uK{i;Kvv5HSqeoxY&H}8t0-(F#;aA?lu z&nS})Q8*99nFO;U7B`bv^#v;q!&RB5Uxw&R__5CUin_X{pZ^hl|Kg*D+e3asvt59T zTVaP1G&WlruuIIZ=um?T@}XLrCdyq~ND?0q8;7r-Wd)^S_^+C)J~r4?%CVPLCYuJm z$SNv2Q$bzS$&qidv=mHP3*)9v6O>)AETQFU6v=4!15^UnNv8jo@FPsQuvd2g!X|eCu0sS1XtK z2|ns>mJM?2?~d%(*^{`mtXHbK6{3KL)$fb8#s$SNF2UJ50DH`MoLnE{v&=RhtQfoX zDst-j$Ii|{88?kt#KsBULnEQ5)&Nh)-oZuL1_W{8Z{W5R`iii~a*yu!i8?xKPx=V| zaEmdwWOL@#G^}XvaNY@Sk@|WTYSW{z4Y^SJ2h?`%MfCgGnHOJMt}Em&(4XaE{v6DS z9w?!%gO~DjZW5#7S5Ro{&X$=9-xAmi_I!PXDPG>i#)T?00aL%< zub@2`336~b&9Bj7k|s!pqyR%0N|*ux2;5YvEoHd#IKi$XHq^TSm?clKM)}rYjC}|~ zNy6;?7zdXdJtuWfw^sc(mDC*Q91>8b3Ob`a;Rfaxc5-Z)C`vxnmCpoFxhFvab`)rjnXWJC^d5kyIz@$uw?;9R zcW%5N6doRWb6NS6;OqBd-c`AH)KYeSwOmOoYn&*>_1Ub6V$=CS0HM#@^N;Y@f6wM# z2$1kOes3NLmDyqz!ci2<+?mlpOjVfLJ++|O#q=ZffGWfJBYSc>C9#y|NaWwKC4p_f zJ1YHS>Sd@A*J$L;d^xd?qUu>q>EH7niRBi$Xa6MnCes9nfWKKNDSUDn52U29_O?qJ z=iHtmxY&5F8C{K2j~;u$dk(0G>gU;e>V*6B5Ly3&v-b>#Gwi}eC5UK|sL>N8M2$|A ziHH_K5WP&Ii!c$LF%u+e^dKRK7TrYeCVKSfF?x+Qj5dZT*>Aq{A%45qOT1%#5W=hWWddh=O0wu~k56eWJ+bht0 zdGoFP8nI6BFq!aV%w!e3NAx(XS^iZ=TjhzT0sjA_ywrrphYA3uW7x`@=vkDCUlcdP87gOftTWY#{CFg*Tlb8vH^xAzzvw-2 z-hPRwa(Y&tax!*4XIEgKu95+s2ZUJG9^lG^g9%3%e0MzoCpsF@M&i~5_FXo)BS2ca zY z>uUabLCy%YpHMr782h-InO^F?!DEJ8z6i_*INNaQR{COs9}elef`~U?Vk3zn!s^7C zj2c2@wILiMNd+_z^u%7fy-sPiRTFfd!ikFkxYICOfHU|krs_mJ#M& z-{4)*nl>yrIT0KEs8AL;P_eA#Tn8=ZELHOYGJei^Ko*wJHRvAai8Z{xsTZ8tqF5=o z&{mK}>y{S{Xt?&wB@8Sw>RjvdYjpi;3=FpY&a$RXgXWv+1Q25jzGDS-_|)172sjA< z|6fRQfPXO<<&P~pM82KU3NL?oVKZI%MQpbnC%dMo_&GE^8}^b&Lj*wbI!a9p{=1|C zC}q%1HP>aHErJ)Gq|AT(T}Lb_nJjH%=-xYXPrgTV2G&9u zCvaw*i^gG5gfD~&moW!WM4Q}H zhvSNPjkb8H)i{AUS6K}mZ8GW&5K7c+ma1$^#Z01H$%uUlTAW{}NJx2*2`r5R*r*+N zwgB@UKa%u#JI9t?Qja+Os1dW@9^p;X1^qEyHjQ2M%t98SRwB31Q<_g$p81RrHD;j}3%!GX`h6 z<(nBzT-{MRN46b1x3>Vn_57h<#LqKjsut|CMyX&aX`Ufw445huk{kej?_-G zN;VV&j7R%y>3Es_x*{d>$3$r^x{@L&7$=SyT^oJJ@RlUz+GYDIuG<{!qQEog=w;X}ot))t1i0<)BfB>0Ss!P-3)V>ga{xcmAq?SW)+Ff&bil== zLZtvDoAuy0L2%WOvOU_RY@WM*I(=KL2c@lY>+&-#hojQrrl_agZ;%)h-UKjJ>kBxL z$U@%9?K0fJB{Q(QWfb&wu1KVfpj3LI?d~|4r4||&8$7ODB|{lbE;UHuQXnoX79KFV zZ6rrKOL;t0y^z*Y!go;Hs9rP<^y)K(sKQ+)5Tzbp`wGTqiOz}mRmF4}^d4E0v$s?R z<-nLFtg0$^^9am9HHrW_yUpV?W$eQ^$xp{9TPR55UBAzIeguI0yrZB!*jhmTszMhKgD*MMlGY>{x0_kcqKfeHnUtsV zX5)*aP3D6Qy6jI7O}{)I7+73eZMjdt;P4oDFOm)9u@q`mi=sHjF|15g=9Vw)h_UT; zJq55we&;16X|eAQ3FI9YGg~3TyZXBOa})i_lI^1#o*SdON0reb2jC9tKir^kQR43D2I z8YXQ9@s0AB z>GHN}%}u=y%)fRnsE@1}#vKE||1mf!d&>M+5R#m5&YSsP_slg;5Uc@^)fobd-;y=X z!6&0F@-2boe{Nbc-TUcmqVm%3ON5!>%4@YbfT+Vu8UfcD6uMVHZ7@#lRi&0+Pu9UXLKcLjA6_ zkf?)0Af;P5wRX8qh~d?r5>Qj0!yUo9x2K!<@w{L8IK^%SQ?v}~1ci3lCafq# zR1jnsq9sTRA@pUs>nbaL;amo2E)l9re9zQp-Q{Q}KJuhTN`{2YwVcl)clApRj*a67 zY?eeH4=kE5UBIscnVdi?U{nCAS`7XAd*`}-iJMhKak|+c-{)L6iEPuw&-2pp<Pz)yjD#d^OAXZf^D}YIWm<)Vy?SOxiaSkDJb#AOStVfp>K5)B>^CIVWGSWNkeF zbU)MBgO$KOS-^QmKr$WYlc*05XO@ST_S{#<*`j0@t_KJixZ8SiW`6qWe)p@3w4tIO zr|~QH)KLnl{hJJ5;2y}B>`TM~W zKeb5K70S5Ce1wB9L+EkRl95)dp$<+ft{#hHK0ncGtguI)m)IjY*}-0mSCyj$t98q| z2T=+}+oIpn^}ZFB?Nrt`j5bBsjr;;%E32u|cl+bgcJT`Sck+L4u+uw3&;(9B>TNcj zTZaZk?)h$hp-*P~YXsX`)jx?GBtI-|vM1|bPZS+8$0iW7xx<8dcxhQ3-d<_2*A*ho znUC;dOujShsUC`g<|jZW8}8uGIaOc+6L{GWeHSmj4QC`+mbeG`N1sL?tg*5BUyr(t zm+R`{`EAEa*Z9DKwZFehlGD3L=&m8Yo`htwN;G;Wu+)vhC%c@ey9B!wqk2M$M!AP; zcX*WSpKt91Nms95558gMe*TLX3N<;@z&;~3)aCqc>B*SbA@LxS_or?jGtAmI#VjDu zi05&$@3aE61T>Wdd(pjea@ZNP6p*hoA8LoT%S-Of0U(*Ooj>4cAyrZ@umVCc6npzU zexD1|ih34j%LZE!67#82Q{gg%$Q`4d!-!qHQM) zJFp*P;16&*&~hVaM3 zi!VW-|Ms>~0!xw-tuu9XbMQvVvi7uwwT4Al=@>YTxB7sCBFZhTgW{uU!6^?of~oJm##YQQ~i^y|Yn5@-zq7}xYHQN!IJETqvOP#3id*tamy z?80jM`0-i#OgiiLQD$eBxG0;S8n3Q(OVW-!n99(zE-UkGfE>{yLd21yCm`?^q8BlH zOrr4sy6r#(&NO`wpr{ZO5;{045wFF*x)N}A>RNo3Xl&Hq=sM=Sjei%iaZ9>hTLW(l z?|1^$002q?L1yL$?(r8Fb)Mk8Ee)E?s z_&)<4W)@q%lH9jFNWme1z5j3G<-o4p29a{H!)YN$C5zY0f@V^47G6b!q``ezL)(u)zpW@ltIcf!U-7nBM&x30MiuF0%r1*FnE$ZQ`4CtxVEl z5zO&ivhQy+=->9ysR}dT^h|ue{m^>AIJtVS!sSf$aTyDHZFaQg?m~t6Qq@J7Cd>jh zh{PB%FanmZv!J~xyk-C$K?N87nRQaj@#s#5@K7&XyiM(sG5SMAe_ic|(wP9|Bo07V zIc$IexUkh6ue$Y@j85P%WIA=jdfUBdSacC=XJgf+V)V&O{^ z~fL7_AKx=pgB z&@z86Z=eocMbdB5#1h6>AFz1ots{PcyMQnAMyV-An1-!4CFSa+so!phxTzLsc|Aom zT{D4#YbB-#>rsI{hn#^AZGVZcXQwUwX;>nKBuoR2zxh}j;Qz-0NXxKy8}7V>V*5dl z!S@-nv;GpwsM3`+`ust<>z*XLYdZ7|l~1BiuerY=27x_31jT?}p@XqHxcAF=!)wDu zgT?Aj!7OtFXZo*@t_^qOHED$Et{9DIUoO4pX%w@QX&3AD*i64YP7(>hd7pH~5M~a| z(X*=oAWv>(>;nw%J8`*Bi|!T&r%IIt(G^n_q*=c~j@|)ivD%h^6UkWHiYQzX@!gbl z1bYt4%CQSiOMV?(1{0E6MQ{cv{HTArV<$gTuA=JZEgW{YjFTbKxhOQoB4Z8Y}+Fz8Eue@rP}(~{5G*l4nhEa18NIv~F% zFdsjifx7}ts1@@)_vP3s<{z;weIOMtnjgjQo!l$VvZugO0vFKtm-;jL8M1Js_G{R3yCM5T^l zsN3o&PSmgu64`!t%r_?ret8pf@V52guv}<6n;Gi;aN={i#9@*0Yb!c$Lhorv4zZ*T zJ$!6cfq-O?kXMv6%MhROeVVWk(sWLPQw~tLUy-C-BB)?eXA(}4QD&M3=n;W@u+9wNz5oz6%sYQb0QpRwZe*t+)Y(aV|Assn+uV}9vFsQFqSoe(2e{4wee{Z}v z>o6D=vz`|COt?>F8ia=6{R6@QRv)4ZeY^EK&oJh)!c4`S6hy-$|aGDIa~H; z8%hY68ZR?G{vzta=IgtZK83X<;COE02&Ox zDLWu6;tL(k_Nd1;GO;G4cmXFhqu1mfV%}-bee-n(3e2`kR29z5w`VXiC2}_vYRm}m z(Of)}Cd?4(3tYrIsObdAwG60^#bOSR_9jH6^N=4#gi}m>b~v^gF@f;)$!a>;^sWU}Uq2Fy zZ47I)J=6@=3^+BnbMv(wEN$X0+}>L9J_(BvF1VE!BTV++e3k1#&TmTg5tZlQTP9`; z_SW#9UB&R3HU#Ot9GS;VI_|*ukjo07jQD^UcEGbaD7gDEZ-4x&bCD0NifTpQ?#~pP zCk5;nv2`<0gcHCh(1pbPl_C2Ly;S+iwVE1S>ZzU9B!_Ve@GkG@6WIOx^d!Mrg3^8MsR|+~RPO|wxoIoLkkWN4h9Ye)2;2vJC!Ivlm z_EiS#mfK^`W5HxltA+z-%|xBI{cE2R1F4kMEYkc*HPU;i=Z{@)!EJ%^gNn2?^F3HX zKw&!{&OtNN3c?cd^}*Adq@K%vyeW5UFJ_t_>1llkN~DLTLk{mjO>nfl@o@=Qe{3wn zd|B>%5?J~=n7f}nHj zDsg+@)cD!)9JIao2N3Q@)bBF>A!%`gNNxMb6Jhs>TXVphAqPF1M9T)V`_lfIrF*~# zDioKT?R(I{4Fcz#JD;+Ly$kQ%GJUT z_-Xrfj?}KXemJux`c~g($!}|+eI~9$6bd40Lxv?iA0RW*%NSfNA6 zN00t*ft+x3%@aci)_rT(pQH}Z4}ZW^!=^+RLgFJ``0t3J*dwI%B^OtOJhCmL~T@VtObV4i^ zi2)Jm%O;_sK+6t{VIXF-t$9~g8cUwKpHx;h=^&>N<8OH_U`#-(qXxi^*p0trc^M6& z44v>J`G6eKJo3ckDOH|1EoO%FC`*|HteiiUJB{E7KQq!KV>bVZ ztd~S96vKu{3 z(o#+hYg{4Jl$cLoTH*FzAxv~!E8~qQY|__wg4Yna>zr-&A+gVuwvGM!w@33F-=qyg zSjLfhEp9l3_)`>I8N9KCfqR2&fuTT$IX#BtKzGMIvykK!w~xO=(zVU;`DeTs507n7qpD3`ORZ0ETU`?a0wO`( zZSjZZrb5d1d8XSCNl(IIi{g*fIubts=>c~Z@?Fr4R{vmP*4M3joUu(3+AaEl9d8&hEaffX!n3pip9Cg+!QFu| z0U(^hs$^J@f0)Fr2nMcz8N*+vQnI2_!J=uGI+@Nmxo^G^MN?Obqd&@ZmtA*wYZ(?6 zqEwK&HoQ4AEC9sf`m@vwJ9B~+k-E5)BfhL~`#La+=!jET7sV6EDkp#)ye?zru`j;A zte0tN=IV4QX)Iin{8yMFUt)A|c}ttO=Jy6Rf7JW7R?2#6fz%rcaDT5`E~pAs^hZ0F z&t4pXdTmF`9(FAWDh%EaSb=}xS5~-#$;`TQ#Q9qtWk=1bN#Qq;ETffQx*hcB@*lI- zhyg~w$ZX9xUDfJtx?hwRBGtAUUT)YHB{SD7h5TH)a;Zdht{Y%ZSOW*G+oEDh!rF}U4D~kW9qJSpc{_u;h>UM{>lBSP2;gyo8reVGxfs@FNO=UTDK^p-B zcuY{7J(EBa17$IPDWt7fxER(*caB8nET{Hdt^ zxlWpb*@w`{eJb7x=q_G`G#(_0Cih+2^#JMJSHeg}ORC(54u1T!P?s%ppVAbC$fg>e zsGtq@T{;4nUfDw&5tg<_3yaIqdKTk8uG1cNSlXNOD^`JKw+z3EX}w&vQ5U22=86F< z6|P+sF=zj&DiwcnNt`7m5aDX|MpGgez}12seDZ0I57vEYEIyD}O0V9!{)V1RoaG}5 z8<7z;HfL1N_NTDvv&y~}Y}4NdTVX{eTwccQ|7dbwuy(?iHn<6ZhL&710`Z>|&r@~z zvz02S|AbAmH8v%^h`DE(_0#m}{bWP3rxdlO^vb5=rvdsSDS`BRx6qOlv3!3fM0AF2 zJ?0FCJp0(UGkD$t(|0ngsL;H4Yn&c759lv*t|22^xgkXa^#qd)<*X}u+s^T-YADM< zg=;Jp&6O}MO5F~sqHPc3gckM_e*$;TYM7O7$3F6DUOR}G19DAZB3R%W4hMhO-KqZm zeFDbje$NeSG8fIL`#i~6?CgpzyFY{Qn_MmG)z-e1badb$EjFH*C&zGwG@8Ma6^M!L zymos=#S&K2*xbl2ekFrHS@uoWCChNKrjLYga>>unzldX#;dd%C&q2S0_K(4P_3dt` zpTuiqXmUvS3SVQ+?`2?X8@|dEOP@^)(?yz%>V`MIl-t zhu*6SvF&6~FU;cr+SSPLisYkU3l}!l2KmwN?EFd|EzsXTyOTvlBj_iM^pj#igLz9DM(dC0HyS#P(I?A&XYgBP+pn!DE8G?D9^)5&Ddx_7C zoWZW*QY;3{lm{SWG6$cfGLoAKnzegM!P#hE%cDLThu+U7!2-W zw9a(cj5cFV=8Q@myxKPuxv>z&$s7dt2LK&%!v)^C(d;3cV+SFm&EWSd=80^1H9qH+ zd^NT8(?aj-cm-7sBsa_wB}aZ1Wi^ecmdFy_wWmIm6@oj0o+~D5i0FR5kRSKLO(fS; zeYBk#zAsXNK26Jfb(ZnI+wZ&fSwU(i-=C>WGGmLS-#dPTf#2r){5{X-1PrQg_fgRm zgzGppiz*vW%Vu%NWtz8z^(rWuWt&DZZPDJyXiUGZcX_^#uT`w2D~u+!_YK1nhc+@j zO=rUj*J*@jx&jtcH|OzArTClK$i2@XsnMG(M~F^I6m1XkI_M=R4orR;%z0B549tg> z&rzWkZqCGOEsdm)IwvL7H_%owkyi$daXSr84-@C!)h5Us5eyNoVEk0vU{cb`s* zqrWDiEd^6=utz?(c&o1mFF|czI9`-je!FV#=I?pQf^wmYM+t4BR9qxf&1FAVEh~)3 z0y&MMcy)mS-SuratL(6NE%W4NOO(an>juWJb)R#^EKOn9h2MQ-GcDlV<~ymfW*6Ub zAuhnVw=?c$ED!TKinx^>BC4xdksm_oI}B5Mu7;o(UmO(qY2e^b*}YZNJOy?;;Er>CW3xBVUN z+jQI-(B-7k;u(^rC$q>y-ce!4KZ7j*fY9=g%@C)A!FQmtqn9C!J62RE$;wJ`CvO)S zih+=?8?6=ZKamwi|KO&YT_RJ_#T)O8yC11h7710Yp<5x&ZTj{jT=)o3D(e#fiWn@;rR`+)~&73UO>d-S)8x_mJ2|ChwkK%+5KWFGP?2tflwnpq8+~#P~X7G;mhQA?X)! zByPJ-|vIeD{( zKCXtBWRZB~;JrPiqB8o^CmxPEC{1D;Ch9HeQHjKOkc*ol;pNl@Iy=X6#{am_<8sKh z;PWW8^52)gI%SAtMdTOlq^%x5X^uI%B0zoHH;I~CYeT?%M2(mD&4(V2%{bKFo8!rN z-h}CmgOs&@o00nTjqS?q4Ka(KqMIL*7nzUZ3%6I}hhJ9;S#GBBvt@JL{JGEql2~jSePUk&kweoO=oC)M zak@J;3TTZFMRCRF>fOlcd@EO6Kym%5(v_Oq(y`joZ~F>4j0{PMn@JHr~}#&298iv%M>4d=qrHbay3n>&jS$dz_Px37MS z@i_(_PLPuhe}dP;Dcc~J;pv03hS6hSd(+hfCb7a%od0yr^{M#*Kzvjd5#vf1GIi@{ zMcF;kJ}ck9XP>T84Mf#XQe3eg?o7Oi7zCK^eQ4s!D9Tx!wv!FzG?cB-9Qm|y${@AK z7Vfa^MsY;@tg-1+eP2_kMlNOIcM(gQQj>2@b4Js1B!`R*o6(Cl05=2sXiSW5Zgi4h zl2L);Qyt2LucrlkRw7Ey5tK{Hm$tP5dSDkd_d9_dmAP(Tc7*EuedHa{zYPyi!3QW1*`&sqM=B=kcS~Q&& z3{^>SDkPr9_kS|j@M7HukwYSWQlejqU%7CX{Qx4)`0-j>Zi|Zt_bYko&!AwoQUH1|s`<)yOq>NzgBzXth7%K4wnsb@{fo!$qj2 zxnW;Oj=VrB$D=;mfooc-J4+}uG@&lAfBi2R{Po-ncaU!ZWsIn_EkrAfq$=W$4>)k@ z(BXK-SReF)dLDks%7@Iz((L|zbjiG)+qWIoGw%*kwW6~w_dTy;kz{QZZ}Un|kMiZ< zvL@rJ_MBM@VWpw-DLy0H>*n)5JFqkycaSI#z&cJ7JY->a0B~e~|OQ;=>rkPiE@?r@%W* zZkCeZ4!aAQ9M8*-u_%fb3Z2$jzm)nhteoND)#dPK5~pn(opb1h87vmNQXiQ7I4ZME zf$>U6$<>Lxya-oMd%f5|R*Qm5slOu3sB$S@YZ|3njV&YfMci@xZHbq^%N7eh|IgDB zAp?FP-qlH>N~h96+2Ssh+lg94;n&MCF_yWZ{-b=oO}!RxrD3((0`bh!k2`Jzr74mh z%934(+-VGD;a)ejyh@`>CZ$StI{Gr7r!HT=SS^Kx*s`QW?e3dOS4w5`RXK9w0f)~s zlTpfYNiT1{F6QSo%88|4eFd_~N}K;5xx?tUXGs}kNKI%PUS%6zyPvgc7=-`~FcNfT ze1hXFkP!|OMy%F)+((;t2Q=6o9o0ult7+_e_k?gu)a7@;GM>#~w1aO^K6iWi_{Rz0 zpiFv(&O6p6?qE-C)%Rx{3}W8d%zaNRFMecsO@kqw+Zz}+oa>Kp^<$v$N5$2(*uqO0 zpF}y1o?YViU(unr5-u-3U10Rktc~)e^+!J0Z?H@plIkBIZ*G2muu_;;?vti?W*E3qlXfPc}+gc8-gs87t%3Dl5csW zr%8N($4SWA0b{jV#i}a#lSv7bz|oq_g0(<3i_w|ZrXqJ)2hw#Zo<|Mmj(-RnUAhJp zSGnPeydkHrHDhM^f>Gzts*hZY-+O@T=PZAP&$GNWQ=?#D;!stV!Z4LwwLT%a30ucv zc62dlP#-+}5J*t?@#BwIZotaBFX?}u^dTD0+qtD1**)kE6_BXD&0joU5cAV%KqRiW zIIU;SuhtZHjONA}Xon4z}m z+7M~iiaJr8xM1U|Y}&K99OAETCY7P zY(Pdn`HQ^xn?N)lHUIOUUAMv$wJTpr)}hXMUmmCQlSnHKmG@6}AFv9S_xrYS(Be)? z5a_kGbjn-63!dG6C*(z-bdwP&aaJTxHhds_$+dh~*?O$b`_?!FeegtxVf}Hk2MFyU z#2W|QC;;MVhctOHQdWkG)q#gq6qH)HN#(&^3$edzWFz|-;pNAH#~*@e;xe1)MQZ^s zHIgco2Pc~3M`}$d7A_xLaMzx=6EkOw3>&wO=ht=80S5Fe(5Zvo+gawiS+OKNi4GgM zIxjN;B+{OaSq(v*!L{my-th-F3XVDZmx35bo7G%vZ zEJd!)YUH`x833|mZgFI8HP<7UguW|(>&I>GNytbtO6%=+vYW>sRM13&nUG-{KEx&fU zo7!iT@VMpyCG#^ceY!2d(CJ62>^l6%%$EdNXy&b}Tgpq#_%sr`XtZrE9NM0?%+xAV zg(;)8Pz#mFDe60qq+RfDlUgue|1JMU-!|4&;z_X_ZJ?z62#)ocbmjexOY>4EU+Eu< z0#!dAH+U_&4}E*tR{KXg-?$j;hBazHjwru!eTU7TLVw69*9C=azPmB->0fh^YFk{x zWWwi@+EnR6mlO4E|6#t~mIU>*Th8w>B|!iKKrKAEwkZU}d$ePhSEe24A{^DD;wi+L zkNR<7*JR^+^Q5>^PG5eUy;7obB|;Q_T6rW=>XPs&B^39I@07*t|8;rFnH$f@+VT#P zW+uh=pnLC*H*^|q%y34Ht~}uQXe=r!?4(4MsQpk>-qu|^j3`@jupEzlK=WYyYij6! z7FaR4K@2V*s|SPzU}(Ikgxk&y7+Bn)NBw+`M$KUuxDB*A z@W~qlQGnb8KjiFW)Ml+)LEl+D8r%G!$1!+wAWfr-!NJJv<#lX=yU@`~pom)FreHL& zlbJBA40CBUveU$aaDCReNWjGAECKp>`%cBG_<#0C*&F$WzORyhno`jyNc}+DB{(5m zgHngmg8cG5e7&yu_c8z6|D>o4)F*PRwkmWdGK<6~-1nv4P39FeXG}hW$Qm_k?Ux?8 zxC&hUy&Jk%Z0T+#U#K$O>`QE$1Z3{J{4vk`47`ph1>!^8`Qq-2)cpg`ug=l|@C>;= z*e^<<$*tskiza5tWWsYfW@mbzJ@?D1f-XzyXkOxLI1O2wCi7FOzf=EviVRMOL<2N} z?f@JYQqy+M#hW_B2l#RhxV~s_5Cg)hjgu>+ zChXMrR*8tT|BbpTJpCbPB{CG462@zcgB%JyA^pZ|e&=H|YxkKZJ&!Q`3<@Og<69Xs z9OzQ)SmSGdV2Bf3+7pSdMAC(dsIyPYg(;q1Iior(F8E@zbZiY2X8B*%d?@KuwV%U} zYi|_o1(xh0>;94vn7b^Ag+5t#tQqLHAYR3Ke=aXRxzb;|do}B0D$`G?+fTcp$sRwg z4lDdS%klxPmUg>vfcq*{Pl(#D#POreb2_ z(?$*ef`2&rG!surO~3a>-z}gju3O8cK43kd!}~P`s*L)4HhpzB=9!9%i*1tg zOHZTXZ>K4S<1^JKQ>4hX(GEZ&h^#3`){lnn=MoD}5wSozR@>5uqDtey>4_b36S=;%!4-_c{9oSQ zM4NjxhNc=DzA{H20I9(&8`h7QB~j@s`Oc2Me(Y4V$91DUSr;Km=h5Kft~%Jyr}el* z`2Dj)YKmj<=ODyh^cpA%gfUrS#2u_^ccoN9g{G5r)?3U~Y%=tx&I)#Nt&{7nXhX@amU1Sk9lXl~FE)NzOs zC_}pGl$>q_LET9u?T^!5tgi?246Q7W4by`k`!1-PA~{C*a||5INlb%L1e6E-SxFCl zK5_bcDw(q-HnVJ7yeq8y`F}K3B_g)>dUTCn>r`g0rSGNVRY_yxvkL?;CZxRv{yg_~ z8!#?Ml2xiPY6v^Zm2gw6TWcecQHSizT>@AOJnBi=krW?d0HX(9JRfOfsitshq!1I^QIAq9 z45;907}u5CSc$9Ok8^1X6wv866}(=WeCbxUyYU1TjAL^+Y+u91*I|AdMx{T9mNTrk zF0h(9ZGMrxcRN8KhnFGgZTu{uH)eAwn118; z*Y?l;J+7$MGG8~9xG-a-+t1(s=!{mgzb?bDFv<=CGSADTTTrWC?MgUg7YN0pfce#6 z3wo-Mo)pM8uARm^uPyxpZ~L2YSnnO4Na;v`5EGFuhA7FWHPbLjocxm2gKcG)Nbf0|az?NmLpvKm4n&81362BN z!4%*fdhOSCK{Tf~eJhkTCkb-jY+kYwI=sDkN}U{-*3P10MT)%=b(D3*j%ryuxngV~t=>l*cq4q3Wun<2SjC8xaY9Pm9h zynx&NoOg0rqALq^sb`^1F(G%{gUfze-Oc@EkgQ+rg-vG^7OYh1e9$2nP}%oi1)+)l zn}@W1z%5GHww}x#I!}o-l@t}8d+c&nK+B0C41GD_fSereVhQ)iAz#qI>+XWtNVnbm zy=oZ*-!&JujdwrE%J?$pRjYEi^*^S9v;5kb2wPMnVzIySgQ}*1R|sRq zdB63^2R>FOg@<(Tqz*3|_xy0aQ-rD-983426NC zoszsj_5Ky`ipmLwNZgt?PqbU5?e6tC@B-7iHMgAEs{l>bTPHoaglx#R4xCXRMqeHNJPaFpiZRnf}u>ixx;VTKB2_U>PX#mUwa`%v2ad}JN=lwu%l5mLZsW+21XFU{S z9e=zb85_8%nDWN+fw|bjWCjo`@G$gF^m2e17)>}0{PV5)BU<)-kNhdhYT>{;c0040OfR1-aYul9Ji2e~A2M8`u5W5GE+G#ztlQ=`egmFY6bKA@sTZ7p z1kNgVq942bj=~IUkk_XO;fr@mFFz}e(A|r2xT%O*ry-6Z+iS=7Jmth6nubk}D`Z&S zTrpPcaJCO2qsTaq#oi<4SYw?5G$)7YB<7`CYbKwWrSTXY>}NvX%3s-t@`$$PmHw*8 zExH9~#hE`m9DQF0r^MyWFKk_)3$O~`%ab2EH8g2(m25uh=i4{q7wL$!r+1Hz`Cuxd ztSQjqc3}tLjvNM|yZ7s06DKH$L?_Dv)rT(t#kO01eHSIk&fRD?9nTbZa>h9%DsRX`up1w2j z!QDmfTZ>qt3Q|O?w8};}^~Y0h9s}>u6HAO9HVCJRzwgSncoQeLvVp;7me>%hSEanY zeZ~!|9OfOH)69REk_mg{CtuMO%ET?<@4!ZpwSM`9z~0N=dZ+zX>lj}$r>^G4MrI#Z zIs3;<-IYZJy14VX5vi2qlsKjF*V9sF{)^L7lIGiIsiw_ICByk?rE_){pk$B$Xt}mH zIpA#h*&AUW=P7kFvM{=7pks7ZZV!a9+5*5-gbzj~^UC_+qsK*DZ(n&r9JZfFqRq`RC0G@r)bN(}-bXrJlu>^ae_pBi0*Q=cY0gaVuO$&L z)8k!?&;#isLx7WJ5z<{Uj+gEvVRm%cuq%g619Pl%$QDje2rO~0VC)yr^P?3-q?_pSa-+~G=8NCC%NX+BNaJo| z#1HZ0O9&A#?#{v9)3p2gVNj`h%`vCIiVeNFlSY@M)aVRAKRR;BsLILZ8T(acMg~XG z9{aYIxvasF;l)L>BmADjef<^U2cI)$Xk}{Vam&F4FF+i@0L$^57e@YGEh8fIFlWnWod7!| zs%Z6EPU&`f%`D0mEb*DMhwJeHeXH~pX|d6oVBrCu7fE&@{-l8t$=D2iD9Zh4a<5aJ z=#teU@hm4#AJnl0dq|)=G%Lgh!hVCv#ZEs-I8DIV1HAP~Q+RdbJL!+ESXSOE2y0N# zXXIK=)OvtGBA1I`Jj9PG!K;#20`%4l6C_F80gG2TZ23)M4YIL6QS(FmFTB2sybwt6 zdsI9Y-nd~wGYMR|8L5|~K+J|JtQto1vYvDl1eEpIb6Q)oIR>I-ak_6Dg>}rcA5td> z6vrvNh&CnC;>P|n057*zQ3Z4u+c~|+S6}1o?vmK5Aisy#3;gGHbkn1(RrKxeOQDyW zy^_q{nfnXv-kGb}9t+v67-DKJ0;k`uEgn8;Bn-Cj%y?iykEV&dsglKMAej9%Xq3#4%U98EBVODE+siRKKf{T z>l7{ncs?cKyzpWK6JiBavy>o*JM+c3toF1GjlJYIs&A~WR+t|6F4cf^6NjdKBn$9o z^i>~W0KgChfd~w=j7GjJ1G0*oJ|30G)tUDd9+1ns*PlqPCG5F!OXRkT2&O4f-%!XH zqP>Um9)#r)T!_(dXWj(TEgo@P?s9O5h7F44pyE$sRpTd-_h41DW9*1XDa(`0nBq%1 zT;^cFVhW67z~8sFRmTK(%A@FJx;%QOwZ5HSv*ghgTm-APMkt^CIvWtq`$WlX1e9U^i?9EMUFb0*6&!pmp;CNmEzqxF zOh8NH%vfhOCPFpzTHxu|YuT;JtB&pF-Mp8B0Rsj2R%6-R*!Uwxt&Y?t3a&7_n+IK7Pr>W;Utjpv(viDcKqdcg`E$z;TQXu*i-aI+FCuX8#|P zm`7^7(sOQNbZ5@53m-LH(Ik%9br?$knix*ydmtcwX8H)Ny&OHp>w& zrsaB@Yar6oy+TnsYPsOxy_#N7!Pow z@t(hm571lge~@oMOs$eH?Ekq}Lp(t>h=6!w>(ca(nAn`w2ODK4`PO5vRMfxe7wj0F z*B`%S59Ge4{gA;3oW8^cF!zv50S1ARvYL2UhJpWv{p?vVn^+*Qu-G;fhghA6RpF5; zj>#EIP980?&`Ph!GJ}Tc64A=yvo;ew92_t1+OWu1?Sz~ES=}pRNc*ry3fN4lk7LbE~9_` zDWZBSx(#`^RFfV9b@AmUHG^tSe!bz{NP#czRbE}E0iLl!_o_@r(vOWv8#nE}3dB?c z$z^n){7~lE*26Jt$>Eyqgjvx?P1TsiqRN5B1k)pV_#EqJ!{ZZ{(`)||7qZATLoPD% z|wm2Ny>~+$+unP5ls#WIJ$CaNbgr#vz%}o7P1EeNY?$oWUR2zur9oa zQPJ=Jqaogi*E{!jHu(OMnIRwV?0$?T0{VhWr;#h5b50e*zhs`^i@RlSz7vE1MCSr@ zx6we#sVPSmB={Oh4`0`vK%yH+@j?4#?{V$`1JeM2uO7$~?_X5D{|aXtE(8`y^It+3 z|E>gzEw@q|sP!aNlky!kA+{MfV6l@h#w{Ui z-MH+m+6~mgtW7|P3iH#Q-mB{mDMwM<`4qZgbmRjJVco)3_yg=BAZeE&JemQFCf^XV zCD05B?aT`cHmL2HJ;p^6ZK0w3Ep(km!$&5%!xC-CB0r_j57@oke@Yir!Vhl(ZTNCw zLgyR$rh zkq)~`b{o}Ie-$yZ6kXNFMque$KJhBn1XC=&CHp}}uSZ5hnIQ5*`8|WarU7!k=|FQP2g5d(-R&!Hd5^4B()Zj0f=@&a}d=8c% z2}#B$VgLO(es}~D4fMk`|AjWO8o7RebOhtCxq~n6Od}usFQm>tyy%5h$TgfYHlO$r zs<%39FsC&xOLVaUgz5XH5m!wH>NpFMewx}ON*jo#rPKw9|0RM3vPbRm zj99B?zKu+Qc}B>8bSqWbv;s~aQ=hAMEYBDjOv`*|&OZuYedPsYn3S(^s$4H`n0F|A zCA&vPZv5ji(tP*$xDQU=F6<7+7=a@}JhBU1ddnW2x%8!3WexeQSh++DKN+ctbTr<0_MY9}ETG1x}RDz!XZrjt>76&`I%DOT;uUrmUVr0oA{e zL`Atn6P=#w`kft%7mMBLH=pk+3?FODmX=*TcM62dG@OCOR1dV>g|N0uh4!4UHxiD@ z5S!-dE$7ODmf)qgdCTU!x}lxVYX5ZIff9GbwZAFKHG8*A?FMmn?ueUnX$v`d%eHEeZQaI zK7RnaZrAO4J|BSxwitgUILr()ZbQV zc=2TCC|-m+4yjD(#>lV%yG)d{CtV*1mMSYFET^*B5K!Quj5zsAl{Eb8?_K48@q*maw2z(?@n z2vPWx@K?JdaYQe?(&)b#9W#k4;-teFL(Pd}Dl^i*vcfO53cQj!?q4_596=LmgH;2E z9@GUnf$|HE07ajpWyE~`?#)1II9|xF{W2z3S09@FuuEp#@78|CddT(e^4{Vwq!)ZonRCI6Hs{G^^v3rYLAFO0gogN@4oRI7JXX2+xYs-yQD%$x95cWGs`v;_Ay_3emN6(RM?aA@yY8@blQ#Y` z-;oTkL#7-p6x5W=9^Fn*dS?^AapTu7OPZ)6(35lyMu9|{p{xiXs$=r=U&>NzuE=n( zzOyB3UHmU%Ay?pA5-Kb8No4=!<6Vh-VL$kq(W`T6>#i(CR5*Pz1?V6EaA^{CpNXLx z(`(H8#hr~+G&U_qKUA3l;Pv4@18X<$?OBOs+~N1Q5;VFBMq_V{?<&n*5wso^bfhIbvOl5Ijs5oH^4@;xhP_=LjSX8|`u zSB4|Dd=Brup(ba73@Flm@vPUp;gYPdcnVu&Vs^K~?**{lkUh-I`vzpOtQHpg*cp@8 zPdZVg7G|WwGPg{zSC*tJ^E;Di*kPY#EtXckcAN zOg!3Q30^f5|GO1%g{)EDi^TzW;%68?z=|KKi{Cezb|B1+!JaU184LQrQH6fjWUSy|iE)qy6d)5Q)FVIoKV}b-q z7?{*`r^unu2kD*r=p>A&-L6P?Bs}1>+3lFQ1^IxE`x&OjcDhb49AUJ3DjHo=j6zyU z0>&G2jG5Ajty+kQjZQJvsL3cRUHqw#Lo-w`(*AnMt;PN~Pjp+O-5*HZW-I75R+_C& z>$YTid=qq`wv#kRg5e7~Cmr{+@0n=ysCuSdnKBp32w1Ajsi2csjK4IYE;vL6b#g=* ztccQXt}>4x9D`oZ%|;@Et~OGXdQv3|+fuU?KvxUnc*?F?4I9jySJ|&9^#aUP&La*?a?KDE{^ERc|tUTj4;d zbH{L$_C&`)N&ZaDAoYs`+O1ZMXErn~i6WrKZ^h3jXTYhdoE1 z=1u~!c{-i2_zEDD5&Dg7{TqF5Rb*8=e8i`g7(CYG^mDCzMry_*_3`x48=sNl?r%2E zg<~eMj6hDIfleWJggDU+mzHY2Nw@40c15}di%dFCYt>NR%~`cQbc-EGKDQ+I?3yYc zwPTia>YEkm{fJ+Lg-TPzDuJ~Ax6R*%syOVA+`{ipDh0u4TtU_`?hot%0Hqh2w7bPj zpr>7jc7&6vv&L&r)qV{;=EbO;2y9DrFgX)t;3uShN~vrKqUJbh+l^B-Q2R>0yO%~Br#PCXQU~t5<86QUHcjLhfA1%u5x+n3bFdWfF>Y_J zAQM5qdY9Wxmwiio-B7bVSHHz(Eib0*W^O8YsyAXYlCQpenF_ne=HtY%kwx4df)tkr z^`u-@vW4FLdUHob!&Ot_g#@B_az+@Tl=Q_5?KPRv8+AmAuc?ZcMI4H$@MjS}Xm9&3 zP9Te)F0>gNqz25GL(hAo1uV4xyllhL?m%8NZvI%+MHvQu@1esURyf~+iAl4va%61h zZnHY%ZXQqlRytt!E4XL-(8u;9P6OM7?m3HG>!e|3K}qPdE@X0Ov8{!C2l)KR=Qprv zZ*9OuxVt4U%{bn)<6Y#)yUB;C@`r~1It;SKbXu{;=75M{)YYNQ9fTg~`su!Ifs&~( z^~s_mY0IVasZY`#QV+kDI&|uQmvbd(oO=!3jgjOkp!)%6Thj}LBWSaMnzl`KEb$gy-@POgt8~y;SLw! zh;g<<{DY{1)gS)vgr8`Z{}#H*xKu^QMst;zmMh~Cj#(9BwJX9g4?g-@{8YbiFY8f! z+^pu)XvahAQ07I0TqQaql?Lht7BJm$C^MQ%XmTEfqtxDZUp+0slck%3zeN3MU73$)9$r_qx)J%Gk9D?E^2T9ej=)XfV(Jp{DNE{PRaxeD5spBc)7W zWiN;_VfxcY7_aHrB+bvRUqd%L#3vdx$zD-@HI7|X8?D?U_dgy9?F70brLI+o zmjn-wZF|rA(w0^@zV3TAho~#5^6Ti*S>osULw?fnQU@2N$CqO8;^;q+3S`IT8AlWk zO)IMt7oDp=>Z?^8X|Q6uZ$nCt(AK#W5%sCi>4KR1@ruvCEb1W>gi22AIwArRZ{W|m zzoLB_$(XN@0kshW9DBr54jv-(Hzk?($uAfiEQ>xWhg^B^P|L@kuw`FbQ@K304M#Vw zK2d&b8Bk~M91N&;qiU1T{0qQ%WK_(ZvBe0XJowiZzJy+2wGn7paNY&F07(E)x-0!U zrm~b|P~N1y5cq-78Q#6-S<0+yC)5&Bg2==v^QLkpFwpD&8c~(Mq8-04R@-*Aa?3tW zu}4`zytmCT<1Kg}QIoj4v-4jhrI6;bygnFWy$m4r;O0*+%V#qWDMu@t9_u zHvMUnW0;ZA*W@W&6s>l6_yN{SVY3lEFwXk-ub%GbP#FB)X9|Me#i&F+4Xs=I&BIBC zJiWpPp?slFaNnoZLzA9^nDVd}8hVCbFw2O@`!qvFFtc-Za}o!*Y+@)XhaFbA;PGbr z;4hAxvdPZr(-~>)KHSH5dO+`H6Yu=AE9N~jp$M4wJZ6$95axy0Xo%;GbbA!Fo9OOf zHSJA!T5S~%h-xmW1NLNT@#j#CNmR7-u&N9j!ax@T}b-fY~uGcSM9)(KmV zzsMF~ex|5R;bxItNz$f{SbnCV$>`G^$HD3!F+}gu4J-Be<^-h}?+1rYUpce!V=uzMCU5gn7c=&780+9Un*=bgFc>M zvyuOToi`VHH_I}S+q(H*RXtQ%a#*8!VKe8+pZ5SP7K*yfgwfp?t8}$?KVsUFb0gD@ zHqblj-6)>KJ4z#wr&~pF*C+n`#}ghaQhvPtn$5ix9VHSc3-H!;v)PCBd!wz`9{D-wbyKCJa_5 zq=2tIe8^T|1{XN=9F`TW$r-e6Bs6%m4PGZIlzh+2#+%9M-i9d`BHa#si8X%P(CECn zOIjJ9oHBZ1c^;O_(ht}}z(e4ryLJ=S6imu#KeouqE+dVe`;~PkbjhAsNJ+>#IrUfj z{)&dl z*_8K$?RubmWqXikaHdhhv-1a|r|r`W>!X1w_X%clkns(Gg;`KIOs3@N6FPsVzNAs~ zO!O$!1Nm%xBHk_9{HSX(Nbg$ghu1%5>!nkqUxwaEH4pc*Xj#{+UEeGNtcdE|6~$aM zA{8YtN}G{sbw)s2vH+r4VE^D|CxC`7REY7K8K1>fpgT!aI(dU5cRFnMt(NV!;^d<) zezWn|zMuDq^|tDyXn-RLeDD;+_dgyYE%`_#ZIk=HKk_K+FiMHO)C!xlYb6NcFL-1B zaOH>J-`CN`qjY3p*hqsR?$*qF;-ZfARz=sdX8}sdOd}fLSQ~?ZLx?(*Cr#e~U*gcM zDWe3VCY_TIV$S%lPMwWmp!X!1O#JfjKO$lD^uMsGQJ6|}0RYjy7JsFnP+b^HlD^fQ< zu;}N^iN{NZI#RGdut4pp-0ciRQpo%$J$lkk^1CcMYa@kc_UZFQEltL~;--o3ZK8Zb z_MZ8}V8CyIkE2YP0xZpkC@`})Pf!9DYelG!aP{XMkjuH@=BF_;pR#!9nqcbmp-wk+ z7vuo<0!nEd5ALIj+&OJjm)z|7-N)fU6h$Bf+%=bXN&8%Culuzgfj&HFBGk{4gn{X5@h5~akpzCgK0E<$mn?XdziAS^t z`@b$Ny^xxzcJ}8Zr?`{8!ZEw^6P-Xra~Z~skU$a`85v) z!D-ZElVpYJ2*`B(JssXhL){(l(?usS<^)&rD@Zlq4u5jZEDB3WLQN=QW5(EGm=JyGJ9qt%$DkDi{G{2 z&Z>^48}6Q7W%3_~uuF)w7dMU%);@7M{JMHYH|Uw|2#yGw@mr{xz`v#XpjsZxuqU7o z2z?a`*s6(Swqr3cG9c!n@z4*Ipfam=Zpt zf5(btc5ARK-VV7L;arA`ysNAF7TvcrGFGe^K`}D6yxC-z!y?G#71yF zH~Z5LwGlBLkQ3(ANXtGO8fV~3W8|ND$Ku$S4U&DuvFDN{*sE8M3t}%6v@32`}zcQEHcn|yt$K++4xXOc@&xZkG#a4C@L!8JNve~!E^NTW>54dj(RoPN0c z#_0RhO0kjw@0WVFLyd*;&t4t8somLWF*@oRIfnfp(Cp#ZQI!3iA=8y{GUyzFLuAhKKzo?0~EEKOP<~ zrUnuRH11uSOhqVg6HXYvy-69AU1j7RtvBw0J4T+Et?H9Y)Rv1^dh*79tL7#J_c~`c z2{W6+J;upBvqrBirmR9@kSEi(4Z-h2We%MPefaf-BZve9X!CJ9F(N1dR#+&OVoP{z zJ!hK|RthIcrLSwR#oA0zqx7HG{#|sRl>PTBPGZ;8PWLduh?Bs*1k~(S!!oeq;1h}2 zvD&Y}l&QN;H{A4g7Ctdj=ER~8*S^K{o&rs0~)9MS|nYlFS zjrLfX##UKag^x5QY@*>>WwpM!wS-0zQ33)WVqUeFn(j3O&G*P@h#)g~bE)q6aYKT6 z-E-nBQvH1}wH&+yYy)`%0AJschfMD;Y>(0EmpTdSJI;!R=HzP2`jNa$Z&}bKcVQqM zCd`6rpsiF7oZ2*_@9b-Ii63NQQLnChCDWB+6KlKm;&G#IzMH*Miob9irbaG)2k^04 znu8<*um^OKWk%a=!kc7&_vjzg~{JKSbmnTN9I7ua-9~x4sty` zYv3M&peW%vkG6NZKX+V6&Y%IB&F>QRc#(?%F#x=vwCn%6D*I?;?w}Jxr|*q z=mb|g^jP;SKzHTH?USv>qkMj^=;VAg#7?&}JoRrLeqJVePQR~7E-#26&K2MSTc3%M|Fexqf+oJ){# z=^A7i@1fpLy4R5va}-b2BI|kw9(cYO0o`EBFwI%+q3;>wVTd;@g)21@WFgGfK^ELZ zygi*m<7qT#G()KjipD5jGr zh)*iC?<;g%9wurEf(9GsMj$I=Z$F`;R(cD(_3o$JT-m}GXI~HDDyoppb;KK0WcIU1 z?V>|VTgIE$dm>N`Ey2!D(Vu}e@;VTMj%*XuVXSeg@mCD#l#Oj`ATTGKGG#i9x-K@I zIo@yZcU58Fk^7rdkC9KT$~sfc*HS#tgNf8!rLCrJ;2Xwx17(T|tmt%roF=tUbRR`1 z7JObALQ4&OLfMi5hi-hf5~oNldfd?QcX_!~=7HI}H|@Ao$>j6{>8v($IFR=9d=LI=k8oqDN9m^r>q` z&8g+Yg)y7gH$GeT|N4a<;9!H)rqsHz;yc&`SoQ0dKk&j4d?WwJhbNu8!}BH^8X7a@ z{ytQFX6TV{yu_8q?*m?%t<9;0xUQRY{4eMDSm?oapqFY_vE8Ry4N29QYEHGN7j$nt zVHuXq^6(U0I&Mt+`|#6uwp}5v$zy!*{R47HEosWjQ)z0N>w(eo%{AMs*&ST~A9M^& zm`#a;`1t)9UV=5!L9YxzbHzz^H+6mu_jw~C9y^!rx;=8PGM2LQ$+8W)+46(>ACD{S zkH{=!{Q&FoUzjjj!=#Xz;y9kRKi+0L>g#GDJ5JmPwNf&rzA;IfTa+^jo?cp5#TH^b z$&-H6nD=vpB#b0jZ`xrR2uSJ4haxy1J9b|*KT zk-Rk@)v}BHxW>wJCvt+vOK%T98w%{1>dU;YuX|y5%C~!ou-09|4yAjtMf@m(&%shF zI*kPhY^kCZJ-!6xfGf?c+0*-b^#ddv+J?+4~Fs@No3I0Yn$v z{@Mt^Bv>pYuW}6UzF(Sj;SLdC6prLnGKWGv%rM0l!wk=jl2L z29UWVy9cb>Lma~0pset{`#;Ym{xn{ve|OE5mc)$Yg&GIC?3KZN8j^FO%^m?4-R_T?92q_n1-Lfxl(wyz5MQ9-ZVXgcwE-nL73;u$J8 z_NDQgV6-LVj$$S4=xA@oV6XZr}<4>&bo z130t8SXmTvq;E8M7yAj!auzx%N)aM8VQuTL1X9`9nWvDfxvYbKGjd z&hAFg_XzWwz)5!8pJ1mHt!{%D+cpqci2LH@qq4g9j!LbJ126~d6IO6XNZf}kgt}V9 z+>(y)JLR%mo4#`2K}n?WRxM1$RmSflorn+PC-Y*WWmKx)%xY z8sO#SV;0d?HAV! z`F<0lioFy?fnV$#9dY!tI$}0-96E{!Y%L)W-CAL^`%vOiYxsp1#q3MNY@siI_41O| z2R<||l=d^e>UrGlQG9pK^xW}ZZpag6ymwzcibT@kvjAKwf+k^j!Phsl$9 z+l-{;#Z)?>i#$o4!>w7fEV%=CJs!c6*tI z4M&yUB!0FJ@P{A-_1kmo){97*z;^r+j)|SUtEYU@OT(M&h0yEWX~t@8STv`Kxt+}l zk0H%=W(4sF0X-!G0`LUzDr_ST7U)7^iPy%IQ9@J!g!RMpb#Yo`PXC3vkgTV}=h6>q z@3|c(#d|Spint_y*oOZE4)lF27o zu}U@CG3plhhuc9P)+2+Sr3@mKuBWeg?YSXkE6k>#)m*z8+*sL?6zee4jp04K*^I=Y zdoicVYRG&(Z4#JcPT3V-Ef2{0KZ;(zkDbxkvva|GYh;3gT z9}Z5!bY_L?xpXR~t5hSApq8NYq(rw{FIstZd;u2}Ry*T1=Og&aGPat(14_hFcB3_M zu@dO3<<5G8?Rpk%mU7PY>MRMh16QO#KaHnL%&VF-x4h&=58GrhaN*WY55lUU{RJkkft^47!t<5Bj-5x@BAtW4YW zGX9E&*$i_d3jFqwDu_w5)!iK}_I+R}Tg|*Q3ww?vX0@|Qp=QkDPu@BbZ$firEEkXF zey{LX-;? zvonWUZHZ^Pt>`m(Q!Y-VzeA3h-e;2}<*#=b@>x|ZJk0phq2-Sem;=7sK(*&7; z-|yX17nNl)Of?YdX@=#HLYNr9#wTc)RP4p)nBGsg%$!|Nq za#QP~v__;S!>O240M$s0?a7j0pP`}C{e@m}ub|}N&ej%Jdqjs!A`Xeek(p|GV9PFB z>5=e@kV^`-T4mw!5FrDZ(qLcjK>Og~3G*F|)&d`2n1pf$1L^IsnNL9e1TsQ8-B|K$ zJz8=qmGCEjunR50#Lej!+pqh&blXmSHazUvp-Qo*LN(y)H_Nz_ zF9w}8pV%)Ds;-BygGG#z9sX?Q=_wwq>uES{_ZjT;+tzsE6lQi-pv-1 zrj%j7hMsPpBc;%Mc5+3EL(80vyKQcyrY>?aJG8on*>B3uOHzN`jg6Ar2KA^4678k>KU^KyW1$uSOl&#;7Fv^s=BT1 z0Kx^_;|BN5pKE}SuPCHx6<*8;X#i}tf%qJ@4(Ed^UOaSS_9ZzK(;i-zsF@&ReG9&t zP<+Yvr9tLIys83n`@ZeN0rTV6rmB|6oC9_gMIdjxn|n-vW#@xGFwtyHqgvAJVhv;{ zN&>jGBQ@{Mn|k7&_J8kzyeoeb|0>oc0<%4)ztH~8y+JbdJk%*ueO z!XSJvYg27|Vsi!U@fWj|=_ibt)JOmd>g@llP=TbhkydhDRsvoTJp`#a&_cIqc9F;b z{wE`YE2ym=SzFh>GRd%)_pjFbbg%bYY-)Sc1_eIz1X~1SL zR8IYT-_j!Hj|fAPslzg1!YQBxu$EyYMPCNg8J_z--y7oBSW{W~xWYoK1CCJk?9U2U z3ak?@yGaEhxjm4o%`TQ-B3P4Cg7F^lcB2v`C%g0Qy=q0IJ`GooUhKLMj7+RhH|8;Z zc4fe+`jzU${|-2&WAg<_2o(uHtMPg_hSh>oBv^OUKmy73+i zo*3{oK8PA-G#G4wd;j4nZtOc3TGM&SB=e56E`YnvCvVJ%WaYDbP{AxEW_Jgy$|M@{ z6c&RQC14*6;RUXbf1dlfN$z(H3H3X34m2}!`03oUlBxGTnU6yNGz!Q(#kAs*K|KF} zaBEprEvP84s7X2mKLy7Sk;2mtYXxG~fRQh_*_# z)RInHd82ulrE)5HR2N4vEL5GO@+;Ookrw8y@u9ac`Rlc7bkO8xJGO4H4WRoZ0og5l zb+c-(u|i*SC~7B|Ejx!aL!N2kTI|n;kldbP)t-J)?Db9Mxi7lVFWG=X4`55zH{nBd z@H#}@?;_frZ*M^jgDQIPC)gZ^OQhQpXT^tTlTyXVN+J}%ytfo%(%>Kr7Ka%Yuletj?4lN*Mb%N*~|@7*O5;-Bw_gR z{^NIT!=5~bxgw^@AC&P2R%Pi~?pB|jS}w6E-G!v-<}4tlOmuM#b^EyHJu>%LTM@bH z!drVo1l=Xk*f^qBpJi78oSHF5;D_=h4??Qs4E7V=nU)Go6*Dlvg>jyBeFe=!J3nok zt5DNiJ^GJo5OeWc?$DN-H_zj|)c3Akht_)p(trf7Nl##G*5KrE53WG?Yy4g{n!L<) zG_@=aC61M(!vzn=Q3S40Glr*s_DVHRYK!rrItPTXE~j#3OGRq}{O0F)G3g17WVp*x zq}2C`Jo}bY=8JiX%={9@wk~cer}sY|Yfe1Iqg2g|kZ#u8G={n)D)H=8rQ@Cb2l449 z<%NP$=duo;G&vkx1gj;l=>y3jPdFd3)VkIlErbL`F>14V>P4B%9SXc@xlGk9%FOe` zqSl-0+$VpnAn)9y&BXo{tShl}*lx_1EPeE#>>*m_t2*M+3oVS`^s4sa22rib(AE9- z^tG__57PSr6ODg47R88dLTLAdUI9B9GH?W{<_PUFSKzYpqxmDbq|re^!aJ2s*BmIx z$-qBRPJQp4r{tMgyTa@ToCW)l@W!MWKR@IHmLEsH@5jyhTVmoLUfb{P)@@Hk;yt?n ze%?>EBfzJgg(jlh<_1qP3uarBaBSCnW>D4LE%W0VKRh2!f^Tjk0&MIS4^TsH!C10h zZ;&S0AO!coki!&j$r;Vo}_+O{3R!)aJ2l)*(WOh$X(av z8Gis3BdxsyQ&sRsiv3YqfY#Jbu7h+S4qhW$)5!4# zH@`c)=DRnD5bH?Ylo`EtIGH_ew+3KHhc}s8^!8cVY8v#XGj5{DK3gm`S>$Fij8 zCx|!nJpUogt_`|T0`&WXsn0)M+}8)z{_7MWp-$F)Z|s?%j$s2uI;11KWm@F=Op`M4 zI`IzfnS-u$&jApm|bdlb3bnbzpG7GE4+^=2XxGT z_%MNCX<=IR!G}?gIdA@f;vk~m#Uh>(wb7y9g2u!Wmh?Wm5j@Jd}jT=~hpEpX@dw?~tn zKaL;0ri&ZJO#01DByi85dr3!_aH_s=0W-mD2;CEmSnO8I&?Rq$rC#m&^K$`M_=LvH zTo*_iqtF*>w^9LN)D8GD!4wV8}i(cg~5e? zG}8@{GA(U)73w@A>@q@3Kd08F^_E%c9JjmaNhL5ZmkvH($BP)!2*x7@)~7fxnuE1* z9x4S{pk6ibkJHB6GB=*CJ$jfve{oOZ&dT=p&Ef^`9i|Ou^OAE-J}2BlGVh3zS3|lp zSP`LD=6IedYYiAaJ26}6Ul~>ay;oY$ih6Sbtm|W&qZa3P-+>qse@bN|BlVTL@&L&_ z{>qt4H{S*vLj%QxW{HUcdL+UVs0foat3JwBr@#cg3Cp|k)(!q8-V3R|v(3gBwG-Lt zPfg=~eZDjM99+RE0xBsi0Vc)eWuB1X?<^+)7noSRqADyO zou*#?{bCW5_Z@18-Uqy>s7&-I;c$)GtDK3p7SIp%mM`W-PMD`t7OFKWP0Fv~o~O;_ zrjB~t>t8af^Wy2{GjvOA{_2=c2|zg3WR(1Cv@o}rVT?{4OJf*p(C?e=&yZGFHGQ7L zQ^laKgh~iIr@IZr60L@EmIW)k~C&v%@ymK+*bw}m4! zmEvX}zVFL43eypFjT?*WKI`w2tYJodJ2FCa;iyD%jz4R>mlm;QhT3z9?Ime2y+P{@ ztccLnIZT&8Um;!+C0RZ~6g)v%F%QM5?HoCEQ?pA0_rdI}aZWCr>)E#Z0Q*J@hjT=QQDpKg)ec8jga{t z-&!)NYxdZ?1e|u}`hqLPvBq&Vr~y@N`>$$d$8G~PL~~=f07_kRG!a(anblbpQOI;_ zcVOEId@&5Wp7(KVVan<9v;_m1)Yld_cjYFB>P|hoU$9m>X8~b6<}`Cvxq~1fRe&Hd z$CK5r9-2(PTmLc79G<7$KJPi*LGg5+-?)5IH{kiiFt&2=|J7{>0_!xQemD2(FmLh; z>WppMs!@Z)Npr^cFFF?Iwy3G!Qv7m0y%sZ5Onh!(G)H)WIaLDi0KVjEGM5UyiVS#5 zL-kZH2yFZNl05!ISp0r>IL5yNx-Hq}zgu~un-&V&I}e;8L?M*-nVd4wcA!c z%|@xgry(82JQK19croZ>rMTUo%Gh>buLf^z1XO(YSvCSVDdx+r@Q?GhwiNCnk!(?2 z^XAJpInr(an%&Ft>PALRs%DDioG7mNG+Ufgj|ZdF>&G|PMkik6dEc8P!TOe*r6q)W z;G!wHH7geX|;4%yxYjX2Cbx9ol;N7_aiHN z5aMg7%=veA=Pcz}#Zi1r`_>1sRl^1;P!_U|Tt?jcQ2)Jea&!raT7{`%n0`p0Wpd|y z#^n&6;`TJji6F-1RnWfq`LOOaLzWThHYXpYPECHh4z9Gld*RJ#CP=iccMkQvIIi3Tg9&eOBnK{cG`%wkjgh&a`EPQbZsNI5zpTKT9< zw^)Dt%b<^$^v1nn+%MwG8gp}VeMov0J4KX}3c!UiN=$di%Kb_}^>!cj#uivJw5O`Z zU=}a)bDfUD?y}W^hlqL~DlpptsXCEG8@wHbP(2!y1nJ5;-Pur6SI$!s5Sgj%{c-HX zA6VaERIa;1@nQ+6(q#Q0foATAoosDZiY){-}1!Maq$HiCWr~@p>m83r!LeQ2@ z?|8e9_T8R+e(V!~KU?&XYi)03S9XCiQ<6^e(^pwOt(ifix^lzU6V*bXEfkgWk< zxk7r!?&+kynZXFb`bOfAX3~+A6cx0g+$a8D$~w}JYVksP9TmhDDVVK`16=h6MI2me zGZYgkLo?q-H>>Nvgcdv&^?jrNe6XFTLqDqM7sLdw#MYx@USr%rr%;!HmpAx&lP#^C z&Wn40n!g1OQZQL;I?@G8>Wtb|JTvjD79)T`sKpQ}cH5vQP)D08hES2SadKSZZ$ECg zKVQMIjVIL-3TCHk*N%5<-YC|-U?n0doI1U`4N7chv@r{5BUa3>G>i!o z@|7uMTRXO?6*Hz%bKPpqv9Y1HHtqN3?SO`h)C0A(?ELZlbSP7eeiSnMX@99}s{ah= zAdD%f`2c_Qhaow#?9%B&e8Az|xTK#Lq3=5=nn6~n#x(!4D^S2@kTN49EglUAKy82p z&9Yg|k_P~9$6(x2CJlkncD-hH2E+KyDT?aAQ#jSBvZp2Aj(6?9;Q9Yd=+%?pEqvTv}a$)pq_{IxubAz@Hdyvi6mF9m#k? zn^=#gk=yO6R`x-yW~#v;A;U-jB3BWk#toji6UDz3}o=N?_AK`6){DY1Ak zz}D%MIqNOa*qs~@9Coo$0Wa^a5Y`J_dET`d=L+uG^TBeQzAjh zPkd@1O^^5bG~#QuNV09L&QLq$`5@jT?ZQos)WxC?xd&RiHQmlzSf{Y}U`(+>0AiR} z+$L8{*tA)HAhX$xt9c6;8^0{;t%*7Dbe0gxjA`c&>?n!eY&c~wo}|t)>gP7dWEP&Q z%AQPvRK9;UK3w8cbTh;KFumr%k%>Rmenc3xHWug+hv-@fJ~?Tj`RyHarlG~yM#p&L z>k-wCKoiwHyaz@lSM(9#~$XPr#n%iZh+Ru^$ZoQ_}_sg~s_X z80vY=iT$Ui9if^5^@(-UzamV2Dm*(hQNtVr*1W6qRfg6WTA2GgSG#%~e__QAM9i!k zYCW#4Epg=<9DbkSbxuY0M~^~`_A~c@rnc|b#TuO4=V%d)h%ae~^DTS6xLTa;TA=HQ zC3u87;k@I$LQ2TW86Y{TK&9zA>{ElY6EDCATvlL0Wjhv1l&%-w2E+JYe;O@&lmq`e z`y}-^{A|p%^L@r4XP?DpxuuZ+Me|``N05Go8OG(7{>M|GUqsWN!ZI)Oclf>1fmLlZ z(Kd}}9L`K4(FVviyfC&tql!2vnN6vFLAqUEpOSLbce+Afj_Nrthi{yw3jtybcG_k%mT|ut#5uTF55S)7#EEqX%ZDk#xJ~CP4$fz5mD5ZcHq#-ZE6r!iY>)*;QliA_|9Bv(+=>?+E-ym zN!B>)_NAUS1@cNowBpR$*h5!U>({JlzmmKj^UO|slhv&n$&I2#D zrv{zWy}b>#12S+u34Giiq-#uPmLd1oh)bwt*KUWc17FJ*PUXtR$i12-(tLUL!kdqA zvxTaML_^1%HHH9VLg6_W5wOzCqC#T1`b{lR0oKDh8RnqjQGHuQgo{{ej;tPTR zfD@7V^FJPts%j047bTlBWiqUJ1gB6}M}Ag@Q<9WA@7#aLwDV3?)#a>9k`DXDfFM@r zHA#`v!WBS0{r%5BaCY$MvfjtCf=EU}koMLf@31l6{AU$-F@w*|_>jTuAr~nsC>A7% zm*D;ZYXjo&)6A4Myz&^z#?MbNfh}CJh8#Ge}t+?TtRdC#!Ok`WLZIqAxp;#Q)R~%CCnmYnt8vw zU=OW~htDi#NQaiy<#^f7L!i@1;B}xU;qkW zM2%M$Vt~LPCKdP0e_ZZteDFD<$%6eB@b_Es zbRZ2|J1CiKVwMP>8MXkZa`w6jw`K7^p5KD#aNubayVHxweYJ!;=yH(h`4!M;m%|3QAo}^PVn1&`gv^w< zhLfX|ZJ506dD7YMa|zL5qMu7HF6-`fo?pSvZ67ONOg#N}=bulvI_*;`ONBf0$sZsI z=_FzPy&L+!L_LPN2e^HNYRoHwhY-=;(jw_u56=l+lAs-bHu zPpbT&V(g7_DmPz{av>q>up~VM>mg$i%Y9plQG)fbQwGVCo1GY0^hMxJUfl7*%fetj zF5pUF#J^kq@q%0A`DzKnpl3bpd&OS;XRhg2ie4H}qC)@g$RBb5%gd8MjGcq7DPm{^ zH(OrLO>_p~o0~=!KTNJ%F=?DruzB;TG4?6F_`-TgPgBTrqTL(R|4RQJ>mK{U%UPig z=nF7tct<)jN{Jvzf{O<_c8vd$oN=7G;SwrqReu3;b>Rt2`QWXc@pQ((y)nFHEwZ-M zJinC0F>6=&UKBW_sCHe=J!hq)x?+`Z+BH*%c~Ncct6=9Yn%>g?8Q=&4+=ld}*081uSTZOS(=b`C!f>C#YJZR#|#jhT*RX%F=mGc zJRU*Diq{8$h>qs3fY$(69i_%8M**5nh87(Zjj}Id7LiC$38uW&s9gLO@xgThm85%fPM z2(KDbW)642N21`zeoby&Sl+T7GHvEUmU?BA#C^xt_Sui$tfA8E-_=q=UfL6Yo@g@` z1bElxvF_TV9CaG8F$P+=&S#AZI_X6F85if8w$cu=XXteE#blAgAd ziTZ#Nqf4ywmU`QPRmTA0w(DoF7o-Wp5x2@_#~=;e^F&XLs*1s1CnU>$6a2V+kV9NW zlqM$+m?}3x%t2FeJ^qwnM}boDd8eCd#4m9(nz4P!#%b5_K2Zub3b`5wv_vm0TUw9* zF5G1qc`ObSX3$yM9hL@F_lHQ>1tmiFhG##vvMyQ^Ajc&zwwX;V1Jv~f;OdCRsKq>{ z%iyyO)-@cRFV*t9={~lc{D@4i|9)ekmk$>M77T4-SaUvoqrlQ=>4)d-{BBdpbHKIT`abEo`lbuhyGU6 zt-gMe2JdwBHH7X=zPZqAA8BKIo!y6<$#s@uQ@whKnMqgW?!E~udlosZKN3aUH`HZO zZ5za*M2-$tCN_;D0Q!CIG-0_fzsTQW+$_2kJ5~@K+~*{|E28CTAJ%1NEE1g_wPc$q zJtY-hKL_BsJqS@eqLC#APUVe{`o6s>!ViO1%2;Yw77&3s+nn>b=I-e>2#FDKJo{zp zeLQ3jBD?QS`KDh3CLC6VYBsuOr}+tRM2kH80SD60Lj7;5-HnJ}9-a_>m9p0?MfaNngss{MbOrOHXlAZn+a^ zg5O<3P+Ar{$#k_)3gghOCdrLR4;p{*lTjz?3MPyWm6KHOS+KrOj(?1hUp7A`!}a*> zm6D?>ol?*R!NJmciUcunR|Tm zEvHOe{o0?TZd)w4hQ^y!RoE;q4kcldV7w%Q$&S@8UpFrh>BkIjpjeb!=8$TcE}VUx z)9)$-?e9879hdU0dTd#L^^I|>XL0>pa5sQtjZmSu($)Gv5DTM9A0;P-0;@=caE*)1 zmOi{mVzt(uM?BffB5;z#2IJL@&2CJK|ru7&@>{xR_=O&(_$lXvuW zZNdAbGd@moN1TrOIJ1oojyj8K3139kzV^5$e>A?WK=9Z?|EAHXmm3TURogU5Dn}($ zrSa=XUC3?ByivQdn(JGbKr)LJCFf7|!T_a}m(p?=zOZG-T}_P4u{8+t%dXM(*oW7; z-tSC(%OZd?ijASkliTwkX4w=pDI6oCNw$P@ldz>(L=d1(8*$F>0MZM5*ogmIQM~6uZe_(5}dl52cVn6EGJBArcF%Yuz zI$vEcw%Ihb;MP)k#}oW*JFwV*P#SFgEaBd;1GnpL`79Pna!*Y9ifV&X2@dV2Ffnp2 zEw2e)td1QAJi>!ISi`I#8!k@cnxstI&aw#Z!!M55lpKAjt1aoW1|LLi>JXGc2k_TT z-(Cu{VPKZOaoy+{Zy4P-y;%43yy^m=5#yLy@?!G|o8mT-x8!G`2)Fod0p zyf(whDJ1yrxzV{~nUS_=g&{Z2Ml0U8o>%Y67LBg#-2RgK(fZwQ%IML1LZ!0<-f&^NwHbmBQwL-}@& zq_em{9|`1trh9#VU-w@k0}c6~I;8eTI>}Br$r|hN-qJpRPD4W`1;@8Sr>-sM=p<0u za{vp!hTuo0KDq~~)A21crsn{~w$%pw#(_x6HaqH1f4t`kFEwgFu`a|fT2)4nhN{qs z4pp!3^QTj-pF5g2=F5T4ZHlFB4N>SCXUc@QaSWSSnm%Vxme4u2)$PS}+2xkIG1_p| z0hiw@-n2^J+R*=7qzF0A*5OUrkvQoi?IO|sRJycAIxg<)-)(aLa&W{I1LrF#6p@8; z4{BGUh~K6)+JjJmAUq7>kGqGPf|rAKxjo37n_cEOd>h2&cTh{c)1zzv!vuY@^gt1> zJOH>ZPA^ixi%N~@ZEdpP3;px9ww`gQ0(dq=^UuAKX=;p{-kUNS;_n18~(}9*35{HBuTVg)416`VG&w}I1;T=RnAj~K?DoQ zFXN|!GL#2uTvmpn#vIcN0`R103eO&-vXjgXEzQ1~)7Pdv4x=M#*IS8daubvy?8iq0 zMp83My4^C$Ds9pko(YtR?srT#Yu&+S>OR}4PNOUR!kNb)bAXiZlbgSGZP_(3zgx0%-1Mcf`-ejJ4eKRr(CKZP4`ioVU^BcHnz-+pb zfp&ZO(nN>-&VP28uVKLrrmEv3ar7YJFZ}7c0xd}%FANG@Zn#D~)w_N2q?(ZDnSGZD zDp-dMw3^(amKZr83|w#{S|a@*s>SXwp)&@l5d;dD^G|j@M(4Lp+YF58mNdy<=aW~` zYJkL^q2lX}Wg((;2svRuX06HB#Cg#CF^zAZ!*IJJSg1A)|!F-c_H`Hy3QB23aC__d&D0iw*JDdZftC?MD`eB5^E{AK#z!fE6m zwlCDnt3G^JFaPkg;-HDXiJ@hTyz_|Q(@6^BRf4ZIm%2FnBO=2(Gq^V{+KZ!N0l z&D<7Q!>(LBWOSxbF!w{v4E8gEfoRYaOigG_9P4Dbd@dU-qqV*jzAr=AB(CwA>3SOR z>xm}B>xm}MEDVBq4%z6pz$bY;g`y|Ig78qsR?Jb`t>8q+7C@egFDYSv+ zmKOFy>NyJIZGsCl^%@Jrf3ZyfLZH+xi;YG+cRj;=q9eLkJ^$*XhaIi_PpR&xKrH5M zIb<1YNOd}rWrax4mN}pe80mGiF8I>Qd)`S3IEKZSHd=WMIf(KR-ZDn@l3^vwEFUVb z&zES8U$C>-6F5WE)d<}UR)S5djHlha5eEmF?45Z}_+GwpI8Vu)Z%y2rS80dd|Qwx z5)&8qJ$o&__($RZgT_5AwHF*?i70AH+** zJN>2iAJ@t*9(r;^%q+z7R_3ucO=Fx(7((c#JHfYLTrRvX5vqLuRIj2z6^X3BbGq=w z`iJsM9K$VUhm232r0qBX(>F2Y5);rVFIr!opMG`0up?;|*NMxYhSSy^099v}rZ;Ni zeocXvG71_ea{Qk-|JGGHe7>tjJ-UPKeQ+psI@T-$-F4Az`(WC~eV?A+*B?Pl zup-DtJdsEHNq$A7GX&1aS|D3%vUakzI?Ilux30nMHnjAlTI=WYx|UBLn=`&`j7r`D zj79)0=z%^W&n+!LYCl!gJEd1Hb72Qj2FG`B30vL1RS-7Zd{jzE`aP#~Gnqq&yY8o(`QD4ybrDCdb#tqa|BD4&v3N-I}NN zw&(=5cuC<~HN9r-Oxfr>lg%LZ##zr z-ukrJ$wu9jA(xn>9k57PeEcqXiwz7~pkztNSfo;X%PF%6!+mIpe2G6+QRpN~4D4lR zBRm?zDnzUlD8l;hZ#&WY(4fd4RBU%OS7x~SuVpo7q0igMelzpjmw)XAdk{wFSo!PK z%yaF6rCUozgvianHS^pxPW_r*z?KTK<$*?{nk_KyxD%Qq?S*U#kR@YlXHUBQZWDF5 z40PqOCCnKSn&N(AFlY4tW5xQ*>ZNH)&cNAY@8QbQGBb&o7PbXDfi*-#;tdRT&H{d| zr)Y8n*TKf&?J%ro+ph2K7UrkqkGThXDc2|%hGEMfwiGU=i4dbF4HO3)@`(i|luyYY zd`l>cH$6gbeFzz^n3XL13imL%kTOlwxhRD?f+Mi-f2yNJ!U$Wf2sUKks}R366k57y zV=;d^36Sk78IGu2gGo_O=il@Z(fAmIMoY>(3XmhBJ`5wwr?yZTl~eJsy?*j5;_U+G z%~6)_u{7J_I(OYZ4F|6;7S80FY*Z(TOaoW^oi% z{P?-emB)J!4IpF*s(?(}-4vOv?XMtf{r&ln9l2dU5Jskf6m}66COA}WK>`KSHfs`e z)`(b%pY6>2-_NI>!!3_MDPY)57E#zy?(^`kcrd#W1mN!b`~Qsn{n_a(86W`g#%=?+ zIHrYfD%v{iegaQ{IIDv(n{F+&O7q+V@w}d5r+pY*&UF9RM1k3;gnQ0Hw(NCfVT$J>K z)m7(lz1Xhm>c7acLxQdnjVQXEKrnkKk%D#^E`%|Hta)Gpwd)B|R>RW*4{YR`;M;88 ztGjN%wIZ$N#dt7CHro?&Q9}qa-v-qP$loA;IjCA)QR~V?R|+1sVO;$2^#=q+_q)Z_ z&@2VbG4ScfVD;De&%ygYdq3#+KK*+mN`C~Wf9nw{0wmBMUINgtAeq7Z&2`tm`Vv6? zA@_k_gZ-!M@Sh!E|4y%`-~0TZ80>{Xfz7J)VctpKRu3=u4r(U3R(`CmO_CXl4WzYQ zKW}CseVSW6p5979kabQ#sw=&}RxW>Vk;mcVs?@^A>#su$qs%Jaay#5SE;L5a;&(cI z)5PW~F`BU9UrJ#WnTVG5fA$RJ5LCfZIot8|)utN-v4g{`knt(Giq_|exuEewKsd3{ ziY0O*$iU|AOpL*Pw=<)zWq~)K@?{b;r|qw3hg4lW?s2C7irPCU=6eG_bnK1vV(^K+ zn`Qhes%PC1D1^2-q zC`UK@v!67N`{yh00(Hj%jV$<$s;XlOSE5D3MTtL_|_)@o?=tzaq3?45g~otbzx zh*L+A+gAJeaG^ZIoK~(eV;ILco)hH^3xQLWGauFm`WyFaHGC$7PrTH-@;b3|okuZ& zj%x}MDs`**aN5bx*jqG*;zpCLyg=q86riTjl7W`|WB2%Pdo0OP9zdeScw=X8|-(32z3y3C2Smwk@h z6~4dEsAtT33wvMv_FCoTwF9fJ*@7hlF-jzCO|EBpj1Cgc;dep?Rq zex~`_bG^W}kqwJ!_$H{|IPIG6K}G}C=FyuhR7me063n-PCzD*_)x$Pj)>j!(?KoE; zg$K$8gKq#aZ~YsP>;g6V7p*?M?{p|d!H;|UB{_G>cZ{hQSsGF60J)$H<2Fpqr+*Ht zARGEW1y0{aEcO%nDQ8pFC_|{Z+4O@80HOvc&hN*;lh)w7#x=n=fzD<|n6J;zan)ZT z;UD4QU+4dl`vTkR`uls!cS~+xDsn`fnB#7;Bjs6<>skkeF=F@10<3f^YN?JDdFhEO zEFul&p_Jt1UHEVSt{y&Y#9Ki>kQ1*IZq9u+PMhtygZQTM|KaT2i3#6>ydozqgAqW} zKtxuvJ9EY&rG09O*u28Nmgd_e-ORGD*CQy!>%QGr;k!b6HFt?zWNjt zwV>Pdxjtv9I}l3(b4d#824SgG`w9e!$-^Y*|V5?2jy&)=kYE z2Ga2LVb|8O^rPUjVxG+vhQWXi)8L@V!oo%A+)-|cWYC5asZC7OzQ*M)I9y4{wYeaq zzQG&qCMm_*WM-9zpLvFv%_cp_BiAl;x%8v$VxSaigW}vrs0JsB(1^@tWyPdZNiXt0 zNV7S(u5Z~{Rjj?K+pliA>q!~Wq*=qqEK^kwJ)U3gytSX3I`xQH4EKIFV;8hL8$%g>#=q+flgN5S0b=y+R&BBjjO0v1|mWH@XST3B5Tspx_BRddiSnzDW9yM5{ zB<&UePb&^@#LjvpNSa*X2{6JX!TTWds->EQ-TQ>pCK_dvbgO!k3D!m^KM$wAkWp87 z;t`SoZ<74mV-_LDwU5IL{Sg!lYb)HjPS-19K8%@83-Q`KemZu<f*B| z8zwjCO}@svSYt^~Dhr=5U=+Ff&77{Toj3rVcc`aKaFEl0oP=|fqib1{Ye7hs_wbD< z9OvRMwM4sB(2_XG3Qr%3X`>~5=fsn&%e48t2En~X7xmcH*Ls}T71C; zx0EztXiZ`4-gR)n96&jB@N#9W*_Ivga-H;!r14{((egw1NQtEAUEh|KF9=tv3${H*e?TX&wnhKIm7Gf${Ei*^x|(mXsz zprPCkJoBaKM3=^@?mn5FFTyo9tQn0-2dgT<2JnN@FprtrDe5&C zxm7otS@!^oK4VmVEcr93V6AN&(`smOfyk4_5YaSa?Iw0NZRsO>-jlI*Ts1Udz5#d- z_KtNPnbTAvEa%==SN4`&a%T?n6@Gie zQrE-ikiNn;REn^v}+RJ`cQr?b$)h9>i`7zQeA#oc8K_>_p#zDyM%S_IX3* zI$lgtKy-(7}@t7U~WOD@v;U84Jm9z>gkq)u~(KNRXjmUo0zq zCN0)n9UM*&;<7y1&W#O2C@x#Tdso!;CK#hzpZjY03b9lxVVO>Bot}ffZM**EW+bh; z#@XEad4)T9Z6y4++1YDYU0Dvrl-&&62TT?Ubhh1}?IpqT=H->9y49m`n*%xGmAi@? zH)=p0kq??0VLPnYMBMcvwwaEmfV3K^2@Q*O@X2mkIlwwUS@fu`l0tF;!vl=@GdLf@ zilVtexLIZCZt*hl@~(QZ;rQ6pKfnpG804S*f5-~4aJ0DrHkiLU=q=6tSaAP!{xbpL zpS>T{d)uO2t=&{HJVGCATj- za;aZ8)jUFyCI~hlsGaf5b=>o)FQa^2$VoTXSwqm;vtHH}ygoh^S1R&q`{|?#7Z=Bz zg6V~~**$I*@j)!9MY!v$1M8iW&g6_Gk}yB6Swu8GRbQ>3j85;0QrD>p%dl6D(f4nh zxE_C*vR+KXe8KV$_ib$&czF!5{jq%2yjuOmY#$iap_KZ#4&Q`*(@bq9v5Q z3}5b>dib=H`y-tU(vzH6M@#9_%gk-X9suO9vkKIwUI9XWZP~ivM__-eaV)}jRYr5u zBj!W`CMe?tB6)c5i!rk3^}N>@3(==@Nqi4-77$vYs%?PP+W&@ROMYCp59yoIWFg2= zE3NoeU8uO)a@S$Ha-dI}`)Z`~1e@bKqi-qIfzQZ{I)@Sr6}#aWPcfR6vl1mNoF;(W%vB)gxD+F5PW-H66ST4t~$umusmwDDi?)l{T(;uug)80G>0 zbCUvK4`QTC$hDPOVkN&==yqsqU8BdlN?!=pMh^y*OiKu)icVefipH5uqD(cQT$0CAJh-Zok17 ztVrmb8}Bv%#04$^4#LOiF&wjVFe_oni0*O5kdC7>UxLA{c^W1*MfvxgBFn~fwn?#G z)*B{gvxaIITErZ_)2zb(AhY~;JaW9Z8*R#5jP&szwJqAvJM@s;6R&jbdF&PKv>?~q zJXx9ang{7sTB2?Z2jnI8UGk2jiF@hbu0<~tTLe@;-t2Gb9~CAP*NnT#?ON=LFV}eo zduqpO*qcpvzM50BNQVL9Uwg~YZ;|5UI77gS_ZwT?q0`xeAkpd#Y0w#@*;jQuQHv9` zRX0M1Qol&Ob{;B0;GuQTTz+|l?2iR0{0}dIjoT8{D0kyf_@mXD<)*kP`)~ffFd)Y` z@xiYV*dQW}$oV%FoQpL(X01aKXq!b4@6%(nIt9u%zKcwbzj3_KjWnDHOrd+#<* ziV)ZzP2-&1$e{}vgpPUEv0gf*A8V_KG>@nsba#j7gZXq6|7JF)9oU4Eh^c$#*a?AU_xw*b-z!;7H%1sXp)@ zEcl(wYnb9e(rw@aioL8h7zPH@_~{2WUo_7OI6>P=P0LA3L0-Vb?jx(Qsoi@sR=1D# zz}YY`LT&=UuOH2vj49nd+Sq~x+=QwAIYR*W{pm0p73DvtI9Ur*X(=dEO4vD?QF60# zv9eQ%pi)v&3OSmZ3%rw*{(Cv_Ntnvg$;n=Tjm_27mDTkXtDU0-8wWo>KN~wI8z(0V za0Uz5-PXz2jl~vB{pTkC-bd05Y~pBT?__0XOZjwPRgWXF(@={Zu=}dbg3wj~8)$ry}Aqnrt zJ4x*N%z|mNjsu;kasnq7>yr9u4N>j-_j$+x$N``L*~13J*9wV;-h*ojwx8Z0f8p$b z(lyntL%>Sci-NU7(7fxr6{A7q=djd9@R5Gl>>z2%_sEh`@(M+n(#`)l9PNi9=85&^ zjDL<}8NyyDVz;>%V1+hlc*!|yY^9Q}aDkErKTQe=xtHohpUv)2T`(Hq%8YeMN1=9w{p`nT@6dg;|i$1#-@^ZBlY@m}ua-7c}GdX`L_L64!! z2EOFhb#<5+m#Ij3McW>$`4pEsT>HwNog>y>AuRcz!~dV#+(3Td_(w;2v6P_~d!Hz_$P; z>e_`GpA9jff8r<>u!Ck@Tk9DVbj@vUa4B3MZN@y#_5LuHSBh!y9Oz2sZQF+W5VMVo z@HHr}4>3gFAmtT2%#B%TpCx$OL9*6=EH7Adv6L7p9zTy)?8Am)2AKyVrCHx8TfyIM z|5~UUvs-NR=DS||s{iQ2QqdU|8NRvP&Jjo;(*tM}98W@wW| zx*@Fkb$lZwLn>v3-|z)AL3p=F7^Ka>OpZ(y_B4OM>OZGKW1fV+@-~maYFfM#FL|G# zrP+&0@df6P8=dD6dWw<6^O3j=PKf#)%t=`K$)>2g&PCP7*-zQoFTXKq4(?m6zmb&{ z%aV?o6Z^a~QDE|Lcb%_WU5p##W$(r!C0?LW#O`%vuU4qVu@-2aN)rNe8|t{`mZzBV zRxziLmLF&75+aIo4L71^ie*%wlqTX$l~t}GS7^{6pxg8)D}mzxQXYW5vKVZy7!uhv z*Z^Su7u=s_190EsHk2pM}*Yi>g4Yp~j@^0+6YrW}$gsD!8P}A8R)5C8!dM_gjmY6P~Y2iQMSCa5-z`5wG3C974jh=oh6o zXUkrtHn5o$hps(!ZFn9Fu9fqKlq>M*BBMES@q?tx1wLM4eDsoJL)W95A&L}~=+)k) zSi`<}H_X#uETYR4&`}VsVrXQq4htEq%WY4@s|b4o`d}r}lB0^pMeR$P_Xw2ON8-wP zn4vcaX|GaIVH-LxV&62U26opTUX+JIJO`3CoSG)mio{pDVq6tED)Dx1smkf`n`X-U z25UD{cXiIg4Y$#X+p$?-BpSK{?*oR=4m7lSfh-$D0(<)qGE2rVeL}kLQ=(r_(DZP_ zH2pEuK>>zf@4h=`oImr{_whE3WVpvxpK;@qdVeKVS`w{!#pkr}?oXOlc7vxUpZR4S z!t-$k&mcE$%mH_6y3E9!SO)hx5u17m$m{TPrUjXQ^707WpnuZ=dmZ zw|oSyWs-5E%^jYdK95ez&Ag%qDn8l9Aa+rD9pXRFz`};74_A90jD!0OZ9PqsFUiGV zl~7WM48>dMoIcd?{x?^f|8^RSr?`OyZX*6meYx2`iQp}>zmc(c9}ywGGWL}PLJ($hN`QQmxOp(k1^jn{HJL^&au2dggS<`R1N7Ch8*8ES(@sI1gk0>MBxU0T zHzABhiV{(e zChuF9IiK78=~{4}T+BmK{AssYR;%=7WUsY*aoSSlxZ&!DlXycP{>c)?v_pBvZ7vfp>swnb)6(uaJwGwVN&q-=zsnLj)Fkr?V+2L&9e2Y8is%1A0I1-(T3iL{)YY?{aXW{YqR)+(;?9qAUc|b$3sn}#m@!>4{P!t zA1<3xLNoY&0!cSIEBY6y4bKK=F1lGx=Jr^gNqZ=E4Um7?&3f_XJa&t0^*vFuLMVKm z@6T4dX72XTrM1V1J|Gv{cfjIcid?1Fry`_xqtRq)b#{?^_Uq@Ny%aj>re^h?eC#B# zlLS(FOOD3oP+ANcYYmJ^XQab>$C*ki)<@vc%d0V>ol}OsQ5r=$%U|SJVf$LkMbF1o zwJI&K7ragt=zO$YCIijPwGW#feX6zEPS*R5`(F*E%fyfm&h*mgCKBup;x{@;v8}JJ zQ}hmzkgIfo+U7WLKC}7PzxL_5TK7M*o2l$cDR|_dwHWz>k0>KiwjM9sPdBd9d~UXF zXzrIoD5eRvMc$*FX#yemRPR2J7#07nr0Jo~cPLfZ zM|*XW?RD>BjvQf=7WF(08UgcBn)k(TRz3Iv-@Z5&AM6Cyy=1$_V?*Ej^TaoXP9ste zK(wj@W7j4=2rWR}!5hw0D|b`+t|@31sS3$F=MkUJBEAoH6zJDi`7XBx`;^Vq3iObM zv$FQpTTijN_V4z5j_xx3<#GN&(-zyu2fO+K2({OOPFqWaefbexM~&XMbwXP$UKHME zDw@2LhP7J{Sur9fzQ-Me2Ri4g20?j`08Z)KI8>xEH6ajlpXn$1%QW~jK$*C6bthEe z_J<9ZbsM@mot8vG_h(}--XDc-Oe_f{AjXs7#lm4T&>J>Fcj4#*5UD~T!O;%UlTJO( z1tAz@NwrQ4EVdAM_nq+{#m}gQk6Mr@mNt^@q%RNV^?j)B^oSC9Z|@vnB9Pxq36cDS z*o+b^hdQiw);ikGR-uD82Row41oZ^ef2#S1%DjB}vIg@Or`+&m5qOWJXID{hpUd8$ z5y)lr%zPzO$xv-O9at-LQ}^!Uc3dT=^+axKg2_T{xC5*8td1{}3X1*u4Ia+%yr=2~ zruM%ZHrqUZTeFc3rL!g#}52U7&=xq1o!Y;&NKD=t0{z~_FI$wD~*hNevC zE@kuO;Px48l$|2a1l3`Rt59u>!yC2FeJIHPn*!)y@ue#jqsRmaN}wmOlKEd;-#miS-qB$^n*C;Lsw6Gq4p^q|2O<1}0#YqGAVxl#^Sn^w zQ??R|Q(7czWyrdEKYI!aF0H9`U5;{AM|5Vyc6nl)RRu$pSznx@vcC8E#Gqr38#5gO z6&XvAM?aVa2}vLN_;9NT9ocyUE1NgA3|{6*E)vFazT1>gv204yxEk+FbP`=;uD=*x!fDycZBzIvSW6dxF?7ddG!aLn~1g{j&c=6zg9sE zt`YIG;mNI8Mc%qO-?cF5p|wzilMwIa(lQj-kSn0tU2)bij}|cJpO$%dU$gm5I1l0& zPQqXKu&^t4Q>G0gcSBZn^CyIe`Qs|XiXV5G2>gPq(|{W`hV+KaRW3qQyS#o0alY1Q zcy;+K>$w^l37qMfgZUK-9b_q*8$H!BDRMKa&!2S%YL=dc%0)g^pczw7O?sNH{+U7` z6>KC!Kc$Qq7UbA+{VCkUM+S!-*6k(k>A%#`ULGF$e#jFtB?+B!i#hf1E?rk1OK%dm z*$#OfK_PH+ti=)!m0krngj=nCo)x=~y^yd)LgyHi`*8`}sZRKl^%+`meP^}z0U*|F z40gT#mpcau!{V#8APn?~YAqe>=_^jL-)R+}<`Q|OY>^75KH8=vCgSQzgj0;3dHma3TnQt`q-Qk5BfM`+QBa^UtuxiB9}7n z&_!mezX+sB5+Da8>F(HcMiMPKTH^UMJwDXy-s}Nj23`}(eKm@=`InQR%N}yB_@jvT zP0cTl+5@(!ZT(8iSiHk`&q(>$b$_UNjow_|?3SzodC+AgHrBT3-X(tXDcZYp*;c{t zWy_)@z%akNivy;{Q%?H!9E9g)(rH?v=p|&o;0_C$|Dv3gwKIC6qS42pZJcYcMTmKIXx~9qFxONjj>F)bl_|9`A?Ob z_4Pw*%n#S&4Wnzpn*zq&FsL;UNz$qPd!TX00H!w0ZQ<;P@Q| z!B|S`$CjIqVjMYyeQ!Vf=N!JC-_y zQV8JpBeh@)~(jp(T(Wk9Qf*d%FtmoZrK+yYa2hW$^c8l`8lo!&~wf#1N+o6z)>G8OW z!WOF&0Q$r7%uxzSTn>RkmJ>|W_gD;Dmh)NMF;ouQqd5mPa`CJ+N3CcryH#=&of8F` zf{(@e^#YG!xOC(yufr9?ngJ zjzA0c??RBo?vB7`V{?dxMU|Qa*#3d^@?hetE|iL={KUQauuAc04~nApvO*AgygN;y z%yRSGNVJ%I1YzHD zyeXj6KXT$69OIEv1eRg!B8cf zmK@&{P;8>Dg#^S*N}`Hi5Z>J`K1Od0BwK7`Y;QTU8qWri0ZYZ$RjyF%&rAeDx}x8E z0PB57Bn-kaFld5Azry_tXGeN-3ZedVeJrq1G|<{I<+l3U;p!Wjb}^)|JvGNR907{p!bcFe2M^m zj;XNeAiCS6wnc5uRx}Nn!q7#q1n^dt?W^?u%w9?=JsWrDG@HqQ?a!egbsYzQ1zATVhyW;?G>F z1pUJFD@q!(M|q$eQ?p3Nlr8qdTk&SkbG+^#`rZ{&4yj73Kr2fO<2(HVDuj zXKT32?Xj+$mUF)X&5~#Ur}}r@-<2Jqz zL866eJBZWr|GV0?aMEGs#?fSBN5RqP{8F!(uJ4{>d6Ek6;WEwm8~Qu9!Rp6G9q)P* zV)+rvK%+ZG!Y^CV*o*)L(pF(1M&t$=NOyvO9H?LUahBjoEZ0qoXL5x&bP`#P<)T{_ z?M@bv_&i)&C|B-Jm%-_cxdM9ZRiEKQ0Kngtv%e}nv6WX5nVD>35*Xt#8nQgFPcj#v zMM@TEymM8m5iC=f23GKMp6XWA_kX8*vR`QZm7w3adS-b0NqnP>q`n;gpt8qI0I|L{ zvrn7kOO5!Q@OSdMRB^4SUFyy}Qwu<5R@~#rXbD6zS?i89dS%n#an9~@=T`b7&ibNQ zyQ0(k!+5?w09TLzB;BaH8vifICDE}w}vwmpS=@Wa9fSK0@B5kYXJdt1mGhtB!Ar1 z++5mGO!R^``-()wiw}S!fv1ClLsBT`w&w=cT~acXnFy2={d44sc5b%E;RhGmgMXGT zmIi!gxujO~dZyGcVVcQN8p;x7R7v9vYW2KJGH$@$ZZ&|!#tXG^0nvhpRuQswbFFg4 zqFw$HOo?1V!fxbu%Vjm%&P@VvP_p&Dc-MRQ-VR8;dRhS1^*`MaXo8Ma->pTPYA5Yag&%j`#i- z$p~O|9>#xsR~m9YjFM=AtXSR6T~;=aeCcW-M?pbx+y6DCm)2b8yj%C+6>s3dQ0KHA z0Ei{EA|5v7W=$=+wzVDFNKak>z%N_1(fFhKimDfObQ*qY6z$}?)!rV|>%*!Y9ZSYw zlJfbfWJxarYt-3Y=ytE7SaiA6xNR7KME!2HQ_Zi@lEvCl#Jr8HW_$p}WTebQ=F)$m??U!Gl?M(DJhd1n%_W_aP0{6r9Kl~@0%pV$B3vKW5?6B&0I~$Qn znKo$><(VDLlyL<*kO?>#gG=J#vLjt8t&o#og@($7y48^^8H*e6F!KF2 zlt4__9DLe_DY_>D3HTJf@?}y6ye#*R(p|c@cXKgoSC3J4SN=rT6NKE$UquwiuCe{> zV{0P4zr7rS20nXb@s~b`E#fbW1+-e9ZVV_oxd#*Wb^BB7T@v;>BqbPiU7FHAF1dLO zo;kOd+-!?Lo|nllYml$2;oSlvK5Ff|oVN$!OZ*frNww;vJE_!33m&^HQ@)wn73NQh zASXg*ZksR#{rv8)!8V>hlTGKjEdUSd59EW2z6y+Sc5$ANxj&^ekanL|($0~m3~*2TK#^u*UwbW`2Y$I9I2vEp%`lY_b>v7_YVKu6$?$ z7AkpTLUUms|Azc_tYM0)I?Rx8{7%7;^L4suj>Fb&QNBeJ{wc>@O2SkC(adt|QpgF= zFxUc<`s2#F{iStrEuxah^~)#0hwf~;>kxPuu37&4R0#u(T-am1)y8dzgalrvM1zTA z4Y>A*U1i`up^u&)UTtryac!LWG6@eUBi<9;R9z&IN=84sshV05W`{6N;g{Z0Qh+jx z_nlO8ZRB*2To-n;9&T(jnhp59eCG()))3gmYr@1X;k5EE^7=*(x*;F-4*RJmqW0-f zUBE8>rnpfpAB_*?oV*{_+)U%R_*U4OUBp)FE{?e1WuG` z%=_U>{l(a2`nv!*n@i=mG>lI;D4Wn@FXg~sQVN}OwCFalrxDficB#NWbr>hol;eWp z3(PWl%yu!4jk^RBQ1{bP zPrFZb7CH~IvyZjvd2%o`BJg-#3z!8`zTRR`hw&14wfUca%P6kJD6`#g$_VcW84IB8 zD9-xyqHz+7`YpGRR<4w#E1{w7B<1r7r%HZjAeP%2tu;N~AKJ`kaT%x_f(s;6;)_a8 zV`R~cj3uh>{=V!r>~yUY0iE-Ut4lGDcz*2e(|0HFOLF#`#FwRy>=!*0Qj}z?@!y;H z3?b4zrv@D}0SIWNUe}JiuQ~urUZu&$`-vu=>u-L^g>=OQ5-^O{$U}w=Oeg{a_V>r~h`hz;Og|W@`Zmctpx~ z$4N*OUc>0AHuH7dfDubj?tVQq&LUcZ(r9s==;9#P$L!a!AFb{F*AQSvhL3nbz$o>A z(L+(>8*&%&c}FgIF}}et{gc#nHp!PevTvgJJ|FP!Ug58en^Vg~JHuehMxjT`@#_v0MY?J*tK1DBggg}zES)h`?#u(o>!1d}w$DXe`X>~CR`X*`UY$-Q}41L-EFX|)JH8v+kt-z_pmAY z*wP+`dwkS}S$}Geqp!0;&4}wy4sfWWT;1<~X5P{jN)Qf@JHDfPRQ%LCasj6&I9`tn zt~@&5pPh=@%AvgN5`FLoYy~_>=K2!=8>rJm_E)ITTMoCLANyrBhG>!MPRoZC)R#Sy z7Vrb`CZ44H2nlP$QWMg9_Q-8zp`X*E-bc<-4&*zj_)>s?qV)d?D0|33UrU$OSO9y< zCCi;ZQ9A}kXG=p3{X^}r!xLlrmPLKZ=0on94RFD#3Fz(X`?@J^#;GZR(o~yq}$vg zT0leepkb=^EBkLtqPA>4DV=Ayep2C!oPQ_L%3HBu6_q%{zTrG23W(Q9PceOqhCt_t zTO^iO;bz?w-vStwZjeq^j(RMwdo9&R?_ppUI^}-fw#*0V)0p-G5E_p|-w;sM_Fkg7 z5TRp31OJV9+xGPm{ZfDvo}#eFnSGk_br5cZ^15o%$~#3CJMja+l>g&x`@dIsy5{Br z-))(C|2o}mg>E`l!ogTYua~I5hH_Bia)UV(!u*dUA;v+~oXawpWe$`I`oqA6)A8IQ z`pT=}57D*58y!RKG(G@{6d=+?Br|DNwah6U*kAOx{T1)gD0SsVpJcxeG|$W!m^r>P zzrg2!)p~84t=G}SpPB$nUIM(khl#b+1nYj@Wrn`SJ& z@QG=iV6?ns-c1E;;6Dn07(DJ0nl*rx6pv_Le(Q?=>g&Ws?sX*oMCz72@&XajUw1{5 zy)tydj_mu%3g7x>%?%+ToRnu`)G9$RR-sgE%*y0>v9V0O^w?-a`BTuP4!#a#c<}<3 zgM)*ZhWSEgu#{dNo3NGHPs$69*%Rnrc&c9`d+poS%dd@{U82mL>r;y%9IhgthD2_k z#p}BydWJc^VF62vp=^P(Hl==9@YCDSUpXD(`x=M>wMT;YXKghLX94%%f>pp}-qN60 z4u2Vlgo(I`o_)IUefB&Un?TWwA@XJ;4$!*5StiE7tdoR?^VWxUb{gv}PS zm93$irL7?@MZRTtwIZE~j$>OV5iwTLOCVgV0*D-*E@$KXgZ8tIo@8lb@(@*R)QW|S z6HeIY;o(o50gD5ke#>%wN$#X-*0v3ZHhS|i=!c(FLl7hv0g4Mr3u_8>XFgF=@g}EV zqDN4bG!nj^(42(9L(PtzWk%DTwG1hr|t4@3Y_6^GLvbM5&; zldqfsI;h)aof5k3WhyZOOzL85xUrhGFLDqVuk#7b`I#1gb+@i`L~y)sM+P)gwpXHY zN=OyLQ&F0~c)1qY0&i>Wt(YO=F0V~Hx2FCl zw#K{8j>F+HIC77p7iZt%PpnJsNuI2A&)Q&J-&{Q=3x5Pfv7$F0kk0ycp1VF=kd#{C zVo_kq`qt=>2`o8cs|<$0;DL#G4(21`^ArN*kwgI?woJ4^HbxkN20h&R-zKXo`94gXgLE(gw?^At=rE zO%fU+z%n>VfiaY={C#9rYJN|9$L9Kfez0fpfdgOY)r}R$>J={rnrR@xjSmx0yH0} zHPWj>dj0$pLNoVpPCFnrzgaxt0ZFG1qrgY9!zK@uf4Ana_|2;JQv)ebsR=nAGJ%`- zY%9{zkl1BUKk(%E9E+OmJPyzRJos7Kj_A?@6y=CnUT>+DU9GQi`K&UkH!IQSIlK;D z-{{)4oLB97@VU*lN~Agiib(06DnBai78lO9XUj}NNPhIym;n} zLqm@6mkI+zl`Jez+(t|b8~N@A6VK}SMbx+}^{!9q+(g+Z3nL4%-(19#jN4qHYQQY2*)XBW)W{9eD*$;mzF|?)# z27DeQ4ghui<1c?xc{!LSx`-lmF_ne?8DtL#dc}(r2&O;`3I_^Zr!yzVD2q37F9 z5a$Q_y@dv}{hfHJ0@`(lr6rduZ?mJTGj})R86l{PkBPmSMJ05rpU5AI)g3YHprk4y zstOp}#VLFaR0lv^joMGOp8el8x82k+OAA2#Qx>@1^)Q;mwx%Tt(cGKQ%>=M12E#RT z<%ujuofAYYCVIFBpW)%CEtjTWtU%UZ~su)yeN3I`3E*ZMBRV2n=QMqbBEZ|YRR6kRWVPV9%5_?%9H&-Bmp=6U zpe^GyX+xiguagezuR#YTQGs(X9TACL0`J`JP(DQNGetDcBuYBJ?*>ct+{z6xXY?hp zoz62fq^^@-liKirD3s>RbX#|T2rDnakB;%TR17(LrHQx_U4*9BA8uckI`>r996ltg zH0V&7Gv6Y_d-1^LtKgHc)jbOfYmR3ye9==)k|&eGN>y5C`5Mcm_?K;kfvQc|@B(+-;fHthwTO$gcHdXXjQ_LaGQMNtsmK z_S-g%M-8=jQLr>69cbB9;l1`1%0X7V>Tl`^QOJR|$|As<;reMa?{z-`S9!4x3K>R6Z&g+^DOdY8c8JTxbJu}@At74*sRiAT2G@v35-zmcNjyyz1vEkc>(R%rMF(k>%6RCu8Zy@)Po{~a@8Lt zytiLcZ00tFN|lQenPtie#%?0Icgr!w`8H}{zz<^i`e&K2M0BuS!&efiTrR&e!OvxE zhOVoM#!c)FokCh2Pd2#?y4)7H8oCzTmhDLg&6sRNfI^4lnsq>_6l=t`XUmUlRNCdS zY2mHVH1>RJwEY8cAm9Op+G>GDXma%^(mLDrX(e+|-^{*?!0Y=1chXH#rmk9bbA%kN z|HUncK-BPrG+hlL-3izIRc_zxD6{{yOWRx7*NkpXX$?BCa#}7;%1k}*U1<1po{Tbr zst#G6cGu%dW5ew81)`TbgkDj+(d5>8gP2!9+^bcW;^U>v%jO5)GwFDJ$dtw6~3ij(;y2p3Z1*YwGXhgTMLHloZbI7jP z8+98Ii)P}w?h+EG*Ogj@uC1wj)z@NHhUf+wr>{9muWhh>+x+StVc+v{RBD4B$I%&E z2-jI7PZ-xuh}rBYG06nhf(Tfa_1faUimQ5!lzGD6S0+o=I<9lFxD?7cI+p8_1$99` zF$D~}-}8@DD8AeW1@b%6`CVl#$bGGa9s3eaN6O@!fz9_0`Nr(Ja{lBu zLz?~xoGINqGgJ2^8A*+@(J{BBz<lN{j5KN=n7RzS|?6|H~9|D^&iNn1) zW=rYUEyh2iWFSeW1oWzWzvcmJNbcQ$rXBJMV`;)@^-#yXutJNd>CEqOkvAMEm%Isx zf;Sl$W;;gXs0ga)`IWw!jrI1@y=Yq@a7!H>rHA2-Ff@9@(bcO#CMfQ(X;tEYphs;a8pA>WrF7#qcT1r#rbKbZ!LzK_CRzI=h;Kj|B; zBdu?otlWRy#X@;upZB;f?%2YI6Tu#e9-`njHe2PrQ7z&tR`A&Gut@hw`EYU~99fwU zXQ^BZBG5k}(eG^@=#~v2 zFQ;M3QLYZ^4_yfO4BixwvG@b~C0>8j-Z%mZt~-ETAoEELzIVq+lg0WGfWyS!as?Qi zHD)-1&O2+9=j)e|R>G(KuWGh3BZf01kO0%`)f8xCrh7uRxMl@4(exhXNfT$*E^kK} z&|_m>YhLoy=>8p|?gIF%J1$zrK)&h@^V7V$KlFWUbKgwa%uF4>eyQgntu#(>EVKEQ z!QlPcS4LkJvsjP1=3inghDFV_HWjpP1Q~?-*!icBy}mc0T4pv!A*-gzb0}_UJ!0}{ zXANjVCbjxRWMpiUd=K5-qFv=~w_7S(l^-ThNg*xf%Yb`q1Z>+VHY6|duRIwk+ja#E z+jRWTeb9#ci&;LPKjIM!0At!|m5w2g0>E+awdZbOSLIb%?G?bF#Wn|1^y>f+*9n-@ zTZLctRP!D5jj(N7b4aB^DPLLd!X<>YVgNlu)&wO!R!S9k-(627t{g6h*tI>1xXZ;k zM6@WoJA90#WuDQ}$S!K``axl0aige7^XqIRcT*G!+c+kFObxuD7i-BU$#_J7|DY{a?yc=x21n|$>uV6?4L9)wl zQm+Yh&D!0=`a={T)Xp)66uE7?jIO2zMm))n1_mK)``8E z=O7$s4Sf!}k>3#^WmL@grLa-&wH7O*=dj?uNd`Ti)GbbopA^zLpC-N|izRK}3-!#Qb zpsF%Cj9;oBSad1w=y?vtW2^{c+*5jAx6@Qp_(5(!(Yoy#+o}-2AM^FJ5p}})wuuR~ zx|4wf`a<(QbWa|J+`nDuY0e>m1T3__aLFhnHQ=e36;QuTDp)baXmW{K!6Mo33WyRM zHomK_f!b2vokpsb)tr&a%V`HxHCAnr%o85lvWJXs91$4le!7aVewpR97(3Fa4=$!H zBAu~?fSJ)aK*kb&aBMubbD`n*Om#5?k)UXAI1*mlLWAEIq?9XwX+M(wA5GRF$|+uBVcsQ3k$wvcc6%v ziFYPmq1(pAyh&6CFPYmqjz7`KUPp+R&<7rHNIfWQ7YObVaJ?d+hQ#;p;s5w`Co#Zk z0M^*Doo_w*<9&(NZo9s{j$vZc9<%G-WtX6_W(khHSY`Fg^n~%b@%bA;qMz*(0@>=B%s<)H;!0Z78#h~v@nstU6kY{60MSs^ylt(A1T2zyTi;+XQ zECk2ZI9W1}2$u`q)T6!X(ua??I82i^otRmy(q60c32_f_@778nC8Wf+#1Y8fc2!NC zgIR`P>M0ORX8{-H#_@gAVWGBc{>`_ZL&;XIWdIXK?ptUa=n<3)+}(2BJoG`Wsz^=TG$RU(j# z4kbhmtUD-VQjqz61aIEm$>+&A8P*CRPI_zrI zw<>|49EHG#XeB1`MBaF0MNQB~oS+Urk>aW+>P^`cT@i@0@NN#Gc$n`Cy(c#CI+o)7$}gh? zltl%8wQ&4FszA+KN?;DaH*sm&g@6ARzzB+)Zxow$Eo?=+jZAR3daNToQG;S(*bZkz zd)-Gt`^$E1Sqc9B2RXw#6$gQ;+&!7Re8ny72{?}OAOf>gwry)l_d4cHS~~SLB>nHP zj?Hf@_4D_H66%NzXXRsQIDjBtl zj)^hG7hE>=$iGldAl#{%XKd8WzuCeYU*_ZSKttxv7 ztJh@ix=mR-Zs_gjk&qr0&k_Eg5&0s$g3)LAat7SmZM+|GmBkDF);-PeD1)v{LYZyZ znC2zo@Onb&>Q9G4`oAUXpZ!qo4>x;avO$zsZ^yS?^)44&vu}cBe~LAnc@H#@6Iy;U zhPbt(isAbLzF*fQWyCnsel zz?k@5raclG`uH2?VSq;rd~W5Q9gLxz@2W|8%or!O*W!JuEDVHYnR%h;Q+aI`wLmap zGlO2^2Q~35sd@LFweS`XbB-Y=Lp7Ah!ZwdUIB^if$zKe{bALbI6-I|R_)E!XslQ5k z2^n;Ax3fUvAEQ-@b}mTe30+a96DGg)VzQgroKBA<MdqbyL`dL#up0;UPAa&>ZA#X+?!8H< zwy>OJ+kW3QhLpTw_f7uLzLD$J{@^9PTVJ*k7LvF9y#(vWR}L$Z)ki`U&lM|sLS%hM z*jX;nNddVByKVK{7;TEgZk-b(B`((FYjv`Fdmkgxg|L|#@%1(}D1@R0AE|Gu)sLuY zX=A_MVe_+()^lE@ic#~duo9F{(wI_KihFya$cq=p<=L}2qjOB$p+D#b8b;&eU$d=J z2z6wED;Em5mD;#5H2FSbKfKTUJkmNkAQ7DT3F%#F5q9@?KanBgu+2BO7=o};q9PhO znOVxLB0Rgtc#jecR@1JOG-ENxD{}F#x2H{fX{?F(WMfx8$w3|V7j8HMyn)I?+vr9^ zpKFAtjle8wHb3gFRwCwaBh9kc5B94UU5X6#a1H?S;p9E9*@H*j!Z7LEGDK*;e(kPk(uVk_5JRx9)t4iDbVMtRV~#AcK?jM5A~aP zY$oz#@9h9|`a27yn(&pVCNOwJ)&L`u{QY)lpG>@7K)GAtBu*Azey`Al;JEh)8$m z3?)dHgrt&6w{(MaDIguv-2)86d(qGLx8Akp?>qNC=bR_^-ltF@^JvSdC$(nAe9Cht zb@#)%TC90Du`pNb`74%FYx8-4tB<%=e|;fGB};-zwQO0G6WFwOSqrcuuMXEl+8yR< zJDF0A*1Ckg@-N#ExdUmC$NR+9?(iW!**5mI;5`*dg9%o|Y>Tpd=XYQnq`kGm=0cS9 z%=V{q|3alrS_oTRF9&}vJ}#^E&i5@A?EtLLWabIIRrd=RQE%?ArLFHCLSA#jZJz ze0pX*UthMj+2cipN@LZXyMC2iX1Jg=>oScaf;F3olGJbym%$Sc1rWCV7s!7+GF?JA zZK+fggA|7tjMZ!!JHSgsmP@Ecbz&^EfEdBRF{yHKJ>=l5-}|Pr1UBWS+I4`wa&{Lx?yoed%?`sW@^u0Q-i#4lonDg_$xVZDz#@g=i z#bYwBM3J88t`iajXIS35(3cpIeu1 zO%w0*v_^@Qql0BhRn6pis9K#68gJ3`TWfl;fpy%qldRy$Y90$mM4R;QWs*N&x5Pdh zojAqCEkY_WsQY&Iu5p%QzC@3^a*W!rMFO^hJY%fL=`$yJ1oTS!n~&P|HoFT7Vn=F; z-p7fZM%YmlGR1>WOkR^e=pUpX$vPp1a{B~I-05G#@q&=OcJu7D|`Q|RsQcnmqPWn^FjlCA$|2&Q1J+F1scz%N~ z(oh@{%2%B$)^j>uD^_1CiuvpD;D8|^8417idpDF%wwW+3Y|{d$2V+NaiUe=g59~hS zirhR*x!#;}r>@^tRyph3iB6Hf#FsHp+6lc!5rOhsR${rA>)ayl%F}W%3XiH1?G#!HT<{pr1jWb5c4fswd-^woT6rP zOI|Qj1d=IEEs}k5p}tyOPb!A-Skm0uIX@aBa}&{J!BM}b{fqT)7shE=eXr1Gen`bx z^-Ow2k=^81WZPX8sLEzVNVI28ffcIc<>^_u8McISa$4SMRM5PInRftO@Z+j7f(JT$ zV9SSN-l5Gu3Fi`x6eLvYw8oDlr^RotClb9T6We-jU-4q%CRQ-->EGleD&ja7$?Wl%m-kMzG_hUlPG;gs z(^taiS@w|z!?(UE$Y+-MPSp`YJ6Bs#XUsVT=r*7Q4%IHB(K5xPeFhDYW-AdwNIL62 z-91KVHS>nfkBw(0Cdxy?2i8^VpDrHcD7Zd?=-KAB)h8Mp7e#=yj*6eoRVhd^Pr-JunHpIH>9(4_cFlqTwTwjO#oJB{GGUKeRiw z-%4gK)UdZ1HPJ9iqy_5?E zp#trDnDDZ=Ij^M{g59nMv`Ht2#F{aFe!sq}zewqijgcb5Uy(*7(ym21&5I4BiW&N9 zDlHt@rV%U6lRWhz5l4%+H!#eqCPNmZA5K2HW7$&9+LI#)5hXEq{3qvi{Q`PFz5{!u zf8MV&Y?u_?SJu1|_0?^n*-o}65;a%seqFm9`T`j~tLMwU1~1@!VvF?2%>%D}co1?d z2#q@ExgzGhD&05aS9DR+efL2${Zx9cna*J-$jtHg{Ri;)o(jyzX4XZ55QBxF`!zd- zfc1*)4}>?IW;cA}JW#T30jEfIZ14P&27>?Ha0dXqSVSUJ4Pgueu!FmscT@h)#8soV zmd;xc6b+S^28UgP+?i**AhJ=f{=s)Bk(faH_E(s)uEpV?INzcSaee`nR7oN6#zxZn zt4*%nIyXJ@iN>uw?U5`Py$3Uz+@qJR#Z9l23B2t$%UqgO4mko4Y*BS|@859IvFY4f zuEhtcq_0(&O8yA7ihpg3+oC^f9 zLIV4R8PT@REZoWiw`_cV!qZX&4;CiR-V<-SsBN$h^Mxv#0BzO{HGSb|DPE>rZZHW1 zK#0RU9Iy;(9it8=my0a&CX2P6QhY_6&Zg>uYUDFNF#jr{A2FqVmS^`lvm#ijMN0mf zEM2Jny}-_-3lu%zI&s7Ad3V3lYUHfwq}9T1W80@BvR6#dk7iBU5LsoR9_)qV z3vEhzrmqjbzWXi`Y;-k~Xqy*P%z}{}ryIy? zas491(I$?5j2cKNEx})q67g=IJpD2|ObN%-b1B$ZGr6VvW;)x=6$<`@T8U3*NFtY; zPp~pqXtYQttGn;Lb-&bItjv|t*xI-Dr;TN`a|iq6e7CGv%o0p-sno@lzT?yY5uLjc z`D}732NTT3FjdO6B>fOKAYE`#v;H|ZZ+tx$_w_5RqZUGpB2>*3XZP4uin#vGXeoO9 z6>Ht{cbyVWM32)Yga5q#>Bjj!doLT|I~?FRno({-N+nq&w40L(i{4W;t@st-Xk$$+ zP%ijaQA)spoAAh^bG38Jml{C&T$!{3ooPYL%Lk4~;<(s?VyF|K(+5K~`y~kOSAt?M z$tzCnOH_@Hq%~0Zz1dx_6GX(EjqWp*;3oGM*hsWoEj8$;d?(v@%a!WN8i&xl)4$9C%!WT4LhZbP;W4O;w;YsKz(#l<}YR{ z&1J*@i4(qqKPFbFS`%(mit`1iD$uK9yP0x6)#717Hnk&5kd+}vq9910!!e0?5+f8H z^gOTf+A6LEiDkq94PwNwD`*|@{ukvBgTk+A4YrT6vm3CIxP)m3Vp8dz9?-pqp?y)( zHj8Ep78hC`q-2SEdHl1AOCBvMi6DFwJX@rmo32+D$OXVGa-A`qr7g-! z&C6i`fj!ORNCoL#RV5>k*1FOI^D(>VKv6r?H$yI;QU$c57enNJtySLU;&BfzLm}s4 z9ex5D(P^$z&CCcMeNlE7eY;5ZRd}YJyd%4AG3b^&~9`X zi%Luas<|O1*@2Jrhb||GsUpz~^gN&gFc@;zoB+)j*xq)@L~gf+``!d;!JVJWtEfJO zxWy=};$W-y(=S@i8_h!;dl&hG@~>7a#7WxHY}b+|hKE`O7^9wQ!t-q$1|FMDF++7F zJc#_NV~gF?SO*g#WnwIVO^$-1qCf<4AF7tZ@DB7PRk%rckk07MMB=2ezg&F6aFFT7 z-E-f1CDFIUi$z(_(e<@;?v0iIV~JDs&cf|Spp(=#yta|C&UPORxLjD1|{%X3r;m`o)WrUZbGP1?)m4I^| zALmB%qQQmHc`K`9XOe1I7_t4mC1XbOJpK6WG0=kn#v@74XRB7ATIQAiprL3WMAFZ~ za$-Bd)iAHN&X^g~P|?E{;twC$87v2l7S1m0b1y{Pzfy#Y>|DIfcXH~vep~(S^_vA2 z1H6xKed;NymE@Dp*QY*w5?%@U0^|!TC;iBcF*J{yBhfA|w4zMqgzf)hA)!7HJ3F20 zv}2^Im{y1(*!TJ$!uGE6tnR1A^ZW3%OAIKQFAw^ckZrurzm&7i2U6M=>B!%2OH`L; zs0?$=;Xb2HQT#NPtOk{l9k&$Vs~kvOi}e#pPXSf5vE>C>K(Q^E@OK2Q*SMj5^$%DK zD$t#|p|dbiPBMVw&GEBjdIm;S>tII&zWz=Hu@{R#NuM7(Qh)IgtDw^5ie`b|LxRiZ zH)_Bq!A{zzQ<~gO)N8$iTk=iYlA6#ezGc(>%IF}PS8rc)&?qWO{fho-_H$6sHkk~Y zAA$Nctg^$-njFA10o|RJ`*ntN$d-oyxET_VJ$HNfH#nlw_~Q%R?(YY{ z$>e);X85eV066di%?K+Dz-~x)+NYBR9Ww(4rS*r=zsDty{yo*!v2>8(;<`s6WaK4T zSit!rriabi#CY>!{^AjQ&!7vkqHH$*`k2~;usHYfL^-J~kpCT0cQ|^ATgLN8u$w&& zjHOQMrS(#>fBfMeUf^kz%&?!Ipf&ol2?P-eV3QL;#|6so@Ka6e<+CR(RUS-DsdFC| zFTU_{UZC%HIwq@DgsRPxMr=0=@c@&vfm0_TcYee{lX!V;CZ^2JMzH7FK~@_idEbaJHkRF4Td`0P$8?y*?T7 z#0pCePV`OL7Z))w?_(rGYGAa1A^KoM59R;dC;<7bPVtFA-M(8{oaOI)r6 zT|~O{%0fV<^M7egSXofSG3R-7H;)WJ8u8XDRglZ2!z_l)H?k}C@9t635nnVD?zRmdXVC=K&hz>)@LeLc*Nq>&!=}h%1TwDYM+~b#|6V zTm9bdB3GsljaERECy0U3jHH9({8Ve{VG5EUE!Df60J?$JCU#M@UzYfgY)&OblVIst00*Cdj4=Pnif3EsbU8BZDrk}QVSPTpH;Ht2~2MjAvc z!wsFM5vmGCevjccUzTBnRfADdYZ3dur@meNwgR=w)1sCqZ!Rl+tnRPk2aeD~bTI_9 zR=O{z^*f`b5CplaTuRLE5Eds#))UplOJr90~U6Jj)ikF2Fa1V>)|CD{|vJ+NXh zW)h!+WmTm_#k5k(jG8gk@3)Wv0;doTwFrjc6|)6gblKddQD!@e=sbEimaC1c8Y(XU ze?}Y3ec_pF&u#-&Lz`AM?cC%9|I$qGIvsfZYpQUSgZ4ije-IC|8JH*9DVBKTp$|k1 zQL$J})B*AVZnT*1WDXfG88^lQhhNta$GPtXv5k;?aZUHMW`wv0R-Iq3^gJL?W2#+J%8?jT@<6;1f z1qqv_kFf!5=R_*T&FBL*CqfMfEVISl$+08$o$eXAo*YvHmjVbt-l}%b;5hTFSGg>W zE%DPp^6kyO(qI3*^v|tzWj{dD+GTa67@h4=z#-y7j5XHZomedFY-P2}w2?(G9c9mS z(KSj8u%A3hmI-Tp^K0G}4<0T%b@d1d~(Z30Qr>@U6a18h5Am3sW5OpS10qH>iGi4!xbv+sz$EOnF%X z=-KvZu=nv#SZZ2fY(K;TFWQm`+KC{1@gd~_w;f6}q){I6LyeCpnM(qDP`d2@Q$g;{ zh60G9JI-3H2NKAgb5nVgv3fe+4LXEmA8h#Dnv4YGB8B;>eEqqqQa=j zgWf1h^_nUvVP*U8n$Ff)@B(UO$ndM`nzu@+u4#2wJh(J!y-z2KepoM$MtmEmMZ5#J z>ld$9hHN@K-k_=|4Sti9HEVPQo%9zhu)dDhzbExIx`X}zsEp1#sZ{a z_lUbR0Y7rKtZ@RXbL#i5mg^eqRcwccnk1?K{>W<|U*LRZpz>I@yP*c_crv8p?g|y7 zb_Xe%oKQ$tnQqMfX#*1BgPYRW$4o=z*(3S%4>_4TOQ3PmU|8y<1$iCTt%+G|l*i}E zRP@H-RE@(#kn-v$1Y5H?gZ{Z%X;3+3j{ceMkL~5Yn3`R`0VV(y^Lk5+FUr)D#uFI- z0WRYON-5@dltq;irMCoTrjm$Hi}e;Pg~P@nKetaKKCp$&eL&YNdL=OUM7>M+gWhNN z-MEOw3lV39PXO|SV2>8vbG-GsP#)1Z}gNYzU zGhW>{7vI+}MXM~gXrA;W_hs+0SGDfEqEbtb+-x(%XI#93TQ(^}+OMU8OYese+;Hu9 zf_8NY%;9uo_y#v1L4TX+Y@wSCXSQ80kJp6V7Q`PgRuVL61;4 zHuu`|B%5}W#LcP1!H$1VIOr~YJ$trVp>LYvo>aJe2_Ht+Hd_uOSL`!Qf31=Z}XO! zhWoS3q)Bv^9>x1Mw2{?Y7v|$y6&U=pe_P^5aWuREGL%H#MQl6!fV-}nHp5lG5 zfnn`i;y{yxP+W0&xJy`l^xsD zZ0s@2G7K-rRBcxf>3iVOLSs#L=<+{HOeCi4U@W?&Ck)Mmy_*?$#^aoz(T8CRBD`-QX_wM|vjR&^_+Xlw@kD>wwwmefi`!vjjs|~KU7g>*P#>NC)zPrV(9v~Q)iT!JVxx4+Kj!KT)E z$|{J5{>wXaq}uv5cb))(L1PwxgwywxVC=WVrJy&gm?~AD8&&~EYgg&(nzy41 zSPII@-GF|RW}~a+qxx0?Aer<>6YgII^p}q>AojO{I3HL8 zRtq4wOG;=}2CZ=aqJO=nQ3O}}`GF?fGmrqn zzH!ZVUmYP?1wZ+{QS_!43R^$xcO!)ObUL^^nB5EvhYaB@&n#U9JYo0%u+ooXa7i5f zSy|5kL5>viXUxoK%l>DN=IR|XcKU_vDYC_U_`d0-{vz!;`4k$8a%IN5kV)_(1}b4^ zr&rNu;nWh69U!0k%AIO@+VBJ0$LC+*(y!YbbRWT-W}}O@+R+fc9@DwFkrE<=fgs%a zzZVDmk%rzoL9RDQ0Uoyw!a;8JY8lcWPhTzeF0?6v7|J#ZGz*afw|{c~tih+G^a~A( z!z0WHzg4_10eI_8&Jx=4%Iw-Vo1{J{#mlhaD!g4CZn5yME)%Q`7MK)XvGQ-$lmvXt zah-3?(|pCcPZ(g@0ih;+UQ zGzX;S&$0{h^Bn8Gnp8U=L1}jKCS6x%LC-XRiQRg{eN|oT1O-rLJAj7> zvfa4TQaNtPbttdg&x_(Aef_o<1L3b}<;LdF@jYsdgho(vOi1>TH1`!(_0h!e+D7+% z(kB#+j0~Q|pu-6MqMfjG%f(@T#D6BaHEObi6a~iq&VOb+>vOfJx4F37c(!yk>Tt7` z`{H8W|7i$i13Ut< zU#(9OilP8T2~3B2oNrI|L9UCB7Z}&Xp!I{QzwQCk#{m)_d5THQ%uD6QqRFYLl=Q`$ zqeDadOXQ1J+>q-i8@%G3TM~*}sfMlT05XMK5pbvF+ttKhKL(fICxkRBe^%-`3(#ZW zV#H+Wi-U?TJ-W|;gxR&>T>2xfrHqVnvvRVNv)gya`C|UQMgp`IeecyhgD?Qks$Js* z#Q61$nX*3ybO~=oq!zFN*vUS*#wS4(gq4Cc;uFD4CCBTVe6{vJ$(yl)jC0BgWss%Js=#)LhxHhTyDRa0=DU80p{Vq7=Asle1qQIH#;W{@ zSMm2oNz8a8%=iv&d_YR5*a@i$e4k)FVTyjSriGZVl5qhDHV|)#CyFysEgOkAJNAEX2@Jppma`K8`Xq*X>Ne-Nu7K z=?jawcB&&8(G;ps6(^ihzT+b^zpu5KA&{H|CO%k4lfle%IBs%BX1A6IN^i+!V$X^{ zP8l894iENM$!VuK$oTcFrhA`jF8cPiDA(jpf|(K#s{j3ux*R@U^ijXylm-uXMFQ|f zp_t>y+hlRzaq~_x%%5q{3;4#LgT83gy@Go=Hr+qWbcJupcgK9G6iH)09^p^0Fib2& z{M@s$x-33vI74~Z01tb>8D$pjctyyC`!Vb_m@mKhYp2ebsahacVZ_$hfnvCzFpX-% zXt#^HL_~gyS4U1f+ZHCpRGdkB&cOww0`tR28tvO<-mNRAp;I<$C=wt^m=Mz zCUfkv>rV)z%Dexsq3$U;1GsR$oHFJej2fEmY!QgE00NYymM_ z+zs~p?_>{NYW6ioaDt{ChUB|z<*fB3wQgY|-7VIce~*Vkt}ebArBpx8Khv2(z`8IU zoz*6dAj?KdUUn;SK7KV>e?_K9WzY4{a@BF3nsNe2p>3K@+ilHTtiLB#s*GL=q;IFv ziT%|B<(u!pH~F!;5)Cwa1i`XXdUTuCq7Z*8W?!u}lHLp9*rRD4I>bwk>L8c08V2r& z2iqy+Qh@hSjUEv(CqU`x4z8kMx999I6LRRaGU7dz9>i!l_mRZ43+CqN9Zt93bJ--h zM{n`1BPCNP9*kCefC5WA)Q_N%dRRJqy4+uFufq1m=5S})O;9Hfdm{;~y0d(^)od2X zR1*am0{2MZJHb&Jdfx&9B+_qZ9M}RC)xD~MgTVIbg38CwE9$GKoogH`00;P&X@00KqB>f#!Lu*=RG24oQKl@{P5qP zup-F}o3$)3s^oran#ulkR3T8~S9)C5JuLB5!C(;^G5I!GhlGxQG>*pjmf`vHx!UVI zSk2GxPyW5YGvEb2zvDGIN}x9j%fX#VY@qbM3xKKbq3UIQO-owu?&#(97AQmhR5aax z`GrbA@nSV}i8|kNwi}mLz7H&h{jjD~Zs2{CHM$}scYPj`rzoYcDR`hHDWc>sWJr{} z+@#}+@eWzeg`U}Ka+(<9h&?S=7lVpJve^=gT!&n$AxedOBBD*;T+l6GR1!v5Xg)V{ z1)hTmJcm7DN7N($714ILLLorzO$mE$OE%pHfrhKm#CWOiLKjk(yE^&?$XK%_r+7ox zxF0KFoGAcS=|h2mkH}L0F7m2M2bN@pd>lH=B_VyftYvQ}LhW^U@wVh@{-y&y>4EIs zn!n23RSj9-nzI|qG6km)*FPuG6@-LpCZwO>Bg6wD4y3qL8DU<(-Qj`o@^*}Pnd`)1 zaZvmsr#|&HvvSlboi_-grre_E{VWV<8`$9%!1&2vFCLbNUcF;!%!7O&l>l3sPYqxUP2*j)3~4*Ea-#MrA-8)Ttln=U!`%9jU$^(`HM6WA90(3^L())bU%D@J2?M2Knur9WtjG1*8y1jXpTVm%GHI$B~sP8?TBGLHjD8o#> z({dXBdZPeL{jnV5!)Ecs=^aq?6FYfn6NhHpgAKo12RZolo?@S5LKWf$h;*t4ym@N@ z{(RO%qxK(Tw-CO9ftkVtMVC&hC#0AgAwIy?1mfp8TzK=}j{1gDx;?cwa~UX-<&Jqpr#hAK8Ms)H$sQ}&y&qQHY23%2O=vFMx;LgXe&n8pD%(A zXxYAxVFzJS-095?4Cq|y6mS~BwjrZ9rxq=Z{$;A>1}_=SHcGqted(npPBOREBUXg; zz-Ei?U;jk^5E-EV9vKEDhKLLgy-n|3Z(KbAe_m3fd+eIgOrACXq8-Z-}9^cEi z_#g{*P_wK#d8w=Dd!Zi2*~K|Dvz`2;JTkvr*s)F}4-XQb2Lf;lfqt6NL(&42>1Nz! z{iA=QV@V8(y+=jsbK{EL?avMf_#?hm5tsb@kr2CXeESQN7{OEdl}~NP8r+nwj#6+XPvbv77oiRKxdhv5jUNs5CpF@3R>MehwIGUTkMD|F11uAg zF=mQu=stGpYmi6j_Nz*<`L3P%GFgA3iK1?H)vS8Q^lmuq1HB9ydMp7*aV+OWC*H$a zMF@dg?nRlch${i3&dCA&c}Mb&YsH;aQTO8W^8j%1coawShG+WpOc?$cZytlo{6SKKX9b@R_>4k65jEP&% za=QtNoFMw3V^D<|#lqy2myM(7f`}kUreMAQ_E>QGq-N@a;L}Ho`w6Z9Bi{C z$XfF?)as}Si+xkQH=?cVDI&Ix`a0lW6s4C3vY|gJB+R5#`xm!6EGsQ%&@su1!Ay)U zHu~+j*n~#EptWN6Qb&JY=LK(~-i!WLasKflOU84XX^bKw`#$3K=Esnh8|i#zmdP_x zX4%l+4=V`diM~K|23khh*HRC`EO`lF?||G7as02DoG*X#RUA!AImN7PxYo|NFZ?*$ zS{;hSB%^I5U>8TVPW>YrT>VKC~A0MbRr2E`_RzNG0%E-%e6{I{CxZ`xFKLTYpFAtC)haC1Y&m~+`JLIn9 z@_iQc+uf+!Op?QYiLM=A=IgL>M5Io^$*Xv)GH0&zXXBRtg)bE-F1X(t=yQ$CIx{HX zp3C94+)3REv673@frtYx)k{2|m1l{mNs2rF5T6{d2-d#Gwc%bn0+H`-u%++mAxPW9 zD%kJC)i*7NyrDMMH6{F~n}Tu)k~9UfsN3UTFb`Yy)LzQ^up)3Vaws3tJ17bVNMeW+ z)5hTFB_sExn-kbTA<)t9&xFV@Rmp4(wdnrS{hO6ezOa7(oz;0A6muqci72SRPKCI# zq;tJkp^;3hXt?8hg>q$y2WH}A(EFG@h6*~on4~+t3MY92h^Aae^FcKIrRaYt5M59J z#&P2z(gz`sb(nF`xk$iPmRJ18k6{Fia%L+XL2?S#tChFfy1H-RuoL|@e_`Lt{SQ-W zqN?whqpXX*YPsSvzw6D>y$Xbx=a%KvUro7Zr7{{snqJXtssy%EmY=iqA`4Oc@W-3a zlUq~I8R;9p8LD(ypXYaw2+8yxE5DXd6fHwK( zVN!>Tx+BHk?S5A?xw^SknRN!+4grEwgv0f~T|=}NE3(I_f34x2my2FSnZD`BpGT39Zzo&rR#XyUei}ELNJM99o zm4#s2?efcWAuhDmrrIwsQ4IJ(*xzK=%n1y5V=;zNWb2rm?CjViHIV`D_~!tpBRnEN z^mtH(XqWzhF+K6JFRxh&Wth~|KPZ7wo~F`vmZo{@Z35NA*M(ZE3UAe`P>HpJlK8#= z3ME}oHW3~3)cN_y<-2w4`&5O9uTfL}sNak2ERyx66EI)2=-0UmOZeVvJzNyBJ>O6v zoLTw^E%2f02U1Qj=yreHGCv%UQJr3?$0r)pc=C%FMO9fzX-;b+BO$@OC9J8va6UJf z&p=c_A!2*i{MMrS;I{Ug|G^v*Gx-qSQ44D31*MG#n@M|1ddDTb)PkkddQs(QQq;~N zcLF=I2ewVDPcUqa@mx<;6N1QJsbKOH^Wr zE({gBGm7hRRVsR>AJ=$!7Tr@&^%9b&G4|Jsu#!LRv)X|a%)J{H^Yzm14&!9V5<7|UOIe|D$kRIuxv(lIi!M~QT75Z5}WYBJSF zE8Emj&xvdw$pEG2k-nyx6uNOduqJ8cFTu5{yHnVjG+(-m; zTx^x$5jb=8_Q2IUFvUW8!zTBqfV#2OT*e5Xv5Fx=>|&MWL1F^A^H^WK-Oh`9(5mYm z^aXjO$Hzl~YZ-D)+XKk}HRabcSzRV@8)k>N?etd#^P2CSeO6J^Te>OnL)pN;Mv6Y$ z?x;)ZY@Uh}BJwj#-1J3Y$2^O)2!0Q{weQW~r>`_AF2s41xs^Lw&d&nKHp<->&IkHg*~hvd z++>k>mc^w0$215;QAw4@1|Hc&12M(3VSy#x24RU;xqN^7a8h9TD5yk@4tg=6g57a& z&X)Y1sNJ3qV>#9=g<(mc6QIg1W)Q-O|d~izYiI+3N-A0x+ zs_J$Qxkq2{!y9kXp@V$nTTtG4Oy^Tv8by{|IoeF3CGJLtcvX8|-xJenkY_1}leo4% zUY4y*>a_eGkOwCv&GCDjsC8LxE6B2f{x@v^5=kgjqUa*7PU+PLJ>*z(x8e&dG%E${ zh{AaXPx2P^o}RF7lg{$J*+7bH2n}%M2>EtnRB6O4`#h3;Bf+cy&X3exb4=wH<+o|6 zV^#AFn9I7OFA78{%O(@60`zbIrQgWu1N8OJ;WT}~U5qSi+{6;su@Qtn-xEpxbG5M~ zAPGIHYJx40d-Y)tt~OopRLJ^h0s(#vwRmt1+uCes{VNCdN49{(Yp!^%dLN7(F6Vn= z!r5w}`)NQzqv^3*(idKIx7Aa*&#$$yqmKc&L#!)@zFwp&gs&~LmMBj0l+3a9z?1Rj zr|eimjoC_c(qBIo-;n@hOx|yO-Y@^I&697dJ(}7zu@SRF^VG%5B@TK-p^#l77D}8E zR3>97Mx~e-NZmHfy{bm}LA$hLfp##Vt~0DbJ}y*pD2y92`#$-+Y4Wfdsa^Q)CCc4UYaGJ6}7A#NTsGsSJfJ=!!j7#6ji~0ySm5ZBvdzl+4d4lmxi$`~I zFZN^AJpvQbeczEq7p&Q}@8r3j^)-lGDx2+wDvRIXvs!E6B!~qsCb3nhO&$IBPLTP13aOq6#Qq zfOLI8{G%Zazn_pF77$_$DZ9+~D0*A{k{)if7V7(Xu`;2|-4kwMDnEV6X`Qgj3uuxe zBcI9-B+CDFBU0f0SR~YyDhuQ0c1777;=oI#gJds0lgEYX4?(b4i>2}x)9qFuTCx-A z4omB|Xl#7_eZ$Csa@ph0;DQZ_pC7JPWBAeYAVcfU%BC0RAllYDr`n1wnf5~mS(#UG zROspdTzo7wNEbvaI$d{`QMz5@aI@cJaxlPxOvsGX>W3UdAv|-$o*YXv$;`9$9H!+6 zEg7&lZd^afIzPMv=1*7&aqf`EH~n6{2Q2O~1$y$P%dzUrf###UkWTRV_R?a{&b3?R zf4&j;sK|$pVlbv`XZap}6ep=f*`_b$cWFRSOf4lBgJslM_*H?!m}&h&9EGSAvwa%r z7F%;|q|g1Ht#u6`J_6ldt`Al4#mvG1=jf4echgBK`qR(R!2u-nFc&vYx$vVG9JFMoH)+F0RbEph6+ z+o;SEiB_1pLLms|bNt@Ebm9DQEH$7!sD1Qx;f868{nP6z-fYS%ao-u`&T*In>mXZK zeV27lzwBpLZpzgAcS5@}s)AD+E@`BozJL8P=V8ps-w7d^KxatSyFZ#mUDikgcB(87 z|9a)LE*BBSrGaWM7WfTOnxXdIX5x^Bcao$s-5aN*$JEABI6FreyZvrgbYY@FH1K%y z^A@dBN5fevBQGyO0jj9Ws~i&03CoPs329G`=D!-wLJ6wVf$IoV^dzg4*p7Qe(&O)= zxY67*+o#mg<>Ju9vcK&veY*A8~!w%|I^k0CnV+>Sn9wMgzzi ztK9u6M;si-WAedp%JoL1I|{*`%_#L3-N`84?5zqMoP1lpD?yU$f<@;*Q#;2OQOd## z=i!(CS4(|<0rVOA)qws*)N$17xcTX_j&3}3U)YknmQFbCKsnY+c7#B=bQK@^>`7Df ziC4++CH?J>WJfMN9M3$YDWFo|)Xc!&i;`7_*u5NDXyZMkdgA@2%F|A`?Pg8JC}3pK z8&J%429*Aliq`aP&g4%>15u-d|5dga9uM72$IhJQz>4ojg{sJ0?NqZZ!j(lpA-aC^ zbww-48c@;GYa*FtT2q%<+c*|%GM&47CR6Vv42-RYMo-ON+B)HUICAp*otYI}e!}7-B1fw>ULha$GllZ7g^F|DvP_@PT!sPr`j(OeYnE&wJ-c1SQ3g zBQJQ-j#pWjE!xi%d)%TXUQ8);Hl+?0N=-PY^CB(6-VCUJ-{mJqnac^@5-gWn{3`KM z=jRLCMYJCS120ON9C7vwv|3SnXy;!GsgN`NEnSPLQDFA2`x?I%rxeXNdN7L9rp)GV zQTs(b!0zwkNKG&zBo|vw^sbPQ*cTOFzR(ubhwJ=EgUlBYDr~5^VYLg~XesKmiA$3B zL0&eRio||j@HQ=U6!q9|P7|ue-ZT|>+&)$u5+xVip{FI;AG^=tZjH~mrryicn*$p7 z7fFH)6s1a_z$^~va5p}&t}teY*Oo00rw1*}g3E_SvyhQRm922{4u=s8XOR%_b7KZ- z2?Ub8pHZlJn7wCShbeSmiTn8L5uyLy-DqY-K&x+>=fr?effoC@^()$R*?Et5{zn+oHsrh|(a(7|Gfc`ufggz5Z% z%v8)z(p45|yhc7G_sjIP>m>K5AjIr*Ik@F@HSaG`RMExX5mzi7jK4aFm-yU=qu*Bq zT97Lif@`*hyPYbUUW~EIV2lFyl!!-bX^t`&Xy1kZudS~kim5M;Dju|XVk#QbQ*wg} zW~(RRLIEyZf$i6HjIw0nlO1ux#>Ky=pyXjPAf3tb3=(xj*x|ly!_^za|9XC55gUDy zdhk2;d!&0N{uCaykwMv>jE(HmX{!(QMyYW%@3TtK-|S3Y0~eym#LvX7sdw=FtE+y# z0Z(h1r`Ew<#oZKCVZn+SC8SMrY1&u58H*pJaK^%>gaafIWZRQWl{o}~y5~EiY~ybi zKOzZuKStD2t~iMhag7qn9cZ+3#e!ZeV9y>MU zen!94@ODaKZESz=f0;w^FO=Z&bUux7BS?{!mtUif?BJuH{8+c3U&E4mBo>A|F9LWJ0)PEwvW z0&gs(tdlp^PI-&y8O51?oLS*+{NJhaeP}i_e*wl9KikqSU^a&Bi+n6jVcN^nq+^-H zKA#ZiJ3XJ3A3bli-6r9Wo5v-;?~X7pPU($bVBDTNHcB4vpr+ zJeO9T!By+bPg|wDpo{aJW#IDAqd@e9Kv4}1d0jAnP1KPWD#^Jx0s9G)NX*kIRqt_-Y;uBWU9xJ<<#vYIrKH7vp9TVVTn ztUnAwrqDd_Pg38BL8w+5`%*SA|K-7fs1KF?_zvj77W$vH`_Rn$&&(1T8dngx`Y$7K*rW{HHJrAJt-#d}q*)e3j*T&g|dFGWD(Kw2>QHuSL zmsTOtEqfg|CYgHl(HZd+*?Bs`L_tMmt)=Zf#((Lz^hcnN9J|2^1j;&=cO|Zp*F6Lf zk?dtHbx=Po?RPc91G{N3akC$v2G{!eN0o3^5xRBa^tl6u1mCJ3mzJxHM<_ksVn5t} zbtBzN33xR~$y(B{Enc&-#r0(}?KyA7=$UOc*ya1IYJCTIwFK1Ey|&BZ&gB11;dCCp zIVBHRf4DC%JM0|G-lM$Fvi=bx%=ZFI`~JCY{?`{vz?B3PKS!+AAFGNg&SAHKAnwdY zHjE>>;!e~*dvmwjV61z7J&sP1n~Mh9oe{B0J(tE4Fq<0E46mP^yOSy2*9D@^zc=(c z7~do~AaI!f>tlopJ@osLUjczSFiYPVZ+YdrNz8CZ5S|25Vp0&yn> z>TD=Cu$(OB02AT6d!c1sJjuhO;FdhZ*j0f^bM5@R(wriZjqn)K>T5A_Q1i$`znlur`QXf5pmw%^&H|?$@g~#48&{m7tk!JKvn*44eBMXttMvs`YUxamu(b_ z<*k7_@ZSLr@^Ne~;c%z?n*JG^h z0YHI^y#?F0_OQbo%7O>!@%%Da&j>V3a+HbIY@GU>W|l5z_cx)_%4h?$EF{SIK6$B) zJH4z)_1@vqq3d?(ig!$KEPsoL*kUDAowrbtLPF@u+dtsMI-ivIjaj&-e*IgJt7Tex ztm@iCk)dIY_jr=7qE)@3IuWIczMV z<8Q<1|22f)nHt4{K+wI_ActSnFPnF+<&3v#*|~uu+u7oc{`uNa;)k_&dszEe$Kf^) z6zrz_CtIS+et1H+_B#pmT8{cb+xCkrx=+ul@60lx3azq*o=GR5Jj%2Hk{gmYkzQ zAM3f`@eDQNvw^BaHm#1%b`CKHg~wV6=QRw&{0DSDK_QK!Lc>LrdDzMpb+93f(7CjuPKkdXFl4>pRT z{4b>oVPWj8vnDIjC29fA_ZIhky<3?P(`EC{X{5;6wEz2TVF14I$NKkNq@?(L>FbVS z&3Ip3v-Q3XL4(dB<>n)kHFYmSAH6D_*lXl?QAX!Xf-s#ony&`$EKhfq);kSTK86|g zjdot`d9K!dlzbzrTkk?K3a}U{-N5~gY*@~B#1_#ot%)DzCf~+g|8~)VKPHd{uo~86 zb68FG1g3G~BxJ)r2zZBJnQ`-#;J590b(qewL;mvu=Hzh9qD}buN*mM>M-eub$AMR*=KQIkFjyj-eRPPT1HDe%9BUNCI!oc zi_l2ctRm40(}FY5!IqMPVr|vxt#QcwehS*{8-7PuX}cMbzYx#T_HIWr^BrHY9q#`o zUmvB4o)W3+f^OP)?}Tl+%ySB^9Ndd>XN5Pc=OY|6S+dr~kp4?yrCt)`PIdDN&I5ZM zm%DID^dYCqiP`(DMpTi7)p72=GG`Z*oZR8Hzjad6rP=C7p;wWcsoWPXX9U^VxW$1h z21FlKNWZ&F+sO!%ZR?G2@f%-SCJ9&!81dmJ%yS;AJWMnRI>qAdgTO(K?J|92$vpYD zED1=UIEN*lX|gzV9zAh&tvMNLA7z6%Gf`xb;&OmLC=hJ!Z((DeD%-bBWU*Qb&$R zs^4or^-T8Xt~EEFXnaB>)u`Ho{MqY)8wHNR@$bU9rxXZ80iiVL#W{Yh=3I-`mVDr zMo@IT2#SuH*NW20h-jU`DgS`;)O81>xk*`l`svBSX6;0r&*TLY-;HL$AYt`Z%j7a9 z$6s$F+8*83|MZbgC-yp5v1t0Q64@f+B5i~45hlUL6?y)S&V7VhiZ70BB3Y_|}5hMq{)ALBo~qQ6!RvH(l=X7|}x#%_Au8!-**UPV2F ze%F*f9H=J-^vLuS-w@Pqg+dx69+T}?Iz|k(W+(9yl|4ys+U>~W$hbRjZgEh8YEr5~ zl-D|V#6G4`<@b|7cA?Scouvl=6}4q{=q_HoL{w^XDpiUkRz71lkM1efNQRqrvgOAH zALrw@WjnZ-2!z51mj-zb=w3s!;j~m1rF4xHcT1{y?D=mE><>)kST*li(h8#X`3*(Y zTcKuRaUC4HJlR@!qSUcU5!~ktqtU-g?jQ*S-!;lDNQlx9VSwK#sl_f2ahZx-KV>6n zCJ3E$G~CpKr9?C>?kk{};GM>tSA?R^9*C?*p?~qe3UKgupk0Vn<uM(SF(9~XnkUXY4)YM%Z&xcsdprDsiL&($$q1!X-&)Yv z+Ro>z8Ec#k#ziuoQLgW+Xk=P z2cdFDZgW8*-8Eo%ce3z-5tkZmvMlkSZ1VtVXO5JwUC%hvx{6Kb7afY^=fnSy@qrRL zuyy`Q$sHiA*vo8b%sCIFff$44r5@e*P$evPXhHfE*DLMqxO}8@&53f-Ig#Qbb5ynb zIZK$9Ojw#Pm2(}6&|hd>whUBkD)ufPk=;3y57mZ-wDWmW%Awl<T9{DfaoA4TU$}y^3H^r?&gK_~GjbVBi2cO_Qb)(^#4FTm5SE}5-!9JT- zXdHqJifd@MNFH`74Y;ng^Y+qppVpa@B1HRp67|iA9F%aK$>TD+L6(Mo5t*YggF%N$ zX#4Bf&`Jr?7GE)C)l|_)#9>S$!{4v0bS@g8fi#I&wlXTSrIo|2UOzSuZU?6gSKL}9 z>TqXT?JYXL9QWf31;??grE2W?D?JBSTUX9CTGfZ+9_wxC|J3#Tigs~>5zPs%Jzcu| zOO5kt{hfpA7i(SZ9@8F<7#HPhb2=S*YO$1LeQcx@D$`-lBtG7Md?9MIt8Y3w{0Pg9 z$B$0CF2zvKO_Zvd+fF~Yl`w1L|B}NOkF6xW|7S*L6o?HNuf6=C;M#m+GO`w!VOjv| zhFhAN330}B-vGutAJ}{W3E%JWo|8Mr6pzjXzHdN7`7JOZ_p2aLJHRU#$)!(IJ_o8c zvGl@;TWqv}JytnMke8Q&bg++aZv-yq=YqFIs-Ga?Tj^o@|YP=Q?ZeO^S*U$hEQjwsqb5H$|-(y z8K-=1==_Qw^P2Se<7+d zVvU$iM!e8#T_=u-jn7o-%mZfoafFsg<742?=mumtEqmWe`X%sB7QN4>n}$i#M`cfh zki>7?yj`L}$-9(Gc!OBV@76uNp<*vIk|^9LiI<8C85yG(cn$y%Ge#6IRhQPQihbDTE zri7>%Xc>;`UaYxl6_Eg{Y{MQ{2_3~RJv|A+yYF_sU(;)tGRcX5EVb-ArNVyHwfRaQ zcT5ci3+#oE;ED2g3dEP%B`*`X+1wU}yhTeo@A*mc6d4r%dtIGON%)hodd~}yV z)OnchC`FEq$;7|pyH;O%Q{zc;MdA?=u)+n*UWkZ@h{kr&Ei8emF=H`iosvzAV#MSL zJCG-Tk(wFEB zaB5yG@71;25LdW2bcPu@EQvp_fzfIc+j~-TS;L@?!Lp{ji6m9p z!W)-1Unb8F4Gv|CeDUT1sn1@ut;tACgY4-fCx(F2r%nO{0L)(8hNf?e4HiMCqu-g2 z@HnvmUE9!CUU=_cUwOBH4^k#@-T_vG#U(HxVbL=lSZIsc5MYVdzWFXvk=@b9h4#`= zb%NDp&nJo50UOOsQ%InX1XANFkHcLD#bAXY8fU>1=(h z5BxcC74KoTAP9qkEVNn;ABpm03$pX#Ho9}zc8khXI0rCNuE(9@IE%;+zzi+Sg`T(4 z!ma0N&wdZUv$Ky^2(4iKddN?v4Uib3;A_MdiQ%3vg(NQn%->jVqypc3nUL)pm~^q5 zgN?}uqCSXRj%A$sE{on*YXNF{ZQ5@m9Yaif#`5OHM!AWHb6&4oFchZg6m%vf^j83d zrwDC6mRKrek0zO~nySamR0qgJP%#APY5a+$kL!N@#M~A15kb0&ADabtH5YNj@xl4OThNWt^a|QX? zjT}<7a!&Nc7Flq3j^xXcuaA#QV!wak!0kKVTrxscbQm{c366G{4;CQ~#1@a_rr*9( zk`eV00YWeYTb=`Men*6hlPb03r+$hQOuUlp`mlW~xBEPIOMMm08=Z-Zd;LaZOJCV< z)Ai41OM)iw@QpjWZ3o${j|BOFaUjr^_S3*>spcLGa6#SuYmvwSf@+b$t^vN0ncYj2 zo6qBM8TVUIFPIa#xA*5~d)(6BDURc<3GTRTX}z65l%wxt@8$(w@xJ`0?+4t3Vg>Fr zH$B)CNLyyxbP0TaLNj%bvcDioKh%T60>4?o@^H&sRBy*w8w!QKb`0&xmA2m06kz?m zGe-@qf~u!Al%tCXc&Tk2!rpJ~9r%^sl&RyJyZa}GRv;qf20@E*7^tMRnYVT7gi#e@ zC72dCr{c|8)6WSNRWh(I`{*ob4n2g&m6lTMOl))FanmE+JCEAuXImSby3vmbw<@)% zQ7tvB5S5eHx&jeG1H{RREbOk->=Tl0snN9Gcu}=_<8jF^;Z*(KTBzs^4DW_5UKX#g zN|-H_hBS{pnHE{t?+d^Os|!@O>Js7}*{m@%|IVu(?@W&~ph7d-1rqsfTphXu?bY;~ z!}%OSt1VB2%?`XByZRDmtvtw*B`#bPYpaR5xa(|n(GUYM@0B;jRs-wl=-q*!#o<(z zKi_ab-H-xRVCjhC1nGJAZXQcA>$R!S1#68{B5bH1KXg+|d)}&fPJY%KFE&f1wp;Q< zW?NGGV=#^svT57<5D{C*N!QelSu9k*3i){cJi6st+fgy}erCEO4Yy*LXfK;Dbz%(a zN|-;{*#QT8(i+hiwLSrp9RZ>>c<-E`|eY$@ZS;z7?-%56zh6q1D5DSrWA-NMNn{-|N z>;m+#Sh6D-Scj)RnNkXmWzTCTk@<0do8aWM2i`LF#0DhBr^*Bpjk3M?T0cUI)H>3F zw~7+eT5_w?XL`q7ln=YRWrLMQX88Wz4aXm5H*nKo;!o4z%uAS*dx%dUi7zWjRXOE; zwhgM8^vmGn7J*q>aH8VV5uUB`mE*xxNe0(|mWzNy0mr#+T;^$;ADMsefD5i@@NiYB zMju8*#R72A`P{KC5K+*B8j*d=n>6XsP#lSp>f!v)# zc?Q#=#%E0(SH%o5`PoV{=Am~b%7YnP=wI+>wg~z z8?Tyuq|o`FcgZL6`oCOIftfyo6e%ol438K7d(1+Yj?*&6zZpI!+tys;xWHZYoB#BC zh~O_LH<=EBYDjYO?UUAobgtlE{~k1FU<9WEAv3MD^`+k^vf~+Q1Z1fHG2UXP;{R~d zdN@1kzfaUup3tTkK9>;_zc z;i3hQ-Bo26TeIeU8X`;Run`nQ!My;zCv-=p_iG`Eqa~WWld$082}zdmf7969Y@a06LO_0njSnQ9-O*L zkSGX^1^$h!e%nnY9NEQpba2b+2z-Mqqz|H|U|{t!S=ejHPdt4@0pJU9LL=h1LX+Az z>B>q4YEjO4QQskYJA`prKC-wQ8@CqtkzKv8Sn8d4Bugrkm4zi*dD_6W@ zYJ8TLXx|SHw0paw5csJjE^^+L^;D+v^5HqaTV7b4MjTDC@!0ZPkeInLrjb`q);{5p zm4yioUMp`JWJ;)S$UuMpi?}#K z{EN-<>^`yyyGBCaBjj2MQEv85(qm*4i5v^zVTThBGTB zPi^5{ltA;Rk7@QQGZC~r83AK6N6!Necnm9@okFJ5@n~MuMG7orc@HgE6{8cvMOpjn zbCK+tW|MVUP0A@J=cSN&cWBDGLm#ZGwP9TO`beDL5aQ7Wtdj4_n2cywS3`xa^m4l9 zh}C9IdHE#dO|@KAUaSNmv!ijr@OX`99_^E{Fzprq&dpdmbVRwVapebuhK63Me|or| z%>(Bb^7^FLI3}l&7h2B5q70bM*oo@LyzcJq8Q9@$LNSxaABL32AUcWr+?iHwUgyYr zjJI>k&vA;2j{wQz0gj2U9b=~BN6Rk88`PR_M7hdnE@kxip~VX|{RgKiP~klvnIHHhvsm4FJ^`d`C%QeUwAbo?%~aBWQ~<#(YNO(bP%l9 zhq|>f?gGd1XVV}-G`~|YE}ByhG~aAh!vMd!EGvC@bMY1pMW%A&R8gXUNhAQxj?~T6 zgYL99uuFSQs1xU+7Jx~6y-(ACU!b!-t!d?%*f)B$>f!S;A47qJ5QH(7Z9^yY|)dL=HNAcK_a~T z!7R0P`in0Ng1_Lz=pDy^ynUIC{tr>|($eFrE*ne0m*hRv6stM*R`T(I_>?z_u#ZWL zjobOs3o}^0i!Zh>d)!m_^X-0nE(}qH?YHK9YIZ4xC?-KMw@LjLus+!6D>+jtYmzxG zFOFw(%qVZqL&yMjYA_=hzOqUnbs@rO;gdRsVM$?jEXr|xqS_kjM^)PV`~_DA!m@yT z@PiBuw#M1vekxsmEL(1U6L71J?nx2fC>PXM3Ws~m-%oK^)AUpfKrQe2%{}9F1-c-X zz?sQf+z65@9cEV^uW;v1q)*t&(5J(}QkxX-QJX5cB599BGm#9G%Cnn>tI%jhmRr22^rCIJvY`4(Ki)>rxcD& zdk5|tlQJ-A2PR*<#GOl_H1M9(a|kPLJlVU?R;h?G6eyeIR9>W`c|L8*RD`YEfjJFG z1J&$-Ze=K$OT(V^HrvS6*_lJE6rsNT#XvJZyZeO>h1KodyNm~ZBeb%PKE-ZMyt$gP z&5|l0{j)&9W-Q?$k897MyyLqZ!SLB*9ackNe1o^TqhmBg5;Rm~wwA zp~hT|2WmZ6PP5;;)e$#X>{2cK?11bx5$S%+%7%$_=$f>%?JaAOAVI@52afyiC<)Sy-Q}d?Mh;I`w~fbf_7h&jl*!SM z_RxC-5P~=SqRU$YQ)y#3?ciRnd}EhB?w;tS+TFyAvBW>F+4rrlTv9T)rjomFA__F`(n|34XaDR3ZZFX zrzu&Jt}4dl^_1UvAsd*Wx_H{b!NeXpT~=O+Z!b{0TjS21I%4yfIa zqfZapb9i#)2_ePIfEi;XtsgYt@P^zW`o2F%dsY4Frv1mgKF{lK-(cQIxzP7Tter*9I9dM^J|kXk9{hjf3@{Q#7` z-_od+;~sEYNy*GaU(_D=X#jSR*-wh8$d7lvIXK@~FRLvPKN_R>j^atR%=s}rroJ&9 zu-66M95!-EPLy>*6^x^w6hOGwCIdiyAlWM|05?AE+QnbFnk*8%gGLrtkbBps=Xob; z88OTGSJC?HvppzU2eS4VvLTqtLfJZuX`z>XNe=30Sv{R!Ff$INjOdIwPr8W|Zt_@0 zRw_Gj=IRBENvg;a))a~pdvX;)5mR*+bK%87LE=#@nTIRvmI0emr;}pov!^D(>FSO6 z&9&96igJiKhS^q+cI|NGdtUam<640-ZgJxwba#-?tiy9qRN6VI_e{PZ$ui}GlN3 zsZ2YY`em5YCp&v>&5`1b4WkjKH{ZFU*0A>&7%K=E+9T* zfSWrSTmJ^@{1xWp@_@Q1J7f00Vh9j55l~p7L>&GJiFMdPV78ni^sk1^NuZp|%$E4@ z@9>W^a2do#57a{K{%HuJzyH)TqGGA58vkktVlqPJ_I9h`zY{XY!Z!@?p}Xe)8WK3V zlQ#;936%aFTq+O^(Sl@NEcw7c4MA+FLl9Qtmi!wY@f-IF*aT*P3IDH#AmRh6k1<{O j{~Ea`=^p_Eg!Dh=}YZ^6#%C;Y58RqH9E`M-S!g!sq(! zRTZrFtCu%RgNU<|Qor3e&XT6gq8HDeR+tcSH#YdfOo4n`g=APxh-zp{!gQx5I#5Sj zT0c+}qaUh+m0%1EEgbhHzG?FM+Q~jgSJ!K{nrBOHo^)Sz5TX%sSSy`$Dj%d0)ERL8 z6TX;Ppvn;h>v_#mkLjj@Z-_YDn_(xfSw8=teo2>%S+D$bfl|n+;Acg}`0OmU1E*rR zzq_T4F`Mnc6)l$STqGxtr{prYdF$4*LDvK4kO}0?g?9E1FV)o}i)$V%<-CC(4yHg3h`52Prn z+gHWDCWf&WSMKMKQgKTTy6oUcsrlqzIdx}g7fnVwuJzjvCOhwJFboV9+nSC~P8v3Z za{1CHwkaF@J_Z9%+lNzbF7#u6|NgBx+S1bE8z<6|D5)@R_T_;m-jp>4xdxqSYE?q4MyyM#tHoob%*@Olo}O|b{zMfJ+IKE= zxr?)LcUJt*x7g~KT-(I~Ope~yj&zN5=?K2U>L5;yw2X{fRlk0Tv*;arDlLtE@gjPr z1IL;iecG{_+IDI_f3QPif92A#W5)^?Wh5p2%gbHA^18AzFg&iQsd1Q$uxR?azH7GD&1~LgIiR7;nFJiXSHG*{jQ9c;wV(|ZZn_V(hI@8wYH+o0Y@(D z8F@E%cSPivBCBL|`*HHkWra_lK2h>o#GOBXeyu~rv~baNe`^w-EXUOEwAv7QPu~~z ziz8=66BZ`HSt@Vf_=Y}LuSI0OC%5=#`YF0oXU>f28sGS@1w63_eRHt4*M|=v;~8Zl zQ$h8sDl7FC`U)up9ddT~JgY|bS5|$O144;q+y@$HMDB0{re5pM_ii&}e(ct^* zzs5Jc;W(eo`%kaEURp9^SIUTPH-uICfB9lo)1;}X=^q@d6v*%we5k2OAJJD9;uvxT zX(uNqZPULx&kCDb4o@0$?3O%_Jc&!P_(RM4&(9zzp4tmB}4AAgB%b>8UKo#`*m7ZDK|8y$`PIEt(eUuZ}uRk+}MLN$cs> z$8=&o{{1G3b%E@js%<6qmdF17J4v@G@-zuaKze#Qea*00lIy`frqm&qlE)?&bq(bh*cL{Ok>R{10mIc}~9*E#yi?8ApHS}x!nGt-TU{ksV8{O1h zoown1zO8l7al>eDJ>8YvLPK8Of52{(q^hba;Ql6nG?)F#*bPhZR!`2dBxJ>8u7BQ9 zaHvl03-IzP3p%VduT8hXbIx4T!LoY8ZzIh#i0(AN$8Q$*r}0`&TqF*1-ENCQM5Ta5 zlNXzUHpYJt^Q`*D6lwRZE8O><>41Q}z5VofkOs$!{oeNadb^xV&A5fyO6Pu%$^~*y zanOe2mitbTHj6^m4V}gV0`e{{8x|3k6(2}y>+0mp%*;M@UKMsJ>FeOPT?pR*kfmV9 z+`M-$r)x5T&)S#XxW6d3ujA1cB8V5aifyB0jplM)iEc9Md-ddE71Jyug`6=iE-nsB zKTb%LB;-6$K~GOl`^I5%4b)ave=Z+56P*b_yxi*__e^P0;^J-xWSQ7w6|jL>+1cxB zZ8CKRxIbxCpa~Mbva+%qTlT|tFJ8QGTRf&Ms&|a&`-|P(xpDR7RJQrv{7&5{=Y#-O z#T1Ql7xFT7unv5VzTDnQ9VegF)R%AHzIiy6x$HThWQ~lBkO{PcPh^HmD}oUc5&37k z(>Of!T^o8wHUo~0ZDR`*dcDuGDPT5K>zCKpw(0f)^HG04zfl@to4McwnJ5k{KBXmA zENC{gz~Mu34qrrL?EqNlO%@W>v>2$pJa{`U-NviNT^SEGoYw;k+LK}?8o~@`+LI}{je>VDo>ezIt7K=Kf{K6X zWb0RXkUK0_UCK2Z7GYP;dSp|qX55>HuOJgneRK3gpuUhQ)rV6!(h~t_BBB&5hgwk* z7+p{)$Mx$EPn|jyuWq?C^rNnEbbLG>T)n|a<)`s1Miv^uL)bWT0kgWA45v>N9Pm;E zTk$X+@alUiJmwVyb^Trf-yQyU&`S|k!k`K5;O5$|itxY4cj6MDgRkwcFy_c2;CPF( z;yu~{14mL{cPl1;?Al;o0%HVoM>+1uzP&-#p5 zgUDnxel=x|#Lj~*9l*ndQ9Ar4i0GBk@<CH|Cy;h`gn|r+1B( zmKKjwQ55}frX@|S*h8(@u#*G$k|YV`y)XIs`ETF8wdys_pI&r5D3*>AVn@yN6=p{| z%rK)`Kc1uW$f3I`3P!%t24<&vaNjDvN!j!v| zniLElN40{_L45G|#6${w%)`g01Gv>Xf`{8{(*|t`-rJjt>DNU++~nawP+b;06FxM}l9EM3WAH{4e6JD`5;D^o@A<^%DsyrF!ay&;1iswWmG>&C_2Ph9r+_6;fZpjwuoWViBja_*5_x%24x^XHg+lL+9<{ZaEE9-e+H zKN{z?=ZKf{jRRmoD=RBwvR-|1IoKI2PPZ;p1+P>Ho{b4rbg;i;y*BmSxF-h%QtbfN ztC---Ku>>@i%Vh9Y1JFlYl=n~;L}lNd3kwdb(Pg(@DToA**iLFSPXzaEM5LZ1z^E? zCo&=e_p;(c4VW!Bp2r>GT!w*+lEKkCi{%;J57n(F6nqF@fWN9iytS@f4nqZ3mrg z3+MEAHs-ehB)QB-DsK!w_ciE9O&+drH(VL3>B-UeE3%o#ydraBqVRtO?xpGomY!Xs zOf@+<8C;}lCRg=m+H?@C3aesTJHVl*yo#W5Hp^W}y?8MH*GCd<7CTD1x(v$}g5&7% zhMfzc=_-0)I=*qm3q{yULpBOe=}3X(?e*E&h2q5yrYNUxg9rPYlzdi6eAY8@dB(jd z;M&G*#2*YtBGg-Ov(J)YVfxSV=y+BnJtta8KeooA+UkrOQojGALN{M*u43CgbhVk!Xwg0K zx|vz~ryK}){PWl+(@Vn@Jw?`7ZlkW~W5g7CAkmf0&CaNU-ARk?HXzVx<$Lp{id;d7 zM~)t4KmkJ!+AT3FSt^?Oc}t2!nhBwPcY*Ph(oX|ev#pjQ;TFU~INeD5CxFob^qWUj zd|&1FGN1|z3l(z`!8`-(WfW5~n$~C2%Q-eez-@sa)6P_CPYd01_x=Y)gRA3RjDmDCD$cEHxb7)jV3M{v*aKIW116{0NzH5V$QPo!2^!Y9J=J0xqPH5%Y8#K;p%4Ub&skMb5U8_$#+wyaqoMYdc^srs1-s{j~`>xB32J z#Zt#j^rJ_Q3USKh1S*pfE>Rl7A|Rj&L225^=qQ)f)U&<8gS{w|lI1608HUw9)QAQG z!|Wq_`y zxN#%Lc2T`_XQ4RAIe5Bsb3iWNqeWy;YLq*HaARxBJNmB{w%e z!zpEoSWY(LeW>}{K>~=6zkT~QjkB+_k-mq7#XF~*bP}XgxpQZ%0EiIqK>E!MAS!fDx_UIfM#e3bj`;GU4}Q0DD+L zDay*q41iotG(|18loC_0eZd=)jzvvPP021I&;p+?skJcw|4CUm+-nNwwQSGPZ@Zxd z6UGmS0%}GV0T?2*uOKdEZBZvgWY(8KBFA!4+IXNu+1%XRHx9yyn}ULBZ3$9sQ!TOD zx$0$hy)mNhcglkT5wC%l0&dBG0vN-NMG(ca?%L+w31H4i!{myCnpmCa5P5f;q!j`X zY+M{Y!roPRls*DKcwl`2h#;5&xO&TgQu63WpuF;ul9Jk{u|_fAvP!{wvvI3;eJ;{% zqWKJLYWNv!5Tc`M!#0p}l23}rWg@R=Nixm&|DLc26i2F9^uyRjWkjp=0r;teAw3%vth*%vG&~tKfQVTgLnU-xOfDu}+jG++K zWEiL;#D^0K3IDe=Mf|{EmbOH$QFqqwt}oX`ttv=(rUDezuOr7ly_P8WUVV?aZ_(IMq`j(Q@g^ zYR=;|1Apcmh&EI_DcD=VIUpQk^Uun79XSO>LRXg(N*2u9*Uyjq^5rB*&=jRh$jB&y zzx1pRiHuBxLr~rLD{X4Z&Uvk6Ez9T;e&1%k>7aUMW@gc9Bfmnvi5eoZ zY~3a_8Xc%^H|!?cIq{GUQD+u8z4euqR?sjm{Z@LZNCD+5SFU(``qTnP&gHPCw`on` zS+zHr4`%ikl0bm4k!AR?vvhEbqww^G@ma z$QtDBKb*#0wTH=GNW*uBi}>`vq(YluPK3x4)&DYs;~qsA$z0)VVObp z{eSiW5b!_Zxa(tL*X`*<2vUk>(~1R(B2Q$(s_N_N+K5+IR@zG)Z6SB62Z5N!$B)gm z0jyj)^_PLldsFjwj6UWu=}Q{iTd?(|hn!rCAa~DE7%N#f+FbOi=KOqLp@~Wxg6OpZ#2$+y5ITt4Tzk7b0|SGajZcL;85WX5lz? zhj1i*z;&jbd3~;1j+)=5oi)8g_Ls3ZI_Moi_fhs&F>S4_7tfx3W>jLv#?Fqbbj;4m zYR@;-c>Lta45Z5o-x{AM*h~FrB>JD6vTKz_&ryYca*jEAEjK_O@OQJ6)Lrxvhw7K0 zpiYKK&R67zsu)lm&=DPdOzVeiQBhGlO<(E6)}|Aq zYCAg>A(6o59LsU2PpqF=aX=a{**a30%MdV#`-XBGV@67w1XjIhTz8jmXmJEd09BIr zW0YE(%Wh)1apPP2y5i!lY+{y+{K39PQS~95FHR$o{dWaSiCrc@y6UUc9PXBt5pzAD zfccO-ii6M&E0-v}usmKD#LC7d383m52ON@tiHQ|z5l1R`vF(KvI0BIi^Cp zbFuAPY~Y+p`ez}B`Zjhr`si@A6ukoLS+p%h>P?#b6K7}ylyI2bR-jv0oBo`kkK`YHEJNar6fR0WSq!7w)oA%^0 z&3sv-W@f>Gs!yV6g)cqU4+-&!vRT@u|3b)F#*2r^o%9gqUBCV#c8iooU~0LC0zsJ9 z`u2S^&$`*d3DgJ!SYRtBQZ1+VMF^v)Vbmo;Iwb)~ryTlf?Sf{9VG$Pw)4yS= z&QNoa*(ys+Q&ban%o`pIVeU%nl`82sG$s%Lo*P!iA@IS$1HP(kLHF}y@Z$N+tb z5y5_rAXw5B0HBT~3xcgk{(kX~Z$X}J+wlfONF53lklhq}XnLn$&K^Ai0@5Ln)xcPc zk0HKv)#845Kq)n>N>%jNDV$C5T;SV`P`?UgWCJ>y!Ob({^Xy?)eGffcHyj0~v~*mX zIVt1NOsnq4;OivR4|iV!BCG3FL0=*`(YpY?x%-ScI=ZXZC_suKFt}&VMmgfpmHmd1 zy($!950w}QXzz*Own>m1VSCI7%Fo#pt`Pq;u;C{78%a2Mcy)a#{tR>6uB(d;PS{JSc?{{J4!%kXAQaUOjQE2qSHGA+daema~^ae)`LmWy~ncmVZ5 z->Msiqy*_1!Rm3`VFrI67biHgw%b5k=*z#HEzD|VKy`Nud_;%_1rUw0>(?#R&-}wT zDwJZl?kjCgw$c;4VSQZv|4U_+rhjMHoi+su2SD=>kOeM@2Ute}R+|3BOXt6poFN=i zw_U*aNJ)tRlA8ij7w>?pYHa;=Y5Mn>1 zk_8o4&wR^?`sY?wR$nurRLIK0B7U&d#XQ z?F;sMdd=736B1aMnUmXh4tO%eecPt}>7gvKm^Hg|{KV|;blb}6I)M-dKZQ_gpwtm6 ztjb0ux4ag*v#Vq6p|suF)|UIS;y4M^bRoQgO|@$;u9BSkdY4ls*GY|VDDYN2DG3Rr zVw1W2GZS)DpC`7!Ym-BTRK>JZ0ZItl5LH7#+p&Ac>D@a9)I*`de@3oO|HU1K>k6(L z_oY{6qxd{gFr5&V1DSqjC^}?ea7bP~&vekGduLZfgdUYUM;M1ljpX!cSsfi6~2V-*dx(3m6pC32=`+DfFS50NE5jN2jfo@zcb_mbA(N zU%$qTjlDuL!6yAhzVuL>2Ty*JjV<+exH}nbN0abDs>|MXK+#63a&~*3vC3YBN#`_L zF!y#k^&22PLzJHI-oPJuCjAcGu@dR%ke;K*$!Jp1IL!2b<03xHv@99wsCs<`=1BDw zxX*%6EZ6PZ&mn)%4uy?{vQ3C(AaVQ^@~+8{Wi%MC4R9ECyM&~(YpScoWQ4ZHv^(>a z*j7kL(XZLX5@mFQma$-(-;-+P_5U}bqr_(q9=t}fuMn?EBRvBK1}Ts(Z--hsICC{5 zw=w^Nlm1a*ZAY@)WL=gui14yfhzOP*sT%)ydn{hv@5`6y_wV0-BZm4e90tN=l!MrQ z^4wSIZd|SXT@YO&;6Ar8l6VD%MmsRCepL);;Gut%*JtVb$P=EuMqTE}*>-#X+gI%} zM*kc&hZ|Q3ACdfy&Ehd*U_)bfD}MTG38uH@oPbrzJAO#b5kFR~ zzEyPRuq5>Qr6|@lf^VgfKQUW3d)(|kt0O^2a4%o3)Yg2dt5QM2j}(4bRym(_ z+}u5staxpq_y7q!W${JED+RB#H9ht9^&@yPe2BTIVFX{1*+dST1q%a1Hj*Jj0_`r) z0t!Yr;or{)5c=AnF(W2-38zFNN&q+bxgds%P15(`^WKLDJ4u@GqQY>ZF%`R(hck!6 z+hpc@vU=uEZxlW_{74Cl<59(0&CK7zY?9K3c|NpF{%zB~c!T6QV~~0Dk;{3lEac(W zhGy&iD~4NZ{Gh!8;WF}PMcoN!*i`qWk{D@zO1Z1$-jQ*O89Stqh9KYTnY!i}e7ZFC zczi@)6@g7AHJ+iy>{a}<+8;x?xt}DE5mCheQnyBQGI;@Oq|pDF$CIO^x^Pl0PbO2l4vRp)fGubPBH1K5?e&HsXID zSj)4E7?u{?$JYoaygSi|-awq^v%gXv!yBkri$_a*7P{2BRbcNAjwMmVY_qXh{P2re{ z##4LVcc>f)i0|{IQ`5T09?s2+<&NQ+nYbU3*V(qLaF9HQU`ceiLRd2kO25-OaKq%; zhO$o?2sTMNML`eOotZyoWiYw3sCc+wA9!fon(&Df6Q`wdVf0ALaIwl-Cywh zQsc5X#9^;zzG2)t5~M_}&<}m%EUSGKR!ophtHT`LKBV#qxq0-=qf;%1T3;)Xdm4DK zR7?vA1L_I^K2p35$T1Ab=GjHHt7!z&j;2huiOJP(d!danAcPAkU+=heK;1y^&(iQ| zGO{4(q=3XVZfkYY(P|NKCXm-kfocd8zT{$`cq2hMHS46tD33AaH@QL=ap6N1{p0DFT{CH(o=DDjAA)3*Rw%&Cw6V zrKA*~S0Q=xfIEW%X>XwiKG)x7tQr^;q_7_PL_%4=w%jbHZvu4W!T9q1oCPS3eEs^h z>Q`)RECW(PW?mhk;x_t1k0e>^Hv<#&cXWK??h&$SDaSsG8bXou$dMx+-j{qJ4;-LB z4B@ms+TR?XbQCI`osD9i6eW{| zIx|pnL&IbcmdhtN3Ytqa<-wpbMkFecKLI(8|6~(Z*QO7k#*hrzY^2KuovIWAbkwfs z*k^p&g;XaMlD(|lId(8vq9g|aA;D{mj8DLGGjo?gUL7S1nRHHmF>vD!Kx=^JPD2yR zGiYrS7?^^Bo9D4n=(VY;uGUy_P!H2_W%!p#Q@yW`gP{rA&u*ZWwtV(Db< zx{NzGIE~j5#qupkpX36Y(sKb)98%70lM%)t^)ZmK0u;>A>FT(6iJ%#9oaRw2p~1mP zkWpcQRteM6^}x8d?rBi%O#+HLh1Au4ygOkH%@a3P2W@(dAwAEW&)E^Jt%cuz8Bw-9 zbCwXE48eQ;HiryXSy(l6B|V$rf?T%v)2BD@P>_=|K=b58gPJ#ngfi)gOA)uz&McQ2 zAy1wzDW-k}h5L9?Syeh>dp*h5uSsFU22R3^JjGPcxH)<#y|(!Si5NY~r%#oArdP2z zh#gyxLwu4~inE^a#R)U_jt0*1RA*Mj8P8<7e$K}*_yJzgSQKme^rMlGkO4I_PQ&$) zGLy^%)Z)@)zGnmdyAJ3hGVWW6FVBz`GmZQau9h*C` zTwbG@sW(*{aN4Bxk;+6p^YQ@kWTU>#=&$YJk*{iq`l-S&aoOE!TGnrlrX*Gz_&gr< zPU^OV8gQiMWCGCZe-PSpkKDR@83 z%A1baaNW$xqnT{1)+M0xTSUr0Wk#lQ`HH4I$oM8q7+z-O2 zyuLJ;1krCnbhQ1)j-esKvF1b;X{vJUM^b8kcwfbAXVCq8I!>87s77ypr6bRCg>?sC zgH>1ie8rUSXINOQ^lRbvmrle}^To9}Zd@$n-urznqNh|PUot%Db&>UYU1C(={l)20 z$MsPa)9D}uEQ`@1OmYjQN6nX$d*=?v6kf61_A^(>Jh$?^4fUVh)f=5OO4(1clrHw; z!a~<(6b!BjIu5-C?pNkao^1|epWZ>~8TZ_K6#FE%&Fjh_6u`uM$L1H)kMj(szBBBk zDBSoS%9R415<+LL1-wKuzs=3ju1twWN1Fo|)G=}-?I(X#?mZe6%C}Cctvfj#qPyQ4 z+mqyIOTE1!!Anhw@~xY0e*--lNn&K1lN4Bm9mVvrv2cQ;Nh4`{-?6=JIP+D^q=T5# zNY-M77bR;;^pnxUnqV&VZj^0=eQJ2xjDn|i2`)^wa2RzaO<0WZ6b~v;T>seObn=& z{^HrC{K1)umlYRVV&0h?^bUHcYG5B8@HjvbJ;0E#6f9T5e1y z{;saPS%A6_LCE$!dntJdW7xhV8zppGT(XZHm14QK?lIG+Y}*i)IP}Y#(_UtjM(`p; zb$KNlp^m9b*HgbI-E^z0oRYl4in~(nqpz+S-WVUJI?Mz6x<%IJhDJee_C!w+*JF3m z_!`YzmSIoMc896v^Xd6YI1g%mH2}xnJ8u@1i^fR23+Jr*Tc=CHN`WedV9&lNhu= z^}X1dqyIzy$R(BI0t6nu6wWM)rT3=9qp5gkpdT)M<$gh4*`_-6&H{f#cX_#zUVwmW z1eT6RvD$U_`Spg-=|7)^Sq^@>vF@CQ6JdPW)6DncfhDv8Xq2wC>h!xFFj??%(yE5_ zTL;bU?~8}>$S5Z#FKoPi?Xdo8b93|0-)}DT=GT1C)Ldd>vUYarfLU+a72npf(%i9e z<~0s=oa@>gG;GlNJUuArFclws*_P@%tW0rlW1azZj;EhcODi}df{l}oxPdRSrfvvX z-P2Cb?VdNdtNDH=*BC<75gOBWTv(CNx_?;+uN*%GXGc$s-}eP5#ae)1-?f&c z=d~!A&YCD!8~2XmJpFOmCrEG3j@5WaP+)s6bV{d`w3O>T=r zQTqAEsW8a|;;}>J#FTwb**%a^>j?q%8E`ZIAGfnS)sk zmBW~G7ss$%hWkm45wY$0i#ME?tHxz6+{8BPG+gXSRc^7S;*y=5Zd>n9RTh^na&m;F zzV1GYIdG4PQloXbuSCuFNN=RFNr107SD+qrY&niPEMsk&XkM!u!h#ZfRGpUeNk2ZV19~;1*D2R>>y> zdk?rC>6LnIt?n4&Qyg=(s*i@=8iq!N^#~u@^nz7+(NJ!#S9((W`;OZ22?kAKvt+E)0Y#?J8^X|Ps-QItiMQn0PHcz=Oj-1 zEC{}uW;UtN($8vXsQa`s-F?O<-MWoakTE5{l@3=$B zv%q-l#16CtaI(DG|B@iZP-BMg0N2NyB5{d#b;ZhVZ<`Q@C+WaD#ugWGz)!*koNe6) zTwQewn`rwW+|Z(S42bfJ1>%r|ANsLEM%Ed_$->wSNV$3=NBs?g6TiRALP#UlQ-0vJ zvKj#mN-)RfjK=99aQLC;&OtJq$#q|uBT>$}H|M!k5Qp}Hp&&T6z&^{*7TH-WdhT$f zQzvnX-@zOf`dlFHdv>tD2t-=Z|4W8s#Rq344t(dA;9!Zo6Jv4l%)(5QDU+O@b9Z&u z9Nb9(xa6R%9AuWIB%i3j`q+9tWsF_L>N;J;C|8-?$f^1LCDDk1>_mY)U}Y)SMP|uU z6zaql%MbXeg~HQx8bkv8?>*TZ=*65mRR@=Y#L^8GhR*wxV!BF;(cZMK3YJ0mOLB=U zTRV%nt9zRgB@>k!^QTSvlm`C#%VVMSF^9Woxy!1z*lObbnx74uI$QEkDiSP9T+dN= z%QK#3W;gZ~+P|+p--B=4-P(iuLxSsz2a)Qof~e$V#f{koI2UV&L7_rbj!h-BL5i%e zZw~A2=hE)6C1oPX(nf=6?CE7Gln)=q@7D@j@7TBv+Qrf{Cz)$Of?}=U@lc(9n>_0c z5nroFq>?87K(ADsyVv#LTu0JyymsAjtW;PLw2zUeC@%7H8LWN#7ONqTMO&_IO`Z@4 zy-Uyd#9mpsRuX0Y8KG6EV?WYzH1Hbi;20s*4u8>tyBTk_G}}i*bgeXdxg&(FQ@Yln zcw3!sEcb_m=P8R`gkF2B`v#i^M^Kyc45sFis9n&NyJO?C5=iRK|6?mrMLPz!wk} zk~}%n*(q$;(T>Hb%r*yUq;#e#8}wx-#vL5jMIr2IB`Z51#P{1=TVg-tf(-aI--C@$O-uA=GiZNOWo0?~!1=mpO0i|zdSlH?{T({-;HwPyt`0hFV zxkExzB0t$Q$$ULV>eJ?NE(3Z`d`jES26Kv~E~+&KqD-KW78B$8O)KLw%jvG<#ZBW@ zwVI`CuI_Qbt?%w^vI;Ya<-+BYfR@3YQm4W!nJDxmQJNU}d$B}L zDA!=Rp0iwUktr(afXei@L3Rx%o7V;)*s~iVvs@!UdH5Im=&<;2Vl>LQH%C>H(CkqX z>V~Tu=oj+-((?oCD88WZ)HcV>lse)4>*_JQc0b21ld{jkb0L^7w=42n zv5mE&boutqAbD$QNMn=`PUe?SfNewQ>5>J$&0J^^hHHN_*`F>1*zXpU1@kFz)6$OX z=&($$cjC=Q9vMS>=a$?1Bx|Pr}1@-w#D+T+s!irmH3iBdZv z**fI&a;0gOy2b~ao44X9lxmfAN?pP$~dk2ovL`E?Fwn|=-c~c}DtzzcsMUqRb*eJp6Bp0Vu zDeFifHJm#s-Zoo@d8hu$-qJ*v0gsMXi9!1p`YpE)gytUcSLS;g=hj*DAWh)m?G2e8 z-=4h$2fbHhLIom=<>hkjq~4va@xq3cAIG!0*?O|Hy?Szz;o4l$wnes1k@+99ab4Zn zsRSv9rNk(D)FR2{Xds2GOoD3Mrl#vo`}S(WuRcP8I~=YbfhQbKGe7k{D zO?Kx%2eHbk+vFj;uhL9j$^{qw&hTqzQV#lUji0H)lV8WYY0JftZNo)@*iara{NASP z4foigPdlN|&+RkamaE-(6~Xey*3%SOpoBDmz5oi;l*DnXsQAY5ka9 z-T@urB)gmC_{H4LzBdZKPVe5{8;kwyZ$9>MU>+~QtFOPUzpVM#cGjlmI}7>lw$Sbe zDu2g?aFeJz<5}?e9^pUHuQHQ%?l%3Nm`5lTK2DJnu~!3Ly)XP3;zc@wI0)1nZnKE1 zOg5z>`+2Z+9X9iU#L)2161T&sH*I?yDns2lH(lKk7ge^i5UlR%jNK^;`{gb7G+U=u z$nr^xT5(ae>7P;B^`XXyZRj4X;iQkNw4TW|Or-iiQvB-i?bOG_d*<^PBv>~EWDwPG zj-Tb+2nvkre*ITUZypYFhH|WB(+e6fFZfW)dA>Q?uNA>469`7y@L5213@I^nS|MTj0!wd=40qK|eqDEHSpYlR%q+{L9&3rhSOp?|mqqO>>z zM_#U3JnPElbKAa{@^FD<2>MlD^>N;lw?p75H~7&<+to+s(MHruJ8_y+@qzIztK z3N5g?>orWG_?&51)_ASzUo3)qZ=orBmd3MalyuL&lLLS9OzIcsc742fERSgiP*s<1 zF1RKea>Nh?=j-9U<>rP;=~67@qb8kKE>i{L3#c1z9w2A+Q1dgN3-ZK|A5ex zf)ljzkK9RnvYiTd?m~@bak9RJl^vt!;!e74{^RZGUa=UpgRRfprAu$6je60;hJO*g zuzKIYLVv$Yu{D2Hd7JEP?QhVq|3Xm1?{>qTADN@F`{$y_!MMc{DE$T zuUVA>+MxHhnu>&k)Qz8bHLskb%bBjaRF^X#7W+j1Wxh#~*+RHj=cP!;u#MSt?Hx^s zUC(k}N)j=^uYAQD+}75^ox6O~vjLqp|JPtsNNfXVX&gc&gy|U#HlfEr`CuQ?P>5f` zZ048igHM?%?#>Q??AZcTN?X*5evez!Kp7KT{W-{0N$Hbr=YEGzmFGHmjNjNNB4c5-G9wmBad=7&>3r;9Hnlj-GjslxIbnK|&WsDj}P+s|} zk4PAgB505J&bp%W{-03;9*3N)rtp@X%|1HNQwO!w$PamXF++?}{`ZZ7Q`ObCM?<+h zO2z}vP@m@d=E-qwiK8XyNQJ{8vxCB)8a=*t~yx z0mx|Trx_$3#D5z;LHosS_{hY@Mot7b$pvC!mxT`RUU#zD1X8(VdHLCah>Djl*Y?*H z)qZZ<&j0)wyk5&Xx4&!oR<~iK3&+tM4o;V_2W5 zWwbYRv1D{nvhlyO!q5hp^y$GU}0q zcnK?wQc76o(6AR7o$26l8pd`BOs=Lv5XTul2YK7nS;vi`?u_e=c&w$?V43T|@F@^4 zCoc*^QeP3L5W9G5?PqQGR;Cu_v(qMZJ}J#Bkc^3CTA^?`PYUzJzkNlH$YzC5~_u2z@-UDRBuxS(0Ljgf-exOQde1x6+!MP;0g{ra0!|BLrF7iS#| z+|G)eeEx+Vcl;Opih{Pp(RJz%>Pr0l!WMSl-PUJoq-7H4*QWi6Prld@qm8-4ozV2l zd+U71t>t{ZGiW<9JZ3{3w~%r6fA z-GAdYPXE*?w*eO6>{qA8RdOE8&r8LgqkHP@Sy5`D#&Y7sEOXDus!{vLPS+jp@%i3S zd=4`s1w~R_&Dd4yjgAc^FbQ&%@jl5rYbBk41SCWlgyN4CAsZ$=MH_%Q_0!NRZ`HshvOGrrU z?(V{!S6UC}A-KW(!q8AK|7H9sJ?`OKn@L+fBI%SBb(vc9pfnc8%jj@v0Zjf9%Wo zWK8#DYG8G~pI>8fw(imVJi8$7@D;53YNZZb@LMsEIp9vh(X&^t*2Db4w_YBB`yM}k zPqjqkccyD3YF2p^b#ila%Us#0t7}d(S9j$~wH zq_jfya2@5O%Nv?#W|XT8Mk1^vvI77ouClTjdUMUzmVaRN+m2YKmPxh`4A7%wurTei zQk6J{j*gCbvs3($t744EF(SC@yVf<|P+z~axtRzB%=^5&F*n7{Ni|r;7;v_Wfn{;{ zuJ((>xuGg2$YgPbis4v=HruBRKjA_?sI*^*D&OQJVoe_3lu(9H@{Gw}Tdno=^^KI0 zj}OM|EhVqCcD0>8m^C(r8m)s*+}K#dU#z7BdB&1EZV+i{jULgq7fe`rfiKrJGJ20O zes180-dP!6o^Jl@v%~rtXv5ZyDl*{xP1Q`AN((cyYg}Bp5A4-LFgO?P=K&V+_Gujp zSVb)(orJ|(;{M)YRKIj|?!0@AZ1^&47z(=ea4+h#zu2QkM9<>I19UGaTo>A1syKo& zj}mg8YD;XgMVDwk}8e=|C%FXJ@*h5nUN>+m>bdUcP}zjms5v zCrwq#d<(76XV0FEW*y9Ud9<;yv3+MY(8R*x4)i7^;SKuw`e+KvN6s(>^I9@OLo>T{ z0cUD!cupWXfZt~9cmANS(<}ve1v7_na%Xq?_h&^eresK0KoNav<@;p3k`~5sedaOT z^_uF<=On(wK`$T>zB%X`1=odcLEP1U6$imbER=ekwm-Y;!%cZ!>zRv*(h(!jeK$5X zX12Yi55L5tYHw#Vs$aQuh+d!Fxu+rcVfy+ks>JT=K}T9cgyrNKwJ!+i%(|H!wpeIMVWZnX_tKtKE6=6Y9kAGU${*Nyq?6yz$@CZ zil5~b3^y=0} z8^|8pL1jwx z&*tUJSGunzFB z>GjEFMxLkBEUJ}BwqkezGXY-kz&FR^+pX-(>t;Xy{t(IU zo{MGm4CU5_R1TYQZ(w>vc-MWsv)xw?c1X43<70NUHhjjW^el2YtGlM>yv}f>s#JsD zb9TS+D0!o4di%W{8kv)nl+5&mL@SGj$ozamSowi;>{q(NENfQqyzQq+#^ z6VG;LCn$0zq~M)YVvg`vdkr`7S}F}KHl2}?(NRoq>?UXZ-B8oAnS4>g=E-r}#)#3@ z1Sw>nI(7~#miZ?2%j@GqIr_(ZmtiF|eI?0>dY;nHFW&LMdAChnwkZ+3J)u=|PI)jopmzaQx*%AVPk`BtL+!v`+J8w8pk%gEmG zJ#_)I)FLLeM(ttuuqr~Rp{c*f{9s0*Rz6vz|KYm=+jW*n*ZnI}vgd{7d*w>S$T(8f zB*rEhl+6I14XxF(wo~6b$uA?5Hs4dVU*orI)E5lp&Qk)C%^hnqZlBza0fJ=M zm@}J|*GQ42EBnQCrFoO zU;jlvSSFQE&YIMbYxrhQCqDkAjyG^&$y9Xg%eLr;;mUbl7E+-@o$0i?LF}U)F`~iBDspA^mfJ=>f3uMH zKJgk_^JM^)f3wmMN`7A&j;!)3|C6~-7ou<8yUe$iX|6t498~=EtNeW56~jxHq}ef* z9c03PKaM#_Q}bWn&Llp>|%o`RNkph*IGlZ5G8}S&|{u9Q}I|pJ~E1 zvX9eUxIpQB73H}+YCZoo@XL2qVd1&j!1!4Y^7{%n@icVZdZ}Y3o80kyOzyKQf<_?)Pt7+wU@BjHaX|ePB zoJDr_vO&*9yFY4$MaES5pRZo$;tpJ^eDr5Fs^6f$cyzN+U%^Ev=#9&5;2-cI=hT2s%-^Op9r-tRY@1tRTbWc?SJe@ zn}Q$OIPftB2GWP~SL5eQQn`clMNJ(N8OL{eEj_4 z4IbkW_;oQ!tn$%nN|ytDeB2hqo?l!D=XWo1vag??^KjaAt;HLlip-Bziw8tH(0-c| zzo7wS@qxW#Q=F-WaDt?M{Nl4pVz#>sZjM2mqv+zi1={uSRJN?v)(k7NW_&SV;B$W4 zZ+N|CdIodnMfLMHZe(n(XbufmbQKjJHFF*m0z0%iXiliC%z&YIb;7o|JUrb9$L(XIG|D57Hj z_w;mMsZ&USA5)?A5d6L$&=~)e2>#J$F+VFRr%h3H^K@ceLKgH8K~w@Y=0A7N->~m8 zm8~tHm)O!=_q{)cNX28d6RWSTF zw;-Qo$~YGw=$utmqi0=>c(OY^YxER+rOcA#=VBAdMcoY4X&%l^uz|zZp=~(tw+#p{_hxB?$BF&rq8`*!a%W0JBEo%FK#H1(k49 ziEWU?T}}eWQ!dem4@(BKCEB)Thf2zN=E9`YyYp#_C@AXU_?joM2)zX@J;9qzL*@ag z0hfGwbwsw>FvmM|ag#?jadBWTMq^{?-M=}bo10fDcq0YAbI7E~(VCF+)WvlQVnkr$ z6y8ZQ><8DoQaj1aK;)a43&9e6yvRYk>wA&Lz&_VSawJ=uOMSf>%M}9VPd}K9g|*m; ztidyLDr<)N!uv|NG;&PDC2^x%&LZYUi}TDasqOYxg)W-fEH_$+jK;>TU8m+2=57}1 zVBlAs)}&m&`?$Dp{wzJc@%+z&xa(r7^c7+s$IEs$4_I1VFGj^C6TD>^wt8qH3k*FV zhrY7EMs2b4e&Ar`B}!2O){dCRGdM2T*!Q143UqPZYfGkm@K*QTXL#NNj~>BPn3s6S zE+@;CZ$&?Nu$rLwfey@CEv0N zRi_DKNL}m_!V^wgA2r>9C;)NAGrI8U@a@~MRGpn!@l%WCiBTyF-=B1mhzPzpu)mIk z+^d16aNEKu;#^9Zo*e99Lxi-i{DRWN)1<643ov2Uzmtxcnyc|pS1u0ht8!p=JUeED zDR3Fjk+gkn^)V|a#@mC%_??q*dNiwVoI$E*C;6$irZ5qb_V*tyHC%@XK`)nry$2mJ za7{3dXNFFEjvY`&zGX_j0{`auV5%c!;XTMbHp;g z@Xx|K#{4EWUiv)LdYSo|t!ItIXLkl@(JhQjgRK7!77vPFd<7%lnuB-b@0vauz~ zjus(#g#XEb53l*>I&eDy0W>rm#0O>8OU2fVoEL}g3bDMs#{CQoMTYf%mU>Gq_n8b$ zP01J(W+FOb&C`|fMPy3yOetwyPeWFBtt>1pN+6gjc62}v5G|a*GbQE50@1*1UXsXd%oKFNKBQNr5;u7hy9QG7UCSOTW*aR4mNZ*digsZcyrs} z!gvowu>?8B@<8y4Q7!)pt5LZmeQ6{iE5fIS1-?5xwH8iOsi|Z!JB(|gWaRCskT(9( z!$C_O82GBHa_OzfM?Yz^$B;f+I!*9FEKd|_jpRBxez&q781S37Xnj4op?+&IhWiC2 z_vh$r=E@4kB-EQvggc92R%bkVKjjmk;aYxWgy_Iw57v5@LJMRa!Ui}elslWl@?v;7 z<&oLVw7zRV{M6VNjK40PTe!W_dFw-$8&o^q&aX-;iesCeZ(*!kFZ1oO!ZIm(W$~qh z(B*aO6}HVTDyX};d5NK5$RW`WsyI_4^G!74=8J)+56OV`{M?K2Pghv;^QNmgCvz?P z=p?hV^BCkjDXLC|R9r8-np@7#$i8s|G;Nxxy6zEON)o+<=ZIo~AT4E6Wa7XECidQf z&6b*4tlaF94tu^AmTj%4$Aqe)g{2R_JprsD%SL-VAPd5x$6Bh& zoLzbBo0{~}(q&C`pyHf|TSW!!>*#2&!33X^NZ;aOONG*rmA8-a3maOblf~U{m z6IyR*DObhC|F*7e8v5Gu=g%(eE$M%=L*haYhjH%C?t|HN4fWGgD={7Ou^``>;_2E_ zc*?H@&%z_+Qu$Wx+uG+{Cs>uxv1dre2Lech9 zUIslH_wcYfq|~idXQDzc(0xcAP4y;Rq1suzf>+fmXuIOM05~Xr${^dfZ!4V{eTBBy zMwNNE-oBSRbei)`yt%d08Ka!*2EakTENUe7Yqs@F9~J29#S-Y~ily;IM- z5+FH`dQtc#;#FlTX$cgj7~L#R56zvuWD_}z%aW^K%&!jH!Rk@G6dt->XkH$HfYH~` z?_o)FzKQB%xzD3Di?S@V&yMwN{7o4ZtErp@a?n)Z}op z7oODIJgVGJEK>=#T3L=-W~Jg4JD~aefqKc0xetXR6O+@XRSFM3v-OUub-&jmvb*>j z!`*VA@RP2&yZeG?zosspKhtS;`KM&wFWGgi-}`+h&F$?9p(YbfHlJ<>L(+(N#a(hw zDH~Bwi;I!M%kj2>ikZ48X)E*$33N1JIZ!?O1WeXH{nmGCJ)geao{K!b@iN@v8wOr( zZtm zX}p{}l$;k88n*K|npv(PR6K$#L#{EvVUN#hR65=z_-IEuS67VW4#(~Te*W*s)L$PT z9IC9K1m0PHt36U55xRwxbD17@-6bLUsF=;;m6k?6>Eiem-bhSHh^PN2xAw=6fr)f= zjcMj916OWc6*&AsrR6&AX}=S=wbjT=r_>Qh%uLMg?4TCO%-b5xzIAxW)l;;_w!ey% zVq?td9G?nR4JgKn^%z!5O8Nsihi7MzQhy*T>1*`uodGp#yOXuD!{dc`D}Hvl*3+ZL zqrXXOM#B~!O-;X{FHZ;7AkAF~)3}tCSK$u#*RMmhj;+9?B77h_YV+)X{O{NiQC60u zkB^x4WaUbM>4v+za5rrlF;X40n}GU+nftYVy+PE+-L;j*Tgv8lrzyxdX$sJUfNg!GU!0w7I^1I3 zj>y&=kA0+}NO&_h7z2;3)aeMdp1^{Kr{;2T_L@P_>K?tA@Xmstw~yHL!Q^DJ>eI!V z8^~kD+{$SVS4wmX4*toc(sPxU*Ai~2I!onGmP)Vt>+i>J_4LF?izG_TseRz;<|j66 zC=^G5L4NqkVAw8s*}r>{?dfH}hE3(y$NSkTKgI?JJ>1+p%C}pL&}`P7+yQjg>5*UvpS#=pgn;q~o&-_E9z7YMUWJo_ni^gQ`fLonz*3-t6_C3YPEsf1049 z+fA>Vv<8x!PW}BL_Tg_%IE!GIctoYnRP}Wx6^n1|`ZLXKeFT*8Ez*LqGqXX(D-_2q zO-&2!oSaiL+t<6hn;isrkq=4Auw+0~uUJvWPAi4mtfZLm`O3?{^7irHORJNv?iG$X zz~Zqce#CdxEiX@;^U(n8u-s<9!EW}JJdiSIzAuBz!jcH3C7o!b@|!@A^4}Em6q z6`=H&Q=u3zsF``~nQW-1w>R&L7Y|OKQWOyw7GAYnIBiZAJ25lMeS5O+f|w$&ZO<-Q z1u|y15f8FwN@X*dF)=sq->YWSIs)r@H&x9;diSojw)W?|Jl{jRf4ef6GFxs6GSd1swtiM;NQ-{f4_f|$^7`~Q--ZlRZ9yC zZfBmr)zugReiZU3eWj2K$}{w9WxnG-i5u|uH-fX#!8uF}%L1lV75I2Tj|~Uo8r4jV znfBYR-o8ETbTE!jK!}5ygXTWAc$cy;v9SHnZ{PNE{>=n&UP5P#dv%kgCCY?%PgWgN z+1U%*;$34dPO1b;Tm{{oPp)<4CeYH;N26n~(9+QOb#`I-Us*^rtaLdXf z<1h`J8_FZ?h^wd#xGM%TP3(PY*p15(6F<6LH}-ZUq&_-CY{&s-^}mdH*~I&A)ACf&*0;}F&wm+t^TCesjH=g z8cP!PntvfOo~BjxO}*42s3TU%eE07?fpa@vR#tj4UXHH}3N2`xQ=dFpb!;r)jRvxR zzmk;1j*GK7JSy!fx3}*z#95zstv^=6Z!|$BCh8dp&PBPrggxHrm%CziWLH`cOBn4& z_JX%kw2?cS58qesll zQxDq~;8x-t1k9-f_Ch&woNoE+d)cXmb`@9|?|ANzC)jJ89(IP7%& zoLgLsRtCmWpJ z-ml(H*Mvb71)iE#Ol-Ebbw})P;oel7+k7Py5P4Ip1;FrodVX19EhfS4L^EU|0|V+x zHaiPfWaaYHHOG&9^4{w&Zte|YzzH9IG6B9|&+Ght=Bdc!(WdutdQDMBaIL-|e}ip@%{^M* zTCGZzc3bp({I#U)?`gsPuTD4zR9DBtcOBTMn@h4Z7@dOm#+Ns+vvDXv3Q7k&4HH*buRarQ&UmJ z4h_jeDh@v-WrBC>${#7D6!5p+*3F8eM!YPt%P;gdIx33)#tq_MP5Q7%7%mu01g`#t$^lr{K{v~21w%+pj`mP=_}w*_{~pX z>ynU+%s(uQur-QhvFhTC1<<+Z*RBx|67J+k33-!fz;VpYEpy!l|Jwh#xmO}ms=y$A z{o(~WTuu)T;-X_RVg=j`wz0;)elF0kQ$Lpmji5nk|~7eQ|zfwbVm1$+LCi#*G4_;ZVS5@QM7L(Nj=$ zZN5(W<}M^^l^5sfmBREgDTNghj0PJ$A|q;i67VsQU3w*y`loGdA_g=wV3oc!xl2Uk zp_s{RGwFC3q#|vMYZ&0V5BP=bDW>!C|921Mn|i@dnY?oyukx| z&P~fIU>)MI@0iz3jEvNOFl|tFR!#1^YL4P;{j#(w&>jAT($&??*J~w$i6&a*vVwK} zEFvc6g63yOha#+7J^`b$p@D&njLFQlxW2g=@Fj$8?E$Rp>L@T78dU51i4PvcqDoz{`tSQ*$2@ zEsIk-rYM%ldw|-FA@j)BXBU%{q@@>gSNxu|(dD;9u($lW&lWazUpYoSIyT<;rMEUz zk{2`)sP!%UMV#VXa-qe13*fVpp4m_EWh(rXx1TElRtnHxlDoK7sPEt3+}eU4t*@`! z+1YjFXjLJ1bs2OldTlWiU$hU}q9wi%LoWSsox+MplyrZVKb!ozO?lqM)M zlX0}jSO@eu+T!@X!-hYJ8&Ei5xn_!g=S~Yqcvy{Iz%Cg2)vNdf1VUid-5;KO@$kSW zBC22NO@lt0)g5kO#OGjc)i7?aUV8ZO;p$jv7@WX{6Y0Xh+a1c+$J<$G@1@BKKDg=m zv-%1tbPUiyM?*;o7cw=0A!=rB4of=c&|G9o9=sug#ecc%mz&43b8!Qq#FUhsZkMi@ zSzFil^biON3L;oB6AlS=iDdXed;FOn_lkz(}xf8HpAOD%ov$6017(A5r*^A7Q zVJ}BU%>ce034C2AXXm`);>O|OXgCiKBq7ZoDD_E}%EY2#0o2C3_Fh$4Xu&WTFMA5Y zCz5e|(ZBRsw?|E@SV7Xn!oq?SR3R#bZ(YcO5CExwlijCnV5?uwb-i%;?C!qQm2d?- z94$4qJB%hFDQOdY+1lKsTMDixOioR;fMci)f#ebZixl9afmL&SM7$L9=6Gk2Bx)z#-kj86#U{ayw;sXNKXe4hVub+ z3T*33O?zj*=nNef>AP3dSf2q=T0x#6VtX;(b%AkXFeiRydHE-_ll-M;+hT%B{5--k zHi`vK5PhLxzpRC&rL`XL7vxq~SHpt@j{n+w(ZvY?u=Q4ic*=I|a(bw9K(l5%1on*`Zt&zzeSg0K z7A9s_MDyO61>EM!>@i2v^rippbypS{HwLor0&!^?AOa4)lHuq9qP6E|C*Uw8Dlv}9 z$jCkn|DsVVGV0c`nvsDuRV%QCqxl_e5;jQEGyv!-Wn%IOETgqJ2nhX`n{2Dm_%bT| zghxhmi8wq$N}<6nE{@M`6D@eS(JL|<#~IZ2hc(#-$Ui2 zFDY{if(W)V3j+gowxZf!+iGZKfhQ}tu~{dVu9$u2{QMkF@nm-$`1PUy_JDSE8GPCg z#msqIw@Y@iju#qIQa6T&hl8B7Mo#L(!o%x;tdy=&$saK zF989sKW&%)0xomt4KY3)So${9)LaI821yxGUK=Jb!|IEX1DVN7$en~jmjF?kMp$U* zV|Mo1p`nsz8XrG?JR;xx4C*^n3kwU-uml#_05JQV3YN9AnIqV1gGpWvTzfaL^WUyT z2a^$Vd&a?l;`4}$*&bX~zlgb_SgyR#7VTbK%vn@a1cT%Taz3oi$5ucgYX&5O)!rQM zrUirHZ(=x`j4HVB`!hKi55&jWg#}L^A1qGO30-j7pm5>^m?kGY9dXAhE>KNs27!V@ zc>kU3U@QygDu0UpiQ|&W>ud(rW@dB+w9Gk@*@{tCuV!u|0z=ys5Lz2xTEZz6#A=sE zIDxBKT?BCYuiw7CGd9+^pXaN;D7Iz@@W+ozg{lFfN%XrUs=%Q*y2FJHspZvmN|&0_AAz~R&t5a38;j9NLF-%a1YcBVdgjhpWWgaCD5>_Z4p zH@%2aeO`XJU3myxZ~33{ScHUOLW}!;-rm)XjcLiXgq_boE`f3s1+pXq6)4#hY~RFN zhx}$I`^G>op0};WX@hDL(AF#t)-^Pu3l99W0a4*k%K91999RK-;VNpbsP7RisM7MVRxU@2WRw{-ouc=Vt6~sD~ViR&m zqUt(20>6GGg#(uL;8l+nzMDdq;h?Se481d8-2KV8Lm>hI`lJ!~{fD4Ga0Cn&q?eMM z*9M*9yk9`40T*;J0$>(GXWKh~%Ot0yHvX`y8eu+!Q`Mv~B)2aZS=1{cZtpw)3{NB*kF#|FXy4*)4^NymIwm$PPB)FaQp(}>ecy7C5T}y zEwTts&d$-15$JWkQBhHBhJAD*N!{Un^gfMr;*MS(9`q1o6yFK?6>5GT& z&Y?i^?|<5x$im`Z5k~s|=SMFxEYFUu{r&yF3OJWR2K)bko_fT@R1LK2mO0?$T8MRj$5dSyl8&70u$J#ZAPY;5l!%P)sO2>F+`o*q1(dn7EH zASFRve!QGHG&(vvGgDLj>53Q#VdYK&{~e;YUsMzcF)=Z;JA4P3B9ioCoyHr$v&$_k ztcN#rb3+4Seb4;V@!Y!8tu9*$g3Qloah)E2l)BnfF{W_%;KYEu$A6QXGe&E ze(~{?a5Ld7T5$%wsYFAQ;H*CkqR996_rWTAvsBn^R)=JMXj)l40a7vtL_k>Q$rc(a zOxQ1yqqM5xawfptVq#(a>FBtjq@)DO0R%4>L|V_w6N6Amj((nPgb?6&UvW0yrnvu%7`ig#5q` zMjE+sj08bO4CcC!vN9>O!a}P3B{=vds5x0#L+`dI$j4+TQ6A%-NLI%6Fv!er9HWVoaV|Z-?5jBO-au6@+1y~{z z6Vp(sB`u)qb$9=E2aRul!k8Vz8q6Cv-h*#zi)P0FlLV4*bE)OxcK>*#GcVkgZk;!N zmTI9d2!F7`RE&J2@iP--lb(a5-g9wrY>3eB;h_$VjPxW3W4N5bv5*Q--2s)LYVZKJ zAq7QNtWCjGkjciw(syMUxK7wASC2a(rEetk@(Re>OxKsW6+NJ%Er`G!VDrgCv{(M>uZ#3pus2>18L z9hZja5)NI!OGU=ri5{{UvNSY|jG3?ECE!dX;^lT%huO7`049A4lJXP)q?Y}HY#Jm5 zQ(v7_*zcsigFtKq5>_PnqDe9U361b2VqETcEkofl0S@Zwz6^xrdH_`)@Z7uiY-@X) z!OR4*C|?jyTHgaGXbKo61Be{9DoJPdGXPn%%o4z%@<@rG-vCrokR0uPY|_m{t57&E z^TNl>*0%Ft1eQn8VSHH_-M6;AJ-b?f(mD&6s+UJchll4K*Jfsf03*%i2!|?iy;$k# zeeeVh(csiVR#ujkASj%4+TNwCZfU`mlk2@-?*d*OZW}Uo=}HUm`Y@-#cJxE`ccfuS zC7jt0c_@iSTV!M;%q&ZgC%DW?vj4ypephNXeVLn^J2@@Q@^DjI({Ziv^5Q_gzO>0$ z$sb4+(1u{&`1$kaFl!exp)uY+GxKBRpk7OOvl7V9gns8hTU29x zy$4K|v=LLyHi)1#!^5T3Cl``^I7y0`ut!S6%8H+@_;2N5z7Rq4;K9`FtT5!}Aq`u^ zuz**m=pqo}i$vV4ySA?G3mcmvO&xC#I-t?9ulNKhGI$}u-r2de-?s$=TFUs{A4B`} zX+&RN-=al1z~5rI%s&Gw6$z1OfIx$C(==$eJb-0j^}c>bjQz3>C#(S(8G+cU9FoKL z@S!I-OrVc_cbXT89W8*MNP7D=t9H$o%Zq7r*l?I5Xj}lU4~9>0>(-Zy40?#cPfW(X zLeqW-s7sk@!G(SRdsQB#e%lS^YQE!v2|T0_(|CA%WfW60F@86NPGkR#LN`2Zlx9T> z$af*nkNthy6i~vZL745rVbWvVL9@(?9vHmZuo!NO;SPg!7}PC^Ja3R=^O0?EL+T7p z4Gw8P0?Zn+Jci5#|K`nV(4N|_)8T`}fE>;T=)!VkcWpEZP6FhDY7D4?0RoN&0P%J| zot1vd`#{cUHdTEIw3*sKtp+yIzDIKy-+@=_PL$gpEnk4Tq7%q-8BLT&!@3Ku?+Y3k(HedBvpFEVFPOaArq57dbjnTLSxDEMT+#W7G&P#^%}$#9Jzo`zW`5R(K;dJLH% zpp^XJgF{Vi4xWFqkO#JO#RdS}BLOyM#f(Dc-X)YzX=Fb=Z9kgzaeC>>zp;ibWH=18Cu_Jolb2Fm~;sHZ_N zgk;0By1KeCuC>?61uEboDNXU^Q2l2B!6IZC!2vo28*h-)gt~S}DV6HWV>>9OQoW$3 zDW3JX$wF|O;@-cU3O5ca-~W;-ci6G}KVFIa_W%7y2Nxek{dH|l=05{s08LCp>IF*Z H?dSgm&LiL= literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/pserver_and_trainer.png b/release/0.10.0/doc/_images/pserver_and_trainer.png new file mode 100644 index 0000000000000000000000000000000000000000..f41fe48920590333ad332bb51eb18e03dc251541 GIT binary patch literal 71688 zcmeFZWmFwq)&__sK!RI>I|NN|hv4q+65QQ2xVt-n-~@MvV8MdBTX1)nx{&VvzV4n` zYu5akwPxN`Z{;iwlT8pUKfq|jegZ>9!GQ@WVZkRMtP_b8$lwjAlvY^%dVx?z5 z>ug~S+zkfC>C6s%v@o#OC2+Pdx3pt-<|2B&gB|z`x=cqz@O+EC85fa?qznPSm8}5* z6D=d{M7c0H?guL0M)CjXXRkeMMMN@=%4?+^wZwN z@Lw%i+Wmbj-~s7C-_U)c{YdxEx`CpcpsVcsRuYyWEJ<$f7s zD|;(o6l_iOMJ??OY=Oe|x}e^1)Bi2~e}2cm*ClOhVgNk#bLmfiOaISnfA8m{13mcv z7>Jiqe!dC}GdCP3-9M*{8}7$C{UR6`FPNynX9Z{Q{q)z)Xo{EtZT2yv>N_pOxStgi z_H*=<&oQZ(_u&=LuqhowaGSg-LPDV9^C2iDU9GaOFbKXKc@5(lRyEC*F@hk`{z^!ffRIiqJBO`XsOMOvpi zY~==p2M)m-Dk2PQ+Mjs6cWzbCdymg~h+LQ-f@Fo?djKAvpqY9M3Zu8Dr^a~Zhi)() z6o)i~u$a!ppGgsEX>Fo|YR=!aDw$AXtl(vDNZlc3AJz!l9kQKSE74I1d`8KTaOW2F zk3VK81d_OGag2$qfe_8Y_Be>je1i6^C9&HqhS$iC#eVphuz^Ted@KbJ$|FXtMJSI9k>V2&K+M5 zX`q_5j7U2yR6Q-LZUWoS9Hf;-88p)pU<_pRU}PF(_3}e-FZg*qegfs&q6bhqh0$a5e`acu;Sc5u{W|XMUAqSy>84*XY7YhdK#|Zuql^ew?N}7dO zahVV&XFL3~9m5{Ge>Fysb@bXpdq!RU{DBWBO%9Y^FiKkIKmnEZ!`q7iN^^pHzJGi3 zLGSe&f-J;JQy(;{*KN({V4<@SM9-yn?!F$u3rn`FzaDhxIC+AAib4b){>EFE9yW^C z87a$_m~(5aFn3f??J4kLRQvl4v=o7i$jZm(hwt=^Jbvi#f+q(adBsn4>s_cAFz~Yd z6?j15U;^Gvq2MGk$4W4W`%@(_0z-}%@9jiRVThG1TuJXe-`ww+Uq=D~({XSAm<%OC zzzGZ%GTzzFhAc2pdTnaT_u>#FSy1~|{tsf5Br8x5mrqR(fBZh#g^?gpgWq}Rw!Ko1 z+!XN!if+IHMNj3s5r9XI`i}#O2t5LiJK+RA&U7Y`=RRW(Va-dUv(#RYlfStU97)oUkj;B;S zKB!y9$j2Idc@Do1z+C9ESKwfP>c0kNqw6&cov1gI7_-k}lav1Ta5}Jz=w=~xkARCn z|3dtM;neHs6Z*e1Dn7XqyrpkK^mL<=lY?fT5eUi2$(M=PmnJ4A+|SMiM;{Fh3^o%z1a@B|;855;_^Mzu=qizbqgaywJ@1g_ znD$>$tsnvQp4A5!E2$)dh?9C$=i`poV-0pjZ{O2*Q!wB;uYgyZO(Pf##C@KvG#D$C zCtvV-dYGv(Q*QOpY_$Jy*tkclP_Bh*V`EdGR#W6+G4q4)_F`{aS=V~jATjw4@b>f7 zcO9?svs9}L^Oq8}J$G9ZJwHF4k4sC=c6SRXl&BzY4kij0%H>&)31aH5bq60-UiJ^M zESnFQWl%ESULJ%-;Bus#7%$q5aAA&rm#z!d2i(=pRB5V-@=^AK*Y#>3WQ3|@@KMW^ z7E3W4I_1j!*+_5J=dV#QF>99Uz2Dt0M%gJLU%j>dzRQfR{hq^-nzs3vkA##o*=3Y# z)@jLwoJ=xhLw!Qy_26$S12WL`dV>}kux`$HI>i5JA=@ZHG1-aHx%oI28zPotIsQ~= zo4#*otwoXtp5_DZUT>9<{Jv`-heT{X+KxTY5x?9Se30Vq zAD&){exyFA?7dT5eode8h3(uU`v}n^bLY;V4`Nlydku|;-SZVuG&OPn&A@D_QroS?t^k!+Fk_5p*1`n=S+NBn)yKM`EPMD zI%ei6(gf17o>0tGPm`@>ucw0|`R@_^Ja_w5EpxT;*hTiEjy)*dr0S{?i*1j$gB05K zB}J?<{-2*7A2jun_2x!x^+;C_udYwlTjrMPZE}n4cYl*Tt%cG#22X~VT&;9`r49C7 zE0WC(=$D5Mq%^8-dCy> zW8u>=_3wiN0hn$sQg8w1KI%KS3JGS#Y|4(s78DUC(n zZXWNB79Gw>-X&xthAW8Zl}0fEO_6EGyBht)=Fs7%TdvA-d|*PA!kEeM@V z=>6(;Ll*`57wn)L+XrA(G=^^I_7VibrlyZK!*yNTsk6El-?x-Ggtrpkkh$*j(F4UR>m$$QHtbcL}nC!J-s+s!k z?^X}Da(8vW%jPNjuRC`Hs@#<4vc?0BtSggC1JjnruYtB+LjyDIHoDIy*1HO3bUUDG zD>avE7;2(7K;`50fj_4+?}JJ~kOA~Y#jmv9-d^k{WUJe=Rxz@N>HW>RI_RliEV7ld;2R&@y)A`O=*Y(`7#P}Jrg}tyJY2Bh@ zs>dHsbaCYMCw^2;k8tz3YS>zyD8RwYYA&69`~3CQ&iMC8QIyS4Bc*n`3zr-z(MhkL zqU7ltbtSiFNYF6AjPclAQ^nzndl@7Pfu_X=##*y4ugifj5qjh$pukBJG#)Fed0p`P zQ%kol>XPs}?M9W}5S=on9!#VQG^gtbrE5(hUuO7Bjl)T|xUILl%B}qU`(t-zrBDf# z#F(ESR39_iuQaxCZN(rS#8}#S`>@}FwfEOF+sXCTt9*7J+Kjj6%P$t8G5|~x#rqL3I%oN{#+9M3$}e%V0~Npu&Pvpx5W*6?waifFUGlJ5+GUCj zx}mICJxQPR2|Pb$!GTGey{=(|K_g@0=?Pe@4KP$R3;rOV&r2LxP}yxMJ&!;Fy=k_1 zKX6?Ig`A1M~NOCfi$>~Dxdbtm4V{TfR!fXMzXqt1d zH-*xYsfAB9_M@88G-ILGVm`~VSltj#&Tb=)S?GkV$1df+%COiHh<@O z@yDR`dVbT_<-%yI_@dT))_0JuZNdEOE)bw**K*Y9IR)eKd*#drVJRj&QMp7SS5HWkcNlNg?m^lpO;DXLG6mVdjrQcU7r-d>th!z91}R0pab3lN4~3>!wc z?$l>47sJukzKO$ay5cjNF zGQA$(D{DHSS6g^lT$gqWfGmxI2#DO!U)TS~2xe`*dU`Fgl7u=+gM8HX#9dicwRp8u zYk@t?b)}(Sn5Be0!hKiLFCPl0UYM-}XKJwe0f;Rvvr2kiuvbG@)O$w@k4)wx8C>r^ z>G>%mUv$`joPH3Yqmb@=-5&boMZB`sCq?f2WBvuFWe*W?aXXd@w<}A|r~9)*V{+4> zwGXwKVF3DZnH;Cb)UXC0W?g@~^JuXckUOkuAsb+~_3P8sc(uF~TaUSZ#o5hsgb)q| ze5`N3ttLehviLtybDRc*?C%SD+ljc`aGZV`wd$y&f^72BygAYbyIr%M5cHvjYfI~N z$2k*P*^l)C!MeY@E7JDTot93p+EcAsO-`#llj#jK)_5l-Vr2@*S~Qy+X>C|dhkK;` z_kN4hIZR{H-IIA-AFm!Vj-bk#*6-8Lc@8GfNaDxmUJB-<)eDTR{dQ#19yb^aFv-#H zjUbcc>v3h?<<4X@iRqtq)iYU@y5eNpPP3Cp2E}!T*|a?m!7=^Qo`wSP-dO-tI;GTd z=(KxtUUdKI@zAEp4ZNrSLrYF*32(dyh7rzj#TrvZrxq+G(|Ts}nU%6!a^~;% zDz50nks`h62Ma1#7nR=P{^i85ridMJw@wC zljt_)@D-DcQ!kOx(Klm6NNFp~KT3)+qB~`jy0gsKdYMvQfA&+F1$RH~C!}KheC$CQ^J}(Lm~GsYP>bud7(H1t!2C zL#+3M&j5U~WQaU02scD+$0qJU0NDJ2ccWgk-2{p#jaesxr37Y&-`p3+U~{xSgQqXC zvGLSEQ;J`_(do#t*2&l}Vp`j4(OwGIffjJc0-sG58*8+Mvomr5KEm?IQfswr*;zdW zfI|lCKgJdSR5P9|iichP6aT*3Ur0)p2Mx>j!VgvIBR3CcaUrTy_{{GDS>llmecQ5m zk%{u40Cz>eUpz5Bk=u)8faYzt=7l$oUEDm5-9$9_IOa$3O{$uIt=Ec+Q27>p?RP-94`pk#5Y!L56nRP z4S)m~=o3Q4>zDrb#(8^QF1sDITmx{o<*>;4lub_baLdm!4QfMl{md*~`!_sdzM(Su-kZ02sjlP9a+9IFDJ z{^Ym|F}3*V@eUCX!CeME`n(vNJ;>l1?Yc6e!SW@NeZ^@TpbQ2R{JHH($;eX9sLJX) zH=y|#9rslwx^Ul+2^rW5aevRqU_geG|t?z-KN7P?%`U zA-b8Tvpd)xEH+ISN3gmv+^qF4k=|u%=6thBEC)EL@@%IDz%6^K&-SZEF!I%cDczj$ zV*JZn>CPXrk5E0@WJCxSUOfEK_61Gd!rJc(p&Y|a^{tkxB?dDA35hT&E-tQRTT+^@ zdwlg?=Qi#y#zmUWJHy=_;!;Y*&OXPfqv^EhP$rqm+>n{u9q1=cO(Bs%3G0sEisyd( zIaV2fSBaD`fI?*SCuH-hcyn7Sr(#$TBAipIs~#20{_W;Kyj}35pV{$BN7=^4muY|; zefgv1d9$f?vHwPqw~r@Iwhx4~q#XN~4C>^BE*Y8}6I`Q%1 z+(*8)sD5vD03Nq^%VfT2XJ@&st#F%Gr4N;oMeKGyq?ocnWR`wU59X{+-r#8*-#t#EQ22(@>Xslup`DxkG0nq}dXS35fFFr5v{D)T;X^ z1QlFP0ESvW&L#cDEX1VA)Ia-`u?xGa`w9E(bp#$M-0Pwx+#iP^Gk*X!G?X2DTdQ-J>V z8GV@c&nZPQ{q*4}Z42g0o=Wvpq!kS%OT<<$!aUiFGxs5W?y~73f%C7E(?PmB526$f zr!sNA$p#?O9u6lSJLE@PZ&-i7$=JC>oTn7v>}{&D7=%|ODL@Y>4_aqWyk7oz5Q)V! zz%oyYwiC#Y@{h;Gj*hj{R(vRmq|z=; z8EwiAIHsW%4TQSK``BQb9-a=Pw<|S&;@8)<{#QxgbD{s>(cr?Z*Eea{z zGig}0!Va4bhqL)S2%jxM=yOck?%)HYDX4tQGOb!~^2Oth4AbR$=K*FfE8`%pN2q4$ zcNB;x49Esi;()tvpmr95AQa@y30(n#NNDLj zm+}ixj1Q#wVrZE1iP3lzES^f4)|xYiqF+AW@nFv7_rBlRFb5*wX}YFL)x(*B0TzC< zm1^~C51wT~N9%wGh=5y+%*+^%)ROzQ8RbA={kUE+KA|U&(>;^u{ybp4C@YORk`K{k zZyEzMT{h#BxIG$8WM~kUo!8+hw1M;nz;~Yy97G7+hd1eM+5wEe_5dEa!wx|A1q@^^ zw@Z6WbZB2u<Y~xqAh*vV8gjo)JzVG!vGlQ21DW=-{W9ApzmmeV=>X2#Zv5Pp00m>^zWhw zOu+8lX9!{;0#;lE6j9`QiwmF^__)K|-yOBR<8oy@pOhz&gQacUA<`eSx!wJqN?o(? zqvtYS_ipLOxQF)S?=^tKc7>o*xmUq8CsF?P=D_0Biu$Oh^~onIE(+v(6zljbq~*4*dpWrSlCPwK)T|^ovrF z10XDzv0&Z0G|3gf?=T{8O!ljK+IB!=CY2;5y>mi#@XIF}lOVuAKeQh~JxSF~^IWnY zmo%gbHPZUHU8+{Y*W`E*m5~vF?|I$PLfX?>XM`=8!sz1{&m_7Qyu>i*QHGe>*dlnB zJ8wbp;^tj|*w8ol?Z<~Tc}PGh;Fpt&nf-0TQAKOc@sD1mfO<9LqFat5#haT`U|fw1 z8yf;-0bGzprKEn6XS(bC1`$oC3`)*(H4jZ=Y(TcJf3m-wSAu|0f#kPsYXfZdD zuAPKB@2cMyMHppWO;#x$h=6;~d@?{)o^+1LbC2YDR9(&J#AbsRvYqL*ggd)ArEcZ0 zed6~5HxdElt$`uPh0W>wqtJC)(+PSrv8domm+Kimy}(CmpC3!=G-B|HV4nhoKJU)e z6pPn>1IX!0NJt3%?qspD6OCr$gqia3>E@tjC2qH-@?e_FR`O5sfJH69UL+VXMnXDn z7e?9V>#UrDdxGxpuxLo5I04bOtglZ*UMnrMvHP@Z@|j&;nzeg_Ye@nsBxVGkrnQxW zE{~WBcNn1S0UGSpnH;hE>|RtE8#Hd?a6qiJCQPn08^Q~4CZLA(yWlS|pSErR7GN0w zd^TNR#3dx`MZcgV?qgrx?K=S2M>&(*LqpGXPf^)juio|Q@IWrmv{mjMDE0*AoN623 zVKA9ne5N-TKuZ*GI*|)8_Nc(K0f->Iv;!r}DFH0I4`PMxjZ5!mXyIoqy)837mR$N$ z4bkBN)*e7^3)m5P&%_}PM!-+bXa*C7f&|nYTV$grG zFQu~71Ykmy$}hpL)-3`N>9*hcqA7)IanMj;jDYp(o1|Ix<})u`6_EyJr#T-R4ltK( zP|f_<*EF4g#Nx9qN=OmbAc{!7<^Ynq|5ooy!wQyY3GW6$TGoFYerN#Q<1=NS0U-B3V$Huk_;jLV+2;P} zR>}Bp+=}2EDE%lm-ZA{2^#WJW5_s)(seW(*g6s*h^W)9-C)e|xHM1xhTyzM)!FJ0_ zb2%u?8RmleydnzlWAgA(uI)yo7w`_tng~#{;dHkMPAC}no6SU(MpJZ|VkMaK0L^1@ zopqrdPT7XlL_j7$ zU>1bvKA#0qxpMjBE|N;vk&qK#*t-yV%}+(s+YVDn8Q z($NFJ9;qMa$w5}siMsMf)!DG*GlU@7OEMqudz3685~njt6M-t}bZ%xL!^F?NBIGOJ z_13bS_vcp{t@o49BAyK#39uwMqHcE-3PXrng5r5OdV2aWXx>jOBU=#=;OPwMbm=UV z%n=Ye%%Ttoz;=M_jR#0;O$rygpLl?20s{_+5?&E(ok&Dki2S!^k$9%i?Q{c#jBMbI zIcML_3`TIbX~3urfyYJ*0ovzVg-h<#z~nQeoIwW7u{9v^cZK_slUVP=9E+b;=xgFQ zo!+0y;v7@};xRZ12+?#TiWqC#X~G=b=pF%6kR}R(o$8pr z-dx(3W`sqR6rj0-BGK_Gn<)o>!@%$bX6DSGEkL68Z;KQ_mvPunaG3ww!g>RG9s@Eq zg#WUztp7h#(#JS3BDD)(3dbZ-$*^CHAZ2BFCBlrP#zq+Ez0+_A)VK}LS(R)Vf7+JZ z4&Q~@v$@(KSfe|s;8jFs&YRi5LgZpy?DFc zBw!Ov#3$>e2q?aob_PiAacO8Rmxk-c=_};op}GKc?bMEHd&ZwAzdTd}Kz^(NWb3*5p%v^3!!1Sx?yeaduZv94i-C>KI~R2^@}sLHV5!7KdhO}$5PKZaAfOOHJ1`ar%aWX};C;zIq!Lq{dbtgT0iyS# z-{++0b!!m?y?>Jx0Hs)O07cj$&}1W+mknwnK#UbrFz)WBBs$M7MZf< zr(3L>jXG@~t2S_@@>jpdOKh>m@?ygZw`-<~pXMZ9a5(Dd4#^(5ySJwJWA~CGLv(`| zCW;v||0Zf<_KD(%&bW4_{#o@{!Q3hlWBqk@mWxID4KDN31Jh->x_7lEHZra@hQXg& zp&rBUIgf&fM3l7(?Le0*?u)@^s?6CD%+)9jh-LDnsN$^biLkV8-{}o1oU3aSXPVy_ zy=9iTg}Gy){Ves9P@a~Ls8PYx<<+0`>DTdJ%+X$!^ZJ@SK zwAl*3!$&MZH}GYfg1GntE{*{yDNunFh7%L`b6N}B^Y&AnJs*U%jOWdrRfNO+CunEg zs7Xi5!i6e+J+9N0hlEZ+dGUV8@=J$Zl)a?e?*b++lD8xSDAKZml5N61yW_U<7fV=L zN_%FvZBGz%;!lkk3F-kxFUA$X>*z|k)n@m`@fYq9847x0(AU(2iTFlI;u0D{i97oU_-c#1C zqtH;u(L;?&j}D2ec}muAIn)h3o*r9O?3*JO z#ktVd4pVM2ohg}3(`{l^OgO#$iY}sUbXaPKZovnIxqTq9G4wA76SMY;pMux;;`X^K zPa>ry#SR#(1k%}6O(19HC@hS2EOYN5>N;W zGs>!%0H#YJ!5?N{lT99tjRl)3#-XiEcrzdsOB&=D+S#CX?7GA!e3-jF`Oe5%#7I%nUS(r3moBk{N<>zSUE1`$})E) z^DC6yjZu}Jgv^rId6G$`#57j#_0X_gan&1%Or4tElXIU`-IPczSH16F4>U>8E}VYg zuCCvOk1Ly8pdbfUC0}@KxzP4^PvI{TI1`CK8?~2DikkST85I6#UwgloHksAR4S|n8 z4d=*SCG{A(X;rLbihbE2yTS@UH&)95wv`_w$CHUuKd@M8shRKLPxIBgi--rbBc2!) znG3$w7l|fl!+YhW)Pd0+>TZVp5^l&=7qx7i)V2`UwHaHz)gE}qiTgX}hBSyr zwhf!I(cx!RM*KkA^8gq_?0LFPhqXx@pvp)B4TyflLnJ1mzjn}FysrDTZBZD)6b>|C zkzh88$JC@{RT)#$j6YUN0`JPXMlSsJT0mEKTKj6ALn}h8xSCr%j`BgKC6r?CLF9{l zn&?nMDTDCZ%7pZ|1VHpbfD|0S`xM}@-Lx^hK2Q_3{CR^Pri$Cz8U=w|dB;G?q*6bv zCIrV@u9j3qsobRfndrKU*l(@dj;PBh+iCiF1^AH%^R{+Y7zV!%oCc)rFYLxEyHCH= zn18)7e0v=66u7m}$@#paa2rKLG{fqZcEix>hzbvdeP{^#$y+6apmK!xft)We8y^`9 z*L(6c5(GYp&J(L6dVI4ju4=ALz5bG`W>oPOO_m4Gq=}`WN|EsQ&MCP7`0t7IgxGi! zoY1mNRvfCIoa<8Cu+Qkn`wT{a!>SMG6RaPh&rl%#W0CS3&U%vmI&?xGakWEcfX#BZ;yW%JiOw)GY(}(m^A)i*R9<5JFh)Iyt0ODet;$n zJ!BE@IZf0~2!(JEHKHGVEmq0&$vdt{;Z37I={vUiNjXGH(#1!B~w+WjNBDUY96}MckR|pCZp4%ofc&Sv%pD-oHS(&0%)*? z9UtdeQmt!K^2OpP51O#?i46Xvfh``=UkznA+Wc*SHH;U0nH@*yYZoby72=JDWHJrP z>v5gMAd29E3>G4T6{;RmI~AXut7&&NVTp3yDu(D(t~I}qJZZh$ud?W=u=|ewN~x~M zeh22b&gx0OE^c#)}7meEJ?wJC9bb=Qojs)5?g)d?&FqF*od7zK|eWy$c(H zrRrwvo`;J}36r^K$CB32iwQ;4rq=ym|VvSKAD;3DciVDX^|PFWF{o!20DpqB-N~@00Zl>HtU{T zU2H;G$dg__AU+rG$O8K3!V?(a+&G{3EF0tX9wei!EB^-iHYgNCEBM(@(zTbH#CN1$ ziY>8Wl~9V+=VdQTu32>Axdxw@Z%nhZ#W1vITkI)8wN{#qp;3uX`CoUzg)I)|WA_9Y z8lPio_XOmdv8uj|2hdrWhSi0J?Y^#H-bnG%v4X0hw(r}x$wH_%#?DLUydNCV;x-4p zm%YxkZKul?kbW%Eo#KZJmVWfa*=}nUV!!b$iFevkZHN$`gcHn@c%LOly0>suZj>69 zuqGZj4Y(x)a+$Mp?6*KJNYe7_Z4_(r77WiJOTHQqed}x6shrC7EC;ipY9f#i53yOi3@7 z>VAg~OvG|fa+F{nlsdbV{{_zO+y34Nj7Ck3-=i7-qb%MRdBh|6DGTC}w}3(oF_7>E zPk4IVI|8@#l#Vk~`E!LHoAosAl*ih-4+m+bsOM=BCvW5f^Yr_I1Yo0MixZ@}!F-6C z#R8edtXz4kL#-Fj$45+#N!P`y*UpzFEBJefpJNN6)&44fmJp)2w0sS(aDQFg>$2$V zg;n&4RdG{Ie%k50vg)l>-3-A}+8_mBDE6@Su7-+cop?M!$|hh9);8nvG5yuF67i%3mmvYqcyzCAW}mL~Jp1 zXuQq#`<|%KfYkdD+?fWQ91gBMq|&>EkIv6=2!W8maRV?XpC1Gtj|B&%dj`*z{;n9#tN%mKGt0 zVnAxK?V6jUdNz(t7BWECQm*C@lqb|Rh}WBfuN_E51<8=XgBV`66KSgV@cD(SSib_L zp!GA@#K@6kywLFn5+Af!RN$a$0z^c?Qy8Hw6X>2IuU=o`EJbQ$>sbp_4@GiU%#~0g z7TyWS(yQaR6zLJm#$kO=gA2ofPjhsAJSar}d4~^?E*+D(**)HRyCWinF|Q|U%4h}N ze8p|u6Tft!_~Gm)QUwm%n3y&d;xE&}3QOG4ET3u?oE;BrYoWTX8#4p*oR8Trn71Cb zKs#g@k}ON>>Q2ySR7yWDL_36wLcWd(>)aU)06-z27(=0YS#Op7Q&=^^2fr3#ahehd*S9p-b~A}okR0K8RXMCHZ&dN;Y} z=kzL9H^oTgJc+=--mDx7HU$JrHA8A9z^8r?i`v?mcv7x7cYX`3joQLiNx2p?uXv{C>v zoX>@+E}(y%IH~YA6e;rS=~>P@^>wXr+92I-fVE#1MyIMDCsVRa1rcQzaY9Wa^#oGN zz!5t>$l34`+el!d%3E7p%vQL>D%O7P(rCkRlyrzIS~WJCu9XkDs@Ya7AU*?hSyqKI zjrV}i8c$ITtM@MV$us-I%WE;>0;o_A{c>P@)f%H7VzahDE;tR=ucz?`6%`&JxT)@+ z#lJm&9Mn}-5H5_a$dd?C;V5O*{?0W88=r${ zqe&rEU>*u$=OI4c_x57IfKr@5B?R#a=SIY#a*b>TmJ;Y~g3BVRGn<2LjntKyqRS%7 zlyQzqc|K4Tq2;wwpa~R5J>gh2;l~cmUzz@Et*mY{OtaWsE#n; z7|}vi+D9HNs)w!&6-*l0Wfm5 zZ)-kGnAH~7auva}L^kA&Ds_z4Bt+_RfL=xZK0Fo7V$ON{EaX{XAov9%ptH#`lKLsW zaQf9Iw&OWgrVy#>rHghIZCv3v+$Q$m)aQTXzv6U&>f=`W^`}MKC3(~BYtcjDE{trZ z584H}N<_%>#K5V#Kc@!RY7!$%D;zfA2YqY8ee>!G#JG5!QDpG3(Ytf_9#oB?VpBBB zF}={g_hUpr?Q6GzsXyMldd*D3^wnza%*Cd+!-0_V36+%+gnO+K07WE?VH(GT6;)<1 zoUqFq^A)iFL}X^ts-(;ASIr)n^!e*K^=xpiDrc!@W`d*zHE|^vDBRk!7J0;=tHUDk zD8g6nxxv)uX9_=dx|NNxq?pDp|5twjUZ?^DYd>j%CTR#u2-CciW(pQOXRzx#E7;UV zMVycjdD)9{+3&QYIsSEs2u^~3`K=$ZPeDCYb?Y8KW6LGY;VFNplk#Yl zQse<95#5nJ*B|vk`3o%T{y9w-DOd)oF^ATHfucC;SN$U(;2kqhj4@3^4%2fC! zLV?iLz50^YkF$nY&{6Fqk6Hvtt^a;}2Pv1kPvAH_|3yaxiUPBA4EyEkzieP?-vu$r zm!f_UK5uQ@Q(_?n28CnrgejAgc^#RN(4o7#aZJogUNU*sVXzy|T3UEe!8-vV{F`lO zDWz8$v#P(fs;e>G!i2l#0eKbhe>iUdZJHG$&IJ(&dF@bm&4{d;e8`^1S}V34Tiguo zrbqFKUrRe|Uq*vaKxf!YS#Ql^vchyfwC8uR|IxDUocif(SI=)e?7vQm3uMeoX+MNt z%KY2eAM`#Jp-#oK|*9d5(8MO|_1W^fF<&!JF;jrYbOMjp}YZ@`UN-6H1ucLl_bu&<sWm+{tu9;P&w@G)aZd|6u>FlhWLzSf^RY@&E!Nk4kweY}>;a&=hg z`P^QT+@4hK1AXSh<>uXZ;Td*}=2+d>b)}fs|6U=TKOubfROf-cF(sCC*jYx{? zELIfNN4pntFcEUT79u#$CtuR%^1uh%5@K!bv>3KT1w8B?LZ!01u`R)T2B!X;e&v+v zwA^T0BKd9D9k>eR#lfdtj}dlk){0ookn)$Y3(?SBhiGscSk3SE?7o#G@8QWqH(1q3CFaNtGVJU9Wn0#ulmQOoERJas z$_!mwCylDPs(?fq*js0@&MZUlland$X;Mg6V~UnDIpWL&Y7K|8Pwmi1nPNBIdqORY1Fzp2DoR$rmGd^-TE`v zz26TtTI#s+!@b-Cl$@FavB>2c-=DWL^ol;hz;P;nbDp_$966UhSF-DoSWhu;%c+W zb?_+%bf|5q9Av8O<1@t_*0L>LAdhV z0f|}q4h8FyiM@=m$gzI3j{TWL0ojElFb_+=lMP#A1mdV@@U%HaG)y{3cq|n-KY^S0 z!&PDM8b=vfgP&2lyz{lZ3UM`(f+OWe2Ajn(MC85f(`}9E8%DAO1?R1jaRd(_MKF=- zwT2_x@zQIhrujO^Tp?pAKz+|}Sjx(#pxiEuKl&+$U#loSeecqqqLP;R!wAC^C}!yrkdmB@7Wp0YGbBY*;wejYoJlWhe}S zkiGS7%7rVm>4ARfu2MxSEUrX{?MvJ(9Gv{4> zW0ygs+?i3oncwKLP4h#nC$JSWu@__>BZefAi6d5ssuu^mc8ZOLcJ{7o7pBKAPNGm4s8rV$sAjaJH|4Lm zJg6q}mpy>e);LUyIOa2`GNJH_I?f?#OcO;GdG>7Y3)ChVrrE6)W?Uy}D2qrcHV2~< zPP0s7HkG@iuG}q_AnNM_AF%_gs9kMMuqW(AV>BI=qzV=fZ!;GcWJ2 zrIwu-=+0cw@pbF@$8Q1HmFInvrHV2D5bN_k;%1nFo&YsLXR&H?X;Bdr()u7vwhxLG z0YTHO?fC{XE%rqX zMQ$BjmOXyy<>k?16~^wH@)@FsXMl1{6_Q}CA1v2877T2!i6v9!(T`&Uh(D${QU%_( zmng{^09KdBYFNZJ`hz?x;azP^r_&GEoE4cu#X;AL2eZ5FV@c&b*!X{Fikrvsxdr<( zgwlhG)NSvSEVAa4FIAVOw}xoUq9n0f&L+qM#n5GcQfqxlzq?cC#~WZV2YXCLD9~5< zD}4|GjTo4!i@|A=)INnf&q}RH@4GK^D#{cnSb8|}24;)m(j}DAY4bjKeLI--l|wID zU)e%G+$u_UR{3x!)z9@oxed2kJFvEVNHVVKp>k4?RBCRHiu?0v>@}rBbfX2lB3;-Wk^-|bGgpo$Ix7k9qzek&c%j*M zYy$7V;xCwfXhAK)t-U@|7po0cFxwa&Go~n75Lu+f@E`)JjpRk4i`H_F#|AJii=w?* z$ZQ5m0eHVWdEr0uN=V0TIc!GvI3EC{>wL6tyeEI(7$flELzY>_W>ekGmr^kIK3lRs z%!1nVbA_kJN@K>2!yh#R3p0f9&KyEbuH1s_+FFNVrx3L)V-Bhwznh|B@4d3C;cfJ1 zSla%H97wPDJ}Z3u5 z%IMg8F=t!G6zb^VD<~pllGQ|wJB}cQ5P+%evZPsXuh2n-FR7pAzX%KT@OtPJI9n>t z)?6dTZXJzer(+Aa#O!5u(dK5GE1EB3J2oEeO(ieuk59-#Q|h?youoWtyR0uD+VEur z-wpTyh(vE(Xu;g*`^VHLw*!>Hw;WLBSD__4q-vF-s5ZwRhWQk^A7(<_^)y|ca8DYZ zn%^|4Z+hM--rJa;mg#FtroQ4ld3U_PprnAwk^UE&3H$Sc#u%C>&-E+3UA<&o zVbMaHKQ&~o!5Gx)-_Zv`s$}As*0mU-rGNR4WNv5&+zu7nh)K)a4)W+nH4@K$PjG0^ zU$RPinhIB8yr&hlzM<)Qe&LJ2=a>Wl&(6bC!h#Sz{8@V@yuA@h>U5ll_pHNBi|A_$ z2W1@I6AHY;3cC^CH74SU7=GGAGu2{&Es{rMIq4+^i<1 zS_f98wI8ux4LKS_6<+TAn@XF1yl6kxnEa{5hKU|=i~Z|xzXT|}>OOQMHvgHy#Hy|3 ztC9~t3Rk7m^5dd1no&hbpYr!G16~Tn^pI4$`I$b%jNt_S52D5eUP1UBH2J(>5Yn8` zoJ)u@d*MDK;9UV~ghq9i;LMiQltm09-!q{p6)!Cd2K(DBa+2OXw)&Z(qi))bKw$MP z?fF6JBvX*n_poWG!;U8=SZcaWC){y^bKZW8N~1nlFs;#U!~3Dud~w8f&#R$&$aXBa zoYMS4$yvpq)GqM?T==cL)vTx=k1b2yJ)jK)DGH^SliLUjARA?rT6!VcY{oXb%I00L z89UFet2``<19~D6*;QfWZ>Ch@Mg^07@r>8XO0Nc3c74-+F@6iG>{M1;;)Jpb)G+HD z7!(+{3;MJlMtuO0QTVt9bOA%C-yi5s329xJZmJpPi_j@>w*v<5gL zdiv8lsEZfOiR32DG@0hlw#H2C(%bLfrBiSWTu)Teq8798B^o^m98|dy*P5e$*`E(s z6n~-*35QWtHqG#aWJgRgzTK=Zy4Cn<%S zqm&p=#KltyCKHN9H|EsK7zpbM#ABQG$bLq{Wio||XqQWJgp5CMLI2a&47>n@5Z@#A z&3v{}&pF1MBE1eN9(W5(uRn(LkM0Eu8x)q@MpO$wD^8~JFa-%x22`h>=1e?#r2Ok4 z>Q4-DfO4fGN6oL{|7VS}I)nO6NBJ8pCWEJ2L7BWDcB;uBYX9i-mie$VSw;JT_20b6 zDsbbLS(W2>dwybLf%UXdzTMBi*};kcRZp|Y%DYV?nk9frp^Rs2#O6nJ&dP{mUaaI_ zwpErjujO9XTF>C}5<#swVY(9vgJ$w8;VWQrfcHJZrKtHNi$g5kP8M(FHh!u^zqmr6 zt~A$X0mS(9|E5)-zzBnQ{CbJ)UnS(l9{-+KKtC$NYFx>t@SiHj|0_$5Az)Dj0`Hqf z;rr~H6EKVq&?r*2$z`Wz#6o`g61VUeNUM4o24w8Bp)}ZL`}!qVaw9{;DQwU*Dro^B zC4S~Hk#%MNBgiBAfdP89UpvW^g$>2=B`^`F00Rmo9`gJ{GXMM4 zH2{I~#Q@tf2-#@%p9PH1m0?+?(P(gd`@7fI(|Upy;3ek1^b=Cf6s`2gA-sjAxE z+T#6xP<7T}QEp$nhhcz0q(P)pN)$yphenW48WfQbM7pG5Ko}Y%M5H^UyGvS9TDqjA zr0ecc&;8x|Jo69d@yzUZzk9E})_1M_Swb_M`DQcG(XC^U^4TO&nPab1&qv?y$vL@L z{j%$JK0-hH=TxxqAQJMQ0Mmr$SgWHwR2zrAa?lWA_$#iotm}$v#9G$Le}#VJcJ8Y&exSR=X_`e0!$Q!cd(oGwi!?ChwsT=*O(vgVdB$5iQC++ zyR*@%W>5c^`TZutVn~1kSOqd##xSSPeqRXk!8T+=z%kL zI`n0EzNMKcr`}|#M{e7DN_I4E|Ki@$*kD+1 zQyg3??VP6yH2F2Z8PWLe?&rB(N}wu+=)P3J@P8p;|>zVMe z`21|0{XJerM(@&fJxxyRN(*%SfYQaoaql7-!Nt4g z==&KWIsG58&GkU)Z$#Z-5vmwx_tsh%`OobUgN`T|jim&mBJU^?BAVc}6Yeh3w@8qr zFWHzvOg!AtN;sJacZtT+eYMT?wb<}?l;#ZE<;{0-wRzenrp<5GE=H``^ok0)tFE{7 z`Dn^s){x#8eioRI`!J9!WVADtrd$5X1a?&Tnf;g=DZd_mkA0Jz5u~Dw14~ivLy2eW zxzopUUMWua&nAyYPF$DY5^s^kvfT*7m=H4JtPJGN1mz|(E+YS2Wh}5I5*`jvXGXzt z7(wx`dEDObGI(qhy2dkVAt(^uZtt@c%X4x!Qe#fL2lG?RDDU^{!I5Fj7zF5elmRhq z=-~2;4Euf<8^f}DwTM~ceaneRme;M}@;WmL-}j_b#_^hQ3cSB(A}-GnD&m#-@SlAc zAG>@VsdlgphI<{JR_1`D)<%NceN~lwsq%X<*=Kq|cp9I6*I)~rQ>Vz{8BA#!(J8@x;6dP{IgbQ0UtGeKW^Sx18xSYH3*+rn{H)e3z$~AH!W+wT<)7w`q9R z_5!plwVYTq!(48W#lMpozRr!2wKvYp3Lsvf%D;G>lCbkNuY@c0QtD;Rrim$a>vYRF zWxH(qt?YEq<8#%*p}>I0Y^*(@4cZ4wn`zUxgBtE$wKVcxr%FaeO*?K!(b#+Of?=GL z<~V&PV|$U#&QT%IXFT9_tf^Q63bUfVBufAVkfBlG1@(^#BH^E5o!k`R92WobzWtzz z{SP|D5rPo3&wuJ9OtNM!3i}MLaH`H?1^G%N<8M7%IxaC(y2U#7CB=j?{#Hg$hwia! zy}-*?tla2}bWJL?NzMGN8XPh%J(O}>B16V`JWFtK^rhlbI)>vanku~ss#^}#r-rH* zS&d_jFdC0N**wEJ9WCy>Q{(b@)Yz?0<0ItfeJiDI%&(77C)h4avFRjFRK&=hA@Ft) z!jE+GX*QDFvP)*Q#rH6_boaGrSNw0?*K4{bbVS8kr=9P}Q29h=vcpao-%6id??w4+ z@-Mza>3iJj>#4UGw`nhkUFq~3HWi1H28>W{eWPh`bmEFuP06q0cP4rY*yS~=YHeDD zMp{VS_gnfG$Qmn`Zx2R<8e)aH8lT-OYmg;-P^MoynAlJ9_k1-)LANLldY=jfdh7D$ z_`T=AblQe+XzbHAoHbUb)EyrY4iImAZPm1J&PsMm%AA&0DXXlGzH7SjF$lv!PhO@b zJlpVVnN@!DQy^|(?Z?(~D>K&T0AlWA?(fae(2Y=3_1Z8*u zFa-i+W+p83r2(5L!Cypk=S+(tpG+T&&=Th_JXOd0c#V)zF}ahoM&2? z)aB#T8#TGL?d_UY<>q*63wP_@eLMOTGp6}TiOR#ip{T;^iaLgcRc}RE{A*KdyVVNy zWRK*Ezmo4C12!*1zurdMLGE`}`f02RBQM!K)Iv#6kCR16>e2xCQpWg23bf>nS3Fz! z6WlS|YJ2Z&RV$fvdqP1Sn*_nj$10Nuj7{=a=@x#1)i)zu&m7Fk zqs>bTzG@j0IKkVI03)&qDoj8w0Tb7I^vgZdG$&7W(i9?z4q$6Z3vK6p|7@lvVLg)_u4dWn{mp!}*Z5vc~!19=y0K`12@ zM9bgCq9_E4Z36`uW|pj27`YWBhkiEQ&k4u#igeXxf0p-bw$b(D@pR8(T>oEL5!@c6 zpEE}7>sNB~k&1{%{b*NLdSUC$UiRLJ!uRCTH!K`R*iz<F{+)51mQqvutQE!&3uqhpiYpo;0$qd>(mOg#o-vbUCROAg#$ zG8q|qL^&({O-uenIadcbKX<90z-bV9)_9`o4sW|u#L?$Gjr^QE)-m4-2g*td61yB* zf+*@n0Fn-~HkgEez^16Be0x9(d3Kp|hoI_hyMxQY&*lP)8A^fVn!lc*A>t_!Z(Ef= zEr&TKsN!KOSv(nh@ATrL`?54Kqs#)k+tkf4;wEox5C`8#k?aALe$4q{?|8DDr;=>@ zo#pOlO?2QIOfb{%ia@#1izN2}XlTMe?t;xN^l#f0WgWdkk?<2@)t9%Mf-!hSpQ$x; z>Zp-ozMICW=jl>-SCb#WKAU;ND|10x<31@e*&Jt4rKH3Rh)!-kG{K?K>Z*&?(f4d$bo|T-FUUIu5PG$$?hV2KKH7*>H36q zsPcuCI*C^h?7HG2JI}{>3F|I^8(f?4sORgx%#q)d45T@8j5|5#8hEuTvBHbwPkk*k4U2j?y|m8KeS;l&1U2dW;KJlf+$Vp6FgcO{Qe+C*=f~08E z3g{|NS6V^IF})tAh&l&f)W8f=1WbnQsJX}}qNPlk|_jvI7i zFZK|&SvvIARX5`ya=ge*)j6g<()8MP^lsQ*l1IyNY@g>x3;k$Ua&nBy`)HMFzulU_ z-9NhD}zV1;0+v?C0vSKpM2I{#C;hfhlfB-N5!P^PEwCS?65)qit}+`=(48OZ+)%5s@lj zVMdB0snKzqNmS=3ce*iVSm`iGJh3CA3clXYTreoACa!)Swn(TEnX}T?MWlH$K3SHp z`RyZS;X2N=ee(26QW~!(B|Y~(y{xVq%Vjb;eZp8+Z!Y8cbftG|Qj==*3x)?>lqKJy za~QbmXKV5X{4NNR<|q@-!aFx?iwrlLj7$`}ZrD$tfe=3t6s2#MSye=ZtyRpPdbHUs z5=M3sJX(19j_Y)|oIFY!-Lb!cM5)N7pG~N;kJglv^Qe%sxhPV_n)nNE+v9;JE#JA$ z46~(Czy2%JEACmQ^qcgjFVht7JgZsw8XAk*jfB6TZCMHb)fF|4N;b-*ms0y7msO7h8!>mSRraY3jKH%j?lV^LnKfy!4BL;^TGb zOqzSn3*j9P{GjfG&!cdur-f!OgE)j}56e=Y>Z>E{$}>R)QA}JQi{ZUejkHo`9P#s< z=QZ4U>bZ-KX1W0VL6keB9~M<^F-ffWkyD4YioA?+O{J9GE(bYjAqW(g{{KgD5#cz< zz?U6%vU>2!0Hj-Gb8n13%`@yvw<}8Mby)IZ5;ehAXIOAc&X+p31t}VW~N& zTtJcpxK;bWBuG1jl)iTLITdHX#Gx5*B^?Q>rlf@B@qV_!4PW^#$vuiJ?Xn}D-u-gLn zvy|fZMFEhC-rsC$`bH==t#fnfnNaOn=&n!i5HJ|1PxC7vSM0w0gJSVvR!x<}ya0ro zwb_O`Xc`fAoxYE+!uxZhA-l9hkE5khwNHq)V_Z4o^ic}Ym{_kdN zGYTan26ujp@()@Fb9BnGp4yCzbv;0rPWgQ-r$zvq-pKnXiy5?d%#@fvZCS~mXG#evEQz);O8cPO?|&LE3S0Qn%G z!R`2`-bV`Xi+7Tn0SJIn$zSpm9Z%bbKYsT>2tN_p>f>!Ctaj%$ARyUZUmi={tK28i2*^`2 z3~iMD8=He*j7b$hN)#th5r_@*Ul$@K0vZKhy_*3@q9;ir6o8}4Z#4YUiq3V7 z;aDI&EzRbjkKd@p2lE7=T86TesOm3|rp$hnvx7nS)!47re%lB4_*0AtRWmyPd1)v` z0^`7QptrXzN=58VYs(oZmu}D2bq1^goQ>#-+)_~ak$+}I`0O3CFd2I1Ur*2`8aC*0 z{S@-;^<#Pq7^tXlUcHA3^c}~s#q-N~=G)1=yI@}mU#NK~yYt`DE}nC1xX8lFYSQ3iX>u^{j>xatsO?;qW)lH zHPT_pi7e>Zs8It}${qmMz1kcr$WhOYd}{uCb9}%;LJfbzO-dYBUA^RK;d4Qw5~3&3 zchuP1uC_iMQ#svFcpvR}@S)_LFmWC)eA3ktT==OY)T^{pZRk^0LDkuj(|^eETEO@v zL~;J^)l#%d#x~|e(<`F1rEd%+vPSBg4iupHy7@&IE9#g)ofH9JeIeE!ghN4e*!pQP zz6cPY5hIea=c->qeX+g2xIt`fZ*@~#_mEsaYA#HiHIBWH-f;~n-$ARt;83m1f9Hu) zYd&5`;|bn=%9H-X*cluWmfLUfHSFBMe>vIfq)QFM!oGRi8<4H$-o`89v^Ez;!nKKE zvbnDaro$4_6ndX!D!jTl*%MfJPqMW|eDFEO2~APli!?qvbbrHs?xp`RF`F-;0xR3DQAN#=-D0gtYvA@(Dxsfq`VQ z&O>i{7CTwHep|#l<$eNbaNS^ z38}J$0jA4g$Q*&yTPN%UwsCzrfwAMcxXZJ*4xLJS4FXoze&qTO#2(Dpe8sB-7+GP! z>Pn>d`-&vs7c=Mv^G+;BubU0x;iFlDflv|^k)apS&yqKPDwp074|mwFziyW*XvaL( zi@7DIcPiAEm_#WzbC4J_n_am*8)q^+S6|j#YWbX}Z>*ovI_5LAIoU>~LuKM#KU&#L z9cP*5BjJnwfqbX)gM=Ls*-d?w3C~rmgqgdZ=Oda*Efo?h|2;b)cy=@a-8+y*rU%4Q zsn0yZg@G8d63B2k>I69Al4eza9I2J>snq^h1R`zwUTwvDLfS}AuYxU+G6 zxoWF1G=J7Mc01v#uO-pLUBEyBv(sn|qb$MDOlgBp(|bG?UeLJk^+ zDEKLdd#v$`#0_$^b3X z3L2!PNF8%4MFY&%n zP6X@9C8E~v-apsQ>_8f5l9tafSbPgQ?f+~@ap!?_rsiP5N2QZNCyVDs6;p{u6q(-y zr?!4nwm+`3D`WCG`e8$2H_R1$Ldy+|1?s~V01x!hG*5&Dc*CTh82rXYyqJckUF>-C zz2<6oX7kMJI#fqT6SH!X3#gm(G#6ETOiW(^LU?@*7>0LQsqXvTtlR6^$(6YGtDCP5 zlCN)@zWosB4SO%=tsHuxRtvCVb5=DgA0s3rzbXofR+`Ujc1z-xx-YW!^WB8$)=TH6 zOmSWC4PK3JJ3Q_`>*>RC7tXBO3$~p!rcAOS z#emuMgTgf7RXo4-5jz=~9<-H-Fh3hBk@DuxZ*SrNZ<>=HNtxy02wlEmx-ae)dZgDXP5k)e++e)Zk141Arob!mKl4e55P>dFclk

f~#`&?YC< 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\xJ`@_XHst`L=vVQ^ZMhA4vOZMjd*|7Q44^NQ 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 aRF+60qV`#@@0$zYkJ>{mrE&%9=l=tnkqu@5 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/rec_regression_network.png b/release/0.10.0/doc/_images/rec_regression_network.png new file mode 100644 index 0000000000000000000000000000000000000000..7d2b54d4fcf560cd5b667628f0012c3822efd9b2 GIT binary patch literal 83127 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/resnet_block.jpg b/release/0.10.0/doc/_images/resnet_block.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e16bd3c624030c4c09b358a015b491141b42d8f1 GIT binary patch literal 22422 zcmce-2S8KH);7FD=q>aPp@UTENDGR9h)7YofHdi#6ahh^h;&3iK|nz1RisM|9RZOJ z0@8wwrU?p02+6b^LY!4Ct zNBbBLfb{n^V4pt=co(oQ;OK7PU+5F?`YC~RPe}e~4as@}{X+&0!0!R#HlS+a?ic76 z;O=*oUqR+LpnA%{i1es;u>6!oeu@lJyoqzkKrQL|EviRbxKj~CG_93^j*f$gnX#V1 zIbCqF06=@@oQJO;2?GH5_y+o$>7U}avbN!;cn!{x3LppM0Km~X;HuFDy^BYE8tCfq z2Y`)!_W$R{-ptQ=0F%;ZO!)c#tp3*oM(3;kf#3p|fXx+LTmzgzISQ1$g9EP~)nh=J z#mVbPCOMiTi$6F(Q06$2-F}m$ezy5d);^M5e0*KNHb-N=>f+;aB=>@H?DZg5P==lZ z<>>1kuEC%@17V34*AQ@=0HEV{HPqk3%{`D`-1!*4+=&ya{AXN)yE!`KKd2FbhNho;36x_olsVmmX`sS|IhM&{PNFM|7YRo+5XnztLe{Y24Q>kkGg;S z_8)bA`Jhhif@^dCA9YTd0MK+7066CVQ78Na0ANu7&^Y=}^I<#E7x%!xt7@{c!NI{Y z9@{^@=)NB8@4?f6f-UU3Za4&*;tRA)bLzaW49fUAzquKdz} zRpS5nhyOIJe;S9Bnd=o-e^+1dRu-U^dHA}4kK5P9BhbUom*2zpzk0&|;m`hQ3`gQ` zdJPK9g#>`bK?YzLWdWeuuK-eJ8UT7J7yJhD=W{zpWdR($d6w{xzv(?FgWv!B{QrHB zB!mAX3Gi^^KdRO-yU6bxEunfB`H3C%^{?0pfr(AP=Yj>VP(&3!DXv zfs24OU=KJ0?tl;A4+I0@z-=HJNC55w4}mNo4=4o6fM-B0&;+yrT|hrD42%KOzyh!W zyazS`46p|rfSWS~gbu)n${;n6W=I!g5Hb##gRDZhdvS_k&vSP9ZvOcnDviD?rwP z$g9aa$;Zjp$ag6yC^#u3DKsgJDI6&RDWWMdDJm&Y6cZHhDR7iDlyFLUNR18!iRBBYlR4!DZRLN9@R4r7aRPU({s2Qons5PlCQhQS0rhY{I zjJl8dE%jF#8X7^G6EvnY9yGUT9??9fc}cTM^MjU&R)SWC_7ZIn?LFEO+D_Uz+OKqU zbfR?HbT)K>boc1W=z8du=y3GR^fL4Y^e*&B`fU0}`U(2aFe;b`>?F({b_13UtAmZg zwiu`wL>Y7#92p`QvKg8gW*K%FnHl96jTwCy6B)}H2N^#xQ80-z=`y)6MKKjH^)Rh5 zLz#t`b(o!*?=TlK_c6a`A!iX|F<|jzNnojBdCh`hWnxuiwO|cl&1P+9U15W=iLx26 zd9x+6)w0d7?X&Z;pJaDsk7IwvKEeK-gPTK}!<8eRqncxyW1o|sQbCHXb zOM=UkE0`;ntB-4on}u7Q+nGC_yOw*NhlEFh$BZY8r-0`b&n_h^mOYNQTIO$ahgOQA^Pn(I(MPVjN-y zVmHJp#NLY2i6g|XiRX(?9V0)cdd%xs&ap8G5(y;Wl0ao9LaGhGN}_% zzEb&8v(mKEC#A1TS4gkQu*sa0iIi!Q`7A3eYa^Q?J0MFqu5{e{c;WE{IVQQYa*=W^ zay#-8^3L+v@>2?Q3VI4ig%=7~MM*_h#azWVO3X?|N-;{^N{7lS%KpmFl-E^+RW7SM zR+&|0Q8iIbRDF4Z?8K=P$P;ZReyAy{1*+AmeNmTI_fjuc|D++N;i^%nv8E}g>8SZs zb480^>$27ptrdg-!V!^=Kx+$WyJ#0{e>{2Yr02=Xlb=r=KjnX_;na5>HJzI}ou{Fv z^-ss2eyz)-Yp$E6yQC+m=cZSohtXHk57X~FLw3gSOv;&A16~7XgE9lmS(URl&-NP9 z8eTBWGDM$~IOl(^#fZe{tWlcL+w&slea|-;1I7l%X~v5tVkXy2T20AKO-!>*KbXmx zg_{jrV7}mRq5Q($#ZwoPFD{sin+KV9Tfi(XS(I6Pw>)i`YPn)1Yjx9V*qY1Q!}^5{ zg^h(xvCXcnuI)qH_m`9|MPHh+6SE7k8?@)L_qK0$fH^oi)LkaKYop?9Mwj5N$StUFvF{C4>2 z&678uMnEE*BD#@6$SCCdTl%+3Z&Tm)x;+wkJTf)%+a1e0Em6Etx1!eW>ff!1rjPcI zo{dqD$%`e8^@x2Prx2GJM~HWcA4)i$ke+}~bWR*fl1qA&M7($9-s@!LM(fsrR@`CFH9||oB2Z~gS%8I#) z6N(Q@d`nhJ%}RUARLaWAdCHS3NGgIV)+;Ynj#Ztmdhty9+0$ya>V)UO^PuM&HJ58< zY7J|<>s0HW)r-_WZeVVRZ-g|4He#CGn^s;}zZh>m+uYrv-qO%2(^}Fd(3aiK+Me7& z-4WG6MBPB`c3$n=>T>H^>vrf~=&|aV>NV|s-DlYMvR|*iXW--j>ZRt(wn4SQ<{{Og zreWpb##c(O8b*{x8eS{EZX8t^eKB@otYutdyki0}(KUH`vVY28YIyqm^!SYV%$wOu zvny|0-h7(#p2N;xpFdc*^_J{y{363*`V!Al{_?Tq>J{ac_SMs?uh19J3v146o9_bN z;onDnp!<;i5&p64ll-T)b-nem4cm?Pn^!jvwxYKgw;z8N|6Kn?`^zhg73MwGA4}Xx z{L1;Y4Jr9Gd$gYWS;PF(2^)gJ@hA` z*%5$&+yuV|NEykP1msSVGn+b62wr26zn$`wQs`7o7pvJgMp(hgKaz@?jh%y&OGH#m z{FsEIlCp~G2{oP5x_bI&49;G-Xl`K%x;M@)u2<+XM74UJ7Nnp?Vidi(kZUJedTOioSD%)XhMUq!FId;j6% zr}Yi&&ew0dd*5+C_K)TTBDLS9_2TXP*RGcc|k~mk0#DYN+uvj&UDh0 z!toljp!{u0mQyKDYr3d}6wENJPX6Q6Y{H7GBG{v;{hZmqHnGV6Xl8#->>u-50CWJ7 zp9M-n0wse&p=9J_U?HajJrQzpN@~iVh5GkG`?Js=71*DJ2zCMi`yeGHr2zkDprN8+ z__qsj5%egzi1Pp~6olH0P(}a&9OCoi#ex3^7nC^mH}`65T7xC-`ay7KdoGQeiM?pX z!lDBknUA^dC?)w0pMSwmQW6rqI>fW0OhrlpD>H%Uvi#E(VU9O#>%i3q~Rb=G`Z>KjMCoJIzWEC1QkFhQjjRw%7lCSq#k*3FN);l>!} zwUTbxJILCS&f(;Eg3NQw%W1qoepQ9TE1|FRbXsqQSaOSkpGD-?`)VnMJK}P%(B53$ z!yEz3+kN&sKJ|0H)w_)?_dSEviprOJ$TAyT8J;wzih8^?cy)_1*32Ecbwl!Ad3#Q}YCfL#R*@+8b8E>m z71&{)P->Aq{!kG^=4KX7?qQ zNxTxewPD7&CUw~?re{BD-sIlCaJovG$(gK0bMwxW#7BChaxayB5CLqRJ?;lKc~1q@ ztr-Nj?K**H+PmT9HeModA;7yuv!S;!G!;Vxif+~qaAse<#u4!Tht)eEqC--$)RjL{ zp7N8fwE1%)kj#zT|B(06yc`hEj|Yh3zr3K(kFfdLy^rT{h90HXZ;Z-~z0k{~hP*j7 zac<3lSgl9Hw0fa}vFa%e=TZep^gfsma=|gpT7pDioC=#qAP=!50vS^g6U#g2>yr<7 z@Ki*g%p${{2x#*`hyYC*TK143kCO`A5&#L>Y4k-rlV8nfCtD1X8>b5s2c}!CY@TkO;ZctD*&; zaGvmK(6l5l(zH(UIL4+dHgu)StH0Fld^-S8AIj(7(t_h?hyWFPr)<;`H_mnyb*n?_ zSpM8XPf&m_fu(_cHl;UZGz1G{(3%r-U7EXcLZfE$5|5I?C=yzt)AIW$8}(<70j$g*P(yAFBsZy^v7Y$2n)M4&cf z>nkhqIIzevrlq1QH&EJ|Xp{5WX_Xh^iF*55@6@}y)ngJE*!%#& z$ZbvRFfLbs2uudazS-7x;W?gYj9TU8ni&)Ky;6;u(fQn*=s~`gD44i?=$NU}wR1Z8dmnAsCYjhpltL`i$9@Lc)5k>H7H; zEYh)9HMAY85lq|KzoftlO|>w03Y7|d{qbKJ>ops(t=lUjTt;v`KNei%K_`KC%6U3) zl={*oTjdn50Mg$R7_(%)SjV8fmk+UM88Zt8gMLRL1e(v^&!^9}WA<2X9l2jfep4BxaKkNl+jH-Cz0~@bv|M zv&>&SJiHve=#m~7lC`%;UF*LkA;{lde!CN(g*fnp4D1PG^b<8S(S88fi3d7|yE9iJ zcVlO>C+p^7;f?TMOMlLyRPxjb!$)JU`~CQh-f_a@9*V$9kv)odH6ri?l}H3ItypkB zkQOHb(H^)UB5)E3zWS@d=xTzE2}OG!R}a&vW&sxQ(Myo{)Hdkem9SBq`7B#-)AyFV zJ-4_vhms!Ur@@+svvb}Wx~20A`XVEf!-^f3J8UTMYH43wsxErFf!d*Np4eWC7vKJ}rR;YQR;QqT*ay)wcmhM_ zw?PSvqx0E>c=#OzCTR-!qp;ww75}%J4IAU6M!T2U?AGl89BNg)V)6OgB=Vi5CF}T1 zk$?ba!R{D$N5PjgYa)p{C#WTNWA*}YuECgq6~9OV*M_D4vL}~l4wL<|GlOI1Tx$}pZy73 z#5^j=e#p*q*cwZpqS11*Ej_&s>9on77Y^aC&>d6rxjEu!p`{?3>94HcjLA7ZjuoZw^ zCKTBe9qHTFBoPqa1UJH((E;TCL(hl5nO6vL@(^DQVBz>2m7Y=1l)4gu5;(mjYW7x0 zGU0so>POHX%Y*hfIYu11{0US}$(ID#kP5U)OyD;2Ih^H_fy&J#fvJM$)}LpbOFW*3 zni)yIUybtHnRa?p&S^OGsWm#lzS*7~JK0Y-h7rxq_q0Jq`D!??dJPZMVR_r{wl!rX zb>wLwzPJ#?kYA=?_CI*Cns+ zpCbbE$9oi|bbi#@)?abG7nCyR?9FzyB>5aJ4x2yOGs7n{PJnytgiH=-an#l~tBGWt zeFZm78>(kMm(rqF86b4e&e0;xcZ>?x+GQb+Q|N|sS*|8`FJAe+nin^FezHw=)kx=j zTjRa27d!5`D{*!VUainf&lWPEF%ll+0#aYTc)94eQW8T@ju=AFhx=eEj4%(DG_V%Y zGiry$_4nU$gd4c3_t3p>ZoYn5iAKC2YZ;PH#KzpkgG(XUZ3{ZUW(_;?D4m4_jog#bonm}nHRDeFCz77 z0Aj9ZAT~yg-^O{*YoZ1g4biABV@OC^k3Gu^452J^jiXvIZ1MQUJ}R4KMsEJil9aLL zH{|-scX8AVt178_TCIENBk+Sz*_dd_3-rSQI@34%WiU{S$P7|S2;l`Mbp zlJ;uY_b0GN5gddu6q}aFCLafuEv-1j7fFqKb}?6)OH*eUtCXH_m9whBdcvAbOy5|> z@;390{xz?comJOSTu65#!%jG38x7`T*S@z})$4{TkLy|Qd;1b?eD0M<_5j?R0RdNE zeh@hU5xnj=M2>Urgj1o%3EX%AocikW-TB-E?42$x!3mM6hQ09*(eq1mYM*X)eA~Pt zM>f(vov&efDy>z%MgRS+M-KY9hZxztV$9|zvrkKc;MNfPZn{I@jaL)9jsfvr$$ZFs)3;8a`lL+jczseGg#XE&kAWrT?U+W8 z5`i}#Ly17?vvv@(*h4@gaaOi7?||nEVwZKcV)@h00jXHo*?miRkHO#9E$0wnOAbsD zX?g3TW&MybB@^m=)xu0qoByi=oG>y!+kYKfGT=jlj%fBlS2KhlZE6fvx1$`SB!O9n;U$zCN6~P^cbPU0>1J2FHBtx2MG}_dD=fH{5;KaiZfnYJ4Tt!`WoU zMziYPa1%pKtRjZ_QSXby=>DxI06Kz|Fnt})u5lqhguBO{vpJ!c@no=Uf{%4+0Hgf}fs(OP05S;MB|ZWs^LWc{`%)wcIG zwoFRPrA%>>Q-&Jj@{&8m-1KoDrex0-mx0L}m`C){z!?|3xV|T(J7RfdTyvxwsNUAk z%-Z7VDAGqs<()n|873mw7jm4_McK@)*IpTk5A@jzLzfWwk)QM{esLY-Si zUE-I;)}$97ZfQ26Ld(MsqJ$=9_~wGdhBqwt98*a*u%R;$!~%V^+wNnoqmyc$-_j|)}xS} zUnMKT^}30WQ)|97r=?#uUI$~ihKznjkiZ46QeoZ^xN*(FS_Mk4t2C!nZfI^FKDG$H zcVEX(F}S9-yS6_`iu8m;Z?z(@JYRxF#Uocuya?<#{b%JNi8wtX(3>&87;PGOC^0`_ z;QZoNv{UNx*sRFW5_^o zJxCp~uJG}I9#Jta=Ex(ugZ#FJR{Oq>fzcxeC&P6>3#HJ7+P{Y71znQ=(56j+Htms? zL`b|W6n_(kT(fgHJL4B<6|R7;(z5=R#BMgzmR-@hNbN54P;ntFBl(q~M|@rBg_`Jq zzMBYL00e%DO(5_i4FQ24r7;Nno+aZv{6OGG2?9Tc+#}#;_d7>0u?zw~MiBT3Xn??P zs0FcF)ByrNArSbT3IT!N!=NwUOek(4dkn*m0Ezw)Ac;BxBod!MK$3n0NVJoW00|Wc zNX%zJJ^`+%33jUVioT|qJznhk~tF6cs*i-8fvRH-vLc5lQ< z@6#t$Z?j{%`)9Z%rD^)v_Vzy2^sz*cV9yE)(n^#kfw?psz*RDy*@D2AL<0oAQDPwQwbcJ*=Iw-d00aAF`f$u&Xa0TvXqWu!^aKB9=9|l( zp1^>^%+#+0)}X%k+jl=_9+sf}*f$t@N^OiCgZ6BR0Hddh#e{)RV2TlYCT*EuWo%W$ zZ9#A>KS^WoK3?!2N_mNSd!iwr78y;>f(}c>3}VL%!HL*9hlLTcORAAiNaDr+yyy}A zC|EcYD|t5I6fSACN}6dHq<58kQ+ z$sWJ1Je;w|GT!O;m2mko=SGNK1~FRhBnsCD#|$pljvg|i$dRj>B}i=i@9U6;a?RTp zil7C7YuI@ru*QPy5sMf`eAB~&PdjQahY0jb{#*x84bC5?BR?e_fgY-D(7GgAh{YjX zjpuH_=r`)RFkxNegS?enl^yWOJCc-xq>SVz$vd(t;jGA)HI>NOoB=|DC-6gPMSlx* zptuQ#68Jplo4Oq+mzM2u!3Mc#^i2xmRO_PD*P@}q*KgG+$ca2kH8`QPvHaJOFCK!U zdbdpAM82uX2SEvo`PN0qk1%XP7rd^idvso?i;v#;HUU0cpUfB%V3VV0C)BNGH2wZV zkyntDfNLm!@-SoPcd~>L9;<`i#xC2m<%rI7d(z|qo0u*-rpYTPc(ly7W({7)!wT1m zAr+DOnF>ay*VGSo5^whukIYp&rQWwb22{aDeM16YV3x(?6jcl!og0s4&P`P{%- zOm4O!+n&vxm(hEn;SE+*Rc&o=&)^oCPsNBq$J-p)leE~wt#LKjeK;)1R_{)inxe%S zKc8)~_e&Yq%8WI*-#IzWr}YQ7kf}c}ysxd8eAiwa8{E5`$R~zn%i8D5z_NEO@lAMt zK9@2mbwSGJetWXh^OSSsA9&I)(nqYTsscL*@}2{FkbUD~dq~mAD|vRJ%}%KAiC0$g zo%+q2l2$3EMdpne!}7<{g*^nmt|g3Up9_2OdU-1dZ5-Xffk}?6S4YsSXTcL9M5<#y z3pbAkhVjaCKhjVt(`-pdapR%3QT@#5^n)8W$e(IEqD3Du!Y4SXgoy5dV=a4pt_*$c zY_bU0P@5@OlU&r-2~~V)rE{&wW4%nBJ>C3N&0Cw^`~9zqY$4~r-_c?X_rw{Ogfn9k zBPd>Ac|S%bCvFA#i1zPw$vT77<|er6%x^F0`tX~Q_&KN^X9^s84#0zPaJ0;AEXl_{ zwk)pm$*a6hKJ;H->uUQxiROGX5bZPA7}TYDVw5LfX?7SSAiYDvO@wx{QNDTt_?l<P={w5 z&K?=3xe|iGOf?a3&bvnhb|t34clW0oMx6eYz3xPK_<_EnKIkigzT8xW;ZI-j*Zr4T zyn2+|gP=BeV2$^lB+&Le(as;}{%W`6h2F4ANU*)l+Ga9e@00N(Vdzq9=Ow-OFMvb( ze3TYm{lFCOge$AU!Movf;hF^=YNK(AJ`o=+)LOx1EA-^!n|eCwdr`Xe^eiK%^)w5| zT$50SNoCcy;H_P(3P{f~7$WN0{#8w%2V34cR zAsME+Ch^^@(dyxYe2MbUJMg&W25Zn|3s`gOmiFphV#40VV(6=?Y&`8@FH#LndH7Fi zHoQ_WP#BQlbauHWz*OekK%Jruub#3Tjez2cDmNoEaY-wN3ATZC7?FE%(uL*lkw+VB zej1UNYB(&k+1+`9MuOk~fqx^9O^XW0jrMKwqbq)jPU0Ij&E>w@&GD`|&c!uRUBQPG zn=ZC=OVb~;3ZVI^M82DekVn4BM8gkNjDLFC2UZ|*uEe_>`5?WBec#;Q{rNxRRFb_~ z3b>|$d9v?4M1U^*MC+vDwqbuRf7;p9FXlDbrje8a6H2@WnLaD6wO6itiD;ke1bSB< zTOjd5c?~LuEC|p@aF-H+uLgf`3V*HF{~xw=pg?w=371@3MDCemMO!fom!|49y}G5c z2Gx9~(yOj{_*Q0IJ3C(cIq7oBdkKF9j%t7KO$pd5CIa~}E2DU!AUMH8BE4V*HScUW z`MEyl!ay!nOI>^1N-n1cXKAegOT78`Z7f{i!F~NAARK%nNDDF5$$`sr(X;(|3`!&V z=GlG0Mlv~MyHk_;ZpGHgb+!YvW;IrKqlYD0?h&HgaL`77Cl<;524RXA{R6&>HD`=0u zT=}|fctnL!e%uDBXY9mUSwEoY3zP)4$_kc30qa#`v@< z2f_e?mk4Z_ms_I7jsngU#F>9>ZyEWru({WSbH&In_c+kwJzOiao|bwpabjr|Y~~Bo zizoGFw`FB6jD#|O@0PUe20~p1P3GWUcs^Xo>X#%GU7&1y1WRLk{e*@N^N0`MQ;NCI zr#*!9o7aW`j^g+H_lI<#k>b#aigzQyE3$oIutfXgxGqdJTC@1JN|JQof_jy@={S9n z7uWiDn}CLMnyF1%m&4O2I!;)IXK1TKyl&X=gx;Ghn{WGRx?JtMlnSQ;DiPu*l`(HE}G#y z_K*l9Yys)|X}e^7=Ge8?n+w(r@3u92!ka|{sh^aS(e@sO>H^^fX!zXsfdMpoEZzb0 zbpRXU+ta^)C9ilhebVF9-kMstzYg!n-GO;0+t93I)De5f#u&Ig`X%2)(BMyi2ulZ( z(FL-D$a+KrYL#VTTXDJJhrRy1)-Xr%tDUC7y6Xx}Va~-yH++7E!oaXsLoyil>Nf_t zIuI)ruWv4I{*5>MQ-S`-TA;WU4sL0w2^cZLfcog6ZqUZ}{U1Ghw@_&(X9uTtHmJV3z{1rau~3TH|;qr z-P5%IFxT#MRWpH#U$KlEHo)D*s`n8@u;i_)yy_-(m>+dGBM>sqEPXLe)D_u%r*(QH zK(vqMec^pQh&N!%51j$spm7vahYW5zf<2FJ!QJM|?bR2_1GTSe2mRc_4f~wQvx3VW z*lnqt-Lf`Y_I&(ujSp5Ht}vlRg?Ga#6wUQi&g0U3Je6h%0`~QhqrGPKw&#T>uTUwz z8xFp@{$5{xfJL38PvCO-j0W$jUsMOljD`{#NwC-LN(@&k=;S8^9rWX^EnlN(Cl-fJg?Ftb)+OpYn1^#8mMU&v(3@3SW;H^OGJ3T1 z*Mx?xZdUjKxVz43Wc{->)H5yNHAC4{a<4A6r923x?9KlHOSn>>eG$6_r)@Juf1$$p zp~I`LJ+n5%wDz&j%Gnutr)Q{e1&z)LSPAEH+*iqF*?2}%N{YUvhMd2HX2ext)cZQ9 za9+=hWRg8ryiiPDS>4C)S=MKqPhC4-XBPkT3d)t~6-iR#(2#jJZsg`5X7>(`qURj_ z)_QvQE*PVgbjU_AYKR?B>^NK!=Q98vhfRt`Lf5J79ch|Vq zU5=&dxjCi{^BLO!`!is;@LvGdU|8!{a^zS1jgFweYh%9m5rHIobzI)cnO*K=>ZK5` z9yOoFr=dj->-XQS#j`NZpaBT>;6wQ41yl@M>iKPu5~!&l>bs20?#CJn#zv zp^sNeKEmp{X`op*SzpFS{EpSV;2>5{5CgILQxK~k!Z9-l5UaBpgKn4(h}HLxusU{t zKrQKWph}nq`GI3@De_lQY|IbssP%!r?ik`)1@6Rb5rI^ixo2;2vb2&KO+;t`<)l5Ka} ztXCa)+$}neVJzxg(R6IzktsJz-s%T?sibdn{|GqsDyd=m;q&tx458#L)c-Zw`5Q~~ z-|;U0%)uPVpy!>20zGd!5MO1kemPV*`J3x4h6Fut@MWt}=vm(PjRZY!Ef{Vg9|tm< zhz26ib5m&bOB{1|uq7WoR&2fjUfUOXjWvJS!@GO_*jHHA1m&!}Q2En<`bNqXkW)(n z!zdIn+g}Jw188pUYA#$Dn(g-Loo9n3{rqhcyPLXg@gCbOQPybdYl6Mbw9edTDU^1D z`()?7=;N~2s_F4YG2qj?t6{uqs6MQz_65v^BJ~Q#Dpm6Z+s8|Ow_@!p-_r!4C$_+041ibU=f)BZ5tjx@~v{v_b`Gry13er?v{;-lIB7hiT z_k^b2Fs8x7$28Q@NCsU0=g%K4r`jwF*SYixWrhq$YdmQDOIMYB7iH%QzXrFG|G3JY z(+MZX3mg_jDB|w)I?#vf+zdd&m~C($KFmwI>1k1doPHJGvT0&lFq>M1t!yT5WwcVt z$8_B+`H5ras6QcGlX-F3dUZHvFk)leZ1v5U*#@uE(h=34IAK`4$$0Zo41ewR!RbtD zZSSv-srQXRLW&{=#IU$9w*<2 z2eH4%m?O58xhjc(;Uv#u^5Pr5(0N8cUQAz^*bO`8J^xL#LBS}DwBnkVbbZR1SI4<{ zl41ky8vvVHWFcRBJ5;9##}-23-}^da1`@05!+@In(Cb%itcOxkZ}|$m4`{A^yOK+; zx!)GE^05m^hi9JH-B#$yiY_RJGi`j`3~u5o+`Oid(IltCGTLsc8bIk!sd~lR@p}3G z?tilDf*Gy#kASnnt5IJ6OH)m;^8%s#lg-3|3(*IDHef=$vqA!kq89`-6Up>=wmmqQ-`K zq8NnrNF^mnj%#Zv;TS7Jmb)XkaA*{nhKguf*y^GE>+ffA$ZF2JBS}x|6GymMQwm}Z zP7f%i=W|}U?GPCnWNeFZ=tVFR=7<12-XUy-`$sq@=Bsu5^7#p+yYZ)IWL)$wl%FXW zNj%AwG?S8Y(8Zr>^5!C4k=WMoTD$XE?E8;#T0#)?mpEsmn(19lm2(F?7W*=JAE3@9 zr)JICV1h>S*_ombZ{L4@uKYIZ$E~3JH|tA^n3$d~j3X<{Ezdn^}*>1C4a7T;vmILfypGnjYN6;?NzJ zCp)OZE&Z6A`Vg@M%_gi^JRb36!^Scu`eD9ko}ZftE~&URM64}un_XU!k*-S7E2U}_nM?mNM%AS-t|zqijq;grVW4K09D#n zyUD!@AIO8_bb4D{za%thYJP4D3_e9oO;zZv-EV9bV9d2G)ke2@QbT*XAa z@tjKU9+&am4i3*;Ekn@aM9@x42WhJ7b6F*u1x`NGnsjyxDm^SpH4F=7Q`ng=yvHDk zF!Kr5J-mZ*gYjJQP-)~N9}D!VF!G!=?|7(K>T>fGM^0{-^_gQkqj{P4z62>k_JUYh zj`#V{Uf=r!M!+fK3&03C03D-F|0C%7?+|zYktxH%5((1Sz1ugzeF}uyzTZaF&9Ei0 z!V`t9)81F6E=N)ZCh419u?>;g%FM|cG+{mt$f=64=KUKa!{0Y`Q1MJh)knmTTH4I^ z!AaIJqZ-QN?E_KOXv^FWy73$jP;r2)RAOoTi7Nuy!nbW4F!v&+mcN<&3^w={5P=a9 zFq{?+S{gF4i3rg}!f=EHmZBTMxDmmHWxq?}WvHAHB=UID*2ZnyR3qhnA1Uq5_NX-1 zY`zy;UOkwBT+trvfGb$BQ!siS_p!O98S@Z-T!+P3YUd0=m^%K6OAS9{rqVt{XD@rI z^5gRk?3YMiY2O0(q9ptgX~dmWSqY29oTMPVVM5W5#GF|aLwo1dMRlm)?xKy1EuYUk zGaEfw*WMDA5GE~aaKSt8ioV#8McS*xd~Bm|XZ5tr53!y+n3i%lABHX_`kOHv$J~?4 zf@#k>Ntw}oBeloJhh&9QG`qL=F}?LWr{4FOal%vk=TX=K2h3Z7!dQo5_=%}-glDbd zd{R^Nvk!GiPTYmEY9WvMpHfH}UR4{TnEqxt7{QKJ>6hiXWbCn0os>t1KdD(8ldg&A z3AXg(V!rkIIW99kGGwsAMzk7>>TM|^#H@}c=F#uk=^Lv1ZdYl@g=*|=(aT9)!#%16 zeXbB{V88sx!`DZ6`t6JVj0CBGyvK*s{)I>4cznO-m5j$Wm@POek=- zX)jtzDSEr^u*2FsE&VRu>a*;Z?^_2X^0h5D_sGsej$rwpv9f<7a{+Obja|)vOUA4X z%!5vNn*x@5bu{kVC~U(XKB;t5;>@m{ppOmJ%5?GboJw|;Zlotx80f-o z{>+>HMfKpnYUA(D?*Bs59g5y|+r45iroNzwBrrRWd&0eD0;Pq(pg@$qX@cM0QiWG> zXe(+}Ap8fyUk5|9_-GiF91zG=;Bi8>mVpn1U3|tFg;lvGg z<@=3u&(Lo>+L0EPf;?t0woZ!yd1l#CXb-}>I{Jo80hpzL%M2>rs6rNneC@iwFqd@dTJfqQUwVz_ntHR~vEP1dH6+7A=Gn)*12+dEXAjhS=`tERQk@&- zyD}t$Q^RvghqRp}D{x8ALQ2pPnT6{%M4$`CXWLWYrDoqu)!2bat-G|&Zo1f6jk3M! z>>&i{gv7rizwq*Xn_;2x8j@>cNeMg9>Bk##x50?X7$$Oe`+HPw|Lg8|Y1gF-?0l?U zT7HDDbI!${HkT+Mg+4rd5y9}*Yq@41uDU}2S71J)v`iJ^ANnDEV#7#nz@$CNLPxqU zspgFENx=__L6-}7(o&J9!7~mQ^G-TYfPQ>jP~I(eL|tP$CJ${9~mm^KNNQ-ScPCC%||4b5`ykyGMI4m8~v zGx3P8>?E6Kz7P(&r~Hby&}7 z4F>HA_H&07202O@DG0@O4!?{AG-3VhC~A!$tYLQ^cepF&OZQcrjv=lB9uwFO*PpH_ z;@%A7j%=DwdMA-M)4#EF<(}fPkMep&V{9hs$y~S$`@?e3dxZ5`EYoTUxo07BigDHF zTF3pu`Dkmo14Jt1H*6B0u9+TBu{gtcr(Dk5wbK-1Dw*zmxKri79OLa zl#eSm1~xhb#+9n6YzMC-(bY*;VvTs_Qm!#t$y*OZ%awImKh6u>PEdVYakcf9aGWHvCxUU-yMYdA zhXtX$UmTpV0m--yTRq5bzkbk_X(woQuJM|VbA?TJ%Fy|BEB*GDWZAdK5TqeOy#z+A zN;KY}GF%l`wgy=#b-mLwll8i6Wl;KCLl(TQZeZ`G1(j&VpfuC4|4vH*1HFMT^qa+z zMfsQBE099g0J&%}BQSBIca$6q{SWj8{*uIMf$aW|TEk4^DSx*p zjQBIB{%6X^A7=%jU)}Z&51(~#;i+SK5cF+s#hc6yo@&+6Z8~&)MfLtR+;-d!_3bSQ zuR;s7LgJ?zpP0!Hri0-QpKu;r*%Q1E&f{tLMNE6nZgd)&BR9-Fh(ou1EXl>aN5k_q zaI^J(w7~re`UVUF&q}dUeFyY7v@qB6kmwv(kCy0oLq&j}Oik(h8@KbQ6rV3=Zx&nK z@$L;^pt{1yqWyXZ_Nk<26G5?_OEDIRjQP6oHpK5-ZRDtNn6*Vn#E5sKc=ws83ZR_) zLL@nbsS>r>k5GrIC^k^~JnB$xlK1ax?PeJgx^rv*$RwYbbjgMNeSG z84{QluY_3#9otgW)D#|949pa6Zh7%gfSf%`>A0=T>C`g^4>;By-iLmZIob>UlDQQ6 zrF#@)tZP2@jY2`>#Gs*qxzOD>e?9-Z+yL)#^tbv)+=g+|dHw@D@sN;5&p7ZeUejv> z2jqX#)h|g;Yf6Mk^*Ky#c&m9U?KPG*D8C4_aIAmzNg^r-lIZ#T`0Yyx8DvyH!oSFTGiP z%TXQdAz4edVZ1W^lGjQ%_PsYQ+AV>38gh}657k#A$qd-!lZ0C{pC&I6j^mKFShsFt z@U&i!8D+ywH=U`<%E#YqvlBdoVsrKN9p75s2|wmH&)tup(~v{^QG<-Xi<&th#~X7h zoV)b%?bD9u=n<igZ<`0!)0F^Y#? z)|gkAg@!3-lLp)2!Ef2I1<`sBT~i7VG<(j9I4t&K8{ZNVKF#-Mpr!c+dbvb~>^ShjPTJdX z(&;``u~7tT%7k2WQ2g;;CdPnzkfnuaP#s)wN04d23X?f-mU>o-37U=U5zMGu^dOgr zYh&u^*;NbolZ=n`p7?aGX8{MkN4obv!c)Kg`oDx;|IeEKO>)uZf8^!=zIlS_um8Mx zf--c?VZLYOWA_&ZT!0ZaqGB~$Y}Pm2e5K+<^;+^^Yx)wB$zx2z--vBCXlL;OxtOp2 z3st3WAMa>DR+3|EY~4FZ$13Z&#R4P;+(=FdKkWFH$_lhL1v^=NS9-r(-vnka2!YuP zB*+c(qFFF`!6BND9fRyTl-v`UA)Ek@J-gs)R@?P0)O<^Lw@OUvr_s~JY&PCXx@F-hy)1a9t6Q!?9G^-QJ4*Q4&12fn~iz?rA|ZkSN@fb_dh%N zQ=Sn1t_Z>0Lt*^7kZc-Z2WFcH#;u|$-+IJW|D=;wX1cWerx2&tS6(z+47&LEh4Iqb zbp}9N3O2@o+grYLm?S-EGb@nS*V5Dj+YWUMyL;f>_3i10#n7;}?hdcZ9da+$PAKi# zgxL1TjZ|J5D6}r@5ReE`VZ%muNHTSzJk$e}1x)gX5L~i(wog8jZGWfklI7r>be(_tusjSFzZSx{WyiULTx@$EH6lN~(aniGmuVy7m;<%;G! zTF5$EC#xK5BUPoInOmQp!IqQ7Yd>321KwQWd^bk%fj2KnG28D=!fIp2wMxB~_Sxk6 z98D($SiMp&pEOKSB%sy*bfUGf?q(P3{<6Il3aUjd7AuRl>Hx;bo63iIz6USQT}OGm z$U2saJ|Ubjy!5(GFEv{D{zi4q5aq7gZ)f5DI1~3beXy_^7dB~7*u+qYmrdkWHR_s_4uJ7IU! zKpvI}6ggF6j#MgXxlWJbhxU*^k;QWBYJ@tct|;RC;B!6xr~r_nmK_I{RgF z&&zJ>U~SR;WtcS`obHo#HJ{mg;Yt;r->a+YzZRzj7uqk(UDC6dD^Q`VGZ5B>aymDB z7boNH`2Tk0A45(2B|GgJ#~<@QtbSCwtPwc*D)@%?YTv?z^_i}jf9EHQ&hpJWU71(& zdE<=fY(`wG-OBQEfir~mo7Fl$EI)FO{aTIfnzOdkoBrsptSE6T7N~r$dgXm?{<6K( z3Lda$=HA%E@xiC1X<>nbRsGG^kMcYJssB(9-2L%r@6z_p8q2j=v)GpGsBsV7)cPhue0V=P`+-M$CS;JPc6z*+*Ef)Ogx@zPw*}(l4}N#5Y!y7jB78gMu*qbbqJ`7U+=T?SrdbE96#dTLR%ev`z1&{1Wcj9T zf`9bARW~HammZkyy!}f5{LcxGJiU5n*9BOAj<8euJGV{+xW~i2?~ndR{YNI^)9v&= z{P`!p?ceE(xBV}#33^=id)wyhleendeir$>5OoaUk_1lWt-rba`1O4nAD@12{HNsl z@GkeG(y42=?aWr2ps#l+I$HJepV!>;w;Y+UW!j6bLmp|j!iyfvW3X%d;ri(J`;K@n z8}Y|)gCyR*ukl_4tgAmd?{JmbKJDU}SF<~F7tU#%fg)`d+m>DM@T^Ooxc$rg zZxz>pi*#2%=x??O{+OG)_+#4E<*v2WvP*RHMe4K8Y;=FR+cMl^rkGzrj3IDKxcj%J zzw`bu{`UM~bo{`5!K6vP_WoCOwnqF}#9X# z?J0q|N8Y7MJel}@>toP_^PyVn$MX-?OZ-v4(!}ynZm#YgeT7p;OZM;CHly+Ssky** z=mQhR&*FcCmw)U0(0`mCctXR6^{pjy!%q3P&C+XM7=P#fL6NfU<`W`yg1FuLGPzet zY${(Ru&!NZg5BTs6YLY?Z~prHE$8oS;PT1;46$3i3^ryA?JWA3N7` n;mF2Ak&;t>Rt5n#3G9dOet>l`k!gM`>kDDsY--cY|8D{S>XFvd literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/route53_create_recordset.png b/release/0.10.0/doc/_images/route53_create_recordset.png new file mode 100644 index 0000000000000000000000000000000000000000..34e476c7beac30fcdde13fccc4cc8d08b4be3d35 GIT binary patch literal 35749 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%0AAp~;o;gSm3%-qLSW%IcN8x>C>( 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�$^SdG{~-ClQ2Qh5|1WBPMEy6(zhwIlYJWuii{xKGw*R2^hwfhj{w3Rg zQ2RsoFOvV8I{(7}{8$X6@mmqy18K6Y93o z=fCWS=HFPW$vXa_NuGQQ6_}@{+^YEilZ*g%sOU zZy|XhP=&XJ!`vg_lz^>j-=%N?O77Qkit4wU6t-qJj62-DcEp@8@N|((dT-uicHjTN z>DTelV0JAayWQRa`9gbjlXazVU(UDVzWS2B6q>NB=L*B{gQ`$nX*@pm3yGgR&1XYk zt+fgnRR1MG#u~Jhm+67BO1{AmSLKEg7T4Dxo^}kQ^;&or7>l8{zSqa;L*R@?fJU)y zy>H^;1RsiY0qnrGVo-#M8=HP92$JjpD26~e|HqY(k*hc z+!^_Wv+m-+^g4o=ha^3(b3-8EF$>bi~nJESPqT>Ot!fOp&l zhRqA1@#$NjPt&I^iw#e$mCsgDz}G!pj6Sa4>=s>`TEI(@(-kLo#UWhLP?Q}*ymi}7=jDU@k^Ar* zP7kgKa318|?QTWOs-t8JZw%k{;mEIy8*|$)(#WHi$57)Fm*Q^efPU+2c*i~MOaFUT zoHlW44?DsEisy35v)_p0t{}wsg*J?jv%GSw?yrOsjFP#9m0Kny7M^VVi9#>ndp0gf zDWGkPJp!)vQg%x8);X@Xa69;I&hXf$w%k;G(R;tTRXJX^`McfI#eBr|$SWd;$dBNn zcAMV1a{aRO4`wQuCxSb zPRfGY_T{rmX}GYHr;>^$Rz*1f7SvuR%A!!g;$R!(^yDb=IDDAg*WkaP{5f+qG&LrhD+=d&v;=VM`E5q*>_KlxCS#JSH; zGHWEMS#OQ_DyV1^!>j}fByTu3T8Wcy3NszKVjcF*@)y#KiBk?j@7caq`!4t;rmPVB z4I)U^SIJ9&T&uhW$sGF@xEb+!^3x|U179I}%-!@C^{)-h@p9hgS%Ci@QcteV>oyGQ ziYeUqBmM`Z1M5t&+n3uS@~Pl2eU2|(gYX9g3Ctat%Ovfh+96ie3LH6I#pBzak87PR zeA%SIqfE5#ve*Bg#ecguw{#ag$^2_hKbZa6|G4%>?Tw7T^-L3Q z|E&6Ry|&!<_P>kUCFIgyZ7_QCZ_DF3%Gn!!Cn?uVmiln~fKhkuYGt{E{u^e3_byEi zHJa1;cVB0n#&+%3Q&Usr-xv2kn0|-j{N~d2bJgJfsNb(Se-oml_@A0Am+A_Qah232 zgH*03_0Q{?XQ`xeReu2tePL;2F`sGYaU(cJfyLCicR9p1wc=JWs9=#+CK5qyhpXB5~^>#`1auj&B?V@$*nSx-^vc)s;eTdN#Z4aqCale600K`}KbLh*2~7Y^(fD!z literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/route53_create_zone.png b/release/0.10.0/doc/_images/route53_create_zone.png new file mode 100644 index 0000000000000000000000000000000000000000..25b7ddb831c5cba97f4b2edddd27da3234d621af GIT binary patch literal 52035 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

qcb8$LP68-?ilz>!CfWMks_S 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/stacked_lstm.jpg b/release/0.10.0/doc/_images/stacked_lstm.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4239055050966e0095e188a8c81d860711bce29d GIT binary patch literal 31077 zcmb@u2V7LivOj*vIcEe1BxlK)QIRYlIWr;|BuEgDFrosIL{LCMK#3AZvcyrMf`DYn zIfD#&NHf2~?tQy^_ul*7`@he>;T&rEboc4%uCA{BRt?yn*ja#DTU|>Xz`?-*G{GML zI|sa03v_h?09{=`5C8yTfDnfezym2902jQ`{)5H=X;y&Xw|oFF#kuqcZHvSIXZa{s z0RJClz&3wN;9J19fQz?*fAQXd*KZV<_YU{JO5;G^;r&7LgU#b{~ZhXWAE+b2M)k(u(+gyqpv+kKLzP~0e;>W`6!U4zw3TM z<6iJc?*n!aq?s>h=ih1J-^%<>U%Q|kJUku1G8cXJcJOexpxZ$D*#mz^kjA?O(vc5b z9Romm2&B31`Fps6G#aGoJsj z$3U>30HEsS9pvNc?Bd74Z!f?hE-x>~q3IZK&(Y6MX5Cw<-kM!R@{G-%=Ph8CH? z|49F1fj>(AXW}pK6TNufA7jUH)6vP!|DGSm#h}`I-ShJI;qdjgvv=eW`MVJRpDX^Q zTYu??u%V-qqmQE}_$pIS%3M92!RhvNaP@Qb^5k&!{7*Cdf2{VGK3tH$%QZ;Qvb#>;r z$W}Ep=CJqod2m64YvSTY0FVMy06oA0Tn4xRen13}0AvA0;2NL?Xao9yF<=4M0``Cl z-~spm0YC^44nzX6zzZN5NCUEfT%Zsr11f-8pb_{2bO7DJ4`3LW0A_(DU;{t_hrlVQ zoQZHKaOiMYa3DB5I6^oQIC3~DIBGbza13!QaPHtZ<9Oou6i ztH^0d(vae)wWXI&Rhk?&DZQ1DV* zqp+m#qj*kHNYP3$O@XGQqZFmoqI95yQ>IhaP!3T3q9UQe zgqoLHmD-Lvj5?jVj(U{(fQF7noJOCrqh~^v3DlHK$FRdD_1MO4V9NJde1v)%B zE;>~@d%7odxpeJxOZ0^FeDqrMZuGJArS!e@C`d309GRk-%9sY2j+ieoUt@M;j$uYH4>O;zaImPcxU(d()Ur&m;$YZ*BoseC{8v`O-_H#_nf_)r&su{m|S^$ z1#xAHiXLBDPm()QLQ;-WnNmNc>7;d~qoiA;&t+s~d}PXG)?~S5@5sKD z9hIY(yDb+d_f?)i{)RkUzES>IK}Nw(p+aF>QAE*Qu}E=MiBHKQ~gA)r-|p8qylU8lN=@G<7r+HAl7Bwd}PDwNTo!+M(KQI^;S= zI%zudw*+tb+^W~b)z#L0sXM91qvxqts}JaF>A%#Uy3Kd{{_O?>LWA1|=?2S&;)WrH zoknyy=U75qk`GND(?{7F}qWA=gdyuF5B+luGZbR zcTx7L_Nn$84%ZxBIjlJ}ZbAh^~xNN$rx~94AxM{j&xgELd zyBD})@0s00co2Ks@u>5p^>p`a^SbO6=+*BnJRgR@q_JyTS7QP!b9dluZO-5 z!wI_^)&l2(KZP$n(s=YCoHX1$yyx-N$4QU(pO`(Vf6D&!(bI(pjfmn%%1EEc(I~~J ztY`SoT%YwuOGdwm#>6{3(prLiO|Fk zNi<0hlNMg;zN~r0@haxkeljfiTZ&XlRw`+#f9mY(TdzO8;ePYt%~_gD+Hm@fbi`Y> zx6yBpG8{4nGOuNpWwB?)W}UoqefRUd#`~IV-t3ed!kh;=%ekhxoq2M3h54-cvH9l( zo&~cX3_r9L$`%$Du@xm0;}-iDua#Jr{3yLy`l(E$>^*`J5&IGN=>KuO{7(5ug-%6F zrCeoM6;IXMYP#x}8l0M-8dR-I?d&IuPyKb;buIOZ_0v_%e8NuwzJTsC!s%xPQcC6?YJF+Ld*gI7a*Jl`?JxdcRomCLzoX1iOFKS0*xk52mc4>~ zsr{CN+XvH!9*3t#F=!U_hhw?p&J(kfmD7MTqO;fM0_XJ@9n2)w1B=Ce255+J_;H|k zI9C8%8XPgros+uA!izkcf)7#tcN8T~mnJ~zLxxU{^oy0*Tv zySIOEc!WMax!?;tsr}B@ADsP-FB*_9Tzq^ye4-1!aBu@I7^lG};1nmMy>38ccc1Qx zL^v`1jl}omUr4wl4N(ktefmimxuxcKb}m@^jkEt9V~_t&oc+PrpL|UKssQe92@e++ zj{px3kARQ>OoYUsB|=C@OiKJ)BK=1q|1D8oB&t6W7Hk9uYy%%3p9uV=CL8iRQa&3@k_w!6C5Hl+KZxWVfLqGkX~fuZ_m zSdgoBSm2wEK1NdGOe&zm>x3D;YdDAn;zn2DJH&fp$H!F7u(N0sWQSpQ`}hc24?Rmf zNmmQA>^xNqaZ6E)5eaFi!!foPPtsZicHKYLq0>*bEvF}3w~K^&9t>m?XAdsjMo|ou z#Is6t^dm&s3JtpNm@*DLpJkL8s6uP(aM%ZNxr0z{nw{$xA2;6(zwMb5L^f7lx$^TT#Vx89fI^wzy zXUu>Wk3oKkrWcnOYh}fjp>{=FrY633cP11a75Lnls>HA!v$wm^?OD97fSl*Jy<~LK zWCf21+FwR$96{bynXO2Vwjsyw_F7p5$6tRs>U;i%%UqaMEuCfTiXdZjc`r9vhyL|6 zMDUK)Vf@EEr70Un^LI=7F0=TY+n0fnAMt4~An$EI`4& zla7gmoV}{T0t?dneVY?IIvrt3$dS!6*ax^vXoko*-eNmr&$JU3IM964%T)I8{&eH_ zjn)!RJPIWn*DoD1P3g_0qUAQHnJK#Slw|DD&lz8F=L!8vuF~Cqx%Km8Ach|iuCmIX z9RvKQ3;W~Wi!dSq>Aro;Smkwc3ONzgJ|(P!FroQWcba0>PBv}tY5Nd7tmAb)P_j`n z6O$EcLb#tDD1F}$Iay}RzmzuFHCny3`{V3>Hc}r8%%wN8V1d4benhpe-gSfB(?U`X2uC3Xpe=yi@6jL$d9%Sie6z@2`=s)dv(4G0(>Rt5SCP?YJ1pEiAMQCaJHIg)U$L@+njwCIsHM0^<(}u14FTUUoKK8Mzi2rN|64ZdrPoGiyGP9GEH5NZ_uC_3I|J2j6dtrLy|mv*SlGr=j#&-A2iml~Fyt4W+j0rnR(V>uHN=Ndjtj%O$LfykJ)e9bI3% znyP*zXvOZgfX;aDDr>1%mq+r;--dQ1IFO-~qoVpjreXWIV$fB3^1{&D!NK&bg&#h6#7y{c7aPqW&Z0KySh;ig%NbkbG7%$0y2W_Iqa5 zsXAF^4Outo$XFc2XeaMh}7HWO5_pr)P4`Qx%K=7d{G$zA7zHVP2SEz^~{iCftAiPjQ(oH)Cz7*9-xC;6F%5;#vYzc)()mj{GS<(8N3#bzbcIfT#7#FxMs{{bON7O(~>gHJVlU{)d~_ z0N@Uw00<1D>&jeuvTZbghFWAy;D}2>jZc5QI9HBf{fp}a7RGUY9YU-{Sx-st8$K7) zIPb&!G*Pnj4ykBaM(X;O?JtU$(NUUSTBhPvLOJvyaQV-V+*XUOyVOpFlkkYhyd+d6zB1 zF3~nc|BVh&OhHUcLu^xmqD*&AY^y#6pCgZZR%{);gV_f1OfUh!0za-mP8Z=3L~|OC zi1;+4FvpNN7`WTC-Dv~$>$CICvr!BuF9ZYc{-v>~uExS};tYp;p0KKu>QMkKd3DL^ zQom2EC&pe{N)e8+8$ujMMQ{|tUl$(F_vIuY(qkfbyqK)v1$1Me|0z6UB-FHlDMoI> zHZZU~sHS5$)SjHZ;%hr52~QezbI^~sa_kGHRQ<}8vc)97 z`un_pCf6(emhGW&GwaTSH#wkzU>FooAKE5qIa&0b?#Ne^lDn0_k^3q)%?kqjJNkNRnG%DYXj}x!cYlpKuGrX)Sz`P>8c_Q{18o^2!mqwZO z?)ss$VMzu5i*JdM5{%#O2Cu9Q#*8w}KY;uc2v%`R8ql)geioAT``xK@kGy&_(?OdD$63j&snKU5MeEd-tHdegosg8oH#Y~qnhE#*V!#vca|8fF zxgN;v+beqVV1Mdfy<&w-G8y(R!S}! zDI_3|9%hWMbst&@9j&>-FPTq4a+!qKqEMELsWHrpWgq+9zs>B{jY24{ij2*3XQkDy z*zZBEGuy3zS${8;gJIp6L!RULd!6oiVS!H2WHI#h zIw5)iFAIX5B37dY%9>OIw)U@9_0i2;E_g+3U zVorcJ7)nuv;cK{I+@5>GbJ*P9EaScx%VClUA~^@$j#61y`?TYj@Jz|fJ6C4Q>T4!@ z>w7DcHzLL>^(|CQ50xO*sjXz@hU24J!<;c!84NgTO>Qdy_-NdE=un&=bosImoEvF6 zI_V29do6$kzTdpk?171fHXigikb^G9=lEW#E85EOcyp!+ zg%HV(`iP^L$%E&ZJ0euIKWAyIuI|rVVhd1O>H1$xM$Wl;uNex}s}c)qJ~~r9clb85 zBTj0I(666FhVKtYX4&OgYS`slsX2R4x2TbVo5w!sI~=r0*S`+_8U>L>)ed7+!NwtH z%8X%c%(Czh~Z`L9_B-DA4!6y<%rT7IAwi8jyq~%Tca2Yw6qNS zH7nW7iRkMYj08*B=*_IFbXhK3-ohPKeHVE2C5%70w2IwrWOqsByuK@YPC1jYEhhAh zS|IfAFH=Tf`jL2zCbVDXVPrPz&$9fi$1JstPYPY54Han~^J4*{`@86mNeTJIzaD}I zpD&o&*&Nh-j+hN(IvKfZwE0kI7J;@wlJC!?w=iLZf7~D72^8~a&eYu;EE217RDM>f z%XC+JfsFZ$d|BenYQs#n9m} zt_1d_Z+QyQK?VLN(9frl|GFM8jv4i6aP?lBvcjBAV1b>J#eXd0#IgV17k?8vU}vHQ zLMQ#Lih^|DWP1M6gE|p^Hq8i=eqsV1-v&`ddzR(89c#Wfw+jTTU8ETrWLtJjZ7j3% zv@3jqxyD^U19ET`H-`V+#YKf3`duv|dZ@+|-!$`6cPieS$6IUGJ{LoLpBaCXA{L!* zp?TBY{Ik<6E&HxS@aU=v%g9qnHG!&Bp-HqDEq`y2eH@+Fn|mP}uxsm?bp6#0UL@Tf z9_())nASWo3B1ke9#AW*{-8rv<>v}P0-xJs_Z6?|anOQrzyi$?e#Hw-jvSwAbahP? z8{{^543^?Y`t9%fZBsXSC+^meLlBzINHc*pqU;rq0SDTWpX$B4IcH#c|6u!A)4oFv0X|Z z->W#u_ev03(^TJInp-j@6+dYct_vHzSu#?LfM=eb1V(6k8lE(k9XIy{_*bq?EY(a$ z&A#@?MoDAdA7%*Ye`0+_6PjaGY4y?m>eqHUnIn9MM}c?+ma)czAvjX0wtTOwGX#Gf z+$&uupCG277q4zRb=2S_Q?ZXF_12sex7CwAX3`0zw<-9U>G(-}Nj};5oySaY#9i^X z!KRt93mzJ+JIc-J0YtBMg(rApE=5=vaXMU=_+$p0FMT;GD@rWrQ}~FuR9h=y={nLg zqpwn2*rR8{#;NVco-~u(lbhj_hj`ZJWX-zIPjqW$f$}levx@9~QXr*rY#2{V{WGf}~DL5F2en#rHRMp9uLx zzTyXQLusnfBDVehax(!L(GHpp87loR`JX!*33>_Zc-SRr{qkjlQTu~ZW@n`Z@zoH(cmfwC_Z#%J6Mp*L-i%lX$Ec~%5=um$bV$3b9grg3)P^P zHMESASu~h?i8;cJm24J>LrjX}wWjPf=OU-2op0Q@5w0<5Y>-4kT7>(giX6x0^)36z zD}yC(rAOa*gfcXgVF8rbx0o-5cH5-7I=b?<=dheDEI=R{hP1?xRm!$t0m>Bl_P1Op zVxe6r8!K_riuZhv@JP>n(4r+-GWWd5E*FBh|HvN@iwiCJ8+l6GdI95ze z=lloL9Krj=4DfBPV||FEu9`PyDx-Oe(ef8=}G3l4m+n;;L|l zcUOhonr*U~!O3 zv-IcYWZ@;oYkCqBzTpjW%&>ZZemg{M#Z6+vEZ}Rc?{_EHfFe4fn)y~{;Mbx(s%(XL zI9XP3XE|ndq@q4x|G}_m+P(V%U9a5ue}q(o8ueQgKP+CIu?bLq-u-!+cGUFOo@VCZ zbe~$L`F6yg9-DTa!flwQ%zT$%G^h%NrRNhFpbtrU${v~08`yUMepEnX$_ zv^vmI;V3THLkUBH`Yw|?9+G6sZriFAYvih`ap)}BNuSM;F8ipMzk6Hp z83#W;>sCut zRPnrhTD?}$UfuA%UsHP7aTnesdp=S|k> z>5Wm{rl4x1zHZ}mbNqSASnB*E();zjx5LsG5NXY$?pQ$iCFX=-KXtRBTdb{L_@;tL z$)k#09MRV-?Ca=0$PEkIE8-v0mwrXho)H8t`|${RhP0HIBXF~ITq_F)j( z#LiXvV5z9p%QK$)c_-^p;4_SQn za;am1#gOH>)}(~{e&lX%pFw4o{t$;wvDJrhfxF47o!p)>6$&+~Lb%t79t*W&C<7&1 zE<>`~Mo%cC?DHq%ZBK@DJUr+n$o&0<7#D9pz{Mf^VV@Tq$TBxVSzk!jv%A|ozHyYv ztH2x;_inBChxKH4b6RLS^gr>5pg!#TZ#hM&oxfFK4f|x@^_iutYiDrT^Mx;+e{*R*kz`_T6k*ojdth zpj9?R5(JbXd&i^A;B$h%0J|Dzk^!yI;~gvj%?RG2$C-uw1)JQ1ZtAdE)zGopOa2>B}bAJP{kohhr)g5)5(-T({rfX0}JHTn7QVlV_PwtQCqBp z1@476q0h%1-oT}}jfcOCJZ_vF*t=C^-X;0q>0p@dC3*ujUv|!aOdt_<-RoSUoZ=OFfYKX^;e z#UVr0_9YewKLjxcn=oYqSP_WFL0aK`$Dv=(keDmeT$m7zZRbs~GvS#FI6`_2iiUu- z+WY_BoR88!b**49%@;&p7I~n){)nHhj?GZnui2QE`SD2&XQx^p zMeCBDPmyWVMa_C7-xgycXFi|wmW@iHeWtC7*s2lnaEV^y zQg+V>^m_ETP}@AE)P2fAw4q5MgR1S8-;_dmYeDdM@7Dg9`;T)Fq>e~O&0r#%KzkAo zw2IL6&^f0wSuF4#p@juLpTaSs$jcwf63|c3UdLEKtd0#FMaCV--aIrIY6t&&*#xu& z65RV&-3Q<(74Y;Mi|8x@&z#So;4o(Gp1y#$S+&70P|x#-e|__&h-WFnBfF_0Sybc~ zjl*-zp9%_cT@@c^A5&guqk%=6oGhSx=5?|nRW7+wYMW2IJK=UCT7%JbOw#EH=IP}r zJh$#0pC~^JVd?Pq)vgv8%FpRSBk>+pK9nDuV`1gjAbQ&Hg6ULnVI4?K|wsD_l zFP)0pnVg_dV2Ck)t)LK8@lmi#lPfd3*#|K!0VA^&Bh#ndVQcI?VEm6ZioGm;pcRd;{8w!I<~RT{vdwyfGU|y%ErI zB6h}|$urQXxDuLms<%!Cll45$^nE&2%O%%)KQYU)7x9$lsr6E9zdH(k*zu~-^3~#d zHc^Cr0v4!-I&XZ%$gI~WKp&TSAtsA7%3R197;+QOnoLL3%@?lOYWys@@j=+zn;2a52!INxhFMd%L5%JFY9}<#8hG5mPuXeNT;u*)D0h z(a6_ot5T=#L?IPIdu9_Y+^@uvhZNk)wsA`mvtM%f;*~jZw!HbZAh&gn?iM}pfxO_r0V<5ZLjwP|N2=&tXg=1w}XV>W~Md4 za~W@aKIYFG<^d`c!7!YOz!CS4m)AF~^2&NcvMcU-9RJ!;*qS(#?{gba!qYpeDu0`n zmnV}kUO(KOZZh?=*V@-`a@hOriEQc3;g^;D8mSs%*5}>>RTN}5o?5M@`PXF8?&|~^ z@<1K~LY7GC)l$dVy_b#U0q|MStMPqdem0Ja7xt9PdJ-cMi8J<}K*)JmEg;g=>0kaVs5 z+DRIzPKwfOo8^8d02S0+Msm9!A`J$s&TU&3bcQ{08Y>&rpSw6++xZ%IwX5s%W8!s+ zkW^;W=pn4aWIb3fc%!?U$KAi7`8+tJuW0Tv7iRFVECTBM%|pH}dpj(}bRsXd$}BZd zpsZ0Eu@0g1TnDxB*SUph6x)6-CfNB8nl2Z=C=N)8O?SWuH^y4-nA{ufvZ1!*==(x{G2l+E3u4xv&$qB*YudG!KQK-}_I| zI>sK|mEn6E!5t3v*L@u=shpE)Z^~QmDdVmKgPA6zERZLa**y+)6XEkaXsX)3g{F-; z(ZI0i&qK~I1&h#@1hgac8GP>~>jenS!X@rgfO@_i_DpbxtRi;8muq2$FMa_s|Ztg16wT~)L zMflr5Zq?OQHX|D=G91Id+jrGIpR=(@e&XY3NJuOv-$CeC8lv@XW=$c)mL~;0y=KNF zS@=jOw0MgEwvwD{7JpRO9pQ6*m3UrQd8ysCk!+Jcl{uljoxf%;CnnL-LH%k@ zC_jgOYAQ>z!d0mBXk=v6x!1rpea>slYoXPpW%-2p{ih)ADT3k7Z8O)2)}mXvYz}u8 z-X0a#LMo5ii}A1k9R=flhr&0H!{B5Pi!x~|Ks|3#(s+g@Hhy*GZE4NytB9mljuAZIJ-`nw@qE9u1=)i)qINL z4d;tg5-4ynJl~K@QIS7=M~bGDS*T};5cF>GZEvsHb{zaxxh*FdUVKMzC{rv+D>oU$ z6{O-IXd@UYxZ#+v^N@3a4w=3?{dZuWhh52JpnZaJ&=o=?fcm z(7NKeq?%V$@6M~dKE0Bc2Tsg!FNsW*k_FTdH^YoVd{D56GrR?3)XGyS^!}8}CG(#* zBhrN}zBoDYymxHFOq*1`Uco+p(=ZQ~O?v3GMp@YBla4*bb>A7ItOmNPFarVy2~X z<~$ws-0l~W6@)GgVy2YpNA#mcm?BM@hRQ}9{b?_0Zsk^ovG681PDHb4eo+@B=Kh6G zIys~iP@q#Bs5kFk++&ZSIZc!rt<@~{6%KQgi`IC(SYk)nGvI$$j=5~~FAC%(hQ(-J zLZaTLt({oW#wR{u&ZEJKsF@jZLnuBlHrY7M-$Y|zOG78WUZt;~G+hxAHI^qQtu?sq zuvD5BYEo+xDw?=_LKMGM#W(DEC1Nq<7iMH#n&Y0!Y!J(U9y}iANqBuZZ^tZ7%EnBq zsb4CPFS6frvnQ#GNyyz5zdYpBd|tzO`m=*Wt+HgwiF33P(GHg$3em1lI5y#WDWZL9 zljK7m%SUxw*Bo(chdb0HT>Rf<1-=q(Pm#?gY#z^t%7{3(*56}Ij$06rZaV*7UVBF3 z#KrY#U2znVcHh+M>05ES0+~FgxA#U;YR9Yh4`%8Xz#!z;^9xE!e8iuoq=gDfw-3EM zLS;6?9Qt8}NK`MB5WZ>)M!Pj2G0NbvD&b4k2@`VHa~pJkm_m1$Bxe2*-v;hu)H&jy zu)H`0jq|TrDaK~&UjJPFLWCAj&X|bpv-Acq%4!JSX59^6nZ&Guaah;?Uf<+22qp?T z=fIE>Cph_JJk+E-;q-ckVb`UG?$~e8$(l&BWF!GXBO~Pg4gp1RtL&3AWieVwIo9fd z%SFu=LM|l=HOuKl;dCLxs7e1eDPPAMemVT=N~1nnwr33%4O>4>ZAremJL**lc1gaf zyO%vtjc6LEIoDyO-Esz=|hHC2Te_k^2V_4!whFv zR`t|(t|{Z9vF_~2@oB_!kvzoDVt)Wa>PXpkQ=`;|ihj6la8|aR%O{QLsdX%X5P2NK zUuK{CZ=$?#k~ouOuC-Ve1MP}~}?>EF{WO@06o1(HP7?Z|v@cEHCh4(n3RV*rP5(~HwE6Eo0_>RLX z)hiQni|`V@6xU@}=h^yA&G9yo7yXD(b8VMiDO`r3imOibLX;8i55?K>E#qqWk-yr5 z4_|*iBuj9EepKOKo7p7?k&E0XXn$qtTk%-HLxiW+LGAxvo3R@ ze%0k94mD>UJyWSLzm$tNS);r$=#sM`mDR2rlCHnw5r%W%Ry_9s<0_5j1~;=OgDU)I z^1~~q>A5R!L+xIaJlV1Q^@SWy;H%POA*fORe!Lr1#RlVTSPT4dV2a7v zYZ_~=kjv;G8nN6pkN0&e3c774&MKd(k~rWrPo`t-@Z40F2 zAU{F^3p}N2OHo=?ksanV7!Yc!X^!2IxWNZKI*HF>-rsHzjY51_WfAqO<(dj_VmTTo z`k1qx2q(CSIXEs3<2VtRm=hfwds>jw6UTlre45MyrB9v?kQ(E(FuYu;Q0lOK4r*HV2@cxRE~ zGc}br6>L!`d?<`D5YMpTrGW>lkm8z_nE%~Ad!NN5pFztiL%JkA9e>`2;@H?=P21&l zlSt-{<$yay?*h0{1VPn(F)jJpg)GxfYg=jXDF! za~ghHq?~DYqDEGH)L!T6E_n*RZ6QU+K%|RM-J|%QMEw{1Cut_>TL@lhmYf`-_DgH z=pR;B&GABF%$#kVco~er(2nPmW^ujHs0G=h)2L51s=H;e*q!iRm-3k3pm2Io?8CCwV(54)O z_kBWVi3+ERm27@Ggr}pf{T?O3{MEzdddrQvef__AvB6D(!XHE>!s~0#k88m#;NW;r zEey=1ZV~&QJhN8Z=QZy6E zv0T!W|HcurG^QeQ>qSU+9g;d-G+T6mN1P)l^>T&)g_VBFkJ1 zLw|v4q1#DvbEMcWzQ?^nE{k>5JWOd z$&F^>C69^LEHni)b=s|HmdE)VEdPkOqqyOJKKoOrbL%g}^v zWK(MlG?OLB2~mXS>6!C4)NGf6Zne*o&e0vig=`MVNu~o+`Z*sEAcPx{lOOP-8Z@K5 zgOM0njWZDuq2?$Ad^QaXI*m75hK^N(wtp75s$G6y{2n?oEW=S%`(Y=dU?kLIt8I)V zOgV7xuzlc+Uv zy65QD@!P;@jxTfb1*X~Bhug=O`*-LTYM-jGY`j=y-O4*?ZyVY0VI7gnz^$wYbh@G* z+&=6O@9~EHeXK-6!gk0n3+-g&Bi#vlN@O3zjP3S%O{=#nl1)=T32VD5H#C)yA zhqmmf4Y9U6g{BA=-|Dg^{jY&f+Jr;N9kq?Q>*xmcqW(o}2mW;qLnIyZe)i1j!Yq=6 zr!Ci6LukHzIxFvE7}WgKOL@!1M_pa6LoXOg;A+b{<(;Pbbfp|Q=NrONwbHtWMyheW zdyLX$1zm*{Q{Q)}-rX{b`I$vEj&`=GYewbeOs}TO)UH{hW~S$d`X{mYKhTU?tH57#a!9|wzgX4xcez)=IcYoK*WHi|ePfV38^9wsTm zCv+4WZc`ys!d`(&<(`Ml-K0shEej79%_LchF+ON2T>to%vf*aqe%HZeasRm)a_bPM zfkvqP-8(-H$eM&hUw_@aY352+pDKdPSa~tVUf%9%8%QG^Dj`=|RVvYHP(S1$>~Tq_ z+5P96GTBHbqAjKy;-3Wr1mxt%aayv-7h_+J4}|UN`;}w`O9%T;aU{^J*q-E>1ecbk zH`tVAAO@ZK46D$isH78@1F_2!?kd7V#*q;B+FHijwdYqWm!cc4QDDZ1=p=xkAQ^=G1&NxPN4zSA zO6FS1mV`vU4a1Ui>^;}S2JWP*vRVaaTn)&^Ax0Ky5)a|r$84>6Jt70$5?)u_y+5~c zvB^(PCRT>IlX!bk3DqnWylt4MsXvslhGjKaXu$Xnk)cw*LP7QR&)dwu(S;%9V1T-% zO;)Uw4O7Pv=GM{pn`*{rIt5+!rp`o;pyd7>T7`N}6Z^!MRlc^IHi0mzUG3dhu7!$L zRt;|BgU#QU+VB7JRTodzUNtu0;ijfI$>I38LU$V*ZbkS(V#ZV6ILKI_pXjr` zN~B~E1;63J^MbO&A+Yt~>%F101J<){2JNeafBjC23S*RI z{gWGwsNE}w)gdDJp5Js0ZlZoC#LnqgVlGEQCj(y(E4YP>uDq*OF$ zECE-aM8WudOyi0_{eojbQ`3x1)x+xYHcQ)an7U(SvXh#kmQiBj#6hvip>6aj8QNKQ zU|?XQjmgj^(r2)xDCTqd*l8Vp5wSJix_W3~Dzv<5>5W)E=rc&7OtiVqQ<+uLFBJ=( zvD}K$i0ir?@lpe0b#gO(v#udya&R*DPwFN`QqyZ{+B3%rUW*CwtBBG|hrUm4$&EI0 zg{-RVkK42{^;4nABd2|_;D2IC^MevK;{_Fa6>fNC>#evXm`2)2cRv&xAK>U5bd}#S z2MraY(njxq{WSP1iwaa%!g%|{2qpAw;;wF3b;yOE1U5HwvJaxK*BIs*VHIAjr>|lT zJNC9{WLPfCke4RhAfyO2m^){jX&qOqNpSOJsEEKnAw{c*FTl4fy>nN0eHzZp&S{RU zxxT>1{P~Q=_x6N5yoS@I4Aeq!j_k}kTbm&sUKm=_L67H%CE~E3cB=Q61i1Oq<0pLd zSvsXF)r_4MDtT`kPC-C-O*PY5G9h?i*F^5i3#}-eYoHTRe62`Y>6_qY%EEp9IrQ9Q z<(~x9o_j}QJy1IkR=np^3`-k5_Nm;R+-MamyIXWOtlZN%*k^i1#UaGxJ-Xl&qSMsx z>DQoZ+I!-{=TI+MHYPHnb|ar8TbbwHW6iZS%lm=rob-%Gmm!0{ILi}rD>Y>0YA6Hf z4f)7dVIt9FyLyx)42Mi-5=4)oDU~5t;+Fj( zH%9HM8>*r?j2j2%2GbYsn#!4VQ|8vvGIzgMmT4d--#L{14}FjiEL1C2q6Pho=g@}5 z=6UYw2b@8t}elqjp&*ExHs4k=r9C`h}?!Ggu$!u#I%M2<40)j|Y z0qGz}Z?VzL07DHuDou!hfbwB z{(P+HFw2fK$@@jUfMbRv*$r+Nh+HfY|L(Q_HXc{*V|BmL{0jKgZeooM1Ea~o^=_i) zU`z=kHyLWQzKvJ&V6AcTs@gXDeyQD}XbG<}6 z3QLrWTZ_q#iJyN(R3D*k021#or%4eYNROM1L5Iw(aSl%Spr48n;?oY^twU|bFBO|K zAnfdG>Hg>l0%7*!z*dd&=#@`rP&u0&Pt)v#FGE<)o*ikHn}0Blql@cL&~~4f+6quvKJsvL|uhnYiZ?UGkBZ^kc2l1i!j$_X`+x64tHf z4Oi{9j|-1?+^_)}?-hm{ROi}qkl-`dS4y#OJRbUuScR^1CA#m*x$AI6&B(;fNsFlS zJC+9B4@No)x`=kccH9rX)U)=p1mzSCn@d`@dvMtt(eOO9%to-Qah1L+>wM^$r^zYv zE@xm=EyOIl5@emeoJB{pO>ob8;kT2p32z;**u3$@$BpeR%qA(FSc|Qjsh{3Z!a8o( zd1$RqB)XxNE3^THrkd=eyPvsfXxz0G&V69kra7s_+E5W$3oi=JU|lcnC%XJFQE{Wf z67DPhVAI}p*Y*a&&14G^zT_#SqCTy9o1$4TDo5rpVlp=ep)j8W^s$RsW%1K7WCe86 zG>>4c!}s*Z?(R@^3Hvoy{;UeCfRwE!)EO-#4#ZPDFHoaPnxB-S0B-w846F7T{O~%B8Z~Z@pG8k8iC^7 zO22dOeO=*dE2}_F=Ft=QZ={Wlc9a8-qoSGnZc_$VZU1+f&TDOrM2G56sY_-#HA#!M z_ufc+xHt6r>MYmnhRl#4s(UC6qN5#Z%i#=8 zNo;bjsP)PrJ1C|njy$9eCF2Fg7iQemLoy{^qYc0ytLZIJIyrcCC_ z8Y=J^1tc1h-)i0C=LaKGy_B3pQ}Cz&8`arTvWL;9;xfH$()bYAlOHH8o_;g_nI%?H za~|O&`?oWQ=!>eT$87hnQ;L`i1pIF=E~2ORh87E2soaazp2$e*HEl=OMX~A`p>x;r z&OD1zj0~pL!6|Id)rkN7+|e@Y+kk;d=s4(a_Jj5K{x(enNvJ<)=ARQ?Z7{U%%ACJX z+U%c*-4B8&NMU%(a`!mPYB9TZ<=FH%x6G>azaKEm97BrUP3oTNG-zz;1rc!G55))K zJt)kY-ZZ)jv%DFB1!4cRXZpq;R-CW+F^qUU_?a1>TbKz=9#04ly+`$b#y$Ec!E46` z7B==fh&dcN_71=0DZ!?ydH)(64pouGF7rUCnf_dxCEK#c?+|&vfTn&V>85putH9tK zv9Fh;ZvS#etoH0?z4j%Z%VyVij|PiHWv*2G-LHrc_e(9N^dagz6apxsd?sZBaJpePQm&(`}rYPo{ znvMwWlUKhBRLASWgSA$_oyBowZFXZ62C_u`)w%sW1ovcjB`Xb(=JGo(=1&l!&{RKP zY%Thu&p`u^;M-9$+`0st?(_IjI)|NF43Br-&J~X3g02A9Z&7iV#>}%cGxcnER2DE+ z{7cdx#lta#V~8g1r>qB?E0(dCb$_GCoe^jlRUo-hu9aFXa9~WV0By7hOW;S;6y|8> zi!?84GKQw343iG~y|x`C8*U`=vC>i3QpZyvTRL^MBdUFo8~!M|X@*n;=?cjtJzuDW z1=6pT_|F{j=VWo*~_NRwB^0qko0?Bzf9FZ*JX_hq3Q8zBIcaS`m_>J)ocw&f5_j$x-FV!{t*{H^LWFLF? zT)t@jJ*^&1j!@$Tn$N5=$=C~J=}!AYWKkTI0}NCMpciXga}p4H_9W=7|4I+vF)}2R zEY%!B$aajIOag_-II53Mn(r@?gCI&dCiiz<_V+_^o5lV5mR*0Jeg8hggO$UPt}WW1cGj56)3_?p;UksFl@l{Z!ejC-eTk8mjUwL#i$G&UnL@QEu^r z9Cw_w?@MaHkI7MJrFCkK41y`ZILnvwK{=-1h0P_%SAt`aTUG7$IRrEfddh+rB%=W34QZ4TfbrsF}LVR*?pnQ&`@_r-- zHVRk1xn**U!oz}r_7>1W(1-2`9??7ra{V(9Zy}3%W%5uRK7%;?1aAh~+`qU|5XT5R zSJ8jzr(z|Zf#~2*9KEXtyYd`!%!WEopWnUXH7?Nj_3Opk=aJbu@wd2Dog&upNM$HE z^VWV{PF$z#VD?R!t8TmR%ADG6C{?5HM_RM>$CV+s>tBJ~Tb(i}`1%oOo^gOqo}`1} zQk{kM;brD`v|o-?R$f0cO} zx?-My{9dJKOckX@tSn?kl37-RBSjGjUotL*H`7gNV_>G+$QXNz>nUtgS&wenMW;7E z^*dK-_!iw(bZ<#RZq7^Toako34sdCWf0GN4ldtn03T4!rq6ath=<2INkdga1N$I*O zS675INTRD&XFo$Emvd?NSH$GTtiwvbNcG#NmrWnM{Cb6em<$jmd&AuclS3vu-f_D{ zPrOaX5QX>_MG$F;5}H|;uf{ZxyQarZ$Obw>6&d2Lta$?_c_Dgu2w(#}{2KX|=ZZ3d z-ly9Lqu<9lDXJe%a_kx7ZFJK_kX`~=+ya*66Dc+LF+Nb*KsC$FE9BtvMSsFf4D7Lz zEFl8Z3A$Bc3y!%@6n#8$=MHU3u<)Z3S8O+*>tSGqjdPi^5av{i3B*!1f@r7L+&q&7 zX6W}fM=lTv-+~I^jjd^V)6G;?eA#QIuSr=yM=fzQ6tPRzh)h?q+JmC7=j|#oW_&Ul z)H-T%Ud~}aW)9Y)ac)&PkxI$w2>^MbC&3Pft<`hslcJPVV0}{i#$q{9?KAW9*{x@S^W)n?0w1(uNQbreUpN@qkVMECZ%6b?2 zC$(yV+$oe5oBZ%sKCK0f!LTmC0&o5Hd|iUx=GKvDzhLD<%N8igxuEg-!7T5pH-V3e zH8gJdU(VLxCSJ?oJumLbJK=-18uZ*_H1@A3t>9^#X#X0M+~2_vsJ#qLjagsau+VYZ zyg&E^BhzDJCUKAVvB_S_+x)X12PVpy+BK-k1%eKlaT0NZ zdx(N+*CtT7AE-0e$3~|jV5WLRy)LdmZM^v)UdOX{c;rs7!iN}EzaM_4q5KeZUEh3Q zJvMuMKH3!zI;={UWL<19XTMh`a4cF;wmZTQo>w#u)-A8$Nw^cwNb%vA79`(YpD;6@ z>%S8Yt_(7FmPP2kMHmWX-D^IW!(Lm+&zX`n4PeLDT|1)LlNKQ(@56cML1vQFTZd27 z7)ZI{2i<4L`LGB=PDWYq4znto=f0N zlG?HYG)Y{aoeaj6xr@2;czrwt&=R3#Bdag7d=OgIJpp&^*ghhyueW|kxtoR7f9)T9 zg7%jyOu;vyye(W(T&2Szn>+7!2Q?E5EIRXC32Tt5?OML(_>Q`Qj|{rt$Fm*jYcub? z7I&3R@tL*V4G_PKxWXkUqh~>$WSVZQa-G_e{kYf;%grm=rW+fd7xdq6wAtA2r4;mw zev`Tw_`V8w*2c3N@^D@PBuY7$)-KqK!I zy94Ix*lL%jnp2JN)nnDtzFs)ffy87^cu=x?P6O`1kXCW+Jt4FA6|^?#pl)|>FAf0r zcypIqIB#tH%CI@kCP*19Q-I-dHo+Wc6YJlziT=3^#l5N(>nLl_sY6}Iplf8L#)e!2 z43;}4R!iBil>uUtS#De&FK{Pf_1kNbVwdG^i`17uy;JitH`uo$n&sQ= z%LpEG3Ist^?B`lFo-u-+l^jT90p06LwuJ&gc#C-uyS5Fm1K0t=&n1ATa2n%!a0sNI z7SWwJa-^c(CXks#=0+X@2!b&6V-mw{aSJLCssKQKBxvf*uY3cr z$q@|}56~JO{quQ7a+n!%19wDoQcZlF5H;Bp#DITND8VeQv9aHHPczh>{=C%KE5++pHQk*pek43dOtnp z#%~AZE{%R~U+K`IsBSvYteNKN-ByiD6gTY6-d*y#8{*;Qjtozh=xR^d3g}$e)j`F@ z3jI4)tD#q$O1ZjGT8MCf3!DNKY(_NW-F<-f5Dn>5VteB}b;zRE z^CV?rQl}zvMDBI)?A2S5rq56CGd!i~b|OotOk2t+#VCA3^7ng>JKC)JaK4mc7r_X` zgqS;8I1CU$Q~G3Os-II6bvhM!L?Zy87|ta$@@|fr^6qjE!uLe#q$4S~127ZN2ocyV z-9mgH15pm*#^R2<<=Rsc1dg74*nS1@B;h%Een)N{7pLOO`wGK&!Rdyh+bE6+vpH8? z?Rc?Re5a<$-p-OKbi}Po3Tmfs<)d;$!x^5CE`n0F@TYn!O1%dKH>=-4@ei(Hu%f&v z*fMl@VSp&HleTHZHlf|wF6&MN;byCc@Q-ufD1G-ka0#EgEBDM+5*Jg=IKZ3R?PfEut!j_lNs2zTkB6XZ6S#uG>?qYW31N=1g&XelTaou2j)2 zi$9$lU?2bGbnIY>LbISwNy=%`5e@OOJ))hLa)z>4RQlO3Jt=BBj&YgeeTGg>>_?bN zckrl9tg*eq&)T19pP$`AS7ZN&ll7;=Tj<6kFv}|3_C7~chR`&I4-dbLQEbV!;mplA zjEmW_aK6;EUpXLNYjYkV7Ek9Nb+HzD%|OjiA!+#Rt1$gw7nj=&muVjXy$`<&q)Q#>F)6p3@>cWHRJ6Mt7+-lKL zi&0qiibvg36Ib1|Xkm@f(UjHHKr3|a!6WvM}5NecboFb)->gxPHGZ z>i%lq)ZH&K@^XEe*W|AzCY?N^8iBTu?UwG~)`AoWtHEUYYOPSN?W?Y{Gj@t{cF{k2_|hDysIr48uK>8M$G=_cJ?r!%j7*BL^x_yMKTlIoSHZg zWb#p(C$n$3WkH+Ew=~p_${u$fq&7|2WK7LxX_Cw0fmMl$`+BXF_F5tQKc|QXpa@}C z1%=&*)yEe*vCg|*>MxbX0cd@_9N}<<)WKh#-?4?bFF5__|)vF z$8AizyDn?{8$+AuaArqC^JVvi*4a^R8v_$d=fi!gwq#n~m7log>phN>?>bRO1ZL%8 zby=mx2B4g`$6&GGDuZv+hj}mG?{>j@o!mrs<0rlAfzTzr-o5KKYF9of$#={ML<<&^ zT+(tVw@JFmg_ahJJLULP&%SPzf(u?LMM>)IuWv*#C&Z=!IlkChb{YWp)U%UA17ztf zd1Wcr!L!sgQZxF-W8jef8y`O;h0M$oCF& zA~Ot%b5V@1;0&Io0@ZyK;~eX|wEMWQ{j;nJ-5thXxjZ_3e&Q{0eNNOgv41qqm~$bh zwf@vAZnKoAXKIP=iK@<*X3-RS_(>a%R4cS9=-VPWW91=9a;mG~bcH!IvaI0igCiQ# z^~u}UkeBx&t4_uGW;PL_P3b0QUCOYmj*!<4)Z(f7V0GP_o2>4%T$|P`wBOUdDZCj> zc~^0F@!lVYX8y-$G|^6uUbS0CG%t}vf6V{N+TPwb+Af18Vb^6TC#CXoMmGDY42W0D zO5IUZZlASAKYUD%4?$PURouQjX|-z~U}Q757?t0>ar)F7L_aEE_dw(^FGD@&f;C@# zzlw+RFJFA&9_Qbv4q}rpdR>BCXacq2cml54cHI)WeVJW$u;Ji3nStNa-d?s(q(9UT@Qw=x-rNW4e{?cRFcmWph z(kHNI4!PidZ5ZQr9Q_uvh#TTv!E1&2)b)3N9N@}fLI5qZQt3^$g+QUVdCQNn;_z=U z@@X4GFlHV};Rdmc7pe&Wi0B7N%V3g8qVIX$WggB2exqrS6y%Cqw~T23nCy|?AdXKa zqC_^>L3kDU9<98VphrcwrZZrT5B~W7|IMlfNK_^T!0f$1e`AW#ksxFs)}K-Iy#AN= z?VsEB{Qt>aBaPGUn35fGJNcH%;UoG=ubIYsPHOFyUN-FKD^e^EnOth<_ajpGFA=}-6FA@Qa&5HS@9cS|O z=b`IuK#=SI0u+@-%Kpc=F+TKHUh?=a_ndGBTk6^%b6PUYkd~Sup+_AA*i`@4Vnea9 zR94vX^(=t1d&$7!@q}QC#7Zs`?)v54cTyuL4EW?zuVBA(o6F)iztL}bEb*Kt(TBY* zX6|eK=tS&dwb^9h_v$MY^QV&NAEUpIuIrqjn|j-DM1zb1n%J1f(BX=2sV6Tr3BNp| z(Ypi`+??=Rr1!}?E@0{eWs9(`xb$FeW#uCDux1a2B-#%-?K^ickNH5S#p||F*hzWD zTBCtM$97dz1HTMq+L&nn!QweMsmU?9vWVUBs!S- zQtt#VYya8occ`7%(>)jJFaN~5?^6XjFnMKfu~Fbv5(%5j#L}I1AFoP37;i;xxWm?} z{2MP#o|Gwe%O``3dS((q)5IOouM&bP4!Z=gH9oh)U0M8J`UouKU(Ma~XU8aV8l0A! z6|I-+eZUy*Zuu0 zbp0WqIsPG7FVwRxsqx@tVhl~zvx~cPt(H<>;`r~$xPwM)nZHJ#J&%@{JI}z*6-)0I z_-KKLySG*nc|GBy#bHvPWOZ5!iCiVPjmnSgH%N;guCK;o^Nb!$|8S|=iZyw>zvp+- zY-S{hF&4|>2@m7pC>eal?mS;pU1NHGtf1Q0UXlGZQ_s9e9Vwb*RpoUuSETmFR=uz? zU)&9xVUvE+HFOiJmwzDZ-rzAFlEeqV?)47$fOgIFuXsqUV{AR(??Emg@?jv3a%XI` z45&m9vBc}M@Z)!?L)PQcJAm!vhxf>91N8@a-rtlQU-53y_rcdXfzktS7WJx&^9YE1 z0p6_Bc0`j31+eI%){g6GRCUj%XgT zgI=<3$)|q)SXldVpKau$3A@9A3WF1`!rOQZF4gx)YqzROt+&e<+0kjNAhC9mn~FI^ z4bx=}@5FeR%PMFlD5V#gehkTG1}$)A0|cS8xZjle{x}#x{`bWpsn=W}zt$1-dd-2V zHJ}|y)I2=(3~{jO_M5&WpjG$gSgTHuN*RNb_CZ9px$&(3g3F`#a(;!&mq9*L*$(qn zd<%ghU7su`y|glTx!vdbW8!-yoLFR`QA)(u)6-X?chGf%FNGfVL=!q3#^hhMJFq`8 zs7)M9@6P#3j-r3pXxJqGxJJ2vPW>Vz*#E`v>L@>J4z}R#ixkFYecR!(Gc$Z(idso*V6q{i)356r^eaTe90QPOIn4+|mz8R*#<` z_Ldc3nP8A=u*EnZPD}?mHqrX{=YsM$)XsvKuIvaez;-(Ct;mxQBVkP;IPq0;ebLI5OXm9buHq&c1 z;VTG10(eQASUT5>R>LD2J>ypGY+qt0gl4Xu(q^~wQl9iiF2Ole?vga8K@HpHY4pr-I*S5x|w)9;%1dWtsLc}3jv?#H*u34MOPnb$JQejv>lf@MUNDT5ep=Q#Hl z%BHB?K5rc`Z;zDyo*LC%*;+Zb1W9-(@S|7g(8)*+%?8HMRQe8YKe?CO*~R3r6%TwnkXMRysAjx zPhI6CEA^m$FnjU)=733YZw>b%BUi&v+yuvb2tc9L(YuA0Ezm0)CtGiC(<@SNde;_L zkfn|{qCal_(42>9lI(o%a!ykfzK)op<`K^J_?luzG!3= z(-A!Jba?OOg9oRkB$=r_lb2<51gE-j2v&LpvZi?trkiDSVZ>r=bnMKd-t0O|Xocsk*u6pri3Es(C`5lzVvO#{9B&%spjlNO<6VLNy{e);G6>S9d!fX(Bg zm6gKW^p%fcw(h8lZu!86{aC%q+jpR3aeK+=RP|X(b!dp6Wdd|*KXI$o?tH7;`JdZ8 zJop-~rpm^%u!!E9c4vL0O+(^l*$E~O6Tx+K4XG|~9PLmro-37oERex1dI!ytj4svd zR$5j~xzO56{_$F=KSp)gJ(53r%Qg8U3EK>OA;2eUM}VA6Iyq<88vw~(P?Ny;$B1Y@ zFhy@^)|JS!6`8hQkhbtGrp)$VapAYGTfRk>TwiX2mHQDU$q2G@u_VdZnmf^4OhT+_tEXQl7DqOuqMUN*%( zgY5f}GPr4*p|QvHWISX9_>kT^a_jUs?6ca*l0g}|G)`wj{hHE}V4XX31%vd8?e7W; zv3;)BhYAhOq?pAC0L0`yY!e(47jtEOV1F&X^s-L5cD`0rgAmWuH1KR{6k>u zg88+aH!19ij~ISf``$a{vqllf_VHscqzHc?$JAPQ(svNN2?0UUn|6lJV{P3V!BDNsr#4VMWxyBa9IU06~&_NIX$J%$$lZ`C47tcbqgIS z*J}n{52A|`trA5iK=y0glzZfy^|U5H;Fx-KWU)G6La4ZOK-~G+loZoll{0&ZvtDCe z&DHrYinZ=o2G3{LkcHQY2Q50&H8Dyad99v5P>NC8Bc`4HPa8+dmUAir3dO8IRvX zD1RvvG!#eczPE6GoK#3YSszK-jo_;q&=V3xM`GJzk=hZ*WigXd&L34g=+Pt1oy~A=-6vnP zXyQYR!P4x#pX;hm%+Y`PYFca4%U;8r^|Eq4ujriVmUF6Q+qjKxiym^Y#Q76UQy?R`+)$s}_2(aNldaYQH&C9vTvXYaeQt zl3FoVIiJ*;Z%CH^On~G+=@aH?v>*wfQm|hdhex%QzVIizX_i0g4RvFhkux@Wfnca3 zB}aHF3-o((o9r+3o_Tn_S*h~L;XuFvpiN%Q58xA)QGYQZHg zDEXNf6$7H|>NejBQ90_)s6Z$LRW`feXm~c_?fZ-$T~_z|1J`;3&<>pgyTannxWNrd z@Cg1Myu!0l@Il!pGy9F}ug5JclFnOp&I-AAoK9&&ykkhG-I0hvUk`Wob`Z}A?dj1+ znK+(|n1}U!ww>8(yJ`1aRaYCN*gB17X%A#WN|gShI>s5|Ayb-iLE%Jj@ytmYT5e6& zi}li^^Sit-gb6l2@GI3uTPmV`Aa7t>&EY3KZ*0JfWq8DGItb+BJ6 zd%g%;eVg0Trmhl7FgpOAz)Q1W=y3+?V3|U#8Bg@5C@onwfBp=6a9F9_=;f4mUvE_W zkUi9P=59>YbR20SCD&9f+#}bNTh>!mPPFQ(#OkS5u`ChGq!D9{9_{JN{4*K;O;pLs z9#`?zi`_CN6OOSrHk)Qu+E}w+WnIa7UGR1J`5C@QhgSg>9>l=gu4^w}a>1BS3cL*#1MW%lKtJ{7rjW3P*uJ!C?HLF8b-%GJ)r*?D~5@>{blIj_g75%@UIp4Yzl zDy14)au5~701yak06Zyr+4YbEb07#{2Y7nnmDn~cr^-2w%@!pwuZ8dJzNg+7Fecg> z=xT8n?C6eCRf$J5Zt%pQhs0c)@a9KC?TiLDwN+CC1LFE>Z?rE@EtnWDR+i%zi!y8n z^won*f<6GST$+FP2mhUYTWAGq+SiP5{!)Z~QX$1~=hIhIzR;;I?39rYE%gP^vzp{P z7N-HE;CX+Sf=8=oK37?$vT8nuFEBA4ZX8SB81n#Kx)1k2yI+B3(w6!Em48qGgTgY- k_OBYO_Jbo8Z4^z;Ni)t`_0Z7J-Uk2smiXOb@T1}X18vpS$^ZZW literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/uniform_sample.png b/release/0.10.0/doc/_images/uniform_sample.png new file mode 100644 index 0000000000000000000000000000000000000000..e716c48e782019a757bed0cb443f2ed97386cbe2 GIT binary patch literal 24880 zcmdRW1ydZ+7G@v=4DRmk?(Xgq++6~}CAhl=cXyWrcL^jo!QEYh2HEDlw^jQWcB-bR zX1b?u-`jo8`Q%Kbijp)U93I?<4<8U^WhB%-e1Iqh-XdUV;6FDR-~!+e$VE(60}Q-; zz~&LaHiV0swAhE*34){d53NKMML&FKh=+eRfdaN+9c6S}K72rPeSbr&TM~PI_+Z>3 zD*XaiByDXe<88fTDJLiAN=-#3ii89Vh71ZI*|Y?0 zw|e>D8ls?pKoFuLC@QEZp%lnL|NEQ?1tqjN+6IN{KcAt1BuGcu|950QJg{|SiWdS4 z9QA%MbB&?}yv|3M~|BA)G3eqcV+e@{#TmJk(b z606jxKoj(RN_JT9lwGJbASWiypvBP#dTTZc^ua=dLBT!u-sXf_;EDRzB#=Vum>pHC7+Ec|*h35UfXQzRW<8ZY!D^Zy(X8z4TB;2Dmg9$6jJ zI(~C7Nh=UdgC4%j-4f-aGXh~WIhTjZi zs-B)a4HhvkP_K5Z(TXzR>8I7IGVoXo`Ai1wQ^0A8c!Zkm7UJB`S7rCcQi>815*9t@ zUp5}0Mh?uYi+z246^oJ|D1X?@Qax=3BP$dod)B&NtSi30zH<3{{e2?Ibjn@SIUfB+ z?Yc9JNT=UgPn(R^Q(b4+RoPA4Xz@$RQbkTc`5DQm!4zt(-7PwaO3`*@A*Ab+K$XpE zf`B|@C>om{I6D67!uRQ~s^w(v8JNpe+-$yD2Ts$ueQQKD27!=oPPN!o+zMFI_N^h+ zm~^LHBEhf43_6X2swhW66I%n}nA#DpebM9@G-|~WkWhB)vg1}V!2A{0bw5Sb8ucg% zdf#biWtA!A6h1%RRAnX#p5SqPma$)ME~rp1n^|ly`_yEx+ppJ&&1|?>D(kkM=@Hvm z$gbzL;#Ht(VUe*oXk2PK?6rOIZD|({3?`|yr0W#lUdt66Va~)vTX9t{Rj8oL9E?P- zx)XQTHKrV*)M+&5u$`lk%i(KjU+eaN>ptp!o)%PCWR-FX~TYvDzku zh}T^7D=mJe%_XZsDs~tH?Rs^`3H1XALXeaMPFA^zw37!hP`xZJz}(1q%o#D?lJJ=eL|02mmM3eS$bjeuF&7QcY9s^!!(D+&2TAETN4B`W+oWLvb@v zBZCDSC=r>|r{R&V+l(V?zx+F2KF!>N0{Q0(>cicNgGPtDY$mH&kjNexupDh*Yuw=% zaJ~3IHt&h`a`Rp?tC{6JI|acZR$!?j{$A4}(XE7lg$VuR6-D8SFftccn0=d3^MeA{nknpeo zt_W9&M8gySL)=Hw!HxPZ{`v_lcD_1jzD6(prs$K3LR*E)!R}ny?!7Tvo9hM|C-EY zuk-Z!uaAhlqXP;vboU%L;R*_f>RRC6Is8OvrFsEnoaGCLCv{faR`s=>9Q5pk3BUQ8 z$kKozFNXGJ^Y#=FOaI;6u6eDZi85#|{$>xXXCoqW+4t9%`=f{-nsH%BXM1x_F%mv6 zPbqX%8$LHspC~mZd%JtWn?@D2C9N{&m5n%<*%=!zKGbwj5N|vEf71lck$B9olSN&o!B9R29lpbpoIJsSGZgdH(iL zw3#F^9^=NpyR#xlC^!<{OyXE#;q_0AxVG8rUEylsNRc$^RKk@iCRAc6j^?&Clrdj# zO>YL==G3CwvCO6u8BWg&{LB)ds>4D@=!?FtCQ1d&@0u_Q#Xi zEaWQHO5jT5)8ag(In9O<{_%2oDSx@}beH$s{Rxr&h^DsHAKbtrBZ5r4J|LD)e^?@I zACfZ+K3?~YSo^#7hgB)N6^Xdr?}bjqk |6?(2(hcJAWnD<)m>0t*BjdFSGC!8od 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 NMLAX3vZscD{{un^Hgf;~ literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/worker_security_group.png b/release/0.10.0/doc/_images/worker_security_group.png new file mode 100644 index 0000000000000000000000000000000000000000..57eb0265a34ad4223b69600d2a3dd355482e0bf5 GIT binary patch literal 89208 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 aXPTGak*)X6Zt{}>U-xtk@04lVMf@MKrFu00 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_sources/about/index_en.rst.txt b/release/0.10.0/doc/_sources/about/index_en.rst.txt new file mode 100644 index 0000000000..065c430cde --- /dev/null +++ b/release/0.10.0/doc/_sources/about/index_en.rst.txt @@ -0,0 +1,14 @@ +ABOUT +======= + +PaddlPaddle is an easy-to-use, efficient, flexible and scalable deep learning platform, +which is originally developed by Baidu scientists and engineers for the purpose of applying deep learning to many products at Baidu. + +PaddlePaddle is now open source but far from complete, which is intended to be built upon, improved, scaled, and extended. +We hope to build an active open source community both by providing feedback and by actively contributing to the source code. + + +Credits +-------- + +We owe many thanks to `all contributors and developers `_ of PaddlePaddle! diff --git a/release/0.10.0/doc/_sources/api/index_en.rst.txt b/release/0.10.0/doc/_sources/api/index_en.rst.txt new file mode 100644 index 0000000000..25c1dd00b9 --- /dev/null +++ b/release/0.10.0/doc/_sources/api/index_en.rst.txt @@ -0,0 +1,9 @@ +API +=== + +.. toctree:: + :maxdepth: 1 + + v2/model_configs.rst + v2/data.rst + v2/run_logic.rst diff --git a/release/0.10.0/doc/_sources/api/v1/data_provider/dataprovider_en.rst.txt b/release/0.10.0/doc/_sources/api/v1/data_provider/dataprovider_en.rst.txt new file mode 100644 index 0000000000..96efbb1da9 --- /dev/null +++ b/release/0.10.0/doc/_sources/api/v1/data_provider/dataprovider_en.rst.txt @@ -0,0 +1,34 @@ +Introduction +============== +DataProvider is a module that loads training or testing data into cpu or gpu +memory for the following triaining or testing process. + +For simple use, users can use Python :code:`PyDataProvider` to dynamically reads +the original data in any format or in any form, and then transfer them into a +data format PaddlePaddle requires. The process is extremly flexible and highly +customized, with sacrificing the efficiency only a little. This is extremly +useful when you have to dynamically generate certain kinds of data according to, +for example, the training performance. + +Besides, users also can customize a C++ :code:`DataProvider` for a more +complex usage, or for a higher efficiency. + +The following parameters are required to define in the PaddlePaddle network +configuration file (trainer_config.py): which DataProvider is chosen to used, +and specific parameters for DataProvider, including training file list +(train.list) and testing file list (test.list). + +Train.list and test.list are simply two plain text files, which defines path +of training or testing data. It is recommended that directly placing them into +the training directory, and reference to them by using a relative path ( +relative to the PaddePaddle program). + +Testing or evaluating will not be performed during training if the test.list is +not set or set to None. Otherwise, PaddlePaddle will evaluate the trained model +by the specified tesing data while training, every testing period (a user +defined command line parameter in PaddlePaddle) to prevent over-fitting. + +Each line of train.list and test.list is an absolute or relative path (relative +to the PaddePaddle program runtime) of data file. Fascinatingly more, each line +can also be a HDFS file path or a SQL connection string. As long as the user +assures how to access each file in DataProvider. diff --git a/release/0.10.0/doc/_sources/api/v1/data_provider/pydataprovider2_en.rst.txt b/release/0.10.0/doc/_sources/api/v1/data_provider/pydataprovider2_en.rst.txt new file mode 100644 index 0000000000..e8fb629277 --- /dev/null +++ b/release/0.10.0/doc/_sources/api/v1/data_provider/pydataprovider2_en.rst.txt @@ -0,0 +1,249 @@ +.. _api_pydataprovider2: + +PyDataProvider2 +=============== + +We highly recommand users to use PyDataProvider2 to provide training or testing +data to PaddlePaddle. The user only needs to focus on how to read a single +sample from the original data file by using PyDataProvider2, leaving all of the +trivial work, including, transfering data into cpu/gpu memory, shuffle, binary +serialization to PyDataProvider2. PyDataProvider2 uses multithreading and a +fanscinating but simple cache strategy to optimize the efficiency of the data +providing process. + +DataProvider for the non-sequential model +----------------------------------------- + +Here we use the MNIST handwriting recognition data as an example to illustrate +how to write a simple PyDataProvider. + +MNIST is a handwriting classification data set. It contains 70,000 digital +grayscale images. Labels of the training sample range from 0 to 9. All the +images have been size-normalized and centered into images with the same size +of 28 x 28 pixels. + +A small part of the original data as an example is shown as below: + +.. literalinclude:: src/mnist_train.txt + +Each line of the data contains two parts, separated by :code:`;`. The first part is +label of an image. The second part contains 28x28 pixel float values. + +Just write path of the above data into train.list. It looks like this: + +.. literalinclude:: src/train.list + +The corresponding dataprovider is shown as below: + +.. literalinclude:: src/mnist_provider.dict.py + +The first line imports PyDataProvider2 package. +The main function is the process function, that has two parameters. +The first parameter is the settings, which is not used in this example. +The second parameter is the filename, that is exactly each line of train.list. +This parameter is passed to the process function by PaddlePaddle. + +:code:`@provider` is a Python +`Decorator `_ . +It sets some properties to DataProvider, and constructs a real PaddlePaddle +DataProvider from a very simple user implemented python function. It does not +matter if you are not familiar with `Decorator`_. You can keep it simple by +just taking :code:`@provider` as a fixed mark above the provider function you +implemented. + +`input_types`_ defines the data format that a DataProvider returns. +In this example, it is set to a 28x28-dimensional dense vector and an integer +scalar, whose value ranges from 0 to 9. +`input_types`_ can be set to several kinds of input formats, please refer to the +document of `input_types`_ for more details. + + +The process method is the core part to construct a real DataProvider in +PaddlePaddle. It implements how to open the text file, how to read one sample +from the original text file, convert them into `input_types`_, and give them +back to PaddlePaddle process at line 23. +Note that data yielded by the process function must follow the same order that +`input_types`_ are defined. + + +With the help of PyDataProvider2, user can focus on how to generate ONE traning +sample by using keywords :code:`yield`. +:code:`yield` is a python keyword, and a concept related to it includes +:code:`generator`. + +Only a few lines of codes need to be added into the training configuration file, +you can take this as an example. + +.. literalinclude:: src/mnist_config.py + +Here we specify training data by :code:`train.list`, and no testing data is specified. +The method which actually provide data is :code:`process`. + +User also can use another style to provide data, which defines the +:code:`data_layer`'s name explicitly when `yield`. For example, +the :code:`dataprovider` is shown as below. + +.. literalinclude:: src/mnist_provider.dict.py + :linenos: + +If user did't give the :code:`data_layer`'s name, PaddlePaddle will use +the order of :code:`data_layer` definition roughly to determine which feature to +which :code:`data_layer`. This order may be not correct, so TO DEFINE THE +:code:`data_layer`'s NAMES EXPLICITLY IS THE RECOMMANDED WAY TO PROVIDER DATA. + +Now, this simple example of using PyDataProvider is finished. +The only thing that the user should know is how to generte **one sample** from +**one data file**. +And PaddlePadle will do all of the rest things\: + +* Form a training batch +* Shuffle the training data +* Read data with multithreading +* Cache the training data (Optional) +* CPU-> GPU double buffering. + +Is this cool? + +.. _api_pydataprovider2_sequential_model: + +DataProvider for the sequential model +------------------------------------- +A sequence model takes sequences as its input. A sequence is made up of several +timesteps. The so-called timestep, is not necessary to have something to do +with time. It can also be explained to that the order of data are taken into +consideration into model design and training. +For example, the sentence can be interpreted as a kind of sequence data in NLP +tasks. + +Here is an example on data proivider for English sentiment classification data. +The original input data are simple English text, labeled into positive or +negative sentiment (marked by 0 and 1 respectively). + +A small part of the original data as an example can be found in the path below: + +.. literalinclude:: src/sentimental_train.txt + +The corresponding data provider can be found in the path below: + +.. literalinclude:: src/sentimental_provider.py + +This data provider for sequential model is a little more complex than that +for MINST dataset. +A new initialization method is introduced here. +The method :code:`on_init` is configured to DataProvider by :code:`@provider`'s +:code:`init_hook` parameter, and it will be invoked once DataProvider is +initialized. The :code:`on_init` function has the following parameters: + +* The first parameter is the settings object. +* The rest parameters are passed by key word arguments. Some of them are passed + by PaddlePaddle, see reference for `init_hook`_. + The :code:`dictionary` object is a python dict object passed from the trainer + configuration file, and it maps word string to word id. + +To pass these parameters into DataProvider, the following lines should be added +into trainer configuration file. + +.. literalinclude:: src/sentimental_config.py + +The definition is basically same as MNIST example, except: +* Load dictionary in this configuration +* Pass it as a parameter to the DataProvider + +The `input_types` is configured in method :code:`on_init`. It has the same +effect to configure them by :code:`@provider`'s :code:`input_types` parameter. +However, the :code:`input_types` is set at runtime, so we can set it to +different types according to the input data. Input of the neural network is a +sequence of word id, so set :code:`seq_type` to :code:`integer_value_sequence`. + +Durning :code:`on_init`, we save :code:`dictionary` variable to +:code:`settings`, and it will be used in :code:`process`. Note the settings +parameter for the process function and for the on_init's function are a same +object. + +The basic processing logic is the same as MNIST's :code:`process` method. Each +sample in the data file is given back to PaddlePaddle process. + +Thus, the basic usage of PyDataProvider is here. +Please refer to the following section reference for details. + +Reference +--------- + +@provider ++++++++++ + +.. autofunction:: paddle.trainer.PyDataProvider2.provider + +input_types ++++++++++++ + +PaddlePaddle has four data types, and three sequence types. +The four data types are: + +* :code:`dense_vector`: dense float vector. +* :code:`sparse_binary_vector`: sparse binary vector, most of the value is 0, and + the non zero elements are fixed to 1. +* :code:`sparse_float_vector`: sparse float vector, most of the value is 0, and some + non zero elements can be any float value. They are given by the user. +* :code:`integer`: an integer scalar, that is especially used for label or word index. + +The three sequence types are: + +* :code:`SequenceType.NO_SEQUENCE` means the sample is not a sequence. +* :code:`SequenceType.SEQUENCE` means the sample is a sequence. +* :code:`SequenceType.SUB_SEQUENCE` means it is a nested sequence, that each timestep of + the input sequence is also a sequence. + +Different input type has a defferenct input format. Their formats are shown +in the above table. + ++----------------------+---------------------+-----------------------------------+------------------------------------------------+ +| | NO_SEQUENCE | SEQUENCE | SUB_SEQUENCE | ++======================+=====================+===================================+================================================+ +| dense_vector | [f, f, ...] | [[f, ...], [f, ...], ...] | [[[f, ...], ...], [[f, ...], ...],...] | ++----------------------+---------------------+-----------------------------------+------------------------------------------------+ +| sparse_binary_vector | [i, i, ...] | [[i, ...], [i, ...], ...] | [[[i, ...], ...], [[i, ...], ...],...] | ++----------------------+---------------------+-----------------------------------+------------------------------------------------+ +| sparse_float_vector | [(i,f), (i,f), ...] | [[(i,f), ...], [(i,f), ...], ...] | [[[(i,f), ...], ...], [[(i,f), ...], ...],...] | ++----------------------+---------------------+-----------------------------------+------------------------------------------------+ +| integer_value | i | [i, i, ...] | [[i, ...], [i, ...], ...] | ++----------------------+---------------------+-----------------------------------+------------------------------------------------+ + +where f represents a float value, i represents an integer value. + +init_hook ++++++++++ + +init_hook is a function that is invoked once the data provoder is initialized. +Its parameters lists as follows: + +* The first parameter is a settings object, which is the same to :code:`settings` + in :code:`process` method. The object contains several attributes, including: + + * :code:`settings.input_types`: the input types. Reference `input_types`_. + * :code:`settings.logger`: a logging object. + +* The rest parameters are the key word arguments. It is made up of PaddpePaddle + pre-defined parameters and user defined parameters. + + * PaddlePaddle-defined parameters including: + + * :code:`is_train` is a bool parameter that indicates the DataProvider is used in + training or testing. + * :code:`file_list` is the list of all files. + + * User-defined parameters args can be set in training configuration. + +Note, PaddlePaddle reserves the right to add pre-defined parameter, so please +use :code:`**kwargs` in init_hook to ensure compatibility by accepting the +parameters which your init_hook does not use. + +cache ++++++ +DataProvider provides two simple cache strategy. They are: + +* :code:`CacheType.NO_CACHE` means do not cache any data, then data is read at runtime by + the user implemented python module every pass. +* :code:`CacheType.CACHE_PASS_IN_MEM` means the first pass reads data by the user + implemented python module, and the rest passes will directly read data from + memory. diff --git a/release/0.10.0/doc/_sources/api/v1/index_en.rst.txt b/release/0.10.0/doc/_sources/api/v1/index_en.rst.txt new file mode 100644 index 0000000000..10c297a71d --- /dev/null +++ b/release/0.10.0/doc/_sources/api/v1/index_en.rst.txt @@ -0,0 +1,37 @@ +API +=== + +DataProvider API +---------------- + +.. toctree:: + :maxdepth: 1 + + data_provider/dataprovider_en.rst + data_provider/pydataprovider2_en.rst + +.. _api_trainer_config: + +Model Config API +---------------- + +.. toctree:: + :maxdepth: 1 + + trainer_config_helpers/optimizers.rst + trainer_config_helpers/data_sources.rst + trainer_config_helpers/layers.rst + trainer_config_helpers/activations.rst + trainer_config_helpers/poolings.rst + trainer_config_helpers/networks.rst + trainer_config_helpers/evaluators.rst + trainer_config_helpers/attrs.rst + + +Applications API +---------------- + +.. toctree:: + :maxdepth: 1 + + predict/swig_py_paddle_en.rst diff --git a/release/0.10.0/doc/_sources/api/v1/predict/swig_py_paddle_en.rst.txt b/release/0.10.0/doc/_sources/api/v1/predict/swig_py_paddle_en.rst.txt new file mode 100644 index 0000000000..1c628e6971 --- /dev/null +++ b/release/0.10.0/doc/_sources/api/v1/predict/swig_py_paddle_en.rst.txt @@ -0,0 +1,59 @@ +Python Prediction +================== + +PaddlePaddle offers a set of clean prediction interfaces for python with the help of +SWIG. The main steps of predict values in python are: + +* Parse training configurations +* Construct GradientMachine +* Prepare data +* Predict + +Here is a sample python script that shows the typical prediction process for the +MNIST classification problem. A complete sample code could be found at +:code:`src_root/doc/ui/predict/predict_sample.py`. + +.. literalinclude:: src/predict_sample.py + :language: python + :lines: 15-18,90-100,101-104 + +The module that does the most of the job is py_paddle.swig_paddle, it's +generated by SWIG and has complete documents, for more details you can use +python's :code:`help()` function. Let's walk through the above python script: + +* At the beginning, use :code:`swig_paddle.initPaddle()` to initialize + PaddlePaddle with command line arguments, for more about command line arguments + see :ref:`cmd_detail_introduction` . +* Parse the configuration file that is used in training with :code:`parse_config()`. + Because data to predict with always have no label, and output of prediction work + normally is the output layer rather than the cost layer, so you should modify + the configuration file accordingly before using it in the prediction work. +* Create a neural network with + :code:`swig_paddle.GradientMachine.createFromConfigproto()`, which takes the + parsed configuration :code:`conf.model_config` as argument. Then load the + trained parameters from the model with :code:`network.loadParameters()`. +* Create a data converter object of utility class :code:`DataProviderConverter`. + - Note: As swig_paddle can only accept C++ matrices, we offer a utility + class DataProviderConverter that can accept the same input data with + PyDataProvider2, for more information please refer to document + of :ref:`api_pydataprovider2` . +* Do the prediction with :code:`forwardTest()`, which takes the converted + input data and outputs the activations of the output layer. + +Here is a typical output: + +.. code-block:: text + + [{'id': None, 'value': array([[ 5.53018653e-09, 1.12194102e-05, 1.96644767e-09, + 1.43630644e-02, 1.51111044e-13, 9.85625684e-01, + 2.08823112e-10, 2.32777140e-08, 2.00186201e-09, + 1.15501715e-08], + [ 9.99982715e-01, 1.27787406e-10, 1.72296313e-05, + 1.49316648e-09, 1.36540484e-11, 6.93137714e-10, + 2.70634608e-08, 3.48565123e-08, 5.25639710e-09, + 4.48684503e-08]], dtype=float32)}] + +:code:`value` is the output of the output layer, each row represents result of +the corresponding row in the input data, each element represents activation of +the corresponding neuron in the output layer. + diff --git a/release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/activations.rst.txt b/release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/activations.rst.txt new file mode 100644 index 0000000000..269e6491e7 --- /dev/null +++ b/release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/activations.rst.txt @@ -0,0 +1,108 @@ +=========== +Activations +=========== + +BaseActivation +============== + +.. automodule:: paddle.trainer_config_helpers.activations + :members: BaseActivation + :noindex: + +AbsActivation +=============== + +.. automodule:: paddle.trainer_config_helpers.activations + :members: AbsActivation + :noindex: + +ExpActivation +=============== + +.. automodule:: paddle.trainer_config_helpers.activations + :members: ExpActivation + :noindex: + +IdentityActivation +================== + +.. automodule:: paddle.trainer_config_helpers.activations + :members: IdentityActivation + :noindex: + +LinearActivation +================== + +.. automodule:: paddle.trainer_config_helpers.activations + :members: LinearActivation + :noindex: + +LogActivation +================== + +.. automodule:: paddle.trainer_config_helpers.activations + :members: LogActivation + :noindex: + +SquareActivation +================ + +.. automodule:: paddle.trainer_config_helpers.activations + :members: SquareActivation + :noindex: + +SigmoidActivation +================= + +.. automodule:: paddle.trainer_config_helpers.activations + :members: SigmoidActivation + :noindex: + +SoftmaxActivation +================= + +.. automodule:: paddle.trainer_config_helpers.activations + :members: SoftmaxActivation + :noindex: + +SequenceSoftmaxActivation +========================= + +.. automodule:: paddle.trainer_config_helpers.activations + :members: SequenceSoftmaxActivation + :noindex: + +ReluActivation +============== + +.. automodule:: paddle.trainer_config_helpers.activations + :members: ReluActivation + :noindex: + +BReluActivation +=============== + +.. automodule:: paddle.trainer_config_helpers.activations + :members: BReluActivation + :noindex: + +SoftReluActivation +================== + +.. automodule:: paddle.trainer_config_helpers.activations + :members: SoftReluActivation + :noindex: + +TanhActivation +============== + +.. automodule:: paddle.trainer_config_helpers.activations + :members: TanhActivation + :noindex: + +STanhActivation +=============== + +.. automodule:: paddle.trainer_config_helpers.activations + :members: STanhActivation + :noindex: diff --git a/release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/attrs.rst.txt b/release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/attrs.rst.txt new file mode 100644 index 0000000000..ac63127bf7 --- /dev/null +++ b/release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/attrs.rst.txt @@ -0,0 +1,5 @@ +Parameter Attributes +======================= + +.. automodule:: paddle.trainer_config_helpers.attrs + :members: diff --git a/release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/data_sources.rst.txt b/release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/data_sources.rst.txt new file mode 100644 index 0000000000..b9dd4dda01 --- /dev/null +++ b/release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/data_sources.rst.txt @@ -0,0 +1,7 @@ +.. _api_trainer_config_helpers_data_sources: + +DataSources +=========== + +.. automodule:: paddle.trainer_config_helpers.data_sources + :members: diff --git a/release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/evaluators.rst.txt b/release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/evaluators.rst.txt new file mode 100644 index 0000000000..11dc735164 --- /dev/null +++ b/release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/evaluators.rst.txt @@ -0,0 +1,108 @@ +.. _api_trainer_config_helpers_evaluators: + +========== +Evaluators +========== + +Base +==== +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: evaluator_base + :noindex: + +Classification +============== + +classification_error_evaluator +------------------------------ +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: classification_error_evaluator + :noindex: + +auc_evaluator +------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: auc_evaluator + :noindex: + +ctc_error_evaluator +------------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: ctc_error_evaluator + :noindex: + +chunk_evaluator +--------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: chunk_evaluator + :noindex: + +precision_recall_evaluator +-------------------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: precision_recall_evaluator + :noindex: + +Rank +==== + +pnpair_evaluator +---------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: pnpair_evaluator + :noindex: + +Utils +===== + +sum_evaluator +------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: sum_evaluator + :noindex: + +column_sum_evaluator +-------------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: column_sum_evaluator + :noindex: + +Print +===== + +classification_error_printer_evaluator +-------------------------------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: classification_error_printer_evaluator + :noindex: + +gradient_printer_evaluator +-------------------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: gradient_printer_evaluator + :noindex: + +maxid_printer_evaluator +----------------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: maxid_printer_evaluator + :noindex: + +maxframe_printer_evaluator +--------------------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: maxframe_printer_evaluator + :noindex: + +seqtext_printer_evaluator +------------------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: seqtext_printer_evaluator + :noindex: + +value_printer_evaluator +----------------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: value_printer_evaluator + :noindex: + diff --git a/release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/layers.rst.txt b/release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/layers.rst.txt new file mode 100644 index 0000000000..24389c2d85 --- /dev/null +++ b/release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/layers.rst.txt @@ -0,0 +1,508 @@ +.. _api_trainer_config_helpers_layers: + +====== +Layers +====== + +Base +====== + +LayerType +--------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: LayerType + :noindex: + +LayerOutput +----------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: LayerOutput + :noindex: + +Data layer +=========== + +.. _api_trainer_config_helpers_layers_data_layer: + +data_layer +---------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: data_layer + :noindex: + +Fully Connected Layers +====================== + +.. _api_trainer_config_helpers_layers_fc_layer: + +fc_layer +-------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: fc_layer + :noindex: + +selective_fc_layer +------------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: selective_fc_layer + :noindex: + +Conv Layers +=========== + +conv_operator +------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: conv_operator + :noindex: + +conv_projection +--------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: conv_projection + :noindex: + +conv_shift_layer +------------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: conv_shift_layer + :noindex: + +img_conv_layer +-------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: img_conv_layer + :noindex: + +.. _api_trainer_config_helpers_layers_context_projection: + +context_projection +------------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: context_projection + :noindex: + +Image Pooling Layer +=================== + +img_pool_layer +-------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: img_pool_layer + :noindex: + +spp_layer +-------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: spp_layer + :noindex: + +maxout_layer +------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: maxout_layer + :noindex: + +Norm Layer +========== + +img_cmrnorm_layer +----------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: img_cmrnorm_layer + :noindex: + +batch_norm_layer +--------------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: batch_norm_layer + :noindex: + +sum_to_one_norm_layer +--------------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: sum_to_one_norm_layer + :noindex: + +Recurrent Layers +================ + +recurrent_layer +----------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: recurrent_layer + :noindex: + +lstmemory +--------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: lstmemory + :noindex: + +grumemory +--------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: grumemory + :noindex: + +Recurrent Layer Group +===================== + +memory +------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: memory + :noindex: + +recurrent_group +--------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: recurrent_group + :noindex: + +lstm_step_layer +--------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: lstm_step_layer + :noindex: + +gru_step_layer +--------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: gru_step_layer + :noindex: + +beam_search +------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: beam_search + :noindex: + +get_output_layer +----------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: get_output_layer + :noindex: + +Mixed Layer +=========== + +.. _api_trainer_config_helpers_layers_mixed_layer: + +mixed_layer +----------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: mixed_layer + :noindex: + +.. _api_trainer_config_helpers_layers_embedding_layer: + +embedding_layer +--------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: embedding_layer + :noindex: + +scaling_projection +------------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: scaling_projection + :noindex: + +dotmul_projection +----------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: dotmul_projection + :noindex: + +dotmul_operator +--------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: dotmul_operator + :noindex: + +full_matrix_projection +---------------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: full_matrix_projection + :noindex: + +identity_projection +------------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: identity_projection + :noindex: + + +table_projection +---------------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: table_projection + :noindex: + +trans_full_matrix_projection +---------------------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: trans_full_matrix_projection + :noindex: + +Aggregate Layers +================ + +.. _api_trainer_config_helpers_layers_pooling_layer: + +pooling_layer +------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: pooling_layer + :noindex: + +.. _api_trainer_config_helpers_layers_last_seq: + +last_seq +-------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: last_seq + :noindex: + +.. _api_trainer_config_helpers_layers_first_seq: + +first_seq +--------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: first_seq + :noindex: + +concat_layer +------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: concat_layer + :noindex: + +seq_concat_layer +---------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: seq_concat_layer + :noindex: + +Reshaping Layers +================ + +block_expand_layer +------------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: block_expand_layer + :noindex: + +.. _api_trainer_config_helpers_layers_expand_layer: + +expand_layer +------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: expand_layer + :noindex: + +repeat_layer +------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: repeat_layer + :noindex: + +rotate_layer +------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: rotate_layer + :noindex: + +seq_reshape_layer +----------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: seq_reshape_layer + :noindex: + +Math Layers +=========== + +addto_layer +----------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: addto_layer + :noindex: + +linear_comb_layer +----------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: linear_comb_layer + :noindex: + +interpolation_layer +------------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: interpolation_layer + :noindex: + +bilinear_interp_layer +---------------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: bilinear_interp_layer + :noindex: + +power_layer +----------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: power_layer + :noindex: + +scaling_layer +------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: scaling_layer + :noindex: + +slope_intercept_layer +---------------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: slope_intercept_layer + :noindex: + +tensor_layer +------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: tensor_layer + :noindex: + +.. _api_trainer_config_helpers_layers_cos_sim: + +cos_sim +------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: cos_sim + :noindex: + +trans_layer +------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: trans_layer + :noindex: + +Sampling Layers +=============== + +maxid_layer +----------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: maxid_layer + :noindex: + +sampling_id_layer +----------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: sampling_id_layer + :noindex: + +Slicing and Joining Layers +========================== + +pad_layer +----------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: pad_layer + :noindex: + +.. _api_trainer_config_helpers_layers_cost_layers: + +Cost Layers +=========== + +cross_entropy +------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: cross_entropy + :noindex: + +cross_entropy_with_selfnorm +--------------------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: cross_entropy_with_selfnorm + :noindex: + +multi_binary_label_cross_entropy +-------------------------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: multi_binary_label_cross_entropy + :noindex: + +mse_cost +--------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: mse_cost + :noindex: + +huber_cost +---------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: huber_cost + :noindex: + +lambda_cost +----------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: lambda_cost + :noindex: + +rank_cost +--------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: rank_cost + :noindex: + +sum_cost +--------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: sum_cost + :noindex: + +crf_layer +----------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: crf_layer + :noindex: + +crf_decoding_layer +------------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: crf_decoding_layer + :noindex: + +ctc_layer +----------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: ctc_layer + :noindex: + +warp_ctc_layer +-------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: warp_ctc_layer + :noindex: + +nce_layer +----------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: nce_layer + :noindex: + +hsigmoid +--------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: hsigmoid + :noindex: + +Check Layer +============ + +eos_layer +------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: eos_layer + :noindex: diff --git a/release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/networks.rst.txt b/release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/networks.rst.txt new file mode 100644 index 0000000000..edb53acbf0 --- /dev/null +++ b/release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/networks.rst.txt @@ -0,0 +1,123 @@ +======== +Networks +======== + +The networks module contains pieces of neural network that combine multiple layers. + +NLP +=== + +sequence_conv_pool +------------------ +.. automodule:: paddle.trainer_config_helpers.networks + :members: sequence_conv_pool + :noindex: + +.. _api_trainer_config_helpers_network_text_conv_pool: + +text_conv_pool +-------------- +.. automodule:: paddle.trainer_config_helpers.networks + :members: text_conv_pool + :noindex: + +Images +====== + +img_conv_bn_pool +---------------- +.. automodule:: paddle.trainer_config_helpers.networks + :members: img_conv_bn_pool + :noindex: + +img_conv_group +-------------- +.. automodule:: paddle.trainer_config_helpers.networks + :members: img_conv_group + :noindex: + +.. _api_trainer_config_helpers_network_simple_img_conv_pool: + +simple_img_conv_pool +-------------------- +.. automodule:: paddle.trainer_config_helpers.networks + :members: simple_img_conv_pool + :noindex: + +vgg_16_network +--------------- +.. automodule:: paddle.trainer_config_helpers.networks + :members: vgg_16_network + :noindex: + +Recurrent +========= + +LSTM +---- + +lstmemory_unit +`````````````` +.. automodule:: paddle.trainer_config_helpers.networks + :members: lstmemory_unit + :noindex: + +lstmemory_group +``````````````` +.. automodule:: paddle.trainer_config_helpers.networks + :members: lstmemory_group + :noindex: + +simple_lstm +``````````` +.. automodule:: paddle.trainer_config_helpers.networks + :members: simple_lstm + :noindex: + +bidirectional_lstm +`````````````````` +.. automodule:: paddle.trainer_config_helpers.networks + :members: bidirectional_lstm + :noindex: + +GRU +--- + +gru_unit +```````` +.. automodule:: paddle.trainer_config_helpers.networks + :members: gru_unit + :noindex: + +gru_group +````````` +.. automodule:: paddle.trainer_config_helpers.networks + :members: gru_group + :noindex: + +simple_gru +`````````` +.. automodule:: paddle.trainer_config_helpers.networks + :members: simple_gru + :noindex: + +simple_attention +---------------- +.. automodule:: paddle.trainer_config_helpers.networks + :members: simple_attention + :noindex: + +Miscs +===== + +dropout_layer +-------------- +.. automodule:: paddle.trainer_config_helpers.networks + :members: dropout_layer + :noindex: + +outputs +------- +.. automodule:: paddle.trainer_config_helpers.networks + :members: outputs + :noindex: diff --git a/release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/optimizers.rst.txt b/release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/optimizers.rst.txt new file mode 100644 index 0000000000..d2f4958c92 --- /dev/null +++ b/release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/optimizers.rst.txt @@ -0,0 +1,61 @@ +.. _api_trainer_config_helpers_optimizers: + +========== +Optimizers +========== + +BaseSGDOptimizer +================ +.. automodule:: paddle.trainer_config_helpers.optimizers + :members: BaseSGDOptimizer + :noindex: + +MomentumOptimizer +================= +.. automodule:: paddle.trainer_config_helpers.optimizers + :members: MomentumOptimizer + :noindex: + +AdamOptimizer +============= +.. automodule:: paddle.trainer_config_helpers.optimizers + :members: AdamOptimizer + :noindex: + +AdamaxOptimizer +================ +.. automodule:: paddle.trainer_config_helpers.optimizers + :members: AdamaxOptimizer + :noindex: + +AdaGradOptimizer +================ +.. automodule:: paddle.trainer_config_helpers.optimizers + :members: AdaGradOptimizer + :noindex: + +DecayedAdaGradOptimizer +======================= +.. automodule:: paddle.trainer_config_helpers.optimizers + :members: DecayedAdaGradOptimizer + :noindex: + +AdaDeltaOptimizer +================= +.. automodule:: paddle.trainer_config_helpers.optimizers + :members: AdaDeltaOptimizer + :noindex: + +RMSPropOptimizer +================ +.. automodule:: paddle.trainer_config_helpers.optimizers + :members: RMSPropOptimizer + :noindex: + +.. _api_trainer_config_helpers_optimizers_settings: + +settings +======== +.. automodule:: paddle.trainer_config_helpers.optimizers + :members: settings + :noindex: diff --git a/release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/poolings.rst.txt b/release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/poolings.rst.txt new file mode 100644 index 0000000000..66566809d2 --- /dev/null +++ b/release/0.10.0/doc/_sources/api/v1/trainer_config_helpers/poolings.rst.txt @@ -0,0 +1,33 @@ +======== +Poolings +======== + +BasePoolingType +=============== +.. automodule:: paddle.trainer_config_helpers.poolings + :members: BasePoolingType + :noindex: + +AvgPooling +========== +.. automodule:: paddle.trainer_config_helpers.poolings + :members: AvgPooling + :noindex: + +MaxPooling +========== +.. automodule:: paddle.trainer_config_helpers.poolings + :members: MaxPooling + :noindex: + +SumPooling +========== +.. automodule:: paddle.trainer_config_helpers.poolings + :members: SumPooling + :noindex: + +SquareRootNPooling +================== +.. automodule:: paddle.trainer_config_helpers.poolings + :members: SquareRootNPooling + :noindex: diff --git a/release/0.10.0/doc/_sources/api/v2/config/activation.rst.txt b/release/0.10.0/doc/_sources/api/v2/config/activation.rst.txt new file mode 100644 index 0000000000..eca3ce03bc --- /dev/null +++ b/release/0.10.0/doc/_sources/api/v2/config/activation.rst.txt @@ -0,0 +1,101 @@ +=========== +Activation +=========== + +Abs +=== + +.. automodule:: paddle.v2.activation + :members: Abs + :noindex: + +Exp +=== + +.. automodule:: paddle.v2.activation + :members: Exp + :noindex: + +Identity +======== + +.. automodule:: paddle.v2.activation + :members: Identity + :noindex: + +Linear +====== + +.. automodule:: paddle.v2.activation + :members: Linear + :noindex: + +Log +=== + +.. automodule:: paddle.v2.activation + :members: Log + :noindex: + +Square +====== + +.. automodule:: paddle.v2.activation + :members: Square + :noindex: + +Sigmoid +======= + +.. automodule:: paddle.v2.activation + :members: Sigmoid + :noindex: + +Softmax +======= + +.. automodule:: paddle.v2.activation + :members: Softmax + :noindex: + +SequenceSoftmax +=============== + +.. automodule:: paddle.v2.activation + :members: SequenceSoftmax + :noindex: + +Relu +==== + +.. automodule:: paddle.v2.activation + :members: Relu + :noindex: + +BRelu +===== + +.. automodule:: paddle.v2.activation + :members: BRelu + :noindex: + +SoftRelu +======== + +.. automodule:: paddle.v2.activation + :members: SoftRelu + :noindex: + +Tanh +==== + +.. automodule:: paddle.v2.activation + :members: Tanh + :noindex: + +STanh +===== + +.. automodule:: paddle.v2.activation + :members: STanh + :noindex: diff --git a/release/0.10.0/doc/_sources/api/v2/config/attr.rst.txt b/release/0.10.0/doc/_sources/api/v2/config/attr.rst.txt new file mode 100644 index 0000000000..a93f41b867 --- /dev/null +++ b/release/0.10.0/doc/_sources/api/v2/config/attr.rst.txt @@ -0,0 +1,6 @@ +Parameter Attribute +=================== + +.. automodule:: paddle.v2.attr + :members: + :noindex: diff --git a/release/0.10.0/doc/_sources/api/v2/config/layer.rst.txt b/release/0.10.0/doc/_sources/api/v2/config/layer.rst.txt new file mode 100644 index 0000000000..2a02baf17b --- /dev/null +++ b/release/0.10.0/doc/_sources/api/v2/config/layer.rst.txt @@ -0,0 +1,428 @@ +.. _api_v2.layer: + +====== +Layers +====== + +Data layer +=========== + +.. _api_v2.layer_data: + +data +---- +.. autoclass:: paddle.v2.layer.data + :noindex: + +Fully Connected Layers +====================== + +.. _api_v2.layer_fc: + +fc +-- +.. autoclass:: paddle.v2.layer.fc + :noindex: + +selective_fc +------------ +.. autoclass:: paddle.v2.layer.selective_fc + :noindex: + +Conv Layers +=========== + +conv_operator +------------- +.. autoclass:: paddle.v2.layer.conv_operator + :noindex: + +conv_projection +--------------- +.. autoclass:: paddle.v2.layer.conv_projection + :noindex: + +conv_shift +---------- +.. autoclass:: paddle.v2.layer.conv_shift + :noindex: + +img_conv +-------- +.. autoclass:: paddle.v2.layer.img_conv + :noindex: + +.. _api_v2.layer_context_projection: + +context_projection +------------------ +.. autoclass:: paddle.v2.layer.context_projection + :noindex: + +Image Pooling Layer +=================== + +img_pool +-------- +.. autoclass:: paddle.v2.layer.img_pool + :noindex: + +spp +--- +.. autoclass:: paddle.v2.layer.spp + :noindex: + +maxout +------ +.. autoclass:: paddle.v2.layer.maxout + :noindex: + +Norm Layer +========== + +img_cmrnorm +----------- +.. autoclass:: paddle.v2.layer.img_cmrnorm + :noindex: + +batch_norm +---------- +.. autoclass:: paddle.v2.layer.batch_norm + :noindex: + +sum_to_one_norm +--------------- +.. autoclass:: paddle.v2.layer.sum_to_one_norm + :noindex: + +cross_channel_norm +------------------ +.. autoclass:: paddle.v2.layer.cross_channel_norm + :noindex: + +Recurrent Layers +================ + +recurrent +--------- +.. autoclass:: paddle.v2.layer.recurrent + :noindex: + +lstmemory +--------- +.. autoclass:: paddle.v2.layer.lstmemory + :noindex: + +grumemory +--------- +.. autoclass:: paddle.v2.layer.grumemory + :noindex: + +Recurrent Layer Group +===================== + +memory +------ +.. autoclass:: paddle.v2.layer.memory + :noindex: + +recurrent_group +--------------- +.. autoclass:: paddle.v2.layer.recurrent_group + :noindex: + +lstm_step +--------- +.. autoclass:: paddle.v2.layer.lstm_step + :noindex: + +gru_step +-------- +.. autoclass:: paddle.v2.layer.gru_step + :noindex: + +beam_search +------------ +.. autoclass:: paddle.v2.layer.beam_search + :noindex: + +get_output +---------- +.. autoclass:: paddle.v2.layer.get_output + :noindex: + +Mixed Layer +=========== + +.. _api_v2.layer_mixed: + +mixed +----- +.. autoclass:: paddle.v2.layer.mixed + :noindex: + +.. _api_v2.layer_embedding: + +embedding +--------- +.. autoclass:: paddle.v2.layer.embedding + :noindex: + +scaling_projection +------------------ +.. autoclass:: paddle.v2.layer.scaling_projection + :noindex: + +dotmul_projection +----------------- +.. autoclass:: paddle.v2.layer.dotmul_projection + :noindex: + +dotmul_operator +--------------- +.. autoclass:: paddle.v2.layer.dotmul_operator + :noindex: + +full_matrix_projection +---------------------- +.. autoclass:: paddle.v2.layer.full_matrix_projection + :noindex: + +identity_projection +------------------- +.. autoclass:: paddle.v2.layer.identity_projection + :noindex: + + +table_projection +---------------- +.. autoclass:: paddle.v2.layer.table_projection + :noindex: + +trans_full_matrix_projection +---------------------------- +.. autoclass:: paddle.v2.layer.trans_full_matrix_projection + :noindex: + +Aggregate Layers +================ + +.. _api_v2.layer_pooling: + +pooling +------- +.. autoclass:: paddle.v2.layer.pooling + :noindex: + +.. _api_v2.layer_last_seq: + +last_seq +-------- +.. autoclass:: paddle.v2.layer.last_seq + :noindex: + +.. _api_v2.layer_first_seq: + +first_seq +--------- +.. autoclass:: paddle.v2.layer.first_seq + :noindex: + +concat +------ +.. autoclass:: paddle.v2.layer.concat + :noindex: + +seq_concat +---------- +.. autoclass:: paddle.v2.layer.seq_concat + :noindex: + +Reshaping Layers +================ + +block_expand +------------ +.. autoclass:: paddle.v2.layer.block_expand + :noindex: + +.. _api_v2.layer_expand: + +expand +------ +.. autoclass:: paddle.v2.layer.expand + :noindex: + +repeat +------ +.. autoclass:: paddle.v2.layer.repeat + :noindex: + +rotate +------ +.. autoclass:: paddle.v2.layer.rotate + :noindex: + +seq_reshape +----------- +.. autoclass:: paddle.v2.layer.seq_reshape + :noindex: + +Math Layers +=========== + +addto +----- +.. autoclass:: paddle.v2.layer.addto + :noindex: + +linear_comb +----------- +.. autoclass:: paddle.v2.layer.linear_comb + :noindex: + +interpolation +------------- +.. autoclass:: paddle.v2.layer.interpolation + :noindex: + +bilinear_interp +--------------- +.. autoclass:: paddle.v2.layer.bilinear_interp + :noindex: + +power +----- +.. autoclass:: paddle.v2.layer.power + :noindex: + +scaling +------- +.. autoclass:: paddle.v2.layer.scaling + :noindex: + +slope_intercept +--------------- +.. autoclass:: paddle.v2.layer.slope_intercept + :noindex: + +tensor +------ +.. autoclass:: paddle.v2.layer.tensor + :noindex: + +.. _api_v2.layer_cos_sim: + +cos_sim +------- +.. autoclass:: paddle.v2.layer.cos_sim + :noindex: + +trans +----- +.. autoclass:: paddle.v2.layer.trans + :noindex: + +Sampling Layers +=============== + +maxid +----- +.. autoclass:: paddle.v2.layer.max_id + :noindex: + +sampling_id +----------- +.. autoclass:: paddle.v2.layer.sampling_id + :noindex: + +Slicing and Joining Layers +========================== + +pad +---- +.. autoclass:: paddle.v2.layer.pad + :noindex: + +.. _api_v2.layer_costs: + +Cost Layers +=========== + +cross_entropy_cost +------------------ +.. autoclass:: paddle.v2.layer.cross_entropy_cost + :noindex: + +cross_entropy_with_selfnorm_cost +-------------------------------- +.. autoclass:: paddle.v2.layer.cross_entropy_with_selfnorm_cost + :noindex: + +multi_binary_label_cross_entropy_cost +------------------------------------- +.. autoclass:: paddle.v2.layer.multi_binary_label_cross_entropy_cost + :noindex: + +huber_cost +---------- +.. autoclass:: paddle.v2.layer.huber_cost + :noindex: + +lambda_cost +----------- +.. autoclass:: paddle.v2.layer.lambda_cost + :noindex: + +mse_cost +-------- +.. autoclass:: paddle.v2.layer.mse_cost + :noindex: + +rank_cost +--------- +.. autoclass:: paddle.v2.layer.rank_cost + :noindex: + +sum_cost +--------- +.. autoclass:: paddle.v2.layer.sum_cost + :noindex: + +crf +--- +.. autoclass:: paddle.v2.layer.crf + :noindex: + +crf_decoding +------------ +.. autoclass:: paddle.v2.layer.crf_decoding + :noindex: + +ctc +--- +.. autoclass:: paddle.v2.layer.ctc + :noindex: + +warp_ctc +-------- +.. autoclass:: paddle.v2.layer.warp_ctc + :noindex: + +nce +--- +.. autoclass:: paddle.v2.layer.nce + :noindex: + +hsigmoid +--------- +.. autoclass:: paddle.v2.layer.hsigmoid + :noindex: + +Check Layer +============ + +eos +--- +.. autoclass:: paddle.v2.layer.eos + :noindex: diff --git a/release/0.10.0/doc/_sources/api/v2/config/networks.rst.txt b/release/0.10.0/doc/_sources/api/v2/config/networks.rst.txt new file mode 100644 index 0000000000..6f209bc95b --- /dev/null +++ b/release/0.10.0/doc/_sources/api/v2/config/networks.rst.txt @@ -0,0 +1,117 @@ +======== +Networks +======== + +The v2.networks module contains pieces of neural network that combine multiple layers. + +NLP +=== + +sequence_conv_pool +------------------ +.. automodule:: paddle.v2.networks + :members: sequence_conv_pool + :noindex: + +.. _api_trainer_config_helpers_network_text_conv_pool: + +text_conv_pool +-------------- +.. automodule:: paddle.v2.networks + :members: text_conv_pool + :noindex: + +Images +====== + +img_conv_bn_pool +---------------- +.. automodule:: paddle.v2.networks + :members: img_conv_bn_pool + :noindex: + +img_conv_group +-------------- +.. automodule:: paddle.v2.networks + :members: img_conv_group + :noindex: + +.. _api_trainer_config_helpers_network_simple_img_conv_pool: + +simple_img_conv_pool +-------------------- +.. automodule:: paddle.v2.networks + :members: simple_img_conv_pool + :noindex: + +vgg_16_network +--------------- +.. automodule:: paddle.v2.networks + :members: vgg_16_network + :noindex: + +Recurrent +========= + +LSTM +---- + +lstmemory_unit +`````````````` +.. automodule:: paddle.v2.networks + :members: lstmemory_unit + :noindex: + +lstmemory_group +``````````````` +.. automodule:: paddle.v2.networks + :members: lstmemory_group + :noindex: + +simple_lstm +``````````` +.. automodule:: paddle.v2.networks + :members: simple_lstm + :noindex: + +bidirectional_lstm +`````````````````` +.. automodule:: paddle.v2.networks + :members: bidirectional_lstm + :noindex: + +GRU +--- + +gru_unit +```````` +.. automodule:: paddle.v2.networks + :members: gru_unit + :noindex: + +gru_group +````````` +.. automodule:: paddle.v2.networks + :members: gru_group + :noindex: + +simple_gru +`````````` +.. automodule:: paddle.v2.networks + :members: simple_gru + :noindex: + +simple_attention +---------------- +.. automodule:: paddle.v2.networks + :members: simple_attention + :noindex: + +Miscs +===== + +dropout_layer +-------------- +.. automodule:: paddle.v2.networks + :members: dropout_layer + :noindex: diff --git a/release/0.10.0/doc/_sources/api/v2/config/optimizer.rst.txt b/release/0.10.0/doc/_sources/api/v2/config/optimizer.rst.txt new file mode 100644 index 0000000000..b32373fdef --- /dev/null +++ b/release/0.10.0/doc/_sources/api/v2/config/optimizer.rst.txt @@ -0,0 +1,45 @@ +========== +Optimizer +========== + +Momentum +======== +.. automodule:: paddle.v2.optimizer + :members: Momentum + :noindex: + +Adam +==== +.. automodule:: paddle.v2.optimizer + :members: Adam + :noindex: + +Adamax +====== +.. automodule:: paddle.v2.optimizer + :members: Adamax + :noindex: + +AdaGrad +======= +.. automodule:: paddle.v2.optimizer + :members: AdaGrad + :noindex: + +DecayedAdaGrad +============== +.. automodule:: paddle.v2.optimizer + :members: DecayedAdaGrad + :noindex: + +AdaDelta +======== +.. automodule:: paddle.v2.optimizer + :members: AdaDelta + :noindex: + +RMSProp +======= +.. automodule:: paddle.v2.optimizer + :members: RMSProp + :noindex: diff --git a/release/0.10.0/doc/_sources/api/v2/config/pooling.rst.txt b/release/0.10.0/doc/_sources/api/v2/config/pooling.rst.txt new file mode 100644 index 0000000000..d26b365c92 --- /dev/null +++ b/release/0.10.0/doc/_sources/api/v2/config/pooling.rst.txt @@ -0,0 +1,46 @@ +======= +Pooling +======= + +BasePool +======== +.. automodule:: paddle.v2.pooling + :members: BasePool + :noindex: + +Avg +=== +.. automodule:: paddle.v2.pooling + :members: Avg + :noindex: + +Max +=== +.. automodule:: paddle.v2.pooling + :members: Max + :noindex: + +Sum +=== +.. automodule:: paddle.v2.pooling + :members: Sum + :noindex: + +SquareRootN +=========== +.. automodule:: paddle.v2.pooling + :members: SquareRootN + :noindex: + +CudnnAvg +======== +.. automodule:: paddle.v2.pooling + :members: CudnnAvg + :noindex: + +CudnnMax +======== +.. automodule:: paddle.v2.pooling + :members: CudnnMax + :noindex: + diff --git a/release/0.10.0/doc/_sources/api/v2/data.rst.txt b/release/0.10.0/doc/_sources/api/v2/data.rst.txt new file mode 100644 index 0000000000..fef87c4fbd --- /dev/null +++ b/release/0.10.0/doc/_sources/api/v2/data.rst.txt @@ -0,0 +1,113 @@ +================================== +Data Reader Interface and DataSets +================================== + + +DataTypes +========= + +.. automodule:: paddle.v2.data_type + :members: + :noindex: + +DataFeeder +========== + +.. automodule:: paddle.v2.data_feeder + :members: + :noindex: + +Reader +====== + +.. automodule:: paddle.v2.reader + :members: + :noindex: + +.. automodule:: paddle.v2.reader.creator + :members: + :noindex: + +minibatch +========= + +.. automodule:: paddle.v2.minibatch + :members: + :noindex: + +Dataset +======= + +.. automodule:: paddle.v2.dataset + :members: + :noindex: + +mnist ++++++ + +.. automodule:: paddle.v2.dataset.mnist + :members: + :noindex: + +cifar ++++++ + +.. automodule:: paddle.v2.dataset.cifar + :members: + :noindex: + +conll05 ++++++++ + +.. automodule:: paddle.v2.dataset.conll05 + :members: get_dict,get_embedding,test + :noindex: + +imdb +++++ + +.. automodule:: paddle.v2.dataset.imdb + :members: + :noindex: + +imikolov +++++++++ + +.. automodule:: paddle.v2.dataset.imikolov + :members: + :noindex: + +movielens ++++++++++ + +.. automodule:: paddle.v2.dataset.movielens + :members: + :noindex: + +.. autoclass:: paddle.v2.dataset.movielens.MovieInfo + :noindex: + +.. autoclass:: paddle.v2.dataset.movielens.UserInfo + :noindex: + +sentiment ++++++++++ + +.. automodule:: paddle.v2.dataset.sentiment + :members: + :noindex: + +uci_housing ++++++++++++ + +.. automodule:: paddle.v2.dataset.uci_housing + :members: + :noindex: + +wmt14 ++++++ + +.. automodule:: paddle.v2.dataset.wmt14 + :members: + :noindex: + diff --git a/release/0.10.0/doc/_sources/api/v2/model_configs.rst.txt b/release/0.10.0/doc/_sources/api/v2/model_configs.rst.txt new file mode 100644 index 0000000000..a5fae7e29e --- /dev/null +++ b/release/0.10.0/doc/_sources/api/v2/model_configs.rst.txt @@ -0,0 +1,12 @@ +Model Configuration +=================== + +.. toctree:: + :maxdepth: 1 + + config/activation.rst + config/layer.rst + config/optimizer.rst + config/pooling.rst + config/networks.rst + config/attr.rst diff --git a/release/0.10.0/doc/_sources/api/v2/run_logic.rst.txt b/release/0.10.0/doc/_sources/api/v2/run_logic.rst.txt new file mode 100644 index 0000000000..5c97651f65 --- /dev/null +++ b/release/0.10.0/doc/_sources/api/v2/run_logic.rst.txt @@ -0,0 +1,31 @@ +====================== +Training and Inference +====================== + +Parameters +========== + +.. automodule:: paddle.v2.parameters + :members: Parameters + :noindex: + +Trainer +======= + +.. automodule:: paddle.v2.trainer + :members: SGD + :noindex: + +Event +===== + +.. automodule:: paddle.v2.event + :members: + :noindex: + +Inference +========= + +.. autofunction:: paddle.v2.infer + :noindex: + \ No newline at end of file diff --git a/release/0.10.0/doc/_sources/design/api.md.txt b/release/0.10.0/doc/_sources/design/api.md.txt new file mode 100644 index 0000000000..8185d2af0e --- /dev/null +++ b/release/0.10.0/doc/_sources/design/api.md.txt @@ -0,0 +1,262 @@ +# PaddlePaddle Design Doc + +## Ingredients + +As our design principle is starting from the essence: how could we +allow users to express and solve their problems at neural networks. +Some essential concepts that our API have to provide include: + +1. A *topology* is an expression of *layers*. + +1. A layer could be any kind of computation, including *cost*. + +1. Some layers have parameters, some don't. Most costs don't have + parameters. + +1. In some topologies, layers share parameters. For + example, + [the network for training a ranking model](https://github.com/PaddlePaddle/Paddle/issues/1311#issuecomment-279121850). + +1. At programming time, users specify topologies and possible sharing + of parameters. PaddlePaddle can figure out and create parameters + required (and possibly shared) by one or more topologies. + + +## Starting from Examples + +As a summarization +of +[our disucssion](https://github.com/PaddlePaddle/Paddle/issues/1315), +let us present two examples here: + + +### Example 1. Sharing Parameters between Layers + +We use +the +[3-branch ranking](https://github.com/PaddlePaddle/Paddle/issues/1311#issuecomment-279121850) model +in this example. For your convenience, I copy-a-paste the model's +topology as follows: + +``` +A -> f -\ +Q -> f --> cost +B -> f -/ +``` + +The following program trains the topology including the cost, and then +use the sub-network in the trained topology in inference: + +```python +def f(in): + e = paddle.layer.embedding(in, parameter_name="embedding") + o = paddle.layer.softmax(e, parameter_name="semantic") + return o + +# Create 3 topologies (subnets), they share parameters because all +# correspoinding layers have the same parameter names. +fA = f(paddle.layer.data(input_name="A")) +fB = f(paddle.layer.data(input_name="B")) +fQ = f(paddle.layer.data(input_name="Q")) + +topology = paddle.layer.less_than( + paddle.layer.cross_entropy(fA, fQ), + paddle.layer.corss_entropy(fB, fQ)) + +# Derive parameters required in topology and create them in model. +parameters = paddle.parameters.create(topology) + +# Estimate parameters used in topology from data. +paddle.train(topology, parameters, reader=read_ranking_model_data) + +# Inference using fA (or fB or fC, as they share their parameters). +[testA, testB, testQ] = read_ranking_model_data() +print "The sematic-vector of testA: ", paddle.infer(fA, parameters, testA) +``` + + +### Example 2. Sharing Parameters between "Models" + +We use [GAN](https://github.com/PaddlePaddle/book/tree/develop/gan) in +this example. In the following example program, `d0` and `d1` +correspond to the two networks in the following figure: + + + +```python +def G(in): + # over-simplified example as G has only one layers: + return paddle.layer.fc(in, parameter_name="G") + +def D(in); + # again, over-simplified: + return paddle.layer.fc(in, parameter_name="D") + +# Construct the first topology, which contains both D and G. +# By learning this topology, we update parameters of G. +d0 = paddle.layer.should_be_false(D(G(paddle.layer.data()))) + +# Construct a second topology d1, which contains only D. By +# training this topology, we update parameters of D. Note +# that d1 share parameters with d0. +d1 = paddle.layer.should_be_true(D(paddle.layer.data())) + +# Create parameters from a list of multiple topologies (models) for +# the chance to share parameters between these topologies. +parameters = paddle.parameters.create([d0, d1]) + +# Iterative training of GAN. +for ...: + train(d0, parameters, reader=read_from_rng, immutable_parameters={"D"}) + train(d1, parameters, reader=read_from_realistic_images) + +# Use d1 for inference: +print "D thinks a batch of images are realistic ", infer(d1, parameters, read_mnist_images) +``` + + +### Summarization + + +Above two programs reveal some important design concerns: + +1. Users describe a topology as an expression of layers. Every layer + has a *parameter name*. If the users don't specify it explicitly, it's automatically generated as a unique name. By + specifying the parameter name, users can specify the sharing of + parameters between layers and even between topologies. + +1. `paddle.parameters.create` figures out parameters required by one + or more topologies from parameter names of layers. It creates these + parameters and returns a `ParameterSet` object, which is in essence + a map from *parameter names* to *parameters*. + +1. At training and inference time, `paddle.train` and `paddle.infer` + requires both a topology and the parameter set that holds the parameters of that topology. There are some reasons: + + 1. This prevents users from forgetting to call + `paddle.parameters.create`. + 1. `paddle.train` needs to know which parameter set to update. + 1. Users could load another (pre-trained) parameter set and use it + with a topology in `train.infer`. + +1. By specifying the `immutable_parameters` parameter of + `paddle.train`, we can forbid the update of these parameters. + + +## Reader + +Not all programming frameworks allow users to define I/O functions. +An example is Google MapReduce, which can only read from text, +SSTable, and RecordIO files. Hadoop MapReduce allows users to define +readers and writers by deriving from base classes `Reader` and +`Writer`. The former is less flexible but also less error-prone. We +decide to provide the flexibility to users to define their readers. + + +There are some open questions here: + +1. **Should a reader return a Python dictionary?** + +1. **How to map multiple outputs from a reader to multiple data layers?** + +1. **How to easily compose some existing readers to read more data and + feed a topology with more data layers?** + + +## Training + +The recommended way to training a model is to call `paddle.train`, +which simply calls `paddle.trainer.Default`, a global variable of +type `paddle.trainer.SGD`. Equivalently, we can do + +```python +opt = paddle.trainer.SGD(..., paddle.updater.Adam(...)) +opt.train(topology, parameters, reader=read, ...) +``` + +### Updater + +Please be aware that a trainer can accept an updater as its data +member, where an updater is a class derived from +`paddle.trainer.Updater`. This is to make it easier to customize +trainers, as discussed +[here](https://github.com/PaddlePaddle/Paddle/issues/1319). + +### Event Handler + +`paddle.train` and `paddle.trainer.XXX.train` take an optional +parameter `event_handler`, which should be either `None` or a function +that handle some events: + +1. BeginTraining +1. EndTraining +1. BeginIteration +1. EndIteration +1. BeginPass +1. EndPass + +where EndPass is sent if and only if the reader yields +`end_pass=True`. + +An example as follows: + +```python +def event_handler(event): + if ininstance(event, paddle.event.EndIteration): + print paddle.test(...) + +paddle.train(topology, parameters, reader, event_handler) +``` + +If we are writing a PaddlePaddle program in and for iPython/Jypyter, +we can use metaplotlib in the event handler to plot a curve of +cost/error versus iterations, as shown +[here](https://blog.dominodatalab.com/interactive-dashboards-in-jupyter/). + +### Distributed Training + +If users want to do distributed training on a cluster, s/he should +call `paddle.dist_train` and provides access tokens to the cluster as +a parameter. + +For example, if the user has a TLS certificate that allows him to +access a Kubernetes cluster, s/he should be able to call + +```python +paddle.dist_train(model, + trainer=paddle.trainer.SGD(..., + paddle.updater.Adam(...)), + reader=read, + k8s_user="yi", + k8s_token="kube_cluster_tls.pem", + k8s_job="hello", + num_parameter_servers=15) +``` + +The pseudo code if `paddle.dist_train` is as follows: + +```python +def dist_train(topology, parameters, trainer, reader, ...): + if os.getenv("KUBERNETES_SERVICE_HOST") == None: + image_name = k8s_user + '/' + k8s_job + docker_build(image_name) + docker_push() + kube_ctrl_start_job(image_name, k8s_user, k8s_token) + else: + rank = kube_list_containers_in_job_and_return_current_containers_rank() + if rank == 0: + master() + elif rank < 15: + parameter_server() + else: + trainer.train(model, reader=read) +``` + +Please be aware that if a process is running on the Kubernetes +cluster, it will have some environment variables pre-defined. + +If `dist_train` doesn't see these environment variables, it knows +that it's running on users' personal computer, and it should work as a +*launcher*. Otherwise, it knows that it's running on the cluster and +need to figure out its role as either the master, or a trainer, or a +parameter server. diff --git a/release/0.10.0/doc/_sources/design/dist/README.md.txt b/release/0.10.0/doc/_sources/design/dist/README.md.txt new file mode 100644 index 0000000000..1788208bca --- /dev/null +++ b/release/0.10.0/doc/_sources/design/dist/README.md.txt @@ -0,0 +1,172 @@ +# Design Doc: Distributed Training + +## Objective + +In [this slides](https://www.slideshare.net/cxwangyi/paddlepaddle-a-complete-solution-for-businesses), we explained that we'd like PaddlePaddle running on general-purpose clusters like those managed by Kubernetes, so to address demands for AI from both Internet and non-Internet industries. + +This poses technical challenges to PaddlePaddle: + +1. Support fault-recovery. +1. Support both offline and online training. +1. [Serverless computing](https://en.wikipedia.org/wiki/Serverless_computing) of distributed training. + + +## Training Job + +A training job will be created once user asks Paddle cloud to train a model. The training job is made up of different processes that collaboratively consume data and produce a trained model. There are three kinds of processes: + +1. the *master process*, which dispatches tasks to +1. one or more *trainer processes*, which run distributed training and synchronize gradients/models via +1. one or more *parameter server processes*, where each holds a shard of the global model. + +Their relation is illustrated in the following graph: + + + +### Master Process + +The master process will: + +- Partition a dataset into [tasks](#task) and dispatch tasks to trainers. +- Keep track of training progress on the dataset with [task queue](#task-queue). A training job will iterate on the dataset for a full pass until it goes into next pass. + + +#### Task + +A task is a data shard to be trained. The total number of tasks will be much bigger than the total number of trainers. The number of data instances inside a task will be much bigger than the mini-batch size. + +#### Task Queue + +The master process has three task queues to track training progress. As illustrated in the graph below, Job A and Job B both have one master process. Each master process has three task queues. + + + +- The todo queue holds tasks to be dispatched. When a job starts, the master process fills in the todo queue with all tasks. +- The pending queue holds tasks that are currently training by trainers. +- the done queue holds tasks that are already trained. + +The life cycle of a single task is illustrated below: + + + +1. When a new pass of training starts, all tasks will be placed in the todo queue. +1. The master process will dispatch few tasks to each trainer at a time, puts them in the pending queue and waits for completion. +1. The trainer will work on its tasks and tell the master process once a task is completed. The master process will dispatch a new task to that trainer. +1. If a task timeout. the master process will move it back to the todo queue. The timeout count will increase by one. If the timeout count is above a threshold, the task is likely to cause a trainer to crash, so it will be discarded. +1. The master process will move completed task to the done queue. When the todo queue is empty, the master process will start a new pass by moving all tasks in the done queue to todo queue and reset the timeout counter of all tasks to zero. + +### Trainer Process + +The trainer process will: + +- Receive tasks from the master. +- Work on the tasks: calculate and upload gradient to parameter servers, and update local model by downloading new parameters from parameter servers. + +### Parameter Server Process + +Parameter server processes hold the parameters collaboratively. The parameters are partitioned on different parameter servers. + +The parameter server will: + +- Receive gradient from the trainers, update its parameters, and give the trainers the latest parameters. +- Periodically save its parameters to distributed file system by overriding the previous save. + +### Optimization Algorithms + +The communication pattern between the trainers and the parameter servers depends on the category of optimization algorithm: + +- Synchronous Stochastic Gradient Descent (sync-SGD) + + Parameter server will wait for all trainer finish n-th mini-batch calculation and send their gradients before broadcasting new parameters to every trainer. Every trainer will wait for the new parameters before starting n+1-th mini-batch. + +- Asynchronous Stochastic Gradient Descent (async-SGD) + + There will no synchronization between different trainers, and parameter server updates its parameter as soon as it receives new gradient: + + - Each trainer uploads its accumulated gradient every n mini-batches. + - Every m mini-batches, the trainer downloads new parameters from parameter server. + - n and m do not have to be equal. + +## Fault Tolerant + +The training job will pause if the master processes is dead, or any of the parameter server process is dead. They will be started by [Kubernetes](https://kubernetes.io/) and recover in few minutes. Please refer to [fault recovery](#fault-recovery). + +The training job will continue to make progress if there is at least one training process running. The strategy depends on the type of optimization algorithm: + +- sync-SGD + + TODO + +- async-SGD + + Since async-SGD does not require synchronization between mini-batches, the system will by definition make process if at least one trainer is running. + +## Fault Recovery + +PaddlePaddle uses [etcd](https://github.com/coreos/etcd) to keep track of the states of processes. Because etcd is a distributed reliable key-value store, the restarted process can recover its states from etcd. The model parameters are periodically saved into distributed file system, so a restarted parameter server can recover its parameters from the saved file. + +Now we will introduce how each process recovers from a failure, the graph below shows how etcd is used: + + + +### Master Process + +When the master is started by the Kubernetes, it executes the following steps at startup: + +1. Grabs a unique *master* lock in etcd, which prevents concurrent master instantiations. +1. Recovers the task queues from etcd if they already exist, otherwise, the master will create them. +1. Watches the trainer prefix keys `/trainer/` on etcd to find the live trainers. +1. Starts dispatching the tasks to the trainers, and updates task queue using an etcd transaction to ensure lock is held during the update. + +The master process will kill itself if its etcd lease expires. + +When the master process is dead for any reason, Kubernetes will restart it. It will be online again with all states recovered from etcd in few minutes. + +### Trainer Process + +When the trainer is started by the Kubernetes, it executes the following steps at startup: + +1. Watches the available parameter server prefix keys `/ps/` on etcd and waits until the count of parameter servers reaches the desired count. +1. Generates a unique ID, and sets key `/trainer/` with its contact address as value. The key will be deleted when the lease expires, so the master will be aware of the trainer being online and offline. +1. Waits for tasks from the master to start training. + +If trainer's etcd lease expires, it will try set key `/trainer/` again so that the master process can discover the trainer again. + +### Parameter Server Process + +When the parameter server is started by Kubernetes, it executes the following steps at startup: + +1. Read desired total number of parameter servers from etcd `/ps_desired` +1. Search through etcd keys `/ps/` (`/ps/0`, `/ps/1`, ...) to find the first non-existant key whose index is smaller than the total number of parameter servers. Set the key using a transaction to avoid concurrent writes. The parameter server's index is inferred from the key name. + + The desired number of parameter servers is 3: + + + + The third parameter server joined: + + + +1. The parameter server can load parameters if there are already saved parameters in the save path (inferred from its index). +1. Now the parameter server is ready for the trainers' requests. + +If the parameter server's etcd lease expires, the parameter server will kill itself. + + +## Dynamic Scaling + +### Trainer Scaling + +TODO + +### Parameter Server Scaling + +Not planned for v1. + +## Training Dataset Format + +TODO + +## User Interface + +TODO diff --git a/release/0.10.0/doc/_sources/design/multi_language_interface/why_plain_c.md.txt b/release/0.10.0/doc/_sources/design/multi_language_interface/why_plain_c.md.txt new file mode 100644 index 0000000000..a3f41ca7b9 --- /dev/null +++ b/release/0.10.0/doc/_sources/design/multi_language_interface/why_plain_c.md.txt @@ -0,0 +1,118 @@ +# Paddle多语言接口实现 +## 背景 + +Paddle需要一个多语言接口,这个接口需要做到: + +* 有标准的,良好的文档 + * 例如Python可以使用[Sphinx](http://www.sphinx-doc.org/en/stable/)生成API文档,golang可以使用[GoDoc](https://godoc.org/golang.org/x/tools/cmd/godoc)生成文档。这都需要这个接口按照约定俗成的规则来注释完备。 +* 不同语言的接口适应不同语言的特性 + * 例如Java与Python的错误处理是直接扔出来Exception,而对于golang错误处理应该使用返回值。 + +## 基本要求 + +Paddle的多语言接口实现包括一下几个方面: + +* 我们使用动态库来分发Paddle。在这个动态库中不嵌入任何其他语言的解释器,也不使用其他动态库。 +* 这个动态库使用C99标准的头文件导出一些函数,不使用/导出C++符号。 +* 不导出Paddle内部的结构体、类,仅仅使用`void*`指针作为类型的句柄(handler)。 +* 不使用SWIG这种代码生成器,而是手写多语言绑定。 + + +## 原因 + +### 使用动态库来分发Paddle + +* Paddle的链接方式比较复杂 + * 如果用户要把Paddle的静态库(libpaddle.a)链接到自己的程序里,得使用 `--whole-archive` (for GCC) 或者 `--force_load` (for Clang) 参数,来确保把 libpaddle.a 里所有的符号都写入自己的程序的二进制文件里。这是因为 Paddle 的源码里使用了[object factory design pattern](http://stackoverflow.com/a/1310326/724872)。 +* 编译型语言,例如C/C++使用静态库和动态库难度差不多。但是解释性语言,例如[Python](http://stackoverflow.com/questions/19560594/how-to-import-static-library-in-python)或者[Java](http://stackoverflow.com/questions/24493337/linking-static-library-with-jni),只能调用Paddle的动态库,否则得把Paddle静态库链接到解释器里。 + * 解释性语言实际运行的二进制是解释器本身,如果调用静态库只能将静态库与解释器链接。例如对于Java来说,便是将静态库加入JVM中。这对于通常的Java的开发者来说,是不常见的做法。 + +### 动态库中不嵌入任何其他语言的解释器 + +* 目前Paddle的进程模型是C++内部驱动Python解释器进行模型配置解析和数据读取 +* 我们最终的动态库中不嵌入Python或者其他任何语言的解释器。模型配置解析,数据读取均交由其他语言完成 + +现阶段Paddle有一个问题是,Paddle内嵌的Python解释器和外部使用的Python如果版本不同,会直接报错退出。 + +### Paddle动态库中,不引用其他动态库 + +* 即这个动态库是不依赖于其他任何文件的,可以在任何机器上执行的。 + +### 这个动态库使用C99标准的头文件导出一些函数,不使用/导出C++符号 + +* 由于C++编译器没有[名字修饰](https://en.wikipedia.org/wiki/Name_mangling#C.2B.2B)的规范,不同版本的编译器之间,对于同一段C++代码生成的符号可能不一致。而多语言接口需要直接读取生成的二进制(动态库),需要有稳定的导出符号。 +* C语言是有导出符号的标准的,并且在常见的平台上,都是ABI调用标准的。 +* 大多数语言都支持使用C语言API +* 使用C99而不使用C89,是因为C99支持[Fixed-width integer types](https://en.wikipedia.org/wiki/C_data_types#Fixed-width_integer_types)和[Boolean type](https://en.wikipedia.org/wiki/C_data_types#Boolean_type)。 +* 使用C99而不使用C11的原因是,[C11](https://en.wikipedia.org/wiki/C11_(C_standard_revision))并没有Paddle特别需要的特性,且C99相对于C11使用更加广泛。 + +### 不导出Paddle内部的结构体、类,仅仅使用`void*`指针作为类型的句柄(handler) + +* Paddle内部的类为C++书写,直接导出到C的接口比较困难。 +* 在C-API中使用`void*`来表示Paddle内部类。再在每一个API中自己检查类型。 + +在C的头文件 `paddle_matrix.h` 中: + +```C +typedef void* paddle_matrix; +typedef int paddle_error; + +extern "C" +paddle_error paddle_matrix_shape(paddle_matrix matrix, + uint64_t* width, + uint64_t* height); +``` +而在CPP里面实现这个C的接口,文件 `paddle_matrix.cpp` + +```cpp +#include "paddle/math/matrix.hpp" +extern "C" +paddle_error paddle_matrix_shape(paddle_matrix matrix, + uint64_t *width, + uint64_t *height) { + auto m = (paddle::math::matrix*)(matrix); + *width = m->width(); + *height = m->height(); +} +``` + +其中`paddle/math/matrix.hpp`文件内容为: + +```cpp +namespace paddle { +namespace math { + +class Matrix { + //... +}; + +} // namespace math +} // namespace paddle +``` + +### 不使用SWIG这种代码生成器,而是手写多语言绑定 + +* [SWIG](http://www.swig.org/)是一个多语言接口的代码生成器。他的目标是使用C/C++写代码,SWIG直接读取C/C++的头文件,生成各种语言的绑定代码。 + * 对于多语言接口,SWIG需要写一个interface文件。这个文件具有独特的语法,学习成本高。且增加一个第三方语言,就需要对这个第三方语言增加一些定义。有的时候,interface文件的写法非常[tricky](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/api/Paddle.swig#L36)。社区贡献代码学习成本高。 + * SWIG暴露的接口保留了C++的接口样式,很难保证多语言代码风格的一致性。(函数命名,错误处理) + * 因为SWIG在第三方语言中暴露的函数名,类名和C++中完全一致。C++的命名风格并不能适应其他第三方语言。如果使用SWIG我们需要将在interface文件里,将大量的`SomeCppClass`重命名成`some_python_class`,或者`SomeGoTypes`。 + * 对于不同语言,错误处理的方式也不尽相同。例如对于Java或者Python,最常见的错误处理方式是Exception,而对于Golang,错误处理方式是返回值。而SWIG只能简单的暴露C++接口,无法做到对于各种语言错误处理方式的适配。 + * 对于大多数语言,直接使用C语言的.h并不困难。例如Python的[cffi](https://cffi.readthedocs.io/en/latest/overview.html#simple-example-abi-level-in-line)或者[Cython](http://cython.org/), golang的[cgo](https://golang.org/cmd/cgo/)。 + * SWIG支持的语言或者解释器有局限。例如对于Python,使用SWIG只支持CPython解释器,而不支持PyPy解释器。 + + +## 原因列表 + +| 结论 | 对比 | 原因 | +|---| --- | --- | +| 使用动态库 | 不使用静态库 | 解释型语言只能调用动态库,Paddle静态库链接复杂 | +| 不嵌入其他语言解释器 | 不嵌入Python解释器 | Paddle C++目前嵌入Python解释器,会导致不同版本Python在一个进程里的bug | +| 不引用其他动态库 | | Paddle一个动态库可以在任何Linux系统上运行 | +| 使用C99做接口 | 不使用C++做接口 | C有标准的ABI,C99是目前C最广泛的使用标准,且C99支持bool类型和定长整数(uint64_t等)类型 | +| 使用void*作为类句柄 | 不显示的写每个类具体包含什么| 实现简单,并且让接口脱离实现细节 | +| 手写多语言绑定 | 不使用SWIG | 使用SWIG需要多语言绑定的开发人员熟练掌握SWIG配置,社区参与困难。SWIG生成的代码不能保证多语言代码风格的一致性 | + + +## 简单实现 + +TBD diff --git a/release/0.10.0/doc/_sources/design/reader/README.md.txt b/release/0.10.0/doc/_sources/design/reader/README.md.txt new file mode 100644 index 0000000000..f21f7af520 --- /dev/null +++ b/release/0.10.0/doc/_sources/design/reader/README.md.txt @@ -0,0 +1,202 @@ +# Python Data Reader Design Doc + +At training and testing time, PaddlePaddle programs need to read data. To ease the users' work to write data reading code, we define that + +- A *reader* is a function that reads data (from file, network, random number generator, etc) and yields data items. +- A *reader creator* is a function that returns a reader function. +- A *reader decorator* is a function, which accepts one or more readers, and returns a reader. +- A *batch reader* is a function that reads data (from *reader*, file, network, random number generator, etc) and yields a batch of data items. + +and provide function which converts reader to batch reader, frequently used reader creators and reader decorators. + +## Data Reader Interface + +Indeed, *data reader* doesn't have to be a function that reads and yields data items. It can be any function with no parameter that creates a iterable (anything can be used in `for x in iterable`): + +``` +iterable = data_reader() +``` + +Element produced from the iterable should be a **single** entry of data, **not** a mini batch. That entry of data could be a single item, or a tuple of items. Item should be of [supported type](http://www.paddlepaddle.org/doc/ui/data_provider/pydataprovider2.html?highlight=dense_vector#input-types) (e.g., numpy 1d array of float32, int, list of int) + +An example implementation for single item data reader creator: + +```python +def reader_creator_random_image(width, height): + def reader(): + while True: + yield numpy.random.uniform(-1, 1, size=width*height) + return reader +``` + +An example implementation for multiple item data reader creator: +```python +def reader_creator_random_image_and_label(width, height, label): + def reader(): + while True: + yield numpy.random.uniform(-1, 1, size=width*height), label + return reader +``` + +## Batch Reader Interface + +*batch reader* can be any function with no parameter that creates a iterable (anything can be used in `for x in iterable`). The output of the iterable should be a batch (list) of data items. Each item inside the list must be a tuple. + +Here are valid outputs: +```python +# a mini batch of three data items. Each data item consist three columns of data, each of which is 1. +[(1, 1, 1), +(2, 2, 2), +(3, 3, 3)] + +# a mini batch of three data items, each data item is a list (single column). +[([1,1,1],), +([2,2,2],), +([3,3,3],), +``` + +Please note that each item inside the list must be a tuple, below is an invalid output: +```python + # wrong, [1,1,1] needs to be inside a tuple: ([1,1,1],). + # Otherwise it's ambiguous whether [1,1,1] means a single column of data [1, 1, 1], + # or three column of datas, each of which is 1. +[[1,1,1], +[2,2,2], +[3,3,3]] +``` + +It's easy to convert from reader to batch reader: +```python +mnist_train = paddle.dataset.mnist.train() +mnist_train_batch_reader = paddle.batch(mnist_train, 128) +``` + +Also easy to create custom batch reader: +```python +def custom_batch_reader(): + while True: + batch = [] + for i in xrange(128): + batch.append((numpy.random.uniform(-1, 1, 28*28),)) # note that it's a tuple being appended. + yield batch + +mnist_random_image_batch_reader = custom_batch_reader +``` + +## Usage + +batch reader, mapping from item(s) read to data layer, batch size and number of total pass will be passed into `paddle.train`: + +```python +# two data layer is created: +image_layer = paddle.layer.data("image", ...) +label_layer = paddle.layer.data("label", ...) + +# ... +batch_reader = paddle.batch(paddle.dataset.mnist.train(), 128) +paddle.train(batch_reader, {"image":0, "label":1}, 128, 10, ...) +``` + +## Data Reader Decorator + +*Data reader decorator* takes a single or multiple data reader, returns a new data reader. It is similar to a [python decorator](https://wiki.python.org/moin/PythonDecorators), but it does not use `@` syntax. + +Since we have a strict interface for data readers (no parameter, return a single data item). Data reader can be used flexiable via data reader decorators. Following are a few examples: + +### Prefetch Data + +Since reading data may take time and training can not proceed without data. It is generally a good idea to prefetch data. + +Use `paddle.reader.buffered` to prefetch data: + +```python +buffered_reader = paddle.reader.buffered(paddle.dataset.mnist.train(), 100) +``` + +`buffered_reader` will try to buffer (prefetch) `100` data entries. + +### Compose Multiple Data Readers + +For example, we want to use a source of real images (reusing mnist dataset), and a source of random images as input for [Generative Adversarial Networks](https://arxiv.org/abs/1406.2661). + +We can do: + +```python +def reader_creator_random_image(width, height): + def reader(): + while True: + yield numpy.random.uniform(-1, 1, size=width*height) + return reader + +def reader_creator_bool(t): + def reader: + while True: + yield t + return reader + +true_reader = reader_creator_bool(True) +false_reader = reader_creator_bool(False) + +reader = paddle.reader.compose(paddle.dataset.mnist.train(), data_reader_creator_random_image(20, 20), true_reader, false_reader) +# Skipped 1 because paddle.dataset.mnist.train() produces two items per data entry. +# And we don't care second item at this time. +paddle.train(paddle.batch(reader, 128), {"true_image":0, "fake_image": 2, "true_label": 3, "false_label": 4}, ...) +``` + +### Shuffle + +Given shuffle buffer size `n`, `paddle.reader.shuffle` will return a data reader that buffers `n` data entries and shuffle them before a data entry is read. + +Example: +```python +reader = paddle.reader.shuffle(paddle.dataset.mnist.train(), 512) +``` + +## Q & A + +### Why reader return only a single entry, but not a mini batch? + +Always returning a single entry make reusing existing data readers much easier (e.g., if existing reader return not a single entry but 3 entries, training code will be more complex because it need to handle cases like batch size 2). + +We provide function `paddle.batch` to turn (single entry) reader into batch reader. + +### Why do we need batch reader, isn't train take reader and batch_size as arguments sufficient? + +In most of the case, train taking reader and batch_size as arguments would be sufficent. However sometimes user want to customize order of data entries inside a mini batch. Or even change batch size dynamically. + +### Why use a dictionary but not a list to provide mapping? + +We decided to use dictionary (`{"image":0, "label":1}`) instead of list (`["image", "label"]`) is because that user can easily resue item (e.g., using `{"image_a":0, "image_b":0, "label":1}`) or skip item (e.g., using `{"image_a":0, "label":2}`). + +### How to create custom data reader creator + +```python +def image_reader_creator(image_path, label_path, n): + def reader(): + f = open(image_path) + l = open(label_path) + images = numpy.fromfile( + f, 'ubyte', count=n * 28 * 28).reshape((n, 28 * 28)).astype('float32') + images = images / 255.0 * 2.0 - 1.0 + labels = numpy.fromfile(l, 'ubyte', count=n).astype("int") + for i in xrange(n): + yield images[i, :], labels[i] # a single entry of data is created each time + f.close() + l.close() + return reader + +# images_reader_creator creates a reader +reader = image_reader_creator("/path/to/image_file", "/path/to/label_file", 1024) +paddle.train(paddle.batch(reader, 128), {"image":0, "label":1}, ...) +``` + +### How is `paddle.train` implemented + +An example implementation of paddle.train could be: + +```python +def train(batch_reader, mapping, batch_size, total_pass): + for pass_idx in range(total_pass): + for mini_batch in batch_reader(): # this loop will never end in online learning. + do_forward_backward(mini_batch, mapping) +``` diff --git a/release/0.10.0/doc/_sources/getstarted/basic_usage/index_en.rst.txt b/release/0.10.0/doc/_sources/getstarted/basic_usage/index_en.rst.txt new file mode 100644 index 0000000000..6775da20c2 --- /dev/null +++ b/release/0.10.0/doc/_sources/getstarted/basic_usage/index_en.rst.txt @@ -0,0 +1,101 @@ +Simple Linear Regression +======================== + +PaddlePaddle is a deep learning platform open-sourced by Baidu. With PaddlePaddle, you can easily train a classic neural network within a couple lines of configuration, or you can build sophisticated models that provide state-of-the-art performance on difficult learning tasks like sentiment analysis, machine translation, image caption and so on. + +Problem Background +------------------ + +Now, to give you a hint of what using PaddlePaddle looks like, let's start with a fundamental learning problem - `simple linear regression `_: you have observed a set of two-dimensional data points of ``X`` and ``Y``, where ``X`` is an explanatory variable and ``Y`` is corresponding dependent variable, and you want to recover the underlying correlation between ``X`` and ``Y``. Linear regression can be used in many practical scenarios. For example, ``X`` can be a variable about house size, and ``Y`` a variable about house price. You can build a model that captures relationship between them by observing real estate markets. + +Prepare the Data +----------------- + +Suppose the true relationship can be characterized as ``Y = 2X + 0.3``, let's see how to recover this pattern only from observed data. Here is a piece of python code that feeds synthetic data to PaddlePaddle. The code is pretty self-explanatory, the only extra thing you need to add for PaddlePaddle is a definition of input data types. + + .. code-block:: python + + # dataprovider.py + from paddle.trainer.PyDataProvider2 import * + import random + + # define data types of input: 2 real numbers + @provider(input_types=[dense_vector(1), dense_vector(1)],use_seq=False) + def process(settings, input_file): + for i in xrange(2000): + x = random.random() + yield [x], [2*x+0.3] + +Train a NeuralNetwork +---------------------- + +To recover this relationship between ``X`` and ``Y``, we use a neural network with one layer of linear activation units and a square error cost layer. Don't worry if you are not familiar with these terminologies, it's just saying that we are starting from a random line ``Y' = wX + b`` , then we gradually adapt ``w`` and ``b`` to minimize the difference between ``Y'`` and ``Y``. Here is what it looks like in PaddlePaddle: + + .. code-block:: python + + # trainer_config.py + from paddle.trainer_config_helpers import * + + # 1. read data. Suppose you saved above python code as dataprovider.py + data_file = 'empty.list' + with open(data_file, 'w') as f: f.writelines(' ') + define_py_data_sources2(train_list=data_file, test_list=None, + module='dataprovider', obj='process',args={}) + + # 2. learning algorithm + settings(batch_size=12, learning_rate=1e-3, learning_method=MomentumOptimizer()) + + # 3. Network configuration + x = data_layer(name='x', size=1) + y = data_layer(name='y', size=1) + y_predict = fc_layer(input=x, param_attr=ParamAttr(name='w'), size=1, act=LinearActivation(), bias_attr=ParamAttr(name='b')) + cost = mse_cost(input=y_predict, label=y) + outputs(cost) + +Some of the most fundamental usages of PaddlePaddle are demonstrated: + +- The first part shows how to feed data into PaddlePaddle. In general cases, PaddlePaddle reads raw data from a list of files, and then do some user-defined process to get real input. In this case, we only need to create a placeholder file since we are generating synthetic data on the fly. + +- The second part describes learning algorithm. It defines in what ways adjustments are made to model parameters. PaddlePaddle provides a rich set of optimizers, but a simple momentum based optimizer will suffice here, and it processes 12 data points each time. + +- Finally, the network configuration. It usually is as simple as "stacking" layers. Three kinds of layers are used in this configuration: + - **Data Layer**: a network always starts with one or more data layers. They provide input data to the rest of the network. In this problem, two data layers are used respectively for ``X`` and ``Y``. + - **FC Layer**: FC layer is short for Fully Connected Layer, which connects all the input units to current layer and does the actual computation specified as activation function. Computation layers like this are the fundamental building blocks of a deeper model. + - **Cost Layer**: in training phase, cost layers are usually the last layers of the network. They measure the performance of current model, and provide guidence to adjust parameters. + +Now that everything is ready, you can train the network with a simple command line call: + + .. code-block:: bash + + paddle train --config=trainer_config.py --save_dir=./output --num_passes=30 + + +This means that PaddlePaddle will train this network on the synthectic dataset for 30 passes, and save all the models under path ``./output``. You will see from the messages printed out during training phase that the model cost is decreasing as time goes by, which indicates we are getting a closer guess. + + +Evaluate the Model +------------------- + +Usually, a different dataset that left out during training phase should be used to evalute the models. However, we are lucky enough to know the real answer: ``w=2, b=0.3``, thus a better option is to check out model parameters directly. + +In PaddlePaddle, training is just to get a collection of model parameters, which are ``w`` and ``b`` in this case. Each parameter is saved in an individual file in the popular ``numpy`` array format. Here is the code that reads parameters from last pass. + + .. code-block:: python + + import numpy as np + import os + + def load(file_name): + with open(file_name, 'rb') as f: + f.read(16) # skip header for float type. + return np.fromfile(f, dtype=np.float32) + + print 'w=%.6f, b=%.6f' % (load('output/pass-00029/w'), load('output/pass-00029/b')) + # w=1.999743, b=0.300137 + + .. image:: parameters.png + :align: center + +Although starts from a random guess, you can see that value of ``w`` changes quickly towards 2 and ``b`` changes quickly towards 0.3. In the end, the predicted line is almost identical with real answer. + +There, you have recovered the underlying pattern between ``X`` and ``Y`` only from observed data. diff --git a/release/0.10.0/doc/_sources/getstarted/build_and_install/build_from_source_en.md.txt b/release/0.10.0/doc/_sources/getstarted/build_and_install/build_from_source_en.md.txt new file mode 100644 index 0000000000..69f4501f37 --- /dev/null +++ b/release/0.10.0/doc/_sources/getstarted/build_and_install/build_from_source_en.md.txt @@ -0,0 +1,222 @@ +Installing from Sources +========================== + +* [1. Download and Setup](#download) +* [2. Requirements](#requirements) +* [3. Build on Ubuntu](#ubuntu) +* [4. Build on Centos](#centos) + + +## Download and Setup +You can download PaddlePaddle from the [github source](https://github.com/PaddlePaddle/Paddle). + +```bash +git clone https://github.com/PaddlePaddle/Paddle paddle +cd paddle +``` +## Requirements + +To compile the source code, your computer must be equipped with the following dependencies. + +- **Compiler**: GCC >= 4.8 or Clang >= 3.3 (AppleClang >= 5.1) and gfortran compiler +- **CMake**: CMake >= 3.0 (at least CMake 3.4 on Mac OS X) +- **BLAS**: MKL, OpenBlas or ATLAS +- **Python**: only support Python 2.7 + +**Note:** For CUDA 7.0 and CUDA 7.5, GCC 5.0 and up are not supported! +For CUDA 8.0, GCC versions later than 5.3 are not supported! + +### Options + +PaddlePaddle supports some build options. + + + + + + + + + + + + + + + + + + + + + + + + + + +
OptionalDescription
WITH_GPUCompile PaddlePaddle with NVIDIA GPU
WITH_AVXCompile PaddlePaddle with AVX intrinsics
WITH_DSOCompile PaddlePaddle with dynamic linked CUDA
WITH_TESTINGCompile PaddlePaddle with unit testing
WITH_SWIG_PYCompile PaddlePaddle with inference api
WITH_STYLE_CHECKCompile PaddlePaddle with style check
WITH_PYTHONCompile PaddlePaddle with python interpreter
WITH_DOUBLECompile PaddlePaddle with double precision
WITH_RDMACompile PaddlePaddle with RDMA support
WITH_TIMERCompile PaddlePaddle with stats timer
WITH_PROFILERCompile PaddlePaddle with GPU profiler
WITH_DOCCompile PaddlePaddle with documentation
WITH_COVERAGECompile PaddlePaddle with code coverage
COVERALLS_UPLOADPackage code coverage data to coveralls
ON_TRAVISExclude special unit test on Travis CI
+ + +**Note:** + - The GPU version works best with Cuda Toolkit 8.0 and cuDNN v5. + - Other versions like Cuda Toolkit 7.0, 7.5 and cuDNN v3, v4 are also supported. + - **To utilize cuDNN v5, Cuda Toolkit 7.5 is prerequisite and vice versa.** + +As a simple example, consider the following: + +1. **BLAS Dependencies(optional)** + + CMake will search BLAS libraries from system. If not found, OpenBLAS will be downloaded, built and installed automatically. + To utilize preinstalled BLAS, you can simply specify MKL, OpenBLAS or ATLAS via `MKL_ROOT`, `OPENBLAS_ROOT` or `ATLAS_ROOT`. + + ```bash + # specify MKL + cmake .. -DMKL_ROOT= + # or specify OpenBLAS + cmake .. -DOPENBLAS_ROOT= + ``` + +2. **Doc Dependencies(optional)** + + To generate PaddlePaddle's documentation, install dependencies and set `-DWITH_DOC=ON` as follows: + + ```bash + pip install 'sphinx>=1.4.0' + pip install sphinx_rtd_theme recommonmark + + # install doxygen on Ubuntu + sudo apt-get install doxygen + # install doxygen on Mac OS X + brew install doxygen + + # active docs in cmake + cmake .. -DWITH_DOC=ON` + ``` + +## Build on Ubuntu 14.04 + +### Install Dependencies + +- **Paddle Dependencies** + + ```bash + # necessary + sudo apt-get update + sudo apt-get install -y git curl gcc g++ gfortran make build-essential automake + sudo apt-get install -y python python-pip python-numpy libpython-dev bison + sudo pip install 'protobuf==3.1.0.post1' + + # install cmake 3.4 + curl -sSL https://cmake.org/files/v3.4/cmake-3.4.1.tar.gz | tar -xz && \ + cd cmake-3.4.1 && ./bootstrap && make -j4 && sudo make install && \ + cd .. && rm -rf cmake-3.4.1 + ``` + +- **GPU Dependencies (optional)** + + To build GPU version, you will need the following installed: + + 1. a CUDA-capable GPU + 2. A supported version of Linux with a gcc compiler and toolchain + 3. NVIDIA CUDA Toolkit (available at http://developer.nvidia.com/cuda-downloads) + 4. NVIDIA cuDNN Library (availabel at https://developer.nvidia.com/cudnn) + + The CUDA development environment relies on tight integration with the host development environment, + including the host compiler and C runtime libraries, and is therefore only supported on + distribution versions that have been qualified for this CUDA Toolkit release. + + After downloading cuDNN library, issue the following commands: + + ```bash + sudo tar -xzf cudnn-7.5-linux-x64-v5.1.tgz -C /usr/local + sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn* + ``` + Then you need to set LD\_LIBRARY\_PATH, PATH environment variables in ~/.bashrc. + + ```bash + export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH + export PATH=/usr/local/cuda/bin:$PATH + ``` + +### Build and Install + +As usual, the best option is to create build folder under paddle project directory. + +```bash +mkdir build && cd build +``` + +Finally, you can build and install PaddlePaddle: + +```bash +# you can add build option here, such as: +cmake .. -DCMAKE_INSTALL_PREFIX= +# please use sudo make install, if you want to install PaddlePaddle into the system +make -j `nproc` && make install +# set PaddlePaddle installation path in ~/.bashrc +export PATH=/bin:$PATH +# install PaddlePaddle Python modules. +sudo pip install /opt/paddle/share/wheels/*.whl +``` +## Build on Centos 7 + +### Install Dependencies + +- **CPU Dependencies** + + ```bash + # necessary + sudo yum update + sudo yum install -y epel-release + sudo yum install -y make cmake3 python-devel python-pip gcc-gfortran swig git + sudo pip install wheel numpy + sudo pip install 'protobuf>=3.0.0' + ``` + +- **GPU Dependencies (optional)** + + To build GPU version, you will need the following installed: + + 1. a CUDA-capable GPU + 2. A supported version of Linux with a gcc compiler and toolchain + 3. NVIDIA CUDA Toolkit (available at http://developer.nvidia.com/cuda-downloads) + 4. NVIDIA cuDNN Library (availabel at https://developer.nvidia.com/cudnn) + + The CUDA development environment relies on tight integration with the host development environment, + including the host compiler and C runtime libraries, and is therefore only supported on + distribution versions that have been qualified for this CUDA Toolkit release. + + After downloading cuDNN library, issue the following commands: + + ```bash + sudo tar -xzf cudnn-7.5-linux-x64-v5.1.tgz -C /usr/local + sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn* + ``` + Then you need to set LD\_LIBRARY\_PATH, PATH environment variables in ~/.bashrc. + + ```bash + export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH + export PATH=/usr/local/cuda/bin:$PATH + ``` + +### Build and Install + +As usual, the best option is to create build folder under paddle project directory. + +```bash +mkdir build && cd build +``` + +Finally, you can build and install PaddlePaddle: + +```bash +# you can add build option here, such as: +cmake3 .. -DCMAKE_INSTALL_PREFIX= +# please use sudo make install, if you want to install PaddlePaddle into the system +make -j `nproc` && make install +# set PaddlePaddle installation path in ~/.bashrc +export PATH=/bin:$PATH +# install PaddlePaddle Python modules. +sudo pip install /opt/paddle/share/wheels/*.whl +``` diff --git a/release/0.10.0/doc/_sources/getstarted/build_and_install/docker_install_en.rst.txt b/release/0.10.0/doc/_sources/getstarted/build_and_install/docker_install_en.rst.txt new file mode 100644 index 0000000000..03df497506 --- /dev/null +++ b/release/0.10.0/doc/_sources/getstarted/build_and_install/docker_install_en.rst.txt @@ -0,0 +1,270 @@ +PaddlePaddle in Docker Containers +================================= + +Docker container is currently the only officially-supported way to +running PaddlePaddle. This is reasonable as Docker now runs on all +major operating systems including Linux, Mac OS X, and Windows. +Please be aware that you will need to change `Dockers settings +`_ to make full use +of your hardware resource on Mac OS X and Windows. + +Working With Docker +------------------- + +Docker is simple as long as we understand a few basic concepts: + +- *image*: A Docker image is a pack of software. It could contain one or more programs and all their dependencies. For example, the PaddlePaddle's Docker image includes pre-built PaddlePaddle and Python and many Python packages. We can run a Docker image directly, other than installing all these software. We can type + + .. code-block:: bash + + docker images + + to list all images in the system. We can also run + + .. code-block:: bash + + docker pull paddlepaddle/paddle:0.10.0rc2 + + to download a Docker image, paddlepaddle/paddle in this example, + from Dockerhub.com. + +- *container*: considering a Docker image a program, a container is a + "process" that runs the image. Indeed, a container is exactly an + operating system process, but with a virtualized filesystem, network + port space, and other virtualized environment. We can type + + .. code-block:: bash + + docker run paddlepaddle/paddle:0.10.0rc2 + + to start a container to run a Docker image, paddlepaddle/paddle in this example. + +- By default docker container have an isolated file system namespace, + we can not see the files in the host file system. By using *volume*, + mounted files in host will be visible inside docker container. + Following command will mount current dirctory into /data inside + docker container, run docker container from debian image with + command :code:`ls /data`. + + .. code-block:: bash + + docker run --rm -v $(pwd):/data debian ls /data + +Usage of CPU-only and GPU Images +---------------------------------- + +We package PaddlePaddle's compile environment into a Docker image, +called the develop image, it contains all compiling tools that +PaddlePaddle needs. We package compiled PaddlePaddle program into a +Docker image as well, called the production image, it contains all +runtime environment that running PaddlePaddle needs. For each version +of PaddlePaddle, we release both of them. Production image includes +CPU-only version and a CUDA GPU version and their no-AVX versions. + +We put the docker images on `dockerhub.com +`_. You can find the +latest versions under "tags" tab at dockerhub.com. If you are in +China, you can use our Docker image registry mirror to speed up the +download process. To use it, please replace all paddlepaddle/paddle in +the commands to docker.paddlepaddle.org/paddle. + +1. Production images, this image might have multiple variants: + + - GPU/AVX::code:`paddlepaddle/paddle:-gpu` + - GPU/no-AVX::code:`paddlepaddle/paddle:-gpu-noavx` + - CPU/AVX::code:`paddlepaddle/paddle:` + - CPU/no-AVX::code:`paddlepaddle/paddle:-noavx` + + Please be aware that the CPU-only and the GPU images both use the + AVX instruction set, but old computers produced before 2008 do not + support AVX. The following command checks if your Linux computer + supports AVX: + + .. code-block:: bash + + if cat /proc/cpuinfo | grep -i avx; then echo Yes; else echo No; fi + + + To run the CPU-only image as an interactive container: + + .. code-block:: bash + + docker run -it --rm paddlepaddle/paddle:0.10.0rc2 /bin/bash + + Above method work with the GPU image too -- the recommended way is + using `nvidia-docker `_. + + Please install nvidia-docker first following this `tutorial + `_. + + Now you can run a GPU image: + + .. code-block:: bash + + nvidia-docker run -it --rm paddlepaddle/paddle:0.10.0rc2-gpu /bin/bash + +2. development image :code:`paddlepaddle/paddle:-dev` + + This image has packed related develop tools and runtime + environment. Users and developers can use this image instead of + their own local computer to accomplish development, build, + releasing, document writing etc. While different version of paddle + may depends on different version of libraries and tools, if you + want to setup a local environment, you must pay attention to the + versions. The development image contains: + + - gcc/clang + - nvcc + - Python + - sphinx + - woboq + - sshd + + Many developers use servers with GPUs, they can use ssh to login to + the server and run :code:`docker exec` to enter the docker + container and start their work. Also they can start a development + docker image with SSHD service, so they can login to the container + and start work. + + +Train Model Using Python API +---------------------------- + +Our official docker image provides a runtime for PaddlePaddle +programs. The typical workflow will be as follows: + +Create a directory as workspace: + +.. code-block:: bash + + mkdir ~/workspace + +Edit a PaddlePaddle python program using your favourite editor + +.. code-block:: bash + + emacs ~/workspace/example.py + +Run the program using docker: + +.. code-block:: bash + + docker run --rm -v ~/workspace:/workspace paddlepaddle/paddle:0.10.0rc2 python /workspace/example.py + +Or if you are using GPU for training: + +.. code-block:: bash + + nvidia-docker run --rm -v ~/workspace:/workspace paddlepaddle/paddle:0.10.0rc2-gpu python /workspace/example.py + +Above commands will start a docker container by running :code:`python +/workspace/example.py`. It will stop once :code:`python +/workspace/example.py` finishes. + +Another way is to tell docker to start a :code:`/bin/bash` session and +run PaddlePaddle program interactively: + +.. code-block:: bash + + docker run -it -v ~/workspace:/workspace paddlepaddle/paddle:0.10.0rc2 /bin/bash + # now we are inside docker container + cd /workspace + python example.py + +Running with GPU is identical: + +.. code-block:: bash + + nvidia-docker run -it -v ~/workspace:/workspace paddlepaddle/paddle:0.10.0rc2-gpu /bin/bash + # now we are inside docker container + cd /workspace + python example.py + + +Develop PaddlePaddle or Train Model Using C++ API +--------------------------------------------------- + +We will be using PaddlePaddle development image since it contains all +compiling tools and dependencies. + +1. Build PaddlePaddle develop image + + Use following command to build PaddlePaddle develop image: + + .. code-block:: bash + + git clone https://github.com/PaddlePaddle/Paddle.git && cd Paddle + docker build -t paddle:dev . + +2. Build PaddlePaddle production image + + There are two steps for building production image, the first step is to run: + + .. code-block:: bash + + docker run -v $(pwd):/paddle -e "WITH_GPU=OFF" -e "WITH_AVX=OFF" -e "WITH_TEST=ON" paddle:dev + + The above command will compile PaddlePaddle and create a Dockerfile for building production image. All the generated files are in the build directory. "WITH_GPU" controls if the generated production image supports GPU. "WITH_AVX" controls if the generated production image supports AVX. "WITH_TEST" controls if the unit test will be generated. + + The second step is to run: + + .. code-block:: bash + + docker build -t paddle:prod -f build/Dockerfile ./build + + The above command will generate the production image by copying the compiled PaddlePaddle program into the image. + +3. Run unit test + + Following command will run unit test: + + .. code-block:: bash + + docker run -it -v $(pwd):/paddle paddle:dev bash -c "cd /paddle/build && ctest" + +PaddlePaddle Book +------------------ + +The Jupyter Notebook is an open-source web application that allows +you to create and share documents that contain live code, equations, +visualizations and explanatory text in a single browser. + +PaddlePaddle Book is an interactive Jupyter Notebook for users and developers. +We already exposed port 8888 for this book. If you want to +dig deeper into deep learning, PaddlePaddle Book definitely is your best choice. + +We provide a packaged book image, simply issue the command: + +.. code-block:: bash + + docker run -p 8888:8888 paddlepaddle/book + +Then, you would back and paste the address into the local browser: + +.. code-block:: text + + http://localhost:8888/ + +That's all. Enjoy your journey! + + +Documentation +------------- + +Paddle Docker images include an HTML version of C++ source code +generated using `woboq code browser +`_. This makes it easy +for users to browse and understand the C++ source code. + +As long as we give the Paddle Docker container a name, we can run an +additional Nginx Docker container to serve the volume from the Paddle +container: + +.. code-block:: bash + + docker run -d --name paddle-cpu-doc paddle: + docker run -d --volumes-from paddle-cpu-doc -p 8088:80 nginx + + +Then we can direct our Web browser to the HTML version of source code +at http://localhost:8088/paddle/ diff --git a/release/0.10.0/doc/_sources/getstarted/build_and_install/index_en.rst.txt b/release/0.10.0/doc/_sources/getstarted/build_and_install/index_en.rst.txt new file mode 100644 index 0000000000..1bfd4f75c0 --- /dev/null +++ b/release/0.10.0/doc/_sources/getstarted/build_and_install/index_en.rst.txt @@ -0,0 +1,23 @@ +Install and Build +================= + +Install PaddlePaddle +---------------------- + +.. toctree:: + :maxdepth: 1 + + docker_install_en.rst + ubuntu_install_en.rst + +Build from Source +----------------- + +.. warning:: + + Please use :code:`deb` package or :code:`docker` image to install paddle. The building guide is used for hacking or contributing PaddlePaddle source code. + +.. toctree:: + :maxdepth: 1 + + build_from_source_en.md diff --git a/release/0.10.0/doc/_sources/getstarted/build_and_install/ubuntu_install_en.rst.txt b/release/0.10.0/doc/_sources/getstarted/build_and_install/ubuntu_install_en.rst.txt new file mode 100644 index 0000000000..ea8042085b --- /dev/null +++ b/release/0.10.0/doc/_sources/getstarted/build_and_install/ubuntu_install_en.rst.txt @@ -0,0 +1,25 @@ +Debian Package installation guide +================================= + +PaddlePaddle supports :code:`deb` pacakge. The installation of this :code:`deb` package is tested in ubuntu 14.04, but it should be support other debian based linux, too. + +There are four versions of debian package, :code:`cpu`, :code:`gpu`, :code:`cpu-noavx`, :code:`gpu-noavx`. And :code:`noavx` version is used to support CPU which does not contain :code:`AVX` instructions. The download url of :code:`deb` package is \: https://github.com/baidu/Paddle/releases/ + + +After downloading PaddlePaddle deb packages, you can use :code:`gdebi` install. + +.. code-block:: bash + + gdebi paddle-*.deb + +If :code:`gdebi` is not installed, you can use :code:`sudo apt-get install gdebi` to install it. + +Or you can use following commands to install PaddlePaddle. + +.. code-block:: bash + + dpkg -i paddle-*.deb + apt-get install -f + +And if you use GPU version deb package, you need to install CUDA toolkit and cuDNN, and set related environment variables(such as LD_LIBRARY_PATH) first. It is normal when `dpkg -i` get errors. `apt-get install -f` will continue install paddle, and install dependences. + diff --git a/release/0.10.0/doc/_sources/getstarted/index_en.rst.txt b/release/0.10.0/doc/_sources/getstarted/index_en.rst.txt new file mode 100644 index 0000000000..be3253e3d4 --- /dev/null +++ b/release/0.10.0/doc/_sources/getstarted/index_en.rst.txt @@ -0,0 +1,9 @@ +GET STARTED +============ + +.. toctree:: + :maxdepth: 1 + + build_and_install/index_en.rst + +- `Deep Learning 101 `_ diff --git a/release/0.10.0/doc/_sources/howto/deep_model/rnn/index_en.rst.txt b/release/0.10.0/doc/_sources/howto/deep_model/rnn/index_en.rst.txt new file mode 100644 index 0000000000..13a153b05c --- /dev/null +++ b/release/0.10.0/doc/_sources/howto/deep_model/rnn/index_en.rst.txt @@ -0,0 +1,2 @@ +RNN Models +========== diff --git a/release/0.10.0/doc/_sources/howto/deep_model/rnn/rnn_config_en.rst.txt b/release/0.10.0/doc/_sources/howto/deep_model/rnn/rnn_config_en.rst.txt new file mode 100644 index 0000000000..73f5d5371f --- /dev/null +++ b/release/0.10.0/doc/_sources/howto/deep_model/rnn/rnn_config_en.rst.txt @@ -0,0 +1,251 @@ +RNN Configuration +================= + +This tutorial will guide you how to configure recurrent neural network in PaddlePaddle. PaddlePaddle supports highly flexible and efficient recurrent neural network configuration. In this tutorial, you will learn how to: + +- prepare sequence data for learning recurrent neural networks. +- configure recurrent neural network architecture. +- generate sequence with learned recurrent neural network models. + +We will use vanilla recurrent neural network, and sequence to sequence model to guide you through these steps. The code of sequence to sequence model can be found at :code:`demo/seqToseq`. + +===================== +Prepare Sequence Data +===================== + +PaddlePaddle does not need any preprocessing to sequence data, such as padding. The only thing that needs to be done is to set the type of the corresponding type to input. For example, the following code snippets defines three input. All of them are sequences, and the size of them are :code:`src_dict`, :code:`trg_dict`, and :code:`trg_dict`: + +.. code-block:: python + + settings.input_types = [ + integer_value_sequence(len(settings.src_dict)), + integer_value_sequence(len(settings.trg_dict)), + integer_value_sequence(len(settings.trg_dict))] + + +Then at the :code:`process` function, each :code:`yield` function will return three integer lists. Each integer list is treated as a sequence of integers: + +.. code-block:: python + + yield src_ids, trg_ids, trg_ids_next + + +For more details description of how to write a data provider, please refer to :ref:`api_pydataprovider2` . The full data provider file is located at :code:`demo/seqToseq/dataprovider.py`. + +=============================================== +Configure Recurrent Neural Network Architecture +=============================================== + +------------------------------------- +Simple Gated Recurrent Neural Network +------------------------------------- + +Recurrent neural network process a sequence at each time step sequentially. An example of the architecture of LSTM is listed below. + +.. image:: ../../../tutorials/sentiment_analysis/src/bi_lstm.jpg + :align: center + +Generally speaking, a recurrent network perform the following operations from :math:`t=1` to :math:`t=T`, or reversely from :math:`t=T` to :math:`t=1`. + +.. math:: + + x_{t+1} = f_x(x_t), y_t = f_y(x_t) + + +where :math:`f_x(.)` is called **step function**, and :math:`f_y(.)` is called **output function**. In vanilla recurrent neural network, both of the step function and output function are very simple. However, PaddlePaddle supports the configuration of very complex architectures by modifying these two functions. We will use the sequence to sequence model with attention as an example to demonstrate how you can configure complex recurrent neural network models. In this section, we will use a simple vanilla recurrent neural network as an example of configuring simple recurrent neural network using :code:`recurrent_group`. Notice that if you only need to use simple RNN, GRU, or LSTM, then :code:`grumemory` and :code:`lstmemory` is recommended because they are more computationally efficient than :code:`recurrent_group`. + +For vanilla RNN, at each time step, the **step function** is: + +.. math:: + + x_{t+1} = W_x x_t + W_i I_t + b + +where :math:`x_t` is the RNN state, and :math:`I_t` is the input, :math:`W_x` and :math:`W_i` are transformation matrices for RNN states and inputs, respectively. :math:`b` is the bias. +Its **output function** simply takes :math:`x_t` as the output. + +:code:`recurrent_group` is the most important tools for constructing recurrent neural networks. It defines the **step function**, **output function** and the inputs of the recurrent neural network. Notice that the :code:`step` argument of this function implements both the :code:`step function` and the :code:`output function`: + +.. code-block:: python + + def simple_rnn(input, + size=None, + name=None, + reverse=False, + rnn_bias_attr=None, + act=None, + rnn_layer_attr=None): + def __rnn_step__(ipt): + out_mem = memory(name=name, size=size) + rnn_out = mixed_layer(input = [full_matrix_projection(ipt), + full_matrix_projection(out_mem)], + name = name, + bias_attr = rnn_bias_attr, + act = act, + layer_attr = rnn_layer_attr, + size = size) + return rnn_out + return recurrent_group(name='%s_recurrent_group' % name, + step=__rnn_step__, + reverse=reverse, + input=input) + + +PaddlePaddle uses memory to construct step function. **Memory** is the most important concept when constructing recurrent neural networks in PaddlePaddle. A memory is a state that is used recurrently in step functions, such as :math:`x_{t+1} = f_x(x_t)`. One memory contains an **output** and a **input**. The output of memory at the current time step is utilized as the input of the memory at the next time step. A memory can also has a **boot layer**, whose output is utilized as the initial value of the memory. In our case, the output of the gated recurrent unit is employed as the output memory. Notice that the name of the layer :code:`rnn_out` is the same as the name of :code:`out_mem`. This means the output of the layer :code:`rnn_out` (:math:`x_{t+1}`) is utilized as the **output** of :code:`out_mem` memory. + +A memory can also be a sequence. In this case, at each time step, we have a sequence as the state of the recurrent neural network. This can be useful when constructing very complex recurrent neural network. Other advanced functions include defining multiple memories, and defining hierarchical recurrent neural network architecture using sub-sequence. + +We return :code:`rnn_out` at the end of the function. It means that the output of the layer :code:`rnn_out` is utilized as the **output** function of the gated recurrent neural network. + +----------------------------------------- +Sequence to Sequence Model with Attention +----------------------------------------- +We will use the sequence to sequence model with attention as an example to demonstrate how you can configure complex recurrent neural network models. An illustration of the sequence to sequence model with attention is shown in the following figure. + +.. image:: ../../../tutorials/text_generation/encoder-decoder-attention-model.png + :align: center + +In this model, the source sequence :math:`S = \{s_1, \dots, s_T\}` is encoded with a bidirectional gated recurrent neural networks. The hidden states of the bidirectional gated recurrent neural network :math:`H_S = \{H_1, \dots, H_T\}` is called *encoder vector* The decoder is a gated recurrent neural network. When decoding each token :math:`y_t`, the gated recurrent neural network generates a set of weights :math:`W_S^t = \{W_1^t, \dots, W_T^t\}`, which are used to compute a weighted sum of the encoder vector. The weighted sum of the encoder vector is utilized to condition the generation of the token :math:`y_t`. + +The encoder part of the model is listed below. It calls :code:`grumemory` to represent gated recurrent neural network. It is the recommended way of using recurrent neural network if the network architecture is simple, because it is faster than :code:`recurrent_group`. We have implemented most of the commonly used recurrent neural network architectures, you can refer to :ref:`api_trainer_config_helpers_layers` for more details. + +We also project the encoder vector to :code:`decoder_size` dimensional space, get the first instance of the backward recurrent network, and project it to :code:`decoder_size` dimensional space: + +.. code-block:: python + + # Define the data layer of the source sentence. + src_word_id = data_layer(name='source_language_word', size=source_dict_dim) + # Calculate the word embedding of each word. + src_embedding = embedding_layer( + input=src_word_id, + size=word_vector_dim, + param_attr=ParamAttr(name='_source_language_embedding')) + # Apply forward recurrent neural network. + src_forward = grumemory(input=src_embedding, size=encoder_size) + # Apply backward recurrent neural network. reverse=True means backward recurrent neural network. + src_backward = grumemory(input=src_embedding, + size=encoder_size, + reverse=True) + # Mix the forward and backward parts of the recurrent neural network together. + encoded_vector = concat_layer(input=[src_forward, src_backward]) + + # Project encoding vector to decoder_size. + encoder_proj = mixed_layer(input = [full_matrix_projection(encoded_vector)], + size = decoder_size) + + # Compute the first instance of the backward RNN. + backward_first = first_seq(input=src_backward) + + # Project the first instance of backward RNN to decoder size. + decoder_boot = mixed_layer(input=[full_matrix_projection(backward_first)], size=decoder_size, act=TanhActivation()) + + +The decoder uses :code:`recurrent_group` to define the recurrent neural network. The step and output functions are defined in :code:`gru_decoder_with_attention`: + +.. code-block:: python + + group_inputs=[StaticInput(input=encoded_vector,is_seq=True), + StaticInput(input=encoded_proj,is_seq=True)] + trg_embedding = embedding_layer( + input=data_layer(name='target_language_word', + size=target_dict_dim), + size=word_vector_dim, + param_attr=ParamAttr(name='_target_language_embedding')) + group_inputs.append(trg_embedding) + + # For decoder equipped with attention mechanism, in training, + # target embedding (the groudtruth) is the data input, + # while encoded source sequence is accessed to as an unbounded memory. + # StaticInput means the same value is utilized at different time steps. + # Otherwise, it is a sequence input. Inputs at different time steps are different. + # All sequence inputs should have the same length. + decoder = recurrent_group(name=decoder_group_name, + step=gru_decoder_with_attention, + input=group_inputs) + + +The implementation of the step function is listed as below. First, it defines the **memory** of the decoder network. Then it defines attention, gated recurrent unit step function, and the output function: + +.. code-block:: python + + def gru_decoder_with_attention(enc_vec, enc_proj, current_word): + # Defines the memory of the decoder. + # The output of this memory is defined in gru_step. + # Notice that the name of gru_step should be the same as the name of this memory. + decoder_mem = memory(name='gru_decoder', + size=decoder_size, + boot_layer=decoder_boot) + # Compute attention weighted encoder vector. + context = simple_attention(encoded_sequence=enc_vec, + encoded_proj=enc_proj, + decoder_state=decoder_mem) + # Mix the current word embedding and the attention weighted encoder vector. + decoder_inputs = mixed_layer(inputs = [full_matrix_projection(context), + full_matrix_projection(current_word)], + size = decoder_size * 3) + # Define Gated recurrent unit recurrent neural network step function. + gru_step = gru_step_layer(name='gru_decoder', + input=decoder_inputs, + output_mem=decoder_mem, + size=decoder_size) + # Defines the output function. + out = mixed_layer(input=[full_matrix_projection(input=gru_step)], + size=target_dict_dim, + bias_attr=True, + act=SoftmaxActivation()) + return out + + +================= +Generate Sequence +================= +After training the model, we can use it to generate sequences. A common practice is to use **beam search** to generate sequences. The following code snippets defines a beam search algorithm. Notice that :code:`beam_search` function assumes the output function of the :code:`step` returns a softmax normalized probability vector of the next token. We made the following changes to the model. + +* use :code:`GeneratedInput` for trg_embedding. :code:`GeneratedInput` computes the embedding of the generated token at the last time step for the input at the current time step. +* use :code:`beam_search` function. This function needs to set: + + - :code:`bos_id`: the start token. Every sentence starts with the start token. + - :code:`eos_id`: the end token. Every sentence ends with the end token. + - :code:`beam_size`: the beam size used in beam search. + - :code:`max_length`: the maximum length of the generated sentences. + +* use :code:`seqtext_printer_evaluator` to print text according to index matrix and dictionary. This function needs to set: + + - :code:`id_input`: the integer ID of the data, used to identify the corresponding output in the generated files. + - :code:`dict_file`: the dictionary file for converting word id to word. + - :code:`result_file`: the path of the generation result file. + +The code is listed below: + +.. code-block:: python + + group_inputs=[StaticInput(input=encoded_vector,is_seq=True), + StaticInput(input=encoded_proj,is_seq=True)] + # In generation, decoder predicts a next target word based on + # the encoded source sequence and the last generated target word. + # The encoded source sequence (encoder's output) must be specified by + # StaticInput which is a read-only memory. + # Here, GeneratedInputs automatically fetchs the last generated word, + # which is initialized by a start mark, such as . + trg_embedding = GeneratedInput( + size=target_dict_dim, + embedding_name='_target_language_embedding', + embedding_size=word_vector_dim) + group_inputs.append(trg_embedding) + beam_gen = beam_search(name=decoder_group_name, + step=gru_decoder_with_attention, + input=group_inputs, + bos_id=0, # Beginnning token. + eos_id=1, # End of sentence token. + beam_size=beam_size, + max_length=max_length) + + seqtext_printer_evaluator(input=beam_gen, + id_input=data_layer(name="sent_id", size=1), + dict_file=trg_dict_path, + result_file=gen_trans_file) + outputs(beam_gen) + + +Notice that this generation technique is only useful for decoder like generation process. If you are working on sequence tagging tasks, please refer to :ref:`semantic_role_labeling` for more details. + +The full configuration file is located at :code:`demo/seqToseq/seqToseq_net.py`. diff --git a/release/0.10.0/doc/_sources/howto/dev/contribute_to_paddle_en.md.txt b/release/0.10.0/doc/_sources/howto/dev/contribute_to_paddle_en.md.txt new file mode 100644 index 0000000000..9b0d3e83c0 --- /dev/null +++ b/release/0.10.0/doc/_sources/howto/dev/contribute_to_paddle_en.md.txt @@ -0,0 +1,146 @@ +# Contribute Code + +We sincerely appreciate your contributions. You can use fork and pull request +workflow to merge your code. + +## Code Requirements +- Your code must be fully documented by + [doxygen](http://www.stack.nl/~dimitri/doxygen/) style. +- Make sure the compiler option WITH\_STYLE\_CHECK is on and the compiler + passes the code style check. +- All code must have unit test. +- Pass all unit tests. + +The following tutorial guides you into submitting your contibution. + +## [Creating a Fork](https://help.github.com/articles/fork-a-repo/) + +Just head over to the GitHub page and click the "Fork" button. +It's just that simple. + +## Clone + +Paddle is currently using [git-flow branching model](http://nvie.com/posts/a-successful-git-branching-model/). +The **develop** is the main branch, and other user's branches are feature branches. + +Once you've created a fork, you can use your favorite git client to clone your +repo or just head straight to the command line: + +```shell +# Clone your fork to your local machine +git clone --branch develop https://github.com/USERNAME/Paddle.git +``` +If your repository doesn't contain **develop** branch, just create it by your own. + +```shell +git clone https://github.com/USERNAME/Paddle.git Paddle +cd Paddle +git checkout -b develop # create develop branch. +git remote add upstream https://github.com/PaddlePaddle/Paddle.git # add upstream to baidu/Paddle +git pull upstream develop # update to upstream +``` + +Then you can start to develop by making a local developement branch + +```shell +git checkout -b MY_COOL_STUFF_BRANCH +``` + +## Using `pre-commit` hook + +Paddle developers use [pre-commit](http://pre-commit.com/) tool to manage git +pre-commit hooks. It can help us format source codes (cpp, python), check some +basic thing before commit (only one EOL for each file, do not add a huge file +in git). `pre-commit` tests is a part of unit tests in Travis-CI now, every +PR doesn't fit hook can not be merged into Paddle. + +To use [pre-commit](http://pre-commit.com/), you should install it by +`pip install pre-commit`, and currently, Paddle uses `clang-format` to format +c/cpp sources. Please make sure clang-format 3.8+ installed. + +Then just run `pre-commit install` in your Paddle clone directory. When you +commit your code, the pre-commit hook will check the local code if there is +anything not suitable to commit, and so on. + +## Commit + +Commit your changes by following command lines: + +```shell +# show the working tree status +git status +# add modified files +git add xx +env EDITOR=vim git commit # You can write your comments by vim/nano/emacs. +``` +The first line of commit infomation is the title. The second and later lines +are the details if any. + +## Keeping Fork Up to Date + +Before pull your request, you should sync your code from the latest PaddlePaddle. +To do this, you'll need to add a remote at first: + +```shell +# see the current configured remote repository +git remote -v +# add upstream repository +git remote add upstream https://github.com/PaddlePaddle/Paddle.git +# verify the new upstream +git remote -v +``` + +Update your fork with the latest upstream changes: + +```shell +git pull --rebase upstream develop +``` + +If there are no unique commits locally, git will simply perform a fast-forward. +However, if you have been making changes (in the vast majority of cases you +probably shouldn't be), you may have to deal with conflicts. + +Now, your local master branch is up-to-date with everything modified upstream. + +## Push to GitHub + +```shell +# push to your repository in Github +git push -u origin MY_COOL_STUFF_BRANCH # create remote branch MY_COOL_STUFF_BRANCH to origin. +``` + +## Pull Request + +Go to the page for your fork on GitHub, select your development branch, +and click the **pull request button**. + +## Update your pull request with the lastest version + +During the code review, your pull request may become stale because new commits in +baidu/Paddle. GitHub allows autmotic update if there is no conflict. You can do this +by clicking the "Update Branch" button in your pull request page. However, in the case +of conflict, you need to do the update manually. You need to do the following on +your local repository: +```shell +git checkout MY_COOL_STUFF_BRANCH +git pull upstream develop +# You may need to resolve the conflict according to the git prompt. +# Make and test your code. +git push origin MY_COOL_STUFF_BRANCH +``` +Now your Pull Request is updated with the latest version. + +## Revise your pull request + +When you revise your pull request according to reviewer's comments, please use 'git commit' instead of 'git commit --amend' to commit your changes so that the reviewers can see the difference between the new pull requrest and the old pull request. + +The possible commands are + +```shell +git checkout MY_COOL_STUFF_BRANCH +git pull upstream develop # update local to newest code base. +# May be some conflicts will occured. +# And develop your cool stuff +env EDITOR=vim git commit # add your revise log +git push origin MY_COOL_STUFF_BRANCH +``` diff --git a/release/0.10.0/doc/_sources/howto/dev/new_layer_en.rst.txt b/release/0.10.0/doc/_sources/howto/dev/new_layer_en.rst.txt new file mode 100644 index 0000000000..46481f5ead --- /dev/null +++ b/release/0.10.0/doc/_sources/howto/dev/new_layer_en.rst.txt @@ -0,0 +1,390 @@ +================ +Write New Layers +================ + +This tutorial will guide you to write customized layers in PaddlePaddle. We will utilize fully connected layer as an example to guide you through the following steps for writing a new layer. + +- Derive equations for the forward and backward part of the layer. +- Implement C++ class for the layer. +- Write gradient check unit test to make sure the gradients are correctly computed. +- Implement Python wrapper for the layer. + +Derive Equations +================ + +First we need to derive equations of the *forward* and *backward* part of the layer. The forward part computes the output given an input. The backward part computes the gradients of the input and the parameters given the the gradients of the output. + +The illustration of a fully connected layer is shown in the following figure. In a fully connected layer, all output nodes are connected to all the input nodes. + +.. image:: FullyConnected.jpg + :align: center + :scale: 60 % + +The *forward part* of a layer transforms an input into the corresponding output. +Fully connected layer takes a dense input vector with dimension :math:`D_i`. It uses a transformation matrix :math:`W` with size :math:`D_i \times D_o` to project :math:`x` into a :math:`D_o` dimensional vector, and add a bias vector :math:`b` with dimension :math:`D_o` to the vector. + +.. math:: + + y = f(W^T x + b) + +where :math:`f(.)` is an nonlinear *activation* function, such as sigmoid, tanh, and Relu. + +The transformation matrix :math:`W` and bias vector :math:`b` are the *parameters* of the layer. The *parameters* of a layer are learned during training in the *backward pass*. The backward pass computes the gradients of the output function with respect to all parameters and inputs. The optimizer can use chain rule to compute the gradients of the loss function with respect to each parameter. + +Suppose our loss function is :math:`c(y)`, then + +.. math:: + + \frac{\partial c(y)}{\partial x} = \frac{\partial c(y)}{\partial y} \frac{\partial y}{\partial x} + +Suppose :math:`z = f(W^T x + b)`, then + +.. math:: + + \frac{\partial y}{\partial z} = \frac{\partial f(z)}{\partial z} + +This derivative can be automatically computed by our base layer class. + +Then, for fully connected layer, we need to compute: + +.. math:: + + \frac{\partial z}{\partial x} = W, \frac{\partial z_j}{\partial W_{ij}} = x_i, \frac{\partial z}{\partial b} = \mathbf 1 + +where :math:`\mathbf 1` is an all one vector, :math:`W_{ij}` is the number at the i-th row and j-th column of the matrix :math:`W`, :math:`z_j` is the j-th component of the vector :math:`z`, and :math:`x_i` is the i-th component of the vector :math:`x`. + +Finally we can use chain rule to calculate :math:`\frac{\partial z}{\partial x}`, and :math:`\frac{\partial z}{\partial W}`. The details of the computation will be given in the next section. + +Implement C++ Class +=================== + +The C++ class of the layer implements the initialization, forward, and backward part of the layer. The fully connected layer is at :code:`paddle/gserver/layers/FullyConnectedLayer.h` and :code:`paddle/gserver/layers/FullyConnectedLayer.cpp`. We list simplified version of the code below. + +It needs to derive the base class :code:`paddle::Layer`, and it needs to override the following functions: + +- constructor and destructor. +- :code:`init` function. It is used to initialize the parameters and settings. +- :code:`forward`. It implements the forward part of the layer. +- :code:`backward`. It implements the backward part of the layer. +- :code:`prefetch`. It is utilized to determine the rows corresponding parameter matrix to prefetch from parameter server. You do not need to override this function if your layer does not need remote sparse update. (most layers do not need to support remote sparse update) + + +The header file is listed below: + +.. code-block:: c++ + + namespace paddle { + /** + * A layer has full connections to all neurons in the previous layer. + * It computes an inner product with a set of learned weights, and + * (optionally) adds biases. + * + * The config file api is fc_layer. + */ + + class FullyConnectedLayer : public Layer { + protected: + WeightList weights_; + std::unique_ptr biases_; + + public: + explicit FullyConnectedLayer(const LayerConfig& config) + : Layer(config) {} + ~FullyConnectedLayer() {} + + bool init(const LayerMap& layerMap, const ParameterMap& parameterMap); + + Weight& getWeight(int idx) { return *weights_[idx]; } + + void prefetch(); + void forward(PassType passType); + void backward(const UpdateCallback& callback = nullptr); + }; + } // namespace paddle + +It defines the parameters as class variables. We use :code:`Weight` class as abstraction of parameters. It supports multi-thread update. The details of this class will be described in details in the implementations. + +- :code:`weights_` is a list of weights for the transformation matrices. The current implementation can have more than one inputs. Thus, it has a list of weights. One weight corresponds to an input. +- :code:`biases_` is a weight for the bias vector. + +The fully connected layer does not have layer configuration hyper-parameters. If there are some layer hyper-parameters, a common practice is to store it in :code:`LayerConfig& config`, and put it into a class variable in the constructor. + +The following code snippet implements the :code:`init` function. + +- First, every :code:`init` function must call the :code:`init` function of the base class :code:`Layer::init(layerMap, parameterMap);`. This statement will initialize the required variables and connections for each layer. +- The it initializes all the weights matrices :math:`W`. The current implementation can have more than one inputs. Thus, it has a list of weights. +- Finally, it initializes the bias. + + +.. code-block:: c++ + + bool FullyConnectedLayer::init(const LayerMap& layerMap, + const ParameterMap& parameterMap) { + /* Initialize the basic parent class */ + Layer::init(layerMap, parameterMap); + + /* initialize the weightList */ + CHECK(inputLayers_.size() == parameters_.size()); + for (size_t i = 0; i < inputLayers_.size(); i++) { + // Option the parameters + size_t height = inputLayers_[i]->getSize(); + size_t width = getSize(); + + // create a new weight + if (parameters_[i]->isSparse()) { + CHECK_LE(parameters_[i]->getSize(), width * height); + } else { + CHECK_EQ(parameters_[i]->getSize(), width * height); + } + Weight* w = new Weight(height, width, parameters_[i]); + + // append the new weight to the list + weights_.emplace_back(w); + } + + /* initialize biases_ */ + if (biasParameter_.get() != NULL) { + biases_ = std::unique_ptr(new Weight(1, getSize(), biasParameter_)); + } + + return true; + } + +The implementation of the forward part has the following steps. + +- Every layer must call :code:`Layer::forward(passType);` at the beginning of its :code:`forward` function. +- Then it allocates memory for the output using :code:`reserveOutput(batchSize, size);`. This step is necessary because we support the batches to have different batch sizes. :code:`reserveOutput` will change the size of the output accordingly. For the sake of efficiency, we will allocate new memory if we want to expand the matrix, but we will reuse the existing memory block if we want to shrink the matrix. +- Then it computes :math:`\sum_i W_i x + b` using Matrix operations. :code:`getInput(i).value` retrieve the matrix of the i-th input. Each input is a :math:`batchSize \times dim` matrix, where each row represents an single input in a batch. For a complete lists of supported matrix operations, please refer to :code:`paddle/math/Matrix.h` and :code:`paddle/math/BaseMatrix.h`. +- Finally it applies the activation function using :code:`forwardActivation();`. It will automatically applies the corresponding activation function specifies in the network configuration. + + +.. code-block:: c++ + + void FullyConnectedLayer::forward(PassType passType) { + Layer::forward(passType); + + /* malloc memory for the output_ if necessary */ + int batchSize = getInput(0).getBatchSize(); + int size = getSize(); + + { + // Settup the size of the output. + reserveOutput(batchSize, size); + } + + MatrixPtr outV = getOutputValue(); + + // Apply the the transformation matrix to each input. + for (size_t i = 0; i != inputLayers_.size(); ++i) { + auto input = getInput(i); + CHECK(input.value) << "The input of 'fc' layer must be matrix"; + i == 0 ? outV->mul(input.value, weights_[i]->getW(), 1, 0) + : outV->mul(input.value, weights_[i]->getW(), 1, 1); + } + + /* add the bias-vector */ + if (biases_.get() != NULL) { + outV->addBias(*(biases_->getW()), 1); + } + + /* activation */ { + forwardActivation(); + } + } + +The implementation of the backward part has the following steps. + +- :code:`backwardActivation()` computes the gradients of the activation. The gradients will be multiplies in place to the gradients of the output, which can be retrieved using :code:`getOutputGrad()`. +- Compute the gradients of bias. Notice that we an use :code:`biases_->getWGrad()` to get the gradient matrix of the corresponding parameter. After the gradient of one parameter is updated, it **MUST** call :code:`getParameterPtr()->incUpdate(callback);`. This is utilize for parameter update over multiple threads or multiple machines. +- Then it computes the gradients of the transformation matrices and inputs, and it calls :code:`incUpdate` for the corresponding parameter. This gives the framework the chance to know whether it has gathered all the gradient to one parameter so that it can do some overlapping work (e.g., network communication) + + +.. code-block:: c++ + + void FullyConnectedLayer::backward(const UpdateCallback& callback) { + /* Do derivation for activations.*/ { + backwardActivation(); + } + + if (biases_ && biases_->getWGrad()) { + biases_->getWGrad()->collectBias(*getOutputGrad(), 1); + + biases_->getParameterPtr()->incUpdate(callback); + } + + bool syncFlag = hl_get_sync_flag(); + + for (size_t i = 0; i != inputLayers_.size(); ++i) { + /* Calculate the W-gradient for the current layer */ + if (weights_[i]->getWGrad()) { + MatrixPtr input_T = getInputValue(i)->getTranspose(); + MatrixPtr oGrad = getOutputGrad(); + { + weights_[i]->getWGrad()->mul(input_T, oGrad, 1, 1); + } + } + + + /* Calculate the input layers error */ + MatrixPtr preGrad = getInputGrad(i); + if (NULL != preGrad) { + MatrixPtr weights_T = weights_[i]->getW()->getTranspose(); + preGrad->mul(getOutputGrad(), weights_T, 1, 1); + } + + { + weights_[i]->getParameterPtr()->incUpdate(callback); + } + } + } + +The :code:`prefetch` function specifies the rows that need to be fetched from parameter server during training. It is only useful for remote sparse training. In remote sparse training, the full parameter matrix is stored distributedly at the parameter server. When the layer uses a batch for training, only a subset of locations of the input is non-zero in this batch. Thus, this layer only needs the rows of the transformation matrix corresponding to the locations of these non-zero entries. The :code:`prefetch` function specifies the ids of these rows. + +Most of the layers do not need remote sparse training function. You do not need to override this function in this case. + +.. code-block:: c++ + + void FullyConnectedLayer::prefetch() { + for (size_t i = 0; i != inputLayers_.size(); ++i) { + auto* sparseParam = + dynamic_cast(weights_[i]->getW().get()); + if (sparseParam) { + MatrixPtr input = getInputValue(i); + sparseParam->addRows(input); + } + } + } + +Finally, you can use :code:`REGISTER_LAYER(fc, FullyConnectedLayer);` to register the layer. :code:`fc` is the identifier of the layer, and :code:`FullyConnectedLayer` is the class name of the layer. + +.. code-block:: c++ + + namespace paddle { + REGISTER_LAYER(fc, FullyConnectedLayer); + } + +If the :code:`cpp` file is put into :code:`paddle/gserver/layers`, it will be automatically added to the compilation list. + + +Write Gradient Check Unit Test +=============================== + +An easy way to verify the correctness of new layer's implementation is to write a gradient check unit test. Gradient check unit test utilizes finite difference method to verify the gradient of a layer. It modifies the input with a small perturbation :math:`\Delta x` and observes the changes of output :math:`\Delta y`, the gradient can be computed as :math:`\frac{\Delta y}{\Delta x }`. This gradient can be compared with the gradient computed by the :code:`backward` function of the layer to ensure the correctness of the gradient computation. Notice that the gradient check only tests the correctness of the gradient computation, it does not necessarily guarantee the correctness of the implementation of the :code:`forward` and :code:`backward` function. You need to write more sophisticated unit tests to make sure your layer is implemented correctly. + +All the gradient check unit tests are located in :code:`paddle/gserver/tests/test_LayerGrad.cpp`. You are recommended to put your test into a new test file if you are planning to write a new layer. The gradient test of the gradient check unit test of the fully connected layer is listed below. It has the following steps. + ++ Create layer configuration. A layer configuration can include the following attributes: + - size of the bias parameter. (4096 in our example) + - type of the layer. (fc in our example) + - size of the layer. (4096 in our example) + - activation type. (softmax in our example) + - dropout rate. (0.1 in our example) ++ configure the input of the layer. In our example, we have only one input. + - type of the input (:code:`INPUT_DATA`) in our example. It can be one of the following types + - :code:`INPUT_DATA`: dense vector. + - :code:`INPUT_LABEL`: integer. + - :code:`INPUT_DATA_TARGET`: dense vector, but it does not used to compute gradient. + - :code:`INPUT_SEQUENCE_DATA`: dense vector with sequence information. + - :code:`INPUT_HASSUB_SEQUENCE_DATA`: dense vector with both sequence and sub-sequence information. + - :code:`INPUT_SEQUENCE_LABEL`: integer with sequence information. + - :code:`INPUT_SPARSE_NON_VALUE_DATA`: 0-1 sparse data. + - :code:`INPUT_SPARSE_FLOAT_VALUE_DATA`: float sparse data. + - name of the input. (:code:`layer_0` in our example) + - size of the input. (8192 in our example) + - number of non-zeros, only useful for sparse inputs. + - format of sparse data, only useful for sparse inputs. ++ each inputs needs to call :code:`config.layerConfig.add_inputs();` once. ++ call :code:`testLayerGrad` to perform gradient checks. It has the following arguments. + - layer and input configurations. (:code:`config` in our example) + - type of the layer. (:code:`fc` in our example) + - batch size of the gradient check. (100 in our example) + - whether the input is transpose. Most layers need to set it to :code:`false`. (:code:`false` in our example) + - whether to use weights. Some layers or activations perform normalization so that the sum of their output is a constant. For example, the sum of output of a softmax activation is one. In this case, we cannot correctly compute the gradients using regular gradient check techniques. A weighted sum of the output, which is not a constant, is utilized to compute the gradients. (:code:`true` in our example, because the activation of a fully connected layer can be softmax) + +.. code-block:: c++ + + void testFcLayer(string format, size_t nnz) { + // Create layer configuration. + TestConfig config; + config.biasSize = 4096; + config.layerConfig.set_type("fc"); + config.layerConfig.set_size(4096); + config.layerConfig.set_active_type("softmax"); + config.layerConfig.set_drop_rate(0.1); + // Setup inputs. + config.inputDefs.push_back( + {INPUT_DATA, "layer_0", 8192, nnz, ParaSparse(format)}); + config.layerConfig.add_inputs(); + LOG(INFO) << config.inputDefs[0].sparse.sparse << " " + << config.inputDefs[0].sparse.format; + for (auto useGpu : {false, true}) { + testLayerGrad(config, "fc", 100, /* trans */ false, useGpu, + /* weight */ true); + } + } + +If you are creating a new file for the test, such as :code:`paddle/gserver/tests/testFCGrad.cpp`, you need to add the file to :code:`paddle/gserver/tests/CMakeLists.txt`. An example is given below. All the unit tests will run when you execute the command :code:`make tests`. Notice that some layers might need high accuracy for the gradient check unit tests to work well. You need to configure :code:`WITH_DOUBLE` to `ON` when configuring cmake. + +.. code-block:: bash + + add_unittest_without_exec(test_FCGrad + test_FCGrad.cpp + LayerGradUtil.cpp + TestUtil.cpp) + + add_test(NAME test_FCGrad + COMMAND test_FCGrad) + + +Implement Python Wrapper +======================== + +Implementing Python wrapper allows us to use the added layer in configuration files. All the Python wrappers are in file :code:`python/paddle/trainer/config_parser.py`. An example of the Python wrapper for fully connected layer is listed below. It has the following steps: + +- Use :code:`@config_layer('fc')` at the decorator for all the Python wrapper class. :code:`fc` is the identifier of the layer. +- Implements :code:`__init__` constructor function. + - It first call :code:`super(FCLayer, self).__init__(name, 'fc', size, inputs=inputs, **xargs)` base constructor function. :code:`FCLayer` is the Python wrapper class name, and :code:`fc` is the layer identifier name. They must be correct in order for the wrapper to work. + - Then it computes the size and format (whether sparse) of each transformation matrix as well as the size. + +.. code-block:: python + + @config_layer('fc') + class FCLayer(LayerBase): + def __init__( + self, + name, + size, + inputs, + bias=True, + **xargs): + super(FCLayer, self).__init__(name, 'fc', size, inputs=inputs, **xargs) + for input_index in xrange(len(self.inputs)): + input_layer = self.get_input_layer(input_index) + psize = self.config.size * input_layer.size + dims = [input_layer.size, self.config.size] + format = self.inputs[input_index].format + sparse = format == "csr" or format == "csc" + if sparse: + psize = self.inputs[input_index].nnz + self.create_input_parameter(input_index, psize, dims, sparse, format) + self.create_bias_parameter(bias, self.config.size) + +In network configuration, the layer can be specifies using the following code snippets. The arguments of this class are: + +- :code:`name` is the name identifier of the layer instance. +- :code:`type` is the type of the layer, specified using layer identifier. +- :code:`size` is the output size of the layer. +- :code:`bias` specifies whether this layer instance has bias. +- :code:`inputs` specifies a list of layer instance names as inputs. + +.. code-block:: python + + Layer( + name = "fc1", + type = "fc", + size = 64, + bias = True, + inputs = [Input("pool3")] + ) + +You are also recommended to implement a helper for the Python wrapper, which makes it easier to write models. You can refer to :code:`python/paddle/trainer_config_helpers/layers.py` for examples. diff --git a/release/0.10.0/doc/_sources/howto/index_en.rst.txt b/release/0.10.0/doc/_sources/howto/index_en.rst.txt new file mode 100644 index 0000000000..1fbfcd260b --- /dev/null +++ b/release/0.10.0/doc/_sources/howto/index_en.rst.txt @@ -0,0 +1,38 @@ +HOW TO +======= + +Usage +------- + +.. toctree:: + :maxdepth: 1 + + usage/cmd_parameter/index_en.rst + usage/cluster/cluster_train_en.md + usage/k8s/k8s_en.md + usage/k8s/k8s_aws_en.md + +Development +------------ + +.. toctree:: + :maxdepth: 1 + + dev/new_layer_en.rst + dev/contribute_to_paddle_en.md + +Configuration +------------- + +.. toctree:: + :maxdepth: 1 + + deep_model/rnn/index_en.rst + +Optimization +------------- + +.. toctree:: + :maxdepth: 1 + + optimization/gpu_profiling_en.rst diff --git a/release/0.10.0/doc/_sources/howto/optimization/gpu_profiling_en.rst.txt b/release/0.10.0/doc/_sources/howto/optimization/gpu_profiling_en.rst.txt new file mode 100644 index 0000000000..ed208ceaf7 --- /dev/null +++ b/release/0.10.0/doc/_sources/howto/optimization/gpu_profiling_en.rst.txt @@ -0,0 +1,240 @@ +==================== +Tune GPU Performance +==================== + +.. contents:: + +This tutorial will guide you step-by-step through how to conduct profiling and performance tuning using built-in timer, **nvprof** and **nvvp**. + +- What is profiling? +- Why we need profiling? +- How to do profiling? +- Profile tools +- Hands-on Tutorial +- Profiling tips + +What's profiling? +================= +In software engineering, profiling is a form of dynamic program analysis that measures the space (memory) or time +complexity of a program, the usage of particular instructions, or the frequency and duration of function calls. +Most commonly, profiling information serves to aid program optimization. + +Briefly, profiler is used to measure application performance. Program analysis tools are extremely important for +understanding program behavior. Simple profiling can tell you that how long does an operation take? For advanced +profiling, it can interpret why does an operation take a long time? + +Why we need profiling? +====================== +Since training deep neural network typically take a very long time to get over, performance is gradually becoming +the most important thing in deep learning field. The first step to improve performance is to understand what parts +are slow. There is no point in improving performance of a region which doesn’t take much time! + + +How to do profiling? +==================== +To achieve maximum performance, there are five steps you can take to reach your goals. + +- Profile the code +- Find the slow parts +- Work out why they’re slow +- Make them fast +- Profile the code again + +Usually, processor has two key performance limits include float point throughput and +memory throughput. For GPU, it also need more parallelism to fulfill its potential. +This is why they can be so fast. + +Profiler Tools +============== +For general GPU profiling, a bunch of tools are provided from both NVIDIA and third party. + +**nvprof** is Nvidia profiler and **nvvp** is (GUI based) Nvidia visual profiler. +In this tutorial, we will focus on nvprof and nvvp. + +:code:`test_GpuProfiler` from :code:`paddle/math/tests` directory will be used to evaluate +above profilers. + +.. literalinclude:: ../../../paddle/math/tests/test_GpuProfiler.cpp + :language: c++ + :lines: 137-151 + :linenos: + +The above code snippet includes two methods, you can use any of them to profile the regions of interest. + +1. :code:`REGISTER_TIMER_INFO` is a built-in timer wrapper which can calculate the time overhead of both cpu functions and cuda kernels. + +2. :code:`REGISTER_GPU_PROFILER` is a general purpose wrapper object of :code:`cudaProfilerStart` and :code:`cudaProfilerStop` to avoid +program crashes when CPU version of PaddlePaddle invokes them. + +You can find more details about how to use both of them in the next session. + +Hands-on Approach +================= + +Built-in Timer +-------------- + +To enable built-in timer in PaddlePaddle, first you have to add :code:`REGISTER_TIMER_INFO` into the regions of you interest. +Then, all information could be stamped in the console via :code:`printStatus` or :code:`printAllStatus` function. +As a simple example, consider the following: + +1. Add :code:`REGISTER_TIMER_INFO` and :code:`printAllStatus` functions (see the emphasize-lines). + + .. literalinclude:: ../../../paddle/math/tests/test_GpuProfiler.cpp + :language: c++ + :lines: 137-151 + :emphasize-lines: 8-12,14 + :linenos: + +2. Configure cmake with **WITH_TIMER** and recompile PaddlePaddle. + + .. code-block:: bash + + cmake .. -DWITH_TIMER=ON + make + +3. Execute your code and observe the results (see the emphasize-lines). + + .. code-block:: bash + :emphasize-lines: 1,12-15 + + > ./paddle/math/tests/test_GpuProfiler + I1117 11:13:42.313065 2522362816 Util.cpp:155] commandline: ./paddle/math/tests/test_GpuProfiler + I1117 11:13:42.845065 2522362816 Util.cpp:130] Calling runInitFunctions + I1117 11:13:42.845208 2522362816 Util.cpp:143] Call runInitFunctions done. + [==========] Running 1 test from 1 test case. + [----------] Global test environment set-up. + [----------] 1 test from Profiler + [ RUN ] Profiler.BilinearFwdBwd + I1117 11:13:42.845310 2522362816 test_GpuProfiler.cpp:114] Enable GPU Profiler Stat: [testBilinearFwdBwd] "numSamples = 10, channels = 16, im + gSizeX = 64, imgSizeY = 64" + I1117 11:13:42.850154 2522362816 ThreadLocal.cpp:37] thread use undeterministic rand seed:20659751 + I1117 11:13:42.981501 2522362816 Stat.cpp:130] ======= StatSet: [GlobalStatInfo] status ====== + I1117 11:13:42.981539 2522362816 Stat.cpp:133] Stat=testBilinearFwdBwd total=136.141 avg=136.141 max=136.141 min=136.141 count=1 + I1117 11:13:42.981572 2522362816 Stat.cpp:141] ======= BarrierStatSet status ====== + I1117 11:13:42.981575 2522362816 Stat.cpp:154] -------------------------------------------------- + [ OK ] Profiler.BilinearFwdBwd (136 ms) + [----------] 1 test from Profiler (136 ms total) + + [----------] Global test environment tear-down + [==========] 1 test from 1 test case ran. (136 ms total) + [ PASSED ] 1 test. + +nvprof profiler +--------------- + +To use this command line profiler **nvprof**, you can simply issue the following command: + +1. Add :code:`REGISTER_GPU_PROFILER` function (see the emphasize-lines). + + .. literalinclude:: ../../../paddle/math/tests/test_GpuProfiler.cpp + :language: c++ + :lines: 137-151 + :emphasize-lines: 6-7 + :linenos: + +2. Configure cmake with **WITH_PROFILER** and recompile PaddlePaddle. + + .. code-block:: bash + + cmake .. -DWITH_PROFILER=ON + make + +3. Use Nvidia profiler **nvprof** to profile the binary. + + .. code-block:: bash + + nvprof ./paddle/math/tests/test_GpuProfiler + +Then, you can get the following profiling result: + +.. code-block:: bash + + ==78544== Profiling application: ./paddle/math/tests/test_GpuProfiler + ==78544== Profiling result: + Time(%) Time Calls Avg Min Max Name + 27.60% 9.6305ms 5 1.9261ms 3.4560us 6.4035ms [CUDA memcpy HtoD] + 26.07% 9.0957ms 1 9.0957ms 9.0957ms 9.0957ms KeBilinearInterpBw + 23.78% 8.2977ms 1 8.2977ms 8.2977ms 8.2977ms KeBilinearInterpFw + 22.55% 7.8661ms 2 3.9330ms 1.5798ms 6.2863ms [CUDA memcpy DtoH] + + ==78544== API calls: + Time(%) Time Calls Avg Min Max Name + 46.85% 682.28ms 8 85.285ms 12.639us 682.03ms cudaStreamCreateWithFlags + 39.83% 580.00ms 4 145.00ms 302ns 550.27ms cudaFree + 9.82% 143.03ms 9 15.892ms 8.7090us 142.78ms cudaStreamCreate + 1.23% 17.983ms 7 2.5690ms 23.210us 6.4563ms cudaMemcpy + 1.23% 17.849ms 2 8.9247ms 8.4726ms 9.3768ms cudaStreamSynchronize + 0.66% 9.5969ms 7 1.3710ms 288.43us 2.4279ms cudaHostAlloc + 0.13% 1.9530ms 11 177.54us 7.6810us 591.06us cudaMalloc + 0.07% 1.0424ms 8 130.30us 1.6970us 453.72us cudaGetDevice + 0.04% 527.90us 40 13.197us 525ns 253.99us cudaEventCreateWithFlags + 0.03% 435.73us 348 1.2520us 124ns 42.704us cuDeviceGetAttribute + 0.03% 419.36us 1 419.36us 419.36us 419.36us cudaGetDeviceCount + 0.02% 260.75us 2 130.38us 129.32us 131.43us cudaGetDeviceProperties + 0.02% 222.32us 2 111.16us 106.94us 115.39us cudaLaunch + 0.01% 214.06us 4 53.514us 28.586us 77.655us cuDeviceGetName + 0.01% 115.45us 4 28.861us 9.8250us 44.526us cuDeviceTotalMem + 0.01% 83.988us 4 20.997us 578ns 77.760us cudaSetDevice + 0.00% 38.918us 1 38.918us 38.918us 38.918us cudaEventCreate + 0.00% 34.573us 31 1.1150us 279ns 12.784us cudaDeviceGetAttribute + 0.00% 17.767us 1 17.767us 17.767us 17.767us cudaProfilerStart + 0.00% 15.228us 2 7.6140us 3.5460us 11.682us cudaConfigureCall + 0.00% 14.536us 2 7.2680us 1.1490us 13.387us cudaGetLastError + 0.00% 8.6080us 26 331ns 173ns 783ns cudaSetupArgument + 0.00% 5.5470us 6 924ns 215ns 2.6780us cuDeviceGet + 0.00% 5.4090us 6 901ns 328ns 3.3320us cuDeviceGetCount + 0.00% 4.1770us 3 1.3920us 1.0630us 1.8300us cuDriverGetVersion + 0.00% 3.4650us 3 1.1550us 1.0810us 1.2680us cuInit + 0.00% 830ns 1 830ns 830ns 830ns cudaRuntimeGetVersion + + +nvvp profiler +------------- + +For visual profiler **nvvp**, you can either import the output of :code:`nvprof –o ...` or +run application through GUI. + +**Note: nvvp also support CPU profiling** (Click the box in nvvp to enable profile execution on CPU). + +.. image:: nvvp1.png + :align: center + :scale: 33% + +From the perspective of kernel functions, **nvvp** can even illustrate why does an operation take a long time? +As shown in the following figure, kernel's block usage, register usage and shared memory usage from :code:`nvvp` +allow us to fully utilize all warps on the GPU. + +.. image:: nvvp2.png + :align: center + :scale: 33% + +From the perspective of application, **nvvp** can give you some suggestions to address performance bottleneck. +For instance, some advice in data movement and compute utilization from the below figure can guide you to tune performance. + +.. image:: nvvp3.png + :align: center + :scale: 33% + +.. image:: nvvp4.png + :align: center + :scale: 33% + +Profiling tips +============== + +- The **nvprof** and **nvvp** output is a very good place to start. +- The timeline is a good place to go next. +- Only dig deep into a kernel if it’s taking a significant amount of your time. +- Where possible, try to match profiler output with theory. + 1) For example, if I know I’m moving 1GB, and my kernel takes 10ms, I expect the profiler to report 100GB/s. + 2) Discrepancies are likely to mean your application isn’t doing what you thought it was. +- Know your hardware: If your GPU can do 6 TFLOPs, and you’re already doing 5.5 TFLOPs, you won’t go much faster! + + +Profiling is a key step in optimization. Sometimes quite simple changes can lead to big improvements in performance. +Your mileage may vary! + +Reference +========= +Jeremy Appleyard, `GPU Profiling for Deep Learning `_, 2015 diff --git a/release/0.10.0/doc/_sources/howto/usage/cluster/cluster_train_en.md.txt b/release/0.10.0/doc/_sources/howto/usage/cluster/cluster_train_en.md.txt new file mode 100644 index 0000000000..c60876721c --- /dev/null +++ b/release/0.10.0/doc/_sources/howto/usage/cluster/cluster_train_en.md.txt @@ -0,0 +1,156 @@ +# Run Distributed Training + +In this article, we explain how to run distributed Paddle training jobs on clusters. We will create the distributed version of the single-process training example, [recommendation](https://github.com/baidu/Paddle/tree/develop/demo/recommendation). + +[Scripts](https://github.com/baidu/Paddle/tree/develop/paddle/scripts/cluster_train) used in this article launch distributed jobs via SSH. They also work as a reference for users running more sophisticated cluster management systems like MPI and [Kubernetes](https://github.com/PaddlePaddle/Paddle/tree/develop/doc/howto/usage/k8s). + +## Prerequisite + +1. Aforementioned scripts use a Python library [fabric](http://www.fabfile.org/) to run SSH commands. We can use `pip` to install fabric: + + ```bash + pip install fabric + ``` + +1. We need to install PaddlePaddle on all nodes in the cluster. To enable GPUs, we need to install CUDA in `/usr/local/cuda`; otherwise Paddle would report errors at runtime. + +1. Set the `ROOT_DIR` variable in [`cluster_train/conf.py`] on all nodes. For convenience, we often create a Unix user `paddle` on all nodes and set `ROOT_DIR=/home/paddle`. In this way, we can write public SSH keys into `/home/paddle/.ssh/authorized_keys` so that user `paddle` can SSH to all nodes without password. + +## Prepare Job Workspace + +We refer to the directory where we put dependent libraries, config files, etc., as *workspace*. + +These `train/test` data should be prepared before launching cluster job. To satisfy the requirement that train/test data are placed in different directory from workspace, PADDLE refers train/test data according to index file named as `train.list/test.list` which are used in model config file. So the train/test data also contains train.list/test.list two list file. All local training demo already provides scripts to help you create these two files, and all nodes in cluster job will handle files with same logical code in normal condition. + +Generally, you can use same model file from local training for cluster training. What you should have in mind that, the `batch_size` set in `setting` function in model file means batch size in `each` node of cluster job instead of total batch size if synchronization SGD was used. + +Following steps are based on [demo/recommendation](https://github.com/PaddlePaddle/Paddle/tree/develop/demo/recommendation) demo in demo directory. + +You just go through demo/recommendation tutorial doc until `Train` section, and at last you will get train/test data and model configuration file. Finaly, just use demo/recommendation as workspace for cluster training. + +At last your workspace should look like as follow: +``` +. +|-- common_utils.py +|-- data +| |-- config.json +| |-- config_generator.py +| |-- meta.bin +| |-- meta_config.json +| |-- meta_generator.py +| |-- ml-1m +| |-- ml_data.sh +| |-- ratings.dat.test +| |-- ratings.dat.train +| |-- split.py +| |-- test.list +| `-- train.list +|-- dataprovider.py +|-- evaluate.sh +|-- prediction.py +|-- preprocess.sh +|-- requirements.txt +|-- run.sh +`-- trainer_config.py +``` +Not all of these files are needed for cluster training, but it's not necessary to remove useless files. + +`trainer_config.py` +Indicates the model config file. + +`train.list` and `test.list` +File index. It stores all relative or absolute file paths of all train/test data at current node. + +`dataprovider.py` +used to read train/test samples. It's same as local training. + +`data` +all files in data directory are refered by train.list/test.list which are refered by data provider. + + +## Prepare Cluster Job Configuration + +The options below must be carefully set in cluster_train/conf.py + +`HOSTS` all nodes hostname or ip that will run cluster job. You can also append user and ssh port with hostname, such as root@192.168.100.17:9090. + +`ROOT_DIR` workspace ROOT directory for placing JOB workspace directory + +`PADDLE_NIC` the NIC(Network Interface Card) interface name for cluster communication channel, such as eth0 for ethternet, ib0 for infiniband. + +`PADDLE_PORT` port number for cluster commnunication channel + +`PADDLE_PORTS_NUM` the number of port used for cluster communication channle. if the number of cluster nodes is small(less than 5~6nodes), recommend you set it to larger, such as 2 ~ 8, for better network performance. + +`PADDLE_PORTS_NUM_FOR_SPARSE` the number of port used for sparse updater cluster commnunication channel. if sparse remote update is used, set it like `PADDLE_PORTS_NUM` + +`LD_LIBRARY_PATH` set addtional LD_LIBRARY_PATH for cluster job. You can use it to set CUDA libraries path. + +Default Configuration as follow: + +```python +HOSTS = [ + "root@192.168.100.17", + "root@192.168.100.18", + ] + +''' +workspace configuration +''' + +#root dir for workspace +ROOT_DIR = "/home/paddle" + +''' +network configuration +''' +#pserver nics +PADDLE_NIC = "eth0" +#pserver port +PADDLE_PORT = 7164 +#pserver ports num +PADDLE_PORTS_NUM = 2 +#pserver sparse ports num +PADDLE_PORTS_NUM_FOR_SPARSE = 2 + +#environments setting for all processes in cluster job +LD_LIBRARY_PATH="/usr/local/cuda/lib64:/usr/lib64" +``` + +### Launching Cluster Job +`paddle.py` provides automatical scripts to start all PaddlePaddle cluster processes in different nodes. By default, all command line options can set as `paddle.py` command options and `paddle.py` will transparently and automatically set these options to PaddlePaddle lower level processes. + +`paddle.py`provides two distinguished command option for easy job launching. + +`job_dispatch_package` set it with local `workspace`directory, it will be dispatched to all nodes set in conf.py. It could be helpful for frequent hacking workspace files, otherwise frequent mulit-nodes workspace deployment could make your crazy. +`job_workspace` set it with already deployed workspace directory, `paddle.py` will skip dispatch stage to directly launch cluster job with all nodes. It could help to reduce heavy +dispatch latency. + +`cluster_train/run.sh` provides command line sample to run `demo/recommendation` cluster job, just modify `job_dispatch_package` and `job_workspace` with your defined directory, then: +``` +sh run.sh +``` + +The cluster Job will start in several seconds. + +### Kill Cluster Job +`paddle.py` can capture `Ctrl + C` SIGINT signal to automatically kill all processes launched by it. So just stop `paddle.py` to kill cluster job. You should mannally kill job if program crashed. + +### Check Cluster Training Result +Check log in $workspace/log for details, each node owns same log structure. + +`paddle_trainer.INFO` +It provides almost all interal output log for training, same as local training. Check runtime model convergence here. + +`paddle_pserver2.INFO` +It provides pserver running log, which could help to diagnose distributed error. + +`server.log` +It provides stderr and stdout of pserver process. Check error log if training crashs. + +`train.log` +It provides stderr and stdout of trainer process. Check error log if training crashs. + +### Check Model Output +After one pass finished, model files will be writed in `output` directory in node 0. +`nodefile` in workspace indicates the node id of current cluster job. diff --git a/release/0.10.0/doc/_sources/howto/usage/cmd_parameter/arguments_en.md.txt b/release/0.10.0/doc/_sources/howto/usage/cmd_parameter/arguments_en.md.txt new file mode 100644 index 0000000000..d1963067bd --- /dev/null +++ b/release/0.10.0/doc/_sources/howto/usage/cmd_parameter/arguments_en.md.txt @@ -0,0 +1,394 @@ +# Argument Outline + +It looks like there are a lot of arguments. However, most of them are for developers or alrealy set automatically in cluster submitting environment and users do not need to care about them. Here, we divide these arguments into serveral classes according to the scenario that they are used in. For example, the arguments in `common` can be used in all scenes. Some arguments can be only used in certain layers. Some are needed by multi machines training in cluster, etc. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +√ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
argslocal traincluster trainlocal testcluster test
commonjob
use_gpu
local
config
config_args
num_passes
trainer_count
version
show_layer_stat
traindot_period
test_period
saving_period
show_parameter_stats_period
init_model_path
load_missing_parameter_strategy
saving_period_by_batches
use_old_updater
enable_grad_share
grad_share_block_num
log_error_clipping
log_clipping
save_only_one
start_pass
train/testsave_dir
testing during trainingtest_period
average_test_period
testmodel_list
test_wait
test_pass
predict_output_dir
distribute_test
Auc/PnpairValidationpredict_file
GPUgpu_id
parallel_nn
allow_only_one_model_on_one_gpu
cudnn_dir
cuda_dir
cudnn_conv_workspace_limit_in_mb
RNNbeam_size
rnn_use_batch
prev_batch_state
diy_beam_search_prob_so
PServerstart_pserver
pservers
port
port_num
ports_num_for_sparse
nics
rdma_tcp
small_messages
loadsave_parameters_in_pserver
log_period_server
pserver_num_threads
sock_send_buf_size
sock_recv_buf_size
num_gradient_servers
parameter_block_size
parameter_block_size_for_sparse
Async SGDasync_count
async_lagged_ratio_min
async_lagged_ratio_default
Performance Tuninglog_barrier_abstract
log_barrier_lowest_nodes
log_barrier_show_log
check_sparse_distribution_batches
check_sparse_distribution_ratio
check_sparse_distribution_unbalance_degree
check_sparse_distribution_in_pserver
show_check_sparse_distribution_log
Data Providermemory_threshold_on_load_data
RandomNumberseed
thread_local_rand_use_global_seed
UnitTestcheckgrad_eps
Matrix/Vectorenable_parallel_vector
+ diff --git a/release/0.10.0/doc/_sources/howto/usage/cmd_parameter/detail_introduction_en.md.txt b/release/0.10.0/doc/_sources/howto/usage/cmd_parameter/detail_introduction_en.md.txt new file mode 100644 index 0000000000..b681ebc81a --- /dev/null +++ b/release/0.10.0/doc/_sources/howto/usage/cmd_parameter/detail_introduction_en.md.txt @@ -0,0 +1,327 @@ +```eval_rst +.. _cmd_detail_introduction: +``` + +# Detail Description + +## Common + +* `--job` + - Job mode, including: **train, test, checkgrad**, where checkgrad is mainly for developers and users do not need to care about. + - type: string (default: train) + +* `--config` + - Use to specfiy network configure file. + - type: string (default: null). + +* `--use_gpu` + - Whether to use GPU for training, false is cpu mode and true is gpu mode. + - type: bool (default: 1). + +* `--local` + - Whether the training is in local mode or not. True when training locally or using one node in cluster. False when using multiple machines in cluster. + - type: bool (default: 1). + +* `--trainer_count` + - Define the number of threads used in one machine. For example, trainer_count = 4, means use 4 GPU in GPU mode and 4 threads in CPU mode. Each thread (or GPU) is assigned to 1/4 samples in current batch. That is to say, if setting batch_size of 512 in trainer config, each thread train 128 samples. + - type: int32 (default: 1). + +* `--num_passes` + - When `--job=train`, means training for num_passes passes. One pass means training all samples in dataset one time. When `--job=test`, means testing data from model of test_pass to model of (num_passes - 1). + - type: int32 (default: 100). + +* `--config_args` + - arguments passed to config file. Format: key1=value1,key2=value2. + - type: string (default: null). + +* `--version` + - Whether to print version information. + - type: bool (default: 0). + +* `--show_layer_stat` + - Whether to show the statistics of each layer **per batch**. + - type: bool (default: 0). + +## Train + +* `--log_period` + - Log progress every log_period batches. + - type: int32 (default: 100). + +* `--dot_period` + - Print '.' every dot_period batches. + - type: int32 (default: 1). + +* `--saving_period` + - Save parameters every saving_period passes + - type: int32 (default: 1). + +* `--save_dir` + - Directory for saving model parameters. It needs to be specified, but no need to be created in advance. + - type: string (default: null). + +* `--start_pass` + - Start training from this pass. It will load parameters from the previous pass. + - type: int32 (default: 0). + +* `--show_parameter_stats_period` + - Show parameter statistic during training every show_parameter_stats_period batches. It will not show by default. + - type: int32 (default: 0). + +* `--save_only_one` + - Save the parameters only in last pass, while the previous parameters will be removed. + - type: bool (default: 0). + +* `--load_missing_parameter_strategy` + - Specify the loading operation when model file is missing. Now support fail/rand/zero three operations. + - `fail`: program will exit. + - `rand`: uniform or normal distribution according to **initial\_strategy** in network config. Uniform range is: **[mean - std, mean + std]**, where mean and std are configures in trainer config. + - `zero`: all parameters are zero. + - type: string (default: fail). + +* `--init_model_path` + - Path of the initialization model. If it was set, start\_pass will be ignored. It can be used to specify model path in testing mode as well. + - type: string (default: null). + +* `--saving_period_by_batches` + - Save parameters every saving_period_by_batches batches in one pass. + - type: int32 (default: 0). + +* `--log_error_clipping` + - Whether to print error clipping log when setting **error_clipping_threshold** in layer config. If it is true, log will be printed in backward propagation **per batch**. This clipping effects on **gradient of output**. + - type: bool (default: 0). + +* `--log_clipping` + - Enable print log clipping or not when setting **gradient_clipping_threshold** in trainer config. This clipping effects on **gradient w.r.t. (with respect to) weight**. + - type: bool (default: 0). + +* `--use_old_updater` + - Whether to use the old RemoteParameterUpdater. Default use ConcurrentRemoteParameterUpdater. It is mainly for deverlopers and users usually do not need to care about. + - type: bool (default: 0). + +* `--enable_grad_share` + - threshold for enable gradient parameter, which is shared for batch multi-cpu training. + - type: int32 (default: 100 \* 1024 \* 1024). + +* `--grad_share_block_num` + - block number of gradient parameter, which is shared for batch multi-cpu training. + - type: int32 (default: 64). + +## Test + +* `--test_pass` + - Load parameter from this pass to test. + - type: int32 (default: -1). + +* `--test_period` + - if equal 0, do test on all test data at the end of each pass. While if equal non-zero, do test on all test data every test_period batches. + - type: int32 (default: 0). + +* `--test_wait` +  - Whether to wait for parameter per pass if not exist. It can be used when user launch another process to perfom testing during the training process. + - type: bool (default: 0). + +* `--model_list` + - File that saves the model list when testing. + - type: string (default: "", null). + +* `--predict_output_dir` + - Directory that saves the layer output. It is configured in Outputs() in network config. Default, this argument is null, meaning save nothing. Specify this directory if you want to save feature map of some layers in testing mode. Note that, layer outputs are values after activation function. + - type: string (default: "", null). + +* `--average_test_period` + - Do test on average parameter every `average_test_period` batches. It MUST be devided by FLAGS_log_period. Default 0 means do not test on average parameter. + - type: int32 (default: 0). + +* `--distribute_test` + - Testing in distribute environment will merge results from multiple machines. + - type: bool (default: 0). + +* `--predict_file` + - File name for saving predicted result. Default, this argument is null, meaning save nothing. Now, this argument is only used in AucValidationLayer and PnpairValidationLayer, and saves predicted result every pass. + - type: string (default: "", null). + +## GPU + +* `--gpu_id` + - Which gpu core to use. + - type: int32 (default: 0). + +* `--allow_only_one_model_on_one_gpu` + - If true, do not allow multiple models on one GPU device. + - type: bool (default: 1). + +* `--parallel_nn` + - Whether to use multi-thread to calculate one neural network or not. If false, use gpu_id specify which gpu core to use (the device property in trainer config will be ingored). If true, the gpu core is specified in trainer config (gpu_id will be ignored). + - type: bool (default: 0). + +* `--cudnn_dir` + - Choose path to dynamic load NVIDIA CuDNN library, for instance, /usr/local/cuda/lib64. [Default]: LD_LIBRARY_PATH + - type: string (default: "", null) + +* `--cuda_dir` + - Choose path to dynamic load NVIDIA CUDA library, for instance, /usr/local/cuda/lib64. [Default]: LD_LIBRARY_PATH + - type: string (default: "", null) + +* `--cudnn_conv_workspace_limit_in_mb` + - Specify cuDNN max workspace limit, in units MB, 4096MB=4GB by default. + - type: int32 (default: 4096MB=4GB) + +## NLP: RNN/LSTM/GRU +* `--rnn_use_batch` + - Whether to use batch method for calculation in simple RecurrentLayer. + - type: bool (default: 0). + +* `--prev_batch_state` + - batch is continue with next batch. + - type: bool (default: 0). + +* `--beam_size` + - Beam search uses breadth-first search to build its search tree. At each level of the tree, it generates all successors of the states at the current level, sorting them in increasing order of heuristic cost. However, it only stores a predetermined number of best states at each level (called the beam size). + - type: int32 (default: 1). + +* `--diy_beam_search_prob_so` + - Specify shared dynamic library. It can be defined out of paddle by user. + - type: string (default: "", null). + +## DataProvider + +* `--memory_threshold_on_load_data` + - Stop loading data when memory is not sufficient. + - type: double (default: 1.0). + +## Unit Test + +* `--checkgrad_eps` + - parameter change size for checkgrad. + - type: double (default: 1e-05). + +## Parameter Server and Distributed Communication + +* `--start_pserver` + - Whether to start pserver (parameter server). + - type: bool (default: 0). + +* `--pservers` + - Comma separated IP addresses of pservers. + - type: string (default: "127.0.0.1"). + +* `--port` + - Listening port for pserver. + - type: int32 (default: 20134). + +* `--ports_num` + - The ports number for parameter send, increment based on default port number. + - type: int32 (default: 1). + +* `--trainer_id` + - In distributed training, each trainer must be given an unique id ranging from 0 to num_trainers-1. Trainer 0 is the master trainer. User do not need to care this flag. + - type: int32 (default: 0). + +* `--num_gradient_servers` + - Numbers of gradient servers. This arguments is set automatically in cluster submitting environment. + - type: int32 (default: 1). + +* `--small_messages` + - If message size is small, recommend set it True to enable quick ACK and no delay + - type: bool (default: 0). + +* `--sock_send_buf_size` + - Restrict socket send buffer size. It can reduce network congestion if set carefully. + - type: int32 (default: 1024 \* 1024 \* 40). + +* `--sock_recv_buf_size` + - Restrict socket recieve buffer size. + - type: int32 (default: 1024 \* 1024 \* 40). + +* `--parameter_block_size` + - Parameter block size for pserver, will automatically calculate a suitable value if it's not set. + - type: int32 (default: 0). + +* `--parameter_block_size_for_sparse` + - Parameter block size for sparse update pserver, will automatically calculate a suitable value if it's not set. + - type: int32 (default: 0). + +* `--log_period_server` + - Log progress every log_period_server batches at pserver end. + - type: int32 (default: 500). + +* `--loadsave_parameters_in_pserver` + - Load and save parameters in pserver. Only work when parameter set sparse_remote_update. + - type: bool (default: 0). + +* `--pserver_num_threads` + - number of threads for sync op exec. + - type: bool (default: 1). + +* `--ports_num_for_sparse` + - The ports number for parameter send, increment based on default (port + ports_num). It is used by sparse Tranning. + - type: int32 (default: 0). + +* `--nics` + - Network device name for pservers, already set in cluster submitting environment. + - type: string (default: "xgbe0,xgbe1"). + +* `--rdma_tcp` + - Use rdma or tcp transport protocol, already set in cluster submitting environment. + - type: string (default: "tcp"). + +## Async SGD +* `--async_count` + - Defined the asynchronous training length, if 0, then use synchronized training. + - type: int32 (default: 0). + +* `--async_lagged_ratio_min` + - Control the minimize value of `config_.async_lagged_grad_discard_ratio()`. + - type: double (default: 1.0). + +* `--async_lagged_ratio_default` + - If async_lagged_grad_discard_ratio is not set in network config, use it as defalut value. + - type: double (default: 1.5). + +## Performance Tuning + +* `--log_barrier_abstract` + - If true, show abstract barrier performance information. + - type: bool (default: 1). + +* `--log_barrier_show_log` + - If true, always show barrier abstract even with little gap. + - type: bool (default: 0). + +* `--log_barrier_lowest_nodes` + - How many lowest node will be logged. + - type: int32 (default: 5). + +* `--check_sparse_distribution_in_pserver` + - Whether to check that the distribution of sparse parameter on all pservers is balanced. + - type: bool (default: 0). + +* `--show_check_sparse_distribution_log` + - show log details for sparse parameter distribution in pserver. + - type: bool (default: 0). + +* `--check_sparse_distribution_batches` + - Running sparse parameter distribution check every so many batches. + - type: int32 (default: 100). + +* `--check_sparse_distribution_ratio` + - If parameters dispatched to different pservers have an unbalanced distribution for check_sparse_distribution_ratio * check_sparse_distribution_batches times, crash program. + - type: double (default: 0.6). + +* `--check_sparse_distribution_unbalance_degree` + - The ratio of maximum data size / minimun data size for different pserver. + - type: double (default: 2). + +## Matrix/Vector/RandomNumber +* `--enable_parallel_vector` + - threshold for enable parallel vector. + - type: int32 (default: 0). + +* `--seed` + - random number seed. 0 for srand(time) + - type: int32 (default: 1) + +* `--thread_local_rand_use_global_seed` + - Whether to use global seed in rand of thread local. + - type: bool (default: 0). diff --git a/release/0.10.0/doc/_sources/howto/usage/cmd_parameter/index_en.rst.txt b/release/0.10.0/doc/_sources/howto/usage/cmd_parameter/index_en.rst.txt new file mode 100644 index 0000000000..0e3c72d27a --- /dev/null +++ b/release/0.10.0/doc/_sources/howto/usage/cmd_parameter/index_en.rst.txt @@ -0,0 +1,11 @@ +.. _cmd_line_index: + +Set Command-line Parameters +=========================== + +.. toctree:: + :maxdepth: 1 + + use_case_en.md + arguments_en.md + detail_introduction_en.md diff --git a/release/0.10.0/doc/_sources/howto/usage/cmd_parameter/use_case_en.md.txt b/release/0.10.0/doc/_sources/howto/usage/cmd_parameter/use_case_en.md.txt new file mode 100644 index 0000000000..e287f0c4b9 --- /dev/null +++ b/release/0.10.0/doc/_sources/howto/usage/cmd_parameter/use_case_en.md.txt @@ -0,0 +1,182 @@ +# Use Case + +## Local Training + +These command line arguments are commonly used by local training experiments, such as image classification, natural language processing, et al. + +``` +paddle train \ + --use_gpu=1/0 \ #1:GPU,0:CPU(default:true) + --config=network_config \ + --save_dir=output \ + --trainer_count=COUNT \ #(default:1) + --test_period=M \ #(default:0) + --num_passes=N \ #(defalut:100) + --log_period=K \ #(default:100) + --dot_period=1000 \ #(default:1) + #[--show_parameter_stats_period=100] \ #(default:0) + #[--saving_period_by_batches=200] \ #(default:0) +``` +`show_parameter_stats_period` and `saving_period_by_batches` are optional according to your task. + +### 1) Pass Command Argument to Network config + +`config_args` is a useful parameter to pass arguments to network config. + +``` +--config_args=generating=1,beam_size=5,layer_num=10 \ +``` +And `get_config_arg` can be used to parse these arguments in network config as follows: + +``` +generating = get_config_arg('generating', bool, False) +beam_size = get_config_arg('beam_size', int, 3) +layer_num = get_config_arg('layer_num', int, 8) +``` + +`get_config_arg`: + +``` +get_config_arg(name, type, default_value) +``` +- name: the name specified in the `--config_args` +- type: value type, bool, int, str, float etc. +- default_value: default value if not set. + +### 2) Use Model to Initialize Network + +add argument: + +``` +--init_model_path=model_path +--load_missing_parameter_strategy=rand +``` + +## Local Testing + +Method 1: + +``` +paddle train --job=test \ + --use_gpu=1/0 \ + --config=network_config \ + --trainer_count=COUNT \ + --init_model_path=model_path \ +``` +- use init\_model\_path to specify test model. +- only can test one model. + +Method 2: + +``` +paddle train --job=test \ + --use_gpu=1/0 \ + --config=network_config \ + --trainer_count=COUNT \ + --model_list=model.list \ +``` +- use model_list to specify test models +- can test several models, where model.list likes: + +``` +./alexnet_pass1 +./alexnet_pass2 +``` + +Method 3: + +``` +paddle train --job=test \ + --use_gpu=1/0 \ + --config=network_config \ + --trainer_count=COUNT \ + --save_dir=model \ + --test_pass=M \ + --num_passes=N \ +``` +This way must use model path saved by Paddle like this: `model/pass-%5d`. Testing model is from M-th pass to (N-1)-th pass. For example: M=12 and N=14 will test `model/pass-00012` and `model/pass-00013`. + +## Sparse Training + +Sparse training is usually used to accelerate calculation when input is sparse data with highly dimension. For example, dictionary dimension of input data is 1 million, but one sample just have several words. In paddle, sparse matrix multiplication is used in forward propagation and sparse updating is perfomed on weight updating after backward propagation. + +### 1) Local training + +You need to set **sparse\_update=True** in network config. Check the network config documentation for more details. + +### 2) cluster training + +Add the following argument for cluster training of a sparse model. At the same time you need to set **sparse\_remote\_update=True** in network config. Check the network config documentation for more details. + +``` +--ports_num_for_sparse=1 #(default: 0) +``` + +## parallel_nn +`parallel_nn` can be set to mixed use of GPUs and CPUs to compute layers. That is to say, you can deploy network to use a GPU to compute some layers and use a CPU to compute other layers. The other way is to split layers into different GPUs, which can **reduce GPU memory** or **use parallel computation to accelerate some layers**. + +If you want to use these characteristics, you need to specify device ID in network config (denote it as deviceId) and add command line argument: + +``` +--parallel_nn=true +``` +### case 1: Mixed Use of GPU and CPU +Consider the following example: + +``` +#command line: +paddle train --use_gpu=true --parallel_nn=true trainer_count=COUNT + +default_device(0) + +fc1=fc_layer(...) +fc2=fc_layer(...) +fc3=fc_layer(...,layer_attr=ExtraAttr(device=-1)) + +``` +- default_device(0): set default device ID to 0. This means that except the layers with device=-1, all layers will use a GPU, and the specific GPU used for each layer depends on trainer\_count and gpu\_id (0 by default). Here, layer fc1 and fc2 are computed on the GPU. + +- device=-1: use the CPU for layer fc3. + +- trainer_count: + - trainer_count=1: if gpu\_id is not set, then use the first GPU to compute layers fc1 and fc2. Otherwise use the GPU with gpu\_id. + + - trainer_count>1: use trainer\_count GPUs to compute one layer using data parallelism. For example, trainer\_count=2 means that GPUs 0 and 1 will use data parallelism to compute layer fc1 and fc2. + +### Case 2: Specify Layers in Different Devices + +``` +#command line: +paddle train --use_gpu=true --parallel_nn=true --trainer_count=COUNT + +#network: +fc2=fc_layer(input=l1, layer_attr=ExtraAttr(device=0), ...) +fc3=fc_layer(input=l1, layer_attr=ExtraAttr(device=1), ...) +fc4=fc_layer(input=fc2, layer_attr=ExtraAttr(device=-1), ...) +``` +In this case, we assume that there are 4 GPUs in one machine. + +- trainer_count=1: + - Use GPU 0 to compute layer fc2. + - Use GPU 1 to compute layer fc3. + - Use CPU to compute layer fc4. + +- trainer_count=2: + - Use GPU 0 and 1 to compute layer fc2. + - Use GPU 2 and 3 to compute layer fc3. + - Use CPU to compute fc4 in two threads. + +- trainer_count=4: + - It will fail (note, we have assumed that there are 4 GPUs in machine), because argument `allow_only_one_model_on_one_gpu` is true by default. + +**Allocation of device ID when `device!=-1`**: + +``` +(deviceId + gpu_id + threadId * numLogicalDevices_) % numDevices_ + +deviceId: specified in layer. +gpu_id: 0 by default. +threadId: thread ID, range: 0,1,..., trainer_count-1 +numDevices_: device (GPU) count in machine. +numLogicalDevices_: min(max(deviceId + 1), numDevices_) +``` diff --git a/release/0.10.0/doc/_sources/howto/usage/k8s/k8s_aws_en.md.txt b/release/0.10.0/doc/_sources/howto/usage/k8s/k8s_aws_en.md.txt new file mode 100644 index 0000000000..ce72b08038 --- /dev/null +++ b/release/0.10.0/doc/_sources/howto/usage/k8s/k8s_aws_en.md.txt @@ -0,0 +1,689 @@ + +# Distributed PaddlePaddle Training on AWS with Kubernetes + +We will show you step by step on how to run distributed PaddlePaddle training on AWS cluster with Kubernetes. Let's start from core concepts. + +## Distributed PaddlePaddle Training Core Concepts + +### Distributed Training Job + +A distributed training job is represented by a [Kubernetes job](https://kubernetes.io/docs/user-guide/jobs/#what-is-a-job). + +Each Kuberentes job is described by a job config file, which specifies the information like the number of [pods](https://kubernetes.io/docs/user-guide/pods/#what-is-a-pod) in the job and environment variables. + +In a distributed training job, we would: + +1. prepare partitioned training data and configuration file on a distributed file system (in this tutorial we use Amazon Elastic File System), and +1. create and submit the Kubernetes job config to the Kubernetes cluster to start the training job. + +### Parameter Servers and Trainers + +There are two roles in a PaddlePaddle cluster: *parameter server (pserver)* and *trainer*. Each parameter server process maintains a shard of the global model. Each trainer has its local copy of the model, and uses its local data to update the model. During the training process, trainers send model updates to parameter servers, parameter servers are responsible for aggregating these updates, so that trainers can synchronize their local copy with the global model. + +

![Model is partitioned into two shards. Managed by two parameter servers respectively.](src/pserver_and_trainer.png)
+ +In order to communicate with pserver, trainer needs to know the ip address of each pserver. In kubernetes it's better to use a service discovery mechanism (e.g., DNS hostname) rather than static ip address, since any pserver's pod may be killed and a new pod could be schduled onto another node of different ip address. However, now we are using static ip. This will be improved. + +Parameter server and trainer are packaged into a same docker image. They will run once pod is scheduled by kubernetes job. + +### Trainer ID + +Each trainer process requires a trainer ID, a zero-based index value, passed in as a command-line parameter. The trainer process thus reads the data partition indexed by this ID. + +### Training + +The entry-point of a container is a shell script. It can see some environment variables pre-defined by Kubernetes. This includes one that gives the job's identity, which can be used in a remote call to the Kubernetes apiserver that lists all pods in the job. + +We rank each pod by sorting them by their ips. The rank of each pod could be the "pod ID". Because we run one trainer and one parameter server in each pod, we can use this "pod ID" as the trainer ID. A detailed workflow of the entry-point script is as follows: + +1. Query the api server to get pod information, and assign the `trainer_id` by sorting the ip. +1. Copy the training data from EFS persistent volume into container. +1. Parse the `paddle pserver` and `paddle trainer` startup parameters from environment variables, and then start up the processes. +1. Trainer with `train_id` 0 will automatically write results onto EFS volume. + + +## PaddlePaddle on AWS with Kubernetes + +### Choose AWS Service Region +This tutorial requires several AWS services work in the same region. Before we create anything in AWS, please check the following link +https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/ +Choose a region which has the following services available: EC2, EFS, VPS, CloudFormation, KMS, VPC, S3. +In this tutorial, we use "Oregon(us-west-2)" as example. + +### Create AWS Account and IAM Account + +Under each AWS account, we can create multiple [IAM](http://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) users. This allows us to grant some privileges to each IAM user and to create/operate AWS clusters as an IAM user. + +To sign up an AWS account, please +follow +[this guide](http://docs.aws.amazon.com/lambda/latest/dg/setting-up.html). +To create IAM users and user groups under an AWS account, please +follow +[this guide](http://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html). + +Please be aware that this tutorial needs the following privileges for the user in IAM: + +- AmazonEC2FullAccess +- AmazonS3FullAccess +- AmazonRoute53FullAccess +- AmazonRoute53DomainsFullAccess +- AmazonElasticFileSystemFullAccess +- AmazonVPCFullAccess +- IAMUserSSHKeys +- IAMFullAccess +- NetworkAdministrator +- AWSKeyManagementServicePowerUser + + +### Download kube-aws and kubectl + +#### kube-aws + +[kube-aws](https://github.com/coreos/kube-aws) is a CLI tool to automate cluster deployment to AWS. +##### Verify kube-aws integrity +Note: if you are using a non-official release (e.g RC release) kube-aws, you can skip this setp. +Import the CoreOS Application Signing Public Key: + +``` +gpg2 --keyserver pgp.mit.edu --recv-key FC8A365E +``` + +Validate the key fingerprint: + +``` +gpg2 --fingerprint FC8A365E +``` +The correct key fingerprint is `18AD 5014 C99E F7E3 BA5F 6CE9 50BD D3E0 FC8A 365E` + +We can download `kube-aws` from its [release page](https://github.com/coreos/kube-aws/releases). In this tutorial, we use version 0.9.1 + +Validate the tarball's GPG signature: + +``` +PLATFORM=linux-amd64 + # Or +PLATFORM=darwin-amd64 + +gpg2 --verify kube-aws-${PLATFORM}.tar.gz.sig kube-aws-${PLATFORM}.tar.gz +``` +##### Install kube-aws +Extract the binary: + +``` +tar zxvf kube-aws-${PLATFORM}.tar.gz +``` + +Add kube-aws to your path: + +``` +mv ${PLATFORM}/kube-aws /usr/local/bin +``` + + +#### kubectl + +[kubectl](https://kubernetes.io/docs/user-guide/kubectl-overview/) is a command line interface for running commands against Kubernetes clusters. + +Download `kubectl` from the Kubernetes release artifact site with the `curl` tool. + +``` +# OS X +curl -O https://storage.googleapis.com/kubernetes-release/release/"$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)"/bin/darwin/amd64/kubectl + +# Linux +curl -O https://storage.googleapis.com/kubernetes-release/release/"$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)"/bin/linux/amd64/kubectl +``` + +Make the kubectl binary executable and move it to your PATH (e.g. `/usr/local/bin`): + +``` +chmod +x ./kubectl +sudo mv ./kubectl /usr/local/bin/kubectl +``` + +### Configure AWS Credentials + +First check out [this](http://docs.aws.amazon.com/cli/latest/userguide/installing.html) for installing the AWS command line interface. + +And then configure your AWS account information: + +``` +aws configure +``` + + +Fill in the required fields: + + +``` +AWS Access Key ID: YOUR_ACCESS_KEY_ID +AWS Secrete Access Key: YOUR_SECRETE_ACCESS_KEY +Default region name: us-west-2 +Default output format: json +``` + +`YOUR_ACCESS_KEY_ID`, and `YOUR_SECRETE_ACCESS_KEY` is the IAM key and secret from [Create AWS Account and IAM Account](#create-aws-account-and-iam-account) + +Verify that your credentials work by describing any instances you may already have running on your account: + +``` +aws ec2 describe-instances +``` + +### Define Cluster Parameters + +#### EC2 key pair + +The keypair that will authenticate SSH access to your EC2 instances. The public half of this key pair will be configured on each CoreOS node. + +Follow [EC2 Keypair User Guide](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) to create a EC2 key pair + +After creating a key pair, you will use the key pair name to configure the cluster. + +Key pairs are only available to EC2 instances in the same region. We are using us-west-2 in our tutorial, so make sure to creat key pairs in that region (Oregon). + +Your browser will download a `key-name.pem` file which is the key to access the EC2 instances. We will use it later. + + +#### KMS key + +Amazon KMS keys are used to encrypt and decrypt cluster TLS assets. If you already have a KMS Key that you would like to use, you can skip creating a new key and provide the Arn string for your existing key. + +You can create a KMS key with the aws command line tool: + +``` +aws kms --region=us-west-2 create-key --description="kube-aws assets" +{ + "KeyMetadata": { + "CreationDate": 1458235139.724, + "KeyState": "Enabled", + "Arn": "arn:aws:kms:us-west-2:aaaaaaaaaaaaa:key/xxxxxxxxxxxxxxxxxxx", + "AWSAccountId": "xxxxxxxxxxxxx", + "Enabled": true, + "KeyUsage": "ENCRYPT_DECRYPT", + "KeyId": "xxxxxxxxx", + "Description": "kube-aws assets" + } +} +``` + +We will need to use the value of `Arn` later. + +And then let's add several inline policies in your IAM user permission. + +Go to [IAM Console](https://console.aws.amazon.com/iam/home?region=us-west-2#/home). Click on button `Users`, click user that we just created, and then click on `Add inline policy` button, and select `Custom Policy`. + +Paste into following inline policies: + +``` + (Caution: node_0, node_1, node_2 directories represents PaddlePaddle node and train_id, not the Kubernetes node){ + "Version": "2012-10-17", + "Statement": [ + { + "Sid": "Stmt1482205552000", + "Effect": "Allow", + "Action": [ + "kms:Decrypt", + "kms:Encrypt" + ], + "Resource": [ + "arn:aws:kms:*:AWS_ACCOUNT_ID:key/*" + ] + }, + { + "Sid": "Stmt1482205746000", + "Effect": "Allow", + "Action": [ + "cloudformation:CreateStack", + "cloudformation:UpdateStack", + "cloudformation:DeleteStack", + "cloudformation:DescribeStacks", + "cloudformation:DescribeStackResource", + "cloudformation:GetTemplate", + "cloudformation:DescribeStackEvents" + ], + "Resource": [ + "arn:aws:cloudformation:us-west-2:AWS_ACCOUNT_ID:stack/MY_CLUSTER_NAME/*" + ] + } + ] +} +``` +`Version` : Its value has to be exactly "2012-10-17". +`AWS_ACCOUNT_ID`: You can get it from following command line: + +``` +aws sts get-caller-identity --output text --query Account +``` + +`MY_CLUSTER_NAME`: Pick a MY_CLUSTER_NAME that you like, you will use it later as well. +Please note, stack name must satisfy regular expression pattern: [a-zA-Z][-a-zA-Z0-9*]*, which means no "_" or "-" in stack name, or kube-aws will throw error in later steps. + +#### External DNS name + +When the cluster is created, the controller will expose the TLS-secured API on a DNS name. + +DNS name should have a CNAME points to cluster DNS name or an A record points to the cluster IP address. + +We will need to use DNS name later in tutorial. If you don't already own one, you can choose any DNS name (e.g., `paddle`) and modify `/etc/hosts` to associate cluster IP with that DNS name for your local machine. And add name service (route53) in aws to associate the IP to paddle for cluster. We will find the cluster IP in later steps. + +#### S3 bucket + +You need to create an S3 bucket before startup the Kubernetes cluster. + +There are some bugs in aws cli in creating S3 bucket, so let's use the [S3 Console](https://console.aws.amazon.com/s3/home?region=us-west-2). + +Click on `Create Bucket`, fill in a unique BUCKET_NAME, and make sure region is us-west-2 (Oregon). + + +#### Initialize Assets + +Create a directory on your local machine to hold the generated assets: + +``` +$ mkdir my-cluster +$ cd my-cluster +``` + +Initialize the cluster CloudFormation stack with the KMS Arn, key pair name, and DNS name from the previous step: + +``` +kube-aws init \ +--cluster-name=MY_CLUSTER_NAME \ +--external-dns-name=MY_EXTERNAL_DNS_NAME \ +--region=us-west-2 \ +--availability-zone=us-west-2a \ +--key-name=KEY_PAIR_NAME \ +--kms-key-arn="arn:aws:kms:us-west-2:xxxxxxxxxx:key/xxxxxxxxxxxxxxxxxxx" +``` + +`MY_CLUSTER_NAME`: the one you picked in [KMS key](#kms-key) + +`MY_EXTERNAL_DNS_NAME`: see [External DNS name](#external-dns-name) + +`KEY_PAIR_NAME`: see [EC2 key pair](#ec2-key-pair) + +`--kms-key-arn`: the "Arn" in [KMS key](#kms-key) + +Here `us-west-2a` is used for parameter `--availability-zone`, but supported availability zone varies among AWS accounts. + +Please check if `us-west-2a` is supported by `aws ec2 --region us-west-2 describe-availability-zones`, if not switch to other supported availability zone. (e.g., `us-west-2a`, or `us-west-2b`) + + +There will now be a cluster.yaml file in the asset directory. This is the main configuration file for your cluster. + +By default `kube-aws` will only create one worker node. Let's edit `cluster.yaml` and change `workerCount` from 1 to 3. + + +#### Render contents of the asset directory + +In the simplest case, you can have kube-aws generate both your TLS identities and certificate authority for you. + +``` +kube-aws render credentials --generate-ca +``` + +The next command generates the default set of cluster assets in your asset directory. + +``` +kube-aws render stack +``` +Assets (templates and credentials) that are used to create, update and interact with your Kubernetes cluster will be created under your current folder. + + +### Kubernetes Cluster Start Up + +#### Create the instances defined in the CloudFormation template + +Now let's create your cluster (choose any `PREFIX` for the command below): + +``` +kube-aws up --s3-uri s3://BUCKET_NAME/PREFIX +``` + +`BUCKET_NAME`: the bucket name that you used in [S3 bucket](#s3-bucket) + + +#### Configure DNS + +You can invoke `kube-aws status` to get the cluster API endpoint after cluster creation. + +``` +$ kube-aws status +Cluster Name: paddle-cluster +Controller DNS Name: paddle-cl-ElbAPISe-EEOI3EZPR86C-531251350.us-west-2.elb.amazonaws.com +``` + +If you own a DNS name, set the A record to any of the above ip. __Or__ you can set up CNAME point to `Controller DNS Name` (`paddle-cl-ElbAPISe-EEOI3EZPR86C-531251350.us-west-2.elb.amazonaws.com`) + +##### Find IP address + +Use command `dig` to check the load balancer hostname to get the ip address. + +``` +$ dig paddle-cl-ElbAPISe-EEOI3EZPR86C-531251350.us-west-2.elb.amazonaws.com + +;; QUESTION SECTION: +;paddle-cl-ElbAPISe-EEOI3EZPR86C-531251350.us-west-2.elb.amazonaws.com. IN A + +;; ANSWER SECTION: +paddle-cl-ElbAPISe-EEOI3EZPR86C-531251350.us-west-2.elb.amazonaws.com. 59 IN A 54.241.164.52 +paddle-cl-ElbAPISe-EEOI3EZPR86C-531251350.us-west-2.elb.amazonaws.com. 59 IN A 54.67.102.112 +``` + +In the above output, both ip `54.241.164.52`, `54.67.102.112` will work. + +*If you own a DNS name*, set the A record to any of the above ip. Then you can skip to the step "Access the cluster". + +*If you do not own a DNS name*: +##### Update local DNS association +Edit `/etc/hosts` to associate above ip with the DNS name. +##### Add Route53 private name service in VPC + - Open [Route53 Console](https://console.aws.amazon.com/route53/home) + - Create hosted zone with following config + - Domain name: "paddle" + - Type: "Private hosted zone for amazon VPC" + - VPC ID: `` + + ![route53 zone setting](src/route53_create_zone.png) + - Add A record + - Click on the zone "paddle" just created + - Click the button "Create record set" + - Name : leave blank + - type: "A" + - Value: `` + + ![route53 create recordset](src/route53_create_recordset.png) + - Verify name service + - Connect to any instance created by kube-aws via ssh + - Run command "host paddle", see if the ip returned is the private ip of kube-controller + +#### Access the cluster + +Once the API server is running, you should see: + +``` +$ kubectl --kubeconfig=kubeconfig get nodes +NAME STATUS AGE +ip-10-0-0-134.us-west-2.compute.internal Ready 6m +ip-10-0-0-238.us-west-2.compute.internal Ready 6m +ip-10-0-0-50.us-west-2.compute.internal Ready 6m +ip-10-0-0-55.us-west-2.compute.internal Ready 6m +``` + + +### Setup Elastic File System for Cluster + +Training data is usually served on a distributed filesystem, we use Elastic File System (EFS) on AWS. + +1. Create security group for EFS in [security group console](https://us-west-2.console.aws.amazon.com/ec2/v2/home?region=us-west-2#SecurityGroups:sort=groupId) + 1. Look up security group id for `paddle-cluster-sg-worker` (`sg-055ee37d` in the image below) +
![](src/worker_security_group.png)
+ 2. Add security group `paddle-efs` with `ALL TCP` inbound rule and custom source as group id of `paddle-cluster-sg-worker`. And VPC of `paddle-cluster-vpc`. Make sure availability zone is same as the one you used in [Initialize Assets](#initialize-assets). +
![](src/add_security_group.png)
+ +2. Create the Elastic File System in [EFS console](https://us-west-2.console.aws.amazon.com/efs/home?region=us-west-2#/wizard/1) with `paddle-cluster-vpc` VPC. Make sure subnet is `paddle-cluster-Subnet0` andd security group is `paddle-efs`. +
![](src/create_efs.png)
+ + +### Start PaddlePaddle Training Demo on AWS + +#### Configure Kubernetes Volume that Points to EFS + +First we need to create a [PersistentVolume](https://kubernetes.io/docs/user-guide/persistent-volumes/) to provision EFS volumn. + +Save following snippet as `pv.yaml` +``` +apiVersion: v1 +kind: PersistentVolume +metadata: + name: efsvol +spec: + capacity: + storage: 100Gi + accessModes: + - ReadWriteMany + nfs: + server: EFS_DNS_NAME + path: "/" +``` + +`EFS_DNS_NAME`: DNS name as shown in description of `paddle-efs` that we created. Looks similar to `fs-2cbf7385.efs.us-west-2.amazonaws.com` + +Run following command to create a persistent volumn: +``` +kubectl --kubeconfig=kubeconfig create -f pv.yaml +``` + +Next let's create a [PersistentVolumeClaim](https://kubernetes.io/docs/user-guide/persistent-volumes/) to claim the persistent volume. + +Save following snippet as `pvc.yaml`. +``` +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: efsvol +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 50Gi +``` + +Run following command to create a persistent volumn claim: +``` +kubectl --kubeconfig=kubeconfig create -f pvc.yaml +``` + +#### Prepare Training Data + +We will now launch a kubernetes job that downloads, saves and evenly splits training data into 3 shards on the persistent volumn that we just created. + +save following snippet as `paddle-data-job.yaml` +``` +apiVersion: batch/v1 +kind: Job +metadata: + name: paddle-data +spec: + template: + metadata: + name: pi + spec: + containers: + - name: paddle-data + image: paddledev/paddle-tutorial:k8s_data + imagePullPolicy: Always + volumeMounts: + - mountPath: "/efs" + name: efs + env: + - name: OUT_DIR + value: /efs/paddle-cluster-job + - name: SPLIT_COUNT + value: "3" + volumes: + - name: efs + persistentVolumeClaim: + claimName: efsvol + restartPolicy: Never +``` + +Run following command to launch the job: +``` +kubectl --kubeconfig=kubeconfig create -f paddle-data-job.yaml +``` + +Job may take 7 min to finish, use following command to check job status. Do not proceed until `SUCCESSFUL` for `paddle-data` job is `1` +``` +$ kubectl --kubeconfig=kubeconfig get jobs +NAME DESIRED SUCCESSFUL AGE +paddle-data 1 1 6m +``` + +Data preparation is done by docker image `paddledev/paddle-tutorial:k8s_data`, see [here](src/k8s_data/README.md) for how to build this docker image and source code. + +#### Start Training + +Now we are ready to start paddle training job. Save following snippet as `paddle-cluster-job.yaml` +``` +apiVersion: batch/v1 +kind: Job +metadata: + name: paddle-cluster-job +spec: + parallelism: 3 + completions: 3 + template: + metadata: + name: paddle-cluster-job + spec: + volumes: + - name: efs + persistentVolumeClaim: + claimName: efsvol + containers: + - name: trainer + image: paddledev/paddle-tutorial:k8s_train + command: ["bin/bash", "-c", "/root/start.sh"] + env: + - name: JOB_NAME + value: paddle-cluster-job + - name: JOB_PATH + value: /home/jobpath + - name: JOB_NAMESPACE + value: default + - name: TRAIN_CONFIG_DIR + value: quick_start + - name: CONF_PADDLE_NIC + value: eth0 + - name: CONF_PADDLE_PORT + value: "7164" + - name: CONF_PADDLE_PORTS_NUM + value: "2" + - name: CONF_PADDLE_PORTS_NUM_SPARSE + value: "2" + - name: CONF_PADDLE_GRADIENT_NUM + value: "3" + - name: TRAINER_COUNT + value: "3" + volumeMounts: + - mountPath: "/home/jobpath" + name: efs + ports: + - name: jobport0 + hostPort: 7164 + containerPort: 7164 + - name: jobport1 + hostPort: 7165 + containerPort: 7165 + - name: jobport2 + hostPort: 7166 + containerPort: 7166 + - name: jobport3 + hostPort: 7167 + containerPort: 7167 + restartPolicy: Never +``` + +`parallelism: 3, completions: 3` means this job will simultaneously start 3 PaddlePaddle pods, and this job will be finished when there are 3 finished pods. + +`env` field represents container's environment variables, we specify PaddlePaddle parameters by environment variables. + +`ports` indicates that TCP port 7164 - 7167 are exposed for communication between `pserver` ans trainer. port starts continously from `CONF_PADDLE_PORT` (7164) to `CONF_PADDLE_PORT + CONF_PADDLE_PORTS_NUM + CONF_PADDLE_PORTS_NUM_SPARSE - 1` (7167). We use multiple ports for dense and sparse paramter updates to improve latency. + +Run following command to launch the job. +``` +kubectl --kubeconfig=kubeconfig create -f paddle-claster-job.yaml +``` + +Inspect individual pods + +``` +$ kubectl --kubeconfig=kubeconfig get pods +NAME READY STATUS RESTARTS AGE +paddle-cluster-job-cm469 1/1 Running 0 9m +paddle-cluster-job-fnt03 1/1 Running 0 9m +paddle-cluster-job-jx4xr 1/1 Running 0 9m +``` + +Inspect individual console output +``` +kubectl --kubeconfig=kubeconfig log -f POD_NAME +``` + +`POD_NAME`: name of any pod (e.g., `paddle-cluster-job-cm469`). + +Run `kubectl --kubeconfig=kubeconfig describe job paddle-cluster-job` to check training job status. It will complete in around 20 minutes. + +The details for start `pserver` and `trainer` are hidden inside docker image `paddledev/paddle-tutorial:k8s_train`, see [here](src/k8s_train/README.md) for how to build the docker image and source code. + +#### Inspect Training Output + +Training output (model snapshot and logs) will be saved in EFS. We can ssh into worker EC2 instance, mount EFS and check training output. + +1. ssh Into Worker EC2 instance +``` +chmod 400 key-name.pem +ssh -i key-name.pem core@INSTANCE_IP +``` + +`INSTANCE_IP`: public IP address of EC2 kubernetes worker node. Go to [EC2 console](https://us-west-2.console.aws.amazon.com/ec2/v2/home?region=us-west-2#Instances:sort=instanceId) and check `public IP` of any `paddle-cluster-kube-aws-worker` instance. + +2. Mount EFS +``` +mkdir efs +sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 EFS_DNS_NAME:/ efs +``` + +`EFS_DNS_NAME`: DNS name as shown in description of `paddle-efs` that we created. Look similar to `fs-2cbf7385.efs.us-west-2.amazonaws.com`. + +Now folder `efs` will have structure similar to: +``` +-- paddle-cluster-job + |-- ... + |-- output + | |-- node_0 + | | |-- server.log + | | `-- train.log + | |-- node_1 + | | |-- server.log + | | `-- train.log + | |-- node_2 + | | |-- server.log + | | `-- train.log + | |-- pass-00000 + | | |-- ___fc_layer_0__.w0 + | | |-- ___fc_layer_0__.wbias + | | |-- done + | | |-- path.txt + | | `-- trainer_config.lr.py + | |-- pass-00001... +``` +`server.log` contains log for `pserver`. `train.log` contains log for `trainer`. Model description and snapshot is stored in `pass-0000*`. + +### Kubernetes Cluster Tear Down + +#### Delete EFS + +Go to [EFS Console](https://us-west-2.console.aws.amazon.com/efs/home?region=us-west-2) and delete the EFS volumn that we created. + +#### Delete security group + +Go to [Security Group Console](https://us-west-2.console.aws.amazon.com/ec2/v2/home?region=us-west-2#SecurityGroups:sort=groupId) and delete security group `paddle-efs`. + + +#### Delete S3 Bucket + +Go to [S3 Console](https://console.aws.amazon.com/s3/home?region=us-west-2#) and delete the S3 bucket that we created. + +#### Destroy Cluster + +``` +kube-aws destroy +``` + +The command will return immediately, but it might take 5 min to tear down the whole cluster. + +You can go to [CludFormation Console](https://us-west-2.console.aws.amazon.com/cloudformation/home?region=us-west-2#/stacks?filter=active) to check destroy process. diff --git a/release/0.10.0/doc/_sources/howto/usage/k8s/k8s_en.md.txt b/release/0.10.0/doc/_sources/howto/usage/k8s/k8s_en.md.txt new file mode 100644 index 0000000000..0c3ab05b70 --- /dev/null +++ b/release/0.10.0/doc/_sources/howto/usage/k8s/k8s_en.md.txt @@ -0,0 +1,201 @@ +# Paddle On Kubernetes + +>In this article, we will introduce how to run Paddle training job on single CPU machine using Kubernetes. In next article, we will introduce how to run Paddle training job on distributed cluster. + +## Build Docker Image + +In distributed Kubernetes cluster, we will use Ceph or other shared storage system for storing training related data so that all processes in Paddle training can retrieve data from Ceph. In this example, we will only demo training job on single machine. In order to simplify the requirement of the environment, we will directly put training data into Paddle's Docker Image, so we need to create a Paddle Docker image that already includes the training data. + +Paddle's [Quick Start Tutorial](http://www.paddlepaddle.org/doc/demo/quick_start/index_en.html) introduces how to download and train data by using script from Paddle's source code. +And `paddledev/paddle:cpu-demo-latest` image has the Paddle source code and demo. (Caution: Default Paddle image `paddledev/paddle:cpu-latest` doesn't include the source code, Paddle's different versions of image can be referred here: [Docker installation guide](http://www.paddlepaddle.org/doc/build/docker_install.html)), so we run this container and download the training data, and then commit the whole container to be a new Docker image. + +### Run Docker Container + +``` +$ docker run --name quick_start_data -it paddledev/paddle:cpu-demo-latest +``` + +### Download Training Data + +Getting into `/root/paddle/demo/quick_start/data` Directory,using `get_data.sh` to download training data. +Then getting into `/root/paddle/demo/quick_start` Directory, using `preprocess.sh` to pre-process training data. + +``` +$ root@fbd1f2bb71f4:~/paddle/demo/quick_start/data# ./get_data.sh + +Downloading Amazon Electronics reviews data... +--2016-10-31 01:33:43-- http://snap.stanford.edu/data/amazon/productGraph/categoryFiles/reviews_Electronics_5.json.gz +Resolving snap.stanford.edu (snap.stanford.edu)... 171.64.75.80 +Connecting to snap.stanford.edu (snap.stanford.edu)|171.64.75.80|:80... connected. +HTTP request sent, awaiting response... 200 OK +Length: 495854086 (473M) [application/x-gzip] +Saving to: 'reviews_Electronics_5.json.gz' + + 10% [=======> ] 874,279 64.7KB/s eta 2h 13m + +``` + +### Modify Startup Script + +After downloading the data,modify `/root/paddle/demo/quick_start/train.sh` file contents are as follows (one more cd cmd): +``` +set -e +cd /root/paddle/demo/quick_start +cfg=trainer_config.lr.py +#cfg=trainer_config.emb.py +#cfg=trainer_config.cnn.py +#cfg=trainer_config.lstm.py +#cfg=trainer_config.bidi-lstm.py +#cfg=trainer_config.db-lstm.py +paddle train \ + --config=$cfg \ + --save_dir=./output \ + --trainer_count=4 \ + --log_period=20 \ + --num_passes=15 \ + --use_gpu=false \ + --show_parameter_stats_period=100 \ + --test_all_data_in_one_period=1 \ + 2>&1 | tee 'train.log' +``` + +### Commit Docker Image + +``` +$ docker commit quick_start_data mypaddle/paddle:quickstart +``` + +## Use Kubernetes For Training + +>We will use Kubernetes job for training process, following steps shows how to do the training with Kubernetes. + +### Create Yaml Files + +The output result in container will be demolished when job finished (container stopped running), so we need to mount the volume out to the local disk when creating the container to store the training result. Using our previously created image, we can create a [Kubernetes Job](http://kubernetes.io/docs/user-guide/jobs/#what-is-a-job), the yaml contents are as follows: + +``` +apiVersion: batch/v1 +kind: Job +metadata: + name: quickstart +spec: + parallelism: 1 + completions: 1 + template: + metadata: + name: quickstart + spec: + volumes: + - name: output + hostPath: + path: /home/work/paddle_output + containers: + - name: pi + image: mypaddle/paddle:quickstart + command: ["bin/bash", "-c", "/root/paddle/demo/quick_start/train.sh"] + volumeMounts: + - name: output + mountPath: /root/paddle/demo/quick_start/output + restartPolicy: Never +``` + +### Start Paddle Job + +Using the above yaml file to start the Kubernetes job. + +``` +$ kubectl create -f paddle.yaml +``` + +Get the detailed status of the job: + +``` +$ kubectl get job +NAME DESIRED SUCCESSFUL AGE +quickstart 1 0 58s + +$ kubectl describe job quickstart +Name: quickstart +Namespace: default +Image(s): registry.baidu.com/public/paddle:cpu-demo-latest +Selector: controller-uid=f120da72-9f18-11e6-b363-448a5b355b84 +Parallelism: 1 +Completions: 1 +Start Time: Mon, 31 Oct 2016 11:20:16 +0800 +Labels: controller-uid=f120da72-9f18-11e6-b363-448a5b355b84,job-name=quickstart +Pods Statuses: 0 Running / 1 Succeeded / 0 Failed +Volumes: + output: + Type: HostPath (bare host directory volume) + Path: /home/work/paddle_output +Events: + FirstSeen LastSeen Count From SubobjectPath Type Reason Message + --------- -------- ----- ---- ------------- -------- ------ ------- + 1m 1m 1 {job-controller } Normal SuccessfulCreate Created pod: quickstart-fa0wx +``` + +### Get Training Result + +We can use kubectl command to take a look at the status of related pod. + +``` +$ kubectl describe pod quickstart-fa0wx +Name: quickstart-fa0wx +Namespace: default +Node: paddle-demo-let02/10.206.202.44 +Start Time: Mon, 31 Oct 2016 11:20:17 +0800 +Labels: controller-uid=f120da72-9f18-11e6-b363-448a5b355b84,job-name=quickstart +Status: Succeeded +IP: 10.0.0.9 +Controllers: Job/quickstart +Containers: + quickstart: + Container ID: docker://b8561f5c79193550d64fa47418a9e67ebdd71546186e840f88de5026b8097465 + Image: registry.baidu.com/public/paddle:cpu-demo-latest + Image ID: docker://18e457ce3d362ff5f3febf8e7f85ffec852f70f3b629add10aed84f930a68750 + Port: + Command: + bin/bash + -c + /root/paddle/demo/quick_start/train.sh + QoS Tier: + cpu: BestEffort + memory: BestEffort + State: Terminated + Reason: Completed + Exit Code: 0 + Started: Mon, 31 Oct 2016 11:20:20 +0800 + Finished: Mon, 31 Oct 2016 11:21:46 +0800 + Ready: False + Restart Count: 0 + Environment Variables: +Conditions: + Type Status + Ready False +Volumes: + output: + Type: HostPath (bare host directory volume) + Path: /home/work/paddle_output +``` + +We can also ssh to Kubernetes node to take a look at the training result. + +``` +[root@paddle-demo-let02 paddle_output]# ll +total 60 +drwxr-xr-x 2 root root 4096 Oct 31 11:20 pass-00000 +drwxr-xr-x 2 root root 4096 Oct 31 11:20 pass-00001 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00002 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00003 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00004 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00005 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00006 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00007 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00008 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00009 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00010 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00011 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00012 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00013 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00014 +``` diff --git a/release/0.10.0/doc/_sources/howto/usage/k8s/src/k8s_data/README.md.txt b/release/0.10.0/doc/_sources/howto/usage/k8s/src/k8s_data/README.md.txt new file mode 100644 index 0000000000..83cef7affd --- /dev/null +++ b/release/0.10.0/doc/_sources/howto/usage/k8s/src/k8s_data/README.md.txt @@ -0,0 +1,6 @@ +To build PaddlePaddle data preparation image in tutorial [Distributed PaddlePaddle Training on AWS with Kubernetes](../../k8s_aws_en.md), run following commands: + +``` +cp -r ../../../../../../demo/quick_start . +docker build . -t prepare-data-image-name +``` diff --git a/release/0.10.0/doc/_sources/howto/usage/k8s/src/k8s_train/README.md.txt b/release/0.10.0/doc/_sources/howto/usage/k8s/src/k8s_train/README.md.txt new file mode 100644 index 0000000000..96bf65497f --- /dev/null +++ b/release/0.10.0/doc/_sources/howto/usage/k8s/src/k8s_train/README.md.txt @@ -0,0 +1,5 @@ +To build PaddlePaddle training image in tutorial [Distributed PaddlePaddle Training on AWS with Kubernetes](../../k8s_aws_en.md), run following command: + +``` +docker build . -t train-image-name +``` diff --git a/release/0.10.0/doc/_sources/index_en.rst.txt b/release/0.10.0/doc/_sources/index_en.rst.txt new file mode 100644 index 0000000000..168c7667c6 --- /dev/null +++ b/release/0.10.0/doc/_sources/index_en.rst.txt @@ -0,0 +1,10 @@ +PaddlePaddle Documentation +========================== + +.. toctree:: + :maxdepth: 1 + + getstarted/index_en.rst + howto/index_en.rst + api/index_en.rst + about/index_en.rst diff --git a/release/0.10.0/doc/_sources/tutorials/embedding_model/index_en.md.txt b/release/0.10.0/doc/_sources/tutorials/embedding_model/index_en.md.txt new file mode 100644 index 0000000000..9525f64f9b --- /dev/null +++ b/release/0.10.0/doc/_sources/tutorials/embedding_model/index_en.md.txt @@ -0,0 +1,140 @@ +# Chinese Word Embedding Model Tutorial # +---------- +This tutorial is to guide you through the process of using a Pretrained Chinese Word Embedding Model in the PaddlePaddle standard format. + +We thank @lipeng for the pull request that defined the model schemas and pretrained the models. + +## Introduction ### +### Chinese Word Dictionary ### +Our Chinese-word dictionary is created on Baidu ZhiDao and Baidu Baike by using in-house word segmentor. For example, the participle of "《红楼梦》" is "《","红楼梦","》",and "《红楼梦》". Our dictionary (using UTF-8 format) has has two columns: word and its frequency. The total word count is 3206326, including 4 special token: + - ``: the start of a sequence + - ``: the end of a sequence + - `PALCEHOLDER_JUST_IGNORE_THE_EMBEDDING`: a placeholder, just ignore it and its embedding + - ``: a word not included in dictionary + +### Pretrained Chinese Word Embedding Model ### +Inspired by paper [A Neural Probabilistic Language Model](http://www.jmlr.org/papers/volume3/bengio03a/bengio03a.pdf), our model architecture (**Embedding joint of six words->FullyConnect->SoftMax**) is as following graph. And for our dictionary, we pretrain four models with different word vector dimenstions, i.e 32, 64, 128, 256. +
![](./neural-n-gram-model.png)
+
Figure 1. neural-n-gram-model
+ +### Download and Extract ### +To download and extract our dictionary and pretrained model, run the following commands. + + cd $PADDLE_ROOT/demo/model_zoo/embedding + ./pre_DictAndModel.sh + +## Chinese Paraphrasing Example ## +We provide a paraphrasing task to show the usage of pretrained Chinese Word Dictionary and Embedding Model. + +### Data Preparation and Preprocess ### + +First, run the following commands to download and extract the in-house dataset. The dataset (using UTF-8 format) has 20 training samples, 5 testing samples and 2 generating samples. + + cd $PADDLE_ROOT/demo/seqToseq/data + ./paraphrase_data.sh + +Second, preprocess data and build dictionary on train data by running the following commands, and the preprocessed dataset is stored in `$PADDLE_SOURCE_ROOT/demo/seqToseq/data/pre-paraphrase`: + + cd $PADDLE_ROOT/demo/seqToseq/ + python preprocess.py -i data/paraphrase [--mergeDict] + +- `--mergeDict`: if using this option, the source and target dictionary are merged, i.e, two dictionaries have the same context. Here, as source and target data are all chinese words, this option can be used. + +### User Specified Embedding Model ### +The general command of extracting desired parameters from the pretrained embedding model based on user dictionary is: + + cd $PADDLE_ROOT/demo/model_zoo/embedding + python extract_para.py --preModel PREMODEL --preDict PREDICT --usrModel USRMODEL--usrDict USRDICT -d DIM + +- `--preModel PREMODEL`: the name of pretrained embedding model +- `--preDict PREDICT`: the name of pretrained dictionary +- `--usrModel USRMODEL`: the name of extracted embedding model +- `--usrDict USRDICT`: the name of user specified dictionary +- `-d DIM`: dimension of parameter + +Here, you can simply run the command: + + cd $PADDLE_ROOT/demo/seqToseq/data/ + ./paraphrase_model.sh + +And you will see following embedding model structure: + + paraphrase_model + |--- _source_language_embedding + |--- _target_language_embedding + +### Training Model in PaddlePaddle ### +First, create a model config file, see example `demo/seqToseq/paraphrase/train.conf`: + + from seqToseq_net import * + is_generating = False + + ################## Data Definition ##################### + train_conf = seq_to_seq_data(data_dir = "./data/pre-paraphrase", + job_mode = job_mode) + + ############## Algorithm Configuration ################## + settings( + learning_method = AdamOptimizer(), + batch_size = 50, + learning_rate = 5e-4) + + ################# Network configure ##################### + gru_encoder_decoder(train_conf, is_generating, word_vector_dim = 32) + +This config is almost the same as `demo/seqToseq/translation/train.conf`. + +Then, train the model by running the command: + + cd $PADDLE_SOURCE_ROOT/demo/seqToseq/paraphrase + ./train.sh + +where `train.sh` is almost the same as `demo/seqToseq/translation/train.sh`, the only difference is following two command arguments: + +- `--init_model_path`: path of the initialization model, here is `data/paraphrase_model` +- `--load_missing_parameter_strategy`: operations when model file is missing, here use a normal distibution to initialize the other parameters except for the embedding layer + +For users who want to understand the dataset format, model architecture and training procedure in detail, please refer to [Text generation Tutorial](../text_generation/index_en.md). + +## Optional Function ## +### Embedding Parameters Observation +For users who want to observe the embedding parameters, this function can convert a PaddlePaddle binary embedding model to a text model by running the command: + + cd $PADDLE_ROOT/demo/model_zoo/embedding + python paraconvert.py --b2t -i INPUT -o OUTPUT -d DIM + +- `-i INPUT`: the name of input binary embedding model +- `-o OUTPUT`: the name of output text embedding model +- `-d DIM`: the dimension of parameter + +You will see parameters like this in output text model: + + 0,4,32156096 + -0.7845433,1.1937413,-0.1704215,0.4154715,0.9566584,-0.5558153,-0.2503305, ...... + 0.0000909,0.0009465,-0.0008813,-0.0008428,0.0007879,0.0000183,0.0001984, ...... + ...... + +- 1st line is **PaddlePaddle format file head**, it has 3 attributes: + - version of PaddlePaddle, here is 0 + - sizeof(float), here is 4 + - total number of parameter, here is 32156096 +- Other lines print the paramters (assume `` = 32) + - each line print 32 paramters splitted by ',' + - there is 32156096/32 = 1004877 lines, meaning there is 1004877 embedding words + +### Embedding Parameters Revision +For users who want to revise the embedding parameters, this function can convert a revised text embedding model to a PaddlePaddle binary model by running the command: + + cd $PADDLE_ROOT/demo/model_zoo/embedding + python paraconvert.py --t2b -i INPUT -o OUTPUT + +- `-i INPUT`: the name of input text embedding model. +- `-o OUTPUT`: the name of output binary embedding model + +Note that the format of input text model is as follows: + + -0.7845433,1.1937413,-0.1704215,0.4154715,0.9566584,-0.5558153,-0.2503305, ...... + 0.0000909,0.0009465,-0.0008813,-0.0008428,0.0007879,0.0000183,0.0001984, ...... + ...... +- there is no file header in 1st line +- each line stores parameters for one word, the separator is commas ',' diff --git a/release/0.10.0/doc/_sources/tutorials/gan/index_en.md.txt b/release/0.10.0/doc/_sources/tutorials/gan/index_en.md.txt new file mode 100644 index 0000000000..ac9ed37b22 --- /dev/null +++ b/release/0.10.0/doc/_sources/tutorials/gan/index_en.md.txt @@ -0,0 +1,137 @@ +# Generative Adversarial Networks (GAN) + +This demo implements GAN training described in the original [GAN paper](https://arxiv.org/abs/1406.2661) and deep convolutional generative adversarial networks [DCGAN paper](https://arxiv.org/abs/1511.06434). + +The high-level structure of GAN is shown in Figure. 1 below. It is composed of two major parts: a generator and a discriminator, both of which are based on neural networks. The generator takes in some kind of noise with a known distribution and transforms it into an image. The discriminator takes in an image and determines whether it is artificially generated by the generator or a real image. So the generator and the discriminator are in a competitive game in which generator is trying to generate image to look as real as possible to fool the discriminator, while the discriminator is trying to distinguish between real and fake images. + +
![](./gan.png)
+
+ +The generator and discriminator take turn to be trained using SGD. The objective function of the generator is for its generated images being classified as real by the discriminator, and the objective function of the discriminator is to correctly classify real and fake images. When the GAN model is trained to converge to the equilibrium state, the generator will transform the given noise distribution to the distribution of real images, and the discriminator will not be able to distinguish between real and fake images at all. + +## Implementation of GAN Model Structure +Since GAN model involves multiple neural networks, it requires to use paddle python API. So the code walk-through below can also partially serve as an introduction to the usage of Paddle Python API. + +There are three networks defined in gan_conf.py, namely **generator_training**, **discriminator_training** and **generator**. The relationship to the model structure we defined above is that **discriminator_training** is the discriminator, **generator** is the generator, and the **generator_training** combined the generator and discriminator since training generator would require the discriminator to provide loss function. This relationship is described in the following code: +```python +if is_generator_training: + noise = data_layer(name="noise", size=noise_dim) + sample = generator(noise) + +if is_discriminator_training: + sample = data_layer(name="sample", size=sample_dim) + +if is_generator_training or is_discriminator_training: + label = data_layer(name="label", size=1) + prob = discriminator(sample) + cost = cross_entropy(input=prob, label=label) + classification_error_evaluator( + input=prob, label=label, name=mode + '_error') + outputs(cost) + +if is_generator: + noise = data_layer(name="noise", size=noise_dim) + outputs(generator(noise)) +``` + +In order to train the networks defined in gan_conf.py, one first needs to initialize a Paddle environment, parse the config, create GradientMachine from the config and create trainer from GradientMachine as done in the code chunk below: +```python +import py_paddle.swig_paddle as api +# init paddle environment +api.initPaddle('--use_gpu=' + use_gpu, '--dot_period=10', + '--log_period=100', '--gpu_id=' + args.gpu_id, + '--save_dir=' + "./%s_params/" % data_source) + +# Parse config +gen_conf = parse_config(conf, "mode=generator_training,data=" + data_source) +dis_conf = parse_config(conf, "mode=discriminator_training,data=" + data_source) +generator_conf = parse_config(conf, "mode=generator,data=" + data_source) + +# Create GradientMachine +dis_training_machine = api.GradientMachine.createFromConfigProto( +dis_conf.model_config) +gen_training_machine = api.GradientMachine.createFromConfigProto( +gen_conf.model_config) +generator_machine = api.GradientMachine.createFromConfigProto( +generator_conf.model_config) + +# Create trainer +dis_trainer = api.Trainer.create(dis_conf, dis_training_machine) +gen_trainer = api.Trainer.create(gen_conf, gen_training_machine) +``` + +In order to balance the strength between generator and discriminator, we schedule to train whichever one is performing worse by comparing their loss function value. The loss function value can be calculated by a forward pass through the GradientMachine. +```python +def get_training_loss(training_machine, inputs): + outputs = api.Arguments.createArguments(0) + training_machine.forward(inputs, outputs, api.PASS_TEST) + loss = outputs.getSlotValue(0).copyToNumpyMat() + return numpy.mean(loss) +``` + +After training one network, one needs to sync the new parameters to the other networks. The code below demonstrates one example of such use case: +```python +# Train the gen_training +gen_trainer.trainOneDataBatch(batch_size, data_batch_gen) + +# Copy the parameters from gen_training to dis_training and generator +copy_shared_parameters(gen_training_machine, +dis_training_machine) +copy_shared_parameters(gen_training_machine, generator_machine) +``` + + +## A Toy Example +With the infrastructure explained above, we can now walk you through a toy example of generating two dimensional uniform distribution using 10 dimensional Gaussian noise. + +The Gaussian noises are generated using the code below: +```python +def get_noise(batch_size, noise_dim): + return numpy.random.normal(size=(batch_size, noise_dim)).astype('float32') +``` + +The real samples (2-D uniform) are generated using the code below: +```python +# synthesize 2-D uniform data in gan_trainer.py:114 +def load_uniform_data(): + data = numpy.random.rand(1000000, 2).astype('float32') + return data +``` + +The generator and discriminator network are built using fully-connected layer and batch_norm layer, and are defined in gan_conf.py. + +To train the GAN model, one can use the command below. The flag -d specifies the training data (cifar, mnist or uniform) and flag --useGpu specifies whether to use gpu for training (0 is cpu, 1 is gpu). +```bash +$python gan_trainer.py -d uniform --useGpu 1 +``` +The generated samples can be found in ./uniform_samples/ and one example is shown below as Figure 2. One can see that it roughly recovers the 2D uniform distribution. + +
![](./uniform_sample.png)
+

+ Figure 2. Uniform Sample +

+ +## MNIST Example +### Data preparation +To download the MNIST data, one can use the following commands: +```bash +$cd data/ +$./get_mnist_data.sh +``` + +### Model description +Following the DC-Gan paper (https://arxiv.org/abs/1511.06434), we use convolution/convolution-transpose layer in the discriminator/generator network to better deal with images. The details of the network structures are defined in gan_conf_image.py. + +### Training the model +To train the GAN model on mnist data, one can use the following command: +```bash +$python gan_trainer.py -d mnist --useGpu 1 +``` +The generated sample images can be found at ./mnist_samples/ and one example is shown below as Figure 3. +
![](./mnist_sample.png)
+

+ Figure 3. MNIST Sample +

diff --git a/release/0.10.0/doc/_sources/tutorials/image_classification/index_en.md.txt b/release/0.10.0/doc/_sources/tutorials/image_classification/index_en.md.txt new file mode 100644 index 0000000000..60c81a6a53 --- /dev/null +++ b/release/0.10.0/doc/_sources/tutorials/image_classification/index_en.md.txt @@ -0,0 +1,221 @@ +Image Classification Tutorial +============================== + +This tutorial will guide you through training a convolutional neural network to classify objects using the CIFAR-10 image classification dataset. +As shown in the following figure, the convolutional neural network can recognize the main object in images, and output the classification result. + +
![Image Classification](./image_classification.png)
+ +## Data Preparation +First, download CIFAR-10 dataset. CIFAR-10 dataset can be downloaded from its official website. + + + +We have prepared a script to download and process CIFAR-10 dataset. The script will download CIFAR-10 dataset from the official dataset. +It will convert it to jpeg images and organize them into a directory with the required structure for the tutorial. Make sure that you have installed pillow and its dependents. +Consider the following commands: + +1. install pillow dependents + +```bash +sudo apt-get install libjpeg-dev +pip install pillow +``` + +2. download data and preparation + +```bash +cd demo/image_classification/data/ +sh download_cifar.sh +``` + +The CIFAR-10 dataset consists of 60000 32x32 color images in 10 classes, with 6000 images per class. There are 50000 training images and 10000 test images. + +Here are the classes in the dataset, as well as 10 random images from each: +
![Image Classification](./cifar.png)
+ + +After downloading and converting, we should find a directory (cifar-out) containing the dataset in the following format: + +``` +train +---airplane +---automobile +---bird +---cat +---deer +---dog +---frog +---horse +---ship +---truck +test +---airplane +---automobile +---bird +---cat +---deer +---dog +---frog +---horse +---ship +---truck +``` + +It has two directories:`train` and `test`. These two directories contain training data and testing data of CIFAR-10, respectively. Each of these two folders contains 10 sub-folders, ranging from `airplane` to `truck`. Each sub-folder contains images with the corresponding label. After the images are organized into this structure, we are ready to train an image classification model. + +## Preprocess +After the data has been downloaded, it needs to be pre-processed into the Paddle format. We can run the following command for preprocessing. + +``` +cd demo/image_classification/ +sh preprocess.sh +``` + +`preprocess.sh` calls `./demo/image_classification/preprocess.py` to preprocess image data. +```sh +export PYTHONPATH=$PYTHONPATH:../../ +data_dir=./data/cifar-out +python preprocess.py -i $data_dir -s 32 -c 1 +``` + +`./demo/image_classification/preprocess.py` has the following arguments + +- `-i` or `--input` specifes the input data directory. +- `-s` or `--size` specifies the processed size of images. +- `-c` or `--color` specifes whether images are color images or gray images. + + +## Model Training +We need to create a model config file before training the model. An example of the config file (vgg_16_cifar.py) is listed below. **Note**, it is slightly different from the `vgg_16_cifar.py` which also applies to the prediction. + +```python +from paddle.trainer_config_helpers import * +data_dir='data/cifar-out/batches/' +meta_path=data_dir+'batches.meta' +args = {'meta':meta_path, 'mean_img_size': 32, + 'img_size': 32, 'num_classes': 10, + 'use_jpeg': 1, 'color': "color"} +define_py_data_sources2(train_list=data_dir+"train.list", + test_list=data_dir+'test.list', + module='image_provider', + obj='processData', + args=args) +settings( + batch_size = 128, + learning_rate = 0.1 / 128.0, + learning_method = MomentumOptimizer(0.9), + regularization = L2Regularization(0.0005 * 128)) + +img = data_layer(name='image', size=3*32*32) +lbl = data_layer(name="label", size=10) +# small_vgg is predined in trainer_config_helpers.network +predict = small_vgg(input_image=img, num_channels=3) +outputs(classification_cost(input=predict, label=lbl)) +``` + +The first line imports python functions for defining networks. +```python +from paddle.trainer_config_helpers import * +``` + +Then define an `define_py_data_sources2` which use python data provider +interface. The arguments in `args` are used in `image_provider.py` which +yeilds image data and transform them to Paddle. + - `meta`: the mean value of training set. + - `mean_img_size`: the size of mean feature map. + - `img_size`: the height and width of input image. + - `num_classes`: the number of classes. + - `use_jpeg`: the data storage type when preprocessing. + - `color`: specify color image. + +`settings` specifies the training algorithm. In the following example, +it specifies learning rate as 0.1, but divided by batch size, and the weight decay +is 0.0005 and multiplied by batch size. +```python +settings( + batch_size = 128, + learning_rate = 0.1 / 128.0, + learning_method = MomentumOptimizer(0.9), + regularization = L2Regularization(0.0005 * 128) +) +``` + +The `small_vgg` specifies the network. We use a small version of VGG convolutional network as our network +for classification. A description of VGG network can be found here [http://www.robots.ox.ac.uk/~vgg/research/very_deep/](http://www.robots.ox.ac.uk/~vgg/research/very_deep/). +```python +# small_vgg is predined in trainer_config_helpers.network +predict = small_vgg(input_image=img, num_channels=3) +``` +After writing the config, we can train the model by running the script train.sh. + +```bash +config=vgg_16_cifar.py +output=./cifar_vgg_model +log=train.log + +paddle train \ +--config=$config \ +--dot_period=10 \ +--log_period=100 \ +--test_all_data_in_one_period=1 \ +--use_gpu=1 \ +--save_dir=$output \ +2>&1 | tee $log + +python -m paddle.utils.plotcurve -i $log > plot.png +``` + +- Here we use GPU mode to train. If you have no gpu environment, just set `use_gpu=0`. + +- `./demo/image_classification/vgg_16_cifar.py` is the network and data configuration file. The meaning of the other flags can be found in the documentation of the command line flags. + +- The script `plotcurve.py` requires the python module of `matplotlib`, so if it fails, maybe you need to install `matplotlib`. + + +After training finishes, the training and testing error curves will be saved to `plot.png` using `plotcurve.py` script. An example of the plot is shown below: + +
![Training and testing curves.](./plot.png)
+ + +## Prediction +After we train the model, the model file as well as the model parameters are stored in path `./cifar_vgg_model/pass-%05d`. For example, the model of the 300-th pass is stored at `./cifar_vgg_model/pass-00299`. + +To make a prediction for an image, one can run `predict.sh` as follows. The script will output the label of the classfiication. + +``` +sh predict.sh +``` + +predict.sh: +``` +model=cifar_vgg_model/pass-00299/ +image=data/cifar-out/test/airplane/seaplane_s_000978.png +use_gpu=1 +python prediction.py $model $image $use_gpu +``` + +## Exercise +Train a image classification of birds using VGG model and CUB-200 dataset. The birds dataset can be downloaded here. It contains an image dataset with photos of 200 bird species (mostly North American). + + + + + + +## Delve into Details +### Convolutional Neural Network +A Convolutional Neural Network is a feedforward neural network that uses convolution layers. It is very suitable for building neural networks that process and understand images. A standard convolutional neural network is shown below: + +![Convolutional Neural Network](./lenet.png) + +Convolutional Neural Network contains the following layers: + +- Convolutional layer: It uses convolution operation to extract features from an image or a feature map. +- Pooling layer: It uses max-pooling to downsample feature maps. +- Fully Connected layer: It uses fully connected connections to transform features. + +Convolutional Neural Network achieves amazing performance for image classification because it exploits two important characteristics of images: *local correlation* and *spatial invariance*. By iteratively applying convolution and max-pooing operations, convolutional neural network can well represent these two characteristics of images. + + +For more details of how to define layers and their connections, please refer to the documentation of layers. diff --git a/release/0.10.0/doc/_sources/tutorials/imagenet_model/resnet_model_en.md.txt b/release/0.10.0/doc/_sources/tutorials/imagenet_model/resnet_model_en.md.txt new file mode 100644 index 0000000000..478ad06193 --- /dev/null +++ b/release/0.10.0/doc/_sources/tutorials/imagenet_model/resnet_model_en.md.txt @@ -0,0 +1,284 @@ +# Model Zoo - ImageNet # + +[ImageNet](http://www.image-net.org/) is a popular dataset for generic object classification. This tutorial provides convolutional neural network(CNN) models for ImageNet. + +## ResNet Introduction + +ResNets from paper [Deep Residual Learning for Image Recognition](http://arxiv.org/abs/1512.03385) won the 1st place on the ILSVRC 2015 classification task. They present residual learning framework to ease the training of networks that are substantially deeper than those used previously. The residual connections are shown in following figure. The left building block is used in network of 34 layers and the right bottleneck building block is used in network of 50, 101, 152 layers . + +
![resnet_block](./resnet_block.jpg)
+
Figure 1. ResNet Block
+ +We present three ResNet models, which are converted from the models provided by the authors . The classfication errors tested in PaddlePaddle on 50,000 ILSVRC validation set with input images channel order of **BGR** by single scale with the shorter side of 256 and single crop as following table. +
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ResNetTop-1Model Size
ResNet-5024.9%99M
ResNet-10123.7%173M
ResNet-15223.2%234M
+
+ +## ResNet Model + +See ```demo/model_zoo/resnet/resnet.py```. This config contains network of 50, 101 and 152 layers. You can specify layer number by adding argument like ```--config_args=layer_num=50``` in command line arguments. + +### Network Visualization + +You can get a diagram of ResNet network by running the following commands. The script generates dot file and then converts dot file to PNG file, which needs to install graphviz to convert. + +``` +cd demo/model_zoo/resnet +./net_diagram.sh +``` + +### Model Download + +``` +cd demo/model_zoo/resnet +./get_model.sh +``` +You can run above command to download all models and mean file and save them in ```demo/model_zoo/resnet/model``` if downloading successfully. + +``` +mean_meta_224 resnet_101 resnet_152 resnet_50 +``` + * resnet_50: model of 50 layers. + * resnet_101: model of 101 layers. + * resnet_152: model of 152 layers. + * mean\_meta\_224: mean file with 3 x 224 x 224 size in **BGR** order. You also can use three mean values: 103.939, 116.779, 123.68. + +### Parameter Info + +* **Convolution Layer Weight** + + As batch normalization layer is connected after each convolution layer, there is no parameter of bias and only one weight in this layer. + shape: `(Co, ky, kx, Ci)` + * Co: channle number of output feature map. + * ky: filter size in vertical direction. + * kx: filter size in horizontal direction. + * Ci: channle number of input feature map. + + 2-Dim matrix: (Co * ky * kx, Ci), saved in row-major order. + +* **Fully connected Layer Weight** + + 2-Dim matrix: (input layer size, this layer size), saved in row-major order. + +* **[Batch Normalization]() Layer Weight** + +There are four parameters in this layer. In fact, only .w0 and .wbias are the learned parameters. The other two are therunning mean and variance respectively. They will be loaded in testing. Following table shows parameters of a batch normzalization layer. +
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Parameter NameNumberMeaning
_res2_1_branch1_bn.w0256gamma, scale parameter
_res2_1_branch1_bn.w1256mean value of feature map
_res2_1_branch1_bn.w2256variance of feature map
_res2_1_branch1_bn.wbias256beta, shift parameter
+
+ +### Parameter Observation + +Users who want to observe the parameters can use Python to read: + +``` +import sys +import numpy as np + +def load(file_name): + with open(file_name, 'rb') as f: + f.read(16) # skip header for float type. + return np.fromfile(f, dtype=np.float32) + +if __name__=='__main__': + weight = load(sys.argv[1]) +``` + +or simply use following shell command: + +``` +od -j 16 -f _res2_1_branch1_bn.w0 +``` + +## Feature Extraction + +We provide both C++ and Python interfaces to extract features. The following examples use data in `demo/model_zoo/resnet/example` to show the extracting process in detail. + +### C++ Interface + +First, specify image data list in `define_py_data_sources2` in the config, see example `demo/model_zoo/resnet/resnet.py`. + +``` + train_list = 'train.list' if not is_test else None + # mean.meta is mean file of ImageNet dataset. + # mean.meta size : 3 x 224 x 224. + # If you use three mean value, set like: + # "mean_value:103.939,116.779,123.68;" + args={ + 'mean_meta': "model/mean_meta_224/mean.meta", + 'image_size': 224, 'crop_size': 224, + 'color': True,'swap_channel:': [2, 1, 0]} + define_py_data_sources2(train_list, + 'example/test.list', + module="example.image_list_provider", + obj="processData", + args=args) +``` + +Second, specify layers to extract features in `Outputs()` of `resnet.py`. For example, + +``` +Outputs("res5_3_branch2c_conv", "res5_3_branch2c_bn") +``` + +Third, specify model path and output directory in `extract_fea_c++.sh`, and then run the following commands. + +``` +cd demo/model_zoo/resnet +./extract_fea_c++.sh +``` + +If successful, features are saved in `fea_output/rank-00000` as follows. And you can use `load_feature_c` interface in `load_feature.py ` to load such a file. + +``` +-0.115318 -0.108358 ... -0.087884;-1.27664 ... -1.11516 -2.59123; +-0.126383 -0.116248 ... -0.00534909;-1.42593 ... -1.04501 -1.40769; +``` + +* Each line stores features of a sample. Here, the first line stores features of `example/dog.jpg` and second line stores features of `example/cat.jpg`. +* Features of different layers are splitted by `;`, and their order is consistent with the layer order in `Outputs()`. Here, the left features are `res5_3_branch2c_conv` layer and right features are `res5_3_branch2c_bn` layer. + +### Python Interface + +`demo/model_zoo/resnet/classify.py` is an example to show how to use Python to extract features. Following example still uses data of `./example/test.list`. Command is as follows: + +``` +cd demo/model_zoo/resnet +./extract_fea_py.sh +``` + +extract_fea_py.sh: + +``` +python classify.py \ + --job=extract \ + --conf=resnet.py\ + --use_gpu=1 \ + --mean=model/mean_meta_224/mean.meta \ + --model=model/resnet_50 \ + --data=./example/test.list \ + --output_layer="res5_3_branch2c_conv,res5_3_branch2c_bn" \ + --output_dir=features + +``` +* \--job=extract: specify job mode to extract feature. +* \--conf=resnet.py: network configure. +* \--use_gpu=1: speficy GPU mode. +* \--model=model/resnet_5: model path. +* \--data=./example/test.list: data list. +* \--output_layer="xxx,xxx": specify layers to extract features. +* \--output_dir=features: output diretcoty. + +If run successfully, you will see features saved in `features/batch_0`, this file is produced with cPickle. You can use `load_feature_py` interface in `load_feature.py` to open the file, and it returns a dictionary as follows: + +``` +{ +'cat.jpg': {'res5_3_branch2c_conv': array([[-0.12638293, -0.116248 , -0.11883899, ..., -0.00895038, 0.01994277, -0.00534909]], dtype=float32), 'res5_3_branch2c_bn': array([[-1.42593431, -1.28918779, -1.32414699, ..., -1.45933616, -1.04501402, -1.40769434]], dtype=float32)}, +'dog.jpg': {'res5_3_branch2c_conv': array([[-0.11531784, -0.10835785, -0.08809858, ...,0.0055237, 0.01505112, -0.08788397]], dtype=float32), 'res5_3_branch2c_bn': array([[-1.27663755, -1.18272924, -0.90937918, ..., -1.25178063, -1.11515927, -2.59122872]], dtype=float32)} +} +``` + +Observed carefully, these feature values are consistent with the above results extracted by C++ interface. + +## Prediction + +`classify.py` also can be used to predict. We provide an example script `predict.sh` to predict data in `example/test.list` using a ResNet model with 50 layers. + +``` +cd demo/model_zoo/resnet +./predict.sh +``` + +predict.sh calls the `classify.py`: + +``` +python classify.py \ + --job=predict \ + --conf=resnet.py\ + --multi_crop \ + --model=model/resnet_50 \ + --use_gpu=1 \ + --data=./example/test.list +``` +* \--job=extract: speficy job mode to predict. +* \--conf=resnet.py: network configure. +* \--multi_crop: use 10 crops and average predicting probability. +* \--use_gpu=1: speficy GPU mode. +* \--model=model/resnet_50: model path. +* \--data=./example/test.list: data list. + +If run successfully, you will see following results, where 156 and 285 are labels of the images. + +``` +Label of example/dog.jpg is: 156 +Label of example/cat.jpg is: 282 +``` diff --git a/release/0.10.0/doc/_sources/tutorials/index_en.md.txt b/release/0.10.0/doc/_sources/tutorials/index_en.md.txt new file mode 100644 index 0000000000..77331a703b --- /dev/null +++ b/release/0.10.0/doc/_sources/tutorials/index_en.md.txt @@ -0,0 +1,14 @@ +# TUTORIALS +There are several examples and demos here. + +* [Quick Start](quick_start/index_en.md) +* [MovieLens Regression](rec/ml_regression_en.rst) +* [Image Classification](image_classification/index_en.md) +* [Sentiment Analysis](sentiment_analysis/index_en.md) +* [Semantic Role Labeling](semantic_role_labeling/index_en.md) +* [Text Generation](text_generation/index_en.md) +* [Image Auto-Generation](gan/index_en.md) + +## Model Zoo +* [ImageNet: ResNet](imagenet_model/resnet_model_en.md) +* [Embedding: Chinese Word](embedding_model/index_en.md) diff --git a/release/0.10.0/doc/_sources/tutorials/quick_start/index_en.md.txt b/release/0.10.0/doc/_sources/tutorials/quick_start/index_en.md.txt new file mode 100644 index 0000000000..ca110431cf --- /dev/null +++ b/release/0.10.0/doc/_sources/tutorials/quick_start/index_en.md.txt @@ -0,0 +1,562 @@ +# Quick Start + +This tutorial will teach the basics of deep learning (DL), including how to implement many different models in PaddlePaddle. You will learn how to: + - Prepare data into the standardized format that PaddlePaddle accepts. + - Write data providers that read data into PaddlePaddle. + - Configure neural networks in PaddlePaddle layer by layer. + - Train models. + - Perform inference with trained models. + + +## Install + +To get started, please install PaddlePaddle on your computer. Throughout this tutorial, you will learn by implementing different DL models for text classification. + +To install PaddlePaddle, please follow the instructions here: Build and Install. + +## Overview +For the first step, you will use PaddlePaddle to build a **text classification** system. For example, suppose you run an e-commence website, and you want to analyze the sentiment of user reviews to evaluate product quality. + +For example, given the input + +``` +This monitor is fantastic. +``` + +Your classifier should output “positive”, since this text snippet shows that the user is satisfied with the product. Given this input: + +``` +The monitor breaks down two months after purchase. +``` + +the classifier should output “negative“. + +To build your text classification system, your code will need to perform five steps: +
![](./src/Pipeline_en.jpg)
+ + - Preprocess data into a standardized format. + - Provide data to the learning model. + - Specify the neural network structure. + - Train the model. + - Inference (make prediction on test examples). + + +1. Preprocess data into standardized format + - In the text classification example, you will start with a text file with one training example per line. Each line contains category id (in machine learning, often denoted the target y), followed by the input text (often denoted x); these two elements are separated by a Tab. For example: ```positive [tab] This monitor is fantastic```. You will preprocess this raw data into a format that Paddle can use. + +2. Provide data to the learning model. + - You can write data providers in Python. For any required data preprocessing step, you can add the preprocessing code to the PyDataProvider Python file. + - In our text classification example, every word or character will be converted into an integer id, specified in a dictionary file. It perform a dictionary lookup in PyDataProvider to get the id. +3. Specify neural network structure. (From easy to hard, we provide 4 kinds of network configurations) + - A logistic regression model. + - A word embedding model. + - A convolutional neural network model. + - A sequential recurrent neural network model. + - You will also learn different learning algorithms. +4. Training model. +5. Inference. + +## Preprocess data into standardized format +In this example, you are going to use [Amazon electronic product review dataset](http://jmcauley.ucsd.edu/data/amazon/) to build a bunch of deep neural network models for text classification. Each text in this dataset is a product review. This dataset has two categories: “positive” and “negative”. Positive means the reviewer likes the product, while negative means the reviewer does not like the product. + +`demo/quick_start` in the [source code](https://github.com/PaddlePaddle/Paddle) provides script for downloading the preprocessed data as shown below. (If you want to process the raw data, you can use the script `demo/quick_start/data/proc_from_raw_data/get_data.sh`). + +```bash +cd demo/quick_start +./data/get_data.sh +``` + +## Transfer Data to Model +### Write Data Provider with Python +The following `dataprovider_bow.py` gives a complete example of writing data provider with Python. It includes the following parts: + +* initalizer: define the additional meta-data of the data provider and the types of the input data. +* process: Each `yield` returns a data sample. In this case, it return the text representation and category id. The order of features in the returned result needs to be consistent with the definition of the input types in `initalizer`. + +```python +from paddle.trainer.PyDataProvider2 import * + +# id of the word not in dictionary +UNK_IDX = 0 + +# initializer is called by the framework during initialization. +# It allows the user to describe the data types and setup the +# necessary data structure for later use. +# `settings` is an object. initializer need to properly fill settings.input_types. +# initializer can also store other data structures needed to be used at process(). +# In this example, dictionary is stored in settings. +# `dictionay` and `kwargs` are arguments passed from trainer_config.lr.py +def initializer(settings, dictionary, **kwargs): + # Put the word dictionary into settings + settings.word_dict = dictionary + + # setting.input_types specifies what the data types the data provider + # generates. + settings.input_types = [ + # The first input is a sparse_binary_vector, + # which means each dimension of the vector is either 0 or 1. It is the + # bag-of-words (BOW) representation of the texts. + sparse_binary_vector(len(dictionary)), + # The second input is an integer. It represents the category id of the + # sample. 2 means there are two labels in the dataset. + # (1 for positive and 0 for negative) + integer_value(2)] + +# Delaring a data provider. It has an initializer 'data_initialzer'. +# It will cache the generated data of the first pass in memory, so that +# during later pass, no on-the-fly data generation will be needed. +# `setting` is the same object used by initializer() +# `file_name` is the name of a file listed train_list or test_list file given +# to define_py_data_sources2(). See trainer_config.lr.py. +@provider(init_hook=initializer, cache=CacheType.CACHE_PASS_IN_MEM) +def process(settings, file_name): + # Open the input data file. + with open(file_name, 'r') as f: + # Read each line. + for line in f: + # Each line contains the label and text of the comment, separated by \t. + label, comment = line.strip().split('\t') + + # Split the words into a list. + words = comment.split() + + # convert the words into a list of ids by looking them up in word_dict. + word_vector = [settings.word_dict.get(w, UNK_IDX) for w in words] + + # Return the features for the current comment. The first is a list + # of ids representing a 0-1 binary sparse vector of the text, + # the second is the integer id of the label. + yield word_vector, int(label) +``` + +### Define Python Data Provider in Configuration files. +You need to add a data provider definition `define_py_data_sources2` in our network configuration. This definition specifies: + +- The path of the training and testing data (`data/train.list`, `data/test.list`). +- The location of the data provider file (`dataprovider_bow`). +- The function to call to get data. (`process`). +- Additional arguments or data. Here it passes the path of word dictionary. + +```python +from paddle.trainer_config_helpers import * + +file = "data/dict.txt" +word_dict = dict() +with open(dict_file, 'r') as f: + for i, line in enumerate(f): + w = line.strip().split()[0] + word_dict[w] = i +# define the data sources for the model. +# We need to use different process for training and prediction. +# For training, the input data includes both word IDs and labels. +# For prediction, the input data only includs word Ids. +define_py_data_sources2(train_list='data/train.list', + test_list='data/test.list', + module="dataprovider_bow", + obj="process", + args={"dictionary": word_dict}) +``` +You can refer to the following link for more detailed examples and data formats: PyDataProvider2. + +## Network Architecture +We will describe four kinds of network architectures in this section. +
![](./src/PipelineNetwork_en.jpg)
+ +First, you will build a logistic regression model. Later, you will also get chance to build other more powerful network architectures. +For more detailed documentation, you could refer to: layer documentation. All configuration files are in `demo/quick_start` directory. + +### Logistic Regression +The architecture is illustrated in the following picture: +
![](./src/NetLR_en.png)
+ +- You need define the data for text features. The size of the data layer is the number of words in the dictionary. + +```python +word = data_layer(name="word", size=voc_dim) +``` + +- You also need to define the category id for each example. The size of the data layer is the number of labels. + +```python +label = data_layer(name="label", size=label_dim) +``` + +- It uses logistic regression model to classify the vector, and it will output the classification error during training. + - Each layer has an *input* argument that specifies its input layer. Some layers can have multiple input layers. You can use a list of the input layers as input in that case. + - *size* for each layer means the number of neurons of the layer. + - *act_type* means activation function applied to the output of each neuron independently. + - Some layers can have additional special inputs. For example, `classification_cost` needs ground truth label as input to compute classification loss and error. +```python +# Define a fully connected layer with logistic activation (also called softmax activation). +output = fc_layer(input=word, + size=label_dim, + act_type=SoftmaxActivation()) +# Define cross-entropy classification loss and error. +classification_cost(input=output, label=label) +``` + +Performance summary: You can refer to the training and testing scripts later. In order to compare different network architectures, the model complexity and test classification error are listed in the following table: + + +
+ + + + + + + + + + + + + + + + + +
Network nameNumber of parametersTest error
Logistic regression252 KB8.652%
+ +
+ +### Word Embedding Model +In order to use the word embedding model, you need to change the data provider a little bit to make the input words as a sequence of word IDs. The revised data provider `dataprovider_emb.py` is listed below. You only need to change initializer() for the type of the first input. It is changed from sparse_binary_vector to sequence of intergers. process() remains the same. This data provider can also be used for later sequence models. + +```python +def initializer(settings, dictionary, **kwargs): + # Put the word dictionary into settings + settings.word_dict = dictionary + settings.input_types = [ + # Define the type of the first input as a sequence of integers. + integer_value_sequence(len(dictionary)), + # Define the second input for label id + integer_value(2)] + +@provider(init_hook=initializer) +def process(settings, file_name): + ... + # omitted, it is same as the data provider for LR model +``` + +This model is very similar to the framework of logistic regression, but it uses word embedding vectors instead of a sparse vectors to represent words. +
![](./src/NetContinuous_en.png)
+ +- It can look up the dense word embedding vector in the dictionary (its words embedding vector is `word_dim`). The input is a sequence of N words, the output is N word_dim dimensional vectors. + +```python +emb = embedding_layer(input=word, dim=word_dim) +``` + +- It averages all the word embedding in a sentence to get its sentence representation. + +```python +avg = pooling_layer(input=emb, pooling_type=AvgPooling()) +``` + +The other parts of the model are the same as logistic regression network. + +The performance is summarized in the following table: + + +
+ + + + + + + + + + + + + + + + + +
Network nameNumber of parametersTest error
Word embedding model15 MB8.484%
+
+
+ +### Convolutional Neural Network Model +Convolutional neural network converts a sequence of word embeddings into a sentence representation using temporal convolutions. You will transform the fully connected layer of the word embedding model to 3 new sub-steps. +
![](./src/NetConv_en.png)
+ + +Text convolution has 3 steps: +1. Get K nearest neighbor context of each word in a sentence, stack them into a 2D vector representation. +2. Apply temporal convolution to this representation to produce a new hidden_dim dimensional vector. +3. Apply max-pooling to the new vectors at all the time steps in a sentence to get a sentence representation. + +```python +# context_len means convolution kernel size. +# context_start means the start of the convolution. It can be negative. In that case, zero padding is applied. +text_conv = sequence_conv_pool(input=emb, + context_start=k, + context_len=2 * k + 1) +``` + +The performance is summarized in the following table: + + +
+ + + + + + + + + + + + + + + + + +
Network nameNumber of parametersTest error
Convolutional model16 MB5.628%
+
+ +### Recurrent Model +
![](./src/NetRNN_en.png)
+ +You can use Recurrent neural network as our time sequence model, including simple RNN model, GRU model, and LSTM model。 + +- GRU model can be specified via: + +```python +gru = simple_gru(input=emb, size=gru_size) +``` + +- LSTM model can be specified via: + +```python +lstm = simple_lstm(input=emb, size=lstm_size) +``` + +You can use single layer LSTM model with Dropout for our text classification problem. The performance is summarized in the following table: + + +
+ + + + + + + + + + + + + + + + + +
Network nameNumber of parametersTest error
Recurrent model16 MB4.812%
+ +
+ +## Optimization Algorithm +Optimization algorithms include Momentum, RMSProp, AdaDelta, AdaGrad, Adam, and Adamax. You can use Adam optimization method here, with L2 regularization and gradient clipping, because Adam has been proved to work very well for training recurrent neural network. + +```python +settings(batch_size=128, + learning_rate=2e-3, + learning_method=AdamOptimizer(), + regularization=L2Regularization(8e-4), + gradient_clipping_threshold=25) +``` + +## Training Model +After completing data preparation and network architecture specification, you will run the training script. +
![](./src/PipelineTrain_en.png)
+ +Training script: our training script is in `train.sh` file. The training arguments are listed below: + +```bash +paddle train \ +--config=trainer_config.py \ +--log_period=20 \ +--save_dir=./output \ +--num_passes=15 \ +--use_gpu=false +``` + +We do not provide examples on how to train on clusters here. If you want to train on clusters, please follow the distributed training documentation or other demos for more details. + +## Inference +You can use the trained model to perform prediction on the dataset with no labels. You can also evaluate the model on dataset with labels to obtain its test accuracy. +
![](./src/PipelineTest_en.png)
+ +The test script is listed below. PaddlePaddle can evaluate a model on the data with labels specified in `test.list`. + +```bash +paddle train \ +--config=trainer_config.lstm.py \ +--use_gpu=false \ +--job=test \ +--init_model_path=./output/pass-0000x +``` + +We will give an example of performing prediction using Recurrent model on a dataset with no labels. You can refer to Python Prediction API tutorial,or other demo for the prediction process using Python. You can also use the following script for inference or evaluation. + +inference script (predict.sh): + +```bash +model="output/pass-00003" +paddle train \ + --config=trainer_config.lstm.py \ + --use_gpu=false \ + --job=test \ + --init_model_path=$model \ + --config_args=is_predict=1 \ + --predict_output_dir=. \ + +mv rank-00000 result.txt +``` +User can choose the best model base on the training log instead of model `output/pass-00003`. There are several differences between training and inference network configurations. +- You do not need labels during inference. +- Outputs need to be specified to the classification probability layer (the output of softmax layer), or the id of maximum probability (`max_id` layer). An example to output the id and probability is given in the code snippet. +- batch_size = 1. +- You need to specify the location of `test_list` in the test data. + +The results in `result.txt` is as follows, each line is one sample. + +``` +predicted_label_id;probability_of_label_0 probability_of_label_1 # the first sample +predicted_label_id;probability_of_label_0 probability_of_label_1 # the second sample +``` + + +```python +is_predict = get_config_arg('is_predict', bool, False) +trn = 'data/train.list' if not is_predict else None +tst = 'data/test.list' if not is_predict else 'data/pred.list' +obj = 'process' if not is_predict else 'process_pre' +batch_size = 128 if not is_predict else 1 +if is_predict: + maxid = maxid_layer(output) + outputs([maxid,output]) +else: + label = data_layer(name="label", size=2) + cls = classification_cost(input=output, label=label) outputs(cls) +``` + +## Summary +The scripts of data downloading, network configurations, and training scrips are in `/demo/quick_start`. The following table summarizes the performance of our network architecture on Amazon-Elec dataset(25k): + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Network nameNumber of parametersError rateConfiguration file name
Logistic regression model(BOW) 252KB 8.652%trainer_config.lr.py
Word embedding 15MB 8.484%trainer_config.emb.py
Convolution model 16MB 5.628%trainer_config.cnn.py
Time sequence model 16MB 4.812%trainer_config.lstm.py
+
+
+ +## Appendix +### Command Line Argument + +* \--config:network architecture path. +* \--save_dir:model save directory. +* \--log_period:the logging period per batch. +* \--num_passes:number of training passes. One pass means the training would go over the whole training dataset once. +* \--config_args:Other configuration arguments. +* \--init_model_path:The path of the initial model parameter. + +By default, the trainer will save model every pass. You can also specify `saving_period_by_batches` to set the frequency of batch saving. You can use `show_parameter_stats_period` to print the statistics of the parameters, which are very useful for tuning parameters. Other command line arguments can be found in command line argument documentation。 + +### Log + +``` +TrainerInternal.cpp:160] Batch=20 samples=2560 AvgCost=0.628761 CurrentCost=0.628761 Eval: classification_error_evaluator=0.304297 CurrentEval: classification_error_evaluator=0.304297 +``` +During model training, you will see the log like the examples above: +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameExplanation
Batch=20 You have trained 20 batches.
samples=2560 You have trained 2560 examples.
AvgCost The average cost from the first batch to the current batch.
CurrentCost the average cost of the last log_period batches
Eval: classification_error_evaluator The average classification error from the first batch to the current batch.
CurrentEval: classification_error_evaluator The average error rate of the last log_period batches
+
+
diff --git a/release/0.10.0/doc/_sources/tutorials/rec/ml_dataset_en.md.txt b/release/0.10.0/doc/_sources/tutorials/rec/ml_dataset_en.md.txt new file mode 100644 index 0000000000..25dea5c4af --- /dev/null +++ b/release/0.10.0/doc/_sources/tutorials/rec/ml_dataset_en.md.txt @@ -0,0 +1,111 @@ +```eval_rst +.. _demo_ml_dataset: +``` + +# MovieLens Dataset + +The [MovieLens Dataset](http://grouplens.org/datasets/movielens/) was collected by GroupLens Research. +The data set contains some user information, movie information, and many movie ratings from \[1-5\]. +The data sets have many version depending on the size of set. +We use [MovieLens 1M Dataset](http://files.grouplens.org/datasets/movielens/ml-1m.zip) as a demo dataset, which contains +1 million ratings from 6000 users on 4000 movies. Released 2/2003. + +## Dataset Features + +In [ml-1m Dataset](http://files.grouplens.org/datasets/movielens/ml-1m.zip), there are many features in these dataset. +The data files (which have ".dat" extension) in [ml-1m Dataset](http://files.grouplens.org/datasets/movielens/ml-1m.zip) +is basically CSV file that delimiter is "::". The description in README we quote here. + +### RATINGS FILE DESCRIPTION(ratings.dat) + + +All ratings are contained in the file "ratings.dat" and are in the +following format: + +UserID::MovieID::Rating::Timestamp + +- UserIDs range between 1 and 6040 +- MovieIDs range between 1 and 3952 +- Ratings are made on a 5-star scale (whole-star ratings only) +- Timestamp is represented in seconds since the epoch as returned by time(2) +- Each user has at least 20 ratings + +### USERS FILE DESCRIPTION(users.dat) + +User information is in the file "users.dat" and is in the following +format: + +UserID::Gender::Age::Occupation::Zip-code + +All demographic information is provided voluntarily by the users and is +not checked for accuracy. Only users who have provided some demographic +information are included in this data set. + +- Gender is denoted by a "M" for male and "F" for female +- Age is chosen from the following ranges: + + * 1: "Under 18" + * 18: "18-24" + * 25: "25-34" + * 35: "35-44" + * 45: "45-49" + * 50: "50-55" + * 56: "56+" + +- Occupation is chosen from the following choices: + + * 0: "other" or not specified + * 1: "academic/educator" + * 2: "artist" + * 3: "clerical/admin" + * 4: "college/grad student" + * 5: "customer service" + * 6: "doctor/health care" + * 7: "executive/managerial" + * 8: "farmer" + * 9: "homemaker" + * 10: "K-12 student" + * 11: "lawyer" + * 12: "programmer" + * 13: "retired" + * 14: "sales/marketing" + * 15: "scientist" + * 16: "self-employed" + * 17: "technician/engineer" + * 18: "tradesman/craftsman" + * 19: "unemployed" + * 20: "writer" + +### MOVIES FILE DESCRIPTION(movies.dat) + +Movie information is in the file "movies.dat" and is in the following +format: + +MovieID::Title::Genres + +- Titles are identical to titles provided by the IMDB (including +year of release) +- Genres are pipe-separated and are selected from the following genres: + + * Action + * Adventure + * Animation + * Children's + * Comedy + * Crime + * Documentary + * Drama + * Fantasy + * Film-Noir + * Horror + * Musical + * Mystery + * Romance + * Sci-Fi + * Thriller + * War + * Western + +- Some MovieIDs do not correspond to a movie due to accidental duplicate +entries and/or test entries +- Movies are mostly entered by hand, so errors and inconsistencies may exist diff --git a/release/0.10.0/doc/_sources/tutorials/rec/ml_regression_en.rst.txt b/release/0.10.0/doc/_sources/tutorials/rec/ml_regression_en.rst.txt new file mode 100644 index 0000000000..993b9a516f --- /dev/null +++ b/release/0.10.0/doc/_sources/tutorials/rec/ml_regression_en.rst.txt @@ -0,0 +1,348 @@ +Regression MovieLens Ratting +============================ + +Here we demonstrate a **Cosine Similarity Regression** job in movie lens dataset. +This demo will show how paddle does (word) embedding job, +handles the similarity regression, +the character-level convolutional networks for text, and how does paddle handle +multiple types of inputs. +Note that the model structure is not fine-tuned and just a demo to show how paddle works. + + +YOU ARE WELCOME TO BUILD A BETTER DEMO +BY USING PADDLEPADDLE, AND LET US KNOW TO MAKE THIS DEMO BETTER. + +Data Preparation +```````````````` +Download and extract dataset +'''''''''''''''''''''''''''' +We use :ref:`demo_ml_dataset` here. +To download and unzip the dataset, simply run the following commands. + +.. code-block:: bash + + cd demo/recommendation/data + ./ml_data.sh + +And the directory structure of :code:`demo/recommendation/data/ml-1m` is: + +.. code-block:: text + + +--ml-1m + +--- movies.dat # movie features + +--- ratings.dat # ratings + +--- users.dat # user features + +--- README # dataset description + +Field config file +''''''''''''''''' +**Field config file** is used to specify the fields of the dataset and the file format, +i.e, specific **WHAT** type it is in each feature file. + +The field config file of ml-1m shows in :code:`demo/recommendation/data/config.json`. +It specifics the field types and file names: 1) there are four types of field for user file\: id, gender, age and occupation; +2) the filename is "users.dat", and the delimiter of file is "::". + +.. include:: ../../../demo/recommendation/data/config.json + :code: json + :literal: + +Preprocess Data +``````````````` +You need to install python 3rd party libraries. +IT IS HIGHLY RECOMMEND TO USE VIRTUALENV MAKE A CLEAN PYTHON ENVIRONMENT. + +.. code-block:: bash + + pip install -r requirements.txt + +The general command for preprocessing the dataset is: + +.. code-block:: bash + + cd demo/recommendation + ./preprocess.sh + +And the detail steps are introduced as follows. + +Extract Movie/User features to python object +''''''''''''''''''''''''''''''''''''''''''''' + +There are many features in movie or user in movielens 1m dataset. +Each line of rating file just provides a Movie/User id to refer each movie or user. +We process the movie/user feature file first, and pickle the feature (**Meta**) object as a file. + +Meta config file +................ + +**Meta config file** is used to specific **HOW** to parse each field in dataset. +It could be translated from field config file, or written by hand. +Its file format could be either json or yaml syntax file. Parser will automatically choose the file format by extension name. + +To convert Field config file to meta config file, just run: + +.. code-block:: bash + + cd demo/recommendation/data + python config_generator.py config.json > meta_config.json + +The meta config file shows below: + +.. include:: ../../../demo/recommendation/data/meta_config.json + :code: json + :literal: + +There are two kinds of features in meta\: movie and user. + +* in movie file, whose name is movies.dat + * we just split each line by "::" + * pos 0 is id. + * pos 1 feature: + * name is title. + * it uses regex to parse this feature. + * it is a char based word embedding feature. + * it is a sequence. + * pos 2 feature: + * name is genres. + * type is one hot dense vector. + * dictionary is auto generated by parsing, each key is split by '|' +* in user file, whose name is users.dat + * we just split each line by "::" + * pos 0 is id. + * pos 1 feature: + * name is gender + * just simple char based embedding. + * pos 2 feature: + * name is age + * just whole word embedding. + * embedding id will be sort by word. + * pos 3 feature: + * name is occupation. + * just simple whole word embedding. + + +Meta file +''''''''' + +After having meta config file, we can generate **Meta file**, a python pickle object which stores movie/user information. +The following commands could be run to generate it. + +.. code-block:: bash + + python meta_generator.py ml-1m meta.bin --config=meta_config.json + +And the structure of the meta file :code:`meta.bin` is: + +.. code-block:: text + + +--+ movie + | +--+ __meta__ + | | +--+ raw_meta # each feature meta config. list + | | | + + | | | | # ID Field, we use id as key + | | | +--+ {'count': 3883, 'max': 3952, 'is_key': True, 'type': 'id', 'min': 1} + | | | | + | | | | # Titile field, the dictionary list of embedding. + | | | +--+ {'dict': [ ... ], 'type': 'embedding', 'name': 'title', 'seq': 'sequence'} + | | | | + | | | | # Genres field, the genres dictionary + | | | +--+ {'dict': [ ... ], 'type': 'one_hot_dense', 'name': 'genres'} + | | | + | | +--+ feature_map [1, 2] # a list for raw_meta index for feature field. + | | # it means there are 2 features for each key. + | | # * 0 offset of feature is raw_meta[1], Title. + | | # * 1 offset of feature is raw_meta[2], Genres. + | | + | +--+ 1 # movie 1 features + | | + + | | +---+ [[...], [...]] # title ids, genres dense vector + | | + | +--+ 2 + | | + | +--+ ... + | + +--- user + +--+ __meta__ + | + + | +--+ raw_meta + | | + + | | +--+ id field as user + | | | + | | +--+ {'dict': ['F', 'M'], 'type': 'embedding', 'name': 'gender', 'seq': 'no_sequence'} + | | | + | | +--+ {'dict': ['1', '18', '25', '35', '45', '50', '56'], 'type': 'embedding', 'name': 'age', 'seq': 'no_sequence'} + | | | + | | +--+ {'dict': [...], 'type': 'embedding', 'name': 'occupation', 'seq': 'no_sequence'} + | | + | +--+ feature_map [1, 2, 3] + | + +--+ 1 # user 1 features + | + +--+ 2 + +--+ ... + + +Split Training/Testing files +'''''''''''''''''''''''''''' + +We split :code:`ml-1m/ratings.dat` into a training and testing file. The way to split file is for each user, we split the +rating by two parts. So each user in testing file will have some rating information in training file. + +Use :code:`separate.py` to separate the training and testing file. + +.. code-block:: bash + + python split.py ml-1m/ratings.dat --delimiter="::" --test_ratio=0.1 + +Then two files will be generated\: :code:`ml-1m/ratings.dat.train` and :code:`ml-1m/rating.data.test`. +Move them to workspace :code:`data`, shuffle the train file, and prepare the file list for paddle train. + +.. code-block:: bash + + shuf ml-1m/ratings.dat.train > ratings.dat.train + cp ml-1m/ratings.dat.test . + echo "./data/ratings.dat.train" > train.list + echo "./data/ratings.dat.test" > test.list + + +Neural Network Configuration +```````````````````````````` + +Trainer Config File +''''''''''''''''''' + +The network structure shows below. + +.. image:: rec_regression_network.png + :align: center + :alt: rec_regression_network + +The demo's neural network config file :code:`trainer_config.py` show as below. + +.. literalinclude:: ../../../demo/recommendation/trainer_config.py + :language: python + :lines: 15- + +In this :code:`trainer_config.py`, we just map each feature type to +a feature vector, following shows how to map each feature to a vector shows below. + +* :code:`id`\: Just simple embedding, and then add to fully connected layer. +* :code:`embedding`\: + - if is_sequence, get the embedding and do a text convolutional operation, + get the average pooling result. + - if not sequence, get the embedding and add to fully connected layer. +* :code:`one_host_dense`\: + - just two fully connected layer. + +Then we combine each features of movie into one movie feature by a +:code:`fc_layer` with multiple inputs, and do the same thing to user features, +get one user feature. Then we calculate the cosine similarity of these two +features. + +In these networks, we use several APIs in :ref:`api_trainer_config` . There are + +* Data Layer, :ref:`api_trainer_config_helpers_layers_data_layer` +* Fully Connected Layer, :ref:`api_trainer_config_helpers_layers_fc_layer` +* Embedding Layer, :ref:`api_trainer_config_helpers_layers_embedding_layer` +* Context Projection Layer, :ref:`api_trainer_config_helpers_layers_context_projection` +* Pooling Layer, :ref:`api_trainer_config_helpers_layers_pooling_layer` +* Cosine Similarity Layer, :ref:`api_trainer_config_helpers_layers_cos_sim` +* Text Convolution Pooling Layer, :ref:`api_trainer_config_helpers_network_text_conv_pool` +* Declare Python Data Sources :ref:`api_trainer_config_helpers_data_sources`. + +Data Provider +''''''''''''' + +.. literalinclude:: ../../../demo/recommendation/dataprovider.py + :language: python + :lines: 15- + +The data provider just read the meta.bin and rating file, yield each sample for training. +In this :code:`dataprovider.py`, we should set\: + +* obj.slots\: The feature types and dimension. +* use_seq\: Whether this :code:`dataprovider.py` in sequence mode or not. +* process\: Return each sample of data to :code:`paddle`. + +The data provider details document see :ref:`api_pydataprovider2`. + +Train +````` + +After prepare data, config network, writting data provider, now we can run paddle training. + +The :code:`run.sh` is shown as follow: + +.. literalinclude:: ../../../demo/recommendation/run.sh + :language: bash + :lines: 16- + +It just start a paddle training process, write the log to :code:`log.txt`, +then print it on screen. + +Each command line argument in :code:`run.sh`, please refer to the :ref:`cmd_line_index` page. The short description of these arguments is shown as follow. + +* config\: Tell paddle which file is neural network configuration. +* save_dir\: Tell paddle save model into :code:`./output`. +* use_gpu\: Use gpu or not. Default is false. +* trainer_count\: The compute thread in one machine. +* test_all_data_in_one_period\: Test All Data during one test period. Otherwise, + will test a :code:`batch_size` data in one test period. +* log_period\: Print log after train :code:`log_period` batches. +* dot_period\: Print a :code:`.` after train :code:`dot_period` batches. +* num_passes\: Train at most :code:`num_passes`. + +If training process starts successfully, the output likes follow: + +.. code-block:: text + + I0601 08:07:22.832059 10549 TrainerInternal.cpp:157] Batch=100 samples=160000 AvgCost=4.13494 CurrentCost=4.13494 Eval: CurrentEval: + + I0601 08:07:50.672627 10549 TrainerInternal.cpp:157] Batch=200 samples=320000 AvgCost=3.80957 CurrentCost=3.48421 Eval: CurrentEval: + + I0601 08:08:18.877369 10549 TrainerInternal.cpp:157] Batch=300 samples=480000 AvgCost=3.68145 CurrentCost=3.42519 Eval: CurrentEval: + + I0601 08:08:46.863963 10549 TrainerInternal.cpp:157] Batch=400 samples=640000 AvgCost=3.6007 CurrentCost=3.35847 Eval: CurrentEval: + + I0601 08:09:15.413025 10549 TrainerInternal.cpp:157] Batch=500 samples=800000 AvgCost=3.54811 CurrentCost=3.33773 Eval: CurrentEval: + I0601 08:09:36.058670 10549 TrainerInternal.cpp:181] Pass=0 Batch=565 samples=902826 AvgCost=3.52368 Eval: + I0601 08:09:46.215489 10549 Tester.cpp:101] Test samples=97383 cost=3.32155 Eval: + I0601 08:09:46.215966 10549 GradientMachine.cpp:132] Saving parameters to ./output/model/pass-00000 + I0601 08:09:46.233397 10549 ParamUtil.cpp:99] save dir ./output/model/pass-00000 + I0601 08:09:46.233438 10549 Util.cpp:209] copy trainer_config.py to ./output/model/pass-00000 + I0601 08:09:46.233541 10549 ParamUtil.cpp:147] fileName trainer_config.py + +The model is saved in :code:`output/` directory. You can use :code:`Ctrl-C` to stop training whenever you want. + +Evaluate and Predict +```````````````````` + +After training several passes, you can evaluate them and get the best pass. Just run + +.. code-block:: bash + + ./evaluate.sh + +You will see messages like this: + +.. code-block:: text + + Best pass is 00009, error is 3.06949, which means predict get error as 0.875998002281 + evaluating from pass output/pass-00009 + +Then, you can predict what any user will rate a movie. Just run + +.. code-block:: bash + + python prediction.py 'output/pass-00009/' + +Predictor will read user input, and predict scores. It has a command-line user interface as follows: + +.. code-block:: text + + Input movie_id: 9 + Input user_id: 4 + Prediction Score is 2.56 + Input movie_id: 8 + Input user_id: 2 + Prediction Score is 3.13 diff --git a/release/0.10.0/doc/_sources/tutorials/semantic_role_labeling/index_en.md.txt b/release/0.10.0/doc/_sources/tutorials/semantic_role_labeling/index_en.md.txt new file mode 100644 index 0000000000..92d7c63483 --- /dev/null +++ b/release/0.10.0/doc/_sources/tutorials/semantic_role_labeling/index_en.md.txt @@ -0,0 +1,204 @@ +```eval_rst +.. _semantic_role_labeling: +``` + +# Semantic Role labeling Tutorial # + +Semantic role labeling (SRL) is a form of shallow semantic parsing whose goal is to discover the predicate-argument structure of each predicate in a given input sentence. SRL is useful as an intermediate step in a wide range of natural language processing tasks, such as information extraction. automatic document categorization and question answering. An instance is as following [1]: + + [ A0 He ] [ AM-MOD would ][ AM-NEG n’t ] [ V accept] [ A1 anything of value ] from [A2 those he was writing about ]. + +- V: verb +- A0: acceptor +- A1: thing accepted +- A2: accepted-from +- A3: Attribute +- AM-MOD: modal +- AM-NEG: negation + +Given the verb "accept", the chunks in sentence would play certain semantic roles. Here, the label scheme is from Penn Proposition Bank. + +To this date, most of the successful SRL systems are built on top of some form of parsing results where pre-defined feature templates over the syntactic structure are used. This tutorial will present an end-to-end system using deep bidirectional long short-term memory (DB-LSTM)[2] for solving the SRL task, which largely outperforms the previous state-of-the-art systems. The system regards SRL task as the sequence labelling problem. + +## Data Description +The relevant paper[2] takes the data set in CoNLL-2005&2012 Shared Task for training and testing. Accordingto data license, the demo adopts the test data set of CoNLL-2005, which can be reached on website. + +To download and process the original data, user just need to execute the following command: + +```bash +cd data +./get_data.sh +``` +Several new files appear in the `data `directory as follows. +```bash +conll05st-release:the test data set of CoNll-2005 shared task +test.wsj.words:the Wall Street Journal data sentences +test.wsj.props: the propositional arguments +feature: the extracted features from data set +``` + +## Training +### DB-LSTM +Please refer to the Sentiment Analysis demo to learn more about the long short-term memory unit. + +Unlike Bidirectional-LSTM that used in Sentiment Analysis demo, the DB-LSTM adopts another way to stack LSTM layer. First a standard LSTM processes the sequence in forward direction. The input and output of this LSTM layer are taken by the next LSTM layer as input, processed in reversed direction. These two standard LSTM layers compose a pair of LSTM. Then we stack LSTM layers pair after pair to obtain the deep LSTM model. + +The following figure shows a temporal expanded 2-layer DB-LSTM network. +
+![pic](./src/network_arch.png) +
+ +### Features +Two input features play an essential role in this pipeline: predicate (pred) and argument (argu). Two other features: predicate context (ctx-p) and region mark (mr) are also adopted. Because a single predicate word can not exactly describe the predicate information, especially when the same words appear more than one times in a sentence. With the predicate context, the ambiguity can be largely eliminated. Similarly, we use region mark mr = 1 to denote the argument position if it locates in the predicate context region, or mr = 0 if does not. These four simple features are all we need for our SRL system. Features of one sample with context size set to 1 is showed as following[2]: +
+![pic](./src/feature.jpg) +
+ +In this sample, the coresponding labelled sentence is: + +[ A1 A record date ] has [ AM-NEG n't ] been [ V set ] . + +In the demo, we adopt the feature template as above, consists of : `argument`, `predicate`, `ctx-p (p=-1,0,1)`, `mark` and use `B/I/O` scheme to label each argument. These features and labels are stored in `feature` file, and separated by `\t`. + +### Data Provider + +`dataprovider.py` is the python file to wrap data. `hook()` function is to define the data slots for network. The Six features and label are all IndexSlots. +``` +def hook(settings, word_dict, label_dict, **kwargs): + settings.word_dict = word_dict + settings.label_dict = label_dict + #all inputs are integral and sequential type + settings.slots = [ + integer_value_sequence(len(word_dict)), + integer_value_sequence(len(predicate_dict)), + integer_value_sequence(len(word_dict)), + integer_value_sequence(len(word_dict)), + integer_value_sequence(len(word_dict)), + integer_value_sequence(len(word_dict)), + integer_value_sequence(len(word_dict)), + integer_value_sequence(2), + integer_value_sequence(len(label_dict))] +``` +The corresponding data iterator is as following: +``` +@provider(init_hook=hook, should_shuffle=True, calc_batch_size=get_batch_size, + can_over_batch_size=False, cache=CacheType.CACHE_PASS_IN_MEM) +def process(settings, file_name): + with open(file_name, 'r') as fdata: + for line in fdata: + sentence, predicate, ctx_n2, ctx_n1, ctx_0, ctx_p1, ctx_p2, mark, label = \ + line.strip().split('\t') + + words = sentence.split() + sen_len = len(words) + word_slot = [settings.word_dict.get(w, UNK_IDX) for w in words] + + predicate_slot = [settings.predicate_dict.get(predicate)] * sen_len + ctx_n2_slot = [settings.word_dict.get(ctx_n2, UNK_IDX)] * sen_len + ctx_n1_slot = [settings.word_dict.get(ctx_n1, UNK_IDX)] * sen_len + ctx_0_slot = [settings.word_dict.get(ctx_0, UNK_IDX)] * sen_len + ctx_p1_slot = [settings.word_dict.get(ctx_p1, UNK_IDX)] * sen_len + ctx_p2_slot = [settings.word_dict.get(ctx_p2, UNK_IDX)] * sen_len + + marks = mark.split() + mark_slot = [int(w) for w in marks] + + label_list = label.split() + label_slot = [settings.label_dict.get(w) for w in label_list] + yield word_slot, predicate_slot, ctx_n2_slot, ctx_n1_slot, \ + ctx_0_slot, ctx_p1_slot, ctx_p2_slot, mark_slot, label_slot +``` +The `process`function yield 9 lists which are 8 features and label. + +### Neural Network Config +`db_lstm.py` is the neural network config file to load the dictionaries and define the data provider module and network architecture during the training procedure. + +Nine `data_layer` load instances from data provider. Eight features are transformed into embedddings respectively, and mixed by `mixed_layer` . Deep bidirectional LSTM layers extract features for the softmax layer. The objective function is cross entropy of labels. + +### Run Training +The script for training is `train.sh`, user just need to execute: +```bash + ./train.sh +``` +The content in `train.sh`: +``` +paddle train \ + --config=./db_lstm.py \ + --use_gpu=0 \ + --log_period=5000 \ + --trainer_count=1 \ + --show_parameter_stats_period=5000 \ + --save_dir=./output \ + --num_passes=10000 \ + --average_test_period=10000000 \ + --init_model_path=./data \ + --load_missing_parameter_strategy=rand \ + --test_all_data_in_one_period=1 \ +2>&1 | tee 'train.log' +``` + +- \--config=./db_lstm.py : network config file. +- \--use_gpu=false: use CPU to train, set true, if you install GPU version of PaddlePaddle and want to use GPU to train, until now crf_layer do not support GPU +- \--log_period=500: print log every 20 batches. +- \--trainer_count=1: set thread number (or GPU count). +- \--show_parameter_stats_period=5000: show parameter statistic every 100 batches. +- \--save_dir=./output: output path to save models. +- \--num_passes=10000: set pass number, one pass in PaddlePaddle means training all samples in dataset one time. +- \--average_test_period=10000000: do test on average parameter every average_test_period batches +- \--init_model_path=./data: parameter initialization path +- \--load_missing_parameter_strategy=rand: random initialization unexisted parameters +- \--test_all_data_in_one_period=1: test all data in one period + + +After training, the models will be saved in directory `output`. Our training curve is as following: +
+![pic](./src/curve.jpg) +
+ +### Run testing +The script for testing is `test.sh`, user just need to execute: +```bash + ./test.sh +``` +The main part in `tesh.sh` +``` +paddle train \ + --config=./db_lstm.py \ + --model_list=$model_list \ + --job=test \ + --config_args=is_test=1 \ +``` + + - \--config=./db_lstm.py: network config file + - \--model_list=$model_list.list: model list file + - \--job=test: indicate the test job + - \--config_args=is_test=1: flag to indicate test + - \--test_all_data_in_one_period=1: test all data in 1 period + + +### Run prediction +The script for prediction is `predict.sh`, user just need to execute: +```bash + ./predict.sh + +``` +In `predict.sh`, user should offer the network config file, model path, label file, word dictionary file, feature file +``` +python predict.py + -c $config_file \ + -w $best_model_path \ + -l $label_file \ + -p $predicate_dict_file \ + -d $dict_file \ + -i $input_file \ + -o $output_file +``` + +`predict.py` is the main executable python script, which includes functions: load model, load data, data prediction. The network model will output the probability distribution of labels. In the demo, we take the label with maximum probability as result. User can also implement the beam search or viterbi decoding upon the probability distribution matrix. + +After prediction, the result is saved in `predict.res`. + +## Reference +[1] Martha Palmer, Dan Gildea, and Paul Kingsbury. The Proposition Bank: An Annotated Corpus of Semantic Roles , Computational Linguistics, 31(1), 2005. + +[2] Zhou, Jie, and Wei Xu. "End-to-end learning of semantic role labeling using recurrent neural networks." Proceedings of the Annual Meeting of the Association for Computational Linguistics. 2015. diff --git a/release/0.10.0/doc/_sources/tutorials/sentiment_analysis/index_en.md.txt b/release/0.10.0/doc/_sources/tutorials/sentiment_analysis/index_en.md.txt new file mode 100644 index 0000000000..bb7681db44 --- /dev/null +++ b/release/0.10.0/doc/_sources/tutorials/sentiment_analysis/index_en.md.txt @@ -0,0 +1,328 @@ +# Sentiment Analysis Tutorial + +Sentiment analysis has many applications. A basic task in sentiment analysis is classifying the polarity of a given text at the document, sentence or feature/aspect level. One simple example is to classify the customer reviews in a shopping website, a tourism website, and group buying websites like Amazon, TaoBao, Tmall etc. + +Sentiment analysis is also used to monitor social media based on large amount of reviews or blogs. For example, the researchers analyzed several surveys on consumer confidence and political opinion, found they correlate to sentiment word frequencies in contemporaneous Twitter messages [1]. Another example is to forecast stock movements through analyzing the text content of a daily Twitter blog [2]. + +On the other hand, grabbing the user comments of products and analyzing their sentiment are useful to understand user preferences for companies, products, even competing products. + +This tutorial will guide you through the process of training a Long Short Term Memory (LSTM) Network to classify the sentiment of sentences from [Large Movie Review Dataset](http://ai.stanford.edu/~amaas/data/sentiment/), sometimes known as the Internet Movie Database (IMDB). This dataset contains movie reviews along with their associated binary sentiment polarity labels, namely positive and negative. So randomly guessing yields 50% accuracy. + +## Data Preparation + +### IMDB Data Introduction + +Before training models, we need to preprocess the data and build a dictionary. First, you can use following script to download IMDB dataset and [Moses](http://www.statmt.org/moses/) tool, which is a statistical machine translation system. We provide a data preprocessing script, which is capable of handling not only IMDB data, but also other user-defined data. In order to use the pre-written script, it needs to move labeled train and test samples to another path, which has been done in `get_imdb.sh`. + +``` +cd demo/sentiment/data +./get_imdb.sh +``` +If the data is obtained successfuly, you will see the following files at ```./demo/sentiment/data```: + +``` +aclImdb get_imdb.sh imdb mosesdecoder-master +``` + +* aclImdb: raw dataset downloaded from website. +* imdb: only contains train and test data. +* mosesdecoder-master: Moses tool. + +IMDB dataset contains 25,000 highly polar movie reviews for training, and 25,000 for testing. A negative review has a score ≤ 4 out of 10, and a positive review has a score ≥ 7 out of 10. After running `./get_imdb.sh`, we can find the dataset has the following structure in `aclImdb`. + +``` +imdbEr.txt imdb.vocab README test train +``` +* train: train sets. +* test : test sets. +* imdb.vocab: dictionary. +* imdbEr.txt: expected rating for each token in imdb.vocab. +* README: data documentation. + +The file in train set directory is as follows. The test set also contains them except `unsup` and `urls_unsup.txt`. + +``` +labeledBow.feat neg pos unsup unsupBow.feat urls_neg.txt urls_pos.txt urls_unsup.txt +``` + +* pos: positive samples, contains 12,500 txt files, each file is one movie review. +* neg: negative samples, contains 12,500 txt files, each file is one movie review. +* unsup: unlabeled samples, contains 50,000 txt files. +* urls_xx.txt: urls of each reviews. +* xxBow.feat: already-tokenized bag of words (BoW) features. + +### IMDB Data Preparation + +In this demo, we only use labled train and test set and not use imdb.vocab as dictionary. By default, dictionary is builded on train set. Train set is shuffled and test set is not. `tokenizer.perl` in Moses tool is used to tokenize the words and punctuation. Simply execute the following command to preprcess data. + +``` +cd demo/sentiment/ +./preprocess.sh +``` +preprocess.sh: + +``` +data_dir="./data/imdb" +python preprocess.py -i data_dir +``` + +* data_dir: input data directory. +* preprocess.py: preprocess script. + +If running successfully, you will see `demo/sentiment/data/pre-imdb` directory as follows: + +``` +dict.txt labels.list test.list test_part_000 train.list train_part_000 +``` +* test\_part\_000 and train\_part\_000: all labeled test and train sets. Train sets have be shuffled. +* train.list and test.list: train and test file lists. +* dict.txt: dictionary generated on train sets by default. +* labels.txt: neg 0, pos 1, means label 0 is negative review, label 1 is positive review. + +### User-defined Data Preparation + +If you perform other sentiment classifcation task, you can prepare data as follows. We have provided the scripts to build dictionary and preprocess data. So just organize data as follows. + +``` +dataset +|----train +| |----class1 +| | |----text_files +| |----class2 +| | |----text_files +| | ... +|----test +| |----class1 +| | |----text_files +| |----class2 +| | |----text_files +| | ... +``` +* dataset: 1st directory. +* train, test: 2nd directory. +* class1,class2,...: 3rd directory. +* text_files: samples with text file format. + +All samples with text files format under the same folder are same category. Each text file contains one or more samples and each line is one sample. In order to shuffle fully, the preprocessing is a little different for data with multiple lines in one text file, which needs to set `-m True` in `preprocess.sh`. And tokenizer.perl is used by default. If you don't need it, only set `-t False` in `preprocess.sh'. + +## Training + +In this task, we use Recurrent Neural Network (RNN) of LSTM architecure to train sentiment analysis model. LSTM model was introduced primarily in order to overcome the problem of vanishing gradients. LSTM network resembles a standard recurrent neural network with a hidden layer, but each ordinary node in the hidden layer is replaced by a memory cell. Each memory cell contains four main elements: an input gate, a neuron with a self-recurrent connection, a forget gate and an output gate. More details can be found in the literature [4]. The biggest advantage of the LSTM architecture is that it learns to memorize information over long time intervals without the loss of short time memory. At each time step with a new coming word, historical information stored in the memory block is updated to iteratively learn the sequence representation. + +
![LSTM](./lstm.png)
+
Figure 1. LSTM [3]
+ +Sentiment analysis is among the most typical problems in natural language understanding. It aims at predicting the attitude expressed in a sequence. Usually, only some key words, like adjectives and adverbs words, play a major role in predicting the sentiment of sequences or paragraphs. However, some review or comment contexts are very long, such as IMDB dataset. We use LSTM to perform this task for its improved design with the gate mechanism. First, it is able to summarize the representation from word level to context level with variable context length which is adapted by the gate values. Second, it can utilize the expanded context at the sentence level, while most methods are good at utilizing n-gram level knowledge. Third, it learns the paragraph representation directly rather than combining the context level information. This results in this end-to-end framework. + +In this demo we provide two network, namely bidirectional-LSTM and three layers of stacked-LSTM. + +#### Bidirectional-LSTM + +One is a bidirectional LSTM network, connected by fully connected layer and softmax, as shown in Figure 2. + +
![BiLSTM](./bi_lstm.jpg)
+
Figure 2. Bidirectional-LSTM
+ +#### Stacked-LSTM +Another is three-layer LSTM structure in Figure 3. The bottom of the figure is word embedding. Next, three LSTM-Hidden layers are connected and the second LSTM is reversed. Then extract the maximum hidden vectors of all time step of hidden and LSTM layer as the representation for the entire sequence. Finally, a fully connected feed forward layer with softmax activation is used to perform the classification task. This network is refered to paper [5]. + +
![StackedLSTM](./stacked_lstm.jpg)
+
Figure 3. Stacked-LSTM for sentiment analysis
+ +**Config** + +Switch into `demo/sentiment` directory, `trainer_config.py` file is an example of the config, containing algorithm and newtork configure. The first line imports predefined networks from `sentiment_net.py`. + +trainer_config.py: + +```python +from sentiment_net import * + +data_dir = "./data/pre-imdb" +# whether this config is used for test +is_test = get_config_arg('is_test', bool, False) +# whether this config is used for prediction +is_predict = get_config_arg('is_predict', bool, False) +dict_dim, class_dim = sentiment_data(data_dir, is_test, is_predict) + +################## Algorithm Config ##################### + +settings( + batch_size=128, + learning_rate=2e-3, + learning_method=AdamOptimizer(), + average_window=0.5, + regularization=L2Regularization(8e-4), + gradient_clipping_threshold=25 +) + +#################### Network Config ###################### +stacked_lstm_net(dict_dim, class_dim=class_dim, + stacked_num=3, is_predict=is_predict) +#bidirectional_lstm_net(dict_dim, class_dim=class_dim, is_predict=is_predict) +``` + +* **Data Definition**: + * get\_config\_arg(): get arguments setted by `--config_args=xx` in commandline argument. + * Define data provider, here using Python interface to load data. For details, you can refer to the document of PyDataProvider2. + +* **Algorithm Configuration**: + * set batch size of 128. + * set global learning rate. + * use adam optimization. + * set average sgd window. + * set L2 regularization. + * set gradient clipping threshold. +* **Network Configuration**: + * dict_dim: dictionary dimension. + * class_dim: category number, IMDB has two label, namely positive and negative label. + * `stacked_lstm_net`: predefined network as shown in Figure 3, use this network by default. + * `bidirectional_lstm_net`: predefined network as shown in Figure 2. + +**Training** + +Install PaddlePaddle first if necessary. Then you can use script `train.sh` as follows to launch local training. + +``` +cd demo/sentiment/ +./train.sh +``` + +train.sh: + +``` +config=trainer_config.py +output=./model_output +paddle train --config=$config \ + --save_dir=$output \ + --job=train \ + --use_gpu=false \ + --trainer_count=4 \ + --num_passes=10 \ + --log_period=20 \ + --dot_period=20 \ + --show_parameter_stats_period=100 \ + --test_all_data_in_one_period=1 \ + 2>&1 | tee 'train.log' +``` + +* \--config=$config: set network config. +* \--save\_dir=$output: set output path to save models. +* \--job=train: set job mode to train. +* \--use\_gpu=false: use CPU to train, set true, if you install GPU version of PaddlePaddle and want to use GPU to train. +* \--trainer\_count=4: set thread number (or GPU count). +* \--num\_passes=15: set pass number, one pass in PaddlePaddle means training all samples in dataset one time. +* \--log\_period=20: print log every 20 batches. +* \--show\_parameter\_stats\_period=100: show parameter statistic every 100 batches. +* \--test\_all_data\_in\_one\_period=1: test all data every testing. + +If the run succeeds, the output log is saved in path of `demo/sentiment/train.log` and model is saved in path of `demo/sentiment/model_output/`. The output log is explained as follows. + +``` +Batch=20 samples=2560 AvgCost=0.681644 CurrentCost=0.681644 Eval: classification_error_evaluator=0.36875 CurrentEval: classification_error_evaluator=0.36875 +... +Pass=0 Batch=196 samples=25000 AvgCost=0.418964 Eval: classification_error_evaluator=0.1922 +Test samples=24999 cost=0.39297 Eval: classification_error_evaluator=0.149406 +``` +- Batch=xx: means passing xx batches. +- samples=xx: means passing xx samples. +- AvgCost=xx: averaged cost from 0-th batch to current batch. +- CurrentCost=xx: current cost of latest log_period batches. +- Eval: classification\_error\_evaluator=xx: means classfication error from 0-th batch ro current batch. +- CurrentEval: classification\_error\_evaluator: current classfication error of the lates log_period batches. +- Pass=0: Going through all training set one time is called one pass. 0 means going through training set first time. + +By default, we use the `stacked_lstm_net` network, which converges at a faster rate than `bidirectional_lstm_net` when passing same sample number. If you want to use bidirectional LSTM, just remove comment in the last line and comment `stacked_lstm_net`. + +## Testing + +Testing means evaluating the labeled validation set using trained model. + +``` +cd demo/sentiment +./test.sh +``` + +test.sh: + +```bash +function get_best_pass() { + cat $1 | grep -Pzo 'Test .*\n.*pass-.*' | \ + sed -r 'N;s/Test.* error=([0-9]+\.[0-9]+).*\n.*pass-([0-9]+)/\1 \2/g' | \ + sort | head -n 1 +} + +log=train.log +LOG=`get_best_pass $log` +LOG=(${LOG}) +evaluate_pass="model_output/pass-${LOG[1]}" + +echo 'evaluating from pass '$evaluate_pass + +model_list=./model.list +touch $model_list | echo $evaluate_pass > $model_list +net_conf=trainer_config.py +paddle train --config=$net_conf \ + --model_list=$model_list \ + --job=test \ + --use_gpu=false \ + --trainer_count=4 \ + --config_args=is_test=1 \ + 2>&1 | tee 'test.log' +``` + +The function `get_best_pass` gets the best model by classification error rate for testing. In this example, We use test dataset of IMDB as validation by default. Unlike training, it needs to specify `--job=test` and model path, namely `--model_list=$model_list` here. If running successfully, the log is saved in path of `demo/sentiment/test.log`. For example, in our test, the best model is `model_output/pass-00002`, the classification error is 0.115645 as follows. + +``` +Pass=0 samples=24999 AvgCost=0.280471 Eval: classification_error_evaluator=0.115645 +``` + +## Prediction + +`predict.py` provides a predicting interface. You should install python api of PaddlePaddle before using it. One example to predict unlabeled review of IMDB is as follows. Simply running: + +``` +cd demo/sentiment +./predict.sh +``` +predict.sh: + +``` +#Note the default model is pass-00002, you shold make sure the model path +#exists or change the mode path. +model=model_output/pass-00002/ +config=trainer_config.py +label=data/pre-imdb/labels.list +cat ./data/aclImdb/test/pos/10007_10.txt | python predict.py \ + --tconf=$config\ + --model=$model \ + --label=$label \ + --dict=./data/pre-imdb/dict.txt \ + --batch_size=1 +``` + +* `cat ./data/aclImdb/test/pos/10007_10.txt` : the input sample. +* `predict.py` : predicting interface. +* `--tconf=$config` : set network configure. +* ` --model=$model` : set model path. +* `--label=$label` : set dictionary about corresponding relation between integer label and string label. +* `--dict=data/pre-imdb/dict.txt` : set dictionary. +* `--batch_size=1` : set batch size. + +Note you should make sure the default model path `model_output/pass-00002` +exists or change the model path. + +Predicting result of this example: + +``` +Loading parameters from model_output/pass-00002/ +./data/aclImdb/test/pos/10014_7.txt: predicting label is pos +``` +We sincerely appreciate your interest and welcome your contributions. + +## Reference +[1] Brendan O'Connor, Ramnath Balasubramanyan, Bryan R. Routledge, and Noah A. Smith. 2010. [From Tweets to Polls: Linking Text Sentiment to Public Opinion Time Series](http://homes.cs.washington.edu/~nasmith/papers/oconnor+balasubramanyan+routledge+smith.icwsm10.pdf). In ICWSM-2010.
+[2] Johan Bollen, Huina Mao, Xiaojun Zeng. 2011. [Twitter mood predicts the stock market](http://arxiv.org/abs/1010.3003), Journal of Computational Science.
+[3] Alex Graves, Marcus Liwicki, Santiago Fernan- dez, Roman Bertolami, Horst Bunke, and Ju ̈rgen Schmidhuber. 2009. [A novel connectionist system for unconstrained handwriting recognition. IEEE Transactions on Pattern Analysis and Machine In- telligence](http://www.cs.toronto.edu/~graves/tpami_2009.pdf), 31(5):855–868.
+[4] Zachary C. Lipton, [A Critical Review of Recurrent Neural Networks for Sequence Learning](http://arxiv.org/abs/1506.00019v1), arXiv:1506.00019.
+[5] Jie Zhou and Wei Xu; [End-to-end Learning of Semantic Role Labeling Using Recurrent Neural Networks](http://www.aclweb.org/anthology/P/P15/P15-1109.pdf); ACL-IJCNLP 2015.
diff --git a/release/0.10.0/doc/_sources/tutorials/text_generation/index_en.md.txt b/release/0.10.0/doc/_sources/tutorials/text_generation/index_en.md.txt new file mode 100644 index 0000000000..5d8e667c20 --- /dev/null +++ b/release/0.10.0/doc/_sources/tutorials/text_generation/index_en.md.txt @@ -0,0 +1,338 @@ +# Text generation Tutorial # + +Sequence to sequence has been proven to be a powerful model for language generation. It can be used for machine translation, query rewriting, image captioning, etc. + +This tutorial guides you through training a sequence to sequence model for neural machine translation (NMT) network that translates French to English. + +We follow the paper [Neural Machine Translation by Jointly Learning to Align and Translate](http://arxiv.org/abs/1409.0473) , which details the model architecture and training procedure for good performance on WMT-14 dataset. This tutorial reproduces this result in PaddlePaddle. + +We thank @caoying for the pull request that defines the model architecture and solver configurations. + +## Data Preparation ## +### Download and Extract ### +Download the WMT-14 dataset from [http://www-lium.univ-lemans.fr/~schwenk/cslm\_joint\_paper/](http://www-lium.univ-lemans.fr/~schwenk/cslm_joint_paper/), extract it, and divide Develop and Test data into separate folder. + +- **Train data**: [bitexts (after selection)](http://www-lium.univ-lemans.fr/~schwenk/cslm_joint_paper/data/bitexts.tgz) +- **Develop and Test data**: [dev+test data](http://www-lium.univ-lemans.fr/~schwenk/cslm_joint_paper/data/dev+test.tgz) + +To do this, simply run the following commands in linux, otherwise, you need to download, extract, divide, and rename the file suffix respectively. + +```bash +cd demo/seqToseq/data +./wmt14_data.sh +``` + +We should find that the dataset `wmt14` has three folders as shown in the following table. + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
folder nameFrench-English parallel corpora filenumber of total filesize
train_dataccb2_pc30.src, ccb2_pc30.trg, etctwelve3.55G
test_datantst1213.src, ntst1213.trgtwo1636k
gen_datantst14.src, ntst14.trgtwo864k
+
+ +- Each folder has French-English parallel corpora +- **XXX.src** are source French files; **XXX.trg** are target English files. +- The number of lines of **XXX.src** and **XXX.trg** should be the same. +- Each line is a French/English sentence. +- There is a one-to-one correspondence between the sentence at the i-th line of **XXX.src** and **XXX.trg**. + +### User Defined Dataset ### + +If you need to do other sequence-to-sequence tasks, such as Paraphrasing, you only need to organize the data as follows, and place them in `demo/seqToseq/data`: + + dataset + train + file1.src file1.trg + file2.src file2.trg + ...... + test + file1.src file1.trg + file2.src file2.trg + ...... + gen + file1.src file1.trg + file2.src file2.trg + ...... +- 1st directory: dataset folder name +- 2nd directory: folder of train, test, and gen. The names of these three folders are fixed. +- 3rd file: Source-Target parallel corpora files. + - **XXX.src** are source files, **XXX.trg** are target files. + - Each line of the file must be a sequence. + - There should be a one-to-one correspondence between the i-th sequence of **XXX.src** and **XXX.trg**. + +## Data Preprocess ## +### Preprocessing Workflow ### +- Concat each Source-Target parallel corpora to be one file: + - concat each **XXX.src** and **XXX.trg** to be **XXX**. + - the i-th line of **XXX** = the i-th line of **XXX.src** + '\t' + the i-th line of **XXX.trg** +- Build source and target dictionary of train data, each dictionary has DICTSIZE words: + - the most frequent (DICTSIZE-3) words + - 3 special token: + - ``: the start of a sequence + - ``: the end of a sequence + - ``: a word not included in dictionary + +### Preprocessing Command and Result +The general command for preprocessing the dataset is: + +```python +cd demo/seqToseq/ +python preprocess.py -i INPUT [-d DICTSIZE] [-m] +``` + +- `-i INPUT`: the path of input original dataset +- `-d DICTSIZE`: the specified word count of dictionary, if not set, dictionary will contain all the words in input dataset +- `-m --mergeDict`: merge source and target dictionary, thus, two dictionaries have the same context + +And you will see messages like this: + + concat parallel corpora for dataset + build source dictionary for train data + build target dictionary for train data + dictionary size is XXX + +Here, you can simply run the command: + +```python +python preprocess.py -i data/wmt14 -d 30000 +``` + +It will take several minutes, and store the preprocessed dataset in `demo/seqToseq/data/pre-wmt14`, the directory has following structure. + + train test gen train.list test.list gen.list src.dict trg.dict + +- **train, test, gen**: folder contains French-English parallel corpora of train data, test data and gen data respectively. Each line of file in folder contains two parts, the former is a French sequence, and the latter is a corresponding English sequence. +- **train.list, test.list, gen.list**: text contains a file list in train folder, test folder and gen folder respectively +- **src.dict, trg.dict**: source (French) / target (English) dictionary, each dictionary has 30000 words: the most frequent 29997 words and 3 special token + +## Model Training ## +### Introduction ### + +Neural machine translation (NMT) aims at building a single neural network that can be jointly tuned to maximize translation performance. Recently proposed NMT models often belong to a family of encoder–decoder models. Encoder-Decoder models encode a source sentence into a fixed-length vector from which a decoder generates a target sentence. + +In this task, we use an extension to the encoder–decoder model which learns to align and translate jointly. Each time the model generates a word in a translation, it searches for a set of positions in the source sentence for the most relevant information. The decoder predicts a target word based on the context vectors associated with these source positions and all the previous generated target words. For more detailed explanation, readers can refer to paper [Neural Machine Translation by Jointly Learning to Align and Translate](http://arxiv.org/abs/1409.0473). + +The most distinguishing feature of this model is that it doesn't encode an input sentence into a single fixed-length vector. Instead, it encodes the input sentence into a sequence of vectors, where one vector corresponds to an input element. A subset of these vectors is chosen adaptively while decoding the translated sentence. This frees a NMT model from having to squash all the information of a source sentence, regardless of its length, into a fixed-length vector. The improvement of this model is more apparent for longer sentences, but the improvement can be observed for sentences of any length. +
![](./encoder-decoder-attention-model.png)
+
Figure 1. Encoder-Decoder-Attention-Model
+ +### Training Model in PaddlePaddle ### +We need to create a model config file before training. Here is an example `demo/seqToseq/translation/train.conf`. The first three lines import python function for defining network, and define the job_mode and attention_mode. + +```python +from seqToseq_net import * +is_generating = False + +### Data Definiation +train_conf = seq_to_seq_data(data_dir = "./data/pre-wmt14", + is_generating = is_generating) + +### Algorithm Configuration +settings( + learning_method = AdamOptimizer(), + batch_size = 50, + learning_rate = 5e-4) + +### Network Architecture +gru_encoder_decoder(train_conf, is_generating) +``` + +1. **Data Definiation**: We define a SeqToSeq train and test data in our example. It returns train_conf as the configuration, following is its input arguments: + - data_dir: directory of train data and test data + - is\_generating: whether this config is used for generating, here is false +2. **Algorithm Configuration**: We use the SGD training algorithm (default), ADAM learning method in our example, specify batch_size as 50, and learning rate as 5e-4. +3. **Network Architecture**: We use an attention version of GRU Encoder-Decoder network in our example. It consists a bidirectional GRU as an encoder and a decoder that emulates searching through a source sentence during decoding a translation. + +### Training Command and Result### +After writing the model config, we can train the model by running the command: + +```bash +cd demo/seqToseq/translation +./train.sh +``` + +The `train.sh` is shown as follows: + +```bash +paddle train \ +--config='translation/train.conf' \ +--save_dir='translation/model' \ +--use_gpu=false \ +--num_passes=16 \ +--show_parameter_stats_period=100 \ +--trainer_count=4 \ +--log_period=10 \ +--dot_period=5 \ +2>&1 | tee 'translation/train.log' +``` +- config: set config of neural network +- save_dir: set output path to save models +- use_gpu: whether to use GPU to train, here use CPU +- num_passes: set number of passes. One pass in paddle means training all samples in dataset one time +- show_parameter_stats_period: here show parameter statistic every 100 batches +- trainer_count: set number of CPU threads or GPU devices +- log_period: here print log every 10 batches +- dot_period: here print '.' every 5 batches + +The training loss function is printed every 10 batch by default, and you will see messages like this: + + I0719 19:16:45.952062 15563 TrainerInternal.cpp:160] Batch=10 samples=500 AvgCost=198.475 CurrentCost=198.475 Eval: classification_error_evaluator=0.737155 CurrentEval: classification_error_evaluator=0.737155 + I0719 19:17:56.707319 15563 TrainerInternal.cpp:160] Batch=20 samples=1000 AvgCost=157.479 CurrentCost=116.483 Eval: classification_error_evaluator=0.698392 CurrentEval: classification_error_evaluator=0.659065 + ..... +- AvgCost: Average Cost from 0th batch to current batch +- CurrentCost: Cost in current batch +- classification\_error\_evaluator(Eval): False prediction rate for each word from 0th evaluation to current evaluation +- classification\_error\_evaluator(CurrentEval): False prediction rate for each word in current evaluation + +And when the classification\_error\_evaluator is less than 0.35, the model is trained sucessfully. + +## Text Generation ## +### Introduction ### + +Generally speaking, the NMT model is conditioned on the encodings of the source sentence, and then to predict the next target word by given the current target word. In the training process, the current word is always knowns as the ground truth, by contrast. In the generating process, the current word is the output of the decoder in last time step, which is accessed to from a memory in PaddlePaddle. + +Besides, we use Beam Search to generate sequences. Beam search uses breadth-first search to build its search tree. At each level of the tree, it generates all successors of the states at the current level, sorting them in increasing order of heuristic cost. However, it only stores a predetermined number of best states at each level (called the beam size). + +### Pretrained model ### +We trained the model on a cluster with 50 nodes, each node has two 6-core CPUs. We trained 16 passes in 5 days, where each pass takes 7 hours. The model_dir has 16 sub-folder, each of which contains the whole model parameters with 202MB size. And we find pass-00012 model has the highest BLEU 27.77 (see paper [BLEU: a Method for Automatic Evaluation of Machine Translation](http://www.aclweb.org/anthology/P02-1040.pdf)). To download and extract this model, simply run the following commands in linux. + +```bash +cd demo/seqToseq/data +./wmt14_model.sh +``` + +### Generating Model in PaddlePaddle ### +We need to create a model config file before translating French sequence. Here is an example `demo/seqToseq/translation/gen.conf`, the first three lines import python function for defining network, and define the job\_mode and attention\_mode. + +```python +from seqToseq_net import * +is_generating = True + +################## Data Definiation ##################### +gen_conf = seq_to_seq_data(data_dir = "./data/pre-wmt14", + is_generating = is_generating, + gen_result = "./translation/gen_result") + +############## Algorithm Configuration ################## +settings( + learning_method = AdamOptimizer(), + batch_size = 1, + learning_rate = 0) + +################# Network configure ##################### +gru_encoder_decoder(gen_conf, is_generating) +``` + +1. **Data Definiation**: We defines an SeqToSeq gen data in our example. It returns gen_conf as the configuration, following is its input arguments: + - data\_dir: directory of gen data +   - is\_generating: whether this config is used for generating, here is true +   - gen\_result: file to store the generation result +2. **Algorithm Configuration**: We use SGD traing algorithm in generation, and specify batch_size as 1 (each time generate one sequence), and learning rate as 0. +3. **Network Architecture**: Essentially the same as the training model. + +### Generating Command and Result ### +After writing the model config, we can do text translation from French to English by running the command: + +```bash +cd demo/seqToseq/translation +./gen.sh +``` + +The `gen.sh` is shown as follows, unlike training, there are some different arguments to specify: + +```bash +paddle train \ +--job=test \ +--config='translation/gen.conf' \ +--save_dir='data/wmt14_model' \ +--use_gpu=true \ +--num_passes=13 \ +--test_pass=12 \ +--trainer_count=1 \ +2>&1 | tee 'translation/gen.log' +``` +- job: set job mode to test +- save_dir: the path of saved models +- num_passes and test_pass: loading model parameters from test_pass to (num_passes - 1), here only loads `data/wmt14_model/pass-00012` + +You will see messages like this: + + I0706 14:48:31.178915 31441 GradientMachine.cpp:143] Loading parameters from data/wmt14_model/pass-00012 + I0706 14:48:40.012039 31441 Tester.cpp:125] Batch=100 samples=100 AvgCost=0 + I0706 14:48:48.898632 31441 Tester.cpp:125] Batch=200 samples=200 AvgCost=0 + ... + +And the generating result in `demo/seqToseq/translation/gen_result` likes: + + 0 + 0 -11.1314 The about the width of the seats while large controls are at stake + 1 -11.1519 The on the width of the seats while large controls are at stake + 2 -11.5988 The about the width of the seats while large controls are at stake . + + 1 + 0 -24.4149 The dispute is between the major aircraft manufacturers about the width of the tourist seats on the flights , paving the way for a confrontation during the month of the Dubai . + 1 -26.9524 The dispute is between the major aircraft manufacturers about the width of the tourist seats on the flights , paving the way for a confrontation during the month of Dubai ' s . + 2 -27.9574 The dispute is between the major aircraft manufacturers about the width of the tourist seats on the flights , paving the way for a confrontation during the month of Dubai ' s Dubai . + ... + +- This is the beam search result, where beam size is 3 +- '0' in 1st-line and '1' in 6th-line mean the sequence-id in gen data +- Other six lines list the beam search results + - The 2nd-column is the score of beam search (from large to small) + - The 3rd-colunm is the generating English sequence +- There is 2 special tokens: + - ``: the end of a sequence + - ``: a word not included in dictionary + +### Bleu Evalutaion ### +Human evaluations of machine translation are extensive but expensive. Paper [BLEU: a Method for Automatic Evaluation of Machine Translation](http://www.aclweb.org/anthology/P02-1040.pdf) presents a method as an automated understudy to skilled human judges which substitutes for them when there is need for quick or frequent evaluations. [Moses](http://www.statmt.org/moses/) is a statistical machine translation system, and we use [multi-bleu.perl](https://github.com/moses-smt/mosesdecoder/blob/master/scripts/generic/multi-bleu.perl) of it to do Bleu Evalution. To download this script, simply run the following command: + +```bash +cd demo/seqToseq/translation +./moses_bleu.sh +``` + +Since the standard translation is alrealy downloaded as `data/wmt14/gen/ntst14.trg`, we can do Bleu Evalution by running the command: + +```bash +cd demo/seqToseq/translation +./eval_bleu.sh FILE BEAMSIZE +``` + +- FILE: the generation result file +- BEAMSIZE: expand width in beam search diff --git a/release/0.10.0/doc/_static/ajax-loader.gif b/release/0.10.0/doc/_static/ajax-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..61faf8cab23993bd3e1560bff0668bd628642330 GIT binary patch literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nno%(3)e{?)x>&1u}A`t?OF7Z|1gRivOgXi&7IyQd1Pl zGfOfQ60;I3a`F>X^fL3(@);C=vM_KlFfb_o=k{|A33hf2a5d61U}gjg=>Rd%XaNQW zW@Cw{|b%Y*pl8F?4B9 zlo4Fz*0kZGJabY|>}Okf0}CCg{u4`zEPY^pV?j2@h+|igy0+Kz6p;@SpM4s6)XEMg z#3Y4GX>Hjlml5ftdH$4x0JGdn8~MX(U~_^d!Hi)=HU{V%g+mi8#UGbE-*ao8f#h+S z2a0-5+vc7MU$e-NhmBjLIC1v|)9+Im8x1yacJ7{^tLX(ZhYi^rpmXm0`@ku9b53aN zEXH@Y3JaztblgpxbJt{AtE1ad1Ca>{v$rwwvK(>{m~Gf_=-Ro7Fk{#;i~+{{>QtvI yb2P8Zac~?~=sRA>$6{!(^3;ZP0TPFR(G_-UDU(8Jl0?(IXu$~#4A!880|o%~Al1tN literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_static/basic.css b/release/0.10.0/doc/_static/basic.css new file mode 100644 index 0000000000..dc88b5a2d0 --- /dev/null +++ b/release/0.10.0/doc/_static/basic.css @@ -0,0 +1,632 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox input[type="text"] { + width: 170px; +} + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li div.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px 7px 0 7px; + background-color: #ffe; + width: 40%; + float: right; +} + +p.sidebar-title { + font-weight: bold; +} + +/* -- topics ---------------------------------------------------------------- */ + +div.topic { + border: 1px solid #ccc; + padding: 7px 7px 0 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +div.admonition dl { + margin-bottom: 0; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + border: 0; + border-collapse: collapse; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +table.footnote td, table.footnote th { + border: 0 !important; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +dl { + margin-bottom: 15px; +} + +dd p { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +dt:target, .highlighted { + background-color: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; +} + +td.linenos pre { + padding: 5px 0px; + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + margin-left: 0.5em; +} + +table.highlighttable td { + padding: 0 0.5em 0 0.5em; +} + +div.code-block-caption { + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +div.code-block-caption + div > div.highlight > pre { + margin-top: 0; +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + padding: 1em 1em 0; +} + +div.literal-block-wrapper div.highlight { + margin: 0; +} + +code.descname { + background-color: transparent; + font-weight: bold; + font-size: 1.2em; +} + +code.descclassname { + background-color: transparent; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: relative; + left: 0px; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/release/0.10.0/doc/_static/comment-bright.png b/release/0.10.0/doc/_static/comment-bright.png new file mode 100644 index 0000000000000000000000000000000000000000..15e27edb12ac25701ac0ac21b97b52bb4e45415e GIT binary patch literal 756 zcmVgfIX78 z$8Pzv({A~p%??+>KickCb#0FM1rYN=mBmQ&Nwp<#JXUhU;{|)}%&s>suq6lXw*~s{ zvHx}3C%<;wE5CH!BR{p5@ml9ws}y)=QN-kL2?#`S5d*6j zk`h<}j1>tD$b?4D^N9w}-k)bxXxFg>+#kme^xx#qg6FI-%iv2U{0h(Y)cs%5a|m%Pn_K3X_bDJ>EH#(Fb73Z zfUt2Q3B>N+ot3qb*DqbTZpFIn4a!#_R-}{?-~Hs=xSS6p&$sZ-k1zDdtqU`Y@`#qL z&zv-~)Q#JCU(dI)Hf;$CEnK=6CK50}q7~wdbI->?E07bJ0R;!GSQTs5Am`#;*WHjvHRvY?&$Lm-vq1a_BzocI^ULXV!lbMd%|^B#fY;XX)n<&R^L z=84u1e_3ziq;Hz-*k5~zwY3*oDKt0;bM@M@@89;@m*4RFgvvM_4;5LB!@OB@^WbVT zjl{t;a8_>od-~P4 m{5|DvB&z#xT;*OnJqG}gk~_7HcNkCr0000W zanA~u9RIXo;n7c96&U)YLgs-FGlx~*_c{Jgvesu1E5(8YEf&5wF=YFPcRe@1=MJmi zag(L*xc2r0(slpcN!vC5CUju;vHJkHc*&70_n2OZsK%O~A=!+YIw z7zLLl7~Z+~RgWOQ=MI6$#0pvpu$Q43 zP@36QAmu6!_9NPM?o<1_!+stoVRRZbW9#SPe!n;#A_6m8f}|xN1;H{`0RoXQ2LM47 zt(g;iZ6|pCb@h2xk&(}S3=EVBUO0e90m2Lp5CB<(SPIaB;n4))3JB87Or#XPOPcum z?<^(g+m9}VNn4Y&B`g8h{t_$+RB1%HKRY6fjtd-<7&EsU;vs0GM(Lmbhi%Gwcfs0FTF}T zL{_M6Go&E0Eg8FuB*(Yn+Z*RVTBE@10eIOb3El^MhO`GabDll(V0&FlJi2k^;q8af zkENdk2}x2)_KVp`5OAwXZM;dG0?M-S)xE1IKDi6BY@5%Or?#aZ9$gcX)dPZ&wA1a< z$rFXHPn|TBf`e?>Are8sKtKrKcjF$i^lp!zkL?C|y^vlHr1HXeVJd;1I~g&Ob-q)& z(fn7s-KI}G{wnKzg_U5G(V%bX6uk zIa+<@>rdmZYd!9Y=C0cuchrbIjuRB_Wq{-RXlic?flu1*_ux}x%(HDH&nT`k^xCeC ziHi1!ChH*sQ6|UqJpTTzX$aw8e(UfcS^f;6yBWd+(1-70zU(rtxtqR%j z-lsH|CKQJXqD{+F7V0OTv8@{~(wp(`oIP^ZykMWgR>&|RsklFMCnOo&Bd{le} zV5F6424Qzl;o2G%oVvmHgRDP9!=rK8fy^!yV8y*4p=??uIRrrr0?>O!(z*g5AvL2!4z0{sq%vhG*Po}`a<6%kTK5TNhtC8}rXNu&h^QH4A&Sk~Autm*s~45(H7+0bi^MraaRVzr05hQ3iK?j` zR#U@^i0WhkIHTg29u~|ypU?sXCQEQgXfObPW;+0YAF;|5XyaMAEM0sQ@4-xCZe=0e z7r$ofiAxn@O5#RodD8rh5D@nKQ;?lcf@tg4o+Wp44aMl~c47azN_(im0N)7OqdPBC zGw;353_o$DqGRDhuhU$Eaj!@m000000NkvXXu0mjfjZ7Z_ literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_static/css/badge_only.css b/release/0.10.0/doc/_static/css/badge_only.css new file mode 100644 index 0000000000..7e17fb148c --- /dev/null +++ b/release/0.10.0/doc/_static/css/badge_only.css @@ -0,0 +1,2 @@ +.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-weight:normal;font-style:normal;src:url("../font/fontawesome_webfont.eot");src:url("../font/fontawesome_webfont.eot?#iefix") format("embedded-opentype"),url("../font/fontawesome_webfont.woff") format("woff"),url("../font/fontawesome_webfont.ttf") format("truetype"),url("../font/fontawesome_webfont.svg#FontAwesome") format("svg")}.fa:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa{display:inline-block;text-decoration:inherit}li .fa{display:inline-block}li .fa-large:before,li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-0.8em}ul.fas li .fa{width:0.8em}ul.fas li .fa-large:before,ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before{content:""}.icon-book:before{content:""}.fa-caret-down:before{content:""}.icon-caret-down:before{content:""}.fa-caret-up:before{content:""}.icon-caret-up:before{content:""}.fa-caret-left:before{content:""}.icon-caret-left:before{content:""}.fa-caret-right:before{content:""}.icon-caret-right:before{content:""}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;border-top:solid 10px #343131;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980B9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27AE60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book{float:left}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#E74C3C;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#F1C40F;color:#000}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book{float:left}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}img{width:100%;height:auto}} +/*# sourceMappingURL=badge_only.css.map */ diff --git a/release/0.10.0/doc/_static/css/override.css b/release/0.10.0/doc/_static/css/override.css new file mode 100644 index 0000000000..09ecff688b --- /dev/null +++ b/release/0.10.0/doc/_static/css/override.css @@ -0,0 +1,509 @@ +* { + font-family:"Roboto","Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; +} +body { + padding-top: 80px; + background-image: none !important; + font-family: Roboto; +} +a, a:focus, a:hover, a:visited { + color: #597cf1; +} +.site-header { + position: fixed; + top: 0; + width: 100%; + left: 0; + z-index: 99; + background: #333; + height: 80px; + display: -webkit-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + flex-flow: row nowrap; + justify-content: space-between; + box-shadow: #ccc 0 3px 3px; +} +.site-header > div { + height: 80px; + display: inline-block; + background-color: #2f323a; + padding: 0 30px; +} +.site-header .site-logo { + line-height: 80px; + width: 290px; + flex: 0 1 290px; +} +.site-header .site-logo > a { + display: inline-block; + width: 230px; +} +.site-header .site-nav-links { + flex: 0 1 100%; +} +.site-header .site-nav-links .site-menu { + height: 30px; + line-height: 30px; + font-size: 12px; + background: -webkit-linear-gradient(#282b33, #2f323a); + background: -o-linear-gradient(#282b33, #2f323a); + background: -moz-linear-gradient(#282b33, #2f323a); + background: linear-gradient(to left, #282b33, #2f323a); + margin-right: -30px; + padding-right: 30px; +} +.site-header .site-nav-links .site-menu .site-page-links { + display: inline-block; + float: right; + margin-right: 20px; +} +.site-header .site-nav-links .site-menu .site-page-links> li { + display: inline-block; + float: left; +} +.site-header .site-nav-links .site-menu .site-page-links > li > a { + color: #a7adbd; + display: inline-block; + height: 30px; + padding: 0 20px; + font-size: 12px; +} +.site-header .site-nav-links .site-menu .site-page-links > li:hover > a, +.site-header .site-nav-links .site-menu .site-page-links > li.active > a { + background-color: #2f323a; + color: #bcc1d0; +} +.site-header .site-nav-links .site-menu .site-page-links > li.active > a { + font-weight: bold; +} +.site-header .site-nav-links .site-menu .fork-on-github { + color: #597cf1; + line-height: 30px; + display: inline-block; + padding: 0 0 0 20px; + float: right; + position: relative; +} +.site-header .site-nav-links .site-menu .fork-on-github .fa { + margin-right: 5px; + font-size: 16px; + vertical-align: middle; +} +.site-header .site-nav-links .site-menu .language-switcher { + height: 30px; + display: inline-block; + float: right; + line-height: 30px; + padding: 0 20px; + position: relative; +} +.site-header .site-nav-links .site-menu .language-switcher > a { + color: #a7adbd; +} +.site-header .site-nav-links .site-menu .language-switcher.open > a { + background-color: #24272f; + color: #bcc1d0; +} +.site-header .site-nav-links .site-menu .language-switcher .fa { + margin-left: 5px; +} +.site-header .site-nav-links .site-menu .language-switcher .fa-angle-down { + display: inline; +} +.site-header .site-nav-links .site-menu .language-switcher.open .fa-angle-down { + display: none; +} +.site-header .site-nav-links .site-menu .language-switcher .fa-angle-up { + display: none; +} +.site-header .site-nav-links .site-menu .language-switcher.open .fa-angle-up { + display: inline; +} +.site-header .site-nav-links .site-menu .fork-on-github:before, +.site-header .site-nav-links .site-menu .language-switcher:before { + width: 1px; + height: 12px; + top: 9px; + background-color: #3a3d47; + left: 0; + display: inline-block; + position: absolute; + content: ""; +} +.site-header .site-nav-links .site-menu .language-switcher .dropdown-menu { + display: none; + position: absolute; + box-shadow: #ccc 0 0 5px; + background-color: #fff; + width: 100%; + left: 0; + top: 30px; +} +.site-header .site-nav-links .site-menu .language-switcher .dropdown-menu > li { + line-height: 30px; + padding: 0 20px; +} +.site-header .site-nav-links .site-menu .language-switcher .dropdown-menu > li:hover { + background-color: #f7f8fe; +} +.site-header .site-nav-links .site-menu .language-switcher .dropdown-menu > li + li { + border-top: 1px solid #dedfe5; +} +.site-header .site-nav-links .site-menu .language-switcher .dropdown-menu > li > a { + color: #2f323a; +} +.site-header .site-nav-links .site-menu .language-switcher.open .dropdown-menu { + display: inline-block; +} +.site-header .site-nav-links .doc-module { + display: block; + height: 50px; + line-height: 50px; +} +.site-header .site-nav-links .doc-module > ul > li { + display: inline-block; + float: left; +} +.site-header .site-nav-links .doc-module > ul > li > a { + color: #c9cbd0; + font-size: 14px; + display: inline-block; + height: 50px; + line-height: 50px; + border-bottom: 2px solid transparent; + padding: 0 20px; +} +.site-header .site-nav-links .doc-module > ul > li:hover > a { + color: #fff; +} +.site-header .site-nav-links .doc-module > ul > li.current > a { + border-bottom-color: #fff; + color: #fff; +} +.site-header .site-nav-links .doc-module [role="search"]{ + float: right; +} +.site-header .site-nav-links .doc-module [role="search"] input { + background-color: #3a3d47; + border-radius: 15px; + color: #a7adbd; + border: 1px solid transparent; + padding: 6px 15px; + width: 180px; + box-shadow: none; + transition: all .2s; + -webkit-transition: all .2s; + -moz-transition: all .2s; + -o-transition: all .2s; + background-repeat: no-repeat; + background-position: 145px center; + background-image: url("data:image/png;base64,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"); +} +.site-header .site-nav-links .doc-module [role="search"] input:focus { + width: 300px; +} +.site-header .site-nav-links .doc-module [role="search"] input:focus { + background-position: 265px center; +} +.site-header .site-nav-links .doc-module [role="search"] input:hover, +.site-header .site-nav-links .doc-module [role="search"] input:focus { + color: #fff; + border-color: #597cf1; + background-image: url("data:image/png;base64,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"); +} +.doc-menu-vertical { + display: inline-block; + float: left; + width: 240px; + height: 100%; + background-color: #ecedee; + position: absolute; + left: 0; + top: 0; + overflow: hidden; + padding: 0; + border-right: 1px solid #dddfe3; +} +.doc-menu-vertical > ul { + display: none; +} +.doc-menu-vertical > ul.current{ + display: block; +} +.doc-menu-vertical > ul.current > li.toctree-l1 { + display: none; +} +.doc-menu-vertical > ul.current > li.toctree-l1.current { + display: block; +} +.doc-menu-vertical > ul.current > li.toctree-l1.current > a { + display: none; +} +.doc-menu-vertical .toctree-l2 a { + width: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + padding-right: 30px; +} +.doc-menu-vertical .toctree-l2 > a { + font-size: 14px; + color: #2f323a; + padding-left: 30px; + line-height: 50px; + display: block; + font-weight: bold; + border-bottom: 1px solid #dddfe3; +} +.doc-menu-vertical .toctree-l2.has-child > a:after { + font-family: "FontAwesome"; + display: inline-block; + font-style: normal; + font-weight: normal; + text-decoration: inherit; + content: ""; + float: right; + line-height: 50px; + color: #a7adbd; + position: absolute; + right: 15px; +} +.doc-menu-vertical .toctree-l2.has-child.current > a:after { + content: ""; +} +.doc-menu-vertical .toctree-l2 > a + ul{ + background-color: #e4e6e9; + height: 0; + overflow: hidden; +} +.doc-menu-vertical .toctree-l2.current > a + ul { + border-bottom: 1px solid #dddfe3; + height: auto; +} +.doc-menu-vertical .toctree-l2 li.active > a { + background-color: #597cf1; + color: #fff; +} +.doc-menu-vertical .toctree-l3 > a { + font-size: 12px; + color: #2f323a; + padding-left: 30px; + line-height: 40px; + display: block; +} +.doc-menu-vertical .toctree-l4 > a { + font-size: 12px; + color: #64697b; + padding-left: 50px; + line-height: 30px; + display: block; +} +.doc-menu-vertical .toctree-l5 > a { + font-size: 14px; + color: #ccc; + padding-left: 40px; + display: block; +} +.local-toc { + position: absolute; + height: 100%; + background-color: #f6f7f8; + top: 0; + left: 240px; + padding: 0; + z-index: 9; +} +.local-toc:after { + content: ""; + position: absolute; + height: 100%; + width: 1px; + display: inline-block; + right: 0; + background-color: #dddfe3; + top: 0; + z-index: -1; +} +.local-toc:hover a { + width: auto; +} +.local-toc > ul > li a { + position: relative; + font-size: 12px; + overflow: hidden; + display: none; +} +.local-toc > ul > li > ul > li a { + display: block; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + padding-right: 20px; + width: 50px; +} +.local-toc > ul > li > ul > li > ul > li > ul a { + display: none; +} +.local-toc > ul > li > ul li > a:after { + content: ""; + display: inline-block; + width: 1px; + height: 100%; + background-color: transparent; + position: absolute; + right: 0; + top: 0; +} +.local-toc > ul > li > ul li a:hover{ + background-color: #e6eaf7 !important; +} +.local-toc > ul > li > ul li a:hover:after { + background-color: #e6eaf7 !important; +} +.local-toc > ul > li > ul li.active > a { + color: #ff9711; + background-color: #fff; + border-top: 1px solid #dddfe3; + border-bottom: 1px solid #dddfe3; +} +.local-toc > ul > li > ul li.active > a:before { + background-color: #ff9711; + width: 10px; + height: 10px; + margin: 15px 20px; + border-radius: 5px; +} +.local-toc > ul > li > ul li.active > a:after { + background-color: #fff; +} +.local-toc > ul > li > ul > li { + position: relative; + line-height: 40px; + white-space: nowrap; +} +.local-toc > ul > li > ul > li > a { + color: #64697b; +} +.local-toc > ul > li > ul > li > a + ul { + display: none; +} +.local-toc > ul > li > ul > li > a:before { + display: inline-block; + content: ""; + width: 6px; + height: 6px; + background-color: #ccc; + border-radius: 3px; + margin: 17px 22px; + float: left; +} +.local-toc > ul > li > ul > li > ul > li > a { + color: #a7adbd; +} +.local-toc > ul > li > ul > li > ul > li > a:before { + display: inline-block; + content: ""; + width: 6px; + height: 6px; + background-color: #ccc; + border-radius: 3px; + margin: 17px 22px; + float: left; +} +.main-content-wrap { + position: absolute; + width: 100%; + top: 80px; + bottom: 0; + overflow: auto; + background-color: #f6f7f8; +} +.doc-content-wrap { + margin-left: 290px; + height: 100%; + position: relative; + padding-top: 60px; + background-color: #fff; +} +.doc-content-wrap > div[role='navigation'] { + position: absolute; + top: 0; + width: 100%; + left: 0; + padding: 0 30px; + height: 60px; +} +.wy-breadcrumbs { + line-height: 50px; + height: 60px; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAUCAYAAABMDlehAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjMjhmMGQ3ZC0wODU3LTQ0ZTctOGRhZi00NGU3OTc1ZmM2MzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzRBN0NEODRBRTM2MTFFNjlGMDI4RUM3M0VDQzY4NTkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzRBN0NEODNBRTM2MTFFNjlGMDI4RUM3M0VDQzY4NTkiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozNWQwMzI1ZC01ZDAyLTQ1YTYtODUxOS1lNWUzNjU5NGFhMzAiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDozZGVmZmY0OS1mNjA4LTExNzktYTRlZC1kZjJiNGY3N2YwNzMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7FGmP1AAAAKUlEQVR42mK4/+DpfwY9Q0tBJgYGhv8g4h8uFoKLEGOAc9FYSARAgAEAUgMQYBNmQ7sAAAAASUVORK5CYII="); + background-repeat: repeat no-repeat; + background-position: center 50px; +} +.wy-breadcrumbs > li { + color: #ccc; +} +.wy-breadcrumbs > li a { + color: #ff9711; + padding: 0; +} +.wy-breadcrumbs > li:first-child a { + color: #597cf1; +} +.wy-nav-content{ + max-width: none; + overflow: auto; + position: relative; + padding: 30px; + background-color: #fff; +} +.wy-nav-content h1 { + font-size: 24px; + color: #2f323a; + margin-bottom: 30px; +} +.wy-nav-content h2 { + font-size: 20px; + color: #2f323a; + margin-bottom: 30px; +} +.wy-nav-content h3 { + font-size: 18px; + color: #2f323a; + margin-bottom: 30px; +} +.wy-nav-content h4 { + font-size: 16px; + color: #2f323a; + margin-bottom: 30px; +} +.wy-nav-content p + h1, +.wy-nav-content p + h2, +.wy-nav-content p + h3, +.wy-nav-content p + h4 { + margin-top: 20px; +} +.wy-nav-content p{ + color: #2f323a; + margin-bottom: 20px; + font-size: 14px; +} +#search-results h2 { + font-size: 24px; + margin: 20px 0 10px 0; +} +#search-results p { + color: #a7adbd; +} +#search-results ul.search > li { + border-bottom: none; +} +#search-results ul.search > li > a { + color: #597cf1; +} +.rst-content .highlighted{ + background-color: transparent; + color: #ff9711; + padding: 0; +} diff --git a/release/0.10.0/doc/_static/css/theme.css b/release/0.10.0/doc/_static/css/theme.css new file mode 100644 index 0000000000..7be93399a4 --- /dev/null +++ b/release/0.10.0/doc/_static/css/theme.css @@ -0,0 +1,5 @@ +*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}[hidden]{display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:hover,a:active{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;color:#000;text-decoration:none}mark{background:#ff0;color:#000;font-style:italic;font-weight:bold}pre,code,.rst-content tt,.rst-content code,kbd,samp{font-family:monospace,serif;_font-family:"courier new",monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:before,q:after{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}ul,ol,dl{margin:0;padding:0;list-style:none;list-style-image:none}li{list-style:none}dd{margin:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:0;margin:0;padding:0}label{cursor:pointer}legend{border:0;*margin-left:-7px;padding:0;white-space:normal}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;*width:13px;*height:13px}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top;resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:0.2em 0;background:#ccc;color:#000;padding:0.2em 0}.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;*line-height:0}.ir br{display:none}.hidden{display:none !important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.relative{position:relative}big,small{font-size:100%}@media print{html,body,section{background:none !important}*{box-shadow:none !important;text-shadow:none !important;filter:none !important;-ms-filter:none !important}a,a:visited{text-decoration:underline}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,.rst-content .toctree-wrapper p.caption,h3{orphans:3;widows:3}h2,.rst-content .toctree-wrapper p.caption,h3{page-break-after:avoid}}.fa:before,.wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.toctree-expand:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo,.btn,input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"],select,textarea,.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a,.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a,.wy-nav-top a{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}/*! + * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url("../fonts/fontawesome-webfont.eot?v=4.2.0");src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff?v=4.2.0") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.2.0") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.fa,.wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink,.rst-content tt.download span:first-child,.rst-content code.download span:first-child,.icon{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:0.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:0.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:solid 0.08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.wy-menu-vertical li span.pull-left.toctree-expand,.wy-menu-vertical li.on a span.pull-left.toctree-expand,.wy-menu-vertical li.current>a span.pull-left.toctree-expand,.rst-content .pull-left.admonition-title,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content dl dt .pull-left.headerlink,.rst-content p.caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.rst-content code.download span.pull-left:first-child,.pull-left.icon{margin-right:.3em}.fa.pull-right,.wy-menu-vertical li span.pull-right.toctree-expand,.wy-menu-vertical li.on a span.pull-right.toctree-expand,.wy-menu-vertical li.current>a span.pull-right.toctree-expand,.rst-content .pull-right.admonition-title,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content dl dt .pull-right.headerlink,.rst-content p.caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.rst-content code.download span.pull-right:first-child,.pull-right.icon{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-remove:before,.fa-close:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-gear:before,.fa-cog:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-rotate-right:before,.fa-repeat:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.rst-content .admonition-title:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-warning:before,.fa-exclamation-triangle:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-gears:before,.fa-cogs:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-save:before,.fa-floppy-o:before{content:""}.fa-square:before{content:""}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.wy-dropdown .caret:before,.icon-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-unsorted:before,.fa-sort:before{content:""}.fa-sort-down:before,.fa-sort-desc:before{content:""}.fa-sort-up:before,.fa-sort-asc:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-legal:before,.fa-gavel:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-flash:before,.fa-bolt:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-paste:before,.fa-clipboard:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-unlink:before,.fa-chain-broken:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.toctree-expand:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:""}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:""}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:""}.fa-euro:before,.fa-eur:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-rupee:before,.fa-inr:before{content:""}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:""}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:""}.fa-won:before,.fa-krw:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-turkish-lira:before,.fa-try:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li span.toctree-expand:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-institution:before,.fa-bank:before,.fa-university:before{content:""}.fa-mortar-board:before,.fa-graduation-cap:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:""}.fa-file-zip-o:before,.fa-file-archive-o:before{content:""}.fa-file-sound-o:before,.fa-file-audio-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before{content:""}.fa-ge:before,.fa-empire:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-send:before,.fa-paper-plane:before{content:""}.fa-send-o:before,.fa-paper-plane-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:""}.fa-meanpath:before{content:""}.fa,.wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink,.rst-content tt.download span:first-child,.rst-content code.download span:first-child,.icon,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context{font-family:inherit}.fa:before,.wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.toctree-expand:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before{font-family:"FontAwesome";display:inline-block;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa,a .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li a span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,a .rst-content .admonition-title,.rst-content a .admonition-title,a .rst-content h1 .headerlink,.rst-content h1 a .headerlink,a .rst-content h2 .headerlink,.rst-content h2 a .headerlink,a .rst-content h3 .headerlink,.rst-content h3 a .headerlink,a .rst-content h4 .headerlink,.rst-content h4 a .headerlink,a .rst-content h5 .headerlink,.rst-content h5 a .headerlink,a .rst-content h6 .headerlink,.rst-content h6 a .headerlink,a .rst-content dl dt .headerlink,.rst-content dl dt a .headerlink,a .rst-content p.caption .headerlink,.rst-content p.caption a .headerlink,a .rst-content tt.download span:first-child,.rst-content tt.download a span:first-child,a .rst-content code.download span:first-child,.rst-content code.download a span:first-child,a .icon{display:inline-block;text-decoration:inherit}.btn .fa,.btn .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .btn span.toctree-expand,.btn .wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.on a .btn span.toctree-expand,.btn .wy-menu-vertical li.current>a span.toctree-expand,.wy-menu-vertical li.current>a .btn span.toctree-expand,.btn .rst-content .admonition-title,.rst-content .btn .admonition-title,.btn .rst-content h1 .headerlink,.rst-content h1 .btn .headerlink,.btn .rst-content h2 .headerlink,.rst-content h2 .btn .headerlink,.btn .rst-content h3 .headerlink,.rst-content h3 .btn .headerlink,.btn .rst-content h4 .headerlink,.rst-content h4 .btn .headerlink,.btn .rst-content h5 .headerlink,.rst-content h5 .btn .headerlink,.btn .rst-content h6 .headerlink,.rst-content h6 .btn .headerlink,.btn .rst-content dl dt .headerlink,.rst-content dl dt .btn .headerlink,.btn .rst-content p.caption .headerlink,.rst-content p.caption .btn .headerlink,.btn .rst-content tt.download span:first-child,.rst-content tt.download .btn span:first-child,.btn .rst-content code.download span:first-child,.rst-content code.download .btn span:first-child,.btn .icon,.nav .fa,.nav .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .nav span.toctree-expand,.nav .wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.on a .nav span.toctree-expand,.nav .wy-menu-vertical li.current>a span.toctree-expand,.wy-menu-vertical li.current>a .nav span.toctree-expand,.nav .rst-content .admonition-title,.rst-content .nav .admonition-title,.nav .rst-content h1 .headerlink,.rst-content h1 .nav .headerlink,.nav .rst-content h2 .headerlink,.rst-content h2 .nav .headerlink,.nav .rst-content h3 .headerlink,.rst-content h3 .nav .headerlink,.nav .rst-content h4 .headerlink,.rst-content h4 .nav .headerlink,.nav .rst-content h5 .headerlink,.rst-content h5 .nav .headerlink,.nav .rst-content h6 .headerlink,.rst-content h6 .nav .headerlink,.nav .rst-content dl dt .headerlink,.rst-content dl dt .nav .headerlink,.nav .rst-content p.caption .headerlink,.rst-content p.caption .nav .headerlink,.nav .rst-content tt.download span:first-child,.rst-content tt.download .nav span:first-child,.nav .rst-content code.download span:first-child,.rst-content code.download .nav span:first-child,.nav .icon{display:inline}.btn .fa.fa-large,.btn .wy-menu-vertical li span.fa-large.toctree-expand,.wy-menu-vertical li .btn span.fa-large.toctree-expand,.btn .rst-content .fa-large.admonition-title,.rst-content .btn .fa-large.admonition-title,.btn .rst-content h1 .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.btn .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .btn .fa-large.headerlink,.btn .rst-content p.caption .fa-large.headerlink,.rst-content p.caption .btn .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.rst-content tt.download .btn span.fa-large:first-child,.btn .rst-content code.download span.fa-large:first-child,.rst-content code.download .btn span.fa-large:first-child,.btn .fa-large.icon,.nav .fa.fa-large,.nav .wy-menu-vertical li span.fa-large.toctree-expand,.wy-menu-vertical li .nav span.fa-large.toctree-expand,.nav .rst-content .fa-large.admonition-title,.rst-content .nav .fa-large.admonition-title,.nav .rst-content h1 .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.nav .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.nav .rst-content p.caption .fa-large.headerlink,.rst-content p.caption .nav .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.nav .rst-content code.download span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.nav .fa-large.icon{line-height:0.9em}.btn .fa.fa-spin,.btn .wy-menu-vertical li span.fa-spin.toctree-expand,.wy-menu-vertical li .btn span.fa-spin.toctree-expand,.btn .rst-content .fa-spin.admonition-title,.rst-content .btn .fa-spin.admonition-title,.btn .rst-content h1 .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.btn .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .btn .fa-spin.headerlink,.btn .rst-content p.caption .fa-spin.headerlink,.rst-content p.caption .btn .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.rst-content tt.download .btn span.fa-spin:first-child,.btn .rst-content code.download span.fa-spin:first-child,.rst-content code.download .btn span.fa-spin:first-child,.btn .fa-spin.icon,.nav .fa.fa-spin,.nav .wy-menu-vertical li span.fa-spin.toctree-expand,.wy-menu-vertical li .nav span.fa-spin.toctree-expand,.nav .rst-content .fa-spin.admonition-title,.rst-content .nav .fa-spin.admonition-title,.nav .rst-content h1 .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.nav .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.nav .rst-content p.caption .fa-spin.headerlink,.rst-content p.caption .nav .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.nav .rst-content code.download span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.nav .fa-spin.icon{display:inline-block}.btn.fa:before,.wy-menu-vertical li span.btn.toctree-expand:before,.rst-content .btn.admonition-title:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content dl dt .btn.headerlink:before,.rst-content p.caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.rst-content code.download span.btn:first-child:before,.btn.icon:before{opacity:0.5;-webkit-transition:opacity 0.05s ease-in;-moz-transition:opacity 0.05s ease-in;transition:opacity 0.05s ease-in}.btn.fa:hover:before,.wy-menu-vertical li span.btn.toctree-expand:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.rst-content p.caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.rst-content code.download span.btn:first-child:hover:before,.btn.icon:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li .btn-mini span.toctree-expand:before,.btn-mini .rst-content .admonition-title:before,.rst-content .btn-mini .admonition-title:before,.btn-mini .rst-content h1 .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.btn-mini .rst-content dl dt .headerlink:before,.rst-content dl dt .btn-mini .headerlink:before,.btn-mini .rst-content p.caption .headerlink:before,.rst-content p.caption .btn-mini .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.rst-content tt.download .btn-mini span:first-child:before,.btn-mini .rst-content code.download span:first-child:before,.rst-content code.download .btn-mini span:first-child:before,.btn-mini .icon:before{font-size:14px;vertical-align:-15%}.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.wy-alert-title,.rst-content .admonition-title{color:#fff;font-weight:bold;display:block;color:#fff;background:#6ab0de;margin:-12px;padding:6px 12px;margin-bottom:12px}.wy-alert.wy-alert-danger,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.admonition-todo{background:#fdf3f2}.wy-alert.wy-alert-danger .wy-alert-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .danger .wy-alert-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .danger .admonition-title,.rst-content .error .admonition-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title{background:#f29f97}.wy-alert.wy-alert-warning,.rst-content .wy-alert-warning.note,.rst-content .attention,.rst-content .caution,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.tip,.rst-content .warning,.rst-content .wy-alert-warning.seealso,.rst-content .admonition-todo{background:#ffedcc}.wy-alert.wy-alert-warning .wy-alert-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .attention .wy-alert-title,.rst-content .caution .wy-alert-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .admonition-todo .wy-alert-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .attention .admonition-title,.rst-content .caution .admonition-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .warning .admonition-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .admonition-todo .admonition-title{background:#f0b37e}.wy-alert.wy-alert-info,.rst-content .note,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.rst-content .seealso,.rst-content .wy-alert-info.admonition-todo{background:#e7f2fa}.wy-alert.wy-alert-info .wy-alert-title,.rst-content .note .wy-alert-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.rst-content .note .admonition-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .seealso .admonition-title,.rst-content .wy-alert-info.admonition-todo .admonition-title{background:#6ab0de}.wy-alert.wy-alert-success,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.warning,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.admonition-todo{background:#dbfaf4}.wy-alert.wy-alert-success .wy-alert-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .hint .wy-alert-title,.rst-content .important .wy-alert-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .hint .admonition-title,.rst-content .important .admonition-title,.rst-content .tip .admonition-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.admonition-todo .admonition-title{background:#1abc9c}.wy-alert.wy-alert-neutral,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.admonition-todo{background:#f3f6f6}.wy-alert.wy-alert-neutral .wy-alert-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .admonition-title{color:#404040;background:#e1e4e5}.wy-alert.wy-alert-neutral a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.admonition-todo a{color:#2980B9}.wy-alert p:last-child,.rst-content .note p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.rst-content .seealso p:last-child,.rst-content .admonition-todo p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0px;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,0.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all 0.3s ease-in;-moz-transition:all 0.3s ease-in;transition:all 0.3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27AE60}.wy-tray-container li.wy-tray-item-info{background:#2980B9}.wy-tray-container li.wy-tray-item-warning{background:#E67E22}.wy-tray-container li.wy-tray-item-danger{background:#E74C3C}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width: 768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px 12px;color:#fff;border:1px solid rgba(0,0,0,0.1);background-color:#27AE60;text-decoration:none;font-weight:normal;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:0px 1px 2px -1px rgba(255,255,255,0.5) inset,0px -2px 0px 0px rgba(0,0,0,0.1) inset;outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all 0.1s linear;-moz-transition:all 0.1s linear;transition:all 0.1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:0px -1px 0px 0px rgba(0,0,0,0.05) inset,0px 2px 0px 0px rgba(0,0,0,0.1) inset;padding:8px 12px 6px 12px}.btn:visited{color:#fff}.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn-disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn-disabled:hover,.btn-disabled:focus,.btn-disabled:active{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980B9 !important}.btn-info:hover{background-color:#2e8ece !important}.btn-neutral{background-color:#f3f6f6 !important;color:#404040 !important}.btn-neutral:hover{background-color:#e5ebeb !important;color:#404040}.btn-neutral:visited{color:#404040 !important}.btn-success{background-color:#27AE60 !important}.btn-success:hover{background-color:#295 !important}.btn-danger{background-color:#E74C3C !important}.btn-danger:hover{background-color:#ea6153 !important}.btn-warning{background-color:#E67E22 !important}.btn-warning:hover{background-color:#e98b39 !important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f !important}.btn-link{background-color:transparent !important;color:#2980B9;box-shadow:none;border-color:transparent !important}.btn-link:hover{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:active{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:visited{color:#9B59B6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:before,.wy-btn-group:after{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-active .wy-dropdown-menu{display:block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:solid 1px #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,0.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980B9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:solid 1px #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type="search"]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980B9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;left:auto;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned input,.wy-form-aligned textarea,.wy-form-aligned select,.wy-form-aligned .wy-help-inline,.wy-form-aligned label{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{border:0;margin:0;padding:0}legend{display:block;width:100%;border:0;padding:0;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label{display:block;margin:0 0 0.3125em 0;color:#333;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;*zoom:1;max-width:68em;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#E74C3C}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full input[type="text"],.wy-control-group .wy-form-full input[type="password"],.wy-control-group .wy-form-full input[type="email"],.wy-control-group .wy-form-full input[type="url"],.wy-control-group .wy-form-full input[type="date"],.wy-control-group .wy-form-full input[type="month"],.wy-control-group .wy-form-full input[type="time"],.wy-control-group .wy-form-full input[type="datetime"],.wy-control-group .wy-form-full input[type="datetime-local"],.wy-control-group .wy-form-full input[type="week"],.wy-control-group .wy-form-full input[type="number"],.wy-control-group .wy-form-full input[type="search"],.wy-control-group .wy-form-full input[type="tel"],.wy-control-group .wy-form-full input[type="color"],.wy-control-group .wy-form-halves input[type="text"],.wy-control-group .wy-form-halves input[type="password"],.wy-control-group .wy-form-halves input[type="email"],.wy-control-group .wy-form-halves input[type="url"],.wy-control-group .wy-form-halves input[type="date"],.wy-control-group .wy-form-halves input[type="month"],.wy-control-group .wy-form-halves input[type="time"],.wy-control-group .wy-form-halves input[type="datetime"],.wy-control-group .wy-form-halves input[type="datetime-local"],.wy-control-group .wy-form-halves input[type="week"],.wy-control-group .wy-form-halves input[type="number"],.wy-control-group .wy-form-halves input[type="search"],.wy-control-group .wy-form-halves input[type="tel"],.wy-control-group .wy-form-halves input[type="color"],.wy-control-group .wy-form-thirds input[type="text"],.wy-control-group .wy-form-thirds input[type="password"],.wy-control-group .wy-form-thirds input[type="email"],.wy-control-group .wy-form-thirds input[type="url"],.wy-control-group .wy-form-thirds input[type="date"],.wy-control-group .wy-form-thirds input[type="month"],.wy-control-group .wy-form-thirds input[type="time"],.wy-control-group .wy-form-thirds input[type="datetime"],.wy-control-group .wy-form-thirds input[type="datetime-local"],.wy-control-group .wy-form-thirds input[type="week"],.wy-control-group .wy-form-thirds input[type="number"],.wy-control-group .wy-form-thirds input[type="search"],.wy-control-group .wy-form-thirds input[type="tel"],.wy-control-group .wy-form-thirds input[type="color"]{width:100%}.wy-control-group .wy-form-full{float:left;display:block;margin-right:2.35765%;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child{margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n+1){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child{margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control{margin:6px 0 0 0;font-size:90%}.wy-control-no-input{display:inline-block;margin:6px 0 0 0;font-size:90%}.wy-control-group.fluid-input input[type="text"],.wy-control-group.fluid-input input[type="password"],.wy-control-group.fluid-input input[type="email"],.wy-control-group.fluid-input input[type="url"],.wy-control-group.fluid-input input[type="date"],.wy-control-group.fluid-input input[type="month"],.wy-control-group.fluid-input input[type="time"],.wy-control-group.fluid-input input[type="datetime"],.wy-control-group.fluid-input input[type="datetime-local"],.wy-control-group.fluid-input input[type="week"],.wy-control-group.fluid-input input[type="number"],.wy-control-group.fluid-input input[type="search"],.wy-control-group.fluid-input input[type="tel"],.wy-control-group.fluid-input input[type="color"]{width:100%}.wy-form-message-inline{display:inline-block;padding-left:0.3em;color:#666;vertical-align:middle;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:0.3125em;font-style:italic}.wy-form-message p{font-size:inherit;font-style:italic;margin-bottom:6px}.wy-form-message p:last-child{margin-bottom:0}input{line-height:normal}input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;*overflow:visible}input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border 0.3s linear;-moz-transition:border 0.3s linear;transition:border 0.3s linear}input[type="datetime-local"]{padding:0.34375em 0.625em}input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin-right:0.3125em;*height:13px;*width:13px}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}input[type="text"]:focus,input[type="password"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus{outline:0;outline:thin dotted \9;border-color:#333}input.no-focus:focus{border-color:#ccc !important}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:1px auto #129FEA}input[type="text"][disabled],input[type="password"][disabled],input[type="email"][disabled],input[type="url"][disabled],input[type="date"][disabled],input[type="month"][disabled],input[type="time"][disabled],input[type="datetime"][disabled],input[type="datetime-local"][disabled],input[type="week"][disabled],input[type="number"][disabled],input[type="search"][disabled],input[type="tel"][disabled],input[type="color"][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#E74C3C;border:1px solid #E74C3C}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#E74C3C}input[type="file"]:focus:invalid:focus,input[type="radio"]:focus:invalid:focus,input[type="checkbox"]:focus:invalid:focus{outline-color:#E74C3C}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif}select,textarea{padding:0.5em 0.625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border 0.3s linear;-moz-transition:border 0.3s linear;transition:border 0.3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type="radio"][disabled],input[type="checkbox"][disabled]{cursor:not-allowed}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap;padding:6px}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{line-height:27px;padding:0 8px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:solid 1px #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{width:36px;height:12px;margin:12px 0;position:relative;border-radius:4px;background:#ccc;cursor:pointer;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.wy-switch:before{position:absolute;content:"";display:block;width:18px;height:18px;border-radius:4px;background:#999;left:-3px;top:-3px;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.wy-switch:after{content:"false";position:absolute;left:48px;display:block;font-size:12px;color:#ccc}.wy-switch.active{background:#1e8449}.wy-switch.active:before{left:24px;background:#27AE60}.wy-switch.active:after{content:"true"}.wy-switch.disabled,.wy-switch.active.disabled{cursor:not-allowed}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#E74C3C}.wy-control-group.wy-control-group-error input[type="text"],.wy-control-group.wy-control-group-error input[type="password"],.wy-control-group.wy-control-group-error input[type="email"],.wy-control-group.wy-control-group-error input[type="url"],.wy-control-group.wy-control-group-error input[type="date"],.wy-control-group.wy-control-group-error input[type="month"],.wy-control-group.wy-control-group-error input[type="time"],.wy-control-group.wy-control-group-error input[type="datetime"],.wy-control-group.wy-control-group-error input[type="datetime-local"],.wy-control-group.wy-control-group-error input[type="week"],.wy-control-group.wy-control-group-error input[type="number"],.wy-control-group.wy-control-group-error input[type="search"],.wy-control-group.wy-control-group-error input[type="tel"],.wy-control-group.wy-control-group-error input[type="color"]{border:solid 1px #E74C3C}.wy-control-group.wy-control-group-error textarea{border:solid 1px #E74C3C}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:0.5em 0.625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27AE60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#E74C3C}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#E67E22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980B9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width: 480px){.wy-form button[type="submit"]{margin:0.7em 0 0}.wy-form input[type="text"],.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:0.3em;display:block}.wy-form label{margin-bottom:0.3em;display:block}.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:0.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0 0}.wy-form .wy-help-inline,.wy-form-message-inline,.wy-form-message{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width: 768px){.tablet-hide{display:none}}@media screen and (max-width: 480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.wy-table,.rst-content table.docutils,.rst-content table.field-list{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.wy-table caption,.rst-content table.docutils caption,.rst-content table.field-list caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td,.wy-table th,.rst-content table.docutils th,.rst-content table.field-list th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.wy-table td:first-child,.rst-content table.docutils td:first-child,.rst-content table.field-list td:first-child,.wy-table th:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list th:first-child{border-left-width:0}.wy-table thead,.rst-content table.docutils thead,.rst-content table.field-list thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.wy-table thead th,.rst-content table.docutils thead th,.rst-content table.field-list thead th{font-weight:bold;border-bottom:solid 2px #e1e4e5}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td{background-color:transparent;vertical-align:middle}.wy-table td p,.rst-content table.docutils td p,.rst-content table.field-list td p{line-height:18px}.wy-table td p:last-child,.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child{margin-bottom:0}.wy-table .wy-table-cell-min,.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min{width:1%;padding-right:0}.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:gray;font-size:90%}.wy-table-tertiary{color:gray;font-size:80%}.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td,.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td{background-color:#f3f6f6}.wy-table-backed{background-color:#f3f6f6}.wy-table-bordered-all,.rst-content table.docutils{border:1px solid #e1e4e5}.wy-table-bordered-all td,.rst-content table.docutils td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.wy-table-bordered-all tbody>tr:last-child td,.rst-content table.docutils tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px 0;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0 !important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980B9;text-decoration:none;cursor:pointer}a:hover{color:#3091d1}a:visited{color:#9B59B6}html{height:100%;overflow-x:hidden}body{font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;font-weight:normal;color:#404040;min-height:100%;overflow-x:hidden;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#E67E22 !important}a.wy-text-warning:hover{color:#eb9950 !important}.wy-text-info{color:#2980B9 !important}a.wy-text-info:hover{color:#409ad5 !important}.wy-text-success{color:#27AE60 !important}a.wy-text-success:hover{color:#36d278 !important}.wy-text-danger{color:#E74C3C !important}a.wy-text-danger:hover{color:#ed7669 !important}.wy-text-neutral{color:#404040 !important}a.wy-text-neutral:hover{color:#595959 !important}h1,h2,.rst-content .toctree-wrapper p.caption,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif}p{line-height:24px;margin:0;font-size:16px;margin-bottom:24px}h1{font-size:175%}h2,.rst-content .toctree-wrapper p.caption{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}code,.rst-content tt,.rst-content code{white-space:nowrap;max-width:100%;background:#fff;border:solid 1px #e1e4e5;font-size:75%;padding:0 5px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;color:#E74C3C;overflow-x:auto}code.code-large,.rst-content tt.code-large{font-size:90%}.wy-plain-list-disc,.rst-content .section ul,.rst-content .toctree-wrapper ul,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.wy-plain-list-disc li,.rst-content .section ul li,.rst-content .toctree-wrapper ul li,article ul li{list-style:disc;margin-left:24px}.wy-plain-list-disc li p:last-child,.rst-content .section ul li p:last-child,.rst-content .toctree-wrapper ul li p:last-child,article ul li p:last-child{margin-bottom:0}.wy-plain-list-disc li ul,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li ul,article ul li ul{margin-bottom:0}.wy-plain-list-disc li li,.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,article ul li li{list-style:circle}.wy-plain-list-disc li li li,.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,article ul li li li{list-style:square}.wy-plain-list-disc li ol li,.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,article ul li ol li{list-style:decimal}.wy-plain-list-decimal,.rst-content .section ol,.rst-content ol.arabic,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.wy-plain-list-decimal li,.rst-content .section ol li,.rst-content ol.arabic li,article ol li{list-style:decimal;margin-left:24px}.wy-plain-list-decimal li p:last-child,.rst-content .section ol li p:last-child,.rst-content ol.arabic li p:last-child,article ol li p:last-child{margin-bottom:0}.wy-plain-list-decimal li ul,.rst-content .section ol li ul,.rst-content ol.arabic li ul,article ol li ul{margin-bottom:0}.wy-plain-list-decimal li ul li,.rst-content .section ol li ul li,.rst-content ol.arabic li ul li,article ol li ul li{list-style:disc}.codeblock-example{border:1px solid #e1e4e5;border-bottom:none;padding:24px;padding-top:48px;font-weight:500;background:#fff;position:relative}.codeblock-example:after{content:"Example";position:absolute;top:0px;left:0px;background:#9B59B6;color:#fff;padding:6px 12px}.codeblock-example.prettyprint-example-only{border:1px solid #e1e4e5;margin-bottom:24px}.codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight']{border:1px solid #e1e4e5;padding:0px;overflow-x:auto;background:#fff;margin:1px 0 24px 0}.codeblock div[class^='highlight'],pre.literal-block div[class^='highlight'],.rst-content .literal-block div[class^='highlight'],div[class^='highlight'] div[class^='highlight']{border:none;background:none;margin:0}div[class^='highlight'] td.code{width:100%}.linenodiv pre{border-right:solid 1px #e6e9ea;margin:0;padding:12px 12px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:12px;line-height:1.5;color:#d9d9d9}div[class^='highlight'] pre{white-space:pre;margin:0;padding:12px 12px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:12px;line-height:1.5;display:block;overflow:auto;color:#404040}@media print{.codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight'],div[class^='highlight'] pre{white-space:pre-wrap}}.hll{background-color:#ffc;margin:0 -12px;padding:0 12px;display:block}.c{color:#998;font-style:italic}.err{color:#a61717;background-color:#e3d2d2}.k{font-weight:bold}.o{font-weight:bold}.cm{color:#998;font-style:italic}.cp{color:#999;font-weight:bold}.c1{color:#998;font-style:italic}.cs{color:#999;font-weight:bold;font-style:italic}.gd{color:#000;background-color:#fdd}.gd .x{color:#000;background-color:#faa}.ge{font-style:italic}.gr{color:#a00}.gh{color:#999}.gi{color:#000;background-color:#dfd}.gi .x{color:#000;background-color:#afa}.go{color:#888}.gp{color:#555}.gs{font-weight:bold}.gu{color:purple;font-weight:bold}.gt{color:#a00}.kc{font-weight:bold}.kd{font-weight:bold}.kn{font-weight:bold}.kp{font-weight:bold}.kr{font-weight:bold}.kt{color:#458;font-weight:bold}.m{color:#099}.s{color:#d14}.n{color:#333}.na{color:teal}.nb{color:#0086b3}.nc{color:#458;font-weight:bold}.no{color:teal}.ni{color:purple}.ne{color:#900;font-weight:bold}.nf{color:#900;font-weight:bold}.nn{color:#555}.nt{color:navy}.nv{color:teal}.ow{font-weight:bold}.w{color:#bbb}.mf{color:#099}.mh{color:#099}.mi{color:#099}.mo{color:#099}.sb{color:#d14}.sc{color:#d14}.sd{color:#d14}.s2{color:#d14}.se{color:#d14}.sh{color:#d14}.si{color:#d14}.sx{color:#d14}.sr{color:#009926}.s1{color:#d14}.ss{color:#990073}.bp{color:#999}.vc{color:teal}.vg{color:teal}.vi{color:teal}.il{color:#099}.gc{color:#999;background-color:#EAF2F5}.wy-breadcrumbs li{display:inline-block}.wy-breadcrumbs li.wy-breadcrumbs-aside{float:right}.wy-breadcrumbs li a{display:inline-block;padding:5px}.wy-breadcrumbs li a:first-child{padding-left:0}.wy-breadcrumbs li code,.wy-breadcrumbs li .rst-content tt,.rst-content .wy-breadcrumbs li tt{padding:5px;border:none;background:none}.wy-breadcrumbs li code.literal,.wy-breadcrumbs li .rst-content tt.literal,.rst-content .wy-breadcrumbs li tt.literal{color:#404040}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width: 480px){.wy-breadcrumbs-extra{display:none}.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:before,.wy-menu-horiz:after{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz ul,.wy-menu-horiz li{display:inline-block}.wy-menu-horiz li:hover{background:rgba(255,255,255,0.1)}.wy-menu-horiz li.divide-left{border-left:solid 1px #404040}.wy-menu-horiz li.divide-right{border-right:solid 1px #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical{width:300px}.wy-menu-vertical header,.wy-menu-vertical p.caption{height:32px;display:inline-block;line-height:32px;padding:0 1.618em;margin-bottom:0;display:block;font-weight:bold;text-transform:uppercase;font-size:80%;color:#555;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:solid 1px #404040}.wy-menu-vertical li.divide-bottom{border-bottom:solid 1px #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:gray;border-right:solid 1px #c9c9c9;padding:0.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.wy-menu-vertical li code,.wy-menu-vertical li .rst-content tt,.rst-content .wy-menu-vertical li tt{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li span.toctree-expand{display:block;float:left;margin-left:-1.2em;font-size:0.8em;line-height:1.6em;color:#4d4d4d}.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a{color:#404040;padding:0.4045em 1.618em;font-weight:bold;position:relative;background:#fcfcfc;border:none;border-bottom:solid 1px #c9c9c9;border-top:solid 1px #c9c9c9;padding-left:1.618em -4px}.wy-menu-vertical li.on a:hover,.wy-menu-vertical li.current>a:hover{background:#fcfcfc}.wy-menu-vertical li.on a:hover span.toctree-expand,.wy-menu-vertical li.current>a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand{display:block;font-size:0.8em;line-height:1.6em;color:#333}.wy-menu-vertical li.toctree-l1.current li.toctree-l2>ul,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>ul{display:none}.wy-menu-vertical li.toctree-l1.current li.toctree-l2.current>ul,.wy-menu-vertical li.toctree-l2.current li.toctree-l3.current>ul{display:block}.wy-menu-vertical li.toctree-l2.current>a{background:#c9c9c9;padding:0.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{display:block;background:#c9c9c9;padding:0.4045em 4.045em}.wy-menu-vertical li.toctree-l2 a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.toctree-l2 span.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3{font-size:0.9em}.wy-menu-vertical li.toctree-l3.current>a{background:#bdbdbd;padding:0.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{display:block;background:#bdbdbd;padding:0.4045em 5.663em;border-top:none;border-bottom:none}.wy-menu-vertical li.toctree-l3 a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.toctree-l3 span.toctree-expand{color:#969696}.wy-menu-vertical li.toctree-l4{font-size:0.9em}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical .local-toc li ul{display:block}.wy-menu-vertical li ul li a{margin-bottom:0;color:#b3b3b3;font-weight:normal}.wy-menu-vertical a{display:inline-block;line-height:18px;padding:0.4045em 1.618em;display:block;position:relative;font-size:90%;color:#b3b3b3}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover span.toctree-expand{color:#b3b3b3}.wy-menu-vertical a:active{background-color:#2980B9;cursor:pointer;color:#fff}.wy-menu-vertical a:active span.toctree-expand{color:#fff}.wy-side-nav-search{display:block;width:300px;padding:0.809em;margin-bottom:0.809em;z-index:200;background-color:#2980B9;text-align:center;padding:0.809em;display:block;color:#fcfcfc;margin-bottom:0.809em}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto 0.809em auto;height:45px;width:45px;background-color:#2980B9;padding:5px;border-radius:100%}.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a{color:#fcfcfc;font-size:100%;font-weight:bold;display:inline-block;padding:4px 6px;margin-bottom:0.809em}.wy-side-nav-search>a:hover,.wy-side-nav-search .wy-dropdown>a:hover{background:rgba(255,255,255,0.1)}.wy-side-nav-search>a img.logo,.wy-side-nav-search .wy-dropdown>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search>a.icon img.logo,.wy-side-nav-search .wy-dropdown>a.icon img.logo{margin-top:0.85em}.wy-side-nav-search>div.version{margin-top:-0.4045em;margin-bottom:0.809em;font-weight:normal;color:rgba(255,255,255,0.3)}.wy-nav .wy-menu-vertical header{color:#2980B9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980B9;color:#fff}[data-menu-wrap]{-webkit-transition:all 0.2s ease-in;-moz-transition:all 0.2s ease-in;transition:all 0.2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:left repeat-y #fcfcfc;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxOERBMTRGRDBFMUUxMUUzODUwMkJCOThDMEVFNURFMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxOERBMTRGRTBFMUUxMUUzODUwMkJCOThDMEVFNURFMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4REExNEZCMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4REExNEZDMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EwrlwAAAAA5JREFUeNpiMDU0BAgwAAE2AJgB9BnaAAAAAElFTkSuQmCC);background-size:300px 1px}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:fixed;top:0;bottom:0;left:0;padding-bottom:2em;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;background:#343131;z-index:200}.wy-side-scroll{width:320px;position:relative;overflow-x:hidden;overflow-y:scroll;height:100%}.wy-nav-top{display:none;background:#2980B9;color:#fff;padding:0.4045em 0.809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:before,.wy-nav-top:after{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:bold}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980B9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,0.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:#999}footer p{margin-bottom:12px}footer span.commit code,footer span.commit .rst-content tt,.rst-content footer span.commit tt{padding:0px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:1em;background:none;border:none;color:#999}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:before,.rst-footer-buttons:after{display:table;content:""}.rst-footer-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:solid 1px #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:solid 1px #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:gray;font-size:90%}@media screen and (max-width: 768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-side-scroll{width:auto}.wy-side-nav-search{width:auto}.wy-menu.wy-menu-vertical{width:auto}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width: 1400px){.wy-nav-content-wrap{background:rgba(0,0,0,0.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,footer,.wy-nav-side{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;border-top:solid 10px #343131;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980B9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27AE60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version span.toctree-expand,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content p.caption .headerlink,.rst-content p.caption .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .icon{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#E74C3C;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#F1C40F;color:#000}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}img{width:100%;height:auto}}.rst-content img{max-width:100%;height:auto !important}.rst-content div.figure{margin-bottom:24px}.rst-content div.figure p.caption{font-style:italic}.rst-content div.figure.align-center{text-align:center}.rst-content .section>img,.rst-content .section>a>img{margin-bottom:24px}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content .note .last,.rst-content .attention .last,.rst-content .caution .last,.rst-content .danger .last,.rst-content .error .last,.rst-content .hint .last,.rst-content .important .last,.rst-content .tip .last,.rst-content .warning .last,.rst-content .seealso .last,.rst-content .admonition-todo .last{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,0.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent !important;border-color:rgba(0,0,0,0.1) !important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha li{list-style:upper-alpha}.rst-content .section ol p,.rst-content .section ul p{margin-bottom:12px}.rst-content .line-block{margin-left:24px}.rst-content .topic-title{font-weight:bold;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0px 0px 24px 24px}.rst-content .align-left{float:left;margin:0px 24px 24px 0px}.rst-content .align-center{margin:auto;display:block}.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content .toctree-wrapper p.caption .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink{display:none;visibility:hidden;font-size:14px}.rst-content h1 .headerlink:after,.rst-content h2 .headerlink:after,.rst-content .toctree-wrapper p.caption .headerlink:after,.rst-content h3 .headerlink:after,.rst-content h4 .headerlink:after,.rst-content h5 .headerlink:after,.rst-content h6 .headerlink:after,.rst-content dl dt .headerlink:after,.rst-content p.caption .headerlink:after{visibility:visible;content:"";font-family:FontAwesome;display:inline-block}.rst-content h1:hover .headerlink,.rst-content h2:hover .headerlink,.rst-content .toctree-wrapper p.caption:hover .headerlink,.rst-content h3:hover .headerlink,.rst-content h4:hover .headerlink,.rst-content h5:hover .headerlink,.rst-content h6:hover .headerlink,.rst-content dl dt:hover .headerlink,.rst-content p.caption:hover .headerlink{display:inline-block}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:solid 1px #e1e4e5}.rst-content .sidebar p,.rst-content .sidebar ul,.rst-content .sidebar dl{font-size:90%}.rst-content .sidebar .last{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif;font-weight:bold;background:#e1e4e5;padding:6px 12px;margin:-24px;margin-bottom:24px;font-size:100%}.rst-content .highlighted{background:#F1C40F;display:inline-block;font-weight:bold;padding:0 6px}.rst-content .footnote-reference,.rst-content .citation-reference{vertical-align:super;font-size:90%}.rst-content table.docutils.citation,.rst-content table.docutils.footnote{background:none;border:none;color:#999}.rst-content table.docutils.citation td,.rst-content table.docutils.citation tr,.rst-content table.docutils.footnote td,.rst-content table.docutils.footnote tr{border:none;background-color:transparent !important;white-space:normal}.rst-content table.docutils.citation td.label,.rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}.rst-content table.docutils.citation tt,.rst-content table.docutils.citation code,.rst-content table.docutils.footnote tt,.rst-content table.docutils.footnote code{color:#555}.rst-content table.field-list{border:none}.rst-content table.field-list td{border:none;padding-top:5px}.rst-content table.field-list td>strong{display:inline-block;margin-top:3px}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left;padding-left:0}.rst-content tt,.rst-content tt,.rst-content code{color:#000;padding:2px 5px}.rst-content tt big,.rst-content tt em,.rst-content tt big,.rst-content code big,.rst-content tt em,.rst-content code em{font-size:100% !important;line-height:normal}.rst-content tt.literal,.rst-content tt.literal,.rst-content code.literal{color:#E74C3C}.rst-content tt.xref,a .rst-content tt,.rst-content tt.xref,.rst-content code.xref,a .rst-content tt,a .rst-content code{font-weight:bold;color:#404040}.rst-content a tt,.rst-content a tt,.rst-content a code{color:#2980B9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:bold}.rst-content dl p,.rst-content dl table,.rst-content dl ul,.rst-content dl ol{margin-bottom:12px !important}.rst-content dl dd{margin:0 0 12px 24px}.rst-content dl:not(.docutils){margin-bottom:24px}.rst-content dl:not(.docutils) dt{display:inline-block;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980B9;border-top:solid 3px #6ab0de;padding:6px;position:relative}.rst-content dl:not(.docutils) dt:before{color:#6ab0de}.rst-content dl:not(.docutils) dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dl dt{margin-bottom:6px;border:none;border-left:solid 3px #ccc;background:#f0f0f0;color:#555}.rst-content dl:not(.docutils) dl dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dt:first-child{margin-top:0}.rst-content dl:not(.docutils) tt,.rst-content dl:not(.docutils) tt,.rst-content dl:not(.docutils) code{font-weight:bold}.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descclassname,.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) code.descname,.rst-content dl:not(.docutils) tt.descclassname,.rst-content dl:not(.docutils) code.descclassname{background-color:transparent;border:none;padding:0;font-size:100% !important}.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) code.descname{font-weight:bold}.rst-content dl:not(.docutils) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:bold}.rst-content dl:not(.docutils) .property{display:inline-block;padding-right:8px}.rst-content .viewcode-link,.rst-content .viewcode-back{display:inline-block;color:#27AE60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:bold}.rst-content tt.download,.rst-content code.download{background:inherit;padding:inherit;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before{margin-right:4px}@media screen and (max-width: 480px){.rst-content .sidebar{width:100%}}span[id*='MathJax-Span']{color:#404040}.math{text-align:center}@font-face{font-family:"Inconsolata";font-style:normal;font-weight:400;src:local("Inconsolata"),local("Inconsolata-Regular"),url(../fonts/Inconsolata-Regular.ttf) format("truetype")}@font-face{font-family:"Inconsolata";font-style:normal;font-weight:700;src:local("Inconsolata Bold"),local("Inconsolata-Bold"),url(../fonts/Inconsolata-Bold.ttf) format("truetype")}@font-face{font-family:"Lato";font-style:normal;font-weight:400;src:local("Lato Regular"),local("Lato-Regular"),url(../fonts/Lato-Regular.ttf) format("truetype")}@font-face{font-family:"Lato";font-style:normal;font-weight:700;src:local("Lato Bold"),local("Lato-Bold"),url(../fonts/Lato-Bold.ttf) format("truetype")}@font-face{font-family:"Roboto Slab";font-style:normal;font-weight:400;src:local("Roboto Slab Regular"),local("RobotoSlab-Regular"),url(../fonts/RobotoSlab-Regular.ttf) format("truetype")}@font-face{font-family:"Roboto Slab";font-style:normal;font-weight:700;src:local("Roboto Slab Bold"),local("RobotoSlab-Bold"),url(../fonts/RobotoSlab-Bold.ttf) format("truetype")} +/*# sourceMappingURL=theme.css.map */ diff --git a/release/0.10.0/doc/_static/doctools.js b/release/0.10.0/doc/_static/doctools.js new file mode 100644 index 0000000000..5654977234 --- /dev/null +++ b/release/0.10.0/doc/_static/doctools.js @@ -0,0 +1,287 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for all documentation. + * + * :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/** + * select a different prefix for underscore + */ +$u = _.noConflict(); + +/** + * make the code below compatible with browsers without + * an installed firebug like debugger +if (!window.console || !console.firebug) { + var names = ["log", "debug", "info", "warn", "error", "assert", "dir", + "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", + "profile", "profileEnd"]; + window.console = {}; + for (var i = 0; i < names.length; ++i) + window.console[names[i]] = function() {}; +} + */ + +/** + * small helper function to urldecode strings + */ +jQuery.urldecode = function(x) { + return decodeURIComponent(x).replace(/\+/g, ' '); +}; + +/** + * small helper function to urlencode strings + */ +jQuery.urlencode = encodeURIComponent; + +/** + * This function returns the parsed url parameters of the + * current request. Multiple values per key are supported, + * it will always return arrays of strings for the value parts. + */ +jQuery.getQueryParameters = function(s) { + if (typeof s == 'undefined') + s = document.location.search; + var parts = s.substr(s.indexOf('?') + 1).split('&'); + var result = {}; + for (var i = 0; i < parts.length; i++) { + var tmp = parts[i].split('=', 2); + var key = jQuery.urldecode(tmp[0]); + var value = jQuery.urldecode(tmp[1]); + if (key in result) + result[key].push(value); + else + result[key] = [value]; + } + return result; +}; + +/** + * highlight a given string on a jquery object by wrapping it in + * span elements with the given class name. + */ +jQuery.fn.highlightText = function(text, className) { + function highlight(node) { + if (node.nodeType == 3) { + var val = node.nodeValue; + var pos = val.toLowerCase().indexOf(text); + if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) { + var span = document.createElement("span"); + span.className = className; + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + node.parentNode.insertBefore(span, node.parentNode.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling)); + node.nodeValue = val.substr(0, pos); + } + } + else if (!jQuery(node).is("button, select, textarea")) { + jQuery.each(node.childNodes, function() { + highlight(this); + }); + } + } + return this.each(function() { + highlight(this); + }); +}; + +/* + * backward compatibility for jQuery.browser + * This will be supported until firefox bug is fixed. + */ +if (!jQuery.browser) { + jQuery.uaMatch = function(ua) { + ua = ua.toLowerCase(); + + var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || + /(webkit)[ \/]([\w.]+)/.exec(ua) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || + /(msie) ([\w.]+)/.exec(ua) || + ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || + []; + + return { + browser: match[ 1 ] || "", + version: match[ 2 ] || "0" + }; + }; + jQuery.browser = {}; + jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; +} + +/** + * Small JavaScript module for the documentation. + */ +var Documentation = { + + init : function() { + this.fixFirefoxAnchorBug(); + this.highlightSearchWords(); + this.initIndexTable(); + + }, + + /** + * i18n support + */ + TRANSLATIONS : {}, + PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; }, + LOCALE : 'unknown', + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext : function(string) { + var translated = Documentation.TRANSLATIONS[string]; + if (typeof translated == 'undefined') + return string; + return (typeof translated == 'string') ? translated : translated[0]; + }, + + ngettext : function(singular, plural, n) { + var translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated == 'undefined') + return (n == 1) ? singular : plural; + return translated[Documentation.PLURALEXPR(n)]; + }, + + addTranslations : function(catalog) { + for (var key in catalog.messages) + this.TRANSLATIONS[key] = catalog.messages[key]; + this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); + this.LOCALE = catalog.locale; + }, + + /** + * add context elements like header anchor links + */ + addContextElements : function() { + $('div[id] > :header:first').each(function() { + $('\u00B6'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this headline')). + appendTo(this); + }); + $('dt[id]').each(function() { + $('\u00B6'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this definition')). + appendTo(this); + }); + }, + + /** + * workaround a firefox stupidity + * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 + */ + fixFirefoxAnchorBug : function() { + if (document.location.hash) + window.setTimeout(function() { + document.location.href += ''; + }, 10); + }, + + /** + * highlight the search words provided in the url in the text + */ + highlightSearchWords : function() { + var params = $.getQueryParameters(); + var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; + if (terms.length) { + var body = $('div.body'); + if (!body.length) { + body = $('body'); + } + window.setTimeout(function() { + $.each(terms, function() { + body.highlightText(this.toLowerCase(), 'highlighted'); + }); + }, 10); + $('') + .appendTo($('#searchbox')); + } + }, + + /** + * init the domain index toggle buttons + */ + initIndexTable : function() { + var togglers = $('img.toggler').click(function() { + var src = $(this).attr('src'); + var idnum = $(this).attr('id').substr(7); + $('tr.cg-' + idnum).toggle(); + if (src.substr(-9) == 'minus.png') + $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); + else + $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); + }).css('display', ''); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { + togglers.click(); + } + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords : function() { + $('#searchbox .highlight-link').fadeOut(300); + $('span.highlighted').removeClass('highlighted'); + }, + + /** + * make the url absolute + */ + makeURL : function(relativeURL) { + return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; + }, + + /** + * get the current relative url + */ + getCurrentURL : function() { + var path = document.location.pathname; + var parts = path.split(/\//); + $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { + if (this == '..') + parts.pop(); + }); + var url = parts.join('/'); + return path.substring(url.lastIndexOf('/') + 1, path.length - 1); + }, + + initOnKeyListeners: function() { + $(document).keyup(function(event) { + var activeElementType = document.activeElement.tagName; + // don't navigate when in search box or textarea + if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') { + switch (event.keyCode) { + case 37: // left + var prevHref = $('link[rel="prev"]').prop('href'); + if (prevHref) { + window.location.href = prevHref; + return false; + } + case 39: // right + var nextHref = $('link[rel="next"]').prop('href'); + if (nextHref) { + window.location.href = nextHref; + return false; + } + } + } + }); + } +}; + +// quick alias for translations +_ = Documentation.gettext; + +$(document).ready(function() { + Documentation.init(); +}); \ No newline at end of file diff --git a/release/0.10.0/doc/_static/down-pressed.png b/release/0.10.0/doc/_static/down-pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..5756c8cad8854722893dc70b9eb4bb0400343a39 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`OFdm2Ln;`PZ^+1>KjR?B@S0W7 z%OS_REiHONoJ6{+Ks@6k3590|7k9F+ddB6!zw3#&!aw#S`x}3V3&=A(a#84O-&F7T z^k3tZB;&iR9siw0|F|E|DAL<8r-F4!1H-;1{e*~yAKZN5f0|Ei6yUmR#Is)EM(Po_ zi`qJR6|P<~+)N+kSDgL7AjdIC_!O7Q?eGb+L+qOjm{~LLinM4NHn7U%HcK%uoMYO5 VJ~8zD2B3o(JYD@<);T3K0RV0%P>BEl literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_static/down.png b/release/0.10.0/doc/_static/down.png new file mode 100644 index 0000000000000000000000000000000000000000..1b3bdad2ceffae91cee61b32f3295f9bbe646e48 GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6CVIL!hEy=F?b*7pIY7kW{q%Rg zx!yQ<9v8bmJwa`TQk7YSw}WVQ()mRdQ;TC;* literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_static/file.png b/release/0.10.0/doc/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..a858a410e4faa62ce324d814e4b816fff83a6fb3 GIT binary patch literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_static/fonts/Inconsolata-Bold.ttf b/release/0.10.0/doc/_static/fonts/Inconsolata-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..58c9fef3a01c899867e280f49283fbb8e57d631d GIT binary patch literal 66352 zcmdSC34B}CnKyjSz1l3vvSe+RWm%iG*ph77vMukH*TnG>+i?;*af0JG&b|kdGz}qy z5E9A`DWw!BrD@8fR0$*jnxRmJp$w%A!!WcTlZLj#%Tn4>%Csri^7}vcN|v1j=zQPr z`@P?1N4Zz`o_p>&&w2LeIgbe?glNchgeN2O7nGE3I{VH8gwQp(ITAR)SYald$c%j%8)Rm|N$i2NZ!GDcUg*uDkVwS@A192KiK>>jWA z#hMogF$4+u6}M*9im|D)hEd%65TD95xS;%y8^-$z@V#Ko#vQxn-PimTeE%sS-1vsg zD_7ih@8T7BANxMKamB7J+*;-JxIY)|9h+8cT=n6yCvg8`j8DyP*}Q$npI$%m&x9n( zG3HOUY+JQu;_HrI;CTt!-$mG5@%h)WjTf)Vs{3zZRp0_4FUulh?D*O>M~_Xto7f|9 z%Pyc@2I1IM{NNecg~T58Nv7VNIxlexJ&E_k|9N(WhRH@ECD-A@5f=%Qb-4Lp#wcJ* z2`?esIou)Ai1a?RwTnmoO)|!5F*}tkgGWPx$4Lq9uNONeq<6e+jKqlJ6Qwu?*#&wK z_w?*Oe@-%igM*Ds{1K0|i<}`oGDfVVo^B=|k%Oe24A4??fG)zQ+R1%nGZ`U+81EW# zh%6$DXghV1W->s!$W{_TU;U((EFs&;&BTdzM{#YC>?QSR<0j+yjF4(lh}H(8CIOO- zCqG7CcaaD1Tt8a$pluiWZYF!k3%It29LA>>@2$nyM$q#b^r^+ijGl+-UE~CbV%}Y( z7d@{dZd}<&o+L_g3)xMMkpnn8PcER}=SZC1i}$Xf^QezJgMN1>C%-j$6b@4pc+>Xe z?@`Qv{VIj=yD@(Ddka2Y$=_^Y%>5X9>Q{nyrS6`=n9q>!<2#!}>UST`)+B$;c-}0) zO@v(!?)8u*Q}5!P^%zB$@L@1Mik|iWmWT0Kjk|{h7%@1t3%$GXqzu0!0-VkO8VuIr zrx3jqk|y-V-pimqIQ`M$xdeXC(=qZG-Ax0Woy5sS+Dl8=$^#q5*xYC}-uWrebq{$O zIN~A0`0W99?8n+2Bae``$n(I40UAMn&tpuV&_TKcW9&*om&cKP@_^O&p^pgo&Av|aX^jdl+7v;`z zFLEz&FLUP|xsH5?%i(p@I9eS$94DME=N-mF)eWh2DSR$Z_O39O%9JO1)40mi)`qZ^*M#zeev@ zO+7pH%+%9UPfVSfdU)#osr#nxojN*o&(z&hcTU|tbt@rL`=&M|ewx^vs7X{OsuIDs zKYsg9Z-4am@85pw?SFgwJ8y5e@Yf56FWhuN`JbO=x#5ilO7r(^Fir-z{mx_;Dz8pi-F5S;5kcyLCeT;;13};fO8!J zh1>zExu1NSJVYJ_hJJ^9mwXS@c$_>+{(<}eoZ~U_LvoTlPEL_0KsBd<*-w!lk#kf_ zwvbV>lB}lLp)HSkpCj@u&XqaYN(Q`$XR^(G5ISs0S^t-DBRPLoxsa1oL^6lkp1AMH-YQi zN^T=x1FyUr*Y5-`{wDbbd7TofAe*U#N~w(Oq8XqU&{v!UP@D!GV~+TW?m zNnFylbkON`T8|7m;=R3t&UkFd>WEjdv#OyXM_k#qVl3`wUzKf+c$l4pS&L_T2OZ;% zBS%)CN$=nYt~i87?5vWVRgPFkhK7c$aS|9Ba>q&U;HsgaP@D@o(2vBk0z;6t^bW?Q z?&i46-E4I_hvIZ36z79(jK?u{Qaak~V0TU_DOcpgX^Z2C;|RJt8J2pE^bL;mT37TB z4Z4SLFScM1H>_;*$ybHql3-kczUBB3_GyXBTlxm$ik84B5KqfUbKJBl4C>{~y+sqifn&j>o6l#o&O-%7kCu5KA|92s%M)$V3@ zD6R~iB$+J>2Tx{ZwxHAIct&7|O@{L{C+BfeiSv^x{1>Mtw*v#g*w8}aX+8pop+`lL z(~W0S=U5ZrdGsON8^ZYJU{rHP;@6F);cybFfx9(MTjHeQ6r~g(3&m9!jf+sn4%nF|5*-;xjDPcz) zz{QT)!ILs})CW(>+0hU@sbEKA@MH!%nu2k8;O~658SggXnH;>E9W8h_JLclu>}bWi z*)b3AW=9*|&5rqaH#^$#ZgzCw-R$TLVy2oAM+=}h!a#?AeS>aC9lpBb*{kvx_J-oF zVB8sqJBvbbchKROgLO}#lzT;$+i_&!;H4L>?6HDrkWy3JT@D!KCp#eAnBmcI5BR;~&Bi1+gIOpIU*2g(7pF7mt40O%_-Q!hwnY(=? zE@=Udf;dP(WIkNW$e26Mx2zZg(sL~TT7f+D2sSv&{U2Fho>38Yr!%W-_p z{|v3!VlswO=dQ9kXP}sKC^_0DHrgr-shN$IowTsgvXfReT6Pi(G7OD3;|`!`mYvkF1#mJ9V{=OaX&UBztcMyj>t{W%lLf2?b~3_;m3d%#lc=7Z=mas4JGBjQ)oJDXpEG!i+m*dN_V7z3y^>X$_XnmD%##)aE zXRPUpU_3nCbd-G&nywViSkp1#j5S>qjF(O~9cN#JrmKZB)^v?<#+t4T2I7iUalW8; z7h~EXLOSC=?H@cz>8(RgDWE5>bbvj!LL$4j#0_l@M`v8q*BO^BSTYzdx5oWLBha80 zf^DVfJI=XVA6F`+lEC9CE&E?*!v903Bz{F(e=DxZB!QDM+Iq5p-UL-9cGKWV8Q%)- zj&IN&*jL&LrEBO(I(0BEx#gr3D)S{j??Io%hgtj5asC_>(nqDXskfwC`PZf{B#zE% zJw~3OE%bNXNBlkfkNHm}PD!8StCACv7o@x)PGuKlAJ%8;ziP-a zEHpe~_@yym+;04VDc4kE>N0IH-DCQJd9gW>Gip&-zG}H>t+YOvXUN-`_qxqwJ7D`& z{*wIP+xzVQm!rz@faAB$Hs@{53$6~=KfC_y-s=9D`)38k1-EH<0me5V$=b_@CmYfI&!bigImkyMk zFI!snUSznOl+Q1Jp!{OR@`_^>f2fRAJ`goWw??0;qE!P`|5$CUuBv{eda@=|v#REM zHRo%4>ay!@s!P=0+c4DdQRB_A+nWlSHZ(oaY-!%ne5Uzg%c7Q3t(C3+-llAewcXzK zxAvy?hvpdOESqy|u4?Yaxp#J`I_f%3%^RHem(B+|-|4b-ZRmQm>(lO!de+XLH~;nC zYkGg)XX`uAzpMY}3$zPH7aUvg-ay&FEd%c_Y+1N(;cplD7kzDU<>FTd?SmTz9~pXY z$+Jtdm+n~l>Tt>M!QmH{-Lbr5`SIm{yz0gg?Z~2$qa(ju(Xit1iu0q5qYtdque@R9 zpT?GsJ->=u{{thsf~f2{3Y`_;9- zUngB>TUWB~+v~&Yht}^{fBX7})<3cS7wbRU5ZZ`rat6umM(|g=q3H9?Ud(eLub6CcQ9rqJkQOSQjW`Pl%O%4 z&!h~ESz`v_E1?V0E%?|_EZbP za^B4s^A+Wl^nG`2Fef)u>u^*DES5mEr@31ql~K=Ad7Mlk?WBg>qKdryibAv5Ut!O$ zEXcZRR!2c?@~_XbFA%pCA}bIkf|5PvPj*!3iq zpI5+T1}Mf55ym8wYk0XYT3K1)nQ=|L!VMS;igPXD0#kuQnw6!MJzJqrByKmlOL8qG z9+S&a{d}cDDLLOS>=#I2H^ppud3p9cd%n$@YsoQVdGy)3d`3m>`O&Epe| zu#XwHX#4BFO`g|1Ck!X-XVm8kUk_|Ae8qE0{g3(oqI~^n`&Orv;}SonwOr!GM-sn# zFmWQ2E=io^==_JM`P&aBeh0gnCu38`_~)b*@HRBVr?4|-YN<74Dy5WkG}o1eeFaW) z21hv{W(MGvgQ;!=RP$wblUB*X?ab6 zMoa>B8jU8CSq_Z#dA&YeJ}+Rb(OrRW(R|*Fn>vQP4O~!krn~KilD;078UYqp1oL$&9TwcDc&F^bnR#`sW zR`{seXw&KPjcT|9;bFg~xa zsB?9#wZv^OxJ#_ou-j;KhbR76Gu{;lcCiK>XfS?h1LoDOpL&D;gH#KzUMoCv%VMVf zwyLsHdxlKGb6O2Yc&;Ifl3J0&7_q1Vo5#xXJp6eCzQh#m@RVDO4hi3xyvLK4p_sC_ zr=`j7H5nve_Lb$8l~J=yCI^+seHuQ+^`l-dBNvhJg8Q2*D=Fxu0Yt<=E7NO0V+`1p zQQk)R4AoP6bqDml(>VxS~?65ttqCr z0fFoE*_&?rJjCDrJU3E|W@lE>i%|GA#p7g!h=GdO6Sg^q#1c z9{p2*+PV_Ye(=bPuYCKDiRb1}k0g?KVSjvO;=O$|lz44FHLZO5FzbJSoafI-YT@bj z#9X+*lMX3`SCs=oF2n-x-M~t|Nf23DSvFp!a~hpGx6WDNq{m;Ra}rOzm^eWPB(;gN zk0riAS3ibMXlddYca(fea)>sTiLr`9HR`E4;4viO;06Cr;VpM`*H^aZl@=JX)wx9` zf3@3DUy@hf_tM@q*6PX1|Llm~b+Nw`1!h&5O=^$vH4OaP%OMQT(tww%_wvYAY$q%(DuP)2@~h`JV!abKcq z(Ldx@6Wn_b8{NLp#L#KmYzfYnK zP!ljxCZ|`cKyZfP`$fC}st1bPJP+x9f!#QD`Y4}}Wh zFN&bSt@1EEq$4h7OTSlJgY z`DIAFZ6Xqhz_4|V>}`xFcs0)!f{itga1u(n;dCSP#`jFOVfy~(x5+|3F?*^Dgr+$n zSqwttX-Bdf$~VK@JyW7HSY1+G0BTW^*GuHi20mhRRy6R@6uZ|**}hP zZrirnO`lR}!BHpP%bPzqT;!PFR%{8yyx~T_S(~Ypn6JH|ZuL!FJvZ*$wDp=+s#0fM z*w=RLwpAfl*P@Y1PfMxI;w=ez098sxfT@Q8wPtchEW4IUWi?bHg$X0c2JJ|a3zttM zfFhMZoJpm!`9vmzxWfW5ahJy3FKQ(SMJEdLBh?*S?9OCYh;6X7_V{(B{$R0O zAE3DDZ|W zbBj8v9G>PS71GQczkT@HZl|fJ-dDQ5`atW+wF_@sQ^TJrThvyTrKuTM-#B>3>gxH+ zUXZDEX06d}$;ylNmKV=0%LS^?r}D}>OB~fjmddufm-baGznP%3CfOQO zssJAZfCL>}Ap2<+ya-SO6{N6@VUqFkn*s{i*bmJ<_+=Mpc{+S}=|!~xdjMyz@qV-1lTV`_xk zxKPl|RaemFS$g-Hs@l!pS`oWu%@X&Sj0`B~ z#;fK9I-?F-`P^W`^3Yw9iRb^SQq^ty?%J_qJDYQBhMNydHQCu2#m)A{Aq`mjP=*08;5C5c$Gp0!&=& zQ3jO7=^mv#FYQcrCS_2GnF2+Wl$RCN1?rr3voTXe3TdH&xdvcl74wj>0`h}R%#vTw zar7>kT+|CiC7f#=e0a_`R4Tb#ZfNy*dfLjBhO%f)Uhmh|)-`UpbHS( zS{H+xtG+nb9j|k1euP>`l8v#9rjP|l&8MUhtY|)^y2I?9&C9NEb6T&5rvcU=2i)nz0NI0_ z$hqdtt*R_=6-ywcW^yjkj}sLQV76pDba?3csfD6UJTtRcG@AJRwn(eDY@puNyyN~Q zOYh&-r|1m-prKqoK?>&)xW$U0NEIdBNkZ)mp} zd`90F_zh?K5$XB7XwYhbZkr!1v{(wG`RqG%U56v;&%t+okHHhM+sb?t4}F z;Ae5L297(lYxmW*G8he+xrMMxUC#P&-lLa{{Bw*5-f-yzfG^FYmw!%joT-nG%Xnz( z8Jv+;Q2y!3{oIWc`}tk``NUI+d*0&IJLwz1_5nJ~pW#mc59Nfpz?i+y_c6B5{9+m! zWAYZ-HWOIvcYq(ActH4^cvx28+nlZ~2$NvCBylm379Q5F8pK zIDQQ7ZXS*urq_PSV@%}Q0gnvs3{ijxOibslNMC_SNtt(oBZ!F*u*UV0b|o zG9w56Q#thCdrxOT9;D=~NtP52qTVZIj(X8w8UjeKbT>=zrZRw=SXS@&bO*w->~1Vy zxWT@2bT#gCoTLK>3D*Ooi)qF~F`WXb%?hPLi80ARweqY$so=D9^2`u>^dNoxqaBG; zWAyOBz0&MY|3K#@&d~Si@dQ)k;rS!*(M-UCcO%d5uG1lP8T0@aBdCK(S1gQHrX;h@Byd;^#f$|7W^+Nfpv31fyUi~6=nM`; zCOA-%ccx4vr(QR$Ec5BpetKZX@lEB%!s>!hXQjP%&$;Uo``-Cl(@-=gx4f_Np;MKM z8=SVr)g6+F@Zzs@c)Qwa4aU~~;o^atM=K@uiC1!ps+~+`B=m{x*}*v#q3&u2sIPYF zE&d%)YY|y}w#Z~;`an`$W_f>UEkIyh*$614JRFzZG>Xv%cuL`_f{M+g2vZnEA%bW_ zkw^4!OzXa)>LhqhljI>`?~6y*wb+Zg*Ecb&UV^c{ z3M|M%Ug&DkHZn5G3nAhfNEv^7!XX3iT zTO&Aggf$ga!zFay!t2Mn9Zk(mxBTaQiB~W5oc@8Q@7f{BL{6wVF!;MW?|A<^gOd7* zo$vg|hJV-v`y6@Fgg=GRtH`djUB^QOUYL?+0@_Nu!Tr?I)B-WP?sFPtp;63%)lJ!T zVmmktBppCm){#UCUHvSxN~i5Q!MO-gxt(vEe2895D7fJXkk$){7hX!-`2xmyGsgJ{ z#+gCZiQ^Q+?q%atOHxC;^8GB_hgB-!C9Bgzgzm)52#4pr%VKu}P5 z1&NbAJ66iA=y3_MIge%29{FdMnZt<(DpnVS~qKbzxMxGS8xX?c(& zfl#(dEtjYZ%NtygvH7J%U8@_4NBqB}r-q;3viB!9v_%FsZr@hYv~$gXoxekorPXHS zm3mF3n|`=&$CLY7P4? z{eFyTU-7o!i?Jf_1ULYP2J@r?tx``5cr^>z8%4<4(!o)L$fOshSwcKrF*((5bMRsaa$~zQfB4c`(DxJL95& z26{BY^1wCEX3S&0v>P^HfEVz$Df#Z?NdpXjq8|j! z2O{ctH?MQofBfbfpS*hN-V?7#CMJ(_OFrZH2NL=8Hxr{6Uo*z{8la^i{bw~8AGli* zUYTs#sz&yPG^}P^6jyX6h`Q016IT?&fVt#!GsnG?CSk-sGnttGb8HegdLDq{Uzn(c zk8%@#rvNTI=?3>b5AJJ(S1u_NOqaN8n1P&jEnMlY;8Cz(W|ul_@F*vEY>@x$Ey&A- zfn=mcsX8E?scIWE66TqiR;l1`=D4k=_B6HZJ+*n{#QrXC^OAKt60a9D4OJE|jQNV1 z7ZjEbwfa4)PXFz$yZ;g&?LRj0=$?N%y1v!Hox1vouQU{II(_4H@r~i&njbLTVjS>h z8m0yrF55+pYQdT^egJ1cGByDL&2edD_?!j;LgX`(8`K>=ahCvBop;(Z|>X@ z;kna|ur8EiR;<`ol#r<&pg;-p0xr&056}3$&Ojk>U7B{W2?;1BQ#2|^=pN9f%GUXDP>njTiY70%~`n7#4_IKM$H=fvY{eKKzt`6~<`$KxFy) zoa&K|k((C#8#aGqc*oD?@TaI!tIvqEnthQxXKi(j)3@-d_4RYVwy|~P@}Kc)Em9}S zyynHrY!#6Tn{UzRriRYzN2^Ac0d9rBiZ_52axx%NxsI)TQUjSq-Iv@DsM?gIYCO>a zw4sod06mkHOi@ZYq8Mu}>qdw6X9!p z$bMQHsxd(}$eDaEeN6z05=|Hb<+x=mFp#Z9U_c+C_~$l!Ox1}G6XS?(P3+_kf5tFL zjW;FmCPDH_A$g}Y0VD2$@9V3=tqhJcwWc!iruMKJvk)GoxT(LW?F%c)?JSC^fZ zyb!*Syu4fecE{1Xj#j*J?-R!#eG)@E!$D2qTamM*n7GK+Du6yd!5CFcqf#jlYr?Xm z)0NVeCggAGqQE2cOo;-Lu*(z*brMU!7T7An@j;y!2c;1`cm5BFpU~Bb#0S6q zlny3Ne0m<*z#Ws@>6yel?q+UlVmZc>jq!Yn@hC|9S&Rl6Mrt(awMfgQ^tCIj4@SV& z$H~?Qn92gn^7k($?)np6JAvTjrwJt$U@(ApGHY8y9*il$E{PiKf^nE^tcDP-XFgaF z5ML0k7aK8D{`_$L>^4^l*TY5zqFfTL&(;~lwRIY4GE7gM>-hG`m+0?IR-;inagb}C z{CCO3%@YH>QYruK&HSTmbw8e(%Wsq}xuQ=wbCyq;Sq>j_dlJL+k;#M7CC_{|_9UKP zgPfE5kbg9tb0U=^%k;j-C-*mPVF9+5GW&*MbtV@B=tM^t zd<>MO`ryN>ClAqw6Dy=k{`Q9_CHFtW9(sT~j=W%&aN#`5l9FJe)(Y(7Gy^_dsE^~g zZ0M8@NlJR)6*80_pq=xm=lG+~au+$pTZ6v}XxN@miOwC~$CiA-AclUoRy?w0mt;%~k2ln*(8o%=R)w{WYC0FmJ zy-Rj9TTI@Ft)#Qco1swf755jfxM%g`(~BZ?p|0_&d3%P+HjeI_;4H!FyqqGt-dS9h zomC5WH5o^I;hc0FR(mmdUQB$^z;Y&lBGQ%+#$!J9^aXHj=2K_sGq86_CW~?lE-rwX z1s9klAi|D;*?wsguuria5HAhlD>MUmld%fc44E|0k0gL*`fad}7?EZoPab}OLXY0> zXL$~KCkw6WW~K^weR8)xC7h63EQZI&5je-aJb8`bs&-$NbX=`bsg;SwvWmK0kMFwS#T%L%>xSw3Lwn~JIOblxXz2mJ-CjDd zk!JdDX!zzaGX%y0n?v1~jn=(efbBsO%~ z@4KQ~6WD-^(3x(3GjGpOAbTQjZCCj)ER2?A)p_*|b+&_jKiRPMhu6+&zwYr3bz4^U z=W`o5l}48lj)nTRw6tzt6wb^qb>Fvie%FmpZdm`+;rThmZ6RiR)B`I{0V~`jN>0Qy zZfJ7wZE*^ODcDTJ`P+<~@I>vl`6J)=Nl zvjy|D^?RP$yZgsCv}-H{M*80>jXE=9;+eXQ1EqF*-|0nH&vg{chl7EGmUV$YE^sYB zSszm(HcqqQ7i4lvhysApVAM(Bondwji-==-;LFn*SYEn?5N#9d+_tjGUR%BIMC)}=UA^;}8|Eag4)xU+ zIBNP)3`NN8kl3X=!JWS~OJ4(Pgn9rSN=|u%V5GbR89zvi05TChTj#WE`AeG$4(91r z%$vOWO1*MGikJzMm)v}TJsL^~D!?U!WyxSCf>-dA%8V>T3!TFawH&cc?$kV zB0@VvHc;sBh2VS^yq$Adq5AcPu(r$QaT&68RGA?KJDt8Kx%3`5D|kgb zx%rZ3L_sSM6-*_(EZ<}F>);|nUieID3qne=7Nc$tl_-=-T6RNg$2I+--xvzY>@52( zB}_{yn}Sz;ef{J)t~uHp$#FF-E}wjpamyDlqfzM^P?L?^EMm5k*)8+sKx@nfN*Bu$ z(;(FW*@E4`?{wJbOBxFCpL{&WLO?>w#-*Lg7~cRo+VWC6w?q`2=B8J*1i3DV;e zM|qocD||s=5{;EZi-kiK>`($3Ad!GGCN&)7CnUp&CK}7P`MtJqe%KiFXywdDcd5@F zd3|uBraX5^f91w3q+(}fUn>&K{Bz8x(Y~5IrcrWo!J?}DPQ>rs2OXzxC;!yq9@4Kr;NuQjT zxDVq#3_RO|ac7WWaiG)oW2WGF6R<2j+AG}^h77Y>(A@f%^cECSrs&UzA_}1%$e5$_ z0+mf_sO)dj@z1(WokGfYl768ZSjf$%;Z+fAXyzByv&9#*DIj{9Y*SPXl=vd5zU=nr zQ?&rxp%^1;3$b_*0}{wOVoWN~vq<_~Q1jet7Nn_}KR5b$bX*Iq=LO76Pdube)O6sg zg4kz%c_=u^@eAr5W(#8)>fQ8xEO`vh_W~p{h!hCt`=v;oQe%>_eonFM;oWVmJ0BSt z`QF|+9oK%3RyphX!=-)I4tvdl$k6^L}lAc`)0)hUk z=gr$WQ2a1xa&zKQ{zZ&hNBm@eOlbg3dRcY~keMxuRnXZPk^;o=H?#C1BU53t)6sFe zz?_(KA*tnG+AIbyCy_{*2VUqV-BRcV%B+j`Odz&U4`$^cTIm5~o34N1 zhFzz>QXdH<)(gDoQKUS)hMc`3@_lix*efbQf;x|+Z|si17Zh+}U!bE1o_l0qLS1E< zS8O?xxy}Fv$E7{@j3H~Fx6Dv%FKq}LQ3^M%6e%v3wH3Nznq01h;ew?ow@9mDTcKc5 zH#;tttr4UHY1>sUezu{vAU_Z3E!4G1jo*o{j!FmB?7@EE*iOM&|Ob zX>top-AM4c*X+s7?7ZpR)~!!oKj-Pfo~?5`b}cM<;M@Jzbh??eJp-Qc9H3+**T+;! z2ved;D)I~>Istvb4TwO0>8&D0EI2MDnYe)aGo6T+-4wh{)4PC#_5x?o2&V37qsJrq zT?K4F#&>cPkIsGOLvu}Yhqv#p>h)#A#T852eDCq+*5nqu^pVO7ZLv`I>gt3V^B4hb z-ivv}$kLcH28VpgQ_u9k%bf7S0MeFfE+8Q~=@9|sxdm7@fes85G^=c=EA-i{e!=_B zw)-*-P4r@j1rb=3v+y?2i~s8fKMsAvZyIH8rnUzm84&y<@3Zr7GMa|gaXzju45TcLXOEy?|XT$kyor{_J;-Ls|LSzGy! zbxonG?q1#YGPX5g>}#gpC^nq)Ny%##1c$(=U@s*3ZT7U)J>xdi`I+q4 zkYdNsQo6-Xn3XLE2|KYP^UwexL3Njy+RW`QWEWQG_(Lkiuha@-U3-VC^P2v^Z#o;8 z@(0!8Y;FxRpzTay4vyTro?A5e=%!U}sDE5N<^n^Ke+F~WkvV7NG7wm5GJ*qH0DM{| zr>_a}O^tQnRtxmUhWmseS9B{wVKC~ke<~W0$xtOBf=I4Z`pabn4cTwy%n847jz6c$ z(qt(o@28rzZ!TVaVaw#F7>O1mc^4zGkyU4{nM%MXHI!Lye+_a(J~t*H-b|8nGA6*9 z3;8UlUceNEY@<0>jKi~W8VqJc1oYU~RT0tfC=kHAwF$XG&JFIo<&ajd;(wXx@D`a~ z-h0h!77x`a~%+IgEPjeG?Xx>&b2HU0Qm}mThV!)>l(#H~D>DJ$9v9kmd8n zu-=`Ylkt{iUT96*XoGFT3o=c%L2b#&4$iIQSe5zxev+7igfv6ZIj0-a&<1;#v!MclHtVD{37h(t0#+3djV~R$s(%)}jw&V-At(!F zo+Ya>g$C*lI2)Wd5Y5SU>AT?dRWR0_h0a1S16J@u*f#-oRwf8uR3eFB!k`)#iut77a8ufa(6z^T%FlZp2AaBMdn6exeZ9^Mg zHM1^H_vt*~b!yF!MK11|5WFRfYbU+(Gj6bJ0=+YfDW--b7s~SZoh;8_+O;Zro@BgB z*ySDtD`#jg{VYp><0}Lpep2`OFVxF09D6MLyfQ zbfKxfsWFEOO}=ifsf+5@3^SiW@6>Ya%S^zgDki~Lc2S|nZO_+dsxy?NE?Wnmf`H|x zF&~zQl?=q$S+xKm6~f0u46(h8(Gibn7rA&`(2$m$;c3slo{7DGOks2 z=@WPZp&4ZHj3?2NkRQW%okWTqQ(5!oHpLnn++KIJ&Rn3x-r|(zYBGagi9SYoWf@yw zAs#2X(^)V91s;-nVtk;~RDA=JnfpV&)lwL+R|j)>=_?N_~QT~-0zEejIul%Cy`4J4omsk@gu!U?`-B@Qx_H4Es?H>&Tl_cH0;Q0 zXs9xB#vG&4=rG1NS{>Gs(3vc2j!9L#xh~5WDlwh06dD%Zwz{T$4)A3it>BMJ20))t z(CSxAT{6MraWR2Ts<-%Nu3pmm$lPGil8YsBNH84PW?Hi0_weOS)Ul)7C2sx@fp{H*WGQEGp{rY`Sr4uF+)KdgBIf zU!b_(yWz&ICbPkEi@6XkQq)yQ9r?F*Z`PX(`i;9c6%GVK3;dgRZ#3!jrp>#zdk2aF zy+z-1*M)L(Lv?PpFEzKg9?OiG5+3;q&>-$P&D5Qg*5-iCq6A+il0_L*s-VddQ7q9D zRddoMp}x3XsuUDD9w)34)T~}*GHC}om&&@)zf{K3uCl>@XtUpYDVI2$_~Wnsn0R;sKNk`gsUmTa>*Y=)Z1lI217{kZIDY(z2JnCxGEL5W zSF8pRR8lcvNMK-s>q<1jnS9eT?gj@7vVZyMTj0mjSHajilJ|I)E0)R}ViHe}Oj{=P z@FR^*{AJ<+?$3-5ZJfH9N0BttrCvoUW09){7PRJ}a*$83nwZuA(-5I>(W{g6fFM*i zzq_=g(C=~kq~J(`-8XF=it51(XMPme#f(Hzu}GSTNv{YvWF@1x=k!X6 z)QSYG+@Lc%H@c{{XmC!k!5z-4tgRe9)W78?b8pE~$z|TkW>-O#N3RQZMEkbQbpYL5 zdBx7`^5xg}RIeVKmzOBZ$Wlss`<3}_O;-0pBq15>mJot#j)2)#?Drb8O6M$zI_fI} znMLdC=6q#IWcAoFjoujc=Ng;=v!$rOsk1b6EDYOXwWS(uI9hM3-?pgSQQcRX*dsMq zY?{oBVV$YGnLFY9pP)Y zM*J4RC0)+8YnIb{a&ZACLXi@aFCty1cbDc{OA3s}0#^RWV@!Q#uIjvS0X8@zciDp+ zpK8>xt3e|4j&u&aJSI8ol!yWrMm)^B*` z*8cumpV{#5+=keudlnAdxv8;f^IiS@2rUChw@?qi8@$O5>0L(t9MdqLKTLM2M`V=6 z)l~p%5s^uGxojAQqFlkVlpxgN>QCxRY=3+*LDV3)9GT-O$euvX%NTnE&yIe{Gfb?O zrJg}%-};xVqHvk1dc_>y&9tm_X{A|( z^dL)lATN>2eK=|0e<`JnHD%=o+Z%7bDN!8JTJ=g-!$4%!?!8J=L2hQQAyeaxC4TS_ zC~h|y;ZN{`$YIJPiqk4Nc25@sC^gIV2qz2wSI}2!&%qBqIh1%*cHq5F4ksSv47By| zg~VSE;V&^9N}jY}=ErC)@&o?>H)g%Kf+zw6U*A&j$=S8^7@HQdbZ1{jf}&3JQ~(&x zW85=uCM?_^65Su+Z#blC9=U0WaLzHm1i4bSl#a6?MGzj_B+W8j5`~8k6)Vc9R33pq zDo>qE(k~i)rch`3kHcoE>R$KD@XKME@kpU(BGLV8H@Z~4?y_Ns%4g6UFG*1 z4UP3xvFeyV>W@}d1PVoF=69)K;d~kOVncus%Mug}w^7fGOISWee(cLgHu0Mux2A3CitRVO+-wxBMz)LWJl8P!6RGMJSf+tkR8@b4Gbgv0e(n?EO9BONH|T~|}HuD2vK ze_eh3`kqkYLe-o(Re2>Y19F8q@N_5gfA7bfvdH4jI8zpEGt()6(j3qL(`V)}OD&DL zu5=&bO3Xb5oRE5q92fCNt1twjjF4y459{T}Chn(QZ_uX1kKag~qCLNUR@2x6Ak}QPYLA)`u*{;R#YF{lLGMNWNmcvsU?w;WY#6d6{h&saCFu}Y>g z735psrkB)~X>weK1xxoIkXCz}7MGd|J^4zND^#9`Dv$mLAJsUswfQ-kQn$m6Ih}&~ z>dMWu7&5mU_$Ki2UWuFgwe$?ISN1q24gPKBeO&FaH@8X8Y)f2dVGuMVUf@53H!noC zvMfd-@mjLg;Pyg9kHHNQWT6588uzjkQ3SAfUOQdGh~-GkxFP8lnlpa}f;wmq4R;U^ zOkYRzF3+kj@HmC&9n)8YyepQPA_nYO0R?z>nXeq%k%cp!v#M>1inXJ=Di`L4uBimvJZCy2BW-?3csRP zAi_WVa_=i0UtJO@-}O(oO9wu+O9P+2!JAY~BfFbB_OGbMJLo*l0zXhKc$qy0KQ6A! zs-!ogjNWCD+js4?A*&@=>vC2Ha&m*!e67V_j+(?iv&n~=#5kfiUt$kmf-&a8a#iW& zSmJD$tIWy77LJvqg>y3PyEL&pQFxhBS7Fu6-067Q=hwNIKbeV-Xk@0LA%vp1tMhWl zERSUL^gEhHTbd3ubmfmgZ8WlZtj;4qs5ZP~W>gDV$&u~_5yR;M<1R#uv z6)=Ip7_XmIoDSo^q%hs~Hy^H}ZfWVn2b{0)nujr5au~H7cVp)ali2~XM09*GMAyZrVk6J{?Wuz$AMNAzoSHnuafyTb zzW(*$2lh$coxGm@#Jzm~r(Y9`Mq&ASUv7Ot*jCW&MX>lkBr-Pr#$w=6Y zP!&tso_U>{z7Cnm3Ob`07jyhe7Bh?$WGC}lumrIl9fK?+h5Tu#*aadid^=qF`2j)wc|-CC60Lq6HtnI=O* zQnaHs%WczFxLpAiFUv@L%z$%L01oY)zt~mN>35Y^)cUiWS-kQ1+S1Jx8e6_Y>n`-V zGIG?CZI?n##Fvky`|-E8TJaaQI?4Mn-@J|}Hq}=aC8cSh3CzL>lxRbB?^e`4?wrdZ ziyoYYCEN&glvAQr#_SvvdX{DM2_jYvg4Z`fWtJX{<6oi@EFoQ zFL?spqR$MuV&P@4lp-1zL*DP4_LgSmxU8?Mttl@n4*J}7n_fq%X?5ld@tsbQyn_5@ z{&qpD7Ok?`ILkHxP(|6|m`7!>YKv-uohvFkzgl}W94Qh*9?}47LKRX4!Yz7RZc#y@ z+tub>9=V3=O{4eZL&D-o_uDJx__Z#3uH4j7RNNKKk2USjv}rPoI(5Fw!OG-+T_Lk) zn+yHn@rK5U{V77YMMVE}B_sp>c3StD1|yav<-pHn!iQ;gNe4cnSX?g@MI$3yGr$TL z^1$pi2)>>P*-;sl?R`%>wQB&N5*J&;EgvY?ui zE7;Uh($tIBB9x(ETu@GA^2Nfur)QZldzODs>-2=7y2>STf>_Vzy+i0;n0{%hExW|L zDwjXPfPvA?1crqHqsZ@an2p#ek;YQh3@qJu2}Gc3kzbu=(@ez@Txz+BXUmh8@YbBR(pTrskW^a<66h8<_~9rBGTb74u}%8&1Edm9S*_aBK@`dZo?; zftF*nQsVcz99Emvre*w0MRIAbuxUf&&2sAIo!F)-+9`UT*C)Lp%nGOP2YYJW#)2{% zeMu|s{ekr zf!>!G=U;XN@rUk;i@|E~H*yJo5nkIY?0J3Qv=&oH!Nm*hmQ{&ch+VKUi9)uJi5Qjx zEJh@uPtDxi^7phB_P2lxV8e@rac6g*E~JF6g-S{>Rq9WRXqkHz`nyoGh#lPk6Ca@m zx$TK(XjbA+v|;l1k1aV*-`%^H)iHXW6<4C|NMm?0fruY=W5V8I^}1Tg;aE1S_setj zr3e=Cb!^j4((Gadi&zAar8fxK*+_3-DeI89Cc*8(R38*EjrJottLO6Sdf|Iu9j3eLP z-ZZ1A*Uzt1`>Wx*DdOm)t=*+_U1}IY)@=vAoDwDVb|$I) z(~|nSGYqGvMf4XG(n@cM`hrIPvuay9nT<)}D~}G`hx~tMbb_Rv0Xx@cgxnKT!p75P zf(xa{&&5n@Z1VrSYGi33epyQak{+=;k@gl%cbld;mMXwvx*185ljjR^RD`G?HD-+2 ziIn;uh^knjN}+@)1GhTF<#fNZSq0EPJ>0+Z0b$g^S)Gf6XBD+Sr}A1X$K}*y28*2K zuJRmHrbFWpUA1bPFqfmi-K&ASEZ%@~U~h05dpFO<-YXWuO6N6S@wSlTW@RO41pda1 z=_}XCV#vyLl+POv!`J_Fh#|^V7&ZGn+l`!&Ft_C*Y}GM zkb_T0tni>GF6RGdhKvJVdN^$1yj{qgHyqnC4f%>%&1{238sWaUoiIvdsi6yGoGwoH zi6XJQP+^sIC*xT?%`5}FTn498mmP5Gv~c6-k=LVRF?J*yOjljRR+*IBdr5EarL`BI zdoEdhk!w9iXBS{hJbx~+MXbSy)oR9!Uy})1cr&9n=(Vux900^UF{2$)-a+Nku$Gg_ zvlMVLPJ6Xb#}El9ti&uhBHYD`AyO}^!Sw}=gqmFLD|7;?7t5GU*XW8Vk)h{9*%FNXVeM^*Z0I3(T?369K?F@WT0SQeRp;)1mmcYE1EY$V?xF#1zeIA=tt)wQ-BsDXc zcIELf9`S#2Jc1OP0UsB}gUU#y;gaG2!U!oThR6+-;7>Tr0@VL5?_0p*s;+bQIrEY< zGm=J{(da#AW+aV9qxbt^Nh8UUEI(vhmW?sCv8*?iC0P&4Hlc(#gm4{_5D0`qC?Q;z z5<)2tLn$Fm2u-;ON%N&#noCJSnl^9RrZi27J=}loea_6$Xe7HSH@)Az=0o$^XP>>- zUT5vK*W+K5W)LIPx=lEO8Omx<2e9KI$$CFTKjSf5h#-NY#bM0SWvQY(Ml`cqw~Cze zbfYBBdorBX3eIZ-=WPpt^GNxlN3lfDEt15IxESNHtO zFYb8jXCHs-t-F3=Y&#dZ_{odE{MfH9-u|!9wEgh){GDkT=eANHV}CfDpXq?U9V{($ zBFq@30W4BSh9qr5CI`iba^p}`BPVy)+UHW!*JHm%vGSs-yXxr2BW=*I@+!-{o-{k9 z*>kMCXe=N(9ipLvsm4s4)ly+;L(nOqH}VLt5?OAWtQvmmMB669U28d3Gx+>`O$&$6 zYpiP}+&o*d^nBz`-HinVre`TG$o}-3a%FcoC5W^KKh9euS7;8%SY^fu_~qy{3a{TTth6W{p#6Zfdj#mIs9yM4 zGHky3LKa}X9Hx9OA;f(6^Q60<7a3v`;vNN5^p2h<9Ngea&~8N=Grv_azBA!hX-wZR zc2hKzu;qrcnwyIJ-QlLK&08zW{f$M9G>8;VQ;stw)+~e8Y!hEIqUm5bEg73P4$2)= zA}xBXieXLJaNZOHjeW;GIjix(0EKCQ4MYYxn1K)%-K>b66i*5=KB4wYru`rqqL6WF z<&)Ga9_u#YItNyV=nPE_zE`a)SZO#qA9NWbp|Czv>UF5_H7c&DE9$0$S2k0Ng7o_* z1fuOri4Yk7Jc@LBhX%zMc}@B`0WlW!)Wg3;_%v@CF2JVP&VHa`{iGwBpb&a^0aS91 z^%MKTj4$9XBCr<^rZ2(^)Zi`{+DS+tM@v+&71SbqBCZ+vl#qU=N|YGr%Q{Vwil%Ey zzH8h8z)Ap!RC~sHYw-aV`VwPN95%c0|33wp>uaeLl`LiFh)=0 zTZk}0E|MIB4HKWdcK^r6ngFJhUpL&U)Q;YHv}LS$vA(gWy&_lXJlr|4=xqvSxyr&J zplUk}`+n~$xAb=(KQ~aiy{9R|)q8LueDLm>Hm~QYnu3Nc<*i5i0vFsh+Z&2D*DJLL zZrFD5Je_Mek`-bXV9g&QuI}MnO;)&XgyD!XvO+8iyqSm!Y^blR<-ARPJ5LN=igIev z9@&}yH^Eyep0ZL;jZ#DKR=%Wsl8OoE%9j2gp6eZP>xyJDDT{<$V?(V8$XdGfC9^s$ zY!M8JDsCA$s9{b^yt)+aUAk`DwFqXk+n2&nZ-EHXZV>BxZF|}|HfoROQxAKlHjQGR zX}3s(eTIq)il@F##~;Z${(7snC2 zE{Zd!-8>2DElH?4934br+Pf9cuE8yR?QISE6|m`6;JVc-z@`9=oCXvI9nt9^K-^jp zy&L(wEj#VWHp7N&OZ2L_{6&drbwwA((Wxd%r#QN-Ghl(v=jrdOt5rO^clKS~e|39X zZEsz#j$KoQRwU%vgXvFj3YH2*qIHWEdluJ9@%k&eE-}rn^x8PG z)oWzi;MR%wE1XAk+cmg#%NnZLK{Xr^jPL#kJNP%DbN8_!$-nLK0L z@c;Xf{bVq9KxHEr^{U^JwBMp%Tj>(*>#L!rP=7@>D~kL;kul5g%ULV}LdA)y?}*XE zc^GIN+(|+G2Vo2{%L8-;iUXOGHoSly*)p4C#Whx$qA@OWML4jgF~)!a7>s*#1G8}D z#ns>6Kh!@oxP5bXrZ2ms2vHS2J2HhtJPm>bxi0833G@JRcu*{%E*YJE8jxW$4 ziRfS)vi$Y8?e>J*5N8^yZ7SF{+vkg1msPf@WOv7j##?supDxR&ZR_%GKEA!Ib>^OH zJDW?kmq@OT;d*y^evz}gNxH+H7sx3H6{Z=sZtkK4nCy@zbJOg-*N!;`YInCO)91Q+ zds-=drh4~O^T3(?^@h>ex{k=(hWzqYuPdlHuenCbwU+kQd_?ZYJaWk6= zyEa27CXB>}()?^xwg_PDXiFsVTmXF)As)a#AU(1-fFK>$%`&3Gbh zxP!uBiv6VlB+`oPM=jTgRKCP+BOY6>&oNpLS8>yAgKND;2q1JF`u*AV%b+dx?no_- za~oN$S@)#uIs5tXCJ(sG#?s1QYal zWXTisAh9&dnVy=GEEURyN!-fDaSY?f!}YlT%JFbrOGh6t3lJ+aU}UQ(gJo2s6YX52 zI~74g!2yEM77^29R1@-*jwq_-X*qF?$>Xjk#iS|1vjYMT4+vqwIAs;7PK-b2}q^);E!rrJpRBV|Y0 zq>9ki#zJ4q*3$AF%}Qa@PSff9Hl_WZ(EB4Vy>RB`kMG)c_Q~mqXFoDz&CJgz8*S-- zFy!e_esef5cyib76I)QadVb61rQs^FBV3R5`+XBXJ6%t!2a5o_M@j$Aq=Il}8Dh9X zh~a9>Lkt&U{&@@+B@6}t9Ljf89F<6fKosJrM228+3|KNbhB!wXaVTMPj)SBU4;ohN z65?PaeX3DnvHsV+fEMZsFW~GGh<1(;H0X{{r^Ono!w?S^p$0TYxEmb8&h4~Uf ziGXmI0mCBEjw95G{j7~>w=258?zn)k`9O42{g2|-$x^XDF9!}Pr|g7-YTbMBz4QOn zz4*SUn-}eiK(r%mA)s1`g)}l6xh;>oi)imqX&JNBQECzVOXR;Jx76w;$hhFYA_+kQ z@Z*h$`eFE;DBD}3h3a<_bmu&)8y{*hlHaKjey1k*o%#c+--#HoOwAD{P)w3Vkf7jK z8W4G$Ru4!#_oWz>@Qz-teV7c9QAa8T^x?1)oeS@u&jo&`-X0uos>^gUQvFV1MtuK{ z&4^85MkiEF0%{q;o4C73Blp^&Lz57_98|U1KLKRqACPNPPWPD_hyH3LTPrR+vIknCm~;i zlK0}UL^I<)-)KO&3h5jHdU3Q%WIk_tp* zn5A>!&$8RNKZ~RXlGQZ{z}W)RPQvzN5_vZDiBL`fZ4#;@iMZq7#ha9Nq<(l}ifn*bdPh0nZU~spR)* zq_v3MM$neah}cZHj5v?jVp?pWZWRli$ZAR9>K5Nu6V8N2xo+dQ;ri5(uI?LDly`_5 z(740-jSW7pB!xQ~wlr=LA!6DjY@9zhcAMZ>H*qYgpTh1%mi+Q?u&@BSCWIQW+_1+4 z!L}5U!tu>?kZ#5Bl;WYB0M05^op1vCcqE*P>|WH)lnj*+PIOYExq0v;V`rj#MUWms z9s$a$@K#|Uz*pGIC>C{9O97<%3`znxgK;>jK%1n8+OP_@8W~HJ?Ll~|Ti29-_~EKL z5k2!CAI#m<*5vx}+5!-Ut~G@sY}tNy=bKA z*wJ1VgcWyJ$FBO?;HI)oK*=js^%XiQ^pyzO*KSXN>llSTSl>lK z>v=hVe2oR_CyU$#VT0wKaGn3m2%kYkIJ>7!PKtA~wARWN%$aQ0L1q9(4|f=l=^Cm9 zkJe7?CLpK;7`r#RV6FX?WK0Oofh5!bhc=;I95eN`XW`|V$ZQ+?cf#BfJI>KTRWM)CB zYpRt)Mpc|rMc_BhTA`9RFomd%6SkwNCThn;R-}@-;ajC|S9cVpB7rBXpd`O+ zxO(Ioo6;P*aQ1pi3ozxq^Y;}kCE2!AR2K2%JfZl8yR)n6+XJWq{=vxm@Q|^g$T?n- zsDW(-CU8EAl&}Vun3BO}GnTUQu9T42a0G#nMvtg%ro zF_efXYpV`DL7*QRv6WcBo`O)sjE2bl&9THqOd;b>3-XBia zW?zc{!g7;Qoj%G!8gMwZQWgCa7^gjV?wFG8nK! z;jGovh>elRv3dk?G(mPIO@Ldf_Gt4U!dw83E59|Z1h2C$D06^TBEb2=|F1aHJ_DnV zCqGIMaayI~5d86iY**t+Vu?!YHW67$cBL=-oGse%Pb35udb6N)`w)>6-vt$QlUT9BLIpIRFzwUm0~@sqr=W6d8-t zt%{Bg8m)E*(mtfDX|r}8At8*+Q0j`G>tp?`ZA(kDUfa0MhD_YNm|5H);Txt39Ke#` zwwClA+j_d18f&T$+?emmBmfbBO9CH};Mrn1wgfequtrlIrH+dlO%xv}q>|C!zjw;z zb=z$ghc82^$aROj&d8hAq;K1kQY)J_nOdU+aBf@<4WVx!-C?P0A=!@+!TV*=3u4b4sn}lvnO?X!V@Z^ZXgB>NzzW zSPtvzIsJbYqmEsUs)4-)Z9T*~rA(Z=u)`rYl$8Bs(hw*>3^qBOy8sRZEEF@;I6QYr zNqjQ{FDEAp%c3X_O%;wp8#U)u!l3)1E-|zat-etZ-J*ZEi1+b}b^WisfOvbu3&7yI zJ3uL9$r6A_$8CqfU%MR$r(DVTOKvv=`vldXfL35B+*Bpu*WVM#f2Qv= z5vt18z{2dda3)n{3uMS98G&~u5Bcd;g)K;VTLe;04#TLyQI@$ClA{I1bk;zuEy1kH z0D;zBqtjc%xs8nyfHNDzn_4SEes69zuiFN{eF|iz3V5c~Z3CDFp=OiQTGL{iV$Of9 z3QD44Za4b!d}+3v!jf#R+Mde@Rg|S)`QA~Jh@!uJ$Q4HEya|e z<{S29k^9Cq7G3U}AKUXMo)PJKW>rzSTnb(+`|WZq*Cy+2l<%fX*28#(51Z>SF;6Sk zVQvg(#5}FSdrU(Yo8)Q-?{Du1-oOn^T8oxRI#Hgsz5HOTum!@M{Ml?V73K~%!TJQ4e+_p3H|G$$esVj71?HW zL-F$yderVpIOPv-Lz%o|fI~BPoSc=doASb|TNx9!f(}LcQ4^F%UNw)|Y}TF3YPEJ6 z?PUMmX-I`RP^+JpmY{wfZAlGCy|Bqv8=;tr;(J$kF-gyG{KaXc7lZzR)72@=b z(n!PUsdjySYcldlv9K2~)*)1%SX=e$J&Q~b1sb&Ca9@)C{9BjC{sGVR#f#5AD{sdb zc*QisS6LR@i3(GwmWG`;3N2wLVH95~P4^{tfTFZFIlp*Qa!&nL#nB8e@ZxC55Qs01 z21#@S==7*Khu=Vw2o^>496n9H37m-p+KiUy=YWv0a%&|(B?b7rkezWq@T^0CyU7xw z6X@9#sfM^lW|YZ_5MRkESsfWhpqXMEw_+UEo4?0-3-2)!H02}Nziy1ldse?qjWOZ0 zFa=1GMQLG?%Gu8`(WPh7Qd7uU3T=Vp0L2?{i3{07YqXjeiGJl2$)`LR9D+d>5tlHa zT`kCh^cAI05XO{4aW9jg%g=G%#F!>IRlbXw=~76751ZYE*c-sk(2z(h;((2~C34ED zgjo}7V&bPouJo;GLPCimRuVSh%$OYwGg;M21k@&b3V7It8Ky?yufuisD6~))yDpsS z%*;r&Q?y2MjC^t2BF+mmgt#9r%SIrBi@975BOqo0g<)xEa!_K8+2SY$AeqbLFg$wk zTZ@bD7}JbWp0n5yx%b5{NiPj~h;k@7JN0##2}x>jF2r8uMEzbn;r*Zl z8BRaZ6wYV>(|f{tE{7vq6(YbFZE{)E3W78Vsv_88tFL=hloGuAZWI%|^aZEc+*`pl6D}RCQ^x|4pPyg{zWcTteqrPVuaUy$%&4T ztk`24%@BT?l7mGKoQO!_nJw27XYQoumHUX)x^i}kM3FiQQDYMk7I|U)XK54ma*9y- zo!38v+)<-L;0h(lBj^{?UqoIuX|~70U;vnxP)CKp{nMkSrwsUCj3n3AabZzK?TfYr|=+&R2UUz=AF7Ae0pas!@8*+h4tnc0L7#@P3p_F}>q8cTG zAFM=vTe2S@))J;&GaJK3A^=Lc<<16^f~v@7aJ+LGKh#pSt-*j+s(Q;KLe{jWxoprr zE!ID;9Rl!mwQEF4n2pj^xV>xwXdspw2Rg(}h|w_A48e8}SD;l}>DnTMAm#?d=RYl@4XbEZ??;q{T*QTy#%u*^Ii zPC=|R%R~S*(UkZgpG$tBP@tN$iF<6K4hFGdDS{24&Xcvp*_o&v(J)avD4s~aBs>Q0 zuuyP2T`z(g^i7CjcHA$-LV;iqSeOo^=*3Y-2QVC?;q_YK(Wavx8a#PwGRCwaEj1nbOOp$QOw&@{_kQW8y86O+u0^blmv&BWV;50hkZJ4#V!u?d z+i|NVXTWGdcAfWMXf{Z@ho{pBd~DLiz&3G#NZ2;D2D*SE-i`+pp==UGnZ<&4Q2Gz! z6Icd!(fIr%KLxfzDaQA{aC%Jz(yyhCTAWYILuO6+iUv8VK~ZEUj-}xz`Zb!(O^^XF zaYF);iJK>ai!}SxwI~aTbuvZ1h*U>|5YNm{+c|7_5l%*^lp((p@DD&l~GvPHzs zX3*{v!11;OVPfepVexDc!Y#)yNo#*0-zEKmyn$Dbk>#EjcCExr#u?-4L@5dNrSBdWNX`N>HXv4%Bo%k>8ywCr7?4*(3iVwO;!7yxxM{XAjkV;V};i zqU_jHQf;=@n^Lpgo|hsoel_y(m%LdygAe@M!&0xb^@WP-p1k>Q|8Y};{756};(!m| zG$t8dp(@>MH+wmpX2L#25i3RcFh-LBoYIMka43}x7J08N3AnYe6mkYwn|egTv`TAh z1vf=o+G0Eue;G=AsJ%zCh}ON7Ow?gtOLJ|F#JW10cem_rsIO_NZ7MBM3f(T?%_p;J zsai#cjV2dyW1~om;h`|(E~la#9kL0qu&8P!igOTsHD^v^Q)4~eOZ)Tcs!G$+%W4|( z`sN3Nks--l+T_bC50+)Gbl)~y5N@w`_(vMsmJYSH96lr6Q(I?vLvD^7%dISO^>w*( zv58xfO>&mum9%Wdk*?&V)sKJT@O^_5?K!D=f!t4S9!zx?I{a1Di(kIumKRnUpP1Y? zxzFnDJHGwFN3tCTM`qXA#=Wz-$rd?NAGMm6T&VfA5E(-(B+ z8nTYgq#=JQoGR!{@r#8f%|_{gIT1cwmD&{Ol#tpRHsd50i8&hG(GfOUz@)FCdm7?O zJyFVwY;>{!eaUoxJmtAQ{Rd%GSd9`L2b5gIT&ha7fYT779ReG1Z5jpyiCAz5Ves(p zRev-5URn#4hZ45nMlJPn{gpy}q7t!GBeu9$I}NnJM*NuI?iS+i#wd4xH0%gNc~!Uu zxVfjh%cunjAW%+1Btr0FCc>OG8cYZ#gsVQ9 z5fRmHh0f<&(-`LhQ3G3C18*gc8(NQMjKK^-X+5tcSn9sv&D{-kRTU*gCFua@U!ACk z`ez(>IvS~rvjc~>6nTpLldh09hsoqnI|f^t9YIFEGkc2Kf?4kN>D?nY?eLWBIeXB! zV~^5xw5RKX(fS5?xnmjMy=U2GhY{J;)Hhsr_*iz!k%1#0zN)li?w*57U+*_OA*G~e zCf99tqqds2t)}q-~%lP>^nN! zvF!s#n~zcj$Rk)6sy}{!oeVn;fZi?tfpv-T13z_KZb^7q^3?tNdb$LeOF5Y-+OyK2 z1wW~SDjlGY3$@5v58wa}59q)8Ft!i}=YIEMIB&5dq`K?u6F(a59x zvUqJ7BCuC$iyhHmH0+7LBr2IN(~uiv5bPjBj>#m)09S;9ZiF+!-R{s)Ioc52-bet4 zkkbxF5xLu=&UXJgtnYVtgN8>Vp9-w4i;|Z+p5uv}H(vbeZ@v~^9|cn2g0TVAS_HKo zGJX|VddI?9uuVucMcGcHN%n(gh7Oz!=(tFPL$o&r4v)E+6OQaG*kW}wgEd2Kp^{72 z5aCCdlDjBS8F07|KOi+xOX#@H5iBZ0Z)lr!QH2(XTe8INM>qi3H%XiW&j5oE5fg+xQcB&+8*2orwSFq;#+ej zfTF?~MgFeNww4&iSh6nfg(G^zaxI4m|uv#a~;6Y#$W2eFnk!AvzI6&PYI{9~( zSCj#cf5*&mF4ePeVI@ zGRbFhKI|atsvRpL3$Fg0OW&YiB*HD&?X)Lc)d3K zYyin9x}fw9W(3AOOpyb`{pdy_{9k&co!ngj>9QYlP*Ed*1zN(cp*e7!`+>{PA@xe; zz*BlIGly6kK8FN#_;~U=cM@XsnLgFmDpuem$s^qg6ng%JeO=hM#R>@0dvNlDsG*e2 zD0vgCL9t4}1g%vn>QIEQpfR6O>6%X0U!HK9BOPfh0P^GOB+j8?olek9W9x+ZF!q(T zGgV-o(-OATsU}>i5{*|9G+#T{D{0Lq3q!PEK`v5<5)4N5_LlniS^^jyoG8|EB5p1H zIB-2r_E+s`5edd@ie0$UnI&AlgaeK}N|%{gtRbHnWo^aCq^_LCJbb-qPI&SNYF%RKk>5v* z?{Qc;JHwl*QS*rkfXE$?9@tuC=(7M}G?*xS6Tj_5KrD7(%4x=D+*>(w4yje@mf<&gr^PHc3rL8aKEp_oYYY4F85^{lYjWODaB^DSX=fU z?`WB>T6CwItzM_UBB|nsZ>45F`H4@RFm`6=D_&>g$c}T*_T2u-PxKu7^ki*K-BU8c zaC6U0$PLdv^w(ec5C)BE7I(=JMEc}2RMe(A%Tfny9-321wX|fRx^{VSI++NVFd`^cxeKAM8sxG5=x#UZz+IhY-J3K2bvGxv^G?H>FyqczQy zmRgvb?yendmS4x+BgS-t+jIw{llK{pNMR!AT_oH;4JJV$^t>nWdg$sW9FjeRYVer= z`i=ao`{yh7J!HI23PxVt|MZi*mpt@xKYGasr>Wfl|CAk~%iupXG`X7$?w@!6Y~|jE zOq&tO6B5_GVLXmnwO(itzh$jj?^9UiG1S+54AvW}uLpLaV3P6DztAHa;?pq~i+Ih{Oa)?_tQLcrxgdInIWF zWD%m<(u0A{{DwewcAz1@5FUU`)7C&%aZP?+O>q`p^YW{pW=SDq zj{K_WarEh7W#It%(Guo>NUSh_g95!4eMy=KO49gzZG+{Z9W6dz%MMpbetrr4Z+e`n z(3EX$R+Q$gWmJ3SWhE5iMQ0@0LwRK&R1RuirXXxjhCiMA%B`SkCXH2Q2ce6Ix+-Af zys%SzD~;*D#<__1k`o9Z6vmq{n%Zz{d<-?^z$FfxMon7de#0UVM-+A(aU>WO@M0x} z^ncBwM#=bm(IFw!0Xm|G7K~k^sjemr3Tna=Nt_|*jmH&kWr?71p9c24mmW|oX_oq6 zHn|0-kOjwVdHjZ(%liu~nNGJYEk7?W^@O*nwl*)&Rgj#WSC|G|0^^sy9?Va2X4stG zvaB0};c~Y(J1I9eqX&U8?AJ!W;YQBo$fJB3aSV(qfuoWv|Np-8f3qOHdH%IUQBqdg z#S6 zEk32aD&O#_-7nuTmDkc(m2SVV!e8xSF-d}^30oKcVuWgInz@qitwEO%wf>yWKD z5iR8)Xi1aHw8dx{IS~7@EGxJ%fy-78G)i}wjbWT~>Ntxph+zuaU!cJf@t@+OzWQlx z+=<9zO7x}lvYuwaW56kEFi`mId7Qb>!+h{o1VT2m+?P2&UF?% zj=V8GkdQC?3Sxko5TblUINROeGdqu!lweAbBq%Xj{bd4lbWkHU}#CRGY@gLjv zcrtG2MT!xQisb$WjwEi46m%LC!hUu@-$~~|NR&pdYsjatsYWl4^b=h+-%@BSTZ`tP9M0Bd8d!hVwmuN>|72%ZwjT;VMGhHk3+g>->uO6ecLH5A9) z{&JtC!>&NR;%TJ1nvEW%KH!puTqPJ*V<0Ol(1_ucxGo)tZ!=d=M|*!=0Sa;ALVDfs zGq~j)wjc6g82Xs`Nib_sC{uDCoI~(sc(;> z)>QRaelzmOxwn6M3yK`S9QoKe$^89uk>}9=_3z$ic))Zxrg6DZef4_z`bRFEO)^a! zdFOse(&ywH!!8p-{-H+xu?Rg#(aIjn$S~DDKzBzxiyaJz03htn*I>YSR-hd0BYuS- z6X8zStpQD+;71B-AZHvyda!5#jvSz8R31b}lHAR!P;0-#=Y^kP(w0s5YvOH8GFc~{ z5#^A@BdIHgEN{7EdHHLRN2Jl4ZZdU7>L0rB?BZWMNOue%-|$sa3Syr=9L}gkED7;T zHmuq?Jmg1kRuD>kGM^BhR09DT;hDwM)YK2n?&m_V4#Fp_=-0}C@tWWo6Hd!if6ffI zpUI4J1df_23TARRi+v8KBcsTM=S}DuUJKcjU3d{E8IHvYkC4Bqi5rod>IkjXZMZcf z(73bp>W_M)AM{1~!1@pLN1iYE$YjS<^WlMej~x1g8}?@280wPbxCN( z&t*4O7OpHm=TK~(XU}|~wf^DG&6^e;ntaw+VRhP`JMjl&l~4&~RxE$a@P^5ah!7_< z7F!bB7SLEwjtKuXcyXGbGShy5nK-1M+ka z^N!K+F0Im)(%zc*1GX-M9qVH@=h|*4!N43!781jT-&;s*0sR}m`eRu{SGHM_b5yN|@~ zH#Hbq%q!U3%}?5SKcXm!re#WbbRKDLZOJ=|^T__P-JjcMUfE9Pk+M63UFvy+oj2_= zOqp+nUTl8S$!WN*!g~IOn?wBtNf|CxVV#GcAl6RR`wPo0s-j@N!{P8E$Msn66VzXi)H zoi#a6AVsxUdP-_-j(psF%a6uy!g>#*%|*41IFFhF#q!0-$C{)T)AKit{|G0BI^$dN z8(0N8!6iMNpOug{`tzA=jys<@i^ch@*nIQ)=QHeYh$6vmmxuA9(lX~^dh)Z}7Ge5u zX$e4`(x|(&d!S_Z9WBRd4^}o@(;ImF(l4%GF+4w&Tj|TJYy4hsxMIg-OXP(oo{)#= z`F_!qhb+LmK#Nr;5>o)SfPkUzWaP!c11pg)?=au>$hVG4Iru|YQFQeSkP3n;eAx+S zZcuaTHF#*5UGw0X{;k(Pc-1wZIn}r2^aCIAwC$;{-_z#tZrW2*yQj@-av%DW$Y=iW z-#)u*gwPC|5KgQR@>sjjTLd{0oyE-KB)u5IlJni_`B*SF_;nt}zv9ILJ6)C_u* z_8V@J??Z-*o6h$XltU+yOcr)#&>73Q7F9sL@0FFDP@%(~pRhT-AW$A1nn~^7ie{PA;$;H1jcoFYOlR2ZlhbxEOtiCtkak*7}Z)EB0 zCH1|Db+K2~_huMcvefq!>0F||Pu9J+%K?fZ=C@5{RfZ+?eFncT{E0^L1io$fEMyD4 zmspnZZuLEab&a1_-y7H|;pIjiT7rF|4sFM5*sxAqxwEs_ug(C zG`FkYr?SH-=Xw^#N0!FNl%uDWp^^D1W&8Na>G4@*d2xDnQkj}wROVJ@m8H44nMGw} zc1-D;n_cRgTbLZLRC?y-PcKYQPAw_5)zyvqt1FeE@tN_FMRdD7J2t+cEKQ9oUGpQO zc&SxprbowT7so3HW=H2{7w2Y1mPWegX2$65;^yVsrWdAXW`>W^1t&{KPh*HPmAGlJ zRnc9f&{Zf0R9#aO|Lwl5f-w$uidiW#L@ zsaQ}Ns+Ed8^HBX}?KYpA8XO+z-J|RrQhIg{ZXOsO*g1$#eM;Bh z)ylSk!Oi8$ILHIW96vR`Kx4-Mr-^jqW0m$j<3!wXMZ5U~ex%Qf^W&q_6Vs!Z(d^{% z$mF;(Id^h=VU`}0`SFG0(~HD&{4uf5Odp?K8d>6>*G#AK%884n$7fg%TVUgC1TN!o zWMe7pC_9b6L-=MMaFq(%j_*&hY5bkVr)5AuOyk`o-cRA(B3|d%3jb{h@8;MH|84}| zP;Y(sW)^+Z>jJJCXO;N22cPC~p9SrAW;Up_XUo;mQ*9_(-W*S5gl(Np9l<2*v4b8j;|0Nz(tnEJBVF4qa z<|9{dMJ2zo0lE^+ehEkS5v&lc1Fa3wUBT#1qE#hp!F_`GT!AqvD9b|ch-wY^mEQN` zuUG^6bPAtpSUvw`1%G|`-M7vNE26VW%r)h>UQa#c3hB2Vmk_Pi;}Sbe9otu}HgVzQ zxn%V#Q(S)1lP#Q1&n*efxDtK&v6ho^c8eTaTX)V}En zq^EZRf3-QS?n}WnOX$yz7UDm8R+liQRzL()VJ!4tC0fOvIF0|S__$+F-6Gm=2M6`A zUZlzI!QTq-8*wo8zZdf(N-W|(g+EItKredY^iqlLBj_=TdmdG3N6#JybaBGoKt}0B+-hvZl2Fv&|Oe)8k{SrOf)2Z+JlxF z=hAEZ%qLXZYh1L5>&L;b)1WR%UXs8x^GQ&Y)`$9-#5E`JZUNtm6;b$A3%EN`Qj>GU z4`Mg5bB>~4iI-^|g#=Ihe6Jp3C7!wWo^wU7$1yG(f%(74J(#kl|BJ8qU#S{j!q*7x z7y+2Drx1#3GOW4)p#gzYSsKm(4xFbmVdZnNESyub;SJ7(#UY;+utL~36y^o9_*oGv zW`u}X3UO10ZD>?feyx7lB@Z?QiHbNmx5g8!5KHO@m*>}Tv3 zI4@m?1wRJnm;u8)fTcgdS$B~?q$lwR{}jx81|scxpqadnJRf-?`Jmwx#KPN z9I`@_r4$&2FR=)F7vTst$u7aoE~QE7l0(X1zh?gqi~nmVv*bkdYnJ3@KVW|+WlK3g z3doc4r2?r?@<~9YfKT%b`wDxCJ>Xv$>%~CJxk@}>5AW&|R28@Gyw{K4& zop_RedpBj?BvM8^6?p*vFvmDPv#-f!Gd@h68$WQ zmp$UkMgEdBJUTvxGv7$klKRFxESfFx7t`JasM)4v`fFcab&mt0pELX=<-pk7(#R+d zm`lbpc$2Pu#Cu(g^i~8D4ueH@p^~T<1qWJvC!ou82@)!=g{GILO^x`y5FN-+) z;Bcb#Svfi~pUjtozgwD~85^f}wz27PoFk?e=|k%1^up-!@rjx7Q@j z@+Dn=7K7D7n7$!|?fJzwELz?ASyr16>G(6uTfFv`fccE#6vA^D&lfCRz3hf>w`KlA z2-gmjv1r+%n^%im5faMuI^1_GyS{hn*wnxLw-ElBLJ18mU$W@he?Ice3_P2H`wh#H zVVbYh;CeF4TYkeW>nq+W>caIoA=IVUuUfq5!`GXCgZkdX^}-t#tzT`JVj02x<#;}D ze>YJ9Vp7Ht6HA1*Q!}CW3$3jtm z`5B(BF;vnC;u(Q09-1}MUye5h>2-6VC3`V-u{KmMzn64eUoQEg_c zK^SmjgAfsvbsduOzd1{%Tr1i{;G^Vt8w~Ts&u{~?fTxbAtMC(uw@l_-GMd)KD&ZF` zB3l%Q--!D}hbR#h;tA0%o<(UjqDxE@Q$!Wglf-O1HyQa)VD2hJG4k?+9rsE^gBUAj zp@ar8S5%8qF%fw+A_uuSqDj=@xf;}xj@)ddzK%C96Fn%U8YMQNtZLCJio{fLElQh+ zdWuj_G47R$#iAMc<8kFce?54+UYrnDp(G)6JRQc91<08oR*N(-6Rn(&wx@~PMK8)- zh1_2WAL@Hnd|%uq@0&2XHautl(mx~08$0@MF8aWKxv~d2=mGy-fxnv3f7y7l5pDkB zUov`;xVjd-;J;$ohhqHlUpxNBkN)$ZXCBmEE&odJF8>PnDO>v`B#V0O8n(v-10C6HF%SM9QiN)Wnk3MkbCgkrHPm3R52AAUR zKJgO%;Xfs!{QJNEHzR-{g9K3JD;&TK(;4we(g@^>Wn=`iY#kYfq(}zZB&G-((y1b4 zQ4G%*f1 zU5p3L5Us$O5-$;LBY%bLBhD5RfOEt|;9M~Yc&V5&@;{JuQ-PODyh5}iJx_E1J0*6B z=_4PAZZQLRrNsGSCel}lOMpERuNJdL-WLnRY~VsM2e?Sg1zsaA1uh2u1(M=2;1Y2; zaH+&)Vjj}VMJI5D=olRw@O?qu0eX8xE8oxVy{?&^lf74$UBfJ#IK2Ez&pfp;GJRx@Gh|uxItVu za$ejmt_R*DZUBB=;y1*NNZ%_~jhusAS`F+IYk-@?O~B0(w}_jOzE9jTa#q|g@tfjS zq`xKB0UwaKRjfz)LD4&MMtoc1cf@T-e^=ZNd`Nr^xJ}$Ka$0N`cL8@u+$lC7{jj(j z_=v>siF-!g#;WlR;G+^B6ZazhxY!8%0q{@aKSUq!hhh`(M-rb9Taex*?gQ=y{!#1^ z_XGEeZvvl`_>}k-(mxhkflmYfTl}YZ5crJv4lpXQUwjv74R{J`*F!*EYzICkF(!5( zy-(}}?gyR}2gJj`=fxwy7sU5~KM~&t{!}~){2A~M;^*Qq;EUpM;4dWpm-qqFzZ5?l z`8}jI@n!KN;6bqqcu3-5u^Z_lV$aBsI4bcK@g&l}5>EktE%7(v$4I{_o*wy~7?Ai| z@t;V)CZfRCCB7m0N8S=|3JrKn;-GjI>El8No{;#Kh>e^OzZ3g_LlS>44j}yp@jMXy z1D+Buj2svLEq((0qxdQCPvU35w5}-{}D$<-V}coM}Z$o{7Afl^xwpm$xlz-cXG?gl%da33*w`MR{wwhpIJGI zLIcng4Dhj-U>{pxMOk4z*+dE~rZiYe4p>MT@Q%1(5qV$<`CtKM!t%+6#ghxWIRFbM zAC^r4ESe%%GR3gbOJTW`!(yp~C!z`#N)0TNI`|_RV2L!r0vQ9#qXibncvu>3@JLKl z%3)hfhD|XQ_J0R#i0QB$W{OK-FU*FWFcz!B0N|yLQ@k0NB0}49HB3KBEVHqre zMX(H(zzSFZ*Fp2Y0UAGjBWs}H-we(ER$lm`M+R!oj63oD{(c~mJ4RzwZufvHhL;nYjJ zLfwHafi2Un-4d7@Sib1msIgG~;>MCK-H||4T-LP$czIVa+SZ+QA-SZxdrU>t$YSsY zp5D@p0#=R|fM1yv`Me@(DxVRE8j9w0&FzYAn4A@Do7|lh3EmJg; z0l3d}$;8I6S0t6~Ghf*;nzF3F=90!B^29#nLZ*5lWmwrcxjKih7{7k~Ogr9wS83kT;t!GMd8OG(7SQ;Z*`2xs{LH z${V+8BMv+qap1-R0Qv%c9s{es4!jDx9h@rQ8R-@l<%qDu2WnAwLK=MW-xBdl<#j{7 zagMpvyvX9Q=t-9+eLLy(q<5`F*2T&HWwY2mO!<52LutMC4GtxJPsX;4Po390_c&j5 zrMgBuPkOKQP4$oWpU-T{yfdpY>%Odk>}ff(a_-6{*o<{rAV^wO&?vs`xN<&&;>u+!OP z>niGM>YCHFyzBPvcduMC|4;KjzbfgfoU7`uy5y>^t8TdJ{+?Mq*Yx!E+}HCTJ$lb; zS6{W@rwe|);P`?+FElUoF8uYPw-)_*(I?j=U6XfB<25rEZ@%{ZC8i~gC4nUqmUJ#z zx#YGb+n4@znQ@taS^2Wb%PwEGV%g7@f4m}PMc#_)6&)+OSC+4wx^nKyMb~}p`X{e{ z{`!}%fAjjY*ZeDAd01-+|!Z|lAH_BnS{-!b`)&O83+ zuC}|n?pl4+!puy6eTeUb$=NuK(F!+~D01+3?BTtL}dB9@{)G&VdGO9|J*mdZ+YK4n+i5vxoOL$^PAt^a@&^k_f5R- z%KPrV?A{lUM$i>HtLO(|2qht(!m ztcWH>qUw;gP*v7wrvUnZdP-G$+H7;wh3aZ`gSu5U^+X*5ZMGjdbjM4MHym#}kdfqw zW)FZlr*uVABU$~aj`7{{!h{P`5-w~g)5bDwN>9`?R8?K*al6c+{G$50hT0lK4X-Q~ zLRK#tEafgWVAJH~-%h9l}5iY5?}!vF6P5 z^z3|JqsRJV3zI=#lgDII3tF?Ya)WtSPfVSh>zC>L`AFNd(00E_R)*A@u&U=N2cphM zR18F&j%db!wl72Ji8W_T%jnK9tkFK2Ic;PD6>N0nKbm z!+V-F{_}~Ik6L}!Vyj_I)ar;P4S-;@N|is+R7W&rAes`<9CjnK(=!zQxSRq% zQ5S}NAnJ~2Ug2c6FP`nghz~^l5iKj8oh>_|eVUC5t=azUl5DgsC!U!bFE>wiNyxDR z-3d&TNE_d+sj`HqiXn7x){LNNN7Ot(%pTI;&mPHEZ;Dz6w48X=IT1{0G{+H5AJR9Z zZ%tR%L{sJ1+XtfdNHpCMb;;Y_foL`eK$eq58qm%u7^}hLv&kxca?j?fJR_?jc%~mQ@fR2 zk-Zf$UT5iYK3>uHG{8Tjf{keOM*x#aPv)xl0UX+N&i>kJd(r5&~{ODM zU_d(szbH#vO!WP2$G6e$S z$+G9mj+VVuX6(^@<;CTAbx%2N9tY?L%8xK(Q#CTq5qb#+>H$vzgm#7v^N<WjjS9+%hStuKPW z9j`Vz-3<-(bw%NNv)S!>w@ooCS2vcK6jP|BthL1DEgK&mbN!?;qoHQTtXbZY=Fpg` zhN{&S73zJ8s#+~YwuudDnyDoD7iqbLk-VISih!wgTvA7iAvpNzD4{1u6(juxvw8z0#+6Dk* zpmtQ?;$1*&Cp7W{!qB6gV3xrc=HrHl{(#{z1B8`2plw$K{;~K8JNhS>L9|@7tPmbn2oHIYkR;Uf^NKF!>11~s(XI&J*1cVeZ{mVw~)4rdq0R-fkT zcHw7A;T46rv$POBTL;jmmdq>R?MQcoKegSpYLC#{&7CZ6s%;*M)7GP$*fdACV}-+T zp}-DT7Yb~%wik95E-PGD2y*Ty>0((OkuH|iUfYSXlv*WZ043DcCBDcDm^2& zSl+`kW73_jK)%bBr>^?^LFJRIs*uZ7P?gm@%@wN3E(?XqN((}7xC$a!Sygx{zY4!0 z*HmXgX<1=WaS3RpVB{m^ztvk|)z*rM>IYgN9g^>{bd1!i0Lo|MkT%Vdl2NU7W_3IgLf}$ID!Wd}|PF91S@7 zD@`A1b%icuk!%_%G)Y)lAgrte{iWa{B|&mYxJbfJ#KpQU?y;*d+2pps1N;6xF_y)VEmC2{{H_J{_#?-~j`duCFoF^P1 zxXSAI{Gbcz!n!i~E<3gz5Y2M*S3^dpIQm=EkF<$JR@|n9UdqyU5zY_}a%|5L_7YAI z-r~Uepk`>tscSr+b`-jX_71g>=j})BZ`sk{bCjD+K0p`YJV0;qclhz(c|S7FxRw*Ki|svI3h2Z5YiBC}F-q-+#sGE^wqR-@zuDMjgwt%| zA=y|Ct)ERikamPkJkK^CfI_7mCH#(XmJL0_HZ~GE31`qkz0u#!)}BT~wW)+g2^X4q zmMOBjwui8hjXZOqrEjC9`t~uq$ADAAb&X!L#cK(hp)Zpi8yck$kFzf1ySJgi-~vFP zgMqyi>A7HRi1|k4`-*Wwe(BV)jd|VG`OT%?Db4Mk!kX;dngXXIC+u6Dmh+Es1;r&< z*(HU=6=}Y_3`c&B&tg~1DQ06uOVj-Fu5iRx(wNtJU0~jnY;dNhFyi;uR2162pI)OV zRWsA41cMdD@A&70-JvXdvfY`K4sY3SpozCa6Ss?+|3^JMWmL;Hg3685vTZO8oTKWr z85RMw>xREb9a^!c`y0Q|qSMD$##Lw3cHhWl%3jpwQ+(0%NWU3;4XNNAirNOEUPsh3 zYMFRYi6>#1NG3~WjRX1{wznZq$@ks??Om+a+FJmU^UGwlGlZ8RRJ1|DHq!4ILLXsM zD&Pp=JYf@wWG|`aMA~^$&BM$%N?1=?*-PjmPwgRWCLACN(bRB<%$1(zm&GQ5to!s6N6znL?pTINuT{46lVI7Kp=ZRvxt(%w5;y zHqEUGv|K$Q6q?vGHrK4qR}6K}-qdu%;>&XC^X9L?-b}&u z+W?Mx9~N%?kU9v{Q`^OXI7pBav7MHqkd9gmjcEfH1#0`tnk62GofF5Qs2icf?EUVAH9cAg8oI9{wI~zw;s_=M>VWm3D z*>dfaqHz0?@y^=0WAgHv=BV?>XLsIk$HYl@t-3O&CF_y}E1Q~DUWL#-1wPr8%2Cw< zU+!n1Qmu`P7mPems%Z#zN?U5CvD7%mINf-qai!6`CTfBjJ*3$!%9=K7)bgTbz;en0 z+Z5Tbx`5UpzMCpBO_pOHYP0^_{;K_?{e4)mLQ4^bGW}%A`zh#Fx{%8U-hj%zjvC0I zmMxhm(aO-%|ITo;=eRYx-6818 zq59fCv_ADzYk$9LdurSZFN{OoPmFXSrgIrQ@$E1)wKkS!7;3XUWB9q@Rl`Zc`vy~w z-fEaleZwpa7)P>)%^*!)TSP?DBHC6A4Sg$*fwtlQa9P3>*;1gxm7vsIm!Dnea5{pS znWe7TH{@ovIFr*I?o@w19D|BzSNzH|%2m{zsRIN+u_#O+-H#AXG(YGLwkykrcPLj) z;`7hKt5XUudJ0;M(OQ)Rdruu2b>~R`&c!|*>FtRtBVTsfj3k^k|KhPxd>J9XKfl21 z?ac6c^MgKLK5K0oIi@@Z`Ct(9F;495YV?+_iC1VV(*Xl!dQy3wKbw`E_@U&0vi5}G zISih@(XfqU_!1fNb;F;KW*4Q7ln^FW)n3J`v?@CxqezXU;%YA%K zo4QYKb}@hQ;#UEA^(7ZkLU~K*Yj76zdqI0ij{XodB$qcN3kiAovy_W}jF1=4KahuX zFCieG02k^95qW|UX~%X8Mr0RQN;^a7By1-fB21;$vXsyXh#fKyn$McSiR~oqPHKkJ zlDo;YC&-8^3AFI_F2{1Pzjhd+K$}K5L7{NWc?NP$Yp2v)2GBRTc2Lhf>^jbsWiQv0 z^Mtc#Y^*P^J+M1qK&^qnz*!{3zqDF5a}S$&j&Ov~!L}|ZoFjAt^dsgIFl@9Awz-?a zyo2prPB>0DLO6y7#@Zd7j%BcSv_oujC(VE>*x0FrrEKwN7v5wm56bmVwwLfWhx{1f zEspiOgiQg!Il>XbTL8raL;4Hjr?$ph1kEZ9hLX3@;DLQK9$HwDa!*bu)Z9^6)X@|S zHgy!u^0?}<{MAL?v=4`T^_f|bklU;V!gtP^ee0~E%FAwTZ(n;wd&{T{=)DTXvs9RWFPpbN|~W0Wr2rIW}*H7K|qFR0qQ)b2y+M`i`Ec%Jk5+l370C zd?n>Ve&xcYIiQ`V-u*GbY^O8J(eG3~(z2XF;nuYL;wt|F|TcAQrhc zYfL$)98=D~rL66y%Yr4w`b^tRyG>w;KJ#|-ZZhH~6zXh%yO@?X)OAam!4j-#sI7Ge z>l+#x8{?`3>C0la%*yI%D4bZ6ot|CjYDo>`<=PaJ$!0PPf4gvAag{$W!<-Q;@nn|d zWxx}ord8EvRkao5)J4iNno@#ArEcrg@@Xpz%Dv%&V7jLy=(M}NRs`WIi0%9vbmTRn z4xKPlHqK#(HxL|VI(X@etpBO4% zCgi1n!w&MYGX55PffZPSNugDk(W=DsN;Qzv8?3U8mY#?4>f5cmq1Wky z8D}}IgU+)QaGR**pDpLhH2^PRJD|uWw;G-1)FhWH6v=F8Rg@-Ypv<2U^gF7`Ci%;ovCmKi{(cFPCRwB^Nt!ts zl+Z>Z7y#&7&5uJ2Q-!y1{i8BZznVx@Is2^?!fk+PveejM+(D#79NQoH$^@>A^0mO?h# zoY1Xbb)F7{yA-&_ z2F)2NuLimA;2O|QW3?j52NM!fDnAJpa)6&47)MxA{VJ3Tv*KV`&^V1|rnGxWw{NpV z2X-%pfc@DRXv}Mo{E3zfY44Xv;izv++D0|qO9J1>rFT1F8%@hTnwBRr&QlK3Zq=W6 z9z}okzT)l0m|$%q-`PcwZ*M1i^jWvlijw}F%`D`RFBP&Mg~To3qbzQ7@lKRO&DC;2 zJYq{wvPiBWzRZ#>%$D#|xw^i1N^N#-eS2y1qP+1YMKQYaN_@WZAPBxPD=^+$ zuC8i*)|bt*M7d3`LjYY1!>18CscR80)2Q5_c>>^p zfCnvGO*ln3NmU>~I7LuBQZ8Y#3|N04a_GvVikLP4uR(uRVwNtVcIngOEK$K7qI9%E z#H9=R?Pvg|rOOmNX%(0hcmwOH$1B<{($GeZl$Wrbu#wu!cEUD#n7o8OfZpfdE}dd@ zE}g^Lq<4h6LYSh%q2u_`4up{3Q2;m(YSh-2;fc<&Wpw(jYs4a^Z**=W1+yl-&$XR8 zo{xoZBJ5-hoBcak!?{Ea+Ch}5w}(1e{yvsJNSMk>Vyxs4;T(y7S=l<&q%Ut=-^dbB zp;8myn~>_1<%>lz;b%6OU2*4?w2UzGO5Uuo)mF33o|opTuM8^g_Ttd^NLF^$gu+Ni zb!Og}xr-EMer0A^n=3EuESRXSZLUvp8j~%~x&<>r#W@W#Dl0E(%q^LD!{p2F?y4BR z500(y#H#G+?L`ftbQ}v*5Zxq{D7ZRV{1z$>XyIjn4)hTk1O&usrh*bk>V_n_6iSE0 z8wN5h`Bx7c8|iy)GQwO>pJwbft}yl*Hyd{v_Zklvlh(wJ8s9R$V}#6lm%KSdc!lsh zAQpcPxYFx5jv}GavXQVZ3NhCoc2rI=XsL8BaLJb*> z!TO*QZM~s#cGdDR!yhY))Q+vgf7teb;@UD1wo?oE;efhM19=c;gu z5ForrSWRdnoTBy}AP6aPXcc=LQmT8PE(qy1cX~Kfls+Nw3Zzd(TuXr4n`|>7!8R9p zzc1(qby-qBsEcTMbs(ncbywD@YowZRTL9Bys3T8mPWeMwSq$|6%+wO+qCRS57t1DX z8ztLrf{)tH9>Puu6jV>xd(HhEqbX$u7%R0cLtXQ@p4}wGWJIR#{sb`BP%1f zML-Tmne{GVDO6c)X*J*&LGJmTMM@v6ISW-o8>~fodHwo&%4Ht~@y?{ZlpN5TrXqI-`${jRc9tE!AXH+zefxZed{AGv`FHtaezd{MJ{=;kPi@xiIlFV%C*%L_ zlin3vexWeC#x$ih^u;!c&gxu*Q6p`u}8Ztc|K;;FSclbg%xGAmm`*yQx@t7vfs%l!VbKt{*c zQo{c9!YX@Kf!iI*OjG_;G1uqsX@G8(nOQL|)NpmCXLd!Psnq8!X?V>!qrzL9n~|Oq z_EuiY5zN2xQvrzCd~|564ahH$8{_Dx4!#ro%1)FP$VU1tidrIz?DbP@QrO zkP8cm*9OiAQ3>cTOE8BIi@h(g^2-H=d>&s=$m(f6$z*8}J(yNahw}%VR*?pWn^c|G zXtp#T+0X|T!9tUU^(xLHKC^BNtXLVLM?XNveZv(#>`2MDBUiqD?1j zOru?X7(AgbFIr!OT-M>umwExL?}o<2P6+oerK#?0sG}iB zQ*=NtgnbGxn|+~uwS9wqtKEdDr^yN@BqEHGU>(`wt}Pj4#A$`)V}fc%E9L_eo|F+s z+K3PG?i3^r1Uk3)6Jb-%FJCA=#7ub$;E{7CTyx4c`sVVzzWm|n7hXCw?#)Cm93n?- zq2zAk>UIi?-T&RG8FyuV*{Mmr#tB-DAXZ90>3<(m5F_DV<-g1Sfd4T+I=jk`cE1l0 z(d@{-xv;V70)NoPvzU&{(Omy{M9HmN6qQh9%Ln5O5T5W_+WiBiY z_#pL{lsDjT)Slzg@Lj^605m_$LzolkXfzM?3ow;prVn=VrrMtpNdhwdw0e9(Tf z>eHDop(kx4A1WHWxhXi$e}(3z*We_V%hhD(K&p%>3PiXa0T1*0Sajg<{oh_?@ByO< z`ylVAHs?XaA#8}7?{Fei!}7r@5LaoWU6a@@`bsZ!G%%!P1*DC$h4OPJp~yi^K#vt2 zgsh;pQHkk-;Zr@NokZExsSiUY>O0f+Qa;LU+=saA$w(qPc=T<~T?sWfzTh3pP;rSx1J z1^ISXv3yf8D z5TE!V_KmT**R&J;QqAV&0s&efcR+!SdU=SEnV2L@I|bLCQ>jJhHWI4D4b zjfzP&d=zV|oKv~5(r^>5;qQZgu)hX3p;{seM_bsW+=RK;i;Ydx%>7iTcM=W|J|%1+ zJPFWunD)>q_z5Jh?l+Y%y@gWvDB&>Gr)I)lfZmkc0e^aIPxAic!`KvyZ*Gwo@Y2Uz zd}%jp7OcS9y>_JNrquq<)G@BDO}-9Bf-$B+`v)P3VzL=zqM!GFN?o#hxjmhmy%l+1mVXVeBrm^=J2{ZfrclKWP zxsQF89X|onb+qI9Io~JjKYN|%@Im&g5fIy+y*qnfHi{Z#)_2)eJ?ABcc}TT-c|LM` z3G3KZI`9gy98xVDjb#GUjAp>YDpdmd?HLczXprgw6^MG}*$FdhuAWg*Hsy-4()PNX zmhhOIssh)NRd#n_bylFQHc;3yGu&KbNS`&WGP}7jw%%YxPhfVn>M7miJ)jQdb@G_q^fMJYc-y4o3 zs5}HYJAS6{c^8ll0QMUeDk9u&aua+XPE>)fkOSAl6%hQf=L|0!-sG;e2UprU0#a+@ zuFxOy@=t(%qv@kqgK?^Ho)M3ltTMO`J_tDW^k&O63r4gHoQ|jX* zF>{h9sVE8dYI6JmdgNl(WV+*!c@S4|nSGIC$^u>0LOli!tz?A-N0Skcfpre+rgb28 z)cTh79jgH%SqqT9GDupJte4TDT4$YXRo7^LLsraWbz2J&VjK@|8bVgBv(_03hb)a@ zi+w2RgN`W&TmITLN4@Ryjj`B!fB6e{0O{G}w_`G(d6z0vw6qLES(|lX+Um3oX;&UDNh2q;P}KMlh#Ip=Xvt4-Pqm18Y{7G<9Lp((w(Ix-g-x zUo;-+7>{&}hvrh!;{r_DuT~cqER0EiUflDOA6LkwAKS|r+y{uoj0cU!ID205D*fB~ zuA~@@I(?TtM*Wh3rP>ZKioOLWH;}QT7#a5gg!TlBxlmTzr*I5K#C99^84saUeQ(kM z8i;->?RyCfp_RpHJE)dFjB=duT??~?aS!HD$my1GMU@EDN2;L_iK_mF*;ScU<(Xvx z$Likblxs>Gf(})+2Wkp$SU0EDsAd$l!Y$`6Z48#ra#(|<)tR#ws&$9#nT2k5L6&29 z_-~VHvnxXxm_AVg+v!d97EyxpGR_?68?9_f9s!Zdj6Lp8#umc{nodk>*4H!T7^2vdbT=ddQ0w4`~nZ^$38vgN()r zlUFv<*L@72hf^DAM(?IJ^bW`FW%}k~gkywh7uNeLkfJerBe_t366PLLMPPNt3! zo(Je1fvy1N_MyTjU|Yq5fb?QZ6FK!l#o9L1cv0<#S)B|Z>R_Gw3EhOFgl#PSAfcUA z?9SVlhvEjAo*I~k>a=|U+@Br1L4jOPt5* z(H3wEqLmQfWgCDhLK>J7yqWQpOqp;n$yo;vx<{E0feJE$SZ*i9+6|qCWt6hp!ASZc z!=M3!b%;FJZtaA;f+Ga`O8cybtdK0{Ndnv!7uq%!vyTuX4=0Mz8EJ&s{Zc_%2Swlx z!hV9>_ojlO9RZAT9(JKa&U7wWn3skJ=X8(HEoi-V`n?m|u3M~huTWQ&UwX^5j+^F| zs`bO_-MzPMAs3AW9KarrO{~_EZ5Y#6u}W*Rx!VyTsL9f^2CoC$W=R+;h--5^&x}|V zZrNSr$xe(Ieb@&0u#G~#57Q2 za<3Z;B>W?*amMvpO|_zR42aPJgvZ$XlZ2lGq%$+#I+Mx(Qi@&0XEp-5RW(H89Lkywxko+%VbYn!_ zTvIJV8lW&)@*te)jj&3;O1d;Y5EH_ ztNa5ksfL9{y(Uw9Uo(=M1Ehrk!s7t83vpK5enhh0hjGgsjjFwfiRFF)DG{y6jJEB&L{4|g%L`Z zVKdTE2X>;^N)P>5$yw;F8I#{V20>Vc6k~?hmr_%?o?ZO@xJw%ll59vdrkHG2%hXQg zT5@IS$Y;tRv;c>4M6+=(0taTnkc2!!8-be-BosS3Y#Px2%k~;#c(uipbUI-Np_lMB z;p>DS5-#l4(%WVo&`(&;bH|e6SKn;i$+VQrFH;1Wp-XVJ`5mCm`mp&)^YiATW*n+m zVeX~NCE02MqiTK*!ft?mEcpzKBNmOA)-7C=9s$IDl`@p_9yZ6d7nt=VKwpv4i*eUd zO%!eV@zitFD2{S{-Gfpy9e}T(sf&Vs>|hDIoLWfkgs{dYJCFQnF%YcwGC+UB z^fv6;DEwVG1IT#$(Xe4H*(?wF$sj8^*~i$O)HLe2`hnCVa>sxTi#L)+^}ggo=%#+i zHpo#w#7>d&#}(41R4Fw=x1lG%j`~9Jhin3r^R4N50zeSRg9k8%=bRKag2#_)(+M(l9&>N|*?8*azBA5-pmUdvlM0(X^A~HpCB^pb9>QiTR50 zNh}J~@F)jZIhLe}ms*wb;rrB8mJI9XAJD%Bw=PzI)glFZ`X=fh8_*5v5ESr`_iG`X zwRr&jaZ{9Tfeq}|LV}vYxyN|Qh;x`{-PE~z0rW?}D+aU<#2a^!S#V*BtcqMntr0E4 zMelmTSdtyAzk9JD(rkjX05O@R>k(19Pm;(^CcjS${MVeO+X#gKNKdM(OWELU1R0d{ zDN`S_VJiUoPQzX*G6y+~=K%T+>mE`(T^xcjpgr2_gqI0CPo;GeGU>sa!PIqx&j>Bd zyNYLoO%}HW@m{86cQPzEgcz=YwdRC8OSgo=>7kOwhreGxu`lb+3F@lhSCyL2w<^c} z`N?nvMxWnFJ;>1)f6=UrR$hQlJ)n#{*uq*XcVAZ_MUj<)>A^p#J!vOCM8WCBAT~28TTnZ~Bno3F>3>3`-5DuYm@%jsc4O(!j7&gPcO6 zoI(VgJYsvw_JR$&V!yHt+1^7!@3yV5;k{<4Qyla&Y|%TI1QFY3ppFMlU&%plAyg9f zQ1;wLI10duq@+u#3@Pa~lNIxHOXKjLF+MfQtL8Mz=T9l`411^{=RiXlM67~Sgq5Y5 z-9#QB@#PWjBFF$i>?=Sd($T~n25l=r5MJbs#{p5hqd$wX@=L~QG6Y9*Vt^8ROZ^_` zbIFeW0DZ%X*2S)!We>VYG{*_^$m;6=`e4dg3bC~?l=aSxWsDRVq|y8Y&625vZ3KA^ z;bppw_YtPi?In%Oy)^AQsAcUZ93f222OJ{o3IVnQ^uh319FG+7*34rY1_^7~5NVNh zrYvJa&N8EmE#OYBz9OTSO*+90*#=oXYu5MY9_EJAVb*hiu!EJI4RfdI3xkIddttbY z81aeyr6M|$Jj1n@jSU1_F0Uz{*%~Msf63NJb5>oMKf5fFl~-4plam~|VqHha+Dj{n zE?IxsmAB6f-qGY8bIr`@3!40jui@(HQ&w_jsihx=Y)ivl(r558U}mM+Bdr^01xaH^ zIxO<2x-FpV;)2(LUWZi7Cr1#iy=>FUe3;;ZXJ*3=sLrj!A};gR;p< zmX3nmoMieM^zFvo)EYe;V!4OT&>qbTW*d#B(>8NNH$zVr($0|ujM_L~E<)dtv`0D_ z_`Z)EyN4k6qx)C{C!87jDokVkk75G})I4pxm*B+7t`OhR~( zmyZK*Je`t8TgzRkqB40-uPD;*#W)w?F!ZQibx}NH5qPKwV@zv<;fd+kKI+Bme8D?F z3=ZjzU;rEA{h4u=YKKf49b^L_2?qdr%ze;} zcP?immk>OJV*owuX~f2DTe>e)9BK+N7-)HDeP~lC33>j4l7i-fX$9Q{D++oGHWwse zN{aE~aY9!m-~{1V4a8t)&9a(xHIQOwaV4}4w)mLw44NA2Gm<=Ti%LaYy&ckr<$9$e*Pm>1)oMVf-JuA4?yc~q^)y?)56c;oVbQE+I zEH7AJu!+rf9yc z3jFounc3BKzT7&cvS+@UTWa!TdQED$dQwS7(bT43*~D3)ve^@Ysyg-?E!Rvf_BYR; zc=^f}Z|)zrJnjmXs){-}xu8C5Dx0-t=G9;82o%g-Oa5*Ge-D7a?IKgj(TsLbq(D4R zTz!WQ4=GI@zD)w>ww3ZakEy@~@r_iEW|dz$&>A_iy9o0DG(WJEVeuouhT#LD0RkaU z=Lc*c*aGf^P`F6@NCUy9Q7EJ;RQvG34$Z1a@sP&oO6C%w?L=Ppz zHbRW>U24Wp5TtzAPEBMpeQ}H)6PjD)Z30V3NQeCt1$zk(6Z-Hx1OUu4#6LSjhJ*}| zlh?HW#zh&yNY2(-TYB5udndIxa;oyxRoBePs;|tq48Nl|M}>e7AsHBMd^z`Hj9dQa_shUEC_@Wh!W z&aI4*`|3*fuu}hpN{_O>cL;BwQhj5=wgMC-YxJQ;eR*U(>p6~kv{)@*H^Gyr3Lc5L zOG2_Wj7kzph_N8}p23BMIh^2WkMeA}Nl~2>sw&6X^IEDZTMF#H+F6ag(@RVS@2tk` zNWLpIx3QvnLUDQy;(}_gR0~_wR6}-tL!l>-o9A>EmPT>{6KVr+pEx9E#eY*2TXDA0IcvRsog;x6?@(wH>99&;T+#rEY24; zxUm}3g=R=N1Hb}#N_2mFzq-2h^HdEi{9E2>%6~EV<(372yzPJbJK zOFPcLYHei0C_%c(1EZ-m3@y6g7QM(nkRZ_h6fi%WDH+n5I7^-mL!;J8pnd3TJsTmc z^|juOUd)-KEI+1J@6Fmwhf;6$=4@(dXD+;TCXMg&)n3nL%6T6ML+|x&=KDUrx;|?Y zUtOQQ39mvD&|#B~4LdK+MWolp9SRWIHM13~>ME$t=APT6tfuLe71Qf;)K#j{ZX52a zYc9-CRY!PCgR*V-x^b5`WoI|cqVb4tfq$m_0W)P*R6m?HKCP9rb2n$F4Zs~axeq6| z<+#jgK0v>MG2BB&KTb%(cXepZ!B4t^;<^byn?sW-Q<%nsg{LC$2)>y!jcnKi;I(<+ zD-6IyAUrLam)MkB0Q&3dpSaa0Z9Xbxa+9!&f+D^ntsgO+;0pVt6H`Ld`Q{ty+juiB zYo+Cu&D@#lRm}a2=?Zlm($Xw5g#6PU-#+EH0YtY4l|Ov`O^g!0v#y*2eWfU$__1Y& zQR0-#Sbq%Aj>L#asfXZy_`iS#i7=9oMz;^K$4J77*A2&z?zfcCdn7$YgUG;8@SGYV z?y+LTc!KFTj>qT?=BZ{Fj~;Uo{3&D>e0!k;D}%lwsh6r_C)0}+cel?+Lbnp;t|3z0Pm&@=+jcVVH4;FQjXx~E2be~hoe8EgRfnI!P0Iee1pUG zL-kn>;V+nBh#TuTjfm0_dV_g_RW5x8)Cz>Y^EUW)@YwI6=WTk68=hX z5^4#H2?ow*h%lL#w-8*syqBrB0FpLfwPR}!i|~X=*Ls#Tk6oN~-3?%};rYtC;XY;e z=ig*#66l3qlQ+OsHnq+VkCQL%RD)-2jkbZ~4`+xxI=_r+LNP$!Wr)%7a4R!j2Sjn= z*_w!thCl6h#&@X)A0>M=0(6hD2pQzhUJh6>fWwScxR)$ZqBJv>i=SZ9mIF8u;HE~5 zQH)=IIitdcM;;~$2%0)iIy#(moOA>d?InpGwY)_VEkas*dz3^^Q=cgYo$7vb30-_m z$Y`@}G;cHSGRNTh(_ZEiZvf!N1wF$2;^cpdF^tpLMOO6%RtIOGFD7#`7x~Scv3Cf! z5uOL=-KG^LxD;gc1*Hd0SxX08%yy7IwgwXSTEbEevplLJ3Lgc5?4Z63?iKLHAyfT6G@gu^yo<@TwM_Rrq3apse| zXM7zZ>DA$1{Qd9vz--N*L1)>ZvlEa@N#f~eO{OFx4l7|A;rruQ-p(E#0O;NLSSZXZ z3T^u5H8p9}GlwD38G?`I`bk;S2uBEO0Tkh1Ar=x-hA*jc0=^K)hd7$c$co2F#>Y{F z(B9zaKBPWDIU!~5QalhBw1`E?p0jhy^!}M(q1Tkk;l7VQ=9)yW*Q-+6=3_4otGR(? zt^xtY#j3WE9J9=@jxz@CS)(@_rom06TMd4CtGc-0Fj%0?8V?3JZ2(#FC>%wTWq|R8 zQa)Rzz2FysORy4Ky5u~=VJm+uJTK9{RTXrY@n-K>!jS-N4Z0u z(X6~&hg9rfGQH=J=DTo38cxD3Y%3@{E{PoyB{*KWd-xTl$dYauUaX86eob9fJuJ+V zs}=qal*HFZb}Rp(J_@a@l0zV)I>Dp;Mn<3^euFzR(iB3Bp*(p8$4T5j%&iO5@O35k z4=0EJTYa?U^E;ba;uq)HujG!8{M5x)9A%I7Dm=^{_ZnU}%pO~7;Bj{J=c426O1vTR z%qtpFg*auUQF(6c@WHXEIqHw7TH^nXv0GUqdjj&qX@3ehgnYv$LtiKcsaCK-=#kuB zV$>vp;;=i*4kO|Q!6Ck0X7OV`_EddjrcV>h z#6=b%NI};=TvuP(1ZMLUOFPL62 z{m%5R$<%|ziCa@WJ3W2%i*8g_DPqL`%roduXe6q1I``O~RbGcDt^&kpqOFcEC$7=SBEm5T&I zBDExZ0|FeQqjF9!KPUjk_T#&b2p6O-pNky$YH_TO{Bj86sl7z;CeIMXn8Mji0C#Vi zQ>Sq!rxa=J2)EFlBs@ZRfiPHrhmIAVDa1qPiji@ygaXdZLZ2hZ;$<)r10ggYOKt+_ z#i>m!nYCy!6s2!>?B>S>Bv2UvSkI@8J0XqID_J~L4dP?4uJG8BKI0=<+qG1 z_}FJr{3M68^coxL=Z{-@`J&0w<`*;L)t&g3b_I5R(tMclJbI;D z5o@o%?;AmgqHg!)`5VmwC+c%mu7; zMvR#q(UO7q^h=v75#uZcYJwJ=a2GfewBW^smrfe9RemN@R_SrdCK3k{HBhFGqg5kBi-X?IAv=&*TgO-F{ZfGovO)d9ubA*Ib*xVj-Nj+w$HQ8b> zYO9{Vupl>ga_N|`k20-^^QpWhLQ1vf&cx9E!yQIw0F{@EWTwqdOSwVO)dz za=V}LBA7UQlFEfI*1_YX54cX@$R%0#1eHpxj8HHz4|=D489k=^?1%WnPhQ~XxbqwX zq}xMy>MTHL$N82#7}&*ES8xjF!DXn&><96pwv6e~w?~hvA7eDwS;85X!@}TWX`q)S z&T2AN)_YOR$B|kScJ4Fs$L7=*`+TKiLQ`r=CoitPY+Qc+xGQQJx|KV|8Z0Rp_H188 zYZ%8Xvzn?q3femBYP(ts@YQadiGW}3MVuta!kMU2&FsSb%%Lf`mF+)8co6_Tk^6jD zj#kkhmq*|@X>;JRqi-!2%!IEM6_3tFVlkJpR5~ycQ}czY0x6r=AJ>FmZi%PZ>1pc^ zVlLoKOPq!x1@8dpz3H3jJoCx@3BqjzAKhA;2=wm9{TQ3PJLt#grB7pBRv-NsgL!8W zVu!O(|5BXZo3WW&QF3QNo`UK_F)?~lws}D_(wDN4ZnAasio}bFZxK52@tC4|e5&({ zNIVZ&C?ONEF(rd`%*xG|BrB#4qi1HgXi{x%e&gg&)s&aYCbrr0bA4u;In`y)$VXbf`>Kn!b%vuun4Y#oYY%=vneVtF)0UxPExDe zXadOksGIBjx)?GB$&;t0+@$~=-KQL6#^A*jY-R<0tia8(B{3Xk1-*n507ZU7#B2#N zwgw+?OAv&mw(i1#X+y!}+B`)WenHJCZ^&wo6pvY2bJ>_cuzBXy|5W%nh{#Okjm-K> zo08I#s^A5!4NuK$>24l#<+#9q87(G%MbI?~^0XB~^-t7mukd&SwqVKDgyTmk7cQg#?vkeO{K%6xmjQ7Q-))zsEBoG86 zjrt(@?N0r$2#;ZzaXMHe9b=2o&7UkNvZJV-qaaQdF^|9884x=~6o{!Xw=>x53csqbjr z(~8lUB+Jz<>72mg$2t0EC$!8NSf^$r*hhZ&Fmcg@J5Bry-wa2zU`T5%AbS#?p^9cN zP;QcI)eOuoX2mt5fJNg-O%|?l3TDW5%b#eIBU*`bLU7`1rz%kZpr^kFc3x{`4%*<;n%Lgf1Fc6|A?J3q;_*rGQkxw8mrD(1bnj5#VcP>&hrYwUhl|%iY}3cQ z!EmrK2!nNB@DR@yd-L)BK7bysYQ$kIt*9CqQwfcPPJr&M591)Twyz%P!TPgIH#VTK z;xSEQI>w+C9b@rm389;SNISR*Cm)%N%6%Qh9e93!2lAVy0rnGOGXaO@0?q=2z61Y* z5Inriv?age0U8MnY<8HsS~Z;RZA!}dyid4XOY|7cNM(D1vXjqxu?$vyE5x$*Ei0t z^3N!&3lwBW#swyAZ1#rhbH>e4OUg~jrlJ<*ZhL{tRhWgM_?zuW#dIm2P-&pK%x}wc zr#lVld8NLr+ORi0H|%MMILph*+!G7)$Cmqt+X6+dtn{Sv!mL~capnsCpEg42hyIa+ zINuEJp9E;`KF+O^7m=b2%7H9{b6KAIn8RZrj}u1E! z#d4^;TT^%@foJTo@iG9-rQZwo$j;%X7@_p($CJ+?jtifxmgfkM;gCw3)teShYfNkB zft9ngDco2j@B~hL9JC+9XB}fX3@rTt=4Rh+w)-!Fs10uEBR0_Y~i@mGGm3%b}vC!*JAAHcS4vkJSz z9RqUjb3_SW2o`S^~Y6kZT$a`AwP5|x0JLtE2>)!fQd%Wu-pxM6Z$z#c!oJ+ zB(O>Xv0w$H@Q`0EJCrtW!(pvpqIi~X-BFp}J|$4+dn!3$NCp}rT5>75^DS5GYJs*Au4l;QUH zE5I>*~U##zV@L#*ApLXaO_0vNSy@7I+P#8V}Kd? z8$0QE-!a0k|H)wBe+dD8*7i#}%4G=fWcr)eQ}x{A^(uxQCOw}V5#S!Zv^LyM3z(;d01pPillS_umE@R3AXQlpJ^2?0OJk8lg zd58htOyYYOF#09d*i$Jlq`bmV;M?w)>O&!5PLKK!e`J~@s) zB+!v_kZKarGfF*a0xap^v;fpGl=IR!QzW!QZ?p)sU3429t3QcoR0g6!7F8?_0>KYs zrKmnjlAg2-oP|uHh8$UHM>b>G-b#o(XY%F{kU46>1PBOy$`rjZfvFm6K*V7+gHV(q zu1Vntc!KlHJ>J8S6bV7M;Yhv5{4g!6Pn&VfC{G;k z#<4QQIi4M1wu&opn{^MBd!HvU>H<(bwm3tbAI7mxS;D3tBk&MB&-PcE*Q3ojnZ-nJ zU2OkBf*8Tw1cL;R6Fg7Q1EB7#-X?korOmPi(qO^HR0j=K65 zqctDNHp`2QHd~c7=&oMu3Hn>4$(BGUQQr_>+%f%E(vncjW$=WXTrkHh=uPx?P9rfe zs@@?36jp*y_bZVznc0Fhp9*47I{#q_z;P1SxS21}*9s#J@5_%->CTzrvW5r~$;7W? zR;*&6W-tL>Coc#l0NQVSt#Gy+#xxX1FvyIDcEF`S!lXX#X8!zC?R% zEy`mtO+S5Iq<=$}*j#?~KqNM>y0i1%f%va7i(CEv)`d-}MQuS}%OcFfyqjyFZTvS> zl#5F(N+tDcH)b?wcKW-~!HpU;7ls-(^f2-JI)X6*dU~)(&lY6`0JSO}x^<8#)@DTT zx8)fT*tUEkgnDuxSg4K8cMk6H)kxD7KmQa4hK^Ql1_k z$90=|565-3#(6ifgO6Yv0Mg9MLh84*alfMW?h`5qX2k6ETN^l;dB-tO!#h zrbyA%i0qmMvxsO%4i9jL45TT!`un*Gwgag9Di47RP%l(oBQqfQsC{Idc0d?WFW9e9 zJQp^A?T)>qa)&_Wl$CVe-vFR1$5gSw;`YkDl?RzTUXymz?NxgzEN`>#K`ZJx`xQ3! zG#i*POsHF3yQ%4BV-f@7<|sdXUNJ9X1F`6Zv~|gd=eA68u(Lj#8*REfW%_ckHHzT! zY;EttCDQK2A3pVVq9t0mH4$mkI0uYYJXfd4qsX!jLVoi^ zA6zDT?(16G7OAT7Ao*)wCO9fhu5Rn>7__@>=1}LN*qi+7Ug+eH;8IeUh0VH+6D-x;sg^gahnYr>3Cqoa^z5Tt3=&3*AzAJ(e8`sV9m_8Hk zu*$J!EV$9;HO(8FF-2>dH4*1L`PC!^npFfMUpNz0YiZ7zV6%ud1P7qup_$q-P+9xGX;D_1i z=t=oTM)cMipUq^fL=L=Q%w;v$JoRy}zq!%F)j4$YJ?VS$3h1A&Dm6Z?P9STV&UDyn zx@%z1mG{Z2n_dLzk^2^xPOMwBE%0Am60^i>^d(hPdT;qb{g1P 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 OG|;OYVSulL^Zx)kukT&} literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_static/fonts/Lato-Bold.ttf b/release/0.10.0/doc/_static/fonts/Lato-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..74343694e2b2114272f38b1124813b972cb592e5 GIT binary patch literal 121788 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_static/fonts/Lato-Regular.ttf b/release/0.10.0/doc/_static/fonts/Lato-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..04ea8efb1367727b081dea87e63818be0a4d02f0 GIT binary patch literal 120196 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�r(aJ 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 d3)lz{Xfc9M412p literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_static/fonts/RobotoSlab-Bold.ttf b/release/0.10.0/doc/_static/fonts/RobotoSlab-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..df5d1df2730433013f41bf2698cbe249b075aa02 GIT binary patch literal 170616 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_static/fonts/fontawesome-webfont.eot b/release/0.10.0/doc/_static/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..84677bc0c5f37f1fac9d87548c4554b5c91717cf GIT binary patch literal 56006 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�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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/_static/fonts/fontawesome-webfont.ttf b/release/0.10.0/doc/_static/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..96a3639cdde5e8ab459c6380e3b9524ee81641dc GIT binary patch literal 112160 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 zÄ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 V*eEM;|ho{trTA6=?tf literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_static/fonts/fontawesome-webfont.woff b/release/0.10.0/doc/_static/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..628b6a52a87e62c6f22426e17c01f6a303aa194e GIT binary patch literal 65452 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 q%u^)w#YX9ZIvhtu?9Cy6YRi6f6G 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_static/images/PP_w.png b/release/0.10.0/doc/_static/images/PP_w.png new file mode 100644 index 0000000000000000000000000000000000000000..bc58b0b458135773fcde5ee941ea095e3d4d07a0 GIT binary patch literal 3183 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 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = jQuery.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isFunction: function( obj ) { + return jQuery.type( obj ) === "function"; + }, + + isArray: Array.isArray, + + isWindow: function( obj ) { + return obj != null && obj === obj.window; + }, + + isNumeric: function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); + }, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + + /* eslint-disable no-unused-vars */ + // See https://github.com/eslint/eslint/issues/6125 + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + DOMEval( code ); + }, + + // Convert dashed to camelCase; used by the css and data modules + // Support: IE <=9 - 11, Edge 12 - 13 + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: Date.now, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.0 + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-01-04 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + disabledAncestor = addCombinator( + function( elem ) { + return elem.disabled === true; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + // Known :disabled false positives: + // IE: *[disabled]:not(button, input, select, textarea, optgroup, option, menuitem, fieldset) + // not IE: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Check form elements and option elements for explicit disabling + return "label" in elem && elem.disabled === disabled || + "form" in elem && elem.disabled === disabled || + + // Check non-disabled form elements for fieldset[disabled] ancestors + "form" in elem && elem.disabled === false && ( + // Support: IE6-11+ + // Ancestry is covered for us + elem.isDisabled === disabled || + + // Otherwise, assume any non-" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + !compilerCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + support.getById && context.nodeType === 9 && documentIsHTML && + Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +var risSimple = /^.[^:#\[\.,]*$/; + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + + } + + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + + } + + if ( typeof qualifier === "string" ) { + if ( risSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + qualifier = jQuery.filter( qualifier, elements ); + } + + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1; + } ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 && elem.nodeType === 1 ? + jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : + jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + return elem.contentDocument || jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnotwhite = ( /\S+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( jQuery.isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && jQuery.isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && jQuery.isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + resolve.call( undefined, value ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.call( undefined, value ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( jQuery.isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + jQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + len ? fn( elems[ 0 ], key ) : emptyGet; +}; +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ jQuery.camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ jQuery.camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( jQuery.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( jQuery.camelCase ); + } else { + key = jQuery.camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnotwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + + // Only convert to a number if it doesn't change the string + +data + "" === data ? +data : + rbrace.test( data ) ? JSON.parse( data ) : + data; + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + jQuery.contains( elem.ownerDocument, elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, + scale = 1, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + do { + + // If previous iteration zeroed out, double until we get *something*. + // Use string for doubling so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + initialInUnit = initialInUnit / scale; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // Break the loop if scale is unchanged or perfect, or if we've just had enough. + } while ( + scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations + ); + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ), + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); + +var rscriptType = ( /^$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
" ], + col: [ 2, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret = typeof context.getElementsByTagName !== "undefined" ? + context.getElementsByTagName( tag || "*" ) : + typeof context.querySelectorAll !== "undefined" ? + context.querySelectorAll( tag || "*" ) : + []; + + return tag === undefined || tag && jQuery.nodeName( context, tag ) ? + jQuery.merge( [ context ], ret ) : + ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); +var documentElement = document.documentElement; + + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 only +// See #13393 for more info +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnotwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnotwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or 2) have namespace(s) + // a subset or equal to those in the bound event (both can have no namespace). + if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, matches, sel, handleObj, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Support: IE <=9 + // Find delegate handlers + // Black-hole SVG instance trees (#13180) + // + // Support: Firefox <=42 + // Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343) + if ( delegateCount && cur.nodeType && + ( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== "click" ) ) { + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matches[ sel ] === undefined ) { + matches[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matches[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push( { elem: cur, handlers: matches } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: jQuery.isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + this.focus(); + return false; + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return jQuery.nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + return ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event.which; + } +}, jQuery.event.addProp ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +function manipulationTarget( elem, content ) { + if ( jQuery.nodeName( elem, "table" ) && + jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return elem.getElementsByTagName( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + + if ( match ) { + elem.type = match[ 1 ]; + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( isFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rmargin = ( /^margin/ ); + +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + div.style.cssText = + "box-sizing:border-box;" + + "position:relative;display:block;" + + "margin:auto;border:1px;padding:1px;" + + "top:1%;width:50%"; + div.innerHTML = ""; + documentElement.appendChild( container ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = divStyle.marginLeft === "2px"; + boxSizingReliableVal = divStyle.width === "4px"; + + // Support: Android 4.0 - 4.3 only + // Some styles come back with percentage values, even though they shouldn't + div.style.marginRight = "50%"; + pixelMarginRightVal = divStyle.marginRight === "4px"; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" + + "padding:0;margin-top:1px;position:absolute"; + container.appendChild( div ); + + jQuery.extend( support, { + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelMarginRight: function() { + computeStyleTests(); + return pixelMarginRightVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + style = elem.style; + + computed = computed || getStyles( elem ); + + // Support: IE <=9 only + // getPropertyValue is only needed for .css('filter') (#12537) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }, + + cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style; + +// Return a css property mapped to a potentially vendor prefixed property +function vendorPropName( name ) { + + // Shortcut for names that are not vendor prefixed + if ( name in emptyStyle ) { + return name; + } + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { + var i = extra === ( isBorderBox ? "border" : "content" ) ? + + // If we already have the right measurement, avoid augmentation + 4 : + + // Otherwise initialize for horizontal or vertical properties + name === "width" ? 1 : 0, + + val = 0; + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); + } + + if ( isBorderBox ) { + + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // At this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } else { + + // At this point, extra isn't content, so add padding + val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // At this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with offset property, which is equivalent to the border-box value + var val, + valueIsBorderBox = true, + styles = getStyles( elem ), + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + if ( elem.getClientRects().length ) { + val = elem.getBoundingClientRect()[ name ]; + } + + // Some non-html elements return undefined for offsetWidth, so check for null/undefined + // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 + // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 + if ( val <= 0 || val == null ) { + + // Fall back to computed then uncomputed css if necessary + val = curCSS( elem, name, styles ); + if ( val < 0 || val == null ) { + val = elem.style[ name ]; + } + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test( val ) ) { + return val; + } + + // Check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && + ( support.boxSizingReliable() || val === elem.style[ name ] ); + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + } + + // Use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + "float": "cssFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + style = elem.style; + + name = jQuery.cssProps[ origName ] || + ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + if ( type === "number" ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + style[ name ] = value; + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = jQuery.camelCase( name ); + + // Make sure that we're working with the right name + name = jQuery.cssProps[ origName ] || + ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, name ) { + jQuery.cssHooks[ name ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, name, extra ); + } ) : + getWidthOrHeight( elem, name, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = extra && getStyles( elem ), + subtract = extra && augmentWidthOrHeight( + elem, + name, + extra, + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + styles + ); + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ name ] = value; + value = jQuery.css( elem, name ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( !rmargin.test( prefix ) ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( jQuery.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && + ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || + jQuery.cssHooks[ tween.prop ] ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, timerId, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function raf() { + if ( timerId ) { + window.requestAnimationFrame( raf ); + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = jQuery.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 13 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = jQuery.camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( jQuery.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + if ( percent < 1 && length ) { + return remaining; + } else { + deferred.resolveWith( elem, [ animation ] ); + return false; + } + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( jQuery.isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + jQuery.proxy( result.stop, result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( jQuery.isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + // attach callbacks from options + return animation.progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( jQuery.isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnotwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing + }; + + // Go to the end state if fx are off or if document is hidden + if ( jQuery.fx.off || document.hidden ) { + opt.duration = 0; + + } else { + opt.duration = typeof opt.duration === "number" ? + opt.duration : opt.duration in jQuery.fx.speeds ? + jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default; + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( jQuery.isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = jQuery.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Checks the timer has not already been removed + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + if ( timer() ) { + jQuery.fx.start(); + } else { + jQuery.timers.pop(); + } +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( !timerId ) { + timerId = window.requestAnimationFrame ? + window.requestAnimationFrame( raf ) : + window.setInterval( jQuery.fx.tick, jQuery.fx.interval ); + } +}; + +jQuery.fx.stop = function() { + if ( window.cancelAnimationFrame ) { + window.cancelAnimationFrame( timerId ); + } else { + window.clearInterval( timerId ); + } + + timerId = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + jQuery.nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + attrNames = value && value.match( rnotwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + return tabindex ? + parseInt( tabindex, 10 ) : + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && elem.href ? + 0 : + -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + +var rclass = /[\t\r\n\f]/g; + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnotwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && + ( " " + curValue + " " ).replace( rclass, " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = jQuery.trim( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnotwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && + ( " " + curValue + " " ).replace( rclass, " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = jQuery.trim( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value; + + if ( typeof stateVal === "boolean" && type === "string" ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( jQuery.isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( type === "string" ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = value.match( rnotwhite ) || []; + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + getClass( elem ) + " " ).replace( rclass, " " ) + .indexOf( className ) > -1 + ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g, + rspaces = /[\x20\t\r\n\f]+/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, isFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + return typeof ret === "string" ? + + // Handle most common string cases + ret.replace( rreturn, "" ) : + + // Handle cases where value is null/undef or number + ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + jQuery.trim( jQuery.text( elem ) ).replace( rspaces, " " ); + } + }, + select: { + get: function( elem ) { + var value, option, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length, + i = index < 0 ? + max : + one ? index : 0; + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + elem[ type ](); + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup contextmenu" ).split( " " ), + function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; +} ); + +jQuery.fn.extend( { + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +} ); + + + + +support.focusin = "onfocusin" in window; + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = jQuery.now(); + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( jQuery.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && jQuery.type( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = jQuery.isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + // If an array was passed in, assume that it is an array of form elements. + if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + return val == null ? + null : + jQuery.isArray( val ) ? + jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ) : + { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rts = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || []; + + if ( jQuery.isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match == null ? null : match; + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnotwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 13 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available, append data to url + if ( s.data ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add anti-cache in uncached url if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rts, "" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + "throws": true + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( jQuery.isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain requests + if ( s.crossDomain ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( " + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • ABOUT
  • +
+
+ +
+
+
+
+ +
+

ABOUT

+

PaddlPaddle is an easy-to-use, efficient, flexible and scalable deep learning platform, +which is originally developed by Baidu scientists and engineers for the purpose of applying deep learning to many products at Baidu.

+

PaddlePaddle is now open source but far from complete, which is intended to be built upon, improved, scaled, and extended. +We hope to build an active open source community both by providing feedback and by actively contributing to the source code.

+
+

Credits

+

We owe many thanks to all contributors and developers of PaddlePaddle!

+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/api/index_en.html b/release/0.10.0/doc/api/index_en.html new file mode 100644 index 0000000000..1738caea7d --- /dev/null +++ b/release/0.10.0/doc/api/index_en.html @@ -0,0 +1,256 @@ + + + + + + + + + + + API — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • API
  • +
+
+ +
+
+ + + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/api/v1/data_provider/dataprovider_en.html b/release/0.10.0/doc/api/v1/data_provider/dataprovider_en.html new file mode 100644 index 0000000000..ee1b046476 --- /dev/null +++ b/release/0.10.0/doc/api/v1/data_provider/dataprovider_en.html @@ -0,0 +1,264 @@ + + + + + + + + + + + Introduction — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Introduction
  • +
+
+ +
+
+
+
+ +
+

Introduction

+

DataProvider is a module that loads training or testing data into cpu or gpu +memory for the following triaining or testing process.

+

For simple use, users can use Python PyDataProvider to dynamically reads +the original data in any format or in any form, and then transfer them into a +data format PaddlePaddle requires. The process is extremly flexible and highly +customized, with sacrificing the efficiency only a little. This is extremly +useful when you have to dynamically generate certain kinds of data according to, +for example, the training performance.

+

Besides, users also can customize a C++ DataProvider for a more +complex usage, or for a higher efficiency.

+

The following parameters are required to define in the PaddlePaddle network +configuration file (trainer_config.py): which DataProvider is chosen to used, +and specific parameters for DataProvider, including training file list +(train.list) and testing file list (test.list).

+

Train.list and test.list are simply two plain text files, which defines path +of training or testing data. It is recommended that directly placing them into +the training directory, and reference to them by using a relative path ( +relative to the PaddePaddle program).

+

Testing or evaluating will not be performed during training if the test.list is +not set or set to None. Otherwise, PaddlePaddle will evaluate the trained model +by the specified tesing data while training, every testing period (a user +defined command line parameter in PaddlePaddle) to prevent over-fitting.

+

Each line of train.list and test.list is an absolute or relative path (relative +to the PaddePaddle program runtime) of data file. Fascinatingly more, each line +can also be a HDFS file path or a SQL connection string. As long as the user +assures how to access each file in DataProvider.

+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/api/v1/data_provider/pydataprovider2_en.html b/release/0.10.0/doc/api/v1/data_provider/pydataprovider2_en.html new file mode 100644 index 0000000000..ed4eacccd7 --- /dev/null +++ b/release/0.10.0/doc/api/v1/data_provider/pydataprovider2_en.html @@ -0,0 +1,687 @@ + + + + + + + + + + + PyDataProvider2 — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • PyDataProvider2
  • +
+
+ +
+
+
+
+ +
+

PyDataProvider2

+

We highly recommand users to use PyDataProvider2 to provide training or testing +data to PaddlePaddle. The user only needs to focus on how to read a single +sample from the original data file by using PyDataProvider2, leaving all of the +trivial work, including, transfering data into cpu/gpu memory, shuffle, binary +serialization to PyDataProvider2. PyDataProvider2 uses multithreading and a +fanscinating but simple cache strategy to optimize the efficiency of the data +providing process.

+
+

DataProvider for the non-sequential model

+

Here we use the MNIST handwriting recognition data as an example to illustrate +how to write a simple PyDataProvider.

+

MNIST is a handwriting classification data set. It contains 70,000 digital +grayscale images. Labels of the training sample range from 0 to 9. All the +images have been size-normalized and centered into images with the same size +of 28 x 28 pixels.

+

A small part of the original data as an example is shown as below:

+
5;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.215686 0.533333 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.67451 0.992157 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.070588 0.886275 0.992157 0 0 0 0 0 0 0 0 0 0 0.192157 0.070588 0 0 0 0 0 0 0 0 0 0 0 0 0 0.670588 0.992157 0.992157 0 0 0 0 0 0 0 0 0 0.117647 0.933333 0.858824 0.313725 0 0 0 0 0 0 0 0 0 0 0 0.090196 0.858824 0.992157 0.831373 0 0 0 0 0 0 0 0 0 0.141176 0.992157 0.992157 0.611765 0.054902 0 0 0 0 0 0 0 0 0 0 0.258824 0.992157 0.992157 0.529412 0 0 0 0 0 0 0 0 0 0.368627 0.992157 0.992157 0.419608 0.003922 0 0 0 0 0 0 0 0 0 0.094118 0.835294 0.992157 0.992157 0.517647 0 0 0 0 0 0 0 0 0 0.603922 0.992157 0.992157 0.992157 0.603922 0.545098 0.043137 0 0 0 0 0 0 0 0.447059 0.992157 0.992157 0.956863 0.062745 0 0 0 0 0 0 0 0 0.011765 0.666667 0.992157 0.992157 0.992157 0.992157 0.992157 0.745098 0.137255 0 0 0 0 0 0.152941 0.866667 0.992157 0.992157 0.521569 0 0 0 0 0 0 0 0 0 0.070588 0.992157 0.992157 0.992157 0.803922 0.352941 0.745098 0.992157 0.945098 0.317647 0 0 0 0 0.580392 0.992157 0.992157 0.764706 0.043137 0 0 0 0 0 0 0 0 0 0.070588 0.992157 0.992157 0.776471 0.043137 0 0.007843 0.27451 0.882353 0.941176 0.176471 0 0 0.180392 0.898039 0.992157 0.992157 0.313725 0 0 0 0 0 0 0 0 0 0 0.070588 0.992157 0.992157 0.713725 0 0 0 0 0.627451 0.992157 0.729412 0.062745 0 0.509804 0.992157 0.992157 0.776471 0.035294 0 0 0 0 0 0 0 0 0 0 0.494118 0.992157 0.992157 0.968627 0.168627 0 0 0 0.423529 0.992157 0.992157 0.364706 0 0.717647 0.992157 0.992157 0.317647 0 0 0 0 0 0 0 0 0 0 0 0.533333 0.992157 0.984314 0.945098 0.603922 0 0 0 0.003922 0.466667 0.992157 0.988235 0.976471 0.992157 0.992157 0.788235 0.007843 0 0 0 0 0 0 0 0 0 0 0 0.686275 0.882353 0.364706 0 0 0 0 0 0 0.098039 0.588235 0.992157 0.992157 0.992157 0.980392 0.305882 0 0 0 0 0 0 0 0 0 0 0 0 0.101961 0.67451 0.321569 0 0 0 0 0 0 0 0.105882 0.733333 0.976471 0.811765 0.713725 0 0 0 0 0 0 0 0 0 0 0 0 0 0.65098 0.992157 0.321569 0 0 0 0 0 0 0 0 0 0.25098 0.007843 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.94902 0.219608 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.968627 0.764706 0.152941 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.498039 0.25098 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
+0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.298039 0.333333 0.333333 0.333333 0.337255 0.333333 0.333333 0.109804 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.027451 0.223529 0.776471 0.964706 0.988235 0.988235 0.988235 0.992157 0.988235 0.988235 0.780392 0.098039 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.14902 0.698039 0.988235 0.992157 0.988235 0.901961 0.87451 0.568627 0.882353 0.976471 0.988235 0.988235 0.501961 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.188235 0.647059 0.988235 0.988235 0.745098 0.439216 0.098039 0 0 0 0.572549 0.988235 0.988235 0.988235 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0.933333 0.992157 0.941176 0.247059 0 0 0 0 0 0 0.188235 0.898039 0.992157 0.992157 0 0 0 0 0 0 0 0 0 0 0 0.039216 0.639216 0.933333 0.988235 0.913725 0.278431 0 0 0 0 0 0 0 0.113725 0.843137 0.988235 0.988235 0 0 0 0 0 0 0 0 0 0 0 0.235294 0.988235 0.992157 0.988235 0.815686 0.07451 0 0 0 0 0 0 0 0.333333 0.988235 0.988235 0.552941 0 0 0 0 0 0 0 0 0 0 0.211765 0.878431 0.988235 0.992157 0.701961 0.329412 0.109804 0 0 0 0 0 0 0 0.698039 0.988235 0.913725 0.145098 0 0 0 0 0 0 0 0 0 0.188235 0.890196 0.988235 0.988235 0.745098 0.047059 0 0 0 0 0 0 0 0 0 0.882353 0.988235 0.568627 0 0 0 0 0 0 0 0 0 0.2 0.933333 0.992157 0.992157 0.992157 0.447059 0.294118 0 0 0 0 0 0 0 0 0.447059 0.992157 0.768627 0 0 0 0 0 0 0 0 0 0 0.623529 0.988235 0.988235 0.988235 0.988235 0.992157 0.47451 0 0 0 0 0 0 0 0.188235 0.933333 0.87451 0.509804 0 0 0 0 0 0 0 0 0 0 0.992157 0.988235 0.937255 0.792157 0.988235 0.894118 0.082353 0 0 0 0 0 0 0.027451 0.647059 0.992157 0.654902 0 0 0 0 0 0 0 0 0 0 0 0.623529 0.988235 0.913725 0.329412 0.376471 0.184314 0 0 0 0 0 0 0.027451 0.513725 0.988235 0.635294 0.219608 0 0 0 0 0 0 0 0 0 0 0 0.196078 0.929412 0.988235 0.988235 0.741176 0.309804 0 0 0 0 0 0 0.529412 0.988235 0.678431 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.223529 0.992157 0.992157 1 0.992157 0.992157 0.992157 0.992157 1 0.992157 0.992157 0.882353 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.023529 0.478431 0.654902 0.658824 0.952941 0.988235 0.988235 0.988235 0.992157 0.988235 0.729412 0.278431 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.196078 0.647059 0.764706 0.764706 0.768627 0.580392 0.047059 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
+4;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.180392 0.470588 0.623529 0.623529 0.623529 0.588235 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.243137 0.494118 0.862745 0.870588 0.960784 0.996078 0.996078 0.996078 0.996078 0.992157 0.466667 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.317647 0.639216 0.639216 0.639216 0.639216 0.639216 0.470588 0.262745 0.333333 0.929412 0.694118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.811765 0.694118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.811765 0.694118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.811765 0.694118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.184314 0.992157 0.694118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.192157 0.996078 0.384314 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.454902 0.980392 0.219608 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.564706 0.941176 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.588235 0.776471 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.945098 0.560784 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.054902 0.952941 0.356863 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.337255 0.917647 0.109804 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.698039 0.701961 0.019608 0.4 0.662745 0.662745 0.662745 0.662745 0.662745 0.662745 0.662745 0.376471 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090196 0.639216 0.972549 0.945098 0.913725 0.996078 0.996078 0.996078 0.996078 1 0.996078 0.996078 1 0.996078 0 0 0 0 0 0 0 0 0 0 0.007843 0.105882 0.717647 0.776471 0.905882 0.996078 0.996078 0.988235 0.980392 0.862745 0.537255 0.223529 0.223529 0.368627 0.376471 0.6 0.6 0.6 0 0 0 0 0 0 0 0 0.262745 0.470588 0.6 0.996078 0.996078 0.996078 0.996078 0.847059 0.356863 0.156863 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.909804 0.705882 0.823529 0.635294 0.490196 0.219608 0.113725 0.062745 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.152941 0.152941 0.156863 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
+
+
+

Each line of the data contains two parts, separated by ;. The first part is +label of an image. The second part contains 28x28 pixel float values.

+

Just write path of the above data into train.list. It looks like this:

+
mnist_train.txt
+
+
+

The corresponding dataprovider is shown as below:

+
from paddle.trainer.PyDataProvider2 import *
+
+
+# Define a py data provider
+@provider(
+    input_types={'pixel': dense_vector(28 * 28),
+                 'label': integer_value(10)})
+def process(settings, filename):  # settings is not used currently.
+    f = open(filename, 'r')  # open one of training file
+
+    for line in f:  # read each line
+        label, pixel = line.split(';')
+
+        # get features and label
+        pixels_str = pixel.split(' ')
+
+        pixels_float = []
+        for each_pixel_str in pixels_str:
+            pixels_float.append(float(each_pixel_str))
+
+        # give data to paddle.
+        yield {"pixel": pixels_float, 'label': int(label)}
+
+    f.close()  # close file
+
+
+

The first line imports PyDataProvider2 package. +The main function is the process function, that has two parameters. +The first parameter is the settings, which is not used in this example. +The second parameter is the filename, that is exactly each line of train.list. +This parameter is passed to the process function by PaddlePaddle.

+

@provider is a Python +Decorator . +It sets some properties to DataProvider, and constructs a real PaddlePaddle +DataProvider from a very simple user implemented python function. It does not +matter if you are not familiar with Decorator. You can keep it simple by +just taking @provider as a fixed mark above the provider function you +implemented.

+

input_types defines the data format that a DataProvider returns. +In this example, it is set to a 28x28-dimensional dense vector and an integer +scalar, whose value ranges from 0 to 9. +input_types can be set to several kinds of input formats, please refer to the +document of input_types for more details.

+

The process method is the core part to construct a real DataProvider in +PaddlePaddle. It implements how to open the text file, how to read one sample +from the original text file, convert them into input_types, and give them +back to PaddlePaddle process at line 23. +Note that data yielded by the process function must follow the same order that +input_types are defined.

+

With the help of PyDataProvider2, user can focus on how to generate ONE traning +sample by using keywords yield. +yield is a python keyword, and a concept related to it includes +generator.

+

Only a few lines of codes need to be added into the training configuration file, +you can take this as an example.

+
from paddle.trainer_config_helpers import *
+
+define_py_data_sources2(
+    train_list='train.list',
+    test_list=None,
+    module='mnist_provider',
+    obj='process')
+
+img = data_layer(name='pixel', size=784)
+label = data_layer(name='label', size=10)
+
+
+

Here we specify training data by train.list, and no testing data is specified. +The method which actually provide data is process.

+

User also can use another style to provide data, which defines the +data_layer‘s name explicitly when yield. For example, +the dataprovider is shown as below.

+
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
from paddle.trainer.PyDataProvider2 import *
+
+
+# Define a py data provider
+@provider(
+    input_types={'pixel': dense_vector(28 * 28),
+                 'label': integer_value(10)})
+def process(settings, filename):  # settings is not used currently.
+    f = open(filename, 'r')  # open one of training file
+
+    for line in f:  # read each line
+        label, pixel = line.split(';')
+
+        # get features and label
+        pixels_str = pixel.split(' ')
+
+        pixels_float = []
+        for each_pixel_str in pixels_str:
+            pixels_float.append(float(each_pixel_str))
+
+        # give data to paddle.
+        yield {"pixel": pixels_float, 'label': int(label)}
+
+    f.close()  # close file
+
+
+

If user did’t give the data_layer‘s name, PaddlePaddle will use +the order of data_layer definition roughly to determine which feature to +which data_layer. This order may be not correct, so TO DEFINE THE +data_layer‘s NAMES EXPLICITLY IS THE RECOMMANDED WAY TO PROVIDER DATA.

+

Now, this simple example of using PyDataProvider is finished. +The only thing that the user should know is how to generte one sample from +one data file. +And PaddlePadle will do all of the rest things:

+
    +
  • Form a training batch
  • +
  • Shuffle the training data
  • +
  • Read data with multithreading
  • +
  • Cache the training data (Optional)
  • +
  • CPU-> GPU double buffering.
  • +
+

Is this cool?

+
+
+

DataProvider for the sequential model

+

A sequence model takes sequences as its input. A sequence is made up of several +timesteps. The so-called timestep, is not necessary to have something to do +with time. It can also be explained to that the order of data are taken into +consideration into model design and training. +For example, the sentence can be interpreted as a kind of sequence data in NLP +tasks.

+

Here is an example on data proivider for English sentiment classification data. +The original input data are simple English text, labeled into positive or +negative sentiment (marked by 0 and 1 respectively).

+

A small part of the original data as an example can be found in the path below:

+
0       I saw this movie at the AFI Dallas festival . It all takes place at a lake house and it looks wonderful .
+1       This documentary makes you travel all around the globe . It contains rare and stunning sequels from the wilderness .
+...
+
+
+

The corresponding data provider can be found in the path below:

+
from paddle.trainer.PyDataProvider2 import *
+
+
+def on_init(settings, dictionary, **kwargs):
+    # on_init will invoke when data provider is initialized. The dictionary
+    # is passed from trainer_config, and is a dict object with type
+    # (word string => word id).
+
+    # set input types in runtime. It will do the same thing as
+    # @provider(input_types) will do, but it is set dynamically during runtime.
+    settings.input_types = {
+        # The text is a sequence of integer values, and each value is a word id.
+        # The whole sequence is the sentences that we want to predict its
+        # sentimental.
+        'data': integer_value_sequence(len(dictionary)),  # text input
+        'label': integer_value(2)  # label positive/negative
+    }
+
+    # save dictionary as settings.dictionary. 
+    # It will be used in process method.
+    settings.dictionary = dictionary
+
+
+@provider(init_hook=on_init)
+def process(settings, filename):
+    f = open(filename, 'r')
+
+    for line in f:  # read each line of file
+        label, sentence = line.split('\t')  # get label and sentence
+        words = sentence.split(' ')  # get words
+
+        # convert word string to word id
+        # the word not in dictionary will be ignored.
+        word_ids = []
+
+        for each_word in words:
+            if each_word in settings.dictionary:
+                word_ids.append(settings.dictionary[each_word])
+
+        # give data to paddle.
+        yield word_ids, int(label)
+
+    f.close()
+
+
+

This data provider for sequential model is a little more complex than that +for MINST dataset. +A new initialization method is introduced here. +The method on_init is configured to DataProvider by @provider‘s +init_hook parameter, and it will be invoked once DataProvider is +initialized. The on_init function has the following parameters:

+
    +
  • The first parameter is the settings object.
  • +
  • The rest parameters are passed by key word arguments. Some of them are passed +by PaddlePaddle, see reference for init_hook. +The dictionary object is a python dict object passed from the trainer +configuration file, and it maps word string to word id.
  • +
+

To pass these parameters into DataProvider, the following lines should be added +into trainer configuration file.

+
from paddle.trainer_config_helpers import *
+
+dictionary = dict()
+...  #  read dictionary from outside
+
+define_py_data_sources2(
+    train_list='train.list',
+    test_list=None,
+    module='sentimental_provider',
+    obj='process',
+    # above codes same as mnist sample.
+    args={  # pass to provider.
+        'dictionary': dictionary
+    })
+
+
+

The definition is basically same as MNIST example, except: +* Load dictionary in this configuration +* Pass it as a parameter to the DataProvider

+

The input_types is configured in method on_init. It has the same +effect to configure them by @provider‘s input_types parameter. +However, the input_types is set at runtime, so we can set it to +different types according to the input data. Input of the neural network is a +sequence of word id, so set seq_type to integer_value_sequence.

+

Durning on_init, we save dictionary variable to +settings, and it will be used in process. Note the settings +parameter for the process function and for the on_init’s function are a same +object.

+

The basic processing logic is the same as MNIST’s process method. Each +sample in the data file is given back to PaddlePaddle process.

+

Thus, the basic usage of PyDataProvider is here. +Please refer to the following section reference for details.

+
+
+

Reference

+
+

@provider

+
+
+paddle.trainer.PyDataProvider2.provider(input_types=None, should_shuffle=None, pool_size=-1, min_pool_size=-1, can_over_batch_size=True, calc_batch_size=None, cache=0, check=False, check_fail_continue=False, init_hook=None, **outter_kwargs)
+

Provider decorator. Use it to make a function into PyDataProvider2 object. +In this function, user only need to get each sample for some train/test +file.

+

The basic usage is:

+
@provider(some data provider config here...)
+def process(settings, file_name):
+    while not at end of file_name:
+        sample = readOneSampleFromFile(file_name)
+        yield sample.
+
+
+

The configuration of data provider should be setup by:

+ +++ + + + +
Parameters:
    +
  • input_types (list|tuple|dict) – Specify the input types, can also be set in init_hook. +It could be a list of InputType object. For example, +input_types=[dense_vector(9), integer_value(2)]. Or user +can set a dict of InputType object, which key is +data_layer’s name. For example, input_types= {‘img’: img_features, ‘label’: label}. when using dict of +InputType, user could yield a dict of feature values, which +key is also data_layer’s name.
  • +
  • should_shuffle (bool) – True if data should shuffle. Pass None means shuffle +when is training and not to shuffle when is testing.
  • +
  • pool_size (int) – Max number of sample in data pool.
  • +
  • min_pool_size (int) – Set minimal sample in data pool. The PaddlePaddle will +random pick sample in pool. So the min_pool_size +effect the randomize of data.
  • +
  • can_over_batch_size (bool) –

    True if paddle can return a mini-batch larger +than batch size in settings. It is useful when +custom calculate one sample’s batch_size.

    +

    It is very danger to set it to false and use +calc_batch_size together. Default is true.

    +
  • +
  • calc_batch_size (callable) – a method to calculate each sample’s batch size. +Default each sample’s batch size is 1. But to you +can customize each sample’s batch size.
  • +
  • cache (int) – Cache strategy of Data Provider. Default is CacheType.NO_CACHE
  • +
  • init_hook (callable) –

    Initialize hook. Useful when data provider need load some +external data like dictionary. The parameter is +(settings, file_list, **kwargs).

    +
      +
    • settings. It is the global settings object. User can set +settings.input_types here.
    • +
    • file_list. All file names for passed to data provider.
    • +
    • is_train. Is this data provider used for training or not.
    • +
    • kwargs. Other keyword arguments passed from +trainer_config’s args parameter.
    • +
    +
  • +
  • check (bool) – Check the yield data format is as same as input_types. Enable +this will make data provide process slow but it is very useful +for debug. Default is disabled.
  • +
  • check_fail_continue (bool) – Continue train or not when check failed. Just +drop the wrong format data when it is True. Has +no effect when check set to False.
  • +
+
+
+ +
+
+

input_types

+

PaddlePaddle has four data types, and three sequence types. +The four data types are:

+
    +
  • dense_vector: dense float vector.
  • +
  • sparse_binary_vector: sparse binary vector, most of the value is 0, and +the non zero elements are fixed to 1.
  • +
  • sparse_float_vector: sparse float vector, most of the value is 0, and some +non zero elements can be any float value. They are given by the user.
  • +
  • integer: an integer scalar, that is especially used for label or word index.
  • +
+

The three sequence types are:

+
    +
  • SequenceType.NO_SEQUENCE means the sample is not a sequence.
  • +
  • SequenceType.SEQUENCE means the sample is a sequence.
  • +
  • SequenceType.SUB_SEQUENCE means it is a nested sequence, that each timestep of +the input sequence is also a sequence.
  • +
+

Different input type has a defferenct input format. Their formats are shown +in the above table.

+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 NO_SEQUENCESEQUENCESUB_SEQUENCE
dense_vector[f, f, ...][[f, ...], [f, ...], ...][[[f, ...], ...], [[f, ...], ...],...]
sparse_binary_vector[i, i, ...][[i, ...], [i, ...], ...][[[i, ...], ...], [[i, ...], ...],...]
sparse_float_vector[(i,f), (i,f), ...][[(i,f), ...], [(i,f), ...], ...][[[(i,f), ...], ...], [[(i,f), ...], ...],...]
integer_valuei[i, i, ...][[i, ...], [i, ...], ...]
+

where f represents a float value, i represents an integer value.

+
+
+

init_hook

+

init_hook is a function that is invoked once the data provoder is initialized. +Its parameters lists as follows:

+
    +
  • The first parameter is a settings object, which is the same to settings +in process method. The object contains several attributes, including:
      +
    • settings.input_types: the input types. Reference input_types.
    • +
    • settings.logger: a logging object.
    • +
    +
  • +
  • The rest parameters are the key word arguments. It is made up of PaddpePaddle +pre-defined parameters and user defined parameters.
      +
    • PaddlePaddle-defined parameters including:
        +
      • is_train is a bool parameter that indicates the DataProvider is used in +training or testing.
      • +
      • file_list is the list of all files.
      • +
      +
    • +
    • User-defined parameters args can be set in training configuration.
    • +
    +
  • +
+

Note, PaddlePaddle reserves the right to add pre-defined parameter, so please +use **kwargs in init_hook to ensure compatibility by accepting the +parameters which your init_hook does not use.

+
+
+

cache

+

DataProvider provides two simple cache strategy. They are:

+
    +
  • CacheType.NO_CACHE means do not cache any data, then data is read at runtime by +the user implemented python module every pass.
  • +
  • CacheType.CACHE_PASS_IN_MEM means the first pass reads data by the user +implemented python module, and the rest passes will directly read data from +memory.
  • +
+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/api/v1/index_en.html b/release/0.10.0/doc/api/v1/index_en.html new file mode 100644 index 0000000000..d000bcdc56 --- /dev/null +++ b/release/0.10.0/doc/api/v1/index_en.html @@ -0,0 +1,270 @@ + + + + + + + + + + + API — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • API
  • +
+
+ +
+
+
+
+ +
+

API

+
+

DataProvider API

+ +
+ +
+

Applications API

+ +
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/api/v1/predict/swig_py_paddle_en.html b/release/0.10.0/doc/api/v1/predict/swig_py_paddle_en.html new file mode 100644 index 0000000000..02c77b18fd --- /dev/null +++ b/release/0.10.0/doc/api/v1/predict/swig_py_paddle_en.html @@ -0,0 +1,313 @@ + + + + + + + + + + + Python Prediction — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Python Prediction
  • +
+
+ +
+
+
+
+ +
+

Python Prediction

+

PaddlePaddle offers a set of clean prediction interfaces for python with the help of +SWIG. The main steps of predict values in python are:

+
    +
  • Parse training configurations
  • +
  • Construct GradientMachine
  • +
  • Prepare data
  • +
  • Predict
  • +
+

Here is a sample python script that shows the typical prediction process for the +MNIST classification problem. A complete sample code could be found at +src_root/doc/ui/predict/predict_sample.py.

+
from py_paddle import swig_paddle, DataProviderConverter
+from paddle.trainer.PyDataProvider2 import dense_vector
+from paddle.trainer.config_parser import parse_config
+
+    0.988235, 0.988235, 0.552941, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.211765,
+    0.878431, 0.988235, 0.992157, 0.701961, 0.329412, 0.109804, 0, 0, 0, 0, 0,
+    0, 0, 0.698039, 0.988235, 0.913725, 0.145098, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0.188235, 0.890196, 0.988235, 0.988235, 0.745098, 0.047059, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0.882353, 0.988235, 0.568627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2,
+    0.933333, 0.992157, 0.992157, 0.992157, 0.447059, 0.294118, 0, 0, 0, 0, 0,
+    0, 0, 0, 0.447059, 0.992157, 0.768627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0.623529, 0.988235, 0.988235, 0.988235, 0.988235, 0.992157, 0.47451, 0, 0,
+    0, 0, 0, 0, 0, 0.188235, 0.933333, 0.87451, 0.509804, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0.992157, 0.988235, 0.937255, 0.792157, 0.988235, 0.894118,
+    0.082353, 0, 0, 0, 0, 0, 0, 0.027451, 0.647059, 0.992157, 0.654902, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0.623529, 0.988235, 0.913725, 0.329412, 0.376471,
+    0.184314, 0, 0, 0, 0, 0, 0, 0.027451, 0.513725, 0.988235, 0.635294,
+    0.219608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.196078, 0.929412, 0.988235,
+    0.988235, 0.741176, 0.309804, 0, 0, 0, 0, 0, 0, 0.529412, 0.988235,
+
+
+

The module that does the most of the job is py_paddle.swig_paddle, it’s +generated by SWIG and has complete documents, for more details you can use +python’s help() function. Let’s walk through the above python script:

+
    +
  • At the beginning, use swig_paddle.initPaddle() to initialize +PaddlePaddle with command line arguments, for more about command line arguments +see Detail Description .
  • +
  • Parse the configuration file that is used in training with parse_config(). +Because data to predict with always have no label, and output of prediction work +normally is the output layer rather than the cost layer, so you should modify +the configuration file accordingly before using it in the prediction work.
  • +
  • Create a neural network with +swig_paddle.GradientMachine.createFromConfigproto(), which takes the +parsed configuration conf.model_config as argument. Then load the +trained parameters from the model with network.loadParameters().
  • +
  • +
    Create a data converter object of utility class DataProviderConverter.
    +
      +
    • Note: As swig_paddle can only accept C++ matrices, we offer a utility +class DataProviderConverter that can accept the same input data with +PyDataProvider2, for more information please refer to document +of PyDataProvider2 .
    • +
    +
    +
    +
  • +
  • Do the prediction with forwardTest(), which takes the converted +input data and outputs the activations of the output layer.
  • +
+

Here is a typical output:

+
[{'id': None, 'value': array([[  5.53018653e-09,   1.12194102e-05,   1.96644767e-09,
+      1.43630644e-02,   1.51111044e-13,   9.85625684e-01,
+      2.08823112e-10,   2.32777140e-08,   2.00186201e-09,
+      1.15501715e-08],
+   [  9.99982715e-01,   1.27787406e-10,   1.72296313e-05,
+      1.49316648e-09,   1.36540484e-11,   6.93137714e-10,
+      2.70634608e-08,   3.48565123e-08,   5.25639710e-09,
+      4.48684503e-08]], dtype=float32)}]
+
+
+

value is the output of the output layer, each row represents result of +the corresponding row in the input data, each element represents activation of +the corresponding neuron in the output layer.

+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/api/v1/trainer_config_helpers/activations.html b/release/0.10.0/doc/api/v1/trainer_config_helpers/activations.html new file mode 100644 index 0000000000..a8af1617c0 --- /dev/null +++ b/release/0.10.0/doc/api/v1/trainer_config_helpers/activations.html @@ -0,0 +1,373 @@ + + + + + + + + + + + Activations — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Activations
  • +
+
+ +
+
+
+
+ +
+

Activations

+
+

BaseActivation

+
+
+paddle.trainer_config_helpers.activations.BaseActivation
+

alias of Base

+
+ +
+
+

AbsActivation

+
+
+paddle.trainer_config_helpers.activations.AbsActivation
+

alias of Abs

+
+ +
+
+

ExpActivation

+
+
+paddle.trainer_config_helpers.activations.ExpActivation
+

alias of Exp

+
+ +
+
+

IdentityActivation

+
+
+paddle.trainer_config_helpers.activations.IdentityActivation
+

alias of Linear

+
+ +
+
+

LinearActivation

+
+
+paddle.trainer_config_helpers.activations.LinearActivation
+

alias of Linear

+
+ +
+
+

LogActivation

+
+
+paddle.trainer_config_helpers.activations.LogActivation
+

alias of Log

+
+ +
+
+

SquareActivation

+
+
+paddle.trainer_config_helpers.activations.SquareActivation
+

alias of Square

+
+ +
+
+

SigmoidActivation

+
+
+paddle.trainer_config_helpers.activations.SigmoidActivation
+

alias of Sigmoid

+
+ +
+
+

SoftmaxActivation

+
+
+paddle.trainer_config_helpers.activations.SoftmaxActivation
+

alias of Softmax

+
+ +
+
+

SequenceSoftmaxActivation

+
+
+paddle.trainer_config_helpers.activations.SequenceSoftmaxActivation
+

alias of SequenceSoftmax

+
+ +
+
+

ReluActivation

+
+
+paddle.trainer_config_helpers.activations.ReluActivation
+

alias of Relu

+
+ +
+
+

BReluActivation

+
+
+paddle.trainer_config_helpers.activations.BReluActivation
+

alias of BRelu

+
+ +
+
+

SoftReluActivation

+
+
+paddle.trainer_config_helpers.activations.SoftReluActivation
+

alias of SoftRelu

+
+ +
+
+

TanhActivation

+
+
+paddle.trainer_config_helpers.activations.TanhActivation
+

alias of Tanh

+
+ +
+
+

STanhActivation

+
+
+paddle.trainer_config_helpers.activations.STanhActivation
+

alias of STanh

+
+ +
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/api/v1/trainer_config_helpers/attrs.html b/release/0.10.0/doc/api/v1/trainer_config_helpers/attrs.html new file mode 100644 index 0000000000..09808a4bd8 --- /dev/null +++ b/release/0.10.0/doc/api/v1/trainer_config_helpers/attrs.html @@ -0,0 +1,328 @@ + + + + + + + + + + + Parameter Attributes — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Parameter Attributes
  • +
+
+ +
+
+
+
+ +
+

Parameter Attributes

+
+
+class paddle.trainer_config_helpers.attrs.ParameterAttribute(name=None, is_static=False, initial_std=None, initial_mean=None, initial_max=None, initial_min=None, l1_rate=None, l2_rate=None, learning_rate=None, momentum=None, gradient_clipping_threshold=None, sparse_update=False)
+

Parameter Attributes object. To fine-tuning network training process, user +can set attribute to control training details, such as l1,l2 rate / learning +rate / how to init param.

+

NOTE: IT IS A HIGH LEVEL USER INTERFACE.

+ +++ + + + +
Parameters:
    +
  • is_static (bool) – True if this parameter will be fixed while training.
  • +
  • initial_std (float or None) – Gauss Random initialization standard deviation. +None if not using Gauss Random initialize parameter.
  • +
  • initial_mean (float or None) – Gauss Random initialization mean. +None if not using Gauss Random initialize parameter.
  • +
  • initial_max (float or None) – Uniform initialization max value.
  • +
  • initial_min (float or None) – Uniform initialization min value.
  • +
  • l1_rate (float or None) – the l1 regularization factor
  • +
  • l2_rate (float or None) – the l2 regularization factor
  • +
  • learning_rate (float or None) – The parameter learning rate. None means 1. +The learning rate when optimize is LEARNING_RATE = +GLOBAL_LEARNING_RATE * PARAMETER_LEARNING_RATE +* SCHEDULER_FACTOR.
  • +
  • momentum (float or None) – The parameter momentum. None means use global value.
  • +
  • gradient_clipping_threshold (float) – gradient clipping threshold. If gradient +value larger than some value, will be +clipped.
  • +
  • sparse_update (bool) – Enable sparse update for this parameter. It will +enable both local and remote sparse update.
  • +
+
+
+
+set_default_parameter_name(name)
+

Set default parameter name. If parameter not set, then will use default +parameter name.

+ +++ + + + +
Parameters:name (basestring) – default parameter name.
+
+ +
+ +
+
+class paddle.trainer_config_helpers.attrs.ExtraLayerAttribute(error_clipping_threshold=None, drop_rate=None, device=None)
+

Some high level layer attributes config. You can set all attributes here, +but some layer doesn’t support all attributes. If you set an attribute to a +layer that not support this attribute, paddle will print an error and core.

+ +++ + + + +
Parameters:
    +
  • error_clipping_threshold (float) – Error clipping threshold.
  • +
  • drop_rate (float) – Dropout rate. Dropout will create a mask on layer output. +The dropout rate is the zero rate of this mask. The +details of what dropout is please refer to here.
  • +
  • device (int) –

    device ID of layer. device=-1, use CPU. device>0, use GPU. +The details allocation in parallel_nn please refer to here.

    +
  • +
+
+
+ +
+
+paddle.trainer_config_helpers.attrs.ParamAttr
+

alias of ParameterAttribute

+
+ +
+
+paddle.trainer_config_helpers.attrs.ExtraAttr
+

alias of ExtraLayerAttribute

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/api/v1/trainer_config_helpers/data_sources.html b/release/0.10.0/doc/api/v1/trainer_config_helpers/data_sources.html new file mode 100644 index 0000000000..f2bcc578e4 --- /dev/null +++ b/release/0.10.0/doc/api/v1/trainer_config_helpers/data_sources.html @@ -0,0 +1,284 @@ + + + + + + + + + + + DataSources — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • DataSources
  • +
+
+ +
+
+
+
+ +
+

DataSources

+

Data Sources are helpers to define paddle training data or testing data.

+
+
+paddle.trainer_config_helpers.data_sources.define_py_data_sources2(train_list, test_list, module, obj, args=None)
+

Define python Train/Test data sources in one method. If train/test use +the same Data Provider configuration, module/obj/args contain one argument, +otherwise contain a list or tuple of arguments. For example:

+
define_py_data_sources2(train_list="train.list",
+                        test_list="test.list",
+                        module="data_provider"
+                        # if train/test use different configurations,
+                        # obj=["process_train", "process_test"]
+                        obj="process",
+                        args={"dictionary": dict_name})
+
+
+

The related data provider can refer to DataProvider for the sequential model .

+ +++ + + + + + + + +
Parameters:
    +
  • train_list (basestring) – Train list name.
  • +
  • test_list (basestring) – Test list name.
  • +
  • module (basestring or tuple or list) – python module name. If train and test is different, then +pass a tuple or list to this argument.
  • +
  • obj (basestring or tuple or list) – python object name. May be a function name if using +PyDataProviderWrapper. If train and test is different, then pass +a tuple or list to this argument.
  • +
  • args (string or picklable object or list or tuple.) – The best practice is using dict() to pass arguments into +DataProvider, and use @init_hook_wrapper to receive +arguments. If train and test is different, then pass a tuple +or list to this argument.
  • +
+
Returns:

None

+
Return type:

None

+
+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/api/v1/trainer_config_helpers/evaluators.html b/release/0.10.0/doc/api/v1/trainer_config_helpers/evaluators.html new file mode 100644 index 0000000000..2411ba063c --- /dev/null +++ b/release/0.10.0/doc/api/v1/trainer_config_helpers/evaluators.html @@ -0,0 +1,765 @@ + + + + + + + + + + + Evaluators — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Evaluators
  • +
+
+ +
+
+
+
+ +
+

Evaluators

+
+

Base

+
+
+paddle.trainer_config_helpers.evaluators.evaluator_base(input, type, label=None, weight=None, name=None, chunk_scheme=None, num_chunk_types=None, classification_threshold=None, positive_label=None, dict_file=None, result_file=None, num_results=None, delimited=None, top_k=None, excluded_chunk_types=None)
+

Evaluator will evaluate the network status while training/testing.

+

User can use evaluator by classify/regression job. For example.

+
classify(prediction, output, evaluator=classification_error_evaluator)
+
+
+

And user could define evaluator separately as follow.

+
classification_error_evaluator("ErrorRate", prediction, label)
+
+
+

The evaluator often contains a name parameter. It will also be printed when +evaluating network. The printed information may look like the following.

+
Batch=200 samples=20000 AvgCost=0.679655 CurrentCost=0.662179 Eval:
+classification_error_evaluator=0.4486
+CurrentEval: ErrorRate=0.3964
+
+
+ +++ + + + +
Parameters:
    +
  • input (list|LayerOutput) – Input layers, a object of LayerOutput or a list of +LayerOutput.
  • +
  • label (LayerOutput|None) – An input layer containing the ground truth label.
  • +
  • weight (LayerOutput.) – An input layer which is a weight for each sample. +Each evaluator may calculate differently to use this weight.
  • +
  • top_k (int) – number k in top-k error rate
  • +
+
+
+ +
+
+

Classification

+
+

classification_error_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.classification_error_evaluator(*args, **kwargs)
+

Classification Error Evaluator. It will print error rate for classification.

+

The classification error is:

+
+\[classification\_error = \frac{NumOfWrongPredicts}{NumOfAllSamples}\]
+

The simple usage is:

+
eval =  classification_error_evaluator(input=prob,label=lbl)
+
+
+ +++ + + + + + +
Parameters:
    +
  • name (basestring) – Evaluator name.
  • +
  • input (LayerOutput) – Input Layer name. The output prediction of network.
  • +
  • label (basestring) – Label layer name.
  • +
  • weight (LayerOutput) – Weight Layer name. It should be a matrix with size +[sample_num, 1]. And will just multiply to NumOfWrongPredicts +and NumOfAllSamples. So, the elements of weight are all one, +then means not set weight. The larger weight it is, the more +important this sample is.
  • +
  • top_k (int) – number k in top-k error rate
  • +
  • threshold (float) – The classification threshold.
  • +
+
Returns:

None.

+
+
+ +
+
+

auc_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.auc_evaluator(*args, **kwargs)
+

Auc Evaluator which adapts to binary classification.

+

The simple usage:

+
eval = auc_evaluator(input, label)
+
+
+ +++ + + + +
Parameters:
    +
  • name (None|basestring) – Evaluator name.
  • +
  • input (LayerOutput) – Input Layer name. The output prediction of network.
  • +
  • label (None|basestring) – Label layer name.
  • +
  • weight (LayerOutput) – Weight Layer name. It should be a matrix with size +[sample_num, 1].
  • +
+
+
+ +
+
+

ctc_error_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.ctc_error_evaluator(*args, **kwargs)
+

This evaluator is to calculate sequence-to-sequence edit distance.

+

The simple usage is :

+
eval = ctc_error_evaluator(input=input, label=lbl)
+
+
+ +++ + + + +
Parameters:
    +
  • name (None|basestring) – Evaluator name.
  • +
  • input (LayerOutput) – Input Layer. Should be the same as the input for ctc_layer.
  • +
  • label (LayerOutput) – input label, which is a data_layer. Should be the same as the +label for ctc_layer
  • +
+
+
+ +
+
+

chunk_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.chunk_evaluator(*args, **kwargs)
+

Chunk evaluator is used to evaluate segment labelling accuracy for a +sequence. It calculates the chunk detection F1 score.

+

A chunk is correctly detected if its beginning, end and type are correct. +Other chunk type is ignored.

+

For each label in the label sequence, we have:

+
tagType = label % numTagType
+chunkType = label / numTagType
+otherChunkType = numChunkTypes
+
+
+

The total number of different labels is numTagType*numChunkTypes+1. +We support 4 labelling scheme. +The tag type for each of the scheme is shown as follows:

+
Scheme Begin Inside End   Single
+plain  0     -      -     -
+IOB    0     1      -     -
+IOE    -     0      1     -
+IOBES  0     1      2     3
+
+
+

‘plain’ means the whole chunk must contain exactly the same chunk label.

+

The simple usage is:

+
eval = chunk_evaluator(input, label, chunk_scheme, num_chunk_types)
+
+
+ +++ + + + +
Parameters:
    +
  • input (LayerOutput) – The input layers.
  • +
  • label (LayerOutput) – An input layer containing the ground truth label.
  • +
  • chunk_scheme (basestring) – The labelling schemes support 4 types. It is one of +“IOB”, “IOE”, “IOBES”, “plain”. It is required.
  • +
  • num_chunk_types – number of chunk types other than “other”
  • +
  • name (basename|None) – The Evaluator name, it is optional.
  • +
  • excluded_chunk_types (list of integer|None) – chunks of these types are not considered
  • +
+
+
+ +
+
+

precision_recall_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.precision_recall_evaluator(*args, **kwargs)
+

An Evaluator to calculate precision and recall, F1-score. +It is adapt to the task with multiple labels.

+
    +
  • If positive_label=-1, it will print the average precision, recall, +F1-score of all labels.
  • +
  • If use specify positive_label, it will print the precision, recall, +F1-score of this label.
  • +
+

The simple usage:

+
eval = precision_recall_evaluator(input, label)
+
+
+ +++ + + + +
Parameters:
    +
  • name (None|basestring) – Evaluator name.
  • +
  • input (LayerOutput) – Input Layer name. The output prediction of network.
  • +
  • label (LayerOutput) – Label layer name.
  • +
  • positive_label (LayerOutput.) – The input label layer.
  • +
  • weight (LayerOutput) – Weight Layer name. It should be a matrix with size +[sample_num, 1]. (TODO, explaination)
  • +
+
+
+ +
+
+
+

Rank

+
+

pnpair_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.pnpair_evaluator(*args, **kwargs)
+

Positive-negative pair rate Evaluator which adapts to rank task like +learning to rank. This evaluator must contain at least three layers.

+

The simple usage:

+
eval = pnpair_evaluator(input, info, label)
+
+
+ +++ + + + +
Parameters:
    +
  • name (None|basestring) – Evaluator name.
  • +
  • input (LayerOutput) – Input Layer name. The output prediction of network.
  • +
  • label (LayerOutput) – Label layer name.
  • +
  • info (LayerOutput) – Label layer name. (TODO, explaination)
  • +
  • weight (LayerOutput) – Weight Layer name. It should be a matrix with size +[sample_num, 1]. (TODO, explaination)
  • +
+
+
+ +
+
+
+

Utils

+
+

sum_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.sum_evaluator(*args, **kwargs)
+

An Evaluator to sum the result of input.

+

The simple usage:

+
eval = sum_evaluator(input)
+
+
+ +++ + + + +
Parameters:
    +
  • name (None|basestring) – Evaluator name.
  • +
  • input (LayerOutput) – Input Layer name.
  • +
  • weight (LayerOutput) – Weight Layer name. It should be a matrix with size +[sample_num, 1]. (TODO, explaination)
  • +
+
+
+ +
+
+

column_sum_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.column_sum_evaluator(*args, **kwargs)
+

This Evaluator is used to sum the last column of input.

+

The simple usage is:

+
eval = column_sum_evaluator(input, label)
+
+
+ +++ + + + +
Parameters:
    +
  • name (None|basestring) – Evaluator name.
  • +
  • input (LayerOutput) – Input Layer name.
  • +
+
+
+ +
+
+
+

Print

+
+

classification_error_printer_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.classification_error_printer_evaluator(*args, **kwargs)
+

This Evaluator is used to print the classification error of each sample.

+

The simple usage is:

+
eval = classification_error_printer_evaluator(input)
+
+
+ +++ + + + +
Parameters:
    +
  • input (LayerOutput) – Input layer.
  • +
  • label (LayerOutput) – Input label layer.
  • +
  • name (None|basestring) – Evaluator name.
  • +
+
+
+ +
+
+

gradient_printer_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.gradient_printer_evaluator(*args, **kwargs)
+

This Evaluator is used to print the gradient of input layers. It contains +one or more input layers.

+

The simple usage is:

+
eval = gradient_printer_evaluator(input)
+
+
+ +++ + + + +
Parameters:
    +
  • input (LayerOutput|list) – One or more input layers.
  • +
  • name (None|basestring) – Evaluator name.
  • +
+
+
+ +
+
+

maxid_printer_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.maxid_printer_evaluator(*args, **kwargs)
+

This Evaluator is used to print maximum top k values and their indexes +of each row of input layers. It contains one or more input layers. +k is specified by num_results.

+

The simple usage is:

+
eval = maxid_printer_evaluator(input)
+
+
+ +++ + + + +
Parameters:
    +
  • input (LayerOutput|list) – Input Layer name.
  • +
  • num_results (int.) – This number is used to specify the top k numbers. +It is 1 by default.
  • +
  • name (None|basestring) – Evaluator name.
  • +
+
+
+ +
+
+

maxframe_printer_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.maxframe_printer_evaluator(*args, **kwargs)
+

This Evaluator is used to print the top k frames of each input layers. +The input layers should contain sequences info or sequences type. +k is specified by num_results. +It contains one or more input layers.

+
+

Note

+

The width of each frame is 1.

+
+

The simple usage is:

+
eval = maxframe_printer_evaluator(input)
+
+
+ +++ + + + +
Parameters:
    +
  • input (LayerOutput|list) – Input Layer name.
  • +
  • name (None|basestring) – Evaluator name.
  • +
+
+
+ +
+
+

seqtext_printer_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.seqtext_printer_evaluator(*args, **kwargs)
+

Sequence text printer will print text according to index matrix and a +dictionary. There can be multiple input to this layer:

+

1. If there is no id_input, the input must be a matrix containing +the sequence of indices;

+
    +
  1. If there is id_input, it should be ids, and interpreted as sample ids.
  2. +
+

The output format will be:

+
    +
  1. sequence without sub-sequence, and there is probability.
  2. +
+
id      prob space_seperated_tokens_from_dictionary_according_to_seq
+
+
+
    +
  1. sequence without sub-sequence, and there is not probability.
  2. +
+
id      space_seperated_tokens_from_dictionary_according_to_seq
+
+
+
    +
  1. sequence with sub-sequence, and there is not probability.
  2. +
+
id      space_seperated_tokens_from_dictionary_according_to_sub_seq
+                space_seperated_tokens_from_dictionary_according_to_sub_seq
+...
+
+
+

Typically SequenceTextPrinter layer takes output of maxid or RecurrentGroup +with maxid (when generating) as an input.

+

The simple usage is:

+
eval = seqtext_printer_evaluator(input=maxid_layer,
+                                 id_input=sample_id,
+                                 dict_file=dict_file,
+                                 result_file=result_file)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput|list) – Input Layer name.
  • +
  • result_file (basestring) – Path of the file to store the generated results.
  • +
  • id_input (LayerOutput) – Index of the input sequence, and the specified index will +be prited in the gereated results. This an optional +parameter.
  • +
  • dict_file (basestring) – Path of dictionary. This is an optional parameter. +Every line is a word in the dictionary with +(line number - 1) as the word index. +If this parameter is set to None, or to an empty string, +only word index are printed in the generated results.
  • +
  • delimited (bool) – Whether to use space to separate output tokens. +Default is True. No space is added if set to False.
  • +
  • name (None|basestring) – Evaluator name.
  • +
+
Returns:

The seq_text_printer that prints the generated sequence to a file.

+
Return type:

evaluator

+
+
+ +
+
+

value_printer_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.value_printer_evaluator(*args, **kwargs)
+

This Evaluator is used to print the values of input layers. It contains +one or more input layers.

+

The simple usage is:

+
eval = value_printer_evaluator(input)
+
+
+ +++ + + + +
Parameters:
    +
  • input (LayerOutput|list) – One or more input layers.
  • +
  • name (None|basestring) – Evaluator name.
  • +
+
+
+ +
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/api/v1/trainer_config_helpers/layers.html b/release/0.10.0/doc/api/v1/trainer_config_helpers/layers.html new file mode 100644 index 0000000000..c356ab5209 --- /dev/null +++ b/release/0.10.0/doc/api/v1/trainer_config_helpers/layers.html @@ -0,0 +1,3515 @@ + + + + + + + + + + + Layers — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Layers
  • +
+
+ +
+
+
+
+ +
+

Layers

+
+

Base

+
+

LayerType

+
+
+class paddle.trainer_config_helpers.layers.LayerType
+

Layer type enumerations.

+
+
+static is_layer_type(type_name)
+

If type_name is a layer type.

+ +++ + + + + + + + +
Parameters:type_name (basestring) – layer type name. Because layer type enumerations are +strings.
Returns:True if is a layer_type
Return type:bool
+
+ +
+ +
+
+

LayerOutput

+
+
+class paddle.trainer_config_helpers.layers.LayerOutput(name, layer_type, parents=None, activation=None, num_filters=None, img_norm_type=None, size=None, outputs=None, reverse=None)
+

LayerOutput is output for layer function. It is used internally by several +reasons.

+
    +
  • Check layer connection make sense.

    +
    +
      +
    • FC(Softmax) => Cost(MSE Error) is not good for example.
    • +
    +
    +
  • +
  • Tracking layer connection.

    +
  • +
  • Pass to layer methods as input.

    +
  • +
+ +++ + + + +
Parameters:
    +
  • name (basestring) – Layer output name.
  • +
  • layer_type (basestring) – Current Layer Type. One of LayerType enumeration.
  • +
  • activation (BaseActivation.) – Layer Activation.
  • +
  • parents (list|tuple|collections.Sequence) – Layer’s parents.
  • +
+
+
+
+set_input(input)
+

Set the input for a memory layer. Can only be used for memory layer

+
+ +
+ +
+
+
+

Data layer

+
+

data_layer

+
+
+paddle.trainer_config_helpers.layers.data_layer(*args, **kwargs)
+

Define DataLayer For NeuralNetwork.

+

The example usage is:

+
data = data_layer(name="input", size=1000)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – Name of this data layer.
  • +
  • size (int) – Size of this data layer.
  • +
  • height (int|None) – Height of this data layer, used for image
  • +
  • width (int|None) – Width of this data layer, used for image
  • +
  • layer_attr (ExtraLayerAttribute.) – Extra Layer Attribute.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+
+

Fully Connected Layers

+
+

fc_layer

+
+
+paddle.trainer_config_helpers.layers.fc_layer(*args, **kwargs)
+

Helper for declare fully connected layer.

+

The example usage is:

+
fc = fc_layer(input=layer,
+              size=1024,
+              act=LinearActivation(),
+              bias_attr=False)
+
+
+

which is equal to:

+
with mixed_layer(size=1024) as fc:
+    fc += full_matrix_projection(input=layer)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – The Layer Name.
  • +
  • input (LayerOutput|list|tuple) – The input layer. Could be a list/tuple of input layer.
  • +
  • size (int) – The layer dimension.
  • +
  • act (BaseActivation) – Activation Type. Default is tanh.
  • +
  • param_attr (ParameterAttribute) – The Parameter Attribute|list.
  • +
  • bias_attr (ParameterAttribute|None|Any) – The Bias Attribute. If no bias, then pass False or +something not type of ParameterAttribute. None will get a +default Bias.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer config.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

selective_fc_layer

+
+
+paddle.trainer_config_helpers.layers.selective_fc_layer(*args, **kwargs)
+

Selectived fully connected layer. Different from fc_layer, the output +of this layer maybe sparse. It requires an additional input to indicate +several selected columns for output. If the selected columns is not +specified, selective_fc_layer acts exactly like fc_layer.

+

The simple usage is:

+
sel_fc = selective_fc_layer(input=input, size=128, act=TanhActivation())
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – The Layer Name.
  • +
  • input (LayerOutput|list|tuple) – The input layer.
  • +
  • select (LayerOutput) – The select layer. The output of select layer should be a +sparse binary matrix, and treat as the mask of selective fc. +If is None, acts exactly like fc_layer.
  • +
  • size (int) – The layer dimension.
  • +
  • act (BaseActivation) – Activation Type. Default is tanh.
  • +
  • param_attr (ParameterAttribute) – The Parameter Attribute.
  • +
  • bias_attr (ParameterAttribute|None|Any) – The Bias Attribute. If no bias, then pass False or +something not type of ParameterAttribute. None will get a +default Bias.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer config.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+
+

Conv Layers

+
+

conv_operator

+
+
+paddle.trainer_config_helpers.layers.conv_operator(img, filter, filter_size, num_filters, num_channels=None, stride=1, padding=0, filter_size_y=None, stride_y=None, padding_y=None, trans=False)
+

Different from img_conv_layer, conv_op is an Operator, which can be used +in mixed_layer. And conv_op takes two inputs to perform convolution. +The first input is the image and the second is filter kernel. It only +support GPU mode.

+

The example usage is:

+
op = conv_operator(img=input1,
+                   filter=input2,
+                   filter_size=3,
+                   num_filters=64,
+                   num_channels=64)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • img (LayerOutput) – input image
  • +
  • filter (LayerOutput) – input filter
  • +
  • filter_size (int) – The x dimension of a filter kernel.
  • +
  • filter_size_y (int) – The y dimension of a filter kernel. Since +PaddlePaddle now supports rectangular filters, +the filter’s shape can be (filter_size, filter_size_y).
  • +
  • num_filters (int) – channel of output data.
  • +
  • num_channels (int) – channel of input data.
  • +
  • stride (int) – The x dimension of the stride.
  • +
  • stride_y (int) – The y dimension of the stride.
  • +
  • padding (int) – The x dimension of padding.
  • +
  • padding_y (int) – The y dimension of padding.
  • +
+
Returns:

A ConvOperator Object.

+
Return type:

ConvOperator

+
+
+ +
+
+

conv_projection

+
+
+paddle.trainer_config_helpers.layers.conv_projection(*args, **kwargs)
+

Different from img_conv_layer and conv_op, conv_projection is an Projection, +which can be used in mixed_layer and conat_layer. It use cudnn to implement +conv and only support GPU mode.

+

The example usage is:

+
proj = conv_projection(input=input1,
+                       filter_size=3,
+                       num_filters=64,
+                       num_channels=64)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – input layer
  • +
  • filter_size (int) – The x dimension of a filter kernel.
  • +
  • filter_size_y (int) – The y dimension of a filter kernel. Since +PaddlePaddle now supports rectangular filters, +the filter’s shape can be (filter_size, filter_size_y).
  • +
  • num_filters (int) – channel of output data.
  • +
  • num_channels (int) – channel of input data.
  • +
  • stride (int) – The x dimension of the stride.
  • +
  • stride_y (int) – The y dimension of the stride.
  • +
  • padding (int) – The x dimension of padding.
  • +
  • padding_y (int) – The y dimension of padding.
  • +
  • groups (int) – The group number.
  • +
  • param_attr (ParameterAttribute) – Convolution param attribute. None means default attribute
  • +
  • trans (boolean) – whether it is convTrans or conv
  • +
+
Returns:

A DotMulProjection Object.

+
Return type:

DotMulProjection

+
+
+ +
+
+

conv_shift_layer

+
+
+paddle.trainer_config_helpers.layers.conv_shift_layer(*args, **kwargs)
+
+
This layer performs cyclic convolution for two input. For example:
+
    +
  • a[in]: contains M elements.
  • +
  • b[in]: contains N elements (N should be odd).
  • +
  • c[out]: contains M elements.
  • +
+
+
+
+\[c[i] = \sum_{j=-(N-1)/2}^{(N-1)/2}a_{i+j} * b_{j}\]
+
+
In this formular:
+
    +
  • a’s index is computed modulo M. When it is negative, then get item from +the right side (which is the end of array) to the left.
  • +
  • b’s index is computed modulo N. When it is negative, then get item from +the right size (which is the end of array) to the left.
  • +
+
+
+

The example usage is:

+
conv_shift = conv_shift_layer(a=layer1, b=layer2)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – layer name
  • +
  • a (LayerOutput) – Input layer a.
  • +
  • b (LayerOutput) – input layer b.
  • +
  • layer_attr (ExtraLayerAttribute) – layer’s extra attribute.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

img_conv_layer

+
+
+paddle.trainer_config_helpers.layers.img_conv_layer(*args, **kwargs)
+

Convolution layer for image. Paddle can support both square and non-square +input currently.

+

The details of convolution layer, please refer UFLDL’s convolution .

+

Convolution Transpose (deconv) layer for image. Paddle can support both square +and non-square input currently.

+

The details of convolution transpose layer, +please refer to the following explanation and references therein +<http://datascience.stackexchange.com/questions/6107/ +what-are-deconvolutional-layers/>`_ . +The num_channel means input image’s channel number. It may be 1 or 3 when +input is raw pixels of image(mono or RGB), or it may be the previous layer’s +num_filters * num_group.

+

There are several group of filter in PaddlePaddle implementation. +Each group will process some channel of the inputs. For example, if an input +num_channel = 256, group = 4, num_filter=32, the PaddlePaddle will create +32*4 = 128 filters to process inputs. The channels will be split into 4 +pieces. First 256/4 = 64 channels will process by first 32 filters. The +rest channels will be processed by rest group of filters.

+

The example usage is:

+
conv = img_conv_layer(input=data, filter_size=1, filter_size_y=1,
+                      num_channels=8,
+                      num_filters=16, stride=1,
+                      bias_attr=False,
+                      act=ReluActivation())
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – Layer name.
  • +
  • input (LayerOutput) – Layer Input.
  • +
  • filter_size (int|tuple|list) – The x dimension of a filter kernel. Or input a tuple for +two image dimension.
  • +
  • filter_size_y (int|None) – The y dimension of a filter kernel. Since PaddlePaddle +currently supports rectangular filters, the filter’s +shape will be (filter_size, filter_size_y).
  • +
  • num_filters – Each filter group’s number of filter
  • +
  • act (BaseActivation) – Activation type. Default is tanh
  • +
  • groups (int) – Group size of filters.
  • +
  • stride (int|tuple|list) – The x dimension of the stride. Or input a tuple for two image +dimension.
  • +
  • stride_y (int) – The y dimension of the stride.
  • +
  • padding (int|tuple|list) – The x dimension of the padding. Or input a tuple for two +image dimension
  • +
  • padding_y (int) – The y dimension of the padding.
  • +
  • bias_attr (ParameterAttribute|False) – Convolution bias attribute. None means default bias. +False means no bias.
  • +
  • num_channels (int) – number of input channels. If None will be set +automatically from previous output.
  • +
  • param_attr (ParameterAttribute) – Convolution param attribute. None means default attribute
  • +
  • shared_biases (bool) – Is biases will be shared between filters or not.
  • +
  • layer_attr (ExtraLayerAttribute) – Layer Extra Attribute.
  • +
  • trans (bool) – true if it is a convTransLayer, false if it is a convLayer
  • +
  • layer_type (String) – specify the layer_type, default is None. If trans=True, +layer_type has to be “exconvt” or “cudnn_convt”, +otherwise layer_type has to be either “exconv” or +“cudnn_conv”
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

context_projection

+
+
+paddle.trainer_config_helpers.layers.context_projection(*args, **kwargs)
+

Context Projection.

+

It just simply reorganizes input sequence, combines “context_len” sequence +to one context from context_start. “context_start” will be set to +-(context_len - 1) / 2 by default. If context position out of sequence +length, padding will be filled as zero if padding_attr = False, otherwise +it is trainable.

+

For example, origin sequence is [A B C D E F G], context len is 3, then +after context projection and not set padding_attr, sequence will +be [ 0AB ABC BCD CDE DEF EFG FG0 ].

+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – Input Sequence.
  • +
  • context_len (int) – context length.
  • +
  • context_start (int) – context start position. Default is +-(context_len - 1)/2
  • +
  • padding_attr (bool|ParameterAttribute) – Padding Parameter Attribute. If false, it means padding +always be zero. Otherwise Padding is learnable, and +parameter attribute is set by this parameter.
  • +
+
Returns:

Projection

+
Return type:

Projection

+
+
+ +
+
+
+

Image Pooling Layer

+
+

img_pool_layer

+
+
+paddle.trainer_config_helpers.layers.img_pool_layer(*args, **kwargs)
+

Image pooling Layer.

+

The details of pooling layer, please refer ufldl’s pooling .

+
    +
  • ceil_mode=True:
  • +
+
+\[w = 1 + int(ceil(input\_width + 2 * padding - pool\_size) / float(stride)) +h = 1 + int(ceil(input\_height + 2 * padding\_y - pool\_size\_y) / float(stride\_y))\]
+
    +
  • ceil_mode=False:
  • +
+
+\[w = 1 + int(floor(input\_width + 2 * padding - pool\_size) / float(stride)) +h = 1 + int(floor(input\_height + 2 * padding\_y - pool\_size\_y) / float(stride\_y))\]
+

The example usage is:

+
maxpool = img_pool_layer(input=conv,
+                         pool_size=3,
+                         pool_size_y=5,
+                         num_channels=8,
+                         stride=1,
+                         stride_y=2,
+                         padding=1,
+                         padding_y=2,
+                         pool_type=MaxPooling())
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • padding (int) – pooling padding width.
  • +
  • padding_y (int|None) – pooling padding height. It’s equal to padding by default.
  • +
  • name (basestring.) – name of pooling layer
  • +
  • input (LayerOutput) – layer’s input
  • +
  • pool_size (int) – pooling window width
  • +
  • pool_size_y (int|None) – pooling window height. It’s eaqual to pool_size by default.
  • +
  • num_channels (int) – number of input channel.
  • +
  • pool_type (BasePoolingType) – pooling type. MaxPooling or AvgPooling. Default is +MaxPooling.
  • +
  • stride (int) – stride width of pooling.
  • +
  • stride_y (int|None) – stride height of pooling. It is equal to stride by default.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer attribute.
  • +
  • ceil_mode (bool) – Wether to use ceil mode to calculate output height and with. +Defalut is True. If set false, Otherwise use floor.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

spp_layer

+
+
+paddle.trainer_config_helpers.layers.spp_layer(*args, **kwargs)
+

Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition. +The details please refer to +Kaiming He’s paper.

+

The example usage is:

+
spp = spp_layer(input=data,
+                pyramid_height=2,
+                num_channels=16,
+                pool_type=MaxPooling())
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – layer name.
  • +
  • input (LayerOutput) – layer’s input.
  • +
  • num_channels (int) – number of input channel.
  • +
  • pool_type – Pooling type. MaxPooling or AveragePooling. Default is MaxPooling.
  • +
  • pyramid_height (int) – pyramid height.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

maxout_layer

+
+
+paddle.trainer_config_helpers.layers.maxout_layer(*args, **kwargs)
+
+
A layer to do max out on conv layer output.
+
    +
  • Input: output of a conv layer.
  • +
  • Output: feature map size same as input. Channel is (input channel) / groups.
  • +
+
+
+

So groups should be larger than 1, and the num of channels should be able +to devided by groups.

+
+
Please refer to Paper:
+
+
+
+

The simple usage is:

+
maxout = maxout_layer(input,
+                      num_channels=128,
+                      groups=4)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – The input layer.
  • +
  • num_channels (int|None) – The channel number of input layer. If None will be set +automatically from previous output.
  • +
  • groups (int) – The group number of input layer.
  • +
  • name (None|basestring.) – The name of this layer, which can not specify.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer attribute.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+
+

Norm Layer

+
+

img_cmrnorm_layer

+
+
+paddle.trainer_config_helpers.layers.img_cmrnorm_layer(*args, **kwargs)
+

Response normalization across feature maps. +The details please refer to +Alex’s paper.

+

The example usage is:

+
norm = img_cmrnorm_layer(input=net, size=5)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (None|basestring) – layer name.
  • +
  • input (LayerOutput) – layer’s input.
  • +
  • size (int) – Normalize in number of \(size\) feature maps.
  • +
  • scale (float) – The hyper-parameter.
  • +
  • power (float) – The hyper-parameter.
  • +
  • num_channels – input layer’s filers number or channels. If +num_channels is None, it will be set automatically.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

batch_norm_layer

+
+
+paddle.trainer_config_helpers.layers.batch_norm_layer(*args, **kwargs)
+

Batch Normalization Layer. The notation of this layer as follow.

+

\(x\) is the input features over a mini-batch.

+
+\[\begin{split}\mu_{\beta} &\gets \frac{1}{m} \sum_{i=1}^{m} x_i \qquad &//\ +\ mini-batch\ mean \\ +\sigma_{\beta}^{2} &\gets \frac{1}{m} \sum_{i=1}^{m}(x_i - \ +\mu_{\beta})^2 \qquad &//\ mini-batch\ variance \\ +\hat{x_i} &\gets \frac{x_i - \mu_\beta} {\sqrt{\ +\sigma_{\beta}^{2} + \epsilon}} \qquad &//\ normalize \\ +y_i &\gets \gamma \hat{x_i} + \beta \qquad &//\ scale\ and\ shift\end{split}\]
+

The details of batch normalization please refer to this +paper.

+

The example usage is:

+
norm = batch_norm_layer(input=net, act=ReluActivation())
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – layer name.
  • +
  • input (LayerOutput) – batch normalization input. Better be linear activation. +Because there is an activation inside batch_normalization.
  • +
  • batch_norm_type (None|string, None or "batch_norm" or "cudnn_batch_norm") – We have batch_norm and cudnn_batch_norm. batch_norm +supports both CPU and GPU. cudnn_batch_norm requires +cuDNN version greater or equal to v4 (>=v4). But +cudnn_batch_norm is faster and needs less memory +than batch_norm. By default (None), we will +automaticly select cudnn_batch_norm for GPU and +batch_norm for CPU. Otherwise, select batch norm +type based on the specified type. If you use cudnn_batch_norm, +we suggested you use latest version, such as v5.1.
  • +
  • act (BaseActivation) – Activation Type. Better be relu. Because batch +normalization will normalize input near zero.
  • +
  • num_channels (int) – num of image channels or previous layer’s number of +filters. None will automatically get from layer’s +input.
  • +
  • bias_attr (ParameterAttribute) – \(\beta\), better be zero when initialize. So the +initial_std=0, initial_mean=1 is best practice.
  • +
  • param_attr (ParameterAttribute) – \(\gamma\), better be one when initialize. So the +initial_std=0, initial_mean=1 is best practice.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
  • use_global_stats (bool|None.) – whether use moving mean/variance statistics +during testing peroid. If None or True, +it will use moving mean/variance statistics during +testing. If False, it will use the mean +and variance of current batch of test data for +testing.
  • +
  • moving_average_fraction (float.) – Factor used in the moving average +computation, referred to as facotr, +\(runningMean = newMean*(1-factor) ++ runningMean*factor\)
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

sum_to_one_norm_layer

+
+
+paddle.trainer_config_helpers.layers.sum_to_one_norm_layer(*args, **kwargs)
+

A layer for sum-to-one normalization, +which is used in NEURAL TURING MACHINE.

+
+\[out[i] = \frac {in[i]} {\sum_{k=1}^N in[k]}\]
+

where \(in\) is a (batchSize x dataDim) input vector, +and \(out\) is a (batchSize x dataDim) output vector.

+

The example usage is:

+
sum_to_one_norm = sum_to_one_norm_layer(input=layer)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – Input layer.
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+
+

Recurrent Layers

+
+

recurrent_layer

+
+
+paddle.trainer_config_helpers.layers.recurrent_layer(*args, **kwargs)
+

Simple recurrent unit layer. It is just a fully connect layer through both +time and neural network.

+

For each sequence [start, end] it performs the following computation:

+
+\[\begin{split}out_{i} = act(in_{i}) \ \ \text{for} \ i = start \\ +out_{i} = act(in_{i} + out_{i-1} * W) \ \ \text{for} \ start < i <= end\end{split}\]
+

If reversed is true, the order is reversed:

+
+\[\begin{split}out_{i} = act(in_{i}) \ \ \text{for} \ i = end \\ +out_{i} = act(in_{i} + out_{i+1} * W) \ \ \text{for} \ start <= i < end\end{split}\]
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – Input Layer
  • +
  • act (BaseActivation) – activation.
  • +
  • bias_attr (ParameterAttribute) – bias attribute.
  • +
  • param_attr (ParameterAttribute) – parameter attribute.
  • +
  • name (basestring) – name of the layer
  • +
  • layer_attr (ExtraLayerAttribute) – Layer Attribute.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

lstmemory

+
+
+paddle.trainer_config_helpers.layers.lstmemory(*args, **kwargs)
+

Long Short-term Memory Cell.

+

The memory cell was implemented as follow equations.

+
+\[ \begin{align}\begin{aligned}i_t & = \sigma(W_{xi}x_{t} + W_{hi}h_{t-1} + W_{ci}c_{t-1} + b_i)\\f_t & = \sigma(W_{xf}x_{t} + W_{hf}h_{t-1} + W_{cf}c_{t-1} + b_f)\\c_t & = f_tc_{t-1} + i_t tanh (W_{xc}x_t+W_{hc}h_{t-1} + b_c)\\o_t & = \sigma(W_{xo}x_{t} + W_{ho}h_{t-1} + W_{co}c_t + b_o)\\h_t & = o_t tanh(c_t)\end{aligned}\end{align} \]
+

NOTE: In PaddlePaddle’s implementation, the multiplications +\(W_{xi}x_{t}\) , \(W_{xf}x_{t}\), +\(W_{xc}x_t\), \(W_{xo}x_{t}\) are not done in the lstmemory layer, +so an additional mixed_layer with full_matrix_projection or a fc_layer must +be included in the configuration file to complete the input-to-hidden +mappings before lstmemory is called.

+

NOTE: This is a low level user interface. You can use network.simple_lstm +to config a simple plain lstm layer.

+

Please refer to Generating Sequences With Recurrent Neural Networks for +more details about LSTM.

+

Link goes as below.

+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – The lstmemory layer name.
  • +
  • input (LayerOutput) – input layer name.
  • +
  • reverse (bool) – is sequence process reversed or not.
  • +
  • act (BaseActivation) – activation type, TanhActivation by default. \(h_t\)
  • +
  • gate_act (BaseActivation) – gate activation type, SigmoidActivation by default.
  • +
  • state_act (BaseActivation) – state activation type, TanhActivation by default.
  • +
  • bias_attr (ParameterAttribute|None|False) – Bias attribute. None means default bias. False means no +bias.
  • +
  • param_attr (ParameterAttribute|None|False) – Parameter Attribute.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer attribute
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

grumemory

+
+
+paddle.trainer_config_helpers.layers.grumemory(*args, **kwargs)
+

Gate Recurrent Unit Layer.

+

The memory cell was implemented as follow equations.

+

1. update gate \(z\): defines how much of the previous memory to +keep around or the unit updates its activations. The update gate +is computed by:

+
+\[z_t = \sigma(W_{z}x_{t} + U_{z}h_{t-1} + b_z)\]
+

2. reset gate \(r\): determines how to combine the new input with the +previous memory. The reset gate is computed similarly to the update gate:

+
+\[r_t = \sigma(W_{r}x_{t} + U_{r}h_{t-1} + b_r)\]
+

3. The candidate activation \(\tilde{h_t}\) is computed similarly to +that of the traditional recurrent unit:

+
+\[{\tilde{h_t}} = tanh(W x_{t} + U (r_{t} \odot h_{t-1}) + b)\]
+

4. The hidden activation \(h_t\) of the GRU at time t is a linear +interpolation between the previous activation \(h_{t-1}\) and the +candidate activation \(\tilde{h_t}\):

+
+\[h_t = (1 - z_t) h_{t-1} + z_t {\tilde{h_t}}\]
+

NOTE: In PaddlePaddle’s implementation, the multiplication operations +\(W_{r}x_{t}\), \(W_{z}x_{t}\) and \(W x_t\) are not computed in +gate_recurrent layer. Consequently, an additional mixed_layer with +full_matrix_projection or a fc_layer must be included before grumemory +is called.

+

More details can be found by referring to Empirical Evaluation of Gated +Recurrent Neural Networks on Sequence Modeling.

+

The simple usage is:

+
gru = grumemory(input)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (None|basestring) – The gru layer name.
  • +
  • input (LayerOutput.) – input layer.
  • +
  • reverse (bool) – Whether sequence process is reversed or not.
  • +
  • act (BaseActivation) – activation type, TanhActivation by default. This activation +affects the \({\tilde{h_t}}\).
  • +
  • gate_act (BaseActivation) – gate activation type, SigmoidActivation by default. +This activation affects the \(z_t\) and \(r_t\). It is the +\(\sigma\) in the above formula.
  • +
  • bias_attr (ParameterAttribute|None|False) – Bias attribute. None means default bias. False means no +bias.
  • +
  • param_attr (ParameterAttribute|None|False) – Parameter Attribute.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer attribute
  • +
  • size (None) – Stub parameter of size, but actually not used. If set this size +will get a warning.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+
+

Recurrent Layer Group

+
+

memory

+
+
+paddle.trainer_config_helpers.layers.memory(*args, **kwargs)
+

The memory layers is a layer cross each time step. Reference this output +as previous time step layer name ‘s output.

+

The default memory is zero in first time step, previous time step’s +output in the rest time steps.

+

If boot_bias, the first time step value is this bias and +with activation.

+

If boot_with_const_id, then the first time stop is a IndexSlot, the +Arguments.ids()[0] is this cost_id.

+

If boot_layer is not null, the memory is just the boot_layer’s output. +Set is_seq is true boot layer is sequence.

+

The same name layer in recurrent group will set memory on each time +step.

+
mem = memory(size=256, name='state')
+state = fc_layer(input=mem, size=256, name='state')
+
+
+

If you do not want to specify the name, you can equivalently use set_input() +to specify the layer needs to be remembered as the following:

+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – the name of the layer which this memory remembers. +If name is None, user should call set_input() to specify the +name of the layer which this memory remembers.
  • +
  • size (int) – size of memory.
  • +
  • memory_name (basestring) – the name of the memory. +It is ignored when name is provided.
  • +
  • is_seq (bool) – is sequence for boot_layer
  • +
  • boot_layer (LayerOutput|None) – boot layer of memory.
  • +
  • boot_bias (ParameterAttribute|None) – boot layer’s bias
  • +
  • boot_bias_active_type (BaseActivation) – boot layer’s active type.
  • +
  • boot_with_const_id (int) – boot layer’s id.
  • +
+
Returns:

LayerOutput object which is a memory.

+
Return type:

LayerOutput

+
+
+ +
+
+

recurrent_group

+
+
+paddle.trainer_config_helpers.layers.recurrent_group(*args, **kwargs)
+

Recurrent layer group is an extremely flexible recurrent unit in +PaddlePaddle. As long as the user defines the calculation done within a +time step, PaddlePaddle will iterate such a recurrent calculation over +sequence input. This is extremely usefull for attention based model, or +Neural Turning Machine like models.

+

The basic usage (time steps) is:

+
def step(input):
+    output = fc_layer(input=layer,
+                      size=1024,
+                      act=LinearActivation(),
+                      bias_attr=False)
+    return output
+
+group = recurrent_group(input=layer,
+                        step=step)
+
+
+

You can see following configs for further usages:

+
    +
  • time steps: lstmemory_group, paddle/gserver/tests/sequence_layer_group.conf, demo/seqToseq/seqToseq_net.py
  • +
  • sequence steps: paddle/gserver/tests/sequence_nest_layer_group.conf
  • +
+ +++ + + + +
Parameters:
    +
  • step (callable) –

    recurrent one time step function.The input of this function is +input of the group. The return of this function will be +recurrent group’s return value.

    +

    The recurrent group scatter a sequence into time steps. And +for each time step, will invoke step function, and return +a time step result. Then gather each time step of output into +layer group’s output.

    +
  • +
  • name (basestring) – recurrent_group’s name.
  • +
  • input (LayerOutput|StaticInput|SubsequenceInput|list|tuple) –

    Input links array.

    +

    LayerOutput will be scattered into time steps. +SubsequenceInput will be scattered into sequence steps. +StaticInput will be imported to each time step, and doesn’t change +through time. It’s a mechanism to access layer outside step function.

    +
  • +
  • reverse (bool) – If reverse is set true, the recurrent unit will process the +input sequence in a reverse order.
  • +
  • targetInlink (LayerOutput|SubsequenceInput) –

    the input layer which share info with layer group’s output

    +

    Param input specifies multiple input layers. For +SubsequenceInput inputs, config should assign one input +layer that share info(the number of sentences and the number +of words in each sentence) with all layer group’s outputs. +targetInlink should be one of the layer group’s input.

    +
  • +
  • is_generating – If is generating, none of input type should be LayerOutput; +else, for training or testing, one of the input type must +be LayerOutput.
  • +
+
+

: type is_generating: bool

+ +++ + + + + + +
Returns:LayerOutput object.
Return type:LayerOutput
+
+ +
+
+

lstm_step_layer

+
+
+paddle.trainer_config_helpers.layers.lstm_step_layer(*args, **kwargs)
+

LSTM Step Layer. It used in recurrent_group. The lstm equations are shown +as follow.

+
+\[ \begin{align}\begin{aligned}i_t & = \sigma(W_{xi}x_{t} + W_{hi}h_{t-1} + W_{ci}c_{t-1} + b_i)\\f_t & = \sigma(W_{xf}x_{t} + W_{hf}h_{t-1} + W_{cf}c_{t-1} + b_f)\\c_t & = f_tc_{t-1} + i_t tanh (W_{xc}x_t+W_{hc}h_{t-1} + b_c)\\o_t & = \sigma(W_{xo}x_{t} + W_{ho}h_{t-1} + W_{co}c_t + b_o)\\h_t & = o_t tanh(c_t)\end{aligned}\end{align} \]
+

The input of lstm step is \(Wx_t + Wh_{t-1}\), and user should use +mixed_layer and full_matrix_projection to calculate these +input vector.

+

The state of lstm step is \(c_{t-1}\). And lstm step layer will do

+
+\[ \begin{align}\begin{aligned}i_t = \sigma(input + W_{ci}c_{t-1} + b_i)\\...\end{aligned}\end{align} \]
+

This layer contains two outputs. Default output is \(h_t\). The other +output is \(o_t\), which name is ‘state’ and can use +get_output_layer to extract this output.

+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – Layer’s name.
  • +
  • size (int) – Layer’s size. NOTE: lstm layer’s size, should be equal as +input.size/4, and should be equal as +state.size.
  • +
  • input (LayerOutput) – input layer. \(Wx_t + Wh_{t-1}\)
  • +
  • state (LayerOutput) – State Layer. \(c_{t-1}\)
  • +
  • act (BaseActivation) – Activation type. Default is tanh
  • +
  • gate_act (BaseActivation) – Gate Activation Type. Default is sigmoid, and should +be sigmoid only.
  • +
  • state_act (BaseActivation) – State Activation Type. Default is sigmoid, and should +be sigmoid only.
  • +
  • bias_attr (ParameterAttribute) – Bias Attribute.
  • +
  • layer_attr (ExtraLayerAttribute) – layer’s extra attribute.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

gru_step_layer

+
+
+paddle.trainer_config_helpers.layers.gru_step_layer(*args, **kwargs)
+
+++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) –
  • +
  • output_mem
  • +
  • size
  • +
  • act
  • +
  • name
  • +
  • gate_act
  • +
  • bias_attr
  • +
  • param_attr – the parameter_attribute for transforming the output_mem +from previous step.
  • +
  • layer_attr
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+ +
+

get_output_layer

+
+
+paddle.trainer_config_helpers.layers.get_output_layer(*args, **kwargs)
+

Get layer’s output by name. In PaddlePaddle, a layer might return multiple +values, but returns one layer’s output. If the user wants to use another +output besides the default one, please use get_output_layer first to get +the output from input.

+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – Layer’s name.
  • +
  • input (LayerOutput) – get output layer’s input. And this layer should contains +multiple outputs.
  • +
  • arg_name (basestring) – Output name from input.
  • +
  • layer_attr – Layer’s extra attribute.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+
+

Mixed Layer

+
+

mixed_layer

+
+
+paddle.trainer_config_helpers.layers.mixed_layer(*args, **kwargs)
+

Mixed Layer. A mixed layer will add all inputs together, then activate. +Each inputs is a projection or operator.

+

There are two styles of usages.

+
    +
  1. When not set inputs parameter, use mixed_layer like this:
  2. +
+
with mixed_layer(size=256) as m:
+    m += full_matrix_projection(input=layer1)
+    m += identity_projection(input=layer2)
+
+
+
    +
  1. You can also set all inputs when invoke mixed_layer as follows:
  2. +
+
m = mixed_layer(size=256,
+                input=[full_matrix_projection(input=layer1),
+                       full_matrix_projection(input=layer2)])
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – mixed layer name. Can be referenced by other layer.
  • +
  • size (int) – layer size.
  • +
  • input – inputs layer. It is an optional parameter. If set, +then this function will just return layer’s name.
  • +
  • act (BaseActivation) – Activation Type.
  • +
  • bias_attr (ParameterAttribute or None or bool) – The Bias Attribute. If no bias, then pass False or +something not type of ParameterAttribute. None will get a +default Bias.
  • +
  • layer_attr (ExtraLayerAttribute) – The extra layer config. Default is None.
  • +
+
Returns:

MixedLayerType object can add inputs or layer name.

+
Return type:

MixedLayerType

+
+
+ +
+
+

embedding_layer

+
+
+paddle.trainer_config_helpers.layers.embedding_layer(*args, **kwargs)
+

Define a embedding Layer.

+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – Name of this embedding layer.
  • +
  • input (LayerOutput) – The input layer for this embedding. NOTE: must be Index Data.
  • +
  • size (int) – The embedding dimension.
  • +
  • param_attr (ParameterAttribute|None) – The embedding parameter attribute. See ParameterAttribute +for details.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra layer Config. Default is None.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

scaling_projection

+
+
+paddle.trainer_config_helpers.layers.scaling_projection(*args, **kwargs)
+

scaling_projection multiplies the input with a scalar parameter and add to +the output.

+
+\[out += w * in\]
+

The example usage is:

+
proj = scaling_projection(input=layer)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – Input Layer.
  • +
  • param_attr (ParameterAttribute) – Parameter config, None if use default.
  • +
+
Returns:

A ScalingProjection object

+
Return type:

ScalingProjection

+
+
+ +
+
+

dotmul_projection

+
+
+paddle.trainer_config_helpers.layers.dotmul_projection(*args, **kwargs)
+

DotMulProjection with a layer as input. +It performs element-wise multiplication with weight.

+
+\[out.row[i] += in.row[i] .* weight\]
+

where \(.*\) means element-wise multiplication.

+

The example usage is:

+
proj = dotmul_projection(input=layer)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – Input layer.
  • +
  • param_attr (ParameterAttribute) – Parameter config, None if use default.
  • +
+
Returns:

A DotMulProjection Object.

+
Return type:

DotMulProjection

+
+
+ +
+
+

dotmul_operator

+
+
+paddle.trainer_config_helpers.layers.dotmul_operator(a=None, b=None, scale=1, **kwargs)
+

DotMulOperator takes two inputs and performs element-wise multiplication:

+
+\[out.row[i] += scale * (a.row[i] .* b.row[i])\]
+

where \(.*\) means element-wise multiplication, and +scale is a config scalar, its default value is one.

+

The example usage is:

+
op = dotmul_operator(a=layer1, b=layer2, scale=0.5)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • a (LayerOutput) – Input layer1
  • +
  • b (LayerOutput) – Input layer2
  • +
  • scale (float) – config scalar, default value is one.
  • +
+
Returns:

A DotMulOperator Object.

+
Return type:

DotMulOperator

+
+
+ +
+
+

full_matrix_projection

+
+
+paddle.trainer_config_helpers.layers.full_matrix_projection(*args, **kwargs)
+

Full Matrix Projection. It performs full matrix multiplication.

+
+\[out.row[i] += in.row[i] * weight\]
+

There are two styles of usage.

+
    +
  1. When used in mixed_layer like this, you can only set the input:
  2. +
+
with mixed_layer(size=100) as m:
+    m += full_matrix_projection(input=layer)
+
+
+
    +
  1. When used as an independant object like this, you must set the size:
  2. +
+
proj = full_matrix_projection(input=layer,
+                              size=100,
+                              param_attr=ParamAttr(name='_proj'))
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – input layer
  • +
  • size (int) – The parameter size. Means the width of parameter.
  • +
  • param_attr (ParameterAttribute) – Parameter config, None if use default.
  • +
+
Returns:

A FullMatrixProjection Object.

+
Return type:

FullMatrixProjection

+
+
+ +
+
+

identity_projection

+
+
+paddle.trainer_config_helpers.layers.identity_projection(input, offset=None)
+
    +
  1. IdentityProjection if offset=None. It performs:
  2. +
+
+\[out.row[i] += in.row[i]\]
+

The example usage is:

+
proj = identity_projection(input=layer)
+
+
+

2. IdentityOffsetProjection if offset!=None. It likes IdentityProjection, +but layer size may be smaller than input size. +It select dimesions [offset, offset+layer_size) from input:

+
+\[out.row[i] += in.row[i + \textrm{offset}]\]
+

The example usage is:

+
proj = identity_projection(input=layer,
+                           offset=10)
+
+
+

Note that both of two projections should not have any parameter.

+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – Input Layer.
  • +
  • offset (int) – Offset, None if use default.
  • +
+
Returns:

A IdentityProjection or IdentityOffsetProjection object

+
Return type:

IdentityProjection or IdentityOffsetProjection

+
+
+ +
+
+

table_projection

+
+
+paddle.trainer_config_helpers.layers.table_projection(*args, **kwargs)
+

Table Projection. It selects rows from parameter where row_id +is in input_ids.

+
+\[out.row[i] += table.row[ids[i]]\]
+

where \(out\) is output, \(table\) is parameter, \(ids\) is input_ids, +and \(i\) is row_id.

+

There are two styles of usage.

+
    +
  1. When used in mixed_layer like this, you can only set the input:
  2. +
+
with mixed_layer(size=100) as m:
+    m += table_projection(input=layer)
+
+
+
    +
  1. When used as an independant object like this, you must set the size:
  2. +
+
proj = table_projection(input=layer,
+                        size=100,
+                        param_attr=ParamAttr(name='_proj'))
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – Input layer, which must contains id fields.
  • +
  • size (int) – The parameter size. Means the width of parameter.
  • +
  • param_attr (ParameterAttribute) – Parameter config, None if use default.
  • +
+
Returns:

A TableProjection Object.

+
Return type:

TableProjection

+
+
+ +
+
+

trans_full_matrix_projection

+
+
+paddle.trainer_config_helpers.layers.trans_full_matrix_projection(*args, **kwargs)
+

Different from full_matrix_projection, this projection performs matrix +multiplication, using transpose of weight.

+
+\[out.row[i] += in.row[i] * w^\mathrm{T}\]
+

\(w^\mathrm{T}\) means transpose of weight. +The simply usage is:

+
proj = trans_full_matrix_projection(input=layer,
+                                    size=100,
+                                    param_attr=ParamAttr(
+                                         name='_proj',
+                                         initial_mean=0.0,
+                                         initial_std=0.01))
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – input layer
  • +
  • size (int) – The parameter size. Means the width of parameter.
  • +
  • param_attr (ParameterAttribute) – Parameter config, None if use default.
  • +
+
Returns:

A TransposedFullMatrixProjection Object.

+
Return type:

TransposedFullMatrixProjection

+
+
+ +
+
+
+

Aggregate Layers

+
+

pooling_layer

+
+
+paddle.trainer_config_helpers.layers.pooling_layer(*args, **kwargs)
+

Pooling layer for sequence inputs, not used for Image.

+

The example usage is:

+
seq_pool = pooling_layer(input=layer,
+                         pooling_type=AvgPooling(),
+                         agg_level=AggregateLevel.EACH_SEQUENCE)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • agg_level (AggregateLevel) – AggregateLevel.EACH_TIMESTEP or +AggregateLevel.EACH_SEQUENCE
  • +
  • name (basestring) – layer name.
  • +
  • input (LayerOutput) – input layer name.
  • +
  • pooling_type (BasePoolingType|None) – Type of pooling, MaxPooling(default), AvgPooling, +SumPooling, SquareRootNPooling.
  • +
  • bias_attr (ParameterAttribute|None|False) – Bias parameter attribute. False if no bias.
  • +
  • layer_attr (ExtraLayerAttribute|None) – The Extra Attributes for layer, such as dropout.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

last_seq

+
+
+paddle.trainer_config_helpers.layers.last_seq(*args, **kwargs)
+

Get Last Timestamp Activation of a sequence.

+

If stride > 0, this layer slides a window whose size is determined by stride, +and return the last value of the window as the output. Thus, a long sequence +will be shorten. Note that for sequence with sub-sequence, the default value +of stride is -1.

+

The simple usage is:

+
seq = last_seq(input=layer)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • agg_level – Aggregated level
  • +
  • name (basestring) – Layer name.
  • +
  • input (LayerOutput) – Input layer name.
  • +
  • stride (Int) – window size.
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

first_seq

+
+
+paddle.trainer_config_helpers.layers.first_seq(*args, **kwargs)
+

Get First Timestamp Activation of a sequence.

+

If stride > 0, this layer slides a window whose size is determined by stride, +and return the first value of the window as the output. Thus, a long sequence +will be shorten. Note that for sequence with sub-sequence, the default value +of stride is -1.

+

The simple usage is:

+
seq = first_seq(input=layer)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • agg_level – aggregation level
  • +
  • name (basestring) – Layer name.
  • +
  • input (LayerOutput) – Input layer name.
  • +
  • stride (Int) – window size.
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

concat_layer

+
+
+paddle.trainer_config_helpers.layers.concat_layer(*args, **kwargs)
+

Concat all input vector into one huge vector. +Inputs can be list of LayerOutput or list of projection.

+

The example usage is:

+
concat = concat_layer(input=[layer1, layer2])
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – Layer name.
  • +
  • input (list|tuple|collections.Sequence) – input layers or projections
  • +
  • act (BaseActivation) – Activation type.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

seq_concat_layer

+
+
+paddle.trainer_config_helpers.layers.seq_concat_layer(*args, **kwargs)
+

Concat sequence a with sequence b.

+
+
Inputs:
+
    +
  • a = [a1, a2, ..., an]
  • +
  • b = [b1, b2, ..., bn]
  • +
  • Note that the length of a and b should be the same.
  • +
+
+
+

Output: [a1, b1, a2, b2, ..., an, bn]

+

The example usage is:

+
concat = seq_concat_layer(a=layer1, b=layer2)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – Layer name.
  • +
  • a (LayerOutput) – input sequence layer
  • +
  • b (LayerOutput) – input sequence layer
  • +
  • act (BaseActivation) – Activation type.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
  • bias_attr (ParameterAttribute or None or bool) – The Bias Attribute. If no bias, then pass False or +something not type of ParameterAttribute. None will get a +default Bias.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+
+

Reshaping Layers

+
+

block_expand_layer

+
+
+paddle.trainer_config_helpers.layers.block_expand_layer(*args, **kwargs)
+
+
Expand feature map to minibatch matrix.
+
    +
  • matrix width is: block_y * block_x * num_channels
  • +
  • matirx height is: outputH * outputW
  • +
+
+
+
+\[ \begin{align}\begin{aligned}outputH = 1 + (2 * padding_y + imgSizeH - block_y + stride_y - 1) / stride_y\\outputW = 1 + (2 * padding_x + imgSizeW - block_x + stride_x - 1) / stride_x\end{aligned}\end{align} \]
+

The expand method is the same with ExpandConvLayer, but saved the transposed +value. After expanding, output.sequenceStartPositions will store timeline. +The number of time steps are outputH * outputW and the dimension of each +time step is block_y * block_x * num_channels. This layer can be used after +convolution neural network, and before recurrent neural network.

+

The simple usage is:

+
block_expand = block_expand_layer(input=layer,
+                                  num_channels=128,
+                                  stride_x=1,
+                                  stride_y=1,
+                                  block_x=1,
+                                  block_x=3)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – The input layer.
  • +
  • num_channels (int|None) – The channel number of input layer.
  • +
  • block_x (int) – The width of sub block.
  • +
  • block_y (int) – The width of sub block.
  • +
  • stride_x (int) – The stride size in horizontal direction.
  • +
  • stride_y (int) – The stride size in vertical direction.
  • +
  • padding_x (int) – The padding size in horizontal direction.
  • +
  • padding_y (int) – The padding size in vertical direction.
  • +
  • name (None|basestring.) – The name of this layer, which can not specify.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer config.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

expand_layer

+
+
+paddle.trainer_config_helpers.layers.expand_layer(*args, **kwargs)
+

A layer for “Expand Dense data or (sequence data where the length of each +sequence is one) to sequence data.”

+

The example usage is:

+
expand = expand_layer(input=layer1,
+                      expand_as=layer2,
+                      expand_level=ExpandLevel.FROM_TIMESTEP)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – Input layer
  • +
  • expand_as (LayerOutput) – Expand as this layer’s sequence info.
  • +
  • name (basestring) – Layer name.
  • +
  • bias_attr (ParameterAttribute|None|False) – Bias attribute. None means default bias. False means no +bias.
  • +
  • expand_level (ExpandLevel) – whether input layer is timestep(default) or sequence.
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

repeat_layer

+
+
+paddle.trainer_config_helpers.layers.repeat_layer(*args, **kwargs)
+

A layer for repeating the input for num_repeats times. This is equivalent +to apply concat_layer() with num_repeats same input.

+
+\[y = [x, x, \cdots, x]\]
+

The example usage is:

+
expand = repeat_layer(input=layer, num_repeats=4)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – Input layer
  • +
  • num_repeats (int) – Repeat the input so many times
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

rotate_layer

+
+
+paddle.trainer_config_helpers.layers.rotate_layer(*args, **kwargs)
+

A layer for rotating 90 degrees (clock-wise) for each feature channel, +usually used when the input sample is some image or feature map.

+
+\[y(j,i,:) = x(M-i-1,j,:)\]
+

where \(x\) is (M x N x C) input, and \(y\) is (N x M x C) output.

+

The example usage is:

+
rot = rotate_layer(input=layer,
+                   height=100,
+                   width=100)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – Input layer.
  • +
  • height (int) – The height of the sample matrix
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

seq_reshape_layer

+
+
+paddle.trainer_config_helpers.layers.seq_reshape_layer(*args, **kwargs)
+

A layer for reshaping the sequence. Assume the input sequence has T instances, +the dimension of each instance is M, and the input reshape_size is N, then the +output sequence has T*M/N instances, the dimension of each instance is N.

+

Note that T*M/N must be an integer.

+

The example usage is:

+
reshape = seq_reshape_layer(input=layer, reshape_size=4)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – Input layer.
  • +
  • reshape_size (int) – the size of reshaped sequence.
  • +
  • name (basestring) – Layer name.
  • +
  • act (BaseActivation) – Activation type.
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
  • bias_attr (ParameterAttribute or None or bool) – The Bias Attribute. If no bias, then pass False or +something not type of ParameterAttribute. None will get a +default Bias.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+
+

Math Layers

+
+

addto_layer

+
+
+paddle.trainer_config_helpers.layers.addto_layer(*args, **kwargs)
+

AddtoLayer.

+
+\[y = f(\sum_{i} x_i + b)\]
+

where \(y\) is output, \(x\) is input, \(b\) is bias, +and \(f\) is activation function.

+

The example usage is:

+
addto = addto_layer(input=[layer1, layer2],
+                    act=ReluActivation(),
+                    bias_attr=False)
+
+
+

This layer just simply add all input layers together, then activate the sum +inputs. Each input of this layer should be the same size, which is also the +output size of this layer.

+

There is no weight matrix for each input, because it just a simple add +operation. If you want a complicated operation before add, please use +mixed_layer.

+

It is a very good way to set dropout outside the layers. Since not all +PaddlePaddle layer support dropout, you can add an add_to layer, set +dropout here. +Please refer to dropout_layer for details.

+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – Layer name.
  • +
  • input (LayerOutput|list|tuple) – Input layers. It could be a LayerOutput or list/tuple of +LayerOutput.
  • +
  • act (BaseActivation) – Activation Type, default is tanh.
  • +
  • bias_attr (ParameterAttribute|bool) – Bias attribute. If False, means no bias. None is default +bias.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer attribute.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

linear_comb_layer

+
+
+paddle.trainer_config_helpers.layers.linear_comb_layer(*args, **kwargs)
+
+
A layer for weighted sum of vectors takes two inputs.
+
    +
  • +
    Input: size of weights is M
    +
    size of vectors is M*N
    +
    +
  • +
  • Output: a vector of size=N
  • +
+
+
+
+\[z(i) = \sum_{j=0}^{M-1} x(j) y(i+Nj)\]
+

where \(0 \le i \le N-1\)

+

Or in the matrix notation:

+
+\[z = x^\mathrm{T} Y\]
+
+
In this formular:
+
    +
  • \(x\): weights
  • +
  • \(y\): vectors.
  • +
  • \(z\): the output.
  • +
+
+
+

Note that the above computation is for one sample. Multiple samples are +processed in one batch.

+

The simple usage is:

+
linear_comb = linear_comb_layer(weights=weight, vectors=vectors,
+                                size=elem_dim)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • weights (LayerOutput) – The weight layer.
  • +
  • vectors (LayerOutput) – The vector layer.
  • +
  • size (int) – the dimension of this layer.
  • +
  • name (basestring) – The Layer Name.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer config.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

interpolation_layer

+
+
+paddle.trainer_config_helpers.layers.interpolation_layer(*args, **kwargs)
+

This layer is for linear interpolation with two inputs, +which is used in NEURAL TURING MACHINE.

+
+\[y.row[i] = w[i] * x_1.row[i] + (1 - w[i]) * x_2.row[i]\]
+

where \(x_1\) and \(x_2\) are two (batchSize x dataDim) inputs, +\(w\) is (batchSize x 1) weight vector, and \(y\) is +(batchSize x dataDim) output.

+

The example usage is:

+
interpolation = interpolation_layer(input=[layer1, layer2], weight=layer3)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (list|tuple) – Input layer.
  • +
  • weight (LayerOutput) – Weight layer.
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

bilinear_interp_layer

+
+
+paddle.trainer_config_helpers.layers.bilinear_interp_layer(*args, **kwargs)
+

This layer is to implement bilinear interpolation on conv layer output.

+

Please refer to Wikipedia: https://en.wikipedia.org/wiki/Bilinear_interpolation

+

The simple usage is:

+
bilinear = bilinear_interp_layer(input=layer1, out_size_x=64, out_size_y=64)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput.) – A input layer.
  • +
  • out_size_x (int|None) – bilinear interpolation output width.
  • +
  • out_size_y (int|None) – bilinear interpolation output height.
  • +
  • name (None|basestring) – The layer’s name, which cna not be specified.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer attribute.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

power_layer

+
+
+paddle.trainer_config_helpers.layers.power_layer(*args, **kwargs)
+

This layer applies a power function to a vector element-wise, +which is used in NEURAL TURING MACHINE.

+
+\[y = x^w\]
+

where \(x\) is a input vector, \(w\) is scalar weight, +and \(y\) is a output vector.

+

The example usage is:

+
power = power_layer(input=layer1, weight=layer2)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – Input layer.
  • +
  • weight (LayerOutput) – Weight layer.
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

scaling_layer

+
+
+paddle.trainer_config_helpers.layers.scaling_layer(*args, **kwargs)
+

A layer for multiplying input vector by weight scalar.

+
+\[y = w x\]
+

where \(x\) is size=dataDim input, \(w\) is size=1 weight, +and \(y\) is size=dataDim output.

+

Note that the above computation is for one sample. Multiple samples are +processed in one batch.

+

The example usage is:

+
scale = scaling_layer(input=layer1, weight=layer2)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – Input layer.
  • +
  • weight (LayerOutput) – Weight layer.
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

slope_intercept_layer

+
+
+paddle.trainer_config_helpers.layers.slope_intercept_layer(*args, **kwargs)
+

This layer for applying a slope and an intercept to the input +element-wise. There is no activation and weight.

+
+\[y = slope * x + intercept\]
+

The simple usage is:

+
scale = slope_intercept_layer(input=input, slope=-1.0, intercept=1.0)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – The input layer.
  • +
  • name (basestring) – The Layer Name.
  • +
  • slope (float.) – the scale factor.
  • +
  • intercept (float.) – the offset.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer config.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

tensor_layer

+
+
+paddle.trainer_config_helpers.layers.tensor_layer(*args, **kwargs)
+

This layer performs tensor operation for two input. +For example, each sample:

+
+\[y_{i} = a * W_{i} * {b^\mathrm{T}}, i=0,1,...,K-1\]
+
+
In this formular:
+
    +
  • \(a\): the first input contains M elements.
  • +
  • \(b\): the second input contains N elements.
  • +
  • \(y_{i}\): the i-th element of y.
  • +
  • \(W_{i}\): the i-th learned weight, shape if [M, N]
  • +
  • \(b^\mathrm{T}\): the transpose of \(b_{2}\).
  • +
+
+
+

The simple usage is:

+
tensor = tensor_layer(a=layer1, b=layer2, size=1000)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – layer name
  • +
  • a (LayerOutput) – Input layer a.
  • +
  • b (LayerOutput) – input layer b.
  • +
  • size (int.) – the layer dimension.
  • +
  • act (BaseActivation) – Activation Type. Default is tanh.
  • +
  • param_attr (ParameterAttribute) – The Parameter Attribute.
  • +
  • bias_attr (ParameterAttribute|None|Any) – The Bias Attribute. If no bias, then pass False or +something not type of ParameterAttribute. None will get a +default Bias.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer config.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

cos_sim

+
+
+paddle.trainer_config_helpers.layers.cos_sim(*args, **kwargs)
+

Cosine Similarity Layer. The cosine similarity equation is here.

+
+\[similarity = cos(\theta) = {\mathbf{a} \cdot \mathbf{b} +\over \|\mathbf{a}\| \|\mathbf{b}\|}\]
+

The size of a is M, size of b is M*N, +Similarity will be calculated N times by step M. The output size is +N. The scale will be multiplied to similarity.

+

Note that the above computation is for one sample. Multiple samples are +processed in one batch.

+

The example usage is:

+
cos = cos_sim(a=layer1, b=layer2, size=3)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – layer name
  • +
  • a (LayerOutput) – input layer a
  • +
  • b (LayerOutput) – input layer b
  • +
  • scale (float) – scale for cosine value. default is 5.
  • +
  • size (int) – layer size. NOTE size_a * size should equal size_b.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

trans_layer

+
+
+paddle.trainer_config_helpers.layers.trans_layer(*args, **kwargs)
+

A layer for transposing a minibatch matrix.

+
+\[y = x^\mathrm{T}\]
+

where \(x\) is (M x N) input, and \(y\) is (N x M) output.

+

The example usage is:

+
trans = trans_layer(input=layer)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – Input layer.
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+
+

Sampling Layers

+
+

maxid_layer

+
+
+paddle.trainer_config_helpers.layers.maxid_layer(*args, **kwargs)
+

A layer for finding the id which has the maximal value for each sample. +The result is stored in output.ids.

+

The example usage is:

+
maxid = maxid_layer(input=layer)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – Input layer name.
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

sampling_id_layer

+
+
+paddle.trainer_config_helpers.layers.sampling_id_layer(*args, **kwargs)
+

A layer for sampling id from multinomial distribution from the input layer. +Sampling one id for one sample.

+

The simple usage is:

+
samping_id = sampling_id_layer(input=input)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – The input layer.
  • +
  • name (basestring) – The Layer Name.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer config.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+
+

Slicing and Joining Layers

+
+

pad_layer

+
+
+paddle.trainer_config_helpers.layers.pad_layer(*args, **kwargs)
+

This operation pads zeros to the input data according to pad_c,pad_h +and pad_w. pad_c, pad_h, pad_w specifies the which dimension and size +of padding. And the input data shape is NCHW.

+

For example, pad_c=[2,3] means padding 2 zeros before the +input data and 3 zeros after the input data in channel dimension. +pad_h means padding zeros in height dimension. pad_w means padding zeros +in width dimension.

+

For example,

+
input(2,2,2,3)  = [
+                    [ [[1,2,3], [3,4,5]],
+                      [[2,3,5], [1,6,7]] ],
+                    [ [[4,3,1], [1,8,7]],
+                      [[3,8,9], [2,3,5]] ]
+                  ]
+
+pad_c=[1,1], pad_h=[0,0], pad_w=[0,0]
+
+output(2,4,2,3) = [
+                    [ [[0,0,0], [0,0,0]],
+                      [[1,2,3], [3,4,5]],
+                      [[2,3,5], [1,6,7]],
+                      [[0,0,0], [0,0,0]] ],
+                    [ [[0,0,0], [0,0,0]],
+                      [[4,3,1], [1,8,7]],
+                      [[3,8,9], [2,3,5]],
+                      [[0,0,0], [0,0,0]] ]
+                  ]
+
+
+

The simply usage is:

+
pad = pad_layer(input=ipt,
+                pad_c=[4,4],
+                pad_h=[0,0],
+                pad_w=[2,2])
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – layer’s input.
  • +
  • pad_c (list|None) – padding size in channel dimension.
  • +
  • pad_h (list|None) – padding size in height dimension.
  • +
  • pad_w (list|None) – padding size in width dimension.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
  • name (basestring) – layer name.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+
+

Cost Layers

+
+

cross_entropy

+
+
+paddle.trainer_config_helpers.layers.cross_entropy(*args, **kwargs)
+

A loss layer for multi class entropy.

+
cost = cross_entropy(input=input_layer,
+                     label=label_layer)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput.) – The first input layer.
  • +
  • label – The input label.
  • +
  • name (None|basestring.) – The name of this layers. It is not necessary.
  • +
  • coeff (float.) – The cost is multiplied with coeff. +The coefficient affects the gradient in the backward.
  • +
  • weight (LayerOutout) – The cost of each sample is multiplied with each weight. +The weight should be a layer with size=1. Note that gradient +will not be calculated for weight.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput.

+
+
+ +
+
+

cross_entropy_with_selfnorm

+
+
+paddle.trainer_config_helpers.layers.cross_entropy_with_selfnorm(*args, **kwargs)
+

A loss layer for multi class entropy with selfnorm. +Input should be a vector of positive numbers, without normalization.

+
cost = cross_entropy_with_selfnorm(input=input_layer,
+                                   label=label_layer)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput.) – The first input layer.
  • +
  • label – The input label.
  • +
  • name (None|basestring.) – The name of this layers. It is not necessary.
  • +
  • coeff (float.) – The coefficient affects the gradient in the backward.
  • +
  • softmax_selfnorm_alpha (float.) – The scale factor affects the cost.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput.

+
+
+ +
+
+

multi_binary_label_cross_entropy

+
+
+paddle.trainer_config_helpers.layers.multi_binary_label_cross_entropy(*args, **kwargs)
+

A loss layer for multi binary label cross entropy.

+
cost = multi_binary_label_cross_entropy(input=input_layer,
+                                        label=label_layer)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – The first input layer.
  • +
  • label – The input label.
  • +
  • type (basestring) – The type of cost.
  • +
  • name (None|basestring) – The name of this layers. It is not necessary.
  • +
  • coeff (float) – The coefficient affects the gradient in the backward.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

mse_cost

+
+
+paddle.trainer_config_helpers.layers.mse_cost(*args, **kwargs)
+
+

mean squared error cost:

+
+\[\]
+
+

rac{1}{N}sum_{i=1}^N(t_i-y_i)^2

+
+
+++ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
param name:layer name.
type name:basestring
param input:Network prediction.
type input:LayerOutput
param label:Data label.
type label:LayerOutput
param weight:The weight affects the cost, namely the scale of cost. +It is an optional argument.
type weight:LayerOutput
param layer_attr:
 layer’s extra attribute.
type layer_attr:
 ExtraLayerAttribute
return:LayerOutput object.
rtype:LayerOutput
+
+
+ +
+
+

huber_cost

+
+
+paddle.trainer_config_helpers.layers.huber_cost(*args, **kwargs)
+

A loss layer for huber loss.

+
cost = huber_cost(input=input_layer,
+                  label=label_layer)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput.) – The first input layer.
  • +
  • label – The input label.
  • +
  • name (None|basestring.) – The name of this layers. It is not necessary.
  • +
  • coeff (float.) – The coefficient affects the gradient in the backward.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput.

+
+
+ +
+
+

lambda_cost

+
+
+paddle.trainer_config_helpers.layers.lambda_cost(*args, **kwargs)
+

lambdaCost for lambdaRank LTR approach.

+

The simple usage:

+
cost = lambda_cost(input=input,
+                   score=score,
+                   NDCG_num=8,
+                   max_sort_size=-1)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – Samples of the same query should be loaded as sequence.
  • +
  • score – The 2nd input. Score of each sample.
  • +
  • NDCG_num (int) – The size of NDCG (Normalized Discounted Cumulative Gain), +e.g., 5 for NDCG@5. It must be less than for equal to the +minimum size of lists.
  • +
  • max_sort_size (int) – The size of partial sorting in calculating gradient. +If max_sort_size = -1, then for each list, the +algorithm will sort the entire list to get gradient. +In other cases, max_sort_size must be greater than or +equal to NDCG_num. And if max_sort_size is greater +than the size of a list, the algorithm will sort the +entire list of get gradient.
  • +
  • name (None|basestring) – The name of this layers. It is not necessary.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

rank_cost

+
+
+paddle.trainer_config_helpers.layers.rank_cost(*args, **kwargs)
+

A cost Layer for learning to rank using gradient descent. Details can refer +to papers. +This layer contains at least three inputs. The weight is an optional +argument, which affects the cost.

+
+\[ \begin{align}\begin{aligned}C_{i,j} & = -\tilde{P_{ij}} * o_{i,j} + log(1 + e^{o_{i,j}})\\o_{i,j} & = o_i - o_j\\\tilde{P_{i,j}} & = \{0, 0.5, 1\} \ or \ \{0, 1\}\end{aligned}\end{align} \]
+
+
In this formula:
+
    +
  • \(C_{i,j}\) is the cross entropy cost.
  • +
  • \(\tilde{P_{i,j}}\) is the label. 1 means positive order +and 0 means reverse order.
  • +
  • \(o_i\) and \(o_j\): the left output and right output. +Their dimension is one.
  • +
+
+
+

The simple usage:

+
cost = rank_cost(left=out_left,
+                 right=out_right,
+                 label=label)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • left (LayerOutput) – The first input, the size of this layer is 1.
  • +
  • right (LayerOutput) – The right input, the size of this layer is 1.
  • +
  • label (LayerOutput) – Label is 1 or 0, means positive order and reverse order.
  • +
  • weight (LayerOutput) – The weight affects the cost, namely the scale of cost. +It is an optional argument.
  • +
  • name (None|basestring) – The name of this layers. It is not necessary.
  • +
  • coeff (float) – The coefficient affects the gradient in the backward.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

sum_cost

+
+
+paddle.trainer_config_helpers.layers.sum_cost(*args, **kwargs)
+

A loss layer which calculate the sum of the input as loss

+
cost = sum_cost(input=input_layer)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput.) – The first input layer.
  • +
  • name (None|basestring.) – The name of this layers. It is not necessary.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput.

+
+
+ +
+
+

crf_layer

+
+
+paddle.trainer_config_helpers.layers.crf_layer(*args, **kwargs)
+

A layer for calculating the cost of sequential conditional random +field model.

+

The simple usage:

+
crf = crf_layer(input=input,
+                label=label,
+                size=label_dim)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – The first input layer is the feature.
  • +
  • label (LayerOutput) – The second input layer is label.
  • +
  • size (int) – The category number.
  • +
  • weight (LayerOutput) – The third layer is “weight” of each sample, which is an +optional argument.
  • +
  • param_attr (ParameterAttribute) – Parameter attribute. None means default attribute
  • +
  • name (None|basestring) – The name of this layers. It is not necessary.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer config.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

crf_decoding_layer

+
+
+paddle.trainer_config_helpers.layers.crf_decoding_layer(*args, **kwargs)
+

A layer for calculating the decoding sequence of sequential conditional +random field model. The decoding sequence is stored in output.ids. +If a second input is provided, it is treated as the ground-truth label, and +this layer will also calculate error. output.value[i] is 1 for incorrect +decoding or 0 for correct decoding.

+

The simple usage:

+
crf_decoding = crf_decoding_layer(input=input,
+                                  size=label_dim)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – The first input layer.
  • +
  • size (int) – size of this layer.
  • +
  • label (LayerOutput or None) – None or ground-truth label.
  • +
  • param_attr (ParameterAttribute) – Parameter attribute. None means default attribute
  • +
  • name (None|basestring) – The name of this layers. It is not necessary.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer config.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

ctc_layer

+
+
+paddle.trainer_config_helpers.layers.ctc_layer(*args, **kwargs)
+

Connectionist Temporal Classification (CTC) is designed for temporal +classication task. That is, for sequence labeling problems where the +alignment between the inputs and the target labels is unknown.

+

More details can be found by referring to Connectionist Temporal +Classification: Labelling Unsegmented Sequence Data with Recurrent +Neural Networks

+
+

Note

+

Considering the ‘blank’ label needed by CTC, you need to use +(num_classes + 1) as the input size. num_classes is the category number. +And the ‘blank’ is the last category index. So the size of ‘input’ layer, such as +fc_layer with softmax activation, should be num_classes + 1. The size of ctc_layer +should also be num_classes + 1.

+
+

The simple usage:

+
ctc = ctc_layer(input=input,
+                label=label,
+                size=9055,
+                norm_by_times=True)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – The input layer.
  • +
  • label (LayerOutput) – The data layer of label with variable length.
  • +
  • size (int) – category numbers + 1.
  • +
  • name (basestring|None) – The name of this layer
  • +
  • norm_by_times (bool) – Whether to normalization by times. False by default.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer config.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

warp_ctc_layer

+
+
+paddle.trainer_config_helpers.layers.warp_ctc_layer(*args, **kwargs)
+

A layer intergrating the open-source warp-ctc +<https://github.com/baidu-research/warp-ctc> library, which is used in +Deep Speech 2: End-toEnd Speech Recognition in English and Mandarin +<https://arxiv.org/pdf/1512.02595v1.pdf>, to compute Connectionist Temporal +Classification (CTC) loss.

+

More details of CTC can be found by referring to Connectionist Temporal +Classification: Labelling Unsegmented Sequence Data with Recurrent +Neural Networks

+
+

Note

+
    +
  • Let num_classes represent the category number. Considering the ‘blank’ +label needed by CTC, you need to use (num_classes + 1) as the input +size. Thus, the size of both warp_ctc_layer and ‘input’ layer should +be set to num_classes + 1.
  • +
  • You can set ‘blank’ to any value ranged in [0, num_classes], which +should be consistent as that used in your labels.
  • +
  • As a native ‘softmax’ activation is interated to the warp-ctc library, +‘linear’ activation is expected instead in the ‘input’ layer.
  • +
+
+

The simple usage:

+
ctc = warp_ctc_layer(input=input,
+                     label=label,
+                     size=1001,
+                     blank=1000,
+                     norm_by_times=False)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – The input layer.
  • +
  • label (LayerOutput) – The data layer of label with variable length.
  • +
  • size (int) – category numbers + 1.
  • +
  • name (basestring|None) – The name of this layer, which can not specify.
  • +
  • blank (int) – the ‘blank’ label used in ctc
  • +
  • norm_by_times (bool) – Whether to normalization by times. False by default.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer config.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+

nce_layer

+
+
+paddle.trainer_config_helpers.layers.nce_layer(*args, **kwargs)
+

Noise-contrastive estimation. +Implements the method in the following paper: +A fast and simple algorithm for training neural probabilistic language models.

+

The example usage is:

+
cost = nce_layer(input=layer1, label=layer2, weight=layer3,
+                 num_classes=3, neg_distribution=[0.1,0.3,0.6])
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – layer name
  • +
  • input (LayerOutput|list|tuple|collections.Sequence) – input layers. It could be a LayerOutput of list/tuple of LayerOutput.
  • +
  • label (LayerOutput) – label layer
  • +
  • weight (LayerOutput) – weight layer, can be None(default)
  • +
  • num_classes (int) – number of classes.
  • +
  • act (BaseActivation) – Activation, default is Sigmoid.
  • +
  • num_neg_samples (int) – number of negative samples. Default is 10.
  • +
  • neg_distribution (list|tuple|collections.Sequence|None) – The distribution for generating the random negative labels. +A uniform distribution will be used if not provided. +If not None, its length must be equal to num_classes.
  • +
  • bias_attr (ParameterAttribute|None|False) – Bias parameter attribute. True if no bias.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
Returns:

layer name.

+
Return type:

LayerOutput

+
+
+ +
+
+

hsigmoid

+
+
+paddle.trainer_config_helpers.layers.hsigmoid(*args, **kwargs)
+

Organize the classes into a binary tree. At each node, a sigmoid function +is used to calculate the probability of belonging to the right branch. +This idea is from “F. Morin, Y. Bengio (AISTATS 05): +Hierarchical Probabilistic Neural Network Language Model.”

+

The example usage is:

+
cost = hsigmoid(input=[layer1, layer2],
+                label=data_layer)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput|list|tuple) – Input layers. It could be a LayerOutput or list/tuple of +LayerOutput.
  • +
  • label (LayerOutput) – Label layer.
  • +
  • num_classes (int|None) – number of classes.
  • +
  • name (basestring) – layer name
  • +
  • bias_attr (ParameterAttribute|False) – Bias attribute. None means default bias. +False means no bias.
  • +
  • param_attr (ParameterAttribute|None) – Parameter Attribute. None means default parameter.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+
+

Check Layer

+
+

eos_layer

+
+
+paddle.trainer_config_helpers.layers.eos_layer(*args, **kwargs)
+

A layer for checking EOS for each sample: +- output_id = (input_id == conf.eos_id)

+

The result is stored in output_.ids. +It is used by recurrent layer group.

+

The example usage is:

+
eos = eos_layer(input=layer, eos_id=id)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – Layer name.
  • +
  • input (LayerOutput) – Input layer name.
  • +
  • eos_id (int) – end id of sequence
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
+
Returns:

LayerOutput object.

+
Return type:

LayerOutput

+
+
+ +
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/api/v1/trainer_config_helpers/networks.html b/release/0.10.0/doc/api/v1/trainer_config_helpers/networks.html new file mode 100644 index 0000000000..9769b3b4bf --- /dev/null +++ b/release/0.10.0/doc/api/v1/trainer_config_helpers/networks.html @@ -0,0 +1,949 @@ + + + + + + + + + + + Networks — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Networks
  • +
+
+ +
+
+
+
+ +
+

Networks

+

The networks module contains pieces of neural network that combine multiple layers.

+
+

NLP

+
+

sequence_conv_pool

+
+
+paddle.trainer_config_helpers.networks.sequence_conv_pool(*args, **kwargs)
+

Text convolution pooling layers helper.

+

Text input => Context Projection => FC Layer => Pooling => Output.

+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – name of output layer(pooling layer name)
  • +
  • input (LayerOutput) – name of input layer
  • +
  • context_len (int) – context projection length. See +context_projection’s document.
  • +
  • hidden_size (int) – FC Layer size.
  • +
  • context_start (int or None) – context projection length. See +context_projection’s context_start.
  • +
  • pool_type (BasePoolingType.) – pooling layer type. See pooling_layer’s document.
  • +
  • context_proj_layer_name (basestring) – context projection layer name. +None if user don’t care.
  • +
  • context_proj_param_attr (ParameterAttribute or None.) – context projection parameter attribute. +None if user don’t care.
  • +
  • fc_layer_name (basestring) – fc layer name. None if user don’t care.
  • +
  • fc_param_attr (ParameterAttribute or None) – fc layer parameter attribute. None if user don’t care.
  • +
  • fc_bias_attr (ParameterAttribute or None) – fc bias parameter attribute. False if no bias, +None if user don’t care.
  • +
  • fc_act (BaseActivation) – fc layer activation type. None means tanh
  • +
  • pool_bias_attr (ParameterAttribute or None.) – pooling layer bias attr. None if don’t care. +False if no bias.
  • +
  • fc_attr (ExtraLayerAttribute) – fc layer extra attribute.
  • +
  • context_attr (ExtraLayerAttribute) – context projection layer extra attribute.
  • +
  • pool_attr (ExtraLayerAttribute) – pooling layer extra attribute.
  • +
+
Returns:

output layer name.

+
Return type:

LayerOutput

+
+
+ +
+
+

text_conv_pool

+
+
+paddle.trainer_config_helpers.networks.text_conv_pool(*args, **kwargs)
+

Text convolution pooling layers helper.

+

Text input => Context Projection => FC Layer => Pooling => Output.

+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – name of output layer(pooling layer name)
  • +
  • input (LayerOutput) – name of input layer
  • +
  • context_len (int) – context projection length. See +context_projection’s document.
  • +
  • hidden_size (int) – FC Layer size.
  • +
  • context_start (int or None) – context projection length. See +context_projection’s context_start.
  • +
  • pool_type (BasePoolingType.) – pooling layer type. See pooling_layer’s document.
  • +
  • context_proj_layer_name (basestring) – context projection layer name. +None if user don’t care.
  • +
  • context_proj_param_attr (ParameterAttribute or None.) – context projection parameter attribute. +None if user don’t care.
  • +
  • fc_layer_name (basestring) – fc layer name. None if user don’t care.
  • +
  • fc_param_attr (ParameterAttribute or None) – fc layer parameter attribute. None if user don’t care.
  • +
  • fc_bias_attr (ParameterAttribute or None) – fc bias parameter attribute. False if no bias, +None if user don’t care.
  • +
  • fc_act (BaseActivation) – fc layer activation type. None means tanh
  • +
  • pool_bias_attr (ParameterAttribute or None.) – pooling layer bias attr. None if don’t care. +False if no bias.
  • +
  • fc_attr (ExtraLayerAttribute) – fc layer extra attribute.
  • +
  • context_attr (ExtraLayerAttribute) – context projection layer extra attribute.
  • +
  • pool_attr (ExtraLayerAttribute) – pooling layer extra attribute.
  • +
+
Returns:

output layer name.

+
Return type:

LayerOutput

+
+
+ +
+
+
+

Images

+
+

img_conv_bn_pool

+
+
+paddle.trainer_config_helpers.networks.img_conv_bn_pool(*args, **kwargs)
+

Convolution, batch normalization, pooling group.

+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – group name
  • +
  • input (LayerOutput) – layer’s input
  • +
  • filter_size (int) – see img_conv_layer’s document
  • +
  • num_filters (int) – see img_conv_layer’s document
  • +
  • pool_size (int) – see img_pool_layer’s document.
  • +
  • pool_type (BasePoolingType) – see img_pool_layer’s document.
  • +
  • act (BaseActivation) – see batch_norm_layer’s document.
  • +
  • groups (int) – see img_conv_layer’s document
  • +
  • conv_stride (int) – see img_conv_layer’s document.
  • +
  • conv_padding (int) – see img_conv_layer’s document.
  • +
  • conv_bias_attr (ParameterAttribute) – see img_conv_layer’s document.
  • +
  • num_channel (int) – see img_conv_layer’s document.
  • +
  • conv_param_attr (ParameterAttribute) – see img_conv_layer’s document.
  • +
  • shared_bias (bool) – see img_conv_layer’s document.
  • +
  • conv_layer_attr (ExtraLayerOutput) – see img_conv_layer’s document.
  • +
  • bn_param_attr (ParameterAttribute.) – see batch_norm_layer’s document.
  • +
  • bn_bias_attr – see batch_norm_layer’s document.
  • +
  • bn_layer_attr – ParameterAttribute.
  • +
  • pool_stride (int) – see img_pool_layer’s document.
  • +
  • pool_padding (int) – see img_pool_layer’s document.
  • +
  • pool_layer_attr (ExtraLayerAttribute) – see img_pool_layer’s document.
  • +
+
Returns:

Layer groups output

+
Return type:

LayerOutput

+
+
+ +
+
+

img_conv_group

+
+
+paddle.trainer_config_helpers.networks.img_conv_group(*args, **kwargs)
+

Image Convolution Group, Used for vgg net.

+

TODO(yuyang18): Complete docs

+ +++ + + + + + +
Parameters:
    +
  • conv_batchnorm_drop_rate
  • +
  • input
  • +
  • conv_num_filter
  • +
  • pool_size
  • +
  • num_channels
  • +
  • conv_padding
  • +
  • conv_filter_size
  • +
  • conv_act
  • +
  • conv_with_batchnorm
  • +
  • pool_stride
  • +
  • pool_type
  • +
+
Returns:

+
+
+ +
+
+

simple_img_conv_pool

+
+
+paddle.trainer_config_helpers.networks.simple_img_conv_pool(*args, **kwargs)
+

Simple image convolution and pooling group.

+

Input => conv => pooling

+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – group name
  • +
  • input (LayerOutput) – input layer name.
  • +
  • filter_size (int) – see img_conv_layer for details
  • +
  • num_filters (int) – see img_conv_layer for details
  • +
  • pool_size (int) – see img_pool_layer for details
  • +
  • pool_type (BasePoolingType) – see img_pool_layer for details
  • +
  • act (BaseActivation) – see img_conv_layer for details
  • +
  • groups (int) – see img_conv_layer for details
  • +
  • conv_stride (int) – see img_conv_layer for details
  • +
  • conv_padding (int) – see img_conv_layer for details
  • +
  • bias_attr (ParameterAttribute) – see img_conv_layer for details
  • +
  • num_channel (int) – see img_conv_layer for details
  • +
  • param_attr (ParameterAttribute) – see img_conv_layer for details
  • +
  • shared_bias (bool) – see img_conv_layer for details
  • +
  • conv_layer_attr (ExtraLayerAttribute) – see img_conv_layer for details
  • +
  • pool_stride (int) – see img_pool_layer for details
  • +
  • pool_padding (int) – see img_pool_layer for details
  • +
  • pool_layer_attr (ExtraLayerAttribute) – see img_pool_layer for details
  • +
+
Returns:

Layer’s output

+
Return type:

LayerOutput

+
+
+ +
+
+

vgg_16_network

+
+
+paddle.trainer_config_helpers.networks.vgg_16_network(input_image, num_channels, num_classes=1000)
+

Same model from https://gist.github.com/ksimonyan/211839e770f7b538e2d8

+ +++ + + + + + +
Parameters:
    +
  • num_classes
  • +
  • input_image (LayerOutput) –
  • +
  • num_channels (int) –
  • +
+
Returns:

+
+
+ +
+
+
+

Recurrent

+
+

LSTM

+
+

lstmemory_unit

+
+
+paddle.trainer_config_helpers.networks.lstmemory_unit(*args, **kwargs)
+

Define calculations that a LSTM unit performs in a single time step. +This function itself is not a recurrent layer, so that it can not be +directly applied to sequence input. This function is always used in +recurrent_group (see layers.py for more details) to implement attention +mechanism.

+

Please refer to Generating Sequences With Recurrent Neural Networks +for more details about LSTM. The link goes as follows: +.. _Link: https://arxiv.org/abs/1308.0850

+
+\[ \begin{align}\begin{aligned}i_t & = \sigma(W_{xi}x_{t} + W_{hi}h_{t-1} + W_{ci}c_{t-1} + b_i)\\f_t & = \sigma(W_{xf}x_{t} + W_{hf}h_{t-1} + W_{cf}c_{t-1} + b_f)\\c_t & = f_tc_{t-1} + i_t tanh (W_{xc}x_t+W_{hc}h_{t-1} + b_c)\\o_t & = \sigma(W_{xo}x_{t} + W_{ho}h_{t-1} + W_{co}c_t + b_o)\\h_t & = o_t tanh(c_t)\end{aligned}\end{align} \]
+

The example usage is:

+
lstm_step = lstmemory_unit(input=[layer1],
+                           size=256,
+                           act=TanhActivation(),
+                           gate_act=SigmoidActivation(),
+                           state_act=TanhActivation())
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – input layer name.
  • +
  • name (basestring) – lstmemory unit name.
  • +
  • size (int) – lstmemory unit size.
  • +
  • param_attr (ParameterAttribute) – Parameter config, None if use default.
  • +
  • act (BaseActivation) – lstm final activiation type
  • +
  • gate_act (BaseActivation) – lstm gate activiation type
  • +
  • state_act (BaseActivation) – lstm state activiation type.
  • +
  • mixed_bias_attr (ParameterAttribute|False) – bias parameter attribute of mixed layer. +False means no bias, None means default bias.
  • +
  • lstm_bias_attr (ParameterAttribute|False) – bias parameter attribute of lstm layer. +False means no bias, None means default bias.
  • +
  • mixed_layer_attr (ExtraLayerAttribute) – mixed layer’s extra attribute.
  • +
  • lstm_layer_attr (ExtraLayerAttribute) – lstm layer’s extra attribute.
  • +
  • get_output_layer_attr (ExtraLayerAttribute) – get output layer’s extra attribute.
  • +
+
Returns:

lstmemory unit name.

+
Return type:

LayerOutput

+
+
+ +
+
+

lstmemory_group

+
+
+paddle.trainer_config_helpers.networks.lstmemory_group(*args, **kwargs)
+

lstm_group is a recurrent layer group version of Long Short Term Memory. It +does exactly the same calculation as the lstmemory layer (see lstmemory in +layers.py for the maths) does. A promising benefit is that LSTM memory +cell states, or hidden states in every time step are accessible to the +user. This is especially useful in attention model. If you do not need to +access the internal states of the lstm, but merely use its outputs, +it is recommended to use the lstmemory, which is relatively faster than +lstmemory_group.

+

NOTE: In PaddlePaddle’s implementation, the following input-to-hidden +multiplications: +\(W_{xi}x_{t}\) , \(W_{xf}x_{t}\), +\(W_{xc}x_t\), \(W_{xo}x_{t}\) are not done in lstmemory_unit to +speed up the calculations. Consequently, an additional mixed_layer with +full_matrix_projection must be included before lstmemory_unit is called.

+

The example usage is:

+
lstm_step = lstmemory_group(input=[layer1],
+                            size=256,
+                            act=TanhActivation(),
+                            gate_act=SigmoidActivation(),
+                            state_act=TanhActivation())
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – input layer name.
  • +
  • name (basestring) – lstmemory group name.
  • +
  • size (int) – lstmemory group size.
  • +
  • reverse (bool) – is lstm reversed
  • +
  • param_attr (ParameterAttribute) – Parameter config, None if use default.
  • +
  • act (BaseActivation) – lstm final activiation type
  • +
  • gate_act (BaseActivation) – lstm gate activiation type
  • +
  • state_act (BaseActivation) – lstm state activiation type.
  • +
  • mixed_bias_attr (ParameterAttribute|False) – bias parameter attribute of mixed layer. +False means no bias, None means default bias.
  • +
  • lstm_bias_attr (ParameterAttribute|False) – bias parameter attribute of lstm layer. +False means no bias, None means default bias.
  • +
  • mixed_layer_attr (ExtraLayerAttribute) – mixed layer’s extra attribute.
  • +
  • lstm_layer_attr (ExtraLayerAttribute) – lstm layer’s extra attribute.
  • +
  • get_output_layer_attr (ExtraLayerAttribute) – get output layer’s extra attribute.
  • +
+
Returns:

the lstmemory group.

+
Return type:

LayerOutput

+
+
+ +
+
+

simple_lstm

+
+
+paddle.trainer_config_helpers.networks.simple_lstm(*args, **kwargs)
+

Simple LSTM Cell.

+

It just combine a mixed layer with fully_matrix_projection and a lstmemory +layer. The simple lstm cell was implemented as follow equations.

+
+\[ \begin{align}\begin{aligned}i_t & = \sigma(W_{xi}x_{t} + W_{hi}h_{t-1} + W_{ci}c_{t-1} + b_i)\\f_t & = \sigma(W_{xf}x_{t} + W_{hf}h_{t-1} + W_{cf}c_{t-1} + b_f)\\c_t & = f_tc_{t-1} + i_t tanh (W_{xc}x_t+W_{hc}h_{t-1} + b_c)\\o_t & = \sigma(W_{xo}x_{t} + W_{ho}h_{t-1} + W_{co}c_t + b_o)\\h_t & = o_t tanh(c_t)\end{aligned}\end{align} \]
+

Please refer Generating Sequences With Recurrent Neural Networks if you +want to know what lstm is. Link is here.

+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – lstm layer name.
  • +
  • input (LayerOutput) – input layer name.
  • +
  • size (int) – lstm layer size.
  • +
  • reverse (bool) – whether to process the input data in a reverse order
  • +
  • mat_param_attr (ParameterAttribute) – mixed layer’s matrix projection parameter attribute.
  • +
  • bias_param_attr (ParameterAttribute|False) – bias parameter attribute. False means no bias, None +means default bias.
  • +
  • inner_param_attr (ParameterAttribute) – lstm cell parameter attribute.
  • +
  • act (BaseActivation) – lstm final activiation type
  • +
  • gate_act (BaseActivation) – lstm gate activiation type
  • +
  • state_act (BaseActivation) – lstm state activiation type.
  • +
  • mixed_layer_attr (ExtraLayerAttribute) – mixed layer’s extra attribute.
  • +
  • lstm_cell_attr (ExtraLayerAttribute) – lstm layer’s extra attribute.
  • +
+
Returns:

lstm layer name.

+
Return type:

LayerOutput

+
+
+ +
+
+

bidirectional_lstm

+
+
+paddle.trainer_config_helpers.networks.bidirectional_lstm(*args, **kwargs)
+

A bidirectional_lstm is a recurrent unit that iterates over the input +sequence both in forward and bardward orders, and then concatenate two +outputs form a final output. However, concatenation of two outputs +is not the only way to form the final output, you can also, for example, +just add them together.

+

Please refer to Neural Machine Translation by Jointly Learning to Align +and Translate for more details about the bidirectional lstm. +The link goes as follows: +.. _Link: https://arxiv.org/pdf/1409.0473v3.pdf

+

The example usage is:

+
bi_lstm = bidirectional_lstm(input=[input1], size=512)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – bidirectional lstm layer name.
  • +
  • input (LayerOutput) – input layer.
  • +
  • size (int) – lstm layer size.
  • +
  • return_seq (bool) – If set False, outputs of the last time step are +concatenated and returned. +If set True, the entire output sequences that are +processed in forward and backward directions are +concatenated and returned.
  • +
+
Returns:

LayerOutput object accroding to the return_seq.

+
Return type:

LayerOutput

+
+
+ +
+
+
+

GRU

+
+

gru_unit

+
+
+paddle.trainer_config_helpers.networks.gru_unit(*args, **kwargs)
+

Define calculations that a gated recurrent unit performs in a single time +step. This function itself is not a recurrent layer, so that it can not be +directly applied to sequence input. This function is almost always used in +the recurrent_group (see layers.py for more details) to implement attention +mechanism.

+

Please see grumemory in layers.py for the details about the maths.

+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – input layer name.
  • +
  • name (basestring) – name of the gru group.
  • +
  • size (int) – hidden size of the gru.
  • +
  • act (BaseActivation) – type of the activation
  • +
  • gate_act (BaseActivation) – type of the gate activation
  • +
  • gru_layer_attr (ParameterAttribute|False) – Extra parameter attribute of the gru layer.
  • +
+
Returns:

the gru output layer.

+
Return type:

LayerOutput

+
+
+ +
+
+

gru_group

+
+
+paddle.trainer_config_helpers.networks.gru_group(*args, **kwargs)
+

gru_group is a recurrent layer group version of Gated Recurrent Unit. It +does exactly the same calculation as the grumemory layer does. A promising +benefit is that gru hidden states are accessible to the user. This is +especially useful in attention model. If you do not need to access +any internal state, but merely use the outputs of a GRU, it is recommended +to use the grumemory, which is relatively faster.

+

Please see grumemory in layers.py for more detail about the maths.

+

The example usage is:

+
gru = gur_group(input=[layer1],
+                size=256,
+                act=TanhActivation(),
+                gate_act=SigmoidActivation())
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – input layer name.
  • +
  • name (basestring) – name of the gru group.
  • +
  • size (int) – hidden size of the gru.
  • +
  • reverse (bool) – whether to process the input data in a reverse order
  • +
  • act (BaseActivation) – type of the activiation
  • +
  • gate_act (BaseActivation) – type of the gate activiation
  • +
  • gru_bias_attr (ParameterAttribute|False) – bias. False means no bias, None means default bias.
  • +
  • gru_layer_attr (ParameterAttribute|False) – Extra parameter attribute of the gru layer.
  • +
+
Returns:

the gru group.

+
Return type:

LayerOutput

+
+
+ +
+
+

simple_gru

+
+
+paddle.trainer_config_helpers.networks.simple_gru(*args, **kwargs)
+

You maybe see gru_step_layer, grumemory in layers.py, gru_unit, gru_group, +simple_gru in network.py. The reason why there are so many interfaces is +that we have two ways to implement recurrent neural network. One way is to +use one complete layer to implement rnn (including simple rnn, gru and lstm) +with multiple time steps, such as recurrent_layer, lstmemory, grumemory. But, +the multiplication operation \(W x_t\) is not computed in these layers. +See details in their interfaces in layers.py. +The other implementation is to use an recurrent group which can ensemble a +series of layers to compute rnn step by step. This way is flexible for +attenion mechanism or other complex connections.

+
    +
  • gru_step_layer: only compute rnn by one step. It needs an memory as input +and can be used in recurrent group.
  • +
  • gru_unit: a wrapper of gru_step_layer with memory.
  • +
  • gru_group: a GRU cell implemented by a combination of multiple layers in +recurrent group. +But \(W x_t\) is not done in group.
  • +
  • gru_memory: a GRU cell implemented by one layer, which does same calculation +with gru_group and is faster than gru_group.
  • +
  • simple_gru: a complete GRU implementation inlcuding \(W x_t\) and +gru_group. \(W\) contains \(W_r\), \(W_z\) and \(W\), see +formula in grumemory.
  • +
+

The computational speed is that, grumemory is relatively better than +gru_group, and gru_group is relatively better than simple_gru.

+

The example usage is:

+
gru = simple_gru(input=[layer1], size=256)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (LayerOutput) – input layer name.
  • +
  • name (basestring) – name of the gru group.
  • +
  • size (int) – hidden size of the gru.
  • +
  • reverse (bool) – whether to process the input data in a reverse order
  • +
  • act (BaseActivation) – type of the activiation
  • +
  • gate_act (BaseActivation) – type of the gate activiation
  • +
  • gru_bias_attr (ParameterAttribute|False) – bias. False means no bias, None means default bias.
  • +
  • gru_layer_attr (ParameterAttribute|False) – Extra parameter attribute of the gru layer.
  • +
+
Returns:

the gru group.

+
Return type:

LayerOutput

+
+
+ +
+
+
+

simple_attention

+
+
+paddle.trainer_config_helpers.networks.simple_attention(*args, **kwargs)
+

Calculate and then return a context vector by attention machanism. +Size of the context vector equals to size of the encoded_sequence.

+
+\[ \begin{align}\begin{aligned}a(s_{i-1},h_{j}) & = v_{a}f(W_{a}s_{t-1} + U_{a}h_{j})\\e_{i,j} & = a(s_{i-1}, h_{j})\\a_{i,j} & = \frac{exp(e_{i,j})}{\sum_{k=1}^{T_x}{exp(e_{i,k})}}\\c_{i} & = \sum_{j=1}^{T_{x}}a_{i,j}h_{j}\end{aligned}\end{align} \]
+

where \(h_{j}\) is the jth element of encoded_sequence, +\(U_{a}h_{j}\) is the jth element of encoded_proj +\(s_{i-1}\) is decoder_state +\(f\) is weight_act, and is set to tanh by default.

+

Please refer to Neural Machine Translation by Jointly Learning to +Align and Translate for more details. The link is as follows: +https://arxiv.org/abs/1409.0473.

+

The example usage is:

+
context = simple_attention(encoded_sequence=enc_seq,
+                           encoded_proj=enc_proj,
+                           decoder_state=decoder_prev,)
+
+
+ +++ + + + + + +
Parameters:
    +
  • name (basestring) – name of the attention model.
  • +
  • softmax_param_attr (ParameterAttribute) – parameter attribute of sequence softmax +that is used to produce attention weight
  • +
  • weight_act (Activation) – activation of the attention model
  • +
  • encoded_sequence (LayerOutput) – output of the encoder
  • +
  • encoded_proj (LayerOutput) – attention weight is computed by a feed forward neural +network which has two inputs : decoder’s hidden state +of previous time step and encoder’s output. +encoded_proj is output of the feed-forward network for +encoder’s output. Here we pre-compute it outside +simple_attention for speed consideration.
  • +
  • decoder_state (LayerOutput) – hidden state of decoder in previous time step
  • +
  • transform_param_attr (ParameterAttribute) – parameter attribute of the feed-forward +network that takes decoder_state as inputs to +compute attention weight.
  • +
+
Returns:

a context vector

+
+
+ +
+
+
+

Miscs

+
+

dropout_layer

+
+
+paddle.trainer_config_helpers.networks.dropout_layer(*args, **kwargs)
+

@TODO(yuyang18): Add comments.

+ +++ + + + + + +
Parameters:
    +
  • name
  • +
  • input
  • +
  • dropout_rate
  • +
+
Returns:

+
+
+ +
+
+

outputs

+
+
+paddle.trainer_config_helpers.networks.outputs(layers, *args)
+

Declare the outputs of network. If user have not defined the inputs of +network, this method will calculate the input order by dfs travel.

+ +++ + + + + + +
Parameters:layers (list|tuple|LayerOutput) – Output layers.
Returns:
+
+ +
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/api/v1/trainer_config_helpers/optimizers.html b/release/0.10.0/doc/api/v1/trainer_config_helpers/optimizers.html new file mode 100644 index 0000000000..c8f15d6a84 --- /dev/null +++ b/release/0.10.0/doc/api/v1/trainer_config_helpers/optimizers.html @@ -0,0 +1,474 @@ + + + + + + + + + + + Optimizers — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Optimizers
  • +
+
+ +
+
+
+
+ +
+

Optimizers

+
+

BaseSGDOptimizer

+
+
+class paddle.trainer_config_helpers.optimizers.BaseSGDOptimizer
+

SGD Optimizer.

+

SGD is an optimization method, trying to find a neural network that +minimize the “cost/error” of it by iteration. In paddle’s implementation +SGD Optimizer is synchronized, which means all gradients will be wait to +calculate and reduced into one gradient, then do optimize operation.

+

The neural network consider the learning problem of minimizing an objective +function, that has the form of a sum

+
+\[Q(w) = \sum_{i}^{n} Q_i(w)\]
+

The value of function Q sometimes is the cost of neural network (Mean +Square Error between prediction and label for example). The function Q is +parametrised by w, the weight/bias of neural network. And weights is what to +be learned. The i is the i-th observation in (trainning) data.

+

So, the SGD method will optimize the weight by

+
+\[w = w - \eta \nabla Q(w) = w - \eta \sum_{i}^{n} \nabla Q_i(w)\]
+

where \(\eta\) is learning rate. And \(n\) is batch size.

+
+ +
+
+

MomentumOptimizer

+
+
+class paddle.trainer_config_helpers.optimizers.MomentumOptimizer(momentum=None, sparse=False)
+

MomentumOptimizer.

+

When sparse=True, the update scheme:

+
+\[\begin{split}\alpha_t &= \alpha_{t-1} / k \\ +\beta_t &= \beta_{t-1} / (1 + \lambda \gamma_t) \\ +u_t &= u_{t-1} - \alpha_t \gamma_t g_t \\ +v_t &= v_{t-1} + \tau_{t-1} \alpha_t \gamma_t g_t \\ +\tau_t &= \tau_{t-1} + \beta_t / \alpha_t\end{split}\]
+

where \(k\) is momentum, \(\lambda\) is decay rate, +\(\gamma_t\) is learning rate at the t’th step.

+ +++ + + + +
Parameters:sparse (bool) – with sparse support or not.
+
+ +
+
+

AdamOptimizer

+
+
+class paddle.trainer_config_helpers.optimizers.AdamOptimizer(beta1=0.9, beta2=0.999, epsilon=1e-08)
+

Adam optimizer. +The details of please refer Adam: A Method for Stochastic Optimization

+
+\[\begin{split}m(w, t) & = \beta_1 m(w, t-1) + (1 - \beta_1) \nabla Q_i(w) \\ +v(w, t) & = \beta_2 v(w, t-1) + (1 - \beta_2)(\nabla Q_i(w)) ^2 \\ +w & = w - \frac{\eta}{\sqrt{v(w,t) + \epsilon}}\end{split}\]
+ +++ + + + +
Parameters:
    +
  • beta1 (float) – the \(\beta_1\) in equation.
  • +
  • beta2 (float) – the \(\beta_2\) in equation.
  • +
  • epsilon (float) – the \(\epsilon\) in equation. It is used to prevent +divided by zero.
  • +
+
+
+ +
+
+

AdamaxOptimizer

+
+
+class paddle.trainer_config_helpers.optimizers.AdamaxOptimizer(beta1, beta2)
+

Adamax optimizer.

+

The details of please refer this Adam: A Method for Stochastic Optimization

+
+\[\begin{split}m_t & = \beta_1 * m_{t-1} + (1-\beta_1)* \nabla Q_i(w) \\ +u_t & = max(\beta_2*u_{t-1}, abs(\nabla Q_i(w))) \\ +w_t & = w_{t-1} - (\eta/(1-\beta_1^t))*m_t/u_t\end{split}\]
+ +++ + + + +
Parameters:
    +
  • beta1 (float) – the \(\beta_1\) in the equation.
  • +
  • beta2 (float) – the \(\beta_2\) in the equation.
  • +
+
+
+ +
+
+

AdaGradOptimizer

+
+
+class paddle.trainer_config_helpers.optimizers.AdaGradOptimizer
+

Adagrad(for ADAptive GRAdient algorithm) optimizer.

+

For details please refer this Adaptive Subgradient Methods for +Online Learning and Stochastic Optimization.

+
+\[\begin{split}G &= \sum_{\tau=1}^{t} g_{\tau} g_{\tau}^T \\ +w & = w - \eta diag(G)^{-\frac{1}{2}} \circ g\end{split}\]
+
+ +
+
+

DecayedAdaGradOptimizer

+
+
+class paddle.trainer_config_helpers.optimizers.DecayedAdaGradOptimizer(rho=0.95, epsilon=1e-06)
+

AdaGrad method with decayed sum gradients. The equations of this method +show as follow.

+
+\[\begin{split}E(g_t^2) &= \rho * E(g_{t-1}^2) + (1-\rho) * g^2 \\ +learning\_rate &= 1/sqrt( ( E(g_t^2) + \epsilon )\end{split}\]
+ +++ + + + +
Parameters:
    +
  • rho (float) – The \(\rho\) parameter in that equation
  • +
  • epsilon (float) – The \(\epsilon\) parameter in that equation.
  • +
+
+
+ +
+
+

AdaDeltaOptimizer

+
+
+class paddle.trainer_config_helpers.optimizers.AdaDeltaOptimizer(rho=0.95, epsilon=1e-06)
+

AdaDelta method. The details of adadelta please refer to this +ADADELTA: AN ADAPTIVE LEARNING RATE METHOD.

+
+\[\begin{split}E(g_t^2) &= \rho * E(g_{t-1}^2) + (1-\rho) * g^2 \\ +learning\_rate &= sqrt( ( E(dx_{t-1}^2) + \epsilon ) / ( \ + E(g_t^2) + \epsilon ) ) \\ +E(dx_t^2) &= \rho * E(dx_{t-1}^2) + (1-\rho) * (-g*learning\_rate)^2\end{split}\]
+ +++ + + + +
Parameters:
    +
  • rho (float) – \(\rho\) in equation
  • +
  • epsilon (float) – \(\rho\) in equation
  • +
+
+
+ +
+
+

RMSPropOptimizer

+
+
+class paddle.trainer_config_helpers.optimizers.RMSPropOptimizer(rho=0.95, epsilon=1e-06)
+

RMSProp(for Root Mean Square Propagation) optimizer. For details please +refer this slide.

+

The equations of this method as follows:

+
+\[\begin{split}v(w, t) & = \rho v(w, t-1) + (1 - \rho)(\nabla Q_{i}(w))^2 \\ +w & = w - \frac{\eta} {\sqrt{v(w,t) + \epsilon}} \nabla Q_{i}(w)\end{split}\]
+ +++ + + + +
Parameters:
    +
  • rho (float) – the \(\rho\) in the equation. The forgetting factor.
  • +
  • epsilon (float) – the \(\epsilon\) in the equation.
  • +
+
+
+ +
+
+

settings

+
+
+paddle.trainer_config_helpers.optimizers.settings(*args, **kwargs)
+

Set the optimization method, learning rate, batch size, and other training +settings. The currently supported algorithms are SGD and Async-SGD.

+
+

Warning

+

Note that the ‘batch_size’ in PaddlePaddle is not equal to global +training batch size. It represents the single training process’s batch +size. If you use N processes to train one model, for example use three +GPU machines, the global batch size is N*’batch_size’.

+
+ +++ + + + +
Parameters:
    +
  • batch_size (int) – batch size for one training process.
  • +
  • learning_rate (float) – learning rate for SGD
  • +
  • learning_method (BaseSGDOptimizer) – The extension optimization algorithms of gradient +descent, such as momentum, adagrad, rmsprop, etc. +Note that it should be instance with base type +BaseSGDOptimizer.
  • +
  • regularization (BaseRegularization) – The regularization method.
  • +
  • is_async (bool) – Is Async-SGD or not. Default value is False.
  • +
  • model_average (ModelAverage) – Model Average Settings.
  • +
  • gradient_clipping_threshold (float) – gradient clipping threshold. If gradient +value larger than some value, will be +clipped.
  • +
+
+
+ +
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/api/v1/trainer_config_helpers/poolings.html b/release/0.10.0/doc/api/v1/trainer_config_helpers/poolings.html new file mode 100644 index 0000000000..7fcbc1dd72 --- /dev/null +++ b/release/0.10.0/doc/api/v1/trainer_config_helpers/poolings.html @@ -0,0 +1,283 @@ + + + + + + + + + + + Poolings — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Poolings
  • +
+
+ +
+
+
+
+ +
+

Poolings

+
+

BasePoolingType

+
+
+paddle.trainer_config_helpers.poolings.BasePoolingType
+

alias of BasePool

+
+ +
+
+

AvgPooling

+
+
+paddle.trainer_config_helpers.poolings.AvgPooling
+

alias of Avg

+
+ +
+
+

MaxPooling

+
+
+paddle.trainer_config_helpers.poolings.MaxPooling
+

alias of Max

+
+ +
+
+

SumPooling

+
+
+paddle.trainer_config_helpers.poolings.SumPooling
+

alias of Sum

+
+ +
+
+

SquareRootNPooling

+
+
+paddle.trainer_config_helpers.poolings.SquareRootNPooling
+

alias of SquareRootN

+
+ +
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/api/v2/config/activation.html b/release/0.10.0/doc/api/v2/config/activation.html new file mode 100644 index 0000000000..570a39e2f3 --- /dev/null +++ b/release/0.10.0/doc/api/v2/config/activation.html @@ -0,0 +1,417 @@ + + + + + + + + + + + Activation — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

Activation

+
+

Abs

+
+
+class paddle.v2.activation.Abs
+

Abs Activation.

+

Forward: \(f(z) = abs(z)\)

+

Derivative:

+
+\[\begin{split}1 &\quad if \quad z > 0 \\ +-1 &\quad if \quad z < 0 \\ +0 &\quad if \quad z = 0\end{split}\]
+
+ +
+
+

Exp

+
+
+class paddle.v2.activation.Exp
+

Exponential Activation.

+
+\[f(z) = e^z.\]
+
+ +
+
+

Identity

+
+
+paddle.v2.activation.Identity
+

alias of Linear

+
+ +
+
+

Linear

+
+
+class paddle.v2.activation.Linear
+

Identity Activation.

+

Just do nothing for output both forward/backward.

+
+ +
+
+

Log

+
+
+class paddle.v2.activation.Log
+

Logarithm Activation.

+
+\[f(z) = log(z)\]
+
+ +
+
+

Square

+
+
+class paddle.v2.activation.Square
+

Square Activation.

+
+\[f(z) = z^2.\]
+
+ +
+
+

Sigmoid

+
+
+class paddle.v2.activation.Sigmoid
+

Sigmoid activation.

+
+\[f(z) = \frac{1}{1+exp(-z)}\]
+
+ +
+
+

Softmax

+
+
+class paddle.v2.activation.Softmax
+

Softmax activation for simple input

+
+\[P(y=j|x) = \frac{e^{x_j}} {\sum^K_{k=1} e^{x_j} }\]
+
+ +
+
+

SequenceSoftmax

+
+
+class paddle.v2.activation.SequenceSoftmax
+

Softmax activation for one sequence. The dimension of input feature must be +1 and a sequence.

+
result = softmax(for each_feature_vector[0] in input_feature)
+for i, each_time_step_output in enumerate(output):
+    each_time_step_output = result[i]
+
+
+
+ +
+
+

Relu

+
+
+class paddle.v2.activation.Relu
+

Relu activation.

+

forward. \(y = max(0, z)\)

+

derivative:

+
+\[\begin{split}1 &\quad if z > 0 \\ +0 &\quad\mathrm{otherwize}\end{split}\]
+
+ +
+
+

BRelu

+
+
+class paddle.v2.activation.BRelu
+

BRelu Activation.

+

forward. \(y = min(24, max(0, z))\)

+

derivative:

+
+\[\begin{split}1 &\quad if 0 < z < 24 \\ +0 &\quad \mathrm{otherwise}\end{split}\]
+
+ +
+
+

SoftRelu

+
+
+class paddle.v2.activation.SoftRelu
+

SoftRelu Activation.

+
+ +
+
+

Tanh

+
+
+class paddle.v2.activation.Tanh
+

Tanh activation.

+
+\[f(z)=tanh(z)=\frac{e^z-e^{-z}}{e^z+e^{-z}}\]
+
+ +
+
+

STanh

+
+
+class paddle.v2.activation.STanh
+

Scaled Tanh Activation.

+
+\[f(z) = 1.7159 * tanh(2/3*z)\]
+
+ +
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/api/v2/config/attr.html b/release/0.10.0/doc/api/v2/config/attr.html new file mode 100644 index 0000000000..f6cbaf8e58 --- /dev/null +++ b/release/0.10.0/doc/api/v2/config/attr.html @@ -0,0 +1,356 @@ + + + + + + + + + + + Parameter Attribute — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

Parameter Attribute

+
+
+paddle.v2.attr.Param
+

alias of ParameterAttribute

+
+ +
+
+paddle.v2.attr.Extra
+

alias of ExtraLayerAttribute

+
+ +
+
+paddle.v2.attr.ParamAttr
+

alias of ParameterAttribute

+
+ +
+
+paddle.v2.attr.ExtraAttr
+

alias of ExtraLayerAttribute

+
+ +
+
+class paddle.v2.attr.ParameterAttribute(name=None, is_static=False, initial_std=None, initial_mean=None, initial_max=None, initial_min=None, l1_rate=None, l2_rate=None, learning_rate=None, momentum=None, gradient_clipping_threshold=None, sparse_update=False)
+

Parameter Attributes object. To fine-tuning network training process, user +can set attribute to control training details, such as l1,l2 rate / learning +rate / how to init param.

+

NOTE: IT IS A HIGH LEVEL USER INTERFACE.

+ +++ + + + +
Parameters:
    +
  • is_static (bool) – True if this parameter will be fixed while training.
  • +
  • initial_std (float or None) – Gauss Random initialization standard deviation. +None if not using Gauss Random initialize parameter.
  • +
  • initial_mean (float or None) – Gauss Random initialization mean. +None if not using Gauss Random initialize parameter.
  • +
  • initial_max (float or None) – Uniform initialization max value.
  • +
  • initial_min (float or None) – Uniform initialization min value.
  • +
  • l1_rate (float or None) – the l1 regularization factor
  • +
  • l2_rate (float or None) – the l2 regularization factor
  • +
  • learning_rate (float or None) – The parameter learning rate. None means 1. +The learning rate when optimize is LEARNING_RATE = +GLOBAL_LEARNING_RATE * PARAMETER_LEARNING_RATE +* SCHEDULER_FACTOR.
  • +
  • momentum (float or None) – The parameter momentum. None means use global value.
  • +
  • gradient_clipping_threshold (float) – gradient clipping threshold. If gradient +value larger than some value, will be +clipped.
  • +
  • sparse_update (bool) – Enable sparse update for this parameter. It will +enable both local and remote sparse update.
  • +
+
+
+
+set_default_parameter_name(name)
+

Set default parameter name. If parameter not set, then will use default +parameter name.

+ +++ + + + +
Parameters:name (basestring) – default parameter name.
+
+ +
+ +
+
+class paddle.v2.attr.ExtraLayerAttribute(error_clipping_threshold=None, drop_rate=None, device=None)
+

Some high level layer attributes config. You can set all attributes here, +but some layer doesn’t support all attributes. If you set an attribute to a +layer that not support this attribute, paddle will print an error and core.

+ +++ + + + +
Parameters:
    +
  • error_clipping_threshold (float) – Error clipping threshold.
  • +
  • drop_rate (float) – Dropout rate. Dropout will create a mask on layer output. +The dropout rate is the zero rate of this mask. The +details of what dropout is please refer to here.
  • +
  • device (int) –

    device ID of layer. device=-1, use CPU. device>0, use GPU. +The details allocation in parallel_nn please refer to here.

    +
  • +
+
+
+ +
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/api/v2/config/layer.html b/release/0.10.0/doc/api/v2/config/layer.html new file mode 100644 index 0000000000..4e5e45928e --- /dev/null +++ b/release/0.10.0/doc/api/v2/config/layer.html @@ -0,0 +1,3485 @@ + + + + + + + + + + + Layers — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

Layers

+
+

Data layer

+
+

data

+
+
+class paddle.v2.layer.data(name, type, **kwargs)
+

Define DataLayer For NeuralNetwork.

+

The example usage is:

+
data = paddle.layer.data(name="input", type=paddle.data_type.dense_vector(1000))
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – Name of this data layer.
  • +
  • type – Data type of this data layer
  • +
  • height (int|None) – Height of this data layer, used for image
  • +
  • width (int|None) – Width of this data layer, used for image
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Fully Connected Layers

+
+

fc

+
+
+class paddle.v2.layer.fc(*args, **kwargs)
+

Helper for declare fully connected layer.

+

The example usage is:

+
fc = fc(input=layer,
+              size=1024,
+              act=paddle.v2.Activation.Linear(),
+              bias_attr=False)
+
+
+

which is equal to:

+
with mixed(size=1024) as fc:
+    fc += full_matrix_projection(input=layer)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – The Layer Name.
  • +
  • input (paddle.v2.config_base.Layer|list|tuple) – The input layer. Could be a list/tuple of input layer.
  • +
  • size (int) – The layer dimension.
  • +
  • act (paddle.v2.Activation.Base) – Activation Type. Default is tanh.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – The Parameter Attribute|list.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute|None|Any) – The Bias Attribute. If no bias, then pass False or +something not type of paddle.v2.attr.ParameterAttribute. None will get a +default Bias.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer config.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

selective_fc

+
+
+class paddle.v2.layer.selective_fc(*args, **kwargs)
+

Selectived fully connected layer. Different from fc, the output +of this layer maybe sparse. It requires an additional input to indicate +several selected columns for output. If the selected columns is not +specified, selective_fc acts exactly like fc.

+

The simple usage is:

+
sel_fc = selective_fc(input=input, size=128, act=paddle.v2.Activation.Tanh())
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – The Layer Name.
  • +
  • input (paddle.v2.config_base.Layer|list|tuple) – The input layer.
  • +
  • select (paddle.v2.config_base.Layer) – The select layer. The output of select layer should be a +sparse binary matrix, and treat as the mask of selective fc. +If is None, acts exactly like fc.
  • +
  • size (int) – The layer dimension.
  • +
  • act (paddle.v2.Activation.Base) – Activation Type. Default is tanh.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – The Parameter Attribute.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute|None|Any) – The Bias Attribute. If no bias, then pass False or +something not type of paddle.v2.attr.ParameterAttribute. None will get a +default Bias.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer config.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Conv Layers

+
+

conv_operator

+
+
+class paddle.v2.layer.conv_operator(**kwargs)
+

Different from img_conv, conv_op is an Operator, which can be used +in mixed. And conv_op takes two inputs to perform convolution. +The first input is the image and the second is filter kernel. It only +support GPU mode.

+

The example usage is:

+
op = conv_operator(img=input1,
+                   filter=input2,
+                   filter_size=3,
+                   num_filters=64,
+                   num_channels=64)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • img (paddle.v2.config_base.Layer) – input image
  • +
  • filter (paddle.v2.config_base.Layer) – input filter
  • +
  • filter_size (int) – The x dimension of a filter kernel.
  • +
  • filter_size_y (int) – The y dimension of a filter kernel. Since +PaddlePaddle now supports rectangular filters, +the filter’s shape can be (filter_size, filter_size_y).
  • +
  • num_filters (int) – channel of output data.
  • +
  • num_channels (int) – channel of input data.
  • +
  • stride (int) – The x dimension of the stride.
  • +
  • stride_y (int) – The y dimension of the stride.
  • +
  • padding (int) – The x dimension of padding.
  • +
  • padding_y (int) – The y dimension of padding.
  • +
+
Returns:

A ConvOperator Object.

+
Return type:

ConvOperator

+
+
+ +
+
+

conv_projection

+
+
+class paddle.v2.layer.conv_projection(**kwargs)
+

Different from img_conv and conv_op, conv_projection is an Projection, +which can be used in mixed and conat. It use cudnn to implement +conv and only support GPU mode.

+

The example usage is:

+
proj = conv_projection(input=input1,
+                       filter_size=3,
+                       num_filters=64,
+                       num_channels=64)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – input layer
  • +
  • filter_size (int) – The x dimension of a filter kernel.
  • +
  • filter_size_y (int) – The y dimension of a filter kernel. Since +PaddlePaddle now supports rectangular filters, +the filter’s shape can be (filter_size, filter_size_y).
  • +
  • num_filters (int) – channel of output data.
  • +
  • num_channels (int) – channel of input data.
  • +
  • stride (int) – The x dimension of the stride.
  • +
  • stride_y (int) – The y dimension of the stride.
  • +
  • padding (int) – The x dimension of padding.
  • +
  • padding_y (int) – The y dimension of padding.
  • +
  • groups (int) – The group number.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – Convolution param attribute. None means default attribute
  • +
  • trans (boolean) – whether it is convTrans or conv
  • +
+
Returns:

A DotMulProjection Object.

+
Return type:

DotMulProjection

+
+
+ +
+
+

conv_shift

+
+
+class paddle.v2.layer.conv_shift(*args, **kwargs)
+
+
This layer performs cyclic convolution for two input. For example:
+
    +
  • a[in]: contains M elements.
  • +
  • b[in]: contains N elements (N should be odd).
  • +
  • c[out]: contains M elements.
  • +
+
+
+
+\[c[i] = \sum_{j=-(N-1)/2}^{(N-1)/2}a_{i+j} * b_{j}\]
+
+
In this formular:
+
    +
  • a’s index is computed modulo M. When it is negative, then get item from +the right side (which is the end of array) to the left.
  • +
  • b’s index is computed modulo N. When it is negative, then get item from +the right size (which is the end of array) to the left.
  • +
+
+
+

The example usage is:

+
conv_shift = conv_shift(a=layer1, b=layer2)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – layer name
  • +
  • a (paddle.v2.config_base.Layer) – Input layer a.
  • +
  • b (paddle.v2.config_base.Layer) – input layer b.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – layer’s extra attribute.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

img_conv

+
+
+class paddle.v2.layer.img_conv(*args, **kwargs)
+

Convolution layer for image. Paddle can support both square and non-square +input currently.

+

The details of convolution layer, please refer UFLDL’s convolution .

+

Convolution Transpose (deconv) layer for image. Paddle can support both square +and non-square input currently.

+

The details of convolution transpose layer, +please refer to the following explanation and references therein +<http://datascience.stackexchange.com/questions/6107/ +what-are-deconvolutional-layers/>`_ . +The num_channel means input image’s channel number. It may be 1 or 3 when +input is raw pixels of image(mono or RGB), or it may be the previous layer’s +num_filters * num_group.

+

There are several group of filter in PaddlePaddle implementation. +Each group will process some channel of the inputs. For example, if an input +num_channel = 256, group = 4, num_filter=32, the PaddlePaddle will create +32*4 = 128 filters to process inputs. The channels will be split into 4 +pieces. First 256/4 = 64 channels will process by first 32 filters. The +rest channels will be processed by rest group of filters.

+

The example usage is:

+
conv = img_conv(input=data, filter_size=1, filter_size_y=1,
+                      num_channels=8,
+                      num_filters=16, stride=1,
+                      bias_attr=False,
+                      act=paddle.v2.Activation.Relu())
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – Layer name.
  • +
  • input (paddle.v2.config_base.Layer) – Layer Input.
  • +
  • filter_size (int|tuple|list) – The x dimension of a filter kernel. Or input a tuple for +two image dimension.
  • +
  • filter_size_y (int|None) – The y dimension of a filter kernel. Since PaddlePaddle +currently supports rectangular filters, the filter’s +shape will be (filter_size, filter_size_y).
  • +
  • num_filters – Each filter group’s number of filter
  • +
  • act (paddle.v2.Activation.Base) – Activation type. Default is tanh
  • +
  • groups (int) – Group size of filters.
  • +
  • stride (int|tuple|list) – The x dimension of the stride. Or input a tuple for two image +dimension.
  • +
  • stride_y (int) – The y dimension of the stride.
  • +
  • padding (int|tuple|list) – The x dimension of the padding. Or input a tuple for two +image dimension
  • +
  • padding_y (int) – The y dimension of the padding.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute|False) – Convolution bias attribute. None means default bias. +False means no bias.
  • +
  • num_channels (int) – number of input channels. If None will be set +automatically from previous output.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – Convolution param attribute. None means default attribute
  • +
  • shared_biases (bool) – Is biases will be shared between filters or not.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Layer Extra Attribute.
  • +
  • trans (bool) – true if it is a convTransLayer, false if it is a convLayer
  • +
  • layer_type (String) – specify the layer_type, default is None. If trans=True, +layer_type has to be “exconvt” or “cudnn_convt”, +otherwise layer_type has to be either “exconv” or +“cudnn_conv”
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

context_projection

+
+
+class paddle.v2.layer.context_projection(**kwargs)
+

Context Projection.

+

It just simply reorganizes input sequence, combines “context_len” sequence +to one context from context_start. “context_start” will be set to +-(context_len - 1) / 2 by default. If context position out of sequence +length, padding will be filled as zero if padding_attr = False, otherwise +it is trainable.

+

For example, origin sequence is [A B C D E F G], context len is 3, then +after context projection and not set padding_attr, sequence will +be [ 0AB ABC BCD CDE DEF EFG FG0 ].

+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – Input Sequence.
  • +
  • context_len (int) – context length.
  • +
  • context_start (int) – context start position. Default is +-(context_len - 1)/2
  • +
  • padding_attr (bool|paddle.v2.attr.ParameterAttribute) – Padding Parameter Attribute. If false, it means padding +always be zero. Otherwise Padding is learnable, and +parameter attribute is set by this parameter.
  • +
+
Returns:

Projection

+
Return type:

Projection

+
+
+ +
+
+
+

Image Pooling Layer

+
+

img_pool

+
+
+class paddle.v2.layer.img_pool(*args, **kwargs)
+

Image pooling Layer.

+

The details of pooling layer, please refer ufldl’s pooling .

+
    +
  • ceil_mode=True:
  • +
+
+\[w = 1 + int(ceil(input\_width + 2 * padding - pool\_size) / float(stride)) +h = 1 + int(ceil(input\_height + 2 * padding\_y - pool\_size\_y) / float(stride\_y))\]
+
    +
  • ceil_mode=False:
  • +
+
+\[w = 1 + int(floor(input\_width + 2 * padding - pool\_size) / float(stride)) +h = 1 + int(floor(input\_height + 2 * padding\_y - pool\_size\_y) / float(stride\_y))\]
+

The example usage is:

+
maxpool = img_pool(input=conv,
+                         pool_size=3,
+                         pool_size_y=5,
+                         num_channels=8,
+                         stride=1,
+                         stride_y=2,
+                         padding=1,
+                         padding_y=2,
+                         pool_type=MaxPooling())
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • padding (int) – pooling padding width.
  • +
  • padding_y (int|None) – pooling padding height. It’s equal to padding by default.
  • +
  • name (basestring.) – name of pooling layer
  • +
  • input (paddle.v2.config_base.Layer) – layer’s input
  • +
  • pool_size (int) – pooling window width
  • +
  • pool_size_y (int|None) – pooling window height. It’s eaqual to pool_size by default.
  • +
  • num_channels (int) – number of input channel.
  • +
  • pool_type (BasePoolingType) – pooling type. MaxPooling or AvgPooling. Default is +MaxPooling.
  • +
  • stride (int) – stride width of pooling.
  • +
  • stride_y (int|None) – stride height of pooling. It is equal to stride by default.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer attribute.
  • +
  • ceil_mode (bool) – Wether to use ceil mode to calculate output height and with. +Defalut is True. If set false, Otherwise use floor.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

spp

+
+
+class paddle.v2.layer.spp(*args, **kwargs)
+

Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition. +The details please refer to +Kaiming He’s paper.

+

The example usage is:

+
spp = spp(input=data,
+                pyramid_height=2,
+                num_channels=16,
+                pool_type=MaxPooling())
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – layer name.
  • +
  • input (paddle.v2.config_base.Layer) – layer’s input.
  • +
  • num_channels (int) – number of input channel.
  • +
  • pool_type – Pooling type. MaxPooling or AveragePooling. Default is MaxPooling.
  • +
  • pyramid_height (int) – pyramid height.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

maxout

+
+
+class paddle.v2.layer.maxout(*args, **kwargs)
+
+
A layer to do max out on conv layer output.
+
    +
  • Input: output of a conv layer.
  • +
  • Output: feature map size same as input. Channel is (input channel) / groups.
  • +
+
+
+

So groups should be larger than 1, and the num of channels should be able +to devided by groups.

+
+
Please refer to Paper:
+
+
+
+

The simple usage is:

+
maxout = maxout(input,
+                      num_channels=128,
+                      groups=4)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – The input layer.
  • +
  • num_channels (int|None) – The channel number of input layer. If None will be set +automatically from previous output.
  • +
  • groups (int) – The group number of input layer.
  • +
  • name (None|basestring.) – The name of this layer, which can not specify.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer attribute.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Norm Layer

+
+

img_cmrnorm

+
+
+class paddle.v2.layer.img_cmrnorm(*args, **kwargs)
+

Response normalization across feature maps. +The details please refer to +Alex’s paper.

+

The example usage is:

+
norm = img_cmrnorm(input=net, size=5)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (None|basestring) – layer name.
  • +
  • input (paddle.v2.config_base.Layer) – layer’s input.
  • +
  • size (int) – Normalize in number of \(size\) feature maps.
  • +
  • scale (float) – The hyper-parameter.
  • +
  • power (float) – The hyper-parameter.
  • +
  • num_channels – input layer’s filers number or channels. If +num_channels is None, it will be set automatically.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

batch_norm

+
+
+class paddle.v2.layer.batch_norm(*args, **kwargs)
+

Batch Normalization Layer. The notation of this layer as follow.

+

\(x\) is the input features over a mini-batch.

+
+\[\begin{split}\mu_{\beta} &\gets \frac{1}{m} \sum_{i=1}^{m} x_i \qquad &//\ +\ mini-batch\ mean \\ +\sigma_{\beta}^{2} &\gets \frac{1}{m} \sum_{i=1}^{m}(x_i - \ +\mu_{\beta})^2 \qquad &//\ mini-batch\ variance \\ +\hat{x_i} &\gets \frac{x_i - \mu_\beta} {\sqrt{\ +\sigma_{\beta}^{2} + \epsilon}} \qquad &//\ normalize \\ +y_i &\gets \gamma \hat{x_i} + \beta \qquad &//\ scale\ and\ shift\end{split}\]
+

The details of batch normalization please refer to this +paper.

+

The example usage is:

+
norm = batch_norm(input=net, act=paddle.v2.Activation.Relu())
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – layer name.
  • +
  • input (paddle.v2.config_base.Layer) – batch normalization input. Better be linear activation. +Because there is an activation inside batch_normalization.
  • +
  • batch_norm_type (None|string, None or "batch_norm" or "cudnn_batch_norm") – We have batch_norm and cudnn_batch_norm. batch_norm +supports both CPU and GPU. cudnn_batch_norm requires +cuDNN version greater or equal to v4 (>=v4). But +cudnn_batch_norm is faster and needs less memory +than batch_norm. By default (None), we will +automaticly select cudnn_batch_norm for GPU and +batch_norm for CPU. Otherwise, select batch norm +type based on the specified type. If you use cudnn_batch_norm, +we suggested you use latest version, such as v5.1.
  • +
  • act (paddle.v2.Activation.Base) – Activation Type. Better be relu. Because batch +normalization will normalize input near zero.
  • +
  • num_channels (int) – num of image channels or previous layer’s number of +filters. None will automatically get from layer’s +input.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute) – \(\beta\), better be zero when initialize. So the +initial_std=0, initial_mean=1 is best practice.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – \(\gamma\), better be one when initialize. So the +initial_std=0, initial_mean=1 is best practice.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
  • use_global_stats (bool|None.) – whether use moving mean/variance statistics +during testing peroid. If None or True, +it will use moving mean/variance statistics during +testing. If False, it will use the mean +and variance of current batch of test data for +testing.
  • +
  • moving_average_fraction (float.) – Factor used in the moving average +computation, referred to as facotr, +\(runningMean = newMean*(1-factor) ++ runningMean*factor\)
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

sum_to_one_norm

+
+
+class paddle.v2.layer.sum_to_one_norm(*args, **kwargs)
+

A layer for sum-to-one normalization, +which is used in NEURAL TURING MACHINE.

+
+\[out[i] = \frac {in[i]} {\sum_{k=1}^N in[k]}\]
+

where \(in\) is a (batchSize x dataDim) input vector, +and \(out\) is a (batchSize x dataDim) output vector.

+

The example usage is:

+
sum_to_one_norm = sum_to_one_norm(input=layer)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – Input layer.
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

cross_channel_norm

+
+
+class paddle.v2.layer.cross_channel_norm(*args, **kwargs)
+

Normalize a layer’s output. This layer is necessary for ssd. +This layer applys normalize across the channels of each sample to +a conv layer’s output and scale the output by a group of trainable +factors which dimensions equal to the channel’s number.

+ +++ + + + + + +
Parameters:
    +
  • name (basestring) – The Layer Name.
  • +
  • input (paddle.v2.config_base.Layer) – The input layer.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – The Parameter Attribute|list.
  • +
+
Returns:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Recurrent Layers

+
+

recurrent

+
+
+class paddle.v2.layer.recurrent(*args, **kwargs)
+

Simple recurrent unit layer. It is just a fully connect layer through both +time and neural network.

+

For each sequence [start, end] it performs the following computation:

+
+\[\begin{split}out_{i} = act(in_{i}) \ \ \text{for} \ i = start \\ +out_{i} = act(in_{i} + out_{i-1} * W) \ \ \text{for} \ start < i <= end\end{split}\]
+

If reversed is true, the order is reversed:

+
+\[\begin{split}out_{i} = act(in_{i}) \ \ \text{for} \ i = end \\ +out_{i} = act(in_{i} + out_{i+1} * W) \ \ \text{for} \ start <= i < end\end{split}\]
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – Input Layer
  • +
  • act (paddle.v2.Activation.Base) – activation.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute) – bias attribute.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – parameter attribute.
  • +
  • name (basestring) – name of the layer
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Layer Attribute.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

lstmemory

+
+
+class paddle.v2.layer.lstmemory(*args, **kwargs)
+

Long Short-term Memory Cell.

+

The memory cell was implemented as follow equations.

+
+\[ \begin{align}\begin{aligned}i_t & = \sigma(W_{xi}x_{t} + W_{hi}h_{t-1} + W_{ci}c_{t-1} + b_i)\\f_t & = \sigma(W_{xf}x_{t} + W_{hf}h_{t-1} + W_{cf}c_{t-1} + b_f)\\c_t & = f_tc_{t-1} + i_t tanh (W_{xc}x_t+W_{hc}h_{t-1} + b_c)\\o_t & = \sigma(W_{xo}x_{t} + W_{ho}h_{t-1} + W_{co}c_t + b_o)\\h_t & = o_t tanh(c_t)\end{aligned}\end{align} \]
+

NOTE: In PaddlePaddle’s implementation, the multiplications +\(W_{xi}x_{t}\) , \(W_{xf}x_{t}\), +\(W_{xc}x_t\), \(W_{xo}x_{t}\) are not done in the lstmemory layer, +so an additional mixed with full_matrix_projection or a fc must +be included in the configuration file to complete the input-to-hidden +mappings before lstmemory is called.

+

NOTE: This is a low level user interface. You can use network.simple_lstm +to config a simple plain lstm layer.

+

Please refer to Generating Sequences With Recurrent Neural Networks for +more details about LSTM.

+

Link goes as below.

+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – The lstmemory layer name.
  • +
  • input (paddle.v2.config_base.Layer) – input layer name.
  • +
  • reverse (bool) – is sequence process reversed or not.
  • +
  • act (paddle.v2.Activation.Base) – activation type, paddle.v2.Activation.Tanh by default. \(h_t\)
  • +
  • gate_act (paddle.v2.Activation.Base) – gate activation type, paddle.v2.Activation.Sigmoid by default.
  • +
  • state_act (paddle.v2.Activation.Base) – state activation type, paddle.v2.Activation.Tanh by default.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute|None|False) – Bias attribute. None means default bias. False means no +bias.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute|None|False) – Parameter Attribute.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer attribute
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

grumemory

+
+
+class paddle.v2.layer.grumemory(*args, **kwargs)
+

Gate Recurrent Unit Layer.

+

The memory cell was implemented as follow equations.

+

1. update gate \(z\): defines how much of the previous memory to +keep around or the unit updates its activations. The update gate +is computed by:

+
+\[z_t = \sigma(W_{z}x_{t} + U_{z}h_{t-1} + b_z)\]
+

2. reset gate \(r\): determines how to combine the new input with the +previous memory. The reset gate is computed similarly to the update gate:

+
+\[r_t = \sigma(W_{r}x_{t} + U_{r}h_{t-1} + b_r)\]
+

3. The candidate activation \(\tilde{h_t}\) is computed similarly to +that of the traditional recurrent unit:

+
+\[{\tilde{h_t}} = tanh(W x_{t} + U (r_{t} \odot h_{t-1}) + b)\]
+

4. The hidden activation \(h_t\) of the GRU at time t is a linear +interpolation between the previous activation \(h_{t-1}\) and the +candidate activation \(\tilde{h_t}\):

+
+\[h_t = (1 - z_t) h_{t-1} + z_t {\tilde{h_t}}\]
+

NOTE: In PaddlePaddle’s implementation, the multiplication operations +\(W_{r}x_{t}\), \(W_{z}x_{t}\) and \(W x_t\) are not computed in +gate_recurrent layer. Consequently, an additional mixed with +full_matrix_projection or a fc must be included before grumemory +is called.

+

More details can be found by referring to Empirical Evaluation of Gated +Recurrent Neural Networks on Sequence Modeling.

+

The simple usage is:

+
gru = grumemory(input)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (None|basestring) – The gru layer name.
  • +
  • input (paddle.v2.config_base.Layer.) – input layer.
  • +
  • reverse (bool) – Whether sequence process is reversed or not.
  • +
  • act (paddle.v2.Activation.Base) – activation type, paddle.v2.Activation.Tanh by default. This activation +affects the \({\tilde{h_t}}\).
  • +
  • gate_act (paddle.v2.Activation.Base) – gate activation type, paddle.v2.Activation.Sigmoid by default. +This activation affects the \(z_t\) and \(r_t\). It is the +\(\sigma\) in the above formula.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute|None|False) – Bias attribute. None means default bias. False means no +bias.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute|None|False) – Parameter Attribute.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer attribute
  • +
  • size (None) – Stub parameter of size, but actually not used. If set this size +will get a warning.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Recurrent Layer Group

+
+

memory

+
+
+class paddle.v2.layer.memory(name, extra_input=None, **kwargs)
+

The memory layers is a layer cross each time step. Reference this output +as previous time step layer name ‘s output.

+

The default memory is zero in first time step, previous time step’s +output in the rest time steps.

+

If boot_bias, the first time step value is this bias and +with activation.

+

If boot_with_const_id, then the first time stop is a IndexSlot, the +Arguments.ids()[0] is this cost_id.

+

If boot_layer is not null, the memory is just the boot_layer’s output. +Set is_seq is true boot layer is sequence.

+

The same name layer in recurrent group will set memory on each time +step.

+
mem = memory(size=256, name='state')
+state = fc_layer(input=mem, size=256, name='state')
+
+
+

If you do not want to specify the name, you can equivalently use set_input() +to specify the layer needs to be remembered as the following:

+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – the name of the layer which this memory remembers. +If name is None, user should call set_input() to specify the +name of the layer which this memory remembers.
  • +
  • size (int) – size of memory.
  • +
  • memory_name (basestring) – the name of the memory. +It is ignored when name is provided.
  • +
  • is_seq (bool) – is sequence for boot_layer
  • +
  • boot_layer (LayerOutput|None) – boot layer of memory.
  • +
  • boot_bias (ParameterAttribute|None) – boot layer’s bias
  • +
  • boot_bias_active_type (BaseActivation) – boot layer’s active type.
  • +
  • boot_with_const_id (int) – boot layer’s id.
  • +
+
Returns:

LayerOutput object which is a memory.

+
Return type:

LayerOutput

+
+
+ +
+
+

recurrent_group

+
+
+class paddle.v2.layer.recurrent_group
+

Recurrent layer group is an extremely flexible recurrent unit in +PaddlePaddle. As long as the user defines the calculation done within a +time step, PaddlePaddle will iterate such a recurrent calculation over +sequence input. This is extremely usefull for attention based model, or +Neural Turning Machine like models.

+

The basic usage (time steps) is:

+
def step(input):
+    output = fc_layer(input=layer,
+                      size=1024,
+                      act=LinearActivation(),
+                      bias_attr=False)
+    return output
+
+group = recurrent_group(input=layer,
+                        step=step)
+
+
+

You can see following configs for further usages:

+
    +
  • time steps: lstmemory_group, paddle/gserver/tests/sequence_layer_group.conf, demo/seqToseq/seqToseq_net.py
  • +
  • sequence steps: paddle/gserver/tests/sequence_nest_layer_group.conf
  • +
+ +++ + + + +
Parameters:
    +
  • step (callable) –

    recurrent one time step function.The input of this function is +input of the group. The return of this function will be +recurrent group’s return value.

    +

    The recurrent group scatter a sequence into time steps. And +for each time step, will invoke step function, and return +a time step result. Then gather each time step of output into +layer group’s output.

    +
  • +
  • name (basestring) – recurrent_group’s name.
  • +
  • input (LayerOutput|StaticInput|SubsequenceInput|list|tuple) –

    Input links array.

    +

    LayerOutput will be scattered into time steps. +SubsequenceInput will be scattered into sequence steps. +StaticInput will be imported to each time step, and doesn’t change +through time. It’s a mechanism to access layer outside step function.

    +
  • +
  • reverse (bool) – If reverse is set true, the recurrent unit will process the +input sequence in a reverse order.
  • +
  • targetInlink (LayerOutput|SubsequenceInput) –

    the input layer which share info with layer group’s output

    +

    Param input specifies multiple input layers. For +SubsequenceInput inputs, config should assign one input +layer that share info(the number of sentences and the number +of words in each sentence) with all layer group’s outputs. +targetInlink should be one of the layer group’s input.

    +
  • +
  • is_generating – If is generating, none of input type should be LayerOutput; +else, for training or testing, one of the input type must +be LayerOutput.
  • +
+
+

: type is_generating: bool

+ +++ + + + + + +
Returns:LayerOutput object.
Return type:LayerOutput
+
+ +
+
+

lstm_step

+
+
+class paddle.v2.layer.lstm_step(*args, **kwargs)
+

LSTM Step Layer. It used in recurrent_group. The lstm equations are shown +as follow.

+
+\[ \begin{align}\begin{aligned}i_t & = \sigma(W_{xi}x_{t} + W_{hi}h_{t-1} + W_{ci}c_{t-1} + b_i)\\f_t & = \sigma(W_{xf}x_{t} + W_{hf}h_{t-1} + W_{cf}c_{t-1} + b_f)\\c_t & = f_tc_{t-1} + i_t tanh (W_{xc}x_t+W_{hc}h_{t-1} + b_c)\\o_t & = \sigma(W_{xo}x_{t} + W_{ho}h_{t-1} + W_{co}c_t + b_o)\\h_t & = o_t tanh(c_t)\end{aligned}\end{align} \]
+

The input of lstm step is \(Wx_t + Wh_{t-1}\), and user should use +mixed and full_matrix_projection to calculate these +input vector.

+

The state of lstm step is \(c_{t-1}\). And lstm step layer will do

+
+\[ \begin{align}\begin{aligned}i_t = \sigma(input + W_{ci}c_{t-1} + b_i)\\...\end{aligned}\end{align} \]
+

This layer contains two outputs. Default output is \(h_t\). The other +output is \(o_t\), which name is ‘state’ and can use +get_output to extract this output.

+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – Layer’s name.
  • +
  • size (int) – Layer’s size. NOTE: lstm layer’s size, should be equal as +input.size/4, and should be equal as +state.size.
  • +
  • input (paddle.v2.config_base.Layer) – input layer. \(Wx_t + Wh_{t-1}\)
  • +
  • state (paddle.v2.config_base.Layer) – State Layer. \(c_{t-1}\)
  • +
  • act (paddle.v2.Activation.Base) – Activation type. Default is tanh
  • +
  • gate_act (paddle.v2.Activation.Base) – Gate Activation Type. Default is sigmoid, and should +be sigmoid only.
  • +
  • state_act (paddle.v2.Activation.Base) – State Activation Type. Default is sigmoid, and should +be sigmoid only.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute) – Bias Attribute.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – layer’s extra attribute.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

gru_step

+
+
+class paddle.v2.layer.gru_step(*args, **kwargs)
+
+++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) –
  • +
  • output_mem
  • +
  • size
  • +
  • act
  • +
  • name
  • +
  • gate_act
  • +
  • bias_attr
  • +
  • param_attr – the parameter_attribute for transforming the output_mem +from previous step.
  • +
  • layer_attr
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+ +
+

get_output

+
+
+class paddle.v2.layer.get_output(*args, **kwargs)
+

Get layer’s output by name. In PaddlePaddle, a layer might return multiple +values, but returns one layer’s output. If the user wants to use another +output besides the default one, please use get_output first to get +the output from input.

+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – Layer’s name.
  • +
  • input (paddle.v2.config_base.Layer) – get output layer’s input. And this layer should contains +multiple outputs.
  • +
  • arg_name (basestring) – Output name from input.
  • +
  • layer_attr – Layer’s extra attribute.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Mixed Layer

+
+

mixed

+
+
+class paddle.v2.layer.mixed
+

Mixed Layer. A mixed layer will add all inputs together, then activate. +Each inputs is a projection or operator.

+

There are two styles of usages.

+
    +
  1. When not set inputs parameter, use mixed_layer like this:
  2. +
+
with mixed_layer(size=256) as m:
+    m += full_matrix_projection(input=layer1)
+    m += identity_projection(input=layer2)
+
+
+
    +
  1. You can also set all inputs when invoke mixed_layer as follows:
  2. +
+
m = mixed_layer(size=256,
+                input=[full_matrix_projection(input=layer1),
+                       full_matrix_projection(input=layer2)])
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – mixed layer name. Can be referenced by other layer.
  • +
  • size (int) – layer size.
  • +
  • input – inputs layer. It is an optional parameter. If set, +then this function will just return layer’s name.
  • +
  • act (BaseActivation) – Activation Type.
  • +
  • bias_attr (ParameterAttribute or None or bool) – The Bias Attribute. If no bias, then pass False or +something not type of ParameterAttribute. None will get a +default Bias.
  • +
  • layer_attr (ExtraLayerAttribute) – The extra layer config. Default is None.
  • +
+
Returns:

MixedLayerType object can add inputs or layer name.

+
Return type:

MixedLayerType

+
+
+ +
+
+

embedding

+
+
+class paddle.v2.layer.embedding(*args, **kwargs)
+

Define a embedding Layer.

+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – Name of this embedding layer.
  • +
  • input (paddle.v2.config_base.Layer) – The input layer for this embedding. NOTE: must be Index Data.
  • +
  • size (int) – The embedding dimension.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute|None) – The embedding parameter attribute. See paddle.v2.attr.ParameterAttribute +for details.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra layer Config. Default is None.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

scaling_projection

+
+
+class paddle.v2.layer.scaling_projection(**kwargs)
+

scaling_projection multiplies the input with a scalar parameter and add to +the output.

+
+\[out += w * in\]
+

The example usage is:

+
proj = scaling_projection(input=layer)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – Input Layer.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – Parameter config, None if use default.
  • +
+
Returns:

A ScalingProjection object

+
Return type:

ScalingProjection

+
+
+ +
+
+

dotmul_projection

+
+
+class paddle.v2.layer.dotmul_projection(**kwargs)
+

DotMulProjection with a layer as input. +It performs element-wise multiplication with weight.

+
+\[out.row[i] += in.row[i] .* weight\]
+

where \(.*\) means element-wise multiplication.

+

The example usage is:

+
proj = dotmul_projection(input=layer)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – Input layer.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – Parameter config, None if use default.
  • +
+
Returns:

A DotMulProjection Object.

+
Return type:

DotMulProjection

+
+
+ +
+
+

dotmul_operator

+
+
+class paddle.v2.layer.dotmul_operator(**kwargs)
+

DotMulOperator takes two inputs and performs element-wise multiplication:

+
+\[out.row[i] += scale * (a.row[i] .* b.row[i])\]
+

where \(.*\) means element-wise multiplication, and +scale is a config scalar, its default value is one.

+

The example usage is:

+
op = dotmul_operator(a=layer1, b=layer2, scale=0.5)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • a (paddle.v2.config_base.Layer) – Input layer1
  • +
  • b (paddle.v2.config_base.Layer) – Input layer2
  • +
  • scale (float) – config scalar, default value is one.
  • +
+
Returns:

A DotMulOperator Object.

+
Return type:

DotMulOperator

+
+
+ +
+
+

full_matrix_projection

+
+
+class paddle.v2.layer.full_matrix_projection(**kwargs)
+

Full Matrix Projection. It performs full matrix multiplication.

+
+\[out.row[i] += in.row[i] * weight\]
+

There are two styles of usage.

+
    +
  1. When used in mixed like this, you can only set the input:
  2. +
+
with mixed(size=100) as m:
+    m += full_matrix_projection(input=layer)
+
+
+
    +
  1. When used as an independant object like this, you must set the size:
  2. +
+
proj = full_matrix_projection(input=layer,
+                              size=100,
+                              param_attr=ParamAttr(name='_proj'))
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – input layer
  • +
  • size (int) – The parameter size. Means the width of parameter.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – Parameter config, None if use default.
  • +
+
Returns:

A FullMatrixProjection Object.

+
Return type:

FullMatrixProjection

+
+
+ +
+
+

identity_projection

+
+
+class paddle.v2.layer.identity_projection(**kwargs)
+
    +
  1. IdentityProjection if offset=None. It performs:
  2. +
+
+\[out.row[i] += in.row[i]\]
+

The example usage is:

+
proj = identity_projection(input=layer)
+
+
+

2. IdentityOffsetProjection if offset!=None. It likes IdentityProjection, +but layer size may be smaller than input size. +It select dimesions [offset, offset+layer_size) from input:

+
+\[out.row[i] += in.row[i + \textrm{offset}]\]
+

The example usage is:

+
proj = identity_projection(input=layer,
+                           offset=10)
+
+
+

Note that both of two projections should not have any parameter.

+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – Input Layer.
  • +
  • offset (int) – Offset, None if use default.
  • +
+
Returns:

A IdentityProjection or IdentityOffsetProjection object

+
Return type:

IdentityProjection or IdentityOffsetProjection

+
+
+ +
+
+

table_projection

+
+
+class paddle.v2.layer.table_projection(**kwargs)
+

Table Projection. It selects rows from parameter where row_id +is in input_ids.

+
+\[out.row[i] += table.row[ids[i]]\]
+

where \(out\) is output, \(table\) is parameter, \(ids\) is input_ids, +and \(i\) is row_id.

+

There are two styles of usage.

+
    +
  1. When used in mixed like this, you can only set the input:
  2. +
+
with mixed(size=100) as m:
+    m += table_projection(input=layer)
+
+
+
    +
  1. When used as an independant object like this, you must set the size:
  2. +
+
proj = table_projection(input=layer,
+                        size=100,
+                        param_attr=ParamAttr(name='_proj'))
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – Input layer, which must contains id fields.
  • +
  • size (int) – The parameter size. Means the width of parameter.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – Parameter config, None if use default.
  • +
+
Returns:

A TableProjection Object.

+
Return type:

TableProjection

+
+
+ +
+
+

trans_full_matrix_projection

+
+
+class paddle.v2.layer.trans_full_matrix_projection(**kwargs)
+

Different from full_matrix_projection, this projection performs matrix +multiplication, using transpose of weight.

+
+\[out.row[i] += in.row[i] * w^\mathrm{T}\]
+

\(w^\mathrm{T}\) means transpose of weight. +The simply usage is:

+
proj = trans_full_matrix_projection(input=layer,
+                                    size=100,
+                                    param_attr=ParamAttr(
+                                         name='_proj',
+                                         initial_mean=0.0,
+                                         initial_std=0.01))
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – input layer
  • +
  • size (int) – The parameter size. Means the width of parameter.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – Parameter config, None if use default.
  • +
+
Returns:

A TransposedFullMatrixProjection Object.

+
Return type:

TransposedFullMatrixProjection

+
+
+ +
+
+
+

Aggregate Layers

+
+

pooling

+
+
+class paddle.v2.layer.pooling(*args, **kwargs)
+

Pooling layer for sequence inputs, not used for Image.

+

The example usage is:

+
seq_pool = pooling(input=layer,
+                         pooling_type=AvgPooling(),
+                         agg_level=AggregateLevel.EACH_SEQUENCE)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • agg_level (AggregateLevel) – AggregateLevel.EACH_TIMESTEP or +AggregateLevel.EACH_SEQUENCE
  • +
  • name (basestring) – layer name.
  • +
  • input (paddle.v2.config_base.Layer) – input layer name.
  • +
  • pooling_type (BasePoolingType|None) – Type of pooling, MaxPooling(default), AvgPooling, +SumPooling, SquareRootNPooling.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute|None|False) – Bias parameter attribute. False if no bias.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – The Extra Attributes for layer, such as dropout.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

last_seq

+
+
+class paddle.v2.layer.last_seq(*args, **kwargs)
+

Get Last Timestamp Activation of a sequence.

+

If stride > 0, this layer slides a window whose size is determined by stride, +and return the last value of the window as the output. Thus, a long sequence +will be shorten. Note that for sequence with sub-sequence, the default value +of stride is -1.

+

The simple usage is:

+
seq = last_seq(input=layer)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • agg_level – Aggregated level
  • +
  • name (basestring) – Layer name.
  • +
  • input (paddle.v2.config_base.Layer) – Input layer name.
  • +
  • stride (Int) – window size.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

first_seq

+
+
+class paddle.v2.layer.first_seq(*args, **kwargs)
+

Get First Timestamp Activation of a sequence.

+

If stride > 0, this layer slides a window whose size is determined by stride, +and return the first value of the window as the output. Thus, a long sequence +will be shorten. Note that for sequence with sub-sequence, the default value +of stride is -1.

+

The simple usage is:

+
seq = first_seq(input=layer)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • agg_level – aggregation level
  • +
  • name (basestring) – Layer name.
  • +
  • input (paddle.v2.config_base.Layer) – Input layer name.
  • +
  • stride (Int) – window size.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

concat

+
+
+class paddle.v2.layer.concat(*args, **kwargs)
+

Concat all input vector into one huge vector. +Inputs can be list of paddle.v2.config_base.Layer or list of projection.

+

The example usage is:

+
concat = concat(input=[layer1, layer2])
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – Layer name.
  • +
  • input (list|tuple|collections.Sequence) – input layers or projections
  • +
  • act (paddle.v2.Activation.Base) – Activation type.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

seq_concat

+
+
+class paddle.v2.layer.seq_concat(*args, **kwargs)
+

Concat sequence a with sequence b.

+
+
Inputs:
+
    +
  • a = [a1, a2, ..., an]
  • +
  • b = [b1, b2, ..., bn]
  • +
  • Note that the length of a and b should be the same.
  • +
+
+
+

Output: [a1, b1, a2, b2, ..., an, bn]

+

The example usage is:

+
concat = seq_concat(a=layer1, b=layer2)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – Layer name.
  • +
  • a (paddle.v2.config_base.Layer) – input sequence layer
  • +
  • b (paddle.v2.config_base.Layer) – input sequence layer
  • +
  • act (paddle.v2.Activation.Base) – Activation type.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute or None or bool) – The Bias Attribute. If no bias, then pass False or +something not type of paddle.v2.attr.ParameterAttribute. None will get a +default Bias.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Reshaping Layers

+
+

block_expand

+
+
+class paddle.v2.layer.block_expand(*args, **kwargs)
+
+
Expand feature map to minibatch matrix.
+
    +
  • matrix width is: block_y * block_x * num_channels
  • +
  • matirx height is: outputH * outputW
  • +
+
+
+
+\[ \begin{align}\begin{aligned}outputH = 1 + (2 * padding_y + imgSizeH - block_y + stride_y - 1) / stride_y\\outputW = 1 + (2 * padding_x + imgSizeW - block_x + stride_x - 1) / stride_x\end{aligned}\end{align} \]
+

The expand method is the same with ExpandConvLayer, but saved the transposed +value. After expanding, output.sequenceStartPositions will store timeline. +The number of time steps are outputH * outputW and the dimension of each +time step is block_y * block_x * num_channels. This layer can be used after +convolution neural network, and before recurrent neural network.

+

The simple usage is:

+
block_expand = block_expand(input=layer,
+                                  num_channels=128,
+                                  stride_x=1,
+                                  stride_y=1,
+                                  block_x=1,
+                                  block_x=3)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – The input layer.
  • +
  • num_channels (int|None) – The channel number of input layer.
  • +
  • block_x (int) – The width of sub block.
  • +
  • block_y (int) – The width of sub block.
  • +
  • stride_x (int) – The stride size in horizontal direction.
  • +
  • stride_y (int) – The stride size in vertical direction.
  • +
  • padding_x (int) – The padding size in horizontal direction.
  • +
  • padding_y (int) – The padding size in vertical direction.
  • +
  • name (None|basestring.) – The name of this layer, which can not specify.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer config.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

expand

+
+
+class paddle.v2.layer.expand(*args, **kwargs)
+

A layer for “Expand Dense data or (sequence data where the length of each +sequence is one) to sequence data.”

+

The example usage is:

+
expand = expand(input=layer1,
+                      expand_as=layer2,
+                      expand_level=ExpandLevel.FROM_TIMESTEP)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – Input layer
  • +
  • expand_as (paddle.v2.config_base.Layer) – Expand as this layer’s sequence info.
  • +
  • name (basestring) – Layer name.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute|None|False) – Bias attribute. None means default bias. False means no +bias.
  • +
  • expand_level (ExpandLevel) – whether input layer is timestep(default) or sequence.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

repeat

+
+
+class paddle.v2.layer.repeat(*args, **kwargs)
+

A layer for repeating the input for num_repeats times. This is equivalent +to apply concat() with num_repeats same input.

+
+\[y = [x, x, \cdots, x]\]
+

The example usage is:

+
expand = repeat(input=layer, num_repeats=4)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – Input layer
  • +
  • num_repeats (int) – Repeat the input so many times
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

rotate

+
+
+class paddle.v2.layer.rotate(*args, **kwargs)
+

A layer for rotating 90 degrees (clock-wise) for each feature channel, +usually used when the input sample is some image or feature map.

+
+\[y(j,i,:) = x(M-i-1,j,:)\]
+

where \(x\) is (M x N x C) input, and \(y\) is (N x M x C) output.

+

The example usage is:

+
rot = rotate(input=layer,
+                   height=100,
+                   width=100)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – Input layer.
  • +
  • height (int) – The height of the sample matrix
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

seq_reshape

+
+
+class paddle.v2.layer.seq_reshape(*args, **kwargs)
+

A layer for reshaping the sequence. Assume the input sequence has T instances, +the dimension of each instance is M, and the input reshape_size is N, then the +output sequence has T*M/N instances, the dimension of each instance is N.

+

Note that T*M/N must be an integer.

+

The example usage is:

+
reshape = seq_reshape(input=layer, reshape_size=4)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – Input layer.
  • +
  • reshape_size (int) – the size of reshaped sequence.
  • +
  • name (basestring) – Layer name.
  • +
  • act (paddle.v2.Activation.Base) – Activation type.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute or None or bool) – The Bias Attribute. If no bias, then pass False or +something not type of paddle.v2.attr.ParameterAttribute. None will get a +default Bias.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Math Layers

+
+

addto

+
+
+class paddle.v2.layer.addto(*args, **kwargs)
+

AddtoLayer.

+
+\[y = f(\sum_{i} x_i + b)\]
+

where \(y\) is output, \(x\) is input, \(b\) is bias, +and \(f\) is activation function.

+

The example usage is:

+
addto = addto(input=[layer1, layer2],
+                    act=paddle.v2.Activation.Relu(),
+                    bias_attr=False)
+
+
+

This layer just simply add all input layers together, then activate the sum +inputs. Each input of this layer should be the same size, which is also the +output size of this layer.

+

There is no weight matrix for each input, because it just a simple add +operation. If you want a complicated operation before add, please use +mixed.

+

It is a very good way to set dropout outside the layers. Since not all +PaddlePaddle layer support dropout, you can add an add_to layer, set +dropout here. +Please refer to dropout for details.

+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – Layer name.
  • +
  • input (paddle.v2.config_base.Layer|list|tuple) – Input layers. It could be a paddle.v2.config_base.Layer or list/tuple of +paddle.v2.config_base.Layer.
  • +
  • act (paddle.v2.Activation.Base) – Activation Type, default is tanh.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute|bool) – Bias attribute. If False, means no bias. None is default +bias.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer attribute.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

linear_comb

+
+
+class paddle.v2.layer.linear_comb(*args, **kwargs)
+
+
A layer for weighted sum of vectors takes two inputs.
+
    +
  • +
    Input: size of weights is M
    +
    size of vectors is M*N
    +
    +
  • +
  • Output: a vector of size=N
  • +
+
+
+
+\[z(i) = \sum_{j=0}^{M-1} x(j) y(i+Nj)\]
+

where \(0 \le i \le N-1\)

+

Or in the matrix notation:

+
+\[z = x^\mathrm{T} Y\]
+
+
In this formular:
+
    +
  • \(x\): weights
  • +
  • \(y\): vectors.
  • +
  • \(z\): the output.
  • +
+
+
+

Note that the above computation is for one sample. Multiple samples are +processed in one batch.

+

The simple usage is:

+
linear_comb = linear_comb(weights=weight, vectors=vectors,
+                                size=elem_dim)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • weights (paddle.v2.config_base.Layer) – The weight layer.
  • +
  • vectors (paddle.v2.config_base.Layer) – The vector layer.
  • +
  • size (int) – the dimension of this layer.
  • +
  • name (basestring) – The Layer Name.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer config.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

interpolation

+
+
+class paddle.v2.layer.interpolation(*args, **kwargs)
+

This layer is for linear interpolation with two inputs, +which is used in NEURAL TURING MACHINE.

+
+\[y.row[i] = w[i] * x_1.row[i] + (1 - w[i]) * x_2.row[i]\]
+

where \(x_1\) and \(x_2\) are two (batchSize x dataDim) inputs, +\(w\) is (batchSize x 1) weight vector, and \(y\) is +(batchSize x dataDim) output.

+

The example usage is:

+
interpolation = interpolation(input=[layer1, layer2], weight=layer3)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (list|tuple) – Input layer.
  • +
  • weight (paddle.v2.config_base.Layer) – Weight layer.
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

bilinear_interp

+
+
+class paddle.v2.layer.bilinear_interp(*args, **kwargs)
+

This layer is to implement bilinear interpolation on conv layer output.

+

Please refer to Wikipedia: https://en.wikipedia.org/wiki/Bilinear_interpolation

+

The simple usage is:

+
bilinear = bilinear_interp(input=layer1, out_size_x=64, out_size_y=64)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer.) – A input layer.
  • +
  • out_size_x (int|None) – bilinear interpolation output width.
  • +
  • out_size_y (int|None) – bilinear interpolation output height.
  • +
  • name (None|basestring) – The layer’s name, which cna not be specified.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer attribute.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

power

+
+
+class paddle.v2.layer.power(*args, **kwargs)
+

This layer applies a power function to a vector element-wise, +which is used in NEURAL TURING MACHINE.

+
+\[y = x^w\]
+

where \(x\) is a input vector, \(w\) is scalar weight, +and \(y\) is a output vector.

+

The example usage is:

+
power = power(input=layer1, weight=layer2)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – Input layer.
  • +
  • weight (paddle.v2.config_base.Layer) – Weight layer.
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

scaling

+
+
+class paddle.v2.layer.scaling(*args, **kwargs)
+

A layer for multiplying input vector by weight scalar.

+
+\[y = w x\]
+

where \(x\) is size=dataDim input, \(w\) is size=1 weight, +and \(y\) is size=dataDim output.

+

Note that the above computation is for one sample. Multiple samples are +processed in one batch.

+

The example usage is:

+
scale = scaling(input=layer1, weight=layer2)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – Input layer.
  • +
  • weight (paddle.v2.config_base.Layer) – Weight layer.
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

slope_intercept

+
+
+class paddle.v2.layer.slope_intercept(*args, **kwargs)
+

This layer for applying a slope and an intercept to the input +element-wise. There is no activation and weight.

+
+\[y = slope * x + intercept\]
+

The simple usage is:

+
scale = slope_intercept(input=input, slope=-1.0, intercept=1.0)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – The input layer.
  • +
  • name (basestring) – The Layer Name.
  • +
  • slope (float.) – the scale factor.
  • +
  • intercept (float.) – the offset.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer config.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

tensor

+
+
+class paddle.v2.layer.tensor(*args, **kwargs)
+

This layer performs tensor operation for two input. +For example, each sample:

+
+\[y_{i} = a * W_{i} * {b^\mathrm{T}}, i=0,1,...,K-1\]
+
+
In this formular:
+
    +
  • \(a\): the first input contains M elements.
  • +
  • \(b\): the second input contains N elements.
  • +
  • \(y_{i}\): the i-th element of y.
  • +
  • \(W_{i}\): the i-th learned weight, shape if [M, N]
  • +
  • \(b^\mathrm{T}\): the transpose of \(b_{2}\).
  • +
+
+
+

The simple usage is:

+
tensor = tensor(a=layer1, b=layer2, size=1000)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – layer name
  • +
  • a (paddle.v2.config_base.Layer) – Input layer a.
  • +
  • b (paddle.v2.config_base.Layer) – input layer b.
  • +
  • size (int.) – the layer dimension.
  • +
  • act (paddle.v2.Activation.Base) – Activation Type. Default is tanh.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – The Parameter Attribute.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute|None|Any) – The Bias Attribute. If no bias, then pass False or +something not type of paddle.v2.attr.ParameterAttribute. None will get a +default Bias.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer config.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

cos_sim

+
+
+class paddle.v2.layer.cos_sim(*args, **kwargs)
+

Cosine Similarity Layer. The cosine similarity equation is here.

+
+\[similarity = cos(\theta) = {\mathbf{a} \cdot \mathbf{b} +\over \|\mathbf{a}\| \|\mathbf{b}\|}\]
+

The size of a is M, size of b is M*N, +Similarity will be calculated N times by step M. The output size is +N. The scale will be multiplied to similarity.

+

Note that the above computation is for one sample. Multiple samples are +processed in one batch.

+

The example usage is:

+
cos = cos_sim(a=layer1, b=layer2, size=3)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – layer name
  • +
  • a (paddle.v2.config_base.Layer) – input layer a
  • +
  • b (paddle.v2.config_base.Layer) – input layer b
  • +
  • scale (float) – scale for cosine value. default is 5.
  • +
  • size (int) – layer size. NOTE size_a * size should equal size_b.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

trans

+
+
+class paddle.v2.layer.trans(*args, **kwargs)
+

A layer for transposing a minibatch matrix.

+
+\[y = x^\mathrm{T}\]
+

where \(x\) is (M x N) input, and \(y\) is (N x M) output.

+

The example usage is:

+
trans = trans(input=layer)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – Input layer.
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Sampling Layers

+
+

maxid

+
+
+class paddle.v2.layer.max_id(*args, **kwargs)
+

A layer for finding the id which has the maximal value for each sample. +The result is stored in output.ids.

+

The example usage is:

+
maxid = maxid(input=layer)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – Input layer name.
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

sampling_id

+
+
+class paddle.v2.layer.sampling_id(*args, **kwargs)
+

A layer for sampling id from multinomial distribution from the input layer. +Sampling one id for one sample.

+

The simple usage is:

+
samping_id = sampling_id(input=input)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – The input layer.
  • +
  • name (basestring) – The Layer Name.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer config.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Slicing and Joining Layers

+
+

pad

+
+
+class paddle.v2.layer.pad(*args, **kwargs)
+

This operation pads zeros to the input data according to pad_c,pad_h +and pad_w. pad_c, pad_h, pad_w specifies the which dimension and size +of padding. And the input data shape is NCHW.

+

For example, pad_c=[2,3] means padding 2 zeros before the +input data and 3 zeros after the input data in channel dimension. +pad_h means padding zeros in height dimension. pad_w means padding zeros +in width dimension.

+

For example,

+
input(2,2,2,3)  = [
+                    [ [[1,2,3], [3,4,5]],
+                      [[2,3,5], [1,6,7]] ],
+                    [ [[4,3,1], [1,8,7]],
+                      [[3,8,9], [2,3,5]] ]
+                  ]
+
+pad_c=[1,1], pad_h=[0,0], pad_w=[0,0]
+
+output(2,4,2,3) = [
+                    [ [[0,0,0], [0,0,0]],
+                      [[1,2,3], [3,4,5]],
+                      [[2,3,5], [1,6,7]],
+                      [[0,0,0], [0,0,0]] ],
+                    [ [[0,0,0], [0,0,0]],
+                      [[4,3,1], [1,8,7]],
+                      [[3,8,9], [2,3,5]],
+                      [[0,0,0], [0,0,0]] ]
+                  ]
+
+
+

The simply usage is:

+
pad = pad(input=ipt,
+                pad_c=[4,4],
+                pad_h=[0,0],
+                pad_w=[2,2])
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – layer’s input.
  • +
  • pad_c (list|None) – padding size in channel dimension.
  • +
  • pad_h (list|None) – padding size in height dimension.
  • +
  • pad_w (list|None) – padding size in width dimension.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
  • name (basestring) – layer name.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Cost Layers

+
+

cross_entropy_cost

+
+
+class paddle.v2.layer.cross_entropy_cost(*args, **kwargs)
+

A loss layer for multi class entropy.

+
cost = cross_entropy(input=input,
+                     label=label)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer.) – The first input layer.
  • +
  • label – The input label.
  • +
  • name (None|basestring.) – The name of this layers. It is not necessary.
  • +
  • coeff (float.) – The cost is multiplied with coeff. +The coefficient affects the gradient in the backward.
  • +
  • weight (LayerOutout) – The cost of each sample is multiplied with each weight. +The weight should be a layer with size=1. Note that gradient +will not be calculated for weight.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer.

+
+
+ +
+
+

cross_entropy_with_selfnorm_cost

+
+
+class paddle.v2.layer.cross_entropy_with_selfnorm_cost(*args, **kwargs)
+

A loss layer for multi class entropy with selfnorm. +Input should be a vector of positive numbers, without normalization.

+
cost = cross_entropy_with_selfnorm(input=input,
+                                   label=label)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer.) – The first input layer.
  • +
  • label – The input label.
  • +
  • name (None|basestring.) – The name of this layers. It is not necessary.
  • +
  • coeff (float.) – The coefficient affects the gradient in the backward.
  • +
  • softmax_selfnorm_alpha (float.) – The scale factor affects the cost.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer.

+
+
+ +
+
+

multi_binary_label_cross_entropy_cost

+
+
+class paddle.v2.layer.multi_binary_label_cross_entropy_cost(*args, **kwargs)
+

A loss layer for multi binary label cross entropy.

+
cost = multi_binary_label_cross_entropy(input=input,
+                                        label=label)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – The first input layer.
  • +
  • label – The input label.
  • +
  • type (basestring) – The type of cost.
  • +
  • name (None|basestring) – The name of this layers. It is not necessary.
  • +
  • coeff (float) – The coefficient affects the gradient in the backward.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

huber_cost

+
+
+class paddle.v2.layer.huber_cost(*args, **kwargs)
+

A loss layer for huber loss.

+
cost = huber_cost(input=input,
+                  label=label)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer.) – The first input layer.
  • +
  • label – The input label.
  • +
  • name (None|basestring.) – The name of this layers. It is not necessary.
  • +
  • coeff (float.) – The coefficient affects the gradient in the backward.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer.

+
+
+ +
+
+

lambda_cost

+
+
+class paddle.v2.layer.lambda_cost(*args, **kwargs)
+

lambdaCost for lambdaRank LTR approach.

+

The simple usage:

+
cost = lambda_cost(input=input,
+                   score=score,
+                   NDCG_num=8,
+                   max_sort_size=-1)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – Samples of the same query should be loaded as sequence.
  • +
  • score – The 2nd input. Score of each sample.
  • +
  • NDCG_num (int) – The size of NDCG (Normalized Discounted Cumulative Gain), +e.g., 5 for NDCG@5. It must be less than for equal to the +minimum size of lists.
  • +
  • max_sort_size (int) – The size of partial sorting in calculating gradient. +If max_sort_size = -1, then for each list, the +algorithm will sort the entire list to get gradient. +In other cases, max_sort_size must be greater than or +equal to NDCG_num. And if max_sort_size is greater +than the size of a list, the algorithm will sort the +entire list of get gradient.
  • +
  • name (None|basestring) – The name of this layers. It is not necessary.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

mse_cost

+
+
+class paddle.v2.layer.mse_cost(*args, **kwargs)
+
+

mean squared error cost:

+
+\[\]
+
+

rac{1}{N}sum_{i=1}^N(t_i-y_i)^2

+
+
+++ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
param name:layer name.
type name:basestring
param input:Network prediction.
type input:paddle.v2.config_base.Layer
param label:Data label.
type label:paddle.v2.config_base.Layer
param weight:The weight affects the cost, namely the scale of cost. +It is an optional argument.
type weight:paddle.v2.config_base.Layer
param layer_attr:
 layer’s extra attribute.
type layer_attr:
 paddle.v2.attr.ExtraAttribute
return:paddle.v2.config_base.Layer object.
rtype:paddle.v2.config_base.Layer
+
+
+ +
+
+

rank_cost

+
+
+class paddle.v2.layer.rank_cost(*args, **kwargs)
+

A cost Layer for learning to rank using gradient descent. Details can refer +to papers. +This layer contains at least three inputs. The weight is an optional +argument, which affects the cost.

+
+\[ \begin{align}\begin{aligned}C_{i,j} & = -\tilde{P_{ij}} * o_{i,j} + log(1 + e^{o_{i,j}})\\o_{i,j} & = o_i - o_j\\\tilde{P_{i,j}} & = \{0, 0.5, 1\} \ or \ \{0, 1\}\end{aligned}\end{align} \]
+
+
In this formula:
+
    +
  • \(C_{i,j}\) is the cross entropy cost.
  • +
  • \(\tilde{P_{i,j}}\) is the label. 1 means positive order +and 0 means reverse order.
  • +
  • \(o_i\) and \(o_j\): the left output and right output. +Their dimension is one.
  • +
+
+
+

The simple usage:

+
cost = rank_cost(left=out_left,
+                 right=out_right,
+                 label=label)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • left (paddle.v2.config_base.Layer) – The first input, the size of this layer is 1.
  • +
  • right (paddle.v2.config_base.Layer) – The right input, the size of this layer is 1.
  • +
  • label (paddle.v2.config_base.Layer) – Label is 1 or 0, means positive order and reverse order.
  • +
  • weight (paddle.v2.config_base.Layer) – The weight affects the cost, namely the scale of cost. +It is an optional argument.
  • +
  • name (None|basestring) – The name of this layers. It is not necessary.
  • +
  • coeff (float) – The coefficient affects the gradient in the backward.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

sum_cost

+
+
+class paddle.v2.layer.sum_cost(*args, **kwargs)
+

A loss layer which calculate the sum of the input as loss

+
cost = sum_cost(input=input)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer.) – The first input layer.
  • +
  • name (None|basestring.) – The name of this layers. It is not necessary.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer.

+
+
+ +
+
+

crf

+
+
+class paddle.v2.layer.crf(*args, **kwargs)
+

A layer for calculating the cost of sequential conditional random +field model.

+

The simple usage:

+
crf = crf(input=input,
+                label=label,
+                size=label_dim)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – The first input layer is the feature.
  • +
  • label (paddle.v2.config_base.Layer) – The second input layer is label.
  • +
  • size (int) – The category number.
  • +
  • weight (paddle.v2.config_base.Layer) – The third layer is “weight” of each sample, which is an +optional argument.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – Parameter attribute. None means default attribute
  • +
  • name (None|basestring) – The name of this layers. It is not necessary.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer config.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

crf_decoding

+
+
+class paddle.v2.layer.crf_decoding(*args, **kwargs)
+

A layer for calculating the decoding sequence of sequential conditional +random field model. The decoding sequence is stored in output.ids. +If a second input is provided, it is treated as the ground-truth label, and +this layer will also calculate error. output.value[i] is 1 for incorrect +decoding or 0 for correct decoding.

+

The simple usage:

+
crf_decoding = crf_decoding(input=input,
+                                  size=label_dim)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – The first input layer.
  • +
  • size (int) – size of this layer.
  • +
  • label (paddle.v2.config_base.Layer or None) – None or ground-truth label.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – Parameter attribute. None means default attribute
  • +
  • name (None|basestring) – The name of this layers. It is not necessary.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer config.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

ctc

+
+
+class paddle.v2.layer.ctc(*args, **kwargs)
+

Connectionist Temporal Classification (CTC) is designed for temporal +classication task. That is, for sequence labeling problems where the +alignment between the inputs and the target labels is unknown.

+

More details can be found by referring to Connectionist Temporal +Classification: Labelling Unsegmented Sequence Data with Recurrent +Neural Networks

+
+

Note

+

Considering the ‘blank’ label needed by CTC, you need to use +(num_classes + 1) as the input size. num_classes is the category number. +And the ‘blank’ is the last category index. So the size of ‘input’ layer, such as +fc with softmax activation, should be num_classes + 1. The size of ctc +should also be num_classes + 1.

+
+

The simple usage:

+
ctc = ctc(input=input,
+                label=label,
+                size=9055,
+                norm_by_times=True)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – The input layer.
  • +
  • label (paddle.v2.config_base.Layer) – The data layer of label with variable length.
  • +
  • size (int) – category numbers + 1.
  • +
  • name (basestring|None) – The name of this layer
  • +
  • norm_by_times (bool) – Whether to normalization by times. False by default.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer config.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

warp_ctc

+
+
+class paddle.v2.layer.warp_ctc(*args, **kwargs)
+

A layer intergrating the open-source warp-ctc +<https://github.com/baidu-research/warp-ctc> library, which is used in +Deep Speech 2: End-toEnd Speech Recognition in English and Mandarin +<https://arxiv.org/pdf/1512.02595v1.pdf>, to compute Connectionist Temporal +Classification (CTC) loss.

+

More details of CTC can be found by referring to Connectionist Temporal +Classification: Labelling Unsegmented Sequence Data with Recurrent +Neural Networks

+
+

Note

+
    +
  • Let num_classes represent the category number. Considering the ‘blank’ +label needed by CTC, you need to use (num_classes + 1) as the input +size. Thus, the size of both warp_ctc and ‘input’ layer should +be set to num_classes + 1.
  • +
  • You can set ‘blank’ to any value ranged in [0, num_classes], which +should be consistent as that used in your labels.
  • +
  • As a native ‘softmax’ activation is interated to the warp-ctc library, +‘linear’ activation is expected instead in the ‘input’ layer.
  • +
+
+

The simple usage:

+
ctc = warp_ctc(input=input,
+                     label=label,
+                     size=1001,
+                     blank=1000,
+                     norm_by_times=False)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – The input layer.
  • +
  • label (paddle.v2.config_base.Layer) – The data layer of label with variable length.
  • +
  • size (int) – category numbers + 1.
  • +
  • name (basestring|None) – The name of this layer, which can not specify.
  • +
  • blank (int) – the ‘blank’ label used in ctc
  • +
  • norm_by_times (bool) – Whether to normalization by times. False by default.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer config.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

nce

+
+
+class paddle.v2.layer.nce(*args, **kwargs)
+

Noise-contrastive estimation. +Implements the method in the following paper: +A fast and simple algorithm for training neural probabilistic language models.

+

The example usage is:

+
cost = nce(input=layer1, label=layer2, weight=layer3,
+                 num_classes=3, neg_distribution=[0.1,0.3,0.6])
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – layer name
  • +
  • input (paddle.v2.config_base.Layer|list|tuple|collections.Sequence) – input layers. It could be a paddle.v2.config_base.Layer of list/tuple of paddle.v2.config_base.Layer.
  • +
  • label (paddle.v2.config_base.Layer) – label layer
  • +
  • weight (paddle.v2.config_base.Layer) – weight layer, can be None(default)
  • +
  • num_classes (int) – number of classes.
  • +
  • act (paddle.v2.Activation.Base) – Activation, default is Sigmoid.
  • +
  • num_neg_samples (int) – number of negative samples. Default is 10.
  • +
  • neg_distribution (list|tuple|collections.Sequence|None) – The distribution for generating the random negative labels. +A uniform distribution will be used if not provided. +If not None, its length must be equal to num_classes.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute|None|False) – Bias parameter attribute. True if no bias.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
Returns:

layer name.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

hsigmoid

+
+
+class paddle.v2.layer.hsigmoid(*args, **kwargs)
+

Organize the classes into a binary tree. At each node, a sigmoid function +is used to calculate the probability of belonging to the right branch. +This idea is from “F. Morin, Y. Bengio (AISTATS 05): +Hierarchical Probabilistic Neural Network Language Model.”

+

The example usage is:

+
cost = hsigmoid(input=[layer1, layer2],
+                label=data)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer|list|tuple) – Input layers. It could be a paddle.v2.config_base.Layer or list/tuple of +paddle.v2.config_base.Layer.
  • +
  • label (paddle.v2.config_base.Layer) – Label layer.
  • +
  • num_classes (int|None) – number of classes.
  • +
  • name (basestring) – layer name
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute|False) – Bias attribute. None means default bias. +False means no bias.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute|None) – Parameter Attribute. None means default parameter.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Check Layer

+
+

eos

+
+
+class paddle.v2.layer.eos(*args, **kwargs)
+

A layer for checking EOS for each sample: +- output_id = (input_id == conf.eos_id)

+

The result is stored in output_.ids. +It is used by recurrent layer group.

+

The example usage is:

+
eos = eos(input=layer, eos_id=id)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – Layer name.
  • +
  • input (paddle.v2.config_base.Layer) – Input layer name.
  • +
  • eos_id (int) – end id of sequence
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
+
Returns:

paddle.v2.config_base.Layer object.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/api/v2/config/networks.html b/release/0.10.0/doc/api/v2/config/networks.html new file mode 100644 index 0000000000..3965aa50da --- /dev/null +++ b/release/0.10.0/doc/api/v2/config/networks.html @@ -0,0 +1,945 @@ + + + + + + + + + + + Networks — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

Networks

+

The v2.networks module contains pieces of neural network that combine multiple layers.

+
+

NLP

+
+

sequence_conv_pool

+
+
+class paddle.v2.networks.sequence_conv_pool(*args, **kwargs)
+

Text convolution pooling layers helper.

+

Text input => Context Projection => FC Layer => Pooling => Output.

+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – name of output layer(pooling layer name)
  • +
  • input (paddle.v2.config_base.Layer) – name of input layer
  • +
  • context_len (int) – context projection length. See +context_projection’s document.
  • +
  • hidden_size (int) – FC Layer size.
  • +
  • context_start (int or None) – context projection length. See +context_projection’s context_start.
  • +
  • pool_type (BasePoolingType.) – pooling layer type. See pooling’s document.
  • +
  • context_proj_name (basestring) – context projection layer name. +None if user don’t care.
  • +
  • context_proj_param_attr (paddle.v2.attr.ParameterAttribute or None.) – context projection parameter attribute. +None if user don’t care.
  • +
  • fc_name (basestring) – fc layer name. None if user don’t care.
  • +
  • fc_param_attr (paddle.v2.attr.ParameterAttribute or None) – fc layer parameter attribute. None if user don’t care.
  • +
  • fc_bias_attr (paddle.v2.attr.ParameterAttribute or None) – fc bias parameter attribute. False if no bias, +None if user don’t care.
  • +
  • fc_act (paddle.v2.Activation.Base) – fc layer activation type. None means tanh
  • +
  • pool_bias_attr (paddle.v2.attr.ParameterAttribute or None.) – pooling layer bias attr. None if don’t care. +False if no bias.
  • +
  • fc_attr (paddle.v2.attr.ExtraAttribute) – fc layer extra attribute.
  • +
  • context_attr (paddle.v2.attr.ExtraAttribute) – context projection layer extra attribute.
  • +
  • pool_attr (paddle.v2.attr.ExtraAttribute) – pooling layer extra attribute.
  • +
+
Returns:

output layer name.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

text_conv_pool

+
+
+class paddle.v2.networks.text_conv_pool(*args, **kwargs)
+

Text convolution pooling layers helper.

+

Text input => Context Projection => FC Layer => Pooling => Output.

+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – name of output layer(pooling layer name)
  • +
  • input (paddle.v2.config_base.Layer) – name of input layer
  • +
  • context_len (int) – context projection length. See +context_projection’s document.
  • +
  • hidden_size (int) – FC Layer size.
  • +
  • context_start (int or None) – context projection length. See +context_projection’s context_start.
  • +
  • pool_type (BasePoolingType.) – pooling layer type. See pooling’s document.
  • +
  • context_proj_name (basestring) – context projection layer name. +None if user don’t care.
  • +
  • context_proj_param_attr (paddle.v2.attr.ParameterAttribute or None.) – context projection parameter attribute. +None if user don’t care.
  • +
  • fc_name (basestring) – fc layer name. None if user don’t care.
  • +
  • fc_param_attr (paddle.v2.attr.ParameterAttribute or None) – fc layer parameter attribute. None if user don’t care.
  • +
  • fc_bias_attr (paddle.v2.attr.ParameterAttribute or None) – fc bias parameter attribute. False if no bias, +None if user don’t care.
  • +
  • fc_act (paddle.v2.Activation.Base) – fc layer activation type. None means tanh
  • +
  • pool_bias_attr (paddle.v2.attr.ParameterAttribute or None.) – pooling layer bias attr. None if don’t care. +False if no bias.
  • +
  • fc_attr (paddle.v2.attr.ExtraAttribute) – fc layer extra attribute.
  • +
  • context_attr (paddle.v2.attr.ExtraAttribute) – context projection layer extra attribute.
  • +
  • pool_attr (paddle.v2.attr.ExtraAttribute) – pooling layer extra attribute.
  • +
+
Returns:

output layer name.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Images

+
+

img_conv_bn_pool

+
+
+class paddle.v2.networks.img_conv_bn_pool(*args, **kwargs)
+

Convolution, batch normalization, pooling group.

+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – group name
  • +
  • input (paddle.v2.config_base.Layer) – layer’s input
  • +
  • filter_size (int) – see img_conv’s document
  • +
  • num_filters (int) – see img_conv’s document
  • +
  • pool_size (int) – see img_pool’s document.
  • +
  • pool_type (BasePoolingType) – see img_pool’s document.
  • +
  • act (paddle.v2.Activation.Base) – see batch_norm’s document.
  • +
  • groups (int) – see img_conv’s document
  • +
  • conv_stride (int) – see img_conv’s document.
  • +
  • conv_padding (int) – see img_conv’s document.
  • +
  • conv_bias_attr (paddle.v2.attr.ParameterAttribute) – see img_conv’s document.
  • +
  • num_channel (int) – see img_conv’s document.
  • +
  • conv_param_attr (paddle.v2.attr.ParameterAttribute) – see img_conv’s document.
  • +
  • shared_bias (bool) – see img_conv’s document.
  • +
  • conv_attr (Extrapaddle.v2.config_base.Layer) – see img_conv’s document.
  • +
  • bn_param_attr (paddle.v2.attr.ParameterAttribute.) – see batch_norm’s document.
  • +
  • bn_bias_attr – see batch_norm’s document.
  • +
  • bn_attr – paddle.v2.attr.ParameterAttribute.
  • +
  • pool_stride (int) – see img_pool’s document.
  • +
  • pool_padding (int) – see img_pool’s document.
  • +
  • pool_attr (paddle.v2.attr.ExtraAttribute) – see img_pool’s document.
  • +
+
Returns:

Layer groups output

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

img_conv_group

+
+
+class paddle.v2.networks.img_conv_group(**kwargs)
+

Image Convolution Group, Used for vgg net.

+

TODO(yuyang18): Complete docs

+ +++ + + + + + +
Parameters:
    +
  • conv_batchnorm_drop_rate
  • +
  • input
  • +
  • conv_num_filter
  • +
  • pool_size
  • +
  • num_channels
  • +
  • conv_padding
  • +
  • conv_filter_size
  • +
  • conv_act
  • +
  • conv_with_batchnorm
  • +
  • pool_stride
  • +
  • pool_type
  • +
+
Returns:

+
+
+ +
+
+

simple_img_conv_pool

+
+
+class paddle.v2.networks.simple_img_conv_pool(*args, **kwargs)
+

Simple image convolution and pooling group.

+

Input => conv => pooling

+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – group name
  • +
  • input (paddle.v2.config_base.Layer) – input layer name.
  • +
  • filter_size (int) – see img_conv for details
  • +
  • num_filters (int) – see img_conv for details
  • +
  • pool_size (int) – see img_pool for details
  • +
  • pool_type (BasePoolingType) – see img_pool for details
  • +
  • act (paddle.v2.Activation.Base) – see img_conv for details
  • +
  • groups (int) – see img_conv for details
  • +
  • conv_stride (int) – see img_conv for details
  • +
  • conv_padding (int) – see img_conv for details
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute) – see img_conv for details
  • +
  • num_channel (int) – see img_conv for details
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – see img_conv for details
  • +
  • shared_bias (bool) – see img_conv for details
  • +
  • conv_attr (paddle.v2.attr.ExtraAttribute) – see img_conv for details
  • +
  • pool_stride (int) – see img_pool for details
  • +
  • pool_padding (int) – see img_pool for details
  • +
  • pool_attr (paddle.v2.attr.ExtraAttribute) – see img_pool for details
  • +
+
Returns:

Layer’s output

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

vgg_16_network

+
+
+class paddle.v2.networks.vgg_16_network(**kwargs)
+

Same model from https://gist.github.com/ksimonyan/211839e770f7b538e2d8

+ +++ + + + + + +
Parameters:
    +
  • num_classes
  • +
  • input_image (paddle.v2.config_base.Layer) –
  • +
  • num_channels (int) –
  • +
+
Returns:

+
+
+ +
+
+
+

Recurrent

+
+

LSTM

+
+

lstmemory_unit

+
+
+class paddle.v2.networks.lstmemory_unit(*args, **kwargs)
+

Define calculations that a LSTM unit performs in a single time step. +This function itself is not a recurrent layer, so that it can not be +directly applied to sequence input. This function is always used in +recurrent_group (see layers.py for more details) to implement attention +mechanism.

+

Please refer to Generating Sequences With Recurrent Neural Networks +for more details about LSTM. The link goes as follows: +.. _Link: https://arxiv.org/abs/1308.0850

+
+\[ \begin{align}\begin{aligned}i_t & = \sigma(W_{xi}x_{t} + W_{hi}h_{t-1} + W_{ci}c_{t-1} + b_i)\\f_t & = \sigma(W_{xf}x_{t} + W_{hf}h_{t-1} + W_{cf}c_{t-1} + b_f)\\c_t & = f_tc_{t-1} + i_t tanh (W_{xc}x_t+W_{hc}h_{t-1} + b_c)\\o_t & = \sigma(W_{xo}x_{t} + W_{ho}h_{t-1} + W_{co}c_t + b_o)\\h_t & = o_t tanh(c_t)\end{aligned}\end{align} \]
+

The example usage is:

+
lstm_step = lstmemory_unit(input=[layer1],
+                           size=256,
+                           act=paddle.v2.Activation.Tanh(),
+                           gate_act=paddle.v2.Activation.Sigmoid(),
+                           state_act=paddle.v2.Activation.Tanh())
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – input layer name.
  • +
  • name (basestring) – lstmemory unit name.
  • +
  • size (int) – lstmemory unit size.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – Parameter config, None if use default.
  • +
  • act (paddle.v2.Activation.Base) – lstm final activiation type
  • +
  • gate_act (paddle.v2.Activation.Base) – lstm gate activiation type
  • +
  • state_act (paddle.v2.Activation.Base) – lstm state activiation type.
  • +
  • mixed_bias_attr (paddle.v2.attr.ParameterAttribute|False) – bias parameter attribute of mixed layer. +False means no bias, None means default bias.
  • +
  • lstm_bias_attr (paddle.v2.attr.ParameterAttribute|False) – bias parameter attribute of lstm layer. +False means no bias, None means default bias.
  • +
  • mixed_attr (paddle.v2.attr.ExtraAttribute) – mixed layer’s extra attribute.
  • +
  • lstm_attr (paddle.v2.attr.ExtraAttribute) – lstm layer’s extra attribute.
  • +
  • get_output_attr (paddle.v2.attr.ExtraAttribute) – get output layer’s extra attribute.
  • +
+
Returns:

lstmemory unit name.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

lstmemory_group

+
+
+class paddle.v2.networks.lstmemory_group(*args, **kwargs)
+

lstm_group is a recurrent layer group version of Long Short Term Memory. It +does exactly the same calculation as the lstmemory layer (see lstmemory in +layers.py for the maths) does. A promising benefit is that LSTM memory +cell states, or hidden states in every time step are accessible to the +user. This is especially useful in attention model. If you do not need to +access the internal states of the lstm, but merely use its outputs, +it is recommended to use the lstmemory, which is relatively faster than +lstmemory_group.

+

NOTE: In PaddlePaddle’s implementation, the following input-to-hidden +multiplications: +\(W_{xi}x_{t}\) , \(W_{xf}x_{t}\), +\(W_{xc}x_t\), \(W_{xo}x_{t}\) are not done in lstmemory_unit to +speed up the calculations. Consequently, an additional mixed with +full_matrix_projection must be included before lstmemory_unit is called.

+

The example usage is:

+
lstm_step = lstmemory_group(input=[layer1],
+                            size=256,
+                            act=paddle.v2.Activation.Tanh(),
+                            gate_act=paddle.v2.Activation.Sigmoid(),
+                            state_act=paddle.v2.Activation.Tanh())
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – input layer name.
  • +
  • name (basestring) – lstmemory group name.
  • +
  • size (int) – lstmemory group size.
  • +
  • reverse (bool) – is lstm reversed
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – Parameter config, None if use default.
  • +
  • act (paddle.v2.Activation.Base) – lstm final activiation type
  • +
  • gate_act (paddle.v2.Activation.Base) – lstm gate activiation type
  • +
  • state_act (paddle.v2.Activation.Base) – lstm state activiation type.
  • +
  • mixed_bias_attr (paddle.v2.attr.ParameterAttribute|False) – bias parameter attribute of mixed layer. +False means no bias, None means default bias.
  • +
  • lstm_bias_attr (paddle.v2.attr.ParameterAttribute|False) – bias parameter attribute of lstm layer. +False means no bias, None means default bias.
  • +
  • mixed_attr (paddle.v2.attr.ExtraAttribute) – mixed layer’s extra attribute.
  • +
  • lstm_attr (paddle.v2.attr.ExtraAttribute) – lstm layer’s extra attribute.
  • +
  • get_output_attr (paddle.v2.attr.ExtraAttribute) – get output layer’s extra attribute.
  • +
+
Returns:

the lstmemory group.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

simple_lstm

+
+
+class paddle.v2.networks.simple_lstm(*args, **kwargs)
+

Simple LSTM Cell.

+

It just combine a mixed layer with fully_matrix_projection and a lstmemory +layer. The simple lstm cell was implemented as follow equations.

+
+\[ \begin{align}\begin{aligned}i_t & = \sigma(W_{xi}x_{t} + W_{hi}h_{t-1} + W_{ci}c_{t-1} + b_i)\\f_t & = \sigma(W_{xf}x_{t} + W_{hf}h_{t-1} + W_{cf}c_{t-1} + b_f)\\c_t & = f_tc_{t-1} + i_t tanh (W_{xc}x_t+W_{hc}h_{t-1} + b_c)\\o_t & = \sigma(W_{xo}x_{t} + W_{ho}h_{t-1} + W_{co}c_t + b_o)\\h_t & = o_t tanh(c_t)\end{aligned}\end{align} \]
+

Please refer Generating Sequences With Recurrent Neural Networks if you +want to know what lstm is. Link is here.

+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – lstm layer name.
  • +
  • input (paddle.v2.config_base.Layer) – input layer name.
  • +
  • size (int) – lstm layer size.
  • +
  • reverse (bool) – whether to process the input data in a reverse order
  • +
  • mat_param_attr (paddle.v2.attr.ParameterAttribute) – mixed layer’s matrix projection parameter attribute.
  • +
  • bias_param_attr (paddle.v2.attr.ParameterAttribute|False) – bias parameter attribute. False means no bias, None +means default bias.
  • +
  • inner_param_attr (paddle.v2.attr.ParameterAttribute) – lstm cell parameter attribute.
  • +
  • act (paddle.v2.Activation.Base) – lstm final activiation type
  • +
  • gate_act (paddle.v2.Activation.Base) – lstm gate activiation type
  • +
  • state_act (paddle.v2.Activation.Base) – lstm state activiation type.
  • +
  • mixed_attr (paddle.v2.attr.ExtraAttribute) – mixed layer’s extra attribute.
  • +
  • lstm_cell_attr (paddle.v2.attr.ExtraAttribute) – lstm layer’s extra attribute.
  • +
+
Returns:

lstm layer name.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

bidirectional_lstm

+
+
+class paddle.v2.networks.bidirectional_lstm(*args, **kwargs)
+

A bidirectional_lstm is a recurrent unit that iterates over the input +sequence both in forward and bardward orders, and then concatenate two +outputs form a final output. However, concatenation of two outputs +is not the only way to form the final output, you can also, for example, +just add them together.

+

Please refer to Neural Machine Translation by Jointly Learning to Align +and Translate for more details about the bidirectional lstm. +The link goes as follows: +.. _Link: https://arxiv.org/pdf/1409.0473v3.pdf

+

The example usage is:

+
bi_lstm = bidirectional_lstm(input=[input1], size=512)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • name (basestring) – bidirectional lstm layer name.
  • +
  • input (paddle.v2.config_base.Layer) – input layer.
  • +
  • size (int) – lstm layer size.
  • +
  • return_seq (bool) – If set False, outputs of the last time step are +concatenated and returned. +If set True, the entire output sequences that are +processed in forward and backward directions are +concatenated and returned.
  • +
+
Returns:

paddle.v2.config_base.Layer object accroding to the return_seq.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

GRU

+
+

gru_unit

+
+
+class paddle.v2.networks.gru_unit(*args, **kwargs)
+

Define calculations that a gated recurrent unit performs in a single time +step. This function itself is not a recurrent layer, so that it can not be +directly applied to sequence input. This function is almost always used in +the recurrent_group (see layers.py for more details) to implement attention +mechanism.

+

Please see grumemory in layers.py for the details about the maths.

+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – input layer name.
  • +
  • name (basestring) – name of the gru group.
  • +
  • size (int) – hidden size of the gru.
  • +
  • act (paddle.v2.Activation.Base) – type of the activation
  • +
  • gate_act (paddle.v2.Activation.Base) – type of the gate activation
  • +
  • gru_attr (paddle.v2.attr.ParameterAttribute|False) – Extra parameter attribute of the gru layer.
  • +
+
Returns:

the gru output layer.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

gru_group

+
+
+class paddle.v2.networks.gru_group(*args, **kwargs)
+

gru_group is a recurrent layer group version of Gated Recurrent Unit. It +does exactly the same calculation as the grumemory layer does. A promising +benefit is that gru hidden states are accessible to the user. This is +especially useful in attention model. If you do not need to access +any internal state, but merely use the outputs of a GRU, it is recommended +to use the grumemory, which is relatively faster.

+

Please see grumemory in layers.py for more detail about the maths.

+

The example usage is:

+
gru = gur_group(input=[layer1],
+                size=256,
+                act=paddle.v2.Activation.Tanh(),
+                gate_act=paddle.v2.Activation.Sigmoid())
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – input layer name.
  • +
  • name (basestring) – name of the gru group.
  • +
  • size (int) – hidden size of the gru.
  • +
  • reverse (bool) – whether to process the input data in a reverse order
  • +
  • act (paddle.v2.Activation.Base) – type of the activiation
  • +
  • gate_act (paddle.v2.Activation.Base) – type of the gate activiation
  • +
  • gru_bias_attr (paddle.v2.attr.ParameterAttribute|False) – bias. False means no bias, None means default bias.
  • +
  • gru_attr (paddle.v2.attr.ParameterAttribute|False) – Extra parameter attribute of the gru layer.
  • +
+
Returns:

the gru group.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+

simple_gru

+
+
+class paddle.v2.networks.simple_gru(*args, **kwargs)
+

You maybe see gru_step, grumemory in layers.py, gru_unit, gru_group, +simple_gru in network.py. The reason why there are so many interfaces is +that we have two ways to implement recurrent neural network. One way is to +use one complete layer to implement rnn (including simple rnn, gru and lstm) +with multiple time steps, such as recurrent, lstmemory, grumemory. But, +the multiplication operation \(W x_t\) is not computed in these layers. +See details in their interfaces in layers.py. +The other implementation is to use an recurrent group which can ensemble a +series of layers to compute rnn step by step. This way is flexible for +attenion mechanism or other complex connections.

+
    +
  • gru_step: only compute rnn by one step. It needs an memory as input +and can be used in recurrent group.
  • +
  • gru_unit: a wrapper of gru_step with memory.
  • +
  • gru_group: a GRU cell implemented by a combination of multiple layers in +recurrent group. +But \(W x_t\) is not done in group.
  • +
  • gru_memory: a GRU cell implemented by one layer, which does same calculation +with gru_group and is faster than gru_group.
  • +
  • simple_gru: a complete GRU implementation inlcuding \(W x_t\) and +gru_group. \(W\) contains \(W_r\), \(W_z\) and \(W\), see +formula in grumemory.
  • +
+

The computational speed is that, grumemory is relatively better than +gru_group, and gru_group is relatively better than simple_gru.

+

The example usage is:

+
gru = simple_gru(input=[layer1], size=256)
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • input (paddle.v2.config_base.Layer) – input layer name.
  • +
  • name (basestring) – name of the gru group.
  • +
  • size (int) – hidden size of the gru.
  • +
  • reverse (bool) – whether to process the input data in a reverse order
  • +
  • act (paddle.v2.Activation.Base) – type of the activiation
  • +
  • gate_act (paddle.v2.Activation.Base) – type of the gate activiation
  • +
  • gru_bias_attr (paddle.v2.attr.ParameterAttribute|False) – bias. False means no bias, None means default bias.
  • +
  • gru_attr (paddle.v2.attr.ParameterAttribute|False) – Extra parameter attribute of the gru layer.
  • +
+
Returns:

the gru group.

+
Return type:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

simple_attention

+
+
+class paddle.v2.networks.simple_attention(*args, **kwargs)
+

Calculate and then return a context vector by attention machanism. +Size of the context vector equals to size of the encoded_sequence.

+
+\[ \begin{align}\begin{aligned}a(s_{i-1},h_{j}) & = v_{a}f(W_{a}s_{t-1} + U_{a}h_{j})\\e_{i,j} & = a(s_{i-1}, h_{j})\\a_{i,j} & = \frac{exp(e_{i,j})}{\sum_{k=1}^{T_x}{exp(e_{i,k})}}\\c_{i} & = \sum_{j=1}^{T_{x}}a_{i,j}h_{j}\end{aligned}\end{align} \]
+

where \(h_{j}\) is the jth element of encoded_sequence, +\(U_{a}h_{j}\) is the jth element of encoded_proj +\(s_{i-1}\) is decoder_state +\(f\) is weight_act, and is set to tanh by default.

+

Please refer to Neural Machine Translation by Jointly Learning to +Align and Translate for more details. The link is as follows: +https://arxiv.org/abs/1409.0473.

+

The example usage is:

+
context = simple_attention(encoded_sequence=enc_seq,
+                           encoded_proj=enc_proj,
+                           decoder_state=decoder_prev,)
+
+
+ +++ + + + + + +
Parameters:
    +
  • name (basestring) – name of the attention model.
  • +
  • softmax_param_attr (paddle.v2.attr.ParameterAttribute) – parameter attribute of sequence softmax +that is used to produce attention weight
  • +
  • weight_act (Activation) – activation of the attention model
  • +
  • encoded_sequence (paddle.v2.config_base.Layer) – output of the encoder
  • +
  • encoded_proj (paddle.v2.config_base.Layer) – attention weight is computed by a feed forward neural +network which has two inputs : decoder’s hidden state +of previous time step and encoder’s output. +encoded_proj is output of the feed-forward network for +encoder’s output. Here we pre-compute it outside +simple_attention for speed consideration.
  • +
  • decoder_state (paddle.v2.config_base.Layer) – hidden state of decoder in previous time step
  • +
  • transform_param_attr (paddle.v2.attr.ParameterAttribute) – parameter attribute of the feed-forward +network that takes decoder_state as inputs to +compute attention weight.
  • +
+
Returns:

a context vector

+
+
+ +
+
+
+

Miscs

+
+

dropout_layer

+
+
+class paddle.v2.networks.dropout_layer(*args, **kwargs)
+

@TODO(yuyang18): Add comments.

+ +++ + + + + + +
Parameters:
    +
  • name
  • +
  • input
  • +
  • dropout_rate
  • +
+
Returns:

+
+
+ +
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/api/v2/config/optimizer.html b/release/0.10.0/doc/api/v2/config/optimizer.html new file mode 100644 index 0000000000..01071e7410 --- /dev/null +++ b/release/0.10.0/doc/api/v2/config/optimizer.html @@ -0,0 +1,425 @@ + + + + + + + + + + + Optimizer — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

Optimizer

+
+

Momentum

+
+
+class paddle.v2.optimizer.Momentum(momentum=None, sparse=False, **kwargs)
+

SGD Optimizer.

+

SGD is an optimization method, trying to find a neural network that +minimize the “cost/error” of it by iteration. In paddle’s implementation +SGD Optimizer is synchronized, which means all gradients will be wait to +calculate and reduced into one gradient, then do optimize operation.

+

The neural network consider the learning problem of minimizing an objective +function, that has the form of a sum

+
+\[Q(w) = \sum_{i}^{n} Q_i(w)\]
+

The value of function Q sometimes is the cost of neural network (Mean +Square Error between prediction and label for example). The function Q is +parametrised by w, the weight/bias of neural network. And weights is what to +be learned. The i is the i-th observation in (trainning) data.

+

So, the SGD method will optimize the weight by

+
+\[w = w - \eta \nabla Q(w) = w - \eta \sum_{i}^{n} \nabla Q_i(w)\]
+

where \(\eta\) is learning rate. And \(n\) is batch size.

+
+ +
+
+

Adam

+
+
+class paddle.v2.optimizer.Adam(beta1=0.9, beta2=0.999, epsilon=1e-08, **kwargs)
+

Adam optimizer. +The details of please refer Adam: A Method for Stochastic Optimization

+
+\[\begin{split}m(w, t) & = \beta_1 m(w, t-1) + (1 - \beta_1) \nabla Q_i(w) \\ +v(w, t) & = \beta_2 v(w, t-1) + (1 - \beta_2)(\nabla Q_i(w)) ^2 \\ +w & = w - \frac{\eta}{\sqrt{v(w,t) + \epsilon}}\end{split}\]
+ +++ + + + +
Parameters:
    +
  • beta1 (float) – the \(\beta_1\) in equation.
  • +
  • beta2 (float) – the \(\beta_2\) in equation.
  • +
  • epsilon (float) – the \(\epsilon\) in equation. It is used to prevent +divided by zero.
  • +
+
+
+ +
+
+

Adamax

+
+
+class paddle.v2.optimizer.Adamax(beta1=0.9, beta2=0.999, **kwargs)
+

Adamax optimizer.

+

The details of please refer this Adam: A Method for Stochastic Optimization

+
+\[\begin{split}m_t & = \beta_1 * m_{t-1} + (1-\beta_1)* \nabla Q_i(w) \\ +u_t & = max(\beta_2*u_{t-1}, abs(\nabla Q_i(w))) \\ +w_t & = w_{t-1} - (\eta/(1-\beta_1^t))*m_t/u_t\end{split}\]
+ +++ + + + +
Parameters:
    +
  • beta1 (float) – the \(\beta_1\) in the equation.
  • +
  • beta2 (float) – the \(\beta_2\) in the equation.
  • +
+
+
+ +
+
+

AdaGrad

+
+
+class paddle.v2.optimizer.AdaGrad(**kwargs)
+

Adagrad(for ADAptive GRAdient algorithm) optimizer.

+

For details please refer this Adaptive Subgradient Methods for +Online Learning and Stochastic Optimization.

+
+\[\begin{split}G &= \sum_{\tau=1}^{t} g_{\tau} g_{\tau}^T \\ +w & = w - \eta diag(G)^{-\frac{1}{2}} \circ g\end{split}\]
+
+ +
+
+

DecayedAdaGrad

+
+
+class paddle.v2.optimizer.DecayedAdaGrad(rho=0.95, epsilon=1e-06, **kwargs)
+

AdaGrad method with decayed sum gradients. The equations of this method +show as follow.

+
+\[\begin{split}E(g_t^2) &= \rho * E(g_{t-1}^2) + (1-\rho) * g^2 \\ +learning\_rate &= 1/sqrt( ( E(g_t^2) + \epsilon )\end{split}\]
+ +++ + + + +
Parameters:
    +
  • rho (float) – The \(\rho\) parameter in that equation
  • +
  • epsilon (float) – The \(\epsilon\) parameter in that equation.
  • +
+
+
+ +
+
+

AdaDelta

+
+
+class paddle.v2.optimizer.AdaDelta(rho=0.95, epsilon=1e-06, **kwargs)
+

AdaDelta method. The details of adadelta please refer to this +ADADELTA: AN ADAPTIVE LEARNING RATE METHOD.

+
+\[\begin{split}E(g_t^2) &= \rho * E(g_{t-1}^2) + (1-\rho) * g^2 \\ +learning\_rate &= sqrt( ( E(dx_{t-1}^2) + \epsilon ) / ( \ + E(g_t^2) + \epsilon ) ) \\ +E(dx_t^2) &= \rho * E(dx_{t-1}^2) + (1-\rho) * (-g*learning\_rate)^2\end{split}\]
+ +++ + + + +
Parameters:
    +
  • rho (float) – \(\rho\) in equation
  • +
  • epsilon (float) – \(\rho\) in equation
  • +
+
+
+ +
+
+

RMSProp

+
+
+class paddle.v2.optimizer.RMSProp(rho=0.95, epsilon=1e-06, **kwargs)
+

RMSProp(for Root Mean Square Propagation) optimizer. For details please +refer this slide.

+

The equations of this method as follows:

+
+\[\begin{split}v(w, t) & = \rho v(w, t-1) + (1 - \rho)(\nabla Q_{i}(w))^2 \\ +w & = w - \frac{\eta} {\sqrt{v(w,t) + \epsilon}} \nabla Q_{i}(w)\end{split}\]
+ +++ + + + +
Parameters:
    +
  • rho (float) – the \(\rho\) in the equation. The forgetting factor.
  • +
  • epsilon (float) – the \(\epsilon\) in the equation.
  • +
+
+
+ +
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/api/v2/config/pooling.html b/release/0.10.0/doc/api/v2/config/pooling.html new file mode 100644 index 0000000000..7871dfcc7d --- /dev/null +++ b/release/0.10.0/doc/api/v2/config/pooling.html @@ -0,0 +1,350 @@ + + + + + + + + + + + Pooling — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

Pooling

+
+

BasePool

+
+
+class paddle.v2.pooling.BasePool(name)
+

Base Pooling Type. +Note these pooling types are used for sequence input, not for images. +Each PoolingType contains one parameter:

+ +++ + + + +
Parameters:name (basestring) – pooling layer type name used by paddle.
+
+ +
+
+

Avg

+
+
+class paddle.v2.pooling.Avg(strategy='average')
+

Average pooling.

+

Return the average values for each dimension in sequence or time steps.

+
+\[sum(samples\_of\_a\_sequence)/sample\_num\]
+
+ +
+
+

Max

+
+
+class paddle.v2.pooling.Max(output_max_index=None)
+

Max pooling.

+

Return the very large values for each dimension in sequence or time steps.

+
+\[max(samples\_of\_a\_sequence)\]
+ +++ + + + +
Parameters:output_max_index (bool|None) – True if output sequence max index instead of max +value. None means use default value in proto.
+
+ +
+
+

Sum

+
+
+class paddle.v2.pooling.Sum
+

Sum pooling.

+

Return the sum values of each dimension in sequence or time steps.

+
+\[sum(samples\_of\_a\_sequence)\]
+
+ +
+
+

SquareRootN

+
+
+class paddle.v2.pooling.SquareRootN
+

Square Root Pooling.

+

Return the square root values of each dimension in sequence or time steps.

+
+\[sum(samples\_of\_a\_sequence)/sqrt(sample\_num)\]
+
+ +
+
+

CudnnAvg

+
+
+class paddle.v2.pooling.CudnnAvg
+

Cudnn average pooling only support GPU. Return the average value in the +pooling window.

+
+ +
+
+

CudnnMax

+
+
+class paddle.v2.pooling.CudnnMax
+

Cudnn max pooling only support GPU. Return the maxinum value in the +pooling window.

+
+ +
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/api/v2/data.html b/release/0.10.0/doc/api/v2/data.html new file mode 100644 index 0000000000..bf80cfb18e --- /dev/null +++ b/release/0.10.0/doc/api/v2/data.html @@ -0,0 +1,1323 @@ + + + + + + + + + + + Data Reader Interface and DataSets — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • API >
  • + +
  • Data Reader Interface and DataSets
  • +
+
+ +
+
+
+
+ +
+

Data Reader Interface and DataSets

+
+

DataTypes

+
+
+paddle.v2.data_type.dense_vector(dim, seq_type=0)
+

Dense Vector. It means the input feature is dense float vector. For example, +if the input is an image with 28*28 pixels, the input of Paddle neural +network should be a dense vector with dimension 784.

+ +++ + + + + + + + +
Parameters:
    +
  • dim (int) – dimension of this vector.
  • +
  • seq_type (int) – sequence type of input.
  • +
+
Returns:

An input type object.

+
Return type:

InputType

+
+
+ +
+
+paddle.v2.data_type.dense_vector_sequence(dim)
+

Data type of a sequence of dense vector.

+ +++ + + + + + + + +
Parameters:dim (int) – dimension of dense vector.
Returns:An input type object
Return type:InputType
+
+ +
+
+paddle.v2.data_type.integer_value(value_range, seq_type=0)
+

Data type of integer.

+ +++ + + + + + + + +
Parameters:
    +
  • seq_type (int) – sequence type of this input.
  • +
  • value_range (int) – range of this integer.
  • +
+
Returns:

An input type object

+
Return type:

InputType

+
+
+ +
+
+paddle.v2.data_type.integer_value_sequence(value_range)
+

Data type of a sequence of integer.

+ +++ + + + +
Parameters:value_range (int) – range of each element.
+
+ +
+
+paddle.v2.data_type.sparse_binary_vector(dim, seq_type=0)
+

Sparse binary vector. It means the input feature is a sparse vector and the +every element in this vector is either zero or one.

+ +++ + + + + + + + +
Parameters:
    +
  • dim (int) – dimension of this vector.
  • +
  • seq_type (int) – sequence type of this input.
  • +
+
Returns:

An input type object.

+
Return type:

InputType

+
+
+ +
+
+paddle.v2.data_type.sparse_binary_vector_sequence(dim)
+
+
Data type of a sequence of sparse vector, which every element is either zero
+
or one.
+
+ +++ + + + + + + + +
Parameters:dim (int) – dimension of sparse vector.
Returns:An input type object
Return type:InputType
+
+ +
+
+paddle.v2.data_type.sparse_non_value_slot(dim, seq_type=0)
+

Sparse binary vector. It means the input feature is a sparse vector and the +every element in this vector is either zero or one.

+ +++ + + + + + + + +
Parameters:
    +
  • dim (int) – dimension of this vector.
  • +
  • seq_type (int) – sequence type of this input.
  • +
+
Returns:

An input type object.

+
Return type:

InputType

+
+
+ +
+
+paddle.v2.data_type.sparse_value_slot(dim, seq_type=0)
+

Sparse vector. It means the input feature is a sparse vector. Most of the +elements in this vector are zero, others could be any float value.

+ +++ + + + + + + + +
Parameters:
    +
  • dim (int) – dimension of this vector.
  • +
  • seq_type (int) – sequence type of this input.
  • +
+
Returns:

An input type object.

+
Return type:

InputType

+
+
+ +
+
+paddle.v2.data_type.sparse_vector(dim, seq_type=0)
+

Sparse vector. It means the input feature is a sparse vector. Most of the +elements in this vector are zero, others could be any float value.

+ +++ + + + + + + + +
Parameters:
    +
  • dim (int) – dimension of this vector.
  • +
  • seq_type (int) – sequence type of this input.
  • +
+
Returns:

An input type object.

+
Return type:

InputType

+
+
+ +
+
+paddle.v2.data_type.sparse_vector_sequence(dim)
+

Data type of a sequence of sparse vector, which most elements are zero, +others could be any float value.

+ +++ + + + + + + + +
Parameters:dim (int) – dimension of sparse vector.
Returns:An input type object
Return type:InputType
+
+ +
+
+class paddle.v2.data_type.InputType(dim, seq_type, tp)
+

InputType is the base class for paddle input types.

+
+

Note

+

this is a base class, and should never be used by user.

+
+ +++ + + + +
Parameters:
    +
  • dim (int) – dimension of input. If the input is an integer, it means the +value range. Otherwise, it means the size of layer.
  • +
  • seq_type (int) – sequence type of input. 0 means it is not a sequence. 1 +means it is a variable length sequence. 2 means it is a +nested sequence.
  • +
  • type (int) – data type of input.
  • +
+
+
+ +
+
+

DataFeeder

+
+
+class paddle.v2.data_feeder.DataFeeder(data_types, feeding=None)
+

DataFeeder converts the data returned by paddle.reader into a data structure +of Arguments which is defined in the API. The paddle.reader usually returns +a list of mini-batch data entries. Each data entry in the list is one sample. +Each sample is a list or a tuple with one feature or multiple features. +DataFeeder converts this mini-batch data entries into Arguments in order +to feed it to C++ interface.

+

The simple usage shows below

+
feeding = ['image', 'label']
+data_types = enumerate_data_types_of_data_layers(topology)
+feeder = DataFeeder(data_types=data_types, feeding=feeding)
+
+minibatch_data = [([1.0, 2.0, 3.0, ...], 5)]
+
+arg = feeder(minibatch_data)
+
+
+

If mini-batch data and data layers are not one to one mapping, we +could pass a dictionary to feeding parameter to represent the mapping +relationship.

+
data_types = [('image', paddle.data_type.dense_vector(784)),
+              ('label', paddle.data_type.integer_value(10))]
+feeding = {'image':0, 'label':1}
+feeder = DataFeeder(data_types=data_types, feeding=feeding)
+minibatch_data = [
+                   ( [1.0,2.0,3.0,4.0], 5, [6,7,8] ),  # first sample
+                   ( [1.0,2.0,3.0,4.0], 5, [6,7,8] )   # second sample
+                 ]
+# or minibatch_data = [
+#                       [ [1.0,2.0,3.0,4.0], 5, [6,7,8] ],  # first sample
+#                       [ [1.0,2.0,3.0,4.0], 5, [6,7,8] ]   # second sample
+#                     ]
+arg = feeder.convert(minibatch_data)
+
+
+
+

Note

+

This module is for internal use only. Users should use the reader +interface.

+
+ +++ + + + +
Parameters:
    +
  • data_types (list) – A list to specify data name and type. Each item is +a tuple of (data_name, data_type).
  • +
  • feeding (dict|collections.Sequence|None) – A dictionary or a sequence to specify the position of each +data in the input data.
  • +
+
+
+
+convert(dat, argument=None)
+
+++ + + + +
Parameters:
    +
  • dat (list) – A list of mini-batch data. Each sample is a list or tuple +one feature or multiple features.
  • +
  • argument (py_paddle.swig_paddle.Arguments) – An Arguments object contains this mini-batch data with +one or multiple features. The Arguments definition is +in the API.
  • +
+
+
+ +
+ +
+
+

Reader

+

At training and testing time, PaddlePaddle programs need to read data. To ease +the users’ work to write data reading code, we define that

+
    +
  • A reader is a function that reads data (from file, network, random number +generator, etc) and yields data items.
  • +
  • A reader creator is a function that returns a reader function.
  • +
  • A reader decorator is a function, which accepts one or more readers, and +returns a reader.
  • +
  • A batch reader is a function that reads data (from reader, file, network, +random number generator, etc) and yields a batch of data items.
  • +
+
+

Data Reader Interface

+

Indeed, data reader doesn’t have to be a function that reads and yields data +items. It can be any function with no parameter that creates a iterable +(anything can be used in for x in iterable):

+
iterable = data_reader()
+
+
+

Element produced from the iterable should be a single entry of data, +not a mini batch. That entry of data could be a single item, or a tuple of +items. +Item should be of supported type (e.g., numpy 1d +array of float32, int, list of int)

+

An example implementation for single item data reader creator:

+
def reader_creator_random_image(width, height):
+    def reader():
+        while True:
+            yield numpy.random.uniform(-1, 1, size=width*height)
+return reader
+
+
+

An example implementation for multiple item data reader creator:

+
def reader_creator_random_image_and_label(width, height, label):
+    def reader():
+        while True:
+            yield numpy.random.uniform(-1, 1, size=width*height), label
+return reader
+
+
+

TODO(yuyang18): Should we add whole design doc here?

+
+
+paddle.v2.reader.map_readers(func, *readers)
+

Creates a data reader that outputs return value of function using +output of each data readers as arguments.

+ +++ + + + + + + + + + +
Parameters:
    +
  • func – function to use. The type of func should be (Sample) => Sample
  • +
  • readers – readers whose outputs will be used as arguments of func.
  • +
+
Type:

callable

+
Returns:

the created data reader.

+
Return type:

callable

+
+
+ +
+
+paddle.v2.reader.buffered(reader, size)
+

Creates a buffered data reader.

+

The buffered data reader will read and save data entries into a +buffer. Reading from the buffered data reader will proceed as long +as the buffer is not empty.

+ +++ + + + + + +
Parameters:
    +
  • reader (callable) – the data reader to read from.
  • +
  • size (int) – max buffer size.
  • +
+
Returns:

the buffered data reader.

+
+
+ +
+
+paddle.v2.reader.compose(*readers, **kwargs)
+

Creates a data reader whose output is the combination of input readers.

+

If input readers output following data entries: +(1, 2) 3 (4, 5) +The composed reader will output: +(1, 2, 3, 4, 5)

+ +++ + + + + + + + +
Parameters:
    +
  • readers – readers that will be composed together.
  • +
  • check_alignment (bool) – if True, will check if input readers are aligned +correctly. If False, will not check alignment and trailing outputs +will be discarded. Defaults to True.
  • +
+
Returns:

the new data reader.

+
Raises:

ComposeNotAligned – outputs of readers are not aligned. +Will not raise when check_alignment is set to False.

+
+
+ +
+
+paddle.v2.reader.chain(*readers)
+

Creates a data reader whose output is the outputs of input data +readers chained together.

+

If input readers output following data entries: +[0, 0, 0] +[1, 1, 1] +[2, 2, 2] +The chained reader will output: +[0, 0, 0, 1, 1, 1, 2, 2, 2]

+ +++ + + + + + + + +
Parameters:readers – input readers.
Returns:the new data reader.
Return type:callable
+
+ +
+
+paddle.v2.reader.shuffle(reader, buf_size)
+

Creates a data reader whose data output is shuffled.

+

Output from the iterator that created by original reader will be +buffered into shuffle buffer, and then shuffled. The size of shuffle buffer +is determined by argument buf_size.

+ +++ + + + + + + + +
Parameters:
    +
  • reader (callable) – the original reader whose output will be shuffled.
  • +
  • buf_size (int) – shuffle buffer size.
  • +
+
Returns:

the new reader whose output is shuffled.

+
Return type:

callable

+
+
+ +
+
+paddle.v2.reader.firstn(reader, n)
+

Limit the max number of samples that reader could return.

+ +++ + + + + + + + +
Parameters:
    +
  • reader (callable) – the data reader to read from.
  • +
  • n (int) – the max number of samples that return.
  • +
+
Returns:

the decorated reader.

+
Return type:

callable

+
+
+ +
+

Creator package contains some simple reader creator, which could be used in user +program.

+
+
+paddle.v2.reader.creator.np_array(x)
+

Creates a reader that yields elements of x, if it is a +numpy vector. Or rows of x, if it is a numpy matrix. +Or any sub-hyperplane indexed by the highest dimension.

+ +++ + + + + + +
Parameters:x – the numpy array to create reader from.
Returns:data reader created from x.
+
+ +
+
+paddle.v2.reader.creator.text_file(path)
+

Creates a data reader that outputs text line by line from given text file. +Trailing new line (‘\n’) of each line will be removed.

+ +++ + + + + + +
Path:path of the text file.
Returns:data reader of text file
+
+ +
+
+

minibatch

+
+
+paddle.v2.minibatch.batch(reader, batch_size)
+

Create a batched reader.

+ +++ + + + + + + + +
Parameters:
    +
  • reader (callable) – the data reader to read from.
  • +
  • batch_size (int) – size of each mini-batch
  • +
+
Returns:

the batched reader.

+
Return type:

callable

+
+
+ +
+
+

Dataset

+

Dataset package.

+
+

mnist

+

MNIST dataset.

+

This module will download dataset from http://yann.lecun.com/exdb/mnist/ and +parse training set and test set into paddle reader creators.

+
+
+paddle.v2.dataset.mnist.train()
+

MNIST training set creator.

+

It returns a reader creator, each sample in the reader is image pixels in +[0, 1] and label in [0, 9].

+ +++ + + + + + +
Returns:Training reader creator
Return type:callable
+
+ +
+
+paddle.v2.dataset.mnist.test()
+

MNIST test set cretor.

+

It returns a reader creator, each sample in the reader is image pixels in +[0, 1] and label in [0, 9].

+ +++ + + + + + +
Returns:Test reader creator.
Return type:callable
+
+ +
+
+

cifar

+

CIFAR dataset.

+

This module will download dataset from +https://www.cs.toronto.edu/~kriz/cifar.html and parse train/test set into +paddle reader creators.

+

The CIFAR-10 dataset consists of 60000 32x32 colour images in 10 classes, +with 6000 images per class. There are 50000 training images and 10000 test +images.

+

The CIFAR-100 dataset is just like the CIFAR-10, except it has 100 classes +containing 600 images each. There are 500 training images and 100 testing +images per class.

+
+
+paddle.v2.dataset.cifar.train100()
+

CIFAR-100 training set creator.

+

It returns a reader creator, each sample in the reader is image pixels in +[0, 1] and label in [0, 99].

+ +++ + + + + + +
Returns:Training reader creator
Return type:callable
+
+ +
+
+paddle.v2.dataset.cifar.test100()
+

CIFAR-100 test set cretor.

+

It returns a reader creator, each sample in the reader is image pixels in +[0, 1] and label in [0, 9].

+ +++ + + + + + +
Returns:Test reader creator.
Return type:callable
+
+ +
+
+paddle.v2.dataset.cifar.train10()
+

CIFAR-10 training set creator.

+

It returns a reader creator, each sample in the reader is image pixels in +[0, 1] and label in [0, 9].

+ +++ + + + + + +
Returns:Training reader creator
Return type:callable
+
+ +
+
+paddle.v2.dataset.cifar.test10()
+

CIFAR-10 test set cretor.

+

It returns a reader creator, each sample in the reader is image pixels in +[0, 1] and label in [0, 9].

+ +++ + + + + + +
Returns:Test reader creator.
Return type:callable
+
+ +
+
+

conll05

+

Conll05 dataset. +Paddle semantic role labeling Book and demo use this dataset as an example. +Because Conll05 is not free in public, the default downloaded URL is test set +of Conll05 (which is public). Users can change URL and MD5 to their Conll +dataset. And a pre-trained word vector model based on Wikipedia corpus is used +to initialize SRL model.

+
+
+paddle.v2.dataset.conll05.get_dict()
+

Get the word, verb and label dictionary of Wikipedia corpus.

+
+ +
+
+paddle.v2.dataset.conll05.get_embedding()
+

Get the trained word vector based on Wikipedia corpus.

+
+ +
+
+paddle.v2.dataset.conll05.test()
+

Conll05 test set creator.

+

Because the training dataset is not free, the test dataset is used for +training. It returns a reader creator, each sample in the reader is nine +features, including sentence sequence, predicate, predicate context, +predicate context flag and tagged sequence.

+ +++ + + + + + +
Returns:Training reader creator
Return type:callable
+
+ +
+
+

imdb

+

IMDB dataset.

+

This module downloads IMDB dataset from +http://ai.stanford.edu/%7Eamaas/data/sentiment/. This dataset contains a set +of 25,000 highly polar movie reviews for training, and 25,000 for testing. +Besides, this module also provides API for building dictionary.

+
+
+paddle.v2.dataset.imdb.build_dict(pattern, cutoff)
+

Build a word dictionary from the corpus. Keys of the dictionary are words, +and values are zero-based IDs of these words.

+
+ +
+
+paddle.v2.dataset.imdb.train(word_idx)
+

IMDB training set creator.

+

It returns a reader creator, each sample in the reader is an zero-based ID +sequence and label in [0, 1].

+ +++ + + + + + + + +
Parameters:word_idx (dict) – word dictionary
Returns:Training reader creator
Return type:callable
+
+ +
+
+paddle.v2.dataset.imdb.test(word_idx)
+

IMDB test set creator.

+

It returns a reader creator, each sample in the reader is an zero-based ID +sequence and label in [0, 1].

+ +++ + + + + + + + +
Parameters:word_idx (dict) – word dictionary
Returns:Test reader creator
Return type:callable
+
+ +
+
+

imikolov

+

imikolov’s simple dataset.

+

This module will download dataset from +http://www.fit.vutbr.cz/~imikolov/rnnlm/ and parse training set and test set +into paddle reader creators.

+
+
+paddle.v2.dataset.imikolov.build_dict()
+

Build a word dictionary from the corpus, Keys of the dictionary are words, +and values are zero-based IDs of these words.

+
+ +
+
+paddle.v2.dataset.imikolov.train(word_idx, n)
+

imikolov training set creator.

+

It returns a reader creator, each sample in the reader is a word ID +tuple.

+ +++ + + + + + + + +
Parameters:
    +
  • word_idx (dict) – word dictionary
  • +
  • n (int) – sliding window size
  • +
+
Returns:

Training reader creator

+
Return type:

callable

+
+
+ +
+
+paddle.v2.dataset.imikolov.test(word_idx, n)
+

imikolov test set creator.

+

It returns a reader creator, each sample in the reader is a word ID +tuple.

+ +++ + + + + + + + +
Parameters:
    +
  • word_idx (dict) – word dictionary
  • +
  • n (int) – sliding window size
  • +
+
Returns:

Test reader creator

+
Return type:

callable

+
+
+ +
+
+

movielens

+

Movielens 1-M dataset.

+

Movielens 1-M dataset contains 1 million ratings from 6000 users on 4000 +movies, which was collected by GroupLens Research. This module will download +Movielens 1-M dataset from +http://files.grouplens.org/datasets/movielens/ml-1m.zip and parse training +set and test set into paddle reader creators.

+
+
+paddle.v2.dataset.movielens.get_movie_title_dict()
+

Get movie title dictionary.

+
+ +
+
+paddle.v2.dataset.movielens.max_movie_id()
+

Get the maximum value of movie id.

+
+ +
+
+paddle.v2.dataset.movielens.max_user_id()
+

Get the maximum value of user id.

+
+ +
+
+paddle.v2.dataset.movielens.max_job_id()
+

Get the maximum value of job id.

+
+ +
+
+paddle.v2.dataset.movielens.movie_categories()
+

Get movie categoriges dictionary.

+
+ +
+
+paddle.v2.dataset.movielens.user_info()
+

Get user info dictionary.

+
+ +
+
+paddle.v2.dataset.movielens.movie_info()
+

Get movie info dictionary.

+
+ +
+
+class paddle.v2.dataset.movielens.MovieInfo(index, categories, title)
+

Movie id, title and categories information are stored in MovieInfo.

+
+ +
+
+class paddle.v2.dataset.movielens.UserInfo(index, gender, age, job_id)
+

User id, gender, age, and job information are stored in UserInfo.

+
+ +
+
+

sentiment

+

The script fetch and preprocess movie_reviews data set that provided by NLTK

+

TODO(yuyang18): Complete dataset.

+
+
+paddle.v2.dataset.sentiment.get_word_dict()
+

Sorted the words by the frequency of words which occur in sample +:return:

+
+
words_freq_sorted
+
+ +
+
+paddle.v2.dataset.sentiment.train()
+

Default training set reader creator

+
+ +
+
+paddle.v2.dataset.sentiment.test()
+

Default test set reader creator

+
+ +
+
+

uci_housing

+

UCI Housing dataset.

+

This module will download dataset from +https://archive.ics.uci.edu/ml/machine-learning-databases/housing/ and +parse training set and test set into paddle reader creators.

+
+
+paddle.v2.dataset.uci_housing.train()
+

UCI_HOUSING training set creator.

+

It returns a reader creator, each sample in the reader is features after +normalization and price number.

+ +++ + + + + + +
Returns:Training reader creator
Return type:callable
+
+ +
+
+paddle.v2.dataset.uci_housing.test()
+

UCI_HOUSING test set creator.

+

It returns a reader creator, each sample in the reader is features after +normalization and price number.

+ +++ + + + + + +
Returns:Test reader creator
Return type:callable
+
+ +
+
+

wmt14

+

WMT14 dataset. +The original WMT14 dataset is too large and a small set of data for set is +provided. This module will download dataset from +http://paddlepaddle.cdn.bcebos.com/demo/wmt_shrinked_data/wmt14.tgz and +parse training set and test set into paddle reader creators.

+
+
+paddle.v2.dataset.wmt14.train(dict_size)
+

WMT14 training set creator.

+

It returns a reader creator, each sample in the reader is source language +word ID sequence, target language word ID sequence and next word ID +sequence.

+ +++ + + + + + +
Returns:Training reader creator
Return type:callable
+
+ +
+
+paddle.v2.dataset.wmt14.test(dict_size)
+

WMT14 test set creator.

+

It returns a reader creator, each sample in the reader is source language +word ID sequence, target language word ID sequence and next word ID +sequence.

+ +++ + + + + + +
Returns:Test reader creator
Return type:callable
+
+ +
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/api/v2/model_configs.html b/release/0.10.0/doc/api/v2/model_configs.html new file mode 100644 index 0000000000..a6ea1f333f --- /dev/null +++ b/release/0.10.0/doc/api/v2/model_configs.html @@ -0,0 +1,262 @@ + + + + + + + + + + + Model Configuration — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • API >
  • + +
  • Model Configuration
  • +
+
+ +
+
+
+
+ +
+

Model Configuration

+ +
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/api/v2/run_logic.html b/release/0.10.0/doc/api/v2/run_logic.html new file mode 100644 index 0000000000..e45f3ffbd2 --- /dev/null +++ b/release/0.10.0/doc/api/v2/run_logic.html @@ -0,0 +1,599 @@ + + + + + + + + + + + Training and Inference — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • API >
  • + +
  • Training and Inference
  • +
+
+ +
+
+
+
+ +
+

Training and Inference

+
+

Parameters

+
+
+class paddle.v2.parameters.Parameters
+

Parameters is a dictionary contains Paddle’s parameter. The key of +Parameters is the name of parameter. The value of Parameters is a plain +numpy.ndarry .

+

Basically usage is

+
data = paddle.layers.data(...)
+...
+out = paddle.layers.fc(...)
+
+parameters = paddle.parameters.create(out)
+
+parameter_names = parameters.names()
+fc_mat = parameters.get('fc')
+print fc_mat
+
+
+
+
+keys()
+

keys are the names of each parameter.

+ +++ + + + + + +
Returns:list of parameter name
Return type:list
+
+ +
+
+names()
+

names of each parameter.

+ +++ + + + + + +
Returns:list of parameter name
Return type:list
+
+ +
+
+has_key(key)
+

has_key return true if there are such parameter name == key

+ +++ + + + + + +
Parameters:key (basestring) – Parameter name
Returns:True if contains such key
+
+ +
+
+get_shape(key)
+

get shape of the parameter.

+ +++ + + + + + + + +
Parameters:key (basestring) – parameter name
Returns:parameter’s shape
Return type:tuple
+
+ +
+
+get(parameter_name)
+

Get parameter by parameter name.

+ +++ + + + + + + + + + +
Note:It will always copy the parameter from C++ side.
Parameters:parameter_name (basestring) – parameter name
Returns:The parameter matrix.
Return type:np.ndarray
+
+ +
+
+set(parameter_name, value)
+

Set parameter by parameter name & matrix.

+ +++ + + + + + +
Parameters:
    +
  • parameter_name (basestring) – parameter name
  • +
  • value (np.ndarray) – parameter matrix
  • +
+
Returns:

Nothing.

+
+
+ +
+
+append_gradient_machine(gradient_machine)
+

append gradient machine to parameters. This method is used internally in +Trainer.train.

+ +++ + + + + + +
Parameters:gradient_machine (api.GradientMachine) – Paddle C++ GradientMachine object.
Returns:
+
+ +
+
+serialize(name, f)
+
+++ + + + + + +
Parameters:
    +
  • name
  • +
  • f (file) –
  • +
+
Returns:

+
+
+ +
+
+deserialize(name, f)
+
+++ + + + + + +
Parameters:
    +
  • name
  • +
  • f (file) –
  • +
+
Returns:

+
+
+ +
+ +
+
+

Trainer

+

Module Trainer

+
+
+class paddle.v2.trainer.SGD(cost, parameters, update_equation, extra_layers=None)
+

Simple SGD Trainer. +SGD Trainer combines data reader, network topolopy and update_equation together +to train/test a neural network.

+ +++ + + + +
Parameters:
    +
  • update_equation (paddle.v2.optimizer.Optimizer) – The optimizer object.
  • +
  • cost (paddle.v2.config_base.Layer) – Target cost that neural network should be optimized.
  • +
  • parameters (paddle.v2.parameters.Parameters) – The parameters dictionary.
  • +
  • extra_layers (paddle.v2.config_base.Layer) – Some layers in the neural network graph are not +in the path of cost layer.
  • +
+
+
+
+train(reader, num_passes=1, event_handler=None, feeding=None)
+

Training method. Will train num_passes of input data.

+ +++ + + + + + +
Parameters:
    +
  • reader (collections.Iterable) – A reader that reads and yeilds data items. Usually we use a +batched reader to do mini-batch training.
  • +
  • num_passes – The total train passes.
  • +
  • event_handler ((BaseEvent) => None) – Event handler. A method will be invoked when event +occurred.
  • +
  • feeding (dict|list) – Feeding is a map of neural network input name and array +index that reader returns.
  • +
+
Returns:

+
+
+ +
+
+test(reader, feeding=None)
+

Testing method. Will test input data.

+ +++ + + + + + +
Parameters:
    +
  • reader (collections.Iterable) – A reader that reads and yeilds data items.
  • +
  • feeding (dict) – Feeding is a map of neural network input name and array +index that reader returns.
  • +
+
Returns:

+
+
+ +
+ +
+
+

Event

+

Testing and training events.

+

There are:

+
    +
  • TestResult
  • +
  • BeginIteration
  • +
  • EndIteration
  • +
  • BeginPass
  • +
  • EndPass
  • +
+
+
+class paddle.v2.event.TestResult(evaluator, cost)
+

Result that trainer.test return.

+
+ +
+
+class paddle.v2.event.BeginPass(pass_id)
+

Event On One Pass Training Start.

+
+ +
+
+class paddle.v2.event.EndPass(pass_id, evaluator)
+

Event On One Pass Training Complete.

+
+ +
+
+class paddle.v2.event.BeginIteration(pass_id, batch_id)
+

Event On One Batch Training Start.

+
+ +
+
+class paddle.v2.event.EndIteration(pass_id, batch_id, cost, evaluator)
+

Event On One Batch Training Complete.

+
+ +
+
+

Inference

+
+
+paddle.v2.infer(output_layer, parameters, input, feeding=None, field='value')
+

Infer a neural network by given neural network output and parameters. The +user should pass either a batch of input data or reader method.

+

Example usages:

+
result = paddle.infer(prediction, parameters, input=SomeData,
+                      batch_size=32)
+print result
+
+
+ +++ + + + + + + + +
Parameters:
    +
  • output_layer (paddle.v2.config_base.Layer) – output of the neural network that would be inferred
  • +
  • parameters (paddle.v2.parameters.Parameters) – parameters of the neural network.
  • +
  • input (collections.Iterable) – input data batch. Should be a python iterable object, and each +element is the data batch.
  • +
  • feeding – Reader dictionary. Default could generate from input +value.
  • +
  • field (str) – The prediction field. It should in [value, id, prob]. +value and prob mean return the prediction probabilities, +id means return the prediction labels. Default is value. +Note that prob only used when output_layer is beam_search +or max_id.
  • +
+
Returns:

a numpy array

+
Return type:

numpy.ndarray

+
+
+ +
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/design/api.html b/release/0.10.0/doc/design/api.html new file mode 100644 index 0000000000..4c6aba5830 --- /dev/null +++ b/release/0.10.0/doc/design/api.html @@ -0,0 +1,470 @@ + + + + + + + + + + + PaddlePaddle Design Doc — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • PaddlePaddle Design Doc
  • +
+
+ +
+
+
+
+ +
+

PaddlePaddle Design Doc

+
+

Ingredients

+

As our design principle is starting from the essence: how could we +allow users to express and solve their problems at neural networks. +Some essential concepts that our API have to provide include:

+
    +
  1. A topology is an expression of layers.
  2. +
  3. A layer could be any kind of computation, including cost.
  4. +
  5. Some layers have parameters, some don’t. Most costs don’t have +parameters.
  6. +
  7. In some topologies, layers share parameters. For +example, +the network for training a ranking model.
  8. +
  9. At programming time, users specify topologies and possible sharing +of parameters. PaddlePaddle can figure out and create parameters +required (and possibly shared) by one or more topologies.
  10. +
+
+
+

Starting from Examples

+

As a summarization +of +our disucssion, +let us present two examples here:

+
+

Example 1. Sharing Parameters between Layers

+

We use +the +3-branch ranking model +in this example. For your convenience, I copy-a-paste the model’s +topology as follows:

+
A -> f -\
+Q -> f --> cost
+B -> f -/
+
+
+

The following program trains the topology including the cost, and then +use the sub-network in the trained topology in inference:

+
def f(in):
+    e = paddle.layer.embedding(in, parameter_name="embedding")
+    o = paddle.layer.softmax(e, parameter_name="semantic")
+    return o
+
+# Create 3 topologies (subnets), they share parameters because all
+# correspoinding layers have the same parameter names.
+fA = f(paddle.layer.data(input_name="A"))
+fB = f(paddle.layer.data(input_name="B"))
+fQ = f(paddle.layer.data(input_name="Q"))
+
+topology = paddle.layer.less_than(
+               paddle.layer.cross_entropy(fA, fQ),
+               paddle.layer.corss_entropy(fB, fQ))
+
+# Derive parameters required in topology and create them in model.
+parameters = paddle.parameters.create(topology)
+
+# Estimate parameters used in topology from data.
+paddle.train(topology, parameters, reader=read_ranking_model_data)
+
+# Inference using fA (or fB or fC, as they share their parameters).
+[testA, testB, testQ] = read_ranking_model_data()
+print "The sematic-vector of testA: ", paddle.infer(fA, parameters, testA)
+
+
+
+
+

Example 2. Sharing Parameters between “Models”

+

We use GAN in +this example. In the following example program, d0 and d1 +correspond to the two networks in the following figure:

+

+
def G(in):
+    # over-simplified example as G has only one layers:
+    return paddle.layer.fc(in, parameter_name="G")
+
+def D(in);
+    # again, over-simplified:
+    return paddle.layer.fc(in, parameter_name="D")
+
+# Construct the first topology, which contains both D and G.
+# By learning this topology, we update parameters of G.
+d0 = paddle.layer.should_be_false(D(G(paddle.layer.data())))
+
+# Construct a second topology d1, which contains only D. By
+# training this topology, we update parameters of D.  Note
+# that d1 share parameters with d0.
+d1 = paddle.layer.should_be_true(D(paddle.layer.data()))
+
+# Create parameters from a list of multiple topologies (models) for
+# the chance to share parameters between these topologies.
+parameters = paddle.parameters.create([d0, d1])
+
+# Iterative training of GAN.
+for ...:
+    train(d0, parameters, reader=read_from_rng, immutable_parameters={"D"})
+    train(d1, parameters, reader=read_from_realistic_images)
+
+# Use d1 for inference:
+print "D thinks a batch of images are realistic ", infer(d1, parameters, read_mnist_images)
+
+
+
+
+

Summarization

+

Above two programs reveal some important design concerns:

+
    +
  1. Users describe a topology as an expression of layers. Every layer +has a parameter name. If the users don’t specify it explicitly, it’s automatically generated as a unique name. By +specifying the parameter name, users can specify the sharing of +parameters between layers and even between topologies.
  2. +
  3. paddle.parameters.create figures out parameters required by one +or more topologies from parameter names of layers. It creates these +parameters and returns a ParameterSet object, which is in essence +a map from parameter names to parameters.
  4. +
  5. At training and inference time, paddle.train and paddle.infer +requires both a topology and the parameter set that holds the parameters of that topology. There are some reasons:
      +
    1. This prevents users from forgetting to call +paddle.parameters.create.
    2. +
    3. paddle.train needs to know which parameter set to update.
    4. +
    5. Users could load another (pre-trained) parameter set and use it +with a topology in train.infer.
    6. +
    +
  6. +
  7. By specifying the immutable_parameters parameter of +paddle.train, we can forbid the update of these parameters.
  8. +
+
+
+
+

Reader

+

Not all programming frameworks allow users to define I/O functions. +An example is Google MapReduce, which can only read from text, +SSTable, and RecordIO files. Hadoop MapReduce allows users to define +readers and writers by deriving from base classes Reader and +Writer. The former is less flexible but also less error-prone. We +decide to provide the flexibility to users to define their readers.

+

There are some open questions here:

+
    +
  1. Should a reader return a Python dictionary?
  2. +
  3. How to map multiple outputs from a reader to multiple data layers?
  4. +
  5. How to easily compose some existing readers to read more data and +feed a topology with more data layers?
  6. +
+
+
+

Training

+

The recommended way to training a model is to call paddle.train, +which simply calls paddle.trainer.Default, a global variable of +type paddle.trainer.SGD. Equivalently, we can do

+
opt = paddle.trainer.SGD(..., paddle.updater.Adam(...))
+opt.train(topology, parameters, reader=read, ...)
+
+
+
+

Updater

+

Please be aware that a trainer can accept an updater as its data +member, where an updater is a class derived from +paddle.trainer.Updater. This is to make it easier to customize +trainers, as discussed +here.

+
+
+

Event Handler

+

paddle.train and paddle.trainer.XXX.train take an optional +parameter event_handler, which should be either None or a function +that handle some events:

+
    +
  1. BeginTraining
  2. +
  3. EndTraining
  4. +
  5. BeginIteration
  6. +
  7. EndIteration
  8. +
  9. BeginPass
  10. +
  11. EndPass
  12. +
+

where EndPass is sent if and only if the reader yields +end_pass=True.

+

An example as follows:

+
def event_handler(event):
+    if ininstance(event, paddle.event.EndIteration):
+        print paddle.test(...)
+
+paddle.train(topology, parameters, reader, event_handler)
+
+
+

If we are writing a PaddlePaddle program in and for iPython/Jypyter, +we can use metaplotlib in the event handler to plot a curve of +cost/error versus iterations, as shown +here.

+
+
+

Distributed Training

+

If users want to do distributed training on a cluster, s/he should +call paddle.dist_train and provides access tokens to the cluster as +a parameter.

+

For example, if the user has a TLS certificate that allows him to +access a Kubernetes cluster, s/he should be able to call

+
paddle.dist_train(model,
+                  trainer=paddle.trainer.SGD(...,
+                                             paddle.updater.Adam(...)),
+                  reader=read,
+                  k8s_user="yi",
+                  k8s_token="kube_cluster_tls.pem",
+                  k8s_job="hello",
+                  num_parameter_servers=15)
+
+
+

The pseudo code if paddle.dist_train is as follows:

+
def dist_train(topology, parameters, trainer, reader, ...):
+    if os.getenv("KUBERNETES_SERVICE_HOST") == None:
+        image_name = k8s_user + '/' + k8s_job
+        docker_build(image_name)
+        docker_push()
+        kube_ctrl_start_job(image_name, k8s_user, k8s_token)
+    else:
+        rank = kube_list_containers_in_job_and_return_current_containers_rank()
+        if rank == 0:
+            master()
+        elif rank < 15:
+            parameter_server()
+        else:
+            trainer.train(model, reader=read)
+
+
+

Please be aware that if a process is running on the Kubernetes +cluster, it will have some environment variables pre-defined.

+

If dist_train doesn’t see these environment variables, it knows +that it’s running on users’ personal computer, and it should work as a +launcher. Otherwise, it knows that it’s running on the cluster and +need to figure out its role as either the master, or a trainer, or a +parameter server.

+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/design/dist/README.html b/release/0.10.0/doc/design/dist/README.html new file mode 100644 index 0000000000..b384e72b45 --- /dev/null +++ b/release/0.10.0/doc/design/dist/README.html @@ -0,0 +1,403 @@ + + + + + + + + + + + Design Doc: Distributed Training — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Design Doc: Distributed Training
  • +
+
+ +
+
+
+
+ +
+

Design Doc: Distributed Training

+
+

Objective

+

In this slides, we explained that we’d like PaddlePaddle running on general-purpose clusters like those managed by Kubernetes, so to address demands for AI from both Internet and non-Internet industries.

+

This poses technical challenges to PaddlePaddle:

+
    +
  1. Support fault-recovery.
  2. +
  3. Support both offline and online training.
  4. +
  5. Serverless computing of distributed training.
  6. +
+
+
+

Training Job

+

A training job will be created once user asks Paddle cloud to train a model. The training job is made up of different processes that collaboratively consume data and produce a trained model. There are three kinds of processes:

+
    +
  1. the master process, which dispatches tasks to
  2. +
  3. one or more trainer processes, which run distributed training and synchronize gradients/models via
  4. +
  5. one or more parameter server processes, where each holds a shard of the global model.
  6. +
+

Their relation is illustrated in the following graph:

+

+
+

Master Process

+

The master process will:

+
    +
  • Partition a dataset into tasks and dispatch tasks to trainers.
  • +
  • Keep track of training progress on the dataset with task queue. A training job will iterate on the dataset for a full pass until it goes into next pass.
  • +
+
+

Task

+

A task is a data shard to be trained. The total number of tasks will be much bigger than the total number of trainers. The number of data instances inside a task will be much bigger than the mini-batch size.

+
+
+

Task Queue

+

The master process has three task queues to track training progress. As illustrated in the graph below, Job A and Job B both have one master process. Each master process has three task queues.

+

+
    +
  • The todo queue holds tasks to be dispatched. When a job starts, the master process fills in the todo queue with all tasks.
  • +
  • The pending queue holds tasks that are currently training by trainers.
  • +
  • the done queue holds tasks that are already trained.
  • +
+

The life cycle of a single task is illustrated below:

+

+
    +
  1. When a new pass of training starts, all tasks will be placed in the todo queue.
  2. +
  3. The master process will dispatch few tasks to each trainer at a time, puts them in the pending queue and waits for completion.
  4. +
  5. The trainer will work on its tasks and tell the master process once a task is completed. The master process will dispatch a new task to that trainer.
  6. +
  7. If a task timeout. the master process will move it back to the todo queue. The timeout count will increase by one. If the timeout count is above a threshold, the task is likely to cause a trainer to crash, so it will be discarded.
  8. +
  9. The master process will move completed task to the done queue. When the todo queue is empty, the master process will start a new pass by moving all tasks in the done queue to todo queue and reset the timeout counter of all tasks to zero.
  10. +
+
+
+
+

Trainer Process

+

The trainer process will:

+
    +
  • Receive tasks from the master.
  • +
  • Work on the tasks: calculate and upload gradient to parameter servers, and update local model by downloading new parameters from parameter servers.
  • +
+
+
+

Parameter Server Process

+

Parameter server processes hold the parameters collaboratively. The parameters are partitioned on different parameter servers.

+

The parameter server will:

+
    +
  • Receive gradient from the trainers, update its parameters, and give the trainers the latest parameters.
  • +
  • Periodically save its parameters to distributed file system by overriding the previous save.
  • +
+
+
+

Optimization Algorithms

+

The communication pattern between the trainers and the parameter servers depends on the category of optimization algorithm:

+
    +
  • Synchronous Stochastic Gradient Descent (sync-SGD)

    +

    Parameter server will wait for all trainer finish n-th mini-batch calculation and send their gradients before broadcasting new parameters to every trainer. Every trainer will wait for the new parameters before starting n+1-th mini-batch.

    +
  • +
  • Asynchronous Stochastic Gradient Descent (async-SGD)

    +

    There will no synchronization between different trainers, and parameter server updates its parameter as soon as it receives new gradient:

    +
      +
    • Each trainer uploads its accumulated gradient every n mini-batches.
    • +
    • Every m mini-batches, the trainer downloads new parameters from parameter server.
    • +
    • n and m do not have to be equal.
    • +
    +
  • +
+
+
+
+

Fault Tolerant

+

The training job will pause if the master processes is dead, or any of the parameter server process is dead. They will be started by Kubernetes and recover in few minutes. Please refer to fault recovery.

+

The training job will continue to make progress if there is at least one training process running. The strategy depends on the type of optimization algorithm:

+
    +
  • sync-SGD

    +

    TODO

    +
  • +
  • async-SGD

    +

    Since async-SGD does not require synchronization between mini-batches, the system will by definition make process if at least one trainer is running.

    +
  • +
+
+
+

Fault Recovery

+

PaddlePaddle uses etcd to keep track of the states of processes. Because etcd is a distributed reliable key-value store, the restarted process can recover its states from etcd. The model parameters are periodically saved into distributed file system, so a restarted parameter server can recover its parameters from the saved file.

+

Now we will introduce how each process recovers from a failure, the graph below shows how etcd is used:

+

+
+

Master Process

+

When the master is started by the Kubernetes, it executes the following steps at startup:

+
    +
  1. Grabs a unique master lock in etcd, which prevents concurrent master instantiations.
  2. +
  3. Recovers the task queues from etcd if they already exist, otherwise, the master will create them.
  4. +
  5. Watches the trainer prefix keys /trainer/ on etcd to find the live trainers.
  6. +
  7. Starts dispatching the tasks to the trainers, and updates task queue using an etcd transaction to ensure lock is held during the update.
  8. +
+

The master process will kill itself if its etcd lease expires.

+

When the master process is dead for any reason, Kubernetes will restart it. It will be online again with all states recovered from etcd in few minutes.

+
+
+

Trainer Process

+

When the trainer is started by the Kubernetes, it executes the following steps at startup:

+
    +
  1. Watches the available parameter server prefix keys /ps/ on etcd and waits until the count of parameter servers reaches the desired count.
  2. +
  3. Generates a unique ID, and sets key /trainer/<unique ID> with its contact address as value. The key will be deleted when the lease expires, so the master will be aware of the trainer being online and offline.
  4. +
  5. Waits for tasks from the master to start training.
  6. +
+

If trainer’s etcd lease expires, it will try set key /trainer/<unique ID> again so that the master process can discover the trainer again.

+
+
+

Parameter Server Process

+

When the parameter server is started by Kubernetes, it executes the following steps at startup:

+
    +
  1. Read desired total number of parameter servers from etcd /ps_desired

    +
  2. +
  3. Search through etcd keys /ps/<index> (/ps/0, /ps/1, ...) to find the first non-existant key whose index is smaller than the total number of parameter servers. Set the key using a transaction to avoid concurrent writes. The parameter server’s index is inferred from the key name.

    +

    The desired number of parameter servers is 3:

    +

    +

    The third parameter server joined:

    +

    +
  4. +
  5. The parameter server can load parameters if there are already saved parameters in the save path (inferred from its index).

    +
  6. +
  7. Now the parameter server is ready for the trainers’ requests.

    +
  8. +
+

If the parameter server’s etcd lease expires, the parameter server will kill itself.

+
+
+
+

Dynamic Scaling

+
+

Trainer Scaling

+

TODO

+
+
+

Parameter Server Scaling

+

Not planned for v1.

+
+
+
+

Training Dataset Format

+

TODO

+
+
+

User Interface

+

TODO

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/design/multi_language_interface/why_plain_c.html b/release/0.10.0/doc/design/multi_language_interface/why_plain_c.html new file mode 100644 index 0000000000..eddc60f4d7 --- /dev/null +++ b/release/0.10.0/doc/design/multi_language_interface/why_plain_c.html @@ -0,0 +1,374 @@ + + + + + + + + + + + Paddle多语言接口实现 — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Paddle多语言接口实现
  • +
+
+ +
+
+
+
+ +
+

Paddle多语言接口实现

+
+

背景

+

Paddle需要一个多语言接口,这个接口需要做到:

+
    +
  • 有标准的,良好的文档
      +
    • 例如Python可以使用Sphinx生成API文档,golang可以使用GoDoc生成文档。这都需要这个接口按照约定俗成的规则来注释完备。
    • +
    +
  • +
  • 不同语言的接口适应不同语言的特性
      +
    • 例如Java与Python的错误处理是直接扔出来Exception,而对于golang错误处理应该使用返回值。
    • +
    +
  • +
+
+
+

基本要求

+

Paddle的多语言接口实现包括一下几个方面:

+
    +
  • 我们使用动态库来分发Paddle。在这个动态库中不嵌入任何其他语言的解释器,也不使用其他动态库。
  • +
  • 这个动态库使用C99标准的头文件导出一些函数,不使用/导出C++符号。
  • +
  • 不导出Paddle内部的结构体、类,仅仅使用void*指针作为类型的句柄(handler)。
  • +
  • 不使用SWIG这种代码生成器,而是手写多语言绑定。
  • +
+
+
+

原因

+
+

使用动态库来分发Paddle

+
    +
  • Paddle的链接方式比较复杂
      +
    • 如果用户要把Paddle的静态库(libpaddle.a)链接到自己的程序里,得使用 --whole-archive (for GCC) 或者 --force_load (for Clang) 参数,来确保把 libpaddle.a 里所有的符号都写入自己的程序的二进制文件里。这是因为 Paddle 的源码里使用了object factory design pattern
    • +
    +
  • +
  • 编译型语言,例如C/C++使用静态库和动态库难度差不多。但是解释性语言,例如Python或者Java,只能调用Paddle的动态库,否则得把Paddle静态库链接到解释器里。
      +
    • 解释性语言实际运行的二进制是解释器本身,如果调用静态库只能将静态库与解释器链接。例如对于Java来说,便是将静态库加入JVM中。这对于通常的Java的开发者来说,是不常见的做法。
    • +
    +
  • +
+
+
+

动态库中不嵌入任何其他语言的解释器

+
    +
  • 目前Paddle的进程模型是C++内部驱动Python解释器进行模型配置解析和数据读取
  • +
  • 我们最终的动态库中不嵌入Python或者其他任何语言的解释器。模型配置解析,数据读取均交由其他语言完成
  • +
+

现阶段Paddle有一个问题是,Paddle内嵌的Python解释器和外部使用的Python如果版本不同,会直接报错退出。

+
+
+

Paddle动态库中,不引用其他动态库

+
    +
  • 即这个动态库是不依赖于其他任何文件的,可以在任何机器上执行的。
  • +
+
+
+

这个动态库使用C99标准的头文件导出一些函数,不使用/导出C++符号

+
    +
  • 由于C++编译器没有名字修饰的规范,不同版本的编译器之间,对于同一段C++代码生成的符号可能不一致。而多语言接口需要直接读取生成的二进制(动态库),需要有稳定的导出符号。
  • +
  • C语言是有导出符号的标准的,并且在常见的平台上,都是ABI调用标准的。
  • +
  • 大多数语言都支持使用C语言API
  • +
  • 使用C99而不使用C89,是因为C99支持Fixed-width integer typesBoolean type
  • +
  • 使用C99而不使用C11的原因是,C11并没有Paddle特别需要的特性,且C99相对于C11使用更加广泛。
  • +
+
+
+

不导出Paddle内部的结构体、类,仅仅使用void*指针作为类型的句柄(handler)

+
    +
  • Paddle内部的类为C++书写,直接导出到C的接口比较困难。
  • +
  • 在C-API中使用void*来表示Paddle内部类。再在每一个API中自己检查类型。
  • +
+

在C的头文件 paddle_matrix.h 中:

+
typedef void* paddle_matrix;
+typedef int paddle_error;
+
+extern "C"
+paddle_error paddle_matrix_shape(paddle_matrix matrix,
+                                 uint64_t* width,
+                                 uint64_t* height);
+
+
+

而在CPP里面实现这个C的接口,文件 paddle_matrix.cpp

+
#include "paddle/math/matrix.hpp"
+extern "C"
+paddle_error paddle_matrix_shape(paddle_matrix matrix,
+                                 uint64_t *width,
+                                 uint64_t *height) {
+  auto m = (paddle::math::matrix*)(matrix);
+  *width = m->width();
+  *height = m->height();
+}
+
+
+

其中paddle/math/matrix.hpp文件内容为:

+
namespace paddle {
+namespace math {  
+
+class Matrix {
+  //...
+};
+
+}  // namespace math
+}  // namespace paddle
+
+
+
+
+

不使用SWIG这种代码生成器,而是手写多语言绑定

+
    +
  • SWIG是一个多语言接口的代码生成器。他的目标是使用C/C++写代码,SWIG直接读取C/C++的头文件,生成各种语言的绑定代码。
      +
    • 对于多语言接口,SWIG需要写一个interface文件。这个文件具有独特的语法,学习成本高。且增加一个第三方语言,就需要对这个第三方语言增加一些定义。有的时候,interface文件的写法非常tricky。社区贡献代码学习成本高。
    • +
    • SWIG暴露的接口保留了C++的接口样式,很难保证多语言代码风格的一致性。(函数命名,错误处理)
        +
      • 因为SWIG在第三方语言中暴露的函数名,类名和C++中完全一致。C++的命名风格并不能适应其他第三方语言。如果使用SWIG我们需要将在interface文件里,将大量的SomeCppClass重命名成some_python_class,或者SomeGoTypes
      • +
      • 对于不同语言,错误处理的方式也不尽相同。例如对于Java或者Python,最常见的错误处理方式是Exception,而对于Golang,错误处理方式是返回值。而SWIG只能简单的暴露C++接口,无法做到对于各种语言错误处理方式的适配。
      • +
      +
    • +
    • 对于大多数语言,直接使用C语言的.h并不困难。例如Python的cffi或者Cython, golang的cgo
    • +
    • SWIG支持的语言或者解释器有局限。例如对于Python,使用SWIG只支持CPython解释器,而不支持PyPy解释器。
    • +
    +
  • +
+
+
+
+

原因列表

+

| 结论 | 对比 | 原因 | +|—| — | — | +| 使用动态库 | 不使用静态库 | 解释型语言只能调用动态库,Paddle静态库链接复杂 | +| 不嵌入其他语言解释器 | 不嵌入Python解释器 | Paddle C++目前嵌入Python解释器,会导致不同版本Python在一个进程里的bug | +| 不引用其他动态库 | | Paddle一个动态库可以在任何Linux系统上运行 | +| 使用C99做接口 | 不使用C++做接口 | C有标准的ABI,C99是目前C最广泛的使用标准,且C99支持bool类型和定长整数(uint64_t等)类型 | +| 使用void*作为类句柄 | 不显示的写每个类具体包含什么| 实现简单,并且让接口脱离实现细节 | +| 手写多语言绑定 | 不使用SWIG | 使用SWIG需要多语言绑定的开发人员熟练掌握SWIG配置,社区参与困难。SWIG生成的代码不能保证多语言代码风格的一致性 |

+
+
+

简单实现

+

TBD

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/design/reader/README.html b/release/0.10.0/doc/design/reader/README.html new file mode 100644 index 0000000000..4de366bd53 --- /dev/null +++ b/release/0.10.0/doc/design/reader/README.html @@ -0,0 +1,420 @@ + + + + + + + + + + + Python Data Reader Design Doc — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Python Data Reader Design Doc
  • +
+
+ +
+
+
+
+ +
+

Python Data Reader Design Doc

+

At training and testing time, PaddlePaddle programs need to read data. To ease the users’ work to write data reading code, we define that

+
    +
  • A reader is a function that reads data (from file, network, random number generator, etc) and yields data items.
  • +
  • A reader creator is a function that returns a reader function.
  • +
  • A reader decorator is a function, which accepts one or more readers, and returns a reader.
  • +
  • A batch reader is a function that reads data (from reader, file, network, random number generator, etc) and yields a batch of data items.
  • +
+

and provide function which converts reader to batch reader, frequently used reader creators and reader decorators.

+
+

Data Reader Interface

+

Indeed, data reader doesn’t have to be a function that reads and yields data items. It can be any function with no parameter that creates a iterable (anything can be used in for x in iterable):

+
iterable = data_reader()
+
+
+

Element produced from the iterable should be a single entry of data, not a mini batch. That entry of data could be a single item, or a tuple of items. Item should be of supported type (e.g., numpy 1d array of float32, int, list of int)

+

An example implementation for single item data reader creator:

+
def reader_creator_random_image(width, height):
+    def reader():
+        while True:
+            yield numpy.random.uniform(-1, 1, size=width*height)
+    return reader
+
+
+

An example implementation for multiple item data reader creator:

+
def reader_creator_random_image_and_label(width, height, label):
+    def reader():
+        while True:
+            yield numpy.random.uniform(-1, 1, size=width*height), label
+    return reader
+
+
+
+
+

Batch Reader Interface

+

batch reader can be any function with no parameter that creates a iterable (anything can be used in for x in iterable). The output of the iterable should be a batch (list) of data items. Each item inside the list must be a tuple.

+

Here are valid outputs:

+
# a mini batch of three data items. Each data item consist three columns of data, each of which is 1.
+[(1, 1, 1),
+(2, 2, 2),
+(3, 3, 3)]
+
+# a mini batch of three data items, each data item is a list (single column).
+[([1,1,1],),
+([2,2,2],),
+([3,3,3],),
+
+
+

Please note that each item inside the list must be a tuple, below is an invalid output:

+
 # wrong, [1,1,1] needs to be inside a tuple: ([1,1,1],).
+ # Otherwise it's ambiguous whether [1,1,1] means a single column of data [1, 1, 1],
+ # or three column of datas, each of which is 1.
+[[1,1,1],
+[2,2,2],
+[3,3,3]]
+
+
+

It’s easy to convert from reader to batch reader:

+
mnist_train = paddle.dataset.mnist.train()
+mnist_train_batch_reader = paddle.batch(mnist_train, 128)
+
+
+

Also easy to create custom batch reader:

+
def custom_batch_reader():
+    while True:
+        batch = []
+        for i in xrange(128):
+            batch.append((numpy.random.uniform(-1, 1, 28*28),)) # note that it's a tuple being appended.
+        yield batch
+
+mnist_random_image_batch_reader = custom_batch_reader
+
+
+
+
+

Usage

+

batch reader, mapping from item(s) read to data layer, batch size and number of total pass will be passed into paddle.train:

+
# two data layer is created:
+image_layer = paddle.layer.data("image", ...)
+label_layer = paddle.layer.data("label", ...)
+
+# ...
+batch_reader = paddle.batch(paddle.dataset.mnist.train(), 128)
+paddle.train(batch_reader, {"image":0, "label":1}, 128, 10, ...)
+
+
+
+
+

Data Reader Decorator

+

Data reader decorator takes a single or multiple data reader, returns a new data reader. It is similar to a python decorator, but it does not use @ syntax.

+

Since we have a strict interface for data readers (no parameter, return a single data item). Data reader can be used flexiable via data reader decorators. Following are a few examples:

+
+

Prefetch Data

+

Since reading data may take time and training can not proceed without data. It is generally a good idea to prefetch data.

+

Use paddle.reader.buffered to prefetch data:

+
buffered_reader = paddle.reader.buffered(paddle.dataset.mnist.train(), 100)
+
+
+

buffered_reader will try to buffer (prefetch) 100 data entries.

+
+
+

Compose Multiple Data Readers

+

For example, we want to use a source of real images (reusing mnist dataset), and a source of random images as input for Generative Adversarial Networks.

+

We can do:

+
def reader_creator_random_image(width, height):
+    def reader():
+        while True:
+            yield numpy.random.uniform(-1, 1, size=width*height)
+    return reader
+
+def reader_creator_bool(t):
+    def reader:
+        while True:
+            yield t
+    return reader
+
+true_reader = reader_creator_bool(True)
+false_reader = reader_creator_bool(False)
+
+reader = paddle.reader.compose(paddle.dataset.mnist.train(), data_reader_creator_random_image(20, 20), true_reader, false_reader)
+# Skipped 1 because paddle.dataset.mnist.train() produces two items per data entry.
+# And we don't care second item at this time.
+paddle.train(paddle.batch(reader, 128), {"true_image":0, "fake_image": 2, "true_label": 3, "false_label": 4}, ...)
+
+
+
+
+

Shuffle

+

Given shuffle buffer size n, paddle.reader.shuffle will return a data reader that buffers n data entries and shuffle them before a data entry is read.

+

Example:

+
reader = paddle.reader.shuffle(paddle.dataset.mnist.train(), 512)
+
+
+
+
+
+

Q & A

+
+

Why reader return only a single entry, but not a mini batch?

+

Always returning a single entry make reusing existing data readers much easier (e.g., if existing reader return not a single entry but 3 entries, training code will be more complex because it need to handle cases like batch size 2).

+

We provide function paddle.batch to turn (single entry) reader into batch reader.

+
+
+

Why do we need batch reader, isn’t train take reader and batch_size as arguments sufficient?

+

In most of the case, train taking reader and batch_size as arguments would be sufficent. However sometimes user want to customize order of data entries inside a mini batch. Or even change batch size dynamically.

+
+
+

Why use a dictionary but not a list to provide mapping?

+

We decided to use dictionary ({"image":0, "label":1}) instead of list (["image", "label"]) is because that user can easily resue item (e.g., using {"image_a":0, "image_b":0, "label":1}) or skip item (e.g., using {"image_a":0, "label":2}).

+
+
+

How to create custom data reader creator

+
def image_reader_creator(image_path, label_path, n):
+    def reader():
+        f = open(image_path)
+        l = open(label_path)
+        images = numpy.fromfile(
+            f, 'ubyte', count=n * 28 * 28).reshape((n, 28 * 28)).astype('float32')
+        images = images / 255.0 * 2.0 - 1.0
+        labels = numpy.fromfile(l, 'ubyte', count=n).astype("int")
+        for i in xrange(n):
+            yield images[i, :], labels[i] # a single entry of data is created each time
+        f.close()
+        l.close()
+    return reader
+
+# images_reader_creator creates a reader
+reader = image_reader_creator("/path/to/image_file", "/path/to/label_file", 1024)
+paddle.train(paddle.batch(reader, 128), {"image":0, "label":1}, ...)
+
+
+
+
+

How is paddle.train implemented

+

An example implementation of paddle.train could be:

+
def train(batch_reader, mapping, batch_size, total_pass):
+    for pass_idx in range(total_pass):
+        for mini_batch in batch_reader(): # this loop will never end in online learning.
+            do_forward_backward(mini_batch, mapping)
+
+
+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/genindex.html b/release/0.10.0/doc/genindex.html new file mode 100644 index 0000000000..ee5993c9cb --- /dev/null +++ b/release/0.10.0/doc/genindex.html @@ -0,0 +1,292 @@ + + + + + + + + + + + + Index — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Index
  • +
+
+ + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/getstarted/basic_usage/index_en.html b/release/0.10.0/doc/getstarted/basic_usage/index_en.html new file mode 100644 index 0000000000..974ef3ce8a --- /dev/null +++ b/release/0.10.0/doc/getstarted/basic_usage/index_en.html @@ -0,0 +1,331 @@ + + + + + + + + + + + Simple Linear Regression — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Simple Linear Regression
  • +
+
+ +
+
+
+
+ +
+

Simple Linear Regression

+

PaddlePaddle is a deep learning platform open-sourced by Baidu. With PaddlePaddle, you can easily train a classic neural network within a couple lines of configuration, or you can build sophisticated models that provide state-of-the-art performance on difficult learning tasks like sentiment analysis, machine translation, image caption and so on.

+
+

Problem Background

+

Now, to give you a hint of what using PaddlePaddle looks like, let’s start with a fundamental learning problem - simple linear regression: you have observed a set of two-dimensional data points of X and Y, where X is an explanatory variable and Y is corresponding dependent variable, and you want to recover the underlying correlation between X and Y. Linear regression can be used in many practical scenarios. For example, X can be a variable about house size, and Y a variable about house price. You can build a model that captures relationship between them by observing real estate markets.

+
+
+

Prepare the Data

+

Suppose the true relationship can be characterized as Y = 2X + 0.3, let’s see how to recover this pattern only from observed data. Here is a piece of python code that feeds synthetic data to PaddlePaddle. The code is pretty self-explanatory, the only extra thing you need to add for PaddlePaddle is a definition of input data types.

+
+
# dataprovider.py
+from paddle.trainer.PyDataProvider2 import *
+import random
+
+# define data types of input: 2 real numbers
+@provider(input_types=[dense_vector(1), dense_vector(1)],use_seq=False)
+def process(settings, input_file):
+    for i in xrange(2000):
+        x = random.random()
+        yield [x], [2*x+0.3]
+
+
+
+
+
+

Train a NeuralNetwork

+

To recover this relationship between X and Y, we use a neural network with one layer of linear activation units and a square error cost layer. Don’t worry if you are not familiar with these terminologies, it’s just saying that we are starting from a random line Y' = wX + b , then we gradually adapt w and b to minimize the difference between Y' and Y. Here is what it looks like in PaddlePaddle:

+
+
# trainer_config.py
+from paddle.trainer_config_helpers import *
+
+# 1. read data. Suppose you saved above python code as dataprovider.py
+data_file = 'empty.list'
+with open(data_file, 'w') as f: f.writelines(' ')
+define_py_data_sources2(train_list=data_file, test_list=None,
+        module='dataprovider', obj='process',args={})
+
+# 2. learning algorithm
+settings(batch_size=12, learning_rate=1e-3, learning_method=MomentumOptimizer())
+
+# 3. Network configuration
+x = data_layer(name='x', size=1)
+y = data_layer(name='y', size=1)
+y_predict = fc_layer(input=x, param_attr=ParamAttr(name='w'), size=1, act=LinearActivation(), bias_attr=ParamAttr(name='b'))
+cost = mse_cost(input=y_predict, label=y)
+outputs(cost)
+
+
+
+

Some of the most fundamental usages of PaddlePaddle are demonstrated:

+
    +
  • The first part shows how to feed data into PaddlePaddle. In general cases, PaddlePaddle reads raw data from a list of files, and then do some user-defined process to get real input. In this case, we only need to create a placeholder file since we are generating synthetic data on the fly.
  • +
  • The second part describes learning algorithm. It defines in what ways adjustments are made to model parameters. PaddlePaddle provides a rich set of optimizers, but a simple momentum based optimizer will suffice here, and it processes 12 data points each time.
  • +
  • +
    Finally, the network configuration. It usually is as simple as “stacking” layers. Three kinds of layers are used in this configuration:
    +
      +
    • Data Layer: a network always starts with one or more data layers. They provide input data to the rest of the network. In this problem, two data layers are used respectively for X and Y.
    • +
    • FC Layer: FC layer is short for Fully Connected Layer, which connects all the input units to current layer and does the actual computation specified as activation function. Computation layers like this are the fundamental building blocks of a deeper model.
    • +
    • Cost Layer: in training phase, cost layers are usually the last layers of the network. They measure the performance of current model, and provide guidence to adjust parameters.
    • +
    +
    +
    +
  • +
+

Now that everything is ready, you can train the network with a simple command line call:

+
+
paddle train --config=trainer_config.py --save_dir=./output --num_passes=30
+
+
+
+

This means that PaddlePaddle will train this network on the synthectic dataset for 30 passes, and save all the models under path ./output. You will see from the messages printed out during training phase that the model cost is decreasing as time goes by, which indicates we are getting a closer guess.

+
+
+

Evaluate the Model

+

Usually, a different dataset that left out during training phase should be used to evalute the models. However, we are lucky enough to know the real answer: w=2, b=0.3, thus a better option is to check out model parameters directly.

+

In PaddlePaddle, training is just to get a collection of model parameters, which are w and b in this case. Each parameter is saved in an individual file in the popular numpy array format. Here is the code that reads parameters from last pass.

+
+
import numpy as np
+import os
+
+def load(file_name):
+    with open(file_name, 'rb') as f:
+        f.read(16) # skip header for float type.
+        return np.fromfile(f, dtype=np.float32)
+
+print 'w=%.6f, b=%.6f' % (load('output/pass-00029/w'), load('output/pass-00029/b'))
+# w=1.999743, b=0.300137
+
+
+../../_images/parameters.png +
+

Although starts from a random guess, you can see that value of w changes quickly towards 2 and b changes quickly towards 0.3. In the end, the predicted line is almost identical with real answer.

+

There, you have recovered the underlying pattern between X and Y only from observed data.

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/getstarted/build_and_install/build_from_source_en.html b/release/0.10.0/doc/getstarted/build_and_install/build_from_source_en.html new file mode 100644 index 0000000000..7b8c78f737 --- /dev/null +++ b/release/0.10.0/doc/getstarted/build_and_install/build_from_source_en.html @@ -0,0 +1,464 @@ + + + + + + + + + + + Installing from Sources — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

Installing from Sources

+ +
+

Download and Setup

+

You can download PaddlePaddle from the github source.

+
git clone https://github.com/PaddlePaddle/Paddle paddle
+cd paddle
+
+
+
+
+

Requirements

+

To compile the source code, your computer must be equipped with the following dependencies.

+
    +
  • Compiler: GCC >= 4.8 or Clang >= 3.3 (AppleClang >= 5.1) and gfortran compiler
  • +
  • CMake: CMake >= 3.0 (at least CMake 3.4 on Mac OS X)
  • +
  • BLAS: MKL, OpenBlas or ATLAS
  • +
  • Python: only support Python 2.7
  • +
+

Note: For CUDA 7.0 and CUDA 7.5, GCC 5.0 and up are not supported! +For CUDA 8.0, GCC versions later than 5.3 are not supported!

+
+

Options

+

PaddlePaddle supports some build options.

+

+ + + + + + + + + + + + + + + + + + + + + + + + +
OptionalDescription
WITH_GPUCompile PaddlePaddle with NVIDIA GPU
WITH_AVXCompile PaddlePaddle with AVX intrinsics
WITH_DSOCompile PaddlePaddle with dynamic linked CUDA
WITH_TESTINGCompile PaddlePaddle with unit testing
WITH_SWIG_PYCompile PaddlePaddle with inference api
WITH_STYLE_CHECKCompile PaddlePaddle with style check
WITH_PYTHONCompile PaddlePaddle with python interpreter
WITH_DOUBLECompile PaddlePaddle with double precision
WITH_RDMACompile PaddlePaddle with RDMA support
WITH_TIMERCompile PaddlePaddle with stats timer
WITH_PROFILERCompile PaddlePaddle with GPU profiler
WITH_DOCCompile PaddlePaddle with documentation
WITH_COVERAGECompile PaddlePaddle with code coverage
COVERALLS_UPLOADPackage code coverage data to coveralls
ON_TRAVISExclude special unit test on Travis CI
+

Note:

+
    +
  • The GPU version works best with Cuda Toolkit 8.0 and cuDNN v5.
  • +
  • Other versions like Cuda Toolkit 7.0, 7.5 and cuDNN v3, v4 are also supported.
  • +
  • To utilize cuDNN v5, Cuda Toolkit 7.5 is prerequisite and vice versa.
  • +
+

As a simple example, consider the following:

+
    +
  1. BLAS Dependencies(optional)

    +

    CMake will search BLAS libraries from system. If not found, OpenBLAS will be downloaded, built and installed automatically. +To utilize preinstalled BLAS, you can simply specify MKL, OpenBLAS or ATLAS via MKL_ROOT, OPENBLAS_ROOT or ATLAS_ROOT.

    +
    # specify MKL
    +cmake .. -DMKL_ROOT=<mkl_path>
    +# or specify OpenBLAS
    +cmake .. -DOPENBLAS_ROOT=<openblas_path>
    +
    +
    +
  2. +
  3. Doc Dependencies(optional)

    +

    To generate PaddlePaddle’s documentation, install dependencies and set -DWITH_DOC=ON as follows:

    +
    pip install 'sphinx>=1.4.0'
    +pip install sphinx_rtd_theme recommonmark
    +
    +# install doxygen on Ubuntu
    +sudo apt-get install doxygen 
    +# install doxygen on Mac OS X
    +brew install doxygen
    +
    +# active docs in cmake
    +cmake .. -DWITH_DOC=ON`
    +
    +
    +
  4. +
+
+
+
+

Build on Ubuntu 14.04

+
+

Install Dependencies

+
    +
  • Paddle Dependencies

    +
    # necessary
    +sudo apt-get update
    +sudo apt-get install -y git curl gcc g++ gfortran make build-essential automake
    +sudo apt-get install -y python python-pip python-numpy libpython-dev bison
    +sudo pip install 'protobuf==3.1.0.post1'
    +
    +# install cmake 3.4
    +curl -sSL https://cmake.org/files/v3.4/cmake-3.4.1.tar.gz | tar -xz && \
    +    cd cmake-3.4.1 && ./bootstrap && make -j4 && sudo make install && \
    +    cd .. && rm -rf cmake-3.4.1
    +
    +
    +
  • +
  • GPU Dependencies (optional)

    +

    To build GPU version, you will need the following installed:

    +
      1. a CUDA-capable GPU
    +  2. A supported version of Linux with a gcc compiler and toolchain
    +  3. NVIDIA CUDA Toolkit (available at http://developer.nvidia.com/cuda-downloads)
    +  4. NVIDIA cuDNN Library (availabel at https://developer.nvidia.com/cudnn)
    +
    +
    +

    The CUDA development environment relies on tight integration with the host development environment, +including the host compiler and C runtime libraries, and is therefore only supported on +distribution versions that have been qualified for this CUDA Toolkit release.

    +

    After downloading cuDNN library, issue the following commands:

    +
    sudo tar -xzf cudnn-7.5-linux-x64-v5.1.tgz -C /usr/local
    +sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
    +
    +
    +

    Then you need to set LD_LIBRARY_PATH, PATH environment variables in ~/.bashrc.

    +
    export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
    +export PATH=/usr/local/cuda/bin:$PATH
    +
    +
    +
  • +
+
+
+

Build and Install

+

As usual, the best option is to create build folder under paddle project directory.

+
mkdir build && cd build
+
+
+

Finally, you can build and install PaddlePaddle:

+
# you can add build option here, such as:    
+cmake .. -DCMAKE_INSTALL_PREFIX=<path to install>
+# please use sudo make install, if you want to install PaddlePaddle into the system
+make -j `nproc` && make install
+# set PaddlePaddle installation path in ~/.bashrc
+export PATH=<path to install>/bin:$PATH
+# install PaddlePaddle Python modules.
+sudo pip install <path to install>/opt/paddle/share/wheels/*.whl
+
+
+
+
+
+

Build on Centos 7

+
+

Install Dependencies

+
    +
  • CPU Dependencies

    +
    # necessary
    +sudo yum update
    +sudo yum install -y epel-release
    +sudo yum install -y make cmake3 python-devel python-pip gcc-gfortran swig git
    +sudo pip install wheel numpy
    +sudo pip install 'protobuf>=3.0.0'
    +
    +
    +
  • +
  • GPU Dependencies (optional)

    +

    To build GPU version, you will need the following installed:

    +
      1. a CUDA-capable GPU
    +  2. A supported version of Linux with a gcc compiler and toolchain
    +  3. NVIDIA CUDA Toolkit (available at http://developer.nvidia.com/cuda-downloads)
    +  4. NVIDIA cuDNN Library (availabel at https://developer.nvidia.com/cudnn)
    +
    +
    +

    The CUDA development environment relies on tight integration with the host development environment, +including the host compiler and C runtime libraries, and is therefore only supported on +distribution versions that have been qualified for this CUDA Toolkit release.

    +

    After downloading cuDNN library, issue the following commands:

    +
    sudo tar -xzf cudnn-7.5-linux-x64-v5.1.tgz -C /usr/local
    +sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
    +
    +
    +

    Then you need to set LD_LIBRARY_PATH, PATH environment variables in ~/.bashrc.

    +
    export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
    +export PATH=/usr/local/cuda/bin:$PATH
    +
    +
    +
  • +
+
+
+

Build and Install

+

As usual, the best option is to create build folder under paddle project directory.

+
mkdir build && cd build
+
+
+

Finally, you can build and install PaddlePaddle:

+
# you can add build option here, such as:    
+cmake3 .. -DCMAKE_INSTALL_PREFIX=<path to install>
+# please use sudo make install, if you want to install PaddlePaddle into the system
+make -j `nproc` && make install
+# set PaddlePaddle installation path in ~/.bashrc
+export PATH=<path to install>/bin:$PATH
+# install PaddlePaddle Python modules.
+sudo pip install <path to install>/opt/paddle/share/wheels/*.whl
+
+
+
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/getstarted/build_and_install/docker_install_en.html b/release/0.10.0/doc/getstarted/build_and_install/docker_install_en.html new file mode 100644 index 0000000000..31fef38e3f --- /dev/null +++ b/release/0.10.0/doc/getstarted/build_and_install/docker_install_en.html @@ -0,0 +1,464 @@ + + + + + + + + + + + PaddlePaddle in Docker Containers — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

PaddlePaddle in Docker Containers

+

Docker container is currently the only officially-supported way to +running PaddlePaddle. This is reasonable as Docker now runs on all +major operating systems including Linux, Mac OS X, and Windows. +Please be aware that you will need to change Dockers settings to make full use +of your hardware resource on Mac OS X and Windows.

+
+

Working With Docker

+

Docker is simple as long as we understand a few basic concepts:

+
    +
  • image: A Docker image is a pack of software. It could contain one or more programs and all their dependencies. For example, the PaddlePaddle’s Docker image includes pre-built PaddlePaddle and Python and many Python packages. We can run a Docker image directly, other than installing all these software. We can type

    +
    docker images
    +
    +
    +

    to list all images in the system. We can also run

    +
    docker pull paddlepaddle/paddle:0.10.0rc2
    +
    +
    +

    to download a Docker image, paddlepaddle/paddle in this example, +from Dockerhub.com.

    +
  • +
  • container: considering a Docker image a program, a container is a +“process” that runs the image. Indeed, a container is exactly an +operating system process, but with a virtualized filesystem, network +port space, and other virtualized environment. We can type

    +
    docker run paddlepaddle/paddle:0.10.0rc2
    +
    +
    +

    to start a container to run a Docker image, paddlepaddle/paddle in this example.

    +
  • +
  • By default docker container have an isolated file system namespace, +we can not see the files in the host file system. By using volume, +mounted files in host will be visible inside docker container. +Following command will mount current dirctory into /data inside +docker container, run docker container from debian image with +command ls /data.

    +
    docker run --rm -v $(pwd):/data debian ls /data
    +
    +
    +
  • +
+
+
+

Usage of CPU-only and GPU Images

+

We package PaddlePaddle’s compile environment into a Docker image, +called the develop image, it contains all compiling tools that +PaddlePaddle needs. We package compiled PaddlePaddle program into a +Docker image as well, called the production image, it contains all +runtime environment that running PaddlePaddle needs. For each version +of PaddlePaddle, we release both of them. Production image includes +CPU-only version and a CUDA GPU version and their no-AVX versions.

+

We put the docker images on dockerhub.com. You can find the +latest versions under “tags” tab at dockerhub.com. If you are in +China, you can use our Docker image registry mirror to speed up the +download process. To use it, please replace all paddlepaddle/paddle in +the commands to docker.paddlepaddle.org/paddle.

+
    +
  1. Production images, this image might have multiple variants:

    +
      +
    • GPU/AVX:paddlepaddle/paddle:<version>-gpu
    • +
    • GPU/no-AVX:paddlepaddle/paddle:<version>-gpu-noavx
    • +
    • CPU/AVX:paddlepaddle/paddle:<version>
    • +
    • CPU/no-AVX:paddlepaddle/paddle:<version>-noavx
    • +
    +

    Please be aware that the CPU-only and the GPU images both use the +AVX instruction set, but old computers produced before 2008 do not +support AVX. The following command checks if your Linux computer +supports AVX:

    +
    if cat /proc/cpuinfo | grep -i avx; then echo Yes; else echo No; fi
    +
    +
    +

    To run the CPU-only image as an interactive container:

    +
    docker run -it --rm paddlepaddle/paddle:0.10.0rc2 /bin/bash
    +
    +
    +

    Above method work with the GPU image too – the recommended way is +using nvidia-docker.

    +

    Please install nvidia-docker first following this tutorial.

    +

    Now you can run a GPU image:

    +
    nvidia-docker run -it --rm paddlepaddle/paddle:0.10.0rc2-gpu /bin/bash
    +
    +
    +
  2. +
  3. development image paddlepaddle/paddle:<version>-dev

    +

    This image has packed related develop tools and runtime +environment. Users and developers can use this image instead of +their own local computer to accomplish development, build, +releasing, document writing etc. While different version of paddle +may depends on different version of libraries and tools, if you +want to setup a local environment, you must pay attention to the +versions. The development image contains:

    +
      +
    • gcc/clang
    • +
    • nvcc
    • +
    • Python
    • +
    • sphinx
    • +
    • woboq
    • +
    • sshd
    • +
    +

    Many developers use servers with GPUs, they can use ssh to login to +the server and run docker exec to enter the docker +container and start their work. Also they can start a development +docker image with SSHD service, so they can login to the container +and start work.

    +
  4. +
+
+
+

Train Model Using Python API

+

Our official docker image provides a runtime for PaddlePaddle +programs. The typical workflow will be as follows:

+

Create a directory as workspace:

+
mkdir ~/workspace
+
+
+

Edit a PaddlePaddle python program using your favourite editor

+
emacs ~/workspace/example.py
+
+
+

Run the program using docker:

+
docker run --rm -v ~/workspace:/workspace paddlepaddle/paddle:0.10.0rc2 python /workspace/example.py
+
+
+

Or if you are using GPU for training:

+
nvidia-docker run --rm -v ~/workspace:/workspace paddlepaddle/paddle:0.10.0rc2-gpu python /workspace/example.py
+
+
+

Above commands will start a docker container by running python +/workspace/example.py. It will stop once python +/workspace/example.py finishes.

+

Another way is to tell docker to start a /bin/bash session and +run PaddlePaddle program interactively:

+
docker run -it -v ~/workspace:/workspace paddlepaddle/paddle:0.10.0rc2 /bin/bash
+# now we are inside docker container
+cd /workspace
+python example.py
+
+
+

Running with GPU is identical:

+
nvidia-docker run -it -v ~/workspace:/workspace paddlepaddle/paddle:0.10.0rc2-gpu /bin/bash
+# now we are inside docker container
+cd /workspace
+python example.py
+
+
+
+
+

Develop PaddlePaddle or Train Model Using C++ API

+

We will be using PaddlePaddle development image since it contains all +compiling tools and dependencies.

+
    +
  1. Build PaddlePaddle develop image

    +

    Use following command to build PaddlePaddle develop image:

    +
    git clone https://github.com/PaddlePaddle/Paddle.git && cd Paddle
    +docker build -t paddle:dev .
    +
    +
    +
  2. +
  3. Build PaddlePaddle production image

    +

    There are two steps for building production image, the first step is to run:

    +
    docker run -v $(pwd):/paddle -e "WITH_GPU=OFF" -e "WITH_AVX=OFF" -e "WITH_TEST=ON" paddle:dev
    +
    +
    +

    The above command will compile PaddlePaddle and create a Dockerfile for building production image. All the generated files are in the build directory. “WITH_GPU” controls if the generated production image supports GPU. “WITH_AVX” controls if the generated production image supports AVX. “WITH_TEST” controls if the unit test will be generated.

    +

    The second step is to run:

    +
    docker build -t paddle:prod -f build/Dockerfile ./build
    +
    +
    +

    The above command will generate the production image by copying the compiled PaddlePaddle program into the image.

    +
  4. +
  5. Run unit test

    +

    Following command will run unit test:

    +
    docker run -it -v $(pwd):/paddle paddle:dev bash -c "cd /paddle/build && ctest"
    +
    +
    +
  6. +
+
+
+

PaddlePaddle Book

+

The Jupyter Notebook is an open-source web application that allows +you to create and share documents that contain live code, equations, +visualizations and explanatory text in a single browser.

+

PaddlePaddle Book is an interactive Jupyter Notebook for users and developers. +We already exposed port 8888 for this book. If you want to +dig deeper into deep learning, PaddlePaddle Book definitely is your best choice.

+

We provide a packaged book image, simply issue the command:

+
docker run -p 8888:8888 paddlepaddle/book
+
+
+

Then, you would back and paste the address into the local browser:

+
http://localhost:8888/
+
+
+

That’s all. Enjoy your journey!

+
+
+

Documentation

+

Paddle Docker images include an HTML version of C++ source code +generated using woboq code browser. This makes it easy +for users to browse and understand the C++ source code.

+

As long as we give the Paddle Docker container a name, we can run an +additional Nginx Docker container to serve the volume from the Paddle +container:

+
docker run -d --name paddle-cpu-doc paddle:<version>
+docker run -d --volumes-from paddle-cpu-doc -p 8088:80 nginx
+
+
+

Then we can direct our Web browser to the HTML version of source code +at http://localhost:8088/paddle/

+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/getstarted/build_and_install/index_en.html b/release/0.10.0/doc/getstarted/build_and_install/index_en.html new file mode 100644 index 0000000000..97f9451697 --- /dev/null +++ b/release/0.10.0/doc/getstarted/build_and_install/index_en.html @@ -0,0 +1,273 @@ + + + + + + + + + + + Install and Build — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

Install and Build

+ +
+

Build from Source

+
+

Warning

+

Please use deb package or docker image to install paddle. The building guide is used for hacking or contributing PaddlePaddle source code.

+
+ +
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/getstarted/build_and_install/ubuntu_install_en.html b/release/0.10.0/doc/getstarted/build_and_install/ubuntu_install_en.html new file mode 100644 index 0000000000..6a641b85ae --- /dev/null +++ b/release/0.10.0/doc/getstarted/build_and_install/ubuntu_install_en.html @@ -0,0 +1,267 @@ + + + + + + + + + + + Debian Package installation guide — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

Debian Package installation guide

+

PaddlePaddle supports deb pacakge. The installation of this deb package is tested in ubuntu 14.04, but it should be support other debian based linux, too.

+

There are four versions of debian package, cpu, gpu, cpu-noavx, gpu-noavx. And noavx version is used to support CPU which does not contain AVX instructions. The download url of deb package is : https://github.com/baidu/Paddle/releases/

+

After downloading PaddlePaddle deb packages, you can use gdebi install.

+
gdebi paddle-*.deb
+
+
+

If gdebi is not installed, you can use sudo apt-get install gdebi to install it.

+

Or you can use following commands to install PaddlePaddle.

+
dpkg -i paddle-*.deb
+apt-get install -f
+
+
+

And if you use GPU version deb package, you need to install CUDA toolkit and cuDNN, and set related environment variables(such as LD_LIBRARY_PATH) first. It is normal when dpkg -i get errors. apt-get install -f will continue install paddle, and install dependences.

+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/getstarted/index_en.html b/release/0.10.0/doc/getstarted/index_en.html new file mode 100644 index 0000000000..f8e8512436 --- /dev/null +++ b/release/0.10.0/doc/getstarted/index_en.html @@ -0,0 +1,257 @@ + + + + + + + + + + + GET STARTED — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • GET STARTED
  • +
+
+ +
+
+
+
+ +
+

GET STARTED

+ + +
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/howto/deep_model/rnn/index_en.html b/release/0.10.0/doc/howto/deep_model/rnn/index_en.html new file mode 100644 index 0000000000..6c3b311ca5 --- /dev/null +++ b/release/0.10.0/doc/howto/deep_model/rnn/index_en.html @@ -0,0 +1,252 @@ + + + + + + + + + + + RNN Models — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • HOW TO >
  • + +
  • RNN Models
  • +
+
+ +
+
+
+
+ +
+

RNN Models

+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/howto/deep_model/rnn/rnn_config_en.html b/release/0.10.0/doc/howto/deep_model/rnn/rnn_config_en.html new file mode 100644 index 0000000000..fa9f70dff2 --- /dev/null +++ b/release/0.10.0/doc/howto/deep_model/rnn/rnn_config_en.html @@ -0,0 +1,440 @@ + + + + + + + + + + + RNN Configuration — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • RNN Configuration
  • +
+
+ +
+
+
+
+ +
+

RNN Configuration

+

This tutorial will guide you how to configure recurrent neural network in PaddlePaddle. PaddlePaddle supports highly flexible and efficient recurrent neural network configuration. In this tutorial, you will learn how to:

+
    +
  • prepare sequence data for learning recurrent neural networks.
  • +
  • configure recurrent neural network architecture.
  • +
  • generate sequence with learned recurrent neural network models.
  • +
+

We will use vanilla recurrent neural network, and sequence to sequence model to guide you through these steps. The code of sequence to sequence model can be found at demo/seqToseq.

+
+

Prepare Sequence Data

+

PaddlePaddle does not need any preprocessing to sequence data, such as padding. The only thing that needs to be done is to set the type of the corresponding type to input. For example, the following code snippets defines three input. All of them are sequences, and the size of them are src_dict, trg_dict, and trg_dict:

+
settings.input_types = [
+  integer_value_sequence(len(settings.src_dict)),
+  integer_value_sequence(len(settings.trg_dict)),
+  integer_value_sequence(len(settings.trg_dict))]
+
+
+

Then at the process function, each yield function will return three integer lists. Each integer list is treated as a sequence of integers:

+
yield src_ids, trg_ids, trg_ids_next
+
+
+

For more details description of how to write a data provider, please refer to PyDataProvider2 . The full data provider file is located at demo/seqToseq/dataprovider.py.

+
+
+

Configure Recurrent Neural Network Architecture

+
+

Simple Gated Recurrent Neural Network

+

Recurrent neural network process a sequence at each time step sequentially. An example of the architecture of LSTM is listed below.

+../../../_images/bi_lstm.jpg +

Generally speaking, a recurrent network perform the following operations from \(t=1\) to \(t=T\), or reversely from \(t=T\) to \(t=1\).

+
+\[x_{t+1} = f_x(x_t), y_t = f_y(x_t)\]
+

where \(f_x(.)\) is called step function, and \(f_y(.)\) is called output function. In vanilla recurrent neural network, both of the step function and output function are very simple. However, PaddlePaddle supports the configuration of very complex architectures by modifying these two functions. We will use the sequence to sequence model with attention as an example to demonstrate how you can configure complex recurrent neural network models. In this section, we will use a simple vanilla recurrent neural network as an example of configuring simple recurrent neural network using recurrent_group. Notice that if you only need to use simple RNN, GRU, or LSTM, then grumemory and lstmemory is recommended because they are more computationally efficient than recurrent_group.

+

For vanilla RNN, at each time step, the step function is:

+
+\[x_{t+1} = W_x x_t + W_i I_t + b\]
+

where \(x_t\) is the RNN state, and \(I_t\) is the input, \(W_x\) and \(W_i\) are transformation matrices for RNN states and inputs, respectively. \(b\) is the bias. +Its output function simply takes \(x_t\) as the output.

+

recurrent_group is the most important tools for constructing recurrent neural networks. It defines the step function, output function and the inputs of the recurrent neural network. Notice that the step argument of this function implements both the step function and the output function:

+
def simple_rnn(input,
+               size=None,
+               name=None,
+               reverse=False,
+               rnn_bias_attr=None,
+               act=None,
+               rnn_layer_attr=None):
+    def __rnn_step__(ipt):
+       out_mem = memory(name=name, size=size)
+       rnn_out = mixed_layer(input = [full_matrix_projection(ipt),
+                                      full_matrix_projection(out_mem)],
+                             name = name,
+                             bias_attr = rnn_bias_attr,
+                             act = act,
+                             layer_attr = rnn_layer_attr,
+                             size = size)
+       return rnn_out
+    return recurrent_group(name='%s_recurrent_group' % name,
+                           step=__rnn_step__,
+                           reverse=reverse,
+                           input=input)
+
+
+

PaddlePaddle uses memory to construct step function. Memory is the most important concept when constructing recurrent neural networks in PaddlePaddle. A memory is a state that is used recurrently in step functions, such as \(x_{t+1} = f_x(x_t)\). One memory contains an output and a input. The output of memory at the current time step is utilized as the input of the memory at the next time step. A memory can also has a boot layer, whose output is utilized as the initial value of the memory. In our case, the output of the gated recurrent unit is employed as the output memory. Notice that the name of the layer rnn_out is the same as the name of out_mem. This means the output of the layer rnn_out (\(x_{t+1}\)) is utilized as the output of out_mem memory.

+

A memory can also be a sequence. In this case, at each time step, we have a sequence as the state of the recurrent neural network. This can be useful when constructing very complex recurrent neural network. Other advanced functions include defining multiple memories, and defining hierarchical recurrent neural network architecture using sub-sequence.

+

We return rnn_out at the end of the function. It means that the output of the layer rnn_out is utilized as the output function of the gated recurrent neural network.

+
+
+

Sequence to Sequence Model with Attention

+

We will use the sequence to sequence model with attention as an example to demonstrate how you can configure complex recurrent neural network models. An illustration of the sequence to sequence model with attention is shown in the following figure.

+../../../_images/encoder-decoder-attention-model.png +

In this model, the source sequence \(S = \{s_1, \dots, s_T\}\) is encoded with a bidirectional gated recurrent neural networks. The hidden states of the bidirectional gated recurrent neural network \(H_S = \{H_1, \dots, H_T\}\) is called encoder vector The decoder is a gated recurrent neural network. When decoding each token \(y_t\), the gated recurrent neural network generates a set of weights \(W_S^t = \{W_1^t, \dots, W_T^t\}\), which are used to compute a weighted sum of the encoder vector. The weighted sum of the encoder vector is utilized to condition the generation of the token \(y_t\).

+

The encoder part of the model is listed below. It calls grumemory to represent gated recurrent neural network. It is the recommended way of using recurrent neural network if the network architecture is simple, because it is faster than recurrent_group. We have implemented most of the commonly used recurrent neural network architectures, you can refer to Layers for more details.

+

We also project the encoder vector to decoder_size dimensional space, get the first instance of the backward recurrent network, and project it to decoder_size dimensional space:

+
# Define the data layer of the source sentence.
+src_word_id = data_layer(name='source_language_word', size=source_dict_dim)
+# Calculate the word embedding of each word.
+src_embedding = embedding_layer(
+    input=src_word_id,
+    size=word_vector_dim,
+    param_attr=ParamAttr(name='_source_language_embedding'))
+# Apply forward recurrent neural network.
+src_forward = grumemory(input=src_embedding, size=encoder_size)
+# Apply backward recurrent neural network. reverse=True means backward recurrent neural network.
+src_backward = grumemory(input=src_embedding,
+                          size=encoder_size,
+                          reverse=True)
+# Mix the forward and backward parts of the recurrent neural network together.
+encoded_vector = concat_layer(input=[src_forward, src_backward])
+
+# Project encoding vector to decoder_size.
+encoder_proj = mixed_layer(input = [full_matrix_projection(encoded_vector)],
+                           size = decoder_size)
+
+# Compute the first instance of the backward RNN.
+backward_first = first_seq(input=src_backward)
+
+# Project the first instance of backward RNN to decoder size.
+decoder_boot = mixed_layer(input=[full_matrix_projection(backward_first)], size=decoder_size, act=TanhActivation())
+
+
+

The decoder uses recurrent_group to define the recurrent neural network. The step and output functions are defined in gru_decoder_with_attention:

+
group_inputs=[StaticInput(input=encoded_vector,is_seq=True),
+              StaticInput(input=encoded_proj,is_seq=True)]
+trg_embedding = embedding_layer(
+    input=data_layer(name='target_language_word',
+                     size=target_dict_dim),
+    size=word_vector_dim,
+    param_attr=ParamAttr(name='_target_language_embedding'))
+group_inputs.append(trg_embedding)
+
+# For decoder equipped with attention mechanism, in training,
+# target embedding (the groudtruth) is the data input,
+# while encoded source sequence is accessed to as an unbounded memory.
+# StaticInput means the same value is utilized at different time steps.
+# Otherwise, it is a sequence input. Inputs at different time steps are different.
+# All sequence inputs should have the same length.
+decoder = recurrent_group(name=decoder_group_name,
+                          step=gru_decoder_with_attention,
+                          input=group_inputs)
+
+
+

The implementation of the step function is listed as below. First, it defines the memory of the decoder network. Then it defines attention, gated recurrent unit step function, and the output function:

+
def gru_decoder_with_attention(enc_vec, enc_proj, current_word):
+    # Defines the memory of the decoder.
+    # The output of this memory is defined in gru_step.
+    # Notice that the name of gru_step should be the same as the name of this memory.
+    decoder_mem = memory(name='gru_decoder',
+                         size=decoder_size,
+                         boot_layer=decoder_boot)
+    # Compute attention weighted encoder vector.
+    context = simple_attention(encoded_sequence=enc_vec,
+                               encoded_proj=enc_proj,
+                               decoder_state=decoder_mem)
+    # Mix the current word embedding and the attention weighted encoder vector.
+    decoder_inputs = mixed_layer(inputs = [full_matrix_projection(context),
+                                           full_matrix_projection(current_word)],
+                                 size = decoder_size * 3)
+    # Define Gated recurrent unit recurrent neural network step function.
+    gru_step = gru_step_layer(name='gru_decoder',
+                              input=decoder_inputs,
+                              output_mem=decoder_mem,
+                              size=decoder_size)
+    # Defines the output function.
+    out = mixed_layer(input=[full_matrix_projection(input=gru_step)],
+                      size=target_dict_dim,
+                      bias_attr=True,
+                      act=SoftmaxActivation())
+    return out
+
+
+
+
+
+

Generate Sequence

+

After training the model, we can use it to generate sequences. A common practice is to use beam search to generate sequences. The following code snippets defines a beam search algorithm. Notice that beam_search function assumes the output function of the step returns a softmax normalized probability vector of the next token. We made the following changes to the model.

+
    +
  • use GeneratedInput for trg_embedding. GeneratedInput computes the embedding of the generated token at the last time step for the input at the current time step.
  • +
  • use beam_search function. This function needs to set:
      +
    • bos_id: the start token. Every sentence starts with the start token.
    • +
    • eos_id: the end token. Every sentence ends with the end token.
    • +
    • beam_size: the beam size used in beam search.
    • +
    • max_length: the maximum length of the generated sentences.
    • +
    +
  • +
  • use seqtext_printer_evaluator to print text according to index matrix and dictionary. This function needs to set:
      +
    • id_input: the integer ID of the data, used to identify the corresponding output in the generated files.
    • +
    • dict_file: the dictionary file for converting word id to word.
    • +
    • result_file: the path of the generation result file.
    • +
    +
  • +
+

The code is listed below:

+
group_inputs=[StaticInput(input=encoded_vector,is_seq=True),
+              StaticInput(input=encoded_proj,is_seq=True)]
+# In generation, decoder predicts a next target word based on
+# the encoded source sequence and the last generated target word.
+# The encoded source sequence (encoder's output) must be specified by
+# StaticInput which is a read-only memory.
+# Here, GeneratedInputs automatically fetchs the last generated word,
+# which is initialized by a start mark, such as <s>.
+trg_embedding = GeneratedInput(
+    size=target_dict_dim,
+    embedding_name='_target_language_embedding',
+    embedding_size=word_vector_dim)
+group_inputs.append(trg_embedding)
+beam_gen = beam_search(name=decoder_group_name,
+                       step=gru_decoder_with_attention,
+                       input=group_inputs,
+                       bos_id=0, # Beginnning token.
+                       eos_id=1, # End of sentence token.
+                       beam_size=beam_size,
+                       max_length=max_length)
+
+seqtext_printer_evaluator(input=beam_gen,
+                          id_input=data_layer(name="sent_id", size=1),
+                          dict_file=trg_dict_path,
+                          result_file=gen_trans_file)
+outputs(beam_gen)
+
+
+

Notice that this generation technique is only useful for decoder like generation process. If you are working on sequence tagging tasks, please refer to Semantic Role labeling Tutorial for more details.

+

The full configuration file is located at demo/seqToseq/seqToseq_net.py.

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/howto/dev/contribute_to_paddle_en.html b/release/0.10.0/doc/howto/dev/contribute_to_paddle_en.html new file mode 100644 index 0000000000..4c2dcae5a2 --- /dev/null +++ b/release/0.10.0/doc/howto/dev/contribute_to_paddle_en.html @@ -0,0 +1,383 @@ + + + + + + + + + + + Contribute Code — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • HOW TO >
  • + +
  • Contribute Code
  • +
+
+ +
+
+
+
+ +
+

Contribute Code

+

We sincerely appreciate your contributions. You can use fork and pull request +workflow to merge your code.

+
+

Code Requirements

+
    +
  • Your code must be fully documented by +doxygen style.
  • +
  • Make sure the compiler option WITH_STYLE_CHECK is on and the compiler +passes the code style check.
  • +
  • All code must have unit test.
  • +
  • Pass all unit tests.
  • +
+

The following tutorial guides you into submitting your contibution.

+
+
+

Creating a Fork

+

Just head over to the GitHub page and click the “Fork” button. +It’s just that simple.

+
+
+

Clone

+

Paddle is currently using git-flow branching model. +The develop is the main branch, and other user’s branches are feature branches.

+

Once you’ve created a fork, you can use your favorite git client to clone your +repo or just head straight to the command line:

+
# Clone your fork to your local machine
+git clone --branch develop https://github.com/USERNAME/Paddle.git
+
+
+

If your repository doesn’t contain develop branch, just create it by your own.

+
git clone https://github.com/USERNAME/Paddle.git Paddle
+cd Paddle
+git checkout -b develop  # create develop branch.
+git remote add upstream https://github.com/PaddlePaddle/Paddle.git  # add upstream to baidu/Paddle
+git pull upstream develop  # update to upstream
+
+
+

Then you can start to develop by making a local developement branch

+
git checkout -b MY_COOL_STUFF_BRANCH
+
+
+
+
+

Using pre-commit hook

+

Paddle developers use pre-commit tool to manage git +pre-commit hooks. It can help us format source codes (cpp, python), check some +basic thing before commit (only one EOL for each file, do not add a huge file +in git). pre-commit tests is a part of unit tests in Travis-CI now, every +PR doesn’t fit hook can not be merged into Paddle.

+

To use pre-commit, you should install it by +pip install pre-commit, and currently, Paddle uses clang-format to format +c/cpp sources. Please make sure clang-format 3.8+ installed.

+

Then just run pre-commit install in your Paddle clone directory. When you +commit your code, the pre-commit hook will check the local code if there is +anything not suitable to commit, and so on.

+
+
+

Commit

+

Commit your changes by following command lines:

+
# show the working tree status
+git status
+# add modified files
+git add xx
+env EDITOR=vim git commit  # You can write your comments by vim/nano/emacs.
+
+
+

The first line of commit infomation is the title. The second and later lines +are the details if any.

+
+
+

Keeping Fork Up to Date

+

Before pull your request, you should sync your code from the latest PaddlePaddle. +To do this, you’ll need to add a remote at first:

+
# see the current configured remote repository
+git remote -v
+# add upstream repository
+git remote add upstream https://github.com/PaddlePaddle/Paddle.git
+# verify the new upstream
+git remote -v
+
+
+

Update your fork with the latest upstream changes:

+
git pull --rebase upstream develop
+
+
+

If there are no unique commits locally, git will simply perform a fast-forward. +However, if you have been making changes (in the vast majority of cases you +probably shouldn’t be), you may have to deal with conflicts.

+

Now, your local master branch is up-to-date with everything modified upstream.

+
+
+

Push to GitHub

+
# push to your repository in Github
+git push -u origin MY_COOL_STUFF_BRANCH  # create remote branch MY_COOL_STUFF_BRANCH to origin.
+
+
+
+
+

Pull Request

+

Go to the page for your fork on GitHub, select your development branch, +and click the pull request button.

+
+
+

Update your pull request with the lastest version

+

During the code review, your pull request may become stale because new commits in +baidu/Paddle. GitHub allows autmotic update if there is no conflict. You can do this +by clicking the “Update Branch” button in your pull request page. However, in the case +of conflict, you need to do the update manually. You need to do the following on +your local repository:

+
git checkout MY_COOL_STUFF_BRANCH
+git pull upstream develop
+# You may need to resolve the conflict according to the git prompt.
+# Make and test your code.
+git push origin MY_COOL_STUFF_BRANCH
+
+
+

Now your Pull Request is updated with the latest version.

+
+
+

Revise your pull request

+

When you revise your pull request according to reviewer’s comments, please use ‘git commit’ instead of ‘git commit –amend’ to commit your changes so that the reviewers can see the difference between the new pull requrest and the old pull request.

+

The possible commands are

+
git checkout MY_COOL_STUFF_BRANCH
+git pull upstream develop   # update local to newest code base.
+# May be some conflicts will occured.
+# And develop your cool stuff
+env EDITOR=vim git commit  # add your revise log
+git push origin MY_COOL_STUFF_BRANCH
+
+
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/howto/dev/new_layer_en.html b/release/0.10.0/doc/howto/dev/new_layer_en.html new file mode 100644 index 0000000000..c56fe7bfdc --- /dev/null +++ b/release/0.10.0/doc/howto/dev/new_layer_en.html @@ -0,0 +1,621 @@ + + + + + + + + + + + Write New Layers — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • HOW TO >
  • + +
  • Write New Layers
  • +
+
+ +
+
+
+
+ +
+

Write New Layers

+

This tutorial will guide you to write customized layers in PaddlePaddle. We will utilize fully connected layer as an example to guide you through the following steps for writing a new layer.

+
    +
  • Derive equations for the forward and backward part of the layer.
  • +
  • Implement C++ class for the layer.
  • +
  • Write gradient check unit test to make sure the gradients are correctly computed.
  • +
  • Implement Python wrapper for the layer.
  • +
+
+

Derive Equations

+

First we need to derive equations of the forward and backward part of the layer. The forward part computes the output given an input. The backward part computes the gradients of the input and the parameters given the the gradients of the output.

+

The illustration of a fully connected layer is shown in the following figure. In a fully connected layer, all output nodes are connected to all the input nodes.

+../../_images/FullyConnected.jpg +

The forward part of a layer transforms an input into the corresponding output. +Fully connected layer takes a dense input vector with dimension \(D_i\). It uses a transformation matrix \(W\) with size \(D_i \times D_o\) to project \(x\) into a \(D_o\) dimensional vector, and add a bias vector \(b\) with dimension \(D_o\) to the vector.

+
+\[y = f(W^T x + b)\]
+

where \(f(.)\) is an nonlinear activation function, such as sigmoid, tanh, and Relu.

+

The transformation matrix \(W\) and bias vector \(b\) are the parameters of the layer. The parameters of a layer are learned during training in the backward pass. The backward pass computes the gradients of the output function with respect to all parameters and inputs. The optimizer can use chain rule to compute the gradients of the loss function with respect to each parameter.

+

Suppose our loss function is \(c(y)\), then

+
+\[\frac{\partial c(y)}{\partial x} = \frac{\partial c(y)}{\partial y} \frac{\partial y}{\partial x}\]
+

Suppose \(z = f(W^T x + b)\), then

+
+\[\frac{\partial y}{\partial z} = \frac{\partial f(z)}{\partial z}\]
+

This derivative can be automatically computed by our base layer class.

+

Then, for fully connected layer, we need to compute:

+
+\[\frac{\partial z}{\partial x} = W, \frac{\partial z_j}{\partial W_{ij}} = x_i, \frac{\partial z}{\partial b} = \mathbf 1\]
+

where \(\mathbf 1\) is an all one vector, \(W_{ij}\) is the number at the i-th row and j-th column of the matrix \(W\), \(z_j\) is the j-th component of the vector \(z\), and \(x_i\) is the i-th component of the vector \(x\).

+

Finally we can use chain rule to calculate \(\frac{\partial z}{\partial x}\), and \(\frac{\partial z}{\partial W}\). The details of the computation will be given in the next section.

+
+
+

Implement C++ Class

+

The C++ class of the layer implements the initialization, forward, and backward part of the layer. The fully connected layer is at paddle/gserver/layers/FullyConnectedLayer.h and paddle/gserver/layers/FullyConnectedLayer.cpp. We list simplified version of the code below.

+

It needs to derive the base class paddle::Layer, and it needs to override the following functions:

+
    +
  • constructor and destructor.
  • +
  • init function. It is used to initialize the parameters and settings.
  • +
  • forward. It implements the forward part of the layer.
  • +
  • backward. It implements the backward part of the layer.
  • +
  • prefetch. It is utilized to determine the rows corresponding parameter matrix to prefetch from parameter server. You do not need to override this function if your layer does not need remote sparse update. (most layers do not need to support remote sparse update)
  • +
+

The header file is listed below:

+
namespace paddle {
+/**
+ * A layer has full connections to all neurons in the previous layer.
+ * It computes an inner product with a set of learned weights, and
+ * (optionally) adds biases.
+ *
+ * The config file api is fc_layer.
+ */
+
+class FullyConnectedLayer : public Layer {
+protected:
+  WeightList weights_;
+  std::unique_ptr<Weight> biases_;
+
+public:
+  explicit FullyConnectedLayer(const LayerConfig& config)
+      : Layer(config) {}
+  ~FullyConnectedLayer() {}
+
+  bool init(const LayerMap& layerMap, const ParameterMap& parameterMap);
+
+  Weight& getWeight(int idx) { return *weights_[idx]; }
+
+  void prefetch();
+  void forward(PassType passType);
+  void backward(const UpdateCallback& callback = nullptr);
+};
+}  // namespace paddle
+
+
+

It defines the parameters as class variables. We use Weight class as abstraction of parameters. It supports multi-thread update. The details of this class will be described in details in the implementations.

+
    +
  • weights_ is a list of weights for the transformation matrices. The current implementation can have more than one inputs. Thus, it has a list of weights. One weight corresponds to an input.
  • +
  • biases_ is a weight for the bias vector.
  • +
+

The fully connected layer does not have layer configuration hyper-parameters. If there are some layer hyper-parameters, a common practice is to store it in LayerConfig& config, and put it into a class variable in the constructor.

+

The following code snippet implements the init function.

+
    +
  • First, every init function must call the init function of the base class Layer::init(layerMap, parameterMap);. This statement will initialize the required variables and connections for each layer.
  • +
  • The it initializes all the weights matrices \(W\). The current implementation can have more than one inputs. Thus, it has a list of weights.
  • +
  • Finally, it initializes the bias.
  • +
+
bool FullyConnectedLayer::init(const LayerMap& layerMap,
+                               const ParameterMap& parameterMap) {
+  /* Initialize the basic parent class */
+  Layer::init(layerMap, parameterMap);
+
+  /* initialize the weightList */
+  CHECK(inputLayers_.size() == parameters_.size());
+  for (size_t i = 0; i < inputLayers_.size(); i++) {
+    // Option the parameters
+    size_t height = inputLayers_[i]->getSize();
+    size_t width = getSize();
+
+    // create a new weight
+    if (parameters_[i]->isSparse()) {
+      CHECK_LE(parameters_[i]->getSize(), width * height);
+    } else {
+      CHECK_EQ(parameters_[i]->getSize(), width * height);
+    }
+    Weight* w = new Weight(height, width, parameters_[i]);
+
+    // append the new weight to the list
+    weights_.emplace_back(w);
+  }
+
+  /* initialize biases_ */
+  if (biasParameter_.get() != NULL) {
+    biases_ = std::unique_ptr<Weight>(new Weight(1, getSize(), biasParameter_));
+  }
+
+  return true;
+}
+
+
+

The implementation of the forward part has the following steps.

+
    +
  • Every layer must call Layer::forward(passType); at the beginning of its forward function.
  • +
  • Then it allocates memory for the output using reserveOutput(batchSize, size);. This step is necessary because we support the batches to have different batch sizes. reserveOutput will change the size of the output accordingly. For the sake of efficiency, we will allocate new memory if we want to expand the matrix, but we will reuse the existing memory block if we want to shrink the matrix.
  • +
  • Then it computes \(\sum_i W_i x + b\) using Matrix operations. getInput(i).value retrieve the matrix of the i-th input. Each input is a \(batchSize \times dim\) matrix, where each row represents an single input in a batch. For a complete lists of supported matrix operations, please refer to paddle/math/Matrix.h and paddle/math/BaseMatrix.h.
  • +
  • Finally it applies the activation function using forwardActivation();. It will automatically applies the corresponding activation function specifies in the network configuration.
  • +
+
void FullyConnectedLayer::forward(PassType passType) {
+  Layer::forward(passType);
+
+  /* malloc memory for the output_ if necessary */
+  int batchSize = getInput(0).getBatchSize();
+  int size = getSize();
+
+  {
+    // Settup the size of the output.
+    reserveOutput(batchSize, size);
+  }
+
+  MatrixPtr outV = getOutputValue();
+
+  // Apply the the transformation matrix to each input.
+  for (size_t i = 0; i != inputLayers_.size(); ++i) {
+    auto input = getInput(i);
+    CHECK(input.value) << "The input of 'fc' layer must be matrix";
+    i == 0 ? outV->mul(input.value, weights_[i]->getW(), 1, 0)
+           : outV->mul(input.value, weights_[i]->getW(), 1, 1);
+  }
+
+  /* add the bias-vector */
+  if (biases_.get() != NULL) {
+    outV->addBias(*(biases_->getW()), 1);
+  }
+
+  /* activation */ {
+    forwardActivation();
+  }
+}
+
+
+

The implementation of the backward part has the following steps.

+
    +
  • backwardActivation() computes the gradients of the activation. The gradients will be multiplies in place to the gradients of the output, which can be retrieved using getOutputGrad().
  • +
  • Compute the gradients of bias. Notice that we an use biases_->getWGrad() to get the gradient matrix of the corresponding parameter. After the gradient of one parameter is updated, it MUST call getParameterPtr()->incUpdate(callback);. This is utilize for parameter update over multiple threads or multiple machines.
  • +
  • Then it computes the gradients of the transformation matrices and inputs, and it calls incUpdate for the corresponding parameter. This gives the framework the chance to know whether it has gathered all the gradient to one parameter so that it can do some overlapping work (e.g., network communication)
  • +
+
void FullyConnectedLayer::backward(const UpdateCallback& callback) {
+  /* Do derivation for activations.*/ {
+    backwardActivation();
+  }
+
+  if (biases_ && biases_->getWGrad()) {
+    biases_->getWGrad()->collectBias(*getOutputGrad(), 1);
+
+    biases_->getParameterPtr()->incUpdate(callback);
+  }
+
+  bool syncFlag = hl_get_sync_flag();
+
+  for (size_t i = 0; i != inputLayers_.size(); ++i) {
+    /* Calculate the W-gradient for the current layer */
+    if (weights_[i]->getWGrad()) {
+      MatrixPtr input_T = getInputValue(i)->getTranspose();
+      MatrixPtr oGrad = getOutputGrad();
+      {
+        weights_[i]->getWGrad()->mul(input_T, oGrad, 1, 1);
+      }
+    }
+
+
+    /* Calculate the input layers error */
+    MatrixPtr preGrad = getInputGrad(i);
+    if (NULL != preGrad) {
+      MatrixPtr weights_T = weights_[i]->getW()->getTranspose();
+      preGrad->mul(getOutputGrad(), weights_T, 1, 1);
+    }
+
+    {
+      weights_[i]->getParameterPtr()->incUpdate(callback);
+    }
+  }
+}
+
+
+

The prefetch function specifies the rows that need to be fetched from parameter server during training. It is only useful for remote sparse training. In remote sparse training, the full parameter matrix is stored distributedly at the parameter server. When the layer uses a batch for training, only a subset of locations of the input is non-zero in this batch. Thus, this layer only needs the rows of the transformation matrix corresponding to the locations of these non-zero entries. The prefetch function specifies the ids of these rows.

+

Most of the layers do not need remote sparse training function. You do not need to override this function in this case.

+
void FullyConnectedLayer::prefetch() {
+  for (size_t i = 0; i != inputLayers_.size(); ++i) {
+    auto* sparseParam =
+        dynamic_cast<SparsePrefetchRowCpuMatrix*>(weights_[i]->getW().get());
+    if (sparseParam) {
+      MatrixPtr input = getInputValue(i);
+      sparseParam->addRows(input);
+    }
+  }
+}
+
+
+

Finally, you can use REGISTER_LAYER(fc, FullyConnectedLayer); to register the layer. fc is the identifier of the layer, and FullyConnectedLayer is the class name of the layer.

+
namespace paddle {
+REGISTER_LAYER(fc, FullyConnectedLayer);
+}
+
+
+

If the cpp file is put into paddle/gserver/layers, it will be automatically added to the compilation list.

+
+
+

Write Gradient Check Unit Test

+

An easy way to verify the correctness of new layer’s implementation is to write a gradient check unit test. Gradient check unit test utilizes finite difference method to verify the gradient of a layer. It modifies the input with a small perturbation \(\Delta x\) and observes the changes of output \(\Delta y\), the gradient can be computed as \(\frac{\Delta y}{\Delta x }\). This gradient can be compared with the gradient computed by the backward function of the layer to ensure the correctness of the gradient computation. Notice that the gradient check only tests the correctness of the gradient computation, it does not necessarily guarantee the correctness of the implementation of the forward and backward function. You need to write more sophisticated unit tests to make sure your layer is implemented correctly.

+

All the gradient check unit tests are located in paddle/gserver/tests/test_LayerGrad.cpp. You are recommended to put your test into a new test file if you are planning to write a new layer. The gradient test of the gradient check unit test of the fully connected layer is listed below. It has the following steps.

+
    +
  • +
    Create layer configuration. A layer configuration can include the following attributes:
    +
      +
    • size of the bias parameter. (4096 in our example)
    • +
    • type of the layer. (fc in our example)
    • +
    • size of the layer. (4096 in our example)
    • +
    • activation type. (softmax in our example)
    • +
    • dropout rate. (0.1 in our example)
    • +
    +
    +
    +
  • +
  • +
    configure the input of the layer. In our example, we have only one input.
    +
      +
    • +
      type of the input (INPUT_DATA) in our example. It can be one of the following types
      +
        +
      • INPUT_DATA: dense vector.
      • +
      • INPUT_LABEL: integer.
      • +
      • INPUT_DATA_TARGET: dense vector, but it does not used to compute gradient.
      • +
      • INPUT_SEQUENCE_DATA: dense vector with sequence information.
      • +
      • INPUT_HASSUB_SEQUENCE_DATA: dense vector with both sequence and sub-sequence information.
      • +
      • INPUT_SEQUENCE_LABEL: integer with sequence information.
      • +
      • INPUT_SPARSE_NON_VALUE_DATA: 0-1 sparse data.
      • +
      • INPUT_SPARSE_FLOAT_VALUE_DATA: float sparse data.
      • +
      +
      +
      +
    • +
    • name of the input. (layer_0 in our example)
    • +
    • size of the input. (8192 in our example)
    • +
    • number of non-zeros, only useful for sparse inputs.
    • +
    • format of sparse data, only useful for sparse inputs.
    • +
    +
    +
    +
  • +
  • each inputs needs to call config.layerConfig.add_inputs(); once.
  • +
  • +
    call testLayerGrad to perform gradient checks. It has the following arguments.
    +
      +
    • layer and input configurations. (config in our example)
    • +
    • type of the layer. (fc in our example)
    • +
    • batch size of the gradient check. (100 in our example)
    • +
    • whether the input is transpose. Most layers need to set it to false. (false in our example)
    • +
    • whether to use weights. Some layers or activations perform normalization so that the sum of their output is a constant. For example, the sum of output of a softmax activation is one. In this case, we cannot correctly compute the gradients using regular gradient check techniques. A weighted sum of the output, which is not a constant, is utilized to compute the gradients. (true in our example, because the activation of a fully connected layer can be softmax)
    • +
    +
    +
    +
  • +
+
void testFcLayer(string format, size_t nnz) {
+  // Create layer configuration.
+  TestConfig config;
+  config.biasSize = 4096;
+  config.layerConfig.set_type("fc");
+  config.layerConfig.set_size(4096);
+  config.layerConfig.set_active_type("softmax");
+  config.layerConfig.set_drop_rate(0.1);
+  // Setup inputs.
+  config.inputDefs.push_back(
+      {INPUT_DATA, "layer_0", 8192, nnz, ParaSparse(format)});
+    config.layerConfig.add_inputs();
+  LOG(INFO) << config.inputDefs[0].sparse.sparse << " "
+            << config.inputDefs[0].sparse.format;
+  for (auto useGpu : {false, true}) {
+    testLayerGrad(config, "fc", 100, /* trans */ false, useGpu,
+                  /* weight */ true);
+  }
+}
+
+
+

If you are creating a new file for the test, such as paddle/gserver/tests/testFCGrad.cpp, you need to add the file to paddle/gserver/tests/CMakeLists.txt. An example is given below. All the unit tests will run when you execute the command make tests. Notice that some layers might need high accuracy for the gradient check unit tests to work well. You need to configure WITH_DOUBLE to ON when configuring cmake.

+
add_unittest_without_exec(test_FCGrad
+    test_FCGrad.cpp
+    LayerGradUtil.cpp
+    TestUtil.cpp)
+
+add_test(NAME test_FCGrad
+    COMMAND test_FCGrad)
+
+
+
+
+

Implement Python Wrapper

+

Implementing Python wrapper allows us to use the added layer in configuration files. All the Python wrappers are in file python/paddle/trainer/config_parser.py. An example of the Python wrapper for fully connected layer is listed below. It has the following steps:

+
    +
  • Use @config_layer('fc') at the decorator for all the Python wrapper class. fc is the identifier of the layer.
  • +
  • +
    Implements __init__ constructor function.
    +
      +
    • It first call super(FCLayer, self).__init__(name, 'fc', size, inputs=inputs, **xargs) base constructor function. FCLayer is the Python wrapper class name, and fc is the layer identifier name. They must be correct in order for the wrapper to work.
    • +
    • Then it computes the size and format (whether sparse) of each transformation matrix as well as the size.
    • +
    +
    +
    +
  • +
+
@config_layer('fc')
+class FCLayer(LayerBase):
+    def __init__(
+            self,
+            name,
+            size,
+            inputs,
+            bias=True,
+            **xargs):
+        super(FCLayer, self).__init__(name, 'fc', size, inputs=inputs, **xargs)
+        for input_index in xrange(len(self.inputs)):
+            input_layer = self.get_input_layer(input_index)
+            psize = self.config.size * input_layer.size
+            dims = [input_layer.size, self.config.size]
+            format = self.inputs[input_index].format
+            sparse = format == "csr" or format == "csc"
+            if sparse:
+                psize = self.inputs[input_index].nnz
+            self.create_input_parameter(input_index, psize, dims, sparse, format)
+        self.create_bias_parameter(bias, self.config.size)
+
+
+

In network configuration, the layer can be specifies using the following code snippets. The arguments of this class are:

+
    +
  • name is the name identifier of the layer instance.
  • +
  • type is the type of the layer, specified using layer identifier.
  • +
  • size is the output size of the layer.
  • +
  • bias specifies whether this layer instance has bias.
  • +
  • inputs specifies a list of layer instance names as inputs.
  • +
+
Layer(
+    name = "fc1",
+    type = "fc",
+    size = 64,
+    bias = True,
+    inputs = [Input("pool3")]
+)
+
+
+

You are also recommended to implement a helper for the Python wrapper, which makes it easier to write models. You can refer to python/paddle/trainer_config_helpers/layers.py for examples.

+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/howto/index_en.html b/release/0.10.0/doc/howto/index_en.html new file mode 100644 index 0000000000..11f58305f7 --- /dev/null +++ b/release/0.10.0/doc/howto/index_en.html @@ -0,0 +1,285 @@ + + + + + + + + + + + HOW TO — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • HOW TO
  • +
+
+ +
+
+
+
+ + + + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/howto/optimization/gpu_profiling_en.html b/release/0.10.0/doc/howto/optimization/gpu_profiling_en.html new file mode 100644 index 0000000000..913cfe90b0 --- /dev/null +++ b/release/0.10.0/doc/howto/optimization/gpu_profiling_en.html @@ -0,0 +1,572 @@ + + + + + + + + + + + Tune GPU Performance — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • HOW TO >
  • + +
  • Tune GPU Performance
  • +
+
+ +
+
+
+
+ +
+

Tune GPU Performance

+ +

This tutorial will guide you step-by-step through how to conduct profiling and performance tuning using built-in timer, nvprof and nvvp.

+
    +
  • What is profiling?
  • +
  • Why we need profiling?
  • +
  • How to do profiling?
  • +
  • Profile tools
  • +
  • Hands-on Tutorial
  • +
  • Profiling tips
  • +
+
+

What’s profiling?

+

In software engineering, profiling is a form of dynamic program analysis that measures the space (memory) or time +complexity of a program, the usage of particular instructions, or the frequency and duration of function calls. +Most commonly, profiling information serves to aid program optimization.

+

Briefly, profiler is used to measure application performance. Program analysis tools are extremely important for +understanding program behavior. Simple profiling can tell you that how long does an operation take? For advanced +profiling, it can interpret why does an operation take a long time?

+
+
+

Why we need profiling?

+

Since training deep neural network typically take a very long time to get over, performance is gradually becoming +the most important thing in deep learning field. The first step to improve performance is to understand what parts +are slow. There is no point in improving performance of a region which doesn’t take much time!

+
+
+

How to do profiling?

+

To achieve maximum performance, there are five steps you can take to reach your goals.

+
    +
  • Profile the code
  • +
  • Find the slow parts
  • +
  • Work out why they’re slow
  • +
  • Make them fast
  • +
  • Profile the code again
  • +
+

Usually, processor has two key performance limits include float point throughput and +memory throughput. For GPU, it also need more parallelism to fulfill its potential. +This is why they can be so fast.

+
+
+

Profiler Tools

+

For general GPU profiling, a bunch of tools are provided from both NVIDIA and third party.

+

nvprof is Nvidia profiler and nvvp is (GUI based) Nvidia visual profiler. +In this tutorial, we will focus on nvprof and nvvp.

+

test_GpuProfiler from paddle/math/tests directory will be used to evaluate +above profilers.

+
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
TEST(Profiler, testBilinearFwdBwd) {
+  auto numSamples = 10;
+  auto channels = 16;
+  auto imgSize = 64;
+  {
+    // nvprof: GPU Proflier
+    REGISTER_GPU_PROFILER("testBilinearFwdBwd");
+    // Paddle built-in timer
+    REGISTER_TIMER_INFO(
+        "testBilinearFwdBwd",
+        "numSamples = 10, channels = 16, imgSizeX = 64, imgSizeY = 64");
+    testBilinearFwdBwd(numSamples, imgSize, imgSize, channels);
+  }
+  globalStat.printAllStatus();
+}
+
+
+

The above code snippet includes two methods, you can use any of them to profile the regions of interest.

+
    +
  1. REGISTER_TIMER_INFO is a built-in timer wrapper which can calculate the time overhead of both cpu functions and cuda kernels.
  2. +
+

2. REGISTER_GPU_PROFILER is a general purpose wrapper object of cudaProfilerStart and cudaProfilerStop to avoid +program crashes when CPU version of PaddlePaddle invokes them.

+

You can find more details about how to use both of them in the next session.

+
+
+

Hands-on Approach

+
+

Built-in Timer

+

To enable built-in timer in PaddlePaddle, first you have to add REGISTER_TIMER_INFO into the regions of you interest. +Then, all information could be stamped in the console via printStatus or printAllStatus function. +As a simple example, consider the following:

+
    +
  1. Add REGISTER_TIMER_INFO and printAllStatus functions (see the emphasize-lines).

    +
    +
     1
    + 2
    + 3
    + 4
    + 5
    + 6
    + 7
    + 8
    + 9
    +10
    +11
    +12
    +13
    +14
    +15
    TEST(Profiler, testBilinearFwdBwd) {
    +  auto numSamples = 10;
    +  auto channels = 16;
    +  auto imgSize = 64;
    +  {
    +    // nvprof: GPU Proflier
    +    REGISTER_GPU_PROFILER("testBilinearFwdBwd");
    +    // Paddle built-in timer
    +    REGISTER_TIMER_INFO(
    +        "testBilinearFwdBwd",
    +        "numSamples = 10, channels = 16, imgSizeX = 64, imgSizeY = 64");
    +    testBilinearFwdBwd(numSamples, imgSize, imgSize, channels);
    +  }
    +  globalStat.printAllStatus();
    +}
    +
    +
    +
    +
  2. +
  3. Configure cmake with WITH_TIMER and recompile PaddlePaddle.

    +
    +
    cmake .. -DWITH_TIMER=ON
    +make
    +
    +
    +
    +
  4. +
  5. Execute your code and observe the results (see the emphasize-lines).

    +
    +
    > ./paddle/math/tests/test_GpuProfiler
    +I1117 11:13:42.313065 2522362816 Util.cpp:155] commandline: ./paddle/math/tests/test_GpuProfiler
    +I1117 11:13:42.845065 2522362816 Util.cpp:130] Calling runInitFunctions
    +I1117 11:13:42.845208 2522362816 Util.cpp:143] Call runInitFunctions done.
    +[==========] Running 1 test from 1 test case.
    +[----------] Global test environment set-up.
    +[----------] 1 test from Profiler
    +[ RUN      ] Profiler.BilinearFwdBwd
    +I1117 11:13:42.845310 2522362816 test_GpuProfiler.cpp:114] Enable GPU Profiler Stat: [testBilinearFwdBwd] "numSamples = 10, channels = 16, im
    +gSizeX = 64, imgSizeY = 64"
    +I1117 11:13:42.850154 2522362816 ThreadLocal.cpp:37] thread use undeterministic rand seed:20659751
    +I1117 11:13:42.981501 2522362816 Stat.cpp:130] ======= StatSet: [GlobalStatInfo] status ======
    +I1117 11:13:42.981539 2522362816 Stat.cpp:133] Stat=testBilinearFwdBwd     total=136.141    avg=136.141    max=136.141    min=136.141   count=1
    +I1117 11:13:42.981572 2522362816 Stat.cpp:141] ======= BarrierStatSet status ======
    +I1117 11:13:42.981575 2522362816 Stat.cpp:154] --------------------------------------------------
    +[       OK ] Profiler.BilinearFwdBwd (136 ms)
    +[----------] 1 test from Profiler (136 ms total)
    +
    +[----------] Global test environment tear-down
    +[==========] 1 test from 1 test case ran. (136 ms total)
    +[  PASSED  ] 1 test.
    +
    +
    +
    +
  6. +
+
+
+

nvprof profiler

+

To use this command line profiler nvprof, you can simply issue the following command:

+
    +
  1. Add REGISTER_GPU_PROFILER function (see the emphasize-lines).

    +
    +
     1
    + 2
    + 3
    + 4
    + 5
    + 6
    + 7
    + 8
    + 9
    +10
    +11
    +12
    +13
    +14
    +15
    TEST(Profiler, testBilinearFwdBwd) {
    +  auto numSamples = 10;
    +  auto channels = 16;
    +  auto imgSize = 64;
    +  {
    +    // nvprof: GPU Proflier
    +    REGISTER_GPU_PROFILER("testBilinearFwdBwd");
    +    // Paddle built-in timer
    +    REGISTER_TIMER_INFO(
    +        "testBilinearFwdBwd",
    +        "numSamples = 10, channels = 16, imgSizeX = 64, imgSizeY = 64");
    +    testBilinearFwdBwd(numSamples, imgSize, imgSize, channels);
    +  }
    +  globalStat.printAllStatus();
    +}
    +
    +
    +
    +
  2. +
  3. Configure cmake with WITH_PROFILER and recompile PaddlePaddle.

    +
    +
    cmake .. -DWITH_PROFILER=ON
    +make
    +
    +
    +
    +
  4. +
  5. Use Nvidia profiler nvprof to profile the binary.

    +
    +
    nvprof  ./paddle/math/tests/test_GpuProfiler
    +
    +
    +
    +
  6. +
+

Then, you can get the following profiling result:

+
==78544== Profiling application: ./paddle/math/tests/test_GpuProfiler
+==78544== Profiling result:
+Time(%)     Time     Calls       Avg       Min       Max  Name
+27.60%  9.6305ms         5  1.9261ms  3.4560us  6.4035ms  [CUDA memcpy HtoD]
+26.07%  9.0957ms         1  9.0957ms  9.0957ms  9.0957ms  KeBilinearInterpBw
+23.78%  8.2977ms         1  8.2977ms  8.2977ms  8.2977ms  KeBilinearInterpFw
+22.55%  7.8661ms         2  3.9330ms  1.5798ms  6.2863ms  [CUDA memcpy DtoH]
+
+==78544== API calls:
+Time(%)     Time     Calls       Avg       Min       Max  Name
+46.85%  682.28ms         8  85.285ms  12.639us  682.03ms  cudaStreamCreateWithFlags
+39.83%  580.00ms         4  145.00ms     302ns  550.27ms  cudaFree
+9.82%   143.03ms         9  15.892ms  8.7090us  142.78ms  cudaStreamCreate
+1.23%   17.983ms         7  2.5690ms  23.210us  6.4563ms  cudaMemcpy
+1.23%   17.849ms         2  8.9247ms  8.4726ms  9.3768ms  cudaStreamSynchronize
+0.66%   9.5969ms         7  1.3710ms  288.43us  2.4279ms  cudaHostAlloc
+0.13%   1.9530ms        11  177.54us  7.6810us  591.06us  cudaMalloc
+0.07%   1.0424ms         8  130.30us  1.6970us  453.72us  cudaGetDevice
+0.04%   527.90us        40  13.197us     525ns  253.99us  cudaEventCreateWithFlags
+0.03%   435.73us       348  1.2520us     124ns  42.704us  cuDeviceGetAttribute
+0.03%   419.36us         1  419.36us  419.36us  419.36us  cudaGetDeviceCount
+0.02%   260.75us         2  130.38us  129.32us  131.43us  cudaGetDeviceProperties
+0.02%   222.32us         2  111.16us  106.94us  115.39us  cudaLaunch
+0.01%   214.06us         4  53.514us  28.586us  77.655us  cuDeviceGetName
+0.01%   115.45us         4  28.861us  9.8250us  44.526us  cuDeviceTotalMem
+0.01%   83.988us         4  20.997us     578ns  77.760us  cudaSetDevice
+0.00%   38.918us         1  38.918us  38.918us  38.918us  cudaEventCreate
+0.00%   34.573us        31  1.1150us     279ns  12.784us  cudaDeviceGetAttribute
+0.00%   17.767us         1  17.767us  17.767us  17.767us  cudaProfilerStart
+0.00%   15.228us         2  7.6140us  3.5460us  11.682us  cudaConfigureCall
+0.00%   14.536us         2  7.2680us  1.1490us  13.387us  cudaGetLastError
+0.00%   8.6080us        26     331ns     173ns     783ns  cudaSetupArgument
+0.00%   5.5470us         6     924ns     215ns  2.6780us  cuDeviceGet
+0.00%   5.4090us         6     901ns     328ns  3.3320us  cuDeviceGetCount
+0.00%   4.1770us         3  1.3920us  1.0630us  1.8300us  cuDriverGetVersion
+0.00%   3.4650us         3  1.1550us  1.0810us  1.2680us  cuInit
+0.00%      830ns         1     830ns     830ns     830ns  cudaRuntimeGetVersion
+
+
+
+
+

nvvp profiler

+

For visual profiler nvvp, you can either import the output of nvprof –o ... or +run application through GUI.

+

Note: nvvp also support CPU profiling (Click the box in nvvp to enable profile execution on CPU).

+../../_images/nvvp1.png +

From the perspective of kernel functions, nvvp can even illustrate why does an operation take a long time? +As shown in the following figure, kernel’s block usage, register usage and shared memory usage from nvvp +allow us to fully utilize all warps on the GPU.

+../../_images/nvvp2.png +

From the perspective of application, nvvp can give you some suggestions to address performance bottleneck. +For instance, some advice in data movement and compute utilization from the below figure can guide you to tune performance.

+../../_images/nvvp3.png +../../_images/nvvp4.png +
+
+
+

Profiling tips

+
    +
  • The nvprof and nvvp output is a very good place to start.
  • +
  • The timeline is a good place to go next.
  • +
  • Only dig deep into a kernel if it’s taking a significant amount of your time.
  • +
  • +
    Where possible, try to match profiler output with theory.
    +
      +
    1. For example, if I know I’m moving 1GB, and my kernel takes 10ms, I expect the profiler to report 100GB/s.
    2. +
    3. Discrepancies are likely to mean your application isn’t doing what you thought it was.
    4. +
    +
    +
    +
  • +
  • Know your hardware: If your GPU can do 6 TFLOPs, and you’re already doing 5.5 TFLOPs, you won’t go much faster!
  • +
+

Profiling is a key step in optimization. Sometimes quite simple changes can lead to big improvements in performance. +Your mileage may vary!

+
+
+

Reference

+

Jeremy Appleyard, GPU Profiling for Deep Learning, 2015

+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/howto/usage/cluster/cluster_train_en.html b/release/0.10.0/doc/howto/usage/cluster/cluster_train_en.html new file mode 100644 index 0000000000..e4153c2e3c --- /dev/null +++ b/release/0.10.0/doc/howto/usage/cluster/cluster_train_en.html @@ -0,0 +1,384 @@ + + + + + + + + + + + Run Distributed Training — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • HOW TO >
  • + +
  • Run Distributed Training
  • +
+
+ +
+
+
+
+ +
+

Run Distributed Training

+

In this article, we explain how to run distributed Paddle training jobs on clusters. We will create the distributed version of the single-process training example, recommendation.

+

Scripts used in this article launch distributed jobs via SSH. They also work as a reference for users running more sophisticated cluster management systems like MPI and Kubernetes.

+
+

Prerequisite

+
    +
  1. Aforementioned scripts use a Python library fabric to run SSH commands. We can use pip to install fabric:

    +
    pip install fabric
    +
    +
    +
  2. +
  3. We need to install PaddlePaddle on all nodes in the cluster. To enable GPUs, we need to install CUDA in /usr/local/cuda; otherwise Paddle would report errors at runtime.

    +
  4. +
  5. Set the ROOT_DIR variable in [cluster_train/conf.py] on all nodes. For convenience, we often create a Unix user paddle on all nodes and set ROOT_DIR=/home/paddle. In this way, we can write public SSH keys into /home/paddle/.ssh/authorized_keys so that user paddle can SSH to all nodes without password.

    +
  6. +
+
+
+

Prepare Job Workspace

+

We refer to the directory where we put dependent libraries, config files, etc., as workspace.

+

These train/test data should be prepared before launching cluster job. To satisfy the requirement that train/test data are placed in different directory from workspace, PADDLE refers train/test data according to index file named as train.list/test.list which are used in model config file. So the train/test data also contains train.list/test.list two list file. All local training demo already provides scripts to help you create these two files, and all nodes in cluster job will handle files with same logical code in normal condition.

+

Generally, you can use same model file from local training for cluster training. What you should have in mind that, the batch_size set in setting function in model file means batch size in each node of cluster job instead of total batch size if synchronization SGD was used.

+

Following steps are based on demo/recommendation demo in demo directory.

+

You just go through demo/recommendation tutorial doc until Train section, and at last you will get train/test data and model configuration file. Finaly, just use demo/recommendation as workspace for cluster training.

+

At last your workspace should look like as follow:

+
.
+|-- common_utils.py
+|-- data
+|   |-- config.json
+|   |-- config_generator.py
+|   |-- meta.bin
+|   |-- meta_config.json
+|   |-- meta_generator.py
+|   |-- ml-1m
+|   |-- ml_data.sh
+|   |-- ratings.dat.test
+|   |-- ratings.dat.train
+|   |-- split.py
+|   |-- test.list
+|   `-- train.list
+|-- dataprovider.py
+|-- evaluate.sh
+|-- prediction.py
+|-- preprocess.sh
+|-- requirements.txt
+|-- run.sh
+`-- trainer_config.py
+
+
+

Not all of these files are needed for cluster training, but it’s not necessary to remove useless files.

+

trainer_config.py +Indicates the model config file.

+

train.list and test.list +File index. It stores all relative or absolute file paths of all train/test data at current node.

+

dataprovider.py +used to read train/test samples. It’s same as local training.

+

data +all files in data directory are refered by train.list/test.list which are refered by data provider.

+
+
+

Prepare Cluster Job Configuration

+

The options below must be carefully set in cluster_train/conf.py

+

HOSTS all nodes hostname or ip that will run cluster job. You can also append user and ssh port with hostname, such as root@192.168.100.17:9090.

+

ROOT_DIR workspace ROOT directory for placing JOB workspace directory

+

PADDLE_NIC the NIC(Network Interface Card) interface name for cluster communication channel, such as eth0 for ethternet, ib0 for infiniband.

+

PADDLE_PORT port number for cluster commnunication channel

+

PADDLE_PORTS_NUM the number of port used for cluster communication channle. if the number of cluster nodes is small(less than 5~6nodes), recommend you set it to larger, such as 2 ~ 8, for better network performance.

+

PADDLE_PORTS_NUM_FOR_SPARSE the number of port used for sparse updater cluster commnunication channel. if sparse remote update is used, set it like PADDLE_PORTS_NUM

+

LD_LIBRARY_PATH set addtional LD_LIBRARY_PATH for cluster job. You can use it to set CUDA libraries path.

+

Default Configuration as follow:

+
HOSTS = [
+        "root@192.168.100.17",
+        "root@192.168.100.18",
+        ]
+
+'''
+workspace configuration
+'''
+
+#root dir for workspace
+ROOT_DIR = "/home/paddle"
+
+'''
+network configuration
+'''
+#pserver nics
+PADDLE_NIC = "eth0"
+#pserver port
+PADDLE_PORT = 7164
+#pserver ports num
+PADDLE_PORTS_NUM = 2
+#pserver sparse ports num
+PADDLE_PORTS_NUM_FOR_SPARSE = 2
+
+#environments setting for all processes in cluster job
+LD_LIBRARY_PATH="/usr/local/cuda/lib64:/usr/lib64"
+
+
+
+

Launching Cluster Job

+

paddle.py provides automatical scripts to start all PaddlePaddle cluster processes in different nodes. By default, all command line options can set as paddle.py command options and paddle.py will transparently and automatically set these options to PaddlePaddle lower level processes.

+

paddle.pyprovides two distinguished command option for easy job launching.

+

job_dispatch_package set it with local workspacedirectory, it will be dispatched to all nodes set in conf.py. It could be helpful for frequent hacking workspace files, otherwise frequent mulit-nodes workspace deployment could make your crazy. +job_workspace set it with already deployed workspace directory, paddle.py will skip dispatch stage to directly launch cluster job with all nodes. It could help to reduce heavy +dispatch latency.

+

cluster_train/run.sh provides command line sample to run demo/recommendation cluster job, just modify job_dispatch_package and job_workspace with your defined directory, then:

+
sh run.sh
+
+
+

The cluster Job will start in several seconds.

+
+
+

Kill Cluster Job

+

paddle.py can capture Ctrl + C SIGINT signal to automatically kill all processes launched by it. So just stop paddle.py to kill cluster job. You should mannally kill job if program crashed.

+
+
+

Check Cluster Training Result

+

Check log in $workspace/log for details, each node owns same log structure.

+

paddle_trainer.INFO +It provides almost all interal output log for training, same as local training. Check runtime model convergence here.

+

paddle_pserver2.INFO +It provides pserver running log, which could help to diagnose distributed error.

+

server.log +It provides stderr and stdout of pserver process. Check error log if training crashs.

+

train.log +It provides stderr and stdout of trainer process. Check error log if training crashs.

+
+
+

Check Model Output

+

After one pass finished, model files will be writed in output directory in node 0. +nodefile in workspace indicates the node id of current cluster job.

+
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/howto/usage/cmd_parameter/arguments_en.html b/release/0.10.0/doc/howto/usage/cmd_parameter/arguments_en.html new file mode 100644 index 0000000000..5235f793b0 --- /dev/null +++ b/release/0.10.0/doc/howto/usage/cmd_parameter/arguments_en.html @@ -0,0 +1,492 @@ + + + + + + + + + + + Argument Outline — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

Argument Outline

+

It looks like there are a lot of arguments. However, most of them are for developers or alrealy set automatically in cluster submitting environment and users do not need to care about them. Here, we divide these arguments into serveral classes according to the scenario that they are used in. For example, the arguments in common can be used in all scenes. Some arguments can be only used in certain layers. Some are needed by multi machines training in cluster, etc.

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +√ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
argslocal traincluster trainlocal testcluster test
commonjob
use_gpu
local
config
config_args
num_passes
trainer_count
version
show_layer_stat
traindot_period
test_period
saving_period
show_parameter_stats_period
init_model_path
load_missing_parameter_strategy
saving_period_by_batches
use_old_updater
enable_grad_share
grad_share_block_num
log_error_clipping
log_clipping
save_only_one
start_pass
train/testsave_dir
testing during trainingtest_period
average_test_period
testmodel_list
test_wait
test_pass
predict_output_dir
distribute_test
Auc/PnpairValidationpredict_file
GPUgpu_id
parallel_nn
allow_only_one_model_on_one_gpu
cudnn_dir
cuda_dir
cudnn_conv_workspace_limit_in_mb
RNNbeam_size
rnn_use_batch
prev_batch_state
diy_beam_search_prob_so
PServerstart_pserver
pservers
port
port_num
ports_num_for_sparse
nics
rdma_tcp
small_messages
loadsave_parameters_in_pserver
log_period_server
pserver_num_threads
sock_send_buf_size
sock_recv_buf_size
num_gradient_servers
parameter_block_size
parameter_block_size_for_sparse
Async SGDasync_count
async_lagged_ratio_min
async_lagged_ratio_default
Performance Tuninglog_barrier_abstract
log_barrier_lowest_nodes
log_barrier_show_log
check_sparse_distribution_batches
check_sparse_distribution_ratio
check_sparse_distribution_unbalance_degree
check_sparse_distribution_in_pserver
show_check_sparse_distribution_log
Data Providermemory_threshold_on_load_data
RandomNumberseed
thread_local_rand_use_global_seed
UnitTestcheckgrad_eps
Matrix/Vectorenable_parallel_vector
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/howto/usage/cmd_parameter/detail_introduction_en.html b/release/0.10.0/doc/howto/usage/cmd_parameter/detail_introduction_en.html new file mode 100644 index 0000000000..037ae4ce95 --- /dev/null +++ b/release/0.10.0/doc/howto/usage/cmd_parameter/detail_introduction_en.html @@ -0,0 +1,689 @@ + + + + + + + + + + + Detail Description — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

Detail Description

+
+

Common

+
    +
  • --job
      +
    • Job mode, including: train, test, checkgrad, where checkgrad is mainly for developers and users do not need to care about.
    • +
    • type: string (default: train)
    • +
    +
  • +
  • --config
      +
    • Use to specfiy network configure file.
    • +
    • type: string (default: null).
    • +
    +
  • +
  • --use_gpu
      +
    • Whether to use GPU for training, false is cpu mode and true is gpu mode.
    • +
    • type: bool (default: 1).
    • +
    +
  • +
  • --local
      +
    • Whether the training is in local mode or not. True when training locally or using one node in cluster. False when using multiple machines in cluster.
    • +
    • type: bool (default: 1).
    • +
    +
  • +
  • --trainer_count
      +
    • Define the number of threads used in one machine. For example, trainer_count = 4, means use 4 GPU in GPU mode and 4 threads in CPU mode. Each thread (or GPU) is assigned to 1/4 samples in current batch. That is to say, if setting batch_size of 512 in trainer config, each thread train 128 samples.
    • +
    • type: int32 (default: 1).
    • +
    +
  • +
  • --num_passes
      +
    • When --job=train, means training for num_passes passes. One pass means training all samples in dataset one time. When --job=test, means testing data from model of test_pass to model of (num_passes - 1).
    • +
    • type: int32 (default: 100).
    • +
    +
  • +
  • --config_args
      +
    • arguments passed to config file. Format: key1=value1,key2=value2.
    • +
    • type: string (default: null).
    • +
    +
  • +
  • --version
      +
    • Whether to print version information.
    • +
    • type: bool (default: 0).
    • +
    +
  • +
  • --show_layer_stat
      +
    • Whether to show the statistics of each layer per batch.
    • +
    • type: bool (default: 0).
    • +
    +
  • +
+
+
+

Train

+
    +
  • --log_period
      +
    • Log progress every log_period batches.
    • +
    • type: int32 (default: 100).
    • +
    +
  • +
  • --dot_period
      +
    • Print ‘.’ every dot_period batches.
    • +
    • type: int32 (default: 1).
    • +
    +
  • +
  • --saving_period
      +
    • Save parameters every saving_period passes
    • +
    • type: int32 (default: 1).
    • +
    +
  • +
  • --save_dir
      +
    • Directory for saving model parameters. It needs to be specified, but no need to be created in advance.
    • +
    • type: string (default: null).
    • +
    +
  • +
  • --start_pass
      +
    • Start training from this pass. It will load parameters from the previous pass.
    • +
    • type: int32 (default: 0).
    • +
    +
  • +
  • --show_parameter_stats_period
      +
    • Show parameter statistic during training every show_parameter_stats_period batches. It will not show by default.
    • +
    • type: int32 (default: 0).
    • +
    +
  • +
  • --save_only_one
      +
    • Save the parameters only in last pass, while the previous parameters will be removed.
    • +
    • type: bool (default: 0).
    • +
    +
  • +
  • --load_missing_parameter_strategy
      +
    • Specify the loading operation when model file is missing. Now support fail/rand/zero three operations.
        +
      • fail: program will exit.
      • +
      • rand: uniform or normal distribution according to initial_strategy in network config. Uniform range is: [mean - std, mean + std], where mean and std are configures in trainer config.
      • +
      • zero: all parameters are zero.
      • +
      +
    • +
    • type: string (default: fail).
    • +
    +
  • +
  • --init_model_path
      +
    • Path of the initialization model. If it was set, start_pass will be ignored. It can be used to specify model path in testing mode as well.
    • +
    • type: string (default: null).
    • +
    +
  • +
  • --saving_period_by_batches
      +
    • Save parameters every saving_period_by_batches batches in one pass.
    • +
    • type: int32 (default: 0).
    • +
    +
  • +
  • --log_error_clipping
      +
    • Whether to print error clipping log when setting error_clipping_threshold in layer config. If it is true, log will be printed in backward propagation per batch. This clipping effects on gradient of output.
    • +
    • type: bool (default: 0).
    • +
    +
  • +
  • --log_clipping
      +
    • Enable print log clipping or not when setting gradient_clipping_threshold in trainer config. This clipping effects on gradient w.r.t. (with respect to) weight.
    • +
    • type: bool (default: 0).
    • +
    +
  • +
  • --use_old_updater
      +
    • Whether to use the old RemoteParameterUpdater. Default use ConcurrentRemoteParameterUpdater. It is mainly for deverlopers and users usually do not need to care about.
    • +
    • type: bool (default: 0).
    • +
    +
  • +
  • --enable_grad_share
      +
    • threshold for enable gradient parameter, which is shared for batch multi-cpu training.
    • +
    • type: int32 (default: 100 * 1024 * 1024).
    • +
    +
  • +
  • --grad_share_block_num
      +
    • block number of gradient parameter, which is shared for batch multi-cpu training.
    • +
    • type: int32 (default: 64).
    • +
    +
  • +
+
+
+

Test

+
    +
  • --test_pass
      +
    • Load parameter from this pass to test.
    • +
    • type: int32 (default: -1).
    • +
    +
  • +
  • --test_period
      +
    • if equal 0, do test on all test data at the end of each pass. While if equal non-zero, do test on all test data every test_period batches.
    • +
    • type: int32 (default: 0).
    • +
    +
  • +
  • --test_wait + - Whether to wait for parameter per pass if not exist. It can be used when user launch another process to perfom testing during the training process.
      +
    • type: bool (default: 0).
    • +
    +
  • +
  • --model_list
      +
    • File that saves the model list when testing.
    • +
    • type: string (default: “”, null).
    • +
    +
  • +
  • --predict_output_dir
      +
    • Directory that saves the layer output. It is configured in Outputs() in network config. Default, this argument is null, meaning save nothing. Specify this directory if you want to save feature map of some layers in testing mode. Note that, layer outputs are values after activation function.
    • +
    • type: string (default: “”, null).
    • +
    +
  • +
  • --average_test_period
      +
    • Do test on average parameter every average_test_period batches. It MUST be devided by FLAGS_log_period. Default 0 means do not test on average parameter.
    • +
    • type: int32 (default: 0).
    • +
    +
  • +
  • --distribute_test
      +
    • Testing in distribute environment will merge results from multiple machines.
    • +
    • type: bool (default: 0).
    • +
    +
  • +
  • --predict_file
      +
    • File name for saving predicted result. Default, this argument is null, meaning save nothing. Now, this argument is only used in AucValidationLayer and PnpairValidationLayer, and saves predicted result every pass.
    • +
    • type: string (default: “”, null).
    • +
    +
  • +
+
+
+

GPU

+
    +
  • --gpu_id
      +
    • Which gpu core to use.
    • +
    • type: int32 (default: 0).
    • +
    +
  • +
  • --allow_only_one_model_on_one_gpu
      +
    • If true, do not allow multiple models on one GPU device.
    • +
    • type: bool (default: 1).
    • +
    +
  • +
  • --parallel_nn
      +
    • Whether to use multi-thread to calculate one neural network or not. If false, use gpu_id specify which gpu core to use (the device property in trainer config will be ingored). If true, the gpu core is specified in trainer config (gpu_id will be ignored).
    • +
    • type: bool (default: 0).
    • +
    +
  • +
  • --cudnn_dir
      +
    • Choose path to dynamic load NVIDIA CuDNN library, for instance, /usr/local/cuda/lib64. [Default]: LD_LIBRARY_PATH
    • +
    • type: string (default: “”, null)
    • +
    +
  • +
  • --cuda_dir
      +
    • Choose path to dynamic load NVIDIA CUDA library, for instance, /usr/local/cuda/lib64. [Default]: LD_LIBRARY_PATH
    • +
    • type: string (default: “”, null)
    • +
    +
  • +
  • --cudnn_conv_workspace_limit_in_mb
      +
    • Specify cuDNN max workspace limit, in units MB, 4096MB=4GB by default.
    • +
    • type: int32 (default: 4096MB=4GB)
    • +
    +
  • +
+
+
+

NLP: RNN/LSTM/GRU

+
    +
  • --rnn_use_batch
      +
    • Whether to use batch method for calculation in simple RecurrentLayer.
    • +
    • type: bool (default: 0).
    • +
    +
  • +
  • --prev_batch_state
      +
    • batch is continue with next batch.
    • +
    • type: bool (default: 0).
    • +
    +
  • +
  • --beam_size
      +
    • Beam search uses breadth-first search to build its search tree. At each level of the tree, it generates all successors of the states at the current level, sorting them in increasing order of heuristic cost. However, it only stores a predetermined number of best states at each level (called the beam size).
    • +
    • type: int32 (default: 1).
    • +
    +
  • +
  • --diy_beam_search_prob_so
      +
    • Specify shared dynamic library. It can be defined out of paddle by user.
    • +
    • type: string (default: “”, null).
    • +
    +
  • +
+
+
+

DataProvider

+
    +
  • --memory_threshold_on_load_data
      +
    • Stop loading data when memory is not sufficient.
    • +
    • type: double (default: 1.0).
    • +
    +
  • +
+
+
+

Unit Test

+
    +
  • --checkgrad_eps
      +
    • parameter change size for checkgrad.
    • +
    • type: double (default: 1e-05).
    • +
    +
  • +
+
+
+

Parameter Server and Distributed Communication

+
    +
  • --start_pserver
      +
    • Whether to start pserver (parameter server).
    • +
    • type: bool (default: 0).
    • +
    +
  • +
  • --pservers
      +
    • Comma separated IP addresses of pservers.
    • +
    • type: string (default: “127.0.0.1”).
    • +
    +
  • +
  • --port
      +
    • Listening port for pserver.
    • +
    • type: int32 (default: 20134).
    • +
    +
  • +
  • --ports_num
      +
    • The ports number for parameter send, increment based on default port number.
    • +
    • type: int32 (default: 1).
    • +
    +
  • +
  • --trainer_id
      +
    • In distributed training, each trainer must be given an unique id ranging from 0 to num_trainers-1. Trainer 0 is the master trainer. User do not need to care this flag.
    • +
    • type: int32 (default: 0).
    • +
    +
  • +
  • --num_gradient_servers
      +
    • Numbers of gradient servers. This arguments is set automatically in cluster submitting environment.
    • +
    • type: int32 (default: 1).
    • +
    +
  • +
  • --small_messages
      +
    • If message size is small, recommend set it True to enable quick ACK and no delay
    • +
    • type: bool (default: 0).
    • +
    +
  • +
  • --sock_send_buf_size
      +
    • Restrict socket send buffer size. It can reduce network congestion if set carefully.
    • +
    • type: int32 (default: 1024 * 1024 * 40).
    • +
    +
  • +
  • --sock_recv_buf_size
      +
    • Restrict socket recieve buffer size.
    • +
    • type: int32 (default: 1024 * 1024 * 40).
    • +
    +
  • +
  • --parameter_block_size
      +
    • Parameter block size for pserver, will automatically calculate a suitable value if it’s not set.
    • +
    • type: int32 (default: 0).
    • +
    +
  • +
  • --parameter_block_size_for_sparse
      +
    • Parameter block size for sparse update pserver, will automatically calculate a suitable value if it’s not set.
    • +
    • type: int32 (default: 0).
    • +
    +
  • +
  • --log_period_server
      +
    • Log progress every log_period_server batches at pserver end.
    • +
    • type: int32 (default: 500).
    • +
    +
  • +
  • --loadsave_parameters_in_pserver
      +
    • Load and save parameters in pserver. Only work when parameter set sparse_remote_update.
    • +
    • type: bool (default: 0).
    • +
    +
  • +
  • --pserver_num_threads
      +
    • number of threads for sync op exec.
    • +
    • type: bool (default: 1).
    • +
    +
  • +
  • --ports_num_for_sparse
      +
    • The ports number for parameter send, increment based on default (port + ports_num). It is used by sparse Tranning.
    • +
    • type: int32 (default: 0).
    • +
    +
  • +
  • --nics
      +
    • Network device name for pservers, already set in cluster submitting environment.
    • +
    • type: string (default: “xgbe0,xgbe1”).
    • +
    +
  • +
  • --rdma_tcp
      +
    • Use rdma or tcp transport protocol, already set in cluster submitting environment.
    • +
    • type: string (default: “tcp”).
    • +
    +
  • +
+
+
+

Async SGD

+
    +
  • --async_count
      +
    • Defined the asynchronous training length, if 0, then use synchronized training.
    • +
    • type: int32 (default: 0).
    • +
    +
  • +
  • --async_lagged_ratio_min
      +
    • Control the minimize value of config_.async_lagged_grad_discard_ratio().
    • +
    • type: double (default: 1.0).
    • +
    +
  • +
  • --async_lagged_ratio_default
      +
    • If async_lagged_grad_discard_ratio is not set in network config, use it as defalut value.
    • +
    • type: double (default: 1.5).
    • +
    +
  • +
+
+
+

Performance Tuning

+
    +
  • --log_barrier_abstract
      +
    • If true, show abstract barrier performance information.
    • +
    • type: bool (default: 1).
    • +
    +
  • +
  • --log_barrier_show_log
      +
    • If true, always show barrier abstract even with little gap.
    • +
    • type: bool (default: 0).
    • +
    +
  • +
  • --log_barrier_lowest_nodes
      +
    • How many lowest node will be logged.
    • +
    • type: int32 (default: 5).
    • +
    +
  • +
  • --check_sparse_distribution_in_pserver
      +
    • Whether to check that the distribution of sparse parameter on all pservers is balanced.
    • +
    • type: bool (default: 0).
    • +
    +
  • +
  • --show_check_sparse_distribution_log
      +
    • show log details for sparse parameter distribution in pserver.
    • +
    • type: bool (default: 0).
    • +
    +
  • +
  • --check_sparse_distribution_batches
      +
    • Running sparse parameter distribution check every so many batches.
    • +
    • type: int32 (default: 100).
    • +
    +
  • +
  • --check_sparse_distribution_ratio
      +
    • If parameters dispatched to different pservers have an unbalanced distribution for check_sparse_distribution_ratio * check_sparse_distribution_batches times, crash program.
    • +
    • type: double (default: 0.6).
    • +
    +
  • +
  • --check_sparse_distribution_unbalance_degree
      +
    • The ratio of maximum data size / minimun data size for different pserver.
    • +
    • type: double (default: 2).
    • +
    +
  • +
+
+
+

Matrix/Vector/RandomNumber

+
    +
  • --enable_parallel_vector
      +
    • threshold for enable parallel vector.
    • +
    • type: int32 (default: 0).
    • +
    +
  • +
  • --seed
      +
    • random number seed. 0 for srand(time)
    • +
    • type: int32 (default: 1)
    • +
    +
  • +
  • --thread_local_rand_use_global_seed
      +
    • Whether to use global seed in rand of thread local.
    • +
    • type: bool (default: 0).
    • +
    +
  • +
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/howto/usage/cmd_parameter/index_en.html b/release/0.10.0/doc/howto/usage/cmd_parameter/index_en.html new file mode 100644 index 0000000000..1b2c692b8a --- /dev/null +++ b/release/0.10.0/doc/howto/usage/cmd_parameter/index_en.html @@ -0,0 +1,259 @@ + + + + + + + + + + + Set Command-line Parameters — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • HOW TO >
  • + +
  • Set Command-line Parameters
  • +
+
+ +
+
+
+
+ +
+

Set Command-line Parameters

+ +
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/howto/usage/cmd_parameter/use_case_en.html b/release/0.10.0/doc/howto/usage/cmd_parameter/use_case_en.html new file mode 100644 index 0000000000..490771bb9c --- /dev/null +++ b/release/0.10.0/doc/howto/usage/cmd_parameter/use_case_en.html @@ -0,0 +1,431 @@ + + + + + + + + + + + Use Case — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

Use Case

+
+

Local Training

+

These command line arguments are commonly used by local training experiments, such as image classification, natural language processing, et al.

+
paddle train \
+  --use_gpu=1/0 \                        #1:GPU,0:CPU(default:true)
+  --config=network_config \
+  --save_dir=output \
+  --trainer_count=COUNT \                #(default:1)
+  --test_period=M \                      #(default:0) 
+  --num_passes=N \                       #(defalut:100)
+  --log_period=K \                       #(default:100)
+  --dot_period=1000 \                    #(default:1)
+  #[--show_parameter_stats_period=100] \ #(default:0)
+  #[--saving_period_by_batches=200] \    #(default:0)
+
+
+

show_parameter_stats_period and saving_period_by_batches are optional according to your task.

+
+

1) Pass Command Argument to Network config

+

config_args is a useful parameter to pass arguments to network config.

+
--config_args=generating=1,beam_size=5,layer_num=10 \
+
+
+

And get_config_arg can be used to parse these arguments in network config as follows:

+
generating = get_config_arg('generating', bool, False)
+beam_size = get_config_arg('beam_size', int, 3)
+layer_num = get_config_arg('layer_num', int, 8)
+
+
+

get_config_arg:

+
get_config_arg(name, type, default_value)
+
+
+
    +
  • name: the name specified in the --config_args
  • +
  • type: value type, bool, int, str, float etc.
  • +
  • default_value: default value if not set.
  • +
+
+
+

2) Use Model to Initialize Network

+

add argument:

+
--init_model_path=model_path
+--load_missing_parameter_strategy=rand
+
+
+
+
+
+

Local Testing

+

Method 1:

+
paddle train --job=test \
+             --use_gpu=1/0 \ 
+             --config=network_config \
+             --trainer_count=COUNT \ 
+             --init_model_path=model_path \
+
+
+
    +
  • use init_model_path to specify test model.
  • +
  • only can test one model.
  • +
+

Method 2:

+
paddle train --job=test \
+             --use_gpu=1/0 \ 
+             --config=network_config \
+             --trainer_count=COUNT \ 
+             --model_list=model.list \
+
+
+
    +
  • use model_list to specify test models
  • +
  • can test several models, where model.list likes:
  • +
+
./alexnet_pass1
+./alexnet_pass2
+
+
+

Method 3:

+
paddle train --job=test \
+             --use_gpu=1/0 \
+             --config=network_config \
+             --trainer_count=COUNT \
+             --save_dir=model \
+             --test_pass=M \
+             --num_passes=N \
+
+
+

This way must use model path saved by Paddle like this: model/pass-%5d. Testing model is from M-th pass to (N-1)-th pass. For example: M=12 and N=14 will test model/pass-00012 and model/pass-00013.

+
+
+

Sparse Training

+

Sparse training is usually used to accelerate calculation when input is sparse data with highly dimension. For example, dictionary dimension of input data is 1 million, but one sample just have several words. In paddle, sparse matrix multiplication is used in forward propagation and sparse updating is perfomed on weight updating after backward propagation.

+
+

1) Local training

+

You need to set sparse_update=True in network config. Check the network config documentation for more details.

+
+
+

2) cluster training

+

Add the following argument for cluster training of a sparse model. At the same time you need to set sparse_remote_update=True in network config. Check the network config documentation for more details.

+
--ports_num_for_sparse=1    #(default: 0)
+
+
+
+
+
+

parallel_nn

+

parallel_nn can be set to mixed use of GPUs and CPUs to compute layers. That is to say, you can deploy network to use a GPU to compute some layers and use a CPU to compute other layers. The other way is to split layers into different GPUs, which can reduce GPU memory or use parallel computation to accelerate some layers.

+

If you want to use these characteristics, you need to specify device ID in network config (denote it as deviceId) and add command line argument:

+
--parallel_nn=true
+
+
+
+

case 1: Mixed Use of GPU and CPU

+

Consider the following example:

+
#command line:
+paddle train --use_gpu=true --parallel_nn=true trainer_count=COUNT
+
+default_device(0)
+
+fc1=fc_layer(...)
+fc2=fc_layer(...)
+fc3=fc_layer(...,layer_attr=ExtraAttr(device=-1))
+
+
+
    +
  • default_device(0): set default device ID to 0. This means that except the layers with device=-1, all layers will use a GPU, and the specific GPU used for each layer depends on trainer_count and gpu_id (0 by default). Here, layer fc1 and fc2 are computed on the GPU.
  • +
  • device=-1: use the CPU for layer fc3.
  • +
  • trainer_count:
      +
    • trainer_count=1: if gpu_id is not set, then use the first GPU to compute layers fc1 and fc2. Otherwise use the GPU with gpu_id.
    • +
    • trainer_count>1: use trainer_count GPUs to compute one layer using data parallelism. For example, trainer_count=2 means that GPUs 0 and 1 will use data parallelism to compute layer fc1 and fc2.
    • +
    +
  • +
+
+
+

Case 2: Specify Layers in Different Devices

+
#command line:
+paddle train --use_gpu=true --parallel_nn=true --trainer_count=COUNT
+
+#network:
+fc2=fc_layer(input=l1, layer_attr=ExtraAttr(device=0), ...)
+fc3=fc_layer(input=l1, layer_attr=ExtraAttr(device=1), ...)
+fc4=fc_layer(input=fc2, layer_attr=ExtraAttr(device=-1), ...)
+
+
+

In this case, we assume that there are 4 GPUs in one machine.

+
    +
  • trainer_count=1:
      +
    • Use GPU 0 to compute layer fc2.
    • +
    • Use GPU 1 to compute layer fc3.
    • +
    • Use CPU to compute layer fc4.
    • +
    +
  • +
  • trainer_count=2:
      +
    • Use GPU 0 and 1 to compute layer fc2.
    • +
    • Use GPU 2 and 3 to compute layer fc3.
    • +
    • Use CPU to compute fc4 in two threads.
    • +
    +
  • +
  • trainer_count=4:
      +
    • It will fail (note, we have assumed that there are 4 GPUs in machine), because argument allow_only_one_model_on_one_gpu is true by default.
    • +
    +
  • +
+

Allocation of device ID when device!=-1:

+
(deviceId + gpu_id + threadId * numLogicalDevices_) % numDevices_
+
+deviceId:             specified in layer.
+gpu_id:               0 by default.
+threadId:             thread ID, range: 0,1,..., trainer_count-1
+numDevices_:          device (GPU) count in machine.
+numLogicalDevices_:   min(max(deviceId + 1), numDevices_)
+
+
+
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/howto/usage/k8s/k8s_aws_en.html b/release/0.10.0/doc/howto/usage/k8s/k8s_aws_en.html new file mode 100644 index 0000000000..4ec021b268 --- /dev/null +++ b/release/0.10.0/doc/howto/usage/k8s/k8s_aws_en.html @@ -0,0 +1,866 @@ + + + + + + + + + + + Distributed PaddlePaddle Training on AWS with Kubernetes — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • HOW TO >
  • + +
  • Distributed PaddlePaddle Training on AWS with Kubernetes
  • +
+
+ +
+
+
+
+ +
+

Distributed PaddlePaddle Training on AWS with Kubernetes

+

We will show you step by step on how to run distributed PaddlePaddle training on AWS cluster with Kubernetes. Let’s start from core concepts.

+
+

Distributed PaddlePaddle Training Core Concepts

+
+

Distributed Training Job

+

A distributed training job is represented by a Kubernetes job.

+

Each Kuberentes job is described by a job config file, which specifies the information like the number of pods in the job and environment variables.

+

In a distributed training job, we would:

+
    +
  1. prepare partitioned training data and configuration file on a distributed file system (in this tutorial we use Amazon Elastic File System), and
  2. +
  3. create and submit the Kubernetes job config to the Kubernetes cluster to start the training job.
  4. +
+
+
+

Parameter Servers and Trainers

+

There are two roles in a PaddlePaddle cluster: parameter server (pserver) and trainer. Each parameter server process maintains a shard of the global model. Each trainer has its local copy of the model, and uses its local data to update the model. During the training process, trainers send model updates to parameter servers, parameter servers are responsible for aggregating these updates, so that trainers can synchronize their local copy with the global model.

+

Model is partitioned into two shards. Managed by two parameter servers respectively.

+

In order to communicate with pserver, trainer needs to know the ip address of each pserver. In kubernetes it’s better to use a service discovery mechanism (e.g., DNS hostname) rather than static ip address, since any pserver’s pod may be killed and a new pod could be schduled onto another node of different ip address. However, now we are using static ip. This will be improved.

+

Parameter server and trainer are packaged into a same docker image. They will run once pod is scheduled by kubernetes job.

+
+
+

Trainer ID

+

Each trainer process requires a trainer ID, a zero-based index value, passed in as a command-line parameter. The trainer process thus reads the data partition indexed by this ID.

+
+
+

Training

+

The entry-point of a container is a shell script. It can see some environment variables pre-defined by Kubernetes. This includes one that gives the job’s identity, which can be used in a remote call to the Kubernetes apiserver that lists all pods in the job.

+

We rank each pod by sorting them by their ips. The rank of each pod could be the “pod ID”. Because we run one trainer and one parameter server in each pod, we can use this “pod ID” as the trainer ID. A detailed workflow of the entry-point script is as follows:

+
    +
  1. Query the api server to get pod information, and assign the trainer_id by sorting the ip.
  2. +
  3. Copy the training data from EFS persistent volume into container.
  4. +
  5. Parse the paddle pserver and paddle trainer startup parameters from environment variables, and then start up the processes.
  6. +
  7. Trainer with train_id 0 will automatically write results onto EFS volume.
  8. +
+
+
+
+

PaddlePaddle on AWS with Kubernetes

+
+

Choose AWS Service Region

+

This tutorial requires several AWS services work in the same region. Before we create anything in AWS, please check the following link +https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/ +Choose a region which has the following services available: EC2, EFS, VPS, CloudFormation, KMS, VPC, S3. +In this tutorial, we use “Oregon(us-west-2)” as example.

+
+
+

Create AWS Account and IAM Account

+

Under each AWS account, we can create multiple IAM users. This allows us to grant some privileges to each IAM user and to create/operate AWS clusters as an IAM user.

+

To sign up an AWS account, please +follow +this guide. +To create IAM users and user groups under an AWS account, please +follow +this guide.

+

Please be aware that this tutorial needs the following privileges for the user in IAM:

+
    +
  • AmazonEC2FullAccess
  • +
  • AmazonS3FullAccess
  • +
  • AmazonRoute53FullAccess
  • +
  • AmazonRoute53DomainsFullAccess
  • +
  • AmazonElasticFileSystemFullAccess
  • +
  • AmazonVPCFullAccess
  • +
  • IAMUserSSHKeys
  • +
  • IAMFullAccess
  • +
  • NetworkAdministrator
  • +
  • AWSKeyManagementServicePowerUser
  • +
+
+
+

Download kube-aws and kubectl

+
+

kube-aws

+

kube-aws is a CLI tool to automate cluster deployment to AWS.

+
+
Verify kube-aws integrity
+

Note: if you are using a non-official release (e.g RC release) kube-aws, you can skip this setp. +Import the CoreOS Application Signing Public Key:

+
gpg2 --keyserver pgp.mit.edu --recv-key FC8A365E
+
+
+

Validate the key fingerprint:

+
gpg2 --fingerprint FC8A365E
+
+
+

The correct key fingerprint is 18AD 5014 C99E F7E3 BA5F 6CE9 50BD D3E0 FC8A 365E

+

We can download kube-aws from its release page. In this tutorial, we use version 0.9.1

+

Validate the tarball’s GPG signature:

+
PLATFORM=linux-amd64
+ # Or
+PLATFORM=darwin-amd64
+
+gpg2 --verify kube-aws-${PLATFORM}.tar.gz.sig kube-aws-${PLATFORM}.tar.gz
+
+
+
+
+
Install kube-aws
+

Extract the binary:

+
tar zxvf kube-aws-${PLATFORM}.tar.gz
+
+
+

Add kube-aws to your path:

+
mv ${PLATFORM}/kube-aws /usr/local/bin
+
+
+
+
+
+

kubectl

+

kubectl is a command line interface for running commands against Kubernetes clusters.

+

Download kubectl from the Kubernetes release artifact site with the curl tool.

+
# OS X
+curl -O https://storage.googleapis.com/kubernetes-release/release/"$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)"/bin/darwin/amd64/kubectl
+
+# Linux
+curl -O https://storage.googleapis.com/kubernetes-release/release/"$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)"/bin/linux/amd64/kubectl
+
+
+

Make the kubectl binary executable and move it to your PATH (e.g. /usr/local/bin):

+
chmod +x ./kubectl
+sudo mv ./kubectl /usr/local/bin/kubectl
+
+
+
+
+
+

Configure AWS Credentials

+

First check out this for installing the AWS command line interface.

+

And then configure your AWS account information:

+
aws configure
+
+
+

Fill in the required fields:

+
AWS Access Key ID: YOUR_ACCESS_KEY_ID
+AWS Secrete Access Key: YOUR_SECRETE_ACCESS_KEY
+Default region name: us-west-2
+Default output format: json
+
+
+

YOUR_ACCESS_KEY_ID, and YOUR_SECRETE_ACCESS_KEY is the IAM key and secret from Create AWS Account and IAM Account

+

Verify that your credentials work by describing any instances you may already have running on your account:

+
aws ec2 describe-instances
+
+
+
+
+

Define Cluster Parameters

+
+

EC2 key pair

+

The keypair that will authenticate SSH access to your EC2 instances. The public half of this key pair will be configured on each CoreOS node.

+

Follow EC2 Keypair User Guide to create a EC2 key pair

+

After creating a key pair, you will use the key pair name to configure the cluster.

+

Key pairs are only available to EC2 instances in the same region. We are using us-west-2 in our tutorial, so make sure to creat key pairs in that region (Oregon).

+

Your browser will download a key-name.pem file which is the key to access the EC2 instances. We will use it later.

+
+
+

KMS key

+

Amazon KMS keys are used to encrypt and decrypt cluster TLS assets. If you already have a KMS Key that you would like to use, you can skip creating a new key and provide the Arn string for your existing key.

+

You can create a KMS key with the aws command line tool:

+
aws kms --region=us-west-2 create-key --description="kube-aws assets"
+{
+    "KeyMetadata": {
+        "CreationDate": 1458235139.724,
+        "KeyState": "Enabled",
+        "Arn": "arn:aws:kms:us-west-2:aaaaaaaaaaaaa:key/xxxxxxxxxxxxxxxxxxx",
+        "AWSAccountId": "xxxxxxxxxxxxx",
+        "Enabled": true,
+        "KeyUsage": "ENCRYPT_DECRYPT",
+        "KeyId": "xxxxxxxxx",
+        "Description": "kube-aws assets"
+    }
+}
+
+
+

We will need to use the value of Arn later.

+

And then let’s add several inline policies in your IAM user permission.

+

Go to IAM Console. Click on button Users, click user that we just created, and then click on Add inline policy button, and select Custom Policy.

+

Paste into following inline policies:

+
 (Caution: node_0, node_1, node_2 directories represents PaddlePaddle node and train_id, not the Kubernetes node){
+    "Version": "2012-10-17",
+    "Statement": [
+        {
+            "Sid": "Stmt1482205552000",
+            "Effect": "Allow",
+            "Action": [
+                "kms:Decrypt",
+                "kms:Encrypt"
+            ],
+            "Resource": [
+                "arn:aws:kms:*:AWS_ACCOUNT_ID:key/*"
+            ]
+        },
+        {
+            "Sid": "Stmt1482205746000",
+            "Effect": "Allow",
+            "Action": [
+                "cloudformation:CreateStack",
+                "cloudformation:UpdateStack",
+                "cloudformation:DeleteStack",
+                "cloudformation:DescribeStacks",
+                "cloudformation:DescribeStackResource",
+                "cloudformation:GetTemplate",
+                "cloudformation:DescribeStackEvents"
+            ],
+            "Resource": [
+                "arn:aws:cloudformation:us-west-2:AWS_ACCOUNT_ID:stack/MY_CLUSTER_NAME/*"
+            ]
+        }
+    ]
+}
+
+
+

Version : Its value has to be exactly “2012-10-17”. +AWS_ACCOUNT_ID: You can get it from following command line:

+
aws sts get-caller-identity --output text --query Account
+
+
+

MY_CLUSTER_NAME: Pick a MY_CLUSTER_NAME that you like, you will use it later as well. +Please note, stack name must satisfy regular expression pattern: [a-zA-Z][-a-zA-Z0-9], which means no “_” or “-” in stack name, or kube-aws will throw error in later steps.

+
+
+

External DNS name

+

When the cluster is created, the controller will expose the TLS-secured API on a DNS name.

+

DNS name should have a CNAME points to cluster DNS name or an A record points to the cluster IP address.

+

We will need to use DNS name later in tutorial. If you don’t already own one, you can choose any DNS name (e.g., paddle) and modify /etc/hosts to associate cluster IP with that DNS name for your local machine. And add name service (route53) in aws to associate the IP to paddle for cluster. We will find the cluster IP in later steps.

+
+
+

S3 bucket

+

You need to create an S3 bucket before startup the Kubernetes cluster.

+

There are some bugs in aws cli in creating S3 bucket, so let’s use the S3 Console.

+

Click on Create Bucket, fill in a unique BUCKET_NAME, and make sure region is us-west-2 (Oregon).

+
+
+

Initialize Assets

+

Create a directory on your local machine to hold the generated assets:

+
$ mkdir my-cluster
+$ cd my-cluster
+
+
+

Initialize the cluster CloudFormation stack with the KMS Arn, key pair name, and DNS name from the previous step:

+
kube-aws init \
+--cluster-name=MY_CLUSTER_NAME \
+--external-dns-name=MY_EXTERNAL_DNS_NAME \
+--region=us-west-2 \
+--availability-zone=us-west-2a \
+--key-name=KEY_PAIR_NAME \
+--kms-key-arn="arn:aws:kms:us-west-2:xxxxxxxxxx:key/xxxxxxxxxxxxxxxxxxx"
+
+
+

MY_CLUSTER_NAME: the one you picked in KMS key

+

MY_EXTERNAL_DNS_NAME: see External DNS name

+

KEY_PAIR_NAME: see EC2 key pair

+

--kms-key-arn: the “Arn” in KMS key

+

Here us-west-2a is used for parameter --availability-zone, but supported availability zone varies among AWS accounts.

+

Please check if us-west-2a is supported by aws ec2 --region us-west-2 describe-availability-zones, if not switch to other supported availability zone. (e.g., us-west-2a, or us-west-2b)

+

There will now be a cluster.yaml file in the asset directory. This is the main configuration file for your cluster.

+

By default kube-aws will only create one worker node. Let’s edit cluster.yaml and change workerCount from 1 to 3.

+
+
+

Render contents of the asset directory

+

In the simplest case, you can have kube-aws generate both your TLS identities and certificate authority for you.

+
kube-aws render credentials --generate-ca
+
+
+

The next command generates the default set of cluster assets in your asset directory.

+
kube-aws render stack
+
+
+

Assets (templates and credentials) that are used to create, update and interact with your Kubernetes cluster will be created under your current folder.

+
+
+
+

Kubernetes Cluster Start Up

+
+

Create the instances defined in the CloudFormation template

+

Now let’s create your cluster (choose any PREFIX for the command below):

+
kube-aws up --s3-uri s3://BUCKET_NAME/PREFIX
+
+
+

BUCKET_NAME: the bucket name that you used in S3 bucket

+
+
+

Configure DNS

+

You can invoke kube-aws status to get the cluster API endpoint after cluster creation.

+
$ kube-aws status
+Cluster Name:       paddle-cluster
+Controller DNS Name:    paddle-cl-ElbAPISe-EEOI3EZPR86C-531251350.us-west-2.elb.amazonaws.com
+
+
+

If you own a DNS name, set the A record to any of the above ip. Or you can set up CNAME point to Controller DNS Name (paddle-cl-ElbAPISe-EEOI3EZPR86C-531251350.us-west-2.elb.amazonaws.com)

+
+
Find IP address
+

Use command dig to check the load balancer hostname to get the ip address.

+
$ dig paddle-cl-ElbAPISe-EEOI3EZPR86C-531251350.us-west-2.elb.amazonaws.com
+
+;; QUESTION SECTION:
+;paddle-cl-ElbAPISe-EEOI3EZPR86C-531251350.us-west-2.elb.amazonaws.com. IN A
+
+;; ANSWER SECTION:
+paddle-cl-ElbAPISe-EEOI3EZPR86C-531251350.us-west-2.elb.amazonaws.com. 59 IN A 54.241.164.52
+paddle-cl-ElbAPISe-EEOI3EZPR86C-531251350.us-west-2.elb.amazonaws.com. 59 IN A 54.67.102.112
+
+
+

In the above output, both ip 54.241.164.52, 54.67.102.112 will work.

+

If you own a DNS name, set the A record to any of the above ip. Then you can skip to the step “Access the cluster”.

+

If you do not own a DNS name:

+
+
+
Update local DNS association
+

Edit /etc/hosts to associate above ip with the DNS name.

+
+
+
Add Route53 private name service in VPC
+
    +
  • Open Route53 Console

    +
  • +
  • Create hosted zone with following config

    +
      +
    • Domain name: “paddle”
    • +
    • Type: “Private hosted zone for amazon VPC”
    • +
    • VPC ID: <Your VPC ID>
    • +
    +

    route53 zone setting

    +
  • +
  • Add A record

    +
      +
    • Click on the zone “paddle” just created

      +
    • +
    • Click the button “Create record set”

      +
        +
      • Name : leave blank
      • +
      • type: “A”
      • +
      • Value: <kube-controller ec2 private ip>
      • +
      +

      route53 create recordset

      +
    • +
    +
  • +
  • Verify name service

    +
      +
    • Connect to any instance created by kube-aws via ssh
    • +
    • Run command “host paddle”, see if the ip returned is the private ip of kube-controller
    • +
    +
  • +
+
+
+
+

Access the cluster

+

Once the API server is running, you should see:

+
$ kubectl --kubeconfig=kubeconfig get nodes 
+NAME                                       STATUS    AGE
+ip-10-0-0-134.us-west-2.compute.internal   Ready     6m
+ip-10-0-0-238.us-west-2.compute.internal   Ready     6m
+ip-10-0-0-50.us-west-2.compute.internal    Ready     6m
+ip-10-0-0-55.us-west-2.compute.internal    Ready     6m
+
+
+
+
+
+

Setup Elastic File System for Cluster

+

Training data is usually served on a distributed filesystem, we use Elastic File System (EFS) on AWS.

+
    +
  1. Create security group for EFS in security group console
  2. +
  3. Look up security group id for paddle-cluster-sg-worker (sg-055ee37d in the image below) +
  4. +
  5. Add security group paddle-efs with ALL TCP inbound rule and custom source as group id of paddle-cluster-sg-worker. And VPC of paddle-cluster-vpc. Make sure availability zone is same as the one you used in Initialize Assets. +
  6. +
  7. Create the Elastic File System in EFS console with paddle-cluster-vpc VPC. Make sure subnet is paddle-cluster-Subnet0 andd security group is paddle-efs. +
  8. +
+
+
+

Start PaddlePaddle Training Demo on AWS

+
+

Configure Kubernetes Volume that Points to EFS

+

First we need to create a PersistentVolume to provision EFS volumn.

+

Save following snippet as pv.yaml

+
apiVersion: v1
+kind: PersistentVolume
+metadata:
+  name: efsvol
+spec:
+  capacity:
+    storage: 100Gi
+  accessModes:
+    - ReadWriteMany
+  nfs:
+    server: EFS_DNS_NAME
+    path: "/"
+
+
+

EFS_DNS_NAME: DNS name as shown in description of paddle-efs that we created. Looks similar to fs-2cbf7385.efs.us-west-2.amazonaws.com

+

Run following command to create a persistent volumn:

+
kubectl --kubeconfig=kubeconfig create -f pv.yaml
+
+
+

Next let’s create a PersistentVolumeClaim to claim the persistent volume.

+

Save following snippet as pvc.yaml.

+
kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+  name: efsvol
+spec:
+  accessModes:
+    - ReadWriteMany
+  resources:
+    requests:
+      storage: 50Gi
+
+
+

Run following command to create a persistent volumn claim:

+
kubectl --kubeconfig=kubeconfig create -f pvc.yaml
+
+
+
+
+

Prepare Training Data

+

We will now launch a kubernetes job that downloads, saves and evenly splits training data into 3 shards on the persistent volumn that we just created.

+

save following snippet as paddle-data-job.yaml

+
apiVersion: batch/v1
+kind: Job
+metadata:
+  name: paddle-data
+spec:
+  template:
+    metadata:
+      name: pi
+    spec:
+      containers:
+      - name: paddle-data
+        image: paddledev/paddle-tutorial:k8s_data
+        imagePullPolicy: Always
+        volumeMounts:
+        - mountPath: "/efs"
+          name: efs
+        env:
+        - name: OUT_DIR
+          value: /efs/paddle-cluster-job
+        - name: SPLIT_COUNT
+          value: "3"
+      volumes:
+        - name: efs
+          persistentVolumeClaim:
+            claimName: efsvol
+      restartPolicy: Never
+
+
+

Run following command to launch the job:

+
kubectl --kubeconfig=kubeconfig create -f paddle-data-job.yaml
+
+
+

Job may take 7 min to finish, use following command to check job status. Do not proceed until SUCCESSFUL for paddle-data job is 1

+
$ kubectl --kubeconfig=kubeconfig get jobs
+NAME          DESIRED   SUCCESSFUL   AGE
+paddle-data   1         1            6m
+
+
+

Data preparation is done by docker image paddledev/paddle-tutorial:k8s_data, see here for how to build this docker image and source code.

+
+
+

Start Training

+

Now we are ready to start paddle training job. Save following snippet as paddle-cluster-job.yaml

+
apiVersion: batch/v1
+kind: Job
+metadata:
+  name: paddle-cluster-job
+spec:
+  parallelism: 3
+  completions: 3
+  template:
+    metadata:
+      name: paddle-cluster-job
+    spec:
+      volumes:
+      - name: efs
+        persistentVolumeClaim:
+          claimName: efsvol
+      containers:
+      - name: trainer
+        image: paddledev/paddle-tutorial:k8s_train
+        command: ["bin/bash",  "-c", "/root/start.sh"]
+        env:
+        - name: JOB_NAME
+          value: paddle-cluster-job
+        - name: JOB_PATH
+          value: /home/jobpath
+        - name: JOB_NAMESPACE
+          value: default
+        - name: TRAIN_CONFIG_DIR
+          value: quick_start
+        - name: CONF_PADDLE_NIC
+          value: eth0
+        - name: CONF_PADDLE_PORT
+          value: "7164"
+        - name: CONF_PADDLE_PORTS_NUM
+          value: "2"
+        - name: CONF_PADDLE_PORTS_NUM_SPARSE
+          value: "2"
+        - name: CONF_PADDLE_GRADIENT_NUM
+          value: "3"
+        - name: TRAINER_COUNT
+          value: "3"
+        volumeMounts:
+        - mountPath: "/home/jobpath"
+          name: efs
+        ports:
+        - name: jobport0
+          hostPort: 7164
+          containerPort: 7164
+        - name: jobport1
+          hostPort: 7165
+          containerPort: 7165
+        - name: jobport2
+          hostPort: 7166
+          containerPort: 7166
+        - name: jobport3
+          hostPort: 7167
+          containerPort: 7167
+      restartPolicy: Never
+
+
+

parallelism: 3, completions: 3 means this job will simultaneously start 3 PaddlePaddle pods, and this job will be finished when there are 3 finished pods.

+

env field represents container’s environment variables, we specify PaddlePaddle parameters by environment variables.

+

ports indicates that TCP port 7164 - 7167 are exposed for communication between pserver ans trainer. port starts continously from CONF_PADDLE_PORT (7164) to CONF_PADDLE_PORT + CONF_PADDLE_PORTS_NUM + CONF_PADDLE_PORTS_NUM_SPARSE - 1 (7167). We use multiple ports for dense and sparse paramter updates to improve latency.

+

Run following command to launch the job.

+
kubectl --kubeconfig=kubeconfig create -f paddle-claster-job.yaml
+
+
+

Inspect individual pods

+
$ kubectl --kubeconfig=kubeconfig get pods
+NAME                       READY     STATUS    RESTARTS   AGE
+paddle-cluster-job-cm469   1/1       Running   0          9m
+paddle-cluster-job-fnt03   1/1       Running   0          9m
+paddle-cluster-job-jx4xr   1/1       Running   0          9m
+
+
+

Inspect individual console output

+
kubectl --kubeconfig=kubeconfig log -f POD_NAME
+
+
+

POD_NAME: name of any pod (e.g., paddle-cluster-job-cm469).

+

Run kubectl --kubeconfig=kubeconfig describe job paddle-cluster-job to check training job status. It will complete in around 20 minutes.

+

The details for start pserver and trainer are hidden inside docker image paddledev/paddle-tutorial:k8s_train, see here for how to build the docker image and source code.

+
+
+

Inspect Training Output

+

Training output (model snapshot and logs) will be saved in EFS. We can ssh into worker EC2 instance, mount EFS and check training output.

+
    +
  1. ssh Into Worker EC2 instance
  2. +
+
chmod 400 key-name.pem
+ssh -i key-name.pem core@INSTANCE_IP
+
+
+

INSTANCE_IP: public IP address of EC2 kubernetes worker node. Go to EC2 console and check public IP of any paddle-cluster-kube-aws-worker instance.

+
    +
  1. Mount EFS
  2. +
+
mkdir efs
+sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 EFS_DNS_NAME:/ efs
+
+
+

EFS_DNS_NAME: DNS name as shown in description of paddle-efs that we created. Look similar to fs-2cbf7385.efs.us-west-2.amazonaws.com.

+

Now folder efs will have structure similar to:

+
-- paddle-cluster-job
+    |-- ...
+    |-- output
+    |   |-- node_0
+    |   |   |-- server.log
+    |   |   `-- train.log
+    |   |-- node_1
+    |   |   |-- server.log
+    |   |   `-- train.log
+    |   |-- node_2
+    |   |   |-- server.log
+    |   |   `-- train.log
+    |   |-- pass-00000
+    |   |   |-- ___fc_layer_0__.w0
+    |   |   |-- ___fc_layer_0__.wbias
+    |   |   |-- done
+    |   |   |-- path.txt
+    |   |   `-- trainer_config.lr.py
+    |   |-- pass-00001...
+
+
+

server.log contains log for pserver. train.log contains log for trainer. Model description and snapshot is stored in pass-0000*.

+
+
+
+

Kubernetes Cluster Tear Down

+
+

Delete EFS

+

Go to EFS Console and delete the EFS volumn that we created.

+
+
+

Delete security group

+

Go to Security Group Console and delete security group paddle-efs.

+
+
+

Delete S3 Bucket

+

Go to S3 Console and delete the S3 bucket that we created.

+
+
+

Destroy Cluster

+
kube-aws destroy
+
+
+

The command will return immediately, but it might take 5 min to tear down the whole cluster.

+

You can go to CludFormation Console to check destroy process.

+
+
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/howto/usage/k8s/k8s_en.html b/release/0.10.0/doc/howto/usage/k8s/k8s_en.html new file mode 100644 index 0000000000..d23d440e9a --- /dev/null +++ b/release/0.10.0/doc/howto/usage/k8s/k8s_en.html @@ -0,0 +1,443 @@ + + + + + + + + + + + Paddle On Kubernetes — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • HOW TO >
  • + +
  • Paddle On Kubernetes
  • +
+
+ +
+
+
+
+ +
+

Paddle On Kubernetes

+
+
In this article, we will introduce how to run Paddle training job on single CPU machine using Kubernetes. In next article, we will introduce how to run Paddle training job on distributed cluster.
+
+

Build Docker Image

+

In distributed Kubernetes cluster, we will use Ceph or other shared storage system for storing training related data so that all processes in Paddle training can retrieve data from Ceph. In this example, we will only demo training job on single machine. In order to simplify the requirement of the environment, we will directly put training data into Paddle’s Docker Image, so we need to create a Paddle Docker image that already includes the training data.

+

Paddle’s Quick Start Tutorial introduces how to download and train data by using script from Paddle’s source code. +And paddledev/paddle:cpu-demo-latest image has the Paddle source code and demo. (Caution: Default Paddle image paddledev/paddle:cpu-latest doesn’t include the source code, Paddle’s different versions of image can be referred here: Docker installation guide), so we run this container and download the training data, and then commit the whole container to be a new Docker image.

+
+

Run Docker Container

+
$ docker run --name quick_start_data -it paddledev/paddle:cpu-demo-latest
+
+
+
+
+

Download Training Data

+

Getting into /root/paddle/demo/quick_start/data Directory,using get_data.sh to download training data. +Then getting into /root/paddle/demo/quick_start Directory, using preprocess.sh to pre-process training data.

+
$ root@fbd1f2bb71f4:~/paddle/demo/quick_start/data# ./get_data.sh
+
+Downloading Amazon Electronics reviews data...
+--2016-10-31 01:33:43--  http://snap.stanford.edu/data/amazon/productGraph/categoryFiles/reviews_Electronics_5.json.gz
+Resolving snap.stanford.edu (snap.stanford.edu)... 171.64.75.80
+Connecting to snap.stanford.edu (snap.stanford.edu)|171.64.75.80|:80... connected.
+HTTP request sent, awaiting response... 200 OK
+Length: 495854086 (473M) [application/x-gzip]
+Saving to: 'reviews_Electronics_5.json.gz'
+
+ 10% [=======>                                         ] 874,279     64.7KB/s  eta 2h 13m
+
+
+
+
+

Modify Startup Script

+

After downloading the data,modify /root/paddle/demo/quick_start/train.sh file contents are as follows (one more cd cmd):

+
set -e
+cd /root/paddle/demo/quick_start
+cfg=trainer_config.lr.py
+#cfg=trainer_config.emb.py
+#cfg=trainer_config.cnn.py
+#cfg=trainer_config.lstm.py
+#cfg=trainer_config.bidi-lstm.py
+#cfg=trainer_config.db-lstm.py
+paddle train \
+  --config=$cfg \
+  --save_dir=./output \
+  --trainer_count=4 \
+  --log_period=20 \
+  --num_passes=15 \
+  --use_gpu=false \
+  --show_parameter_stats_period=100 \
+  --test_all_data_in_one_period=1 \
+  2>&1 | tee 'train.log'
+
+
+
+
+

Commit Docker Image

+
$ docker commit quick_start_data mypaddle/paddle:quickstart
+
+
+
+
+
+

Use Kubernetes For Training

+
+
We will use Kubernetes job for training process, following steps shows how to do the training with Kubernetes.
+
+

Create Yaml Files

+

The output result in container will be demolished when job finished (container stopped running), so we need to mount the volume out to the local disk when creating the container to store the training result. Using our previously created image, we can create a Kubernetes Job, the yaml contents are as follows:

+
apiVersion: batch/v1
+kind: Job
+metadata:
+  name: quickstart
+spec:
+  parallelism: 1
+  completions: 1
+  template:
+    metadata:
+      name: quickstart
+    spec:
+      volumes:
+      - name: output
+        hostPath: 
+          path: /home/work/paddle_output     
+      containers:
+      - name: pi
+        image: mypaddle/paddle:quickstart
+        command: ["bin/bash",  "-c", "/root/paddle/demo/quick_start/train.sh"]
+        volumeMounts:
+        - name: output
+          mountPath: /root/paddle/demo/quick_start/output
+      restartPolicy: Never
+
+
+
+
+

Start Paddle Job

+

Using the above yaml file to start the Kubernetes job.

+
$ kubectl  create -f paddle.yaml
+
+
+

Get the detailed status of the job:

+
$ kubectl  get job
+NAME         DESIRED   SUCCESSFUL   AGE
+quickstart   1         0            58s
+
+$ kubectl  describe job quickstart
+Name:       quickstart
+Namespace:  default
+Image(s):   registry.baidu.com/public/paddle:cpu-demo-latest
+Selector:   controller-uid=f120da72-9f18-11e6-b363-448a5b355b84
+Parallelism:    1
+Completions:    1
+Start Time: Mon, 31 Oct 2016 11:20:16 +0800
+Labels:     controller-uid=f120da72-9f18-11e6-b363-448a5b355b84,job-name=quickstart
+Pods Statuses:  0 Running / 1 Succeeded / 0 Failed
+Volumes:
+  output:
+    Type:   HostPath (bare host directory volume)
+    Path:   /home/work/paddle_output
+Events:
+  FirstSeen LastSeen    Count   From            SubobjectPath   Type        Reason          Message
+  --------- --------    -----   ----            -------------   --------    ------          -------
+  1m        1m      1   {job-controller }           Normal      SuccessfulCreate    Created pod: quickstart-fa0wx
+
+
+
+
+

Get Training Result

+

We can use kubectl command to take a look at the status of related pod.

+
$ kubectl  describe pod quickstart-fa0wx
+Name:       quickstart-fa0wx
+Namespace:  default
+Node:       paddle-demo-let02/10.206.202.44
+Start Time: Mon, 31 Oct 2016 11:20:17 +0800
+Labels:     controller-uid=f120da72-9f18-11e6-b363-448a5b355b84,job-name=quickstart
+Status:     Succeeded
+IP:     10.0.0.9
+Controllers:    Job/quickstart
+Containers:
+  quickstart:
+    Container ID:   docker://b8561f5c79193550d64fa47418a9e67ebdd71546186e840f88de5026b8097465
+    Image:      registry.baidu.com/public/paddle:cpu-demo-latest
+    Image ID:       docker://18e457ce3d362ff5f3febf8e7f85ffec852f70f3b629add10aed84f930a68750
+    Port:
+    Command:
+      bin/bash
+      -c
+      /root/paddle/demo/quick_start/train.sh
+    QoS Tier:
+      cpu:      BestEffort
+      memory:       BestEffort
+    State:      Terminated
+      Reason:       Completed
+      Exit Code:    0
+      Started:      Mon, 31 Oct 2016 11:20:20 +0800
+      Finished:     Mon, 31 Oct 2016 11:21:46 +0800
+    Ready:      False
+    Restart Count:  0
+    Environment Variables:
+Conditions:
+  Type      Status
+  Ready     False
+Volumes:
+  output:
+    Type:   HostPath (bare host directory volume)
+    Path:   /home/work/paddle_output
+
+
+

We can also ssh to Kubernetes node to take a look at the training result.

+
[root@paddle-demo-let02 paddle_output]# ll
+total 60
+drwxr-xr-x 2 root root 4096 Oct 31 11:20 pass-00000
+drwxr-xr-x 2 root root 4096 Oct 31 11:20 pass-00001
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00002
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00003
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00004
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00005
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00006
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00007
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00008
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00009
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00010
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00011
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00012
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00013
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00014
+
+
+
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/howto/usage/k8s/src/k8s_data/README.html b/release/0.10.0/doc/howto/usage/k8s/src/k8s_data/README.html new file mode 100644 index 0000000000..48f5631429 --- /dev/null +++ b/release/0.10.0/doc/howto/usage/k8s/src/k8s_data/README.html @@ -0,0 +1,240 @@ + + + + + + + + + + + <no title> — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • <no title>
  • +
+
+ +
+
+
+
+ +

To build PaddlePaddle data preparation image in tutorial Distributed PaddlePaddle Training on AWS with Kubernetes, run following commands:

+
cp -r ../../../../../../demo/quick_start .
+docker build . -t prepare-data-image-name
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/howto/usage/k8s/src/k8s_train/README.html b/release/0.10.0/doc/howto/usage/k8s/src/k8s_train/README.html new file mode 100644 index 0000000000..9725be0544 --- /dev/null +++ b/release/0.10.0/doc/howto/usage/k8s/src/k8s_train/README.html @@ -0,0 +1,239 @@ + + + + + + + + + + + <no title> — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • <no title>
  • +
+
+ +
+
+
+
+ +

To build PaddlePaddle training image in tutorial Distributed PaddlePaddle Training on AWS with Kubernetes, run following command:

+
docker build . -t train-image-name
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/index.html b/release/0.10.0/doc/index.html new file mode 120000 index 0000000000..a95a118f9f --- /dev/null +++ b/release/0.10.0/doc/index.html @@ -0,0 +1 @@ +./index_en.html \ No newline at end of file diff --git a/release/0.10.0/doc/index_en.html b/release/0.10.0/doc/index_en.html new file mode 100644 index 0000000000..4c6d869440 --- /dev/null +++ b/release/0.10.0/doc/index_en.html @@ -0,0 +1,254 @@ + + + + + + + + + + + PaddlePaddle Documentation — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • PaddlePaddle Documentation
  • +
+
+ +
+
+
+
+ +
+

PaddlePaddle Documentation

+ +
+ + +
+
+
+ + + + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/objects.inv b/release/0.10.0/doc/objects.inv new file mode 100644 index 0000000000000000000000000000000000000000..186579d2607a16f4c0bf496eecaa725727d56b85 GIT binary patch literal 2303 zcmVNERX>N99Zgg*Qc_4OWa&u{KZXhxWBOp+6Z)#;@bUGkVVPs@% zWl&*cWNc*$BOq2~a&u{KZaN?eBOp|0Wgv28ZDDC{WMy(7Z)PBLXlZjGW@&6?AZc?T zV{dJ6a%FRKWn>_Ab7^j8AbM&A_y>E37bWB zB}JOW0=YD(Zq5v&{&SN(l5)xuICmd>u?_fQCoi>$A0x%zCVSX_g2xBVOp{gLS0t-g zMYd|3WjQ(H4W=b&&TgJBFvmAdb)Xq(&d+N73)RoBwr!bmT9xQ?gliffK94hyO^irf zKZ|Gcc%G2*Y|o4Qv)`a-ReLl^T9sS6OZFtMNyE-C=M57SMU}NVLBBTyVfk3fD{!R| z&Ez<{e1h&Z{1j}WiQc!IbR(K3T*UMaKa*x{X@E1$F=MCTyTJ`EewC3)Cc=N!fq8Ui zjPN8QTioV6sZDoM!nbrH!uM77%bFrRomFj;f4?+hl1X+M=T1k(kYgo+)vIR^wCXo$$WaEB{%nQ=loJVni#6sVxh6zS;zb^z9u`m-4MlRLpC)Lkn$v>*W6@YT9Yu9* zpC`!bs>*4(TR>$rv>WOtMROi2VJ9SxfCDo9sOf`=tUU|^y@MgqLy}8A3?;jd9m4hx zI>3=cXu++JU94doE7Due9+F;*VH_>st(CzLfgR8k&0U3%P_eTbvSv%S`P6 zgxi5Z)+V`jl+f&W{R;fOXhN@LQ`>mU-n3Tj zq@{jn2kr8*v*g!GkydgS&}8o5RME_dOh3zJmM~hJ z(ohx&0!=i}B!22e6=rd>z^~!={8g3_)}_UhSSJHhaddPuY$L@z$uij8Pi>$j(pL6} z=a~9bLk2pzosz{E=}^wFaGRdmx^1d0GgNb|q78%xk8RqF~^V9}v8f~ISI%cG<&BeZ5=Om%UPDmW2)d6F}HT{@* zS};-s5fBK8L!<}-taGfDN$@mw%9Pt#=rfJk);pojT;$#vb<9GCz(2`OTLh8BxjoUI z(zK{!(m$kyhx4-`{|_8ACDq|v`?8a^4a~ecYzlcnh2;{w$m$Mh5^5go( z;@b1ZQ?|c)=rVi12wG{XFCTQ9z621owrLM&BrQ+l4J2HPK9XA} z!NXb8Ld$&h5?rMyKYc{^ie(|DQPtn8w8)Z-a7^=rI#=^P^uBuJRopVXBe77h?{DIO zsy&~BWTg5d5Bfs3!52##TFV$0pt*QkB2V~p$^Gj9K_@UGg>gqXgk@34;uM;@n>e=0 zNKqw4E~69nNuQ6ma2%#MXK_Q)xRbI(LOUw*$Y{T>4wSqjr8?k43*a-lD`S{=_qM2O zHCKb;wSf8*vjLsxqDqZ+Mj4N9FV`3EF9Rq}uf72<+*OzHdUc-l18X!DVrfm2@&6-8=1?dQ8=J{fIUS& zE-~atGvL=$E)a-`TRASPmkE2OmSRxBn*(|I`h}1kXKU}ZGt@d2Ku4CropvR+7g=S2zQ}u7pDS*iZnv zB9Er5Q^Lbj?9b_+uRo&AwN}#Qxg2`Dt6NdsZmB#VhLA?Z^(%%J655-a59kJV;i`co zmzn|VM47itq)7d(jwnI4ae2LfZ5hrf!?_tZyS5-DXJe#;8v5m%Zb8>A7b$$Tv<{g^ zJW|7iYL)4FWFBoVkBpQn!x$|iNeU&$Y*I%-@qS3X<=gyR7Ul4WIF7dPw~G|szzc^%A|W=L$w)S zmHjs`3Xlbt;5lSeCFq88Mvk&9+gF5cZ_rFyYij*xd zewTK9eBMwtA2!#wZ`bec9Q`j_nm#15vYNmONh;jGiXL<)dR8OH#4v35G#NNO9;r0; zR51naN$T8fn;fcJEH4LFvm-OiIwzbL#4Qv56Ck!OsIzhY%qW}WA5<{hS^%xJK!{h~ ZIPP>1PKMHuw01q{MO|-4_kR + + + + + + + + Python Module Index — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Python Module Index
  • +
+
+ +
+
+
+
+ + +

Python Module Index

+ +
+ p +
+ + + + + + + + + + + + + +
 
+ p
+ paddle +
    + paddle.trainer_config_helpers.attrs +
    + paddle.trainer_config_helpers.data_sources +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/search.html b/release/0.10.0/doc/search.html new file mode 100644 index 0000000000..09f082299f --- /dev/null +++ b/release/0.10.0/doc/search.html @@ -0,0 +1,257 @@ + + + + + + + + + + + Search — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Search
  • +
+
+ +
+
+
+
+ + + + +
+ +
+ +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/searchindex.js b/release/0.10.0/doc/searchindex.js new file mode 100644 index 0000000000..74b7196a78 --- /dev/null +++ b/release/0.10.0/doc/searchindex.js @@ -0,0 +1 @@ +Search.setIndex({docnames:["about/index_en","api/index_en","api/v1/data_provider/dataprovider_en","api/v1/data_provider/pydataprovider2_en","api/v1/index_en","api/v1/predict/swig_py_paddle_en","api/v1/trainer_config_helpers/activations","api/v1/trainer_config_helpers/attrs","api/v1/trainer_config_helpers/data_sources","api/v1/trainer_config_helpers/evaluators","api/v1/trainer_config_helpers/layers","api/v1/trainer_config_helpers/networks","api/v1/trainer_config_helpers/optimizers","api/v1/trainer_config_helpers/poolings","api/v2/config/activation","api/v2/config/attr","api/v2/config/layer","api/v2/config/networks","api/v2/config/optimizer","api/v2/config/pooling","api/v2/data","api/v2/model_configs","api/v2/run_logic","design/api","design/dist/README","design/multi_language_interface/why_plain_c","design/reader/README","getstarted/basic_usage/index_en","getstarted/build_and_install/build_from_source_en","getstarted/build_and_install/docker_install_en","getstarted/build_and_install/index_en","getstarted/build_and_install/ubuntu_install_en","getstarted/index_en","howto/deep_model/rnn/index_en","howto/deep_model/rnn/rnn_config_en","howto/dev/contribute_to_paddle_en","howto/dev/new_layer_en","howto/index_en","howto/optimization/gpu_profiling_en","howto/usage/cluster/cluster_train_en","howto/usage/cmd_parameter/arguments_en","howto/usage/cmd_parameter/detail_introduction_en","howto/usage/cmd_parameter/index_en","howto/usage/cmd_parameter/use_case_en","howto/usage/k8s/k8s_aws_en","howto/usage/k8s/k8s_en","howto/usage/k8s/src/k8s_data/README","howto/usage/k8s/src/k8s_train/README","index_en","tutorials/embedding_model/index_en","tutorials/gan/index_en","tutorials/image_classification/index_en","tutorials/imagenet_model/resnet_model_en","tutorials/index_en","tutorials/quick_start/index_en","tutorials/rec/ml_dataset_en","tutorials/rec/ml_regression_en","tutorials/semantic_role_labeling/index_en","tutorials/sentiment_analysis/index_en","tutorials/text_generation/index_en"],envversion:50,filenames:["about/index_en.rst","api/index_en.rst","api/v1/data_provider/dataprovider_en.rst","api/v1/data_provider/pydataprovider2_en.rst","api/v1/index_en.rst","api/v1/predict/swig_py_paddle_en.rst","api/v1/trainer_config_helpers/activations.rst","api/v1/trainer_config_helpers/attrs.rst","api/v1/trainer_config_helpers/data_sources.rst","api/v1/trainer_config_helpers/evaluators.rst","api/v1/trainer_config_helpers/layers.rst","api/v1/trainer_config_helpers/networks.rst","api/v1/trainer_config_helpers/optimizers.rst","api/v1/trainer_config_helpers/poolings.rst","api/v2/config/activation.rst","api/v2/config/attr.rst","api/v2/config/layer.rst","api/v2/config/networks.rst","api/v2/config/optimizer.rst","api/v2/config/pooling.rst","api/v2/data.rst","api/v2/model_configs.rst","api/v2/run_logic.rst","design/api.md","design/dist/README.md","design/multi_language_interface/why_plain_c.md","design/reader/README.md","getstarted/basic_usage/index_en.rst","getstarted/build_and_install/build_from_source_en.md","getstarted/build_and_install/docker_install_en.rst","getstarted/build_and_install/index_en.rst","getstarted/build_and_install/ubuntu_install_en.rst","getstarted/index_en.rst","howto/deep_model/rnn/index_en.rst","howto/deep_model/rnn/rnn_config_en.rst","howto/dev/contribute_to_paddle_en.md","howto/dev/new_layer_en.rst","howto/index_en.rst","howto/optimization/gpu_profiling_en.rst","howto/usage/cluster/cluster_train_en.md","howto/usage/cmd_parameter/arguments_en.md","howto/usage/cmd_parameter/detail_introduction_en.md","howto/usage/cmd_parameter/index_en.rst","howto/usage/cmd_parameter/use_case_en.md","howto/usage/k8s/k8s_aws_en.md","howto/usage/k8s/k8s_en.md","howto/usage/k8s/src/k8s_data/README.md","howto/usage/k8s/src/k8s_train/README.md","index_en.rst","tutorials/embedding_model/index_en.md","tutorials/gan/index_en.md","tutorials/image_classification/index_en.md","tutorials/imagenet_model/resnet_model_en.md","tutorials/index_en.md","tutorials/quick_start/index_en.md","tutorials/rec/ml_dataset_en.md","tutorials/rec/ml_regression_en.rst","tutorials/semantic_role_labeling/index_en.md","tutorials/sentiment_analysis/index_en.md","tutorials/text_generation/index_en.md"],objects:{"paddle.trainer.PyDataProvider2":{provider:[3,0,1,""]},"paddle.trainer_config_helpers":{attrs:[7,1,0,"-"],data_sources:[8,1,0,"-"]},"paddle.trainer_config_helpers.attrs":{ExtraAttr:[7,2,1,""],ExtraLayerAttribute:[7,3,1,""],ParamAttr:[7,2,1,""],ParameterAttribute:[7,3,1,""]},"paddle.trainer_config_helpers.attrs.ParameterAttribute":{set_default_parameter_name:[7,4,1,""]},"paddle.trainer_config_helpers.data_sources":{define_py_data_sources2:[8,0,1,""]}},objnames:{"0":["py","function","Python function"],"1":["py","module","Python module"],"2":["py","attribute","Python attribute"],"3":["py","class","Python class"],"4":["py","method","Python method"]},objtypes:{"0":"py:function","1":"py:module","2":"py:attribute","3":"py:class","4":"py:method"},terms:{"0000x":54,"00186201e":5,"00m":38,"02595v1":[10,16],"03m":38,"0424m":38,"0473v3":[11,17],"055ee37d":44,"05d":51,"0630u":38,"06u":38,"0810u":38,"08823112e":5,"0957m":38,"0ab":[10,16],"0rc2":29,"0th":59,"10007_10":58,"10014_7":58,"100gb":38,"100gi":44,"10m":38,"1150u":38,"11e6":45,"12194102e":5,"124n":38,"13m":45,"1490u":38,"15501715e":5,"1550u":38,"15mb":54,"1636k":59,"16mb":54,"16u":38,"173m":52,"173n":38,"1770u":38,"18ad":44,"18e457ce3d362ff5f3febf8e7f85ffec852f70f3b629add10aed84f930a68750":45,"197u":38,"1gb":38,"1st":[49,52,58,59],"202mb":59,"210u":38,"211839e770f7b538e2d8":[11,17],"215n":38,"228u":38,"234m":52,"2520u":38,"252kb":54,"25639710e":5,"25k":54,"2680u":38,"27787406e":5,"279n":38,"27m":38,"285m":38,"2863m":38,"28m":38,"28x28":3,"2977m":38,"2cbf7385":44,"2nd":[10,16,58,59],"302n":38,"30u":38,"32777140e":5,"328n":38,"32u":38,"32x32":[20,51],"331n":38,"3320u":38,"36540484e":5,"365e":44,"36u":38,"3710m":38,"3768m":38,"387u":38,"38u":38,"3920u":38,"39u":38,"3rd":[56,58,59],"4035m":38,"4090u":38,"4096mb":41,"4279m":38,"43630644e":5,"43u":38,"448a5b355b84":45,"4560u":38,"4563m":38,"45u":38,"4650u":38,"4726m":38,"473m":45,"48565123e":5,"48684503e":5,"49316648e":5,"4gb":41,"50bd":44,"50gi":44,"51111044e":5,"514u":38,"525n":38,"526u":38,"53018653e":5,"536u":38,"5460u":38,"5470u":38,"54u":38,"55g":59,"5690m":38,"573u":38,"578n":38,"5798m":38,"586u":38,"58s":45,"5969m":38,"6080u":38,"6082v4":[10,16],"6140u":38,"6305m":38,"639u":38,"655u":38,"6780u":38,"6810u":38,"682u":38,"6970u":38,"6ce9":44,"6node":39,"6th":59,"704u":38,"70634608e":5,"7090u":38,"72296313e":5,"72u":38,"73u":38,"75u":38,"760u":38,"767u":38,"783n":38,"784u":38,"78m":38,"7eamaa":20,"7kb":45,"8250u":38,"8300u":38,"830n":38,"849m":38,"85625684e":5,"861u":38,"864k":59,"8661m":38,"892m":38,"901n":38,"90u":38,"918u":38,"9247m":38,"924n":38,"9261m":38,"93137714e":5,"9330m":38,"94u":38,"9530m":38,"96644767e":5,"983m":38,"988u":38,"997u":38,"99982715e":5,"99m":52,"99u":38,"9f18":45,"\u4e0d\u4f7f\u7528\u9759\u6001\u5e93":25,"\u4e0d\u4f7f\u7528c":25,"\u4e0d\u4f7f\u7528swig":25,"\u4e0d\u540c\u7248\u672c\u7684\u7f16\u8bd1\u5668\u4e4b\u95f4":25,"\u4e0d\u540c\u8bed\u8a00\u7684\u63a5\u53e3\u9002\u5e94\u4e0d\u540c\u8bed\u8a00\u7684\u7279\u6027":25,"\u4e0d\u5d4c\u5165\u5176\u4ed6\u8bed\u8a00\u89e3\u91ca\u5668":25,"\u4e0d\u5d4c\u5165python\u89e3\u91ca\u5668":25,"\u4e0d\u663e\u793a\u7684\u5199\u6bcf\u4e2a\u7c7b\u5177\u4f53\u5305\u542b\u4ec0\u4e48":25,"\u4e14\u589e\u52a0\u4e00\u4e2a\u7b2c\u4e09\u65b9\u8bed\u8a00":25,"\u4e14c99\u652f\u6301bool\u7c7b\u578b\u548c\u5b9a\u957f\u6574\u6570":25,"\u4e14c99\u76f8\u5bf9\u4e8ec11\u4f7f\u7528\u66f4\u52a0\u5e7f\u6cdb":25,"\u4e2d":25,"\u4e2d\u5b8c\u5168\u4e00\u81f4":25,"\u4e5f\u4e0d\u4f7f\u7528\u5176\u4ed6\u52a8\u6001\u5e93":25,"\u4e66\u5199":25,"\u4ec5\u4ec5\u4f7f\u7528":25,"\u4ed6\u7684\u76ee\u6807\u662f\u4f7f\u7528c":25,"\u4ee3\u7801\u751f\u6210\u7684\u7b26\u53f7\u53ef\u80fd\u4e0d\u4e00\u81f4":25,"\u4f1a\u5bfc\u81f4\u4e0d\u540c\u7248\u672cpython\u5728\u4e00\u4e2a\u8fdb\u7a0b\u91cc\u7684bug":25,"\u4f1a\u76f4\u63a5\u62a5\u9519\u9000\u51fa":25,"\u4f46\u662f\u89e3\u91ca\u6027\u8bed\u8a00":25,"\u4f5c\u4e3a\u7c7b\u53e5\u67c4":25,"\u4f7f\u7528\u52a8\u6001\u5e93":25,"\u4f7f\u7528\u9759\u6001\u5e93\u548c\u52a8\u6001\u5e93\u96be\u5ea6\u5dee\u4e0d\u591a":25,"\u4f7f\u7528c99\u505a\u63a5\u53e3":25,"\u4f7f\u7528c99\u800c\u4e0d\u4f7f\u7528c11\u7684\u539f\u56e0\u662f":25,"\u4f7f\u7528c99\u800c\u4e0d\u4f7f\u7528c89":25,"\u4f7f\u7528swig\u53ea\u652f\u6301cpython\u89e3\u91ca\u5668":25,"\u4f7f\u7528swig\u9700\u8981\u591a\u8bed\u8a00\u7ed1\u5b9a\u7684\u5f00\u53d1\u4eba\u5458\u719f\u7ec3\u638c\u63e1swig\u914d\u7f6e":25,"\u4f7f\u7528void":25,"\u4f8b\u5982":25,"\u4f8b\u5982\u5bf9\u4e8ejava\u6216\u8005python":25,"\u4f8b\u5982\u5bf9\u4e8ejava\u6765\u8bf4":25,"\u4f8b\u5982\u5bf9\u4e8epython":25,"\u4f8b\u5982c":25,"\u4f8b\u5982java\u4e0epython\u7684\u9519\u8bef\u5904\u7406\u662f\u76f4\u63a5\u6254\u51fa\u6765except":25,"\u4f8b\u5982python\u53ef\u4ee5\u4f7f\u7528":25,"\u4f8b\u5982python\u7684":25,"\u4fbf\u662f\u5c06\u9759\u6001\u5e93\u52a0\u5165jvm\u4e2d":25,"\u505a\u63a5\u53e3":25,"\u5176\u4e2d":25,"\u5185\u90e8\u9a71\u52a8python\u89e3\u91ca\u5668\u8fdb\u884c\u6a21\u578b\u914d\u7f6e\u89e3\u6790\u548c\u6570\u636e\u8bfb\u53d6":25,"\u518d\u5728\u6bcf\u4e00\u4e2aapi\u4e2d\u81ea\u5df1\u68c0\u67e5\u7c7b\u578b":25,"\u5199\u4ee3\u7801":25,"\u51fd\u6570\u547d\u540d":25,"\u52a8\u6001\u5e93":25,"\u5373\u8fd9\u4e2a\u52a8\u6001\u5e93\u662f\u4e0d\u4f9d\u8d56\u4e8e\u5176\u4ed6\u4efb\u4f55\u6587\u4ef6\u7684":25,"\u53c2\u6570":25,"\u53ea\u80fd\u8c03\u7528paddle\u7684\u52a8\u6001\u5e93":25,"\u53ef\u4ee5\u5728\u4efb\u4f55\u673a\u5668\u4e0a\u6267\u884c\u7684":25,"\u540d\u5b57\u4fee\u9970":25,"\u5426\u5219\u5f97\u628apaddle\u9759\u6001\u5e93\u94fe\u63a5\u5230\u89e3\u91ca\u5668\u91cc":25,"\u548c":25,"\u56e0\u4e3aswig\u5728\u7b2c\u4e09\u65b9\u8bed\u8a00\u4e2d\u66b4\u9732\u7684\u51fd\u6570\u540d":25,"\u5728\u8fd9\u4e2a\u52a8\u6001\u5e93\u4e2d\u4e0d\u5d4c\u5165\u4efb\u4f55\u5176\u4ed6\u8bed\u8a00\u7684\u89e3\u91ca\u5668":25,"\u5728c":25,"\u5728c\u7684\u5934\u6587\u4ef6":25,"\u5927\u591a\u6570\u8bed\u8a00\u90fd\u652f\u6301\u4f7f\u7528c\u8bed\u8a00api":25,"\u5982\u679c\u4f7f\u7528swig\u6211\u4eec\u9700\u8981\u5c06\u5728interface\u6587\u4ef6\u91cc":25,"\u5982\u679c\u7528\u6237\u8981\u628apaddle\u7684\u9759\u6001\u5e93":25,"\u5982\u679c\u8c03\u7528\u9759\u6001\u5e93\u53ea\u80fd\u5c06\u9759\u6001\u5e93\u4e0e\u89e3\u91ca\u5668\u94fe\u63a5":25,"\u5b66\u4e60\u6210\u672c\u9ad8":25,"\u5b9e\u73b0\u7b80\u5355":25,"\u5bf9\u4e8e\u4e0d\u540c\u8bed\u8a00":25,"\u5bf9\u4e8e\u540c\u4e00\u6bb5c":25,"\u5bf9\u4e8e\u591a\u8bed\u8a00\u63a5\u53e3":25,"\u5bf9\u4e8e\u5927\u591a\u6570\u8bed\u8a00":25,"\u5bf9\u6bd4":25,"\u5c06\u5927\u91cf\u7684":25,"\u5c31\u9700\u8981\u5bf9\u8fd9\u4e2a\u7b2c\u4e09\u65b9\u8bed\u8a00\u589e\u52a0\u4e00\u4e9b\u5b9a\u4e49":25,"\u5e76\u4e14\u5728\u5e38\u89c1\u7684\u5e73\u53f0\u4e0a":25,"\u5e76\u4e14\u8ba9\u63a5\u53e3\u8131\u79bb\u5b9e\u73b0\u7ec6\u8282":25,"\u5e76\u6ca1\u6709paddle\u7279\u522b\u9700\u8981\u7684\u7279\u6027":25,"\u5f88\u96be\u4fdd\u8bc1\u591a\u8bed\u8a00\u4ee3\u7801\u98ce\u683c\u7684\u4e00\u81f4\u6027":25,"\u5f97\u4f7f\u7528":25,"\u6211\u4eec\u4f7f\u7528\u52a8\u6001\u5e93\u6765\u5206\u53d1paddl":25,"\u6211\u4eec\u6700\u7ec8\u7684\u52a8\u6001\u5e93\u4e2d\u4e0d\u5d4c\u5165python\u6216\u8005\u5176\u4ed6\u4efb\u4f55\u8bed\u8a00\u7684\u89e3\u91ca\u5668":25,"\u6216\u8005":25,"\u624b\u5199\u591a\u8bed\u8a00\u7ed1\u5b9a":25,"\u63a5\u53e3":25,"\u6570\u636e\u8bfb\u53d6\u5747\u4ea4\u7531\u5176\u4ed6\u8bed\u8a00\u5b8c\u6210":25,"\u6587\u4ef6":25,"\u6587\u4ef6\u5185\u5bb9\u4e3a":25,"\u65e0\u6cd5\u505a\u5230\u5bf9\u4e8e\u5404\u79cd\u8bed\u8a00\u9519\u8bef\u5904\u7406\u65b9\u5f0f\u7684\u9002\u914d":25,"\u662f\u4e00\u4e2a\u591a\u8bed\u8a00\u63a5\u53e3\u7684\u4ee3\u7801\u751f\u6210\u5668":25,"\u662f\u4e0d\u5e38\u89c1\u7684\u505a\u6cd5":25,"\u662f\u56e0\u4e3ac99\u652f\u6301":25,"\u6700\u5e38\u89c1\u7684\u9519\u8bef\u5904\u7406\u65b9\u5f0f\u662fexcept":25,"\u6709\u6807\u51c6\u7684":25,"\u6709\u7684\u65f6\u5019":25,"\u6765\u786e\u4fdd\u628a":25,"\u6765\u8868\u793apaddle\u5185\u90e8\u7c7b":25,"\u6a21\u578b\u914d\u7f6e\u89e3\u6790":25,"\u73b0\u9636\u6bb5paddle\u6709\u4e00\u4e2a\u95ee\u9898\u662f":25,"\u751f\u6210\u5404\u79cd\u8bed\u8a00\u7684\u7ed1\u5b9a\u4ee3\u7801":25,"\u751f\u6210\u6587\u6863":25,"\u751f\u6210api\u6587\u6863":25,"\u7531\u4e8ec":25,"\u7684\u547d\u540d\u98ce\u683c\u5e76\u4e0d\u80fd\u9002\u5e94\u5176\u4ed6\u7b2c\u4e09\u65b9\u8bed\u8a00":25,"\u7684\u5934\u6587\u4ef6":25,"\u7684\u63a5\u53e3\u6837\u5f0f":25,"\u7684\u6e90\u7801\u91cc\u4f7f\u7528\u4e86":25,"\u7684\u89c4\u8303":25,"\u76ee\u524d\u5d4c\u5165python\u89e3\u91ca\u5668":25,"\u76ee\u524dpaddle\u7684\u8fdb\u7a0b\u6a21\u578b\u662fc":25,"\u76f4\u63a5\u4f7f\u7528c\u8bed\u8a00\u7684":25,"\u76f4\u63a5\u5bfc\u51fa\u5230c\u7684\u63a5\u53e3\u6bd4\u8f83\u56f0\u96be":25,"\u793e\u533a\u53c2\u4e0e\u56f0\u96be":25,"\u793e\u533a\u8d21\u732e\u4ee3\u7801\u5b66\u4e60\u6210\u672c\u9ad8":25,"\u7c7b\u540d\u548cc":25,"\u7c7b\u578b":25,"\u7ea2\u697c\u68a6":49,"\u7ed3\u8bba":25,"\u7f16\u8bd1\u5668\u6ca1\u6709":25,"\u7f16\u8bd1\u578b\u8bed\u8a00":25,"\u800c\u4e0d\u652f\u6301pypy\u89e3\u91ca\u5668":25,"\u800c\u5728cpp\u91cc\u9762\u5b9e\u73b0\u8fd9\u4e2ac\u7684\u63a5\u53e3":25,"\u800c\u591a\u8bed\u8a00\u63a5\u53e3\u9700\u8981\u76f4\u63a5\u8bfb\u53d6\u751f\u6210\u7684\u4e8c\u8fdb\u5236":25,"\u800c\u5bf9\u4e8egolang":25,"\u800c\u5bf9\u4e8egolang\u9519\u8bef\u5904\u7406\u5e94\u8be5\u4f7f\u7528\u8fd4\u56de\u503c":25,"\u800cswig\u53ea\u80fd\u7b80\u5355\u7684\u66b4\u9732c":25,"\u826f\u597d\u7684\u6587\u6863":25,"\u89e3\u91ca\u578b\u8bed\u8a00\u53ea\u80fd\u8c03\u7528\u52a8\u6001\u5e93":25,"\u89e3\u91ca\u6027\u8bed\u8a00\u5b9e\u9645\u8fd0\u884c\u7684\u4e8c\u8fdb\u5236\u662f\u89e3\u91ca\u5668\u672c\u8eab":25,"\u8fd9\u4e2a\u63a5\u53e3\u9700\u8981\u505a\u5230":25,"\u8fd9\u4e2a\u6587\u4ef6\u5177\u6709\u72ec\u7279\u7684\u8bed\u6cd5":25,"\u8fd9\u5bf9\u4e8e\u901a\u5e38\u7684java\u7684\u5f00\u53d1\u8005\u6765\u8bf4":25,"\u8fd9\u662f\u56e0\u4e3a":25,"\u8fd9\u90fd\u9700\u8981\u8fd9\u4e2a\u63a5\u53e3\u6309\u7167\u7ea6\u5b9a\u4fd7\u6210\u7684\u89c4\u5219\u6765\u6ce8\u91ca\u5b8c\u5907":25,"\u90fd\u662fabi\u8c03\u7528\u6807\u51c6\u7684":25,"\u91cc\u6240\u6709\u7684\u7b26\u53f7\u90fd\u5199\u5165\u81ea\u5df1\u7684\u7a0b\u5e8f\u7684\u4e8c\u8fdb\u5236\u6587\u4ef6\u91cc":25,"\u91cd\u547d\u540d\u6210":25,"\u94fe\u63a5\u5230\u81ea\u5df1\u7684\u7a0b\u5e8f\u91cc":25,"\u9519\u8bef\u5904\u7406":25,"\u9519\u8bef\u5904\u7406\u65b9\u5f0f\u662f\u8fd4\u56de\u503c":25,"\u9519\u8bef\u5904\u7406\u7684\u65b9\u5f0f\u4e5f\u4e0d\u5c3d\u76f8\u540c":25,"\u9700\u8981\u6709\u7a33\u5b9a\u7684\u5bfc\u51fa\u7b26\u53f7":25,"\ufb01xed":59,"abstract":[36,41],"api\u4e2d\u4f7f\u7528":25,"boolean":[10,16,25],"break":54,"c99\u662f\u76ee\u524dc\u6700\u5e7f\u6cdb\u7684\u4f7f\u7528\u6807\u51c6":25,"c\u6709\u6807\u51c6\u7684abi":25,"c\u8bed\u8a00\u662f\u6709\u5bfc\u51fa\u7b26\u53f7\u7684\u6807\u51c6\u7684":25,"case":[10,16,26,27,34,35,36,38,42,44,50,54],"char":56,"class":[5,7,10,12,14,15,16,17,18,19,20,22,23,25,40,51,58],"const":36,"default":[3,7,9,10,11,12,15,16,17,19,20,22,23,29,39,41,43,44,45,54,56,58,59],"export":[28,51],"final":[11,17,27,28,36,56,58],"float":[3,7,9,10,12,15,16,18,20,27,36,38,43,49,52,56],"function":[3,5,8,10,11,12,16,17,18,20,23,26,27,34,36,38,39,41,50,51,54,57,58,59],"golang\u53ef\u4ee5\u4f7f\u7528":25,"golang\u7684":25,"h\u5e76\u4e0d\u56f0\u96be":25,"import":[3,5,9,10,16,23,27,34,38,44,49,50,51,52,54,56,58,59],"int":[3,7,9,10,11,12,15,16,17,20,25,26,36,43,54,56,57],"interface\u6587\u4ef6\u7684\u5199\u6cd5\u975e\u5e38":25,"long":[2,10,11,16,17,20,29,38,57,58],"new":[3,10,16,20,24,26,35,37,44,45,50,54,57,58],"null":[10,16,36,41,56],"paddle\u4e00\u4e2a\u52a8\u6001\u5e93\u53ef\u4ee5\u5728\u4efb\u4f55linux\u7cfb\u7edf\u4e0a\u8fd0\u884c":25,"paddle\u5185\u5d4c\u7684python\u89e3\u91ca\u5668\u548c\u5916\u90e8\u4f7f\u7528\u7684python\u5982\u679c\u7248\u672c\u4e0d\u540c":25,"paddle\u5185\u90e8\u7684\u7c7b\u4e3ac":25,"paddle\u7684\u591a\u8bed\u8a00\u63a5\u53e3\u5b9e\u73b0\u5305\u62ec\u4e00\u4e0b\u51e0\u4e2a\u65b9\u9762":25,"paddle\u7684\u94fe\u63a5\u65b9\u5f0f\u6bd4\u8f83\u590d\u6742":25,"paddle\u9700\u8981\u4e00\u4e2a\u591a\u8bed\u8a00\u63a5\u53e3":25,"paddle\u9759\u6001\u5e93\u94fe\u63a5\u590d\u6742":25,"public":[20,36,39,44,45,58],"return":[3,8,9,10,11,16,17,19,20,22,23,27,34,36,44,50,52,54,55,56,59],"short":[10,11,16,17,27,56,57,58],"static":[10,44],"super":36,"swig\u652f\u6301\u7684\u8bed\u8a00\u6216\u8005\u89e3\u91ca\u5668\u6709\u5c40\u9650":25,"swig\u66b4\u9732\u7684\u63a5\u53e3\u4fdd\u7559\u4e86c":25,"swig\u751f\u6210\u7684\u4ee3\u7801\u4e0d\u80fd\u4fdd\u8bc1\u591a\u8bed\u8a00\u4ee3\u7801\u98ce\u683c\u7684\u4e00\u81f4\u6027":25,"swig\u76f4\u63a5\u8bfb\u53d6c":25,"swig\u9700\u8981\u5199\u4e00\u4e2ainterface\u6587\u4ef6":25,"switch":[44,58],"throw":44,"true":[3,7,9,10,11,12,15,16,17,19,20,22,23,26,27,34,36,41,43,44,52,56,57,58,59],"try":[12,18,24,26,38,50,56],"void":[25,36],"while":[2,3,7,9,15,20,26,29,34,41,50,54,58,59],AGE:[44,45],AND:56,ARE:56,AWS:[37,46,47],Abs:6,Age:55,And:[3,9,10,12,16,18,20,26,31,35,43,44,45,49,52,56,58,59],But:[3,10,11,16,17],EOS:[10,16],For:[2,3,8,9,10,12,16,18,20,23,26,27,28,29,34,36,38,39,40,41,43,49,51,52,54,58,59],Going:58,Has:3,IDs:[20,54],Ids:54,Into:44,Its:[3,34,44,56],Not:[23,24,39],ONE:3,One:[9,10,11,17,22,34,36,41,50,54,58,59],QoS:45,THE:3,TLS:[23,44],That:[10,16,20,26,29,41,43],The:[2,3,5,7,8,9,10,11,12,14,15,16,17,18,20,22,23,24,26,27,28,29,30,31,34,35,36,38,39,41,43,44,45,49,50,51,52,54,55,56,57,58,59],Their:[3,10,16,24],Then:[5,10,16,28,29,34,35,36,38,44,45,49,51,56,57,58],There:[9,10,16,20,22,23,24,27,29,31,38,44,50,51,52,53,54,56,59],These:[39,43,51,57],USE:56,USING:56,Use:[3,23,26,29,36,38,41,42,44,56],Used:[11,17],Useful:3,Using:[45,58],VPS:44,WITH:35,Will:[20,22],With:[3,10,11,16,17,27,50,57],Yes:29,___fc_layer_0__:44,__init__:36,__list_to_map__:56,__main__:52,__meta__:56,__name__:52,__rnn_step__:34,_error:50,_link:[11,17],_proj:[10,16],_res2_1_branch1_bn:52,_source_language_embed:[34,49],_target_language_embed:[34,49],aaaaaaaaaaaaa:44,abc:[10,16],abl:[10,16,23,50,58],about:[5,10,11,16,17,27,38,40,41,44,48,57,58,59],abov:[3,5,10,16,23,24,27,29,38,44,45,50,52,54,57],abs:[11,17,50],absolut:[2,39],academ:55,acceler:43,accept:[3,5,20,23,26,54,57],acceptor:57,access:[2,10,11,16,17,23,34,59],accessmod:44,accident:55,accomplish:29,accord:[2,3,9,10,16,34,35,39,40,41,43],accordingli:[5,36],accordingto:57,accrod:[11,17],accumul:24,accuraci:[9,36,54,55,58],achiev:[38,51],ack:41,acl:58,aclimdb:58,across:[10,16],act:[10,11,16,17,27,34,54],act_typ:54,action:[44,55],activ:[0,4,5,10,11,16,17,21,27,28,36,41,54,58],activi:[11,17],actual:[3,10,16,27],adadelta:[12,54],adagrad:[12,54],adam:[12,23,54,58,59],adamax:[12,54],adamoptim:[49,54,58,59],adapt:[9,12,18,27,58,59],add:[3,10,11,16,17,20,27,28,35,36,38,43,54,56],add_input:36,add_test:36,add_to:[10,16],add_unittest_without_exec:36,addbia:36,added:[3,9,36],adding:52,addit:[10,11,16,17,29,54],address:[24,29,38,41],addrow:36,addtion:39,addto:10,addtolay:[10,16],adject:58,adjust:27,admin:55,adopt:57,advanc:[34,38,41],advantag:58,adventur:55,adverb:58,adversari:26,advic:38,affect:[10,16],afi:3,aforement:39,after:[10,16,20,28,31,34,36,39,41,43,44,45,50,51,52,54,56,57,58,59],again:[23,24,38],against:44,age:[20,56],agg_level:[10,16],aggreg:44,aggregatelevel:[10,16],aid:38,aim:[58,59],aircraft:59,airplan:51,aistat:[10,16],alex:[10,16,58],alexnet_pass1:43,alexnet_pass2:43,algorithm:[10,12,16,18,27,34,49,51,58,59],alia:[6,7,13,14,15],align:[10,11,16,17,20,59],all:[0,3,7,9,10,12,15,16,18,23,24,27,29,34,35,36,38,39,40,41,43,44,45,49,50,52,54,55,56,57,58,59],alloc:[7,15,36,43],allow:[23,29,35,36,38,41,44,54],allow_only_one_model_on_one_gpu:[40,41,43],almost:[11,17,27,39,49],along:58,alreadi:[24,29,38,39,41,44,45,58],alreali:[40,59],also:[2,3,9,10,11,16,17,20,23,26,28,29,34,36,38,39,45,50,51,52,54,57,58],although:27,alwai:[5,10,11,16,17,22,26,27,41,44,59],amaz:51,amazon:[44,45,54,58],amazonaw:44,amazonec2fullaccess:44,amazonelasticfilesystemfullaccess:44,amazonroute53domainsfullaccess:44,amazonroute53fullaccess:44,amazons3fullaccess:44,amazonvpcfullaccess:44,ambigu:[26,57],amd64:44,amend:35,american:51,among:[44,58],amount:[38,58],analysi:[27,38,53,57],analyz:[54,58],andd:44,ani:[2,3,10,11,16,17,20,23,24,26,34,35,38,44,54,56,59],anim:55,annot:57,annual:57,anoth:[3,10,16,23,29,41,44,57,58],ans:44,answer:[27,44,57],anyth:[20,26,35,44,57],api:[20,22,23,28,36,38,44,48,50,54,56,58],apiserv:44,apivers:[44,45],apo:59,appar:59,appear:57,append:[3,22,26,34,36,39,56],append_gradient_machin:22,appleclang:28,appleyard:38,appli:[0,10,11,16,17,34,36,51,54],applic:[29,38,44,45,58],appreci:[35,58],approach:[10,16],apt:[28,31,51],arbitrari:[10,16],architectur:[49,57,58,59],architecur:58,archiv:[20,25],arg:[3,8,9,10,11,12,16,17,20,27,40,50,51,52,54,56,57,58],arg_nam:[10,16],argu:57,argument:[3,5,8,10,16,20,34,36,41,42,49,50,51,52,56,57,58,59],argv:52,arn:44,around:[3,10,16,44],arrai:[5,10,16,20,22,26,27,52],art:[27,57],articl:[39,45],artifact:44,artifici:50,artist:55,arxiv:[10,11,16,17,50,58],ask:24,aspect:58,assign:[10,16,41,44],associ:[57,58,59],assum:[10,16,34,43,49],assur:2,astyp:[26,50],async:[12,24,40],async_count:41,async_lagged_grad_discard_ratio:41,async_lagged_ratio_default:[40,41],async_lagged_ratio_min:[40,41],asynchron:[24,41],atla:28,atlas_root:28,attenion:[11,17],attent:[10,11,16,17,29,59],attitud:58,attr:[7,11,15,16,17],attribut:[3,4,10,11,16,17,21,36,49,57],auc:[9,40],aucvalidationlay:41,authent:44,author:[44,52],authorized_kei:39,autmot:35,auto:[25,36,38,53,56],autom:[44,59],automak:28,automat:[10,16,23,28,34,36,39,40,41,44,56,57,59],automaticli:[10,16],automobil:51,avail:[24,28,44],availabel:28,averag:[9,10,12,16,19,41,52,54,56,57,58,59],average_test_period:[40,41,57],average_window:58,averagepool:[10,16],avg:[13,38,54],avgcost:[9,54,56,58,59],avgpool:[10,16,54],avoid:[24,38],avx:[28,29,31],await:45,awar:[23,24,29,44],aws_account_id:44,awsaccountid:44,awskeymanagementservicepowerus:44,b2t:49,b363:45,b8561f5c79193550d64fa47418a9e67ebdd71546186e840f88de5026b8097465:45,ba5f:44,back:[3,24,29],backward:[10,11,14,16,17,34,36,41,43],backward_first:34,backwardactiv:36,bag:[54,58],baidu:[0,10,16,27,31,35,45,49],baik:49,balanc:[41,44,50],balasubramanyan:58,bank:57,bardward:[11,17],bare:45,barrier:41,barrierstatset:38,base:[6,12,16,17,19,20,23,27,31,34,35,36,38,39,41,44,49,50,54,56,58,59],baseactiv:[10,11,16],baseev:22,basematrix:36,basenam:9,basepool:13,basepoolingtyp:[10,11,16,17],baseregular:12,basestr:[7,8,9,10,11,15,16,17,19,22,56],bash:[29,44,45],bashrc:28,basic:[3,10,16,22,29,35,36,54,55,58],batch:[3,9,10,11,12,16,17,18,20,22,23,24,36,39,41,44,45,50,51,52,54,56,57,58,59],batch_0:52,batch_id:22,batch_norm:[10,17],batch_norm_lay:11,batch_norm_typ:[10,16],batch_read:26,batch_siz:[3,12,20,22,27,39,49,50,51,54,56,58,59],batchsiz:[10,16,36],bcd:[10,16],bcebo:20,beam:[10,16,34,41,57,59],beam_gen:[10,16,34],beam_search:[22,34],beam_siz:[10,16,34,40,41,43],beamsiz:59,becaus:[5,10,16,20,23,24,26,34,35,36,43,44,51,54,57],becom:[35,38],been:[3,28,35,51,54,57,58,59],befor:[5,10,11,16,17,24,26,29,35,39,44,51,56,58,59],begin:[5,9,10,16,36],beginiter:[22,23],beginn:34,beginpass:[22,23],begintrain:23,behavior:38,being:[24,26,50],belong:[10,16,59],below:[3,10,16,20,24,26,34,36,38,39,44,50,51,54,56],benefit:[11,17],bengio:[10,16],bertolami:58,besid:[2,10,16,20,59],best:[8,10,16,28,29,41,54,56,58,59],best_model_path:57,besteffort:45,beta1:[12,18],beta2:[12,18],beta:52,better:[10,11,16,17,27,39,44,50,56],between:[10,12,16,18,24,27,35,44,50,54,55,58,59],bgr:52,bi_lstm:[11,17],bia:[10,11,12,16,17,18,34,36,52],bias:[10,16,36],bias_attr:[10,11,16,17,27,34],bias_param_attr:[11,17],biases_:36,biasparameter_:36,biassiz:36,bidi:45,bidirect:[11,17,34,57,59],bidirectional_lstm_net:58,big:38,bigger:24,biggest:58,bilinear:[10,16],bilinear_interpol:[10,16],bilinearfwdbwd:38,bin:[28,29,39,44,45,56],binari:[3,9,10,16,20,38,44,49,54,58],bird:51,bison:28,bit:54,bitext:59,bla:28,blank:[10,16,44],block:[10,16,27,36,38,41,52,58],block_expand:10,block_i:[10,16],block_x:[10,16],blog:58,bn_attr:17,bn_bias_attr:[11,17],bn_layer_attr:11,bn_param_attr:[11,17],bollen:58,book:20,bool:[3,7,9,10,11,12,15,16,17,19,20,36,41,43,54,56,58],boot:[10,16,34],boot_bia:[10,16],boot_bias_active_typ:[10,16],boot_lay:[10,16,34],boot_with_const_id:[10,16],bootstrap:28,bos_id:[10,16,34],both:[0,7,10,11,14,15,16,17,23,24,29,34,36,38,44,50,52,54],bottleneck:[38,52],bottom:58,bow:[54,58],box:38,branch:[10,16,23,35],breadth:[41,59],brelu:6,brendan:58,brew:28,briefli:38,broadcast:24,brows:29,browser:[29,44],bryan:58,bucket_nam:44,buf_siz:20,buffer:[3,20,26,41],buffered_read:26,bug:44,bui:58,build:[0,20,27,29,32,41,44,46,47,49,51,52,54,56,58,59],build_dict:20,built:[0,28,29,50,57],bunch:[38,54],bunk:58,button:[35,44],c11:25,c99e:44,cach:[54,56,57],cache_pass_in_mem:[3,54,56,57],cachetyp:[3,54,56,57],calc_batch_s:[3,57],calcul:[3,9,10,11,12,16,17,18,24,34,36,38,41,43,50,56],call:[3,10,11,16,17,23,27,29,34,36,38,41,44,51,52,54,58,59],callabl:[3,10,16,20],callback:36,caller:44,caltech:51,can:[2,3,5,7,8,9,10,11,15,16,17,20,23,24,26,27,28,29,31,34,35,36,38,39,40,41,43,44,45,49,50,51,52,54,56,57,58,59],can_over_batch_s:[3,57],candid:[10,16],cannot:36,caoi:59,capabl:[28,58],capac:44,caption:[27,59],captur:[27,39],card:39,care:[11,17,26,40,41,55],carefulli:[39,41,52],cat:[29,51,52,58],categor:57,categori:[10,16,20,24,54,58],categorig:20,categoryfil:45,caus:24,caution:[44,45],ccb2_pc30:59,cde:[10,16],cdn:20,ceil:[10,16],ceil_mod:[10,16],cell:[10,11,16,17,58],center:3,ceph:45,certain:[2,40,57],certif:[23,44],cffi:25,cfg:45,cgo:25,chain:[20,36],challeng:24,chanc:[23,36,54],chang:[10,16,20,26,27,29,34,35,36,38,41,44,54,58],channel:[10,16,38,39,52],channl:[39,52],char_bas:56,charact:[54,56],character:27,characterist:[43,51],check:[3,20,27,28,29,35,41,43,44,55],check_align:20,check_eq:36,check_fail_continu:3,check_l:36,check_sparse_distribution_batch:[40,41],check_sparse_distribution_in_pserv:[40,41],check_sparse_distribution_ratio:[40,41],check_sparse_distribution_unbalance_degre:[40,41],checkgrad:41,checkgrad_ep:41,checkout:35,children:55,china:29,chines:53,chmod:[28,44],choic:[29,55],choos:[41,54,56],chosen:[2,55,59],chunk:[9,50,57],chunk_schem:9,chunktyp:9,cifar:[50,51],cifar_vgg_model:51,claim:44,claimnam:44,clang:[25,28,29,35],class1:58,class2:58,class_dim:58,classfic:[52,58],classfiic:51,classic:[10,16,27],classif:[3,5,10,16,43,52,53,54,58,59],classifc:58,classifi:[9,50,51,52,54,58],classification_cost:[51,54],classification_error_evalu:[50,54,58,59],classification_threshold:9,claster:44,clean:[5,56],cleric:55,cli:44,click:[35,38,44],client:35,clip:[7,12,15,41,54,58],clock:[10,16],clone:[28,29],close:[3,26],closer:27,cloud:24,cls:54,cludform:44,cluster:[23,24,40,41,45,54,59],cluster_train:39,cm469:44,cmake3:28,cmake:[28,36,38],cmakelist:36,cmd:45,cna:[10,16],cname:44,cnn:[45,52,54],code:[0,3,5,20,23,26,27,28,29,30,34,36,37,38,39,44,45,50,54,55],coeff:[10,16],coeffici:[10,16],collabor:24,collect:[10,16,20,22,27,55],collectbia:36,colleg:55,color:[51,52],colour:20,column:[9,10,16,26,36,49,59],colunm:59,com:[10,11,16,17,20,28,29,31,35,44,45,52],combin:[10,11,16,17,20,22,50,56,58],come:58,comedi:55,comma:[41,49],command:[2,5,27,28,29,31,35,36,37,38,39,44,45,46,47,49,50,51,52,56,57,58],commandlin:[38,58],commenc:54,comment:[11,17,35,54,58],commnun:39,common:[34,36,40],common_util:[39,56],commonli:[34,38,43],commun:[0,24,36,39,44],compani:58,compar:[36,50,54],compat:3,compet:58,competit:50,compil:[28,29,35,36],complet:[0,5,10,11,16,17,20,22,24,36,44,45,54],complex:[2,3,11,17,26,34,38,54],complic:[10,16],compon:36,compos:[20,23,50,57],composenotalign:20,comput:[10,11,16,17,23,24,27,28,29,34,36,38,43,44,54,56,57,58],computation:34,conat:16,conat_lay:10,concat:[10,59],concat_lay:34,concaten:[11,17],concept:[3,23,29,34],concern:23,concurr:24,concurrentremoteparameterupdat:41,condit:[10,16,34,39,45,59],conduct:38,conf:[5,10,16,39,49,50,52,59],conf_paddle_gradient_num:44,conf_paddle_n:44,conf_paddle_port:44,conf_paddle_ports_num:44,conf_paddle_ports_num_spars:44,confid:58,config:[3,7,10,11,15,16,17,27,36,39,40,41,44,45,49,50,51,52,54,58,59],config_:41,config_arg:[40,41,43,52,54,57,58],config_bas:[16,17,22],config_fil:57,config_gener:[39,56],config_lay:36,config_pars:[5,36],configur:[1,2,3,5,8,10,16,27,35,36,38,41,49,51,52,58,59],conflict:35,confront:59,congest:41,conll05st:57,conll:[20,57],connect:[2,11,17,27,36,44,45,50,51,52,54,56,58],connectionist:[10,16,58],connor:58,consequ:[10,11,16,17],consid:[9,10,12,16,18,28,29,38,43,51],consider:[3,11,17],consist:[10,16,20,26,51,52,54,57,59],consol:[38,44],constant:36,construct:[3,5,23,34,56],construct_featur:56,constructor:36,consum:[24,58],contact:24,contain:[3,8,9,10,11,16,17,19,20,22,23,30,31,34,35,39,44,51,52,54,55,58,59],containerport:44,contemporan:58,content:[45,57,58],context:[10,11,16,17,20,34,49,54,56,57,58,59],context_attr:[11,17],context_len:[10,11,16,17,54,56],context_proj_layer_nam:11,context_proj_nam:17,context_proj_param_attr:[11,17],context_project:[11,17,56],context_start:[10,11,16,17,54],contibut:35,contin:44,continu:[3,24,31,41],contrast:[10,16,59],contribut:[0,30,37,58],contributor:0,control:[7,15,29,41,44,45,59],conv:[11,17],conv_act:[11,17],conv_attr:17,conv_batchnorm_drop_r:[11,17],conv_bias_attr:[11,17],conv_filter_s:[11,17],conv_layer_attr:11,conv_num_filt:[11,17],conv_op:[10,16],conv_pad:[11,17],conv_param_attr:[11,17],conv_shift:10,conv_strid:[11,17],conv_with_batchnorm:[11,17],conveni:[23,39],converg:[39,50,58],convert:[3,5,20,26,34,49,51,52,54,56],convlay:[10,16],convolut:[10,11,16,17,50,52,56],convoper:[10,16],convtran:[10,16],convtranslay:[10,16],cool:[3,35],copi:[22,23,29,44,50,56],copy_shared_paramet:50,copytonumpymat:50,core:[3,7,15,41,59],coreo:44,corespond:57,corpora:59,corpu:[20,57],correct:[3,9,10,16,36,44],correctli:[9,20,36,50],correl:[27,51,58],correspoind:23,correspond:[3,5,23,27,34,36,51,55,57,58,59],corss_entropi:23,cos:[10,16],cos_sim:56,cosin:[10,16,56],cost:[5,12,18,22,23,27,41,50,54,56,58,59],cost_id:[10,16],could:[3,5,9,10,16,20,22,23,26,29,38,39,44,54,56],count:[24,26,38,41,43,45,49,56,57,58,59],counter:24,coupl:27,coverag:28,coveral:28,coveralls_uploadpackag:28,cpickl:[52,56],cpp:[25,35,36,38,54,56,59],cpu:[2,3,7,10,15,16,28,31,38,41,45,50,57,58,59],cpuinfo:29,craftsman:55,crash:[24,38,39,41],crazi:39,creat:[5,7,10,15,16,20,22,23,24,27,28,29,36,39,41,49,50,51,59],create_bias_paramet:36,create_input_paramet:36,createargu:50,createfromconfigproto:[5,50],createstack:44,creation:44,creationd:44,creator:20,credit:50,cretor:20,crf:[10,57],crf_decod:10,crime:55,critic:58,crop:52,crop_siz:52,cross:[10,16,54,57],cross_entropi:[16,23,50],cross_entropy_with_selfnorm:16,csc:36,cslm:59,csr:36,csv:55,ctc:10,ctc_layer:9,ctest:29,ctrl:[39,56],ctx:57,ctx_0:57,ctx_0_slot:57,ctx_n1:57,ctx_n1_slot:57,ctx_n2:57,ctx_n2_slot:57,ctx_p1:57,ctx_p1_slot:57,ctx_p2:57,ctx_p2_slot:57,cub:51,cuda:[28,29,31,38,39,41],cuda_dir:[40,41],cudaconfigurecal:38,cudadevicegetattribut:38,cudaeventcr:38,cudaeventcreatewithflag:38,cudafre:38,cudagetdevic:38,cudagetdevicecount:38,cudagetdeviceproperti:38,cudagetlasterror:38,cudahostalloc:38,cudalaunch:38,cudamalloc:38,cudamemcpi:38,cudaprofilerstart:38,cudaprofilerstop:38,cudaruntimegetvers:38,cudasetdevic:38,cudasetupargu:38,cudastreamcr:38,cudastreamcreatewithflag:38,cudastreamsynchron:38,cudeviceget:38,cudevicegetattribut:38,cudevicegetcount:38,cudevicegetnam:38,cudevicetotalmem:38,cudnn:[10,16,19,28,31,41],cudnn_batch_norm:[10,16],cudnn_conv:[10,16],cudnn_conv_workspace_limit_in_mb:[40,41],cudnn_convt:[10,16],cudnn_dir:[40,41],cudrivergetvers:38,cuinit:38,cumul:[10,16],curl:[28,44],current:[3,10,12,16,24,27,29,34,35,36,39,41,44,54,58,59],current_word:34,currentcost:[9,54,56,58,59],currentev:[9,54,56,58,59],curv:[23,51,57],custom:[2,3,23,36,44,55,58],custom_batch_read:26,cutoff:20,cycl:24,cyclic:[10,16],cython:25,d3e0:44,dai:59,daili:58,dalla:3,dan:57,danger:3,darwin:44,dat:[20,39,56],data:[1,2,3,5,8,11,12,17,18,22,23,24,28,29,36,38,39,40,41,43,46,52,55],data_batch_gen:50,data_dir:[49,51,58,59],data_feed:20,data_fil:27,data_initialz:54,data_lay:[3,9,27,34,50,51,54,56,57],data_nam:20,data_provid:8,data_read:[20,26],data_reader_creator_random_imag:26,data_sourc:[8,50],data_typ:[16,20],databas:[20,58],datadim:[10,16],datalay:[10,16],dataprovid:[2,8,27,34,39,56,57],dataprovider_bow:54,dataprovider_emb:54,dataproviderconvert:5,datasci:[10,16],dataset:[1,3,26,27,41,49,51,52,54,57,58],datasourc:[4,56],date:57,db_lstm:57,dcgan:50,dcmake_install_prefix:28,dead:24,deal:[35,50],deb:[30,31],debian:[29,30],debug:3,decai:[12,18,51],decid:[23,26],declar:[10,11,16,56],decod:[10,11,16,17,34,57,59],decoder_boot:34,decoder_group_nam:34,decoder_input:34,decoder_mem:34,decoder_prev:[11,17],decoder_s:34,decoder_st:[11,17,34],deconv:[10,16],deconvolut:[10,16],decor:[3,20,36],decreas:27,decrypt:44,deep:[0,10,16,27,29,32,38,50,51,52,54,57],deeper:[27,29,52],deer:51,def:[3,10,16,20,23,26,27,34,36,50,52,54,56,57],defalut:[10,16,41,43],default_devic:43,default_valu:43,defferenct:3,defin:[2,3,8,9,10,11,16,17,20,23,26,27,34,36,39,41,49,50,51,56,57],define_py_data_sources2:[3,8,27,51,52,54,56],defini:59,definit:[3,20,24,27,29,49,54,58],degre:[10,16],del:56,delai:41,delar:54,delet:24,deletestack:44,delimit:[9,55,56],demand:24,demo:[10,16,20,34,39,45,46,49,50,51,52,53,54,55,56,57,58,59],demograph:55,demolish:45,demonstr:[27,34,50,56],denot:[43,54,55,57],dens:[3,10,16,20,36,44,54,56],dense_vector:[3,5,16,20,27,56],dense_vector_sequ:20,depend:[24,27,29,31,39,43,51,55],deploi:[39,43],deploy:[39,44],deriv:[14,23],descent:[10,12,16,24],describ:[23,27,36,44,45,50,54,57],describestack:44,describestackev:44,describestackresourc:44,descript:[5,28,34,42,44,51,56],deseri:22,design:[3,10,16,20,25,58],desir:[24,44,45,49],destructor:36,detail:[3,5,7,10,11,12,15,16,17,18,34,35,36,38,39,42,43,44,45,49,50,52,54,56,58,59],detect:9,determin:[3,10,16,20,36,50],dev:[28,29,51,56,59],devel:28,develop:[0,28,35,40,41,59],deverlop:41,deviat:[7,15],devic:[7,15,41,59],deviceid:43,devid:[10,16,41],dez:58,dfs:11,diagnos:39,diagram:52,dict:[3,8,20,22,54,56,58,59],dict_dim:58,dict_fil:[9,34,54,57],dict_nam:8,dict_siz:20,dictionai:54,dictionari:[3,8,9,10,16,20,22,23,34,43,52,54,56,57,58,59],dictsiz:59,did:3,differ:[3,8,9,10,16,24,27,29,34,35,36,39,41,44,45,49,51,52,54,58,59],difficult:27,dig:[29,38,44],digit:[3,10,16],dim:[20,36,49,52,54,58],dimens:[10,14,16,19,20,36,43,49,54,56,58],dimension:[3,27,34,36,50,54],dimenst:49,dimes:[10,16],din:56,dir:[39,52,54,56,57,58,59],dirctori:29,direct:[10,11,16,17,29,52,57],directli:[2,3,11,17,27,29,39,45,58],directori:[2,28,29,35,38,39,41,45,51,52,54,56,57,58,59],diretcoti:52,dis_conf:50,dis_train:50,dis_training_machin:50,disabl:3,discard:[20,24,41],discount:[10,16],discov:[24,57],discoveri:44,discrep:38,discrimin:50,discriminator_train:50,discuss:23,disk:45,dispatch:[24,39,41],disput:59,dist_train:23,distanc:9,distibut:49,distinguish:[39,50,59],distribut:[10,16,28,37,45,46,47,50,54,57],distribute_test:[40,41],distributedli:36,disucss:23,divid:[12,18,40,51,59],diy_beam_search_prob_so:[40,41],dmkl_root:28,dns:44,do_forward_backward:26,doc:[5,11,17,20,28,29,39],docker:[30,44,46,47],docker_build:23,docker_push:23,dockerfil:29,dockerhub:29,doctor:55,document:[3,5,11,17,28,35,43,51,54,56,57,58],documentari:[3,55],doe:[3,5,11,17,24,26,27,31,34,36,38,54,56,57],doesn:[7,10,15,16,20,23,26,35,38,45,59],dog:[51,52],doing:38,domain:44,don:[11,17,23,26,27,44,58],done:[10,11,16,17,24,34,38,44,50,58],dopenblas_root:28,dot:[41,52,59],dot_period:[41,43,50,51,56,58,59],dotmuloper:[10,16],dotmulproject:[10,16],doubl:[3,28,41],down:[38,54],download:[20,24,29,31,50,51,54,57,58],download_cifar:51,downsampl:51,doxygen:[28,35],dpkg:31,drama:55,drop:3,drop_rat:[7,15],dropout:[7,10,15,16,36,54],dropout_lay:10,dropout_r:[11,17],drwxr:45,dtoh:38,dtype:[5,27,52],dubai:59,due:[55,56],duplic:55,durat:38,dure:[2,3,10,16,24,27,35,36,40,41,44,54,56,57,59],durn:3,dwith_doc:28,dwith_profil:38,dwith_tim:38,dynam:[2,3,26,28,38,41],dynamic_cast:36,each:[2,3,5,9,10,16,19,20,22,24,26,27,29,34,35,36,39,41,43,44,49,51,52,54,55,56,57,58,59],each_feature_vector:14,each_meta:56,each_pixel_str:3,each_sequ:[10,16],each_time_step_output:14,each_timestep:[10,16],each_word:3,eaqual:[10,16],eas:[20,26,52],easi:[0,26,29,36,39,54],easier:[23,26,36],easili:[23,26,27],echo:[29,56,58],edit:[9,29,44],editor:[29,35],edu:[20,44,45,51],educ:55,eeoi3ezpr86c:44,effect:[3,41,44],effici:[0,2,3,34,36],efg:[10,16],efs:44,efs_dns_nam:44,efsvol:44,eight:57,either:[10,16,20,22,23,38,54,56],elb:44,elbapis:44,elec:54,electron:[45,54],elem_dim:[10,16],element:[3,5,9,10,11,16,17,20,22,26,54,58,59],elif:[23,56],elimin:57,els:[10,16,23,29,36,52,54,56],emac:[29,35],emb:[45,54],embed:[10,23,34,53,56,58],embedd:57,embedding_lay:[34,54,56],embedding_nam:34,embedding_s:34,emphas:38,empir:[10,16],emplace_back:36,emploi:[34,55],empti:[9,20,24,27],emul:59,enabl:[3,7,15,38,39,41,44],enable_grad_shar:[40,41],enable_parallel_vector:41,enc_proj:[11,17,34],enc_seq:[11,17],enc_vec:34,encod:[11,17,34,59],encoded_proj:[11,17,34],encoded_sequ:[11,17,34],encoded_vector:34,encoder_last:[10,16],encoder_proj:34,encoder_s:34,encrypt:44,encrypt_decrypt:44,end:[3,9,10,16,26,27,34,41,49,57,58,59],end_pass:23,enditer:[22,23],endpass:[22,23],endpoint:44,endtrain:23,engin:[0,38,55],english:[3,10,16,59],enjoi:29,enough:27,ensembl:[11,17],ensur:[3,24,36],enter:[29,55],entir:[10,11,16,17,58],entri:[20,36,44,55],entropi:[10,16,54,57],enumer:[10,14,54,56],enumerate_data_types_of_data_lay:20,env:[35,44],environ:[23,28,29,31,38,39,40,41,44,45,50,51,56],eol:35,eos:10,eos_id:[10,16,34],epel:28,epoch:55,epsilon:[12,18],equal:[10,11,12,16,17,24,41],equat:[10,11,12,16,17,18,29],equilibrium:50,equip:[28,34],equival:[10,16,23],error:[7,9,10,12,15,16,18,23,27,31,36,39,41,44,51,52,54,55,56,58,59],error_clipping_threshold:[7,15],errorr:9,especi:[3,11,17,57],essenc:23,essenti:[10,16,23,28,57,59],estat:27,estim:[10,16,23],eta:45,etc:[12,20,26,29,39,40,43,44,58,59],etcd:24,eth0:[39,44],ethternet:39,eval:[9,54,56,58,59],eval_bleu:59,evalu:[2,4,10,16,22,38,39,54,58,59],evaluate_pass:58,evaluator_bas:9,evalut:[27,59],even:[23,26,38,41,58],evenli:44,event:45,event_handl:[22,23],everi:[2,3,9,10,11,16,17,20,23,24,34,35,36,41,54,57,58,59],everyth:[27,35],exactli:[3,9,10,11,16,17,29,44,57],exampl:[2,3,8,9,10,11,12,16,17,18,20,22,26,27,28,29,34,36,38,39,40,41,43,44,45,51,52,53,54,58,59],exceed:[10,16],except:[3,20,43,49,56,58],excluded_chunk_typ:9,exconv:[10,16],exconvt:[10,16],exdb:20,exec:[29,41],execut:[24,36,38,44,55,57,58],exist:[23,24,26,36,41,44,55,58],exit:[41,45],exp:6,expand:[10,36,57,58,59],expand_a:[10,16],expand_level:[10,16],expandconvlay:[10,16],expandlevel:[10,16],expect:[10,16,38,58],expens:59,experi:43,expir:24,explain:[3,9,24,39,50,58],explan:[10,16,54,59],explanatori:[27,29],explicit:36,explicitli:[3,23],exploit:51,explor:[10,16],exponenti:14,expos:[29,44],express:[23,44,58],extend:[0,56],extens:[12,55,56,59],extern:[3,25],extra:[10,11,15,16,17,27],extra_input:16,extra_lay:22,extraattr:[7,15,43],extraattribut:[16,17],extraattributenon:16,extract:[10,16,44,51,57,58],extract_fea_c:52,extract_fea_pi:52,extract_para:49,extralayerattribut:[7,10,11,15,16],extralayeroutput:11,extrapaddl:17,extrem:[10,16,38],extremli:2,f120da72:45,f7e3:44,fa0wx:45,fabric:39,facotr:[10,16],fact:52,factor:[7,10,12,15,16,18],factori:25,fail:[3,41,43,45,51],failur:24,fake:50,fake_imag:26,fals:[3,7,9,10,11,12,15,16,17,18,20,26,27,34,36,41,43,45,49,54,56,57,58,59],false_label:26,false_read:26,famili:59,familiar:[3,27],fanscin:3,fantasi:55,fantast:54,far:0,farmer:55,fascinatingli:2,fast:[10,16,35,38],faster:[10,11,16,17,34,38,58],favorit:35,favourit:29,fbd1f2bb71f4:45,fc1:[36,43],fc2:43,fc3:43,fc4:43,fc8a365:44,fc8a:44,fc_act:[11,17],fc_attr:[11,17],fc_bias_attr:[11,17],fc_layer:[16,27,36,43,54,56],fc_layer_nam:11,fc_mat:22,fc_name:17,fc_param_attr:[11,17],fclayer:36,fdata:57,fea:52,fea_output:52,feat:58,featur:[3,10,14,16,20,35,41,51,54,58,59],feature_map:56,feed:[11,17,20,22,23,27,58],feedback:0,feeder:20,feedforward:51,femal:55,fernan:58,festiv:3,fetch:[20,34,36],few:[3,24,26,29],fewer:[10,16],fg0:[10,16],field:[10,16,22,38,44],figur:[23,34,36,38,49,50,51,52,57,58,59],file1:59,file2:59,file:[2,3,5,9,10,16,20,22,23,24,26,27,28,29,34,35,36,39,41,49,51,52,57,58,59],file_list:3,file_nam:[3,27,52,54,57],filenam:[3,56],filer:[10,16],filesystem:[29,44],fill:[10,16,24,44,54],film:55,filter:[10,16,52],filter_s:[10,11,16,17],filter_size_i:[10,16],finali:39,find:[10,12,16,18,24,29,38,51,58,59],fine:[7,15,56],fingerprint:44,finish:[3,24,29,39,44,45,51],finit:36,first:[3,10,16,20,23,24,27,29,31,34,35,36,38,41,43,44,49,50,51,52,54,56,57,58,59],first_seq:34,firstn:20,firstseen:45,fit:[2,20,35],five:[38,54],fix:[3,7,15,25,59],flag:[20,41,50,51,57],flexiabl:26,flexibl:[0,2,10,11,16,17,23,34],flight:59,float32:[5,20,26,27,50,52],floor:[10,16],flow:35,fly:[27,54],fnt03:44,focu:[3,38],folder:[28,44,51,58,59],follow:[2,3,9,10,11,12,16,17,18,20,23,24,26,28,29,31,34,35,36,38,39,43,44,45,46,47,49,50,51,52,54,55,56,57,58,59],fool:50,forbid:23,force_load:25,forecast:58,forget:[12,18,23,58],form:[2,3,11,12,17,18,38,57],format:[2,3,9,27,35,36,41,44,49,51,55,56,58],former:[23,59],formula:[10,11,16,17],formular:[10,16],forward:[11,14,17,34,35,36,43,50,57,58],forwardactiv:36,forwardtest:5,found:[3,5,10,16,28,34,50,51,54,58],four:[3,31,49,52,54,56,57,58],frame:9,framework:[23,36,52,54,58],free:[20,59],french:59,frequenc:[20,38,49,54,58],frequent:[26,39,59],frog:51,from:[0,3,5,10,11,16,17,20,22,24,26,27,29,34,35,36,38,39,41,43,44,45,49,50,51,52,54,55,56,57,58,59],from_timestep:[10,16],fromfil:[26,27,52],fulfil:38,full:[10,16,24,29,34,36],full_matrix_project:[11,17,34],fulli:[27,35,36,38,50,51,52,54,56,58],fullmatrixproject:[10,16],fully_matrix_project:[11,17],fullyconnect:49,fullyconnectedlay:36,func:20,fundament:27,further:[10,16],fusion:56,gain:[10,16],game:50,gamma:52,gan:23,gan_train:50,gap:41,gate:[10,11,16,17,58],gate_act:[10,11,16,17],gate_recurr:[10,16],gather:[10,16,36,56],gauss:[7,15],gaussian:50,gcc:[25,28,29],gdebi:31,gen:[10,16,59],gen_conf:[50,59],gen_data:59,gen_result:59,gen_train:50,gen_training_machin:50,gen_trans_fil:34,gender:[20,55,56],gener:[2,3,5,9,10,11,16,17,20,22,23,24,26,27,28,29,38,39,41,43,44,49,52,53,54,56,58],generatedinput:34,generator_conf:50,generator_machin:50,generator_train:50,genert:3,genr:[55,56],gereat:9,get:[3,10,11,16,17,20,22,27,28,31,34,36,38,39,44,48,51,52,54,56,57,58],get_batch_s:57,get_best_pass:58,get_config_arg:[43,54,56,58],get_data:[45,54,57],get_dict:20,get_embed:20,get_imdb:58,get_input_lay:36,get_mnist_data:50,get_model:52,get_movie_title_dict:20,get_nois:50,get_output_attr:17,get_output_layer_attr:11,get_shap:22,get_training_loss:50,get_word_dict:20,getbatchs:36,getenv:23,getinput:36,getinputgrad:36,getinputvalu:36,getoutputgrad:36,getoutputvalu:36,getparameterptr:36,getsiz:36,getslotvalu:50,gettempl:44,gettranspos:36,getw:36,getweight:36,getwgrad:36,gfortran:28,gildea:57,gist:[11,17],git:[28,29,35],github:[10,11,16,17,28,29,31,52],give:[3,24,27,29,36,38,44,54],given:[3,20,22,26,36,41,50,54,57,58,59],global:[3,7,12,15,23,24,38,41,44,56,58],global_learning_r:[7,15],globalstat:38,globalstatinfo:38,globe:3,goal:[38,57],godoc:25,goe:[10,11,16,17,24,27],going:[54,58],good:[10,16,26,38,58,59],goodfellow13:[10,16],googl:23,googleapi:44,gpg2:44,gpg:44,gpu:[2,3,7,10,12,15,16,19,28,31,37,39,50,51,52,56,57,58,59],gpu_id:[41,43,50],gpugpu_id:40,grab:[24,58],grad:[41,55],grad_share_block_num:[40,41],gradient:[7,9,10,12,15,16,18,22,24,41,54,58],gradient_clipping_threshold:[7,12,15,54,58],gradient_machin:22,gradientmachin:[5,22,50,56,59],gradual:[27,38],grai:51,gram:[49,58],grant:44,graph:[10,16,22,24,49],graphviz:52,grave:58,grayscal:3,greater:[10,16],grep:[29,58],groudtruth:34,ground:[9,10,16,54,59],group:[11,17,58],group_id:56,group_input:34,grouplen:[20,55],gru:[10,16,34,54,59],gru_attr:17,gru_bias_attr:[11,17],gru_decod:34,gru_decoder_with_attent:34,gru_encoder_decod:[49,59],gru_layer_attr:11,gru_memori:[11,17],gru_siz:54,gru_step:[17,34],gru_step_lay:[11,34],grumemori:[11,17,34],gserver:[10,16,36],gsizex:38,guarante:36,guess:[27,58],gui:38,guid:[30,34,35,36,38,44,45,49,51,58,59],guidenc:27,gur_group:[11,17],gzip:45,hack:[30,39],hadoop:23,half:44,hand:[55,56,58],handl:[23,26,39,56,58],handler:22,handwrit:[3,58],hard:[44,54],hardwar:[29,38],has:[3,5,10,11,12,16,17,18,20,23,24,29,34,36,38,44,45,49,51,54,55,56,57,58,59],has_kei:22,have:[2,3,5,9,10,11,16,17,20,23,24,26,27,28,29,34,35,36,38,39,41,43,44,49,51,54,55,56,58,59],hdf:2,head:[35,49,58],header:[27,36,49,52,56],health:55,heavi:39,height:[10,16,20,25,26,36,51],held:24,hello:23,help:[3,5,35,39],helper:[8,10,11,16,17,36],here:[3,5,7,10,11,15,16,17,20,23,26,27,28,34,39,40,43,44,45,49,51,52,53,54,55,56,57,58,59],heurist:[10,16,41,59],hidden:[10,11,16,17,34,44,54,56,58],hidden_s:[11,17,56],hierarch:[10,16,34],high:[7,15,36,50],higher:2,highest:[20,59],highli:[2,3,20,34,43,56,58],him:23,hint:27,histor:58,hl_get_sync_flag:36,hold:[23,24,44],home:[39,44,45],homemak:55,hook:[3,56,57],hope:0,horizont:[10,16,52],horror:55,hors:51,horst:58,host:[28,29,39,44,45],hostnam:[39,44],hostpath:45,hostport:44,hot:56,hour:59,hous:[3,20,27,49],how:[2,3,7,10,15,16,23,24,27,34,39,41,44,45,48,51,52,54,56],howev:[3,11,17,26,27,34,35,40,41,44,58,59],hpp:25,html:[20,29,51],htod:38,http:[10,11,16,17,20,28,29,31,35,44,45,50,51,52,59],huber:[10,16],huge:[10,16,35],huina:58,human:59,hyper:[10,16,36],hyperplan:20,i0601:56,i0706:59,i0719:59,i1117:38,iamfullaccess:44,iamusersshkei:44,ib0:39,ics:20,icwsm:58,id_input:[9,34],idea:[10,16,26],ident:[27,29,44,55],identifi:[34,36],identityoffsetproject:[10,16],identityproject:[10,16],ids:[9,10,16,36,54,56],idx:36,ieee:58,ignor:[3,9,10,16,41,49],ijcnlp:58,illustr:[3,24,34,36,38,54],ilsvrc:52,imag:[3,19,20,23,26,27,30,43,44,46,47,50,52,53,59],image_a:26,image_b:26,image_classif:51,image_fil:26,image_lay:26,image_list_provid:52,image_nam:23,image_path:26,image_provid:51,image_reader_cr:26,image_s:52,imagenet:53,imagepullpolici:44,imageri:[10,16],images_reader_cr:26,imdb:55,imdber:58,img:[3,10,16,51],img_conv:17,img_conv_lay:11,img_featur:3,img_norm_typ:10,img_pool:17,img_pool_lay:11,img_siz:51,imgsiz:38,imgsizei:38,imgsizex:38,immedi:44,immutable_paramet:23,implement:[3,10,11,12,16,17,18,20,34,54,57],importerror:56,improv:[0,38,44,58,59],inbound:44,includ:[2,3,10,11,16,17,20,23,25,28,29,34,36,38,41,44,45,49,54,55,57,59],inconsist:55,incorrect:[10,16],increas:[24,41,59],increment:41,incupd:36,inde:[20,26,29],independ:[10,16,54],index:[3,9,10,16,19,20,22,24,34,39,44,56],indexslot:[10,16,57],indic:[3,9,10,16,27,39,44,57],individu:[27,44],industri:24,infer:[1,23,24,28],infiniband:39,info:[9,10,16,20,36,39],infom:35,inform:[5,9,20,36,38,41,44,55,56,57,58,59],infrastructur:[44,50],ingor:41,ininst:23,init:[7,15,36,43,44,50,54,56,57],init_hook:[54,56,57],init_hook_wrapp:8,init_model_path:[40,41,43,49,54,57],initi:[3,5,7,10,15,16,20,34,36,41,49,50,54,57],initial_max:[7,15],initial_mean:[7,10,15,16],initial_min:[7,15],initial_std:[7,10,15,16],initpaddl:[5,50],inlcud:[11,17],inlin:44,inner:36,inner_param_attr:[11,17],input1:[10,11,16,17],input2:[10,16],input:[3,5,9,10,11,14,16,17,19,20,22,26,27,34,36,43,49,50,51,52,54,56,57,58,59],input_data:36,input_data_target:36,input_featur:14,input_fil:[27,57],input_hassub_sequence_data:36,input_id:[10,16],input_imag:[11,17,51],input_index:36,input_label:36,input_lay:[10,36],input_nam:23,input_sequence_data:36,input_sequence_label:36,input_sparse_float_value_data:36,input_sparse_non_value_data:36,input_t:36,input_typ:[27,34,54,56],inputdef:36,inputlayers_:36,inputtyp:[3,20],insid:[9,10,16,24,26,29,44],inspir:49,instal:[29,32,35,39,45,51,52,56,57,58],instanc:[10,12,16,24,34,36,38,41,57],instance_ip:44,instanti:24,instead:[10,16,19,26,29,35,39,54,59],instruct:[29,31,38,54],int32:41,integ:[3,9,10,16,20,25,34,36,54,58],integer_valu:[3,20,54],integer_value_sequ:[3,20,34,54,57],integr:[28,57],intend:0,inter:[10,16,39],interact:[29,44],intercept:[10,16],interest:[38,58],interfac:[1,5,7,10,11,15,16,17,39,44,51,56,58],interg:54,intergr:[10,16],intermedi:57,intern:[10,11,16,17,20,22,44],internet:[24,58],interpol:10,interpret:[3,9,28,38],interv:58,intrins:28,introduc:[3,24,45,56,58],introduct:[4,50],invalid:26,invari:51,invok:[3,10,16,22,38,44,56],involv:50,iob:9,ioe:9,ips:44,ipt:[10,16,34],ipython:23,is_async:12,is_discriminator_train:50,is_gener:[10,16,49,50,59],is_generator_train:50,is_kei:56,is_layer_typ:10,is_predict:[54,56,58],is_seq:[10,16,34,56],is_sequ:56,is_stat:[7,15],is_test:[52,57,58],is_train:3,isn:38,isol:29,isspars:36,issu:[28,29,38],item:[10,16,20,22,26],iter:[10,11,12,16,17,18,20,22,23,24,26,51,57,58],its:[3,9,10,11,16,17,23,24,36,38,41,44,49,50,51,54,58,59],itself:[11,17,24],java:25,jeremi:38,jie:[57,58],jmlr:[10,16],job:[5,9,20,40,41,43,52,54,56,57,58,59],job_dispatch_packag:39,job_id:20,job_mod:49,job_nam:44,job_namespac:44,job_path:44,job_workspac:39,jobpath:44,jobport0:44,jobport1:44,jobport2:44,jobport3:44,johan:58,join:24,joint:[49,59],jointli:[11,17,59],journal:[57,58],journei:29,jpeg:51,jpg:52,json:[39,44,45,56],jth:[11,17],judg:59,jupyt:29,just:[3,9,10,11,14,16,17,20,27,35,39,43,44,49,51,56,57,58],jx4xr:44,jypyt:23,k8s_data:44,k8s_job:23,k8s_token:23,k8s_train:44,k8s_user:23,kaim:[10,16],kaimingh:52,kebilinearinterpbw:38,kebilinearinterpfw:38,keep:[3,10,16,24],kei:[3,20,22,24,38,39,56,58],kernel:[10,16,38,54],key1:41,key2:41,key_pair_nam:44,keyid:44,keymetadata:44,keypair:44,keyserv:44,keystat:44,keyusag:44,keyword:3,kill:[24,44],kind:[2,3,23,24,27,44,45,50,54,56],kingsburi:57,kms:44,know:[3,11,17,23,27,36,38,44,56],knowledg:58,known:[50,58,59],kriz:[20,51],ksimonyan:[11,17],kube_cluster_tl:23,kube_ctrl_start_job:23,kube_list_containers_in_job_and_return_current_containers_rank:23,kubeconfig:44,kubectl:45,kuberent:44,kubernet:[23,24,37,39,46,47],kubernetes_service_host:23,kwarg:[3,9,10,11,12,16,17,18,20,54,56,57],l1_rate:[7,15],l2_rate:[7,15],l2regular:[51,54,58],label:[3,5,9,10,12,16,18,20,22,26,27,34,45,50,51,52,53,54,56,58],label_dict:57,label_dim:[10,16,54],label_fil:[26,57],label_lay:[10,26],label_list:57,label_path:26,label_slot:57,labeledbow:58,labl:58,lag:41,lake:3,lambdacost:[10,16],lambdarank:[10,16],languag:[10,16,20,43,49,57,58,59],larg:[19,20,57,58,59],larger:[3,7,9,10,12,15,16,39],last:[9,10,11,16,17,27,34,39,41,54,58,59],last_time_step_output:[10,16],lastseen:45,late:58,latenc:[39,44],later:[28,35,44,54],latest:[10,16,24,29,35,45,58],latter:59,launch:[41,44,58],launcher:23,lawyer:55,layer1:[10,11,16,17],layer2:[10,16],layer3:[10,16],layer:[4,5,7,9,11,15,17,19,20,21,22,26,27,34,37,40,41,49,50,51,52,54,56,57,58],layer_0:36,layer_attr:[10,16,34,43],layer_num:[43,52],layer_s:[10,16],layer_typ:[10,16],layerbas:36,layerconfig:36,layergradutil:36,layermap:36,layeroutout:[10,16],layeroutput:[9,11,16,56],lbl:[9,51],ld_library_path:[28,31,39],lead:38,learn:[0,7,9,10,11,12,15,16,17,18,20,23,26,27,29,32,34,36,38,51,52,54,57,58,59],learnabl:[10,16],learning_method:[12,27,49,51,54,56,58,59],learning_r:[7,12,15,27,49,51,54,56,58,59],leas:24,least:[9,10,16,24,28,55],leav:[3,44],lecun:20,left:[10,16,27,52],leman:59,len:[3,10,16,34,36,54,56,57],length:[10,11,16,17,20,34,41,45,58,59],less:[10,16,23,39,59],less_than:23,let02:45,let:[5,10,16,23,27,44,56],level:[7,10,15,16,39,41,50,56,58,59],lib64:[28,39,41],libcudnn:28,libjpeg:51,libpaddl:25,libpython:28,librari:[10,16,28,29,39,41,56],licens:57,life:24,like:[3,9,10,16,20,24,26,27,28,34,38,39,40,43,44,49,52,54,56,58,59],limit:[10,16,20,38,41],line:[2,3,5,9,20,27,35,37,38,39,43,44,49,51,52,56,57,58,59],linear:[6,10,16],linear_comb:10,linearactiv:[10,16,27],linguist:57,link:[10,11,16,17,28,44,54,58],linux:[28,29,31,44,59],lipeng:49,lipton:58,list:[2,3,8,9,10,11,16,20,22,23,27,29,34,36,39,41,43,44,51,52,54,56,57,58,59],listen:41,literatur:58,littl:[2,3,41,54,58],lium:59,live:[24,29],liwicki:58,load:[2,3,5,10,16,23,24,27,41,44,52,56,57,58,59],load_featur:52,load_feature_c:52,load_feature_pi:52,load_missing_parameter_strategi:[40,41,43,49,57],load_uniform_data:50,loadparamet:5,loadsave_parameters_in_pserv:[40,41],local:[7,15,24,28,29,35,39,40,41,45,51,58],localhost:29,locat:[34,36,54,57],lock:24,log:[3,6,35,36,39,41,44,45,51,56,57,58,59],log_barrier_abstract:41,log_barrier_lowest_nod:[40,41],log_barrier_show_log:[40,41],log_clip:[40,41],log_error_clip:[40,41],log_period:[41,43,45,50,51,54,56,57,58,59],log_period_serv:[40,41],logarithm:14,logger:3,logic:[3,39],login:29,longer:59,look:[3,9,27,39,40,44,45,50,54],lookup:54,loop:26,loss:[10,16,36,50,54,58,59],lot:40,low:[10,16],lower:39,lowest:41,lst:56,lstm:[10,16,34,45,54],lstm_attr:17,lstm_bias_attr:[11,17],lstm_cell_attr:[11,17],lstm_group:[11,17],lstm_layer_attr:11,lstm_size:54,lstm_step:[11,17],lstmemori:[11,17,34],lstmemory_group:[10,16],ltr:[10,16],lucki:27,mac:[28,29],machan:[11,17],machin:[10,11,12,16,17,20,22,27,35,36,40,41,43,44,45,54,56,58,59],made:[3,24,27,34,55],mai:[3,8,9,10,16,26,29,35,38,44,55],main:[3,5,35,44,51,57,58],mainli:41,maintain:[10,16,44],major:[29,35,50,52,58,59],make:[3,10,23,24,26,28,29,35,36,38,39,44,51,54,56,58],male:55,malloc:36,manag:[24,35,39],manageri:55,mandarin:[10,16],mani:[0,10,11,16,17,27,29,41,54,55,56,58],mannal:39,manual:35,manufactur:59,mao:58,map:[3,10,16,20,22,23,41,51,52,56],map_read:20,mapreduc:23,marcu:58,mark:[3,34,57],mark_slot:57,market:[27,55,58],martha:57,mask:[7,10,15,16],master:[23,35,41,58],mat_param_attr:[11,17],match:38,math:[11,17,25,36,38],matirx:[10,16],matplotlib:51,matric:[5,34,36],matrix:[9,10,11,16,17,20,22,25,34,36,40,43,52,57],matrixptr:36,matter:3,max:[3,7,10,13,15,16,20,38,41,43,51,54,56],max_id:[16,22,54],max_job_id:20,max_length:[10,16,34],max_movie_id:20,max_sort_s:[10,16],max_user_id:20,maxid:[9,10,54],maxid_lay:[9,54],maxim:[10,16,59],maximum:[9,20,34,38,41,54,57,58],maxinum:19,maxout:10,maxpool:[10,16],mayb:[10,11,16,17,51],md5:20,mean:[3,7,9,10,11,12,15,16,17,18,19,20,22,26,27,34,38,39,41,43,44,49,50,51,52,54,56,57,58,59],mean_img_s:51,mean_meta:52,mean_meta_224:52,mean_valu:52,measur:[27,38],mechan:[10,11,16,17,34,44,58],media:58,meet:57,mem:[10,16],member:23,memcpi:38,memor:58,memori:[2,3,11,17,34,36,38,41,43,45,54,57,58,59],memory_nam:[10,16],memory_threshold_on_load_data:41,mere:[11,17],merg:[35,41,49,59],mergedict:[49,59],messag:[27,41,45,56,58,59],meta:[39,51,52,54],meta_config:[39,56],meta_fil:56,meta_gener:[39,56],meta_path:51,meta_to_head:56,metadata:[44,45],metaplotlib:23,method:[3,8,10,11,12,16,18,22,29,36,38,41,43,54,56,58,59],might:[10,16,29,36,44],mileag:38,million:[20,43,55],min:[7,15,38,43,44,56],min_pool_s:3,mind:39,mini:[3,10,16,20,22,24],mini_batch:26,minibatch:[10,16],minibatch_data:20,minim:[3,12,18,27,41],minimum:[10,16],minimun:41,minst:3,minut:[24,44,59],mirror:29,miss:[41,49,57],mit:44,mix:[11,17,34,57],mixed_attr:17,mixed_bias_attr:[11,17],mixed_lay:[11,16,34,57],mixed_layer_attr:11,mixedlayertyp:[10,16],mkdir:[28,29,44],mkl:28,mkl_path:28,mkl_root:28,ml_data:[39,56],mnist:[3,5,26],mnist_provid:3,mnist_random_image_batch_read:26,mnist_train:[3,26],mnist_train_batch_read:26,mod:57,modal:57,mode:[10,16,41,50,51,52,56,58,59],model:[1,2,5,8,10,11,12,16,17,20,24,35,36,37,41,44,56,57,58],model_averag:12,model_config:[5,50],model_list:[41,43,57,58],model_output:58,model_path:43,model_zoo:[49,52],modelaverag:12,modifi:[5,34,35,36,39,44],modul:[2,3,5,8,11,17,20,22,27,28,51,52,54,56,57],modulo:[10,16],momentum:[7,12,15,27,54],momentumoptim:[27,51],mon:45,monitor:[54,58],mono:[10,16],month:[54,59],mood:58,more:[2,3,5,9,10,11,16,17,20,23,24,26,27,29,34,36,38,39,43,45,51,54,57,58,59],morin:[10,16],mose:[58,59],moses_bleu:59,mosesdecod:58,most:[3,5,10,16,20,23,26,27,34,36,38,40,56,57,58,59],mostli:[51,55],mount:[29,44,45],mountpath:[44,45],move:[10,16,24,38,44,56,58],movement:[38,58],movi:[3,20,58],movie_categori:20,movie_featur:56,movie_head:56,movie_id:56,movie_info:20,movie_meta:56,movie_nam:56,movie_review:20,movieid:55,movieinfo:20,movielen:53,moving_average_fract:[10,16],mpi:39,mse:10,mse_cost:[27,56],much:[10,16,24,26,38],mul:36,mulit:39,multi:[10,16,36,40,41,52,59],multi_binary_label_cross_entropi:16,multi_crop:52,multinomi:[10,16],multipl:[9,10,11,16,17,20,23,29,34,36,41,43,44,50,54,56,58],multipli:[9,10,16,36,51],multithread:3,music:55,must:[3,9,10,11,14,16,17,26,28,29,34,35,36,39,41,43,44,59],my_cluster_nam:44,my_cool_stuff_branch:35,my_external_dns_nam:44,mypaddl:45,mysteri:55,name:[3,7,8,9,10,11,15,16,17,19,20,22,23,24,27,29,34,36,38,39,41,43,45,46,47,49,50,51,52,54,56,58,59],namespac:[25,29,36,45],nano:35,nativ:[10,16],natur:[43,57,58],nchw:[10,16],ndarrai:22,ndarri:22,ndcg:[10,16],ndcg_num:[10,16],nearest:54,necessari:[3,10,16,28,36,39,54,58],necessarili:36,need:[3,10,11,16,17,20,23,27,28,29,31,34,35,36,39,40,41,43,44,45,50,51,52,54,56,57,58,59],neg:[3,9,10,16,54,57,58],neg_distribut:[10,16],negat:57,neighbor:54,nest:[3,20],net:[10,11,16,17],net_conf:58,net_diagram:52,network:[2,3,4,5,7,9,10,12,15,16,18,20,21,22,23,26,27,29,36,38,39,41,49,58,59],network_config:43,networkadministr:44,neural:[3,5,10,11,12,16,17,18,20,22,23,27,38,41,49,50,52,58,59],neuralnetwork:[10,16],neuron:[5,36,54,58],never:[20,26,44,45],newest:35,newtork:58,next:[10,16,20,24,34,36,38,41,44,45,57,58,59],nfs4:44,nfs:44,nfsver:44,nginx:29,nic:[39,40,41],nine:[20,57],nlp:[3,10,16],nltk:20,nmt:59,nnz:36,no_cach:3,no_sequ:[3,56],noah:58,noavx:[29,31],node:[10,16,36,39,41,44,45,58,59],node_0:44,node_1:44,node_2:44,nodefil:39,noir:55,nois:[10,16,50],noise_dim:50,non:[10,16,24,36,41,44],none:[2,3,5,7,8,9,10,11,12,15,16,17,18,19,20,22,23,27,34,52,54],nonlinear:36,norm:50,norm_by_tim:[10,16],normal:[3,5,10,11,16,17,20,31,34,36,39,41,45,49,50,52],normzal:52,north:51,notat:[10,16],note:[3,5,7,10,11,12,15,16,17,19,22,23,26,28,38,41,43,44,49,51,56,58],notebook:29,noth:[14,22,41],notic:[34,36],novel:58,now:[0,3,10,16,24,27,29,35,41,44,50,56,57],np_arrai:20,nproc:28,ntst1213:59,ntst14:59,nullptr:36,num:[10,16,39,41,54,57,58,59],num_channel:[10,11,16,17,51],num_chunk_typ:9,num_class:[10,11,16,17,51],num_filt:[10,11,16,17],num_gradient_serv:[40,41],num_group:[10,16],num_neg_sampl:[10,16],num_parameter_serv:23,num_pass:[22,27,40,41,43,45,54,56,57,58,59],num_repeat:[10,16],num_result:9,num_results_per_sampl:[10,16],number:[3,9,10,16,20,24,26,27,36,39,41,44,49,51,52,54,57,58,59],numchunktyp:9,numdevices_:43,numlogicaldevices_:43,numofallsampl:9,numofwrongpredict:9,numpi:[20,22,26,27,28,50,52],numsampl:38,numtagtyp:9,nvcc:29,nvidia:[28,29,38,41],obj:[3,8,27,51,52,54,56],object:[3,5,7,8,9,10,11,12,15,16,17,18,20,22,23,25,38,50,51,52,54,57],observ:[12,18,27,36,38,59],obtain:[54,57,58],occup:[55,56],occur:[20,22,35],oct:45,odd:[10,16],off:29,offer:[5,57],offici:[29,44,51],offlin:24,offset:[10,16,56],often:[9,39,54,59],ograd:36,old:[29,35,41],omit:54,on_init:3,on_travisexclud:28,onc:[3,10,16,24,29,35,36,44,54],one:[3,8,9,10,11,12,14,16,17,18,19,20,23,24,26,27,29,35,36,39,41,43,44,45,49,50,51,52,54,56,57,58,59],one_host_dens:56,one_hot_dens:56,onli:[2,3,5,9,10,11,16,17,19,20,22,23,27,28,34,35,36,38,40,41,43,44,45,49,52,54,55,58,59],onlin:[12,18,24,26],onto:44,open:[0,3,10,16,23,26,27,29,44,52,54,56,57],openbla:28,openblas_path:28,openblas_root:28,oper:[10,11,12,16,17,18,29,34,36,38,41,44,49,51,56],opinion:58,opt:[23,28],optim:[3,4,7,15,21,22,27,36,38,58],option:[3,9,10,16,23,27,35,36,39,43],order:[3,10,11,16,17,20,26,36,41,44,45,50,52,54,58,59],ordinari:58,oregon:44,org:[10,11,16,17,20,28,29,50],organ:[10,16,51,58,59],origin:[0,2,3,10,16,20,35,50,57,59],other:[3,9,10,11,12,16,17,20,28,29,31,34,35,43,44,45,49,50,51,52,54,55,56,57,58,59],otherchunktyp:9,otherwis:[2,8,10,16,20,23,24,26,34,39,43,56,59],our:[23,29,34,36,44,45,49,51,54,57,58,59],out:[10,16,22,23,27,34,38,41,44,45,51,58],out_dir:44,out_left:[10,16],out_mem:34,out_right:[10,16],out_size_i:[10,16],out_size_x:[10,16],outlin:42,outperform:57,output:[5,7,9,10,14,15,16,17,19,20,22,23,26,27,34,36,38,41,43,45,49,50,51,52,54,56,57,58,59],output_:[10,16,36],output_dir:52,output_fil:57,output_id:[10,16],output_lay:[22,52],output_max_index:19,output_mem:[10,16,34],outputh:[10,16],outputw:[10,16],outsid:[3,10,11,16,17],outter_kwarg:3,outv:36,over:[2,10,11,16,17,23,35,36,38,54,57,58],overcom:58,overhead:38,overlap:36,overrid:[24,36],owe:0,own:[29,35,39,44],pacakg:31,pack:29,packag:[3,20,29,30,44],pad:[10,34,54],pad_c:[10,16],pad_h:[10,16],pad_w:[10,16],paddepaddl:2,padding_attr:[10,16],padding_i:[10,16],padding_x:[10,16],paddl:[3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,27,28,29,30,31,35,36,37,38,39,41,43,44,50,51,54,56,57,58,59],paddle_error:25,paddle_matrix:25,paddle_matrix_shap:25,paddle_n:39,paddle_output:45,paddle_port:39,paddle_ports_num:39,paddle_ports_num_for_spars:39,paddle_pserver2:39,paddle_root:49,paddle_source_root:49,paddle_train:39,paddledev:[44,45],paddlepaddl:[0,2,3,5,10,11,12,16,17,20,24,26,27,28,31,34,35,36,37,38,39,46,47,52,54,56,57,58],paddlepadl:3,paddlpaddl:0,paddpepaddl:3,page:[35,44,56],pai:29,pair:[9,57],palceholder_just_ignore_the_embed:49,palmer:57,paper:[10,16,49,50,52,57,58,59],paraconvert:49,paragraph:58,parallel:[38,41,43,44,45,59],parallel_nn:[7,15,40,41],param:[7,10,15,16,56],param_attr:[10,11,16,17,27,34],paramattr:[7,10,15,16,27,34],paramet:[2,3,4,5,8,9,10,11,12,16,17,18,19,20,21,26,27,36,37,43,50,51,54,56,57,58,59],parameter_attribut:[10,16],parameter_block_s:[40,41],parameter_block_size_for_spars:[40,41],parameter_learning_r:[7,15],parameter_nam:[22,23],parameter_serv:23,parameterattribut:[7,10,11,15,16,17],parametermap:36,parameters_:36,parameterset:23,parametris:[12,18],paramt:[44,49],paramutil:56,paraphras:59,paraphrase_data:49,paraphrase_model:49,paraspars:36,parent:[10,36],pars:[5,20,43,44,50,56,57],parse_config:[5,50],parser:56,part:[3,27,34,35,36,38,50,54,56,57,58,59],parti:[38,56],partial:[10,16,50],participl:49,particular:38,partit:[24,44],pass:[3,8,10,16,20,22,24,26,27,35,36,38,39,41,44,45,50,51,54,56,57,58,59],pass_id:22,pass_idx:26,pass_test:50,passtyp:36,password:39,past:[23,29,44],path:[2,3,9,20,22,24,26,27,28,34,39,41,43,44,45,49,51,52,54,57,58,59],pattern:[20,24,25,27,44,56,58],paul:57,paus:24,pave:59,pdf:[10,11,16,17],pem:[23,44],pend:24,penn:57,per:[10,16,20,26,41,51,54],perfom:[41,43],perform:[2,10,11,16,17,27,34,35,36,37,39,40,50,51,54,58,59],period:[2,24,41,54,56,57,58,59],perl:[58,59],permiss:44,peroid:[10,16],persist:44,persistentvolum:44,persistentvolumeclaim:44,person:23,perspect:38,perturb:36,pgp:44,phase:27,photo:51,pick:[3,44],pickl:56,picklabl:8,pictur:54,piec:[10,11,16,17,27],pillow:51,pip:[28,35,39,51,56],pipe:55,pipelin:57,pixel:[3,10,16,20],pixels_float:3,pixels_str:3,place:[2,3,24,36,38,39,52,59],placehold:[27,49],plai:[57,58],plain:[2,9,10,16,22],plan:[24,36],platform:[0,27,44],pleas:[3,5,7,10,11,12,15,16,17,18,23,24,26,28,29,30,34,35,36,44,49,51,54,56,57],plot:[23,51],plotcurv:51,png:[51,52],pnpairvalidationlay:41,pnpairvalidationpredict_fil:40,pod:[44,45],pod_nam:44,point:[27,38],polar:[20,58],polici:44,polit:58,poll:58,poo:51,pool3:36,pool:[3,4,11,17,21,51,54,56],pool_attr:[11,17],pool_bias_attr:[11,17],pool_layer_attr:11,pool_pad:[11,17],pool_siz:[3,10,11,16,17],pool_size_i:[10,16],pool_strid:[11,17],pool_typ:[10,11,16,17],pooling_lay:[11,54,56],pooling_typ:[10,16,54],poolingtyp:19,popular:[27,52],port:[29,39,40,41,44,45],port_num:40,ports_num:41,ports_num_for_spars:[40,41,43],pos:[56,58],pose:24,posit:[3,9,10,16,20,54,57,58,59],positive_label:9,possibl:[23,35,38,50],post1:28,potenti:38,power:[10,54,59],practic:[8,10,16,27,34,36],pre:[3,10,11,16,17,20,23,29,44,45,49,51,57,58,59],pre_dictandmodel:49,precis:[9,28],pred:[54,57],predefin:58,predetermin:[10,16,41,59],predic:[20,57],predicate_dict:57,predicate_dict_fil:57,predicate_slot:57,predict:[3,4,9,10,12,16,18,22,27,34,39,41,49,54,59],predict_fil:41,predict_output_dir:[40,41,54],predict_sampl:5,predicted_label_id:54,predictor:56,predin:51,prefer:58,prefetch:36,prefix:[24,44],pregrad:36,preinstal:28,premodel:49,prepar:[5,46,54],preprcess:58,preprocess:[20,34,39,45,58],prerequisit:28,present:[23,52,57,59],pretti:27,prev_batch_st:[40,41],prevent:[2,12,18,23,24],previou:[10,11,16,17,24,36,41,44,57,59],previous:[45,52],price:[20,27],primarili:58,principl:23,print:[7,15,22,23,27,34,41,49,54,56,57,58,59],printallstatu:38,printer:9,printstatu:38,prite:9,privileg:44,prob:[9,22,50],probabilist:[10,16,49],probability_of_label_0:54,probability_of_label_1:54,probabl:[9,10,16,22,34,35,52,54,57],problem:[5,10,12,16,18,23,54,57,58],proc:29,proc_from_raw_data:54,proce:[20,26,44],procedur:[49,57,59],proceed:[10,16,57],process:[2,3,5,7,8,10,11,12,15,16,17,23,27,29,34,39,41,43,44,45,49,51,52,54,56,57,58,59],process_pr:54,process_test:8,process_train:8,processdata:[51,52],processor:38,prod:29,produc:[11,17,20,24,26,29,52,54],product:[0,29,36,44,54,58],productgraph:45,profil:28,proflier:38,program:[2,20,23,26,29,38,39,41],programm:55,progress:[24,41],proivid:3,proj:[10,16],project:[10,11,16,17,28,34,36,56],promis:[10,11,16,17],prompt:35,prone:23,prop:57,propag:[12,18,41,43],properli:54,properti:[3,41],propos:59,proposit:57,protect:36,proto:19,protobuf:28,protocol:41,prove:54,proven:59,provid:[0,8,10,16,20,23,27,29,34,38,39,44,49,50,51,52,55,58],providermemory_threshold_on_load_data:40,provis:44,provod:3,prune:[10,16],ps_desir:24,pserver:[39,40,41,44],pserver_num_thread:[40,41],pserverstart_pserv:40,pseudo:23,psize:36,pull:[29,49,59],punctuat:58,purchas:54,purpos:[0,24,38],push_back:36,put:[24,29,36,39,45,54],pvc:44,pwd:29,py_paddl:[5,20,50],pydataprovid:[2,3,54],pydataprovider2:[4,5,27,34,54,56,58],pydataproviderwrapp:8,pyramid:[10,16],pyramid_height:[10,16],python:[2,3,4,8,22,23,25,27,28,35,39,49,50,51,57,58,59],pythonpath:51,pzo:58,qualifi:28,qualiti:54,queri:[10,16,44,59],question:[10,16,23,44,57],quick:[41,45,53,59],quick_start:[44,45,46,54],quick_start_data:45,quickli:27,quickstart:45,quit:38,quot:55,rac:[10,16],rais:20,ramnath:58,ran:38,rand:[38,41,43,50,57],random:[3,7,10,15,16,20,26,27,41,50,51,57],randomli:58,randomnumberse:40,rang:[3,10,16,20,26,41,43,51,55,57],rank:[10,16,23,44,52,54],rare:3,rate:[7,9,12,15,18,20,36,39,51,54,56,58,59],rather:[5,44,58],ratio:41,raw:[10,16,27,54,58],raw_meta:56,rdma:[28,41],rdma_tcp:[40,41],reach:[24,38,57],read:[2,3,20,22,23,24,26,27,34,39,44,52,54,56],read_from_realistic_imag:23,read_from_rng:23,read_mnist_imag:23,read_ranking_model_data:23,reader:[1,22,59],reader_creator_bool:26,reader_creator_random_imag:[20,26],reader_creator_random_image_and_label:[20,26],readi:[24,27,44,45,51],readm:[55,56,58],readonesamplefromfil:3,readwritemani:44,real:[3,26,27,50],realist:23,reason:[10,11,17,23,24,29,45],rebas:35,recal:9,receiv:[8,24],recent:59,reciev:41,recogn:51,recognit:[3,10,16,52,58],recommand:3,recommend:[2,11,17,23,29,34,36,39,41,56],recommonmark:28,recompil:38,record:[44,56,57],recordio:23,recov:[24,27,50],rectangular:[10,16],recurr:[57,58],recurrent_group:[11,17,34],recurrent_lay:11,recurrentgroup:9,recurrentlay:41,recv:44,reduc:[12,18,39,41,43],refer:[2,5,7,8,10,11,12,15,16,17,18,24,34,36,39,45,49,51,54,56,59],referenc:[10,16],regard:57,regardless:59,regex:56,region:[38,57],regist:[36,38],register_gpu_profil:38,register_lay:36,register_timer_info:38,registri:[29,45],regress:[9,53],regular:[7,12,15,36,44,51,54,58],rel:[2,11,17,39],relat:[3,8,24,29,31,45,56,58],relationship:[20,27,50],releas:[28,29,31,44,55,57],relev:[57,59],reli:28,reliabl:24,relu:[6,10,16,36],reluactiv:10,remain:54,rememb:[10,16],remot:[7,15,35,36,39,41,43,44],remoteparameterupdat:41,remov:[20,39,41,58],renam:59,reorgan:[10,16],repeat:10,replac:[29,58],repo:35,report:[38,39],repositori:35,repres:[3,5,10,12,16,20,34,36,44,51,54,55],represent:[54,58],reproduc:59,request:[24,44,45,49,59],requir:[2,9,10,16,23,24,36,39,44,45,50,51,54,56],requrest:35,res5_3_branch2c_bn:52,res5_3_branch2c_conv:52,res:57,research:[10,16,20,51,55,58],resembl:58,reserv:3,reserveoutput:36,reset:[10,16,24],reshap:26,reshape_s:[10,16],residu:52,resnet:53,resnet_101:52,resnet_152:52,resnet_50:52,resolv:[35,45],resourc:[29,44],respect:[3,27,34,36,41,51,52,57,59],respons:[10,16,44,45],rest:[3,10,16,27],restart:[24,44,45],restartpolici:[44,45],restrict:41,resu:26,result:[5,9,10,14,16,22,34,38,41,44,51,52,54,56,57,58],result_fil:[9,34],ret_val:56,retir:55,retran:44,retriev:[36,45],return_seq:[11,17],reus:[26,36],reveal:23,revers:[10,11,16,17,34,57,58],review:[20,35,45,54,58],reviews_electronics_5:45,revis:54,rewrit:59,rgb:[10,16],rgen:58,rho:[12,18],rich:27,right:[3,10,16,52],rmsprop:[12,54],rmspropoptim:56,rnn:[10,11,16,17,37,40,54,58],rnn_bias_attr:34,rnn_layer_attr:34,rnn_out:34,rnn_step:[10,16],rnn_use_batch:[40,41],rnnlm:20,robot:51,role:[20,23,34,44,53,58],roman:58,romanc:55,root:[12,18,19,39,44,45],root_dir:39,rot:[10,16],rotat:10,roughli:[3,50],routin:56,routledg:58,row:[5,9,10,16,20,36,52],row_id:[10,16],rsize:44,rtype:[10,16,56],rule:[36,44],run:[23,24,29,35,36,37,38,41,44,46,47,49,51,52,54,56,58,59],runinitfunct:38,runtim:[2,3,28,29,39],s_fusion:56,s_id:56,s_param:50,s_recurrent_group:34,sacrif:2,sai:[27,41,43],sake:36,sale:55,same:[3,5,8,9,10,11,16,17,23,34,39,43,44,49,54,56,57,58,59],samping_id:[10,16],sampl:[3,5,9,20,39,41,43,49,50,52,54,56,57,58,59],sample_dim:50,sample_id:9,sample_num:9,santiago:58,satisfi:[39,44,54],save:[3,10,16,20,24,27,41,43,44,45,51,52,54,56,57,58,59],save_dir:[27,41,43,45,50,51,54,56,57,58,59],save_only_on:[40,41],saving_period:[40,41],saving_period_by_batch:[40,41,43,54],saw:3,scalabl:0,scalar:[3,10,16],scale:[0,10,14,52,55,56],scalingproject:[10,16],scatter:[10,16],scenario:[27,40],scene:40,schdule:44,schedul:[44,50],scheduler_factor:[7,15],schema:49,scheme:[9,12,57],schmidhub:58,schwenk:59,sci:55,scienc:58,scientist:[0,55],score:[9,10,16,56,58,59],screen:56,scrip:54,script:[5,20,39,44,51,52,54,57,58,59],seaplane_s_000978:51,search:[10,16,24,28,34,41,57,59],seat:59,second:[3,10,16,20,23,26,27,29,35,39,49,52,54,55,56,58],secret:44,section:[3,34,36,39,44,54],sed:58,see:[3,5,10,11,16,17,23,27,29,35,38,44,49,50,52,54,56,58,59],seed:[38,41],segment:9,segmentor:49,sel_fc:[10,16],select:[10,16,35,44,55,59],selectiv:[10,16],selector:45,self:[27,36,55,58],selfnorm:[10,16],semant:[20,23,34,53,58],semat:23,sen_len:57,send:[24,41,44],sens:10,sent:[23,45],sent_id:34,sentenc:[3,10,16,20,34,54,57,58,59],sentiment:[3,27,53,54,57],sentiment_data:58,sentiment_net:58,sentimental_provid:3,separ:[3,9,41,49,54,55,56,57,59],seq:[10,16,56],seq_pool:[10,16],seq_text_print:9,seq_to_seq_data:[49,59],seq_typ:[3,20,56],seqtext_printer_evalu:34,seqtoseq:[10,16,34,49,59],seqtoseq_net:[10,16,34,49,59],sequel:3,sequenc:[3,9,10,11,14,16,17,19,20,36,49,54,56,57,58,59],sequence_conv_pool:54,sequence_layer_group:[10,16],sequence_nest_layer_group:[10,16],sequencesoftmax:6,sequencestartposit:[10,16],sequencetextprint:9,sequencetyp:3,sequenti:[8,10,16,34,54,57],seri:[11,17,58],serial:[3,22],serv:[29,38,44,50],server:[23,29,36,39,40],serverless:24,servic:[29,55],session:[29,38],set:[2,3,5,7,9,10,11,15,16,17,20,22,23,24,27,28,29,31,34,36,37,38,39,40,41,43,44,45,49,51,52,54,55,56,57,58,59],set_active_typ:36,set_default_parameter_nam:[7,15],set_drop_r:36,set_input:[10,16],set_siz:36,set_typ:36,setp:44,settup:36,setup:[3,29,36,54],sever:[3,10,16,39,43,44,53,54,56,57,58,59],sgd:[12,18,22,23,24,39,50,58,59],sgdasync_count:40,shallow:57,shape:[10,16,22,52],shard:[24,44],share:[10,16,28,29,38,41,45,57],shared_bia:[11,17],shared_bias:[10,16],shell:[44,52],shift:52,ship:51,shold:58,shop:58,shorten:[10,16],shorter:52,should:[3,5,9,10,12,16,20,22,23,26,27,31,34,35,39,44,51,54,56,57,58,59],should_be_fals:23,should_be_tru:23,should_shuffl:[3,57],shouldn:35,show:[5,12,18,20,24,27,35,41,44,45,49,52,54,56,57,58,59],show_check_sparse_distribution_log:[40,41],show_layer_stat:[40,41],show_parameter_stats_period:[40,41,43,45,54,57,58,59],shown:[3,9,10,16,23,34,36,38,44,50,51,52,54,56,58,59],shrink:36,shuf:56,shuffl:[3,20,56,58],sid:44,side:[10,16,22,52],sig:44,sigint:39,sigmoid:[6,10,16,17,36],sigmoidactiv:[10,11],sign:44,signal:39,signatur:44,signific:38,similar:[10,16,26,44,54,56],similarli:[10,16,57],simpl:[2,3,9,10,11,14,16,17,20,22,28,29,35,38,41,54,56,57,58],simple_attent:34,simple_gru:54,simple_lstm:[10,16,54],simple_rnn:[10,16,34],simplest:44,simpli:[2,10,16,23,28,29,34,35,38,49,52,56,58,59],simplifi:[23,36,45],simultan:44,sinc:[10,16,24,26,27,29,38,44,50,54,55,59],sincer:[35,58],singl:[3,9,11,12,17,20,24,29,36,39,45,52,54,57,59],site:44,six:[49,57,59],size:[3,9,10,11,12,16,17,18,20,24,26,27,34,36,39,41,50,51,52,54,55,56,57,58,59],size_a:[10,16],size_b:[10,16],size_t:36,sizeof:49,skill:59,skip:[26,27,39,44,52],slide:[10,12,16,18,20,24],slightli:51,slope:[10,16],slot:[56,57],slot_dim:56,slot_nam:56,slottyp:56,slow:[3,38],small:[3,20,36,39,41,51,59],small_messag:[40,41],small_vgg:51,smaller:[10,16,24],smith:58,snap:45,snapshot:44,snippet:[34,36,38,44,54],social:58,sock_recv_buf_s:[40,41],sock_send_buf_s:[40,41],socket:41,softmax:[6,10,11,16,17,23,34,36,49,54,57,58],softmax_param_attr:[11,17],softmax_selfnorm_alpha:[10,16],softmaxactiv:[34,54],softrelu:6,softwar:[29,38],solv:[23,57],solver:59,some:[3,7,10,12,15,16,20,22,23,27,28,35,36,38,40,41,43,44,50,54,55,56,57,58,59],some_python_class:25,somecppclass:25,somedata:22,somegotyp:25,someth:[3,10,16],sometim:[12,18,26,38,58],soon:24,sophist:[27,36,39],sort:[10,16,20,41,44,56,58,59],sourc:[0,8,10,16,20,26,27,29,34,35,44,45,49,54,56,59],source_dict_dim:34,source_language_word:34,space:[9,29,34,38],space_seperated_tokens_from_dictionary_according_to_seq:9,space_seperated_tokens_from_dictionary_according_to_sub_seq:9,spars:[3,7,10,12,15,16,18,20,36,39,41,44,54],sparse_binary_vector:[3,20,54],sparse_binary_vector_sequ:20,sparse_float_vector:3,sparse_non_value_slot:20,sparse_upd:[7,15],sparse_value_slot:20,sparse_vector:20,sparse_vector_sequ:20,sparseparam:36,sparseprefetchrowcpumatrix:36,spatial:[10,16,51],speak:[34,59],spec:[44,45],specfii:41,speci:51,special:[10,16,28,49,54,59],specif:[2,43,51,54,56],specifi:[2,3,9,10,16,20,23,27,28,34,36,41,44,50,51,52,54,55,56,58,59],speech:[10,16],speed:[11,17,29],spefici:52,sphinx:[25,28,29],sphinx_rtd_them:28,split:[3,10,16,39,43,44,49,52,54,57],split_count:44,spp:10,sql:2,squar:[6,10,12,16,18,19,27],squarerootn:13,squarerootnpool:[10,16],squash:59,srand:41,src:59,src_backward:34,src_dict:34,src_embed:34,src_forward:34,src_id:34,src_root:5,src_word_id:34,srl:[20,57],ssd:16,ssh:[29,39,44,45],sshd:29,ssl:28,sstabl:23,stabl:44,stack:[27,44,54,57],stacked_lstm_net:58,stacked_num:58,stackexchang:[10,16],stage:39,stake:59,stale:35,stamp:38,standard:[7,15,49,51,57,58,59],stanford:[20,45],stanh:6,star:55,start:[10,16,22,24,27,29,34,35,38,39,41,48,49,53,56,59],start_pass:[40,41],start_pserv:41,startup:[24,44],stat:[28,38,41,57,58,59],state:[10,11,16,17,24,27,34,41,45,50,57,59],state_act:[10,11,16,17],statement:[36,44],staticinput:[10,16,34],statist:[10,16,41,54,57,58,59],statset:38,statu:[9,35,38,44,45],status:45,std:[36,41],stderr:39,stdout:39,step:[5,10,11,12,16,17,19,24,29,34,36,38,39,44,45,54,56,57,58,59],still:52,stmt1482205552000:44,stmt1482205746000:44,stochast:[12,18,24],stock:58,stop:[10,16,29,39,41,45,56],storag:[44,45,51],store:[9,10,16,20,24,36,39,41,44,45,49,51,52,54,56,57,58,59],str:[22,43],straight:35,strategi:[3,19,24,41,57],street:[10,16,57],strength:50,strict:26,stride:[10,16],stride_i:[10,16],stride_x:[10,16],string:[2,3,8,9,10,16,36,41,44,58],strip:[54,56,57],structur:[20,39,44,49,51,54,56,57,58,59],sts:44,stub:[10,16],student:55,stuff:35,stun:3,style:[3,10,16,28,35],sub:[9,10,16,20,23,34,36,51,54,59],sub_sequ:3,subgradi:[12,18],submit:[35,40,41,44],subnet0:44,subnet:[23,44],subobjectpath:45,subsequenceinput:[10,16],subset:[36,59],substanti:52,substitut:59,succe:58,succeed:45,success:[44,45,52,57],successfulcr:45,successfuli:58,successfulli:[52,56,58],successor:[41,59],sucessfulli:59,sudo:[28,31,44,51],suffic:[26,27],suffici:41,suffix:59,suggest:[10,16,38],suitabl:[35,41,51],sum:[9,10,12,13,16,18,34,36],sum_:[10,16],sum_to_one_norm:10,summar:[54,58],sumpool:[10,16],support:[7,9,10,12,15,16,19,20,24,26,28,29,31,34,36,38,41,44,57],suppos:[27,36,54],sure:[35,36,44,51,58],survei:58,swap_channel:52,swig:[5,25,28],swig_paddl:[5,20,50],symbol:[10,16],sync:[24,35,41,50],syncflag:36,synchron:[12,18,24,39,41,44],syntact:57,syntax:[26,56],synthect:27,synthes:50,synthet:27,sys:52,system:[24,28,29,39,45,54,57,58,59],t2b:49,t_i:[10,16],tab:[29,54],tabl:[3,10,16,52,54,59],tableproject:[10,16],tag:[9,20,29,34],tagtyp:9,take:[3,5,9,10,11,16,17,23,34,36,38,44,45,50,57,59],taken:[3,57],tanh:[6,10,11,16,17,36],tanhactiv:[10,11,34],taobao:58,tar:[28,44],tarbal:44,target:[10,16,20,22,34,49,54,59],target_dict_dim:34,target_language_word:34,targetinlink:[10,16],task:[3,9,10,16,27,34,43,49,52,57,58,59],tbd:25,tconf:58,tcp:[41,44],teach:54,tear:38,technic:24,technician:55,techniqu:[34,36],tee:[45,51,56,57,58,59],tell:[24,29,38,56],tellig:58,templat:[45,57],tempor:[10,16,54,57],tensor:10,term:[10,11,16,17,57,58],termin:45,terminolog:27,tese:2,tesh:57,test100:20,test10:20,test:[2,3,8,9,10,16,20,22,23,26,28,29,31,35,38,39,40,49,51,52,54,55,59],test_all_data_in_one_period:[45,51,56,57,58],test_data:59,test_fcgrad:36,test_gpuprofil:38,test_layergrad:36,test_list:[3,8,27,51,54],test_part_000:58,test_pass:[40,41,43,59],test_period:[40,41,43],test_ratio:56,test_wait:[40,41],testa:23,testb:23,testbilinearfwdbwd:38,testconfig:36,tester:[56,59],testfcgrad:36,testfclay:36,testlayergrad:36,testmodel_list:40,testq:23,testresult:22,testsave_dir:40,testutil:36,text:[2,3,9,11,17,20,23,29,34,44,49,53,54,56,58],text_conv:54,text_conv_pool:56,text_fil:[20,58],tflop:38,tgz:[20,28],than:[3,5,7,9,10,11,12,15,16,17,24,28,29,34,36,39,44,52,57,58,59],thank:[0,49,59],thei:[3,23,24,27,29,34,36,38,39,40,44,52,58],them:[2,3,11,17,23,24,26,27,29,34,38,40,41,44,51,52,54,56,58,59],theori:38,therefor:28,therein:[10,16],therun:52,thi:[2,3,7,8,9,10,11,12,15,16,17,18,20,22,23,24,26,27,28,29,31,34,35,36,38,39,41,43,44,45,49,50,51,52,54,55,56,57,58,59],thing:[3,27,34,35,38,56,57],think:23,third:[10,16,24,38,52,58],those:[24,52,57],thought:38,thread:[36,38,41,43,56,57,58,59],thread_local_rand_use_global_se:[40,41],threadid:43,threadloc:38,three:[3,9,10,12,16,24,26,27,34,41,50,52,58,59],threshold:[7,9,12,15,24,41,58],thriller:55,through:[5,10,16,24,34,36,38,39,49,50,51,58,59],throughout:54,throughput:38,thu:[3,10,16,27,36,44,59],tier:45,tight:28,time:[3,10,11,16,17,19,20,23,24,26,27,34,38,41,43,45,54,55,57,58,59],timelin:[10,16,38],timeo:44,timeout:24,timer:28,timestamp:[10,16,55],timestep:[3,10,16],titil:56,titl:[20,35,55,56],tmall:58,todo:[9,11,17,20,24],toend:[10,16],togeth:[3,10,11,16,17,20,22,34],token:[9,10,16,23,34,49,58,59],too:[20,29,31],tool:[29,34,35,44,58],toolchain:28,toolkit:[28,31],top:[9,52,57],top_k:9,topolog:[20,23],topolopi:22,toronto:[20,51],total:[9,22,24,26,38,39,45,49,59],total_pass:26,touch:58,tourism:58,tourist:59,toward:27,tra:59,track:[10,24],tractabl:[10,16],tradesman:55,tradit:[10,16],trail:20,train100:20,train10:20,train:[1,2,3,5,7,8,9,10,12,15,16,18,20,34,36,37,38,40,46,47,52],train_conf:[49,59],train_config_dir:44,train_data:59,train_id:44,train_list:[3,8,27,51,52,54],train_part_000:58,trainabl:[10,16],traindot_period:40,trainer:[3,5,23,27,36,39,41,43,50,54,57,58,59],trainer_config:[2,3,27,39,44,45,54,56,58],trainer_config_help:[3,6,7,8,9,10,11,12,13,27,36,51,54,56],trainer_count:[40,41,43,44,45,56,57,58,59],trainer_id:[41,44],trainerintern:[54,56,59],training_machin:50,trainingtest_period:40,trainonedatabatch:50,tran:[10,36,41],trane:3,transact:[24,58],transfer:[2,3],transform:[10,16,34,36,50,51,54,57],transform_param_attr:[11,17],translat:[10,11,16,17,27,49,56,58,59],transpar:39,transport:41,transpos:[10,16,36,50],transposedfullmatrixproject:[10,16],travel:[3,11],travi:[28,35],treat:[10,16,34],tree:[10,16,35,41,59],trg:59,trg_dict:34,trg_dict_path:34,trg_embed:34,trg_id:34,trg_ids_next:34,triain:2,tricki:25,trivial:3,trn:54,truck:51,true_imag:26,true_label:26,true_read:26,truth:[9,10,16,54,59],tst:54,tune:[7,15,37,54,56,59],tuninglog_barrier_abstract:40,tupl:[3,8,10,11,16,20,22,26],ture:[10,16],turn:[10,16,26,50],tutori:[29,34,35,36,38,39,44,45,46,47,52,54],tweet:58,twelv:59,twitter:58,two:[2,3,10,11,16,17,23,26,27,29,34,38,39,43,44,49,50,51,52,54,56,57,58,59],txt:[3,36,39,44,54,56,58],type:[3,8,9,10,11,12,16,17,19,20,22,23,24,25,26,27,29,34,36,41,43,44,45,51,52,54,56,57],type_nam:[10,56],typedef:25,typic:[5,9,29,38,58],ubuntu:31,ubyt:26,uci:20,ufldl:[10,16],uid:45,uint64:25,uint64_t:25,unbalanc:41,unbound:34,unconstrain:58,under:[27,28,29,44,55,58],underli:27,understand:[29,38,49,51,58],understudi:59,undeterminist:38,unemploi:55,unexist:57,uniform:[7,10,15,16,20,26,41,50],uniqu:[23,24,35,41,44],unique_ptr:36,unit:[10,11,16,17,27,28,29,34,35,57],unittestcheckgrad_ep:40,univ:59,unix:39,unk:[49,59],unk_idx:[54,57],unknown:[10,16],unlabel:58,unlik:[57,58,59],unseg:[10,16],unsup:58,unsupbow:58,until:[24,39,44,57],unus:56,unzip:56,updat:[7,10,12,15,16,24,28,36,39,41,43,58],update_equ:22,updatecallback:36,updatestack:44,upload:24,upon:[0,57],upstream:35,uri:44,url:[20,31,58],urls_neg:58,urls_po:58,urls_unsup:58,usag:[2,3,9,10,11,16,17,20,22,27,38,49,50,56],use:[0,2,3,5,7,8,9,10,11,12,15,16,17,19,20,22,23,27,28,29,30,31,34,35,36,38,39,41,43,44,45,49,50,51,52,54,55,56,57,58,59],use_global_stat:[10,16],use_gpu:[40,41,43,45,50,51,52,54,56,57,58,59],use_jpeg:51,use_old_updat:[40,41],use_seq:[27,56],use_seq_or_not:56,used:[2,3,5,9,10,11,12,16,17,18,19,20,22,23,24,26,27,30,31,34,36,38,39,40,41,43,44,49,51,52,54,56,57,58,59],useful:[2,3,10,11,16,17,34,36,43,54,57,58],usegpu:[36,50],useless:39,user:[2,3,7,9,10,11,15,16,17,20,22,23,26,27,29,35,39,40,41,44,52,54,57],user_featur:56,user_head:56,user_id:56,user_info:20,user_meta:56,user_nam:56,userid:55,userinfo:20,usernam:35,uses:[3,24,34,35,36,41,44,51,52,54,56,59],using:[2,3,5,7,8,10,15,16,20,23,24,26,27,29,34,35,36,38,41,43,44,45,49,50,51,52,54,57,58],usr:[28,39,41,44],usrdict:49,usrmodel:49,usual:[10,16,20,22,27,28,38,41,43,44,58],utf:49,util:[5,28,34,36,38,51,56,58],v28:[10,16],valid:[26,44,52,58],valu:[3,5,7,9,10,12,15,16,18,19,20,22,24,27,34,36,41,43,44,50,51,52,57,58],value1:41,value2:41,value_rang:20,vanilla:34,vanish:58,vari:[38,44],variabl:[3,10,16,20,23,27,28,31,36,39,44,45,58],varianc:[10,16,52],variant:29,vast:35,vector:[3,10,11,16,17,20,23,34,36,49,54,56,58,59],vectorenable_parallel_vector:40,verb:[20,57],veri:[3,10,16,19,34,38,51,54,58],verifi:[35,36],versa:28,version:[10,11,16,17,28,29,31,36,38,39,40,41,44,45,49,51,55,57,58,59],versu:23,vertic:[10,16,52],vgg:[11,17,51],vgg_16_cifar:51,via:[24,26,28,38,39,44,54],vice:28,view:[10,16],vim:35,virtual:29,virtualenv:56,visibl:29,vision:51,visipedia:51,visual:[10,16,29,38],viterbi:57,voc_dim:54,vocab:58,volum:[29,45],volumemount:[44,45],volumn:44,voluntarili:55,vutbr:20,wai:[3,10,11,16,17,23,27,29,34,36,39,43,56,57,59],wait:[12,18,24,41],walk:[5,50],wall:57,want:[3,10,11,16,17,23,26,27,28,29,36,41,43,49,52,54,56,57,58],war:55,warn:[10,16],warp:[10,16,38],watch:24,wbia:[44,52],web:29,websit:[51,54,57,58],wei:[57,58],weight:[9,10,11,12,16,17,18,34,36,41,43,51,52],weight_act:[11,17],weightlist:36,weights_:36,weights_t:36,welcom:[56,58],well:[29,36,41,44,51,54],west:44,western:55,wether:[10,16],what:[7,10,11,12,15,16,17,18,27,39,54,56],wheel:28,when:[2,3,7,9,10,12,15,16,20,22,24,31,34,35,36,38,41,43,44,45,49,50,51,57,58,59],whenev:56,where:[3,10,11,12,16,17,18,23,24,27,34,36,38,39,41,43,49,52,57,59],whether:[9,10,11,16,17,26,36,41,50,51,56,58,59],which:[0,2,3,5,9,10,11,12,16,17,18,20,23,24,26,27,31,34,36,38,39,41,43,44,50,51,52,54,55,56,57,58,59],whichev:50,whl:28,who:[49,52,55],whole:[3,9,20,25,44,45,54,55,56,59],whole_cont:56,whose:[3,10,16,20,24,34,56,57],why:[11,17],wide:57,width:[9,10,16,20,25,26,36,51,59],wiki:[10,16],wikipedia:[10,16,20],wilder:3,window:[10,16,19,20,29,58],wise:[10,16],with_avx:29,with_avxcompil:28,with_coveragecompil:28,with_doccompil:28,with_doubl:36,with_doublecompil:28,with_dsocompil:28,with_gpu:29,with_gpucompil:28,with_profil:38,with_profilercompil:28,with_pythoncompil:28,with_rdmacompil:28,with_style_checkcompil:28,with_swig_pycompil:28,with_test:29,with_testingcompil:28,with_tim:38,with_timercompil:28,within:[10,16,27],without:[9,10,16,26,39,58],wmt14:59,wmt14_data:59,wmt14_model:59,wmt:59,wmt_shrinked_data:20,woboq:29,won:[38,52],wonder:3,word:[3,9,10,16,20,34,43,53,56,57,58,59],word_dict:[54,57],word_dim:54,word_id:3,word_idx:20,word_slot:57,word_vector:54,word_vector_dim:[34,49],words_freq_sort:20,work:[3,5,20,23,24,26,28,34,35,36,38,39,41,44,45,54,56],worker:44,workercount:44,workflow:[29,35,44],workspac:[29,41,56],worri:27,wors:50,would:[22,26,29,39,44,50,54,57],wrap:57,wrapper:[11,17,38],writ:56,write:[3,20,23,24,26,29,34,35,37,39,44,51,56,57,59],writelin:27,writer:[23,55],written:[56,58],wrong:[3,26],wsize:44,wsj:57,www:[10,16,20,51,59],x64:28,xarg:36,xgbe0:41,xgbe1:41,xiaojun:58,xrang:[26,27,36],xxbow:58,xxx:[23,52,59],xxxxxxxxx:44,xxxxxxxxxx:44,xxxxxxxxxxxxx:44,xxxxxxxxxxxxxxxxxxx:44,xzf:28,y_i:[10,16],y_predict:27,yaml:[44,56],yann:20,year:55,yeild:[22,51],yield:[3,20,23,26,27,34,54,56,57,58],you:[2,3,5,7,10,11,12,15,16,17,27,28,29,31,34,35,36,38,39,41,43,44,49,50,51,52,54,56,57,58,59],your:[3,10,16,23,28,29,36,38,39,43,44,54,58],your_access_key_id:44,your_secrete_access_kei:44,yum:28,yuyang18:[11,17,20],zachari:58,zeng:58,zero:[3,7,10,12,15,16,18,20,24,36,41,44,54],zhidao:49,zhou:[57,58],zip:[20,55],zone:44,zxvf:44},titles:["ABOUT","API","Introduction","PyDataProvider2","API","Python Prediction","Activations","Parameter Attributes","DataSources","Evaluators","Layers","Networks","Optimizers","Poolings","Activation","Parameter Attribute","Layers","Networks","Optimizer","Pooling","Data Reader Interface and DataSets","Model Configuration","Training and Inference","PaddlePaddle Design Doc","Design Doc: Distributed Training","Paddle\u591a\u8bed\u8a00\u63a5\u53e3\u5b9e\u73b0","Python Data Reader Design Doc","Simple Linear Regression","Installing from Sources","PaddlePaddle in Docker Containers","Install and Build","Debian Package installation guide","GET STARTED","RNN Models","RNN Configuration","Contribute Code","Write New Layers","HOW TO","Tune GPU Performance","Run Distributed Training","Argument Outline","Detail Description","Set Command-line Parameters","Use Case","Distributed PaddlePaddle Training on AWS with Kubernetes","Paddle On Kubernetes","<no title>","<no title>","PaddlePaddle Documentation","Chinese Word Embedding Model Tutorial","Generative Adversarial Networks (GAN)","Image Classification Tutorial","Model Zoo - ImageNet","TUTORIALS","Quick Start","MovieLens Dataset","Regression MovieLens Ratting","Semantic Role labeling Tutorial","Sentiment Analysis Tutorial","Text generation Tutorial"],titleterms:{"\u4e0d\u4f7f\u7528":25,"\u4e0d\u4f7f\u7528swig\u8fd9\u79cd\u4ee3\u7801\u751f\u6210\u5668":25,"\u4e0d\u5bfc\u51fapaddle\u5185\u90e8\u7684\u7ed3\u6784\u4f53":25,"\u4e0d\u5f15\u7528\u5176\u4ed6\u52a8\u6001\u5e93":25,"\u4ec5\u4ec5\u4f7f\u7528void":25,"\u4f7f\u7528\u52a8\u6001\u5e93\u6765\u5206\u53d1paddl":25,"\u52a8\u6001\u5e93\u4e2d\u4e0d\u5d4c\u5165\u4efb\u4f55\u5176\u4ed6\u8bed\u8a00\u7684\u89e3\u91ca\u5668":25,"\u539f\u56e0":25,"\u539f\u56e0\u5217\u8868":25,"\u57fa\u672c\u8981\u6c42":25,"\u5bfc\u51fac":25,"\u6307\u9488\u4f5c\u4e3a\u7c7b\u578b\u7684\u53e5\u67c4":25,"\u7b26\u53f7":25,"\u7b80\u5355\u5b9e\u73b0":25,"\u7c7b":25,"\u800c\u662f\u624b\u5199\u591a\u8bed\u8a00\u7ed1\u5b9a":25,"\u80cc\u666f":25,"\u8fd9\u4e2a\u52a8\u6001\u5e93\u4f7f\u7528c99\u6807\u51c6\u7684\u5934\u6587\u4ef6\u5bfc\u51fa\u4e00\u4e9b\u51fd\u6570":25,"case":43,"class":36,"function":49,"new":36,"paddle\u52a8\u6001\u5e93\u4e2d":25,"paddle\u591a\u8bed\u8a00\u63a5\u53e3\u5b9e\u73b0":25,"return":26,AWS:44,Abs:14,DNS:44,EFS:44,For:45,KMS:44,Use:[43,45],Using:[29,35],With:29,about:0,absactiv:6,access:44,account:44,activ:[6,14],adadelta:18,adadeltaoptim:12,adagrad:18,adagradoptim:12,adam:18,adamax:18,adamaxoptim:12,adamoptim:12,add:44,address:44,addto:16,addto_lay:10,adversari:50,aggreg:[10,16],algorithm:[24,54],analysi:58,api:[1,4,29],appendix:54,applic:4,approach:38,architectur:[34,54],argument:[26,40,43,54],asset:44,associ:44,async:41,attent:34,attribut:[7,15],auc_evalu:9,avg:19,avgpool:13,aws:44,background:27,base:[9,10],baseactiv:6,basepool:19,basepoolingtyp:13,basesgdoptim:12,batch:26,batch_norm:16,batch_norm_lay:10,batch_siz:26,beam_search:[10,16],between:23,bidirect:58,bidirectional_lstm:[11,17],bilinear_interp:16,bilinear_interp_lay:10,bleu:59,block_expand:16,block_expand_lay:10,book:29,brelu:14,breluactiv:6,bucket:44,build:[28,30,45],built:38,cach:3,cento:28,check:[10,16,36,39],chines:49,choos:44,chunk_evalu:9,cifar:20,classif:[9,51],classification_error_evalu:9,classification_error_printer_evalu:9,clone:35,cloudform:44,cluster:[39,43,44],code:35,column_sum_evalu:9,command:[42,43,54,59],commit:[35,45],common:41,commun:41,compos:26,concat:16,concat_lay:10,concept:44,config:[4,43,56,57],configur:[21,34,37,39,44,54,56],conll05:20,connect:[10,16],contain:[29,45],content:[38,44],context_project:[10,16],contribut:35,conv:[10,16],conv_oper:[10,16],conv_project:[10,16],conv_shift:16,conv_shift_lay:10,convolut:[51,54],core:44,cos_sim:[10,16],cost:[10,16],cpu:[29,43],creat:[26,35,44,45],creator:26,credenti:44,credit:0,crf:16,crf_decod:16,crf_decoding_lay:10,crf_layer:10,cross_channel_norm:16,cross_entropi:10,cross_entropy_cost:16,cross_entropy_with_selfnorm:10,cross_entropy_with_selfnorm_cost:16,ctc:16,ctc_error_evalu:9,ctc_layer:10,cudnnavg:19,cudnnmax:19,custom:26,dat:55,data:[10,16,20,26,27,34,44,45,49,50,51,54,56,57,58,59],data_lay:10,datafeed:20,dataprovid:[3,4,41],dataset:[20,24,55,56,59],datasourc:8,datatyp:20,date:35,debian:31,decayedadagrad:18,decayedadagradoptim:12,decor:26,defin:[44,54,58,59],delet:44,delv:51,demo:44,depend:28,deriv:36,descript:[41,50,55,57],design:[23,24,26],destroi:44,detail:[41,51],develop:[29,37],devic:43,dictionari:[26,49],differ:43,directori:44,distribut:[23,24,39,41,44],doc:[23,24,26],docker:[29,45],document:[29,48],dotmul_oper:[10,16],dotmul_project:[10,16],down:44,download:[28,44,45,49,52,56,59],dropout_lay:[11,17],dynam:24,ec2:44,elast:44,embed:[16,49,54],embedding_lay:10,entri:26,eos:16,eos_lay:10,equat:36,evalu:[9,27,56],evalutaion:59,event:[22,23],exampl:[23,49,50],exercis:51,exp:14,expactiv:6,expand:16,expand_lay:10,extern:44,extract:[49,52,56,59],fault:24,fc_layer:10,featur:[52,55,56,57],field:56,file:[44,45,54,55,56],find:44,first_seq:[10,16],fork:35,format:[24,54],from:[23,28,30],full_matrix_project:[10,16],fulli:[10,16],gan:50,gate:34,gener:[34,50,59],get:[32,45],get_output:16,get_output_lay:10,github:35,gpu:[29,38,41,43],gradient:36,gradient_printer_evalu:9,group:[10,16,44],gru:[11,17,41],gru_group:[11,17],gru_step:16,gru_step_lay:10,gru_unit:[11,17],grumemori:[10,16],guid:31,hand:38,handler:[23,25],hook:35,how:[26,37,38],hsigmoid:[10,16],huber_cost:[10,16],iam:44,ident:14,identity_project:[10,16],identityactiv:6,imag:[10,11,16,17,29,45,51],imagenet:52,imdb:[20,58],img_cmrnorm:16,img_cmrnorm_lay:10,img_conv:16,img_conv_bn_pool:[11,17],img_conv_group:[11,17],img_conv_lay:10,img_pool:16,img_pool_lay:10,imikolov:20,implement:[26,36,50],infer:[22,54],info:52,ingredi:23,init_hook:3,initi:[43,44],input_typ:3,inspect:44,instal:[28,30,31,44,54],instanc:44,integr:44,interfac:[20,24,26,52],interpol:16,interpolation_lay:10,introduct:[2,49,52,58,59],isn:26,job:[24,39,44,45],join:[10,16],keep:35,kei:44,kill:39,kube:44,kubectl:44,kubernet:[44,45],label:57,lambda_cost:[10,16],last_seq:[10,16],lastest:35,launch:39,layer:[10,16,23,36,43],layeroutput:10,layertyp:10,line:[42,54],linear:[14,27],linear_comb:16,linear_comb_lay:10,linearactiv:6,list:26,local:[43,44],log:[14,54],logactiv:6,logist:54,lstm:[11,17,41,57,58],lstm_step:16,lstm_step_lay:10,lstmemori:[10,16],lstmemory_group:[11,17],lstmemory_unit:[11,17],map:26,master:24,math:[10,16],matrix:41,max:19,maxframe_printer_evalu:9,maxid:16,maxid_lay:10,maxid_printer_evalu:9,maxout:16,maxout_lay:10,maxpool:13,memori:[10,16],meta:56,mini:26,minibatch:20,misc:[11,17],mix:[10,16,43],mixed_lay:10,mnist:[20,50],model:[3,4,21,23,27,29,33,34,39,43,49,50,51,52,53,54,59],modifi:45,momentum:18,momentumoptim:12,movi:[55,56],movielen:[20,55,56],mse_cost:[10,16],multi_binary_label_cross_entropi:10,multi_binary_label_cross_entropy_cost:16,multipl:26,name:44,nce:16,nce_lay:10,need:[26,38],network:[11,17,34,43,50,51,52,54,56,57],neural:[34,51,54,56,57],neuralnetwork:27,nlp:[11,17,41],non:3,norm:[10,16],nvprof:38,nvvp:38,object:[24,56],observ:[49,52],onli:[26,29],optim:[12,18,24,37,54],option:[28,49],outlin:40,output:[11,39,44],overview:54,packag:31,pad:16,pad_lay:10,paddl:[26,45],paddlepaddl:[23,29,30,44,48,49,59],pair:44,parallel_nn:43,paramet:[7,15,22,23,24,41,42,44,49,52],paraphras:49,pass:43,perform:[38,41],pnpair_evalu:9,point:44,pool:[10,13,16,19],pooling_lay:10,power:16,power_lay:10,pre:35,precision_recall_evalu:9,predict:[5,51,52,56,57,58],prefetch:26,prepar:[27,34,39,44,49,50,51,56,58,59],preprocess:[49,51,54,56,59],prerequisit:39,pretrain:[49,59],print:9,privat:44,problem:27,process:24,profil:38,provid:[3,26,54,56,57],pull:35,push:35,pydataprovider2:3,python:[5,26,29,36,52,54,56],queue:24,quick:54,randomnumb:41,rank:9,rank_cost:[10,16],rat:56,rate:55,reader:[20,23,26],recoveri:24,recurr:[10,11,16,17,34,54],recurrent_group:[10,16],recurrent_lay:10,refer:[3,38,57,58],region:44,regress:[27,54,56],relu:14,reluactiv:6,render:44,repeat:16,repeat_lay:10,request:35,requir:[28,35],reshap:[10,16],resnet:52,result:[39,45,59],revis:[35,49],rmsprop:18,rmspropoptim:12,rnn:[33,34,41],role:57,rotat:16,rotate_lay:10,route53:44,run:[39,45,57],sampl:[10,16],sampling_id:16,sampling_id_lay:10,scale:[16,24],scaling_lay:10,scaling_project:[10,16],script:45,secur:44,selective_fc:16,selective_fc_lay:10,semant:57,sentiment:[20,58],seq_concat:16,seq_concat_lay:10,seq_reshap:16,seq_reshape_lay:10,seqtext_printer_evalu:9,sequenc:34,sequence_conv_pool:[11,17],sequencesoftmax:14,sequencesoftmaxactiv:6,sequenti:3,server:[24,41,44],servic:44,set:[12,42],setup:[28,44],sgd:41,share:23,shuffl:26,sigmoid:14,sigmoidactiv:6,simpl:[27,34],simple_attent:[11,17],simple_gru:[11,17],simple_img_conv_pool:[11,17],simple_lstm:[11,17],singl:26,slice:[10,16],slope_intercept:16,slope_intercept_lay:10,softmax:14,softmaxactiv:6,softrelu:14,softreluactiv:6,sourc:[28,30],span:28,spars:43,specifi:[43,49],split:56,spp:16,spp_layer:10,squar:14,squareactiv:6,squarerootn:19,squarerootnpool:13,stack:58,standard:54,stanh:14,stanhactiv:6,start:[23,32,44,45,54],startup:45,structur:50,suffici:26,sum:19,sum_cost:[10,16],sum_evalu:9,sum_to_one_norm:16,sum_to_one_norm_lay:10,summar:23,summari:54,sumpool:13,system:44,table_project:[10,16],take:26,tanh:14,tanhactiv:6,task:24,tear:44,templat:44,tensor:16,tensor_lay:10,test:[36,41,43,56,57,58],text:59,text_conv_pool:[11,17],timer:38,tip:38,toi:50,toler:24,tool:38,train:[22,23,24,26,27,29,39,41,43,44,45,49,50,51,54,56,57,58,59],trainer:[22,24,44,56],tran:16,trans_full_matrix_project:[10,16],trans_lay:10,transfer:54,tune:[38,41],tutori:[49,51,53,57,58,59],ubuntu:28,uci_h:20,unit:[36,41],updat:[23,35,44],usag:[26,29,37],use:26,user:[24,49,55,56,58,59],util:9,value_printer_evalu:9,vector:41,verifi:44,version:35,vgg_16_network:[11,17],visual:52,volum:44,vpc:44,warp_ctc:16,warp_ctc_lay:10,what:38,why:[26,38],wmt14:20,word:[49,54],work:29,workflow:59,workspac:39,wrapper:36,write:[36,54],yaml:45,your:35,zoo:[52,53]}}) \ No newline at end of file diff --git a/release/0.10.0/doc/tutorials/embedding_model/index_en.html b/release/0.10.0/doc/tutorials/embedding_model/index_en.html new file mode 100644 index 0000000000..0f063ffcd7 --- /dev/null +++ b/release/0.10.0/doc/tutorials/embedding_model/index_en.html @@ -0,0 +1,405 @@ + + + + + + + + + + + Chinese Word Embedding Model Tutorial — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Chinese Word Embedding Model Tutorial
  • +
+
+ +
+
+
+
+ +
+

Chinese Word Embedding Model Tutorial

+
+

This tutorial is to guide you through the process of using a Pretrained Chinese Word Embedding Model in the PaddlePaddle standard format.

+

We thank @lipeng for the pull request that defined the model schemas and pretrained the models.

+
+

Introduction

+
+

Chinese Word Dictionary

+

Our Chinese-word dictionary is created on Baidu ZhiDao and Baidu Baike by using in-house word segmentor. For example, the participle of “《红楼梦》” is “《”,”红楼梦”,”》”,and “《红楼梦》”. Our dictionary (using UTF-8 format) has has two columns: word and its frequency. The total word count is 3206326, including 4 special token:

+
    +
  • <s>: the start of a sequence
  • +
  • <e>: the end of a sequence
  • +
  • PALCEHOLDER_JUST_IGNORE_THE_EMBEDDING: a placeholder, just ignore it and its embedding
  • +
  • <unk>: a word not included in dictionary
  • +
+
+
+

Pretrained Chinese Word Embedding Model

+

Inspired by paper A Neural Probabilistic Language Model, our model architecture (Embedding joint of six words->FullyConnect->SoftMax) is as following graph. And for our dictionary, we pretrain four models with different word vector dimenstions, i.e 32, 64, 128, 256. +

+
Figure 1. neural-n-gram-model

+
+
+

Download and Extract

+

To download and extract our dictionary and pretrained model, run the following commands.

+
cd $PADDLE_ROOT/demo/model_zoo/embedding
+./pre_DictAndModel.sh
+
+
+
+
+
+

Chinese Paraphrasing Example

+

We provide a paraphrasing task to show the usage of pretrained Chinese Word Dictionary and Embedding Model.

+
+

Data Preparation and Preprocess

+

First, run the following commands to download and extract the in-house dataset. The dataset (using UTF-8 format) has 20 training samples, 5 testing samples and 2 generating samples.

+
cd $PADDLE_ROOT/demo/seqToseq/data
+./paraphrase_data.sh
+
+
+

Second, preprocess data and build dictionary on train data by running the following commands, and the preprocessed dataset is stored in $PADDLE_SOURCE_ROOT/demo/seqToseq/data/pre-paraphrase:

+
cd $PADDLE_ROOT/demo/seqToseq/
+python preprocess.py -i data/paraphrase [--mergeDict]
+
+
+
    +
  • --mergeDict: if using this option, the source and target dictionary are merged, i.e, two dictionaries have the same context. Here, as source and target data are all chinese words, this option can be used.
  • +
+
+
+

User Specified Embedding Model

+

The general command of extracting desired parameters from the pretrained embedding model based on user dictionary is:

+
cd $PADDLE_ROOT/demo/model_zoo/embedding
+python extract_para.py --preModel PREMODEL --preDict PREDICT --usrModel USRMODEL--usrDict USRDICT -d DIM
+
+
+
    +
  • --preModel PREMODEL: the name of pretrained embedding model
  • +
  • --preDict PREDICT: the name of pretrained dictionary
  • +
  • --usrModel USRMODEL: the name of extracted embedding model
  • +
  • --usrDict USRDICT: the name of user specified dictionary
  • +
  • -d DIM: dimension of parameter
  • +
+

Here, you can simply run the command:

+
cd $PADDLE_ROOT/demo/seqToseq/data/
+./paraphrase_model.sh
+
+
+

And you will see following embedding model structure:

+
paraphrase_model
+|--- _source_language_embedding
+|--- _target_language_embedding
+
+
+
+
+

Training Model in PaddlePaddle

+

First, create a model config file, see example demo/seqToseq/paraphrase/train.conf:

+
from seqToseq_net import *
+is_generating = False
+
+################## Data Definition #####################
+train_conf = seq_to_seq_data(data_dir = "./data/pre-paraphrase",
+                             job_mode = job_mode)
+
+############## Algorithm Configuration ##################
+settings(
+      learning_method = AdamOptimizer(),
+      batch_size = 50,
+      learning_rate = 5e-4)
+
+################# Network configure #####################
+gru_encoder_decoder(train_conf, is_generating, word_vector_dim = 32)
+
+
+

This config is almost the same as demo/seqToseq/translation/train.conf.

+

Then, train the model by running the command:

+
cd $PADDLE_SOURCE_ROOT/demo/seqToseq/paraphrase
+./train.sh
+
+
+

where train.sh is almost the same as demo/seqToseq/translation/train.sh, the only difference is following two command arguments:

+
    +
  • --init_model_path: path of the initialization model, here is data/paraphrase_model
  • +
  • --load_missing_parameter_strategy: operations when model file is missing, here use a normal distibution to initialize the other parameters except for the embedding layer
  • +
+

For users who want to understand the dataset format, model architecture and training procedure in detail, please refer to Text generation Tutorial.

+
+
+
+

Optional Function

+
+

Embedding Parameters Observation

+

For users who want to observe the embedding parameters, this function can convert a PaddlePaddle binary embedding model to a text model by running the command:

+
cd $PADDLE_ROOT/demo/model_zoo/embedding
+python paraconvert.py --b2t -i INPUT -o OUTPUT -d DIM
+
+
+
    +
  • -i INPUT: the name of input binary embedding model
  • +
  • -o OUTPUT: the name of output text embedding model
  • +
  • -d DIM: the dimension of parameter
  • +
+

You will see parameters like this in output text model:

+
0,4,32156096
+-0.7845433,1.1937413,-0.1704215,0.4154715,0.9566584,-0.5558153,-0.2503305, ......
+0.0000909,0.0009465,-0.0008813,-0.0008428,0.0007879,0.0000183,0.0001984, ......
+......
+
+
+
    +
  • 1st line is PaddlePaddle format file head, it has 3 attributes:
      +
    • version of PaddlePaddle, here is 0
    • +
    • sizeof(float), here is 4
    • +
    • total number of parameter, here is 32156096
    • +
    +
  • +
  • Other lines print the paramters (assume <dim> = 32)
      +
    • each line print 32 paramters splitted by ‘,’
    • +
    • there is 32156096/32 = 1004877 lines, meaning there is 1004877 embedding words
    • +
    +
  • +
+
+
+

Embedding Parameters Revision

+

For users who want to revise the embedding parameters, this function can convert a revised text embedding model to a PaddlePaddle binary model by running the command:

+
cd $PADDLE_ROOT/demo/model_zoo/embedding
+python paraconvert.py --t2b -i INPUT -o OUTPUT
+
+
+
    +
  • -i INPUT: the name of input text embedding model.
  • +
  • -o OUTPUT: the name of output binary embedding model
  • +
+

Note that the format of input text model is as follows:

+
-0.7845433,1.1937413,-0.1704215,0.4154715,0.9566584,-0.5558153,-0.2503305, ......
+0.0000909,0.0009465,-0.0008813,-0.0008428,0.0007879,0.0000183,0.0001984, ......
+......
+
+
+
    +
  • there is no file header in 1st line
  • +
  • each line stores parameters for one word, the separator is commas ‘,’
  • +
+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/tutorials/gan/index_en.html b/release/0.10.0/doc/tutorials/gan/index_en.html new file mode 100644 index 0000000000..d26e1d6ca6 --- /dev/null +++ b/release/0.10.0/doc/tutorials/gan/index_en.html @@ -0,0 +1,364 @@ + + + + + + + + + + + Generative Adversarial Networks (GAN) — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Generative Adversarial Networks (GAN)
  • +
+
+ +
+
+
+
+ +
+

Generative Adversarial Networks (GAN)

+

This demo implements GAN training described in the original GAN paper and deep convolutional generative adversarial networks DCGAN paper.

+

The high-level structure of GAN is shown in Figure. 1 below. It is composed of two major parts: a generator and a discriminator, both of which are based on neural networks. The generator takes in some kind of noise with a known distribution and transforms it into an image. The discriminator takes in an image and determines whether it is artificially generated by the generator or a real image. So the generator and the discriminator are in a competitive game in which generator is trying to generate image to look as real as possible to fool the discriminator, while the discriminator is trying to distinguish between real and fake images.

+

+

+ Figure 1. GAN-Model-Structure + figure credit +

The generator and discriminator take turn to be trained using SGD. The objective function of the generator is for its generated images being classified as real by the discriminator, and the objective function of the discriminator is to correctly classify real and fake images. When the GAN model is trained to converge to the equilibrium state, the generator will transform the given noise distribution to the distribution of real images, and the discriminator will not be able to distinguish between real and fake images at all.

+
+

Implementation of GAN Model Structure

+

Since GAN model involves multiple neural networks, it requires to use paddle python API. So the code walk-through below can also partially serve as an introduction to the usage of Paddle Python API.

+

There are three networks defined in gan_conf.py, namely generator_training, discriminator_training and generator. The relationship to the model structure we defined above is that discriminator_training is the discriminator, generator is the generator, and the generator_training combined the generator and discriminator since training generator would require the discriminator to provide loss function. This relationship is described in the following code:

+
if is_generator_training:
+    noise = data_layer(name="noise", size=noise_dim)
+    sample = generator(noise)
+
+if is_discriminator_training:
+    sample = data_layer(name="sample", size=sample_dim)
+
+if is_generator_training or is_discriminator_training:
+    label = data_layer(name="label", size=1)
+    prob = discriminator(sample)
+    cost = cross_entropy(input=prob, label=label)
+    classification_error_evaluator(
+        input=prob, label=label, name=mode + '_error')
+    outputs(cost)
+
+if is_generator:
+    noise = data_layer(name="noise", size=noise_dim)
+    outputs(generator(noise))
+
+
+

In order to train the networks defined in gan_conf.py, one first needs to initialize a Paddle environment, parse the config, create GradientMachine from the config and create trainer from GradientMachine as done in the code chunk below:

+
import py_paddle.swig_paddle as api
+# init paddle environment
+api.initPaddle('--use_gpu=' + use_gpu, '--dot_period=10',
+               '--log_period=100', '--gpu_id=' + args.gpu_id,
+               '--save_dir=' + "./%s_params/" % data_source)
+
+# Parse config
+gen_conf = parse_config(conf, "mode=generator_training,data=" + data_source)
+dis_conf = parse_config(conf, "mode=discriminator_training,data=" + data_source)
+generator_conf = parse_config(conf, "mode=generator,data=" + data_source)
+
+# Create GradientMachine
+dis_training_machine = api.GradientMachine.createFromConfigProto(
+dis_conf.model_config)
+gen_training_machine = api.GradientMachine.createFromConfigProto(
+gen_conf.model_config)
+generator_machine = api.GradientMachine.createFromConfigProto(
+generator_conf.model_config)
+
+# Create trainer
+dis_trainer = api.Trainer.create(dis_conf, dis_training_machine)
+gen_trainer = api.Trainer.create(gen_conf, gen_training_machine)
+
+
+

In order to balance the strength between generator and discriminator, we schedule to train whichever one is performing worse by comparing their loss function value. The loss function value can be calculated by a forward pass through the GradientMachine.

+
def get_training_loss(training_machine, inputs):
+    outputs = api.Arguments.createArguments(0)
+    training_machine.forward(inputs, outputs, api.PASS_TEST)
+    loss = outputs.getSlotValue(0).copyToNumpyMat()
+    return numpy.mean(loss)
+
+
+

After training one network, one needs to sync the new parameters to the other networks. The code below demonstrates one example of such use case:

+
# Train the gen_training
+gen_trainer.trainOneDataBatch(batch_size, data_batch_gen)
+
+# Copy the parameters from gen_training to dis_training and generator
+copy_shared_parameters(gen_training_machine,
+dis_training_machine)
+copy_shared_parameters(gen_training_machine, generator_machine)
+
+
+
+
+

A Toy Example

+

With the infrastructure explained above, we can now walk you through a toy example of generating two dimensional uniform distribution using 10 dimensional Gaussian noise.

+

The Gaussian noises are generated using the code below:

+
def get_noise(batch_size, noise_dim):
+    return numpy.random.normal(size=(batch_size, noise_dim)).astype('float32')
+
+
+

The real samples (2-D uniform) are generated using the code below:

+
# synthesize 2-D uniform data in gan_trainer.py:114
+def load_uniform_data():
+    data = numpy.random.rand(1000000, 2).astype('float32')
+    return data
+
+
+

The generator and discriminator network are built using fully-connected layer and batch_norm layer, and are defined in gan_conf.py.

+

To train the GAN model, one can use the command below. The flag -d specifies the training data (cifar, mnist or uniform) and flag –useGpu specifies whether to use gpu for training (0 is cpu, 1 is gpu).

+
$python gan_trainer.py -d uniform --useGpu 1
+
+
+

The generated samples can be found in ./uniform_samples/ and one example is shown below as Figure 2. One can see that it roughly recovers the 2D uniform distribution.

+

+

+ Figure 2. Uniform Sample +

+
+

MNIST Example

+
+

Data preparation

+

To download the MNIST data, one can use the following commands:

+
$cd data/
+$./get_mnist_data.sh
+
+
+
+
+

Model description

+

Following the DC-Gan paper (https://arxiv.org/abs/1511.06434), we use convolution/convolution-transpose layer in the discriminator/generator network to better deal with images. The details of the network structures are defined in gan_conf_image.py.

+
+
+

Training the model

+

To train the GAN model on mnist data, one can use the following command:

+
$python gan_trainer.py -d mnist --useGpu 1
+
+
+

The generated sample images can be found at ./mnist_samples/ and one example is shown below as Figure 3. +

+

+ Figure 3. MNIST Sample +

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/tutorials/image_classification/index_en.html b/release/0.10.0/doc/tutorials/image_classification/index_en.html new file mode 100644 index 0000000000..854d1b9f4d --- /dev/null +++ b/release/0.10.0/doc/tutorials/image_classification/index_en.html @@ -0,0 +1,432 @@ + + + + + + + + + + + Image Classification Tutorial — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Image Classification Tutorial
  • +
+
+ +
+
+
+
+ +
+

Image Classification Tutorial

+

This tutorial will guide you through training a convolutional neural network to classify objects using the CIFAR-10 image classification dataset. +As shown in the following figure, the convolutional neural network can recognize the main object in images, and output the classification result.

+

Image Classification

+
+

Data Preparation

+

First, download CIFAR-10 dataset. CIFAR-10 dataset can be downloaded from its official website.

+

https://www.cs.toronto.edu/~kriz/cifar.html

+

We have prepared a script to download and process CIFAR-10 dataset. The script will download CIFAR-10 dataset from the official dataset. +It will convert it to jpeg images and organize them into a directory with the required structure for the tutorial. Make sure that you have installed pillow and its dependents. +Consider the following commands:

+
    +
  1. install pillow dependents
  2. +
+
sudo apt-get install libjpeg-dev
+pip install pillow
+
+
+
    +
  1. download data and preparation
  2. +
+
cd demo/image_classification/data/
+sh download_cifar.sh
+
+
+

The CIFAR-10 dataset consists of 60000 32x32 color images in 10 classes, with 6000 images per class. There are 50000 training images and 10000 test images.

+

Here are the classes in the dataset, as well as 10 random images from each: +

Image Classification

+

After downloading and converting, we should find a directory (cifar-out) containing the dataset in the following format:

+
train
+---airplane
+---automobile
+---bird
+---cat
+---deer
+---dog
+---frog
+---horse
+---ship
+---truck
+test
+---airplane
+---automobile
+---bird
+---cat
+---deer
+---dog
+---frog
+---horse
+---ship
+---truck
+
+
+

It has two directories:train and test. These two directories contain training data and testing data of CIFAR-10, respectively. Each of these two folders contains 10 sub-folders, ranging from airplane to truck. Each sub-folder contains images with the corresponding label. After the images are organized into this structure, we are ready to train an image classification model.

+
+
+

Preprocess

+

After the data has been downloaded, it needs to be pre-processed into the Paddle format. We can run the following command for preprocessing.

+
cd demo/image_classification/
+sh preprocess.sh
+
+
+

preprocess.sh calls ./demo/image_classification/preprocess.py to preprocess image data.

+
export PYTHONPATH=$PYTHONPATH:../../
+data_dir=./data/cifar-out
+python preprocess.py -i $data_dir -s 32 -c 1
+
+
+

./demo/image_classification/preprocess.py has the following arguments

+
    +
  • -i or --input specifes the input data directory.
  • +
  • -s or --size specifies the processed size of images.
  • +
  • -c or --color specifes whether images are color images or gray images.
  • +
+
+
+

Model Training

+

We need to create a model config file before training the model. An example of the config file (vgg_16_cifar.py) is listed below. Note, it is slightly different from the vgg_16_cifar.py which also applies to the prediction.

+
from paddle.trainer_config_helpers import *
+data_dir='data/cifar-out/batches/'
+meta_path=data_dir+'batches.meta'
+args = {'meta':meta_path, 'mean_img_size': 32,
+        'img_size': 32, 'num_classes': 10,
+        'use_jpeg': 1, 'color': "color"}
+define_py_data_sources2(train_list=data_dir+"train.list",
+                        test_list=data_dir+'test.list',
+                        module='image_provider',
+                        obj='processData',
+                        args=args)
+settings(
+    batch_size = 128,
+    learning_rate = 0.1 / 128.0,
+    learning_method = MomentumOptimizer(0.9),
+    regularization = L2Regularization(0.0005 * 128))
+
+img = data_layer(name='image', size=3*32*32)
+lbl = data_layer(name="label", size=10)
+# small_vgg is predined in trainer_config_helpers.network
+predict = small_vgg(input_image=img, num_channels=3)
+outputs(classification_cost(input=predict, label=lbl))
+
+
+

The first line imports python functions for defining networks.

+
from paddle.trainer_config_helpers import *
+
+
+

Then define an define_py_data_sources2 which use python data provider +interface. The arguments in args are used in image_provider.py which +yeilds image data and transform them to Paddle.

+
    +
  • meta: the mean value of training set.
  • +
  • mean_img_size: the size of mean feature map.
  • +
  • img_size: the height and width of input image.
  • +
  • num_classes: the number of classes.
  • +
  • use_jpeg: the data storage type when preprocessing.
  • +
  • color: specify color image.
  • +
+

settings specifies the training algorithm. In the following example, +it specifies learning rate as 0.1, but divided by batch size, and the weight decay +is 0.0005 and multiplied by batch size.

+
settings(
+    batch_size = 128,
+    learning_rate = 0.1 / 128.0,
+    learning_method = MomentumOptimizer(0.9),
+    regularization = L2Regularization(0.0005 * 128)
+)
+
+
+

The small_vgg specifies the network. We use a small version of VGG convolutional network as our network +for classification. A description of VGG network can be found here http://www.robots.ox.ac.uk/~vgg/research/very_deep/.

+
# small_vgg is predined in trainer_config_helpers.network
+predict = small_vgg(input_image=img, num_channels=3)
+
+
+

After writing the config, we can train the model by running the script train.sh.

+
config=vgg_16_cifar.py
+output=./cifar_vgg_model
+log=train.log
+
+paddle train \
+--config=$config \
+--dot_period=10 \
+--log_period=100 \
+--test_all_data_in_one_period=1 \
+--use_gpu=1 \
+--save_dir=$output \
+2>&1 | tee $log
+
+python -m paddle.utils.plotcurve -i $log > plot.png
+
+
+
    +
  • Here we use GPU mode to train. If you have no gpu environment, just set use_gpu=0.
  • +
  • ./demo/image_classification/vgg_16_cifar.py is the network and data configuration file. The meaning of the other flags can be found in the documentation of the command line flags.
  • +
  • The script plotcurve.py requires the python module of matplotlib, so if it fails, maybe you need to install matplotlib.
  • +
+

After training finishes, the training and testing error curves will be saved to plot.png using plotcurve.py script. An example of the plot is shown below:

+

Training and testing curves.

+
+
+

Prediction

+

After we train the model, the model file as well as the model parameters are stored in path ./cifar_vgg_model/pass-%05d. For example, the model of the 300-th pass is stored at ./cifar_vgg_model/pass-00299.

+

To make a prediction for an image, one can run predict.sh as follows. The script will output the label of the classfiication.

+
sh predict.sh
+
+
+

predict.sh:

+
model=cifar_vgg_model/pass-00299/
+image=data/cifar-out/test/airplane/seaplane_s_000978.png
+use_gpu=1
+python prediction.py $model $image $use_gpu
+
+
+
+
+

Exercise

+

Train a image classification of birds using VGG model and CUB-200 dataset. The birds dataset can be downloaded here. It contains an image dataset with photos of 200 bird species (mostly North American).

+

http://www.vision.caltech.edu/visipedia/CUB-200.html

+
+
+

Delve into Details

+
+

Convolutional Neural Network

+

A Convolutional Neural Network is a feedforward neural network that uses convolution layers. It is very suitable for building neural networks that process and understand images. A standard convolutional neural network is shown below:

+

Convolutional Neural Network

+

Convolutional Neural Network contains the following layers:

+
    +
  • Convolutional layer: It uses convolution operation to extract features from an image or a feature map.
  • +
  • Pooling layer: It uses max-pooling to downsample feature maps.
  • +
  • Fully Connected layer: It uses fully connected connections to transform features.
  • +
+

Convolutional Neural Network achieves amazing performance for image classification because it exploits two important characteristics of images: local correlation and spatial invariance. By iteratively applying convolution and max-pooing operations, convolutional neural network can well represent these two characteristics of images.

+

For more details of how to define layers and their connections, please refer to the documentation of layers.

+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/tutorials/imagenet_model/resnet_model_en.html b/release/0.10.0/doc/tutorials/imagenet_model/resnet_model_en.html new file mode 100644 index 0000000000..85a8e7cb3e --- /dev/null +++ b/release/0.10.0/doc/tutorials/imagenet_model/resnet_model_en.html @@ -0,0 +1,492 @@ + + + + + + + + + + + Model Zoo - ImageNet — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Model Zoo - ImageNet
  • +
+
+ +
+
+
+
+ +
+

Model Zoo - ImageNet

+

ImageNet is a popular dataset for generic object classification. This tutorial provides convolutional neural network(CNN) models for ImageNet.

+
+

ResNet Introduction

+

ResNets from paper Deep Residual Learning for Image Recognition won the 1st place on the ILSVRC 2015 classification task. They present residual learning framework to ease the training of networks that are substantially deeper than those used previously. The residual connections are shown in following figure. The left building block is used in network of 34 layers and the right bottleneck building block is used in network of 50, 101, 152 layers .

+

resnet_block
+
Figure 1. ResNet Block

+

We present three ResNet models, which are converted from the models provided by the authors https://github.com/KaimingHe/deep-residual-networks. The classfication errors tested in PaddlePaddle on 50,000 ILSVRC validation set with input images channel order of BGR by single scale with the shorter side of 256 and single crop as following table. +

+ +++++ + + + + + + + + + + + + + + + + + + + + + + +
ResNetTop-1Model Size
ResNet-5024.9%99M
ResNet-10123.7%173M
ResNet-15223.2%234M
+
+
+

ResNet Model

+

See demo/model_zoo/resnet/resnet.py. This config contains network of 50, 101 and 152 layers. You can specify layer number by adding argument like --config_args=layer_num=50 in command line arguments.

+
+

Network Visualization

+

You can get a diagram of ResNet network by running the following commands. The script generates dot file and then converts dot file to PNG file, which needs to install graphviz to convert.

+
cd demo/model_zoo/resnet
+./net_diagram.sh
+
+
+
+
+

Model Download

+
cd demo/model_zoo/resnet
+./get_model.sh
+
+
+

You can run above command to download all models and mean file and save them in demo/model_zoo/resnet/model if downloading successfully.

+
mean_meta_224  resnet_101  resnet_152  resnet_50
+
+
+
    +
  • resnet_50: model of 50 layers.
  • +
  • resnet_101: model of 101 layers.
  • +
  • resnet_152: model of 152 layers.
  • +
  • mean_meta_224: mean file with 3 x 224 x 224 size in BGR order. You also can use three mean values: 103.939, 116.779, 123.68.
  • +
+
+
+

Parameter Info

+
    +
  • Convolution Layer Weight

    +

    As batch normalization layer is connected after each convolution layer, there is no parameter of bias and only one weight in this layer. +shape: (Co, ky, kx, Ci)

    +
      +
    • Co: channle number of output feature map.
    • +
    • ky: filter size in vertical direction.
    • +
    • kx: filter size in horizontal direction.
    • +
    • Ci: channle number of input feature map.
    • +
    +

    2-Dim matrix: (Co * ky * kx, Ci), saved in row-major order.

    +
  • +
  • Fully connected Layer Weight

    +

    2-Dim matrix: (input layer size, this layer size), saved in row-major order.

    +
  • +
  • Batch Normalization Layer Weight

    +
  • +
+

There are four parameters in this layer. In fact, only .w0 and .wbias are the learned parameters. The other two are therunning mean and variance respectively. They will be loaded in testing. Following table shows parameters of a batch normzalization layer. +

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Parameter NameNumberMeaning
_res2_1_branch1_bn.w0256gamma, scale parameter
_res2_1_branch1_bn.w1256mean value of feature map
_res2_1_branch1_bn.w2256variance of feature map
_res2_1_branch1_bn.wbias256beta, shift parameter
+
+
+

Parameter Observation

+

Users who want to observe the parameters can use Python to read:

+
import sys
+import numpy as np
+
+def load(file_name):
+    with open(file_name, 'rb') as f:
+        f.read(16) # skip header for float type.
+        return np.fromfile(f, dtype=np.float32)
+
+if __name__=='__main__':
+    weight = load(sys.argv[1])
+
+
+

or simply use following shell command:

+
od -j 16 -f _res2_1_branch1_bn.w0
+
+
+
+
+
+

Feature Extraction

+

We provide both C++ and Python interfaces to extract features. The following examples use data in demo/model_zoo/resnet/example to show the extracting process in detail.

+
+

C++ Interface

+

First, specify image data list in define_py_data_sources2 in the config, see example demo/model_zoo/resnet/resnet.py.

+
    train_list = 'train.list' if not is_test else None
+    # mean.meta is mean file of ImageNet dataset.
+    # mean.meta size : 3 x 224 x 224.
+    # If you use three mean value, set like:
+    # "mean_value:103.939,116.779,123.68;"
+    args={
+        'mean_meta': "model/mean_meta_224/mean.meta",
+        'image_size': 224, 'crop_size': 224,
+        'color': True,'swap_channel:': [2, 1, 0]}
+    define_py_data_sources2(train_list,
+                           'example/test.list',
+                           module="example.image_list_provider",
+                           obj="processData",
+                           args=args)
+
+
+

Second, specify layers to extract features in Outputs() of resnet.py. For example,

+
Outputs("res5_3_branch2c_conv", "res5_3_branch2c_bn")
+
+
+

Third, specify model path and output directory in extract_fea_c++.sh, and then run the following commands.

+
cd demo/model_zoo/resnet
+./extract_fea_c++.sh
+
+
+

If successful, features are saved in fea_output/rank-00000 as follows. And you can use load_feature_c interface in load_feature.py to load such a file.

+
-0.115318 -0.108358 ... -0.087884;-1.27664 ... -1.11516 -2.59123;
+-0.126383 -0.116248 ... -0.00534909;-1.42593 ... -1.04501 -1.40769;
+
+
+
    +
  • Each line stores features of a sample. Here, the first line stores features of example/dog.jpg and second line stores features of example/cat.jpg.
  • +
  • Features of different layers are splitted by ;, and their order is consistent with the layer order in Outputs(). Here, the left features are res5_3_branch2c_conv layer and right features are res5_3_branch2c_bn layer.
  • +
+
+
+

Python Interface

+

demo/model_zoo/resnet/classify.py is an example to show how to use Python to extract features. Following example still uses data of ./example/test.list. Command is as follows:

+
cd demo/model_zoo/resnet
+./extract_fea_py.sh
+
+
+

extract_fea_py.sh:

+
python classify.py \
+     --job=extract \
+     --conf=resnet.py\
+     --use_gpu=1 \
+     --mean=model/mean_meta_224/mean.meta \
+     --model=model/resnet_50 \
+     --data=./example/test.list \
+     --output_layer="res5_3_branch2c_conv,res5_3_branch2c_bn" \
+     --output_dir=features
+
+
+
    +
  • --job=extract: specify job mode to extract feature.
  • +
  • --conf=resnet.py: network configure.
  • +
  • --use_gpu=1: speficy GPU mode.
  • +
  • --model=model/resnet_5: model path.
  • +
  • --data=./example/test.list: data list.
  • +
  • --output_layer=”xxx,xxx”: specify layers to extract features.
  • +
  • --output_dir=features: output diretcoty.
  • +
+

If run successfully, you will see features saved in features/batch_0, this file is produced with cPickle. You can use load_feature_py interface in load_feature.py to open the file, and it returns a dictionary as follows:

+
{
+'cat.jpg': {'res5_3_branch2c_conv': array([[-0.12638293, -0.116248  , -0.11883899, ..., -0.00895038, 0.01994277, -0.00534909]], dtype=float32), 'res5_3_branch2c_bn': array([[-1.42593431, -1.28918779, -1.32414699, ..., -1.45933616, -1.04501402, -1.40769434]], dtype=float32)},
+'dog.jpg': {'res5_3_branch2c_conv': array([[-0.11531784, -0.10835785, -0.08809858, ...,0.0055237, 0.01505112, -0.08788397]], dtype=float32), 'res5_3_branch2c_bn': array([[-1.27663755, -1.18272924, -0.90937918, ..., -1.25178063, -1.11515927, -2.59122872]], dtype=float32)}
+}
+
+
+

Observed carefully, these feature values are consistent with the above results extracted by C++ interface.

+
+
+
+

Prediction

+

classify.py also can be used to predict. We provide an example script predict.sh to predict data in example/test.list using a ResNet model with 50 layers.

+
cd demo/model_zoo/resnet
+./predict.sh
+
+
+

predict.sh calls the classify.py:

+
python classify.py \
+     --job=predict \
+     --conf=resnet.py\
+     --multi_crop \
+     --model=model/resnet_50 \
+     --use_gpu=1 \
+     --data=./example/test.list
+
+
+
    +
  • --job=extract: speficy job mode to predict.
  • +
  • --conf=resnet.py: network configure.
  • +
  • --multi_crop: use 10 crops and average predicting probability.
  • +
  • --use_gpu=1: speficy GPU mode.
  • +
  • --model=model/resnet_50: model path.
  • +
  • --data=./example/test.list: data list.
  • +
+

If run successfully, you will see following results, where 156 and 285 are labels of the images.

+
Label of example/dog.jpg is: 156
+Label of example/cat.jpg is: 282
+
+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/tutorials/index_en.html b/release/0.10.0/doc/tutorials/index_en.html new file mode 100644 index 0000000000..e44145f43c --- /dev/null +++ b/release/0.10.0/doc/tutorials/index_en.html @@ -0,0 +1,259 @@ + + + + + + + + + + + TUTORIALS — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • TUTORIALS
  • +
+
+ +
+
+
+
+ + + + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/tutorials/quick_start/index_en.html b/release/0.10.0/doc/tutorials/quick_start/index_en.html new file mode 100644 index 0000000000..7136215114 --- /dev/null +++ b/release/0.10.0/doc/tutorials/quick_start/index_en.html @@ -0,0 +1,733 @@ + + + + + + + + + + + Quick Start — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Quick Start
  • +
+
+ +
+
+
+
+ +
+

Quick Start

+

This tutorial will teach the basics of deep learning (DL), including how to implement many different models in PaddlePaddle. You will learn how to:

+
    +
  • Prepare data into the standardized format that PaddlePaddle accepts.
  • +
  • Write data providers that read data into PaddlePaddle.
  • +
  • Configure neural networks in PaddlePaddle layer by layer.
  • +
  • Train models.
  • +
  • Perform inference with trained models.
  • +
+
+

Install

+

To get started, please install PaddlePaddle on your computer. Throughout this tutorial, you will learn by implementing different DL models for text classification.

+

To install PaddlePaddle, please follow the instructions here: Build and Install.

+
+
+

Overview

+

For the first step, you will use PaddlePaddle to build a text classification system. For example, suppose you run an e-commence website, and you want to analyze the sentiment of user reviews to evaluate product quality.

+

For example, given the input

+
This monitor is fantastic.
+
+
+

Your classifier should output “positive”, since this text snippet shows that the user is satisfied with the product. Given this input:

+
The monitor breaks down two months after purchase.
+
+
+

the classifier should output “negative“.

+

To build your text classification system, your code will need to perform five steps: +

+
    +
  • Preprocess data into a standardized format.
  • +
  • Provide data to the learning model.
  • +
  • Specify the neural network structure.
  • +
  • Train the model.
  • +
  • Inference (make prediction on test examples).
  • +
+
    +
  1. Preprocess data into standardized format
      +
    • In the text classification example, you will start with a text file with one training example per line. Each line contains category id (in machine learning, often denoted the target y), followed by the input text (often denoted x); these two elements are separated by a Tab. For example: positive [tab] This monitor is fantastic. You will preprocess this raw data into a format that Paddle can use.
    • +
    +
  2. +
  3. Provide data to the learning model.
      +
    • You can write data providers in Python. For any required data preprocessing step, you can add the preprocessing code to the PyDataProvider Python file.
    • +
    • In our text classification example, every word or character will be converted into an integer id, specified in a dictionary file. It perform a dictionary lookup in PyDataProvider to get the id.
    • +
    +
  4. +
  5. Specify neural network structure. (From easy to hard, we provide 4 kinds of network configurations)
      +
    • A logistic regression model.
    • +
    • A word embedding model.
    • +
    • A convolutional neural network model.
    • +
    • A sequential recurrent neural network model.
    • +
    • You will also learn different learning algorithms.
    • +
    +
  6. +
  7. Training model.
  8. +
  9. Inference.
  10. +
+
+
+

Preprocess data into standardized format

+

In this example, you are going to use Amazon electronic product review dataset to build a bunch of deep neural network models for text classification. Each text in this dataset is a product review. This dataset has two categories: “positive” and “negative”. Positive means the reviewer likes the product, while negative means the reviewer does not like the product.

+

demo/quick_start in the source code provides script for downloading the preprocessed data as shown below. (If you want to process the raw data, you can use the script demo/quick_start/data/proc_from_raw_data/get_data.sh).

+
cd demo/quick_start
+./data/get_data.sh
+
+
+
+
+

Transfer Data to Model

+
+

Write Data Provider with Python

+

The following dataprovider_bow.py gives a complete example of writing data provider with Python. It includes the following parts:

+
    +
  • initalizer: define the additional meta-data of the data provider and the types of the input data.
  • +
  • process: Each yield returns a data sample. In this case, it return the text representation and category id. The order of features in the returned result needs to be consistent with the definition of the input types in initalizer.
  • +
+
from paddle.trainer.PyDataProvider2 import *
+
+# id of the word not in dictionary
+UNK_IDX = 0
+
+# initializer is called by the framework during initialization.
+# It allows the user to describe the data types and setup the
+# necessary data structure for later use.
+# `settings` is an object. initializer need to properly fill settings.input_types.
+# initializer can also store other data structures needed to be used at process().
+# In this example, dictionary is stored in settings.
+# `dictionay` and `kwargs` are arguments passed from trainer_config.lr.py
+def initializer(settings, dictionary, **kwargs):
+    # Put the word dictionary into settings
+    settings.word_dict = dictionary
+
+    # setting.input_types specifies what the data types the data provider
+    # generates.
+    settings.input_types = [
+        # The first input is a sparse_binary_vector,
+        # which means each dimension of the vector is either 0 or 1. It is the
+        # bag-of-words (BOW) representation of the texts.
+        sparse_binary_vector(len(dictionary)),
+        # The second input is an integer. It represents the category id of the
+        # sample. 2 means there are two labels in the dataset.
+        # (1 for positive and 0 for negative)
+        integer_value(2)]
+
+# Delaring a data provider. It has an initializer 'data_initialzer'.
+# It will cache the generated data of the first pass in memory, so that
+# during later pass, no on-the-fly data generation will be needed.
+# `setting` is the same object used by initializer()
+# `file_name` is the name of a file listed train_list or test_list file given
+# to define_py_data_sources2(). See trainer_config.lr.py.
+@provider(init_hook=initializer, cache=CacheType.CACHE_PASS_IN_MEM)
+def process(settings, file_name):
+    # Open the input data file.
+    with open(file_name, 'r') as f:
+        # Read each line.
+        for line in f:
+            # Each line contains the label and text of the comment, separated by \t.
+            label, comment = line.strip().split('\t')
+
+            # Split the words into a list.
+            words = comment.split()
+
+            # convert the words into a list of ids by looking them up in word_dict.
+            word_vector = [settings.word_dict.get(w, UNK_IDX) for w in words]
+
+            # Return the features for the current comment. The first is a list
+            # of ids representing a 0-1 binary sparse vector of the text,
+            # the second is the integer id of the label.
+            yield word_vector, int(label)
+
+
+
+
+

Define Python Data Provider in Configuration files.

+

You need to add a data provider definition define_py_data_sources2 in our network configuration. This definition specifies:

+
    +
  • The path of the training and testing data (data/train.list, data/test.list).
  • +
  • The location of the data provider file (dataprovider_bow).
  • +
  • The function to call to get data. (process).
  • +
  • Additional arguments or data. Here it passes the path of word dictionary.
  • +
+
from paddle.trainer_config_helpers import *
+
+file = "data/dict.txt"
+word_dict = dict()
+with open(dict_file, 'r') as f:
+    for i, line in enumerate(f):
+        w = line.strip().split()[0]
+        word_dict[w] = i
+# define the data sources for the model.
+# We need to use different process for training and prediction.
+# For training, the input data includes both word IDs and labels.
+# For prediction, the input data only includs word Ids.
+define_py_data_sources2(train_list='data/train.list',
+                        test_list='data/test.list',
+                        module="dataprovider_bow",
+                        obj="process",
+                        args={"dictionary": word_dict})
+
+
+

You can refer to the following link for more detailed examples and data formats: PyDataProvider2.

+
+
+
+

Network Architecture

+

We will describe four kinds of network architectures in this section. +

+

First, you will build a logistic regression model. Later, you will also get chance to build other more powerful network architectures. +For more detailed documentation, you could refer to: layer documentation. All configuration files are in demo/quick_start directory.

+
+

Logistic Regression

+

The architecture is illustrated in the following picture: +

+
    +
  • You need define the data for text features. The size of the data layer is the number of words in the dictionary.
  • +
+
word = data_layer(name="word",  size=voc_dim)
+
+
+
    +
  • You also need to define the category id for each example. The size of the data layer is the number of labels.
  • +
+
label = data_layer(name="label", size=label_dim)
+
+
+
    +
  • It uses logistic regression model to classify the vector, and it will output the classification error during training.
      +
    • Each layer has an input argument that specifies its input layer. Some layers can have multiple input layers. You can use a list of the input layers as input in that case.
    • +
    • size for each layer means the number of neurons of the layer.
    • +
    • act_type means activation function applied to the output of each neuron independently.
    • +
    • Some layers can have additional special inputs. For example, classification_cost needs ground truth label as input to compute classification loss and error.
    • +
    +
  • +
+
# Define a fully connected layer with logistic activation (also called softmax activation).
+output = fc_layer(input=word,
+                  size=label_dim,
+                  act_type=SoftmaxActivation())
+# Define cross-entropy classification loss and error.
+classification_cost(input=output, label=label)
+
+
+

Performance summary: You can refer to the training and testing scripts later. In order to compare different network architectures, the model complexity and test classification error are listed in the following table:

+

+

+ + + + + + + + + + + +
Network nameNumber of parametersTest error
Logistic regression252 KB8.652%
+ +
+
+

Word Embedding Model

+

In order to use the word embedding model, you need to change the data provider a little bit to make the input words as a sequence of word IDs. The revised data provider dataprovider_emb.py is listed below. You only need to change initializer() for the type of the first input. It is changed from sparse_binary_vector to sequence of intergers. process() remains the same. This data provider can also be used for later sequence models.

+
def initializer(settings, dictionary, **kwargs):
+    # Put the word dictionary into settings
+    settings.word_dict = dictionary
+    settings.input_types = [
+        # Define the type of the first input as a sequence of integers.
+        integer_value_sequence(len(dictionary)),
+        # Define the second input for label id
+        integer_value(2)]
+
+@provider(init_hook=initializer)
+def process(settings, file_name):
+    ...
+    # omitted, it is same as the data provider for LR model
+
+
+

This model is very similar to the framework of logistic regression, but it uses word embedding vectors instead of a sparse vectors to represent words. +

+
    +
  • It can look up the dense word embedding vector in the dictionary (its words embedding vector is word_dim). The input is a sequence of N words, the output is N word_dim dimensional vectors.
  • +
+
emb = embedding_layer(input=word, dim=word_dim)
+
+
+
    +
  • It averages all the word embedding in a sentence to get its sentence representation.
  • +
+
avg = pooling_layer(input=emb, pooling_type=AvgPooling())
+
+
+

The other parts of the model are the same as logistic regression network.

+

The performance is summarized in the following table:

+

+

+ + + + + + + + + + + +
Network nameNumber of parametersTest error
Word embedding model15 MB8.484%
+
+
+
+

Convolutional Neural Network Model

+

Convolutional neural network converts a sequence of word embeddings into a sentence representation using temporal convolutions. You will transform the fully connected layer of the word embedding model to 3 new sub-steps. +

+

Text convolution has 3 steps:

+
    +
  1. Get K nearest neighbor context of each word in a sentence, stack them into a 2D vector representation.
  2. +
  3. Apply temporal convolution to this representation to produce a new hidden_dim dimensional vector.
  4. +
  5. Apply max-pooling to the new vectors at all the time steps in a sentence to get a sentence representation.
  6. +
+
# context_len means convolution kernel size.
+# context_start means the start of the convolution. It can be negative. In that case, zero padding is applied.
+text_conv = sequence_conv_pool(input=emb,
+                               context_start=k,
+                               context_len=2 * k + 1)
+
+
+

The performance is summarized in the following table:

+

+

+ + + + + + + + + + + +
Network nameNumber of parametersTest error
Convolutional model16 MB5.628%
+
+
+

Recurrent Model

+

+

You can use Recurrent neural network as our time sequence model, including simple RNN model, GRU model, and LSTM model。

+
    +
  • GRU model can be specified via:
  • +
+
gru = simple_gru(input=emb, size=gru_size)
+
+
+
    +
  • LSTM model can be specified via:
  • +
+
lstm = simple_lstm(input=emb, size=lstm_size)
+
+
+

You can use single layer LSTM model with Dropout for our text classification problem. The performance is summarized in the following table:

+

+

+ + + + + + + + + + + +
Network nameNumber of parametersTest error
Recurrent model16 MB4.812%
+ +
+
+
+

Optimization Algorithm

+

Optimization algorithms include Momentum, RMSProp, AdaDelta, AdaGrad, Adam, and Adamax. You can use Adam optimization method here, with L2 regularization and gradient clipping, because Adam has been proved to work very well for training recurrent neural network.

+
settings(batch_size=128,
+         learning_rate=2e-3,
+         learning_method=AdamOptimizer(),
+         regularization=L2Regularization(8e-4),
+         gradient_clipping_threshold=25)
+
+
+
+
+

Training Model

+

After completing data preparation and network architecture specification, you will run the training script. +

+

Training script: our training script is in train.sh file. The training arguments are listed below:

+
paddle train \
+--config=trainer_config.py \
+--log_period=20 \
+--save_dir=./output \
+--num_passes=15 \
+--use_gpu=false
+
+
+

We do not provide examples on how to train on clusters here. If you want to train on clusters, please follow the distributed training documentation or other demos for more details.

+
+
+

Inference

+

You can use the trained model to perform prediction on the dataset with no labels. You can also evaluate the model on dataset with labels to obtain its test accuracy. +

+

The test script is listed below. PaddlePaddle can evaluate a model on the data with labels specified in test.list.

+
paddle train \
+--config=trainer_config.lstm.py \
+--use_gpu=false \
+--job=test \
+--init_model_path=./output/pass-0000x
+
+
+

We will give an example of performing prediction using Recurrent model on a dataset with no labels. You can refer to Python Prediction API tutorial,or other demo for the prediction process using Python. You can also use the following script for inference or evaluation.

+

inference script (predict.sh):

+
model="output/pass-00003"
+paddle train \
+    --config=trainer_config.lstm.py \
+    --use_gpu=false \
+    --job=test \
+    --init_model_path=$model \
+    --config_args=is_predict=1 \
+    --predict_output_dir=. \
+
+mv rank-00000 result.txt
+
+
+

User can choose the best model base on the training log instead of model output/pass-00003. There are several differences between training and inference network configurations.

+
    +
  • You do not need labels during inference.
  • +
  • Outputs need to be specified to the classification probability layer (the output of softmax layer), or the id of maximum probability (max_id layer). An example to output the id and probability is given in the code snippet.
  • +
  • batch_size = 1.
  • +
  • You need to specify the location of test_list in the test data.
  • +
+

The results in result.txt is as follows, each line is one sample.

+
predicted_label_id;probability_of_label_0 probability_of_label_1  # the first sample
+predicted_label_id;probability_of_label_0 probability_of_label_1  # the second sample
+
+
+
is_predict = get_config_arg('is_predict', bool, False)
+trn = 'data/train.list' if not is_predict else None
+tst = 'data/test.list' if not is_predict else 'data/pred.list'
+obj = 'process' if not is_predict else 'process_pre'
+batch_size = 128 if not is_predict else 1
+if is_predict:
+    maxid = maxid_layer(output)
+    outputs([maxid,output])
+else:
+    label = data_layer(name="label", size=2)
+    cls = classification_cost(input=output, label=label) outputs(cls)
+
+
+
+
+

Summary

+

The scripts of data downloading, network configurations, and training scrips are in /demo/quick_start. The following table summarizes the performance of our network architecture on Amazon-Elec dataset(25k):

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Network nameNumber of parametersError rateConfiguration file name
Logistic regression model(BOW) 252KB 8.652%trainer_config.lr.py
Word embedding 15MB 8.484%trainer_config.emb.py
Convolution model 16MB 5.628%trainer_config.cnn.py
Time sequence model 16MB 4.812%trainer_config.lstm.py
+
+
+
+

Appendix

+
+

Command Line Argument

+
    +
  • --config:network architecture path.
  • +
  • --save_dir:model save directory.
  • +
  • --log_period:the logging period per batch.
  • +
  • --num_passes:number of training passes. One pass means the training would go over the whole training dataset once.
  • +
  • --config_args:Other configuration arguments.
  • +
  • --init_model_path:The path of the initial model parameter.
  • +
+

By default, the trainer will save model every pass. You can also specify saving_period_by_batches to set the frequency of batch saving. You can use show_parameter_stats_period to print the statistics of the parameters, which are very useful for tuning parameters. Other command line arguments can be found in command line argument documentation

+
+
+

Log

+
TrainerInternal.cpp:160]  Batch=20 samples=2560 AvgCost=0.628761 CurrentCost=0.628761 Eval: classification_error_evaluator=0.304297  CurrentEval: classification_error_evaluator=0.304297
+
+
+

During model training, you will see the log like the examples above: +

+ + + + + + + + + + + + + + + + + + + + + + + +
NameExplanation
Batch=20 You have trained 20 batches.
samples=2560 You have trained 2560 examples.
AvgCost The average cost from the first batch to the current batch.
CurrentCost the average cost of the last log_period batches
Eval: classification_error_evaluator The average classification error from the first batch to the current batch.
CurrentEval: classification_error_evaluator The average error rate of the last log_period batches
+
+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/tutorials/rec/ml_dataset_en.html b/release/0.10.0/doc/tutorials/rec/ml_dataset_en.html new file mode 100644 index 0000000000..f0617fed51 --- /dev/null +++ b/release/0.10.0/doc/tutorials/rec/ml_dataset_en.html @@ -0,0 +1,342 @@ + + + + + + + + + + + MovieLens Dataset — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • MovieLens Dataset
  • +
+
+ +
+
+
+
+ +
+

MovieLens Dataset

+

The MovieLens Dataset was collected by GroupLens Research. +The data set contains some user information, movie information, and many movie ratings from [1-5]. +The data sets have many version depending on the size of set. +We use MovieLens 1M Dataset as a demo dataset, which contains +1 million ratings from 6000 users on 4000 movies. Released 2/2003.

+
+

Dataset Features

+

In ml-1m Dataset, there are many features in these dataset. +The data files (which have ”.dat” extension) in ml-1m Dataset +is basically CSV file that delimiter is ”::”. The description in README we quote here.

+
+

RATINGS FILE DESCRIPTION(ratings.dat)

+

All ratings are contained in the file “ratings.dat” and are in the +following format:

+

UserID::MovieID::Rating::Timestamp

+
    +
  • UserIDs range between 1 and 6040
  • +
  • MovieIDs range between 1 and 3952
  • +
  • Ratings are made on a 5-star scale (whole-star ratings only)
  • +
  • Timestamp is represented in seconds since the epoch as returned by time(2)
  • +
  • Each user has at least 20 ratings
  • +
+
+
+

USERS FILE DESCRIPTION(users.dat)

+

User information is in the file “users.dat” and is in the following +format:

+

UserID::Gender::Age::Occupation::Zip-code

+

All demographic information is provided voluntarily by the users and is +not checked for accuracy. Only users who have provided some demographic +information are included in this data set.

+
    +
  • Gender is denoted by a “M” for male and “F” for female
  • +
  • Age is chosen from the following ranges:
      +
    • 1: “Under 18”
    • +
    • 18: “18-24”
    • +
    • 25: “25-34”
    • +
    • 35: “35-44”
    • +
    • 45: “45-49”
    • +
    • 50: “50-55”
    • +
    • 56: “56+”
    • +
    +
  • +
  • Occupation is chosen from the following choices:
      +
    • 0: “other” or not specified
    • +
    • 1: “academic/educator”
    • +
    • 2: “artist”
    • +
    • 3: “clerical/admin”
    • +
    • 4: “college/grad student”
    • +
    • 5: “customer service”
    • +
    • 6: “doctor/health care”
    • +
    • 7: “executive/managerial”
    • +
    • 8: “farmer”
    • +
    • 9: “homemaker”
    • +
    • 10: “K-12 student”
    • +
    • 11: “lawyer”
    • +
    • 12: “programmer”
    • +
    • 13: “retired”
    • +
    • 14: “sales/marketing”
    • +
    • 15: “scientist”
    • +
    • 16: “self-employed”
    • +
    • 17: “technician/engineer”
    • +
    • 18: “tradesman/craftsman”
    • +
    • 19: “unemployed”
    • +
    • 20: “writer”
    • +
    +
  • +
+
+
+

MOVIES FILE DESCRIPTION(movies.dat)

+

Movie information is in the file “movies.dat” and is in the following +format:

+

MovieID::Title::Genres

+
    +
  • Titles are identical to titles provided by the IMDB (including +year of release)
  • +
  • Genres are pipe-separated and are selected from the following genres:
      +
    • Action
    • +
    • Adventure
    • +
    • Animation
    • +
    • Children’s
    • +
    • Comedy
    • +
    • Crime
    • +
    • Documentary
    • +
    • Drama
    • +
    • Fantasy
    • +
    • Film-Noir
    • +
    • Horror
    • +
    • Musical
    • +
    • Mystery
    • +
    • Romance
    • +
    • Sci-Fi
    • +
    • Thriller
    • +
    • War
    • +
    • Western
    • +
    +
  • +
  • Some MovieIDs do not correspond to a movie due to accidental duplicate +entries and/or test entries
  • +
  • Movies are mostly entered by hand, so errors and inconsistencies may exist
  • +
+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/tutorials/rec/ml_regression_en.html b/release/0.10.0/doc/tutorials/rec/ml_regression_en.html new file mode 100644 index 0000000000..42f55c2406 --- /dev/null +++ b/release/0.10.0/doc/tutorials/rec/ml_regression_en.html @@ -0,0 +1,845 @@ + + + + + + + + + + + Regression MovieLens Ratting — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Regression MovieLens Ratting
  • +
+
+ +
+
+
+
+ +
+

Regression MovieLens Ratting

+

Here we demonstrate a Cosine Similarity Regression job in movie lens dataset. +This demo will show how paddle does (word) embedding job, +handles the similarity regression, +the character-level convolutional networks for text, and how does paddle handle +multiple types of inputs. +Note that the model structure is not fine-tuned and just a demo to show how paddle works.

+

YOU ARE WELCOME TO BUILD A BETTER DEMO +BY USING PADDLEPADDLE, AND LET US KNOW TO MAKE THIS DEMO BETTER.

+
+

Data Preparation

+
+

Download and extract dataset

+

We use MovieLens Dataset here. +To download and unzip the dataset, simply run the following commands.

+
cd demo/recommendation/data
+./ml_data.sh
+
+
+

And the directory structure of demo/recommendation/data/ml-1m is:

+
+--ml-1m
+     +--- movies.dat    # movie features
+     +--- ratings.dat   # ratings
+     +--- users.dat     # user features
+     +--- README        # dataset description
+
+
+
+
+

Field config file

+

Field config file is used to specify the fields of the dataset and the file format, +i.e, specific WHAT type it is in each feature file.

+

The field config file of ml-1m shows in demo/recommendation/data/config.json. +It specifics the field types and file names: 1) there are four types of field for user file: id, gender, age and occupation; +2) the filename is “users.dat”, and the delimiter of file is ”::”.

+
{
+  "user": {
+    "file": {
+      "name": "users.dat",
+      "delimiter": "::"
+    },
+    "fields": ["id", "gender", "age", "occupation"]
+  },
+  "movie": {
+    "file": {
+      "name": "movies.dat",
+      "delimiter": "::"
+    },
+    "fields": ["id", "title", "genres"]
+  }
+}
+
+
+
+
+
+

Preprocess Data

+

You need to install python 3rd party libraries. +IT IS HIGHLY RECOMMEND TO USE VIRTUALENV MAKE A CLEAN PYTHON ENVIRONMENT.

+
pip install -r requirements.txt
+
+
+

The general command for preprocessing the dataset is:

+
cd demo/recommendation
+./preprocess.sh
+
+
+

And the detail steps are introduced as follows.

+
+

Extract Movie/User features to python object

+

There are many features in movie or user in movielens 1m dataset. +Each line of rating file just provides a Movie/User id to refer each movie or user. +We process the movie/user feature file first, and pickle the feature (Meta) object as a file.

+
+

Meta config file

+

Meta config file is used to specific HOW to parse each field in dataset. +It could be translated from field config file, or written by hand. +Its file format could be either json or yaml syntax file. Parser will automatically choose the file format by extension name.

+

To convert Field config file to meta config file, just run:

+
cd demo/recommendation/data
+python config_generator.py config.json > meta_config.json
+
+
+

The meta config file shows below:

+
{
+  "meta": {
+    "movie": {
+      "fields": [
+        {
+          "type": "id", 
+          "pos": 0
+        }, 
+        {
+          "regex": {
+            "pattern": "^(.*)\\((\\d+)\\)$", 
+            "group_id": 1, 
+            "strip": true
+          }, 
+          "type": {
+            "seq_type": "sequence", 
+            "name": "embedding"
+          }, 
+          "dict": {
+            "type": "char_based"
+          }, 
+          "name": "title", 
+          "pos": 1
+        }, 
+        {
+          "type": "one_hot_dense", 
+          "dict": {
+            "delimiter": "|", 
+            "type": "split"
+          }, 
+          "name": "genres", 
+          "pos": 2
+        }
+      ], 
+      "file": {
+        "delimiter": "::", 
+        "type": "split", 
+        "name": "movies.dat"
+      }
+    }, 
+    "user": {
+      "fields": [
+        {
+          "type": "id", 
+          "pos": 0
+        }, 
+        {
+          "type": "embedding", 
+          "dict": {
+            "type": "char_based"
+          }, 
+          "name": "gender", 
+          "pos": 1
+        }, 
+        {
+          "type": "embedding", 
+          "dict": {
+            "sort": true, 
+            "type": "whole_content"
+          }, 
+          "name": "age", 
+          "pos": 2
+        }, 
+        {
+          "type": "embedding", 
+          "dict": {
+            "sort": "true", 
+            "type": "whole_content"
+          }, 
+          "name": "occupation", 
+          "pos": 3
+        }
+      ], 
+      "file": {
+        "delimiter": "::", 
+        "type": "split", 
+        "name": "users.dat"
+      }
+    }
+  }
+}
+
+
+

There are two kinds of features in meta: movie and user.

+
    +
  • +
    in movie file, whose name is movies.dat
    +
      +
    • we just split each line by ”::”
    • +
    • pos 0 is id.
    • +
    • +
      pos 1 feature:
      +
        +
      • name is title.
      • +
      • it uses regex to parse this feature.
      • +
      • it is a char based word embedding feature.
      • +
      • it is a sequence.
      • +
      +
      +
      +
    • +
    • +
      pos 2 feature:
      +
        +
      • name is genres.
      • +
      • type is one hot dense vector.
      • +
      • dictionary is auto generated by parsing, each key is split by ‘|’
      • +
      +
      +
      +
    • +
    +
    +
    +
  • +
  • +
    in user file, whose name is users.dat
    +
      +
    • we just split each line by ”::”
    • +
    • pos 0 is id.
    • +
    • +
      pos 1 feature:
      +
        +
      • name is gender
      • +
      • just simple char based embedding.
      • +
      +
      +
      +
    • +
    • +
      pos 2 feature:
      +
        +
      • name is age
      • +
      • just whole word embedding.
      • +
      • embedding id will be sort by word.
      • +
      +
      +
      +
    • +
    • +
      pos 3 feature:
      +
        +
      • name is occupation.
      • +
      • just simple whole word embedding.
      • +
      +
      +
      +
    • +
    +
    +
    +
  • +
+
+
+
+

Meta file

+

After having meta config file, we can generate Meta file, a python pickle object which stores movie/user information. +The following commands could be run to generate it.

+
python meta_generator.py ml-1m meta.bin --config=meta_config.json
+
+
+

And the structure of the meta file meta.bin is:

+
+--+ movie
+|      +--+ __meta__
+|      |       +--+ raw_meta  # each feature meta config. list
+|      |       |       +
+|      |       |       |     # ID Field, we use id as key
+|      |       |       +--+ {'count': 3883, 'max': 3952, 'is_key': True, 'type': 'id', 'min': 1}
+|      |       |       |
+|      |       |       |     # Titile field, the dictionary list of embedding.
+|      |       |       +--+ {'dict': [ ... ], 'type': 'embedding', 'name': 'title', 'seq': 'sequence'}
+|      |       |       |
+|      |       |       |     # Genres field, the genres dictionary
+|      |       |       +--+ {'dict': [ ... ], 'type': 'one_hot_dense', 'name': 'genres'}
+|      |       |
+|      |       +--+ feature_map [1, 2] # a list for raw_meta index for feature field.
+|      |                               # it means there are 2 features for each key.
+|      |                               #    * 0 offset of feature is raw_meta[1], Title.
+|      |                               #    * 1 offset of feature is raw_meta[2], Genres.
+|      |
+|      +--+ 1 # movie 1 features
+|      |    +
+|      |    +---+ [[...], [...]] # title ids, genres dense vector
+|      |
+|      +--+ 2
+|      |
+|      +--+ ...
+|
++--- user
+       +--+ __meta__
+       |       +
+       |       +--+ raw_meta
+       |       |       +
+       |       |       +--+ id field as user
+       |       |       |
+       |       |       +--+ {'dict': ['F', 'M'], 'type': 'embedding', 'name': 'gender', 'seq': 'no_sequence'}
+       |       |       |
+       |       |       +--+ {'dict': ['1', '18', '25', '35', '45', '50', '56'], 'type': 'embedding', 'name': 'age', 'seq': 'no_sequence'}
+       |       |       |
+       |       |       +--+ {'dict': [...], 'type': 'embedding', 'name': 'occupation', 'seq': 'no_sequence'}
+       |       |
+       |       +--+ feature_map [1, 2, 3]
+       |
+       +--+ 1 # user 1 features
+       |
+       +--+ 2
+       +--+ ...
+
+
+
+
+

Split Training/Testing files

+

We split ml-1m/ratings.dat into a training and testing file. The way to split file is for each user, we split the +rating by two parts. So each user in testing file will have some rating information in training file.

+

Use separate.py to separate the training and testing file.

+
python split.py ml-1m/ratings.dat --delimiter="::" --test_ratio=0.1
+
+
+

Then two files will be generated: ml-1m/ratings.dat.train and ml-1m/rating.data.test. +Move them to workspace data, shuffle the train file, and prepare the file list for paddle train.

+
shuf ml-1m/ratings.dat.train > ratings.dat.train
+cp ml-1m/ratings.dat.test .
+echo "./data/ratings.dat.train" > train.list
+echo "./data/ratings.dat.test" > test.list
+
+
+
+
+
+

Neural Network Configuration

+
+

Trainer Config File

+

The network structure shows below.

+rec_regression_network +

The demo’s neural network config file trainer_config.py show as below.

+
from paddle.trainer_config_helpers import *
+
+try:
+    import cPickle as pickle
+except ImportError:
+    import pickle
+
+is_predict = get_config_arg('is_predict', bool, False)
+
+META_FILE = 'data/meta.bin'
+
+with open(META_FILE, 'rb') as f:
+    # load meta file
+    meta = pickle.load(f)
+
+settings(
+    batch_size=1600, learning_rate=1e-3, learning_method=RMSPropOptimizer())
+
+
+def construct_feature(name):
+    """
+    Construct movie/user features.
+
+    This method read from meta data. Then convert feature to neural network due
+    to feature type. The map relation as follow.
+
+    * id: embedding => fc
+    * embedding:
+        is_sequence:  embedding => context_projection => fc => pool
+        not sequence: embedding => fc
+    * one_hot_dense:  fc => fc
+
+    Then gather all features vector, and use a fc layer to combined them as
+    return.
+
+    :param name: 'movie' or 'user'
+    :type name: basestring
+    :return: combined feature output
+    :rtype: LayerOutput
+    """
+    __meta__ = meta[name]['__meta__']['raw_meta']
+    fusion = []
+    for each_meta in __meta__:
+        type_name = each_meta['type']
+        slot_name = each_meta.get('name', '%s_id' % name)
+        if type_name == 'id':
+            slot_dim = each_meta['max']
+            embedding = embedding_layer(
+                input=data_layer(
+                    slot_name, size=slot_dim), size=256)
+            fusion.append(fc_layer(input=embedding, size=256))
+        elif type_name == 'embedding':
+            is_seq = each_meta['seq'] == 'sequence'
+            slot_dim = len(each_meta['dict'])
+            din = data_layer(slot_name, slot_dim)
+            embedding = embedding_layer(input=din, size=256)
+            if is_seq:
+                fusion.append(
+                    text_conv_pool(
+                        input=embedding, context_len=5, hidden_size=256))
+            else:
+                fusion.append(fc_layer(input=embedding, size=256))
+        elif type_name == 'one_hot_dense':
+            slot_dim = len(each_meta['dict'])
+            hidden = fc_layer(input=data_layer(slot_name, slot_dim), size=256)
+            fusion.append(fc_layer(input=hidden, size=256))
+
+    return fc_layer(name="%s_fusion" % name, input=fusion, size=256)
+
+
+movie_feature = construct_feature("movie")
+user_feature = construct_feature("user")
+similarity = cos_sim(a=movie_feature, b=user_feature)
+if not is_predict:
+    outputs(mse_cost(input=similarity, label=data_layer('rating', size=1)))
+
+    define_py_data_sources2(
+        'data/train.list',
+        'data/test.list',
+        module='dataprovider',
+        obj='process',
+        args={'meta': meta})
+else:
+    outputs(similarity)
+
+
+

In this trainer_config.py, we just map each feature type to +a feature vector, following shows how to map each feature to a vector shows below.

+
    +
  • id: Just simple embedding, and then add to fully connected layer.
  • +
  • +
    embedding:
    +
      +
    • if is_sequence, get the embedding and do a text convolutional operation, +get the average pooling result.
    • +
    • if not sequence, get the embedding and add to fully connected layer.
    • +
    +
    +
    +
  • +
  • +
    one_host_dense:
    +
      +
    • just two fully connected layer.
    • +
    +
    +
    +
  • +
+

Then we combine each features of movie into one movie feature by a +fc_layer with multiple inputs, and do the same thing to user features, +get one user feature. Then we calculate the cosine similarity of these two +features.

+

In these networks, we use several APIs in Model Config API . There are

+ +
+
+

Data Provider

+
from paddle.trainer.PyDataProvider2 import *
+import common_utils  # parse
+
+
+def __list_to_map__(lst):
+    ret_val = dict()
+    for each in lst:
+        k, v = each
+        ret_val[k] = v
+    return ret_val
+
+
+def hook(settings, meta, **kwargs):
+    """
+    Init hook is invoked before process data. It will set obj.slots and store
+    data meta.
+
+    :param obj: global object. It will passed to process routine.
+    :type obj: object
+    :param meta: the meta file object, which passed from trainer_config. Meta
+                 file record movie/user features.
+    :param kwargs: unused other arguments.
+    """
+    del kwargs  # unused kwargs
+
+    # Header define slots that used for paddle.
+    #    first part is movie features.
+    #    second part is user features.
+    #    final part is rating score.
+    # header is a list of [USE_SEQ_OR_NOT?, SlotType]
+    movie_headers = list(common_utils.meta_to_header(meta, 'movie'))
+    settings.movie_names = [h[0] for h in movie_headers]
+    headers = movie_headers
+    user_headers = list(common_utils.meta_to_header(meta, 'user'))
+    settings.user_names = [h[0] for h in user_headers]
+    headers.extend(user_headers)
+    headers.append(("rating", dense_vector(1)))  # Score
+
+    # slot types.
+    settings.input_types = __list_to_map__(headers)
+    settings.meta = meta
+
+
+@provider(init_hook=hook, cache=CacheType.CACHE_PASS_IN_MEM)
+def process(settings, filename):
+    with open(filename, 'r') as f:
+        for line in f:
+            # Get a rating from file.
+            user_id, movie_id, score = map(int, line.split('::')[:-1])
+
+            # Scale score to [-5, +5]
+            score = float(score) * 2 - 5.0
+
+            # Get movie/user features by movie_id, user_id
+            movie_meta = settings.meta['movie'][movie_id]
+            user_meta = settings.meta['user'][user_id]
+
+            outputs = [('movie_id', movie_id - 1)]
+
+            # Then add movie features
+            for i, each_meta in enumerate(movie_meta):
+                outputs.append((settings.movie_names[i + 1], each_meta))
+
+            # Then add user id.
+            outputs.append(('user_id', user_id - 1))
+
+            # Then add user features.
+            for i, each_meta in enumerate(user_meta):
+                outputs.append((settings.user_names[i + 1], each_meta))
+
+            # Finally, add score
+            outputs.append(('rating', [score]))
+            # Return data to paddle
+            yield __list_to_map__(outputs)
+
+
+

The data provider just read the meta.bin and rating file, yield each sample for training. +In this dataprovider.py, we should set:

+
    +
  • obj.slots: The feature types and dimension.
  • +
  • use_seq: Whether this dataprovider.py in sequence mode or not.
  • +
  • process: Return each sample of data to paddle.
  • +
+

The data provider details document see PyDataProvider2.

+
+
+
+

Train

+

After prepare data, config network, writting data provider, now we can run paddle training.

+

The run.sh is shown as follow:

+
paddle train \
+    --config=trainer_config.py \
+    --save_dir=./output \
+    --use_gpu=false \
+    --trainer_count=4\
+    --test_all_data_in_one_period=true \
+    --log_period=100 \
+    --dot_period=1 \
+    --num_passes=50  2>&1 | tee 'log.txt'
+paddle usage -l log.txt -e $? -n "recommendation" >/dev/null 2>&1
+
+
+

It just start a paddle training process, write the log to log.txt, +then print it on screen.

+

Each command line argument in run.sh, please refer to the Set Command-line Parameters page. The short description of these arguments is shown as follow.

+
    +
  • config: Tell paddle which file is neural network configuration.
  • +
  • save_dir: Tell paddle save model into ./output.
  • +
  • use_gpu: Use gpu or not. Default is false.
  • +
  • trainer_count: The compute thread in one machine.
  • +
  • test_all_data_in_one_period: Test All Data during one test period. Otherwise, +will test a batch_size data in one test period.
  • +
  • log_period: Print log after train log_period batches.
  • +
  • dot_period: Print a . after train dot_period batches.
  • +
  • num_passes: Train at most num_passes.
  • +
+

If training process starts successfully, the output likes follow:

+
I0601 08:07:22.832059 10549 TrainerInternal.cpp:157]  Batch=100 samples=160000 AvgCost=4.13494 CurrentCost=4.13494 Eval:  CurrentEval:
+
+I0601 08:07:50.672627 10549 TrainerInternal.cpp:157]  Batch=200 samples=320000 AvgCost=3.80957 CurrentCost=3.48421 Eval:  CurrentEval:
+
+I0601 08:08:18.877369 10549 TrainerInternal.cpp:157]  Batch=300 samples=480000 AvgCost=3.68145 CurrentCost=3.42519 Eval:  CurrentEval:
+
+I0601 08:08:46.863963 10549 TrainerInternal.cpp:157]  Batch=400 samples=640000 AvgCost=3.6007 CurrentCost=3.35847 Eval:  CurrentEval:
+
+I0601 08:09:15.413025 10549 TrainerInternal.cpp:157]  Batch=500 samples=800000 AvgCost=3.54811 CurrentCost=3.33773 Eval:  CurrentEval:
+I0601 08:09:36.058670 10549 TrainerInternal.cpp:181]  Pass=0 Batch=565 samples=902826 AvgCost=3.52368 Eval:
+I0601 08:09:46.215489 10549 Tester.cpp:101]  Test samples=97383 cost=3.32155 Eval:
+I0601 08:09:46.215966 10549 GradientMachine.cpp:132] Saving parameters to ./output/model/pass-00000
+I0601 08:09:46.233397 10549 ParamUtil.cpp:99] save dir ./output/model/pass-00000
+I0601 08:09:46.233438 10549 Util.cpp:209] copy trainer_config.py to ./output/model/pass-00000
+I0601 08:09:46.233541 10549 ParamUtil.cpp:147] fileName trainer_config.py
+
+
+

The model is saved in output/ directory. You can use Ctrl-C to stop training whenever you want.

+
+
+

Evaluate and Predict

+

After training several passes, you can evaluate them and get the best pass. Just run

+
./evaluate.sh
+
+
+

You will see messages like this:

+
Best pass is 00009,  error is 3.06949, which means predict get error as 0.875998002281
+evaluating from pass output/pass-00009
+
+
+

Then, you can predict what any user will rate a movie. Just run

+
python prediction.py 'output/pass-00009/'
+
+
+

Predictor will read user input, and predict scores. It has a command-line user interface as follows:

+
Input movie_id: 9
+Input user_id: 4
+Prediction Score is 2.56
+Input movie_id: 8
+Input user_id: 2
+Prediction Score is 3.13
+
+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/tutorials/semantic_role_labeling/index_en.html b/release/0.10.0/doc/tutorials/semantic_role_labeling/index_en.html new file mode 100644 index 0000000000..8a1a9d5b66 --- /dev/null +++ b/release/0.10.0/doc/tutorials/semantic_role_labeling/index_en.html @@ -0,0 +1,432 @@ + + + + + + + + + + + Semantic Role labeling Tutorial — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Semantic Role labeling Tutorial
  • +
+
+ +
+
+
+
+ +
+

Semantic Role labeling Tutorial

+

Semantic role labeling (SRL) is a form of shallow semantic parsing whose goal is to discover the predicate-argument structure of each predicate in a given input sentence. SRL is useful as an intermediate step in a wide range of natural language processing tasks, such as information extraction. automatic document categorization and question answering. An instance is as following [1]:

+

[ A0 He ] [ AM-MOD would ][ AM-NEG n’t ] [ V accept] [ A1 anything of value ] from [A2 those he was writing about ].

+
    +
  • V: verb
  • +
  • A0: acceptor
  • +
  • A1: thing accepted
  • +
  • A2: accepted-from
  • +
  • A3: Attribute
  • +
  • AM-MOD: modal
  • +
  • AM-NEG: negation
  • +
+

Given the verb “accept”, the chunks in sentence would play certain semantic roles. Here, the label scheme is from Penn Proposition Bank.

+

To this date, most of the successful SRL systems are built on top of some form of parsing results where pre-defined feature templates over the syntactic structure are used. This tutorial will present an end-to-end system using deep bidirectional long short-term memory (DB-LSTM)[2] for solving the SRL task, which largely outperforms the previous state-of-the-art systems. The system regards SRL task as the sequence labelling problem.

+
+

Data Description

+

The relevant paper[2] takes the data set in CoNLL-2005&2012 Shared Task for training and testing. Accordingto data license, the demo adopts the test data set of CoNLL-2005, which can be reached on website.

+

To download and process the original data, user just need to execute the following command:

+
cd data
+./get_data.sh
+
+
+

Several new files appear in the datadirectory as follows.

+
conll05st-release:the test data set of CoNll-2005 shared task 
+test.wsj.words:the Wall Street Journal data sentences
+test.wsj.props:  the propositional arguments
+feature: the extracted features from data set
+
+
+
+
+

Training

+
+

DB-LSTM

+

Please refer to the Sentiment Analysis demo to learn more about the long short-term memory unit.

+

Unlike Bidirectional-LSTM that used in Sentiment Analysis demo, the DB-LSTM adopts another way to stack LSTM layer. First a standard LSTM processes the sequence in forward direction. The input and output of this LSTM layer are taken by the next LSTM layer as input, processed in reversed direction. These two standard LSTM layers compose a pair of LSTM. Then we stack LSTM layers pair after pair to obtain the deep LSTM model.

+

The following figure shows a temporal expanded 2-layer DB-LSTM network. +

+pic +

+
+
+

Features

+

Two input features play an essential role in this pipeline: predicate (pred) and argument (argu). Two other features: predicate context (ctx-p) and region mark (mr) are also adopted. Because a single predicate word can not exactly describe the predicate information, especially when the same words appear more than one times in a sentence. With the predicate context, the ambiguity can be largely eliminated. Similarly, we use region mark mr = 1 to denote the argument position if it locates in the predicate context region, or mr = 0 if does not. These four simple features are all we need for our SRL system. Features of one sample with context size set to 1 is showed as following[2]: +

+pic +

+

In this sample, the coresponding labelled sentence is:

+

[ A1 A record date ] has [ AM-NEG n’t ] been [ V set ] .

+

In the demo, we adopt the feature template as above, consists of : argument, predicate, ctx-p (p=-1,0,1), mark and use B/I/O scheme to label each argument. These features and labels are stored in feature file, and separated by \t.

+
+
+

Data Provider

+

dataprovider.py is the python file to wrap data. hook() function is to define the data slots for network. The Six features and label are all IndexSlots.

+
def hook(settings, word_dict, label_dict, **kwargs):
+    settings.word_dict = word_dict
+    settings.label_dict = label_dict
+    #all inputs are integral and sequential type
+    settings.slots = [
+        integer_value_sequence(len(word_dict)),
+        integer_value_sequence(len(predicate_dict)),
+        integer_value_sequence(len(word_dict)),
+        integer_value_sequence(len(word_dict)),
+        integer_value_sequence(len(word_dict)),
+        integer_value_sequence(len(word_dict)),
+        integer_value_sequence(len(word_dict)),
+        integer_value_sequence(2),
+        integer_value_sequence(len(label_dict))]
+
+
+

The corresponding data iterator is as following:

+
@provider(init_hook=hook, should_shuffle=True, calc_batch_size=get_batch_size,
+          can_over_batch_size=False, cache=CacheType.CACHE_PASS_IN_MEM)
+def process(settings, file_name):
+    with open(file_name, 'r') as fdata:
+        for line in fdata:
+            sentence, predicate, ctx_n2, ctx_n1, ctx_0, ctx_p1, ctx_p2,  mark, label = \
+                line.strip().split('\t')
+
+            words = sentence.split()
+            sen_len = len(words)
+            word_slot = [settings.word_dict.get(w, UNK_IDX) for w in words]
+
+            predicate_slot = [settings.predicate_dict.get(predicate)] * sen_len
+            ctx_n2_slot = [settings.word_dict.get(ctx_n2, UNK_IDX)] * sen_len
+            ctx_n1_slot = [settings.word_dict.get(ctx_n1, UNK_IDX)] * sen_len
+            ctx_0_slot = [settings.word_dict.get(ctx_0, UNK_IDX)] * sen_len
+            ctx_p1_slot = [settings.word_dict.get(ctx_p1, UNK_IDX)] * sen_len
+            ctx_p2_slot = [settings.word_dict.get(ctx_p2, UNK_IDX)] * sen_len
+
+            marks = mark.split()
+            mark_slot = [int(w) for w in marks]
+
+            label_list = label.split()
+            label_slot = [settings.label_dict.get(w) for w in label_list]
+            yield word_slot, predicate_slot, ctx_n2_slot, ctx_n1_slot, \
+                  ctx_0_slot, ctx_p1_slot, ctx_p2_slot, mark_slot, label_slot
+
+
+

The processfunction yield 9 lists which are 8 features and label.

+
+
+

Neural Network Config

+

db_lstm.py is the neural network config file to load the dictionaries and define the data provider module and network architecture during the training procedure.

+

Nine data_layer load instances from data provider. Eight features are transformed into embedddings respectively, and mixed by mixed_layer . Deep bidirectional LSTM layers extract features for the softmax layer. The objective function is cross entropy of labels.

+
+
+

Run Training

+

The script for training is train.sh, user just need to execute:

+
  ./train.sh
+
+
+

The content in train.sh:

+
paddle train \
+  --config=./db_lstm.py \
+  --use_gpu=0 \
+  --log_period=5000 \
+  --trainer_count=1 \
+  --show_parameter_stats_period=5000 \
+  --save_dir=./output \
+  --num_passes=10000 \
+  --average_test_period=10000000 \
+  --init_model_path=./data \
+  --load_missing_parameter_strategy=rand \
+  --test_all_data_in_one_period=1 \
+2>&1 | tee 'train.log'
+
+
+
    +
  • --config=./db_lstm.py : network config file.
  • +
  • --use_gpu=false: use CPU to train, set true, if you install GPU version of PaddlePaddle and want to use GPU to train, until now crf_layer do not support GPU
  • +
  • --log_period=500: print log every 20 batches.
  • +
  • --trainer_count=1: set thread number (or GPU count).
  • +
  • --show_parameter_stats_period=5000: show parameter statistic every 100 batches.
  • +
  • --save_dir=./output: output path to save models.
  • +
  • --num_passes=10000: set pass number, one pass in PaddlePaddle means training all samples in dataset one time.
  • +
  • --average_test_period=10000000: do test on average parameter every average_test_period batches
  • +
  • --init_model_path=./data: parameter initialization path
  • +
  • --load_missing_parameter_strategy=rand: random initialization unexisted parameters
  • +
  • --test_all_data_in_one_period=1: test all data in one period
  • +
+

After training, the models will be saved in directory output. Our training curve is as following: +

+pic +

+
+
+

Run testing

+

The script for testing is test.sh, user just need to execute:

+
  ./test.sh
+
+
+

The main part in tesh.sh

+
paddle train \
+  --config=./db_lstm.py \
+  --model_list=$model_list \
+  --job=test \
+  --config_args=is_test=1 \
+
+
+
    +
  • --config=./db_lstm.py: network config file
  • +
  • --model_list=$model_list.list: model list file
  • +
  • --job=test: indicate the test job
  • +
  • --config_args=is_test=1: flag to indicate test
  • +
  • --test_all_data_in_one_period=1: test all data in 1 period
  • +
+
+
+

Run prediction

+

The script for prediction is predict.sh, user just need to execute:

+
  ./predict.sh
+  
+
+
+

In predict.sh, user should offer the network config file, model path, label file, word dictionary file, feature file

+
python predict.py 
+     -c $config_file \
+     -w $best_model_path \
+     -l $label_file \
+     -p $predicate_dict_file  \
+     -d $dict_file \
+     -i $input_file \
+     -o $output_file
+
+
+

predict.py is the main executable python script, which includes functions: load model, load data, data prediction. The network model will output the probability distribution of labels. In the demo, we take the label with maximum probability as result. User can also implement the beam search or viterbi decoding upon the probability distribution matrix.

+

After prediction, the result is saved in predict.res.

+
+
+
+

Reference

+

[1] Martha Palmer, Dan Gildea, and Paul Kingsbury. The Proposition Bank: An Annotated Corpus of Semantic Roles , Computational Linguistics, 31(1), 2005.

+

[2] Zhou, Jie, and Wei Xu. “End-to-end learning of semantic role labeling using recurrent neural networks.” Proceedings of the Annual Meeting of the Association for Computational Linguistics. 2015.

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/tutorials/sentiment_analysis/index_en.html b/release/0.10.0/doc/tutorials/sentiment_analysis/index_en.html new file mode 100644 index 0000000000..86f11ded6f --- /dev/null +++ b/release/0.10.0/doc/tutorials/sentiment_analysis/index_en.html @@ -0,0 +1,544 @@ + + + + + + + + + + + Sentiment Analysis Tutorial — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Sentiment Analysis Tutorial
  • +
+
+ +
+
+
+
+ +
+

Sentiment Analysis Tutorial

+

Sentiment analysis has many applications. A basic task in sentiment analysis is classifying the polarity of a given text at the document, sentence or feature/aspect level. One simple example is to classify the customer reviews in a shopping website, a tourism website, and group buying websites like Amazon, TaoBao, Tmall etc.

+

Sentiment analysis is also used to monitor social media based on large amount of reviews or blogs. For example, the researchers analyzed several surveys on consumer confidence and political opinion, found they correlate to sentiment word frequencies in contemporaneous Twitter messages [1]. Another example is to forecast stock movements through analyzing the text content of a daily Twitter blog [2].

+

On the other hand, grabbing the user comments of products and analyzing their sentiment are useful to understand user preferences for companies, products, even competing products.

+

This tutorial will guide you through the process of training a Long Short Term Memory (LSTM) Network to classify the sentiment of sentences from Large Movie Review Dataset, sometimes known as the Internet Movie Database (IMDB). This dataset contains movie reviews along with their associated binary sentiment polarity labels, namely positive and negative. So randomly guessing yields 50% accuracy.

+
+

Data Preparation

+
+

IMDB Data Introduction

+

Before training models, we need to preprocess the data and build a dictionary. First, you can use following script to download IMDB dataset and Moses tool, which is a statistical machine translation system. We provide a data preprocessing script, which is capable of handling not only IMDB data, but also other user-defined data. In order to use the pre-written script, it needs to move labeled train and test samples to another path, which has been done in get_imdb.sh.

+
cd demo/sentiment/data
+./get_imdb.sh
+
+
+

If the data is obtained successfuly, you will see the following files at ./demo/sentiment/data:

+
aclImdb  get_imdb.sh  imdb  mosesdecoder-master
+
+
+
    +
  • aclImdb: raw dataset downloaded from website.
  • +
  • imdb: only contains train and test data.
  • +
  • mosesdecoder-master: Moses tool.
  • +
+

IMDB dataset contains 25,000 highly polar movie reviews for training, and 25,000 for testing. A negative review has a score ≤ 4 out of 10, and a positive review has a score ≥ 7 out of 10. After running ./get_imdb.sh, we can find the dataset has the following structure in aclImdb.

+
imdbEr.txt  imdb.vocab  README  test  train
+
+
+
    +
  • train: train sets.
  • +
  • test : test sets.
  • +
  • imdb.vocab: dictionary.
  • +
  • imdbEr.txt: expected rating for each token in imdb.vocab.
  • +
  • README: data documentation.
  • +
+

The file in train set directory is as follows. The test set also contains them except unsup and urls_unsup.txt.

+
labeledBow.feat  neg  pos  unsup  unsupBow.feat  urls_neg.txt  urls_pos.txt  urls_unsup.txt
+
+
+
    +
  • pos: positive samples, contains 12,500 txt files, each file is one movie review.
  • +
  • neg: negative samples, contains 12,500 txt files, each file is one movie review.
  • +
  • unsup: unlabeled samples, contains 50,000 txt files.
  • +
  • urls_xx.txt: urls of each reviews.
  • +
  • xxBow.feat: already-tokenized bag of words (BoW) features.
  • +
+
+
+

IMDB Data Preparation

+

In this demo, we only use labled train and test set and not use imdb.vocab as dictionary. By default, dictionary is builded on train set. Train set is shuffled and test set is not. tokenizer.perl in Moses tool is used to tokenize the words and punctuation. Simply execute the following command to preprcess data.

+
cd demo/sentiment/
+./preprocess.sh
+
+
+

preprocess.sh:

+
data_dir="./data/imdb"
+python preprocess.py -i data_dir
+
+
+
    +
  • data_dir: input data directory.
  • +
  • preprocess.py: preprocess script.
  • +
+

If running successfully, you will see demo/sentiment/data/pre-imdb directory as follows:

+
dict.txt  labels.list  test.list  test_part_000  train.list  train_part_000
+
+
+
    +
  • test_part_000 and train_part_000: all labeled test and train sets. Train sets have be shuffled.
  • +
  • train.list and test.list: train and test file lists.
  • +
  • dict.txt: dictionary generated on train sets by default.
  • +
  • labels.txt: neg 0, pos 1, means label 0 is negative review, label 1 is positive review.
  • +
+
+
+

User-defined Data Preparation

+

If you perform other sentiment classifcation task, you can prepare data as follows. We have provided the scripts to build dictionary and preprocess data. So just organize data as follows.

+
dataset
+|----train
+|    |----class1
+|    |    |----text_files
+|    |----class2
+|    |    |----text_files
+|    |    ...
+|----test
+|    |----class1
+|    |    |----text_files
+|    |----class2
+|    |    |----text_files
+|    |    ...
+
+
+
    +
  • dataset: 1st directory.
  • +
  • train, test: 2nd directory.
  • +
  • class1,class2,...: 3rd directory.
  • +
  • text_files: samples with text file format.
  • +
+

All samples with text files format under the same folder are same category. Each text file contains one or more samples and each line is one sample. In order to shuffle fully, the preprocessing is a little different for data with multiple lines in one text file, which needs to set -m True in preprocess.sh. And tokenizer.perl is used by default. If you don’t need it, only set -t False in `preprocess.sh’.

+
+
+
+

Training

+

In this task, we use Recurrent Neural Network (RNN) of LSTM architecure to train sentiment analysis model. LSTM model was introduced primarily in order to overcome the problem of vanishing gradients. LSTM network resembles a standard recurrent neural network with a hidden layer, but each ordinary node in the hidden layer is replaced by a memory cell. Each memory cell contains four main elements: an input gate, a neuron with a self-recurrent connection, a forget gate and an output gate. More details can be found in the literature [4]. The biggest advantage of the LSTM architecture is that it learns to memorize information over long time intervals without the loss of short time memory. At each time step with a new coming word, historical information stored in the memory block is updated to iteratively learn the sequence representation.

+

LSTM
+
Figure 1. LSTM [3]

+

Sentiment analysis is among the most typical problems in natural language understanding. It aims at predicting the attitude expressed in a sequence. Usually, only some key words, like adjectives and adverbs words, play a major role in predicting the sentiment of sequences or paragraphs. However, some review or comment contexts are very long, such as IMDB dataset. We use LSTM to perform this task for its improved design with the gate mechanism. First, it is able to summarize the representation from word level to context level with variable context length which is adapted by the gate values. Second, it can utilize the expanded context at the sentence level, while most methods are good at utilizing n-gram level knowledge. Third, it learns the paragraph representation directly rather than combining the context level information. This results in this end-to-end framework.

+

In this demo we provide two network, namely bidirectional-LSTM and three layers of stacked-LSTM.

+
+

Bidirectional-LSTM

+

One is a bidirectional LSTM network, connected by fully connected layer and softmax, as shown in Figure 2.

+

BiLSTM
+
Figure 2. Bidirectional-LSTM

+
+
+

Stacked-LSTM

+

Another is three-layer LSTM structure in Figure 3. The bottom of the figure is word embedding. Next, three LSTM-Hidden layers are connected and the second LSTM is reversed. Then extract the maximum hidden vectors of all time step of hidden and LSTM layer as the representation for the entire sequence. Finally, a fully connected feed forward layer with softmax activation is used to perform the classification task. This network is refered to paper [5].

+

StackedLSTM
+
Figure 3. Stacked-LSTM for sentiment analysis

+

Config

+

Switch into demo/sentiment directory, trainer_config.py file is an example of the config, containing algorithm and newtork configure. The first line imports predefined networks from sentiment_net.py.

+

trainer_config.py:

+
from sentiment_net import *
+
+data_dir  = "./data/pre-imdb"
+# whether this config is used for test
+is_test = get_config_arg('is_test', bool, False)
+# whether this config is used for prediction
+is_predict = get_config_arg('is_predict', bool, False)
+dict_dim, class_dim = sentiment_data(data_dir, is_test, is_predict)
+
+################## Algorithm Config #####################
+
+settings(
+  batch_size=128,
+  learning_rate=2e-3,
+  learning_method=AdamOptimizer(),
+  average_window=0.5,
+  regularization=L2Regularization(8e-4),
+  gradient_clipping_threshold=25
+)
+
+#################### Network Config ######################
+stacked_lstm_net(dict_dim, class_dim=class_dim,
+                 stacked_num=3, is_predict=is_predict)
+#bidirectional_lstm_net(dict_dim, class_dim=class_dim, is_predict=is_predict)
+
+
+
    +
  • Data Definition:
      +
    • get_config_arg(): get arguments setted by --config_args=xx in commandline argument.
    • +
    • Define data provider, here using Python interface to load data. For details, you can refer to the document of PyDataProvider2.
    • +
    +
  • +
  • Algorithm Configuration:
      +
    • set batch size of 128.
    • +
    • set global learning rate.
    • +
    • use adam optimization.
    • +
    • set average sgd window.
    • +
    • set L2 regularization.
    • +
    • set gradient clipping threshold.
    • +
    +
  • +
  • Network Configuration:
      +
    • dict_dim: dictionary dimension.
    • +
    • class_dim: category number, IMDB has two label, namely positive and negative label.
    • +
    • stacked_lstm_net: predefined network as shown in Figure 3, use this network by default.
    • +
    • bidirectional_lstm_net: predefined network as shown in Figure 2.
    • +
    +
  • +
+

Training

+

Install PaddlePaddle first if necessary. Then you can use script train.sh as follows to launch local training.

+
cd demo/sentiment/
+./train.sh
+
+
+

train.sh:

+
config=trainer_config.py
+output=./model_output
+paddle train --config=$config \
+             --save_dir=$output \
+             --job=train \
+             --use_gpu=false \
+             --trainer_count=4 \
+             --num_passes=10 \
+             --log_period=20 \
+             --dot_period=20 \
+             --show_parameter_stats_period=100 \
+             --test_all_data_in_one_period=1 \
+             2>&1 | tee 'train.log'
+
+
+
    +
  • --config=$config: set network config.
  • +
  • --save_dir=$output: set output path to save models.
  • +
  • --job=train: set job mode to train.
  • +
  • --use_gpu=false: use CPU to train, set true, if you install GPU version of PaddlePaddle and want to use GPU to train.
  • +
  • --trainer_count=4: set thread number (or GPU count).
  • +
  • --num_passes=15: set pass number, one pass in PaddlePaddle means training all samples in dataset one time.
  • +
  • --log_period=20: print log every 20 batches.
  • +
  • --show_parameter_stats_period=100: show parameter statistic every 100 batches.
  • +
  • --test_all_data_in_one_period=1: test all data every testing.
  • +
+

If the run succeeds, the output log is saved in path of demo/sentiment/train.log and model is saved in path of demo/sentiment/model_output/. The output log is explained as follows.

+
Batch=20 samples=2560 AvgCost=0.681644 CurrentCost=0.681644 Eval: classification_error_evaluator=0.36875  CurrentEval: classification_error_evaluator=0.36875
+...
+Pass=0 Batch=196 samples=25000 AvgCost=0.418964 Eval: classification_error_evaluator=0.1922
+Test samples=24999 cost=0.39297 Eval: classification_error_evaluator=0.149406
+
+
+
    +
  • Batch=xx: means passing xx batches.
  • +
  • samples=xx: means passing xx samples.
  • +
  • AvgCost=xx: averaged cost from 0-th batch to current batch.
  • +
  • CurrentCost=xx: current cost of latest log_period batches.
  • +
  • Eval: classification_error_evaluator=xx: means classfication error from 0-th batch ro current batch.
  • +
  • CurrentEval: classification_error_evaluator: current classfication error of the lates log_period batches.
  • +
  • Pass=0: Going through all training set one time is called one pass. 0 means going through training set first time.
  • +
+

By default, we use the stacked_lstm_net network, which converges at a faster rate than bidirectional_lstm_net when passing same sample number. If you want to use bidirectional LSTM, just remove comment in the last line and comment stacked_lstm_net.

+
+
+
+

Testing

+

Testing means evaluating the labeled validation set using trained model.

+
cd demo/sentiment
+./test.sh
+
+
+

test.sh:

+
function get_best_pass() {
+  cat $1  | grep -Pzo 'Test .*\n.*pass-.*' | \
+  sed  -r 'N;s/Test.* error=([0-9]+\.[0-9]+).*\n.*pass-([0-9]+)/\1 \2/g' | \
+  sort | head -n 1
+}
+
+log=train.log
+LOG=`get_best_pass $log`
+LOG=(${LOG})
+evaluate_pass="model_output/pass-${LOG[1]}"
+
+echo 'evaluating from pass '$evaluate_pass
+
+model_list=./model.list
+touch $model_list | echo $evaluate_pass > $model_list
+net_conf=trainer_config.py
+paddle train --config=$net_conf \
+             --model_list=$model_list \
+             --job=test \
+             --use_gpu=false \
+             --trainer_count=4 \
+             --config_args=is_test=1 \
+             2>&1 | tee 'test.log'
+
+
+

The function get_best_pass gets the best model by classification error rate for testing. In this example, We use test dataset of IMDB as validation by default. Unlike training, it needs to specify --job=test and model path, namely --model_list=$model_list here. If running successfully, the log is saved in path of demo/sentiment/test.log. For example, in our test, the best model is model_output/pass-00002, the classification error is 0.115645 as follows.

+
Pass=0 samples=24999 AvgCost=0.280471 Eval: classification_error_evaluator=0.115645
+
+
+
+
+

Prediction

+

predict.py provides a predicting interface. You should install python api of PaddlePaddle before using it. One example to predict unlabeled review of IMDB is as follows. Simply running:

+
cd demo/sentiment
+./predict.sh
+
+
+

predict.sh:

+
#Note the default model is pass-00002, you shold make sure the model path
+#exists or change the mode path.
+model=model_output/pass-00002/
+config=trainer_config.py
+label=data/pre-imdb/labels.list
+cat ./data/aclImdb/test/pos/10007_10.txt | python predict.py \
+     --tconf=$config\
+     --model=$model \
+     --label=$label \
+     --dict=./data/pre-imdb/dict.txt \
+     --batch_size=1
+
+
+
    +
  • cat ./data/aclImdb/test/pos/10007_10.txt : the input sample.
  • +
  • predict.py : predicting interface.
  • +
  • --tconf=$config : set network configure.
  • +
  • --model=$model : set model path.
  • +
  • --label=$label : set dictionary about corresponding relation between integer label and string label.
  • +
  • --dict=data/pre-imdb/dict.txt : set dictionary.
  • +
  • --batch_size=1 : set batch size.
  • +
+

Note you should make sure the default model path model_output/pass-00002 +exists or change the model path.

+

Predicting result of this example:

+
Loading parameters from model_output/pass-00002/
+./data/aclImdb/test/pos/10014_7.txt: predicting label is pos
+
+
+

We sincerely appreciate your interest and welcome your contributions.

+
+
+

Reference

+

[1] Brendan O’Connor, Ramnath Balasubramanyan, Bryan R. Routledge, and Noah A. Smith. 2010. From Tweets to Polls: Linking Text Sentiment to Public Opinion Time Series. In ICWSM-2010.
+[2] Johan Bollen, Huina Mao, Xiaojun Zeng. 2011. Twitter mood predicts the stock market, Journal of Computational Science.
+[3] Alex Graves, Marcus Liwicki, Santiago Fernan- dez, Roman Bertolami, Horst Bunke, and Ju ̈rgen Schmidhuber. 2009. A novel connectionist system for unconstrained handwriting recognition. IEEE Transactions on Pattern Analysis and Machine In- telligence, 31(5):855–868.
+[4] Zachary C. Lipton, A Critical Review of Recurrent Neural Networks for Sequence Learning, arXiv:1506.00019.
+[5] Jie Zhou and Wei Xu; End-to-end Learning of Semantic Role Labeling Using Recurrent Neural Networks; ACL-IJCNLP 2015.

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc/tutorials/text_generation/index_en.html b/release/0.10.0/doc/tutorials/text_generation/index_en.html new file mode 100644 index 0000000000..6f7d9f54ce --- /dev/null +++ b/release/0.10.0/doc/tutorials/text_generation/index_en.html @@ -0,0 +1,592 @@ + + + + + + + + + + + Text generation Tutorial — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Text generation Tutorial
  • +
+
+ +
+
+
+
+ +
+

Text generation Tutorial

+

Sequence to sequence has been proven to be a powerful model for language generation. It can be used for machine translation, query rewriting, image captioning, etc.

+

This tutorial guides you through training a sequence to sequence model for neural machine translation (NMT) network that translates French to English.

+

We follow the paper Neural Machine Translation by Jointly Learning to Align and Translate , which details the model architecture and training procedure for good performance on WMT-14 dataset. This tutorial reproduces this result in PaddlePaddle.

+

We thank @caoying for the pull request that defines the model architecture and solver configurations.

+
+

Data Preparation

+
+

Download and Extract

+

Download the WMT-14 dataset from http://www-lium.univ-lemans.fr/~schwenk/cslm_joint_paper/, extract it, and divide Develop and Test data into separate folder.

+ +

To do this, simply run the following commands in linux, otherwise, you need to download, extract, divide, and rename the file suffix respectively.

+
cd demo/seqToseq/data
+./wmt14_data.sh
+
+
+

We should find that the dataset wmt14 has three folders as shown in the following table.

+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + +
folder nameFrench-English parallel corpora filenumber of total filesize
train_dataccb2_pc30.src, ccb2_pc30.trg, etctwelve3.55G
test_datantst1213.src, ntst1213.trgtwo1636k
gen_datantst14.src, ntst14.trgtwo864k
+
    +
  • Each folder has French-English parallel corpora
  • +
  • XXX.src are source French files; XXX.trg are target English files.
  • +
  • The number of lines of XXX.src and XXX.trg should be the same.
  • +
  • Each line is a French/English sentence.
  • +
  • There is a one-to-one correspondence between the sentence at the i-th line of XXX.src and XXX.trg.
  • +
+
+
+

User Defined Dataset

+

If you need to do other sequence-to-sequence tasks, such as Paraphrasing, you only need to organize the data as follows, and place them in demo/seqToseq/data:

+
dataset
+  train
+    file1.src file1.trg
+    file2.src file2.trg
+    ......
+  test
+    file1.src file1.trg
+    file2.src file2.trg
+    ......
+  gen
+    file1.src file1.trg
+    file2.src file2.trg
+    ......
+
+
+
    +
  • 1st directory: dataset folder name
  • +
  • 2nd directory: folder of train, test, and gen. The names of these three folders are fixed.
  • +
  • 3rd file: Source-Target parallel corpora files.
      +
    • XXX.src are source files, XXX.trg are target files.
    • +
    • Each line of the file must be a sequence.
    • +
    • There should be a one-to-one correspondence between the i-th sequence of XXX.src and XXX.trg.
    • +
    +
  • +
+
+
+
+

Data Preprocess

+
+

Preprocessing Workflow

+
    +
  • Concat each Source-Target parallel corpora to be one file:
      +
    • concat each XXX.src and XXX.trg to be XXX.
    • +
    • the i-th line of XXX = the i-th line of XXX.src + ‘\t’ + the i-th line of XXX.trg
    • +
    +
  • +
  • Build source and target dictionary of train data, each dictionary has DICTSIZE words:
      +
    • the most frequent (DICTSIZE-3) words
    • +
    • 3 special token:
        +
      • <s>: the start of a sequence
      • +
      • <e>: the end of a sequence
      • +
      • <unk>: a word not included in dictionary
      • +
      +
    • +
    +
  • +
+
+
+

Preprocessing Command and Result

+

The general command for preprocessing the dataset is:

+
cd demo/seqToseq/
+python preprocess.py -i INPUT [-d DICTSIZE] [-m]
+
+
+
    +
  • -i INPUT: the path of input original dataset
  • +
  • -d DICTSIZE: the specified word count of dictionary, if not set, dictionary will contain all the words in input dataset
  • +
  • -m --mergeDict: merge source and target dictionary, thus, two dictionaries have the same context
  • +
+

And you will see messages like this:

+
concat parallel corpora for dataset
+build source dictionary for train data
+build target dictionary for train data
+dictionary size is XXX
+
+
+

Here, you can simply run the command:

+
python preprocess.py -i data/wmt14 -d 30000
+
+
+

It will take several minutes, and store the preprocessed dataset in demo/seqToseq/data/pre-wmt14, the directory has following structure.

+
train test gen train.list test.list gen.list src.dict trg.dict
+
+
+
    +
  • train, test, gen: folder contains French-English parallel corpora of train data, test data and gen data respectively. Each line of file in folder contains two parts, the former is a French sequence, and the latter is a corresponding English sequence.
  • +
  • train.list, test.list, gen.list: text contains a file list in train folder, test folder and gen folder respectively
  • +
  • src.dict, trg.dict: source (French) / target (English) dictionary, each dictionary has 30000 words: the most frequent 29997 words and 3 special token
  • +
+
+
+
+

Model Training

+
+

Introduction

+

Neural machine translation (NMT) aims at building a single neural network that can be jointly tuned to maximize translation performance. Recently proposed NMT models often belong to a family of encoder–decoder models. Encoder-Decoder models encode a source sentence into a fixed-length vector from which a decoder generates a target sentence.

+

In this task, we use an extension to the encoder–decoder model which learns to align and translate jointly. Each time the model generates a word in a translation, it searches for a set of positions in the source sentence for the most relevant information. The decoder predicts a target word based on the context vectors associated with these source positions and all the previous generated target words. For more detailed explanation, readers can refer to paper Neural Machine Translation by Jointly Learning to Align and Translate.

+

The most distinguishing feature of this model is that it doesn’t encode an input sentence into a single fixed-length vector. Instead, it encodes the input sentence into a sequence of vectors, where one vector corresponds to an input element. A subset of these vectors is chosen adaptively while decoding the translated sentence. This frees a NMT model from having to squash all the information of a source sentence, regardless of its length, into a fixed-length vector. The improvement of this model is more apparent for longer sentences, but the improvement can be observed for sentences of any length. +

+
Figure 1. Encoder-Decoder-Attention-Model

+
+
+

Training Model in PaddlePaddle

+

We need to create a model config file before training. Here is an example demo/seqToseq/translation/train.conf. The first three lines import python function for defining network, and define the job_mode and attention_mode.

+
from seqToseq_net import *
+is_generating = False
+
+### Data Definiation
+train_conf = seq_to_seq_data(data_dir = "./data/pre-wmt14",
+                             is_generating = is_generating)
+
+### Algorithm Configuration
+settings(
+    learning_method = AdamOptimizer(),
+    batch_size = 50,
+    learning_rate = 5e-4)
+
+### Network Architecture
+gru_encoder_decoder(train_conf, is_generating)
+
+
+
    +
  1. Data Definiation: We define a SeqToSeq train and test data in our example. It returns train_conf as the configuration, following is its input arguments:
      +
    • data_dir: directory of train data and test data
    • +
    • is_generating: whether this config is used for generating, here is false
    • +
    +
  2. +
  3. Algorithm Configuration: We use the SGD training algorithm (default), ADAM learning method in our example, specify batch_size as 50, and learning rate as 5e-4.
  4. +
  5. Network Architecture: We use an attention version of GRU Encoder-Decoder network in our example. It consists a bidirectional GRU as an encoder and a decoder that emulates searching through a source sentence during decoding a translation.
  6. +
+
+
+

Training Command and Result

+

After writing the model config, we can train the model by running the command:

+
cd demo/seqToseq/translation
+./train.sh
+
+
+

The train.sh is shown as follows:

+
paddle train \
+--config='translation/train.conf' \
+--save_dir='translation/model' \
+--use_gpu=false \
+--num_passes=16 \
+--show_parameter_stats_period=100 \
+--trainer_count=4 \
+--log_period=10 \
+--dot_period=5 \
+2>&1 | tee 'translation/train.log'
+
+
+
    +
  • config: set config of neural network
  • +
  • save_dir: set output path to save models
  • +
  • use_gpu: whether to use GPU to train, here use CPU
  • +
  • num_passes: set number of passes. One pass in paddle means training all samples in dataset one time
  • +
  • show_parameter_stats_period: here show parameter statistic every 100 batches
  • +
  • trainer_count: set number of CPU threads or GPU devices
  • +
  • log_period: here print log every 10 batches
  • +
  • dot_period: here print ‘.’ every 5 batches
  • +
+

The training loss function is printed every 10 batch by default, and you will see messages like this:

+
I0719 19:16:45.952062 15563 TrainerInternal.cpp:160]  Batch=10 samples=500 AvgCost=198.475 CurrentCost=198.475 Eval: classification_error_evaluator=0.737155  CurrentEval: classification_error_evaluator=0.737155
+I0719 19:17:56.707319 15563 TrainerInternal.cpp:160]  Batch=20 samples=1000 AvgCost=157.479 CurrentCost=116.483 Eval: classification_error_evaluator=0.698392  CurrentEval: classification_error_evaluator=0.659065
+.....
+
+
+
    +
  • AvgCost: Average Cost from 0th batch to current batch
  • +
  • CurrentCost: Cost in current batch
  • +
  • classification_error_evaluator(Eval): False prediction rate for each word from 0th evaluation to current evaluation
  • +
  • classification_error_evaluator(CurrentEval): False prediction rate for each word in current evaluation
  • +
+

And when the classification_error_evaluator is less than 0.35, the model is trained sucessfully.

+
+
+
+

Text Generation

+
+

Introduction

+

Generally speaking, the NMT model is conditioned on the encodings of the source sentence, and then to predict the next target word by given the current target word. In the training process, the current word is always knowns as the ground truth, by contrast. In the generating process, the current word is the output of the decoder in last time step, which is accessed to from a memory in PaddlePaddle.

+

Besides, we use Beam Search to generate sequences. Beam search uses breadth-first search to build its search tree. At each level of the tree, it generates all successors of the states at the current level, sorting them in increasing order of heuristic cost. However, it only stores a predetermined number of best states at each level (called the beam size).

+
+
+

Pretrained model

+

We trained the model on a cluster with 50 nodes, each node has two 6-core CPUs. We trained 16 passes in 5 days, where each pass takes 7 hours. The model_dir has 16 sub-folder, each of which contains the whole model parameters with 202MB size. And we find pass-00012 model has the highest BLEU 27.77 (see paper BLEU: a Method for Automatic Evaluation of Machine Translation). To download and extract this model, simply run the following commands in linux.

+
cd demo/seqToseq/data
+./wmt14_model.sh
+
+
+
+
+

Generating Model in PaddlePaddle

+

We need to create a model config file before translating French sequence. Here is an example demo/seqToseq/translation/gen.conf, the first three lines import python function for defining network, and define the job_mode and attention_mode.

+
from seqToseq_net import *
+is_generating = True
+
+################## Data Definiation #####################
+gen_conf = seq_to_seq_data(data_dir = "./data/pre-wmt14",
+                           is_generating = is_generating,
+                           gen_result = "./translation/gen_result")
+
+############## Algorithm Configuration ##################
+settings(
+  learning_method = AdamOptimizer(),
+  batch_size = 1,
+  learning_rate = 0)
+
+################# Network configure #####################
+gru_encoder_decoder(gen_conf, is_generating)
+
+
+
    +
  1. Data Definiation: We defines an SeqToSeq gen data in our example. It returns gen_conf as the configuration, following is its input arguments:
      +
    • data_dir: directory of gen data +  - is_generating: whether this config is used for generating, here is true +  - gen_result: file to store the generation result
    • +
    +
  2. +
  3. Algorithm Configuration: We use SGD traing algorithm in generation, and specify batch_size as 1 (each time generate one sequence), and learning rate as 0.
  4. +
  5. Network Architecture: Essentially the same as the training model.
  6. +
+
+
+

Generating Command and Result

+

After writing the model config, we can do text translation from French to English by running the command:

+
cd demo/seqToseq/translation
+./gen.sh
+
+
+

The gen.sh is shown as follows, unlike training, there are some different arguments to specify:

+
paddle train \
+--job=test \
+--config='translation/gen.conf' \
+--save_dir='data/wmt14_model' \
+--use_gpu=true \
+--num_passes=13 \
+--test_pass=12 \
+--trainer_count=1 \
+2>&1 | tee 'translation/gen.log'
+
+
+
    +
  • job: set job mode to test
  • +
  • save_dir: the path of saved models
  • +
  • num_passes and test_pass: loading model parameters from test_pass to (num_passes - 1), here only loads data/wmt14_model/pass-00012
  • +
+

You will see messages like this:

+
I0706 14:48:31.178915 31441 GradientMachine.cpp:143] Loading parameters from data/wmt14_model/pass-00012
+I0706 14:48:40.012039 31441 Tester.cpp:125]  Batch=100 samples=100 AvgCost=0
+I0706 14:48:48.898632 31441 Tester.cpp:125]  Batch=200 samples=200 AvgCost=0
+...
+
+
+

And the generating result in demo/seqToseq/translation/gen_result likes:

+
0
+0       -11.1314         The <unk> <unk> about the width of the seats while large controls are at stake <e>
+1       -11.1519         The <unk> <unk> on the width of the seats while large controls are at stake <e>
+2       -11.5988         The <unk> <unk> about the width of the seats while large controls are at stake . <e>
+
+1
+0       -24.4149         The dispute is between the major aircraft manufacturers about the width of the tourist seats on the <unk> flights , paving the way for a <unk> confrontation during the month of the Dubai <unk> . <e>
+1       -26.9524         The dispute is between the major aircraft manufacturers about the width of the tourist seats on the <unk> flights , paving the way for a <unk> confrontation during the month of Dubai &apos; s <unk> . <e>
+2       -27.9574         The dispute is between the major aircraft manufacturers about the width of the tourist seats on the <unk> flights , paving the way for a <unk> confrontation during the month of Dubai &apos; s Dubai <unk> . <e>
+...
+
+
+
    +
  • This is the beam search result, where beam size is 3
  • +
  • ‘0’ in 1st-line and ‘1’ in 6th-line mean the sequence-id in gen data
  • +
  • Other six lines list the beam search results
      +
    • The 2nd-column is the score of beam search (from large to small)
    • +
    • The 3rd-colunm is the generating English sequence
    • +
    +
  • +
  • There is 2 special tokens:
      +
    • <e>: the end of a sequence
    • +
    • <unk>: a word not included in dictionary
    • +
    +
  • +
+
+
+

Bleu Evalutaion

+

Human evaluations of machine translation are extensive but expensive. Paper BLEU: a Method for Automatic Evaluation of Machine Translation presents a method as an automated understudy to skilled human judges which substitutes for them when there is need for quick or frequent evaluations. Moses is a statistical machine translation system, and we use multi-bleu.perl of it to do Bleu Evalution. To download this script, simply run the following command:

+
cd demo/seqToseq/translation
+./moses_bleu.sh
+
+
+

Since the standard translation is alrealy downloaded as data/wmt14/gen/ntst14.trg, we can do Bleu Evalution by running the command:

+
cd demo/seqToseq/translation
+./eval_bleu.sh FILE BEAMSIZE
+
+
+
    +
  • FILE: the generation result file
  • +
  • BEAMSIZE: expand width in beam search
  • +
+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/.buildinfo b/release/0.10.0/doc_cn/.buildinfo new file mode 100644 index 0000000000..d538aa8676 --- /dev/null +++ b/release/0.10.0/doc_cn/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: 77720b5585a9b3c3105ba6ebd6b26135 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/release/0.10.0/doc_cn/_images/FullyConnected.jpg b/release/0.10.0/doc_cn/_images/FullyConnected.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b2241f401434e527f95ee4e0e541a3f2ff78fd1e GIT binary patch literal 50847 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_images/NetContinuous_cn.jpg b/release/0.10.0/doc_cn/_images/NetContinuous_cn.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b18e452a481232f47c453fc30521f8c78ad2da0b GIT binary patch literal 35863 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�Y8v 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 PB~PKGoul&k@5BE9MjV9- literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_images/NetLR_cn.jpg b/release/0.10.0/doc_cn/_images/NetLR_cn.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ee65d1f4127a347e991b4de5e5208347b2b0f51f GIT binary patch literal 30320 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_images/NetRNN_cn.jpg b/release/0.10.0/doc_cn/_images/NetRNN_cn.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f8bc081827f3a50af80495b4561813c5efe9c9dc GIT binary patch literal 46358 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_images/PipelineNetwork_cn.jpg b/release/0.10.0/doc_cn/_images/PipelineNetwork_cn.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7e68891d7a536b06027ada6b40cb13dbc3c2d72e GIT binary patch literal 9559 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

QOH86#{YS?rlb&HUB&5_?ud_EcjPr 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 PaT5CJ9~~NWY2*I~P}htv literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_images/bi_lstm.jpg b/release/0.10.0/doc_cn/_images/bi_lstm.jpg new file mode 100644 index 0000000000000000000000000000000000000000..adec1606d64d6e35ffe7e62abfa9a09309b05c84 GIT binary patch literal 35593 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

27#9dk};rh=2o>h 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 z⪚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Ϥ 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%0AvDl#& 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 |L(p)T?x{0(o?~;oEl}*+?>Noo+aAQ|p^+I% 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 qm(2UW_!qx-`}_crd-;V|Loq%O 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_images/curve.jpg b/release/0.10.0/doc_cn/_images/curve.jpg new file mode 100644 index 0000000000000000000000000000000000000000..baa35ae7f0a0b6c246f3a0d331735477ab8bcd70 GIT binary patch literal 53277 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 D@j1Uc literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_images/encoder-decoder-attention-model1.png b/release/0.10.0/doc_cn/_images/encoder-decoder-attention-model1.png new file mode 100644 index 0000000000000000000000000000000000000000..79f911d4ba12ac0c0d1a936c9df639c302786914 GIT binary patch literal 68089 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 D@j1Uc literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_images/feature.jpg b/release/0.10.0/doc_cn/_images/feature.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0e3310e4ace5613917e7779d3198ccbb3cdc5ada GIT binary patch literal 31204 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 + diff --git a/release/0.10.0/doc_cn/_images/graphviz-9be6aad37f57c60f4b971dde0ef44ce27179cf9a.png b/release/0.10.0/doc_cn/_images/graphviz-9be6aad37f57c60f4b971dde0ef44ce27179cf9a.png new file mode 100644 index 0000000000000000000000000000000000000000..55ca643c25832d8065aa210aba221028e54d091f GIT binary patch literal 11618 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 + diff --git a/release/0.10.0/doc_cn/_images/graphviz-def0e483abd6c62214b13e553c3727677a6f0a99.png b/release/0.10.0/doc_cn/_images/graphviz-def0e483abd6c62214b13e553c3727677a6f0a99.png new file mode 100644 index 0000000000000000000000000000000000000000..2d146933cb2d61afde084b8341491433d3bdabcb GIT binary patch literal 23985 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 + diff --git a/release/0.10.0/doc_cn/_images/image_classification.png b/release/0.10.0/doc_cn/_images/image_classification.png new file mode 100644 index 0000000000000000000000000000000000000000..14f255805081c1b4fab27eaf336fd389fa93ca19 GIT binary patch literal 52635 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 Jsg}OC{so6%#ex6; literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_images/k8s-paddle-arch.png b/release/0.10.0/doc_cn/_images/k8s-paddle-arch.png new file mode 100644 index 0000000000000000000000000000000000000000..2183a232ad402b76f82a67234a5c93e13ce97ac3 GIT binary patch literal 513104 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

)>Gs+^~o~fr(AlBct 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

NAYRpF+djrl{|qS*tfI?EFo>bI`xnvJ^u0P8SL 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ⅅgVsMhu0jxm2H&>c_{yY&|HP=wM zv{W}%xjodg(kzly+|;Z_?#4=j<0;nMdeHoTgA~B`o5fHN*>vikD$z41gU|!|N?{jx zLi~m+=?f0%l-5koi5<-?jB5$jHZ=qwmSepiwT&d?$lNAqW1p*{ppC3P+^!t76+i1G zfKgB(!h>RM2vY;ZZ(8C6IkRSGOfAx!XKU&@mnH*OXs>Z1EGo5dQznlV02;tplv){V z8QTY-Xwr1&fZhPR|5J~T4{Fc5@3G_K(c`Dac?b55qX!R+Yc9QDTzBDtaau2`dipo{KU9SS=J`r|fpDVpJH+!|O62=+b44%rb_s4dc(eN>45hoRcRj%_|Mg9s1%W97CT` zWK}Cm#bNh?0Fh&_UU=U7;A7*~`;U#wFFk);bL3o}Nz2J&D{m^4$mPalocqM{i3c7U zfBUAp<-U9TXD_^byx@`p<2V~$=_M|;NQ)e)7kv)p>{`+*nd^AN9A&f>Hg2(Wa1s}d zjLb8CY$W3%*uDm+pHU@C<9hzER;1%*HA=H}hzrctI-9xk;5V)r!n(;#HjY$ij#2YB zZ?d>cbD|r!yJmtAvdkY{FAKX`MIqz^?E{>8=`Whw9}o6LGrg^~u$MV-Ag5|)M|an8 zPO6r75Qyy341xzye*>=UA;gZSbUH`i%ZSwyCoazeji&6m#OoZesqGt_whpj5wXFCc z35*sGe+0@h$(8J2Gk?{W$Mtb=$I&VMBs1H>O}9&BiS(^Wjn-@d@FW_xthu(p3s2?I zGgUMu720CAO3YAG8+aY3cGU!*ZH_74m`t}%PZ)0f*gfN?-hA8mC+~f*JgdvW!{Z0P z?m6R6ecq+xi1t{vpQ5Zr_ZDtjtc%vlt}eZ;YmNfht~0CVWA{8f?s)jrxb})ejKmF4946EAtjxaxwvev&uesBqTORHL$X zYT5bDpxMdmga$%-X4=;_^V(S7&q{l1uJk5JHNx<8_c@}b7B9RdGvxEWFc3>uGXwUx z6++Z978I%1R08e3&w(p0GjyATYhF4TscChxT!Rur(+K%GHH~eW0qP)a-@l2BX4rOJ zb8tJ3lWBAzf`<-lj8|RPPHpdO#L0-;51$G|ECKTPpL|AQE?&GnUe6ct9hRnJ!xOH# zDCI|tLv-T0_Dx>Hq}R#7r`{MGZH=T=&maQA$5^Ak`pyDZ^5QjSSIvoE>ne-hT%x6e z{2F|!s583o>4DPZaw|}|qKg4F32hjJb6mzLqbxZ>sWT0|5Zrgpsqv1R?;Jnz=8uk_ z{qUoOS}qqo^V0D{U-|6u_0Kyx_DhiGN5O<|vMPhV)@zO=9)plOt+_BnS$K&*Ic~k{ z(Q)tbF`j$n1>>T9dNYi?fPGK{n04q4vYNJ~p@H)T+TPPA#@jx4`}kMy{nQw@9UOn+ z#TSnwe8R(T-bVStsn#S?Q(fm^9rOUmr@rk3P7yfT5OXYOE|9pHmFxwwNh1+C>57Sy zjie+FTaP<=u>ol-nx{lLh}u@?FgwnExJ*wNf%;b_g_C6S{_BgvvF!JC?kH$+pj zkvnMyH^+<)F)L4}qOq<8@MLJsAhGPAd8hd^R->5-VARp1)#SH`ti$up=oP^KyRO4M z;>}S+9z)vHW7!`fcWoHa8d^y}L4Iw!#^eBW#n zq6VeixM{F;3>sDpiL3l_pc6ljoLZau-ITNWjGGREDlAQ(v*tQj{sb)uxiD>AbDd)g zy%pl~twCH_Qi~-I3Az?on{Ox0U~?pXt=V{=7VcWU8!-st8_t4H$vWSL-5tII=?I`M zOOE)KzSoeAvZ;uKEwo_^WBkbLKQvx){YB%8F5Wxz zfr(UD3&m5yNeA-1=d2S{d)8T+P|Qmr2P=ksfS=5u2a>&dKl@F;`=Rl}Z@zE**kAgh z@wHbU(CayUHexPJjSH~yvel5Dv5}h>f*!t3C-hD1#;dOwfAve%zUZQH$-%uE69LQm zg2r6tF_EigdJBTBwbfO9Z*g%gc^&RZ$8Z8-8rl(R{NiIQMTD^qOzZW9c|CudS@0Ie z4w|QL1q*j#qHm=^hS-*X^`3#XYew6L!ihQCeXfH#E3?L|?7GjHd#S-T&GOskQ&`uU zxB8sFG`AM6&0F8XJO_(?$+1kC-~O_Lti*es+zFdEY88y0*L`K_8fL|kMTbKaOuUbH z!y60jxSgb63(i*afUEDh8@yp?UqQn&&*AnyCtG83e}{KMO_%(!En0fbc6`UA8p<(; zu;?___ljB++O^ZJVTVq{aDcJVjx@c|6rgbi=frsS3-j&|+%f*}zx<$$&wch~<2zsW zjB&X>4RQR*C-o-M1LN<$^%LWJfBU@g@@E|xH=MU;JULTnY~qEQ`PyG@`tgg`S*3!FBUCjOQPe6fCzmCl=PExvkKNCA*BEik zL*&#s-<2}2WO&;9oCu*^l#ro%a!9@XPHmuk?kupg-{;^K=c-tfH?Dck-khq$NV{}x zinSY`%_7{?ynvmnDb#5`+nc)-#6~9pJ8NFJfe{0)dAqVk`5r4a1FMW)B%NnjuU={* z-Q*I^!gTT#<`tQ3&DE}G)ceuX+bkeaoNHf%Cxq1f1Pnmj@ywoQUP#p9GD?y)s4N>9 zSG=@=fzKMyRGoNo{K8Ei%8S9nN5?<>rWcH_x&Fw|o65! zYQ$m9d;F0r-qGO&qDcJ&hmTzGBShO$Mc>T47;;YK=i{J!4C^F1W#>idsS~Gsqw_mG ze2ie9FdSU>slQkJjLIJ^ke!cvL3rG+uv9Dg!ST)KIJ=eHT%U3A;qmQXed9Q#JaUf{ zd={(PXcmcdD@x|$`FXy0q(N%>g|CZ79uXXn){}ZwY3-P#L(ebGi$3O)pTdYj%swTr zwDMwfpK@FBoD3Nqr;88bX{;8q`X$v;+!g}Oj%FBjEY0wmDuhO4>S`{UH?rm5Y0WLn z=H{fa^jN3YiK54%fEnx2sjZGMu>H_A5G83+P#>j5th_Lt+2K01E#SKj9rgEwAx#rWZGc<%VZ zs}A}}6J*DZT|U0_x{JooeDGoIgW({WIvh}+eSv!!LhkeZ+Vf6%&qEKY#3Fm=C63?M zVLxJv;dgf6IquJeg5~4!*-we(_ZivC@<%AL=P}xI^+bogIWp_XXc}B_263cZIb^6F5CfoN&oL0NwG|`I0CnkFn8Cy$n~`d)+aXh68DYx7 zs975voRf`IE>VhQZ(>8d^F9{_&iKtFxYtIp)7jYPI*-sEMubGC+c9vS;{iK0$2!Bv zr~81z<#K~|BJiw7J4ppL9)QPO8R5f(O#&H<-NnnL5AN-U?$-;xdNKIgS6nxK;H$11 zFS&Sso>z(Mu@_uEzUaE6;}<`9TE9yeZb*54!^hkBRF!T+%j$iQ=Rw$_JkNRDla{?g zvd=kA`vlMVc=|}6V=vDWwXfv&7WaA|<9XjHJ*YSP8|C8pUD>d0?)y?2Kvdht4as zxOmQaO8T?+h8wNKGgdYIJdgp9ThyME@S*^O4&nPg!Q!^Aem++aU>vjS$@R)LXS~&{ z`JcSP<~~qP`I6shCub^92~-bjYar%K6O=i&X_hkCz!@`z%0>hyCQOZt&nP_M-m2LO zLb8))2NG)nop#k+HL7&|e8_T4k{l7Q^WrGYQ?}7v2=+h6R7E&%*EByMJ7#&%nRr>LcSCeSn+|WUur- z`skD6?H{>sJb2D|<2BbF9haTQ)22P+&buEPH|h5!pZA<+jO)%lJ>GNs{o@^XJ~~dG zvv)k_%A?~|&pN7i*EL>kEG!0Yc%IFD^zKK-`#%1u@u3Hvl;fOn^`(c$%da^)t~q)@ zKT)lB>oq^O-u~ct*L}yvD{j1GocrkG<5zFKcieky&v?aiFB`A9>U=*zWQ{TJnLqf` zv#Czg!u(-t1AVO%8%>n??sa3>OrYM(MGRQ8+1|VzYZ(}c*WquJOV<*76VNIe1MAch z@y#KD1CEpSZklIMSemOhIH!OYGJWl=S>v-WX^06=i|BrP%pys3&ls!`A{L%m=fq)# zi5_`oE$LSZysIWOI)qd}mDQH;xH&Zk8C!YQozjJ7goq&`QVX(9eS{URY|*jMg#%R7 z`V7boxH=+N&!5ACU*~FMVrMUC*OC~HRjm1IKf_!QqPxyPmxJ(`R5pEi44BhRNRXSHAk$<4g2n@PuykCn{#I_J9{$f5rH3pLy9hN6&_M z(}_2UP73qkPd+@}d*{RB!w(+w6THjx`_(UC&$~>&V=Zp5yx4mDu_wk&H{Ul-U3hrB z>gq$|-cLTHJ@27$-xDXt#TQ;MUZoeD&%NZ_u}4oZ?h@xM_kC)-N59v@@ow!!2OocY zJbCQoc;*#H$MY{bS6k1iapwb%jgQ>>=(zcw$Hs$CoEQhrJ$Kxo+%LKE@VG+Bd9uY5 zulpW+B>U&VL)!C>jKlkRa&mfnNaKF@{l~QjT{mqh3V5 z`sxeDp?X5qHRg%YBig@i(LVp4yB?PQQ{(WV^TrFWIx=3Yk9i%|_YmG>BkyDSeazp! z<-W03Z^FIo@`K~%+wL8|_3=l>MHd|zU!^w{uQ{ZjgE9}y-oL@3`jjrqZeLu3PRN zzY6Tg(eanQ?Ar0Niw=w@^gGkX>Sf;k1N+CTUU1EL$qo8FYCT)!?=0-oW_j$1W8)S* zAA7gQ-2JKXyV7{! z#Ye|0uR7#6+)kc2G2V0AedG3Hd&jG9xOnV+?2++S?RmF7aBLhpbnbZZvo0Dhzw(ft zcjiSM0bm{L)y=ykEIv8<7- zp74s)%fhF2D^JDOqMThxVD-U3p3bu9t`6o4 z^a0w(32ZQH%>g6`c#Z_lKKFWc6032l4=X3TIPq9%vL7S!r?s6UIvgW_G3xXjEqN;1 zzzU5iK^lzzs0^-5Y=Kr6KT*U_nqp4kFmax(G;HBrC%>~`fFe2peZ-b1zM1;nC?LX6 zoPDRb;q*jB&~eq3u-wJ-3f<{@D+?zxDJ- zzT~;%fBcGT#+B#l&eDsfNA=|BpZ(N($1mk5Kf4ptHYa?jy_*>up`Qvpj zym)-%w!6kRz5X_PuQ;@4{N%6crzkJvDx-Y(VJnPX1 z$3K2&UVt{`%U=E5@z4IyHRE!P;RNr!Ys_!{y^oC7{d}}FF4rUD$N%C>##dZ($RD%i z$=h$d?f1uDfA{0#8^7r4@yL7c7{8>Cw{x8P`2O*ZE6yK>^|9C!OpsT)>Z*n3siN$d zWumW(8?>>xPrK%s#pneIE-M~yY!y(@@Pd|r^W_$LS1!7**c?2 z&uQK!oHb51(m0jwlUZlknl3Wvsij!bx33~MEJg~K8YgVx-Jp6jN@Ll=iUt`<2*`Cd z@|zd4+k}#Aj{sxlMd2Mzs&yDTmNL1ck zCrNN6Zt2TFe$SZ*tltt7L)dA(P}_6j*!casA27{zFS~xc`pSd4_wp`r|77=+_6MFw z@s~#V1O#t{@y-8DZ@YDT_b=U10yZyy`5QiOeAg?VF^(vw;C@l|?LYhbW9ZGU|N8nv zzyAM|K)G;dyIR=rTVDWkG|pk6Z>u7@CD=VeDQ&C z)BEojf9$97aj)sD##g@PIpc49)pg_QbM=!r<-X&t`^TUAHy=>$YsYVWi=H^?E&nI< zQP|&j>-)wJzxT=UU%dAEaq=U#kAHoeHulx=y03f5_^YqEd>qog$s1vO8scvKI>A4E z<2%QXec;#%ndUct+4INueZ@1!m3qOc*U;m>2Ob{Z!I+>WS;JD;2}mweZk zj_VKWMXR3wNun2*=Sbz9v#bVf)(-Q<(f2khh)2NFJ8{OY?rnIQ#d*|YojvuQQQQj3 zdRAY&=F2VaMDEwqT_YC)&VafA!HAmU5``lVH1IXP? zLcNjUwA!QC=Sm+Q+Qe}yVD5oiXWTZkCwO#dwmk@J3Cx)>^WfuvbI%Z@YtfCwLDUC4 zj?_67hjQ=HT%LOJv2l~$Sm*f0FSusBRIj9X zv!48O&(rrWK1Frj0e#v*`yoF~d*tCq$Itxw2gVP*?LNnDp7xFZ_1j)L{-mC>>Ce#k z4fBuQao_l^*MD%_@Y1Ws*I#gQ{OE7-w;NW+HCK&a{?;4E^AC;j%fI+LG9KUk;`QwmYEI#(=@$oZ1@$T_26!;gv`ug#~-?(l3ntoq#ef;1zzjA!% zi}h&=je(DZ^2rT;xBPGa>vxVf?C`7Q-~UHHZ+yqgFB_NW2Of7l^7!~$|N6b-9hV&% zf95%d$4~sHPfY5)M~{vd=vNR<=z9q-nlgW^oj|x`{%G)($!7j%kG10iFZT4;&tb5( zeR2~=hp%Pfn8O&;6t@iPeGWF34_>%=OkVm;jRTawio+%%IZAU4vSn=4BCzC<=BKqc zN7;`1+=gcE0gti9BOy^Hof>GXO=Fp#Ee?-}6B-?(B=h@;>?@`yTXPd2?h3~$01MsIA4F7{2sk?&GD_e zDK5X@fPU0|a{ic|VLFj6JW1l%uO|t=f6JZqVsOv+j@LeSeB+BQ@s0V;TRt)V&M$mq z{QI}uGA=xP{`hNO_>6HrnxyZt!wP=<$?^B~V(?PE`~Hvhg7K7Ymp;?}$?-bz^AXk)`jf(kFFLHhbgFmw_0H2x688OH zf8+SlYcKMPyxZ@3VEnUR`QUidt)Cb__kkMk@zY%5F-t6Wox?cz#t6(k1I0Ok;$5Y|B-zM0&?mRgwBvCgEH z?2d&@4ae6Ao614maoXq*YpRj3uFqOC`dTwD_Mpn6TkxhHPNQ#{mM5!$TsaKWY05~= zjj1u`KVlEuTosrXaO%wQi3VK+>k6e^>i6_hySUL$-ex4OWXSH+8F;u#i`QPYA@3Zs zVa^_629+4ZM3Y6S8;xiv{91D+&r7y72Pd74hr@|GpSq&7cy{=D%M*E}|U{aqg&KmOi_$M=21 z3&*SUiHXPb6T&O?*PZow`f<~TcyV=j{O~tkr=K_;9v2_jGv0UGC&%Caxm(7sY7hO5 z8!jDx`UOY4PxI5dYlQxo_99*&QYQ*^@Q}F1ljEm;?KWM{9Y69-FCJfT>HcxkdpPdxtE_`iPT9eOc%VtnC?t{LC^rB~~xmHWrdAH8S% z!~gsJEY$QxB#?0)3#3Ab7n`xwau?<`uVXQ&;rQtAU0G-iovK@{1F8`_jR9GAJoa1SaA0dS;WfX`!5(q$3N=C!Lx+b?6^m=_6r&gF6h$L z5rn%VE?rAzZ1QZfrW zU;dmU{+Om;^ufW{L*Oev!RI6Fr;Z;Vzx3Ak>&4*x&F*gef~J6PYe9Q z@7_Ls^mp$YfAy!|GcNtESB|fH7W;~x=IFWMRl0uYU3ZQj)%Bac{JG`5QkxzUumm$5-fYTJQ${ z{&Vwu?xp$!nCqwFP?Dq9O2|jY_%S{29G6@&e)K=TZanw=)A}{3508KFdk>BudBcat ztFC#;c-e*eKA`6S58VII_$RN=i@`tj#W##U`vsSetMn$_+dp{M_**}J>-f9>?!Dvc z3tu(9<%LJRYMv$fcii*D_z8Vd?PV{%LVNI~^oz!D(l&>by zwtx!g07g=CX%bGNfkJkhIQRUOCF=qpU#^DZj0dZunW<4*Ol6;<&)Gye^ZA^46sfQEbI>yQ9&}Zz7T7!A$^=Vvq6x0) zRNKyuq5}YY*?8`-?NA=`)SE-b8qcW$)CAPsdG*IEWY!MLyFC7eX5oPI;>`J=0m}r+ zpJftGkQ}RVSa%!vEcFwQ=bhgp`U#-^E1KTX7dl^$=qY(8*jK!KS|Xl_>S9Q89(sNFB;$Z(o4oc z-lo}eX#9n*+BY74RbqBD44vm+cFoeN?4Hz4XMg9Od+xbXYP@Y2$9c>F zm?xdhnOun7^V&)@g>^OUYdBZD$$TXjErm0Nr{|0bfmw1l%a)TQI7F^GC)4f-3e~kED>2f}VuM&mjTd5a z!7)pH!YBi}M_)KmshnEm;2lMK2?YSgL{u`fTbfGdv>F>*7sJTC4VKdSd+GAKyEE{V(qxuhko%XX(U-{&|(wCt~0E$}7h|e))yt61^$f zvgyomhSuxf{KZe|cB;eU_J^Ms*PegYc!u8i-Ek*Z)DMlTbvx8CJQdPMx9Gk1)mk32N~yLaC^?$V>=A021v6G|ED{}ITluXCOybWgSB z?muVzZ*RGByjpiO=tITvEIn%ej(Z*)Kl|xpUAi6r8@0|~xra|vwagM%L9cnE{9qZLBBs8WKjUW~?Nxfsus9BxbCXStA`td4r5aHH5H_|C zatl386wt>ICMurGu9$*1JvS___|#W%6=dQwbH>JflDV-bn>Cy*52QmduJ}v`7i}@| zc&~B}4~+f4jtx597)4bQlJ^jA`RyX1r-vZUpPT&7(Zm+L3+P$-eat zU${l1!GcRJnpbsd&U58J6wF+mfqV0(b3i*r1@}cZtR>8xigxmmPRo}+4LnjeK<&|* zN1lAXsy!ZF`@mEoHs@ux>CS*3cpqOS+B$yZTb?uCqKjudWN`BV-70#nE*KrVe*Bxi zI5OV#+55+}7wjGv==wM7T~^l3;|Jb!_4s?&92n;cZ1aVC^#=3U_|R|MGTwUY;qecz zK6hMk@&0k)c{|3RT}KACjB74Ccf3ds{p0p?IGjAWeSF`yT|2&i@2+vNK55efQvLO# z3-@f*1--k+kALK`ao3T@6>qmL{EIiiRq_EKqhI-RGRL?^KS%MSZ@PTE;M^VVA3w!& z!}T8??|t;)@yUCS=@!~Ox{dF|_{6REjbGNaw-@UUu^)KNrQ@>Q`pSS3^oDCM)%n}; z@!h|E>v+#?509_8Lg$6blh2;zci@=^$B(`4O0ALgsi5NK`4$-)kDkX|BsEyja_%85 z`EvZC(H48fX1t=GoifI?mEN;Qw$)uw3#PF3w<;jPqdu*3O$HxA)*jBu!4F)vOca$Px}}KwooAlZJ6a<0-I#}URp*vFcx3U8@lATX?*Sc+M|I-z zgwC{1Xz{q_%7f$Ud1I+tQE${6JUWi|Cci7&HNNvJE*j6*mzlXg{Bhk|ey+Yx^X*r` zMBhWv_DS{ixE3BBoIqiL;6Vp|kb^`gMDm=o_KfH2(d_za;W(_T=nwOII=a97Y~9;V zc}(|?^JbUDkWQLCeW6Y9!H_<^=Bq9pZ_t~*-HLluoHlLWt}90SZPxdvKlH$n@#$MR z#nKZ8&)+#t9D8EiuiFvsKYVnY(7pGU9oT34TON4a-(4h3--_|=uYS(>wkvpyGdaqM zuP0e?VV4Xc?dbe|HzZU?a;Rfl{>^-xYjg5TX6#qw2&= z^^G~lo)|W8rDZc`{)jDEhBJ049ru)+i&s3@h7I2FjRf2&lFTN~jvq~qL)E3E+j-*_ z9ucZ8MMq#y#3e4s$ekoKZeY_4t40zRdR**T+-Qe{YhD5xD`*%B+_3VbN~}eH;>mW& zc_M_dHU3o6R!D;DsemiRE|Q~SW05eO3j!l(+-f7jzQjQ;fg!>fEaNV1soS5=kUG1n z(LogWXPK%-^6Xxsi*t=10!sRdGM`RLZk3Gr_)Fz6ttH$V3UvC3PyCY?$)&vSo=3)q z4#{ZCf$@4>*x4hSV|tf%Ol!|pegE!dS6?{JlltSIKQiuk=n1`vR71trtoNQbzT=wn z$7N@19*=85Ii`3QoqOi^ZkDP?^_@SBA8Q@!9N+V!JR$7kT2CX(0~RjS8uMH|`I$xf z(PPKQ!}_H2arvF=TQ77X#`^0wTmsNQWc3W52ZlV5CzUt9{L=9nZf{piaU2wLoXQ4I5H3q!m8_u*U zip11reKbKyjF?uPpcFM1%x!`NGD4cF4YM(xClfVUIy@ltYFR+IUcIKsp=4n9yhJ!* zOO6S;q|R&-%4h_gvOQxMH@)d~ZUuMA1nlCRoCOh7&?(-tsoY!k6r6Et&cvn=X2}P! zVXaHec~-UGYy-q|2&&13zh&&h{{-l%gDA@XHTUVqlU zGsYWVtb12EYt^|QcXS+m?1^#f9d{Yw8!p~E&eD~)dk;N69?);pKB@)vJl&yofwaGU z|KsC`o@v3|XTjewe)N@Js=F=tNwciu$!m?D5#gv3YN}Mem5jCHXFFT;NJf%Y`bytu zCypvKJb@~XG?e8!XA{Xhp?4O+?}iM6ANED z-samCScGfn)xXVS*Dg+-ko1=R(4y2{BVmzaogBB{cUWKgJv6S<172>{7mh`196g#( z6-hpC$h33#AavfrMic37-8#BezWRj<#d@B;Nh8Qm`NdVYp5YIj5duM4rOJ|vcu2rkuPmhU&Vz;K?^yY9mv6i zfzo`?&2ug`bN?}p^@hG$kSYzTi5~0Lv;vDPQCx+d2i;Vf-~@vd&?V`0UMrH#x{qMQu)Vb%C9# z`($iDTq>A|`k#M?L2I5)F1V#q=Rd~oV}nNWg0+r%{qg6m(KEk%zwU+reL#Z0sNZ2N z&a9r>wrv~F)BfGMJngrdMGjbgA$h0r!Zp3*QeP-nd-qvtYaOMJ{zvYrl*BCZJD#{ECKWIkb64DM&NLz}e&82JcS?05BDQ5=E$YDtH%IF=0~>>f zQ??ROv6GZeT+K)1%sKsoFHMf&5YS%po$vkHec2gcq{bAydCfpj{9R2Cf?W1?!msQC zg0)I`u+KS(&BEVy#U+u$OWPbXVpMrFH|!_u_LIoUCFk@cTYQ=`d;*b?O5007#Rm*O ziaDejnG~Vy?E;r}ah652;@3cu%&5VDv;WrnP~NOh_VYwzuT8`*l=fq&fO}YPjwsJO zf8RJqcO&p!xC|rx->mN%?id$Je+LMmrPh=Bl8nl(ZT{3wOSiehZ@WHB;O&>eiCOE_ z+;{pF&X_Tmo;a>^tGf@4Pw3$;*Xsd*cRhMsOUe`Do(Fr)o9zkZGF2cYy*s*95BySF zg!q?pH+^5SZZl#X|6=^yyMw{GBq#6>Yt8i~vd`*#Q*U6;0Fog3 z&Dsm}bt|4s&x6Up&vDb^5uD_>qv0sI_%>x&V1spJRimNgcxQ#=xGJ&J_)(7-U=`WR z);?;j;9`iv{@SSxUt<-n1C*b3gsT!?+$qgDtw>xaxH*H3bt5b|iv(26#ZKW&HDYX0 z2g`O7u51t&Zu*xPwl_xSvvL8AvhSdXEcT}K&Wi+7o-!Y8i`W>h$e9>1buK*cFhDw& zwd-6xRHk|_kd;C+Ge|IoO`;@b!XZiL=fFtm3Od&zMzSUzlKX!Pq^~v}d=j@!2gzCc zI7|JbOrx@m-q3`V{TMl8^KBojm^qpkYLD<`Xb23O-&X ztI+0%iF#v>R8@>G9$XRXHhZU-zEGE6Ub*TG=bQEA<$wN**N=Dmz9`)e@XWKvGjsx? z>(ur!uF%8XB5zE=a!ygw;;MXKK~BEl)qKiET(V4@99Qc~`UU#!9v(j&h)v@)x_5w+ zqOW|WuB0g^oM6V2MMhWdF_nNWbuLmDEy+5^Zb(#9%(c{Igw&u|t1bXb8`u`wNM}Uj zF0s+2;D=css8btx;g&(BrQ@Qrf%dRU93+(R1hnfFyV^5n)h5nhP}mFcG@Nb5#{9}p z4$f!i!odS#i@>^{SWcYX4})n_Sah!BL4{{*;^!VDp5&UgGRH?-=YzjDOAPe!p_Z)h zBtJ6-SOt5{S>ZJc+X<&HTHqNwwr~m-cFs9mO5Vuu>N@SUdgA%RBm31 zxYtVh1&Xc&>58{GL>ksP`5-Gu;pc9mr1Vn*s=Y-Yv3&H?caHD*rB4pNNysV3OP;mg zKLhl{le`7xY)?r1FQ2T0$%1cPmb~FP@o|pgBFa3f9bAI9GPHg4Ldr#kDlP@gd3PvOm`OmnhVz>Wn2+L0ww$b>h^lZ!Cd*13xXet4!I z!QyZTVqphbRux6!r@hYMB>RkO05Z2`(C{QybB>eqDJGVhvuesKV3EcSR!_+pQ%DFc z<5>vCO5_HC37kp7I$U%v!NM;55rPdzVdJkk=a7sUkF=@}N?mLPnM?{2WL8u*%=Dd|JtR2GU`p1-QfX*o}2Q^F{76HXO@ zd7KZQ>U=@xbMyh6WeFc`?aC*FiDbmC+5rP*9DA2V`XtK)N3on@v5d5-u`ensNi1sK z1*848>Pv%X?aLQ}-}`|($4$Dm>B0;2h;yAJ;iWe@J9RK{GIW*>%vVbEdw+3g z9C{tsnEAepjw~5+&~4Sp%T}&_-<{v_qu-7Sj+2mfv64uf7b_h-sA+*iZWUD)`DA4i z2c)h{zgthsvJMO!G{L#;REN|zDR=5tWx(7oIa@z6d zJv^{X{)t^_^pmG@6Y06*e|Yt?#^w6X4JVQw8*mMx+oi-0_Qoh+`osI?ev@chn@C6i zCm0vnG(nh`Xba&Y9d6pWA00cLLQns!wN2w1&tjN>5tOtfph!VfYh2fc1~2bu_oztN ziHYMX=jw+Y<<=3w3TH$C4qc3r^LfsRjl~;tF4fc@aC@vfjuFjS@Hn7wSd6i!86IVT zQFO{bx@e0-nezUv$k`ke|8bLk;$iU07ee}596HZ&ws4`R4PLa)fve(R6`WM5ST*q` zdlZ%00Ib;-EbifBoJf%w+dhjJZi6cs|7TM6XrQ1-Lh2o&II`yHO%KQJd3r=S_b|L)k5GT~D4UH~-?Nrdz^#eEbHNxW*0g#2I-t9JP-V%5oOUwzf3KfX z0cmD{S-{ykwfPVCTAQ)3aN5n|I^!0wjF+6(u5&$RK_Gh29ipP31GjDAMH{vg=gKiU zbF;nF)sM-y)Og#j>}75&WE-z@7^L{L2L}ep14>nOVq&70R;jhxpNbjg2J`T`Cd#x4nc9TH=VdY?X8TZR9>BZ^9$#6#2NSHDuSW?Rwx9=Xr<6Z{Be4_$ECO z^E`c0c#I1-6##TT<>!Js=PJ)QlZWDs@mKoEhohVJ>nk;VVGA;Onz4R}Oz$ysrvbKb zc68xP>4Qj>)Ht^+JL%FZup?v5TmCfhryW zs1pyqo&yMJ)5LrIIjG4>1Fro|p1LLWJ>5FTz{dsq9(%x4658nSwIybH(O$pKNrAo` z(*+A8CrTApi?c+=4q*JzyT9#F7?XRjfGnuVk2WvgN!WV)Iv>;*Wu~RMhCCfrKqGtO zI_X~)x9p8g?6N>AO;WD6mW|EO#Agm(*4kz4qu-Gsa;+!8wO9oOA=R9BPohAg(Ll$2A#wpuRf3uJ@*geaob~hu!8FX>b_4pJ;CMynDBh{uyWxp1L=}n zWRgXw@+1qRZVIOeq zO9p4oF$1hI2~*PEOG(x9kw{S|s2iu?T()qd>ZX9^Tp$7r{~5P)!D+5TNrijonJfjY z`YJ2yy_Je0vc4jVg3_E-ov^5 zS?Pasnb7P^E0s(Ia3xupb7f-OfZMhP?I}5fSGn_?pW;qT(s6($?(Gp9(m2Oy#_+;H zFA)MeC)bQRvQkmCvn+dG$|tvOAJ<%b?)VbI+l^gCK_v^`aJ9QGm4-a!;X}gZ^ z6M6{32S0cJxZ|;t<19VMz~5TA`R?(F2abDPt({B}G$Im|SWAqQ|J1lqe(cpm#$G2U5zAs4a z(RUa3iswmvpP9m#r>lwUl=C;8CW;&cn5GEdUg%SeTy~gpr^6Y0^FXk_&{OjsII&q5 z1GV1ivGlyo(5?1+weIdx4h*dr4i%L2&m>CVUB^@mkC)n$jl5M4mW`I3G>4R11DRpB8Z*WiHS47HBRLgXSQTkML7IhJx;SQN&QmTBwZHTsIOSs9I){O6u&rp*+(>BWTRK9ltaGJa?#LehTdyn2d`Q#d#WUlx3eBsp&Sj)Y$~VTk6G` zw$(P27@ck7V9pp-2~+}GsecYWzJgpgigCsd)ule7k(p<7Y+XpKImb3h97kWPZrVW@UO zEw`WsqsIi9>$4nNa)f8nUdyg~r9(>y2(&Gn*?jQBc3nW4=TjbOHz+jnJH)Br>hXN69_!BN64MW4t z;@rncOaPNvh3NQeITPNI8keAUJO$?hv>6-x;R-+1BLWQnf|9gzVY$R@yTW;q3-baK zQ{%E0sN!5$ylzw0ku$iBXI235f5D~kQDJ|If`(W9=~vA_SgW!qw0I@i3|#c?K$%+P zx;7Ov3rC!ts64$zYUq|+wlU{vrCrz4lXUgtfF4%xt*_&5aD7+g1D_rL@(*tsAG%8? z0D5T3gSu_tX8oMQfB551k2k#ay73X+R(iI6i2cP^TwyM>?A zt(pH=In2K)m>`4f<%Zr)^pGEb8E3Tl3EPHu3caHE1*L6y{{65bekk+v;p2&V0Zt zp5a(F1jWW1RhFD5m>7BP*|vS)LRrkY)=OH~NI*_x`0}z1QeGX~)rcGjA9AstvyTTb z?5<7Y7Fr<%85?X7*2W?wCF3Gz^wyQkwi%BZ8#@gB-&HScg==?=Nw!}oR8SaP@~URc z+{7crxKk@~`Psc4z?Ft=VA)3I5HzcJw7cDV>B`zxMmJcbfVye^IME9I)Z8p7itvcE zuqzhWO*^1sguP+a2gRt~8OZn@1RLYvAYAu5Q4q)MRC7+BWa*=~4wPtWc>G(Ih!4{E)AT(Lj+sXNC{{b6D|7xD!He4o~cvayRm zzURjg8M$^UcxXI0_*878i-nu?M(;~6Ixwz~?2kTl^Z1V+xodo0KTLh-sMb8a9@3Lq zKm6Hy#~<8uNK;yf9=y6@-X}~`XDgojmyso=T`W@&?KfKIvL3(;4C45|Ge$>y&4@H$ zj?lO`;)AWd$hGRo&{62R+idhgS@za@6QkxVi}H#4(_ZJ~_LQ6fS0Ey0{MK`x);ag0 z_?okv=AOCUoSU!@8Nh{}yig}3(ekeZScEU6?T8_PY8)q-5$rbEsYNPR+BBhyyo#x~ z-g6@gl0FCd!3 z?$G*xo~ZuQznh1ze67B&bN&w9$)$IMu<@#z!&JGLxl{9n`l-uQ^hslxeCE!abKd*# z(ebdpezQlv^XD~8-lkZDxKE&!i*QH+Ft>DB+k>e-N z4`aTRW$D>v&6B4Zoab%bxqUq65*`mW#@pU?fiT? zyT+gC>GS+fBN*p9yX819#k2VpdB>F3>&vx8PH z2$Ayv3nnULsb+=e%Dm3ePqTG0%YnK|`ylo4t4>BEA3Mdy#?^M+zEzW<-;>Y`?!r>l zZZU;;6GH$8b|efEH1BE`0l|~n-NJTy+X*595GmlQjWPdG5l3~N4EpL9e(CseEet>O z{(Hu6{^?DA4P8ke`Vr@;?Aq_grVqWd`??oBQ@;oEk@4F%-#5PN-`zJ}_2v5M30>uR z`^S0OjLI_(j(_|W2mRyg+Wqv>UDHjj*8AsC?>k=K<&jW)xLtz6^I+yN!9xpZ=^oU{qt1<#*KOl<*IYW@|LOb3 zZ-3^_@fQ6i;n!Vr!8lI~-{Hght*%e;rO6%RxBkhC$0d9TQ$9!CC+z_+5yXJ0sjV&Jl zr^CiZ?|ylYCj#$S=;O|PcOR*tb?fSTp2ZC zDioHn3q;!5Vs9Jj#!-v^)EP@xFqfS=xkV2|c+0DvqYF$Q8~^r`kBzs!`;&S}ty`-` z{R|J*o1S~I9-FQ!$2)h8?|SW3<6S?0!}#F!w~cSO{*Ljc7hW*79DZc{+NXK^sD9t; zh0h#szWQuEO&BiuPM%L&?#s{RxPRiqT?*v+=!0_7#Vl^R=O1g#)#q^vbnkfQdp30@?>7!?j*I%foJL_Q&pU{ste^~cSealO)8ZXl=Xn^ot$vXhKKR=hj+#m$Jyp_Op zHsm6VJtmf8Z&Pi{#((pA{1)pRW9qzNPjM_jjX-k|8v|KeShmy&g3vDI2S-S|Xzw-+ z>ikC+n^=JhhFbh@Tr~5TyUxX0Zt|;DK%vE} zv56_8IR%GH=u#Q4$Wo|e85j&+b^lf z^Axwt@M6w8h2*L1HH}>N@j&k+#~-zAnM1B1SeCFI+c%TMth8 ziC_DR@e?xDZBAN;@?#M+U-#8#`XP8{>bt=|_?FAYx4q-W@vHCu?D*9`xqW>5wfo0I zx8FT}?@r&4KK{Y$t{Sh_&xD=SiQ5)kJ!jpy7Z5#!3wDr9AGK9tSn_m26uJ0r+qPqT z#l`!^&*{R_zy8&ajt_op@A%Uj4~?Jxo|la`TyW-iiQZlQKllCB__m)pG=AW<2gm)l z-!*>WlRV)*g>x&Skc4CPps@RO&ek&a`MC|9cUmY`3+3_S^ji{5Ol+Y@KW z+y=05wXfKbhWWdzyh@3RIKoB@IXXJXD5Wt5Gm^O*_?S zsMB$83!07*2Dx5*0UR^c=?s=8;jFTXc*T_zTUp|aRQ2w7dH6doTXe$n9r{hd%k?9m zzo*~Q`mCPX$&VtB&AZ2$yLXLio_+p!ojxJEOrQAi81eHC?jQf`yI(wBaNTYCgz%AZ z=dE{-oAoB{#h08lUi|C}#heeL{rEVl-{;!KAgSv+^aQ|bFVWLc^}V5;JoG_@ z9G<;z*SK2E=jaDS$rky{Ytz`F+X7yubDS&C$>xOkoO9ru@h`sXE5?gIdi!{fZmYOS zSJeJef7#B`Ewr!yvJ1wm^tyycBnN@5paEB1UKf~A6s z8LV<%JLjH?Gn7(-L%TU!V!>?V8nG)sJ(n8CbenVKr@ftMv8L}nZoF3(dyh^f^FfFW zip!#5_(`2Cpyv2A0tSIHUP&!-J{s5BZ2YGkdG)Kur{gvT);Z>z9)awLO4agcqnaD6 z1EHiXT-{iem1*GwH!$(^9GGwk6*(DjhpXSG;yl^Qjy%L0&Iw7y(u6Lt8WpFldi*$< z1!T?*w&bU9s2e`~e4MDw`m#rl9seJ{0J$H}R2Hg?x z+=DvVIom&|&Ks!9EFStS{Vo&Hdv~;Bz(mJ;pUv}k}jDPjo zW8)WfWqQ-2kB$rV(>l*STTemWwR3#OYp)rb&$xB`-c1jU-};lA$L+^9kMH}s=ZqJh zvw6Jzou3%z>CG%xt2rL_=t}n+brZ*-gWHAQqmeaf>^wFO^4McajV0OH&55CIn>|;3 zaLxpDa`V>lRnNa{{KnqB<3C<^=eY4c-BNbLBV&&qs32ev@@8CuZvN zPTfZO3f*k7jtr}HM2&@uvEk`vfg|*zeLKG^ErRDrtL#OZqkD%C<-Xt zwQ&AH{r>3pzGS@qllP22(CzT|=`OG%TCaBKuCD{<>>IDq539fYqBF<2TlsmM&ErMS zy>$G}-`h3b{?R*qXTk?=xJy4dv3V8d%=a{Yp>Wp_Umo{u=%8KkJg~C*Dr8A zabTxDsq0TK!)2S+!{>adW|DrinkDZ^t-(B)>ZLEdZ2V99`JMOZ=PQor=e@q{+2@Y) zb(h6%t-;^_U%hA?_`uEM&+j@k-uj-K#-TmC#*cpM^Twr{9~(dO&d-gr^)(%@p32i% zXY3p=(z157z7Nh_U;M4&XVNax?@Nz6HjOj&wVvr5hQugGd-bMw?B722>73MKr3Gut z&K=`hUVfD>hW*ue`^WAXcj}3z@4MsV*n7sdaglyI@r_p;9Ity8Z-Vu=LhJu?uh=?1 zwq=iQD+OPHDZHX=FEwM_zI+p##!`+YzUO`5(tiMmElLDST%5Q6VVL~H& z-biuQ{?%Q~bJHSS&KJ1acEf$z6)a39w1 z(j3yQs#|m-!y7XmvhbK5_r#lCIQLLLu0AnIh)p3jS9kawMEb$K>*Tp7C0}fQT&tXQ zb;3rzIMJhD?lV`x)aJWKe5Z!*T!PGR_%N>6J+4l1PrOWAoO6+^m zgPHM*W!v|dVp4c(aHWwadG2^fkS$y+Nvzqn{ES=mP%ZDqE$4}2aM)tecySGnmSN)h z8qVu&6T@g6N%o73eoc6es2G)t$=;?xjct5;i^j*Ik2fxsY#%q=@~-jWt^aEL$-bA2 zeJ38P?>N{{;T2U*ef)0Lg^r`T1bOdmH;n)KEnhqK?L9-s9mj9R5qo;dd}MlXYx9r& z)*a*b|LF_HmAbvq4-N5@tWk14@SxzUt@;$6YA?pRk1f9`l7;(+KL2s7=mHV0xd$n@ z2FExY!J8It$LzLAOno-5iHBPRFmkt+>s)oiyf`)D_`Xkn_`l(Q`M~%uUvY5k-?u|K zlLi`e(P-L8#G1q!^N!#6{qfkg^T+;kFVqE>C%jJS`Ih=g;uGW5_x$v@=HTbYGxneF z{PG8je1WtwM+EFF)SP4e*y1x2t_d$i8*JrO@FMQcIu^nOWW1=qu@ zd0HQ|LX9(Y!DkOYT_Y|C%Hxaur6uuP)yc5E_^+v^_R0Oo%4Y1wecwHw}Ni>JygjB z>-RCm<-0PhW#j-2tfFJh(^`fjQjzlC1?BW{{hd0bHSef$wO#XmmoBdD6gP6hJnk9B zZ-Y^1EiaT{RU~5Zw<0q>EjagBAqk_UOcv9ebEaTtTsGZ{NnjayRz+ZK*)itWieaO| zXv6YY;-+5XWPMn+oY-Aw?-n}~C?XSX1k%d$Z*iULxoLi$Q~X`lgNbf>_xRwx zUlRwbdmOwT)tJCxTIVW{UZ==ZoS7JvZ4yXq@SI6f z>ef6FnassKta(~n=nZ+}&V`3{*TzwOyt+$k-kFNcdEpVx&sfLkunOm0KA+Rt z#hj!tr?^1JGMsZui@hNi{B7Y=P5RH@XJ<;Bi3`8SbZ&Y0sGdYE1?x2Dd93BY`#e}k zJY0}la#?3tHo>K&f89?c9u@CnGjBT=Si#wrYsL>mH?Uqr!+- zmJ59Ynt#@C&mre`1H6i1#On7(a}GA}Vc*4Qe~atf%CT*pL?%A(9rRo3nol3S_4DKX z=l<()%a(J-ZvB)APk&!qB4N$jHg3K3Q{$?Go5$C_=Bsj!HzCeFV~+38#f8u6L$X`+ zwUU4T!!H}#HD@?3+R9@iVE%Hyi1hO`8gOiXHY=g2G zP}{OWH97ic6!7FkVXv+h^I&#LI->(i2Rej2yxQ}4UQQPF>Z;Jb-MZCEGV{~H%0b3~ z4>{%`Jn}}611Zy$KQw(Z%K^DV<~pWr8!&En(t{0zzjs%#NH`OnlNaFkD(=2LswgnF zKDhP9F)`I=$>G5lqAAH=a=|^|`ku07p8igvxXFkEo0CF51}7)Pr0^JaPH6dZ^IpB+ z8BB1%l{LgffRoKL3ZMR?jdAqgxu4qh_-)cBzYWnbu}Q|Vh01gVga-clmztZ}V4K1o zN{&q(-Kw#@y%0$;dnTR_avVsiOPnK;40&~XW-)U%isM(%keT=tsCK1S?R175c-&Ub`eASR>fA(6{gmz29kLZlaXR5Ok1&%^O8ven7ofyZ z>NXBb+41uiSaV`QFU*~wx|ndLo@xp{Yf3J_MpapjNYHm#xO=!7gi6gGiWbWSxF z_lxxx-iXV{UTVczxN^decIyh6wlh+kGsYP9=;G4_SxS8DWPvkk{I-Qn`s6iZ@+@2@ zPY%rcLSWbHoR0@_Ru_%aHqFXR96mvNE|C97;z2*U5DC0a=906;sLUA?N#JIB&3TDL zJ=n{?t&z&!f!fBAX{_`mofF2C3mY`7?Ylw0DB1RYmZb(~87VgZQZ!Pu%Q5|LAZ(;S zXTOEK9Z)xv_ES}SoM{BInQ$jO^w^`!o}A9>oRliqOrX>yF{C+LJ7cG5s{#*p%ROFU zm~nLA8D4hHpiLcrYg5j zk{7t?0+=*gwN{<8edjm_EB@=n8(p6g`jfyg<)JdWIgyhA$A8Z`ReesiOY0OIIP`N2 z21{Sa)0^8qZ$k!N&ht1=J7=$+FA5>nBE?0=??=m0ZP4{*Y;itkHl8HBQPa64TzKhU z=Ry^~0S;Yhq;h5zhYv2`xl!Eb*-kA3682 zP5fDJHk=dPgnV3S=tt$mFnZ53Z7t(NTQ|;R_G&t$>e73lV*&0U`E`U^(KvlKM zN_VcB-eFNO+@3pV?+HT(7?wKlf{9O|``jit3@C*#$K}DiZ!;@ID$%lM>jk3BX!nGo zpU#OKf|_kwT)74@XqKS{Um^}%Mzpo01@2}qJ4|z+sxqNFx*@rsk9=i@hBuCJnB8U{5b5?w6a|%yAv4Vj(96Wwj?IP@E-a8yZVB zbCp-+A~*}qG4^(qn_`)Na_Vh@$97pKjDaOw$a|ocBAk7)qdoG~j3Cp+28~ zM1Ra6^UWs#0!TlbYjKCOZM7+EFeu4q`jXg+p(Y+kZ6!hH*f?G`Yer*R{j{wc#GU6x zwHz;q!A3wV&qF&~B2TQsITE&!vNPulg85Bo!pO;x0n8bL(5qbh4XktFJmVG#b4;xC zvN@YMJj59ml{q@)VrDY(T$Bx6Tj8u$x+{eW_I(T^U(UHX7uY5ieEpK7|KjzU0iO9A zr{h-c-O;GwgVcY2%LP~aO3AQ?^Fj!w4Q#0foMM+6t+_^>7&c4CWSo51YVt1|+$pD! zcaDq!ZmcULu~O#okVHnSoY(TjC%(2b2w80}3GzSS2CRHa;%=dtDl`<7&=52po2g-8 z=0>TFsk(iHZJ&5x;r>WQR4%~hKxmD$tThC(e_~_DcbzFjwvwGlc}%QRT_!#!LnT>Q z&K~}ofVcb{qqewv{WWQTQ|vF<>e?LNej}Kc02)KC$jFyO>AxyrTEMnRZcbFL@xdc( zvvrJ4;N&Wu)#(9!T9$YsOGJ;`+$vM7Iu_*AuDKk8IXg@AS!%#_$97N?*`05Jqk&uq zU&uP=PS0$BrbMFF6pI;=5*u2Hi_N?qmCUA<3z?pBorAM&gNpZ*!4=#&vkOv5G5De8 zd?RG|QvlI_2Z=CM)n#P1vvF*3lo4Y5IGnPs#6P%ew#1YzcTJ{9kjYnVM@=0t4i-cq zhFmQn#HEtYoEu>>lHZgII21N^89DTT1$X8w z8TP1L%4Q0VGCWZ??!?*0m#}?g%RuIV%GQuYVAIkf+>`}Bt%^vOyuar zQhNHz9~$Uj4m_OUYt9WIAH&&BwSZYWSHUf8X^d_AfFu{ftvQKbI^oE{jA`}1!xWn$ zX}%L@p*klUa2A$refC&H98~ehFJZm3E=VG>jrP{35eBFb@axi*JoYzd6C0v1-Hu|=c3s})LIBsC zwUfMaZL^MTFYGF&z*Wtw;-D#s_SE$KKfCp|iC??g^ux`c<$7q+iz-)2` z7XdQr8*q+d#?3KkkmM|Y013h%>XU)ja29)sTQ%XXn{$Q|YGSP9xpP4*sf(`b+?MF5 zNq#`UC@Se>@h)xb=k8ORaHV9P;1MsJ=!06)c^y!tnnuj{)!gW~&DkJ;8m8<+kGxIm z9M~(kWB{katyU6A5b2C<$O$)LvCmAZ8L@0c}+q$xp>ssTv{bT-rso~0g`=8u)^4Ir)l2RGcXXSt3$8Y4t$KYK?i zBmUVRvkBL*@ks|2&xzi6b8(VS;B1hA5ei4;27dLo6WbKxo;RAk^6^>9|Dq_Ic~Df-}G z;FxnWLyKACF6Kr!S}9jzmcOe4XN1>g1nA=lQw?ndfZ+9w;?Z^YSSy5wAabHoWp!6qJPgeRS(D(Pc& zMG7$tIjmf_9avS#$uqu~Bh+h(6*HvCbE&L1fCLHNaXj7}0sOZed)c0rGY1_rU?jtza$H66X|v+do1viI&~`Y(0}@w6C?x2$X2mji<>~1Q?mtev8?#r=jLpX z=vFx+D<31YzZ$d`khDF{lG)0eg+a%}5H6@(*4WJ9j2CU@XwRp4Vif||^81@u=h7)~ z0VIQk?VV(6=UnN_Lte=``;FGQBnRliEj#;H-=BKTFpWT&X0YJg^UccQ3|>KtlY~po z_(y`b8a}ez{b*G6z^b*DvwTaXJ-#5#1zjW?jh{3oHFNf{S`fw)6eg$VjDCWeIaKg@ z{K5f1hc!0A+F4Z<;v${Kj|PPx3){}~>YR&l^4RtzQ_$1`wIOGiDTgy>ctChDent^e zcf#DjmZfDm_R~mT+O}FDA_)87PXV$Cs+qVkMeX*=Vj3yi(;r-MVSz4O^N>;8Q{V#ONUZoPQNx|WlMW?UL1Ey3aymnIUY`lW0umKOD7Ti zo{9kxPLfm%SK7;wR|`}}hSYMk zCe|HQwFKxk895@!`M$Kp<)im(@bo< zY5S#(^(Kr)Wx_S$6vG&&;G9n~m$=~;Ja4lBdpRhe>%a5p05LNssu~05OH~jTCgvGy zl!@1q*328Xy(|=@<=Nv8reB4z5(CXz&H~7Rf)0cf;61L)8*FG7=L&7CGIt&MG9Obe z+DHbrF;;ScD)FgEwo0R7V4DLFChjvpvR~mW*~~dAS<56_VlD0GJX>RK6K6VHg-{gZ zR3rJ2OqEbsI3Oe@L{-?js>*_i$EW(vVaw2 zt#9!+f;O$A5?T8sMnh&lSr>K##F>bG(Pz6$KD#(qr=D{aX<<(?f$7v4(jgbPYFlo1 z*;fM?zqCQr;}OtYJIk|=O~oqC3)H|PmlN)O0bmSpCkEEd{EHhzUN7Lg-Kj@bfh2!J6=B1GLBBer z+O{E_{&nAoV-s!AhjC#S-=1e=&)iUN#2NVtXUxJ4RRXzYf5r{G@JeNcvrNN@${ZWS z<_y}LZ#NJLH?zXn+5}f#nJ}@@7Mv*;)o#v?VawXkmog5nwiEVjh;AOgaBa@$;TaggxJJWdze>Q*n@5JMLyyuqqdVl z`x>VjJ?Ef+=v3oJ)a9IOyBd9yG7CWT>UGZgqJa-@xQW%gY+fAOr*#uy(5r7$C%ygj z;3Eqc8$eyE61#4&m!yqU^#mywC&vy9P`VdWy2s;HQext*1e)Ng!ZBAABq~)~I62)Y z4BHf-clgW3W*!j(#@gU(aBYiC1C}WQ?D>zbOp zVfBO{u4Bq+UlF)r#a;|P9A&u<-U`FhUdA31f zCW&PeR_i$XNWqu?5U^|eOCVv6GwRVBs$(N_J%VYh)a*hGp4W>ZSmlz6jTXjJTVrbv z@{E5uPI^@)k$W-a-X=J!1VfP(c04Px%06AH|c`3cxhv(HFs47FY!F3yn%@St8$v-gb211iop?7p(BOm7??C> z=}vo`oC0?m2jMv-4(*M{nnC*;U+21W>Q4=WI;lXE>bG~N;OvgC%|-e8*cOy?A^-mS zvku##(ob|mC#G*pv_DeGtWcIRkpP_X6fcZyTDCN2+-R^d88?BPOe9|6j7l*au5d9= zwd4p?Obv|zwZq7vy_q>nh>nzP__tNMr_I^6it}{l93&OHQ|D$RAtOFZ&gnBmWkli~ zqpnpGw_;~Z)TZzKgT4lLFYFIQzie-P2`fY_f(x1pVewQjWvxx5n)TqKFh$oakf=4m zFn#<=Zl5){pyFlpGF^`gez4h@Sv#UZCMPUx#m0czSBYGl)o!(AZJ<3myJ^#QR9t7% zg?hEYXdLI+n-bcwwX=_1wMm{OUlu1VKHh4BC_dU|634@JRjr(M60FX-pp`FL?7_`O z_yOp=1~y)6vD-%ob16Io_5xcnqgH<$(;ge(+7_o7GBpVxqvCCwU~gQ>YqI=x*Ez=$ z-oy)RVNJPE+|E-)pZH~*X*Qv-^|t!EmNQ}}#WA%}S-Z~7-CsX`KGyA2oElAEoX;_SC`fm^A(r3r+qGPKF6lmeKobGZR2nz+fSZBanc$WJE^=D-#h=k-tJg#=xIHD}5nLc_)|drt+|ng~lcFk;nvj~sF%UY51&{{d zE;TQx7te~mu!&{1;U8iRC5$4vvH)d3n!nC5pB)RR#4~osPM`uWTv`H~D3X{sB^dfj zR@{@nuA`2$yFx&EPa=dfc{>rB?=) z7+*&rkZY@(jX7^P=RgL6aD`>;#-%ZZC|rU)jXCF&+;TT(VR0cjqX`H>*^7g9Y7kE^ z+c*~`LyWCnrZ&}+3*3@(Y6XLhn~7)_VV!u{1p~(_3-zW^OrxF`*KuU?q0yCQ?<5vI^i9f9RN3oQxxh zW%H3z;}V6p>0qkao`N&DOU~vZq2p=?fho3?)o$#W^YS?HF-*suPXmN=20_kG&3Ugux-4^MRzJesz0IA#|hAQ`24o)pc9^| z^hIiT%MOzag#`#Bb1fU=sY)vG@Xt=z6<`b75G%cO>C~|imy-uf#wKPXl$5e`hl>Qb z*72)W)XJvLo#HN;?C=PO*p#K@)_BXNwU*njEgdKZ$Su|ecRS8@T|?D9>{}mfE@{TT zEoGPwSO8NAE*!9kPjjP<#6y_@!^LgM{eOYWs8#Ztvj+@_Qo3g10s>Z2fHna^;$*}Y60E}yuu7TYC%^4Ze zaBfS97F8PdlW|TWq?E(FynumB60V@T#Kyi3j9fnKY~oECAyL?N##AK=N1|GOU0s;S z670srR-9#E<`RRkuGIK@VJqLZGPb>g(c@%XfWWr#JU5VKB}}~FR_wA5u4Jm%d_f92 zy|&Vqd7UE=J>a0Kc+S7Y6*IpbiWS)AA&gMeb`h`pVx1wvge`WF6DLmVa@WUpz|#>s zHezE$)&5U8=Y&hn;9=&j%UiJSljV@aCRS`6nmv7|;r}xicSucRTbvwGU7rgB2_pXC z3~tG5&Qx<{ZH9Bk73=t8*R>_*&PBA%c|r|YcN~sEY1H+cqhSltVy@dd5TfCvlB z)m#vSB6J5#%UkA!%5*%HzoF<0I&bammLarh?S|vmj^No)o5`^e8zZW(1h6rq8N1atjIoIh!yIjj#6%^3}&d(f71&GQUoRd4W-~@wxqcyfg z76%vWOqT_A8zpJ;xJ+o()hU+Ho10*qLj{j0d<-ePzMH}vi>Ucm%y6awAGj5-QcU`m z+p@W*Pvnf$L^}IBoc$!re_3IO-)!A|DNnJmr?+g{GIFsj-+*aLaM?vHYwC7v#Ky2n znnGM07-TKY*{8=FC?gau78XT{5^uLG*QO#wu6D%s7bb}ELXClBeF#(hs!UbsTP*;n z>+Hp@vSi^yJaK&>+9{scbq(x{Gkt~$8okzHOXLYMamEJA=7)j*13z(YiBu{Z zaZYDfI1@vpOaUMJW@EmRz|?rtURE1&#x@wvW5U_DTqk_%Cp;=dZqD6iAIo)|B{v25 zV^*bc*KuCqTOQhhiw_d}#!;<>%@W&s?5SX*m$5M_pVmy=VuO!OOWxKqXC&Pp?QI+x z=q_ru9F4g%sc5W;j|7&dpL1Brv;4hNJGofo#a6_|m(uch{yCG-y zD>&v)G?7exlq2J!2Rr);x&}M^ijEg0vlB@X{LC> zc3vvauE&xsal@O|f;0XT#)6Mz_#kP{(JpL&QfYl~iGqz@#>HaQ2hNeihDbIod07Wn z-o}?l`^B)Z#d4AM0gfmE_=}lpxqakYv?I;z@(Aad9Khj%W{THeTo2TYT{^ z-bg9lTVB{iFT2h~Vxf;u5tbR=MwmFaB+}T2^K55hHNg)j*%8(to%ywOK9-WVh4=xexfK^#)=bCv! zQ7!Wn_7r%sUX4GYY{XeeU{CRaz0q+(7-E?-4RLVJyoV1A`;}_rBAq#_VY{-Ssbalr z&VXx=Q`NIYHnjGHk|+fKmbWZK~%9UYwc!v=Xo(Na8+5sb~5Jivv%SfdmQXj-0Y%_ zIUBGzqnN=}jXWq)6t4X-^@2s_5&$*7s|!R-sZks(RjeIHd#m-^p3&HQGD=0Am$AX5 zHep9EKz0QJjiibIsbSjYRV#_4{KvO&V@NwX<4TuFmn{)&=UJ<&euQ~!;)jn-B0H~& z29-|si{e(BD|obQ@z36zqL@69(WeyovGA$c+*$(+iz{t104mtj`;Wr}W1ZDFrD7Tr znl0QC=kN+vTy1Q>^_(l-6s&FGmHHIL&9$6kXIz3!#);fxvNIZt&ZP%&PBrc>8PN(kBr}joUK*>JXSg5NimjwboyA2LoosOf$5K}akg+!dExI0_^b*IWu`YRCaQAG1(f z0CWudpWSHgjqiBrL*urJz0FrRH$W48nw*1V zexNo=Vy@+!xEpac)2G83^0LeMZAT+cWv1z4=aL*vc_v>T-`0ndTlQUY4w!Sl4p)AX zO}LED)Lw6#`9`d+#m235=1b0iik&zw&AR8ASK&POM3yIxPI+3cbF0yXYj~j*V4n|6 z0z#9V4oDRuDo^?oVkv448e2RW8*p*K)Q1o)#7i9PmTin}pYOqG$|8Krr`xFQg05`6TWKs6#S=gIG-sQaPtD)N!e)uR5iT;>P$X&fV0 z+-O8L`OCt`y7$?3{(Ee&V6u8becP?nKqA4`4f8 zV3lm8o55t>K^G3MH%4f;h zB5j&;w}G+?y2fSiKe|i7qAo-HPnldgNs7b0OEo-pX>bc!i~r>5&9+R5e^-#puzbS-EY zbB{Nme<98AKTbhaOXQmAeAkI+)niyda(r@@}Pd zPq_Hp&alBIXC5wGtS`;eqB^J@xbpF7j$~DGp;J-ip;*~ zXs{_8j~_CMWTz{}#X$bl**C7m1}~ZTRv1)I54#-TWS8Qz(w6QE;w(VJYSWy%-LX7& zj$E4!*177o`-8v7auP1E4PI^4pOW(eqsPxVhKl?*e9vFLH^?#17`_I=0FT5#C6q|ItA!=V1leEyL_DV%cdOh{o z%C!iyhcy5$Xw2F*HL%skDZc$?Y-+8WrNLx8m|?qQo`n4YpcMJ`tT^gWd=+s30Gd-r(a_CFj??mSNibf3`+NE58D zBr(t748z1{i$3khTFW6{3hbq{H5DyU1@h*_RuF}~yYPZQVvT{)kE0xJ+j@M~7&Sd1u>;xap znN6BU`@Z2FI>$akpEzqRb*BMdEsHQ#6xym$x1^+hORjEAAb3xWMJ)hNiLDM!HilZo zYTYdT0&wlJL~x)0X=_c1I^LvQTam$k?sX1IPn$D**Nq5sVP0EKiY(rQh0~7?<^G%T|3j_~>}_Pk&y2n;+AB-I@z0a`wD4NOg1q zskU{R*^*~HQl-|p%8)EL3aeO6D_10XPG?0@H0kv}MP^yQRFT5+323(S8irE3>1QV< zpmr!!e;N^6J3!nAwe70A2pmu(%P)-7kc0mi5P(tu)4`3nV^UR}E8>0fWtTRm9rzOJ~tiRZEW$E4qTevcn!6%bhuk91F!(2&AxZoFFC8OL^u~^hXpRM>&yJ|IeGtYb6r4!vL*CtANDJa+Hca^@?w=DlI^ z`(ovb8Th-JfhSKKA4fj)%j3x>9??gI`Ws!}--GYk^En@FE60Q+J}z@)%s!a6do zT>Z0@bx(3P2OH}BEi1bQc~a#91~TdJlQ zcv5hvdcgia+TH`+lB&uY-<>lwIY?@PB*_^hBa$Quh&Td*2>}r>4kJl05(NZdM8E(# zexD8wCNLoiC?kvkaa2T+j39K=Is8}H`&8Z6uYvh}^FQ6U>YTmTUVEK=s_NCf@80`l zUGk=f9{}|e7k2_A3bsCEAoisO2$Z%SFS$nYV%oD64eGLJA)j=^r?_$q-S-9gAZu*Z z=|hHwzvy_VW)h_sE$WK~zlgJV2`P~YPx==LehF7iws`-yH4o*@DeySP+nYnb#fFV( zb#`aPN*2{?jyAL(%CPaATd0$QAhbL#gvqo#Z}@NUKx}6o&MELFRv7W(+~M01rOCW? z$Vmk^im5ojzgMf)Zc{t5x2errIJ6+7M#UgvTSEk;0DWdfON3T-g(;i)v?(#%nYOs z`~QaK(o2!qSH7N@I^cPXj^K+I-8n0i@SbEH|Dxi7Z?nnrM98zv5NzA|E`RB%P@tO$ zWYA(cyFs#wby3UE)SB;8OHYF@eT^BiK0_+u+DiYht1s~?x=3VMV zM=(3dMG8`KuZCVhuxBj{?_y-5xeLO`Z_QPG04Sd!8A~p{E`~jBSGqg^vjTo_i-wI; zbBiH%xx5-%lo2*C3O_e-3@uv7cSGy!@RMCEWU~3Z^=y`jD4T3}j8T z7)g}<;WVSR!{6sE^v~v699J=w4Aq?G|8>or3q=3F@TRm@gBthCQ?~!np4t%5PIijS z0{_2i9+tPGUtA`Rb=>1Em^~B6Xz3`ti#P0bu1>0|1&Pasx$qyOeT^Cbc}Zx}T%A+D zrB;{co|`$qAQ{FjwibjUKoE5GXD7NLMU<#D^eNcqh<(XUlUYE zxDG2cXj}k}3S|mx1;&O40PYz^!~$>{#hVB}AxxOfIJbdkzj)D?D^L2OR8~3qHzTY< z>7e%HRww6Eys)K|OpsWm=f?9=idG?y8gCAz8CTau3+BZ$&psP-=Hpv`Fu#$ojTt{F zCQX_UqekIES#xWNi>c!+3-{y|bTQ4=*RX}d+*zNO)ZFGsNv>a$w1hej*0sw*4QyOu zwk56~m1Pn}vlbo>Y97o37_n@`b7lxaSM9|$5AtS&ci4(zNt!EbOW=guYJOCrSXgAl z0HUantI7a19VYcGMx_%z{3LoHu*QEJ)(0y)|Rn5FO#M*EK^-r5-jB)9DCdMavCv-X%+c zd)PEtv+?r6&LjBwXP%CkbLQi1)|el3jvY5Prc9aaYo35ghTbsTj2K!AA`6;(Flg;G zq-J7h>-98Di=0Z!O{clzH3PS#5F-e?V=f&_(7eR;6IrK>#dXe?t2q_CY|Wlqo7a$f zXnvdu+DmEnZ{VmMQK|`p80oPGJ~M1JJ7>n8p{XaYV~SOE6O+8mrP}1d$Fs(4WX5v} z)=mFBmIPim@bDEf(WU_sEzceG6~<&W@?I*?O(^!(OE#am?vYSfQCLfQfRs@gYD1qJ zv1m*{Zg!KIado}yU*{^bctv8ZCQ55+t~@N;B3|bR(f|hJ^cT&*%KAAu5Y|-Jw#r90 zA441I3PS|dXe&E5+@r3_?EwQCQZ?u2Mpb+6>2xhf#-T{yC`$F@uvd^Cx5rM+zUG&B z>y;$Ka^i#B&ed`Y+2s;8hdxh$myyYaXvP!XXP^Fi%vrD~M)8GXT-V1<7#~w6PvqBR zpz+9Ybv)u0Fs=!6R4r&zP9$=tt4D7RmemtOGPK1t!#4DOj;LYk+}CF&XEAefW8hja zS*{gr!)ngCMX(Whb*~_Fp zMlDl$WGBXJ$S_?8*m1?h)$RwHXwHYPwRC7sL)SURalV`bg`$>qbnyO;fmY=K-|fWf zl78Z=ub@g#5Lz*?kLMfK-OTZZQu3%2h(PSdjJb7HmBDlOtj~;kaoTSsjd}zj21liCe z0~`J?mymR_2_^kDONCQ#z6Js1USG3bNdV@_Km9t+ICPKr^$J_WUw-tXn7ihBvDqu} z*ly1_=J=yyi?x=AxcpoOMe~0akl8Jtz0}N}Ud_Ws^|p8_uv!8<@~a#?9GeGDG=`*R z4YF8{;w+fW{|KkM>L@+Ts~BS3sz*QLz3u9(%F*W}@H>Lo;%LWQ8U=L$gt2BjxwTOB zoKs!1wKRk|M47ZkCMJX0KrN8TjMUW~bDVOulmy<)f}K)u$QW$1r0UaZWCA$`iSj0| z{Y08eIdo;92epC#a4hitaB)D;Y$n0u9-X{9ONEWvyA5IXRsx?sSY^#xmKOnmdZ4Az)#tHaF@ff zTM-=MATRzG7D08axSp&n06J(4;`-G&^TGj#FJ0Ep}ZB7+z!obp7;E}KM)t6{riBxGLfy6QhB?irNLr2`4qiwZP{S3@n+{0>StXOfkP#ujiA05{|POYND5~4gR8nR%|u_+MC zP6eSWZjG^lv$%<&nQ$`brx*sTtJZ@2`VVdxiRGi3YXJbjl9JBF&l5*jGvP0_e)da5 zF0$(^29fo9RMoV=3q@|~3?3T|*Vhaqp_IQEFPY>ttG3)w7vpShdy{beJWq!EZT0N+ zYnYlzUL=GFQ}g%O$1)SSz~rVVTWqt8!q`WQ{u3g=U@dHeL&fz@%+O<2hE*>qlp=X8 z1KSQm6PuoD5%4oB3nh9su;%aUKbtYfYVc#`mo1Bq4$J?4zmA>^T%k z0eZ$_>&Kv9Iqhb74A7V}<>d4f)+zLa1}5V8U|#K2yecj&%*`h@1i6uui@?1z0jFxx zFC(@t3~vkw)U*F|n+mopnhpqI1Rdl>22vDn_An%Ga??1_$ZamhF%7j6&z&^W<{8I= z`Lp8}zkMzqm^3Xu`sJ_2r_VSkUa{!+ap`%d$CmqlAb#^G-lxo)c)gth(fA2D665-C zIJx;CuWn+HoEZKl)qB4Uv1&mPJQ!RuvwF3DO4-%f5{lF7N6lJ@q5yBz!>c0F z+>pBg6-G|oh)7;?3&ao^D}aWkld2WljKIpx81|W6>QpO^Nmr8;7cNlB^}%+%*Kf8`fh;yW8dlq5~aElmRmr7CWEq|dL- zd5{z@?>Yx1Od=lcq1h9ajXFIBX&rM*ss(szO2ydD6Y&n#Lp4wYxvjwaoKw}JcvBH~ zTouY`dC+mKLs5iZ6fZtk`O$dGYy6&yL-B2v1Awqe&I6ny`Z*kLC{nSh)DwGs~N6ED3Tzo8Zh&b%%7988QellQ8Up}a(9$qRq z2rvb3&>{zUZI=^aOI|+*BNB;uK&VDj}ir4t_Psik?y#m03&OdFC=jdf?=D%tBsh2S1m6@GuwMjN^7-{Wzvi zk5c75>#Qj4GoD60l9!Oy%x&pId20xI(NdcG>&FsthIU&6 z$Hop{XXH=>PzYp&x;nEq)Ivw{kh?Y3LN3MmxS$?zDWwR(hrL?rAX;gXSKLKvHB`c= zrbn~T$b6}ZAXQy|aWQ_ZK5p8yE}ScX&x^$jiO?Kv?t&&&Nb zS=w{pV<_v(dBRsU8C*ZcFc9A4wjl@94DEFea7bW({b(@@vG8VSvl-B6nZK{6glY8| zPXj<&ngW7Dy3K<8bfDf^TGnRqMw_cfPV^y+l~{z6PZx)ZVj}hXEYx6gD-GjS3)suDcC}Sz+0^q! zK}wlM1`nwPFbdE{LBmOpdWoESH0GTtULKc0Vn2EGw< zTuhoUF6PadjSnS&7uP?jE4{$I@B*)26TyXAmgsvg4FhF<3uTR#;s>&y8ghFfuzW-+<;To8t6 z{m8G?NkEP{a(Zm_-@Ha8=>WI0N=pC0ra7CsBxM}_WdsJ$N}CPvCrBs<>$*iVqUt*A zk^Lggt~6w)hua0_1_Q z)iiAqh2;7-?j z0cDF*R~sGo&XzeD<@$E(XO+Z?)5Kl_EJ&6=r-CsU)PS$+2r*8`ZMS~HC4n)r2wUSi z=9tjjK6BdfoP5d*k;H3W1QS$o=<-cn#z6zWjK+kO)N|5EN38t>k)}v1CXWZgks_P1 z94v`DtE+W%5Qt1r%#0R=68nT@7({`UdAl1sOow9zWVj|M#l(RJ6RpN!lDiPt>KQ$) z`Aa2Dy%t6Bj?(-WjS)j_9R`bJEj>-FRM zKv~@N-7m)8hnyPsKKKL^#f-l{9ACfg@_6%pyDHD#Z+J(1{_Ee5r)GAa_nh2&{wJOzY1SsI!ky->nfPSFxYkc~=9qE4kg9X7U(cO& zE?#^3>u0Vc6E`*(di{t;%k?8RkzJ1l`gP1+s)U4WZ z58jcelWfZ47~j-oym$zvGEXX}rZH`Go#S1Yxar~gGKTS4D8Xdo;dw;c4-%k6#lHJ&$V_uys59(B1zLZ#n!;@y+}GDxL*1o{S&ed_$aa)FH~V z)ob4n7hn5-<8Mz-*ONWQKKsXC#0O7&cYNbpcf>7UybPL`iNj95Bp!W%Uks!baE)`V zwfv|>ohPaui^!IR~ebZ;-Z3n%!-RE6(<9Fie>9bKDzd-i*ecz80-}S-x z-uHhNU;FI&u?((7=X~ z$ukr8a5rCnc^tFf?#i>z8&8POeeL`4kD0!oB*9;P{>^y%iD$(Re|%?r`LeT==R=qL zTRcx%H2n;0eRO*3*DoZi)@rHsP`zpHly7jALi9ZhnfnUpj!O-<%C?7@TENOVD zW3GYSakgY)PW@9-04fu^#6Ss;Lp+#<8y{IqxXwvAaJuhfK-C9PRUgi`CQ84!dHi#L zob)-A;hHm*xYxf6lvS$at{_`Ln0`%|eLa}G;}^uy8J?LTgi|Hb7z^aHTRmv4;M$W% z+>GReF{Dq>`kRIxmjaz|LOVvU1QZ|kj@JxC-grTpN@35YxU_1QoJ5K%iMdlZdEq9K zTUy*J($pY?fWmbVM6-F%w|9y=Pw1I*d`mO}FX{06+y3*`>tmOLj*H)p-z+Y^_|vi5 zE1rzEobYe)>`Y!}aG{y`WL$gZo8onEepfuP@{V!MzkW8hTl&E`;f?#nSyy}|p7lLR z%%3$Y9{KT?;*)^X@@r^LJs_l;{l_nFvm;T>`Op?k$AKL77AJ*PDnzlHqk zzuy=qyy-Qu%YjG7V{7jk(;mA&o|`>e+<8`Hbr95Q3pe^c1{YsHI-MdDkxgroW9_){ z8k$RhUXC0mR>wy2CJR}6ys+Z`OC56#sx;28W0~PhDRLh%9ifkR#VU>cglhJTD*SV!l|%2iXo1cWI!)lpO+>8^cFmIIY37kI?-~>opL9yhy}9r6E(bQiHvYg|s6`wd)-ls)cmac~TqzGf6ekcf9nqIuj>s28hpk zhP%!gOTU2HabwF6&CH*)+V>8|IWzF~c(i$Q#{{l4@#j1LBevY_pt$T0lj7r-Tpq`5 zyL`O&ysPk{62EmCB=cv)cfR-$T*r=zE1q6HK7I9P8Uz*aKkbWcZ@IAjz)9?>&JQFpPPBRG4=Oy2*!<> z>1pf70p}|r6=WPojv^>qK`M80J3<2k$=R@|G8Ur#wJJ1!kGpI|g*d%%qPozTj>0jt zr$INWX)?NqsK@<&wPYFgnDdcAa{gnek1Qsvh78h?Ik+3Leyz^L39F4Xlh>@JsCZ#b zSOQf)_S?V3G}o~#3B6QBv@qt(cvcA(Ef}MhY47>QXJZe%kpJ5$Tg1gzToF4>`enT3 zhHu5Ayd}d8*`gVb#q}2+7yG^OUGd23JH}O4UlH3c^~*T%sD0z4%WjV6=J?6x%)dVs zH+Hhv1@ zm@)V@;*7t>mFFBB2OayKn7z?!kms`4aQ+wKZHMm_ANt&PV`kn@zVOuJantpmiamDQ zF^+!kr((;E*NJEG3xip@ZO?gPH+Y`7Vw`xlez{(>Da`Aj<xvg>kHW zGBAx>pBEM%dTsTP7l5P|FZ;0B)UhcajqN^#^ze%iUUY@#o&&s7tHp?ucBZmQdaKdi zj!zoN5SEc~rfJdY_|-ZeRKjY~bfLf$3#051YCk3= z5!i5#0=R@Siqjj9dGTkQ#5ZofRf;*yp;v5N8Rv8+(YS={cIx#knT4lDyL98%5OOiU zwJ9xz!V-^W&4V^2Z}YJ)(>RC>{4d!`g6U&VZVx+Nr_WktcyEW-WEjSmh~km|{zZK4 zyEn?a>1r#0Y)1V4-v5K~A#wF5J`p>-a+#Pn`lHytmre(i_?j!7NN zZN;kxgOHk|1~BA&H8G%k(x}FyqAu-ap_}K4&lNcZX~7DocAc-{HkKSjQ5ycYR`a9^ zaT7GOF+le0^mYYZa-CbS@{-2$VI+KVbHfG}3IfQl&dMT>5U^WDX6x6PVXBQmHLpxS zLi36(dCVpWvWryS0>jvp(M!l)6^uzdRj(lL>#f=W$ZB5Ifxj#R;Fek zTT=`ib9l@xd5LXDWrNa!mCmuS;wg1zC52k@X0^MFC4mvg}Bkua$Z(`rw){807KjSYC#82ukfm^SGYv|}$WmV8U z8gapwZi{ywzH=;?IWxvh=1Y22BNvQYHkM1r2nSh9cgg`HK#QFx3`EmznDrx9cb;G{ zz%4@anr3kQcwCjew|=Bx<29tyOr+8B!=XJ*%2`YpHk(uFmtJO8Hz{mpf;|6d$gr*!5&=gOMSVbN zZr+=56WkxHCpKp5oDp%F62;O#g={O)t&EeG!y+pfNBj2=BMR!7{!v31<|{cGZoT{px#)n>;eJ==f-b#hf) zSLRUDx^(N$W5+cGT6Gp6S2JV0Fm$V_&V-}*Wa47#5EQ^!7hk`MrY=Q^tN(LKys#2k zeRmvddT#OHPN`(|uxxM{fUPw4_~fGkw47J<9iAkOtIm;%AvKP29eBy>6E~T;LvTBP zF_g~4!j&KAQ(A*9hmiwKry*fTKs{=ixEWOWa&oT#>=;oGFSt08&npImxQiXQ5}xwP z!@p5eu9EB06e9O6&N_6#NqN5TQKDuheUxt=Y9WUS2Dm%3n5a3I!)OTusLh!yU?4Z@ z<%?2}w@ri|>*f#oWx@X4AAC11`S^u#-iJ?*)i&HIF1+EMIQpFHV!y4|rN9_Hc^Xh( zkK1njUOa@iU5**QRIE8|jhHx=FY(Ne-`)9N(zxT!o5Z;JFT|5iK8?=?j*oS=I{@~( z8{eK=Z}Zq^e`TwvEm?+SD*)tsG?@ZPP|O>pXxE zFKvwN*9rZ$fN~G;ibr#?Z*ZFmOq)3|?KW?g0GO;rW_OLDPda6d*owmI&cIR3!x z1e=ggq;9+Ad-1D3KZ(1U39B42^)`-oY#nj&r9X>D zADyAN-~Iaj_~OrT({$=CvC^bbc!BPRvhTIoCNXu~+<4-NC-F{*i7{>3#x4vP|n1sJ0xzy5AV;ugp27hj-Dp?Enhq=z>`c>^RN=xvPKc{ql zc>TDb-Fd=nc!*n)H70!MvFqct!>HFZql2KqW3I4PY(8r6n1x}VF}8V6J2h$#Y4*t| zdpk{XPKo9Y4OIbDHOw)01LKZLSizjM>lTJp5TC0(aGmSL_?qExZB>g#0s&Nj$FS!K zJ@gyTI(h66^Jxpc#0)t$#7lF{a!_-B_FeCd&aWH6K@r|fE#F4ehwh-;dq z2M%Z@g^ru14Ysy`N@k3^IX}iAQjh!sDDhiTm0kK(X9iOULn_WQm96w*@RH{V1JHDx zt3)zrCY>(WI6Gz?xL$HBkJK^J&GH-}&Ge^c?0Gr+*{xrXOD?(~&O771vDQXA#D(99 zIR5K%g%iv5ch{cfHpZM{V+OI9eD)^-mb1 z8BDrd3MNQ)b&H#95}N2{$5{9Z;$a3S|BI^Z5TvTXZ3N=z!^IC7EV0=R}p;?NN<-)jkEs}@#Yh!#j^O)2!2cILVhm9#r2w?ulnUN!R5%sYBjcL zu+EGsyE}-|S^|f?x=NHV;fJoDSHVo&R&1`QNXUzh-6Eq`F-WAGCBQ^^9+1vL3R{|! zHlsW*YiCT7FqA;H0bb|y`D^_KVT%BVaGSm4=+1W@ZzFIkJ=i=W&%Y+?I%aag+0Xp$ zcIS4jAM>%F{uT{wSvBcoU(nP^de;C}I?#wQs+r6ypAnp~b2wpXmQ6BjXIaaZi9z7G zC>=Kfw4G&;qXjZ&zd61RIPs7~9VpM5Fv9fk!R9`VT|&naM+|+mq*Vb~J;oOp2)1PL zpjYSNuXBI_qk4eHbx}gaiyJxW)G2PNP6err@Mal^tqIb**!l@+&Cc;q-2bb4^j7p8 zPkCRwZOa|vb^Grdt1mZB$ZhvIB+h@=-Eqd5C&krgUKH;+#rW8aXoqV zQ9MaRJNLAGNuU^rO`s*gQYS*F@%d6rTNG zwN~JHWXq#k(23fzK3+m>)6~d%>&JC!739JI%huM2JdD@B^a+&f#}LJE70AUlKvE;` zL0pHVkz{5F?BHq*MovSMP~Y6$jgE5=!d{KIw{~>WN)F}B1e!5K6U(B1N zSvim5WfC5LM3E*1C|EU6I5rr#q^$}}A-s59Fofe>SbVPc$U|}8y|@`4Juyys-x;yh zj(f!Zuh})0)qURR*!$>{;<($t6=%Qm$T<6ByTm!~J~oax;=ovcwdG<2K1TG9M|g#a zc*`MM#WB9@Xk44w^YS_<(Ggp2vPSS~x(L@xN*;+X5Zq?#t%6SWT{nTSX(1I67O7$0K#j+oeIrpdt{&;BwZ%5qLEm5F^ISF!jsLI zgfU3RKrW@m1WF_J#2K5)NF+mAYh3$Yj1)3m9#p!{5r@Vnp=9tqD2+*weqp%Dd6U8! zX)3$`i*0y#aJ{l&q)a(PVupLm9{TY6*)Alj;zsZUU{AmP7O*FR;}V^|&SD-3R&E~# zE}^W1f{Z0nCnq;})HftG16X`zm*&Pnf93%|%AvnM9nA;$if2dp$(=^-$g86w{j|w0 zsXkz6piROMuf^s#oA9ZbIXLDwLp_82k%zrGF8RPaVj0|kjKa5h@_vGi-x|eNj#k-l z+c@_N55@ua{48#|?4RPi_udxgef{lm?@brR=BtfHE`N^YoJ+qJuUd7vSTuh=Y$NbT zQ1JwC!Khe!gSExSNiD*WFmE1iibTy1mSa89AGP!=V)H#Oin!*q`1L~%#hQzz$Hl*k zIP4=w#(K-+iiIbYBk+x(Y@fK{8?pZKOXCC5czOX&d=VeMsW~TUC}G&^6rhi-3aNf^V6QmOJLU8=bIwj6t&G*Ur%=hsV;#jo zXbRPiLqh47W&wNaC#Ol0GBqoLQ3y-CMl{qq0FyB7K+wHH*u^Uh!)~qEr$2e6fqm3N zpr!;6*N7Z~0aJT*L~du*g7#vN4TDlcJ0C7DtXc;eI){$A9M<~Doji;$HR8%q^_3q1 zy18Ot%MR@hZUP513)@5E?c|I2@xHx}jZa;6TC9P)A$|k#SYAZf5X_K?D{T~~ee~+s z?V!8jTQ`0t&OiV3xa9o*gKu8`TI{{~N|585lJ}hb`8aUf)$mQE{$d#ZvHSUR=f%qF zY^)!8{N4mTKbtqtijm)$crBX}JMGL@y|0e%-~B-Byuups?K6KI+rIsyvB3r_;oEO! z;x~*&zyD)5;%)aU#T?vpfdZGfk;t48DeDQIwKJ}rKVX&I1 z{G?|ymL2#BrhyIn(xowTR4}<=WDT31o(9_uSo}Jd_7tX^Fg2~PGhPjQ`jtzDoH;Q$ z*1iC_w+{dW_j!xSnh3Twrw4K8QdnK)(^$OJh06+jqL_t)C6*iJ<%3d!n zYt|9FavYPYp?e{Pl}U?H>rOoXF%SC`uTHOa95Y9@tcB{4M(%3;2<+?7^kCCk)SgrV zVM80o+Q3Y^d>KRE5Y03(U^;H}wtL^Z;;J*>fVW_d#9PeA>i&%0y3bo-y`AEsuiO`J zyz8fN<7KDBS*ITtXI=Hy_|=a;9h%I_wJon&u;lF=EXzae_R{ECv1$Ybh$lz}P zcZo}`JuS9ab8^haZ5}Rpxb7j(f)TOqdiW?4o7Nlmj|==VvsQ;SVolK6{QzuPCY6pQ zlFB8mpQW;FYJ=;?;{loSARpj0++om`Y0?U0@xsEIB!%pydFc9?B_|{%9(kH+@?s`D z<^;i>yy;;tr>Gn{Uec$pb%B#u*FzOSJm=TTK+OQ0qNegWPxL*5^qP<))=7 zVTknK5ZNoQe`B;dpes9P^-H zGLaUbAsa6R<&i-S-qwu6+n6SdAB7u=3F7fv0?kz`Hg(l$vG;+~;?+Cv75jef!*Rs> zu8uqZ>r^};+#psQ&$mEDtiH)kvBxGWt3T|fv|(Re;zo?%p)@i!-E8yN3%wg|`BBW9 z@-SU-!R^ZF4Y z7%|DF^%Il%7-|ykf!3G+^zD?5W~U!KHd+k;@cI!)G%_X~J!;y~NH88emJ+T*k)VV+ z7Y*cMV;n0%cWXP7nR4vW97@;X4%9lE6qyqU;gZ%_& zPrK@4ub3q3?-t=t+>F7WvcZ=a@OoE&Q;<*BsvP5&UO9H$`{3AN*WF_Gy{?PB{^``X z^S8gj6T($ug;iG++iKG`j9qub`#zV{@WhNiMf}Ag1=0*Oc*SNr#c|8v?Ob2GDQ=nY z%D55M^LE=cR^i*U5V_nde3P}-dYi;9yZLRR3S4aCJhe7*vka^l(skE4A0;eIsSu2q z;;eO+r5x$ifhAg!f}T9AbMgu{$n8jCq=uV3hWh6Txk`Wl;_i+)`pjF$GM@n0;?Du< zrDECuAeDWLEhUV5uvm-93Zm>az`kZ_5zc70kQO68g7IitI$r735PxG3`>`V@#DuZq zV=P`d@->f6gz^=pY)h{^E%rKiTI{mtp0WECpNuzu=#sea&!@*GtE>|%t~L#*FUAI& zY!f?gzj}o%w(t0ow=a483h~;*kBYOuc5Zz2E8mWhKR7>P&y!-S&DIgmDE!HYO83VP3EUVYM4iX=Rn1Bu}>n9gCax1`TGe_l4#U#o{@`1Nzu6c+mqbfg- zA@;?r4tf<;cJ7TJSfOd~xl|m2<;GlP;qhjj=GJEjN#<9v3x>V)VUzKG@`ljH=MJ~} z1LOpR1xt;*^Cj)=uVIoWFFM#}sac<@@FFrlT5Vs}~9oe{XaXeK9`B6O%1x>Ab zCJjSLr&9SDnG@iSHZq&nBXh&SR=nzig$daJb(eLvsb$D<2PPbETLO%~wb8SC{6^3V zY$Ey>yzq~>^Lw|%f8PI>m<#fWQ^v(TpRNy5@jG7%y`-R?LQj6B)2e(ZOmInYBe))P9Ufg5#5Z<1n8 zGXRCLpHw>L0B|@XIPi#DHFOlA^+P`FDM>>B7?X^xSCXmjMbDE=(b96bXZ+bia`7v(_;+7hV;+nv7wcg!(R_HzDaoGZ?mX#Gj>9XnXG$319avd#_E73v7(QjHm*$Txy*ByI4 zAk>^NXJ<**IYu&8FlF^vW^7mwdx=P1Ix$pi*23pWhb%@xa{~QZ4Az;bCN+7Hfd846 z4Z-fVRm0foYe%p#!)fk3d?}rO?Ua9fo=scur%e3u`e))tw|y^u`Fq^w;j%b(60Ujt z!+~gH^nyM9mf;$^X?)@J{~G`KC)|I5OZRyX{w{vTB$d&i(i6fzJ`YC|gTBJHY|Cm7m4t72ojJDOo;jVK_I!{y# z&~U|ygWR2Fuc@+NBNR2Gb(u*(8!Y~h9T*I2z|!2z657Sdo}>+5ffwrax+jT z5clcI8EA+ko;Vi=|M2VU))G(k_A#D4G>T0v9J_Sv721Ab70sY*)I(iO5bfZViE$ot z+hJfwb4y<}oE|%G?pLoj-1%VqeZe2aThBc+w!G=OIOY9E#+aE;#RZpN z1CCwdr+@hlzCdOSZkX`p3;z{y^S09izxj7lX)qV=M=ck-?Y&FHmEVlN!F&3_+s7&^ z;M@D~9`wK;y5Ds7!{d_Ez8mkk=>4(rHD8I-KJ;4rX^KbVk}IzR`pCHVvFl?6Ji}dt zw-7M?$!GCLO|kdnlqd&Cj^WVtBh<}noFJGgmfl=*1L0bH{e(aYpL6&17P$a&{vg7l`#HwQvjs{$`U6==&hiF~l`slZmnX+fFnzcplmG;X!-l zw*aprxixpjq6wNn_J?b(3_#FZnA!`^cp0*z9k8_N;4#|X0%H%Msvq1&bo`}*{;tuF z7~*9%S8WxoLV2!aU;O-IrjE1L&&LC&s0^7BUO?+bT4GoW<)a2XRO?Qldc^c|&`1ky zRZC$+By)Pn2@HtoBDt;$d8zY7ULN5~h_q*&RU3FyB}rON3bu~gn}$4|M+(ADb<;FB zAg&la1M)IR?C|#)D+i;<-A6<)qZ__`PP;3&|f27`Hr{5#w+7h zGobl4&}p0P8vl0jX>s_e7sams=QHunQ$83=jeI`7eeq}F*FgR3w||S3mz}H|v%4|g zW!7B3xL4UUeN;{*z(5@U)p~WV8ok{0Q#?rdU*`i2-TKKP4Y_{oXKqSylPGw~BC%dK z>X5sOV~p7{TygZ{g-n4FV+tQ@{t;$ytuQLEDR~`jA5iJPJd?{=ruBTJfESpc#%3cUbA-G)|u+1n3doh`sYcdR~!e#)E3;u z=Y5TcW2Tz$%G8(h#@1I|8}EMaF)?P&<8k3-pM!s^`0d|rjpgtQgZZ;x z5dJxQzPadW$kegoO6$gPKO|C~(D$n&b%)rdzO`ZZCY`|L!yRUFxJwO{0zBa43;^p1=q({z?_ool(M z2mCs}6o-xW(3F(Ky1tZR5@c>C#w6)e7SaMdV?4_l65hxB4h@6BPXsQ)f z`X)_XF|IiKUt*bUx5k@AGsXdmC)b!|SB~Sp{li%8`*+8~k3AmqR@)&ixZ>E@Xa56Y zLp=N9I*gjQQXKQXOJl7q_K*Mk^&jK0r=N)tORpNAy7a2pa@$wOmahxM%ACE3vHul?X8{rn>ZkZ?f=qank31?m#>u>+PxbOZy z#S?#jF2*jmR$O%1HL=wWJI6*V`8StiCNC3jxcKatzwT!GT#ajyxmag(s}@xsdTFPQ zs!xI1`Xz=XtvYi(9qIKWpG-8XlOvF8?PYHW9xZ}N6MYiFSYpb$WX*y|Ovh;&jC&?A zVIx*w*>cblVoWs|){AA1LYW&|o_~d5egX2F^yOV9!(Qbr&wC9*TbZNy7S?#jD#yz%Xq#h>*cxilKv+ZN+jn)wDxMfy}D?fH-EVn8CG(;t; zG`U|59RGg(C2{XVvtrkSUlUWt(SbSP9E&ki;?R@Mil1z-L)>}q1MwL0EEqF2j=t!! z*kH?@Vv}|J4vLBR{NWYneK^)wZ}rTRCtBuE>Z~WL^`h4~0J`bz3L$ zcClU?CR=>{Xcf4(eoU&ojTn$&HERZ9u!=5#9!jO9meT{r_9CT@0jI2{H?H z)rs$Ltq;477QI3=ufigXy#0BRy3Z{-;QRLj%-UiAsIrh&QZyr?z)b?>!Je(a?8CRD z^(zXpsL#D(P1x2?0Qv;r#=Ho!W&_48y+&OA$#Y}Uh8yFv(uOfe_r-vSb^Pja?iYU) zJN@v^co^T9Ja3Kd;-b&ICHC5Pzu0hUm2TjyK78aajM9dT5bKf;HNtGG4j;L2=*j|BU;*XJg{BYsJNvUmaU)zgw(^7r@w-nYL+s z>@579!xi}g8X9Y)DQn}><@(uNcJK9b1YM4#OB}3*I^FsiKEO@#oRafajDvID7>Ev= z-ujVHF-zRvLsNGIdv;~0-L6RQZFkQ@=lI5(X$ z8qs3zba|J&eNQT&h=k@Ij=HvtuHrTDQ1S$efx zCMQa(UpZh0k>YVsQfgr7uz(l8vN9mI%4dKq;$$xgv@=5IcJEim~Ux|AYs={{>&5FbaQ*rlvpzoW_`?SBlr4c!u*S z2f7K$>BW@g){Wy%{a|9uO})|&lCgNAxzFKvLW+2PISuo0sj5-SxaC%hquz5?nsP26 zC_S7N8#OVn8V1sUO{=M#0M+^>UX@3jdHU<;9D}@I=emlVG43M^^e~tGl%blJ9*N3% ztM85A?6SiM>2Q!t9IHcj<{(sd;uV0sLHgl_Zk;D85(yY9TJ{m2Uv8lv)Utc7;w6x@ z*wdxoKp{pj##Te0Z&@)fQ>Yri5eaA3S?6j*#i9P-hAGI+kd$md1rs1r60>i& zyXKXN7`BA5%VSG>5Nj^IYhb#HP9?X^=Sikfd~I5tMax<+9l2pZ-)bm;gUpR!VvLm< zLe+?1zwy$VTnrd`{(1cvWA3W6!nk1`Y?WSP=5`K;P_ubQEwx6x;cf3vR9^$;PqAps zzsh=B#<6(d?FRfls~C+hi%BPldE)|3e6D%BJrB}j9qoyCTTdamem%_! zV~%Y6*#u=7RB%t!~mz>;rDq0_D6A&Bu z5T7w5A~Yi_41BB|j{$2`xCZDkIr^fKki<3?@>N|GnIqVX*Jf`;ga~jkjx{V@v}pY# znDHtYP|U&RJnVUly~Am0jo-FPUU9=pj2k*E9vV%Wj)vy7M{WZK;!-nhnN;q?P&@TW zEGaa^SXd5R!-V_t#f0#y7O9z`9E%{Ya~zS_l;+{sb|9A9r7kT@a2HG7L6X=zt00ZFe`1mW1NnMnsjvYV>Y}C5((Jii6NtO z0HwF}BB#dK>-v=#PJmqWAxg&vdcFYBLLUu`_rBjZ3oUeFM7qMMIP@Vl`{n?M#A>V( z0{ou}{FYJqldOkT8ppLPAop*DOwL<=7hJefLoWT}B;}D(bs0!H?KmZK7mk*)*~1Jy zo4E6*0;vI_x2qTd87UtyiV?~IG_aR`=Hqc#VdN^Gq2vRq0T?Vxt(}6&N~AZP-(kpK za|fg}I|ifV)`7=j$k7-TA!-PvRf|j*67q(Juc_1K2#JFXjA?_B-vl)pPtw@33W*-I-H1F8XGy| zz{|PNX2J40ma5@zVdg5ICNITYKM^RF0pw#GTh-qqrYXPYFHCOC?L5Y#Z*uI@Ld~2% z>@_p*&6{bPPiurw&c&L|<6N|H%#Hi9XHN1Kp9nd?!|RW}-inI18Oxq}x`_kOqetJg z9c$I1>YNe~khBemuBj! zI-~Dkad5*t1DexMS~qxUYj*Q;%SLr|foH$!EM9UWPUm{Y8{=s4ii4VMD_&~S`ZICX ztW8vzNr_S zhK}-BA`*c}s**Oj$x9D6Xm!lx0N9*uugoiCcy1|E zdu|76llDy4&L7eB;x#t6=fs-vegKU+lUCFe;Lz-Fu1o+keQL=~8(&0)t?Jxj=_4<_ zss&?uwIC1uSwnI#fOxTMqloT2p#b8W&tt|ivN_008%<E!5mSuoduyLSH?+bCl`;0!pJ}) zZB-;<0N~n+SK}6~k|_jU)vL&|&d!k}R3LwXvW}`DAOqJqrR6-3H@V0nG46m3?C>#% zW?z~SQ+bJwg38AICurN%_?8b{WVBS-r^K03HzNp8mJ%eMgIb#Tm!T#L*^Iz=s} zxvp2t%eQDJO8IrHAvZDoJiedgvFwL9G7;nXXbl6OC(M9WI@C9cncMnF0C}s9HG`q+ zXMcbF%x2;`PqcoSOZm}P3aa4(tD!Gl>BMf}nCn+1LyC*x;v)suj-y;J`Z$zd+jPlK ztNliJ%Tv>HLJh*1eJ(OS{Q>`$qMm2$TVOd-KvYJjbohY5T*aJ(CSdI)6yCS^yrlm z{Dcy(5U`2Zal$8Goy1y3vVw!0;-y~VG`Gycn%QXZl{>!2`QOYOY z{JB`?GVk_%eF7G-#Bd(wLa->TSw1nQUB{~v3_a%b^OvsFqwf^0pUJfGm}5Tfl8$>m z*veLQ*6d)EE^NE=M6)s;e8Qz>dx%WlBu%%;dUbB=#|Y(etnoB}QENd<#U$)f`1 z@k*+iZ^A?|&{qcY^vQ^U%O-Ap4p}E}OS8d6h6>eQwI~2T4d)yMq$Hcr(SI|L8%IQA zGgr+v`C6Uj1=`#k*IejVWL*wH}D#a-^9$DDtQf;G#@ z3C9fsY2(4x6n1%wxAp)jE5FIQ<TAeQe=Aa|C6 zk&Y!;q8#UQnW0? z12rE;(5Ku26)yvrn;F5uSj7R~KQ?F+0XD$D*!qc{8}jvdN#GpVn+Aw%ReTIJ_d1Bm z51@JZOPP%7@8~2a@d9GU0eCwqJxwH{7~m#IK*bp=1-4TcjLJz~HDyU|$L6)RApomB z_ju%x)T(zHSa3enQVWNC=zxMdHr=tyCGM;9esdEj*Za7n4RzX9O{JIjaw<+G@rkGNzlA^D~Kfl4L-0FJq$9LKf!j zG;=Jgv{;a~h7xT&fy`-0+DdKmRxOB2ULvTo(UAvDR*-297#FXc@Di`>FzZK*d`RMB zZje1C0%dk{n^Px4o>as&tSB;XGcpq}MPC6qZkl`k%;GdX9zy8T50e4AYcsHZJ%1&y zcxUx|)aOgBeNu<6 zQ?ZjgxtCT$J72DR|5zrjF6Ij50{OoL(LoXKjIz(G(vB-7AxC8?UOJqs#p*mkCB>^i^D;kdM%!L&1DbnrrCDg@ z&Z9>du2%7BsbMx(hc z{aU~L87T4U3v6yp2xI=&M9go5^Y+kQR~lRh3ABc)9jYTgV|y%lVI8<;5Fv_AQ_5<#aKL*A`ROU=l- z#3eL0)SHhaEo#rZ)9g}X#snmYT+~ckr^39-L+<*QeR?~z7)00A+4SO59w*bbC86df z!zs{3BV?vdfk{gGrBN~_x44*%}Pi`W)Zy-jxnb2cR zkBQUmpBFqtNMTYjvoAi5a3t$$3>5Yf)#E0t_!y(UjMyaDWfe2fd?k*sViY;l_vqq|gY&9^FnFs4E0$PiS zK*CI7vrQB*%=!^BY%QRyt)CdIP3xx^Y-%AvGIaeM;@Q^RQy9SR5!33Cnv0TisNb3= zOCN1|Y^~oeYG5t=icWEpNL6kz_T(zkhdAfJoK+{B1vss!g$d}RS-CLsTs@+<&+cP9 z;{@Sx0Yt%jD%2G(ojn!}9mBkAT`i;rXfy~BEjEP{))^&SenRO`^YO?)#c+>@=0vcB z7TUSGV@`nNb-$1jLXw0qRcTgQYNB6>7=>5y)VG&$=HhpYkp}Z0C>ptm08m(?X-jJn z7*fVIIhtXtSlaR5lSwWPnWNTzXe|&kpjl+O24*6G>dAR_;Y{Qlp0bp{RI#~F89atH zD~u(vMWa(b$|s(CJj6?Imy`oJ2Q|~od;+H`bBM%d5nE+yQQnHho(;KjCgP)JUo+%v z+-+3c5dNZ?5umv-u-b675TEN@_&VlT8n8eEdKEj|`oUSTj_GQlaZfYoTAh7tvW{$y zES?H+UXO}f0bHyCVb5BymdVobk-9V!lTB+40_B6f#lg_>2&)yTFz*>mkofS1P#!PL zk+I^GpE&z65JNh8Eg`hnML!-0Bd=1}LI^Ol^fYRSG4_tn;|T_%swP?Ih7%ntAY5No zU!gdhQVCdR)lRl@n2Xy!kF1_bb+y-|`s>Fy21+v_r8(jF%@f_6yFTS$vvB?fQYxmF z+6wG6tR)}*uQ~}Ry94y4@C?t%F+vJps~UP@^vIcZ4s7Eu6I__oz~jLO89`|FGYwlZ zDP_gkLqu{W$SYUpNuttM>&K9x+%7=x*Z_bsiRJN<8xx9PsAgiA*Fl-mi3ZlsD(I+s z39DGs_m7Jg)y$OAq7EpLAL&)f;WSg7oX#V0y}V1-Y_+xZ-e{&_>uaW;%F0%}#(LI< zz(NpqFHf_1Ys$=9+~(`8A2pHN|2b-C_E@OFT6A3W*F*f^X?YlnQU3_z@gY1w{)HB~ zZIi|%ng`{0LrbuI_nFjMN zQFFy)v@)>fDjfG_AgpN?tB{HoH0Ncdm6PA(>%Ptta^!=oVxXZ>u~Qy(5rCN^G3Q@r zr#-NVyGG<@5x~n`g{xBuN>^2y$*aMKVOMAK6^~DH@Furz>K5ZRm+GOe=g2I6lxB|H zUR*OV)|_zdN_}^1fFD}O+MzMxI>OSfMIOpVBDvY&tR;}qj7Yt#d)9cd>s;a#SG?S} zMy}+Q&9xwVt8;QIKQPR#_2W(h*u=@$UVP@US_Zjk3gp*=d{rs>9YkLC2G`I2Oxbc1 z`TtS&B>cDfU%mb%X2M^z^PfB;s>VH*$62p z%{H|<7e{G!9!9uF|JLtwgt=w|>xWR^=g8qXlczAWvGp~RM>^%PkKI-a;uYpt^D<^| z&CA>N9OFoYh7@QR@r_k()2KanyxS4 zNN+2-{i5rdQK7vzdc26~YGD*(IxhCA(e5f0Z`I7G%#Hzj{p%z>;w4)*70-n6&TH-c ztm?C7$;V)|uSOqOomELNMcSraF%CC9_!22e_`0 zy3a8rH;6(N&QNq1%Y$ZJ4%*aQ3wGO{6PYaHQao%*p@Dg2Fe|{+#F&)su0{;0Ityn- ziEvQWSy-8pjJ*0nWacJEdBWtUajTlCt7>7qnMzf04l%EkIZsKKn~9rTc#2y;8rJ|A;(9~TK}##S$Y51Pb@^2?iPdif*pvPw!bzGr zJ!Lywnffe{y?OHbn#N%ES@n$br-G1FjU=E`934r=yADn^75HL+$Qk|TLNBA=q= z=luDlS*teS2VOUDAp9GtoR9*mJ_y2x1hqy;^6Hd*`!ikzhXupZ%sH3W1Q|#TNxrr9 z8@uO-=TyljPOT+L;8C3o(1Q?KSzEf%+WM72Mjnz-JCwVZ9ezZFSzDg zITFs9s?Hc|PSQ)s$VUthh@nrRTnF0O*w=>3I?|;NRkEAhTwhH?F&uCnwDIUV%W9YW zq*W7l_IW}GU2Xkj%RnW{KyWvTBI6oVA5KwcsEEmhW>wjjP=LfuCwQfsI%@r3Qym}O((*nlf%c3H)$ zq^Au41#rH=lm>dgF|W-D_oDhua;#0>X3)F_?wk~Vprxf$u$s^-D!iYpSlrCTmYT_= z_2W79$Xk^_F73IDBd0Wz0}UZI(a)Z3vSvMGolx`mJy#SiXi9=HOXD*KV>Hu5#i<}Q zH!&7vA)RLN(l}8q7*bh*Xmz$`c@R4GKBtUu(k~2jde1ly{p6JtbUWVc3kJV}2~a?i z@zn7&d8`HX(a?-l3)tXmc^FQNc-eQ?-&>i>O?kL}sxxejw;$>p2_r~(#^2{q1LY+* zIdR1M+?6Bmb9C#g;mW`mHn3_95RCu)VtjUUOq`h{x2KsNH`ju3`hk=kYhqxwURM?n zX+iXBNZDu$zo-w%M9Kx{!c53Z+gT%D!{~+S4rFS|rjaXB`W)|mK$hH=>RLD& z4#ptVLF^?s&teyEPjkjt8*bCA1OD?O;8$rj8^8~unOOZ<0%-sZ;388ndHtpJlZOr= za3okjn$XZsZ9X%%QGzB!HiZ%I)uN7a+fv+R?PcN|ioYX0aIJiSZud((VR^D{cCcA0K#r@7#LSq&xFX=={0{ri;Kg7W1a0QB= zOc>#-c?j$h$xH-V*45fF5`KFLG?TFGmrt%k&XUSrH?PD0}Ni1Z@s40vWhe zt}{XG!!U0BdLhCCNIo{5K}>GeKsj8CJ~Pb|YL>ltSm&fHe(@EEN`22$S)fz*Jh;be zcC{1^T=D9jSNoO5T0g3T`1TJz#SRpXiELGoDoIs0MK z3|#FSF#@cKIC-s{_YZ?>UhY?YoESAw7;E7O$6M*(>Lub>9ow<{j zpTNwLutIvA=LmTnn%N<`@zRl+^=YB}VMJ1KK$7mC)f+4TBhiR+h|fK4@ft#3`|Tun zq3|Kx=bV$-m}IIFBr{)b53+pCzJN~oE&z07Q}b0{V*(^ z#DRGjg%Gkgd+<@jOl7`gi=+2MW2tiE!D}L7(HKtsk-m{%lVXG)jUU#`6@4 zWXrAMfsSwphyV)Dra7R`2_}s^M06n>B4<<4dOg~0b5>ql zzUc_;1BB^;v5E^*Pjk)K(He=p2^Jr6J3WJ2!NsE@r478D%IdX1Ejr0nC-Qcr=B2Y| zT83_ZpCt5$UiI#jBsBnka@?dqQX3mvb z8HlmsaU?IlqzPvZgkhI^4!p|RG`p^Z(mq}@?T%q@qDEde9hpxf@U}h~N+bFN(3wq= zxYYdTV0nxXID_oZ-+496zj+`4jgyeO)q-8tLIz}EpJ~*fRDFR=0)f)f>P#y7 zt+^t3ZgZ~nW1#qwLvacer`AK{ism7;sp}k!C&q;n-=EuaD1r%`N(9!dN@(1Jcs`6^ znDp{w4t*nLZhoOqnn{}|gV-EYF%{kFTz)1+EdRCJsR=}3?lR!)#XxlN+t+xj&Mia? z#!F-BWjMxWK^HwuHTfCd_JHO|1kk;D6th!t#C?M^^AP8Q?HDT;&zZE-44ZP8iE*T0 z(-{HcO~d$m9`N`(t)oN!TZD{JimC++{6}8j`7l@M(2HkmR}3+pBYRy-I}Dv>RwE}O zpfflg{iYeQNk+W7I8>~4W+pmIbD9|JC7~_`di_*Gj0Y7kyt5e7Y4-O6WKIYbTa&pv z%}CB%*@SAE9izm8G_uqJR$(3N9N8zd@iLfs`M;_m3ukN}J@Pxgeh6t35Y9fwFpiDu zOKyI$LF%(ZHYH`9iD_;ysE-3QvKCA(MvM!_p66Eh;Hn#88@nq!zZ~rL%nL>E@#es}c^>e2DU_(yb?{b*U$4% zMRGprk!0&uq%@mOnsFG={9x6ppO$;cv? zlmcTexqFPdpCQB-u!Z+EJ0TNQ9@diVz%tGU9AQ_u^XQ0!^AVSgYXLOB&lyPu5g9-u zgIWNLKy$w%2?q6v{Osb3G5mhS0rM(?4w<_6uICsd5(OvKP>*s7%zh6wX3z0$NNAca z&Y7{pn~+s47x|LV6U`%y#K}pJXj?pol*X2>Mk&!0mW^tR@llIPAGiq{`|wDSS_pG< z+}RW$J{tLKn5fie&wiasn4)2q+vkju$95cH)N~0EZ=n=uF#ySG7vjyA>>AOf3tC}7 zc#;!pb{+r`q_yO{^@WFwnS*EM8D76Ke*Db~;+vQKI93cJX7dAa(HB1zXPx_ckvR@?=!L_D_KpDv7+@+T^>YhmVzo#0?h4L>M(cj&BTctsD%WZTbfC) zv|_NV6e%;D3hBjla0heVEY!gI(U!o{X@LUEHSRh=h?4c!4{-6*H?ZdjwA6G!&ylB?pfG|I|rTcHY5vcy4^hvsIyi-b7-{-l^G)_JI2 zAqcFQ2t}hdAvn}`Oi`3{^7xA&Gt5B;}XjHR#Odg~GxLYQ8#_Yux&Qj*R4P zdyZfS!f4*A8NmbhCm8sowkpCojI53Sz2cJi{Dt3-+m~$u(Z=}sMgJZj{nQuZhWj^Y zn#z|4KWIVq@C|vA{xk*qL$PM*lK9=9ZVB8aVYh!EuWZILt+e+wBXiTN$p8x*1@O%D zJeLh!86^wGRtuYfr%@>LW3+d<5&>qK7IWG13(Mskc^y4sv&6^mT@g`h$cTa$#X zT~~A!Dfm<}@`{@d^6`{s_Tj7$byA1=y8g+^e*RSO(9hM;k1DZ4q z`qv3P1~-nxH;Powu^xERpPH3Ud(B07pv0NS+M3=Q;6t&Q znvup0a#%Byr5zyRn7myl0?|q%o#f?#JvrGChdVqzwDoH=;&PoUM`>n;%0pPqK$^9g zIw?)FLPTmOrMG0(%%k`?_xh48JuK$>`{O5iCPXoH1D4a;td4P!f(6F{_%>}yfXIKo_{e~#HcAj zY+Pqn!S!r4WW2mQbB`q{&a$`lqaTQ@b6Y>aU1#{%mnaa@*s{Ul|8!`dpd&objd+qD+cc*33;% zd89eDR*mYLxvxiNbna2=YK?RB@1#02aJhapPi0a*t{djUwLyUO&}+Nv!!dcSziw=R zbnA!wjBz8ewaFr0dccyR#$DUwCPNcFvF5Ss=X`YphyUYD#T-fjj+%jholXwnR~?L& zMs_ofJ@zG!`q*A_ zJ0B9ydE(yqrid(j#KZ57@crlu&yBbI?(K2M^N!Fx@7iy^G5&eWN8|>fsn7JX zH1YL2Q)2i8vu96#G6Ds&e!5VQ#x5KYXwc-TgO7c2P;tv*Trq-BoU%Hf0iLTf8$qHgpS<1&Jq_^5OFVk?z?A5;DA@BLz`W-6+AskAUY$u|8t6~Li8Uv0hepq~ z@D~?j002M$NkllubIyG)T{Tp%O41OO6Z#$wlygu$*wlYRAp^f;Z!IGP9j4OZs(>VRzABk1- zPlzjiaAI8l{qM(3t2f5v(ajmn(hS8^d@mZEb3pvv@h^#;XU~uhtux)Kg|l%k%sQ~= z$e?ShRYnB zlb8J5RM~7tHi);ieAb}c;_mFcPMCp+dRm5iiMD+7)!1w1ispeuY9}k!q#4aT@SC^v z@P~YftYli>})cpZLo8 zanbvp8yoNVLwxRy?}?k%Z4(dQd#_lqU|}rSbzv;tdr^$u^Q-um^L`MUCgD-jKue)W zlqIO*0R>CeL$x4)jkQ2n4P}y0^kghfdO94fj;Zyd!F#9d#R`3Dy9PKY-h&g9FoI|E847LZ|j#naFOo8 z){p)!r4x{G;QAAttU?!_I@I!-VxQf#W{2pi1w83=ECzNnQZB_8tV=X-pW_2O7F<-S zF*A>8xo0z-bcwE)ue30-;aaaWyB4G~2FHOq*Pa`bKdajDItjZ*A=HUb;&v|OR{)JD7U8ln~5;1H3qvC}J z9uRZ3;SYpj>dr%J;_GLf6uT~15WDZWPdxFdhsPP0T^BDn^Gk8@MgJNzhnL1@PJC1R z?5+*5`{Kp1`@&st-&+uSF4`w%58WOgd+)bn^*VEUi*&Q4)wRKK%yj}6q*$~uvOpc8 zTA+FDDXyLyj`sZo{4I=GTb*g`)~~-VW->c9C>uJ~(;d4R5!BfonQ;|dMxJHEnIW~8 zIZ!RS`<(A90#$NGXL#?26!3`>8hG{>jwWca+zV;~C$JfMwP-*%ivz6Ht#A?#+~)`v zAC6gP4H2s!fVx1N^Ee=j14`FFoV9+v)oJU;U~4Ar;B``ox)sXhF)MO7O?E_uKJ(I% zEngrguz!G~BkKe#_jM^?m}t$J=6nl^!lo8Jq6j z`n9yg;mbFbSa!=z@#bTWk0-t2o$;$1@6R>xyI}c*{H$j#juQ_#Aht#P=Fy?p;qZvZ z<8j$^JkI0iKe%O{P4~tJU*r4OUW@m`URWzYc z!u&AldZVDsNmT#(qg}cQXBq)=K&OOvdzn~PO;6+`uV8uTsqo(+bRCKyBXk0kd6dI; z5$CKcqChkcHW(C720C3F!^n*u9*3$B8K`Gq(XY+mn=>*o$af}mrY71aUgUC@wGE_P zsq026&G0({lJJK6V9>btW{-cGcQpbcr`pDj?v?!%Yg3I){o&y zrVc|iC+wB}`ZYV9eO?S*U@1ndqG|2bT|=)Qg2~G)eX4GdwcfjgJg_xi>K zUi$El%vy6A6ze#W&{Dr$lUFH{S6D@~1L?`hR(N(Ohu@5Ky&+j$ZvqMni?rF|TAGIz zO@~DM51jZ6^|5cDU!j~AJH(qo;MQ#&kV2byJ?BQ*Um z8#g=T5+M6E%sCEVg-?qor~zx~d8#L!C^H2;gZ;Zm(1(^ zG+YJKiz|j^$McRmJs$nse~J0?w~H^m{-~IB;)(Hw7e8I`F?>s$jovFyd~Lkyu>EYy z5tfZ2i zhdwXEv{2MSUZH5s^`x~Q;&mol-`+GAIh=jXM&l?U7NFZ0=I*@Ug}GFCEA)i&c`1H# zfuLxEc_ES5+g`g9fOM?Z6#TuBxLQHQQ%gKqE9PH)2D8^or41k|=TxTB6K{dN?9^D}Y1Rb)aD^ zJB(Ur`a4_g2ZsD5_c?xFYnhg>IgfSLz~wGITZ z&Kh@QG82X`YJ*#v3RiYmJ5bJo*oSKx)U&qlOm=@bj9gZ^| z_1JjsDQ}9G9`ta+WA(jP>ipW*ofJ>mbGG_*xc9Ns;@!93s?VV)8_(21er3oy<_zRX zxBK*`)9W{|dPUaa#Ld0Y<7K$)JctVi^jT*B(IGQ=X>fBqtqu{En$?W=n_26HF&s{j@7_(x2a;RU-Ha$ALI45&N_umS1d1r3m$T zz!!1V*e#sS5Ud3jAHe`5UMB@Of^$>PL-z}tHs(=RVBa)7w*&yM5FW~uMe_q{Iyg5t z(@)NV+r(`HH#cSvN1tkwbJ7?<#Sn_$?D4%X4}bg-aqg9u#$iu*PW8K5v0&dgaGwSGn|3iYHTK-+ z;Mfx}_?2HQeAu=zGD2l;oB2j%@NU|~_vUnSV1NCFjj?_hH=Yhovs#v}hFuvn>1MV) z=gLKP%`{u{@TeHu_~1~NUP2lYn7$0zQv@sB>Rf!J^%cuSP!fG3%RXU!?rxCwahgTJ zuz|*X+dlCLo}%~a7Zf9D$*F3-Mo5#AryBVf$9;)A494PwTW8vd!I$RESdRNmRJ4!r z5hov9=ogHk>L*W16{GFQloRu9F-d?>$N=xy^@Edy_&*V^?95O80+bGoG05CrKgsH} zv8ViZ}k32uKOEV3o7xjH>l>W-BJVxE0Pp z@h}~SJm#Ds&v~dJN6mv{*~hJ4L$iuq;n)Rs!uwpp z2xlwat*sw1zPGTrUSqC9Pktx!K{X@1){mrU((G=I(*jY&&pp*O*4}egDje#`BF;pQ z4H8`UJyxN+&mlnJur*p5I3O8=d0>niHFI67<<(Y0@g${e>YGB_wScxmza~~|BdZ|2 z)E>9>BgV53A%|U9cCA)v$)7diBowVN2M*-itG-MoD}&j34%<_6-GGcjOxB2TrbR7s zP(Mr1QM`3#e8oUlXLjHBye=%Mf$J(Si3qgK3^ir4@Jna}Pq^ol-^^RRPRL)$Yl>Mo zu~S3=q=oZhLQc@yIIjB~Z9O^;q0u(k!Ogwlxg`$(^l2{T=Q!;}*yru$O_h^luY;Zw z-}>K6V~+!$6aVnpN5#ipdKh0(9aC1_7 zXslkoJZA5@I1bo*57dxclVTBm2wa5xv1M&6#B=+6i&3@V&Av+7J&!fXX$-H&n-sHe zJXL0F6(Naa&AIaXnAb0{z!0uOg##YepH#t8()!S^=rZsw4NJW&kMRKU%lWl=Z|h0$VQ zPzH8;jdiYa&@64ls7^)F1z4Sc{tcn{WbH9mR})fd2(_^#V+>3U$_2^+&%zVqr)E=u zgDOT`1oMAss06SR#|yD;P^#aMf4C$e=V(R@0Or_abh2N(h0E;=ZexiygZ1j@z&ui( zxhOLGJ?@H@iM))XQ1l8;W1ojA=xdA4KAVD_hJ6mnC^HGvVXQr)d?tKoaxB6Rg+IOa zni!t8AwK!$m&T{QwHxHIlwa#L)F_aUxb{XneQJUKRQ+=RS0$G@L< zZruHwIk9&AuykxQYij)N`(KFf-t!2&7Y8>JzD}VU>(SSoW6fRm0=hmEtsfEG5}xtc zTDZc#gsYE$9(UD!U}e)^yjB5Y*4VEP@9M1Frl%Uv!>36gmAEiye(N1Ha0CEKqYIY( z+UJ?pd#2{8G@>M}n)Xx|<~dTM6H|w<;4N*A!%-SdV?IYQpgs8NVY-V00NJw^Al7^< zmnn5rPGLzpCMWE4xpM3jFGD?tyktBFnvF#s1W?-IbZ_uNpx~Gz( zgBGvvEn}|}LP3UHstqRLtYXwbGMcvJ&HUtMx1}Qwqk8u_I@=zU)Ah^g4Q?sI3nTpPn0c{O(Wj*C)R(zIyil@i4r)eF)!6mM>d|`_`10HDi6; zdC&c^apjs=v34!qpS><753R$?;3GbM_PMe8+5=*A(+1UG^7L(E)s5eY8!rcLbN#UB z>bNplA8PK+QFG{u=n17?KJ+>4*Fx8uvgUQt`T+K0lXqZc(_iby9NHP<)(=41crpk_ zs~B9rmV_v^;#M3jZT;Ns7eHKjAEPwI;NaMva*&djUs(`fh=O`))B)pOD}0*zxfs{i z$!ngxd6h^go?Atu1`@dz>h@BwYhLv*z!~srbuV${U?o_719i-pj>pk8?$I^w(oUcB zF$4kL8-tovGf`$DLlX-d&DB7NR~TjG;u)kPtAXCgNQ~m`IJ-aQnel&rye>AZSs53-|M79! z#Syb-&5Pyh@LR;wUmsulz?9g$?TnZ-e_kv*{jKqn3wMm0uD&7O^vMh24E#Vii?l<- zao@do+3B=xVs!1Dv1D1q;uR}mB{(;&-y9p(Z6qo_ea^qdb$iW=O~d>|LcA_-+RV89 zXK#%7q`~V+;p@&PCSw3`u-;b0g8e8JWB_1JFnfEAN8g-&4pvlq2>!k z80$?EV(`SV=i2i#)?4Y%K(8LUE=5aR{#SYI4 zZqA4W@iPid66_6_o5^faI8a5}N#xr2X2;az&HOlNs=Yc>lQLu)^U|0x1b{>JZ&J{a zn+K-!8$~t1Gf0ac`Dk>v#0Ss6CO$lEIzDXbj`*kD_KCgDy*U2ihy!EGx1>z@1cz)yO(%4gs~k8`dC{vCVn8^3tQvt$41>*6O@+z|V&|3LimGq=XqFWW7? z`nBWZlrNtXH{FSsWNpCvIFX+pQ@dgPXzcT(m>Zv!`!37Nn!}gI?9q&U2kS5!zb; zvR)3h-MUOPSPOtfAuB0zFIAlzFLP%KvKc2q7<3#B#B~&qaqNHzq{T~$;x=!Bo7FMI zd98e6Dr@Hadl;IPka@wJb75}QuFj<66(noo#VIa&?Q@UE%7X}sM@s7U1C~NDnUTs< zQzqm>{Z64YOkb>ht0feAS6K7%<@D5F9zHvL(k-trM1Bf(?%gLCI zEa;_8x)orB^1`TUcmp=N>NtJ!(1d0_&F;R;% z4^7IYvu&=CJrvd`Z>;m87McmuvyZP=o z`?MFt)!YA5{QJ9)ideBU&VTn~<7@NJi3|VXS@yJh-5KY-|7G!( zGbhK(p1)&U@tvz<*EQ$FjoG8gg&5pU-)k{V>9}1^_UTf%jB5l?j_UqhRX(M}eW;DRs?&MJ&bK#1+s%c(DBu{FQ z2I}E|C6~YZK2>@M9N7I$vzT;^N>F}_@;rH@K-QA~HDrhLx79`*w|1XXUh-2OW5|>9 zR*d)?4PmWu{+bu9j7Q$8Ny>q_EO-`2!5FiE;w?7tD3&A=;JW9$i$OVHt0*cKP%)4N zhrBiBIc+wPTPBKa%4n+)_RY%^Gi40)_Ccz-Ood@B*nAwTSuPxC*JHKh)kjd0n{iGh z6z5Toix{i)>LfGaz;om>b4FRaK@x=H8w287=Ne1yGUSMf5TYuT<7nVg?YicOwmRxOyzt<*b4wg=Jd2~szZ zjhEUu1{dDm<2Ef8KY}k^AB{cETNZEn@-{Jb`L*%-mpv}_Kk3H=7$iOvx@9*NB#~&P@zvGBFa>3@f2yAzL{Jrs=%`4(t zSFecAeD2Kn>Zi_*+t+Q1;rwBcx%tG`g2$Z^AAZ`Rm^rP@+O^1I&6@arooydm3xNog zF3lZ0kVu2(?)BqJXFg4VJh=wK(MXG9!?`4|L##ma<3 zT@-K;*H1r%$Zi1?CXi5V!mx`JWSkI*Nm?^^gk7R=;rur(2@fjk`RHUtOobx}NC^OM2<~$UdOm|yJBBla zjb=747!}#3Tmq4=$3tWV6DwZE_vcSWH}NqXK^s;ri`(y67E|yV^5G3@W6QMdW3Rn- zi|u#ZQQ#R{c8G1zn>KS+Y%>Ell&L$!3=mA4u|sS>6+cw(=+}qWvvu3e*(KimvmeJv zGp5Jwc)#Gq-~CBE{_rE?)ki)q-u#ctW7mBTh`n~1lS;OB;yQQr==bZUuQF=RI8-eF z^xRcBhQWaUfT-@asGjM{esUzL)tPmyL?GrjqrvqfG1u35aZ*zldK$CNS_gvAmyvxr zWc!Qu97wvkIFomXh%;xddtK9Y@dD1bg0|`)#B#_(O*jF|XtTje8ya=f<{#n`Uoi~D zd`1x4X*1rz#Umiul!|;pi7q*D8eeC^tf?|HvftOBY~|n?4)J+oU>+PBm?o)FNX97) z5b499RfK&Raj5lk3Laad%kDlCjfRlI4?5Km);_O{ucag@Rt%+`WA-^O992oqiB!V+ zNDytdcD5!$0c|H(17PM=VDg#5`vBf7n!>9F9v~P5=#O7N5<@NBh^ed$V}rTL(pY@z zF+l6Z{E8HqKDiWJntLw!J;t##gM;_Hk>NFQ+s$|5CN>p6pskM$Bh&F=2Y4cC``Lan zYRir>ea0-fXU4X?$IXTv@9~>HZAQ%AUeAw~ zvY36)U&r6S{P1||o8J=CcX~wp)x#g=n5`VE7XGEJ*Ol{SJ;&|2Hl?g2C(8QZto`7j z>pIYHfrR_o&e)bn^&Z13;#xoEa4XFkYarG}B_wO#55Qz<*w;M3MS6gUYu5?Dsz*kP zgIbBfP0iPM&K^dk#eq0s$j7lZVHwRS76xQe?%AAPc7i`ts$Fca}=xiK- zlLk?Hooh@}OM;%`5-MNEt8g9Ua6Zk=b7I#G>~mm{d3x)Y z85mISt*x9q`|(-M5#xSZQtDpf3%kq5KqT@bfLgz*lU6G0B7tHhZ_Xlp9K%Y%a`rUS zgwU!*7ikL0k=K*8X7(kRvE3dTf1hJ0{Z8E}bU2x<$0y|y$N_no0Rp`+wRmdMxIcff z*`As;-;C;Ft#{+v<#F4R`(o;>>3E#CCPt_17<=!vYizq?Jr>&mj{&F0%$eH;Kf+-e z9{=ILrWAr@!ugYxMK zfd2X=Ax~_oX$M#Gt!dVr941`txiZ!I)R<@5sHYybm5oJ^lri@??jQ2nNpy110lWCv z#hCH@a?5&ZU&AVXqR~2#$Kn!`cm$wrf>zhm6j2E?1_+08B3Oklm68gq0*hvh=(cDG zE^d-#tDd9#3ky;S7P$o|ri)Nwe9CAydHNW~|ImRd>!#VBeVOb>!26$1|#QwUGlYEI?qVu35Z4h;9!H8WNr!t+)`35dYv;-?HFgj{SEQkwXiS&+l0l}6=S%3y=t^|Q+SV8aWK}IG2m6&aeE^Z^288*sL6P8Okpv!XZ}_(?qZK7W{PQ)Cm+)M#a&P9h_9tJ}>*#1ml5oayAj$lhd4aiR-p7J0( z^9xM3dcE~?g%~fYF?-IRkTw*nZ~1xr?IB0R@MB*X+pPX}{P>oW0slxUHS{NiyPMkbp(bb+Zx{f^OS82mg z^%H~#3DzllB<}3xZw1PISiC?o_(AV;E@YEpO5~s&P3~HB>5@5X!RrZQKxT|vbf4_4r}aT=;pA&+!@$&>1@{tsj>ELzKw%>k6bvwrV^l2-=_@2(VLts zYGZ3FUV4ZlU(TNK;>Gx(e4k>RmjN1bGdIoRH8XkdyyoKA_esaa|9jy}*KSR>xG_H`m^Ocg)!9DeAK^_Lz&#|q( z6?LO%pA_I2MWpI9YqH( zGR8U6;9J8BOn3EhPF`6wYfDp}WU2+JC}vFYKG9;+#O(^XNVyL-$y3)7vzK@MdfBe&!yX)Ne(Zklpf8Y-Y4llnYzWASC zh`YDUjVYtc<3hwAbkXNy=FNM@$OG5Kk8g}v^UZI>(2{HM8%DfeX6C{;{-jsM&iEmZ z??;@3*Qu|%^O`v8Rqu~jxKG@B#n#2RXrKA34e6h_ZQ3-0QG#eynqK ziKZSk7^};1+6S&5nDxL#X>_2)c@=9d%xx_^o3~F*ZmxxG#ZzYlGg>0aoeg-&H)9@) zq;NpP?4}> zAd~*vPq*25h98DRp>MCoiX{e(MNlJ{UMfSshc`!RNZt%8SWKV$i1^UAe-=C7H-C5j zYVY{*ajRn!-sAl3Z~kXoy{Vyyr`wQX!>DyDxYn8DY_)#UNn2k} z&P*B+E6wID1~DdwvoNVSbi}Ym6htUf8D$M6K_fco#~dq%QFPEnyQ+h}ZJK$J;LNx# zmMDzKDTX{y1R8O^e$=y#Sn*|CxyYS7f7yKwapYjO;zeKjdpd}aT1m^?G*$z)qCtKWp{*AqJUI0Nb1x-lt%sktU5 z3nd{3Q^W6^>}La(p{X)v?|w-9=!##)PIG3&FCMcoKKO@8vF4s7anYAQ7x!+9KOwf} z=D7A}5%=u*pD}se?_=d1x5mHYnXM=P;DR`N)vsdn%6sF18IOpQU-Ob!u)`F5P~b>R z#yxM)p8uE~@qE`L+%K2KzrFR1vGl-` z{o}3({>PVEJG0+7S#Ohk3Zem`kA*r~%^~{&) z6+5{zi{k5e@EN^z%p}o%)@I5M)1ti z7TgdfL)XUjt7C&cRcbQw`$5e$mtP!suX4m4yTwN@JukMu^^5W1zk6?7b?cfqc#m!9 zQG4K_VpA`)7)Bv)&V-#8D=)iBH~0-vQ1PO;LC9DG)bnf2TvZQ0C+2z6=%0K2Wu z1XnFmJ^jp}^)p;Cy-7F?xYeokBe#N`LPyJ2O0$w2>|K3ifQ7NdaYmLziB^{i6ziyFCyN|Jk+%(v?(TES20%}rsl~5@ z)(*X@v+8TN>O&X4ypKv3EbOWV+3jiWQe+i7gNYfMy+kO#)KZU})@)qWp#p_eOzrPR zhz?`=ydL#6Z;6?6caOsk+g&QQU%3e9YxG*`Rjb#>bi7Jo*{T(B@gE{yeCRGQ9fX^w zPK$k?^04>`els|EGIsmuq!?be4u6~39|SXs{m(1l=HLG`PCcKr55&=DUl#8gy&<0U z;#176%xWn8=4lj7LFeL05%O%Dz+3!XKZT)%!T=+Jmz{bz zhFyhaj~IRxV`HO7yz~giFjySVm`-Y8WCFKWg$!sg(k>s4Y4w=7(R76g$1#z)YB_Wi z?D&3CUO#v$Zdy|xIcx8F134$T=z?Dm1t_!glbIMb^RcUZnp4h8YmtiVG>W{5cN~*( zCvYz4%gIBh+39lq06cuuCRA2m1!A?!5@=$4mwHJ>{?yfP&( zlN14Y6jSS$Q7~$5xu48i*c@psNL;JPzPZ_Bw;!P)O=#{T3G*O_7$~GbHJ4mxI!p&F zI&x=i27VCB*|<0a7OCe&j`8=o!buJo7{iR!^N3^edA5iVnPb>hggQi^BcZfAX6)k( zdPwQH0Ykj@AZ={U@72XndzA^uO}BOWgq(<-z3>t7w1w~iv+UYMvFVR^={$a@Td`(i z%$Tz!Zo7AB{2JcZ?L0Ro13z=-v^ZojKKUIVK{{pfq`>D0#(I2S#PBBm#t@I4@g8iv zv>~qk<@e*u_;k{UrSbMFu85(lzZyrM^3nL8yEet4yVU!l*T#L0An`Z7){?9pTjZ#VJ;`%uO6H~c4cr&=^DISG@Mv`H4jCr+I;%8zvA(De9zhqRt%3e^OVKbu>lwMA?^&Quu>Bt0RsBTV? zCL4Q;=bHypB`JfHmt(YCkmAxWHq&K*Ksay-I)}qJZtB$6vwDIl2{d*wWGcM99-G%2 zr}Pv~A%bxRl@I+MZC$H0AnsbZJSOk7U!3@l zr-OD%-0=M^@y<_ejMu&Pq7sE z4JPBf?#|!D>Bqi1-u9mN#oc$`h}WU-8ZSELZSmFlPmd`h55&#?cPD<>oDriNR>YEf zBJRKW#`x1MJK+t>>+pV_NilDy1u=K~nW~}d41rC5t5kN{WHCSYYyCKysLs0Nx-fzU z>YT(niKBX03)he#@MvuYhdFY$4$2Fh;?2?D&&D-^ zQk&JsmCv)(mn4G7yln6SKM4HP^t7pKoFe0K~WH2F)F|wo2Bz%m@ri6*ZP)vl#M?-QJ z7qc-&Awrp#_||BzInc}7+=l2HL^-71~**vN?7jA6bT0_L(K#w zN_vWk@uPab>tx*X*6YvTtcoc+&W&T;`LLj;!C%D zB9_j7QT*M>&%rl5#N!Dt{#KCJ+!Q=fHnRGT_{#f^iRYbqRvhrV3u4mr+3~c)UmF*l zH!l_rt%}=jSsR=1K{T^sb=-LC?Xi66lK9ijx8lQ;NAYsh&9USBUE*PLx1(}T%e@kf zGv^{Nj=F>4?6GFaxsF-C!Ta1qwIIED?aeWGTtm9;-|BUu_^quU`Ffg*mu5Cm)9)PB z%b{v3pW+$}Zs50apCfHG*U2MoW4>t#zp-G`w$aaSnUyDgnVp^N$yi$nXN;MiUku0? z<5@L0(6)9zlCO`^HAy~dBUzov4uzq~JOi2;-@DHV-Cw_~ zlJoayRRG3fy>QRt6Ib}0cf1W~bKJIcO>Dn#uQ=rcAA);QT>W1&<6~$4K3@5TQ{u^c zY#YP(-xl|M_uVn+h*!qRFF#0+?YKvW@aiveO~&6PTy^{J{zrr0Fqz!yR$kT{p%9)Bi7SyJImvOlyPwj`h3+yT+XD zW+Fdl#8zjo3wN1!smJna@*Jz<(h{W$yyNKC+0pcM8OGH)uL0M&7g2RqzK6JeSTC&~ zBu=O~l?-aG6-RCaQNQ=4f7@>Dsf${(xjqc>HL2T)+{7jxC*=|fIM$p00X7ql#qD$b zJjLtH7=>h3V#>3)s_pwN%ZKG!0`&h!4F(<&Wod?Ll0u>AH~#W(S&=%?I-Ti zRU~?+DtVlmDO#BNl#fYn!808dn<{m)M?Yod*+ll$hJY=(cqXFdU>^f*$l7GGaW3ef z`J4l3p)Hp-L0XW6H15(1OjS9f#G6aN3?2)gnu}M09c5l%GmkbQe|;?ne}lRgf35Tf6aRF1{*`fBwPA$+=o1b4!|q=U}iFWFd~N zUuSVZBj?C}1rk*T6s?j7Lkk-L#VUh%vX|@anr2eiy7eC9CDjt`o!hb#8$YQ3;hq>ronN-o|78!h3Ht%@eI3100Mw zB`-*=u(ESpxmh3JvJQnHg@gK$5+R7V8I!tbxTz6sZl zI_jR9NS(xwO6Fwz2bZyTTi%hl`Imf8%)#-9h1<6rqj>M%r1tkz`Cc0TV4<+#Rq3wE?XW3K?5CMr4zC*U1)gn5Q6BCvgDZ zU4O=DzmNg}${|ih+t@Vc9xVE;X;xlQGoD{&a0Vx#yR1%}JCu0jmkz~x-i&2T7ApO~ zm0+GZ;F(CBvyU5P)qoJ?h9>rOZ4+j8^#*d-Vm|1pdx6%sa!42%+|f+5erZd8|2iq! zrWcrgojG+jmfXCh7vs7n5~O^xrA&ubaK}r1oPTojtokKhA8ns=$lZqg1bd=2UFp=o zirah>M>?h8LE!|WBO^{Yr$x5nrB%y90vWp)n%G2Rioq;k90dmMoTS&yfo2aoNPL6gJZr(S(meC?dK#@A=RF0Oh0;c@AA z9~Ns?t%_Ou?-$1$|I+yC+g=f`{Ky5?(vBy@c^_d&uVqb3y_gpJiKttE>I&^pZ=mlLtsEjojN zhQYjs*9E8hQGrd3AJ}P7B}7dQLFgxs$v8WWY1XHLNV`Fv9m^eq|Oy#|K5TG=HDvy&Ljn>zc*MyS$d&OE{9+fKz$tpAC`1fEro+dk%y1kJ__ z4#+T^6q?CWS_h#W0EgQvD7w_)XM&20ekcQe>|8p+UJpdvpe}xA*O=U$Nrh2%93%-o zjr*AD3owyp=b|=llrHa3OhvxpyXhC-i`RbihjA)i_r23>|N5Wv&nH>=GX-`Po_S(S z*8Mk^ogXKC{1@@=PaGHf;{nzE_uP#Sobk(Z`9tKPFZo#9eA}II?|t{jy?5Lg?|4eY zai6>>?!0$-+_&`ZxcQb_;yF)P2-F)qJon6ls z$GYU6VXV>@+1N7x#P)e9owbtYF?i*`fxP_k!8rz?0tn$XaaRG{FE&;L31Rd9*skWe_uF({YIbmM(NSe^MhvALLQOpzyQ^vG?!Jh%2gH&*c}*-w=qs( zNXE1Kw4x!lQ8XSQ8n4X4!Cv5m*Z{o)q>b90IufH=(BNc6qdPx3xp3(vc4>s&vkNJ*(?V%`ZggKWY*M;$p2*95mQPcF?eV_n8r*#Cf5)>={CFJw{*T7N`|lp>?zss+Fy_mp@If^D9r3qu z%dNM>-AnI}<@ekgpMCdpV~?XggqLaEA4~7KCvLy>Cj3dCN8`a4xid-Xk$~RJRSO$+ z9Dq3*6r6X>kr8fHXO3E&>fC*wqP_VX)*UI0tKQoKS{wy+>*s)E!AY8X!pHJUVcTDv zT4L+*fIU3o3*=1CFWqm6H&Hv%r}@<0ZJyMS0WD7JhY->$c06Z#bn^NUXa>dTqNC=t z%4I);h$-$alD)y^Fjf|52GG#|8iWgy4<20)6$K#`OS~5(h2;sH%2C`BM=%Tke?Wl0 z?Bfe7LqkiiLGPdta*M-Q*%;{s@1X?(w7X82W2;THJaig})sTCGeHnbHKJ7K#=4Pi_ z0!(Xenpm*D<}Rz(LSckeA}YW~iH_>G?0BjB)tBS%ul_1dd(HD=SA4*WD5;RI3Uv@p z`0)XKKLXzvzy9gh~ zZP&&>9W^&jc+Xd2DgIXBy?5V*S4{k0Jpa)PeBae1oHZ+>8p)hK&q>mBu#fZ3xpyw< z#GzS?_4Pl|bU$D&ZK3BYs; zl$sd}^F*303_sE5U3rMldQZVe3{S_qV6OjZyzS7JM9e)tjymEA`Y2+5?;DLxOYy!M zyi`=Y;zti>K8tkFvyX{i{q(W1;4yel;FcvZJcI{E(u3v1$GFd1uxHFmnGxH@9Nd^z z&D%K^Jj{RQV&44b%tAT1>fvv+m}tKiIdMqnTGfIUI#4{CR1Gaa^1{kB;GWfWKp#4+ zmm0>3$vQJi;dCOVtzRaWUlZ=u>n~ov=AYJZR zhx&F%n%EdAB6(|H$f^RsSDJ~?V!@05tPODr=b2_;RWroW=aEndHGbkfX9E3To?HXG zrf^2(L6(|7eW|NkC*S8L@tbr`Pu$|++GRX7!e)q^B%^{}^X}DL;3|{>y%D?pP!My@ zjG$|xS}26I0*+8;N@fa6LiLJUczRGzVXTSOtr{0ENzH4{rib&lsZy9EIXEE4fM({? zbgYXO)GAU55Dn9@xxdcKYGP8V_W>4EXCkBvia6nhYx>| ze9lK5+!68Y*q)F2oA}*TKaXiU9}qL~-D()0RLaXl4gB*LEQs#5wnOYRf4i8qWKQh< zu(=89ofwyzTWxdVRe>y_gIZBAq%MqAXDVkQa|W_u$XM-X`gENTgI3tAvt*=efH#v{ zrWJB8Xe@H_R#wuIg!Q613G<}98AAqgbj_pgNCMnXfMv9<4|<7haL>aVr0=`wXYrONz6kc?TF8|N}T4t(k> z<5&Ol_*nSJ$KcOXtk5UUQx)4Jd^-Iud+e^h52G;$FUcR?aemC_E6wuNW(~lwRtwI? zjb&=Bj5NT}>dc&37rF*&Asj5&VBPvLkrR?qz2ffk3X}ev*T8jxoJ?C1+uA(H`Z1vG zIV+{)ZoV4PU_q9EJ};2eEC_RyW+-TLD>da~7z0Q_obr>34qkus!mbl-8d@3qGFY=7 z+mTmXIuS6?xF+=YX#pZhBBOE1-?Mc9O`|t)hxsTiAo2|gTrlXO!glrKGYRiKYzlx4 zXLd>JVs@#SuUK4P{m}$QtBC?VpMANdONFF^S!+`a1Zm*>o|4rPU%Z5P&OEcoXgPmz zquEncHOZD!1zUeB_ZX8JH! zPgrxbh5oLo&aFxeKy?5hc3}Ow5PCE+clMj#W2epJ^o?0Rnwk!D{A>C?uY#Jgx{w{y zb_GG=_Jzv6EP3Fdi=eT-k+ZM0mAeyk`)f$>d@LAf6lPZrh-w*0}*4+aq6|8%>a zwGa$ZqoaDgq>8I}Uf0Y`s4+Zdn1b0K+|L5bSL^3$nNu{r8|B{Uco|fAinqp2pWF~M zphMJ-AV*Erd1>i*J?bATQ_do}Imt0u5X5>I?;PmkW=#v5&MH`MoOac)=506d=2Bde zxMn#>oMHXhzyZPuuM>odS7q(jw(Q@ZE&u>P07*naRO_4FWA^KtutRKT&f0Uv11K=h z$yMX56g+_Rcv}D*Fv~|?{?nKdXs``j3&hZ`Gd@Xq&9eB#k1mN%ec)ulKXJ~1v0(E} z@saQD6Q929f_T~^c9LD0@u4!)W;`agpD{J2@mX_xAHv%QTbnd>n|Rd0hvaypK2|*? z$41=qHcB7Err>?jt79EMQFPs!Shi+e%*5J`P!t|`O`0?FJFaaD|@b`)%?7l z($)%qs&FkkXs@RkJ>=^|X!5dg9@%f)CG;V#A4$e)9@ujn^cpkUf++b?3#^9L7{Gcw z(BiWO{6R8p?d8)s)_qQMprNwi+?S#2&)0?_*+;~rstx*{M+KV0ZtEy^W@2;NmOMA8 zeYJkB7BB@Hs52R@nrA}T4CU^(pC|Fi;p!KbU|lBw$*n`;O{duG3OlfVnNNJk7*RWWvG!Ta3Q%q^;&6C=h+k#Y0`ROA8MK^IZK3#-ezw5CNO;fU(p1 z491|=kM5##&shH^If)IwY%Q*H_S0FlB!zcOvZsF6&@oL1 zI)BOIxv}d<&0F1b;I7n?NMLK2y@u8!bKU2tDc9UjekF$Y2yz0&@+?$28j5jG%yQ zsm#1IE8Y-2a5ACtXg=r(=0WlzF6(TC9JkC(ud?DWUbAcNBmfYD`rLc{FXQb`J0#A# zH{z_%UJ$#CE{UUFdjiOJi`TyW?_=(iO>x)V_uvOOzE==G{Nc?uFMa#BVw;_}kGt-= zD>kiP8*A3C#SLLzEZS=!{!9ga(}4#!L%4wqjf}?Tb?|M28_fg1jiU}cFfLmH>ap#= zo)zaXC7OPrh?kbW_>4>NI`rq@quN;u&MN21iE&u9z*$RL{zMZ}jZ4uUpt4U4f{Lm= zNPt1>$GU61&0xP(^m(bn>jzw|MeY-mZ$&c#nVU*{9>Xn-$(;zn+ksKZp)TWXE4a6x z_Yq4qFdquXI_f$R69Jk6X@w7KfEWVNbjCpp3P*N>;e#PV(&YdWYu-Rq z49U3WB21V}WKn{aOy7tyca@1e8A>KJ#vqm_9g4HKYELnzHS<144oSjMd2^JEJc-vG z9$9Bc$d>d~XXhsh7{cgh5_W0AgzZZsKxU&I7#?8I35W6537Jyq!1^&(0f^<0d*0o+*WuGc@x;{>yx)Ak=bs*LoV6S7d3VRA4eMh)exMu1AEe)B@$P}26Y+_C zzUNKCpUzpgW<$)JH8VDES`}wJZijg9_0~Li{8G%j;2kini)r(w#HRZ<$CHmgJ-&YK zJMd>OU{>LH9#ad>Q$$&3^?mUCd$j<`L%Gi}TIsY7#amfWK1m=Kk*>2vVEt&LpC=rM zeaMtrTg9I5cC9)oPw_X%k~? zQh9Adm-hkYKwM@|u2fzL!Qtz^C14Z?lvSnDkd)-YK}h5zuVbBI@cR@Pv^P8zimUHa z>{m8(kyilNQ!~cwD>w5phzADz1$$0m)J*ZJ6A7%BLz=TlBsR5^WIh0t-0_4HuP_F~ z*T2uv?UwZcK;bYdmPh6#2fN9wxmKj?%#pP~Pjx1izFO}bdk9CxE2A|sM+uNz=2cwk zLci)kJ1&8PR3a&~|d8*YdER8WrbYgj0hZPB9eAZu&)>^o&E}>v;V2@h^Nm z-aLGBy!-?{88$CYKJ{N>_N-0#0KmKPq!jLXc)9!J;gLA}AHNlo@I&G~c$~LxJ??pH z*Whon?iBm%wKIMhfDhK<-(uzCye%68&wIs;ZD+*Fr8mc`cUtUEnCDam+Dqc>ck;6+ zR>n*`-?ko)Ip28J1@WOb9~CpRklaU9UX`d?^y|@|KMPgYiD%rcU)9;vX5eva*Gc0Q zQ7VA3Tfdx4C311$pICFEIR(!txtxdQT0d(eErFVkB5aopU1tG?eS%3;dj@0ik%Isp ziQ$tl!qO@dkJ+a^-Q?nQGE&q6q-Hv;ivby^XvATx#{;wjm%kxof&!YhGO7Sd<^r^d zFiO#Gw}u@^*)-GR>hO7`Tf$*Br}NI^T8%NI#g1(2SyLeX%p7>U4v)nO~UpekvS z+ov@V5C>`D0AQ>}GT>aj1d_XW>B?N{CIs#>_jvn80>>~XuRU^$q*6$ch-qfcC&#R9 z@yD1K9~7VZk59)*&*Ptd7>z>@dun|1{4d0t-un;n=`;QTzy9AZcAqo!|Ji#Jc-yY3 z%y-`YrVk_#gwP{kPn1RxMZpF|RFI-9wd}Q?*dR6!JFtAHrDdTaVi3h3*cO5f3ii_5 z5PXV&(gz`cNCE*uy4%$E|GqKiT6>>!Z*I`4=llJf_w2Ri9OE0`_~w{%t+V$&`<$zH zclPVA;axE9aGP6^Gsvo%GJ>w<6@)zS44}G^j z9eUyT!Qc4v@k58t)QddJavV1xbRE+RNp!OI*I#?}IDYs7Z!#Cbj;-2*?Ygb~*lFdP zbzZNZ-3n4Ic3(gF%xNZdR|A={`5`Ho-9cpuG=J82!ym5J6~-;*T{L^0bkp@We{z?W zzG7HT8g}n*3utTmqJ@!f5}?!Bm>E%JrZldNERg4cXiaQlTs&?DWfQJ>iODWVXvRgA z$;-t2A*Z#GG1k~^bvI+zbrsX^N?MwE6e(Sd!;&7Eqg&PjXB=M8xj$4MxYS*EO>R~% zu7~Xv(4?7PYQ*dU4-dRGTP8sri=#q2*j8f&Aj%JeiHqBHR=;zEZR&GeCWeFW;r6|W!9`h&j;myY*)?9<2ZKK3j0Q@^81S8IFS zmE)Dqdf7Pi!1s(Jdrlw!@fTk9zMnFEI@ND=~VNi&htL!?10jY7l~Jb0oRxl=*-yttW&Q2igOJ3#Ps!; zJkSs*CpceBCUP(zqNtVcaHoMP`M4&Tn=Nh3SiHO6=VV{;LdBR?O5Dd3CCOnU*^CuO zfqSm4p~v72)nUyWp0y=?$6ND)a8HECATMuFbLYUvI@=$T5Vt0s_vmBm2lZFoZ>HB`zwn2z9AEXBA0y0> zaokkP&S^bZC*ZanS+uweC|4Uyo{_9z1j|04!Uz&2y)AKyN zaYl9Yv`>Fs`RcJ(KS=P;9u4ICNzElQsth_c(N--0Bt>e6riLzD0iDwNMS>KD4=(!K z>qlO<04irq76(F3a-S>F^IGK>HoZSfyz|ebskG--)R~(saVfU?I<*SB%5O>KNF4ym zpszr5wWzc4riFr7W&B)g%Zj%MSc&mbIMqxz{f~5NlbFHMoXnX>46@Q!A&r#T96gw1 zN`Oxf3vCeN(72!$1P+@9oO;q884G{}8hE2#J@y?s4TFA~Rj+A1I>EslyZB^3k!u(9 z?xq#NsypYnd(bIbi*U`0;2xiK;m3`ie%_yr!{_v0)Z05Qy!*Y!H~+xB$CrQS507`~ z9r1VQ4H zQNONh5@X|OKwp=Iw2I}Bn=BykEx~>VVw9jsl53d>$di~(Zku=}Io!z~UPllWN``v) z1*C(F4lk}wuwo4L!fP-baX=Q*s!ijgwn3aBr^S;hgvB$|H%AL-SZDAUoF3E+3fY_v zlLqeVV4ev8C>#2i7~g~8(t_?goWCN+b-HUa$CjsTyScWICmqgZ6>813w(lTV19v#f za3YNCySWaWd%N*XKl_ex^xzqOF$l{oZhyD&W#95cu$I~A8&fdc<|TgW21-l5hwk}TpxAMPaNm?Q|vJmY64j`i>+^R9zCZ`l@? zdj1pl*Xz31UiL;8So=A*0QUUSh+~Wv-^YAS)cQMsD@0F7{qfO?%tfy}3gjBmqn~FO zp+k7<+B3KEU{te$;%4mpbkuXa#N>rY>A>Y;p=GV#S1-&D5ne;st;gedLGNv;=`YqSJnT5-Rt)e)G_fgwF1|6OOfI)jz2-IG3wJ*6_7` z#dzx771^rmNpFl-jGgnW+g&t%>?Q9XhtJL*%HsbLyxrYDVSLLE{M`78@A$FtPW_>m zx4-jU% z{MNI7d))c%cNnLie#W@ReLs1n;1s+3r12D?hMff5bKaHiByr8VhHUiLgKhHNd^gdy z_pn}%=>FuphqiNW0qoxee3h<0dhY|UlAJ}-W){xX#Q60w$rh1H(}*{6>U z=pwz1-paY{8LG{h`aiOon|Sl<;IAX&=Krn;{A}=p zEzjIq3%wY;UjOIM-qSDAH$8ox775-f6qo&xGf>}@ zGUS_RM=#v*>j)hF4q#Bt*C2M;@H=0IGHF!4Fyu(R6Q`boN(-FkfS@{P76~+K?zvGZ z$f|(@+1B*PBP-5!7#HIPFIj{$zQBaQ({tUXm{dZ|1nM#hMcq#TmN!g`DR^@-W2ii>f+wFIIK@ay>eXn;+K0(g5Eh} zIB8xta`0kBT+W4Kb{K56by=DSNTu0vpIdXS`;&G}SjH3ZvN3ngW)-t?ZlvlIYhJ<% zKi98ag830SA_QhJ85{O!@%`T03y^kkbq#r9-ajW_Q>mpGI)dW+x#W<635# zx)sz36jvHHcopkgg9*YC7@8v_FVN#NRcUEjiW;bN1Xi;G0SCr%a4rxtC$8r^^v#XZR5(9JXijDHoVZ7ZO3(DYaLc8)@Jt+;hZZh-I8>p z_qi=@R;yOM2z6@Aw&vZi9n~>C_Bq`9b$|Qd(Hq7GkPe6D;E#vudETv6p9{~>y6bt~ z82mzD5qLgTbJ>o*=8wmf^~r{*SuYMhL;rW-vCCdOu6(_o=ZV+P^NM0p!PNtIHDKT9 z2Q-qid+QkDx(~AOQ$t5Lj`6zR{z$lEyywoAZRD?h16#7^p%MxeqBUANmYO( zEQOiey?N^fpm16t&BwfC@IgVd!e%# z8AonnWXI<|!{+9!@#FxfVaMPC(7YZt#?JW60Zxz3JvnezjN@zU#IpMnvnm&OYXlCS zO`x;w1fHaU(S5;q!{Ac9ImF%9d~4dZ77A>Cr&9X49@{m-G3QD^>#v}7EkY7};~b)x z$xC-8EW1vv=|q}ahjS=?O`&k>!ic@G6H|3UhIOgab21jY>bUou`;2kuma3=z|4eHZ zgM@WABFSNkj}TNVn+E30pV)C1^~w_OuG=DSVh_=uMM##BmL$j zPq;TUW0sxE#)Jho3;m|EzXlr`6ELe~@@Oflg#*o&B+rVst5EXDlr_;eoa6dv<5kal zgubgM#B(HE5BjE|@2DKQMkQrBlN<5{+!%cB<8JQe1y2H<-L1Y^)StY-8e?aCz&$s0 z+TVOLf8l%F6KZb9u}E;}-efJx1$TeSC*tDMaYt(%-1C|j5Zrpd(et0rK@Ap;d_AYK znYe6@$F6bDiLP~aT#a4h!mW9Y1=BtgL{Ho7E6*LvT652}%#_5$zAv@0z89FN z2|dVRQmbQLo+t9C{9P|UEh*nxbJwT&N#WF!Scc-lF?k87oL$Q`ud!f?(Ao%D^WvTf zSKNic*ZOvFcbv}MC7oNxGf;nr=98>ng_veTGvAN&N^0LZ4-_FUsSw98$$YI7rJ#AA zD;6!_oDbgG@E?e<<*NpKHpSp z?3j|_xI^JvJHrU%WJS-UWq`A2Zht_=c#vG&_QgvAKoz7XUSpRWIWZ_?WRbn)F;60c3rqKN1`PFLZEh#@ViyFI;mTKVbK7Q;u-KQeIf}b^6S~se z{uv_8fPCOg;tUfjgF4&wG)~jH$F$!0i+q!`rDD2Zb+BUH9Gm z!L}0Aag#d~geA2XqQu&Vr~vT2D z^#^Y|b#AUUIe8g!Gh%i!FRkeJ_GXN!F?B zLa5YEvq~5IYGMi1o(5zhSsWmnjX~HA#4WZS&B@3BjepaPgv0e+~VD&r7zdvtc32w3>*CyH9i(-8EYT zVlH3ylSwugqpwS&s4F)k zLn~aK zn@bn2x+#Ha6lZgyn4YQW3!^953*R#NKxd>dgfU*w^v!E~ygmx%S=*W0lyeF14}x*y zu6ZWIPTnP)<;1mU zEQn?O8V}#L=4Ez4WquaynU{D4A|7;dEF+szmpQ-8mt3x!AdYlUILMRQ#_4Lw7G5yv z@5N@`R6Y?%tx| zf7^YISv$F^hLj(sA(lpW~=gePK9aD zyw5RT=-3zndOusg#+>!wISF|4Ia3bsQbhiRS0`vV)nR*H^S(zuwd}v*mgy$l=g3nm z-Rm>yONlTVkxwVflBeU)p7ki3ginn|!xOYQinXoDBVM@mFdxPYCWF5(I4E2k``!jG zMJ_S};V4-d1GovF`nS&99YiI~PCp6n~ zowRk~?JPN4hPtkhO*^lX=17iAZ(W&%J2TwY+_kabss*V|UGtik$Yi)_nost8ju~b~ z(dD|5r}lvNjS=Jq8}$15T&geszv25F>T{1-W}AAZ!a44~e%^lq7-Pt?e&Og%+cI15t~+7Jy=`&LcqV~C60_m8SoM0+|50=XzqD-WX8?Ai)QN7V5(|v zYSHyT#stLban(Yuc&WyQ!f4Q0chs4j<@9N4PF>(%V(AM|hU_^F z80&%N3|uLHwAW8)@Tkan@c~2KlsWx(j%g(k3Q}N z`O2LAqy)5BXgY;M>7|%xkDZ}@#YAib!1e>!h7|lDOR%cPopxVMj7}xd6#*lUQ=mL zbmQK<<`sqL*Xt*PHN%-)U}&q%*$1-hdY`k;YH}&0wu4dDfb<4hC##2CKHx%$#^QAHMF{ z(6v}=2C_mI&XMMA&75HlW7lvMX`UXhH9LknwbO#d_kZ|4H#JKK707tewNo=wifFHm z>%n-vQp_&RR>Re+`6fJdBaUVU9kL2tWLxWciIOUJW!vP)Di@9<`RWuik4sGoS@M6g z7SFtI0<}#HeyNHOS^?{9vAUY^lF#=H zGAm-<9M?Y~fxCj~@=rMbq!OLbR9cibG&kDBS&M;W^T;}^nfM~xMnq^}H#D;a z+ryrppK#eotR5XG0Gy#a1ZYzQS-(Qc;C<>LfUsC))dH@a_c^E0q1JCV&3HwZOd1r%mf~J2!)&9O6RlQur8#yC zJNI04=X+bYTC;1hz2~eYJHY7_&e_#(%~gx3#Xwg^I5jW0jBpnT%W3B{DSP={X90=j zk^5W*`6);2A!Cm6LEPLuR1(h#Z_f+H!XYbt{J{W=3^^@Q=fZRLC#8&Kpm>4pCg*Gb zG{CP8+~I8`v3m3{z@o!PZ1y({HW(`#XY(rDIH0M4=h~Vbm&4p2h2KhRP}_h|d2{0t zUuq~soEWEe^f(qDO@^I&4oCKX&}2x9<{CLgcKVIp=PD^D&rcn=5-lUbs0BAvK+}^N zmdP$)H?H|6+~<-m63{d!OD7L&2DjFXnqI$c%|_~=a9q*M(7-r!41gS|F+G~=e3JWI zUmtmsU|ApYwPtS$n0C9*Nr%2%f8k(2nboysjeQ*;$gR}@pifj+rlLQD=X1-<#Z|m; z|4Z(3mfMrjz$!J~eb3c|=WLc$LQdc3SVU&c!$)iNz~vxad{qk%oRq{HZ56s8BW^ z_YGfXn)R3?8xI?p9OyupSa)sG81e!+k1*>Zt@XofF+`YLXM%D_3exCdomC_tgl_5) z27~P@%@F5HPRLp_j4?$s10#&-3lmH7fnMd%`PpJx=I z^%cw^>qF)A`oSiAW~l%YAkso>T(RcFT`DXJsBM7CW7(zIf@@!H&=JK91u%YfUxBJx z7;}WmQ51uLMvUFeosnxLv7FJ2^+cLC?sJnjG0j_xmOMVHTFxJwyEP7|RN00w@H|iv zHP-L0Y&xeKl14H57v1Mfs*Iddu;h^za$+LK%B`_1WuP3iU@Jf;#?cHmAiQ)LbsVuV zaLPZM02J2AG$tOQ#6uL#42;kb%|_Ycp5s=$fK8wi03Qr@w>4Lms)d;y2a_8oJ;I#9 zN$+z6Dc_0ib5X6mYE8x0xroKY2|yQ*t{>DUF<_uzXsvxNTk79fA*##Ckr*IQp45VF zd$R@(>AEG#nwDBPeH~W3-SxTFvnJ-0%57RDAV+Een6WH1v7Uag7|W+_%W^#+QIO?3 zwkR-%%%MGHpG^R`csZ|xn8v&&5qAxWq$7#9M~7%p$Nfc*{iaDS&#^EGPL4i?QO8i_ zTB-qD)&^LeuC8NM0Lz;RtFxgQ-ehp@PSPKxoC7vDxI7OREtT`bj&4N_2DtE##E)Lf|U^ir+R={ zt`oV6??&&6efyh22QDCX|}~sOtH7n42_tY8Et8%2sd4Gl->1k zE!G$atF992Trw@SsQHL%>D4?G*Z)Z6R*6sbKIb}Dv7=8caO}{$rjKS%x-`qOL$hf- zp~RAgx%NM-nC9kiac!A(W+T8|f~wA9h|!+jb3rLyzEj(ChMJn^4c52fHF+JPGZ_%g ze=pX`G6|A8u_H{wx)QhxC#INDnonQo1T&ZWRx86Ka|f&vfcLBODyx}wfK?4^culP? ze0de#hkP!)r_-otvPuT>=J>o*w{8TGl{~MUPj1TYhHG^9J^>v z2EFIQp4FEbO_W-6Jv>9W(WBOyF)ZsRM*~V*4;|#ejqkZB0=dMtX26a=ymVb>^Jd-n&}i14Js>~v0BQ95KQ63sxT3D6ywXe;4R9;C zCG!bp3Iw0cJC_bFRD=n?< ztqsHSv3CKa9bWEp{&)uf#(L0AJV&tgpksIJpXxxG z{IxYF+|b;$Fb7Em2_8%E^s=b5QRC}M0p_TC21A%lgy#HnEy`}c z`ct#9v63zXoMS5w(eahtnoGmxo|DHx9Q2?L>VZ#BC%4>>YzF5TIebn%fboRV*C6ZH ze?(5UM)<{h>98~<=j?kV1m@$Q{K6SyUdF750h==9YPHcF4H&1L9Po31!WtS4HGrV$ zIgv~8Iuy-;xC1h zSaw_+nz5C=_uMq3Fu@b3=5-ZIYqpt#(nj-EEh=tmHa14KAt|^bEew8lV5+7>2?=|L zuQlg-fJl!G&EbjWW&PmjeAI$}r+lAV#dZk(0Qzpo*mACWOUJ<-%A0vKiwElB1f6mo1SArjNaPMO$cx_)y&Rd*bb^ z5X(WSCoZQs?9?HXGRF1_PVtgEaq==JgIZl|p0jvn{I+HsRSz^mQq1N{TtMkJzBO;= z%l{}Y+pIC1YAk3oTTj@QoCaA-s=cXsPC&d7(xe}P&3MA zof%Z~ZZL19lzqvkUJppoK{{_}?pjzvP!lWLvVPljhG>)5DOP)qq?1cd`lQLBYf%_G z2{2*@cUGfz#)f7HH?=LAYS#k5HJezspmpUh^ozQL zVGwP8nini8LZVYP8Xb4xBHk~*y-y}Gb0Ksl!l!@m+g_daW9w$FWcCu39Vk|Z_@Meo z0JflUs+UO_IPG=?$#GtPO)7?9b(GDl#Vt4i@jG~xFD@NDJH;tjn8_6;tmehjxs5R& z0g0<{&}kIR+(@YPLth2^L^f>3r5+C6DqgUmUB`Q0;6$YJg~LM*+nSwE4%b=pHU?a^ z(#&XTrmsg=*@J1rUhO7n&b*^}&5>FlEUN-{W7S1^rJJY!ZF`Oknf0ti3Nh`i%~iMN zQsqTTar;e%&&QNOTHCCOzj)J?6k+xt|5xFMh1q36}eui4CKQ z$~&o2)%AUjy#aLI$qbgwo2E3w5>V}>@OZGAixmjy)QC{0GS=KG4o&#g*4ReRKyf!N z=mZ>tw*vEgE@PW2z^5kX+mu3xS@IWS9aNU zYDR|~HOX}xksEccd?rVF=jgLII&;TOmpaz&0~JnE|{9Sj==c z&pMOV1M(*WFihcQn%eS%c*9td#*D% zRmtRC^@&R`kU_mb%?F4hJc4>YHjcLQy)y?Gt20l1zuHt;=WqArcs2Ja%u@yR4> zCc80b2EZ$%N=ybTbi59ny_VK8Gba~E0Hz9`2beUZg*Pnt!Vb2%m}B?xCh#WjIfXeE zUW+1miIB%lKG%YLcIm*maIHDuXil{=Nnl}$=EiMm#%glU5$?_FB)p))hX&@K92lLW z=g^w}mG5(F&FGk#(JleL&sk(2qHj0NbNyPg*&tuFg4y;=hQWtw%2dPVG@n0 z5qxWMYsRML0&-~0Ij7D5io@NTu;;+LIf2=&nf2?rN0?FsLr(sYb82Q-xZLOD1HnNT zj8Ez&2A{oV!RC2!QoqwM0%gCr%_vN4IxZJ@FkXmw3*=K-VD8{{Yh1aVM+dZS@M2@0 zu<(e!jKXZ*s9W-(SMF3Hk9LvCqw* zz|>;VY{8kpF1#pQbQTOk*U#KFhom9DdmMIZc0iQkhHqXc&C^MG4y_qtbHiJ~nA!%R zIdY7)o@ek`a|4rCUDw_mO{BAeeV@a0ikb~;%@XK3BXmXU31e!Tr9>%5*Fpj7dxm)? zo=(-?wszz^c{emSpD+Tf_ngz)Qt=ksoTO4;>v2=}oO!zz;_w{Alchz65Vg)zbHvm! zHEB#nW|7~)D>QQoXGKM`tTZ1v=us#8Hx{9^7%Qm%%IFkkYr8lrS&OfmoF(9Dn7R?l zc`>HPap6e6mma(<@UFQ%X*;Alg_!jfe`laH@U<^b3T;_rm>ZmOItRs5pWt+j%`nVd zB#fO1X+U)_CXjHgG>1$_I7@R2?QIC9d3B6tjl^MIj>YX-I3JojDmY-V!G+C0ouk=4 znOqCI7T(kuzQjh2I4oc_=kk*pKIecRUZ10duxQ2sI@smLv;4QeJ2V^Xkj%#v;?>zo zYR`2o%-!pU3Tp(*`D+ItTn?R z0>`4kL)2m0T0h&YeBups9BWYoo(%ujm%W->@o6}F(}#^b)VcCm1z^3qi!DJ-mNW6# zB7nxl+F)7?e0tTUEw z_DyNw#2oZRw^JFnE>5R0Fm*7dV;F4J!a8kB&diSh#cRUOSG?<5Swmp3ini)bMC&Nc z7`j&GB|xyQg>zI889jzW4^G5lD@eGuHN$sGn#FHk1)M~4_9IEjT=~g?AT|3-(A>B9 z;D%Rc&!q9_?Y=u9^LDE`ul+#7;a=rMd$gb`czD}JUVG%seGb@KGhbq<7}@Pa3(5?X%@30!+S7Cy(UFzBDh-SE}XXaoNJ42d_hDun(Ln7`0@uC2*>y`cjmFHX7NrO{Un?7&DxiSzHS)mfiz;* zywQw}2S9r0rEBB{cOx3xT4pU2W*VP`c0M#)sh!c_^o@#MsT2V1ZiR2=rW?YGa^aI|JP!i(lYnL9b02ZRDr=i=Ss z?)zNx;+}PGY-uLnqTRsB-F8Dbcy8iSFL9iEjaJ5elmtRis@cDLxmi>5D9+c8 zlggsAd2}$Eyt5WW*b$$R01~r9vppnm#|M|$#nDi9=fV@mgl273T}^D87d?Jgr>R9^ z9!skgnVQYy+{j422%^7mGtd{t)%s~v(!@)cc@uwP&1>GuNQe_U4YZRt7l#Zd(j1|V z;jsIjvm-gwrJN^RzfEW{s!mLvTsm~sYNjE?)9WPBxp9M>D03~BN9;bjc%F#)$b_?tyRStggF#oXo5uiTuags?IZSq--_Q^@qzE;1ydscpYUMA7W5gqc?Wkw9+09s2^nyk^3>-g6q(T`UTBISsvrf9t`JPcx@#+X437s@&tI}apb77XO>UB_sL)5{c&T$vb7ACvlLZz_l zxe)|_`EBwdc)ok>*d?tsV-qG)W`@)PpL>Z}xb29i_6BKbDW~cuIpL+FR&}nC@~J1y zm>1q6!9};goZ>-o^-rYPaTREa;#A)$8J6ZQs5QvBq1j=H?VLTLS|`#xx4SSWy3b*c z!eWM4fsA73oNO|!?6UEt_*$`eQ^Wu>8N$>|40Yy=N&UWlJzV>MVN{F48nI5(q5#L} zWUj3>aS?%3?8b>f)!F{yGP_-fbB7e&ptNSMTL|%I9y6pfI&8+P(|wfADq}ZQ@`W<7)0jOxRtb@X_)zOAKRGI0 zd9pUx%&qed%>)r;6(E;}3nCssbT+RJo0P$Ch)JEmgOWzlxUeRlk2c#z zvHCga7B8TtgoeU;{dAr)6d=5$TDX_qwq}ST%L}#2k#b@H0I#!(V9f>}7-f@r`<~(Q z11}nKbu?`5Pt7xfGdYb35>?q5gpXkARYc)sxZZO{3)fjYe@HwlifVUZJYIN6K>G0prAp-D7yrUGbkYhtW%=ZLUw z^hrZ z&3*|-k@l%`7`-ZiSj>q(Xas1W!$<8loRH>%) zXogQtuOBh1`y4|zFf~7O>)?fxQ!ek9Lguut1(+N32bqqjgZ&ilb0!5HZaPj2xpmYI z!-z=_`#nahVfJ+#SCngDYw+$0%hM@1(!$N0^5$CGbuM0~!7LE9_12LQ4(GGRT*Ga1 ztYcJl7J@IF)qEEqSdH8?$LbJ{96Jdk8WnY4WQ0}aJILosXMAgRZs!Saw1l;{ni*SU zCk%@-%`PLj3RCi}2TU|+h6cr(tk^(+p~c$0L@u^Hd-WV|uU1hesPHVUX5Qk_?TO3o z1rpL!W!KOg8ag+J>bIum-t{{1AN+t&jZ-EtIc(=pI+uD+kDU&)=2dbDo0<)muSA`y zW)gd6SX;%z+f}n&_lm`=EU@}XS~ zj_z9&yqG!(U%UqSAc9q$({Iw+29wVykV`QjY!c2jLuDX_M!|wG2%< zugv9`iK|m5utn%(Cz+c9oXm$uS>viH0VYIFIU7fkbj zo7^6(s7}Ny`&>W803$yV*7KaarEN-dKw=0z70r{ka_>2O#@KuI{q!s(Pmq#b89Yg| zigqiJ3Y|axS=W`|(ZsQ_TD=C!9ZPY?M5 zvD*iW@^n@}r!{_8&BQ?bq1>A_kDAJ^n&)y?jat)M^RBgk7fltX-ezCJ z-D&~8Yf8xE_Ml?aU+3S>G1m{A9(gjb88dk;V$lNLt?V1za_pvgYN@$SZYADx#$EKd zbMAQpGB-H-YR#3AlyQaxjISro#S3cr2`xq*)eOqm+~k3z-E~GQKNz7k!-^%0#G(=$ zn)MI*$t%Z<@q};^fjyq}3rfdMF+x@Ta65_h%y^r0sEPX&DOTONgO{l&{6-f{Tbffx zKr}^JE-YydGTQmM=<0K7RM51?&gr$uBuP3JMLu3aT2gF3UD6vyGGnekL#Xy z^nHJ(=X%%p{r_MpfljnpBa$-C>C~!CfZO*uxVHDk2h6 z^rBDF4PGecyC5@P=DNwdinnIS9Swo{jb7-9h_!tvjCF14%4}+;B0?YI9bBz3@5CiE z=U%6pCmL9vP2NBgx2m&IQ4&N&aoXmM3OQQkdIsuuezf9h0VZDYGH&h$?W)-#91R&Y zXv+pQ);2WnO3S9o&5`$<>bm#9p>f?iE*tOrqwgAfPP?P@^}FVo3v|}3x;Dc)XS)%? z7BHy3F?b-`#F(t6wRQ3w0h-6Fp39Z^^}ceP>VeG(&93PYzSdy9l?1JS6+lHBK zTYpIV_lFdr7Pa1V}))eNGYMzYUQA`V>cFrvWXB~Vh z&FQZ+vo8zhbMauBvuy5Dsx#nZNrlO^TZ=VYrtm8*vGmUDQSq#B>^c74Pb30mbl%O)3*AY6z-mbC1Qvn9AGkH>=^li2_onmiSkZtUYo&njOnnZ!98h$YsdV4;_IkDPOJk#{_2<- z1P;~%_iob$QAJPzIJj^o%3e8PqpHO?D+6&UBHP+!Q62av0IuB)@b3rF~a z0K0DS6-4mLxzZBLQt65aiEx%eo+Xui#k5Mc1#m$2KcJq0i7LNs+hHwMLb!&G>-h+^ z+smixXth4AbH}{bniH`)uIjN}3-daG6~Mb5_4-A#c-V8Zt$4ASyA|3Xw$ylY)EumA zu7MrpKuuGfvSzZVRh?aP@8QlTpSpVv9vts~`SZrLuldEX_w+mYo)?7lkdr~>Z2fJ{ z{A(nzC4yJSeRVfmteK_o=1z)E#*1boJFgDWvc0E~*&M88CbRbL>2!I?pITuf^;AFD->EP?e!CT#VoO#!K zVEy;@?-lqrU4aAVoHwp|?rX=;JLY@zHZ^;F|)ypK!Te?R_v1^x|J z;P?&Kj`#n`TlC3@kM&1Ka}DSc*t*YQ?j)7b!OT!c#*D2Q-F=`DmKvx=Ld~FA# zh8u9=Ho4>B4x*sd{U|Ybi_pGKfcX^eb7s}-R=mZ?$!$xjY*M0>JMVK=Qc=wDM4A`n zO9tiubu_Q*bCmhv^0DSuh0U8Y30;BgweBf?6$cUbG8orphG=GD(&13X%Vg*Jk!#PM zedE|QuN`OH{hs6S1-Etje?RP>5N3e?)yMsHyV~kJ=vnB+uoM@qpf$ICwzs zrg=TEo@!Ga^)B3zYu`WK_`27Pqo>_++~rOej)T6LH^+@@ZRC#gT)!;kroVanyy@K@ zof@j6P91&fNVpr_=gxPMv!4Cz*{6^C=_fiY7?HWE6Jw^{&+>cqz-{)L02Xn|@lRd6?$!Ym!vwq9X=FP(*VbjhC$~ozs?rqBs z_{q3$D)}lIZ(Lt@?RDdZBS&-3)8cb2u)lg~7#%!xXdKwbfBL)*R)00#(7d6SwYY9v z_WIY2tB#yL?)Kq#7>5sTajj@iwY!n;RD-r~{~8=#*Hs<1Qe?PMk6jTTnh{=okIFqy zdzG=91hppFY}SFb?K%5Cr33%6*!VpXX1VT6v+<&G#SKzJ_>Cj?k}O@0I42;O6W`~Q z+Z<4p4vovC&g_{qyA{s1CuZk;E_vC+dE+mn9hC$%l2$Z$R3=U{7juchR&p9m<%-ykl29V}x`+6)3+*PlpF@f#}$F9@& zPPJ3I=Y{e^K3e)IN8dE`ZnQA)Up`%P&2_qLxW{X)c*n%ls<4Zpp>B+a4<8!)?B8TM z6%~A%y8-*Vjbj<*^6^*i2_{a?53qJ}wa<=H^(;{Q-JZSdYGNu&FG zqX8!da1HO%bMPa%=XpwgKA@hyQs-PZWQ&ngJ2?lN>!?b$y3biL)`lUElY68R5hxyUP0MtT|h zrpmBW7AhBm9QNfVmJA%Lm6=Jzv{j3AIA^uAMbkYo5n-G?+3?Me(tA^L%Lh97u)rO8cved zu{UAwkt;8M!+6-o-E+L=KYs6c{Zk%4?s9I;l@RKUGQiccPBFJ;xGASo0M*iX)=n-* z)!CR0KE1FtNkUDb__n3!B$lT%Y}6TE+-lo(UhIwz)rK(!MV}tB{mYF`kL)bM(PeLG3k3~a3zSPIgFy|a?id{I{I6%(X^C{j;K;~3| zAVaaJqX@T3BWJHuIpzt?;UEnpjLfy6*^Y|ByR=|6ZnKkz!&>S-=Y1<5wIOHL1KtEC zee|2%g4C14*iPgSsl@Lf6t7$9Z(cj$B~ZAs`xk2JO`#A7D8HlO77jSc*Y`QkL!MO4 zfZ)_66)_c#vj*5pvrO~)!=`|qL6kcPl>Vi$>WRL0t}P2-8*`f=kY|KM}Rt1tVd@sYQ`d97{c=bai#GfmC4n0ECVXIjbU zdQi)n{i>Mr`ym(=&e95&qC+G@@ylV^?VT6oj=m4z`7tV`KCsX2d)Ccob-5K`+thmQtT z9NA^Y$QCsVuT_!qkuS_WGsTB9#k{-W$xZeA!0tNuZ$IH6fg0UzFmV6y-e6$L)FSMK zw78Cft28%n>2Czd%w2O&PFs{C0*s(r818wlRdbcluJignM~p*t3|lmlKRZSKI6}{$ z=C*b$EVvVZt|(=E0$u@3=McCny7Ca^=XsjbJOB2N#}EI=kBrOr-e#OOj*Nq+ojJ}v z^YFOtnybhA-~T~ZKL_36nl!BvZk{9}CZZI_OR z-{XPfRk!)>@y^$L|G41nL)MV`S*;>1*bKer%q{msERZtd!5D<^a~qm8TU>@kiwC7S zYbty1<)TWRZ)E+%>8!+{VVzg~xn|(vMHt#OwW9w=;iVR*bPQ z)Lw2jPg!RCt!?gK>nEYS`AXfeB%$)*;K?-%JkreDF*d7u-NQ(wvRUIY<0lYY2 z^G8NaCJ6R^LE1JaW})!w;R2WhPFr;B!ZTK*_&NojGe=8t0pmO>xO? zhz_&HgsR2f8ncb;5JCI!c2RAGr~HnnaR}Kwpk#EAqpNPE%6{RTKv4>yTV8jl72`~& zxiW6<#H=DGfpB`VfA)E|9e2I`zH$DU2gV2A^Oo_1pMH`U?=T+uonJi8JG_6~Z2xKF zoYM}^kLSX~PZQl-R5JC8t|sT>a7)hp2TmUky6C|8gpa!2IJo){v1?EZlT9mDg&ord z({neqH6O15HO6GK^45(jPsFgN9&GB#Cv(?AU60m2xKc+Yrf+hzFKxFvTRRZz-);Sz z)$51c<;jo-(udy(ozdOeK;f2#xuI6`feZ@E6$fA&{2JMN0ri=Ord0LCRw@(hAeU@n zgD6d=4R=2|fi(%TFP9nwmsE+L8<#nhiEvu#PfQG{MKpWAukhQoa8(IS)xz!TAoaGs zP6SMiTELr9k+b%Rg=Ji;vDDLXIaq1e8E$hWUvp0?*sUL&h03zos1vUPEpyJLR?Op? z3m7+z)eo=2)HfPG_|~R#)*$BI8?7R&xsP}bA-4>=PUpiM1tEg?sGC@tup)O`KL@fd zGd5Ich}q)zc!v`MkcF6AKBZC3sHqCkAb6UJ=M)Z<+V%ZR_(cxYM}v8Rw3h zoxX4U^W}dxp7g}u8sqk#GQRyk-+!E@d&-#y&Kale-@oKgQTO_dk(z_X-1BT|A+k{W zsciqDap!yfhjGE4yN!bfc}g7p?ESn@;P-68$Fc8Oo=0i+_e$Xx82_Iq=(6Fc`T84q zVbS5bl#d8V`aYNSBiLkib8ubB?Szmh4{>&K^lI#~e)13p$2zCutt7ca;XIIrTb&4s zf{vegE2}j*gLUZO2Bo>&QMU}tr3L|N*wGFlr?J!$PtKu1bNunuvzCn<_+`+EXpVlN zDwEB)JeTq^-dnX0w(oO9%4H6FU5l=BV!;5I>*sM{?95@~`xMuS>t8-j8Yfq0lnq`^ zI+(HRU-;dwZP!?Fs9Q8UKt`-f3%9B{YvIZYKqUY8MlVzrPQ6r|IK2M2Cz&QK9hB;9 z%{o=ih7cD_sHa^y=+9VSs|JnBZ(gxDFcHAEYcZ!!sn6)&vC+@k!P%wb-ed;Qji9*R3x6@Nr=8`Qz+E$HyCA^Mdijr@eIC_5KeV54-GLb>nPmG#$vdKK4uWqDg=Jp2`A3#$Vi3ae%jip;C`S{ZD zvG1%4#>2k(N5(^r9P!6OKk(159&dd1GsY|K^)=(MkNeJXt1}MhBc;d2K0S%zopLT{ zZW%}QaVyr8cij7?!3Cdp3iQH6KibYmP?P)S7v6b%@9)1=KXE*BoOfpC$t?JEYCq9B zrjO-vbJ?$4j%DEQ71|}_QeNKW&l4hPR}SocBGhxO0@{A;=-`KE#<>!^)PkZ^opWJP zLTMInYNv6E?%Hp!Ur-?7)`J6UV1v9aw)p1y1>mY+BgTgcR^E_6&>B)hEHo(XQzx2j zNPc;&!6U1{5}eNr+phl3p|Xn4+WD?t*`8JP19F~S)gBKG$*O?0Rn#Jg0 zUc{o4K+o3aSqUiR202OAQ}ifnsa3n86zsb%vTL;&;H zW&IF^o8~h_YN>O2_Ant3xZ$DWlMT@lr~8GFC6(mG#d2>`PV>PPO7%SGx)V?H9x`v` zj#-W%oZV71Ue%)ep0|=Le88$sbFS@;mRj<}^!fpzpOcPJy0&=@QVvkYfOCw-SZMa> zV9(SnJ|#Zw!|p!5?y)~LjvPIv7itH_<*$3excC=-Ykb{Tef{`<9`|MA(9s*ToA>%Y zr{n`M3EP;2=$$3oo7|%uh+>i2R7QVgb+;M!xw>^10;`qUF-p$XEMS4VZ zO!rB1Xqqdomq83g1S(h|opMSW^(bR#C z@KpnX(tljVTRH;MVhA<(+dN`_eEw zVpWT-OT?}CM0aEB2f5dS6x0!3%TV7wvZJ*8IoW3;Il5DGVOGWyqXy3jH508#o&OP^ zIv(@i?mLd^r{8*QIR5q}zdoM%?3a$O|JrXHkN&a;_>U&?2X?rJ@v+jrfABnydltX; z(?100dmgpjuNRO^Cokj1IQ=#sKfdRGJZl^~bk;cU3?)+I=Ztxtmuv1Q_fcu~b4r=e z$Gt}=)ux_v_<0_)+#^ku102cJ@&kj|kLtNA+Ib#nch{K_wNYHI6Zja1gwwKqczU;# z-xlnsP=kvOYe)`_xlV|(6C1c1dcP>3R##_xh3^cH2>#3>tjE4NdNZVrL+o5M%PEC2kZ<3%rh@p$zc-l0DOe)jm-`#fNL{%1X4-0qfVI>(W#-!oqHo4+*P zd#g_v5C4Ks8)r()n_l&z@r%FtH{+pS@rZH5>s~Z|<=M|4AJ}u&xc8@g-gwwUK20wi z^#N7A`pXN(8^#;{_R{hE-+SJ;^wn=12hY9r_~g%c(0I^i-QO=-E&j;0P{=q{=UuRgm9%swTelo_>cg_)oQ(chF^Ud_%I z^FlFsy}zr*Dn>We^*EH+du8dFZoq zFtK+6%dsTbh^4}eF$Vw~wa0Rc4o{`ZNf^Ii32nJD*tkxhvKPwD>x4S@UIqdVJsayM z<9s1x9|m>k*RijLn7dLnkHXg>Qe6ibp$?gg>%#3{V7$wst$rrA_t&jd81&s)zr*hvlK_@e=pbAQ2#!D@xx3a=*1R%sz7&&&XpT$+S zigEyJOKYlvguCV+gi|PYxLus~3qZGddoQOt#i#^ecwy!HoB9XzUoN`cuxA`l@V@;A z{NEdnBUg-He#+CvxcmLbMdu$K&wAQZ$D8-waeVW)e$)8q^N)|0zxV~?g)e*Ac+=aj z8i&q3e|+Mnea?9Br+?Bo?=0Q7lw{AicD(!rzdQcs-RF%j|KiUX=bwFGT=~XJ$5Vgh zPsaTp{P1!9vCGCKzx1r}j`!^!A9Mi$^*yefA#~$9d4Bun8!YF<#^6BFCHJf^#jL!Z-0FJ$}^reUiZEW z$G1Q3o5w}^=ofF$`PUsZ!R&!lk^bg&B0v?d5I3@ZR5i6^!IysV$U^hpfR}zwb##H$ z*SY;@TH$)nbtLf{YgtU3awP@Hx~Ba}+YCFA&A9xxvLjbA>_KYrzS*`NK%c=5|G9hYBu%{b>)w;P}Kz=w>_zTZ8@ zX?l)GJ9^!F#-IH5uZ^p2ey{N*pMT$Rx^Afd_=@L`pMUAHK(SNaUi}9(S`QY(6y06~i z+|!)n8a)?%`X#?I?(m6UI4<0m=c3o$;=bcMAM-Wi4#M;r08WikQP!ml=9$)7zpk@! z)INYEL^yoL;hP;ny`XI~eI2ql0$=Y9f-6(;&V-I^b%ym;2&eOw-7xW%ZMxL)i(s9B zaQ$sG4VOI_Pf_K~8*i$xg&QxV@GkfuY<6XQ|HNMyklpR;BrgbwoL5QFG&3P>f`P_< z^}7cO>#RZ36bX@bEE5@IE*W<>s5B#eB3eDd`r1qTg_22x^@%BIX*>T@TJYM6E z8(;Zf?lJ!E*-sol_tQ@t|MO8lK7Q?o9yM-##@=zm2d)~w|9^eQc>W`QXnd|-?47yy z*tqhaUaNQHzjgfHpZ?l-#S8vojN9F9jDLLX`1y-}dR+Pw&lyh;_nH3K!Lf1a^PWEL z_292})<=HZcaC?y;tAuce&z||A&>sa@zfvu#&N6D^+#3o$8j!u@l(g6pY-bSOud%< zYrPRgyZ6JtU_3xC2)z+&{Zij${g^UycFn5#m}tFz^j&AbS_?0$jWQ6ZM=epU+_HXh zPHxsrNRzGC4=QTEbN#?tp#hFHIQZ_)Ga`lWCwvV1n{l?9Er9UoL5ucSq&u6&*B}rN z19RUy6!5C~T|U{SRQw(%2iM$I$SPVn92gy)v+JC75gaNw&9rr$pc9T$xlTl64#z0O z>sO(s&_M`}Za1p;szKc(PJLK1;nmVXYuV729 z*mKdc`+W{Bf?xqxSm@lEeOoiU0DK5k{h3#0zaxld*4$_M$z_|Pw$@KJpiSFhmS#`u z32^6i;&dkQH>M_nb7TFuHf-{nO-Fg7$PnJ6rbA(MFTCM>;|0I@nDO&}dTSZqjz{f+ z@u1KC%<-mI{>XU5cRzQWdC$)nkGSak@ykE)-^ayzeA5$uWBkZBebLY@PdrzTmp%VG z$76r~Ka4MU$Y=Nk;RoLF*6|aM`|fecum9S3-K+mrpquIOo-r=@nejW9K4Cojr@m#} z@-#hhllAhy`MvQ;7d>RWRsApihHo8by!$W4qrURV<53TJ%y`ws-#b3)HfN0+KKOz0 z%3pr$c>GJBKJGZ)INmHQ?F;|Qm-+=^@8GVS>+4#uNWu28uRq4PsL@wkD1-P0n7wB$LSj9B9j)v&EXRZ;3Y2bU4LflGj~7#WJZLz3;2%Z-RB)H6gh z)-nT*x^l=z&*cM1!=Qk^&-LVN#&50~d2Q7XDPHyQEv@&pEzP^Q)vL94FAnt1^~2=7 zB;I_|rJ^kc+V*f+-E@vsMc?0DAC-ETbRnPXh^IS(86xZsF> z5BnGN_^;!Mzx@~Ek)MAbKfgM9!+XXvzW&kUcOUxX@kI~%B)=fM;*GBwkAK`_#-IJp z6UIv}eY5@w`h{a${kHM6pZm%2svmpS_|flp_&80^J%@g`@o)a{7sf>o`UdCyx<@~H zT=|M0A763tkB|F*`^Do|ANMum!}O-wwO3v-{`kATe>~^luZ?kiKNtPg@ulDJ#eP9Z zuxGVZi>~u}$*EG-PZeuNub)VIKXjc_tz-z?3^JtNeeKNZn?oZ4%eZ}=^lF>inrAeL z+`?M}+<@Ws?>n~vCbJmmX#kU(@5cnt&mJ=*njCIWqMHJ4mSw9ME?dLgkPTeR{>1zB$dRblR~N$(9YrB1SEky0CK<}lS!owvT1DP?%>e8jEcP(aFOvJUxPyR`$xX+jWxUrB@OC z0{bgr&g~>hVF9w4AhB_2hK)&tB9kQ{ zsX&F7r?^4N;arF)?sR75R&$7A=CWvpOaCxb>)!H)MOpNY`31N8OrhRB?(@};9e@3X z%g5W_`M2YWQjyGSfk5{Wj~Flc`EMV8 z^`>_@^7^aZI-d4eUJTxE{N{^aGoJCJA0JP-|aoR(_d;INXZyWEt{4L|t?sgmVFefV0HNu$tT-IUE9Xq&Q8ytGf^;0LSw5l^? zZg`TV!o0@xyEXTXtsl7LA-Z#-*>ZO9Ha}j+CCujaea;HyOaADc>>BbUg-{w^&znwZ z@P1}ow&e2wka%17f`Ko*g{#x7MMDMbI(I&=n(&0Avg)`oGQ+F|d5YRLVAiX1a@itG zvjyETMAL`Id1s%vaN}cd^!gcW0uFg}Y>#4hn4edg-!XX1*rDd=XK$%}0fF%bjfcum z8^Pvcu}Ru&V;zL`Huj-YB*HxGWriLkPi0$KR10A|Cvz{jgjO{ffU{c%xU0YOK9`&o z5^m4Ij5sGx*Ll5utrtzS9MkK5mB;&_S@C7ZaHh2ax)oXAz53|oz3(KuUJQQ8_djL4 z;cfpk-u8|sjE}p^`QyU-K5_ifU;V>);j^AGE`I8>#^1l_x5fhnebjUQYP|cZdiPy# zq}}#Y#<<(9^ht-}+^>(1o-5o-F1^jTr&%C#++;KbKgtI_p5d9*?X-y#~gF4 zxz^tI+;h*p_Y0pI&*PiH`#gQT=Tl!CfBeE1j#s_mqVbC7K4rY~g-;*v_{e7zp`Ub0 zpsU6vp1+gY9UzfjVeWdGwA1YW+5iE zsR|L~M_12hbJs-W?Ov~+4JJq|9NtsKmWb>nnYQdXEXlg;gN!$Mm*;cNA`#x-THDq` z9`6n5^;aSREUOb}v@!OeEu49X4Q^sqt$E3{|{t{a_~B(UgrS!jMaxI&1lM zV^cOurSJjIjn*j0lEEglm!eOP((W0v$Bvy+;cdW&c=B=chs3aU{L6?)tMw2ZX zlCy37#KU+SlMA{O5`E=BOAUPE!(6673P^r@CRo=terVitl5oJ|I>j@2L8fki!RlPy z%4ReAul$6%5B>G=o4m2FzB>nR8-5;zA`;~7V+jzgY8a3Om zzhbqQSEeR$z6AWvU%YHQ@j>^n`Ix)jdpz*bXN^~V;@q*9_lB!|?qi=Cuf2GTXaDJ= z#~p8bvvH07MD!6iIC1>IkL#B5?_W7S`{B=w{r5jT%d__~MeG=_fAw#TA3pOm$NQlC zS)XXh`l(M*XiS?6Xf6h}%{n*EYg%E{ZiY}d9`aSB$LwFHv4HTJt8&l1QRAYRT-Jsb z`48N42q`fp%>fGLkFdaT5oEBt=3OneCz9kypESWG)dU^RU4By zQcTW@gJ&&*FGEP;bRYNi(JZ=Z;VafQnrq)xU()y?<3+#n3**kG9XEXsdcx1oKAoGL zaffl2hySGRM_1@|$$E06iSFm0rGHo7(pSCM4`0*|8_#<2Ysa&m@)P3-k{)%J@z|ew z+<3v8e`8#FMPe`c@<+#SylISk|J+&QzIXe+v3>t;y%qo1ai_cAZ#-f=XPkZh1>+ln z9NE@W zagD&0zJi#{yRYbzmq>mOpOQO(cErW8LvlL_Wb zB{^)6Zhu`4iRZ=MN^pLP-!VWES!-D_QP|uhAsSw@sDA7NXHT7rCEgqfIiSvt7dsjY zOfJvg_$8;cnS}I}SU^9|Ahv?mU#CQDWUi&em?u&*Svd7T{=#cQ&xt)Vn}R(}v2v~- z2$l_0a!kBBm!7XD?GOL;@f*)LYn*n%q2)SZJpSkO4z5)@{T_E2cY4ei|L|4)Yc{{j zVu!u_r?yKv5f%y3Zy}A}eZ%jJC;jBTobkvz-g`Xtw;wXz{G9KO%dd*yuUzoH@t49q z`wf8%1c=jfp1J|$1(AOK|gRdVoubTFv12iqQT-J{wyShHe1&lstJ-mLlHJ~8Z zqB&%W?WQn)Ew&!*D|A>(zESc1u6(3Petr>wz&!WHZAjrvO`irG2MIN;Nz})-rNNm8 zaR>Uz(kc9>+KOuvD};Z-VFCpdkKaSCKEt-<;)OC3nR*0Bn9iO^7K`pgw?G-N^)MV* z)M_V`1SemwOF-ZPO;Y7*ou)~#n0k0>Lu4ijmQ^_WT;z~Blmv7VsB?9Iz}I$gSR8~g zIk5)ffJuX05cB0p5}Fkw;ikaV7@x(h{gn6lVn`0Y=6&b8V?5)5cOEzAn?XI%(SPys z+f4PJUB^e?`;X&)o&Emt`HQ}$Z~Cqo7k}=5DE5riYAIX3ZbItTPn=G^+0CqlKk~41 z$F6b1Bl!K8-TJmJ0he5^?68wtX@Ioh9Ey55f7tg~w&+^ifMWK~Bea4{9^ z1#ADZMy3_;VC#p^+|CiCkD+mT=j-*8oyHYG*Qq-{wlz;-(G^@~0fuXk`!{=;hXZBz zUllX6xCN|V?Ur8{vzW=6={Yne0On=SIfv}_myW2QF3@45mytR$mQDrFQrZEpI)<`- zbajvop5_hI#s=psQ)5ii5CUwFA8w({rvwXc_oEn08i8uo972$c?cvZ+c)O2ZKJsB> zJ7MsXrN(q1xTNq}0L4JOIqa(-Y`7-}U`OaAqZ47PwgMjzf&rcEIVUV`^-~u(*7Y!% ziOnT(^S)!N&<$B9b1e>BKV!+O99cJ}ow4a^TC=Z7JD)I{_qmF)o+yTqmK-i;EX^s$ zzRS-YP_A2i`y+_}{-R_xW zHkOmQb%C~a#^=lX#M_)S4pW~$0;3na#}PN?HFVu~EA;Yje#_(cyzS4%Pe1AJ#~wX7 z+Ijd9$xRwCziskW|P*RqlwZ2ja) zb(D+!!unW|4s_b7vxoLKFIf8PeX)elGn)cUqca>FL=z)?>NE5_%-6irs80LMWDXnI z2l#ZJ+_Jbf2H0utxi&Jb?{mcn5Rc1%&GvSpSwgetg5>r3B<0@RKn1qZHmky@5g64g zr-^c>!n+n(2e1V;L#=i5_`L91JvxnbDo?@`!g{T!w*X5mq9-d@BAS8uR^Ml0;qC;M zro%c+nA8H0;+2f2rp7pK!SmdN=I4C=;udX9kK6Z11zU6Aj+r6=^?k1WNgZw-okliY zLTUx_DZFrHrkrW({oG{jgF=0gnhtbB6x>Xk>jx)IKnIZ}NUX^jxBHVAr!1Zy`PO-} zg0?wyB_dQhF5E#^dK`lDlKP{5;NIib$LpIx-B0%EqT!FtTye=4$3MRHt>b+k`}Fww zH}o&b_FX;x@pS?}fxjEsYAb&ap)B2J+&a(m_!+?t)#=Eao+$5U^&C^?9St)dM>Izd+0owt&*#g z8X%+u*rK5;8zjD2F+qK+1ERKGKVp_TcTCwfcpd3@V&-nxlp%j76M}B%D?Pn_nFVwp zmWEC*zwGv?{+^`|i_Hl{1o8F`Uo7(b=GqgqoTX?>SrnUaoqDRonliljYwWHn*zSa8L^L_g z(-;AQDZU!?q>`X~j!(afY`6~SNuS6fso*SVgGw8aId^nr3LCM6zyY^!KwEgtzeE_@ zyd7Bc#2go74%CId{z6v9xb%!@Z*ps$_{(;DGx!gG{(|wNPy7!;oH>5|xlbG?9~7b}Lz%b!o?kZ8=#0ibEKc7ab1wp|3yR140rY zIh)grr5VylcfPIb=U`!gcs{H%Vr{@%!M3UI_2Y~SY+;lS0GuDpmijN!LX#xc@-aH9*)T3+R}TD6bWrM@|EWD_$Cift@C7Z zu`#Wh>@>jUTKb$rrI(}XoWydj*3TejAqMkyok5{(;Z>k9R_+>vwuDS9XLax^P05GyR>?-bp3maG7>rwbxH>cKQazUlG;4QmsR;zAEE;{lGoOeSh#Y z|AS}$fvuen7!P~YlgEut`~Go^UbVv}NzzzH8NZYL7XND2=^;!sTx++27QbWIUiLKJYZ>D|?t@#}{pY z!fly8F#nFNT8Ix@Yfd*=GA9_-BEv!s_Iw}^qSLIVcw1@ok z#+nSh_BLCuQ`gyc9op{o^W2+M4D!!8nm4xVzkWn#e_4=|ZYm?2Ej=F(bXcvQ!-Vr$ zhpt5o(Ys*MgQjiV^7Loq_2QTQu%PZSd^32}H_jWs_p6T|&w2Sd<1P<*>Uf-fr*PMv zZ;o?M8sndIZ|pijVxA^TIv=mzop*fIEl;N*JN%q4}EVVpt37lsT=0sB44{o7V{#jC=wz zpz4f^`BjrkpTU)h>j9gujpkuru7j3~rs9DYS@DsU*0ppv+_Fz9`!mkYbx86Xb&z`o zcDOAxN#NreNQLF9{gXt?e8F{YB2D9?2J(1sb$xmQxRQpR`kGOb$g$HC@&=yP0Kw{! z0{Bv}u(ooJzk9XuoLC-;j$CEK(_C2TbL=ldU{>`n>?STjifr|C;a|0Imk#V}UPD`R z^f(-yF2X!5In2=sqT1<+NwPSLdo@tEdC5s1S_7NVXDmkG%VMY&6=OJgc`Tayeq#bW zaO>RPq$QVL)%o@p#!L8S@CTncKKz>J=nokj?~wQZ-8JLCzUq(0w)$T*&fr|l$T^1A z>{pp&%2>Ch`my$nj>ucJZg>BOji>+k-PQz~eXj+XXq}8Rk4&I?vaE1ztguvOK{)7IKCwxqTF-VWzM~^^z)=K=p9}HjYD*dCB9lXHx?X zT3mH5LfK5=Nd#bhzKb+@fkfdgD>J(1jmG5ga3yt;81rgs)fv}yUMH2W_`=9QfsQSQ zv^LV$gdqa-`W2Qn0_TQpjugctjbGg}3IL`+S-%r*50<>b=7lbq>|zJnb1Xkvs+`s%H@C+`9xsgP8LGe;UmftHi{@ex{G zBOT?$!EaqZ40F#l*J}NQ2@EyKNy6scx_%|1gPfq(ujAJm=+k`N3)ufQ#5O9? z8jXrRa!0tF?gQ#wq@EMj99)YE?l7<&iY?*d!YIP!q(08drY<8=n!UN(2vFkU_ke@2 z0yHlMQVYQ}fqPb)0yvZ12zPvY4&Y$`C`~1z|FTeON#;-o@ zk>hy%e`>ukbX@YO7mc$o-V^PF*FtlT>xLfMMqOmgzp-F#;y>=@H*x3AKk(r3v;Xqi zpXbfLn5nqtHop&LnG@TxmxbASo%lMJxEW%K9+hr}vTyyyDdx(_$zkjDv#44>`livC z^{GZ-I$as#zm`2mr15~kWUXPFG|Z<4%rDQ!R)$Vp=S1?H8%*-j%P8li?+S7YvLCxA zBRMESk2~1aJiRt)kbke_Bof{#K~5$*H92L0Ak$pz_Tq5MxkurF8>i&>sz9_50q$ z?sEJM$MGlVElXYXwF&JR&L^*g`2{PGZ}&QHg~KKT#O=uK4GILUqU zQ%)4q82|PKuN@!yoPL?G+Lf1GGA=ytyzw=?mB0=74!zCc=+!@zt~yf+3c-0+S#!aR zgK2qfjMo4hb+q5Z!u9$wgfJ)0VI~4hahul`!Ijx-7~VBEXf)u--dK2{K5+elPZlRf zz|zpA(Q>_o*Zat`su+@jtYJ=whAQ@J{OWG<^*+JtpXvuydkyQPTJ`lxy!iZ={A>+s zsRgr6%Qj3dmr5F#1EuD`nOYdH!y2FZG3PiAx_-G{We-))*8PXlfLKvYCvG z#Y;Rm*|*dJmZcVQqsfs*JLcf`xkdBDo0}X?1G7jpm~{?utMd$SJ43MoUd;l?rN5=6|4YFu&;ZkR@5wtBZhGvE#tHsrP;Y1Y_`AnD-}EZI zNkVV^Y_WoG=YDk5{I=Qzyg4-gN+*1%&ZCd|DdKUr8jqFrum0!{$KQSEJiTio*gaQX zHZHpGg7M|A@>@Ba zO7`eWSXiT^GKiw*R?HCqFPfPg!8#?5ITlaM#>Z5(kQ>cYpKz85Nwqbe6oQlv28sn& zcD&B*F+I3}aR_18dF%QC@Ki`>-r|N)CfGXv!YfYm;}?iVEz---qvVGXl$m2X5J~PL z@bfuGY~dEb*{>UY0}~;+cGK{#hc2ZLkN-io>7o+Cx6`FWaYCSixTpZ zCHT}25WGBO-{2*(xE%$zVLAlZ6J6qR9H#gwZ0yjF@ov=jQi3X1ep=2LqZ;p( zABSpgxw##4{OxRh#T))?oO7Pu2Vd>V%f2-(IRC=&jZ6BEb>%07yt|^Z3aOs7W}Mm~ zo$&$dS9ZLv*Ltimbny)U06+jqL_t&l*3auA@7znxU3-K1g6n(1y3WYNeW4c#Sp3))-kK%x z0aUh}Fwr)7Wi5`_Jru9(`K%b9$f&tR;5B-`=s#UJ#znio>woH=q{8XP^Iz3z?-f^X zlrY?=)UpE zv;TU$;7{K+{`-4AKYr#1Z=p%a5vTjdHb< zU5%QR#IC1IGU{k5E(yaXM^YuoG3wd|-q;*XqXQ$F^OR0N3; zq?%XOnH;s=_>HM}oiY<@fg?|Zc_PvK8UAh{l8r!Wtg|jbQ|b_ZFu^SrGV!?rg^M`s zZp^R2c=2yOWgLFU<>M|l zzI^=F&;6QzH;`A&{fD!Ry=Gi-=_hnQx~=YcrCe_f{fvCy*^{?B`K|66@7t5NOYN?= zNgZ{wGsiPu`-1V>$3A=f#NBQ^{{8d+Xnfy^hmQ+Cb@up;-+kqH{(pb#__d#TfPV+^ zyXTDYp5rf{_e;;pQ&7$K^89y#HWmCp6vk5m7ZXeG)qM|zI{M)eJuMrIV{$pAu^T1_&IpbBQGYyn_WuJ z*-KtsI99-l%{QP7G+Q}qnuQ8(eV@D5>m*34XD33Pfr49R|Sp*$vGcEa*v4biLJVNJmi zN6)Ek2P>O%_^^!OkfUMQBiIaC4%U&Oxgpc%*85(^b-4F9P#L-w*SdZtR1R{1uP#|J z(H34tu^L`=c8s*yQ$aIkYVJrl)EA&Jd+XP5zFTiipU7+Wj&}-s|L^wOIeGrJeVlUh z+m0Vq?^mAqgt7aQ|1^%j>a*i%zw$e>sC`q<>GCvB3HFU|ir}+1y=vZC_SQF(SM;k| z7NNJ{>t9^x=BT}q;FC_j_juiZ{@L-EU;Be`&)5I&@jJi&v~j{w`o{A;uNyCX`P;`E z-to!t@E^JTxJJJ+^c6+!Uq2UR&T7jxtm}_lxaxWgYR*>muv16QqhuP>gGF=V$d}|L0yGp!pI9HkiBq)}l%&mbAK zFiu9!0Nm(Nk&eo|>u&=Vf_#1bhG!OC$(Q?H82bn_tgtV?LkN)(%&uERScsiHbA-28 zY^yOtTV}@-47zMah=2m98uJDt`}~GeoVY0>&5K2!Fk5V`9%V`f8+t%xY350kXUU?( z<2jRumJ>(C@maWHiND+lXr35@4-5X@JMos?3#K?Z$qTnV0TE@3HPxgWvwg?W;}Ji9 z*0|3Jr;kJYDo;E+4m)bx_pAqv!%jVs=lmkn|LKxz$C1a4$35qbS58VnG=8S4w#LVzV`;8a z%w6XKrBa10uFe|*F#22Eau*Zac4*8e zT(q9Q`LM_A?P1Lt%VslFv(=z^0LWyV4;t&t|I1mPY$X^a8`q`ttZGpcHg#!eN@wLT z4ZVI+AI@n0HdmvEkOC0bw}` z%;yHK>et+cmdyoT*2OeBr0#28j0>)*oVPE4Y@C$U^+K@_rNw((!(E3RH=g>F4E^k&Ay~L;wjDZd_Y+SaPdn^n{SKd*{lw?U6Tff#!fW0>j(qv6#>d|A`tkN}>>N-3 zlh=$}T=V7e=1=V%M;w;>*4TE)IQfoG9*=tVEykhskDGTLb?kW7!+va>ravOXeKeW2 zjiZh|Z9Mo9PZ~EplHV|-?HKod^fShLb&q`g8{alQ_>R|&w_UM)+~Vf97{BqtmyL%# z@GeGeKjhHyegFFL#R#P1#)%{$^GLVSI+^he+*DoPUoimPRxb#@_+8yJ( zt`f4bejU=ht$Es;xAvTutoD0rHeqouItZ*__J&8SqdLun9|KOEarp@jcnxfkk7#^T zllpFJo@rAYl=4wq-qJ=a!MPhXi>=CoKm1MMjKJ*cyv4H?QvT4BpfF986s;gu&n>v7 zGOPy{T0ALMG>W_1wQ6Rj8=4i-VLfe``~to1Px-%$1@L?;Lt&SyFgN)orU14{t96Fw z;P<(#r{f(8mbmPTuw`$AWmAWz)mwNjlM~-Ko^~iDDZS}8m zDhc#Ay~Dl6@4oFX$Dh3Fuf{w7>QBa{+fN!V{foaDyT16o@!qR%Hg@Iaqo;+3kGuWK zlgG{UhXVVadF1gYkH zSKljM>tX^9h0m!5RcDWMAiVnDpbP}m`r%xj56HLD z?5S*!76;t!60DBKf$5m<0^=nW*Ppe>1a|^Edh*1~Q5=Qw$vVlWSh&RDhEoq?Y%6=b zKE^_&^b^9B-9l1;C5QyBi-1dUxR^CQS*d{6z^L`1 z@CgQ4vs+71G^Hh+NA_-0kQHkj99}O| z)A`)+<~BPE)(%h%;R)k7?3i1P=e+o3x^dTgePyQ|dD7|Q*IxE!h3YShViS*V^70*b z%R7x{Kkr53ip%s@p!7C?qw2zc=wtTj1|hWIhaPwGc$(hwsXu{Ge^qMRxXoQ2GXDO} zKcTlz!6^N{18pBa^7vnEl+H(ygz9vXFL*?&D%aA>PfI-+&Y}wvXqQXj0u~87ZYDO?Dm(SBK zE+txj!;lyq9p8Ldt2r-yY5`0bV;f-ChRtq)b2F-Z9VBPgZ{ay`{bte)UNWW{DJS!o z>r)|q;xX%iW+`6jU3FIzs5H&t3MX4UaZp>n7@)y_-IZ&!VLiW=-iymv4M}z>g!RjP zDZb4kSxOHuoQ`#r4M}T{L&1ly0*avP-19%M&JHKo`=UoVhs1L>!IBSAu5+1YU5vAu zg=&paV1_kE227?flUEecOedJ*PP*%O>EGxNp6fmoIIEzV>^gD$>*xHT_cXtAX4Sgs zQLR(&eBbfhKlq{XUA+pa^$k%#Mjn`)2JOXd8}RWHi68|fd)|MqyC@ctb^5u9*` zdyg0X^;`VcnOhn{ZgsE6j5odR(Z1)w<9cp8eEh(J9yjjwV~-k_U#@$eG#swKG}=$J z$g%T=HyLL=_s^tB|2&4Yik-ajU-xygfUkZ1Qbsg&qdH`9CD!X#$-RCJ2F1Q!t>4tw z7~i14U`TzLgr6KWSm*3HLE1*QCv1G8VKGQf*2?r)g!S_Q6J%e8ilcD)0Po*`?!5yq zHuAVtBKo#PK>LYL3+FP96`T$m1C+8foQgZHrAk3(dKeXPx}BUAv8+2Qm~T zXSkg&QTC|T{p6b$w!>Ql*@%XDT~}lW*12M+>Ot0zEpk=?6tm! zkuEv#95TNDM;|%<;71-ZzI*vqW0&qjhw&F@u6fA#DWUTFfY*#ej=076<>$Y&);of4 zeV<2+Kfm`Q^v7w)B}NN7eBA3_{Ni}?!xW3%HBtPb$BqX*?&rn>9`%%Q#T8eLZ98|4 zBahJkG(-YTz@tvqb5Z>d*KOPS@6gA)a2Hyqu0<1E`}zqxlO$E|MVEEU`oZ_T?sH+$ z@c>>tsKu9cpO~pxor-JC#uGvuZ5q;HKhtAN^nH%?ivdT6csE3W3dDM3E9%^wHb`TI zla2--`TM?PV=P5(Zzqa-eH6dHA#@_Ja~A4#a%}Y5Z_eqAxk(X^Yla96p2AL~2`W?k zc@ z%?-`6ej7_++Y;z?dnm>f-tOASZO~D=dmCjn4<(=L95!Iiv^))yLyzThx*w zD*9Z4<2XnyfVT#nolD0mwDs8vU!c(ouMEX&Uk_!odCnUkaA~YuvDl0?>#5-^&x*UT z%letDlZ1EPo0O+CapL|&>v`Zbk4U%aCxA!Ypx(t$lj(b8O+c8w8)dq1N~*PDB;HPj}X@q~IGxN;hZEOoOdGjW}(u2l~R zoL6IO&gRAJ)^$r>Oybk$^|?;S9Bex4ZwBp?d9AtEgPf@aikz%8CJO1+rD0og#-Mk( z5KqbihF5F6zR%&W=6p3l;!>to!`{HCPtLvuKrv8LcU!%R%1RNOIh9kVLe?D04p}>( z5wG`r<1M1F@;GCqb#2zMWw(hwt^9MSarYN8Y&h1M362)`6g2mdHBT1*u%buN&M1j( z=b%TO+GR}J@+4Oyg)vL>K;cR1jI}20y7uHDpjke_o=L{>EJyg%W(YCPgfY3}tvVY? zKM@rkNgl|Ks~ym&&v2T>Yq$3ccFnAE^%Mk8Owt4oLz5M+aUv_mb&}Y~MKV47B9*L- z?Oek#+ zd5%7&esTy{c0x08z2M*X<;l0n?GWHq3#JT*=UyTbTF1!)&`{?}oDA;Rm1~=B+e-66 z?{kxvDklJVbckcUexWbTMQ<<;1;LeGG(cAxmTRG5a`35mhZQdPUK>Tp?jNH`N6|Zn zfAlH?Vc8$;B{p#mFaTfq8&-Q6vYxM9!uxj!b8{rY>f%W@h0xK1NIjc1fx1lqDSm|b zA29=0-zTF07l*A~e2F)S4+>FCbyE_>P!Yn*9_Ac#?@pE+N!!56Z?WZ7-^J@8S`630 zw#==B>r_B!=gpuL9KdUk>9~+u^AZ;>#-wa!pTV!K2XM<@0oIS7<~Zt3>sprC?(!6U zGTR||jZDpfxd(6kFnXv%V`Ot%#rFDGik#*kj+~~|L1Va3>Mt7J3-|$I2b|XRVr07m z%kR992J2Tr;MPYqj;)H8k87%;`0{(NVYW3-F6)u zA_m4KI z!uX_@r@hbMaFMerrCR)Qm>*$ENPRJp+pfH_YY=k5$kEfW33JWKb!DsuE&hDbV5G+k z(9o@BazLG(+=ylUG=xTn|J(Jmu9fCx-JO68os5K@o;w*;cZHFlW&N0D&s7+@5v)Ej zn39Kyn5E%336ZvWEdcN`2XjHLZr-i6D6ZDb9%D+hYr9VDCmj=VS{*Vuf*gy(I3T?t%Z3MEYYv6cwwl1) zK~U@U`VqO&94c&4Y~1H;R7TGFB)3^bfypY(A3GFtKd4V8Y(5&FZZvP|m`}jaZla3g zq!wLGqRe0F@hoeln=2 zu6u}$_7rfzDH6}J{7Wt5G{8G2eVZn5)`A%tu&M>(Y}dMR&b>q(4Z4Q2x)NjzG-|!% zHOgs?xK_=Oo1tn0YjWGXky``T-$vv5Fz0z zNNWx)X-(fGGtL1zbe)sUKc$8y304wJx}@?vzn*$%mlwZwh3{ zr!ykSg6UKM+I)H71E#^SaL%4>fSKj^atG)E9Yl56i`bm+p-C~2OeV%w}ma-hT?ML>vE)VO&| zSriCFU1)u#zg#EuiF8Iht`8x71CKYkICh??S>VZ_e0+fONxih<#YIy9`y+cK_+GyR z1|N=STlQR&h)3P|h1X`X2Y=o7IjhKAy7rT{Ytc%;#+i9078_%?=Fq_Nz&Q1&<4<_? zQ9*=QZH=2dGZ0U4^t$!g=B_hm=UHh^I>p;z9=PD;m~_HBut!Ti<6<^?t7Zs12hR1u zqzPdRZH2oQ=*8~F34OiiG%l0XP0dQ+nDQrH$4u57Xt3S3%#Ci=zXFp^wnY^A(iY8C zM4M-wt&>QT>PR+cH14|Yb5S7}X-jkSw&pPF*tLi#Lj33>=0$TraAE6flo(oYVes$H zU^BluGUI7I?km6?y?(;72JqldU1S5tJUj_B8ZPEm2Q>~o@;Q}Y2#R^r&s;X{b5lG1pk+!PI#@B6Yf;*!IIy=5 z&+K@T}Q{Pm>PFS?|yf(WtN8gt@dTjvp`*KM9bDVPtRw_Ydag-e~{XJsBQT61{KoeVxsUW&6tGdwhT z^uX_7pKQf6IRG+lof>=ni1lX_7ma+i+g7}Eqq)*44ry-m-O9m*=+WS&>y@5+wO|cz+(%~WORkXpsw z=947Z=8&5X)5u&}Sq(*1QAX&lV0B9pqAxTs~f8%X)gT{(lz5#W?6yd{*&Q*vKc zgBITQP2S3B8GO-$w|F@5=rJs; zGrWvD5Uj?epw(%PuUm5kw5VcmolRJ5@@HjhRxMudT{EKAjS9Kxggql_Mh&AlYbY-< z8f5(vmg04;FqotGjdH@mulAfRp;WG9#%2}{XwZoKlY%)G*0vhX>!jix0j2!S44!`1 z9UnGZ4NApq!>5ONr{+QnYhQ*_TX-QlxaNX8HbN@5BalHtZ1d!)V!Bq%vu=n&muhB? z8n-%z3w>LQ_h5CljCmmT0L|o)FkHPR-L>AW>xWiibS5ToIZw@P$7^g(=H;Na)FO4B z2(MH4&^v1}*RSHyYyl+bmVR?bp?qkj^_i}Px4ek7sT@?q@sRmJkh+4dW)7>HGx#7- z;dtW}p>XLmn_<(!HHvG?`T^ombp~N+ZMV~IJYgd*KsBc7zPWYCr#$WG>S$cPxqcq& zK*O!Bx!R!7b!#@I(FfCPS`m;Tyj5!)7`;x^BP}%q+m^zWKmY2eYit5}(756?Hu1~) z6(b?$?wS~UzyYsoVSLsQW47;V8^$OGx?|8 zN`jVctr-p;)-0k8&BXH%7Z_S=o;k6_Q`nM&U9p4*kXi*>4ghXC%YpA;njzV$nXqUk z$BG+D9!Uhuv9{UHq1+-cZ0e9*Zu6?M!AnrZ6O*`{7tLkIYiv%08ZTpO#^74wj3j!q z;jEL zs7{kAMse$#;%DTlLj{S3*ZoY^ubODud^C3!BqLwMicAxRa0b@rPUgDo0QnY0@ODeB z$cv8Rfy@Pw)%`{n0Nx39ZysRAi^1H*n;TC&a8J$fxLHBUP_?jTyHkq-3Zt>@%Aj+x zDy0T`c%}g;L}U2676uy;eC3~-6=x-;lC?LDd0T;;w5fB|S2wAnxwWm=4=ruCKDaR? zkWP)suUz&mnqj74?zy&RY{7d1u2sSD$VaSD@t&055*-n$l|jl zL-1}EL$9NzBV&*GJBxunuAoPOS{C8W|=*#&8Ec$a%~LkTL)>9)i6gK0+7 z0ecRk;x{x)7xEzFRFx12pfqE!9}HvcGR~xl3rT?CpucEN4mfDyiQ9dfY^dR?pE!7^ zU)sF>fJ;l;;k9O9Ghxr6G~3sjiHK&*RsCd=*}N3MT;yM{;4_Kxmu3(L(@dsr<^>01 z#l;4OULiDePVW)=8Z9)YBb;@11WxsrN;Ojl2?dat)>GUbR@yolXf9}tE06LxuN4$` z&jVcbqb2!zo`h`P=T_@y{jQ2Nnx5H^ws|d~)VmlxH_+(XvgaI(E1E$~a_KZ36xQrf zSB4@bH@uFER&vm=I@F_B0NU#S@Vvm8XrDEY^_~k_5&G;kAs$T4qzJJVdDD@yqVOil zD34|>@Ob@fHje3cE9aC71y2A}GPW&IomU;Q6K zNirt^so6GlWAIVl!mtZ7B0-J&UA#c`C6;b zxKO2m=CppIiwy`Yo=x$34(oz;USktOd5E(Dc$blk{V#3-= z%n}J+Kd{0Tflm%tX-;Tx09$j2$?RTq=txJl@akAPu~Y?S?*Pq{Nu3bd!oXRidEt%A zyv{+dY^8b57R_7M4`lEa)xl(F&9ZH1?sf74t>#TFiI=}2>=zIdI{6a^4nR;w2HZu_ z*&)pvxQ?kVf5^tQh{0UlErgLZ6l zdTI*F`jJ!wW$*m);wxS=XqKH82`kN0Z!!aDZ$?o~yiz0w<_d6IQ)m6W0}nVws`pG?y^pUSJSTD1+JHQN!8X zss}?-`XJt9^NcEwd^95W9c7QhicM3j%L6c06y)fEMH zn{y`4tu~<$#xN;@?5_Z98-Jd$xh9F2=ri$7qET~A9|@Hu(8MU$ItGNBFkYVsk*RRd zZ{eLOv3tO|>ZKlSQC0J_HF)P|N)FSZi)M@t;tl3N-iDB`vt&CkA}b?(@ZU+9t4(-h zGcODnuZtUR@Mi6rIgGe&7^~{o#1oPj!W(D>;x1ltc3kfb z(_mibhOMMpr#Xz2ryUqQ)oJRysTX)fZ{am&iXb$+Va;gcI&pkqw$%CH+?JIzle>65 zmW%o7Fr~52D&pXp$xmCWT&*!?YvUa5UXeK${UT@d0@lM+eNK#n@*Y3cCJmbiXm4rJMl#I-JYRHS95lfa!&=NL@l{OaK>?keX0X8n*% zDmb=sd;Q35K-GDb*Ij&&(9+L{IB3J`vull+kHt>^`s_JRQwRQ~#L_xiZ`g`&G}nAx^CGtPj*F&D)q?pssb`iA$b?D3^5zSGgF{9F2|Own3o> z7{369znti}_I&|?!4scrOE&0dEl2<^_^n@0uFsx>kPkjBRHqEw$wB#oA&>g2by!ea zH9JCXX1Qw0!~bUNTyxJ=j%9r+9$nqmecLc}-u#-8dC}*j6+peNtzzc6#8Eql&G zEJ-hJ)+{KU)#+;_w&2mT^hz@T#qZ~9oYtpV!2SQN1-opm!}+Qf5vpVsB$SKeWyq4t+iN{phx%WV0>x z!Dod)oVN%FP&ax&3FjLaxWu@4EV5h9t=(r|4|P4&oGM90bZi*rzn$QwlCU@;jJ_2u zXOSk6Ofx~;I-0{gUaSB-VFh*SE;2mcbav?An|`C@Q`ZcONn=G27-~|w^$otEsZmCK zlgW)!wgMrso4ZBpTFkqQ>LPpi3Oxty%VITXtp%BIXRbA{cw*(rXDk-sLu$-y$yNDW z!8LwGPR+US`7`Intu(`txuBa8T+(3_l#g%vuy<^Cmnauag3>+0xt+O4nMURVVZSr&YNU zm{>U6L!|@IU@aoUgSIuKscaTzt$D@dAb5!NH`cnN=PXwdGDZ$<-kj$Q$e;%t1~H~l zf$)ahO5)Pda7N8LJ&H3$^Q=IHA$A?uwXh8tl^0mExUa!_{lI5Uix}3B+Yn#R!%645 zbVS#=b0;Ib!spY_wPvpsDlt~RwdN$(k(5k8m|j1|{=bm2RcLq&BVe^t3XnO8!CXRc zt_E)peJ|yAME%57d34X~m~;{pe3AJ{RL^>nZfN%03T^~4JvrhuP!cr8>|^#|(KQ+^ z!9;;as&kdv=w7tm_YwzR8_c+!;|qr1-L zBBv%cwdIPk&)(G%&?Dhr9*o?d%+Z z)>@fN7S5~no1sNuAH1MA#Lf)Y&7;;UOz#cf=g3g-oNFL_uS)~WyQ1zISpSN5t(iTI zKmS`Ws<6T7d`YT#XC5Ht{sd+N3~7XR&57Y(^8|m**vJ2EZJf_bTopDtWbV1mS`Z1m z2qG&3&)fQ_vTTJ}Uw@>-j6S=&I2u_qVHMYBBhe!4#`^WffK+W#d9Yf)Wb$!?Q#htV z;sf>^Xml80koz{3zW4(mK69!#LixT&Aj2!hX!`2({n9lKjm+wptLj1Ob?ewJR{31} zIk_cSub=;WL&Z9zAep2rl|OV0nnQhtSzMh}^cHN$BuXe=H`$5tCU%5L;;S#d4RwT* zs8~ss{NjMVHxT_f#}%DPy@&yj(}j!!AqW?@Gu0Q}2F1gwwY zZOxTTsbuGq;_ESa%_^G^-W!_hcD@OdHoh^W)oEPzwF}2P-}T<{nG3#V`?oLn=y?6B zUp3zU*^9?s;)`o?i-h|f_c=fO#AyHc>X*MfF59CgV11v%-~ElV3uFPlPSE1aInt%P zJaTA11~tLrlQQ*t{p^53M(<|<88*-QI$^em*o#ZGFZ~}bx%ZtnbV@=AqKClq93T`v?@%4+LAO=;R6AwSX z6Q;st!B`1y1GG_e>DjxdGta9S0JV9Yl^FRmlF6-B3{PQ|Vgn8O;%`Lp?8i$?& zct0muWI#}wDIt&6Om9-wJ+<#qo|EUvege0DeC_j}9`88&{o}%~e8+2g(Z}97Ui0eL zk57I1QY$epIbdZC_#n0(+}FnbtH#9_e`Q=P-;Ry@+d-b|xmKAQI@4gyblp+kH7c*` z=mRyD&vU@ZfK%2FtqjeJT=l$XfL1cY8PgbWsDS1*2R2-AtK&KYS6hb_?P7NikSitv zG%H?@v^wLTwiS!I`#O}i(4fDG z$^wT?^_EczL{fy6)QpYSA#n!zVxFi9l!wT*GXKa~nP;doYOMb@n+as&w0~1%JR9PkjA&_jw;2w{ce0wls@v?BBCzT&0KZ4&(Cgd~1CE z{PV}TpZw7Hk57B{`0?L+&3NWR?l3<5&U41@Lk}6-_GRv#m~J4~?AbexIq44L$M1jl zaVY=rR6@~bR6{Y#wzU?rv@ufMB7N$EgB>xI0C9| z<+XNeE{p)1>!-kuU#(9ui{I5Udvha=X1R1Uj&G$IOr>OwJ)dp<2_fUmlL7>mW6jK@ z)NeaA(5E?EBpKC~w{FH4>nbT2J+Q!;e$_Tc*}`p52o5|7TRT&oW=z*K_`QhXO1(nU zb&iV4W!HL^u#h3gd?Bld7?n17La*0-jyTVn4HDFh zcVz6_vv1tujC+pz-|KdniS&xn&6?Ho`r&PZ`dOm_mhXG7pUD*4J4JQ#hE9r%z%bU?FF^WUg*fL)7TKWnzmT0ir` zh(=;`j$ECiD3JK((L{^iG3JF!q4L{n{a6&~82X-;_Y-zFleBt{m4^^LC@l{#oWfgU z0WSK?2gc_vy}`KeJ#VWN%iBB0*gejD#|y^&p8WFh_J8`uIQ6DuocFFj8;^h1`^Wn~ zcRvV?Dq?smq>(r#xk;_g~FsRNlwHRa77s#>^CidUmcuWR7~ zG`;|R&*mWkjVL6cIp6e?pMkz{cS$wkas^1+a%RZ<4bcGEgjqg#T0q%zO2+#O)g;mh z=%-<3;mn|Z+&PA$16DRUW}J&)62)Szw=%B6JXv{`ri?8_xQ6yjvyo(n&TV$u;7m&# zW=7zcyy=yX9rwN0?Z@A|=hNOiyn46ayJd_+b{;bB__P0MoOX*F%es5)*m?N4 z(?cIUZhh*FK$(+GYi?OCx#*nn@Y9YQH#+h7apoOQ8F#<;eaG*=;RE9dzxn)e*W>n% z_r2%u$K!wcspGG8)A;B|KRC`g=bUlQ2R}SM@sSUX=RNf)<5%AJnaPF1Xr{`kMb~3% zEd*Wa%fO9Vz_QfB`%)IqUI%!6v_buRI+_~Nu6_L=Shx%9lzt))8N9`PZJLwC(K;{+ zZ~ASIIip1Q3A*u>rt)+|ZJ`?W?G4G9HCHk^i%mE%8tX1FuM>BKFt<*fBSDtf3?y3j ziOKpc_FlhAnuy|pnr@}ifKi;SxqZ>myvmBh6YdB?6PxwZc(&$M5Va_r-7-ZpGihFV zjB5fsn~n5*p{%>3=dg)VZQ*dFqOH|YRcjT!^uvs&q2%%yo7&VX$D$($?{B(#Bv;uv zEnsMt=J^LOxdF?RFG$TLMr>P&s(!As05G}P9v-jXDnB&_*VoCieoJyTNK$5%UAe{KBcZ~e}=$@Z_0 zzkl;zjI)0Br^nkr_=)k659vwPIqx4I{Lsh7CqHoZc*;|sJpT5auM{Dt)GLOi7VDZH zP>VVLr526ftcCmz&O&f>uj0La3Rw6XA&)Qzt267DIFS|ilw;^C zRr5+9Fz3^$8stgjI%@=mHhG;}?9L-B>k-I2hIbCD14^FjSU;FRwdRG_R`a+P#n`84 ztgH?S-ut0JFbC+9pJLWH6Oi8<24e$FR;pwMGWohAONB&z?b}{IV5^{XuVv4PXV$rc zEM+063ORY^cd+Y(sR+4*StHyV_c^nK(cQ{f(}`&w*_jZ)yCRm!_hwub-|II++pe(v zSAA!^;kl2{3s0wyzdHM$1mWEZvilkk;E)@R@uPZIk$~g0kGsgWN{IK!SOO71R`|THw?U!CS{^I2?8c+S1r;hi3 z?33doA9%l>=Y3#&@WY=RAAZ;0jGunWPmPb9_Z{=jZ+Pa^dNwYdXFy%j1oB{Aiv(`2 zpZtaENS~{Iy+1d2t5yfE^Op5%4Mo1bHrD-_v+)P4pAajZtTc@ovF4sr>naD^JO0eO z2=J;an<(&P{^boVRzP~_2+r`z+5tc+XX-?)2>|Q>0BQzq)H&b!%Ypc~8%j1kN`1dC z*GSm42_q)N#6~9e#O28oc0A(O3?g0V0_Uf2*+Aeu$%IFUkN7J<=k85_44!cLrXRaN ztrJ=4cY*MO0HjA&&%-{HGUv3rq=!pdirg%H&^b4c<}Gevr+U>ja9K*Q0H8o$zfT(2 zqXh0*bNbO3sTHhs5a5s##=m&_UylnvbLa6de&~$x`geYEJn}xbA3OA_Ic=w&D1A$> zVsGCkn#1)E*)|6Rsh4orI4dfyxsWa7r$ye^F}ut`@eqP_@$qE{`jvid&#)h z&2+<2`}o-}*YT0#_kQn1jo<#vF?zc}EIIaEHOeH_Ni8~hU1wqp z1LgT=>^?pRaj06A4SzOJ@EX-Rr0UJ-Gj$e4xQGMHNe4dLp?<^!5GL8w)|#6eEFrZm zjN?%Ba}35n>2S^t#B8$K@eW+F+Nw8t_bcf0{pGDw!9B0#6)*CWC9eSaIx8hiGrkgz z-Q9{P-l^Aqiwcl2O+>xB{RP5%J#*oHaM0@nP2Z!=@srQ8mb2GS87-`8MjndFXF}X( zK8cRP3Xx5kiD_)1ib8JT!eJ(2{$OjzsBd0DTEDz%sbTs_ z#Bq)l2kjiI$4q7pAT=X4j+Q!I_K1r9bl$fX|+Q`csS?tc06m zASvDz%pv0S&g?uU4an63M3X4*A@e9=+m3Pnv;NI^(U;E~zwoGgkKM0**Ldcm{-1Fu zKQU4}Y$rE6y}iAD?|J7=-H`tI>akyOw4Hr}@=Lkf#tFB)+xW}>@0H`IQ%)Nff8cH7 z|NZ-m#vi@(kH=|8g5Nj($ICxBe&Am{cf9DuzdrKx$~3xXUOH}byndp1^pQ4rPW0T# zq%yzCJSRFK#JB{J9MWQbX@w&;-g#vg8o92G_x8=K^~35=W0HU1?S-ru0# zfpXpi!R?{JOHT5*Rj2E0{=N{F1k6-$s*}_ns_(h#;5o=?x<2T9@atre-q#<2PU|d5 z!Z#7AP3Iv_O5pFg&prm`x72N|IX*$E<=WN&&CS)$KHDKiFrCo(Y)D|&3jK;>Um(yi z>bCw#*`1(^wfKlPiQ+g{vk8cto!`u!%JTW#wknbx1%&CSRkW1TIY(FeY?KFd%|zOah&(%yN^fT z=k)Q~cb+>QbD!JQbFE#v_vv1B_5S(1&$qbC_UW3)ld&Cj&&wYe+%-&A%CYP4 zBNm%`o^jczM{3d5t@EcKT^mhTFegaibx0+w06DS} zjJK{IJ~bW4xVh(K_MXF^^~=xUKvr`Qefdqa@IkooeUC$y{P8=~9t%(&O5uKqnkk~x z&aNAQo*fssUoaqN$K$0jIm8sPg!)?qJCZ3NgNYU%uszC0t9mtm5u*FPe+EFcdYsTe6uu z37A&%L`A^Zf>;z{!R9#&;3w^9Zm??<7LNG>8x|jR=v>4&x7O&Ur+xqUcYplpvG=EL zHy-`NXN|YL@0H_LH$H6aI%3B-|KhKXFMf0Hxafi}k3(;8)wtjb7mhDqJ;ntWd}&;{ z?aFcazC*?>PPxT6;*h+;e#qg+jt4&W2^M|Xmu@odFwP%`9>y!~X}s;1CrR7u8_u@# zQ{Wxaa<#uGFV=N^G823~;RWY)q85wE1)P@E++86N&subhgZtuI8D-z(-54!

hb2 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

U`?d)7KCYT17aE+G#uZvj_wLPE%&KYw1i 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

0Vjkwr$sfP-7F)3rL0#=oB=& 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 KlC$B!ng0T^sCgj( literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_images/lstm.png b/release/0.10.0/doc_cn/_images/lstm.png new file mode 100644 index 0000000000000000000000000000000000000000..aaf1fc690da2ffb8418cde5ed81848ddb5263030 GIT binary patch literal 50694 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

Lc* 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 z

cx?58m&(sSup`X2q%$A0#8_w)Ew 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

ll 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_images/neural-n-gram-model.png b/release/0.10.0/doc_cn/_images/neural-n-gram-model.png new file mode 100644 index 0000000000000000000000000000000000000000..f70b765b3fd69816345a79fc59adfea46008dbfd GIT binary patch literal 68482 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_images/nvvp1.png b/release/0.10.0/doc_cn/_images/nvvp1.png new file mode 100644 index 0000000000000000000000000000000000000000..1af23ac3c52929b2b0645d2f9fa4d4c6db1f6e77 GIT binary patch literal 426047 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

!b*}H#vq?_wzp`ZDy)Q>>UOWaY$|GV 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�Bd8$Gpa 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

*&`6 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

MHup0L%5(@%itZkb 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 J9~Qi^{|{Hm!2$pP literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_images/nvvp4.png b/release/0.10.0/doc_cn/_images/nvvp4.png new file mode 100644 index 0000000000000000000000000000000000000000..51f2f3e183295de6cf8ddaf2b3b8a0862aa35f01 GIT binary patch literal 283198 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 H?dSgm&LiL= literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_images/rec_regression_network.png b/release/0.10.0/doc_cn/_images/rec_regression_network.png new file mode 100644 index 0000000000000000000000000000000000000000..7d2b54d4fcf560cd5b667628f0012c3822efd9b2 GIT binary patch literal 83127 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_images/resnet_block.jpg b/release/0.10.0/doc_cn/_images/resnet_block.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e16bd3c624030c4c09b358a015b491141b42d8f1 GIT binary patch literal 22422 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_images/stacked_lstm.jpg b/release/0.10.0/doc_cn/_images/stacked_lstm.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4239055050966e0095e188a8c81d860711bce29d GIT binary patch literal 31077 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_sources/about/index_cn.md.txt b/release/0.10.0/doc_cn/_sources/about/index_cn.md.txt new file mode 100644 index 0000000000..3bf030004d --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/about/index_cn.md.txt @@ -0,0 +1,11 @@ +关于PaddlePaddle +================ + +PaddlePaddle是一个最早由百度科学家和工程师共同研发的并行分布式深度学习平台,兼备易用性、高效性、灵活性和可扩展性,目前已被百度内部多个产品线广泛使用。 +PaddlePaddle目前已经开放源码, 但是远未完善,我们希望能在这个基础上不断的改进、扩展和延伸。 +同时我们希望广大开发者积极提供反馈和贡献源代码,建立一个活跃的开源社区。 + +致谢 +-------- + +在此,特别感谢PaddlePaddle的[所有贡献者](https://github.com/PaddlePaddle/Paddle/graphs/contributors)。 diff --git a/release/0.10.0/doc_cn/_sources/api/index_cn.rst.txt b/release/0.10.0/doc_cn/_sources/api/index_cn.rst.txt new file mode 100644 index 0000000000..9be0b370ee --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/api/index_cn.rst.txt @@ -0,0 +1,9 @@ +API +=== + +.. toctree:: + :maxdepth: 1 + + 模型配置 + 数据访问 + 训练与应用 diff --git a/release/0.10.0/doc_cn/_sources/api/v1/data_provider/dataprovider_cn.rst.txt b/release/0.10.0/doc_cn/_sources/api/v1/data_provider/dataprovider_cn.rst.txt new file mode 100644 index 0000000000..d08c6b3efa --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/api/v1/data_provider/dataprovider_cn.rst.txt @@ -0,0 +1,15 @@ +.. _api_dataprovider: + +DataProvider的介绍 +================== + +DataProvider是PaddlePaddle负责提供数据的模块。其作用是将数据传入内存或显存,让神经网络可以进行训练或预测。用户可以通过简单使用Python接口 :ref:`api_pydataprovider2` ,来自定义传数据的过程。如果有更复杂的使用,或者需要更高的效率,用户也可以在C++端自定义一个 ``DataProvider`` 。 + +PaddlePaddle需要用户在网络配置(trainer_config.py)中定义使用哪种DataProvider,并且在DataProvider中实现如何访问训练文件列表(train.list)或测试文件列表(test.list)。 + +- train.list和test.list存放在本地(推荐直接存放到训练目录,以相对路径引用)。一般情况下,两者均为纯文本文件,其中每一行对应一个数据文件地址: + + - 如果数据文件存于本地磁盘,这个地址则为它的绝对路径或相对路径(相对于PaddlePaddle程序运行时的路径)。 + - 地址也可以为hdfs文件路径,或者数据库连接路径等。 + - 由于这个地址会被DataProvider使用,因此,如何解析该地址也是用户自定义DataProvider时需要考虑的地方。 +- 如果没有设置test.list,或设置为None,那么在训练过程中不会执行测试操作;否则,会根据命令行参数指定的测试方式,在训练过程中进行测试,从而防止过拟合。 diff --git a/release/0.10.0/doc_cn/_sources/api/v1/data_provider/pydataprovider2_cn.rst.txt b/release/0.10.0/doc_cn/_sources/api/v1/data_provider/pydataprovider2_cn.rst.txt new file mode 100644 index 0000000000..8f9db31cfb --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/api/v1/data_provider/pydataprovider2_cn.rst.txt @@ -0,0 +1,229 @@ +.. _api_pydataprovider2: + +PyDataProvider2的使用 +===================== + +PyDataProvider2是PaddlePaddle使用Python提供数据的推荐接口。该接口使用多线程读取数据,并提供了简单的Cache功能;同时可以使用户只关注如何从文件中读取每一条数据,而不用关心数据如何传输,如何存储等等。 + +.. contents:: + +MNIST的使用场景 +--------------- + +我们以MNIST手写识别为例,来说明PyDataProvider2的简单使用场景。 + +样例数据 +++++++++ + +MNIST是一个包含有70,000张灰度图片的数字分类数据集。样例数据 ``mnist_train.txt`` 如下: + +.. literalinclude:: src/mnist_train.txt + +其中每行数据代表一张图片,行内使用 ``;`` 分成两部分。第一部分是图片的标签,为0-9中的一个数字;第二部分是28*28的图片像素灰度值。 对应的 ``train.list`` 即为这个数据文件的名字: + +.. literalinclude:: src/train.list + +dataprovider的使用 +++++++++++++++++++ + +.. literalinclude:: src/mnist_provider.dict.py + +- 首先,引入PaddlePaddle的PyDataProvider2包。 +- 其次,定义一个Python的 `Decorator `_ `@provider`_ 。用于将下一行的数据输入函数标记成一个PyDataProvider2,同时设置它的input_types属性。 + + - `input_types`_:设置这个PyDataProvider2返回什么样的数据。本例根据网络配置中 ``data_layer`` 的名字,显式指定返回的是一个28*28维的稠密浮点数向量和一个[0-9]的10维整数标签。 + + .. literalinclude:: src/mnist_config.py + :lines: 9-10 + + - 注意:如果用户不显示指定返回数据的对应关系,那么PaddlePaddle会根据layer的声明顺序,来确定对应关系。但这个关系可能不正确,所以推荐使用显式指定的方式来设置input_types。 +- 最后,实现数据输入函数(如本例的 ``process`` 函数)。 + + - 该函数的功能是:打开文本文件,读取每一行,将行中的数据转换成与input_types一致的格式,然后返回给PaddlePaddle进程。注意, + + - 返回的顺序需要和input_types中定义的顺序一致。 + - 返回时,必须使用Python关键词 ``yield`` ,相关概念是 ``generator`` 。 + - 一次yield调用,返回一条完整的样本。如果想为一个数据文件返回多条样本,只需要在函数中调用多次yield即可(本例中使用for循环进行多次调用)。 + + - 该函数具有两个参数: + + - settings:在本例中没有使用,具体可以参考 `init_hook`_ 中的说明。 + - filename:为 ``train.list`` 或 ``test.list`` 中的一行,即若干数据文件路径的某一个。 + +网络配置中的调用 +++++++++++++++++ + +在网络配置里,只需要一行代码就可以调用这个PyDataProvider2,如, + +.. literalinclude:: src/mnist_config.py + :lines: 1-7 + +训练数据是 ``train.list`` ,没有测试数据,调用的PyDataProvider2是 ``mnist_provider`` 模块中的 ``process`` 函数。 + +小结 ++++++ + +至此,简单的PyDataProvider2样例就说明完毕了。对用户来说,仅需要知道如何从 **一个文件** 中读取 **一条样本** ,就可以将数据传送给PaddlePaddle了。而PaddlePaddle则会帮用户做以下工作: + +* 将数据组合成Batch进行训练 +* 对训练数据进行Shuffle +* 多线程的数据读取 +* 缓存训练数据到内存(可选) +* CPU->GPU双缓存 + +是不是很简单呢? + +时序模型的使用场景 +------------------ +样例数据 +++++++++ + +时序模型是指数据的某一维度是一个序列形式,即包含时间步信息。所谓时间步信息,不一定和时间有关系,只是说明数据的顺序是重要的。例如,文本信息就是一个序列数据。 + +本例采用英文情感分类的数据,即将一段英文文本数据,分类成正面情绪和负面情绪两类(用0和1表示)。样例数据 ``sentimental_train.txt`` 如下: + +.. literalinclude:: src/sentimental_train.txt + +dataprovider的使用 +++++++++++++++++++ + +相对MNIST而言,这个dataprovider较复杂,主要原因是增加了初始化机制 `init_hook`_。本例的 ``on_init`` 函数就是根据该机制配置的,它会在dataprovider创建的时候执行。 + +- 其中 ``input_types`` 和在 `@provider`_ 中配置的效果一致。本例中的输入特征是词ID的序列,因此使用 ``integer_value_sequence`` 类型来设置。 +- 将 ``dictionary`` 存入settings对象,在 ``process`` 函数中使用。 dictionary是从网络配置中传入的dict对象,即一个将单词字符串映射到单词ID的字典。 + +.. literalinclude:: src/sentimental_provider.py + +网络配置中的调用 +++++++++++++++++ + +调用这个PyDataProvider2的方法,基本上和MNIST样例一致,除了 + +* 在配置中需要读取外部字典。 +* 在声明DataProvider的时候传入dictionary作为参数。 + +.. literalinclude:: src/sentimental_config.py + :emphasize-lines: 12-14 + +参考(Reference) +--------------- + +@provider ++++++++++ + +``@provider`` 是一个Python的 `Decorator`_ ,可以将某一个函数标记成一个PyDataProvider2。如果不了解 `Decorator`_ 是什么也没关系,只需知道这是一个标记属性的方法就可以了。它包含的属性参数如下: + +* input_types:数据输入格式。具体的格式说明,请参考 `input_types`_ 。 +* should_shuffle:是不是要对数据做Shuffle。训练时默认shuffle,测试时默认不shuffle。 +* min_pool_size:设置内存中最小暂存的数据条数,也是PaddlePaddle所能够保证的shuffle粒度。如果为-1,则会预先读取全部数据到内存中。 +* pool_size: 设置内存中暂存的数据条数。如果为-1(默认),则不在乎内存暂存多少条数据。如果设置,则推荐大于训练时batch size的值,并且在内存足够的情况下越大越好。 +* can_over_batch_size:是否允许暂存略微多余pool_size的数据。由于这样做可以避免很多死锁问题,一般推荐设置成True。 +* calc_batch_size:可以传入一个函数,用于自定义每条数据的batch size(默认为1)。 +* cache: 数据缓存的策略,具体请参考 `cache`_ 。 +* init_hook:初始化时调用的函数,具体请参考 `init_hook`_ 。 +* check:如果为true,会根据input_types检查数据的合法性。 +* check_fail_continue:如果为true,那么当check出数据不合法时,会扔到这条数据,继续训练或预测。(对check=false的情况,没有作用) + +input_types ++++++++++++ + +PaddlePaddle的数据包括四种主要类型,和三种序列模式。 + +四种数据类型: + +* dense_vector:稠密的浮点数向量。 +* sparse_binary_vector:稀疏的01向量,即大部分值为0,但有值的地方必须为1。 +* sparse_float_vector:稀疏的向量,即大部分值为0,但有值的部分可以是任何浮点数。 +* integer:整数标签。 + +三种序列模式: + +* SequenceType.NO_SEQUENCE:不是一条序列 +* SequenceType.SEQUENCE:是一条时间序列 +* SequenceType.SUB_SEQUENCE: 是一条时间序列,且序列的每一个元素还是一个时间序列。 + +不同的数据类型和序列模式返回的格式不同,列表如下: + ++----------------------+---------------------+-----------------------------------+------------------------------------------------+ +| | NO_SEQUENCE | SEQUENCE | SUB_SEQUENCE | ++======================+=====================+===================================+================================================+ +| dense_vector | [f, f, ...] | [[f, ...], [f, ...], ...] | [[[f, ...], ...], [[f, ...], ...],...] | ++----------------------+---------------------+-----------------------------------+------------------------------------------------+ +| sparse_binary_vector | [i, i, ...] | [[i, ...], [i, ...], ...] | [[[i, ...], ...], [[i, ...], ...],...] | ++----------------------+---------------------+-----------------------------------+------------------------------------------------+ +| sparse_float_vector | [(i,f), (i,f), ...] | [[(i,f), ...], [(i,f), ...], ...] | [[[(i,f), ...], ...], [[(i,f), ...], ...],...] | ++----------------------+---------------------+-----------------------------------+------------------------------------------------+ +| integer_value | i | [i, i, ...] | [[i, ...], [i, ...], ...] | ++----------------------+---------------------+-----------------------------------+------------------------------------------------+ + +其中,f代表一个浮点数,i代表一个整数。 + +注意:对sparse_binary_vector和sparse_float_vector,PaddlePaddle存的是有值位置的索引。例如, + +- 对一个5维非序列的稀疏01向量 ``[0, 1, 1, 0, 0]`` ,类型是sparse_binary_vector,返回的是 ``[1, 2]`` 。 +- 对一个5维非序列的稀疏浮点向量 ``[0, 0.5, 0.7, 0, 0]`` ,类型是sparse_float_vector,返回的是 ``[(1, 0.5), (2, 0.7)]`` 。 + +init_hook ++++++++++ + +init_hook可以传入一个函数。该函数在初始化的时候会被调用,其参数如下: + +* 第一个参数是settings对象,它和数据传入函数的第一个参数(如本例中 ``process`` 函数的 ``settings`` 参数)必须一致。该对象具有以下两个属性: + * settings.input_types:数据输入格式,具体请参考 `input_types`_ 。 + * settings.logger:一个logging对象。 +* 其他参数使用 ``kwargs`` (key word arguments)传入,包括以下两种: + * PaddlePaddle定义的参数: 1)is_train:bool型参数,表示用于训练或预测;2)file_list:所有文件列表。 + * 用户定义的参数:使用args在网络配置中设置。 + +注意:PaddlePaddle保留添加参数的权力,因此init_hook尽量使用 ``**kwargs`` 来接受不使用的函数以保证兼容性。 + +cache ++++++ + +PyDataProvider2提供了两种简单的Cache策略: + +* CacheType.NO_CACHE:不缓存任何数据,每次都会从python端读取数据 +* CacheType.CACHE_PASS_IN_MEM:第一个pass会从python端读取数据,剩下的pass会直接从内存里 + 读取数据。 + + +注意事项 +-------- + +可能的内存泄露问题 +++++++++++++++++++ + +PaddlePaddle将train.list中的每一行都传递给process函数,从而生成多个generator。当训练数据非常多时,就会生成非常多的generator。 + +虽然每个generator在没有调用的时候,是几乎不占内存的;但当调用过一次后,generator便会存下当前的上下文(Context),而这个Context可能会非常大。并且,generator至少需要调用两次才会知道是否停止。所以,即使process函数里面只有一个yield,也需要两次随机选择到相同generator的时候,才会释放该段内存。 + +.. code-block:: python + + def func(): + yield 0 + + f = func() # 创建generator + tmp = next(f) # 调用一次,返回0 + tmp = next(f) # 调用第二次的时候,才会Stop Iteration + +由于顺序调用这些generator不会出现上述问题,因此有两种解决方案: + +1. **最佳推荐**:将样本的地址放入另一个文本文件,train.list写入那个文本文件的地址。即不要将每一个样本都放入train.list。 +2. 在generator的上下文中尽量留下非常少的变量引用,例如 + +.. code-block:: python + + def real_process(fn): + # ... read from fn + return result # 当函数返回的时候,python可以解除掉内部变量的引用。 + + def process(fn): + yield real_process(fn) + +注意:这个问题是PyDataProvider读数据时候的逻辑问题,很难整体修正。 + +内存不够用的情况 +++++++++++++++++ + +PyDataProvider2会尽可能多的使用内存。因此,对于内存较小的机器,推荐使用 ``pool_size`` 变量来设置内存中暂存的数据条。具体请参考 `@provider`_ 中的说明。 + diff --git a/release/0.10.0/doc_cn/_sources/api/v1/index_cn.rst.txt b/release/0.10.0/doc_cn/_sources/api/v1/index_cn.rst.txt new file mode 100644 index 0000000000..3718cd73a2 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/api/v1/index_cn.rst.txt @@ -0,0 +1,37 @@ +API中文手册 +============ + +DataProvider API +---------------- + +.. toctree:: + :maxdepth: 1 + + data_provider/dataprovider_cn.rst + data_provider/pydataprovider2_cn.rst + +.. _api_trainer_config: + +Model Config API +---------------- + +.. toctree:: + :maxdepth: 1 + + trainer_config_helpers/optimizers.rst + trainer_config_helpers/data_sources.rst + trainer_config_helpers/layers.rst + trainer_config_helpers/activations.rst + trainer_config_helpers/poolings.rst + trainer_config_helpers/networks.rst + trainer_config_helpers/evaluators.rst + trainer_config_helpers/attrs.rst + + +Applications API +---------------- + +.. toctree:: + :maxdepth: 1 + + predict/swig_py_paddle_cn.rst diff --git a/release/0.10.0/doc_cn/_sources/api/v1/predict/swig_py_paddle_cn.rst.txt b/release/0.10.0/doc_cn/_sources/api/v1/predict/swig_py_paddle_cn.rst.txt new file mode 100644 index 0000000000..42f333dba2 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/api/v1/predict/swig_py_paddle_cn.rst.txt @@ -0,0 +1,58 @@ +.. _api_swig_py_paddle: + +基于Python的预测 +================ + +预测流程 +-------- + +PaddlePaddle使用swig对常用的预测接口进行了封装,通过编译会生成py_paddle软件包,安装该软件包就可以在python环境下实现模型预测。可以使用python的 ``help()`` 函数查询软件包相关API说明。 + +基于Python的模型预测,主要包括以下五个步骤。 + +1. 初始化PaddlePaddle环境 + + 在程序开始阶段,通过调用 ``swig_paddle.initPaddle()`` 并传入相应的命令行参数初始化PaddlePaddle。 + +2. 解析模型配置文件 + + 初始化之后,可以通过调用 ``parse_config()`` 解析训练模型时用的配置文件。注意预测数据通常不包含label, 同时预测网络通常直接输出最后一层的结果而不是像训练网络一样再接一层cost layer,所以一般需要对训练用的模型配置文件稍作相应修改才能在预测时使用。 + +3. 构造paddle.GradientMachine + + 通过调用 ``swig_paddle.GradientMachine.createFromConfigproto()`` 传入上一步解析出来的模型配置就可以创建一个 ``GradientMachine``。 + +4. 准备预测数据 + + swig_paddle中的预测接口的参数是自定义的C++数据类型,py_paddle里面提供了一个工具类 ``DataProviderConverter`` 可以用于接收和PyDataProvider2一样的输入数据并转换成预测接口所需的数据类型。 + +5. 模型预测 + + 通过调用 ``forwardTest()`` 传入预测数据,直接返回计算结果。 + + +预测Demo +-------- + +如下是一段使用mnist model来实现手写识别的预测代码。完整的代码见 ``src_root/doc/ui/predict/predict_sample.py`` 。mnist model可以通过 ``src_root\demo\mnist`` 目录下的demo训练出来。 + +.. literalinclude:: src/predict_sample.py + :language: python + :lines: 15-18,121-136 + + +Demo预测输出如下,其中value即为softmax层的输出。由于TEST_DATA包含两条预测数据,所以输出的value包含两个向量 。 + +.. code-block:: text + + [{'id': None, 'value': array( + [[ 5.53018653e-09, 1.12194102e-05, 1.96644767e-09, + 1.43630644e-02, 1.51111044e-13, 9.85625684e-01, + 2.08823112e-10, 2.32777140e-08, 2.00186201e-09, + 1.15501715e-08], + [ 9.99982715e-01, 1.27787406e-10, 1.72296313e-05, + 1.49316648e-09, 1.36540484e-11, 6.93137714e-10, + 2.70634608e-08, 3.48565123e-08, 5.25639710e-09, + 4.48684503e-08]], dtype=float32)}] + + diff --git a/release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/activations.rst.txt b/release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/activations.rst.txt new file mode 100644 index 0000000000..269e6491e7 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/activations.rst.txt @@ -0,0 +1,108 @@ +=========== +Activations +=========== + +BaseActivation +============== + +.. automodule:: paddle.trainer_config_helpers.activations + :members: BaseActivation + :noindex: + +AbsActivation +=============== + +.. automodule:: paddle.trainer_config_helpers.activations + :members: AbsActivation + :noindex: + +ExpActivation +=============== + +.. automodule:: paddle.trainer_config_helpers.activations + :members: ExpActivation + :noindex: + +IdentityActivation +================== + +.. automodule:: paddle.trainer_config_helpers.activations + :members: IdentityActivation + :noindex: + +LinearActivation +================== + +.. automodule:: paddle.trainer_config_helpers.activations + :members: LinearActivation + :noindex: + +LogActivation +================== + +.. automodule:: paddle.trainer_config_helpers.activations + :members: LogActivation + :noindex: + +SquareActivation +================ + +.. automodule:: paddle.trainer_config_helpers.activations + :members: SquareActivation + :noindex: + +SigmoidActivation +================= + +.. automodule:: paddle.trainer_config_helpers.activations + :members: SigmoidActivation + :noindex: + +SoftmaxActivation +================= + +.. automodule:: paddle.trainer_config_helpers.activations + :members: SoftmaxActivation + :noindex: + +SequenceSoftmaxActivation +========================= + +.. automodule:: paddle.trainer_config_helpers.activations + :members: SequenceSoftmaxActivation + :noindex: + +ReluActivation +============== + +.. automodule:: paddle.trainer_config_helpers.activations + :members: ReluActivation + :noindex: + +BReluActivation +=============== + +.. automodule:: paddle.trainer_config_helpers.activations + :members: BReluActivation + :noindex: + +SoftReluActivation +================== + +.. automodule:: paddle.trainer_config_helpers.activations + :members: SoftReluActivation + :noindex: + +TanhActivation +============== + +.. automodule:: paddle.trainer_config_helpers.activations + :members: TanhActivation + :noindex: + +STanhActivation +=============== + +.. automodule:: paddle.trainer_config_helpers.activations + :members: STanhActivation + :noindex: diff --git a/release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/attrs.rst.txt b/release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/attrs.rst.txt new file mode 100644 index 0000000000..ac63127bf7 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/attrs.rst.txt @@ -0,0 +1,5 @@ +Parameter Attributes +======================= + +.. automodule:: paddle.trainer_config_helpers.attrs + :members: diff --git a/release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/data_sources.rst.txt b/release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/data_sources.rst.txt new file mode 100644 index 0000000000..b9dd4dda01 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/data_sources.rst.txt @@ -0,0 +1,7 @@ +.. _api_trainer_config_helpers_data_sources: + +DataSources +=========== + +.. automodule:: paddle.trainer_config_helpers.data_sources + :members: diff --git a/release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/evaluators.rst.txt b/release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/evaluators.rst.txt new file mode 100644 index 0000000000..11dc735164 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/evaluators.rst.txt @@ -0,0 +1,108 @@ +.. _api_trainer_config_helpers_evaluators: + +========== +Evaluators +========== + +Base +==== +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: evaluator_base + :noindex: + +Classification +============== + +classification_error_evaluator +------------------------------ +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: classification_error_evaluator + :noindex: + +auc_evaluator +------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: auc_evaluator + :noindex: + +ctc_error_evaluator +------------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: ctc_error_evaluator + :noindex: + +chunk_evaluator +--------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: chunk_evaluator + :noindex: + +precision_recall_evaluator +-------------------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: precision_recall_evaluator + :noindex: + +Rank +==== + +pnpair_evaluator +---------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: pnpair_evaluator + :noindex: + +Utils +===== + +sum_evaluator +------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: sum_evaluator + :noindex: + +column_sum_evaluator +-------------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: column_sum_evaluator + :noindex: + +Print +===== + +classification_error_printer_evaluator +-------------------------------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: classification_error_printer_evaluator + :noindex: + +gradient_printer_evaluator +-------------------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: gradient_printer_evaluator + :noindex: + +maxid_printer_evaluator +----------------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: maxid_printer_evaluator + :noindex: + +maxframe_printer_evaluator +--------------------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: maxframe_printer_evaluator + :noindex: + +seqtext_printer_evaluator +------------------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: seqtext_printer_evaluator + :noindex: + +value_printer_evaluator +----------------------- +.. automodule:: paddle.trainer_config_helpers.evaluators + :members: value_printer_evaluator + :noindex: + diff --git a/release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/layers.rst.txt b/release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/layers.rst.txt new file mode 100644 index 0000000000..24389c2d85 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/layers.rst.txt @@ -0,0 +1,508 @@ +.. _api_trainer_config_helpers_layers: + +====== +Layers +====== + +Base +====== + +LayerType +--------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: LayerType + :noindex: + +LayerOutput +----------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: LayerOutput + :noindex: + +Data layer +=========== + +.. _api_trainer_config_helpers_layers_data_layer: + +data_layer +---------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: data_layer + :noindex: + +Fully Connected Layers +====================== + +.. _api_trainer_config_helpers_layers_fc_layer: + +fc_layer +-------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: fc_layer + :noindex: + +selective_fc_layer +------------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: selective_fc_layer + :noindex: + +Conv Layers +=========== + +conv_operator +------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: conv_operator + :noindex: + +conv_projection +--------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: conv_projection + :noindex: + +conv_shift_layer +------------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: conv_shift_layer + :noindex: + +img_conv_layer +-------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: img_conv_layer + :noindex: + +.. _api_trainer_config_helpers_layers_context_projection: + +context_projection +------------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: context_projection + :noindex: + +Image Pooling Layer +=================== + +img_pool_layer +-------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: img_pool_layer + :noindex: + +spp_layer +-------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: spp_layer + :noindex: + +maxout_layer +------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: maxout_layer + :noindex: + +Norm Layer +========== + +img_cmrnorm_layer +----------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: img_cmrnorm_layer + :noindex: + +batch_norm_layer +--------------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: batch_norm_layer + :noindex: + +sum_to_one_norm_layer +--------------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: sum_to_one_norm_layer + :noindex: + +Recurrent Layers +================ + +recurrent_layer +----------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: recurrent_layer + :noindex: + +lstmemory +--------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: lstmemory + :noindex: + +grumemory +--------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: grumemory + :noindex: + +Recurrent Layer Group +===================== + +memory +------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: memory + :noindex: + +recurrent_group +--------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: recurrent_group + :noindex: + +lstm_step_layer +--------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: lstm_step_layer + :noindex: + +gru_step_layer +--------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: gru_step_layer + :noindex: + +beam_search +------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: beam_search + :noindex: + +get_output_layer +----------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: get_output_layer + :noindex: + +Mixed Layer +=========== + +.. _api_trainer_config_helpers_layers_mixed_layer: + +mixed_layer +----------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: mixed_layer + :noindex: + +.. _api_trainer_config_helpers_layers_embedding_layer: + +embedding_layer +--------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: embedding_layer + :noindex: + +scaling_projection +------------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: scaling_projection + :noindex: + +dotmul_projection +----------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: dotmul_projection + :noindex: + +dotmul_operator +--------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: dotmul_operator + :noindex: + +full_matrix_projection +---------------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: full_matrix_projection + :noindex: + +identity_projection +------------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: identity_projection + :noindex: + + +table_projection +---------------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: table_projection + :noindex: + +trans_full_matrix_projection +---------------------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: trans_full_matrix_projection + :noindex: + +Aggregate Layers +================ + +.. _api_trainer_config_helpers_layers_pooling_layer: + +pooling_layer +------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: pooling_layer + :noindex: + +.. _api_trainer_config_helpers_layers_last_seq: + +last_seq +-------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: last_seq + :noindex: + +.. _api_trainer_config_helpers_layers_first_seq: + +first_seq +--------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: first_seq + :noindex: + +concat_layer +------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: concat_layer + :noindex: + +seq_concat_layer +---------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: seq_concat_layer + :noindex: + +Reshaping Layers +================ + +block_expand_layer +------------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: block_expand_layer + :noindex: + +.. _api_trainer_config_helpers_layers_expand_layer: + +expand_layer +------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: expand_layer + :noindex: + +repeat_layer +------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: repeat_layer + :noindex: + +rotate_layer +------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: rotate_layer + :noindex: + +seq_reshape_layer +----------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: seq_reshape_layer + :noindex: + +Math Layers +=========== + +addto_layer +----------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: addto_layer + :noindex: + +linear_comb_layer +----------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: linear_comb_layer + :noindex: + +interpolation_layer +------------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: interpolation_layer + :noindex: + +bilinear_interp_layer +---------------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: bilinear_interp_layer + :noindex: + +power_layer +----------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: power_layer + :noindex: + +scaling_layer +------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: scaling_layer + :noindex: + +slope_intercept_layer +---------------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: slope_intercept_layer + :noindex: + +tensor_layer +------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: tensor_layer + :noindex: + +.. _api_trainer_config_helpers_layers_cos_sim: + +cos_sim +------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: cos_sim + :noindex: + +trans_layer +------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: trans_layer + :noindex: + +Sampling Layers +=============== + +maxid_layer +----------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: maxid_layer + :noindex: + +sampling_id_layer +----------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: sampling_id_layer + :noindex: + +Slicing and Joining Layers +========================== + +pad_layer +----------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: pad_layer + :noindex: + +.. _api_trainer_config_helpers_layers_cost_layers: + +Cost Layers +=========== + +cross_entropy +------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: cross_entropy + :noindex: + +cross_entropy_with_selfnorm +--------------------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: cross_entropy_with_selfnorm + :noindex: + +multi_binary_label_cross_entropy +-------------------------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: multi_binary_label_cross_entropy + :noindex: + +mse_cost +--------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: mse_cost + :noindex: + +huber_cost +---------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: huber_cost + :noindex: + +lambda_cost +----------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: lambda_cost + :noindex: + +rank_cost +--------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: rank_cost + :noindex: + +sum_cost +--------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: sum_cost + :noindex: + +crf_layer +----------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: crf_layer + :noindex: + +crf_decoding_layer +------------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: crf_decoding_layer + :noindex: + +ctc_layer +----------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: ctc_layer + :noindex: + +warp_ctc_layer +-------------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: warp_ctc_layer + :noindex: + +nce_layer +----------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: nce_layer + :noindex: + +hsigmoid +--------- +.. automodule:: paddle.trainer_config_helpers.layers + :members: hsigmoid + :noindex: + +Check Layer +============ + +eos_layer +------------ +.. automodule:: paddle.trainer_config_helpers.layers + :members: eos_layer + :noindex: diff --git a/release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/networks.rst.txt b/release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/networks.rst.txt new file mode 100644 index 0000000000..edb53acbf0 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/networks.rst.txt @@ -0,0 +1,123 @@ +======== +Networks +======== + +The networks module contains pieces of neural network that combine multiple layers. + +NLP +=== + +sequence_conv_pool +------------------ +.. automodule:: paddle.trainer_config_helpers.networks + :members: sequence_conv_pool + :noindex: + +.. _api_trainer_config_helpers_network_text_conv_pool: + +text_conv_pool +-------------- +.. automodule:: paddle.trainer_config_helpers.networks + :members: text_conv_pool + :noindex: + +Images +====== + +img_conv_bn_pool +---------------- +.. automodule:: paddle.trainer_config_helpers.networks + :members: img_conv_bn_pool + :noindex: + +img_conv_group +-------------- +.. automodule:: paddle.trainer_config_helpers.networks + :members: img_conv_group + :noindex: + +.. _api_trainer_config_helpers_network_simple_img_conv_pool: + +simple_img_conv_pool +-------------------- +.. automodule:: paddle.trainer_config_helpers.networks + :members: simple_img_conv_pool + :noindex: + +vgg_16_network +--------------- +.. automodule:: paddle.trainer_config_helpers.networks + :members: vgg_16_network + :noindex: + +Recurrent +========= + +LSTM +---- + +lstmemory_unit +`````````````` +.. automodule:: paddle.trainer_config_helpers.networks + :members: lstmemory_unit + :noindex: + +lstmemory_group +``````````````` +.. automodule:: paddle.trainer_config_helpers.networks + :members: lstmemory_group + :noindex: + +simple_lstm +``````````` +.. automodule:: paddle.trainer_config_helpers.networks + :members: simple_lstm + :noindex: + +bidirectional_lstm +`````````````````` +.. automodule:: paddle.trainer_config_helpers.networks + :members: bidirectional_lstm + :noindex: + +GRU +--- + +gru_unit +```````` +.. automodule:: paddle.trainer_config_helpers.networks + :members: gru_unit + :noindex: + +gru_group +````````` +.. automodule:: paddle.trainer_config_helpers.networks + :members: gru_group + :noindex: + +simple_gru +`````````` +.. automodule:: paddle.trainer_config_helpers.networks + :members: simple_gru + :noindex: + +simple_attention +---------------- +.. automodule:: paddle.trainer_config_helpers.networks + :members: simple_attention + :noindex: + +Miscs +===== + +dropout_layer +-------------- +.. automodule:: paddle.trainer_config_helpers.networks + :members: dropout_layer + :noindex: + +outputs +------- +.. automodule:: paddle.trainer_config_helpers.networks + :members: outputs + :noindex: diff --git a/release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/optimizers.rst.txt b/release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/optimizers.rst.txt new file mode 100644 index 0000000000..d2f4958c92 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/optimizers.rst.txt @@ -0,0 +1,61 @@ +.. _api_trainer_config_helpers_optimizers: + +========== +Optimizers +========== + +BaseSGDOptimizer +================ +.. automodule:: paddle.trainer_config_helpers.optimizers + :members: BaseSGDOptimizer + :noindex: + +MomentumOptimizer +================= +.. automodule:: paddle.trainer_config_helpers.optimizers + :members: MomentumOptimizer + :noindex: + +AdamOptimizer +============= +.. automodule:: paddle.trainer_config_helpers.optimizers + :members: AdamOptimizer + :noindex: + +AdamaxOptimizer +================ +.. automodule:: paddle.trainer_config_helpers.optimizers + :members: AdamaxOptimizer + :noindex: + +AdaGradOptimizer +================ +.. automodule:: paddle.trainer_config_helpers.optimizers + :members: AdaGradOptimizer + :noindex: + +DecayedAdaGradOptimizer +======================= +.. automodule:: paddle.trainer_config_helpers.optimizers + :members: DecayedAdaGradOptimizer + :noindex: + +AdaDeltaOptimizer +================= +.. automodule:: paddle.trainer_config_helpers.optimizers + :members: AdaDeltaOptimizer + :noindex: + +RMSPropOptimizer +================ +.. automodule:: paddle.trainer_config_helpers.optimizers + :members: RMSPropOptimizer + :noindex: + +.. _api_trainer_config_helpers_optimizers_settings: + +settings +======== +.. automodule:: paddle.trainer_config_helpers.optimizers + :members: settings + :noindex: diff --git a/release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/poolings.rst.txt b/release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/poolings.rst.txt new file mode 100644 index 0000000000..66566809d2 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/api/v1/trainer_config_helpers/poolings.rst.txt @@ -0,0 +1,33 @@ +======== +Poolings +======== + +BasePoolingType +=============== +.. automodule:: paddle.trainer_config_helpers.poolings + :members: BasePoolingType + :noindex: + +AvgPooling +========== +.. automodule:: paddle.trainer_config_helpers.poolings + :members: AvgPooling + :noindex: + +MaxPooling +========== +.. automodule:: paddle.trainer_config_helpers.poolings + :members: MaxPooling + :noindex: + +SumPooling +========== +.. automodule:: paddle.trainer_config_helpers.poolings + :members: SumPooling + :noindex: + +SquareRootNPooling +================== +.. automodule:: paddle.trainer_config_helpers.poolings + :members: SquareRootNPooling + :noindex: diff --git a/release/0.10.0/doc_cn/_sources/api/v2/config/activation.rst.txt b/release/0.10.0/doc_cn/_sources/api/v2/config/activation.rst.txt new file mode 100644 index 0000000000..eca3ce03bc --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/api/v2/config/activation.rst.txt @@ -0,0 +1,101 @@ +=========== +Activation +=========== + +Abs +=== + +.. automodule:: paddle.v2.activation + :members: Abs + :noindex: + +Exp +=== + +.. automodule:: paddle.v2.activation + :members: Exp + :noindex: + +Identity +======== + +.. automodule:: paddle.v2.activation + :members: Identity + :noindex: + +Linear +====== + +.. automodule:: paddle.v2.activation + :members: Linear + :noindex: + +Log +=== + +.. automodule:: paddle.v2.activation + :members: Log + :noindex: + +Square +====== + +.. automodule:: paddle.v2.activation + :members: Square + :noindex: + +Sigmoid +======= + +.. automodule:: paddle.v2.activation + :members: Sigmoid + :noindex: + +Softmax +======= + +.. automodule:: paddle.v2.activation + :members: Softmax + :noindex: + +SequenceSoftmax +=============== + +.. automodule:: paddle.v2.activation + :members: SequenceSoftmax + :noindex: + +Relu +==== + +.. automodule:: paddle.v2.activation + :members: Relu + :noindex: + +BRelu +===== + +.. automodule:: paddle.v2.activation + :members: BRelu + :noindex: + +SoftRelu +======== + +.. automodule:: paddle.v2.activation + :members: SoftRelu + :noindex: + +Tanh +==== + +.. automodule:: paddle.v2.activation + :members: Tanh + :noindex: + +STanh +===== + +.. automodule:: paddle.v2.activation + :members: STanh + :noindex: diff --git a/release/0.10.0/doc_cn/_sources/api/v2/config/attr.rst.txt b/release/0.10.0/doc_cn/_sources/api/v2/config/attr.rst.txt new file mode 100644 index 0000000000..a93f41b867 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/api/v2/config/attr.rst.txt @@ -0,0 +1,6 @@ +Parameter Attribute +=================== + +.. automodule:: paddle.v2.attr + :members: + :noindex: diff --git a/release/0.10.0/doc_cn/_sources/api/v2/config/layer.rst.txt b/release/0.10.0/doc_cn/_sources/api/v2/config/layer.rst.txt new file mode 100644 index 0000000000..2a02baf17b --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/api/v2/config/layer.rst.txt @@ -0,0 +1,428 @@ +.. _api_v2.layer: + +====== +Layers +====== + +Data layer +=========== + +.. _api_v2.layer_data: + +data +---- +.. autoclass:: paddle.v2.layer.data + :noindex: + +Fully Connected Layers +====================== + +.. _api_v2.layer_fc: + +fc +-- +.. autoclass:: paddle.v2.layer.fc + :noindex: + +selective_fc +------------ +.. autoclass:: paddle.v2.layer.selective_fc + :noindex: + +Conv Layers +=========== + +conv_operator +------------- +.. autoclass:: paddle.v2.layer.conv_operator + :noindex: + +conv_projection +--------------- +.. autoclass:: paddle.v2.layer.conv_projection + :noindex: + +conv_shift +---------- +.. autoclass:: paddle.v2.layer.conv_shift + :noindex: + +img_conv +-------- +.. autoclass:: paddle.v2.layer.img_conv + :noindex: + +.. _api_v2.layer_context_projection: + +context_projection +------------------ +.. autoclass:: paddle.v2.layer.context_projection + :noindex: + +Image Pooling Layer +=================== + +img_pool +-------- +.. autoclass:: paddle.v2.layer.img_pool + :noindex: + +spp +--- +.. autoclass:: paddle.v2.layer.spp + :noindex: + +maxout +------ +.. autoclass:: paddle.v2.layer.maxout + :noindex: + +Norm Layer +========== + +img_cmrnorm +----------- +.. autoclass:: paddle.v2.layer.img_cmrnorm + :noindex: + +batch_norm +---------- +.. autoclass:: paddle.v2.layer.batch_norm + :noindex: + +sum_to_one_norm +--------------- +.. autoclass:: paddle.v2.layer.sum_to_one_norm + :noindex: + +cross_channel_norm +------------------ +.. autoclass:: paddle.v2.layer.cross_channel_norm + :noindex: + +Recurrent Layers +================ + +recurrent +--------- +.. autoclass:: paddle.v2.layer.recurrent + :noindex: + +lstmemory +--------- +.. autoclass:: paddle.v2.layer.lstmemory + :noindex: + +grumemory +--------- +.. autoclass:: paddle.v2.layer.grumemory + :noindex: + +Recurrent Layer Group +===================== + +memory +------ +.. autoclass:: paddle.v2.layer.memory + :noindex: + +recurrent_group +--------------- +.. autoclass:: paddle.v2.layer.recurrent_group + :noindex: + +lstm_step +--------- +.. autoclass:: paddle.v2.layer.lstm_step + :noindex: + +gru_step +-------- +.. autoclass:: paddle.v2.layer.gru_step + :noindex: + +beam_search +------------ +.. autoclass:: paddle.v2.layer.beam_search + :noindex: + +get_output +---------- +.. autoclass:: paddle.v2.layer.get_output + :noindex: + +Mixed Layer +=========== + +.. _api_v2.layer_mixed: + +mixed +----- +.. autoclass:: paddle.v2.layer.mixed + :noindex: + +.. _api_v2.layer_embedding: + +embedding +--------- +.. autoclass:: paddle.v2.layer.embedding + :noindex: + +scaling_projection +------------------ +.. autoclass:: paddle.v2.layer.scaling_projection + :noindex: + +dotmul_projection +----------------- +.. autoclass:: paddle.v2.layer.dotmul_projection + :noindex: + +dotmul_operator +--------------- +.. autoclass:: paddle.v2.layer.dotmul_operator + :noindex: + +full_matrix_projection +---------------------- +.. autoclass:: paddle.v2.layer.full_matrix_projection + :noindex: + +identity_projection +------------------- +.. autoclass:: paddle.v2.layer.identity_projection + :noindex: + + +table_projection +---------------- +.. autoclass:: paddle.v2.layer.table_projection + :noindex: + +trans_full_matrix_projection +---------------------------- +.. autoclass:: paddle.v2.layer.trans_full_matrix_projection + :noindex: + +Aggregate Layers +================ + +.. _api_v2.layer_pooling: + +pooling +------- +.. autoclass:: paddle.v2.layer.pooling + :noindex: + +.. _api_v2.layer_last_seq: + +last_seq +-------- +.. autoclass:: paddle.v2.layer.last_seq + :noindex: + +.. _api_v2.layer_first_seq: + +first_seq +--------- +.. autoclass:: paddle.v2.layer.first_seq + :noindex: + +concat +------ +.. autoclass:: paddle.v2.layer.concat + :noindex: + +seq_concat +---------- +.. autoclass:: paddle.v2.layer.seq_concat + :noindex: + +Reshaping Layers +================ + +block_expand +------------ +.. autoclass:: paddle.v2.layer.block_expand + :noindex: + +.. _api_v2.layer_expand: + +expand +------ +.. autoclass:: paddle.v2.layer.expand + :noindex: + +repeat +------ +.. autoclass:: paddle.v2.layer.repeat + :noindex: + +rotate +------ +.. autoclass:: paddle.v2.layer.rotate + :noindex: + +seq_reshape +----------- +.. autoclass:: paddle.v2.layer.seq_reshape + :noindex: + +Math Layers +=========== + +addto +----- +.. autoclass:: paddle.v2.layer.addto + :noindex: + +linear_comb +----------- +.. autoclass:: paddle.v2.layer.linear_comb + :noindex: + +interpolation +------------- +.. autoclass:: paddle.v2.layer.interpolation + :noindex: + +bilinear_interp +--------------- +.. autoclass:: paddle.v2.layer.bilinear_interp + :noindex: + +power +----- +.. autoclass:: paddle.v2.layer.power + :noindex: + +scaling +------- +.. autoclass:: paddle.v2.layer.scaling + :noindex: + +slope_intercept +--------------- +.. autoclass:: paddle.v2.layer.slope_intercept + :noindex: + +tensor +------ +.. autoclass:: paddle.v2.layer.tensor + :noindex: + +.. _api_v2.layer_cos_sim: + +cos_sim +------- +.. autoclass:: paddle.v2.layer.cos_sim + :noindex: + +trans +----- +.. autoclass:: paddle.v2.layer.trans + :noindex: + +Sampling Layers +=============== + +maxid +----- +.. autoclass:: paddle.v2.layer.max_id + :noindex: + +sampling_id +----------- +.. autoclass:: paddle.v2.layer.sampling_id + :noindex: + +Slicing and Joining Layers +========================== + +pad +---- +.. autoclass:: paddle.v2.layer.pad + :noindex: + +.. _api_v2.layer_costs: + +Cost Layers +=========== + +cross_entropy_cost +------------------ +.. autoclass:: paddle.v2.layer.cross_entropy_cost + :noindex: + +cross_entropy_with_selfnorm_cost +-------------------------------- +.. autoclass:: paddle.v2.layer.cross_entropy_with_selfnorm_cost + :noindex: + +multi_binary_label_cross_entropy_cost +------------------------------------- +.. autoclass:: paddle.v2.layer.multi_binary_label_cross_entropy_cost + :noindex: + +huber_cost +---------- +.. autoclass:: paddle.v2.layer.huber_cost + :noindex: + +lambda_cost +----------- +.. autoclass:: paddle.v2.layer.lambda_cost + :noindex: + +mse_cost +-------- +.. autoclass:: paddle.v2.layer.mse_cost + :noindex: + +rank_cost +--------- +.. autoclass:: paddle.v2.layer.rank_cost + :noindex: + +sum_cost +--------- +.. autoclass:: paddle.v2.layer.sum_cost + :noindex: + +crf +--- +.. autoclass:: paddle.v2.layer.crf + :noindex: + +crf_decoding +------------ +.. autoclass:: paddle.v2.layer.crf_decoding + :noindex: + +ctc +--- +.. autoclass:: paddle.v2.layer.ctc + :noindex: + +warp_ctc +-------- +.. autoclass:: paddle.v2.layer.warp_ctc + :noindex: + +nce +--- +.. autoclass:: paddle.v2.layer.nce + :noindex: + +hsigmoid +--------- +.. autoclass:: paddle.v2.layer.hsigmoid + :noindex: + +Check Layer +============ + +eos +--- +.. autoclass:: paddle.v2.layer.eos + :noindex: diff --git a/release/0.10.0/doc_cn/_sources/api/v2/config/networks.rst.txt b/release/0.10.0/doc_cn/_sources/api/v2/config/networks.rst.txt new file mode 100644 index 0000000000..6f209bc95b --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/api/v2/config/networks.rst.txt @@ -0,0 +1,117 @@ +======== +Networks +======== + +The v2.networks module contains pieces of neural network that combine multiple layers. + +NLP +=== + +sequence_conv_pool +------------------ +.. automodule:: paddle.v2.networks + :members: sequence_conv_pool + :noindex: + +.. _api_trainer_config_helpers_network_text_conv_pool: + +text_conv_pool +-------------- +.. automodule:: paddle.v2.networks + :members: text_conv_pool + :noindex: + +Images +====== + +img_conv_bn_pool +---------------- +.. automodule:: paddle.v2.networks + :members: img_conv_bn_pool + :noindex: + +img_conv_group +-------------- +.. automodule:: paddle.v2.networks + :members: img_conv_group + :noindex: + +.. _api_trainer_config_helpers_network_simple_img_conv_pool: + +simple_img_conv_pool +-------------------- +.. automodule:: paddle.v2.networks + :members: simple_img_conv_pool + :noindex: + +vgg_16_network +--------------- +.. automodule:: paddle.v2.networks + :members: vgg_16_network + :noindex: + +Recurrent +========= + +LSTM +---- + +lstmemory_unit +`````````````` +.. automodule:: paddle.v2.networks + :members: lstmemory_unit + :noindex: + +lstmemory_group +``````````````` +.. automodule:: paddle.v2.networks + :members: lstmemory_group + :noindex: + +simple_lstm +``````````` +.. automodule:: paddle.v2.networks + :members: simple_lstm + :noindex: + +bidirectional_lstm +`````````````````` +.. automodule:: paddle.v2.networks + :members: bidirectional_lstm + :noindex: + +GRU +--- + +gru_unit +```````` +.. automodule:: paddle.v2.networks + :members: gru_unit + :noindex: + +gru_group +````````` +.. automodule:: paddle.v2.networks + :members: gru_group + :noindex: + +simple_gru +`````````` +.. automodule:: paddle.v2.networks + :members: simple_gru + :noindex: + +simple_attention +---------------- +.. automodule:: paddle.v2.networks + :members: simple_attention + :noindex: + +Miscs +===== + +dropout_layer +-------------- +.. automodule:: paddle.v2.networks + :members: dropout_layer + :noindex: diff --git a/release/0.10.0/doc_cn/_sources/api/v2/config/optimizer.rst.txt b/release/0.10.0/doc_cn/_sources/api/v2/config/optimizer.rst.txt new file mode 100644 index 0000000000..b32373fdef --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/api/v2/config/optimizer.rst.txt @@ -0,0 +1,45 @@ +========== +Optimizer +========== + +Momentum +======== +.. automodule:: paddle.v2.optimizer + :members: Momentum + :noindex: + +Adam +==== +.. automodule:: paddle.v2.optimizer + :members: Adam + :noindex: + +Adamax +====== +.. automodule:: paddle.v2.optimizer + :members: Adamax + :noindex: + +AdaGrad +======= +.. automodule:: paddle.v2.optimizer + :members: AdaGrad + :noindex: + +DecayedAdaGrad +============== +.. automodule:: paddle.v2.optimizer + :members: DecayedAdaGrad + :noindex: + +AdaDelta +======== +.. automodule:: paddle.v2.optimizer + :members: AdaDelta + :noindex: + +RMSProp +======= +.. automodule:: paddle.v2.optimizer + :members: RMSProp + :noindex: diff --git a/release/0.10.0/doc_cn/_sources/api/v2/config/pooling.rst.txt b/release/0.10.0/doc_cn/_sources/api/v2/config/pooling.rst.txt new file mode 100644 index 0000000000..d26b365c92 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/api/v2/config/pooling.rst.txt @@ -0,0 +1,46 @@ +======= +Pooling +======= + +BasePool +======== +.. automodule:: paddle.v2.pooling + :members: BasePool + :noindex: + +Avg +=== +.. automodule:: paddle.v2.pooling + :members: Avg + :noindex: + +Max +=== +.. automodule:: paddle.v2.pooling + :members: Max + :noindex: + +Sum +=== +.. automodule:: paddle.v2.pooling + :members: Sum + :noindex: + +SquareRootN +=========== +.. automodule:: paddle.v2.pooling + :members: SquareRootN + :noindex: + +CudnnAvg +======== +.. automodule:: paddle.v2.pooling + :members: CudnnAvg + :noindex: + +CudnnMax +======== +.. automodule:: paddle.v2.pooling + :members: CudnnMax + :noindex: + diff --git a/release/0.10.0/doc_cn/_sources/api/v2/data.rst.txt b/release/0.10.0/doc_cn/_sources/api/v2/data.rst.txt new file mode 100644 index 0000000000..fef87c4fbd --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/api/v2/data.rst.txt @@ -0,0 +1,113 @@ +================================== +Data Reader Interface and DataSets +================================== + + +DataTypes +========= + +.. automodule:: paddle.v2.data_type + :members: + :noindex: + +DataFeeder +========== + +.. automodule:: paddle.v2.data_feeder + :members: + :noindex: + +Reader +====== + +.. automodule:: paddle.v2.reader + :members: + :noindex: + +.. automodule:: paddle.v2.reader.creator + :members: + :noindex: + +minibatch +========= + +.. automodule:: paddle.v2.minibatch + :members: + :noindex: + +Dataset +======= + +.. automodule:: paddle.v2.dataset + :members: + :noindex: + +mnist ++++++ + +.. automodule:: paddle.v2.dataset.mnist + :members: + :noindex: + +cifar ++++++ + +.. automodule:: paddle.v2.dataset.cifar + :members: + :noindex: + +conll05 ++++++++ + +.. automodule:: paddle.v2.dataset.conll05 + :members: get_dict,get_embedding,test + :noindex: + +imdb +++++ + +.. automodule:: paddle.v2.dataset.imdb + :members: + :noindex: + +imikolov +++++++++ + +.. automodule:: paddle.v2.dataset.imikolov + :members: + :noindex: + +movielens ++++++++++ + +.. automodule:: paddle.v2.dataset.movielens + :members: + :noindex: + +.. autoclass:: paddle.v2.dataset.movielens.MovieInfo + :noindex: + +.. autoclass:: paddle.v2.dataset.movielens.UserInfo + :noindex: + +sentiment ++++++++++ + +.. automodule:: paddle.v2.dataset.sentiment + :members: + :noindex: + +uci_housing ++++++++++++ + +.. automodule:: paddle.v2.dataset.uci_housing + :members: + :noindex: + +wmt14 ++++++ + +.. automodule:: paddle.v2.dataset.wmt14 + :members: + :noindex: + diff --git a/release/0.10.0/doc_cn/_sources/api/v2/model_configs.rst.txt b/release/0.10.0/doc_cn/_sources/api/v2/model_configs.rst.txt new file mode 100644 index 0000000000..a5fae7e29e --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/api/v2/model_configs.rst.txt @@ -0,0 +1,12 @@ +Model Configuration +=================== + +.. toctree:: + :maxdepth: 1 + + config/activation.rst + config/layer.rst + config/optimizer.rst + config/pooling.rst + config/networks.rst + config/attr.rst diff --git a/release/0.10.0/doc_cn/_sources/api/v2/run_logic.rst.txt b/release/0.10.0/doc_cn/_sources/api/v2/run_logic.rst.txt new file mode 100644 index 0000000000..5c97651f65 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/api/v2/run_logic.rst.txt @@ -0,0 +1,31 @@ +====================== +Training and Inference +====================== + +Parameters +========== + +.. automodule:: paddle.v2.parameters + :members: Parameters + :noindex: + +Trainer +======= + +.. automodule:: paddle.v2.trainer + :members: SGD + :noindex: + +Event +===== + +.. automodule:: paddle.v2.event + :members: + :noindex: + +Inference +========= + +.. autofunction:: paddle.v2.infer + :noindex: + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/_sources/design/api.md.txt b/release/0.10.0/doc_cn/_sources/design/api.md.txt new file mode 100644 index 0000000000..8185d2af0e --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/design/api.md.txt @@ -0,0 +1,262 @@ +# PaddlePaddle Design Doc + +## Ingredients + +As our design principle is starting from the essence: how could we +allow users to express and solve their problems at neural networks. +Some essential concepts that our API have to provide include: + +1. A *topology* is an expression of *layers*. + +1. A layer could be any kind of computation, including *cost*. + +1. Some layers have parameters, some don't. Most costs don't have + parameters. + +1. In some topologies, layers share parameters. For + example, + [the network for training a ranking model](https://github.com/PaddlePaddle/Paddle/issues/1311#issuecomment-279121850). + +1. At programming time, users specify topologies and possible sharing + of parameters. PaddlePaddle can figure out and create parameters + required (and possibly shared) by one or more topologies. + + +## Starting from Examples + +As a summarization +of +[our disucssion](https://github.com/PaddlePaddle/Paddle/issues/1315), +let us present two examples here: + + +### Example 1. Sharing Parameters between Layers + +We use +the +[3-branch ranking](https://github.com/PaddlePaddle/Paddle/issues/1311#issuecomment-279121850) model +in this example. For your convenience, I copy-a-paste the model's +topology as follows: + +``` +A -> f -\ +Q -> f --> cost +B -> f -/ +``` + +The following program trains the topology including the cost, and then +use the sub-network in the trained topology in inference: + +```python +def f(in): + e = paddle.layer.embedding(in, parameter_name="embedding") + o = paddle.layer.softmax(e, parameter_name="semantic") + return o + +# Create 3 topologies (subnets), they share parameters because all +# correspoinding layers have the same parameter names. +fA = f(paddle.layer.data(input_name="A")) +fB = f(paddle.layer.data(input_name="B")) +fQ = f(paddle.layer.data(input_name="Q")) + +topology = paddle.layer.less_than( + paddle.layer.cross_entropy(fA, fQ), + paddle.layer.corss_entropy(fB, fQ)) + +# Derive parameters required in topology and create them in model. +parameters = paddle.parameters.create(topology) + +# Estimate parameters used in topology from data. +paddle.train(topology, parameters, reader=read_ranking_model_data) + +# Inference using fA (or fB or fC, as they share their parameters). +[testA, testB, testQ] = read_ranking_model_data() +print "The sematic-vector of testA: ", paddle.infer(fA, parameters, testA) +``` + + +### Example 2. Sharing Parameters between "Models" + +We use [GAN](https://github.com/PaddlePaddle/book/tree/develop/gan) in +this example. In the following example program, `d0` and `d1` +correspond to the two networks in the following figure: + + + +```python +def G(in): + # over-simplified example as G has only one layers: + return paddle.layer.fc(in, parameter_name="G") + +def D(in); + # again, over-simplified: + return paddle.layer.fc(in, parameter_name="D") + +# Construct the first topology, which contains both D and G. +# By learning this topology, we update parameters of G. +d0 = paddle.layer.should_be_false(D(G(paddle.layer.data()))) + +# Construct a second topology d1, which contains only D. By +# training this topology, we update parameters of D. Note +# that d1 share parameters with d0. +d1 = paddle.layer.should_be_true(D(paddle.layer.data())) + +# Create parameters from a list of multiple topologies (models) for +# the chance to share parameters between these topologies. +parameters = paddle.parameters.create([d0, d1]) + +# Iterative training of GAN. +for ...: + train(d0, parameters, reader=read_from_rng, immutable_parameters={"D"}) + train(d1, parameters, reader=read_from_realistic_images) + +# Use d1 for inference: +print "D thinks a batch of images are realistic ", infer(d1, parameters, read_mnist_images) +``` + + +### Summarization + + +Above two programs reveal some important design concerns: + +1. Users describe a topology as an expression of layers. Every layer + has a *parameter name*. If the users don't specify it explicitly, it's automatically generated as a unique name. By + specifying the parameter name, users can specify the sharing of + parameters between layers and even between topologies. + +1. `paddle.parameters.create` figures out parameters required by one + or more topologies from parameter names of layers. It creates these + parameters and returns a `ParameterSet` object, which is in essence + a map from *parameter names* to *parameters*. + +1. At training and inference time, `paddle.train` and `paddle.infer` + requires both a topology and the parameter set that holds the parameters of that topology. There are some reasons: + + 1. This prevents users from forgetting to call + `paddle.parameters.create`. + 1. `paddle.train` needs to know which parameter set to update. + 1. Users could load another (pre-trained) parameter set and use it + with a topology in `train.infer`. + +1. By specifying the `immutable_parameters` parameter of + `paddle.train`, we can forbid the update of these parameters. + + +## Reader + +Not all programming frameworks allow users to define I/O functions. +An example is Google MapReduce, which can only read from text, +SSTable, and RecordIO files. Hadoop MapReduce allows users to define +readers and writers by deriving from base classes `Reader` and +`Writer`. The former is less flexible but also less error-prone. We +decide to provide the flexibility to users to define their readers. + + +There are some open questions here: + +1. **Should a reader return a Python dictionary?** + +1. **How to map multiple outputs from a reader to multiple data layers?** + +1. **How to easily compose some existing readers to read more data and + feed a topology with more data layers?** + + +## Training + +The recommended way to training a model is to call `paddle.train`, +which simply calls `paddle.trainer.Default`, a global variable of +type `paddle.trainer.SGD`. Equivalently, we can do + +```python +opt = paddle.trainer.SGD(..., paddle.updater.Adam(...)) +opt.train(topology, parameters, reader=read, ...) +``` + +### Updater + +Please be aware that a trainer can accept an updater as its data +member, where an updater is a class derived from +`paddle.trainer.Updater`. This is to make it easier to customize +trainers, as discussed +[here](https://github.com/PaddlePaddle/Paddle/issues/1319). + +### Event Handler + +`paddle.train` and `paddle.trainer.XXX.train` take an optional +parameter `event_handler`, which should be either `None` or a function +that handle some events: + +1. BeginTraining +1. EndTraining +1. BeginIteration +1. EndIteration +1. BeginPass +1. EndPass + +where EndPass is sent if and only if the reader yields +`end_pass=True`. + +An example as follows: + +```python +def event_handler(event): + if ininstance(event, paddle.event.EndIteration): + print paddle.test(...) + +paddle.train(topology, parameters, reader, event_handler) +``` + +If we are writing a PaddlePaddle program in and for iPython/Jypyter, +we can use metaplotlib in the event handler to plot a curve of +cost/error versus iterations, as shown +[here](https://blog.dominodatalab.com/interactive-dashboards-in-jupyter/). + +### Distributed Training + +If users want to do distributed training on a cluster, s/he should +call `paddle.dist_train` and provides access tokens to the cluster as +a parameter. + +For example, if the user has a TLS certificate that allows him to +access a Kubernetes cluster, s/he should be able to call + +```python +paddle.dist_train(model, + trainer=paddle.trainer.SGD(..., + paddle.updater.Adam(...)), + reader=read, + k8s_user="yi", + k8s_token="kube_cluster_tls.pem", + k8s_job="hello", + num_parameter_servers=15) +``` + +The pseudo code if `paddle.dist_train` is as follows: + +```python +def dist_train(topology, parameters, trainer, reader, ...): + if os.getenv("KUBERNETES_SERVICE_HOST") == None: + image_name = k8s_user + '/' + k8s_job + docker_build(image_name) + docker_push() + kube_ctrl_start_job(image_name, k8s_user, k8s_token) + else: + rank = kube_list_containers_in_job_and_return_current_containers_rank() + if rank == 0: + master() + elif rank < 15: + parameter_server() + else: + trainer.train(model, reader=read) +``` + +Please be aware that if a process is running on the Kubernetes +cluster, it will have some environment variables pre-defined. + +If `dist_train` doesn't see these environment variables, it knows +that it's running on users' personal computer, and it should work as a +*launcher*. Otherwise, it knows that it's running on the cluster and +need to figure out its role as either the master, or a trainer, or a +parameter server. diff --git a/release/0.10.0/doc_cn/_sources/design/dist/README.md.txt b/release/0.10.0/doc_cn/_sources/design/dist/README.md.txt new file mode 100644 index 0000000000..1788208bca --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/design/dist/README.md.txt @@ -0,0 +1,172 @@ +# Design Doc: Distributed Training + +## Objective + +In [this slides](https://www.slideshare.net/cxwangyi/paddlepaddle-a-complete-solution-for-businesses), we explained that we'd like PaddlePaddle running on general-purpose clusters like those managed by Kubernetes, so to address demands for AI from both Internet and non-Internet industries. + +This poses technical challenges to PaddlePaddle: + +1. Support fault-recovery. +1. Support both offline and online training. +1. [Serverless computing](https://en.wikipedia.org/wiki/Serverless_computing) of distributed training. + + +## Training Job + +A training job will be created once user asks Paddle cloud to train a model. The training job is made up of different processes that collaboratively consume data and produce a trained model. There are three kinds of processes: + +1. the *master process*, which dispatches tasks to +1. one or more *trainer processes*, which run distributed training and synchronize gradients/models via +1. one or more *parameter server processes*, where each holds a shard of the global model. + +Their relation is illustrated in the following graph: + + + +### Master Process + +The master process will: + +- Partition a dataset into [tasks](#task) and dispatch tasks to trainers. +- Keep track of training progress on the dataset with [task queue](#task-queue). A training job will iterate on the dataset for a full pass until it goes into next pass. + + +#### Task + +A task is a data shard to be trained. The total number of tasks will be much bigger than the total number of trainers. The number of data instances inside a task will be much bigger than the mini-batch size. + +#### Task Queue + +The master process has three task queues to track training progress. As illustrated in the graph below, Job A and Job B both have one master process. Each master process has three task queues. + + + +- The todo queue holds tasks to be dispatched. When a job starts, the master process fills in the todo queue with all tasks. +- The pending queue holds tasks that are currently training by trainers. +- the done queue holds tasks that are already trained. + +The life cycle of a single task is illustrated below: + + + +1. When a new pass of training starts, all tasks will be placed in the todo queue. +1. The master process will dispatch few tasks to each trainer at a time, puts them in the pending queue and waits for completion. +1. The trainer will work on its tasks and tell the master process once a task is completed. The master process will dispatch a new task to that trainer. +1. If a task timeout. the master process will move it back to the todo queue. The timeout count will increase by one. If the timeout count is above a threshold, the task is likely to cause a trainer to crash, so it will be discarded. +1. The master process will move completed task to the done queue. When the todo queue is empty, the master process will start a new pass by moving all tasks in the done queue to todo queue and reset the timeout counter of all tasks to zero. + +### Trainer Process + +The trainer process will: + +- Receive tasks from the master. +- Work on the tasks: calculate and upload gradient to parameter servers, and update local model by downloading new parameters from parameter servers. + +### Parameter Server Process + +Parameter server processes hold the parameters collaboratively. The parameters are partitioned on different parameter servers. + +The parameter server will: + +- Receive gradient from the trainers, update its parameters, and give the trainers the latest parameters. +- Periodically save its parameters to distributed file system by overriding the previous save. + +### Optimization Algorithms + +The communication pattern between the trainers and the parameter servers depends on the category of optimization algorithm: + +- Synchronous Stochastic Gradient Descent (sync-SGD) + + Parameter server will wait for all trainer finish n-th mini-batch calculation and send their gradients before broadcasting new parameters to every trainer. Every trainer will wait for the new parameters before starting n+1-th mini-batch. + +- Asynchronous Stochastic Gradient Descent (async-SGD) + + There will no synchronization between different trainers, and parameter server updates its parameter as soon as it receives new gradient: + + - Each trainer uploads its accumulated gradient every n mini-batches. + - Every m mini-batches, the trainer downloads new parameters from parameter server. + - n and m do not have to be equal. + +## Fault Tolerant + +The training job will pause if the master processes is dead, or any of the parameter server process is dead. They will be started by [Kubernetes](https://kubernetes.io/) and recover in few minutes. Please refer to [fault recovery](#fault-recovery). + +The training job will continue to make progress if there is at least one training process running. The strategy depends on the type of optimization algorithm: + +- sync-SGD + + TODO + +- async-SGD + + Since async-SGD does not require synchronization between mini-batches, the system will by definition make process if at least one trainer is running. + +## Fault Recovery + +PaddlePaddle uses [etcd](https://github.com/coreos/etcd) to keep track of the states of processes. Because etcd is a distributed reliable key-value store, the restarted process can recover its states from etcd. The model parameters are periodically saved into distributed file system, so a restarted parameter server can recover its parameters from the saved file. + +Now we will introduce how each process recovers from a failure, the graph below shows how etcd is used: + + + +### Master Process + +When the master is started by the Kubernetes, it executes the following steps at startup: + +1. Grabs a unique *master* lock in etcd, which prevents concurrent master instantiations. +1. Recovers the task queues from etcd if they already exist, otherwise, the master will create them. +1. Watches the trainer prefix keys `/trainer/` on etcd to find the live trainers. +1. Starts dispatching the tasks to the trainers, and updates task queue using an etcd transaction to ensure lock is held during the update. + +The master process will kill itself if its etcd lease expires. + +When the master process is dead for any reason, Kubernetes will restart it. It will be online again with all states recovered from etcd in few minutes. + +### Trainer Process + +When the trainer is started by the Kubernetes, it executes the following steps at startup: + +1. Watches the available parameter server prefix keys `/ps/` on etcd and waits until the count of parameter servers reaches the desired count. +1. Generates a unique ID, and sets key `/trainer/` with its contact address as value. The key will be deleted when the lease expires, so the master will be aware of the trainer being online and offline. +1. Waits for tasks from the master to start training. + +If trainer's etcd lease expires, it will try set key `/trainer/` again so that the master process can discover the trainer again. + +### Parameter Server Process + +When the parameter server is started by Kubernetes, it executes the following steps at startup: + +1. Read desired total number of parameter servers from etcd `/ps_desired` +1. Search through etcd keys `/ps/` (`/ps/0`, `/ps/1`, ...) to find the first non-existant key whose index is smaller than the total number of parameter servers. Set the key using a transaction to avoid concurrent writes. The parameter server's index is inferred from the key name. + + The desired number of parameter servers is 3: + + + + The third parameter server joined: + + + +1. The parameter server can load parameters if there are already saved parameters in the save path (inferred from its index). +1. Now the parameter server is ready for the trainers' requests. + +If the parameter server's etcd lease expires, the parameter server will kill itself. + + +## Dynamic Scaling + +### Trainer Scaling + +TODO + +### Parameter Server Scaling + +Not planned for v1. + +## Training Dataset Format + +TODO + +## User Interface + +TODO diff --git a/release/0.10.0/doc_cn/_sources/design/multi_language_interface/why_plain_c.md.txt b/release/0.10.0/doc_cn/_sources/design/multi_language_interface/why_plain_c.md.txt new file mode 100644 index 0000000000..a3f41ca7b9 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/design/multi_language_interface/why_plain_c.md.txt @@ -0,0 +1,118 @@ +# Paddle多语言接口实现 +## 背景 + +Paddle需要一个多语言接口,这个接口需要做到: + +* 有标准的,良好的文档 + * 例如Python可以使用[Sphinx](http://www.sphinx-doc.org/en/stable/)生成API文档,golang可以使用[GoDoc](https://godoc.org/golang.org/x/tools/cmd/godoc)生成文档。这都需要这个接口按照约定俗成的规则来注释完备。 +* 不同语言的接口适应不同语言的特性 + * 例如Java与Python的错误处理是直接扔出来Exception,而对于golang错误处理应该使用返回值。 + +## 基本要求 + +Paddle的多语言接口实现包括一下几个方面: + +* 我们使用动态库来分发Paddle。在这个动态库中不嵌入任何其他语言的解释器,也不使用其他动态库。 +* 这个动态库使用C99标准的头文件导出一些函数,不使用/导出C++符号。 +* 不导出Paddle内部的结构体、类,仅仅使用`void*`指针作为类型的句柄(handler)。 +* 不使用SWIG这种代码生成器,而是手写多语言绑定。 + + +## 原因 + +### 使用动态库来分发Paddle + +* Paddle的链接方式比较复杂 + * 如果用户要把Paddle的静态库(libpaddle.a)链接到自己的程序里,得使用 `--whole-archive` (for GCC) 或者 `--force_load` (for Clang) 参数,来确保把 libpaddle.a 里所有的符号都写入自己的程序的二进制文件里。这是因为 Paddle 的源码里使用了[object factory design pattern](http://stackoverflow.com/a/1310326/724872)。 +* 编译型语言,例如C/C++使用静态库和动态库难度差不多。但是解释性语言,例如[Python](http://stackoverflow.com/questions/19560594/how-to-import-static-library-in-python)或者[Java](http://stackoverflow.com/questions/24493337/linking-static-library-with-jni),只能调用Paddle的动态库,否则得把Paddle静态库链接到解释器里。 + * 解释性语言实际运行的二进制是解释器本身,如果调用静态库只能将静态库与解释器链接。例如对于Java来说,便是将静态库加入JVM中。这对于通常的Java的开发者来说,是不常见的做法。 + +### 动态库中不嵌入任何其他语言的解释器 + +* 目前Paddle的进程模型是C++内部驱动Python解释器进行模型配置解析和数据读取 +* 我们最终的动态库中不嵌入Python或者其他任何语言的解释器。模型配置解析,数据读取均交由其他语言完成 + +现阶段Paddle有一个问题是,Paddle内嵌的Python解释器和外部使用的Python如果版本不同,会直接报错退出。 + +### Paddle动态库中,不引用其他动态库 + +* 即这个动态库是不依赖于其他任何文件的,可以在任何机器上执行的。 + +### 这个动态库使用C99标准的头文件导出一些函数,不使用/导出C++符号 + +* 由于C++编译器没有[名字修饰](https://en.wikipedia.org/wiki/Name_mangling#C.2B.2B)的规范,不同版本的编译器之间,对于同一段C++代码生成的符号可能不一致。而多语言接口需要直接读取生成的二进制(动态库),需要有稳定的导出符号。 +* C语言是有导出符号的标准的,并且在常见的平台上,都是ABI调用标准的。 +* 大多数语言都支持使用C语言API +* 使用C99而不使用C89,是因为C99支持[Fixed-width integer types](https://en.wikipedia.org/wiki/C_data_types#Fixed-width_integer_types)和[Boolean type](https://en.wikipedia.org/wiki/C_data_types#Boolean_type)。 +* 使用C99而不使用C11的原因是,[C11](https://en.wikipedia.org/wiki/C11_(C_standard_revision))并没有Paddle特别需要的特性,且C99相对于C11使用更加广泛。 + +### 不导出Paddle内部的结构体、类,仅仅使用`void*`指针作为类型的句柄(handler) + +* Paddle内部的类为C++书写,直接导出到C的接口比较困难。 +* 在C-API中使用`void*`来表示Paddle内部类。再在每一个API中自己检查类型。 + +在C的头文件 `paddle_matrix.h` 中: + +```C +typedef void* paddle_matrix; +typedef int paddle_error; + +extern "C" +paddle_error paddle_matrix_shape(paddle_matrix matrix, + uint64_t* width, + uint64_t* height); +``` +而在CPP里面实现这个C的接口,文件 `paddle_matrix.cpp` + +```cpp +#include "paddle/math/matrix.hpp" +extern "C" +paddle_error paddle_matrix_shape(paddle_matrix matrix, + uint64_t *width, + uint64_t *height) { + auto m = (paddle::math::matrix*)(matrix); + *width = m->width(); + *height = m->height(); +} +``` + +其中`paddle/math/matrix.hpp`文件内容为: + +```cpp +namespace paddle { +namespace math { + +class Matrix { + //... +}; + +} // namespace math +} // namespace paddle +``` + +### 不使用SWIG这种代码生成器,而是手写多语言绑定 + +* [SWIG](http://www.swig.org/)是一个多语言接口的代码生成器。他的目标是使用C/C++写代码,SWIG直接读取C/C++的头文件,生成各种语言的绑定代码。 + * 对于多语言接口,SWIG需要写一个interface文件。这个文件具有独特的语法,学习成本高。且增加一个第三方语言,就需要对这个第三方语言增加一些定义。有的时候,interface文件的写法非常[tricky](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/api/Paddle.swig#L36)。社区贡献代码学习成本高。 + * SWIG暴露的接口保留了C++的接口样式,很难保证多语言代码风格的一致性。(函数命名,错误处理) + * 因为SWIG在第三方语言中暴露的函数名,类名和C++中完全一致。C++的命名风格并不能适应其他第三方语言。如果使用SWIG我们需要将在interface文件里,将大量的`SomeCppClass`重命名成`some_python_class`,或者`SomeGoTypes`。 + * 对于不同语言,错误处理的方式也不尽相同。例如对于Java或者Python,最常见的错误处理方式是Exception,而对于Golang,错误处理方式是返回值。而SWIG只能简单的暴露C++接口,无法做到对于各种语言错误处理方式的适配。 + * 对于大多数语言,直接使用C语言的.h并不困难。例如Python的[cffi](https://cffi.readthedocs.io/en/latest/overview.html#simple-example-abi-level-in-line)或者[Cython](http://cython.org/), golang的[cgo](https://golang.org/cmd/cgo/)。 + * SWIG支持的语言或者解释器有局限。例如对于Python,使用SWIG只支持CPython解释器,而不支持PyPy解释器。 + + +## 原因列表 + +| 结论 | 对比 | 原因 | +|---| --- | --- | +| 使用动态库 | 不使用静态库 | 解释型语言只能调用动态库,Paddle静态库链接复杂 | +| 不嵌入其他语言解释器 | 不嵌入Python解释器 | Paddle C++目前嵌入Python解释器,会导致不同版本Python在一个进程里的bug | +| 不引用其他动态库 | | Paddle一个动态库可以在任何Linux系统上运行 | +| 使用C99做接口 | 不使用C++做接口 | C有标准的ABI,C99是目前C最广泛的使用标准,且C99支持bool类型和定长整数(uint64_t等)类型 | +| 使用void*作为类句柄 | 不显示的写每个类具体包含什么| 实现简单,并且让接口脱离实现细节 | +| 手写多语言绑定 | 不使用SWIG | 使用SWIG需要多语言绑定的开发人员熟练掌握SWIG配置,社区参与困难。SWIG生成的代码不能保证多语言代码风格的一致性 | + + +## 简单实现 + +TBD diff --git a/release/0.10.0/doc_cn/_sources/design/reader/README.md.txt b/release/0.10.0/doc_cn/_sources/design/reader/README.md.txt new file mode 100644 index 0000000000..f21f7af520 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/design/reader/README.md.txt @@ -0,0 +1,202 @@ +# Python Data Reader Design Doc + +At training and testing time, PaddlePaddle programs need to read data. To ease the users' work to write data reading code, we define that + +- A *reader* is a function that reads data (from file, network, random number generator, etc) and yields data items. +- A *reader creator* is a function that returns a reader function. +- A *reader decorator* is a function, which accepts one or more readers, and returns a reader. +- A *batch reader* is a function that reads data (from *reader*, file, network, random number generator, etc) and yields a batch of data items. + +and provide function which converts reader to batch reader, frequently used reader creators and reader decorators. + +## Data Reader Interface + +Indeed, *data reader* doesn't have to be a function that reads and yields data items. It can be any function with no parameter that creates a iterable (anything can be used in `for x in iterable`): + +``` +iterable = data_reader() +``` + +Element produced from the iterable should be a **single** entry of data, **not** a mini batch. That entry of data could be a single item, or a tuple of items. Item should be of [supported type](http://www.paddlepaddle.org/doc/ui/data_provider/pydataprovider2.html?highlight=dense_vector#input-types) (e.g., numpy 1d array of float32, int, list of int) + +An example implementation for single item data reader creator: + +```python +def reader_creator_random_image(width, height): + def reader(): + while True: + yield numpy.random.uniform(-1, 1, size=width*height) + return reader +``` + +An example implementation for multiple item data reader creator: +```python +def reader_creator_random_image_and_label(width, height, label): + def reader(): + while True: + yield numpy.random.uniform(-1, 1, size=width*height), label + return reader +``` + +## Batch Reader Interface + +*batch reader* can be any function with no parameter that creates a iterable (anything can be used in `for x in iterable`). The output of the iterable should be a batch (list) of data items. Each item inside the list must be a tuple. + +Here are valid outputs: +```python +# a mini batch of three data items. Each data item consist three columns of data, each of which is 1. +[(1, 1, 1), +(2, 2, 2), +(3, 3, 3)] + +# a mini batch of three data items, each data item is a list (single column). +[([1,1,1],), +([2,2,2],), +([3,3,3],), +``` + +Please note that each item inside the list must be a tuple, below is an invalid output: +```python + # wrong, [1,1,1] needs to be inside a tuple: ([1,1,1],). + # Otherwise it's ambiguous whether [1,1,1] means a single column of data [1, 1, 1], + # or three column of datas, each of which is 1. +[[1,1,1], +[2,2,2], +[3,3,3]] +``` + +It's easy to convert from reader to batch reader: +```python +mnist_train = paddle.dataset.mnist.train() +mnist_train_batch_reader = paddle.batch(mnist_train, 128) +``` + +Also easy to create custom batch reader: +```python +def custom_batch_reader(): + while True: + batch = [] + for i in xrange(128): + batch.append((numpy.random.uniform(-1, 1, 28*28),)) # note that it's a tuple being appended. + yield batch + +mnist_random_image_batch_reader = custom_batch_reader +``` + +## Usage + +batch reader, mapping from item(s) read to data layer, batch size and number of total pass will be passed into `paddle.train`: + +```python +# two data layer is created: +image_layer = paddle.layer.data("image", ...) +label_layer = paddle.layer.data("label", ...) + +# ... +batch_reader = paddle.batch(paddle.dataset.mnist.train(), 128) +paddle.train(batch_reader, {"image":0, "label":1}, 128, 10, ...) +``` + +## Data Reader Decorator + +*Data reader decorator* takes a single or multiple data reader, returns a new data reader. It is similar to a [python decorator](https://wiki.python.org/moin/PythonDecorators), but it does not use `@` syntax. + +Since we have a strict interface for data readers (no parameter, return a single data item). Data reader can be used flexiable via data reader decorators. Following are a few examples: + +### Prefetch Data + +Since reading data may take time and training can not proceed without data. It is generally a good idea to prefetch data. + +Use `paddle.reader.buffered` to prefetch data: + +```python +buffered_reader = paddle.reader.buffered(paddle.dataset.mnist.train(), 100) +``` + +`buffered_reader` will try to buffer (prefetch) `100` data entries. + +### Compose Multiple Data Readers + +For example, we want to use a source of real images (reusing mnist dataset), and a source of random images as input for [Generative Adversarial Networks](https://arxiv.org/abs/1406.2661). + +We can do: + +```python +def reader_creator_random_image(width, height): + def reader(): + while True: + yield numpy.random.uniform(-1, 1, size=width*height) + return reader + +def reader_creator_bool(t): + def reader: + while True: + yield t + return reader + +true_reader = reader_creator_bool(True) +false_reader = reader_creator_bool(False) + +reader = paddle.reader.compose(paddle.dataset.mnist.train(), data_reader_creator_random_image(20, 20), true_reader, false_reader) +# Skipped 1 because paddle.dataset.mnist.train() produces two items per data entry. +# And we don't care second item at this time. +paddle.train(paddle.batch(reader, 128), {"true_image":0, "fake_image": 2, "true_label": 3, "false_label": 4}, ...) +``` + +### Shuffle + +Given shuffle buffer size `n`, `paddle.reader.shuffle` will return a data reader that buffers `n` data entries and shuffle them before a data entry is read. + +Example: +```python +reader = paddle.reader.shuffle(paddle.dataset.mnist.train(), 512) +``` + +## Q & A + +### Why reader return only a single entry, but not a mini batch? + +Always returning a single entry make reusing existing data readers much easier (e.g., if existing reader return not a single entry but 3 entries, training code will be more complex because it need to handle cases like batch size 2). + +We provide function `paddle.batch` to turn (single entry) reader into batch reader. + +### Why do we need batch reader, isn't train take reader and batch_size as arguments sufficient? + +In most of the case, train taking reader and batch_size as arguments would be sufficent. However sometimes user want to customize order of data entries inside a mini batch. Or even change batch size dynamically. + +### Why use a dictionary but not a list to provide mapping? + +We decided to use dictionary (`{"image":0, "label":1}`) instead of list (`["image", "label"]`) is because that user can easily resue item (e.g., using `{"image_a":0, "image_b":0, "label":1}`) or skip item (e.g., using `{"image_a":0, "label":2}`). + +### How to create custom data reader creator + +```python +def image_reader_creator(image_path, label_path, n): + def reader(): + f = open(image_path) + l = open(label_path) + images = numpy.fromfile( + f, 'ubyte', count=n * 28 * 28).reshape((n, 28 * 28)).astype('float32') + images = images / 255.0 * 2.0 - 1.0 + labels = numpy.fromfile(l, 'ubyte', count=n).astype("int") + for i in xrange(n): + yield images[i, :], labels[i] # a single entry of data is created each time + f.close() + l.close() + return reader + +# images_reader_creator creates a reader +reader = image_reader_creator("/path/to/image_file", "/path/to/label_file", 1024) +paddle.train(paddle.batch(reader, 128), {"image":0, "label":1}, ...) +``` + +### How is `paddle.train` implemented + +An example implementation of paddle.train could be: + +```python +def train(batch_reader, mapping, batch_size, total_pass): + for pass_idx in range(total_pass): + for mini_batch in batch_reader(): # this loop will never end in online learning. + do_forward_backward(mini_batch, mapping) +``` diff --git a/release/0.10.0/doc_cn/_sources/faq/index_cn.rst.txt b/release/0.10.0/doc_cn/_sources/faq/index_cn.rst.txt new file mode 100644 index 0000000000..df5e172252 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/faq/index_cn.rst.txt @@ -0,0 +1,301 @@ +#################### +FAQ +#################### + +.. contents:: + +1. 如何减少内存占用 +--------------------------------- + +神经网络的训练本身是一个非常消耗内存和显存的工作,经常会消耗数10GB的内存和数GB的显存。 +PaddlePaddle的内存占用主要分为如下几个方面\: + +* DataProvider缓冲池内存(只针对内存) +* 神经元激活内存(针对内存和显存) +* 参数内存 (针对内存和显存) +* 其他内存杂项 + +其中,其他内存杂项是指PaddlePaddle本身所用的一些内存,包括字符串分配,临时变量等等,暂不考虑在内。 + +减少DataProvider缓冲池内存 +++++++++++++++++++++++++++ + +PyDataProvider使用的是异步加载,同时在内存里直接随即选取数据来做Shuffle。即 + +.. graphviz:: + + digraph { + rankdir=LR; + 数据文件 -> 内存池 -> PaddlePaddle训练 + } + +所以,减小这个内存池即可减小内存占用,同时也可以加速开始训练前数据载入的过程。但是,这 +个内存池实际上决定了shuffle的粒度。所以,如果将这个内存池减小,又要保证数据是随机的, +那么最好将数据文件在每次读取之前做一次shuffle。可能的代码为 + +.. literalinclude:: src/reduce_min_pool_size.py + +这样做可以极大的减少内存占用,并且可能会加速训练过程,详细文档参考 :ref:`api_pydataprovider2` 。 + +神经元激活内存 +++++++++++++++ + +神经网络在训练的时候,会对每一个激活暂存一些数据,如神经元激活值等。 +在反向传递的时候,这些数据会被用来更新参数。这些数据使用的内存主要和两个参数有关系, +一是batch size,另一个是每条序列(Sequence)长度。所以,其实也是和每个mini-batch中包含 +的时间步信息成正比。 + +所以做法可以有两种: + +* 减小batch size。 即在网络配置中 :code:`settings(batch_size=1000)` 设置成一个小一些的值。但是batch size本身是神经网络的超参数,减小batch size可能会对训练结果产生影响。 +* 减小序列的长度,或者直接扔掉非常长的序列。比如,一个数据集大部分序列长度是100-200, + 但是突然有一个10000长的序列,就很容易导致内存超限,特别是在LSTM等RNN中。 + +参数内存 +++++++++ + +PaddlePaddle支持非常多的优化算法(Optimizer),不同的优化算法需要使用不同大小的内存。 +例如使用 :code:`adadelta` 算法,则需要使用等于权重参数规模大约5倍的内存。举例,如果参数保存下来的模型目录 +文件为 :code:`100M`, 那么该优化算法至少需要 :code:`500M` 的内存。 + +可以考虑使用一些优化算法,例如 :code:`momentum`。 + +2. 如何加速PaddlePaddle的训练速度 +--------------------------------- + +加速PaddlePaddle训练可以考虑从以下几个方面\: + +* 减少数据载入的耗时 +* 加速训练速度 +* 利用分布式训练驾驭更多的计算资源 + +减少数据载入的耗时 +++++++++++++++++++ + +使用\ :code:`pydataprovider`\ 时,可以减少缓存池的大小,同时设置内存缓存功能,即可以极大的加速数据载入流程。 +:code:`DataProvider` 缓存池的减小,和之前减小通过减小缓存池来减小内存占用的原理一致。 + +.. literalinclude:: src/reduce_min_pool_size.py + +同时 :code:`@provider` 接口有一个 :code:`cache` 参数来控制缓存方法,将其设置成 :code:`CacheType.CACHE_PASS_IN_MEM` 的话,会将第一个 :code:`pass` (过完所有训练数据即为一个pass)生成的数据缓存在内存里,在之后的 :code:`pass` 中,不会再从 :code:`python` 端读取数据,而是直接从内存的缓存里读取数据。这也会极大减少数据读入的耗时。 + + +加速训练速度 +++++++++++++ + +PaddlePaddle支持Sparse的训练,sparse训练需要训练特征是 :code:`sparse_binary_vector` 、 :code:`sparse_vector` 、或者 :code:`integer_value` 的任一一种。同时,与这个训练数据交互的Layer,需要将其Parameter设置成 sparse 更新模式,即设置 :code:`sparse_update=True` + +这里使用简单的 :code:`word2vec` 训练语言模型距离,具体使用方法为\: + +使用一个词前两个词和后两个词,来预测这个中间的词。这个任务的DataProvider为\: + +.. literalinclude:: src/word2vec_dataprovider.py + +这个任务的配置为\: + +.. literalinclude:: src/word2vec_config.py + + +利用更多的计算资源 +++++++++++++++++++ + +利用更多的计算资源可以分为一下几个方式来进行\: + +* 单机CPU训练 + + * 使用多线程训练。设置命令行参数 :code:`trainer_count`。 + +* 单机GPU训练 + + * 使用显卡训练。设置命令行参数 :code:`use_gpu`。 + * 使用多块显卡训练。设置命令行参数 :code:`use_gpu` 和 :code:`trainer_count` 。 + +* 多机训练 + + * 请参考 :ref:`cluster_train` 。 + + +3. 遇到“非法指令”或者是“illegal instruction” +-------------------------------------------- + +PaddlePaddle使用avx SIMD指令提高cpu执行效率,因此错误的使用二进制发行版可能会导致这种错误,请选择正确的版本。 + +4. 如何选择SGD算法的学习率 +-------------------------- + +在采用sgd/async_sgd进行训练时,一个重要的问题是选择正确的learning_rate。如果learning_rate太大,那么训练有可能不收敛,如果learning_rate太小,那么收敛可能很慢,导致训练时间过长。 + +通常做法是从一个比较大的learning_rate开始试,如果不收敛,那减少学习率10倍继续试验,直到训练收敛为止。那么如何判断训练不收敛呢?可以估计出如果模型采用不变的输出最小的cost0是多少。 + +如果训练过程的的cost明显高于这个常数输出的cost,那么我们可以判断为训练不收敛。举一个例子,假如我们是三分类问题,采用multi-class-cross-entropy作为cost,数据中0,1,2三类的比例为 :code:`0.2, 0.5, 0.3` , 那么常数输出所能达到的最小cost是 :code:`-(0.2*log(0.2)+0.5*log(0.5)+0.3*log(0.3))=1.03` 。如果训练一个pass(或者更早)后,cost还大于这个数,那么可以认为训练不收敛,应该降低学习率。 + + +5. 如何初始化参数 +----------------- + +默认情况下,PaddlePaddle使用均值0,标准差为 :math:`\frac{1}{\sqrt{d}}` 来初始化参数。其中 :math:`d` 为参数矩阵的宽度。这种初始化方式在一般情况下不会产生很差的结果。如果用户想要自定义初始化方式,PaddlePaddle目前提供两种参数初始化的方式\: + +* 高斯分布。将 :code:`param_attr` 设置成 :code:`param_attr=ParamAttr(initial_mean=0.0, initial_std=1.0)` +* 均匀分布。将 :code:`param_attr` 设置成 :code:`param_attr=ParamAttr(initial_max=1.0, initial_min=-1.0)` + +比如设置一个全连接层的参数初始化方式和bias初始化方式,可以使用如下代码。 + +.. code-block:: python + + hidden = fc_layer(input=ipt, param_attr=ParamAttr(initial_max=1.0, initial_min=-1.0), + bias_attr=ParamAttr(initial_mean=1.0, initial_std=0.0)) + +上述代码将bias全部初始化为1.0, 同时将参数初始化为 :code:`[1.0, -1.0]` 的均匀分布。 + +6. 如何共享参数 +--------------- + +PaddlePaddle的参数使用名字 :code:`name` 作为参数的ID,相同名字的参数,会共享参数。设置参数的名字,可以使用 :code:`ParamAttr(name="YOUR_PARAM_NAME")` 来设置。更方便的设置方式,是使得要共享的参数使用同样的 :code:`ParamAttr` 对象。 + +简单的全连接网络,参数共享的配置示例为\: + +.. literalinclude:: ../../python/paddle/trainer_config_helpers/tests/configs/shared_fc.py + +这里 :code:`hidden_a` 和 :code:`hidden_b` 使用了同样的parameter和bias。并且softmax层的两个输入也使用了同样的参数 :code:`softmax_param`。 + +7. \*-cp27mu-linux_x86_64.whl is not a supported wheel on this platform. +------------------------------------------------------------------------ + +出现这个问题的主要原因是,系统编译wheel包的时候,使用的 :code:`wheel` 包是最新的, +而系统中的 :code:`pip` 包比较老。具体的解决方法是,更新 :code:`pip` 包并重新编译PaddlePaddle。 +更新 :code:`pip` 包的方法是\: + +.. code-block:: bash + + pip install --upgrade pip + +8. python相关的单元测试都过不了 +-------------------------------- + +如果出现以下python相关的单元测试都过不了的情况: + +.. code-block:: bash + + 24 - test_PyDataProvider (Failed) + 26 - test_RecurrentGradientMachine (Failed) + 27 - test_NetworkCompare (Failed) + 28 - test_PyDataProvider2 (Failed) + 32 - test_Prediction (Failed) + 33 - test_Compare (Failed) + 34 - test_Trainer (Failed) + 35 - test_TrainerOnePass (Failed) + 36 - test_CompareTwoNets (Failed) + 37 - test_CompareTwoOpts (Failed) + 38 - test_CompareSparse (Failed) + 39 - test_recurrent_machine_generation (Failed) + 40 - test_PyDataProviderWrapper (Failed) + 41 - test_config_parser (Failed) + 42 - test_swig_api (Failed) + 43 - layers_test (Failed) + +并且查询PaddlePaddle单元测试的日志,提示: + +.. code-block:: bash + + paddle package is already in your PYTHONPATH. But unittest need a clean environment. + Please uninstall paddle package before start unittest. Try to 'pip uninstall paddle'. + +解决办法是: + +* 卸载PaddlePaddle包 :code:`pip uninstall paddle`, 清理掉老旧的PaddlePaddle安装包,使得单元测试有一个干净的环境。如果PaddlePaddle包已经在python的site-packages里面,单元测试会引用site-packages里面的python包,而不是源码目录里 :code:`/python` 目录下的python包。同时,即便设置 :code:`PYTHONPATH` 到 :code:`/python` 也没用,因为python的搜索路径是优先已经安装的python包。 + + +9. 运行Docker GPU镜像出现 "CUDA driver version is insufficient" +---------------------------------------------------------------- + +用户在使用PaddlePaddle GPU的Docker镜像的时候,常常出现 `Cuda Error: CUDA driver version is insufficient for CUDA runtime version`, 原因在于没有把机器上CUDA相关的驱动和库映射到容器内部。 +具体的解决方法是: + +.. code-block:: bash + + $ export CUDA_SO="$(\ls usr/lib64/libcuda* | xargs -I{} echo '-v {}:{}') $(\ls /usr/lib64/libnvidia* | xargs -I{} echo '-v {}:{}')" + $ export DEVICES=$(\ls /dev/nvidia* | xargs -I{} echo '--device {}:{}') + $ docker run ${CUDA_SO} ${DEVICES} -it paddledev/paddlepaddle:latest-gpu + +更多关于Docker的安装与使用, 请参考 `PaddlePaddle Docker 文档 `_ 。 + + +10. CMake源码编译, 找到的PythonLibs和PythonInterp版本不一致 +---------------------------------------------------------------- + +这是目前CMake寻找Python的逻辑存在缺陷,如果系统安装了多个Python版本,CMake找到的Python库和Python解释器版本可能有不一致现象,导致编译PaddlePaddle失败。正确的解决方法是, +用户强制指定特定的Python版本,具体操作如下: + + .. code-block:: bash + + cmake .. -DPYTHON_EXECUTABLE= -DPYTHON_LIBRARY= -DPYTHON_INCLUDE_DIR= + +用户需要指定本机上Python的路径:````, ````, ```` + +10. A protocol message was rejected because it was too big +---------------------------------------------------------- + +如果在训练NLP相关模型时,出现以下错误: + +.. code-block:: bash + + [libprotobuf ERROR google/protobuf/io/coded_stream.cc:171] A protocol message was rejected because it was too big (more than 67108864 bytes). To increase the limit (or to disable these warnings), see CodedInputStream::SetTotalBytesLimit() in google/protobuf/io/coded_stream.h. + F1205 14:59:50.295174 14703 TrainerConfigHelper.cpp:59] Check failed: m->conf.ParseFromString(configProtoStr) + +可能的原因是:传给dataprovider的某一个args过大,一般是由于直接传递大字典导致的。错误的define_py_data_sources2类似: + +.. code-block:: python + + src_dict = dict() + for line_count, line in enumerate(open(src_dict_path, "r")): + src_dict[line.strip()] = line_count + + define_py_data_sources2( + train_list, + test_list, + module="dataprovider", + obj="process", + args={"src_dict": src_dict}) + +解决方案是:将字典的地址作为args传给dataprovider,然后在dataprovider里面根据该地址加载字典。即define_py_data_sources2应改为: + +.. code-block:: python + + define_py_data_sources2( + train_list, + test_list, + module="dataprovider", + obj="process", + args={"src_dict_path": src_dict_path}) + +完整源码可参考 `seqToseq `_ 示例。 + +11. 如何指定GPU设备 +------------------- + +例如机器上有4块GPU,编号从0开始,指定使用2、3号GPU: + +* 方式1:通过 `CUDA_VISIBLE_DEVICES `_ 环境变量来指定特定的GPU。 + +.. code-block:: bash + + env CUDA_VISIBLE_DEVICES=2,3 paddle train --use_gpu=true --trainer_count=2 + +* 方式2:通过命令行参数 ``--gpu_id`` 指定。 + +.. code-block:: bash + + paddle train --use_gpu=true --trainer_count=2 --gpu_id=2 + + +12. 训练过程中出现 :code:`Floating point exception`, 训练因此退出怎么办? +------------------------------------------------------------------------ + +Paddle二进制在运行时捕获了浮点数异常,只要出现浮点数异常(即训练过程中出现NaN或者Inf),立刻退出。浮点异常通常的原因是浮点数溢出、除零等问题。 +主要原因包括两个方面: + +* 训练过程中参数或者训练过程中的梯度尺度过大,导致参数累加,乘除等时候,导致了浮点数溢出。 +* 模型一直不收敛,发散到了一个数值特别大的地方。 +* 训练数据有问题,导致参数收敛到了一些奇异的情况。或者输入数据尺度过大,有些特征的取值达到数百万,这时进行矩阵乘法运算就可能导致浮点数溢出。 + +主要的解决办法是减小学习律或者对数据进行归一化处理。 diff --git a/release/0.10.0/doc_cn/_sources/getstarted/basic_usage/index_cn.rst.txt b/release/0.10.0/doc_cn/_sources/getstarted/basic_usage/index_cn.rst.txt new file mode 100644 index 0000000000..428f58830e --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/getstarted/basic_usage/index_cn.rst.txt @@ -0,0 +1,108 @@ +经典的线性回归任务 +================== + +PaddlePaddle是源于百度的一个深度学习平台。这份简短的介绍将向你展示如何利用PaddlePaddle来解决一个经典的线性回归问题。 + +任务简介 +-------- + +我们展示如何用PaddlePaddle解决 `单变量的线性回归 `_ 问题。线性回归的输入是一批点 `(x, y)` ,其中 `y = wx + b + ε`, 而 ε 是一个符合高斯分布的随机变量。线性回归的输出是从这批点估计出来的参数 `w` 和 `b` 。 + +一个例子是房产估值。我们假设房产的价格(y)是其大小(x)的一个线性函数,那么我们可以通过收集市场上房子的大小和价格,用来估计线性函数的参数w 和 b。 + +准备数据 +----------- + +假设变量 `x` 和 `y` 的真实关系为: `y = 2x + 0.3 + ε`,这里展示如何使用观测数据来拟合这一线性关系。首先,Python代码将随机产生2000个观测点,作为线性回归的输入。下面脚本符合PaddlePaddle期待的读取数据的Python程序的模式。 + +.. code-block:: python + + # dataprovider.py + from paddle.trainer.PyDataProvider2 import * + import random + + # 定义输入数据的类型: 2个浮点数 + @provider(input_types=[dense_vector(1), dense_vector(1)],use_seq=False) + def process(settings, input_file): + for i in xrange(2000): + x = random.random() + yield [x], [2*x+0.3] + +训练模型 +----------- + +为了还原 `y = 2x + 0.3`,我们先从一条随机的直线 `y' = wx + b` 开始,然后利用观测数据调整 `w` 和 `b` 使得 `y'` 和 `y` 的差距不断减小,最终趋于接近。这个过程就是模型的训练过程,而 `w` 和 `b` 就是模型的参数,即我们的训练目标。 + +在PaddlePaddle里,该模型的网络配置如下。 + +.. code-block:: python + + # trainer_config.py + from paddle.trainer_config_helpers import * + + # 1. 定义数据来源,调用上面的process函数获得观测数据 + data_file = 'empty.list' + with open(data_file, 'w') as f: f.writelines(' ') + define_py_data_sources2(train_list=data_file, test_list=None, + module='dataprovider', obj='process',args={}) + + # 2. 学习算法。控制如何改变模型参数 w 和 b + settings(batch_size=12, learning_rate=1e-3, learning_method=MomentumOptimizer()) + + # 3. 神经网络配置 + x = data_layer(name='x', size=1) + y = data_layer(name='y', size=1) + # 线性计算网络层: ȳ = wx + b + ȳ = fc_layer(input=x, param_attr=ParamAttr(name='w'), size=1, act=LinearActivation(), bias_attr=ParamAttr(name='b')) + # 计算误差函数,即 ȳ 和真实 y 之间的距离 + cost = mse_cost(input= ȳ, label=y) + outputs(cost) + + +这段简短的配置展示了PaddlePaddle的基本用法: + +- 第一部分定义了数据输入。一般情况下,PaddlePaddle先从一个文件列表里获得数据文件地址,然后交给用户自定义的函数(例如上面的 `process`函数)进行读入和预处理从而得到真实输入。本文中由于输入数据是随机生成的不需要读输入文件,所以放一个空列表(`empty.list`)即可。 + +- 第二部分主要是选择学习算法,它定义了模型参数改变的规则。PaddlePaddle提供了很多优秀的学习算法,这里使用一个基于momentum的随机梯度下降(SGD)算法,该算法每批量(batch)读取12个采样数据进行随机梯度计算来更新更新。 + +- 最后一部分是神经网络的配置。由于PaddlePaddle已经实现了丰富的网络层,所以很多时候你需要做的只是定义正确的网络层并把它们连接起来。这里使用了三种网络单元: + + - **数据层**:数据层 `data_layer` 是神经网络的入口,它读入数据并将它们传输到接下来的网络层。这里数据层有两个,分别对应于变量 `x` 和 `y`。 + - **全连接层**:全连接层 `fc_layer` 是基础的计算单元,这里利用它建模变量之间的线性关系。计算单元是神经网络的核心,PaddlePaddle支持大量的计算单元和任意深度的网络连接,从而可以拟合任意的函数来学习复杂的数据关系。 + - **回归误差代价层**:回归误差代价层 `mse_cost` 是众多误差代价函数层的一种,它们在训练过程作为网络的出口,用来计算模型的误差,是模型参数优化的目标函数。 + +定义了网络结构并保存为 `trainer_config.py` 之后,运行以下训练命令: + +.. code-block:: bash + + paddle train --config=trainer_config.py --save_dir=./output --num_passes=30 + +PaddlePaddle将在观测数据集上迭代训练30轮,并将每轮的模型结果存放在 `./output` 路径下。从输出日志可以看到,随着轮数增加误差代价函数的输出在不断的减小,这意味着模型在训练数据上不断的改进,直到逼近真实解:` y = 2x + 0.3 ` + +模型检验 +----------- + +训练完成后,我们希望能够检验模型的好坏。一种常用的做法是用学习的模型对另外一组测试数据进行预测,评价预测的效果。在这个例子中,由于已经知道了真实答案,我们可以直接观察模型的参数是否符合预期来进行检验。 + +PaddlePaddle将每个模型参数作为一个numpy数组单独存为一个文件,所以可以利用如下方法读取模型的参数。 + +.. code-block:: python + + import numpy as np + import os + + def load(file_name): + with open(file_name, 'rb') as f: + f.read(16) # skip header for float type. + return np.fromfile(f, dtype=np.float32) + + print 'w=%.6f, b=%.6f' % (load('output/pass-00029/w'), load('output/pass-00029/b')) + # w=1.999743, b=0.300137 + +.. image:: ./parameters.png + :align: center + :scale: 80 % + +从图中可以看到,虽然 `w` 和 `b` 都使用随机值初始化,但在起初的几轮训练中它们都在快速逼近真实值,并且后续仍在不断改进,使得最终得到的模型几乎与真实模型一致。 + +这样,我们用PaddlePaddle解决了单变量线性回归问题, 包括数据输入、模型训练和最后的结果验证。 diff --git a/release/0.10.0/doc_cn/_sources/getstarted/build_and_install/cmake/build_from_source_cn.rst.txt b/release/0.10.0/doc_cn/_sources/getstarted/build_and_install/cmake/build_from_source_cn.rst.txt new file mode 100644 index 0000000000..be0c1ffa45 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/getstarted/build_and_install/cmake/build_from_source_cn.rst.txt @@ -0,0 +1,43 @@ +PaddlePaddle的编译选项 +====================== + +PaddlePaddle的编译选项,包括生成CPU/GPU二进制文件、链接何种BLAS库等。用户可在调用cmake的时候设置它们,详细的cmake使用方法可以参考 `官方文档 `_ 。 + +Bool型的编译选项 +---------------- +用户可在cmake的命令行中,通过使用 ``-D`` 命令设置该类编译选项,例如 + +.. code-block:: bash + + cmake .. -DWITH_GPU=OFF + +.. csv-table:: Bool型的编译选项 + :widths: 1, 7, 2 + :file: compile_options.csv + +BLAS/CUDA/Cudnn的编译选项 +-------------------------- +BLAS ++++++ + +PaddlePaddle支持以下任意一种BLAS库:`MKL `_ ,`ATLAS `_ ,`OpenBlAS `_ 和 `REFERENCE BLAS `_ 。 + +.. csv-table:: BLAS路径相关的编译选项 + :widths: 1, 2, 7 + :file: cblas_settings.csv + +CUDA/Cudnn ++++++++++++ + +PaddlePaddle可以使用cudnn v2之后的任何一个版本来编译运行,但尽量请保持编译和运行使用的cudnn是同一个版本。 我们推荐使用最新版本的cudnn v5.1。 + +编译选项的设置 +++++++++++++++ + +PaddePaddle通过编译时指定路径来实现引用各种BLAS/CUDA/Cudnn库。cmake编译时,首先在系统路径(/usr/lib\:/usr/local/lib)中搜索这几个库,同时也会读取相关路径变量来进行搜索。 通过使用 ``-D`` 命令可以设置,例如 + +.. code-block:: bash + + cmake .. -DMKL_ROOT=/opt/mkl/ -DCUDNN_ROOT=/opt/cudnnv5 + +注意:这几个编译选项的设置,只在第一次cmake的时候有效。如果之后想要重新设置,推荐清理整个编译目录(``rm -rf``)后,再指定。 diff --git a/release/0.10.0/doc_cn/_sources/getstarted/build_and_install/docker_install_cn.rst.txt b/release/0.10.0/doc_cn/_sources/getstarted/build_and_install/docker_install_cn.rst.txt new file mode 100644 index 0000000000..da2d423465 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/getstarted/build_and_install/docker_install_cn.rst.txt @@ -0,0 +1,183 @@ +PaddlePaddle的Docker容器使用方式 +================================ + +PaddlePaddle目前唯一官方支持的运行的方式是Docker容器。因为Docker能在所有主要操作系统(包括Linux,Mac OS X和Windows)上运行。 请注意,您需要更改 `Dockers设置 `_ 才能充分利用Mac OS X和Windows上的硬件资源。 + + +PaddlePaddle发布的Docker镜像使用说明 +------------------------------ + +我们把PaddlePaddle的编译环境打包成一个镜像,称为开发镜像,里面涵盖了 +PaddlePaddle需要的所有编译工具。把编译出来的PaddlePaddle也打包成一个镜 +像,称为生产镜像,里面涵盖了PaddlePaddle运行所需的所有环境。每次 +PaddlePaddle发布新版本的时候都会发布对应版本的生产镜像以及开发镜像。运 +行镜像包括纯CPU版本和GPU版本以及其对应的非AVX版本。我们会在 +`dockerhub.com `_ 提供最新 +的Docker镜像,可以在"tags"标签下找到最新的Paddle镜像版本。为了方便在国 +内的开发者下载Docker镜像,我们提供了国内的镜像服务器供大家使用。如果您 +在国内,请把文档里命令中的paddlepaddle/paddle替换成 +docker.paddlepaddle.org/paddle。 + +1. 开发镜像::code:`paddlepaddle/paddle:-dev` + + 这个镜像包含了Paddle相关的开发工具以及编译和运行环境。用户可以使用开发镜像代替配置本地环境,完成开发,编译,发布, + 文档编写等工作。由于不同的Paddle的版本可能需要不同的依赖和工具,所以如果需要自行配置开发环境需要考虑版本的因素。 + 开发镜像包含了以下工具: + + - gcc/clang + - nvcc + - Python + - sphinx + - woboq + - sshd + 很多开发者会使用远程的安装有GPU的服务器工作,用户可以使用ssh登录到这台服务器上并执行 :code:`docker exec`进入开发镜像并开始工作, + 也可以在开发镜像中启动一个SSHD服务,方便开发者直接登录到镜像中进行开发: + + 以交互容器方式运行开发镜像: + + .. code-block:: bash + + docker run -it --rm paddlepaddle/paddle:-dev /bin/bash + + 或者,可以以后台进程方式运行容器: + + .. code-block:: bash + + docker run -d -p 2202:22 -p 8888:8888 paddledev/paddle:-dev + + 然后用密码 :code:`root` SSH进入容器: + + .. code-block:: bash + + ssh -p 2202 root@localhost + + SSH方式的一个优点是我们可以从多个终端进入容器。比如,一个终端运行vi,另一个终端运行Python。另一个好处是我们可以把PaddlePaddle容器运行在远程服务器上,并在笔记本上通过SSH与其连接。 + +2. 生产镜像:根据CPU、GPU和非AVX区分了如下4个镜像: + + - GPU/AVX::code:`paddlepaddle/paddle:-gpu` + - GPU/no-AVX::code:`paddlepaddle/paddle:-gpu-noavx` + - CPU/AVX::code:`paddlepaddle/paddle:` + - CPU/no-AVX::code:`paddlepaddle/paddle:-noavx` + + 纯CPU镜像以及GPU镜像都会用到AVX指令集,但是2008年之前生产的旧电脑不支持AVX。以下指令能检查Linux电脑是否支持AVX: + + .. code-block:: bash + + if cat /proc/cpuinfo | grep -i avx; then echo Yes; else echo No; fi + + 如果输出是No,就需要选择使用no-AVX的镜像 + + 以上方法在GPU镜像里也能用,只是请不要忘记提前在物理机上安装GPU最新驱动。 + 为了保证GPU驱动能够在镜像里面正常运行,我们推荐使用[nvidia-docker](https://github.com/NVIDIA/nvidia-docker)来运行镜像。 + + .. code-block:: bash + + nvidia-docker run -it --rm paddledev/paddle:0.10.0rc1-gpu /bin/bash + + 注意: 如果使用nvidia-docker存在问题,你也许可以尝试更老的方法,具体如下,但是我们并不推荐这种方法。: + + .. code-block:: bash + + export CUDA_SO="$(\ls /usr/lib64/libcuda* | xargs -I{} echo '-v {}:{}') $(\ls /usr/lib64/libnvidia* | xargs -I{} echo '-v {}:{}')" + export DEVICES=$(\ls /dev/nvidia* | xargs -I{} echo '--device {}:{}') + docker run ${CUDA_SO} ${DEVICES} -it paddledev/paddle:-gpu + +3. 运行以及发布您的AI程序 + + 假设您已经完成了一个AI训练的python程序 :code:`a.py`,这个程序是您在开发机上使用开发镜像完成开发。此时您可以运行这个命令在开发机上进行测试运行: + + .. code-block:: bash + + docker run -it -v $PWD:/work paddle /work/a.py + + 如果要使用GPU,请运行: + + .. code-block:: bash + + nvidia-docker run -it -v $PWD:/work paddle /work/a.py + + + 这里`a.py`包含的所有依赖假设都可以在Paddle的运行容器中。如果需要包含更多的依赖、或者需要发布您的应用的镜像,可以编写`Dockerfile`使用`FROM paddledev/paddle:` + 创建和发布自己的AI程序镜像。 + +运行PaddlePaddle Book +--------------------- + +Jupyter Notebook是一个开源的web程序,大家可以通过它制作和分享带有代码、公式、图表、文字的交互式文档。用户可以通过网页浏览文档。 + +PaddlePaddle Book是为用户和开发者制作的一个交互式的Jupyter Nodebook。 +如果您想要更深入了解deep learning,PaddlePaddle Book一定是您最好的选择。 + +我们提供可以直接运行PaddlePaddle Book的Docker镜像,直接运行: + +.. code-block:: bash + + docker run -p 8888:8888 paddlepaddle/book + +然后在浏览器中输入以下网址: + +.. code-block:: text + + http://localhost:8888/ + +就这么简单,享受您的旅程! + +通过Docker容器开发PaddlePaddle +------------------------------ + +开发人员可以在Docker开发镜像中开发PaddlePaddle。这样开发人员可以以一致的方式在不同的平台上工作 - Linux,Mac OS X和Windows。 + +1. 制作PaddlePaddle开发镜像 + + PaddlePaddle每次发布新版本都会发布对应的开发镜像供开发者直接使用。这里介绍如生成造这个开发镜像。 + 生成Docker镜像的方式有两个,一个是直接把一个容器转换成镜像,另一个是创建Dockerfile并运行docker build指令按照Dockerfile生成镜像。第一个方法的好处是简单快捷,适合自己实验,可以快速迭代。第二个方法的好处是Dockerfile可以把整个生成流程描述很清楚,其他人很容易看懂镜像生成过程,持续集成系统也可以简单地复现这个过程。我们采用第二个方法。Dockerfile位于PaddlePaddle repo的根目录。生成生产镜像只需要运行: + + .. code-block:: bash + + git clone https://github.com/PaddlePaddle/Paddle.git + cd Paddle + docker build -t paddle:dev . + + docker build这个命令的-t指定了生成的镜像的名字,这里我们用paddle:dev。到此,PaddlePaddle开发镜像就被构建完毕了。 + +2. 制作PaddlePaddle生产镜像 + + 生产镜像的生成分为两步,第一步是运行: + + .. code-block:: bash + + docker run -v $(pwd):/paddle -e "WITH_GPU=OFF" -e "WITH_AVX=OFF" -e "WITH_TEST=ON" paddle:dev + + 以上命令会编译PaddlePaddle,生成运行程序,以及生成创建生产镜像的Dockerfile。所有生成的的文件都在build目录下。“WITH_GPU”控制生成的生产镜像是否支持GPU,“WITH_AVX”控制生成的生产镜像是否支持AVX,”WITH_TEST“控制是否生成单元测试。 + + 第二步是运行: + + .. code-block:: bash + + docker build -t paddle:prod -f build/Dockerfile ./build + + 以上命令会按照生成的Dockerfile把生成的程序拷贝到生产镜像中并做相应的配置,最终生成名为paddle:prod的生产镜像。 + +3. 运行单元测试 + + 运行以下指令: + + .. code-block:: bash + + docker run -it -v $(pwd):/paddle paddle:dev bash -c "cd /paddle/build && ctest" + +文档 +---- + +Paddle的Docker开发镜像带有一个通过 `woboq code browser +`_ 生成的HTML版本的C++源代码,便于用户浏览C++源码。 + +只要在Docker里启动PaddlePaddle的时候给它一个名字,就可以再运行另一个Nginx Docker镜像来服务HTML代码: + +.. code-block:: bash + + docker run -d --name paddle-cpu-doc paddle:-dev + docker run -d --volumes-from paddle-cpu-doc -p 8088:80 nginx + +接着我们就能够打开浏览器在 http://localhost:8088/paddle/ 浏览代码。 diff --git a/release/0.10.0/doc_cn/_sources/getstarted/build_and_install/index_cn.rst.txt b/release/0.10.0/doc_cn/_sources/getstarted/build_and_install/index_cn.rst.txt new file mode 100644 index 0000000000..a24df6c518 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/getstarted/build_and_install/index_cn.rst.txt @@ -0,0 +1,29 @@ +安装与编译 +========== + +.. _install_steps: + +安装流程 +++++++++ + +PaddlePaddle提供数个预编译的二进制来进行安装,包括Docker镜像,ubuntu的deb安装包等。我们推荐使用Docker镜像来部署环境,同时欢迎贡献更多的安装包。 + +.. toctree:: + :maxdepth: 1 + + docker_install_cn.rst + ubuntu_install_cn.rst + + + +编译流程 +++++++++ + +.. warning:: + + 编译流程主要推荐高级用户查看,普通用户请走安装流程。 + +.. toctree:: + :maxdepth: 1 + + cmake/build_from_source_cn.rst diff --git a/release/0.10.0/doc_cn/_sources/getstarted/build_and_install/ubuntu_install_cn.rst.txt b/release/0.10.0/doc_cn/_sources/getstarted/build_and_install/ubuntu_install_cn.rst.txt new file mode 100644 index 0000000000..9e39ccb00f --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/getstarted/build_and_install/ubuntu_install_cn.rst.txt @@ -0,0 +1,71 @@ +Ubuntu部署PaddlePaddle +=================================== + +PaddlePaddle提供了ubuntu 14.04 deb安装包。 + +安装 +------ + +安装包的下载地址是\: https://github.com/PaddlePaddle/Paddle/releases + +它包含四个版本\: + +* cpu版本: 支持主流x86处理器平台, 使用了avx指令集。 + +* cpu-noavx版本:支持主流x86处理器平台,没有使用avx指令集。 + +* gpu版本:支持主流x86处理器平台,支持nvidia cuda平台,使用了avx指令集。 + +* gpu-noavx版本:支持主流x86处理器平台,支持nvidia cuda平台,没有使用avx指令集。 + +下载完相关安装包后,执行: + +.. code-block:: shell + + sudo apt-get install gdebi + gdebi paddle-*-cpu.deb + +或者: + +.. code-block:: shell + + dpkg -i paddle-*-cpu.deb + apt-get install -f + + +在 :code:`dpkg -i` 的时候如果报一些依赖未找到的错误是正常的, +在 :code:`apt-get install -f` 里会继续安装 PaddlePaddle。 + +安装完成后,可以使用命令 :code:`paddle version` 查看安装后的paddle 版本: + +.. code-block:: shell + + PaddlePaddle 0.8.0b1, compiled with + with_avx: ON + with_gpu: OFF + with_double: OFF + with_python: ON + with_rdma: OFF + with_timer: OFF + with_predict_sdk: + + +可能遇到的问题 +-------------- + +libcudart.so/libcudnn.so找不到 +++++++++++++++++++++++++++++++ + +安装完成后,运行 :code:`paddle train` 报错\: + +.. code-block:: shell + + 0831 12:36:04.151525 1085 hl_dso_loader.cc:70] Check failed: nullptr != *dso_handle For Gpu version of PaddlePaddle, it couldn't find CUDA library: libcudart.so Please make sure you already specify its path.Note: for training data on Cpu using Gpu version of PaddlePaddle,you must specify libcudart.so via LD_LIBRARY_PATH. + +原因是未设置cuda运行时环境变量。 如果使用GPU版本的PaddlePaddle,请安装CUDA 7.5 和CUDNN 5到本地环境中,并设置: + +.. code-block:: shell + + export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib:$LD_LIBRARY_PATH + export PATH=/usr/local/cuda/bin:$PATH + diff --git a/release/0.10.0/doc_cn/_sources/getstarted/concepts/use_concepts_cn.rst.txt b/release/0.10.0/doc_cn/_sources/getstarted/concepts/use_concepts_cn.rst.txt new file mode 100644 index 0000000000..e63ca11102 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/getstarted/concepts/use_concepts_cn.rst.txt @@ -0,0 +1,150 @@ +############ +基本使用概念 +############ + +PaddlePaddle是源于百度的一个深度学习平台。PaddlePaddle为深度学习研究人员提供了丰富的API,可以轻松地完成神经网络配置,模型训练等任务。 +这里将介绍PaddlePaddle的基本使用概念,并且展示了如何利用PaddlePaddle来解决一个经典的线性回归问题。 +在使用该文档之前,请参考 `安装文档 <../build_and_install/index_cn.html>`_ 完成PaddlePaddle的安装。 + + +配置网络 +============ + +加载PaddlePaddle +---------------------- + +在进行网络配置之前,首先需要加载相应的Python库,并进行初始化操作。 + +.. code-block:: bash + + import paddle.v2 as paddle + import numpy as np + paddle.init(use_gpu=False) + + +搭建神经网络 +----------------------- + +搭建神经网络就像使用积木搭建宝塔一样。在PaddlePaddle中,layer是我们的积木,而神经网络是我们要搭建的宝塔。我们使用不同的layer进行组合,来搭建神经网络。 +宝塔的底端需要坚实的基座来支撑,同样,神经网络也需要一些特定的layer作为输入接口,来完成网络的训练。 + +例如,我们可以定义如下layer来描述神经网络的输入: + +.. code-block:: bash + + x = paddle.layer.data(name='x', type=paddle.data_type.dense_vector(2)) + y = paddle.layer.data(name='y', type=paddle.data_type.dense_vector(1)) + +其中x表示输入数据是一个维度为2的稠密向量,y表示输入数据是一个维度为1的稠密向量。 + +PaddlePaddle支持不同类型的输入数据,主要包括四种类型,和三种序列模式。 + +四种数据类型: + +* dense_vector:稠密的浮点数向量。 +* sparse_binary_vector:稀疏的01向量,即大部分值为0,但有值的地方必须为1。 +* sparse_float_vector:稀疏的向量,即大部分值为0,但有值的部分可以是任何浮点数。 +* integer:整数标签。 + +三种序列模式: + +* SequenceType.NO_SEQUENCE:不是一条序列 +* SequenceType.SEQUENCE:是一条时间序列 +* SequenceType.SUB_SEQUENCE: 是一条时间序列,且序列的每一个元素还是一个时间序列。 + +不同的数据类型和序列模式返回的格式不同,列表如下: + ++----------------------+---------------------+-----------------------------------+------------------------------------------------+ +| | NO_SEQUENCE | SEQUENCE | SUB_SEQUENCE | ++======================+=====================+===================================+================================================+ +| dense_vector | [f, f, ...] | [[f, ...], [f, ...], ...] | [[[f, ...], ...], [[f, ...], ...],...] | ++----------------------+---------------------+-----------------------------------+------------------------------------------------+ +| sparse_binary_vector | [i, i, ...] | [[i, ...], [i, ...], ...] | [[[i, ...], ...], [[i, ...], ...],...] | ++----------------------+---------------------+-----------------------------------+------------------------------------------------+ +| sparse_float_vector | [(i,f), (i,f), ...] | [[(i,f), ...], [(i,f), ...], ...] | [[[(i,f), ...], ...], [[(i,f), ...], ...],...] | ++----------------------+---------------------+-----------------------------------+------------------------------------------------+ +| integer_value | i | [i, i, ...] | [[i, ...], [i, ...], ...] | ++----------------------+---------------------+-----------------------------------+------------------------------------------------+ + +其中,f代表一个浮点数,i代表一个整数。 + +注意:对sparse_binary_vector和sparse_float_vector,PaddlePaddle存的是有值位置的索引。例如, + +- 对一个5维非序列的稀疏01向量 ``[0, 1, 1, 0, 0]`` ,类型是sparse_binary_vector,返回的是 ``[1, 2]`` 。 +- 对一个5维非序列的稀疏浮点向量 ``[0, 0.5, 0.7, 0, 0]`` ,类型是sparse_float_vector,返回的是 ``[(1, 0.5), (2, 0.7)]`` 。 + + +在定义输入layer之后,我们可以使用其他layer进行组合。在组合时,需要指定layer的输入来源。 + +例如,我们可以定义如下的layer组合: + +.. code-block:: bash + + y_predict = paddle.layer.fc(input=x, size=1, act=paddle.activation.Linear()) + cost = paddle.layer.mse_cost(input=y_predict, label=y) + +其中,x与y为之前描述的输入层;而y_predict是接收x作为输入,接上一个全连接层;cost接收y_predict与y作为输入,接上均方误差层。 + +最后一层cost中记录了神经网络的所有拓扑结构,通过组合不同的layer,我们即可完成神经网络的搭建。 + + +训练模型 +============ + +在完成神经网络的搭建之后,我们首先需要根据神经网络结构来创建所需要优化的parameters,并创建optimizer。 +之后,我们可以创建trainer来对网络进行训练。 + +.. code-block:: bash + + parameters = paddle.parameters.create(cost) + optimizer = paddle.optimizer.Momentum(momentum=0) + trainer = paddle.trainer.SGD(cost=cost, + parameters=parameters, + update_equation=optimizer) + +其中,trainer接收三个参数,包括神经网络拓扑结构、神经网络参数以及迭代方程。 + +在搭建神经网络的过程中,我们仅仅对神经网络的输入进行了描述。而trainer需要读取训练数据进行训练,PaddlePaddle中通过reader来加载数据。 + +.. code-block:: bash + + # define training dataset reader + def train_reader(): + train_x = np.array([[1, 1], [1, 2], [3, 4], [5, 2]]) + train_y = np.array([-2, -3, -7, -7]) + def reader(): + for i in xrange(train_y.shape[0]): + yield train_x[i], train_y[i] + return reader + +最终我们可以调用trainer的train方法启动训练: + +.. code-block:: bash + + # define feeding map + feeding = {'x': 0, 'y': 1} + + # event_handler to print training info + def event_handler(event): + if isinstance(event, paddle.event.EndIteration): + if event.batch_id % 1 == 0: + print "Pass %d, Batch %d, Cost %f" % ( + event.pass_id, event.batch_id, event.cost) + # training + trainer.train( + reader=paddle.batch(train_reader(), batch_size=1), + feeding=feeding, + event_handler=event_handler, + num_passes=100) + +关于PaddlePaddle的更多使用方法请参考 `进阶指南 <../../howto/index_cn.html>`_。 + +线性回归完整示例 +============== + +下面给出在三维空间中使用线性回归拟合一条直线的例子: + +.. literalinclude:: src/train.py + :linenos: + +有关线性回归的实际应用,可以参考PaddlePaddle book的 `第一章节 `_。 \ No newline at end of file diff --git a/release/0.10.0/doc_cn/_sources/getstarted/index_cn.rst.txt b/release/0.10.0/doc_cn/_sources/getstarted/index_cn.rst.txt new file mode 100644 index 0000000000..aa418c657a --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/getstarted/index_cn.rst.txt @@ -0,0 +1,10 @@ +新手入门 +============ + +.. toctree:: + :maxdepth: 1 + + build_and_install/index_cn.rst + concepts/use_concepts_cn.rst + +- `深度学习入门课程 `_ diff --git a/release/0.10.0/doc_cn/_sources/howto/deep_model/rnn/hierarchical_layer_cn.rst.txt b/release/0.10.0/doc_cn/_sources/howto/deep_model/rnn/hierarchical_layer_cn.rst.txt new file mode 100644 index 0000000000..79048e9248 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/howto/deep_model/rnn/hierarchical_layer_cn.rst.txt @@ -0,0 +1,89 @@ +########################### +支持双层序列作为输入的Layer +########################### + +.. contents:: + +概述 +==== + +在自然语言处理任务中,序列是一种常见的数据类型。一个独立的词语,可以看作是一个非序列输入,或者,我们称之为一个0层的序列;由词语构成的句子,是一个单层序列;若干个句子构成一个段落,是一个双层的序列。 + +双层序列是一个嵌套的序列,它的每一个元素,又是一个单层的序列。这是一种非常灵活的数据组织方式,帮助我们构造一些复杂的输入信息。 + +我们可以按照如下层次定义非序列,单层序列,以及双层序列。 + ++ 0层序列:一个独立的元素,类型可以是PaddlePaddle支持的任意输入数据类型 ++ 单层序列:排成一列的多个元素,每个元素是一个0层序列,元素之间的顺序是重要的输入信息 ++ 双层序列:排成一列的多个元素,每个元素是一个单层序列,称之为双层序列的一个子序列(subseq),subseq的每个元素是一个0层序列 + +在 PaddlePaddle中,下面这些Layer能够接受双层序列作为输入,完成相应的计算。 + +pooling +======== + +pooling 的使用示例如下,详细见 :ref:`api_v2.layer_pooling` 配置API。 + +.. code-block:: bash + + seq_pool = pooling(input=layer, + pooling_type=pooling.Max(), + agg_level=AggregateLevel.EACH_SEQUENCE) + +- `pooling_type` 目前支持两种,分别是:pooling.Max()和pooling.Avg()。 + +- `agg_level=AggregateLevel.EACH_TIMESTEP` 时(默认值): + + - 作用:双层序列经过运算变成一个0层序列,或单层序列经过运算变成一个0层序列 + - 输入:一个双层序列,或一个单层序列 + - 输出:一个0层序列,即整个输入序列(单层或双层)的平均值(或最大值) + +- `agg_level=AggregateLevel.EACH_SEQUENCE` 时: + + - 作用:一个双层序列经过运算变成一个单层序列 + - 输入:必须是一个双层序列 + - 输出:一个单层序列,序列的每个元素是原来双层序列每个subseq元素的平均值(或最大值) + +last_seq 和 first_seq +===================== + +last_seq 的使用示例如下( :ref:`api_v2.layer_first_seq` 类似),详细见 :ref:`api_v2.layer_last_seq` 配置API。 + +.. code-block:: bash + + last = last_seq(input=layer, + agg_level=AggregateLevel.EACH_SEQUENCE) + +- `agg_level=AggregateLevel.EACH_TIMESTEP` 时(默认值): + + - 作用:一个双层序列经过运算变成一个0层序列,或一个单层序列经过运算变成一个0层序列 + - 输入:一个双层序列或一个单层序列 + - 输出:一个0层序列,即整个输入序列(双层或者单层)最后一个,或第一个元素。 + +- `agg_level=AggregateLevel.EACH_SEQUENCE` 时: + - 作用:一个双层序列经过运算变成一个单层序列 + - 输入:必须是一个双层序列 + - 输出:一个单层序列,其中每个元素是双层序列中每个subseq最后一个(或第一个)元素。 + +expand +====== + +expand 的使用示例如下,详细见 :ref:`api_v2.layer_expand` 配置API。 + +.. code-block:: bash + + ex = expand(input=layer1, + expand_as=layer2, + expand_level=ExpandLevel.FROM_TIMESTEP) + +- `expand_level=ExpandLevel.FROM_TIMESTEP` 时(默认值): + + - 作用:一个0层序列经过运算扩展成一个单层序列,或者一个双层序列 + - 输入:layer1必须是一个0层序列,是待扩展的数据;layer2 可以是一个单层序列,或者是一个双层序列,提供扩展的长度信息 + - 输出:一个单层序列或一个双层序列,输出序列的类型(双层序列或单层序列)和序列中含有元素的数目同 layer2 一致。若输出是单层序列,单层序列的每个元素(0层序列),都是对layer1元素的拷贝;若输出是双层序列,双层序列每个subseq中每个元素(0层序列),都是对layer1元素的拷贝 + +- `expand_level=ExpandLevel.FROM_SEQUENCE` 时: + + - 作用:一个单层序列经过运算扩展成一个双层序列 + - 输入:layer1必须是一个单层序列,是待扩展的数据;layer2 必须是一个双层序列,提供扩展的长度信息 + - 输出:一个双层序列,序列中含有元素的数目同 layer2 一致。要求单层序列含有元素的数目(0层序列)和双层序列含有subseq 的数目一致。单层序列第i个元素(0层序列),被扩展为一个单层序列,构成了输出双层序列的第i个 subseq 。 diff --git a/release/0.10.0/doc_cn/_sources/howto/deep_model/rnn/hrnn_rnn_api_compare_cn.rst.txt b/release/0.10.0/doc_cn/_sources/howto/deep_model/rnn/hrnn_rnn_api_compare_cn.rst.txt new file mode 100644 index 0000000000..96e52b910a --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/howto/deep_model/rnn/hrnn_rnn_api_compare_cn.rst.txt @@ -0,0 +1,231 @@ +.. _algo_hrnn_rnn_api_compare: + +##################### +单双层RNN API对比介绍 +##################### + +本文以PaddlePaddle的双层RNN单元测试为示例,用多对效果完全相同的、分别使用单双层RNN作为网络配置的模型,来讲解如何使用双层RNN。本文中所有的例子,都只是介绍双层RNN的API接口,并不是使用双层RNN解决实际的问题。如果想要了解双层RNN在具体问题中的使用,请参考\ :ref:`algo_hrnn_demo`\ 。本文中示例所使用的单元测试文件是\ `test_RecurrentGradientMachine.cpp `_\ 。 + +示例1:双层RNN,子序列间无Memory +================================ + +在双层RNN中的经典情况是将内层的每一个时间序列数据,分别进行序列操作;并且内层的序列操作之间独立无依赖,即不需要使用Memory\ 。 + +在本示例中,单层RNN和双层RNN的网络配置,都是将每一句分好词后的句子,使用LSTM作为encoder,压缩成一个向量。区别是RNN使用两层序列模型,将多句话看成一个整体同时使用encoder压缩。二者语意上完全一致。这组语义相同的示例配置如下: + +* 单层RNN\: `sequence_layer_group.conf `_ +* 双层RNN\: `sequence_nest_layer_group.conf `_ + + +读取双层序列数据 +---------------- + +首先,本示例中使用的原始数据如下\: + +- 本例中的原始数据一共有10个样本。每个样本由两部分组成,一个label(此处都为2)和一个已经分词后的句子。这个数据也被单层RNN网络直接使用。 + +.. literalinclude:: ../../../../paddle/gserver/tests/Sequence/tour_train_wdseg + :language: text + + +- 双层序列数据一共有4个样本。 每个样本间用空行分开,整体数据和原始数据完全一样。但于双层序列的LSTM来说,第一个样本同时encode两条数据成两个向量。这四条数据同时处理的句子数量为\ :code:`[2, 3, 2, 3]`\ 。 + +.. literalinclude:: ../../../../paddle/gserver/tests/Sequence/tour_train_wdseg.nest + :language: text + +其次,对于两种不同的输入数据类型,不同DataProvider对比如下(`sequenceGen.py `_)\: + +.. literalinclude:: ../../../../paddle/gserver/tests/sequenceGen.py + :language: python + :lines: 21-39 + :linenos: + +- 这是普通的单层时间序列的DataProvider代码,其说明如下: + + * DataProvider共返回两个数据,分别是words和label。即上述代码中的第19行。 + + - words是原始数据中的每一句话,所对应的词表index数组。它是integer_value_sequence类型的,即整数数组。words即为这个数据中的单层时间序列。 + - label是原始数据中对于每一句话的分类标签,它是integer_value类型的。 + +.. literalinclude:: ../../../../paddle/gserver/tests/sequenceGen.py + :language: python + :lines: 42-71 + :linenos: + +- 对于同样的数据,双层时间序列的DataProvider的代码。其说明如下: + + - DataProvider共返回两组数据,分别是sentences和labels。即在双层序列的原始数据中,每一组内的所有句子和labels + - sentences是双层时间序列的数据。由于它内部包含了每组数据中的所有句子,且每个句子表示为对应的词表索引数组,因此它是integer_value_sub_sequence 类型的,即双层时间序列。 + - labels是每组内每个句子的标签,故而是一个单层时间序列。 + + +模型配置的模型配置 +------------------------------------------ + +首先,我们看一下单层RNN的配置。代码中9-15行(高亮部分)即为单层RNN序列的使用代码。这里使用了PaddlePaddle预定义好的RNN处理函数。在这个函数中,RNN对于每一个时间步通过了一个LSTM网络。 + +.. literalinclude:: ../../../../paddle/gserver/tests/sequence_layer_group.conf + :language: python + :lines: 38-63 + :linenos: + :emphasize-lines: 9-15 + + +其次,我们看一下语义相同的双层RNN的网络配置\: + +* PaddlePaddle中的许多layer并不在意输入是否是时间序列,例如\ :code:`embedding_layer`\ 。在这些layer中,所有的操作都是针对每一个时间步来进行的。 + +* 在该配置的7-26行(高亮部分),将双层时间序列数据先变换成单层时间序列数据,再对每一个单层时间序列进行处理。 + + * 使用\ :code:`recurrent_group`\ 这个函数进行变换,在变换时需要将输入序列传入。由于我们想要的变换是双层时间序列=> 单层时间序列,所以我们需要将输入数据标记成\ :code:`SubsequenceInput`\ 。 + + * 在本例中,我们将原始数据的每一组,通过\ :code:`recurrent_group`\ 进行拆解,拆解成的每一句话再通过一个LSTM网络。这和单层RNN的配置是等价的。 + +* 与单层RNN的配置类似,我们只需要使用LSTM encode成的最后一个向量。所以对\ :code:`recurrent_group`\ 进行了\ :code:`last_seq`\ 操作。但和单层RNN不同,我们是对每一个子序列取最后一个元素,因此\ :code:`agg_level=AggregateLevel.EACH_SEQUENCE`\ 。 + +* 至此,\ :code:`lstm_last`\ 便和单层RNN配置中的\ :code:`lstm_last`\ 具有相同的结果了。 + +.. literalinclude:: ../../../../paddle/gserver/tests/sequence_nest_layer_group.conf + :language: python + :lines: 38-64 + :linenos: + :emphasize-lines: 7-26 + +示例2:双层RNN,子序列间有Memory +================================ + +本示例意图使用单层RNN和双层RNN实现两个完全等价的全连接RNN。 + +* 对于单层RNN,输入数据为一个完整的时间序列,例如\ :code:`[4, 5, 2, 0, 9, 8, 1, 4]`\ 。 + +* 对于双层RNN,输入数据为在单层RNN数据里面,任意将一些数据组合成双层时间序列,例如\ :code:`[ [4, 5, 2], [0, 9], [8, 1, 4]]`。 + +模型配置的模型配置 +------------------ + +我们选取单双层序列配置中的不同部分,来对比分析两者语义相同的原因。 + +- 单层RNN:过了一个很简单的recurrent_group。每一个时间步,当前的输入y和上一个时间步的输出rnn_state做了一个全链接。 + +.. literalinclude:: ../../../../paddle/gserver/tests/sequence_rnn.conf + :language: python + :lines: 36-48 + +- 双层RNN,外层memory是一个元素: + + - 内层inner_step的recurrent_group和单层序列的几乎一样。除了boot_layer=outer_mem,表示将外层的outer_mem作为内层memory的初始状态。外层outer_step中,outer_mem是一个子句的最后一个向量,即整个双层group是将前一个子句的最后一个向量,作为下一个子句memory的初始状态。 + - 从输入数据上看,单双层序列的句子是一样的,只是双层序列将其又做了子序列划分。因此双层序列的配置中,必须将前一个子句的最后一个元素,作为boot_layer传给下一个子句的memory,才能保证和单层序列的配置中“每个时间步都用了上一个时间步的输出结果”一致。 + +.. literalinclude:: ../../../../paddle/gserver/tests/sequence_nest_rnn.conf + :language: python + :lines: 39-66 + +.. warning:: + PaddlePaddle目前只支持在每个时间步中,Memory的时间序列长度一致的情况。 + +示例3:双层RNN,输入不等长 +========================== + +.. role:: red + +.. raw:: html + + + +**输入不等长** 是指recurrent_group的多个输入序列,在每个时间步的子序列长度可以不相等。但序列输出时,需要指定与某一个输入的序列信息是一致的。使用\ :red:`targetInlink`\ 可以指定哪一个输入和输出序列信息一致,默认指定第一个输入。 + +示例3的配置分别为\ `单层不等长RNN `_\ 和\ `双层不等长RNN `_\ 。 + +示例3对于单层RNN和双层RNN数据完全相同。 + +* 对于单层RNN的数据一共有两个样本,他们分别是\ :code:`[1, 2, 4, 5, 2], [5, 4, 1, 3, 1]`\ 和\ :code:`[0, 2, 2, 5, 0, 1, 2], [1, 5, 4, 2, 3, 6, 1]`\ 。对于每一个单层RNN的数据,均有两组特征。 + +* 在单层数据的基础上,双层RNN数据随意加了一些隔断,例如将第一条数据转化为\ :code:`[[0, 2], [2, 5], [0, 1, 2]],[[1, 5], [4], [2, 3, 6, 1]]`\ 。 + +* 需要注意的是PaddlePaddle目前只支持子序列数目一样的多输入双层RNN。例如本例中的两个特征,均有三个子序列。每个子序列长度可以不一致,但是子序列的数目必须一样。 + + +模型配置 +-------- + +和示例2中的配置类似,示例3的配置使用了单层RNN和双层RNN,实现两个完全等价的全连接RNN。 + +* 单层RNN\: + +.. literalinclude:: ../../../../paddle/gserver/tests/sequence_rnn_multi_unequalength_inputs.py + :language: python + :lines: 42-59 + :linenos: + +* 双层RNN\ \: + +.. literalinclude:: ../../../../paddle/gserver/tests/sequence_nest_rnn_multi_unequalength_inputs.py + :language: python + :lines: 41-80 + :linenos: + +在上面代码中,单层和双层序列的使用和示例2中的示例类似,区别是同时处理了两个输入。而对于双层序列,两个输入的子序列长度也并不相同。但是,我们使用了\ :code:`targetInlink`\ 参数设置了外层\ :code:`recurrent_group`\ 的输出格式。所以外层输出的序列形状,和\ :code:`emb2`\ 的序列形状一致。 + +示例4:beam_search的生成 +======================== + +TBD + + +词汇表 +====== + +.. _glossary_memory: + +Memory +------ + +Memory是PaddlePaddle实现RNN时候使用的一个概念。RNN即时间递归神经网络,通常要求时间步之间具有一些依赖性,即当前时间步下的神经网络依赖前一个时间步神经网络中某一个神经元输出。如下图所示。 + +.. graphviz:: src/glossary_rnn.dot + +上图中虚线的连接,即是跨越时间步的网络连接。PaddlePaddle在实现RNN的时候,将这种跨越时间步的连接用一个特殊的神经网络单元实现。这个神经网络单元就叫Memory。Memory可以缓存上一个时刻某一个神经元的输出,然后在下一个时间步输入给另一个神经元。使用Memory的RNN实现便如下图所示。 + +.. graphviz:: src/glossary_rnn_with_memory.dot + +使用这种方式,PaddlePaddle可以比较简单的判断哪些输出是应该跨越时间步的,哪些不是。 + +.. _glossary_timestep: + +时间步 +------ + +参考时间序列。 + + +.. _glossary_sequence: + +时间序列 +-------- + +时间序列(time series)是指一系列的特征数据。这些特征数据之间的顺序是有意义的。即特征的数组,而不是特征的集合。而这每一个数组元素,或者每一个系列里的特征数据,即为一个时间步(time step)。值得注意的是,时间序列、时间步的概念,并不真正的和『时间』有关。只要一系列特征数据中的『顺序』是有意义的,即为时间序列的输入。 + +举例说明,例如文本分类中,我们通常将一句话理解成一个时间序列。比如一句话中的每一个单词,会变成词表中的位置。而这一句话就可以表示成这些位置的数组。例如 :code:`[9, 2, 3, 5, 3]` 。 + +关于时间序列(time series)的更详细准确的定义,可以参考 `维基百科页面 Time series `_ 或者 `维基百科中文页面 时间序列 `_ 。 + +另外,Paddle中经常会将时间序列成为 :code:`Sequence` 。他们在Paddle的文档和API中是一个概念。 + +.. _glossary_RNN: + +RNN +--- + +RNN 在PaddlePaddle的文档中,一般表示 :code:`Recurrent neural network`,即时间递归神经网络。详细介绍可以参考 `维基百科页面 Recurrent neural network `_ 或者 `中文维基百科页面 `_ 中关于时间递归神经网络的介绍。 + +RNN 一般在PaddlePaddle中,指对于一个时间序列输入数据,每一个时间步之间的神经网络具有一定的相关性。例如,某一个神经元的一个输入为上一个时间步网络中某一个神经元的输出。或者,从每一个时间步来看,神经网络的网络结构中具有有向环结构。 + +.. _glossary_双层RNN: + +双层RNN +------- + +双层RNN顾名思义,即RNN之间有一次嵌套关系。输入数据整体上是一个时间序列,而对于每一个内层特征数据而言,也是一个时间序列。即二维数组,或者数组的数组这个概念。 而双层RNN是可以处理这种输入数据的网络结构。 + +例如,对于段落的文本分类,即将一段话进行分类。我们将一段话看成句子的数组,每个句子又是单词的数组。这便是一种双层RNN的输入数据。而将这个段落的每一句话用lstm编码成一个向量,再对每一句话的编码向量用lstm编码成一个段落的向量。再对这个段落向量进行分类,即为这个双层RNN的网络结构。 + diff --git a/release/0.10.0/doc_cn/_sources/howto/deep_model/rnn/index_cn.rst.txt b/release/0.10.0/doc_cn/_sources/howto/deep_model/rnn/index_cn.rst.txt new file mode 100644 index 0000000000..9e805ca851 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/howto/deep_model/rnn/index_cn.rst.txt @@ -0,0 +1,9 @@ +RNN相关模型 +=========== + +.. toctree:: + :maxdepth: 1 + + recurrent_group_cn.md + hierarchical_layer_cn.rst + hrnn_rnn_api_compare_cn.rst diff --git a/release/0.10.0/doc_cn/_sources/howto/deep_model/rnn/recurrent_group_cn.md.txt b/release/0.10.0/doc_cn/_sources/howto/deep_model/rnn/recurrent_group_cn.md.txt new file mode 100644 index 0000000000..06dc9e089a --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/howto/deep_model/rnn/recurrent_group_cn.md.txt @@ -0,0 +1,96 @@ +# Recurrent Group教程 + +## 概述 + +序列数据是自然语言处理任务面对的一种主要输入数据类型。 + +一句话是由词语构成的序列,多句话进一步构成了段落。因此,段落可以看作是一个嵌套的双层的序列,这个序列的每个元素又是一个序列。 + +双层序列是PaddlePaddle支持的一种非常灵活的数据组织方式,帮助我们更好地描述段落、多轮对话等更为复杂的语言数据。基于双层序列输入,我们可以设计搭建一个灵活的、层次化的RNN,分别从词语和句子级别编码输入数据,同时也能够引入更加复杂的记忆机制,更好地完成一些复杂的语言理解任务。 + +在PaddlePaddle中,`recurrent_group`是一种任意复杂的RNN单元,用户只需定义RNN在一个时间步内完成的计算,PaddlePaddle负责完成信息和误差在时间序列上的传播。 + +更进一步,`recurrent_group`同样可以扩展到双层序列的处理上。通过两个嵌套的`recurrent_group`分别定义子句级别和词语级别上需要完成的运算,最终实现一个层次化的复杂RNN。 + +目前,在PaddlePaddle中,能够对双向序列进行处理的有`recurrent_group`和部分Layer,具体可参考文档:支持双层序列作为输入的Layer。 + +## 相关概念 + +### 基本原理 +`recurrent_group` 是PaddlePaddle支持的一种任意复杂的RNN单元。使用者只需要关注于设计RNN在一个时间步之内完成的计算,PaddlePaddle负责完成信息和梯度在时间序列上的传播。 + +PaddlePaddle中,`recurrent_group`的一个简单调用如下: + +``` python +recurrent_group(step, input, reverse) +``` +- step:一个可调用的函数,定义一个时间步之内RNN单元完成的计算 +- input:输入,必须是一个单层序列,或者一个双层序列 +- reverse:是否以逆序处理输入序列 + +使用`recurrent_group`的核心是设计step函数的计算逻辑。step函数内部可以自由组合PaddlePaddle支持的各种layer,完成任意的运算逻辑。`recurrent_group` 的输入(即input)会成为step函数的输入,由于step 函数只关注于RNN一个时间步之内的计算,在这里`recurrent_group`替我们完成了原始输入数据的拆分。 + +### 输入 +`recurrent_group`处理的输入序列主要分为以下三种类型: + +- **数据输入**:一个双层序列进入`recurrent_group`会被拆解为一个单层序列,一个单层序列进入`recurrent_group`会被拆解为非序列,然后交给step函数,这一过程对用户是完全透明的。可以有以下两种:1)通过data_layer拿到的用户输入;2)其它layer的输出。 + +- **只读Memory输入**:`StaticInput` 定义了一个只读的Memory,由`StaticInput`指定的输入不会被`recurrent_group`拆解,`recurrent_group` 循环展开的每个时间步总是能够引用所有输入,可以是一个非序列,或者一个单层序列。 + +- **序列生成任务的输入**:`GeneratedInput`只用于在序列生成任务中指定输入数据。 + +### 输入示例 + +序列生成任务大多遵循encoder-decoer架构,encoder和decoder可以是能够处理序列的任意神经网络单元,而RNN是最流行的选择。 + +给定encoder输出和当前词,decoder每次预测产生下一个最可能的词语。在这种结构中,decoder接受两个输入: + +- 要生成的目标序列:是decoder的数据输入,也是decoder循环展开的依据,`recurrent_group`会对这类输入进行拆解。 + +- encoder输出,可以是一个非序列,或者一个单层序列:是一个unbounded memory,decoder循环展开的每一个时间步会引用全部结果,不应该被拆解,这种类型的输入必须通过`StaticInput`指定。关于Unbounded Memory的更多讨论请参考论文 [Neural Turning Machine](https://arxiv.org/abs/1410.5401)。 + +在序列生成任务中,decoder RNN总是引用上一时刻预测出的词的词向量,作为当前时刻输入。`GeneratedInput`自动完成这一过程。 + +### 输出 +`step`函数必须返回一个或多个Layer的输出,这个Layer的输出会作为整个`recurrent_group` 最终的输出结果。在输出的过程中,`recurrent_group` 会将每个时间步的输出拼接,这个过程对用户也是透明的。 + +### memory +memory只能在`recurrent_group`中定义和使用。memory不能独立存在,必须指向一个PaddlePaddle定义的Layer。引用memory得到这layer上一时刻输出,因此,可以将memory理解为一个时延操作。 + +可以显示地指定一个layer的输出用于初始化memory。不指定时,memory默认初始化为0。 + +## 双层RNN介绍 +`recurrent_group`帮助我们完成对输入序列的拆分,对输出的合并,以及计算逻辑在序列上的循环展开。 + +利用这种特性,两个嵌套的`recurrent_group`能够处理双层序列,实现词语和句子两个级别的双层RNN结构。 + +- 单层(word-level)RNN:每个状态(state)对应一个词(word)。 +- 双层(sequence-level)RNN:一个双层RNN由多个单层RNN组成,每个单层RNN(即双层RNN的每个状态)对应一个子句(subseq)。 + +为了描述方便,下文以NLP任务为例,将含有子句(subseq)的段落定义为一个双层序列,将含有词语的句子定义为一个单层序列,那么0层序列即为一个词语。 + +## 双层RNN的使用 + +### 训练流程的使用方法 +使用 `recurrent_group`需要遵循以下约定: + +- **单进单出**:输入和输出都是单层序列。 + - 如果有多个输入,不同输入序列含有的词语数必须严格相等。 + - 输出一个单层序列,输出序列的词语数和输入序列一致。 + - memory:在step函数中定义 memory指向一个layer,通过引用memory得到这个layer上一个时刻输出,形成recurrent 连接。memory的is_seq参数必须为false。如果没有定义memory,每个时间步之内的运算是独立的。 + - boot_layer:memory的初始状态,默认初始状为0,memory的is_seq参数必须为false。 + +- **双进双出**:输入和输出都是双层序列。 + - 如果有多个输入序列,不同输入含有的子句(subseq)数必须严格相等,但子句含有的词语数可以不相等。 + - 输出一个双层序列,子句(subseq)数、子句的单词数和指定的一个输入序列一致,默认为第一个输入。 + - memory:在step函数中定义memory,指向一个layer,通过引用memory得到这个layer上一个时刻的输出,形成recurrent连接。定义在外层`recurrent_group` step函数中的memory,能够记录上一个subseq 的状态,可以是一个单层序列(只作为read-only memory),也可以是一个词语。如果没有定义memory,那么 subseq 之间的运算是独立的。 + - boot_layer:memory 初始状态,可以是一个单层序列(只作为read-only memory)或一个向量。默认不设置,即初始状态为0。 + +- **双进单出**:目前还未支持,会报错"In hierachical RNN, all out links should be from sequences now"。 + + +### 生成流程的使用方法 +使用`beam_search`需要遵循以下约定: + +- 单层RNN:从一个word生成下一个word。 +- 双层RNN:即把单层RNN生成后的subseq给拼接成一个新的双层seq。从语义上看,也不存在一个subseq直接生成下一个subseq的情况。 diff --git a/release/0.10.0/doc_cn/_sources/howto/deep_model/rnn/rnn_config_cn.rst.txt b/release/0.10.0/doc_cn/_sources/howto/deep_model/rnn/rnn_config_cn.rst.txt new file mode 100644 index 0000000000..ac2bd0775f --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/howto/deep_model/rnn/rnn_config_cn.rst.txt @@ -0,0 +1,278 @@ +RNN配置 +======== + +本教程将指导你如何在 PaddlePaddle +中配置循环神经网络(RNN)。PaddlePaddle +高度支持灵活和高效的循环神经网络配置。 在本教程中,您将了解如何: + +- 准备用来学习循环神经网络的序列数据。 +- 配置循环神经网络架构。 +- 使用学习完成的循环神经网络模型生成序列。 + +我们将使用 vanilla 循环神经网络和 sequence to sequence +模型来指导你完成这些步骤。sequence to sequence +模型的代码可以在\ ``demo / seqToseq``\ 找到。 + +准备序列数据 +------------ + +PaddlePaddle +不需要对序列数据进行任何预处理,例如填充。唯一需要做的是将相应类型设置为输入。例如,以下代码段定义了三个输入。 +它们都是序列,它们的大小是\ ``src_dict``\ ,\ ``trg_dict``\ 和\ ``trg_dict``\ : + +.. code:: python + + settings.input_types = [ + integer_value_sequence(len(settings.src_dict)), + integer_value_sequence(len(settings.trg_dict)), + integer_value_sequence(len(settings.trg_dict))] + +在\ ``process``\ 函数中,每个\ ``yield``\ 函数将返回三个整数列表。每个整数列表被视为一个整数序列: + +.. code:: python + + yield src_ids, trg_ids, trg_ids_next + +有关如何编写数据提供程序的更多细节描述,请参考 :ref:`api_pydataprovider2` 。完整的数据提供文件在 +``demo/seqToseq/dataprovider.py``\ 。 + +配置循环神经网络架构 +-------------------- + +简单门控循环神经网络(Gated Recurrent Neural Network) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +循环神经网络在每个时间步骤顺序地处理序列。下面列出了 LSTM 的架构的示例。 + +.. image:: ../../../tutorials/sentiment_analysis/bi_lstm.jpg + :align: center + +一般来说,循环网络从 :math:`t=1` 到 :math:`t=T` 或者反向地从 :math:`t=T` 到 :math:`t=1` 执行以下操作。 + +.. math:: + + x_{t+1} = f_x(x_t), y_t = f_y(x_t) + +其中 :math:`f_x(.)` 称为\ **单步函数**\ (即单时间步执行的函数,step +function),而 :math:`f_y(.)` 称为\ **输出函数**\ 。在 vanilla +循环神经网络中,单步函数和输出函数都非常简单。然而,PaddlePaddle +可以通过修改这两个函数来实现复杂的网络配置。我们将使用 sequence to +sequence +模型演示如何配置复杂的循环神经网络模型。在本节中,我们将使用简单的 +vanilla +循环神经网络作为使用\ ``recurrent_group``\ 配置简单循环神经网络的例子。 +注意,如果你只需要使用简单的RNN,GRU或LSTM,那么推荐使用\ ``grumemory``\ 和\ ``lstmemory``\ ,因为它们的计算效率比\ ``recurrent_group``\ 更高。 + +对于 vanilla RNN,在每个时间步长,\ **单步函数**\ 为: + +.. math:: + + x_{t+1} = W_x x_t + W_i I_t + b + +其中 :math:`x_t` 是RNN状态,并且 :math:`I_t` 是输入,:math:`W_x` 和 +:math:`W_i` 分别是RNN状态和输入的变换矩阵。:math:`b` 是偏差。它的\ **输出函数**\ 只需要 :math:`x_t` 作为输出。 + +``recurrent_group``\ 是构建循环神经网络的最重要的工具。 +它定义了\ **单步函数**\ ,\ **输出函数**\ 和循环神经网络的输入。注意,这个函数的\ ``step``\ 参数需要实现\ ``step function``\ (单步函数)和\ ``output function``\ (输出函数): + +.. code:: python + + def simple_rnn(input, + size=None, + name=None, + reverse=False, + rnn_bias_attr=None, + act=None, + rnn_layer_attr=None): + def __rnn_step__(ipt): + out_mem = memory(name=name, size=size) + rnn_out = mixed_layer(input = [full_matrix_projection(ipt), + full_matrix_projection(out_mem)], + name = name, + bias_attr = rnn_bias_attr, + act = act, + layer_attr = rnn_layer_attr, + size = size) + return rnn_out + return recurrent_group(name='%s_recurrent_group' % name, + step=__rnn_step__, + reverse=reverse, + input=input) + +PaddlePaddle +使用“Memory”(记忆模块)实现单步函数。\ **Memory**\ 是在PaddlePaddle中构造循环神经网络时最重要的概念。 +Memory是在单步函数中循环使用的状态,例如 :math:`x_{t+1} = f_x(x_t)` 。 +一个Memory包含\ **输出**\ 和\ **输入**\ 。当前时间步处的Memory的输出作为下一时间步Memory的输入。Memory也可以具有\ **boot +layer(引导层)**\ ,其输出被用作Memory的初始值。 +在我们的例子中,门控循环单元的输出被用作输出Memory。请注意,\ ``rnn_out``\ 层的名称与\ ``out_mem``\ 的名称相同。这意味着\ ``rnn_out`` +(*x*\ \ *t* + 1)的输出被用作\ ``out_mem``\ Memory的\ **输出**\ 。 + +Memory也可以是序列。在这种情况下,在每个时间步中,我们有一个序列作为循环神经网络的状态。这在构造非常复杂的循环神经网络时是有用的。 +其他高级功能包括定义多个Memory,以及使用子序列来定义分级循环神经网络架构。 + +我们在函数的结尾返回\ ``rnn_out``\ 。 这意味着 ``rnn_out`` +层的输出被用作门控循环神经网络的\ **输出**\ 函数。 + +Sequence to Sequence Model with Attention +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +我们将使用 sequence to sequence model with attention +作为例子演示如何配置复杂的循环神经网络模型。该模型的说明如下图所示。 + +.. image:: ../../../tutorials/text_generation/encoder-decoder-attention-model.png + :align: center + +在这个模型中,源序列 :math:`S = \{s_1, \dots, s_T\}` +用双向门控循环神经网络编码。双向门控循环神经网络的隐藏状态 +:math:`H_S = \{H_1, \dots, H_T\}` 被称为 +*编码向量*\ 。解码器是门控循环神经网络。当解读每一个 :math:`y_t` 时, +这个门控循环神经网络生成一系列权重 :math:`W_S^t = \{W_1^t, \dots, W_T^t\}` , +用于计算编码向量的加权和。加权和用来生成 :math:`y_t` 。 + +模型的编码器部分如下所示。它叫做\ ``grumemory``\ 来表示门控循环神经网络。如果网络架构简单,那么推荐使用循环神经网络的方法,因为它比 +``recurrent_group`` +更快。我们已经实现了大多数常用的循环神经网络架构,可以参考 :ref:`api_trainer_config_helpers_layers` 了解更多细节。 + +我们还将编码向量投射到 ``decoder_size`` +维空间。这通过获得反向循环网络的第一个实例,并将其投射到 +``decoder_size`` 维空间完成: + +.. code:: python + + # 定义源语句的数据层 + src_word_id = data_layer(name='source_language_word', size=source_dict_dim) + # 计算每个词的词向量 + src_embedding = embedding_layer( + input=src_word_id, + size=word_vector_dim, + param_attr=ParamAttr(name='_source_language_embedding')) + # 应用前向循环神经网络 + src_forward = grumemory(input=src_embedding, size=encoder_size) + # 应用反向递归神经网络(reverse=True表示反向循环神经网络) + src_backward = grumemory(input=src_embedding, + size=encoder_size, + reverse=True) + # 将循环神经网络的前向和反向部分混合在一起 + encoded_vector = concat_layer(input=[src_forward, src_backward]) + + # 投射编码向量到 decoder_size + encoder_proj = mixed_layer(input = [full_matrix_projection(encoded_vector)], + size = decoder_size) + + # 计算反向RNN的第一个实例 + backward_first = first_seq(input=src_backward) + + # 投射反向RNN的第一个实例到 decoder size + decoder_boot = mixed_layer(input=[full_matrix_projection(backward_first)], size=decoder_size, act=TanhActivation()) + +解码器使用 ``recurrent_group`` 来定义循环神经网络。单步函数和输出函数在 +``gru_decoder_with_attention`` 中定义: + +.. code:: python + + group_inputs=[StaticInput(input=encoded_vector,is_seq=True), + StaticInput(input=encoded_proj,is_seq=True)] + trg_embedding = embedding_layer( + input=data_layer(name='target_language_word', + size=target_dict_dim), + size=word_vector_dim, + param_attr=ParamAttr(name='_target_language_embedding')) + group_inputs.append(trg_embedding) + + # 对于配备有注意力机制的解码器,在训练中, + # 目标向量(groudtruth)是数据输入, + # 而源序列的编码向量可以被无边界的memory访问 + # StaticInput 意味着不同时间步的输入都是相同的值, + # 否则它以一个序列输入,不同时间步的输入是不同的。 + # 所有输入序列应该有相同的长度。 + decoder = recurrent_group(name=decoder_group_name, + step=gru_decoder_with_attention, + input=group_inputs) + +单步函数的实现如下所示。首先,它定义解码网络的\ **Memory**\ 。然后定义 +attention,门控循环单元单步函数和输出函数: + +.. code:: python + + def gru_decoder_with_attention(enc_vec, enc_proj, current_word): + # 定义解码器的Memory + # Memory的输出定义在 gru_step 内 + # 注意 gru_step 应该与它的Memory名字相同 + decoder_mem = memory(name='gru_decoder', + size=decoder_size, + boot_layer=decoder_boot) + # 计算 attention 加权编码向量 + context = simple_attention(encoded_sequence=enc_vec, + encoded_proj=enc_proj, + decoder_state=decoder_mem) + # 混合当前词向量和attention加权编码向量 + decoder_inputs = mixed_layer(inputs = [full_matrix_projection(context), + full_matrix_projection(current_word)], + size = decoder_size * 3) + # 定义门控循环单元循环神经网络单步函数 + gru_step = gru_step_layer(name='gru_decoder', + input=decoder_inputs, + output_mem=decoder_mem, + size=decoder_size) + # 定义输出函数 + out = mixed_layer(input=[full_matrix_projection(input=gru_step)], + size=target_dict_dim, + bias_attr=True, + act=SoftmaxActivation()) + return out + +生成序列 +-------- + +训练模型后,我们可以使用它来生成序列。通常的做法是使用\ **beam search** +生成序列。以下代码片段定义 beam search 算法。注意,\ ``beam_search`` +函数假设 ``step`` 的输出函数返回的是下一个时刻输出词的 softmax +归一化概率向量。我们对模型进行了以下更改。 + +- 使用 ``GeneratedInput`` 来表示 trg\_embedding。 ``GeneratedInput`` + 将上一时间步所生成的词的向量来作为当前时间步的输入。 +- 使用 ``beam_search`` 函数。这个函数需要设置: + + - ``bos_id``: 开始标记。每个句子都以开始标记开头。 + - ``eos_id``: 结束标记。每个句子都以结束标记结尾。 + - ``beam_size``: beam search 算法中的beam大小。 + - ``max_length``: 生成序列的最大长度。 + +- 使用 ``seqtext_printer_evaluator`` + 根据索引矩阵和字典打印文本。这个函数需要设置: + + - ``id_input``: 数据的整数ID,用于标识生成的文件中的相应输出。 + - ``dict_file``: 用于将词ID转换为词的字典文件。 + - ``result_file``: 生成结果文件的路径。 + +代码如下: + +.. code:: python + + group_inputs=[StaticInput(input=encoded_vector,is_seq=True), + StaticInput(input=encoded_proj,is_seq=True)] + # 在生成时,解码器基于编码源序列和最后生成的目标词预测下一目标词。 + # 编码源序列(编码器输出)必须由只读Memory的 StaticInput 指定。 + # 这里, GeneratedInputs 自动获取上一个生成的词,并在最开始初始化为起始词,如 。 + trg_embedding = GeneratedInput( + size=target_dict_dim, + embedding_name='_target_language_embedding', + embedding_size=word_vector_dim) + group_inputs.append(trg_embedding) + beam_gen = beam_search(name=decoder_group_name, + step=gru_decoder_with_attention, + input=group_inputs, + bos_id=0, # Beginnning token. + eos_id=1, # End of sentence token. + beam_size=beam_size, + max_length=max_length) + + seqtext_printer_evaluator(input=beam_gen, + id_input=data_layer(name="sent_id", size=1), + dict_file=trg_dict_path, + result_file=gen_trans_file) + outputs(beam_gen) + +注意,这种生成技术只用于类似解码器的生成过程。如果你正在处理序列标记任务,请参阅 :ref:`semantic_role_labeling` 了解更多详细信息。 + +完整的配置文件在\ ``demo/seqToseq/seqToseq_net.py``\ 。 diff --git a/release/0.10.0/doc_cn/_sources/howto/dev/contribute_to_paddle_cn.md.txt b/release/0.10.0/doc_cn/_sources/howto/dev/contribute_to_paddle_cn.md.txt new file mode 100644 index 0000000000..775938612e --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/howto/dev/contribute_to_paddle_cn.md.txt @@ -0,0 +1,219 @@ +# 如何贡献代码 + +我们真诚地感谢您的贡献,欢迎通过 GitHub 的 fork 和 pull request 流程来提交代码。 + +## 代码要求 +- 代码注释请遵守 [Doxygen](http://www.stack.nl/~dimitri/doxygen/) 的样式。 +- 确保编译器选项 `WITH_STYLE_CHECK` 已打开,并且编译能通过代码样式检查。 +- 所有代码必须具有单元测试。 +- 通过所有单元测试。 + +以下教程将指导您提交代码。 +## [Fork](https://help.github.com/articles/fork-a-repo/) + +跳转到[PaddlePaddle](https://github.com/PaddlePaddle/Paddle) GitHub首页,然后单击 `Fork` 按钮,生成自己目录下的仓库,比如 。 + +## 克隆(Clone) + +将远程仓库 clone 到本地: + +```bash +➜ git clone https://github.com/USERNAME/Paddle +➜ cd Paddle +``` + + +## 创建本地分支 + +Paddle 目前使用[Git流分支模型](http://nvie.com/posts/a-successful-git-branching-model/)进行开发,测试,发行和维护,具体请参考 [Paddle 分支规范](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/design/releasing_process.md#paddle-分支规范)。 + +所有的 feature 和 bug fix 的开发工作都应该在一个新的分支上完成,一般从 `develop` 分支上创建新分支。 + +使用 `git checkout -b` 创建并切换到新分支。 + +```bash +➜ git checkout -b my-cool-stuff +``` + +值得注意的是,在 checkout 之前,需要保持当前分支目录 clean,否则会把 untracked 的文件也带到新分支上,这可以通过 `git status` 查看。 + +## 使用 `pre-commit` 钩子 + +Paddle 开发人员使用 [pre-commit](http://pre-commit.com/) 工具来管理 Git 预提交钩子。 它可以帮助我们格式化源代码(C++,Python),在提交(commit)前自动检查一些基本事宜(如每个文件只有一个 EOL,Git 中不要添加大文件等)。 + +`pre-commit`测试是 Travis-CI 中单元测试的一部分,不满足钩子的 PR 不能被提交到 Paddle,首先安装并在当前目录运行它: + +```bash +➜ pip install pre-commit +➜ pre-commit install +``` + +Paddle 使用 `clang-format` 来调整 C/C++ 源代码格式,请确保 `clang-format` 版本在 3.8 以上。 + +## 开始开发 + +在本例中,我删除了 README.md 中的一行,并创建了一个新文件。 + +通过 `git status` 查看当前状态,这会提示当前目录的一些变化,同时也可以通过 `git diff` 查看文件具体被修改的内容。 + +```bash +➜ git status +On branch test +Changes not staged for commit: + (use "git add ..." to update what will be committed) + (use "git checkout -- ..." to discard changes in working directory) + + modified: README.md + +Untracked files: + (use "git add ..." to include in what will be committed) + + test + +no changes added to commit (use "git add" and/or "git commit -a") +``` + +## 构建和测试 + +编译 PaddlePaddle 的源码以及生成文档需要多种开发工具。为了方便大家,我们的标准开发流程是把这些工具都装进一个Docker image,称为*开发镜像*,通常名字是 `paddle:dev`。然后所有用 `cmake && make` 的地方(比如IDE配置里)都用 `docker run paddle:dev`来代替。 + +如要build这个开发镜像,在源码目录树的根目录中运行: + +```bash +➜ docker build -t paddle:dev . +``` + +随后可以用这个开发镜像开build PaddlePaddle的源码。比如如果要build一个不依赖GPU,但是支持AVX指令集,并且包括unit tests的PaddlePaddle,可以: + +```bash +➜ docker run -v $(pwd):/paddle -e "WITH_GPU=OFF" -e "WITH_AVX=ON" -e "WITH_TEST=ON" paddle:dev +``` + +这个过程除了编译PaddlePaddle为 `./build/libpaddle.so`,并且输出一个 `./build/paddle.deb`文件之外,还会输出一个 `build/Dockerfile`。我们只需要运行下面命令把编译好的PaddlePaddle打包成一个*生产镜像*(`paddle:prod`): + +```bash +➜ docker build -t paddle:prod -f build/Dockerfile . +``` + +如果要运行所有的单元测试,可以用如下命令: + +```bash +➜ docker run -it -v $(pwd):/paddle paddle:dev bash -c "cd /paddle/build && ctest" +``` + +关于构建和测试的更多信息,请参见[这篇文档](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/getstarted/build_and_install/docker_install_cn.rst)。 + +## 提交(commit) + +接下来我们取消对 README.md 文件的改变,然后提交新添加的 test 文件。 + +```bash +➜ git checkout -- README.md +➜ git status +On branch test +Untracked files: + (use "git add ..." to include in what will be committed) + + test + +nothing added to commit but untracked files present (use "git add" to track) +➜ git add test +``` + +Git 每次提交代码,都需要写提交说明,这可以让其他人知道这次提交做了哪些改变,这可以通过`git commit` 完成。 + +```bash +➜ git commit +CRLF end-lines remover...............................(no files to check)Skipped +yapf.................................................(no files to check)Skipped +Check for added large files..............................................Passed +Check for merge conflicts................................................Passed +Check for broken symlinks................................................Passed +Detect Private Key...................................(no files to check)Skipped +Fix End of Files.....................................(no files to check)Skipped +clang-formater.......................................(no files to check)Skipped +[my-cool-stuff c703c041] add test file + 1 file changed, 0 insertions(+), 0 deletions(-) + create mode 100644 233 +``` + +## 保持本地仓库最新 + +在准备发起 Pull Request 之前,需要同步原仓库()最新的代码。 + +首先通过 `git remote` 查看当前远程仓库的名字。 + +```bash +➜ git remote +origin +➜ git remote -v +origin https://github.com/USERNAME/Paddle (fetch) +origin https://github.com/USERNAME/Paddle (push) +``` + +这里 origin 是我们 clone 的远程仓库的名字,也就是自己用户名下的 Paddle,接下来我们创建一个原始 Paddle 仓库的远程主机,命名为 upstream。 + +```bash +➜ git remote add upstream https://github.com/PaddlePaddle/Paddle +➜ git remote +origin +upstream +``` + +获取 upstream 的最新代码并更新当前分支。 + +```bash +➜ git fetch upstream +➜ git pull upstream develop +``` + +## Push 到远程仓库 + +将本地的修改推送到 GitHub 上,也就是 https://github.com/USERNAME/Paddle。 + +```bash +# 推送到远程仓库 origin 的 my-cool-stuff 分支上 +➜ git push origin my-cool-stuff +``` + +## 建立 Issue 并完成 Pull Request + +建立一个 Issue 描述问题,并记录它的编号。 + +切换到所建分支,然后点击 `New pull request`。 + +screen shot 2017-04-26 at 9 09 28 pm + +选择目标分支: + +screen shot 2017-04-26 at 9 11 52 pm + +在 PR 的描述说明中,填写 `resolve #Issue编号` 可以在这个 PR 被 merge 后,自动关闭对应的 Issue,具体请见 。 + +接下来等待 review,如果有需要修改的地方,参照上述步骤更新 origin 中的对应分支即可。 + +## 删除远程分支 + +在 PR 被 merge 进主仓库后,我们可以在 PR 的页面删除远程仓库的分支。 + +screen shot 2017-04-26 at 9 18 24 pm + +也可以使用 `git push origin :分支名` 删除远程分支,如: + +```bash +➜ git push origin :my-cool-stuff +``` + +## 删除本地分支 + +最后,删除本地分支。 + +```bash +# 切换到 develop 分支 +➜ git checkout develop + +# 删除 my-cool-stuff 分支 +➜ git branch -D my-cool-stuff +``` + +至此,我们就完成了一次代码贡献的过程。 diff --git a/release/0.10.0/doc_cn/_sources/howto/dev/new_layer_cn.rst.txt b/release/0.10.0/doc_cn/_sources/howto/dev/new_layer_cn.rst.txt new file mode 100644 index 0000000000..9489a921c7 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/howto/dev/new_layer_cn.rst.txt @@ -0,0 +1,389 @@ +================ +实现新的网络层 +================ + +这份教程展示了如何在PaddlePaddle中实现一个自定义的网络层。在这里我们使用全连接层作为例子来展示实现新网络层所需要的四个步骤。 + +1. 推导该层前向和后向传递的方程。 +2. 实现该层的C++类。 +3. 增加梯度检测的单元测试,以保证梯度的正确计算。 +4. 封装该层的Python接口。 + +推导方程 +================ + +首先我们需要推导该网络层的*前向传播*和*后向传播*的方程。前向传播给定输入,计算输出。后向传播给定输出的梯度,计算输入和参数的梯度。 + +下图是一个全连接层的示意图。在全连接层中,每个输出节点都连接到所有的输入节点上。 + +.. image:: FullyConnected.jpg + :align: center + :scale: 60 % + +一个网络层的前向传播部分把输入转化为相应的输出。 +全连接层以一个维度为 :math:`D_i` 的稠密向量作为输入,使用一个尺度为 :math:`D_i \times D_o` 的变换矩阵 :math:`W` 把 :math:`x` 映射到一个维度为 :math:`D_o` 的向量,并在乘积结果上再加上维度为 :math:`D_o` 的偏置向量 :math:`b` 。 + +.. math:: + + y = f(W^T x + b) + +其中 :math:`f(.)` 是一个非线性的*激活方程*,例如sigmoid, tanh,以及Relu。 + +变换矩阵 :math:`W` 和偏置向量 :math:`b` 是该网络层的*参数*。一个网络层的参数是在*反向传播*时被训练的。反向传播根据输出的梯度,分别计算每个参数的梯度,以及输入的梯度。优化器则用链式法则来对每个参数计算损失函数的梯度。 + +假设损失函数是 :math:`c(y)` ,那么 + +.. math:: + + \frac{\partial c(y)}{\partial x} = \frac{\partial c(y)}{\partial y} \frac{\partial y}{\partial x} + +假设 :math:`z = f(W^T x + b)` ,那么 + +.. math:: + + \frac{\partial y}{\partial z} = \frac{\partial f(z)}{\partial z} + +PaddlePaddle的base layer类可以自动计算上面的导数。 + +因此,对全连接层来说,我们需要计算: + +.. math:: + + \frac{\partial z}{\partial x} = W, \frac{\partial z_j}{\partial W_{ij}} = x_i, \frac{\partial z}{\partial b} = \mathbf 1 + +其中 :math:`\mathbf 1` 是一个全1的向量, :math:`W_{ij}` 是矩阵 :math:`W` 第i行第j列的数值, :math:`z_j` 是向量 :math:`z` 的第j个值, :math:`x_i` 是向量 :math:`x` 的第i个值。 + +最后我们使用链式法则计算 :math:`\frac{\partial z}{\partial x}` 以及 :math:`\frac{\partial z}{\partial W}` 。计算的细节将在下面的小节给出。 + +实现C++类 +=================== + +一个网络层的C++类需要实现初始化,前向和后向。全连接层的实现位于:code:`paddle/gserver/layers/FullyConnectedLayer.h`及:code:`paddle/gserver/layers/FullyConnectedLayer.cpp`。这里我们展示一份简化过的代码。 + +这个类需要继承 :code:`paddle::Layer` 这个基类,并且需要重写基类中的以下几个虚函数: + +- 类的构造函数和析构函数。 +- :code:`init` 函数。用于初始化参数和设置。 +- :code:`forward` 。实现网络层的前向传播。 +- :code:`backward` 。实现网络层的后向传播。 +- :code:`prefetch` 。用来从参数服务器预取参数矩阵相应的行。如果网络层不需要远程稀疏更新,则不需要重写该函数。(大多数网络层不需要支持远程稀疏更新) + + +头文件如下: + +.. code-block:: c++ + + namespace paddle { + /** + * 全连接层的每个输出都连接到上一层的所有的神经元上。 + * 它的输入与经过学习的参数做内积并加上偏置(可选)。 + * + * 配置文件接口是fc_layer。 + */ + + class FullyConnectedLayer : public Layer { + protected: + WeightList weights_; + std::unique_ptr biases_; + + public: + explicit FullyConnectedLayer(const LayerConfig& config) + : Layer(config) {} + ~FullyConnectedLayer() {} + + bool init(const LayerMap& layerMap, const ParameterMap& parameterMap); + + Weight& getWeight(int idx) { return *weights_[idx]; } + + void prefetch(); + void forward(PassType passType); + void backward(const UpdateCallback& callback = nullptr); + }; + } // namespace paddle + +头文件中把参数定义为类的成员变量。我们使用 :code:`Weight` 类作为参数的抽象,它支持多线程更新。该类的实现细节在“实现细节”中详细介绍。 + +- :code:`weights_` 是存有一系列变换矩阵的权重。在当前的实现方式下,网络层可以有多个输入。因此,它可能有不止一个权重。每个权重对应一个输入。 +- :code:`biases_` 是存有偏置向量的权重。 + +全连接层没有网络层配置的超参数。如果一个网络层需要配置的话,通常的做法是将配置存于 :code:`LayerConfig& config` 中,并在类构建函数中把它放入一个类成员变量里。 + +下面的代码片段实现了 :code:`init` 函数。 + +- 首先,所有的 :code:`init` 函数必须先调用基类中的函数 :code:`Layer::init(layerMap, parameterMap);` 。该语句会为每个层初始化其所需要的变量和连接。 +- 之后初始化所有的权重矩阵 :math:`W` 。当前的实现方式下,网络层可以有多个输入。因此,它可能有不止一个权重。 +- 最后,初始化偏置向量。 + + +.. code-block:: c++ + + bool FullyConnectedLayer::init(const LayerMap& layerMap, + const ParameterMap& parameterMap) { + /* 初始化父类 */ + Layer::init(layerMap, parameterMap); + + /* 初始化权重表 */ + CHECK(inputLayers_.size() == parameters_.size()); + for (size_t i = 0; i < inputLayers_.size(); i++) { + // 获得参数尺寸 + size_t height = inputLayers_[i]->getSize(); + size_t width = getSize(); + + // 新建一个权重 + if (parameters_[i]->isSparse()) { + CHECK_LE(parameters_[i]->getSize(), width * height); + } else { + CHECK_EQ(parameters_[i]->getSize(), width * height); + } + Weight* w = new Weight(height, width, parameters_[i]); + + // 将新建的权重加入权重表 + weights_.emplace_back(w); + } + + /* 初始化biases_ */ + if (biasParameter_.get() != NULL) { + biases_ = std::unique_ptr(new Weight(1, getSize(), biasParameter_)); + } + + return true; + } + +实现前向传播的部分有下面几个步骤。 + +- 每个层在其 :code:`forward` 函数的开头必须调用 :code:`Layer::forward(passType);` 。 +- 之后使用 :code:`reserveOutput(batchSize, size);` 为输出分配内存。由于我们支持训练数据有不同的批次大小,所以这一步是必要的。 :code:`reserveOutput` 会相应地改变输出的尺寸。为了保证效率,如果需要扩大矩阵,我们会重新分配内存;如果需要缩减矩阵,我们会继续使用现有的内存块。 +- 之后使用矩阵运算函数来计算 :math:`\sum_i W_i x + b`。:code:`getInput(i).value` 返回第i个输入矩阵。每个输入都是一个 :math:`batchSize \times dim` 的矩阵,每行表示一个批次中的单个输入。对于我们支持的全部矩阵操作,请参考 :code:`paddle/math/Matrix.h`和:code:`paddle/math/BaseMatrix.h` 。 +- 最终,使用 :code:`forwardActivation();` 进行激活操作。这会自动进行网络配置中声明的激活操作。 + + +.. code-block:: c++ + + void FullyConnectedLayer::forward(PassType passType) { + Layer::forward(passType); + + /* 若有必要,为output_申请内存 */ + int batchSize = getInput(0).getBatchSize(); + int size = getSize(); + + { + // 设置输出的尺寸 + reserveOutput(batchSize, size); + } + + MatrixPtr outV = getOutputValue(); + + // 对每个输入乘上变换矩阵 + for (size_t i = 0; i != inputLayers_.size(); ++i) { + auto input = getInput(i); + CHECK(input.value) << "The input of 'fc' layer must be matrix"; + i == 0 ? outV->mul(input.value, weights_[i]->getW(), 1, 0) + : outV->mul(input.value, weights_[i]->getW(), 1, 1); + } + + /* 加上偏置向量 */ + if (biases_.get() != NULL) { + outV->addBias(*(biases_->getW()), 1); + } + + /* 激活 */ { + forwardActivation(); + } + } + +实现后向传播的部分有下面几个步骤。 + +- :code:`backwardActivation()` 计算激活函数的梯度。通过 :code:`getOutputGrad()` 来获得输出的梯度,调用该函数后,梯度会就地(不使用额外空间)乘上输出的梯度。 +- 计算偏置的梯度。注意,我们使用 :code:`biases_->getWGrad()` 来得到某个特定参数的梯度矩阵。在一个参数的梯度被更新后,**必须**要调用 :code:`getParameterPtr()->incUpdate(callback);` 。这用于在多线程和多机上更新参数。 +- 最后,计算转换矩阵和输入的梯度,并对相应的参数调用 :code:`incUpdate` 。PaddlePaddle可以通过该机制判断是否已经收集齐所有的梯度,从而可以做一些与计算重叠的工作(例如,网络通信)。 + + +.. code-block:: c++ + + void FullyConnectedLayer::backward(const UpdateCallback& callback) { + /* 对激活求导 */ { + backwardActivation(); + } + + if (biases_ && biases_->getWGrad()) { + biases_->getWGrad()->collectBias(*getOutputGrad(), 1); + + biases_->getParameterPtr()->incUpdate(callback); + } + + bool syncFlag = hl_get_sync_flag(); + + for (size_t i = 0; i != inputLayers_.size(); ++i) { + /* 计算当前层权重的梯度 */ + if (weights_[i]->getWGrad()) { + MatrixPtr input_T = getInputValue(i)->getTranspose(); + MatrixPtr oGrad = getOutputGrad(); + { + weights_[i]->getWGrad()->mul(input_T, oGrad, 1, 1); + } + } + + + /* 计算输入层的偏差 */ + MatrixPtr preGrad = getInputGrad(i); + if (NULL != preGrad) { + MatrixPtr weights_T = weights_[i]->getW()->getTranspose(); + preGrad->mul(getOutputGrad(), weights_T, 1, 1); + } + + { + weights_[i]->getParameterPtr()->incUpdate(callback); + } + } + } + + :code:`prefetch` 函数指出了在训练时需要从参数服务器取出的行。仅在远程稀疏训练时有效。使用远程稀疏方式训练时,完整的参数矩阵被分布在不同的参数服务器上。当网络层用一个批次做训练时,该批次的输入中仅有一个子集是非零的。因此,该层仅需要这些非零样本位置所对应的变换矩阵的那些行。 :code:`prefetch` 表明了这些行的标号。 + +大多数层不需要远程稀疏训练函数。这种情况下不需要重写该函数。 + +.. code-block:: c++ + + void FullyConnectedLayer::prefetch() { + for (size_t i = 0; i != inputLayers_.size(); ++i) { + auto* sparseParam = + dynamic_cast(weights_[i]->getW().get()); + if (sparseParam) { + MatrixPtr input = getInputValue(i); + sparseParam->addRows(input); + } + } + } + +最后,使用 :code:`REGISTER_LAYER(fc, FullyConnectedLayer);` 来注册该层。 :code:`fc` 是该层的标识符, :code:`FullyConnectedLayer` 是该层的类名。 + +.. code-block:: c++ + + namespace paddle { + REGISTER_LAYER(fc, FullyConnectedLayer); + } + +若 :code:`cpp` 被放在 :code:`paddle/gserver/layers` 目录下,其会自动被加入编译列表。 + + +写梯度检查单元测试 +=============================== + +写梯度检查单元测试是一个验证新实现的层是否正确的相对简单的办法。梯度检查单元测试通过有限差分法来验证一个层的梯度。首先对输入做一个小的扰动 :math:`\Delta x` ,然后观察到输出的变化为 :math:`\Delta y` ,那么,梯度就可以通过这个方程计算得到 :math:`\frac{\Delta y}{\Delta x }` 。之后,再用这个梯度去和 :code:`backward` 函数得到的梯度去对比,以保证梯度计算的正确性。需要注意的是梯度检查仅仅验证了梯度的计算,并不保证 :code:`forward` 和 :code:`backward` 函数的实现是正确的。你需要一些更复杂的单元测试来保证你实现的网络层是正确的。 + +所有网络层的梯度检查单测都位于 :code:`paddle/gserver/tests/test_LayerGrad.cpp` 。我们建议你在写新网络层时把测试代码放入新的文件中。下面列出了全连接层的梯度检查单元测试。它包含以下几步: + ++ 生成网络层配置。网络层配置包含以下几项: + - 偏置参数的大小。(例子中是4096) + - 层的类型。(例子中是fc) + - 层的大小。(例子中是4096) + - 激活的类型。(例子中是softmax) + - dropout的比例。(例子中是0.1) ++ 配置网络层的输入。在这个例子里,我们仅有一个输入。 + - 输入的类型( :code:`INPUT_DATA` ),可以是以下几种: + - :code:`INPUT_DATA` :稠密向量。 + - :code:`INPUT_LABEL` :整数。 + - :code:`INPUT_DATA_TARGET` :稠密向量,但不用于计算梯度。 + - :code:`INPUT_SEQUENCE_DATA` :含有序列信息的稠密向量。 + - :code:`INPUT_HASSUB_SEQUENCE_DATA` :含有序列信息和子序列信息的稠密向量。 + - :code:`INPUT_SEQUENCE_LABEL` :含有序列信息的整数。 + - :code:`INPUT_SPARSE_NON_VALUE_DATA` :0-1稀疏数据。 + - :code:`INPUT_SPARSE_FLOAT_VALUE_DATA` :浮点稀疏数据。 + - 输入的名字。(例子中是 :code:`layer_0` ) + - 输入的大小。(例子中是8192) + - 非零数字的个数,仅对稀疏数据有效。 + - 稀疏数据的格式,仅对稀疏数据有效。 ++ 对每个输入,都需要调用一次 :code:`config.layerConfig.add_inputs();` 。 ++ 调用 :code:`testLayerGrad` 来做梯度检查。它包含以下参数。 + - 层和输入的配置。(例子中是 :code:`config` ) + - 网络层的类型。(例子中是 :code:`fc` ) + - 梯度检查的输入数据的批次大小。(例子中是100) + - 输入是否是转置的。大多数层需要设置为 :code:`false` 。(例子中是 :code:`false` ) + - 是否使用权重。有些层或者激活需要做归一化以保证它们的输出的和是一个常数。例如,softmax激活的输出的和总是1。在这种情况下,我们不能通过常规的梯度检查的方式来计算梯度。因此我们采用输出的加权和(非常数)来计算梯度。(例子中是 :code:`true` ,因为全连接层的激活可以是softmax) + +.. code-block:: c++ + + void testFcLayer(string format, size_t nnz) { + // Create layer configuration. + TestConfig config; + config.biasSize = 4096; + config.layerConfig.set_type("fc"); + config.layerConfig.set_size(4096); + config.layerConfig.set_active_type("softmax"); + config.layerConfig.set_drop_rate(0.1); + // Setup inputs. + config.inputDefs.push_back( + {INPUT_DATA, "layer_0", 8192, nnz, ParaSparse(format)}); + config.layerConfig.add_inputs(); + LOG(INFO) << config.inputDefs[0].sparse.sparse << " " + << config.inputDefs[0].sparse.format; + for (auto useGpu : {false, true}) { + testLayerGrad(config, "fc", 100, /* trans */ false, useGpu, + /* weight */ true); + } + } + +如果你要为了测试而增加新的文件,例如 :code:`paddle/gserver/tests/testFCGrad.cpp` ,你需要把该文件加入 :code:`paddle/gserver/tests/CMakeLists.txt` 中。下面给出了一个例子。当你执行命令 :code:`make tests` 时,所有的单测都会被执行一次。注意,有些层可能需要高精度来保证梯度检查单测正确执行。你需要在配置cmake时将 :code:`WITH_DOUBLE` 设置为 `ON` 。 + +.. code-block:: bash + + add_unittest_without_exec(test_FCGrad + test_FCGrad.cpp + LayerGradUtil.cpp + TestUtil.cpp) + + add_test(NAME test_FCGrad + COMMAND test_FCGrad) + + +实现python封装 +======================== + +python封装的实现使得我们可以在配置文件中使用新实现的网络层。所有的python封装都在 :code:`python/paddle/trainer/config_parser.py` 中。全连接层python封装的例子中包含下面几步: + +- 所有的Python封装都使用 :code:`@config_layer('fc')` 这样的装饰器。网络层的标识符为 :code:`fc` 。 +- 实现构造函数 :code:`__init__` 。 + - 它首先调用基构造函数 :code:`super(FCLayer, self).__init__(name, 'fc', size, inputs=inputs, **xargs)` 。 :code:`FCLayer` 是Python封装的类名。 :code:`fc` 是网络层的标识符。为了封装能够正确工作,这些名字必须要写对。 + - 之后,计算变换矩阵的大小和格式(是否稀疏)。 + +.. code-block:: python + + @config_layer('fc') + class FCLayer(LayerBase): + def __init__( + self, + name, + size, + inputs, + bias=True, + **xargs): + super(FCLayer, self).__init__(name, 'fc', size, inputs=inputs, **xargs) + for input_index in xrange(len(self.inputs)): + input_layer = self.get_input_layer(input_index) + psize = self.config.size * input_layer.size + dims = [input_layer.size, self.config.size] + format = self.inputs[input_index].format + sparse = format == "csr" or format == "csc" + if sparse: + psize = self.inputs[input_index].nnz + self.create_input_parameter(input_index, psize, dims, sparse, format) + self.create_bias_parameter(bias, self.config.size) + +在网络配置中,网络层的细节可以通过下面这些代码片段来指定。这个类的参数包括: + +- :code:`name` 是网络层实例的名字标识符。 +- :code:`type` 是网络层的类型,通过网络层的标识符来指定。 +- :code:`size` 是网络层输出的大小。 +- :code:`bias` 表明这个层的一个实例是否需要偏置。 +- :code:`inputs` 说明这个层的输入,输入是由一个list中的网络层实例的名字组成的。 + +.. code-block:: python + + Layer( + name = "fc1", + type = "fc", + size = 64, + bias = True, + inputs = [Input("pool3")] + ) + +我们建议你为你的Python封装实现一个“助手”,使得搭模型时更方便。具体可以参考 :code:`python/paddle/trainer_config_helpers/layers.py` 。 diff --git a/release/0.10.0/doc_cn/_sources/howto/dev/write_docs_cn.rst.txt b/release/0.10.0/doc_cn/_sources/howto/dev/write_docs_cn.rst.txt new file mode 100644 index 0000000000..5051a89230 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/howto/dev/write_docs_cn.rst.txt @@ -0,0 +1,54 @@ +################## +如何贡献/修改文档 +################## + +PaddlePaddle的文档包括英文文档 ``doc`` 和中文文档 ``doc_cn`` 两个部分。文档都是通过 `cmake`_ 驱动 `sphinx`_ 编译生成,生成后的文档分别存储在编译目录的 ``doc`` 和 ``doc_cn`` 两个子目录下。 + + +如何构建PaddlePaddle的文档 +========================== + +PaddlePaddle的文档构建有直接构建和基于Docker构建两种方式。构建PaddlePaddle文档需要准备的环境相对较复杂,所以我们推荐使用基于Docker来构建PaddlePaddle的文档。 + + +使用Docker构建PaddlePaddle的文档 +-------------------------------- + +使用Docker构建PaddlePaddle的文档,需要在系统里先安装好Docker工具包。Docker安装请参考 `Docker的官网 `_ 。安装好Docker之后可以使用源码目录下的脚本构建文档,即 + +.. code-block:: bash + + cd TO_YOUR_PADDLE_CLONE_PATH + cd paddle/scripts/tools/build_docs + bash build_docs.sh + +编译完成后,该目录下会生成如下两个子目录\: + +* doc 英文文档目录 +* doc_cn 中文文档目录 + +打开浏览器访问对应目录下的index.html即可访问本地文档。 + +.. code-block:: bash + + open doc_cn/index.html + + +直接构建PaddlePaddle的文档 +-------------------------- + +TBD + +如何书写PaddlePaddle的文档 +========================== + +TBD + +如何更新www.paddlepaddle.org文档 +================================ + +TBD + + +.. _cmake: https://cmake.org/ +.. _sphinx: http://www.sphinx-doc.org/en/1.4.8/ diff --git a/release/0.10.0/doc_cn/_sources/howto/index_cn.rst.txt b/release/0.10.0/doc_cn/_sources/howto/index_cn.rst.txt new file mode 100644 index 0000000000..26449a6365 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/howto/index_cn.rst.txt @@ -0,0 +1,39 @@ +进阶指南 +======== + +使用说明 +-------- + +.. toctree:: + :maxdepth: 1 + + usage/cmd_parameter/index_cn.rst + usage/cluster/cluster_train_cn.md + usage/k8s/k8s_basis_cn.md + usage/k8s/k8s_cn.md + usage/k8s/k8s_distributed_cn.md + +开发标准 +-------- + +.. toctree:: + :maxdepth: 1 + + dev/write_docs_cn.rst + dev/contribute_to_paddle_cn.md + +模型配置 +-------- + +.. toctree:: + :maxdepth: 1 + + deep_model/rnn/index_cn.rst + +性能优化 +-------- + +.. toctree:: + :maxdepth: 1 + + optimization/gpu_profiling_cn.rst diff --git a/release/0.10.0/doc_cn/_sources/howto/optimization/gpu_profiling_cn.rst.txt b/release/0.10.0/doc_cn/_sources/howto/optimization/gpu_profiling_cn.rst.txt new file mode 100644 index 0000000000..e2b0b0396e --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/howto/optimization/gpu_profiling_cn.rst.txt @@ -0,0 +1,242 @@ +================== +GPU性能分析与调优 +================== + +.. contents:: + +此教程将向您分步介绍如何使用内置的定时工具、 **nvprof** 或 **nvvp** 来运行性能分析和调优。 + +- 什么是性能分析? +- 为什么需要性能分析? +- 如何进行性能分析? +- 性能分析工具介绍 +- 详细教程 +- 性能分析小技巧 + +什么是性能分析? +================ +在软件工程的范畴里,性能分析(Profiling)是一个动态程序分析的术语,它可以指测量一个程序的空间(内存)复杂度或时间复杂度, +也可以说是某些特定指令的使用情况,或者是函数调用的频率和耗时等。通常情况下,分析得到的信息用于协助进行程序的优化。 + +简单来说,性能分析工具是用于给应用程序的性能做定量分析的。如果想很好的理解程序的行为,那程序分析工具是必不可少的利器。简单的性能分析,可以告诉您某个操作到底花了多长时间?而更深入的分析,甚至能解释为什么某个操作花了很长时间? + +为什么需要性能分析? +============================ +训练好一个深层神经网络通常要耗费非常长的时间,所以性能也就逐步变成了深度学习领域最重要的指标。 +而优化性能的首要任务,是需要了解哪些步骤拖慢了整体。 +如果某一块根本就不怎么耗时,那也就不需要急着优化性能啦! + +如何进行性能分析? +======================== +为了达到性能最优,您可以采用下面五个步骤: + +- 对代码进行性能分析 +- 找到运行慢的部分 +- 找到运行慢的原因 +- 修改成更快的版本 +- 再次对代码进行性能分析 + +Usually, processor has two key performance limits include float point throughput and +memory throughput. For GPU, it also need more parallelism to fulfill its potential. +This is why they can be so fast. + +通常情况下,处理器有两个关键性能限制:一个是浮点计算量,另一个是内存操作量。 +GPU则还需要高并行性,才能发挥其全部能力。这正是它们速度快的原因。 + +性能分析工具介绍 +====================== +就通常的GPU性能分析来说,市面上已经有NVIDIA或第三方提供的众多工具。 + +**nvprof** 是Nvidia性能分析工具, **nvvp** 则是带GUI的Nvidia可视化性能分析工具。 +在这个教程中,我们主要会介绍nvprof和nvvp。 + +:code:`test_GpuProfiler` from :code:`paddle/math/tests` directory will be used to evaluate +above profilers. + +:code:`paddle/math/test` 目录中的 :code:`test_GpuProfiler` 就是用于展示上述分析工具的用法。 + +.. literalinclude:: ../../../paddle/math/tests/test_GpuProfiler.cpp + :language: c++ + :lines: 137-151 + :linenos: + +上述的代码片段包含了两种方法,您可以任意使用一个或两个来对感兴趣的代码段做性能分析。 + +1. :code:`REGISTER_TIMER_INFO` 是一个内置的定时器封装,可以用来计算CPU函数或cuda内核的时间消耗。 + +2. :code:`REGISTER_GPU_PROFILER` is a general purpose wrapper object of :code:`cudaProfilerStart` and :code:`cudaProfilerStop` to avoid +program crashes when CPU version of PaddlePaddle invokes them. + +3. :code:`REGISTER_GPU_PROFILER` 是一个封装对象,封装了 :code:`cudaProfilerStart` 和 :code:`cudaProfileStop` 两个操作;同时其内部实现可以避免纯CPU版本PaddlePaddle在执行本语句时发生崩溃。 + +您会在接下来的部分中获得更多的细节介绍。 + +详细教程 +============ + +内置定时器 +------------ + +如果想要启用PaddlePaddle的内置定时器,您首先需要在相关代码段中加入 :code:`REGISTER_TIMER_INFO`。 +接下来就可以使用 :code:`printStatus` 或者 :code:`printAllStatus` 函数来将信息输出到界面中。 +下面举个简单的例子: + +1. 加入 :code:`REGISTER_TIMER_INFO` 和 :code:`printAllStatus` 函数(如高亮部分)。 + + .. literalinclude:: ../../../paddle/math/tests/test_GpuProfiler.cpp + :language: c++ + :lines: 137-151 + :emphasize-lines: 8-12,14 + :linenos: + +2. cmake配置中将 **WITH_TIMER** 打开,重新编译PaddlePaddle。 + + .. code-block:: bash + + cmake .. -DWITH_TIMER=ON + make + +3. 执行您的代码,并观察结果(如高亮部分)。 + + .. code-block:: bash + :emphasize-lines: 1,12-15 + + > ./paddle/math/tests/test_GpuProfiler + I1117 11:13:42.313065 2522362816 Util.cpp:155] commandline: ./paddle/math/tests/test_GpuProfiler + I1117 11:13:42.845065 2522362816 Util.cpp:130] Calling runInitFunctions + I1117 11:13:42.845208 2522362816 Util.cpp:143] Call runInitFunctions done. + [==========] Running 1 test from 1 test case. + [----------] Global test environment set-up. + [----------] 1 test from Profiler + [ RUN ] Profiler.BilinearFwdBwd + I1117 11:13:42.845310 2522362816 test_GpuProfiler.cpp:114] Enable GPU Profiler Stat: [testBilinearFwdBwd] "numSamples = 10, channels = 16, im + gSizeX = 64, imgSizeY = 64" + I1117 11:13:42.850154 2522362816 ThreadLocal.cpp:37] thread use undeterministic rand seed:20659751 + I1117 11:13:42.981501 2522362816 Stat.cpp:130] ======= StatSet: [GlobalStatInfo] status ====== + I1117 11:13:42.981539 2522362816 Stat.cpp:133] Stat=testBilinearFwdBwd total=136.141 avg=136.141 max=136.141 min=136.141 count=1 + I1117 11:13:42.981572 2522362816 Stat.cpp:141] ======= BarrierStatSet status ====== + I1117 11:13:42.981575 2522362816 Stat.cpp:154] -------------------------------------------------- + [ OK ] Profiler.BilinearFwdBwd (136 ms) + [----------] 1 test from Profiler (136 ms total) + + [----------] Global test environment tear-down + [==========] 1 test from 1 test case ran. (136 ms total) + [ PASSED ] 1 test. + +nvprof 工具 +---------------- + +要使用命令行分析工具 **nvprof**,您按如下步骤操作即可: + +1. 将 :code:`REGISTER_GPU_PROFILER` 函数加到代码中(参考强调部分)。 + + .. literalinclude:: ../../../paddle/math/tests/test_GpuProfiler.cpp + :language: c++ + :lines: 137-151 + :emphasize-lines: 6-7 + :linenos: + +2. cmake中将 **WITH_PROFILER** 配置打开,重新编译PaddlePaddle。 + + .. code-block:: bash + + cmake .. -DWITH_PROFILER=ON + make + +3. 使用 **nvprof** 来分析执行文件。 + + .. code-block:: bash + + nvprof ./paddle/math/tests/test_GpuProfiler + +然后,您就能获得如下的分析结果: + +.. code-block:: bash + + ==78544== Profiling application: ./paddle/math/tests/test_GpuProfiler + ==78544== Profiling result: + Time(%) Time Calls Avg Min Max Name + 27.60% 9.6305ms 5 1.9261ms 3.4560us 6.4035ms [CUDA memcpy HtoD] + 26.07% 9.0957ms 1 9.0957ms 9.0957ms 9.0957ms KeBilinearInterpBw + 23.78% 8.2977ms 1 8.2977ms 8.2977ms 8.2977ms KeBilinearInterpFw + 22.55% 7.8661ms 2 3.9330ms 1.5798ms 6.2863ms [CUDA memcpy DtoH] + + ==78544== API calls: + Time(%) Time Calls Avg Min Max Name + 46.85% 682.28ms 8 85.285ms 12.639us 682.03ms cudaStreamCreateWithFlags + 39.83% 580.00ms 4 145.00ms 302ns 550.27ms cudaFree + 9.82% 143.03ms 9 15.892ms 8.7090us 142.78ms cudaStreamCreate + 1.23% 17.983ms 7 2.5690ms 23.210us 6.4563ms cudaMemcpy + 1.23% 17.849ms 2 8.9247ms 8.4726ms 9.3768ms cudaStreamSynchronize + 0.66% 9.5969ms 7 1.3710ms 288.43us 2.4279ms cudaHostAlloc + 0.13% 1.9530ms 11 177.54us 7.6810us 591.06us cudaMalloc + 0.07% 1.0424ms 8 130.30us 1.6970us 453.72us cudaGetDevice + 0.04% 527.90us 40 13.197us 525ns 253.99us cudaEventCreateWithFlags + 0.03% 435.73us 348 1.2520us 124ns 42.704us cuDeviceGetAttribute + 0.03% 419.36us 1 419.36us 419.36us 419.36us cudaGetDeviceCount + 0.02% 260.75us 2 130.38us 129.32us 131.43us cudaGetDeviceProperties + 0.02% 222.32us 2 111.16us 106.94us 115.39us cudaLaunch + 0.01% 214.06us 4 53.514us 28.586us 77.655us cuDeviceGetName + 0.01% 115.45us 4 28.861us 9.8250us 44.526us cuDeviceTotalMem + 0.01% 83.988us 4 20.997us 578ns 77.760us cudaSetDevice + 0.00% 38.918us 1 38.918us 38.918us 38.918us cudaEventCreate + 0.00% 34.573us 31 1.1150us 279ns 12.784us cudaDeviceGetAttribute + 0.00% 17.767us 1 17.767us 17.767us 17.767us cudaProfilerStart + 0.00% 15.228us 2 7.6140us 3.5460us 11.682us cudaConfigureCall + 0.00% 14.536us 2 7.2680us 1.1490us 13.387us cudaGetLastError + 0.00% 8.6080us 26 331ns 173ns 783ns cudaSetupArgument + 0.00% 5.5470us 6 924ns 215ns 2.6780us cuDeviceGet + 0.00% 5.4090us 6 901ns 328ns 3.3320us cuDeviceGetCount + 0.00% 4.1770us 3 1.3920us 1.0630us 1.8300us cuDriverGetVersion + 0.00% 3.4650us 3 1.1550us 1.0810us 1.2680us cuInit + 0.00% 830ns 1 830ns 830ns 830ns cudaRuntimeGetVersion + + +nvvp 工具 +-------------- + +如果想使用可视化的分析器 **nvvp**,您可以导入 :code:`nvprof -o ...` 的输出,或者从工具的界面里运行您的应用。 + +**备注: nvvp 也支持CPU的性能分析** (需在nvvp界面中选上才能开启) + +.. image:: nvvp1.png + :align: center + :scale: 33% + +从内核函数的角度, **nvvp** 可以精确说明一个长耗时操作的具体原因。 +同时,如下图所示, **nvvp** 的内核block使用情况、寄存器使用情况和共享内存使用情况能让我们对GPU的整体使用有更好的理解。 + + +.. image:: nvvp2.png + :align: center + :scale: 33% + +而从应用的角度, **nvvp** 可以帮您提供一些定位性能瓶颈的建议。 +例如,下图中就展示了一些关于内存数据迁徙和计算资源利用率的建议,为您做性能调优提供了方向。 + +.. image:: nvvp3.png + :align: center + :scale: 33% + +.. image:: nvvp4.png + :align: center + :scale: 33% + +性能分析小技巧 +================== + +- 开始阶段,从 **nvprof** 和 **nvvp** 的输出信息入手是个不错的选择。 +- 接下来可以考虑下时间线的分析。 +- 如果真想挖掘内核深处的某个秘密,您最好先确认:这一块的耗时比例真的太高,值得深入分析。 +- 可能的情况下,试着让输出的分析数据和理论值对应。 + + 1) 例如,如果我知道内核花了10ms来移动1GB数据,那我会期望分析工具统计到速度是100GB/s。 + 2) 若有不一致之处,很有可能实际应用就是没有按照您的预期情况运行。 +- 了解您的硬件:如果您的GPU理论可以达到6 TFLOPs(6万亿次浮点运算每秒),而当前已经有5.5 TFLOPs了,那估计这里的潜力就没啥好挖的了…… + +性能分析是性能优化的关键一步。有的时候简简单单的改变就能在性能上产生明显的优化效果! +当然,具体情况因人而异。 + +参考资料 +=========== +Jeremy Appleyard, `GPU Profiling for Deep Learning `_, 2015 diff --git a/release/0.10.0/doc_cn/_sources/howto/usage/cluster/cluster_train_cn.md.txt b/release/0.10.0/doc_cn/_sources/howto/usage/cluster/cluster_train_cn.md.txt new file mode 100644 index 0000000000..274452fbf0 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/howto/usage/cluster/cluster_train_cn.md.txt @@ -0,0 +1,159 @@ +```eval_rst +.. _cluster_train: +``` + +# 运行分布式训练 + +在本文中,我们将阐释如何在集群上运行分布式 Paddle 训练作业。我们将以[推荐系统](https://github.com/baidu/Paddle/tree/develop/demo/recommendation)为例创建分布式的单进程训练。 + +在本文中使用的[脚本](https://github.com/baidu/Paddle/tree/develop/paddle/scripts/cluster_train)通过 SSH 运行分布式作业。 它们还可以供那些运行更复杂的集群管理系统(如 MPI 和 [Kubernetes](https://github.com/PaddlePaddle/Paddle/tree/develop/doc/howto/usage/k8s) )的用户参考。 + +## 前提条件 + +1. 上述脚本使用 Python 库 [fabric](http://www.fabfile.org/) 来运行 SSH 命令。 我们使用 `pip` 来安装 fabric: + + ```bash + pip install fabric + ``` + +2. 我们需要在集群的所有节点上安装 PaddlePaddle。 如果要启用GPU,需要在 `/usr/local/cuda` 中安装 CUDA; 否则 Paddle 将在运行时报错。 + +3. 在 [`cluster_train/conf.py`] 中设置 `ROOT_DIR`, 该 ROOT_DIR 要在所有节点上存在。为了方便起见,我们通常在所有节点上创建一个 Unix 用户 `paddle`,并设置 `ROOT_DIR=/home/paddle`。这样,我们可以将 SSH 公钥写入 `/home/paddle/.ssh/authorized_keys`,以便用户 `paddle` 可以 SSH 到所有节点而不用密码。 + +## 准备工作空间 + +我们将放置依赖库、配置等文件的目录视为 *工作空间(workspace)*。 + +这些 `train/test` 数据应该在启动集群作业之前准备好。 为了满足训练/测试数据放置在工作空间中不同目录的要求,PADDLE 根据在模型配置文件中使用的名为 `train.list/test.list` 的索引文件引用训练/测试数据,所以训练/测试数据也包含 train.list/test.list 两个列表文件。所有本地训练 demo 已经提供了脚本来帮助您创建这两个文件,并且集群作业中的所有节点将在正常情况下处理具有相同逻辑代码的文件。 + +通常,你可以使用本地训练中的相同模型文件进行集群训练。请记住,在模型文件的 `setting`函数中设置的 `batch_size` 表示在集群作业**每个**节点中的 batch 大小,而不是使用同步 SGD 的总 batch 大小。 + +以下步骤基于 demo 目录中的 [demo/recommendation](https://github.com/PaddlePaddle/Paddle/tree/develop/demo/recommendation)。 + +你只需完成 demo/recommendation 教程文档到 `Train` 的部分,之后你会得到训练/测试数据和模型配置文件。最后,只需使用 demo/recommendation 作为集群训练的工作空间。 + +最后,你的工作空间应如下所示: +``` +. +|-- common_utils.py +|-- data +| |-- config.json +| |-- config_generator.py +| |-- meta.bin +| |-- meta_config.json +| |-- meta_generator.py +| |-- ml-1m +| |-- ml_data.sh +| |-- ratings.dat.test +| |-- ratings.dat.train +| |-- split.py +| |-- test.list +| `-- train.list +|-- dataprovider.py +|-- evaluate.sh +|-- prediction.py +|-- preprocess.sh +|-- requirements.txt +|-- run.sh +`-- trainer_config.py +``` +虽然这些文件并非都需要集群训练,但是也没有必要删除无用的文件。 + +`trainer_config.py` +表示模型配置文件。 + +`train.list` 和 `test.list` +文件索引。它存储当前节点所有训练/测试数据的所有相对或绝对文件路径。 + +`dataprovider.py` +用于读取训练/测试样本。这与本地训练相同。 + +`data` +数据目录中的所有文件被 train.list/test.list 引用。 + + +## 准备集群作业配置 + +以下选项必须在 cluster_train/conf.py 中认真设置 + +`HOSTS` 所有节点运行集群作业的主机名或 IP 。你还可以将用户和 ssh 端口附加到主机名上,例如 root@192.168.100.17:9090。 + +`ROOT_DIR` 用于放置 JOB 工作空间目录的工作空间 ROOT 目录 + +`PADDLE_NIC` 集群通信通道的 NIC(Network Interface Card, 网络接口卡) 接口名称,例如以太网的 eth0,infiniband 的 ib0。 + +`PADDLE_PORT` 集群通信通道的端口号 + +`PADDLE_PORTS_NUM` 用于集群通信通道的端口数。 如果集群节点数量少(少于5〜6个节点),建议将其设置为较大,如2〜8,以获得更好的网络性能。 + +`PADDLE_PORTS_NUM_FOR_SPARSE` 用于 sparse remote updater 集群通信信道的端口数。如果使用 sparse remote update,则可以像 `PADDLE_PORTS_NUM` 一样设置。 + +`LD_LIBRARY_PATH` 为集群作业设置额外的 LD_LIBRARY_PATH。你可以使用它来设置 CUDA 库的路径。 + +默认配置如下: + +```python +HOSTS = [ + "root@192.168.100.17", + "root@192.168.100.18", + ] + +''' +工作空间配置 +''' + +#工作空间根目录 +ROOT_DIR = "/home/paddle" + +''' +网络配置 +''' +#pserver NIC +PADDLE_NIC = "eth0" +#pserver 端口 +PADDLE_PORT = 7164 +#pserver 端口数 +PADDLE_PORTS_NUM = 2 +#pserver sparse ports num +PADDLE_PORTS_NUM_FOR_SPARSE = 2 + +#集群作业中所有进程的环境设置 +LD_LIBRARY_PATH="/usr/local/cuda/lib64:/usr/lib64" +``` + +### 启动集群作业 +`paddle.py` 提供了自动化脚本来启动不同节点中的所有 PaddlePaddle 集群进程。默认情况下,所有命令行选项可以设置为```paddle.py``` 命令选项并且 `paddle.py` 将透明、自动地将这些选项应用到 PaddlePaddle 底层进程。 + +`paddle.py` 为方便作业启动提供了两个独特的命令选项。 + +`job_dispatch_package` 设为本地 `workspace` 目录,它将被分发到 conf.py 中设置的所有节点。 它有助于帮助频繁修改和访问工作区文件的用户减少负担,否则频繁的多节点工作空间部署可能会很麻烦。 +`job_workspace` 设为已部署的工作空间目录,`paddle.py` 将跳过分发阶段直接启动所有节点的集群作业。它可以帮助减少分发延迟。 + +`cluster_train/run.sh` 提供了命令样例来运行 `demo/recommendation` 集群工作,只需用你定义的目录修改 `job_dispatch_package` 和 `job_workspace`,然后: +``` +sh run.sh +``` + +集群作业将会在几秒后启动。 + +### 终止集群作业 +`paddle.py`能获取`Ctrl + C` SIGINT 信号来自动终止它启动的所有进程。只需中断 `paddle.py` 任务来终止集群作业。如果程序崩溃你也可以手动终止。 + +### 检查集群训练结果 +详细信息请检查 $workspace/log 里的日志,每一个节点都有相同的日志结构。 + +`paddle_trainer.INFO` +提供几乎所有训练的内部输出日志,与本地训练相同。这里检验运行时间模型的收敛。 + +`paddle_pserver2.INFO` +提供 pserver 运行日志,有助于诊断分布式错误。 + +`server.log` +提供 pserver 进程的 stderr 和 stdout。训练失败时可以检查错误日志。 + +`train.log` +提供训练过程的 stderr 和 stdout。训练失败时可以检查错误日志。 + +### 检查模型输出 +运行完成后,模型文件将被写入节点 0 的 `output` 目录中。 +工作空间中的 `nodefile` 表示当前集群作业的节点 ID。 diff --git a/release/0.10.0/doc_cn/_sources/howto/usage/cmd_parameter/arguments_cn.md.txt b/release/0.10.0/doc_cn/_sources/howto/usage/cmd_parameter/arguments_cn.md.txt new file mode 100644 index 0000000000..f7aa525054 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/howto/usage/cmd_parameter/arguments_cn.md.txt @@ -0,0 +1,394 @@ +# 参数概述 + +虽然Paddle看起来包含了众多参数,但是大部分参数是为开发者提供的,或者已经在集群提交环境中自动设置,因此用户并不需要关心它们。在此,根据这些参数的使用场合,我们将它们划分为不同的类别。例如,`通用`类别中的参数可用于所有场合。某些参数只可用于特定的层中,而有些参数需要在集群多机训练中使用等。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +√ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
参数本地训练集群训练本地测试集群测试
通用job
use_gpu
local
config
config_args
num_passes
trainer_count
version
show_layer_stat
训练dot_period
test_period
saving_period
show_parameter_stats_period
init_model_path
load_missing_parameter_strategy
saving_period_by_batches
use_old_updater
enable_grad_share
grad_share_block_num
log_error_clipping
log_clipping
save_only_one
start_pass
训练/测试save_dir
训练过程中测试test_period
average_test_period
测试model_list
test_wait
test_pass
predict_output_dir
distribute_test
Auc/正负对验证(PnpairValidation)predict_file
GPUgpu_id
parallel_nn
allow_only_one_model_on_one_gpu
cudnn_dir
cuda_dir
cudnn_conv_workspace_limit_in_mb
递归神经网络(RNN)beam_size
rnn_use_batch
prev_batch_state
diy_beam_search_prob_so
参数服务器(PServer)start_pserver
pservers
port
port_num
ports_num_for_sparse
nics
rdma_tcp
small_messages
loadsave_parameters_in_pserver
log_period_server
pserver_num_threads
sock_send_buf_size
sock_recv_buf_size
num_gradient_servers
parameter_block_size
parameter_block_size_for_sparse
异步随机梯度下降(Async SGD)async_count
async_lagged_ratio_min
async_lagged_ratio_default
性能调优(Performance Tuning)log_barrier_abstract
log_barrier_lowest_nodes
log_barrier_show_log
check_sparse_distribution_batches
check_sparse_distribution_ratio
check_sparse_distribution_unbalance_degree
check_sparse_distribution_in_pserver
show_check_sparse_distribution_log
数据提供器(Data Provider)memory_threshold_on_load_data
随机数seed
thread_local_rand_use_global_seed
单元测试checkgrad_eps
矩阵/向量enable_parallel_vector
+ diff --git a/release/0.10.0/doc_cn/_sources/howto/usage/cmd_parameter/detail_introduction_cn.md.txt b/release/0.10.0/doc_cn/_sources/howto/usage/cmd_parameter/detail_introduction_cn.md.txt new file mode 100644 index 0000000000..b4625ba68c --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/howto/usage/cmd_parameter/detail_introduction_cn.md.txt @@ -0,0 +1,323 @@ +# 细节描述 + +## 通用 + +* `--job` + - 工作模式,包括: **train, test, checkgrad**,其中checkgrad主要为开发者使用,使用者不需要关心。 + - 类型: string (默认: train) + +* `--config` + - 用于指定网络配置文件。 + - 类型: string (默认: null). + +* `--use_gpu` + - 训练过程是否使用GPU,设置为true使用GPU模式,否则使用CPU模式。 + - 类型: bool (默认: 1). + +* `--local` +  - 训练过程是否为本地模式,设置为true使用本地训练或者使用集群上的一个节点,否则使用多机训练。 + - 类型: bool (默认: 1). + +* `--trainer_count` + - 指定一台机器上使用的线程数。例如,trainer_count = 4, 意思是在GPU模式下使用4个GPU,或者在CPU模式下使用4个线程。每个线程(或GPU)分配到当前数据块样本数的四分之一。也就是说,如果在训练配置中设置batch_size为512,每个线程分配到128个样本用于训练。 + - 类型: int32 (默认: 1). + +* `--num_passes` + - 当模式为`--job=train`时, 该参数的意思是训练num_passes轮。每轮会将数据集中的所有训练样本使用一次。当模式为`--job=test`时,意思是使用第test_pass个模型到第 num_passes-1 个模型测试数据。 + - 类型: int32 (默认: 100). + +* `--config_args` + - 传递给配置文件的参数。格式: key1=value1,key2=value2. + - 类型: string (默认: null). + +* `--version` + - 是否打印版本信息。 + - 类型: bool (默认: 0). + +* `--show_layer_stat` + - 是否显示**每个批次数据**中每层的数值统计. + - 类型: bool (默认: 0). + +## 训练 + +* `--log_period` + - 每log_period个批次打印日志进度. + - 类型: int32 (默认: 100). + +* `--dot_period` + - 每dot_period个批次输出符号'.'. + - 类型: int32 (默认: 1). + +* `--saving_period` + - 每saving_period轮保存训练参数. + - 类型: int32 (默认: 1). + +* `--save_dir` + - 保存模型参数的目录,需要明确指定,但不需要提前创建。 + - 类型: string (默认: null). + +* `--start_pass` + - 从start_pass轮开始训练,会加载上一轮的参数。 + - 类型: int32 (默认: 0). + +* `--show_parameter_stats_period` + - 在训练过程中每show_parameter_stats_period个批次输出参数统计。默认不显示。 + - 类型: int32 (默认: 0). + +* `--save_only_one` + - 只保存最后一轮的参数,而之前的参数将会被删除。 + - 类型: bool (默认: 0). + +* `--load_missing_parameter_strategy` + - 当模型参数不存在时,指定加载的方式。目前支持fail/rand/zero三种操作. + - `fail`: 程序直接退出. + - `rand`: 根据网络配置中的**initial\_strategy**采用均匀分布或者高斯分布初始化。均匀分布的范围是: **[mean - std, mean + std]**, 其中mean和std是训练配置中的参数. + - `zero`: 所有参数置为零. + - 类型: string (默认: fail). + +* `--init_model_path` + - 初始化模型的路径。如果设置该参数,start\_pass将不起作用。同样也可以在测试模式中指定模型路径。 + - 类型: string (默认: null). + +* `--saving_period_by_batches` + - 在一轮中每saving_period_by_batches个批次保存一次参数。 + - 类型: int32 (默认: 0). + +* `--log_error_clipping` + - 当在网络层配置中设置**error_clipping_threshold**时,该参数指示是否打印错误截断日志。如果为true,**每批次**的反向传播将会打印日志信息。该截断会影响**输出的梯度**. + - 类型: bool (默认: 0). + +* `--log_clipping` + - 当在训练配置中设置**gradient_clipping_threshold**时,该参数指示是否打印日志截断信息。该截断会影响**权重更新的梯度**. + - 类型: bool (默认: 0). + +* `--use_old_updater` + - 是否使用旧的RemoteParameterUpdater。 默认使用ConcurrentRemoteParameterUpdater,主要为开发者使用,使用者通常无需关心. + - 类型: bool (默认: 0). + +* `--enable_grad_share` + - 启用梯度参数的阈值,在多CPU训练时共享该参数. + - 类型: int32 (默认: 100 \* 1024 \* 1024). + +* `--grad_share_block_num` + - 梯度参数的分块数目,在多CPU训练时共享该参数. + - 类型: int32 (默认: 64). + +## 测试 + +* `--test_pass` + - 加载test_pass轮的模型用于测试. + - 类型: int32 (默认: -1). + +* `--test_period` + - 如果为0,每轮结束时对所有测试数据进行测试;如果不为0,每test_period个批次对所有测试数据进行测试. + - 类型: int32 (默认: 0). + +* `--test_wait` + - 指示当指定轮的测试模型不存在时,是否需要等待该轮模型参数。如果在训练期间同时发起另外一个进程进行测试,可以使用该参数. + - 类型: bool (默认: 0). + +* `--model_list` + - 测试时指定的存储模型列表的文件. + - 类型: string (默认: "", null). + +* `--predict_output_dir` + - 保存网络层输出结果的目录。该参数在网络配置的Outputs()中指定,默认为null,意思是不保存结果。在测试阶段,如果你想要保存某些层的特征图,请指定该目录。需要注意的是,网络层的输出是经过激活函数之后的值. + - 类型: string (默认: "", null). + +* `--average_test_period` + - 使用`average_test_period`个批次的参数平均值进行测试。该参数必须能被FLAGS_log_period整除,默认为0,意思是不使用平均参数执行测试. + - 类型: int32 (默认: 0). + +* `--distribute_test` + - 在分布式环境中测试,将多台机器的测试结果合并. + - 类型: bool (默认: 0). + +* `--predict_file` + - 保存预测结果的文件名。该参数默认为null,意思是不保存结果。目前该参数仅用于AucValidationLayer和PnpairValidationLayer层,每轮都会保存预测结果. + - 类型: string (默认: "", null). + +## GPU + +* `--gpu_id` + - 指示使用哪个GPU核. + - 类型: int32 (默认: 0). + +* `--allow_only_one_model_on_one_gpu` + - 如果为true,一个GPU设备上不允许配置多个模型. + - 类型: bool (默认: 1). + +* `--parallel_nn` + - 指示是否使用多线程来计算一个神经网络。如果为false,设置gpu_id指定使用哪个GPU核(训练配置中的设备属性将会无效)。如果为true,GPU核在训练配置中指定(gpu_id无效). + - 类型: bool (默认: 0). + +* `--cudnn_dir` + - 选择路径来动态加载NVIDIA CuDNN库,例如,/usr/local/cuda/lib64. [默认]: LD_LIBRARY_PATH + - 类型: string (默认: "", null) + +* `--cuda_dir` + - 选择路径来动态加载NVIDIA CUDA库,例如,/usr/local/cuda/lib64. [默认]: LD_LIBRARY_PATH + - 类型: string (默认: "", null) + +* `--cudnn_conv_workspace_limit_in_mb` + - 指定cuDNN的最大工作空间容限,单位是MB,默认为4096MB=4GB. + - 类型: int32 (默认: 4096MB=4GB) + +## 自然语言处理(NLP): RNN/LSTM/GRU +* `--rnn_use_batch` + - 指示在简单的RecurrentLayer层的计算中是否使用批处理方法. + - 类型: bool (默认: 0). + +* `--prev_batch_state` + - 标识是否为连续的batch计算. + - 类型: bool (默认: 0). + +* `--beam_size` + - 集束搜索使用广度优先搜索的方式构建查找树。在树的每一层上,都会产生当前层状态的所有继承结果,按启发式损失的大小递增排序。然而,每层上只能保存固定数目个最好的状态,该数目是提前定义好的,称之为集束大小. + - 类型: int32 (默认: 1). + +* `--diy_beam_search_prob_so` +  - 用户可以自定义beam search的方法,编译成动态库,供PaddlePaddle加载。 该参数用于指定动态库路径. + - 类型: string (默认: "", null). + +## 数据支持(DataProvider) + +* `--memory_threshold_on_load_data` + - 内存容限阈值,当超过该阈值时,停止加载数据. + - 类型: double (默认: 1.0). + +## 单元测试 + +* `--checkgrad_eps` + - 使用checkgrad模式时的参数变化大小. + - 类型: double (默认: 1e-05). + +## 参数服务器和分布式通信 + +* `--start_pserver` + - 指示是否开启参数服务器(parameter server). + - 类型: bool (默认: 0). + +* `--pservers` + - 参数服务器的IP地址,以逗号间隔. + - 类型: string (默认: "127.0.0.1"). + +* `--port` + - 参数服务器的监听端口. + - 类型: int32 (默认: 20134). + +* `--ports_num` + - 发送参数的端口号,根据默认端口号递增. + - 类型: int32 (默认: 1). + +* `--trainer_id` +  - 在分布式训练中,每个训练节点必须指定一个唯一的id号,从0到num_trainers-1。0号训练节点是主训练节点。使用者无需关心这个参数. + - 类型: int32 (默认: 0). + +* `--num_gradient_servers` + - 梯度服务器的数量,该参数在集群提交环境中自动设置. + - 类型: int32 (默认: 1). + +* `--small_messages` + - 如果消息数据太小,建议将该参数设为true,启动快速应答,无延迟. + - 类型: bool (默认: 0). + +* `--sock_send_buf_size` + - 限制套接字发送缓冲区的大小。如果仔细设置的话,可以有效减小网络的阻塞. + - 类型: int32 (默认: 1024 \* 1024 \* 40). + +* `--sock_recv_buf_size` + - 限制套接字接收缓冲区的大小. + - 类型: int32 (默认: 1024 \* 1024 \* 40). + +* `--parameter_block_size` + - 参数服务器的参数分块大小。如果未设置,将会自动计算出一个合适的值. + - 类型: int32 (默认: 0). + +* `--parameter_block_size_for_sparse` + - 参数服务器稀疏更新的参数分块大小。如果未设置,将会自动计算出一个合适的值. + - 类型: int32 (默认: 0). + +* `--log_period_server` + - 在参数服务器终端每log_period_server个批次打印日志进度. + - 类型: int32 (默认: 500). + +* `--loadsave_parameters_in_pserver` + - 在参数服务器上加载和保存参数,只有当设置了sparse_remote_update参数时才有效. + - 类型: bool (默认: 0). + +* `--pserver_num_threads` + - 同步执行操作的线程数. + - 类型: bool (默认: 1). + +* `--ports_num_for_sparse` + - 发送参数的端口号,根据默认值递增(port + ports_num),用于稀疏训练中. + - 类型: int32 (默认: 0). + +* `--nics` + - 参数服务器的网络设备名称,已经在集群提交环境中完成设置. + - 类型: string (默认: "xgbe0,xgbe1"). + +* `--rdma_tcp` + - 使用rdma还是tcp传输协议,该参数已经在集群提交环境中完成设置. + - 类型: string (默认: "tcp"). + +## 异步随机梯度下降(Async SGD) +* `--async_count` + - 定义异步训练的长度,如果为0,则使用同步训练. + - 类型: int32 (默认: 0). + +* `--async_lagged_ratio_min` + - 控制`config_.async_lagged_grad_discard_ratio()`的最小值. + - 类型: double (默认: 1.0). + +* `--async_lagged_ratio_default` + - 如果在网络配置中未设置async_lagged_grad_discard_ratio,则使用该参数作为默认值. + - 类型: double (默认: 1.5). + +## 性能调优(Performance Tuning) + +* `--log_barrier_abstract` + - 如果为true,则显示阻隔性能的摘要信息. + - 类型: bool (默认: 1). + +* `--log_barrier_show_log` + - 如果为true,则总会显示阻隔摘要信息,即使间隔很小. + - 类型: bool (默认: 0). + +* `--log_barrier_lowest_nodes` + - 最少显示多少个节点. + - 类型: int32 (默认: 5). + +* `--check_sparse_distribution_in_pserver` + - 指示是否检查所有参数服务器上的稀疏参数的分布是均匀的. + - 类型: bool (默认: 0). + +* `--show_check_sparse_distribution_log` + - 指示是否显示参数服务器上的稀疏参数分布的日志细节. + - 类型: bool (默认: 0). + +* `--check_sparse_distribution_batches` + - 每运行多少个批次执行一次稀疏参数分布的检查. + - 类型: int32 (默认: 100). + +* `--check_sparse_distribution_ratio` + - 如果检查到分配在不同参数服务器上的参数的分布不均匀次数大于check_sparse_distribution_ratio * check_sparse_distribution_batches次,程序停止. + - 类型: double (默认: 0.6). + +* `--check_sparse_distribution_unbalance_degree` + - 不同参数服务器上数据大小的最大值与最小值的比率. + - 类型: double (默认: 2). + +## 矩阵/向量/随机数 +* `--enable_parallel_vector` + - 启动并行向量的阈值. + - 类型: int32 (默认: 0). + +* `--seed` + - 随机数的种子。srand(time)的为0. + - 类型: int32 (默认: 1) + +* `--thread_local_rand_use_global_seed` + - 是否将全局种子应用于本地线程的随机数. + - 类型: bool (默认: 0). diff --git a/release/0.10.0/doc_cn/_sources/howto/usage/cmd_parameter/index_cn.rst.txt b/release/0.10.0/doc_cn/_sources/howto/usage/cmd_parameter/index_cn.rst.txt new file mode 100644 index 0000000000..4c87298211 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/howto/usage/cmd_parameter/index_cn.rst.txt @@ -0,0 +1,11 @@ +.. _cmd_line_index: + +设置命令行参数 +=============== + +.. toctree:: + :maxdepth: 1 + + use_case_cn.md + arguments_cn.md + detail_introduction_cn.md diff --git a/release/0.10.0/doc_cn/_sources/howto/usage/cmd_parameter/use_case_cn.md.txt b/release/0.10.0/doc_cn/_sources/howto/usage/cmd_parameter/use_case_cn.md.txt new file mode 100644 index 0000000000..db8c39d950 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/howto/usage/cmd_parameter/use_case_cn.md.txt @@ -0,0 +1,182 @@ +# 使用案例 + +## 本地训练 + +本地训练的实验,诸如图像分类,自然语言处理等,通常都会使用下面这些命令行参数。 + +``` +paddle train \ + --use_gpu=1/0 \ #1:GPU,0:CPU(默认为1) + --config=network_config \ + --save_dir=output \ + --trainer_count=COUNT \ #(默认为1) + --test_period=M \ #(默认为0) + --num_passes=N \ #(默认为100) + --log_period=K \ #(默认为100) + --dot_period=1000 \ #(默认为1) + #[--show_parameter_stats_period=100] \ #(默认为0) + #[--saving_period_by_batches=200] \ #(默认为0) +``` +根据你的任务,可以选择是否使用参数`show_parameter_stats_period`和`saving_period_by_batches`。 + +### 1) 将命令参数传给网络配置 + +`config_args`是一个很有用的参数,用于将参数传递给网络配置。 + +``` +--config_args=generating=1,beam_size=5,layer_num=10 \ +``` +`get_config_arg`可用于在网络配置中解析这些参数,如下所示: + +``` +generating = get_config_arg('generating', bool, False) +beam_size = get_config_arg('beam_size', int, 3) +layer_num = get_config_arg('layer_num', int, 8) +``` + +`get_config_arg`: + +``` +get_config_arg(name, type, default_value) +``` +- name: `--config_args`中指定的名字 +- type: 值类型,包括bool, int, str, float等 +- default_value: 默认值 + +### 2) 使用模型初始化网络 + +增加如下参数: + +``` +--init_model_path=model_path +--load_missing_parameter_strategy=rand +``` + +## 本地测试 + +方法一: + +``` +paddle train --job=test \ + --use_gpu=1/0 \ + --config=network_config \ + --trainer_count=COUNT \ + --init_model_path=model_path \ +``` +- 使用init\_model\_path指定测试的模型 +- 只能测试单个模型 + +方法二: + +``` +paddle train --job=test \ + --use_gpu=1/0 \ + --config=network_config \ + --trainer_count=COUNT \ + --model_list=model.list \ +``` +- 使用model_list指定测试的模型列表 +- 可以测试多个模型,文件model.list如下所示: + +``` +./alexnet_pass1 +./alexnet_pass2 +``` + +方法三: + +``` +paddle train --job=test \ + --use_gpu=1/0 \ + --config=network_config \ + --trainer_count=COUNT \ + --save_dir=model \ + --test_pass=M \ + --num_passes=N \ +``` +这种方式必须使用Paddle存储的模型路径格式,如:`model/pass-%5d`。测试的模型包括从第M轮到第N-1轮存储的所有模型。例如,M=12,N=14这种写法将会测试模型`model/pass-00012`和`model/pass-00013`。 + +## 稀疏训练 + +当输入是维度很高的稀疏数据时,通常使用稀疏训练来加速计算过程。例如,输入数据的字典维数是1百万,但是每个样本仅包含几个词。在Paddle中,稀疏矩阵的乘积应用于前向传播过程,而稀疏更新在反向传播之后的权重更新时进行。 + +### 1) 本地训练 + +用户需要在网络配置中指定**sparse\_update=True**。请参照网络配置的文档了解更详细的信息。 + +### 2) 集群训练 + +在集群上训练一个稀疏模型需要加上下面的参数。同时用户需要在网络配置中指定**sparse\_remote\_update=True**。请参照网络配置的文档了解更详细的信息。 + +``` +--ports_num_for_sparse=1 #(默认为0) +``` + +## parallel_nn +用户可以设置`parallel_nn`来混合使用GPU和CPU计算网络层的参数。也就是说,你可以将网络配置成某些层使用GPU计算,而其他层使用CPU计算。另一种方式是将网络层划分到不同的GPU上去计算,这样可以减小GPU内存,或者采用并行计算来加速某些层的更新。 + +如果你想使用这些特性,你需要在网络配置中指定设备的ID号(表示为deviceId),并且加上下面的命令行参数: + +``` +--parallel_nn=true +``` +### 案例一:GPU和CPU混合使用 +请看下面的例子: + +``` +#command line: +paddle train --use_gpu=true --parallel_nn=true trainer_count=COUNT + +default_device(0) + +fc1=fc_layer(...) +fc2=fc_layer(...) +fc3=fc_layer(...,layer_attr=ExtraAttr(device=-1)) + +``` +- default_device(0): 设置默认设备号为0。这意味着除了指定device=-1的层之外,其他所有层都会使用GPU计算,每层使用的GPU号依赖于参数trainer\_count和gpu\_id(默认为0)。在此,fc1和fc2层在GPU上计算。 + +- device=-1: fc3层使用CPU计算。 + +- trainer_count: + - trainer_count=1: 如果未设置gpu\_id,那么fc1和fc2层将会使用第1个GPU来计算。否则使用gpu\_id指定的GPU。 + + - trainer_count>1: 在trainer\_count个GPU上使用数据并行来计算某一层。例如,trainer\_count=2意味着0号和1号GPU将会使用数据并行来计算fc1和fc2层。 + +### 案例二:在不同设备上指定层 + +``` +#command line: +paddle train --use_gpu=true --parallel_nn=true --trainer_count=COUNT + +#network: +fc2=fc_layer(input=l1, layer_attr=ExtraAttr(device=0), ...) +fc3=fc_layer(input=l1, layer_attr=ExtraAttr(device=1), ...) +fc4=fc_layer(input=fc2, layer_attr=ExtraAttr(device=-1), ...) +``` +在本例中,我们假设一台机器上有4个GPU。 + +- trainer_count=1: + - 使用0号GPU计算fc2层。 + - 使用1号GPU计算fc3层。 + - 使用CPU计算fc4层。 + +- trainer_count=2: + - 使用0号和1号GPU计算fc2层。 + - 使用2号和3号GPU计算fc3层。 + - 使用CPU两线程计算fc4层。 + +- trainer_count=4: + - 运行失败(注意到我们已经假设机器上有4个GPU),因为参数`allow_only_one_model_on_one_gpu`默认设置为真。 + +**当`device!=-1`时设备ID号的分配:** + +``` +(deviceId + gpu_id + threadId * numLogicalDevices_) % numDevices_ + +deviceId: 在层中指定 +gpu_id: 默认为0 +threadId: 线程ID号,范围: 0,1,..., trainer_count-1 +numDevices_: 机器的设备(GPU)数目 +numLogicalDevices_: min(max(deviceId + 1), numDevices_) +``` diff --git a/release/0.10.0/doc_cn/_sources/howto/usage/k8s/k8s_basis_cn.md.txt b/release/0.10.0/doc_cn/_sources/howto/usage/k8s/k8s_basis_cn.md.txt new file mode 100644 index 0000000000..4c3dc81ed3 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/howto/usage/k8s/k8s_basis_cn.md.txt @@ -0,0 +1,75 @@ +# Kubernetes 简介 + +[*Kubernetes*](http://kubernetes.io/)是Google开源的容器集群管理系统,其提供应用部署、维护、扩展机制等功能,利用Kubernetes能方便地管理跨机器运行容器化的应用。Kubernetes可以在物理机或虚拟机上运行,且支持部署到[AWS](http://kubernetes.io/docs/getting-started-guides/aws),[Azure](http://kubernetes.io/docs/getting-started-guides/azure/),[GCE](http://kubernetes.io/docs/getting-started-guides/gce)等多种公有云环境。介绍分布式训练之前,需要对[Kubernetes](http://kubernetes.io/)有一个基本的认识,下面先简要介绍一下本文用到的几个Kubernetes概念。 + +- [*Node*](http://kubernetes.io/docs/admin/node/) 表示一个Kubernetes集群中的一个工作节点,这个节点可以是物理机或者虚拟机,Kubernetes集群就是由node节点与master节点组成的。 + +- [*Pod*](http://kubernetes.io/docs/user-guide/pods/) 是一组(一个或多个)容器,pod是Kubernetes的最小调度单元,一个pod中的所有容器会被调度到同一个node上。Pod中的容器共享NET,PID,IPC,UTS等Linux namespace。由于容器之间共享NET namespace,所以它们使用同一个IP地址,可以通过*localhost*互相通信。不同pod之间可以通过IP地址访问。 + +- [*Job*](http://kubernetes.io/docs/user-guide/jobs/) 描述Kubernetes上运行的作业,一次作业称为一个job,通常每个job包括一个或者多个pods,job启动后会创建这些pod并开始执行一个程序,等待这个程序执行成功并返回0则成功退出,如果执行失败,也可以配置不同的重试机制。 + +- [*Volume*](http://kubernetes.io/docs/user-guide/volumes/) 存储卷,是pod内的容器都可以访问的共享目录,也是容器与node之间共享文件的方式,因为容器内的文件都是暂时存在的,当容器因为各种原因被销毁时,其内部的文件也会随之消失。通过volume,就可以将这些文件持久化存储。Kubernetes支持多种volume,例如hostPath(宿主机目录),gcePersistentDisk,awsElasticBlockStore等。 + +- [*Namespaces*](https://kubernetes.io/docs/user-guide/namespaces/) 命名空间,在kubernetes中创建的所有资源对象(例如上文的pod,job)等都属于一个命名空间,在同一个命名空间中,资源对象的名字是唯一的,不同空间的资源名可以重复,命名空间主要为了对象进行逻辑上的分组便于管理。本文只使用了默认命名空间。 + +- [*PersistentVolume*](https://kubernetes.io/docs/user-guide/persistent-volumes/): 和[*PersistentVolumeClaim*](https://kubernetes.io/docs/user-guide/persistent-volumes/#persistentvolumeclaims)结合,将外部的存储服务在Kubernetes中描述成为统一的资源形式,便于存储资源管理和Pod引用。 + +## 部署Kubernetes集群 + +Kubernetes提供了多种集群部署的方案,本文档内不重复介绍。这里给出集中常见的部署方法: + +- [*minikube*](https://kubernetes.io/docs/getting-started-guides/minikube/): 快速在本地启动一个单机的kubernetes服务器,便于本地验证和测试。 +- [*kubeadm*](http://kubernetes.io/docs/getting-started-guides/kubeadm/): 在不同操作系统,不同主机(Bare-Metal, AWS, GCE)条件下,快速部署集群。 +- [*AWS EC2*](https://kubernetes.io/docs/getting-started-guides/aws/): 在aws上快速部署集群。 +- [*Bare-Metal*](https://kubernetes.io/docs/getting-started-guides/centos/centos_manual_config/): 在物理机上手动部署。 + +可以参考[这个表格](https://kubernetes.io/docs/getting-started-guides/#table-of-solutions)选择适合您的场景的合适方案。 + +## 选择存储方案 + +容器不会保留在运行时生成的数据,job或者应用程序在容器中运行时生成的数据会在容器销毁时消失。为了完成分布式机器学习训练任务,需要有一个外部的存储服务来保存训练所需数据和训练输出。 +常见的可选存储服务包括: + +- [*NFS*](https://github.com/kubernetes/kubernetes/tree/master/examples/volumes/nfs): 可以将磁盘上某个目录共享给网络中其他机器访问。部署和配置比较简单,可以用于小量数据的验证。不提供分布式存储,高可用,冗余等功能。NFS的部署方法可以参考[这里](http://www.tecmint.com/how-to-setup-nfs-server-in-linux/)。 +- [*GlusterFS*](http://gluster.readthedocs.io/en/latest/Quick-Start-Guide/Quickstart/): 网络分布式文件系统,可以在Kubernetes中按照[这个](https://github.com/kubernetes/kubernetes/tree/master/examples/volumes/glusterfs)例子使用。 +- [*Ceph*](http://docs.ceph.com/docs/master/): 分布式文件系统,支持rbd,POSIX API接口(ceph fs)和对象存储API,参考[这里](https://kubernetes.io/docs/user-guide/volumes/#rbd)。 +- [*MooseFS*](https://moosefs.com/documentation.html): 一个分布式的存储系统。需要先挂载到服务器Node上再通过kubernetes hostPath Volume挂载到容器中。 + +## 配置kubectl + +### 安装kubectl +``` +# OS X +curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl + +# Linux +curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl + +# Windows +curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/windows/amd64/kubectl.exe +``` + +### 配置kubectl访问你的kubernetes集群 + +编辑`~/.kube/config`这个配置文件,修改`Master-IP`的地址。如果使用SSL认证,则需要配置`certificate-authority`和`users`中的用户证书。如果是使用非SSL方式访问(比如通过8080端口),也可以去掉这些证书的配置。 +``` +apiVersion: v1 +clusters: +- cluster: + certificate-authority: /path/to/ca.crt + server: https://[Master-IP]:443 + name: minikube +contexts: +- context: + cluster: minikube + user: minikube + name: minikube +current-context: minikube +kind: Config +preferences: {} +users: +- name: minikube + user: + client-certificate: /path/to/apiserver.crt + client-key: /Users/wuyi/.minikube/apiserver.key +``` diff --git a/release/0.10.0/doc_cn/_sources/howto/usage/k8s/k8s_cn.md.txt b/release/0.10.0/doc_cn/_sources/howto/usage/k8s/k8s_cn.md.txt new file mode 100644 index 0000000000..ab07cb9cd5 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/howto/usage/k8s/k8s_cn.md.txt @@ -0,0 +1,205 @@ +# Kubernetes单机训练 + +在这篇文档里,我们介绍如何在 Kubernetes 集群上启动一个单机使用CPU的Paddle训练作业。在下一篇中,我们将介绍如何启动分布式训练作业。 + +## 制作Docker镜像 + +在一个功能齐全的Kubernetes机群里,通常我们会安装Ceph等分布式文件系统来存储训练数据。这样的话,一个分布式Paddle训练任务中的每个进程都可以从Ceph读取数据。在这个例子里,我们只演示一个单机作业,所以可以简化对环境的要求,把训练数据直接放在 +Paddle的Docker image里。为此,我们需要制作一个包含训练数据的Paddle镜像。 + +Paddle 的 [Quick Start Tutorial](http://www.paddlepaddle.org/doc/demo/quick_start/index_en.html) +里介绍了用Paddle源码中的脚本下载训练数据的过程。 +而 `paddledev/paddle:cpu-demo-latest` 镜像里有 Paddle 源码与demo,( 请注意,默认的 +Paddle镜像 `paddledev/paddle:cpu-latest` 是不包括源码的, Paddle的各版本镜像可以参考 [Docker installation guide](http://www.paddlepaddle.org/doc/build/docker_install.html) ),所以我们使用这个镜像来下载训练数据到Docker container中,然后把这个包含了训练数据的container保存为一个新的镜像。 + +### 运行容器 + +``` +$ docker run --name quick_start_data -it paddledev/paddle:cpu-demo-latest +``` + +### 下载数据 + +进入容器`/root/paddle/demo/quick_start/data`目录,使用`get_data.sh`下载数据 + +``` +$ root@fbd1f2bb71f4:~/paddle/demo/quick_start/data# ./get_data.sh + +Downloading Amazon Electronics reviews data... +--2016-10-31 01:33:43-- http://snap.stanford.edu/data/amazon/productGraph/categoryFiles/reviews_Electronics_5.json.gz +Resolving snap.stanford.edu (snap.stanford.edu)... 171.64.75.80 +Connecting to snap.stanford.edu (snap.stanford.edu)|171.64.75.80|:80... connected. +HTTP request sent, awaiting response... 200 OK +Length: 495854086 (473M) [application/x-gzip] +Saving to: 'reviews_Electronics_5.json.gz' + + 10% [=======> ] 874,279 64.7KB/s eta 2h 13m + +``` + +### 修改启动脚本 + +下载完数据后,修改`/root/paddle/demo/quick_start/train.sh`文件,内容如下(增加了一条cd命令) +``` +set -e +cd /root/paddle/demo/quick_start +cfg=trainer_config.lr.py +#cfg=trainer_config.emb.py +#cfg=trainer_config.cnn.py +#cfg=trainer_config.lstm.py +#cfg=trainer_config.bidi-lstm.py +#cfg=trainer_config.db-lstm.py +paddle train \ + --config=$cfg \ + --save_dir=./output \ + --trainer_count=4 \ + --log_period=20 \ + --num_passes=15 \ + --use_gpu=false \ + --show_parameter_stats_period=100 \ + --test_all_data_in_one_period=1 \ + 2>&1 | tee 'train.log' +``` + +### 提交镜像 + +修改启动脚本后,退出容器,使用`docker commit`命令创建新镜像。 + +``` +$ docker commit quick_start_data mypaddle/paddle:quickstart +``` + +## 使用 Kubernetes 进行训练 + +>针对任务运行完成后容器自动退出的场景,Kubernetes有Job类型的资源来支持。下文就是用Job类型的资源来进行训练。 + +### 编写yaml文件 + +在训练时,输出结果可能会随着容器的消耗而被删除,需要在创建容器前挂载卷以便我们保存训练结果。使用我们之前构造的镜像,可以创建一个 [Kubernetes Job](http://kubernetes.io/docs/user-guide/jobs/#what-is-a-job),简单的yaml文件如下: + +``` +apiVersion: batch/v1 +kind: Job +metadata: + name: quickstart +spec: + parallelism: 1 + completions: 1 + template: + metadata: + name: quickstart + spec: + volumes: + - name: output + hostPath: + path: /home/work/paddle_output + containers: + - name: pi + image: mypaddle/paddle:quickstart + command: ["bin/bash", "-c", "/root/paddle/demo/quick_start/train.sh"] + volumeMounts: + - name: output + mountPath: /root/paddle/demo/quick_start/output + restartPolicy: Never +``` + +### 创建Paddle Job + +使用上文创建的yaml文件创建Kubernetes Job,命令为: + +``` +$ kubectl create -f paddle.yaml +``` + +查看job的详细情况: + +``` +$ kubectl get job +NAME DESIRED SUCCESSFUL AGE +quickstart 1 0 58s + +$ kubectl describe job quickstart +Name: quickstart +Namespace: default +Image(s): registry.baidu.com/public/paddle:cpu-demo-latest +Selector: controller-uid=f120da72-9f18-11e6-b363-448a5b355b84 +Parallelism: 1 +Completions: 1 +Start Time: Mon, 31 Oct 2016 11:20:16 +0800 +Labels: controller-uid=f120da72-9f18-11e6-b363-448a5b355b84,job-name=quickstart +Pods Statuses: 0 Running / 1 Succeeded / 0 Failed +Volumes: + output: + Type: HostPath (bare host directory volume) + Path: /home/work/paddle_output +Events: + FirstSeen LastSeen Count From SubobjectPath Type Reason Message + --------- -------- ----- ---- ------------- -------- ------ ------- + 1m 1m 1 {job-controller } Normal SuccessfulCreate Created pod: quickstart-fa0wx +``` + +### 查看训练结果 + +根据Job对应的Pod信息,可以查看此Pod运行的宿主机。 + +``` +kubectl describe pod quickstart-fa0wx +Name: quickstart-fa0wx +Namespace: default +Node: paddle-demo-let02/10.206.202.44 +Start Time: Mon, 31 Oct 2016 11:20:17 +0800 +Labels: controller-uid=f120da72-9f18-11e6-b363-448a5b355b84,job-name=quickstart +Status: Succeeded +IP: 10.0.0.9 +Controllers: Job/quickstart +Containers: + quickstart: + Container ID: docker://b8561f5c79193550d64fa47418a9e67ebdd71546186e840f88de5026b8097465 + Image: registry.baidu.com/public/paddle:cpu-demo-latest + Image ID: docker://18e457ce3d362ff5f3febf8e7f85ffec852f70f3b629add10aed84f930a68750 + Port: + Command: + bin/bash + -c + /root/paddle/demo/quick_start/train.sh + QoS Tier: + cpu: BestEffort + memory: BestEffort + State: Terminated + Reason: Completed + Exit Code: 0 + Started: Mon, 31 Oct 2016 11:20:20 +0800 + Finished: Mon, 31 Oct 2016 11:21:46 +0800 + Ready: False + Restart Count: 0 + Environment Variables: +Conditions: + Type Status + Ready False +Volumes: + output: + Type: HostPath (bare host directory volume) + Path: /home/work/paddle_output +``` + +我们还可以登录到宿主机上查看训练结果。 + +``` +[root@paddle-demo-let02 paddle_output]# ll +total 60 +drwxr-xr-x 2 root root 4096 Oct 31 11:20 pass-00000 +drwxr-xr-x 2 root root 4096 Oct 31 11:20 pass-00001 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00002 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00003 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00004 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00005 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00006 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00007 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00008 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00009 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00010 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00011 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00012 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00013 +drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00014 +``` diff --git a/release/0.10.0/doc_cn/_sources/howto/usage/k8s/k8s_distributed_cn.md.txt b/release/0.10.0/doc_cn/_sources/howto/usage/k8s/k8s_distributed_cn.md.txt new file mode 100644 index 0000000000..3121b3f59d --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/howto/usage/k8s/k8s_distributed_cn.md.txt @@ -0,0 +1,315 @@ +# Kubernetes分布式训练 + +前一篇文章介绍了如何在Kubernetes集群上启动一个单机PaddlePaddle训练作业 (Job)。在这篇文章里,我们介绍如何在Kubernetes集群上进行分布式PaddlePaddle训练作业。关于PaddlePaddle的分布式训练,文章 [Cluster Training](https://github.com/baidu/Paddle/blob/develop/doc/cluster/opensource/cluster_train.md)介绍了一种通过SSH远程分发任务,进行分布式训练的方法,与此不同的是,本文将介绍在Kubernetes容器管理平台上快速构建PaddlePaddle容器集群,进行分布式训练的方案。 + +有关Kubernetes相关概念以及如何搭建和配置Kubernetes集群,可以参考[k8s_basis](./k8s_basis_cn.md)。 + +## 整体方案 + +在训练之前,用户将配置与训练数据切分好放在分布式文件系统预先分配好的目录中(不同的分布式文件系统,需要使用其制定的方式挂载后并导入数据),训练时,程序从此目录拷贝文件到容器内进行训练,将结果保存到此目录里。整体的结构图如下: + +![paddle on kubernetes结构图](src/k8s-paddle-arch.png) + +上图描述了一个3节点的分布式训练场景,在每个Pod上都通过volume方式挂载分布式文件系统的一个目录用于保存训练数据和输出结果。Kubernetes为这次训练创建了3个pod并且调度到了3个node上运行,每个pod包含一个PaddlePaddle容器。在容器创建后,会启动pserver与trainer进程,读取volume中的数据进行这次分布式训练。 + +根据前文的描述,要在已有的Kubernetes集群上进行PaddlePaddle的分布式训练,按照下面步骤即可: + +1. [制作PaddlePaddle镜像](#制作镜像) +1. [将训练文件与切分好的数据上传到共享存储](#上传训练文件) +1. [编写本次训练的YAML文件,创建一个Kubernetes job](#创建Job) +1. [训练结束后查看输出结果](#查看输出) + +下面就根据这几个步骤分别介绍。 + +### 制作镜像 + +PaddlePaddle镜像需要提供`paddle pserver`与`paddle train`进程的运行环境,用这个镜像创建的容器需要有以下两个功能: + +- 拷贝训练文件到容器内 +- 生成`paddle pserver`与`paddle train`进程的启动参数,并且启动训练 + +因为官方镜像 `paddledev/paddle:cpu-latest` 内已经包含PaddlePaddle的执行程序但是还没上述功能,所以我们可以在这个基础上,添加启动脚本,制作新镜像来完成以上的工作。参考镜像的[*Dockerfile*](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/howto/usage/cluster/k8s/src/k8s_train/Dockerfile)。 + +```bash +$ cd doc/howto/usage/k8s/src/k8s_train +$ docker build -t [YOUR_REPO]/paddle:mypaddle . +``` + +然后将构建成功的镜像上传到镜像仓库。 + +```bash +docker push [YOUR_REPO]/paddle:mypaddle +``` + +注意上述命令中`[YOUR_REPO]`表示读者所使用的Docker镜像仓库地址,读者需要替换成自己使用的仓库地址。下文使用`[YOUR_REPO]/paddle:mypaddle`这个地址来表示此步骤所构建出的镜像。 + +### 准备训练数据 + +这里我们通过在Kubernetes集群上启动一个Job来下载并切割数据,也可以通过修改[k8s_train](./src/k8s_train/README.md)的内容来定制image. + +在启动Job之前,需要根据不同的分布式存储来绑定一个[persistentVolumeClaim](https://kubernetes.io/docs/user-guide/persistent-volumes/),生成的数据将会存储在这个volume下. + +```yaml +apiVersion: batch/v1 +kind: Job +metadata: + name: paddle-data +spec: + template: + metadata: + name: pi + spec: + hostNetwork: true + containers: + - name: paddle-data + image: paddledev/paddle-tutorial:k8s_data + imagePullPolicy: Always + volumeMounts: + - mountPath: "/mnt" + name: nfs + env: + - name: OUT_DIR + value: /home/work/mfs/paddle-cluster-job + - name: SPLIT_COUNT + value: "3" + volumes: + - name: nfs + persistentVolumeClaim: + claimName: mfs + restartPolicy: Never +``` + +完成后volume中的文件内容大致如下: +```base +[root@paddle-kubernetes-node0 nfsdir]$ tree -d +. +`-- paddle-cluster-job + |-- 0 + | `-- data + |-- 1 + | `-- data + |-- 2 + | `-- data + |-- output + |-- quick_start +``` + +目录中paddle-cluster-job是本次训练对应的job name,本次训练要求有3个PaddlePaddle节点,在paddle-cluster-job/data目录中存放切分好的数据,文件夹0,1,2分别代表3个节点的trainer_id。recommendation文件夹内存放训练文件,output文件夹存放训练结果与日志。 + +### 创建Job + +Kubernetes可以通过YAML文件来创建相关对象,然后可以使用命令行工具创建job。 + +Job YAML文件描述了这次训练使用的Docker镜像,需要启动的节点个数以及 `paddle pserver`与 `paddle train`进程启动的必要参数,也描述了容器需要使用的存储卷挂载的情况。YAML文件中各个字段的具体含义,可以查看[Kubernetes Job API](http://kubernetes.io/docs/api-reference/batch/v1/definitions/#_v1_job)。例如,本次训练的YAML文件可以写成: + +```yaml +apiVersion: batch/v1 +kind: Job +metadata: + name: paddle-cluster-job +spec: + parallelism: 3 + completions: 3 + template: + metadata: + name: paddle-cluster-job + spec: + volumes: + - name: jobpath + hostPath: + path: /home/work/mfs + containers: + - name: trainer + image: [YOUR_REPO]/paddle:mypaddle + command: ["bin/bash", "-c", "/root/start.sh"] + env: + - name: JOB_NAME + value: paddle-cluster-job + - name: JOB_PATH + value: /home/jobpath + - name: JOB_NAMESPACE + value: default + - name: TRAIN_CONFIG_DIR + value: recommendation + - name: CONF_PADDLE_NIC + value: eth0 + - name: CONF_PADDLE_PORT + value: "7164" + - name: CONF_PADDLE_PORTS_NUM + value: "2" + - name: CONF_PADDLE_PORTS_NUM_SPARSE + value: "2" + - name: CONF_PADDLE_GRADIENT_NUM + value: "3" + volumeMounts: + - name: jobpath + mountPath: /home/jobpath + restartPolicy: Never +``` + +文件中,`metadata`下的`name`表示这个job的名字。`parallelism,completions`字段表示这个job会同时开启3个PaddlePaddle节点,成功训练且退出的pod数目为3时,这个job才算成功结束。然后申明一个存储卷`jobpath`,代表宿主机目录`/home/work/mfs`,在对容器的描述`containers`字段中,将此目录挂载为容器的`/home/jobpath`目录,这样容器的`/home/jobpath`目录就成为了共享存储,放在这个目录里的文件其实是保存到了MFS上。 + +`env`字段表示容器的环境变量,我们将`paddle`运行的一些参数通过这种方式传递到容器内。 + +环境变量 | 说明 +--- | --- +JOB_PATH | 共享存储挂在的路径 +JOB_NAME | Job的名字 +TRAIN_CONFIG_DIR | 本次训练文件所在目录,与JOB_PATH,JOB_NAME组合可以找到本次训练需要的文件路径 +CONF_PADDLE_NIC | `paddle pserver`进程需要的`--nics`参数,即网卡名 +CONF_PADDLE_PORT | `paddle paserver`的`--port`参数 +CONF_PADDLE_PORTS_NUM | 稠密更新的端口数量,即`--ports_num`参数 +CONF_PADDLE_PORTS_NUM_SPARSE | 稀疏更新的端口数量,即`--ports_num_for_sparse`参数 +CONF_PADDLE_GRADIENT_NUM | 训练节点数量,即`--num_gradient_servers参数` + +这些参数的具体描述,读者可以查看[这里](http://www.paddlepaddle.org/doc/ui/cmd_argument/detail_introduction.html#parameter-server-and-distributed-communication)。 + +编写完YAML文件后,可以使用Kubernetes的命令行工具创建job。 + +```bash +kubectl create -f job.yaml +``` + +创建成功后,Kubernetes就会创建3个pod作为PaddlePaddle节点然后拉取镜像,启动容器开始训练。 + + +### 查看输出 + +在训练过程中,可以在共享存储上查看输出的日志和模型,例如output目录下就存放了输出结果。注意node_0,node_1,node_2这几个目录表示PaddlePaddle节点与trainer_id,并不是Kubernetes中的node概念。 + +```bash +[root@paddle-kubernetes-node0 output]# tree -d +. +├── node_0 +│   ├── server.log +│   └── train.log +├── node_1 +│   ├── server.log +│   └── train.log +├── node_2 +...... +├── pass-00002 +│   ├── done +│   ├── ___embedding_0__.w0 +│   ├── ___embedding_1__.w0 +...... +``` + +我们可以通过日志查看容器训练的情况,例如: + +```bash +[root@paddle-kubernetes-node0 node_0]# cat train.log +I1116 09:10:17.123121 50 Util.cpp:155] commandline: + /usr/local/bin/../opt/paddle/bin/paddle_trainer + --nics=eth0 --port=7164 + --ports_num=2 --comment=paddle_process_by_paddle + --pservers=192.168.129.66,192.168.223.143,192.168.129.71 + --ports_num_for_sparse=2 --config=./trainer_config.py + --trainer_count=4 --num_passes=10 --use_gpu=0 + --log_period=50 --dot_period=10 --saving_period=1 + --local=0 --trainer_id=0 + --save_dir=/home/jobpath/paddle-cluster-job/output +I1116 09:10:17.123440 50 Util.cpp:130] Calling runInitFunctions +I1116 09:10:17.123764 50 Util.cpp:143] Call runInitFunctions done. +[WARNING 2016-11-16 09:10:17,227 default_decorators.py:40] please use keyword arguments in paddle config. +[INFO 2016-11-16 09:10:17,239 networks.py:1282] The input order is [movie_id, title, genres, user_id, gender, age, occupation, rating] +[INFO 2016-11-16 09:10:17,239 networks.py:1289] The output order is [__mse_cost_0__] +I1116 09:10:17.392917 50 Trainer.cpp:170] trainer mode: Normal +I1116 09:10:17.613910 50 PyDataProvider2.cpp:257] loading dataprovider dataprovider::process +I1116 09:10:17.680917 50 PyDataProvider2.cpp:257] loading dataprovider dataprovider::process +I1116 09:10:17.681543 50 GradientMachine.cpp:134] Initing parameters.. +I1116 09:10:18.012390 50 GradientMachine.cpp:141] Init parameters done. +I1116 09:10:18.018641 50 ParameterClient2.cpp:122] pserver 0 192.168.129.66:7164 +I1116 09:10:18.018950 50 ParameterClient2.cpp:122] pserver 1 192.168.129.66:7165 +I1116 09:10:18.019069 50 ParameterClient2.cpp:122] pserver 2 192.168.223.143:7164 +I1116 09:10:18.019492 50 ParameterClient2.cpp:122] pserver 3 192.168.223.143:7165 +I1116 09:10:18.019716 50 ParameterClient2.cpp:122] pserver 4 192.168.129.71:7164 +I1116 09:10:18.019836 50 ParameterClient2.cpp:122] pserver 5 192.168.129.71:7165 +``` + + +## 一些细节的补充 + +### 使用环境变量 + +使用容器方式运行训练任务的Kubernetes Job,通常会使用环境变量配置Job的配置信息`start_paddle.py`提供了一个启动脚本,将环境变量转换成paddle的命令行参数: +``` +API = "/api/v1/namespaces/" +JOBSELECTOR = "labelSelector=job-name=" +JOB_PATH = os.getenv("JOB_PATH") + "/" + os.getenv("JOB_NAME") +JOB_PATH_OUTPUT = JOB_PATH + "/output" +JOBNAME = os.getenv("JOB_NAME") +NAMESPACE = os.getenv("JOB_NAMESPACE") +PADDLE_NIC = os.getenv("CONF_PADDLE_NIC") +PADDLE_PORT = os.getenv("CONF_PADDLE_PORT") +PADDLE_PORTS_NUM = os.getenv("CONF_PADDLE_PORTS_NUM") +PADDLE_PORTS_NUM_SPARSE = os.getenv("CONF_PADDLE_PORTS_NUM_SPARSE") +PADDLE_SERVER_NUM = os.getenv("CONF_PADDLE_GRADIENT_NUM") +``` + +### Pod间通信 +`start_paddle.py`脚本开始时,会先进行参数的初始化与解析。 + +```python +parser = argparse.ArgumentParser(prog="start_paddle.py", + description='simple tool for k8s') + args, train_args_list = parser.parse_known_args() + train_args = refine_unknown_args(train_args_list) + train_args_dict = dict(zip(train_args[:-1:2], train_args[1::2])) + podlist = getPodList() +``` + +然后通过函数`getPodList()`访问Kubernetes的接口来查询此job对应的所有pod信息。当所有pod都处于running状态(容器运行都运行)时,再通过函数`getIdMap(podlist)`获取trainer_id。 + +```python + podlist = getPodList() + # need to wait until all pods are running + while not isPodAllRunning(podlist): + time.sleep(10) + podlist = getPodList() + idMap = getIdMap(podlist) +``` +* *注意*: `getPodList()`会获取当前namespace下的所有pod,如果已经有pod运行,可能会导致出错。这种集群节点管理方式会在将来使用[statfulsets](https://kubernetes.io/docs/concepts/abstractions/controllers/statefulsets/)代替。 + +在函数`getIdMap(podlist)`内部,我们通过读取`podlist`中每个pod的IP地址,将IP排序生成的序号作为trainer_id。 + +```python +def getIdMap(podlist): + ''' + generate tainer_id by ip + ''' + ips = [] + for pod in podlist["items"]: + ips.append(pod["status"]["podIP"]) + ips.sort() + idMap = {} + for i in range(len(ips)): + idMap[ips[i]] = i + return idMap +``` + +在得到`idMap`后,通过函数`startPaddle(idMap, train_args_dict)`构造`paddle pserver`与`paddle train`的启动参数并执行进程。 + +### 启动任务 + +在函数`startPaddle`中,最主要的工作就是解析出`paddle pserver`与`paddle train`的启动参数。例如`paddle train`参数的解析,解析环境变量得到`PADDLE_NIC`,`PADDLE_PORT`,`PADDLE_PORTS_NUM`等参数,然后通过自身的IP地址在`idMap`中获取`trainerId`。 + +```python + program = 'paddle train' + args = " --nics=" + PADDLE_NIC + args += " --port=" + str(PADDLE_PORT) + args += " --ports_num=" + str(PADDLE_PORTS_NUM) + args += " --comment=" + "paddle_process_by_paddle" + ip_string = "" + for ip in idMap.keys(): + ip_string += (ip + ",") + ip_string = ip_string.rstrip(",") + args += " --pservers=" + ip_string + args_ext = "" + for key, value in train_args_dict.items(): + args_ext += (' --' + key + '=' + value) + localIP = socket.gethostbyname(socket.gethostname()) + trainerId = idMap[localIP] + args += " " + args_ext + " --trainer_id=" + \ + str(trainerId) + " --save_dir=" + JOB_PATH_OUTPUT +``` diff --git a/release/0.10.0/doc_cn/_sources/howto/usage/k8s/src/k8s_data/README.md.txt b/release/0.10.0/doc_cn/_sources/howto/usage/k8s/src/k8s_data/README.md.txt new file mode 100644 index 0000000000..83cef7affd --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/howto/usage/k8s/src/k8s_data/README.md.txt @@ -0,0 +1,6 @@ +To build PaddlePaddle data preparation image in tutorial [Distributed PaddlePaddle Training on AWS with Kubernetes](../../k8s_aws_en.md), run following commands: + +``` +cp -r ../../../../../../demo/quick_start . +docker build . -t prepare-data-image-name +``` diff --git a/release/0.10.0/doc_cn/_sources/howto/usage/k8s/src/k8s_train/README.md.txt b/release/0.10.0/doc_cn/_sources/howto/usage/k8s/src/k8s_train/README.md.txt new file mode 100644 index 0000000000..96bf65497f --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/howto/usage/k8s/src/k8s_train/README.md.txt @@ -0,0 +1,5 @@ +To build PaddlePaddle training image in tutorial [Distributed PaddlePaddle Training on AWS with Kubernetes](../../k8s_aws_en.md), run following command: + +``` +docker build . -t train-image-name +``` diff --git a/release/0.10.0/doc_cn/_sources/index_cn.rst.txt b/release/0.10.0/doc_cn/_sources/index_cn.rst.txt new file mode 100644 index 0000000000..9279bac7f4 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/index_cn.rst.txt @@ -0,0 +1,10 @@ +PaddlePaddle 文档 +====================== + +.. toctree:: + :maxdepth: 1 + + getstarted/index_cn.rst + howto/index_cn.rst + api/index_cn.rst + faq/index_cn.rst diff --git a/release/0.10.0/doc_cn/_sources/tutorials/embedding_model/index_cn.md.txt b/release/0.10.0/doc_cn/_sources/tutorials/embedding_model/index_cn.md.txt new file mode 100644 index 0000000000..2b4a79fbbf --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/tutorials/embedding_model/index_cn.md.txt @@ -0,0 +1,139 @@ +# 中文词向量模型的使用 # +---------- +本文档介绍如何在PaddlePaddle平台上,使用预训练的标准格式词向量模型。 + +在此感谢 @lipeng 提出的代码需求,并给出的相关模型格式的定义。 + +## 介绍 ### +### 中文字典 ### +我们的字典使用内部的分词工具对百度知道和百度百科的语料进行分词后产生。分词风格如下: "《红楼梦》"将被分为 "《","红楼梦","》",和 "《红楼梦》"。字典采用UTF8编码,输出有2列:词本身和词频。字典共包含 3206326个词和4个特殊标记: + - ``: 分词序列的开始 + - ``: 分词序列的结束 + - `PALCEHOLDER_JUST_IGNORE_THE_EMBEDDING`: 占位符,没有实际意义 + - ``: 未知词 + +### 中文词向量的预训练模型 ### +遵循文章 [A Neural Probabilistic Language Model](http://www.jmlr.org/papers/volume3/bengio03a/bengio03a.pdf)中介绍的方法,模型采用 n-gram 语言模型,结构如下图:6元上下文作为输入层->全连接层->softmax层 。对应于字典,我们预训练得到4种不同维度的词向量,分别为:32维、64维、128维和256维。 +

![](./neural-n-gram-model.png)
+
Figure 1. neural-n-gram-model
+ +### 下载和数据抽取 ### +运行以下的命令下载和获取我们的字典和预训练模型: + + cd $PADDLE_ROOT/demo/model_zoo/embedding + ./pre_DictAndModel.sh + +## 中文短语改写的例子 ## +以下示范如何使用预训练的中文字典和词向量进行短语改写。 + +### 数据的准备和预处理 ### +首先,运行以下的命令下载数据集。该数据集(utf8编码)包含20个训练样例,5个测试样例和2个生成式样例。 + + cd $PADDLE_ROOT/demo/seqToseq/data + ./paraphrase_data.sh + +第二步,将数据处理成规范格式,在训练数集上训练生成词向量字典(数据将保存在 `$PADDLE_SOURCE_ROOT/demo/seqToseq/data/pre-paraphrase`): + + cd $PADDLE_ROOT/demo/seqToseq/ + python preprocess.py -i data/paraphrase [--mergeDict] + +- 其中,如果使用`--mergeDict`选项,源语言短语和目标语言短语的字典将被合并(源语言和目标语言共享相同的编码字典)。本实例中,源语言和目标语言都是相同的语言,因此可以使用该选项。 + + +### 使用用户指定的词向量字典 ### +使用如下命令,从预训练模型中,根据用户指定的字典,抽取对应的词向量构成新的词表: + cd $PADDLE_ROOT/demo/model_zoo/embedding + python extract_para.py --preModel PREMODEL --preDict PREDICT --usrModel USRMODEL--usrDict USRDICT -d DIM + +- `--preModel PREMODEL`: 预训练词向量字典模型的路径 +- `--preDict PREDICT`: 预训练模型使用的字典的路径 +- `--usrModel USRMODEL`: 抽取出的新词表的保存路径 +- `--usrDict USRDICT`: 用户指定新的字典的路径,用于构成新的词表 +- `-d DIM`: 参数(词向量)的维度 + +此处,你也可以简单的运行以下的命令: + + cd $PADDLE_ROOT/demo/seqToseq/data/ + ./paraphrase_model.sh + +运行成功以后,你将会看到以下的模型结构: + + paraphrase_model + |--- _source_language_embedding + |--- _target_language_embedding + +### 在PaddlePaddle平台训练模型 ### +首先,配置模型文件,配置如下(可以参考保存在 `demo/seqToseq/paraphrase/train.conf`的配置): + + from seqToseq_net import * + is_generating = False + + ################## Data Definition ##################### + train_conf = seq_to_seq_data(data_dir = "./data/pre-paraphrase", + job_mode = job_mode) + + ############## Algorithm Configuration ################## + settings( + learning_method = AdamOptimizer(), + batch_size = 50, + learning_rate = 5e-4) + + ################# Network configure ##################### + gru_encoder_decoder(train_conf, is_generating, word_vector_dim = 32) + +这个配置与`demo/seqToseq/translation/train.conf` 基本相同 + +然后,使用以下命令进行模型训练: + + cd $PADDLE_SOURCE_ROOT/demo/seqToseq/paraphrase + ./train.sh + +其中,`train.sh` 与`demo/seqToseq/translation/train.sh` 基本相同,只有2个配置不一样: + +- `--init_model_path`: 初始化模型的路径配置为`data/paraphrase_modeldata/paraphrase_model` +- `--load_missing_parameter_strategy`:如果参数模型文件缺失,除词向量模型外的参数将使用正态分布随机初始化 + +如果用户想要了解详细的数据集的格式、模型的结构和训练过程,请查看 [Text generation Tutorial](../text_generation/index_cn.md). + +## 可选功能 ## +### 观测词向量 +PaddlePaddle 平台为想观测词向量的用户提供了将二进制词向量模型转换为文本模型的功能: + + cd $PADDLE_ROOT/demo/model_zoo/embedding + python paraconvert.py --b2t -i INPUT -o OUTPUT -d DIM + +- `-i INPUT`: 输入的(二进制)词向量模型名称 +- `-o OUTPUT`: 输出的文本模型名称 +- `-d DIM`: (词向量)参数维度 + +运行完以上命令,用户可以在输出的文本模型中看到: + + 0,4,32156096 + -0.7845433,1.1937413,-0.1704215,0.4154715,0.9566584,-0.5558153,-0.2503305, ...... + 0.0000909,0.0009465,-0.0008813,-0.0008428,0.0007879,0.0000183,0.0001984, ...... + ...... + +- 其中,第一行是`PaddlePaddle` 输出文件的格式说明,包含3个属性:: + - `PaddlePaddle`的版本号,本例中为0 + - 浮点数占用的字节数,本例中为4 + - 总计的参数个数,本例中为32,156,096 +- 其余行是(词向量)参数行(假设词向量维度为32) + - 每行打印32个参数以','分隔 + - 共有32,156,096/32 = 1,004,877行,也就是说,模型共包含1,004,877个被向量化的词 + +### 词向量模型的修正 +`PaddlePaddle` 为想修正词向量模型的用户提供了将文本词向量模型转换为二进制模型的命令: + + cd $PADDLE_ROOT/demo/model_zoo/embedding + python paraconvert.py --t2b -i INPUT -o OUTPUT + +- `-i INPUT`: 输入的文本词向量模型名称 +- `-o OUTPUT`: 输出的二进制词向量模型名称 + +请注意,输入的文本格式如下: + + -0.7845433,1.1937413,-0.1704215,0.4154715,0.9566584,-0.5558153,-0.2503305, ...... + 0.0000909,0.0009465,-0.0008813,-0.0008428,0.0007879,0.0000183,0.0001984, ...... + ...... +- 输入文本中没有头部(格式说明)行 +- (输入文本)每行存储一个词,以逗号','分隔 diff --git a/release/0.10.0/doc_cn/_sources/tutorials/image_classification/index_cn.md.txt b/release/0.10.0/doc_cn/_sources/tutorials/image_classification/index_cn.md.txt new file mode 100644 index 0000000000..87f465522a --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/tutorials/image_classification/index_cn.md.txt @@ -0,0 +1,205 @@ +图像分类教程 +========== + +在本教程中,我们将使用CIFAR-10数据集训练一个卷积神经网络,并使用这个神经网络来对图片进行分类。如下图所示,卷积神经网络可以辨识图片中的主体,并给出分类结果。 +
![Image Classification](./image_classification.png)
+ +## 数据准备 +首先下载CIFAR-10数据集。下面是CIFAR-10数据集的官方网址: + + + +我们准备了一个脚本,可以用于从官方网站上下载CIFAR-10数据集,转为jpeg文件并存入特定的目录。使用这个脚本前请确认已经安装了pillow及相关依赖模块。可以参照下面的命令进行安装: + +1. 安装pillow + +```bash +sudo apt-get install libjpeg-dev +pip install pillow +``` + +2. 下载数据集 + +```bash +cd demo/image_classification/data/ +sh download_cifar.sh +``` + +CIFAR-10数据集包含60000张32x32的彩色图片。图片分为10类,每个类包含6000张。其中50000张图片作为训练集,10000张作为测试集。 + +下图展示了所有的图片类别,每个类别中随机抽取了10张图片。 +
![Image Classification](./cifar.png)
+ +脚本运行完成后,我们应当会得到一个名为cifar-out的文件夹,其下子文件夹的结构如下 + + +``` +train +---airplane +---automobile +---bird +---cat +---deer +---dog +---frog +---horse +---ship +---truck +test +---airplane +---automobile +---bird +---cat +---deer +---dog +---frog +---horse +---ship +---truck +``` + +cifar-out下包含`train`和`test`两个文件夹,其中分别包含了CIFAR-10中的训练集和测试集。这两个文件夹下各自有10个子文件夹,每个子文件夹下存储相应分类的图片。将图片按照上述结构存储好之后,我们就可以着手对分类模型进行训练了。 + +## 预处理 +数据下载之后,还需要进行预处理,将数据转换为Paddle的格式。我们可以通过如下命令进行预处理工作: + +``` +cd demo/image_classification/ +sh preprocess.sh +``` + +其中`preprocess.sh` 调用 `./demo/image_classification/preprocess.py` 对图片进行预处理 +```sh +export PYTHONPATH=$PYTHONPATH:../../ +data_dir=./data/cifar-out +python preprocess.py -i $data_dir -s 32 -c 1 +``` + +`./demo/image_classification/preprocess.py` 使用如下参数: + +- `-i` 或 `--input` 给出输入数据所在路径; +- `-s` 或 `--size` 给出图片尺寸; +- `-c` 或 `--color` 标示图片是彩色图或灰度图 + +## 模型训练 +在开始训练之前,我们需要先创建一个模型配置文件。下面我们给出了一个配置示例。**注意**,这里的列出的和`vgg_16_cifar.py`文件稍有差别,因为该文件可适用于预测。 + +```python +from paddle.trainer_config_helpers import * +data_dir='data/cifar-out/batches/' +meta_path=data_dir+'batches.meta' +args = {'meta':meta_path, 'mean_img_size': 32, + 'img_size': 32, 'num_classes': 10, + 'use_jpeg': 1, 'color': "color"} +define_py_data_sources2(train_list=data_dir+"train.list", + test_list=data_dir+'test.list', + module='image_provider', + obj='processData', + args=args) +settings( + batch_size = 128, + learning_rate = 0.1 / 128.0, + learning_method = MomentumOptimizer(0.9), + regularization = L2Regularization(0.0005 * 128)) + +img = data_layer(name='image', size=3*32*32) +lbl = data_layer(name="label", size=10) +# small_vgg is predined in trainer_config_helpers.network +predict = small_vgg(input_image=img, num_channels=3) +outputs(classification_cost(input=predict, label=lbl)) +``` + +在第一行中我们载入用于定义网络的函数。 +```python +from paddle.trainer_config_helpers import * +``` + +之后定义的`define_py_data_sources2`使用Python数据提供器,其中 `args`将在`image_provider.py`进行使用,该文件负责产生图片数据并传递给Paddle系统 + - `meta`: 训练集平均值。 + - `mean_img_size`: 平均特征图的高度及宽度。 + - `img_size`:输入图片的高度及宽度。 + - `num_classes`:类别个数。 + - `use_jpeg`:处理过程中数据存储格式。 + - `color`:标示是否为彩色图片。 + + `settings`用于设置训练算法。在下面的例子中,learning rate被设置为0.1除以batch size,而weight decay则为0.0005乘以batch size。 + + ```python +settings( + batch_size = 128, + learning_rate = 0.1 / 128.0, + learning_method = MomentumOptimizer(0.9), + regularization = L2Regularization(0.0005 * 128) +) +``` + +`small_vgg`定义了网络结构。这里我们使用的是一个小的VGG网络。关于VGG卷积神经网络的描述可以参考:[http://www.robots.ox.ac.uk/~vgg/research/very_deep/](http://www.robots.ox.ac.uk/~vgg/research/very_deep/)。 +```python +# small_vgg is predined in trainer_config_helpers.network +predict = small_vgg(input_image=img, num_channels=3) +``` +配置创建完毕后,可以运行脚本train.sh来训练模型。 + +```bash +config=vgg_16_cifar.py +output=./cifar_vgg_model +log=train.log + +paddle train \ +--config=$config \ +--dot_period=10 \ +--log_period=100 \ +--test_all_data_in_one_period=1 \ +--use_gpu=1 \ +--save_dir=$output \ +2>&1 | tee $log + +python -m paddle.utils.plotcurve -i $log > plot.png +``` +- 这里我们使用的是GPU模式进行训练。如果你没有GPU环境,可以设置`use_gpu=0`。 +- `./demo/image_classification/vgg_16_cifar.py`是网络和数据配置文件。各项参数的详细说明可以在命令行参数相关文档中找到。 +- 脚本`plotcurve.py`依赖于python的`matplotlib`模块。因此如果这个脚本运行失败,也许是因为需要安装`matplotlib`。 +在训练完成后,训练及测试误差曲线图会被`plotcurve.py`脚本保存在 `plot.png`中。下面是一个误差曲线图的示例: + +
![Training and testing curves.](./plot.png)
+ +## 预测 +在训练完成后,模型及参数会被保存在路径`./cifar_vgg_model/pass-%05d`下。例如第300个pass的模型会被保存在`./cifar_vgg_model/pass-00299`。 + +要对一个图片的进行分类预测,我们可以使用`predict.sh`,该脚本将输出预测分类的标签: + +``` +sh predict.sh +``` + +predict.sh: +``` +model=cifar_vgg_model/pass-00299/ +image=data/cifar-out/test/airplane/seaplane_s_000978.png +use_gpu=1 +python prediction.py $model $image $use_gpu +``` + +## 练习 +在CUB-200数据集上使用VGG模型训练一个鸟类图片分类模型。相关的鸟类数据集可以从如下地址下载,其中包含了200种鸟类的照片(主要来自北美洲)。 + + + + + + +## 细节探究 +### 卷积神经网络 +卷积神经网络是一种使用卷积层的前向神经网络,很适合构建用于理解图片内容的模型。一个典型的神经网络如下图所示: + +![Convolutional Neural Network](./lenet.png) + +一个卷积神经网络包含如下层: + +- 卷积层:通过卷积操作从图片或特征图中提取特征 +- 池化层:使用max-pooling对特征图下采样 +- 全连接层:使输入层到隐藏层的神经元是全部连接的。 + +卷积神经网络在图片分类上有着惊人的性能,这是因为它发掘出了图片的两类重要信息:局部关联性质和空间不变性质。通过交替使用卷积和池化处理, 卷积神经网络能够很好的表示这两类信息。 + +关于如何定义网络中的层,以及如何在层之间进行连接,请参考Layer文档。 diff --git a/release/0.10.0/doc_cn/_sources/tutorials/imagenet_model/resnet_model_cn.md.txt b/release/0.10.0/doc_cn/_sources/tutorials/imagenet_model/resnet_model_cn.md.txt new file mode 100644 index 0000000000..82ec9d70b3 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/tutorials/imagenet_model/resnet_model_cn.md.txt @@ -0,0 +1,284 @@ +# Model Zoo - ImageNet # + +[ImageNet](http://www.image-net.org/) 是通用物体分类领域一个众所周知的数据库。本教程提供了一个用于ImageNet上的卷积分类网络模型。 + +## ResNet 介绍 + +论文 [Deep Residual Learning for Image Recognition](http://arxiv.org/abs/1512.03385) 中提出的ResNet网络结构在2015年ImageNet大规模视觉识别竞赛(ILSVRC 2015)的分类任务中赢得了第一名。他们提出残差学习的框架来简化网络的训练,所构建网络结构的的深度比之前使用的网络有大幅度的提高。下图展示的是基于残差的连接方式。左图构造网络模块的方式被用于34层的网络中,而右图的瓶颈连接模块用于50层,101层和152层的网络结构中。 + +
![resnet_block](./resnet_block.jpg)
+
图 1. ResNet 网络模块
+ +本教程中我们给出了三个ResNet模型,这些模型都是由原作者提供的模型转换过来的。我们使用PaddlePaddle在ILSVRC的验证集共50,000幅图像上测试了模型的分类错误率,其中输入图像的颜色通道顺序为**BGR**,保持宽高比缩放到短边为256,只截取中心方形的图像区域。分类错误率和模型大小由下表给出。 +
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ResNetTop-1Model Size
ResNet-5024.9%99M
ResNet-10123.7%173M
ResNet-15223.2%234M
+
+ +## ResNet 模型 + +50层,101层和152层的网络配置文件可参照```demo/model_zoo/resnet/resnet.py```。你也可以通过在命令行参数中增加一个参数如```--config_args=layer_num=50```来指定网络层的数目。 + +### 网络可视化 + +你可以通过执行下面的命令来得到ResNet网络的结构可视化图。该脚本会生成一个dot文件,然后可以转换为图片。需要安装graphviz来转换dot文件为图片。 + +``` +cd demo/model_zoo/resnet +./net_diagram.sh +``` + +### 模型下载 + +``` +cd demo/model_zoo/resnet +./get_model.sh +``` +你可以执行上述命令来下载所有的模型和均值文件,如果下载成功,这些文件将会被保存在```demo/model_zoo/resnet/model```路径下。 + +``` +mean_meta_224 resnet_101 resnet_152 resnet_50 +``` + * resnet_50: 50层网络模型。 + * resnet_101: 101层网络模型。 + * resnet_152: 152层网络模型。 + * mean\_meta\_224: 均值图像文件,图像大小为3 x 224 x 224,颜色通道顺序为**BGR**。你也可以使用这三个值: 103.939, 116.779, 123.68。 + +### 参数信息 + +* **卷积层权重** + + 由于每个卷积层后面连接的是batch normalization层,因此该层中没有偏置(bias)参数,并且只有一个权重。 + 形状: `(Co, ky, kx, Ci)` + * Co: 输出特征图的通道数目 + * ky: 滤波器核在垂直方向上的尺寸 + * kx: 滤波器核在水平方向上的尺寸 + * Ci: 输入特征图的通道数目 + + 二维矩阵: (Co * ky * kx, Ci), 行优先次序存储。 + +* **全连接层权重** + + 二维矩阵: (输入层尺寸, 本层尺寸), 行优先次序存储。 + +* **[Batch Normalization]() 层权重** + +本层有四个参数,实际上只有.w0和.wbias是需要学习的参数,另外两个分别是滑动均值和方差。在测试阶段它们将会被加载到模型中。下表展示了batch normalization层的参数。 +
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
参数名尺寸含义
_res2_1_branch1_bn.w0256gamma, 缩放参数
_res2_1_branch1_bn.w1256特征图均值
_res2_1_branch1_bn.w2256特征图方差
_res2_1_branch1_bn.wbias256beta, 偏置参数
+
+ +### 参数读取 + +使用者可以使用下面的Python脚本来读取参数值: + +``` +import sys +import numpy as np + +def load(file_name): + with open(file_name, 'rb') as f: + f.read(16) # skip header for float type. + return np.fromfile(f, dtype=np.float32) + +if __name__=='__main__': + weight = load(sys.argv[1]) +``` + +或者直接使用下面的shell命令: + +``` +od -j 16 -f _res2_1_branch1_bn.w0 +``` + +## 特征提取 + +我们提供了C++和Python接口来提取特征。下面的例子使用了`demo/model_zoo/resnet/example`中的数据,详细地展示了整个特征提取的过程。 + +### C++接口 + +首先,在配置文件中的`define_py_data_sources2`里指定图像数据列表,具体请参照示例`demo/model_zoo/resnet/resnet.py`。 + +``` + train_list = 'train.list' if not is_test else None + # mean.meta is mean file of ImageNet dataset. + # mean.meta size : 3 x 224 x 224. + # If you use three mean value, set like: + # "mean_value:103.939,116.779,123.68;" + args={ + 'mean_meta': "model/mean_meta_224/mean.meta", + 'image_size': 224, 'crop_size': 224, + 'color': True,'swap_channel:': [2, 1, 0]} + define_py_data_sources2(train_list, + 'example/test.list', + module="example.image_list_provider", + obj="processData", + args=args) +``` + +第二步,在`resnet.py`文件中指定要提取特征的网络层的名字。例如, + +``` +Outputs("res5_3_branch2c_conv", "res5_3_branch2c_bn") +``` + +第三步,在`extract_fea_c++.sh`文件中指定模型路径和输出的目录,然后执行下面的命令。 + +``` +cd demo/model_zoo/resnet +./extract_fea_c++.sh +``` + +如果执行成功,特征将会存到`fea_output/rank-00000`文件中,如下所示。同时你可以使用`load_feature.py`文件中的`load_feature_c`接口来加载该文件。 + +``` +-0.115318 -0.108358 ... -0.087884;-1.27664 ... -1.11516 -2.59123; +-0.126383 -0.116248 ... -0.00534909;-1.42593 ... -1.04501 -1.40769; +``` + +* 每行存储的是一个样本的特征。其中,第一行存的是图像`example/dog.jpg`的特征,第二行存的是图像`example/cat.jpg`的特征。 +* 不同层的特征由分号`;`隔开,并且它们的顺序与`Outputs()`中指定的层顺序一致。这里,左边是`res5_3_branch2c_conv`层的特征,右边是`res5_3_branch2c_bn`层特征。 + +### Python接口 + +示例`demo/model_zoo/resnet/classify.py`中展示了如何使用Python来提取特征。下面的例子同样使用了`./example/test.list`中的数据。执行的命令如下: + +``` +cd demo/model_zoo/resnet +./extract_fea_py.sh +``` + +extract_fea_py.sh: + +``` +python classify.py \ + --job=extract \ + --conf=resnet.py\ + --use_gpu=1 \ + --mean=model/mean_meta_224/mean.meta \ + --model=model/resnet_50 \ + --data=./example/test.list \ + --output_layer="res5_3_branch2c_conv,res5_3_branch2c_bn" \ + --output_dir=features + +``` +* \--job=extract: 指定工作模式来提取特征。 +* \--conf=resnet.py: 网络配置文件。 +* \--use_gpu=1: 指定是否使用GPU。 +* \--model=model/resnet_50: 模型路径。 +* \--data=./example/test.list: 数据列表。 +* \--output_layer="xxx,xxx": 指定提取特征的层。 +* \--output_dir=features: 输出目录。 + +如果运行成功,你将会看到特征存储在`features/batch_0`文件中,该文件是由cPickle产生的。你可以使用`load_feature.py`中的`load_feature_py`接口来打开该文件,它将返回如下的字典: + +``` +{ +'cat.jpg': {'res5_3_branch2c_conv': array([[-0.12638293, -0.116248 , -0.11883899, ..., -0.00895038, 0.01994277, -0.00534909]], dtype=float32), 'res5_3_branch2c_bn': array([[-1.42593431, -1.28918779, -1.32414699, ..., -1.45933616, -1.04501402, -1.40769434]], dtype=float32)}, +'dog.jpg': {'res5_3_branch2c_conv': array([[-0.11531784, -0.10835785, -0.08809858, ...,0.0055237, 0.01505112, -0.08788397]], dtype=float32), 'res5_3_branch2c_bn': array([[-1.27663755, -1.18272924, -0.90937918, ..., -1.25178063, -1.11515927, -2.59122872]], dtype=float32)} +} +``` + +仔细观察,这些特征值与上述使用C++接口提取的结果是一致的。 + +## 预测 + +`classify.py`文件也可以用于对样本进行预测。我们提供了一个示例脚本`predict.sh`,它使用50层的ResNet模型来对`example/test.list`中的数据进行预测。 + +``` +cd demo/model_zoo/resnet +./predict.sh +``` + +predict.sh调用了`classify.py`: + +``` +python classify.py \ + --job=predict \ + --conf=resnet.py\ + --multi_crop \ + --model=model/resnet_50 \ + --use_gpu=1 \ + --data=./example/test.list +``` +* \--job=extract: 指定工作模型进行预测。 +* \--conf=resnet.py: 网络配置文件。network configure. +* \--multi_crop: 使用10个裁剪图像块,预测概率取平均。 +* \--use_gpu=1: 指定是否使用GPU。 +* \--model=model/resnet_50: 模型路径。 +* \--data=./example/test.list: 数据列表。 + +如果运行成功,你将会看到如下结果,其中156和285是这些图像的分类标签。 + +``` +Label of example/dog.jpg is: 156 +Label of example/cat.jpg is: 282 +``` diff --git a/release/0.10.0/doc_cn/_sources/tutorials/index_cn.md.txt b/release/0.10.0/doc_cn/_sources/tutorials/index_cn.md.txt new file mode 100644 index 0000000000..6a27004d58 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/tutorials/index_cn.md.txt @@ -0,0 +1,13 @@ +# 完整教程 + +* [快速入门](quick_start/index_cn.rst) +* [个性化推荐](rec/ml_regression_cn.rst) +* [图像分类](image_classification/index_cn.md) +* [情感分析](sentiment_analysis/index_cn.md) +* [语义角色标注](semantic_role_labeling/index_cn.md) +* [机器翻译](text_generation/index_cn.md) + +## 常用模型 + +* [ResNet模型](imagenet_model/resnet_model_cn.md) +* [词向量模型](embedding_model/index_cn.md) diff --git a/release/0.10.0/doc_cn/_sources/tutorials/quick_start/index_cn.rst.txt b/release/0.10.0/doc_cn/_sources/tutorials/quick_start/index_cn.rst.txt new file mode 100644 index 0000000000..d565fcf95e --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/tutorials/quick_start/index_cn.rst.txt @@ -0,0 +1,397 @@ +============= +快速入门教程 +============= + +我们将以 `文本分类问题 `_ 为例, +介绍PaddlePaddle的基本使用方法。 + +安装 +==== + +请参考 :ref:`install_steps` 安装PaddlePaddle。 + +使用概述 +======== + +**文本分类问题**:对于给定的一条文本,我们从提前给定的类别集合中选择其所属类别。 + +比如, 在购物网站上,通过查看买家对某个产品的评价反馈, 评估该产品的质量。 + +- 这个显示器很棒! (好评) +- 用了两个月之后这个显示器屏幕碎了。(差评) + +使用PaddlePaddle, 每一个任务流程都可以被划分为如下五个步骤。 + + .. image:: src/Pipeline_cn.jpg + :align: center + :scale: 80% + +1. 数据格式准备 + - 本例每行保存一条样本,类别Id和文本信息用 ``Tab`` 间隔,文本中的单词用空格分隔(如果不切词,则字与字之间用空格分隔),例如:``类别Id '\t' 这 个 显 示 器 很 棒 !`` +2. 向系统传送数据 + - PaddlePaddle可以执行用户的python脚本程序来读取各种格式的数据文件。 + - 本例的所有字符都将转换为连续整数表示的Id传给模型。 +3. 描述网络结构和优化算法 + - 本例由易到难展示4种不同的文本分类网络配置:逻辑回归模型,词向量模型,卷积模型,时序模型。 + - 常用优化算法包括Momentum, RMSProp,AdaDelta,AdaGrad,Adam,Adamax等,本例采用Adam优化方法,加了L2正则和梯度截断。 +4. 训练模型 +5. 应用模型 + +数据格式准备 +------------ + +接下来我们将展示如何用PaddlePaddle训练一个文本分类模型,将 `Amazon电子产品评论数据 `_ 分为好评(正样本)和差评(负样本)两种类别。 +`源代码 `_ 的 ``demo/quick_start`` 目录里提供了该数据的下载脚本和预处理脚本,你只需要在命令行输入以下命令,就能够很方便的完成数据下载和相应的预处理工作。 + +.. code-block:: bash + + cd demo/quick_start + ./data/get_data.sh + ./preprocess.sh + +数据预处理完成之后,通过配置类似于 ``dataprovider_*.py`` 的数据读取脚本和类似于 ``trainer_config.*.py`` 的训练模型脚本,PaddlePaddle将以设置参数的方式来设置 +相应的数据读取脚本和训练模型脚本。接下来,我们将对这两个步骤给出了详细的解释,你也可以先跳过本文的解释环节,直接进入训练模型章节, 使用 ``sh train.sh`` 开始训练模型, +查看`train.sh`内容,通过 **自底向上法** (bottom-up approach)来帮助你理解PaddlePaddle的内部运行机制。 + + +向系统传送数据 +============== + +Python脚本读取数据 +------------------ + +`DataProvider` 是PaddlePaddle负责提供数据的模块,主要职责在于将训练数据传入内存或者显存,让模型能够得到训练更新,其包括两个函数: + +* initializer:PaddlePaddle会在调用读取数据的Python脚本之前,先调用initializer函数。在下面例子里,我们在initialzier函数里初始化词表,并且在随后的读取数据过程中填充词表。 +* process:PaddlePaddle调用process函数来读取数据。每次读取一条数据后,process函数会用yield语句输出这条数据,从而能够被PaddlePaddle 捕获 (harvest)。 + +``dataprovider_bow.py`` 文件给出了完整例子: + +.. literalinclude:: ../../../demo/quick_start/dataprovider_bow.py + :language: python + :lines: 21-70 + :linenos: + :emphasize-lines: 8,33 + +详细内容请参见 :ref:`api_dataprovider` 。 + +配置中的数据加载定义 +-------------------- + +在模型配置中通过 ``define_py_data_sources2`` 接口来加载数据: + +.. literalinclude:: ../../../demo/quick_start/trainer_config.emb.py + :language: python + :lines: 19-35 + :linenos: + :emphasize-lines: 12 + + +以下是对上述数据加载的解释: + +- data/train.list,data/test.list: 指定训练数据和测试数据 +- module="dataprovider_bow": 处理数据的Python脚本文件 +- obj="process": 指定生成数据的函数 +- args={"dictionary": word_dict}: 额外的参数,这里指定词典 + +更详细数据格式和用例请参考 :ref:`api_pydataprovider2` 。 + +模型网络结构 +============ + +本小节我们将介绍模型网络结构。 + + .. image:: src/PipelineNetwork_cn.jpg + :align: center + :scale: 80% + + +我们将以最基本的逻辑回归网络作为起点,并逐渐展示更加深入的功能。更详细的网络配置连接请参考 :ref:`api_trainer_config_helpers_layers` 。 +所有配置都能在 `源代码 `_ 的 ``demo/quick_start`` 目录下找到。 + +逻辑回归模型 +------------ + +具体流程如下: + + .. image:: src/NetLR_cn.jpg + :align: center + :scale: 80% + +- 获取利用 `one-hot vector `_ 表示的每个单词,维度是词典大小 + + .. code-block:: python + + word = data_layer(name="word", size=word_dim) + +- 获取该条样本类别Id,维度是类别个数。 + + .. code-block:: python + + label = data_layer(name="label", size=label_dim) + +- 利用逻辑回归模型对该向量进行分类,同时会计算分类准确率 + + .. code-block:: python + + # Define a fully connected layer with logistic activation (also called softmax activation). + output = fc_layer(input=word, + size=label_dim, + act_type=SoftmaxActivation()) + # Define cross-entropy classification loss and error. + classification_cost(input=output, label=label) + + + - input: 除去data层,每个层都有一个或多个input,多个input以list方式输入 + - size: 该层神经元个数 + - act_type: 激活函数类型 + +**效果总结**:我们将在后面介绍训练和预测流程的脚本。在此为方便对比不同网络结构,我们总结了各个网络的复杂度和效果。 + + ===================== =============================== ================= + 网络名称 参数数量 错误率 + ===================== =============================== ================= + 逻辑回归 252 KB 8.652 % + ===================== =============================== ================= + +词向量模型 +---------- + +embedding模型需要稍微改变提供数据的Python脚本,即 ``dataprovider_emb.py``,词向量模型、 +卷积模型、时序模型均使用该脚本。其中文本输入类型定义为整数时序类型integer_value_sequence。 + +.. code-block:: python + + def initializer(settings, dictionary, **kwargs): + settings.word_dict = dictionary + settings.input_types = [ + # Define the type of the first input as sequence of integer. + # The value of the integers range from 0 to len(dictrionary)-1 + integer_value_sequence(len(dictionary)), + # Define the second input for label id + integer_value(2)] + + @provider(init_hook=initializer) + def process(settings, file_name): + ... + # omitted, it is same as the data provider for LR model + +该模型依然使用逻辑回归分类网络的框架, 只是将句子用连续向量表示替换为用稀疏向量表示, 即对第三步进行替换。句子表示的计算更新为两步: + +.. image:: src/NetContinuous_cn.jpg + :align: center + :scale: 80% + +- 利用单词Id查找该单词对应的连续向量(维度为word_dim), 输入N个单词,输出为N个word_dim维度向量 + + .. code-block:: python + + emb = embedding_layer(input=word, size=word_dim) + +- 将该句话包含的所有单词向量求平均, 得到句子的表示 + + .. code-block:: python + + avg = pooling_layer(input=emb, pooling_type=AvgPooling()) + +其它部分和逻辑回归网络结构一致。 + +**效果总结:** + + ===================== =============================== ================== + 网络名称 参数数量 错误率 + ===================== =============================== ================== + 词向量模型 15 MB 8.484 % + ===================== =============================== ================== + +卷积模型 +----------- + +卷积网络是一种特殊的从词向量表示到句子表示的方法, 也就是将词向量模型进一步演化为三个新步骤。 + +.. image:: src/NetConv_cn.jpg + :align: center + :scale: 80% + +文本卷积分可为三个步骤: + +1. 首先,从每个单词左右两端分别获取k个相邻的单词, 拼接成一个新的向量; + +2. 其次,对该向量进行非线性变换(例如Sigmoid变换), 使其转变为维度为hidden_dim的新向量; + +3. 最后,对整个新向量集合的每一个维度取最大值来表示最后的句子。 + +这三个步骤可配置为: + +.. code-block:: python + + text_conv = sequence_conv_pool(input=emb, + context_start=k, + context_len=2 * k + 1) + +**效果总结:** + + ===================== =============================== ======================== + 网络名称 参数数量 错误率 + ===================== =============================== ======================== + 卷积模型 16 MB 5.628 % + ===================== =============================== ======================== + +时序模型 +---------- + +.. image:: src/NetRNN_cn.jpg + :align: center + :scale: 80% + +时序模型,也称为RNN模型, 包括简单的 `RNN模型 `_, `GRU模型 `_ 和 `LSTM模型 `_ 等等。 + +- GRU模型配置: + + .. code-block:: python + + gru = simple_gru(input=emb, size=gru_size) + + +- LSTM模型配置: + + .. code-block:: python + + lstm = simple_lstm(input=emb, size=lstm_size) + +本次试验,我们采用单层LSTM模型,并使用了Dropout,**效果总结:** + + ===================== =============================== ========================= + 网络名称 参数数量 错误率 + ===================== =============================== ========================= + 时序模型 16 MB 4.812 % + ===================== =============================== ========================= + +优化算法 +========= + +`优化算法 `_ 包括 +Momentum, RMSProp,AdaDelta,AdaGrad,ADAM,Adamax等,这里采用Adam优化方法,同时使用了L2正则(L2 Regularization)和梯度截断(Gradient Clipping)。 + +.. code-block:: python + + settings(batch_size=128, + learning_rate=2e-3, + learning_method=AdamOptimizer(), + regularization=L2Regularization(8e-4), + gradient_clipping_threshold=25) + +训练模型 +========= + +在数据加载和网络配置完成之后, 我们就可以训练模型了。 + +.. image:: src/PipelineTrain_cn.jpg + :align: center + :scale: 80% + +训练模型,我们只需要运行 ``train.sh`` 训练脚本: + + .. code-block:: bash + + ./train.sh + +``train.sh`` 中包含了训练模型的基本命令。训练时所需设置的主要参数如下: + + .. code-block:: bash + + paddle train \ + --config=trainer_config.py \ + --log_period=20 \ + --save_dir=./output \ + --num_passes=15 \ + --use_gpu=false + +这里只简单介绍了单机训练,如何进行分布式训练,请参考 :ref:`cluster_train` 。 + +预测 +===== + +当模型训练好了之后,我们就可以进行预测了。 + +.. image:: src/PipelineTest_cn.jpg + :align: center + :scale: 80% + +之前配置文件中 ``test.list`` 指定的数据将会被测试,这里直接通过预测脚本 ``predict.sh`` 进行预测, +更详细的说明,请参考 :ref:`api_swig_py_paddle` 。 + + .. code-block:: bash + + model="output/pass-00003" + paddle train \ + --config=trainer_config.lstm.py \ + --use_gpu=false \ + --job=test \ + --init_model_path=$model \ + --config_args=is_predict=1 \ + --predict_output_dir=. \ + + mv rank-00000 result.txt + +这里以 ``output/pass-00003`` 为例进行预测,用户可以根据训练日志,选择测试结果最好的模型来预测。 + +预测结果以文本的形式保存在 ``result.txt`` 中,一行为一个样本,格式如下: + + .. code-block:: bash + + 预测ID;ID为0的概率 ID为1的概率 + 预测ID;ID为0的概率 ID为1的概率 + +总体效果总结 +============== + +在 ``/demo/quick_start`` 目录下,能够找到这里使用的所有数据, 网络配置, 训练脚本等等。 +对于Amazon-Elec测试集(25k), 如下表格,展示了上述网络模型的训练效果: + + ===================== =============================== ============= ================================== + 网络名称 参数数量 错误率 配置文件 + ===================== =============================== ============= ================================== + 逻辑回归模型 252 KB 8.652% trainer_config.lr.py + 词向量模型 15 MB 8.484% trainer_config.emb.py + 卷积模型 16 MB 5.628% trainer_config.cnn.py + 时序模型 16 MB 4.812% trainer_config.lstm.py + ===================== =============================== ============= ================================== + + +附录 +===== + +命令行参数 +---------- + +* \--config:网络配置 +* \--save_dir:模型存储路径 +* \--log_period:每隔多少batch打印一次日志 +* \--num_passes:训练轮次,一个pass表示过一遍所有训练样本 +* \--config_args:命令指定的参数会传入网络配置中。 +* \--init_model_path:指定初始化模型路径,可用在测试或训练时指定初始化模型。 + +默认一个pass保存一次模型,也可以通过saving_period_by_batches设置每隔多少batch保存一次模型。 +可以通过show_parameter_stats_period设置打印参数信息等。 +其他参数请参考 命令行参数文档(链接待补充)。 + +输出日志 +--------- + +.. code-block:: bash + + TrainerInternal.cpp:160] Batch=20 samples=2560 AvgCost=0.628761 CurrentCost=0.628761 Eval: classification_error_evaluator=0.304297 CurrentEval: classification_error_evaluator=0.304297 + +模型训练会看到类似上面这样的日志信息,详细的参数解释,请参考如下表格: + + =========================================== ============================================================== + 名称 解释 + =========================================== ============================================================== + Batch=20 表示过了20个batch + samples=2560 表示过了2560个样本 + AvgCost 每个pass的第0个batch到当前batch所有样本的平均cost + CurrentCost 当前log_period个batch所有样本的平均cost + Eval: classification_error_evaluator 每个pass的第0个batch到当前batch所有样本的平均分类错误率 + CurrentEval: classification_error_evaluator 当前log_period个batch所有样本的平均分类错误率 + =========================================== ============================================================== diff --git a/release/0.10.0/doc_cn/_sources/tutorials/rec/ml_dataset_cn.md.txt b/release/0.10.0/doc_cn/_sources/tutorials/rec/ml_dataset_cn.md.txt new file mode 100644 index 0000000000..2207a776f0 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/tutorials/rec/ml_dataset_cn.md.txt @@ -0,0 +1,105 @@ +```eval_rst +.. _demo_ml_dataset: + +``` + +# MovieLens数据集 + +[MovieLens 数据集](http://grouplens.org/datasets/movielens/)由GroupLens Research实验室搜集整理。 +该数据集包含一些用户信息、电影信息以及电影评分\[1-5\]。根据数据量规模,该数据及有很多不同的版本。 +我们用[MovieLens 百万数据集](http://files.grouplens.org/datasets/movielens/ml-1m.zip)作为示例数据 +集,其中包含6,000位用户对4,000部电影的1,000,000条评价。该数据集于2003年2月发布。 + +## 数据集特征 + +在[ml-1m 数据集](http://files.grouplens.org/datasets/movielens/ml-1m.zip)中有许多的特征。在[ml-1m 数据集] +(http://files.grouplens.org/datasets/movielens/ml-1m.zip)中的这些数据文件(含有".dat"的后缀)实际上是CSV文件, +分隔符为"::"。以下我们翻译数据集网站中README文件的描述: + +### 评分文件描述(ratings.dat) + + +所有的评分数据都包含在"ratings.dat"文件中,遵循如下的格式: + +用户ID::电影ID::评分::时间戳 + +- 用户ID范围从1到6040 +- 电影ID范围从1到3952 +- 评分被调整为5星的规模(只允许整数的星级) +- 时间戳表示为从1970-01-01(UTC)来的秒数,与time(2)的返回值一致 +- 每位用户至少有20条评分 + +### 用户文件描述(users.dat) + +所有的用户信息都包含在"users.dat"文件中,遵循如下的格式: + +用户ID::性别::年龄::职业::邮编 + +所有的人口统计学信息由用户自愿提供,没有进行正确性的检查。只有含有人 +口统计学信息的用户才被包含在数据集中。 + +- 性别,用"M"表示男性,"F"表示女性 +- 年龄从下列列表范围中选取: + + * 1: "18岁以下" + * 18: "18-24岁" + * 25: "25-34岁" + * 35: "35-44岁" + * 45: "45-49岁" + * 50: "50-55岁" + * 56: "56+" + +- 职业从下面所列中选择: + + * 0: "其他"或不确定 + * 1: "学术/教育工作者" + * 2: "艺术家" + * 3: "文书工作/管理员" + * 4: "大学生/研究生" + * 5: "客户服务" + * 6: "医生/医疗保健" + * 7: "行政工作/管理人员" + * 8: "农民" + * 9: "操持家务者" + * 10: "高中毕业生" + * 11: "律师" + * 12: "程序员" + * 13: "退休人员" + * 14: "销售/市场" + * 15: "科学家" + * 16: "自由职业者" + * 17: "技术员/工程师" + * 18: "推销员/手工艺者" + * 19: "无业人士" + * 20: "作家" + +### 电影文件描述(movies.dat) + +所有的电影信息都包含在"movies.dat"文件中,遵循如下的格式: + +电影ID::电影名称::电影类型 + +- 电影名称(包括发行时间)与IMDB网站提供的一致 +- 电影类型如符合多种用管道符号|分割,选自下列类型: + + * 动作片 + * 冒险片 + * 动画片 + * 儿童片 + * 喜剧片 + * 犯罪片 + * 纪录片 + * 戏剧 + * 奇幻片 + * 黑色电影 + * 恐怖片 + * 音乐剧 + * 悬疑片 + * 浪漫片 + * 科幻片 + * 惊险电影 + * 战争片 + * 西部片 + +- 由于意外的副本记录和测试记录,有些电影ID可能与实际电影不相符合 +- 电影大部分是手工输入数据,因此可能会有一些错误和不一致发生 diff --git a/release/0.10.0/doc_cn/_sources/tutorials/rec/ml_regression_cn.rst.txt b/release/0.10.0/doc_cn/_sources/tutorials/rec/ml_regression_cn.rst.txt new file mode 100644 index 0000000000..9278c9f603 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/tutorials/rec/ml_regression_cn.rst.txt @@ -0,0 +1,349 @@ +MovieLens数据集评分回归模型 +=========================== + +这里我们在MovieLens数据集描述一种 **余弦相似度回归** 任务。 +该示例将展示paddle如何进行词向量嵌入,处理相似度回归,针对文本 +的单词级别的卷积神经网络,以及paddle如何处理多种类型的输入。 +需要注意的是,该模型网络只是用于进行demo展示paddle如何工作,而 +没有进行结构的微调。 + + +**我们非常欢迎您用PADDLEPADDLE构建更好的示例,如果您有好的建议来 +让这个示例变得更好,希望能让我们知晓。** + +数据准备 +````````` +下载并解压数据集 +''''''''''''''''' +这里我们使用 :ref:`demo_ml_dataset` 。 +要下载和解压数据集,只需要简单的运行下面的命令即可。 + +.. code-block:: bash + + cd demo/recommendation/data + ./ml_data.sh + +:code:`demo/recommendation/data/ml-1m` 的目录结构为: + +.. code-block:: text + + +--ml-1m + +--- movies.dat # 电影特征 + +--- ratings.dat # 评分 + +--- users.dat # 用户特征 + +--- README # 数据集描述 + +字段配置文件 +''''''''''''' +**字段配置文件** 用来具体说明数据集的字段和文件格式, +例如,说明每个特征文件具体字段是 **什么** 类型。 + +ml-1m的字段配置文件在目录 :code:`demo/recommendation/data/config.json` 中。 +其具体说明了字段类型和文件名称: + +1) 用户文件中有四种类型的字段\: 编号,性别,年龄和职业; + +2) 文件名称为"users.dat",文件的分隔符为"::"。 + +.. include:: ../../../demo/recommendation/data/config.json + :code: json + :literal: + +准备数据 +````````` +你需要安装python的第三方库。 +**强烈推荐使用VIRTUALENV来创造一个干净的python环境。** + +.. code-block:: bash + + pip install -r requirements.txt + +预处理数据一般的命令为: + +.. code-block:: bash + + cd demo/recommendation + ./preprocess.sh + +下面介绍预处理过程具体的步骤。 + +提取电影或用户的特征并生成python对象 +''''''''''''''''''''''''''''''''''''' + +在movielens 1m数据集中,电影和用户有许多的特征。 +评分文件的每一行仅仅提供电影或用户的编号来代表相应的电影或用户。 +我们首先处理电影或用户的特征文件,然后用pickle命令将特征( **Meta** )对象存储为文件。 + +Meta配置文件 +............. + +**Meta配置文件** 用来具体描述 **如何** 解析数据集中的每一个字段。 +该文件可以从字段配置文件生成,或是手动编辑生成。文件的格式可以 +为json或yaml格式。解析器能通过文件的扩展名自动识别文件的格式。 + +要将字段配置文件转化为meta配置文件,只需要运行: + +.. code-block:: bash + + cd demo/recommendation/data + python config_generator.py config.json > meta_config.json + +生成的meta配置文件如下所示: + +.. include:: ../../../demo/recommendation/data/meta_config.json + :code: json + :literal: + +在meta文件中有两种特征\: 电影和用户。 + +* 在电影文件movies.dat中 + * 我们仅用"::"来分隔每一行 + * pos 0 代表编号 + * pos 1 特征: + * name是电影名 + * 利用正则表达式来解析该特征 + * 基于字母的词嵌入特征 + * 是序列 + * pos 2 特征: + * name是体裁 + * type是one hot稠密向量 + * dictionary由解析自动生成,每一个key由'|'分隔 +* 在用户文件users.dat中 + * 我们仅用"::"来分隔每一行 + * pos 0 代表编号 + * pos 1 特征: + * name是性别 + * 简单的基于字母的词嵌入 + * pos 2 特征: + * name是年龄 + * 是整个的词嵌入 + * 嵌入编号会根据单词排序 + * pos 3 特征: + * name是职业 + * 简单的整个词嵌入 + + +Meta文件 +'''''''' + +有了meta配置文件之后,我们可以生成 **Meta文件** ,该文件是python的pickle对象, +存储着电影或用户信息。可以运行下面的命令来生成。 + +.. code-block:: bash + + python meta_generator.py ml-1m meta.bin --config=meta_config.json + +meta文件 :code:`meta.bin` 的结构如下: + +.. code-block:: text + + +--+ movie + | +--+ __meta__ + | | +--+ raw_meta # 每个特征的meta配置。列表 + | | | + + | | | | # 编号字段,我们用编号作为key + | | | +--+ {'count': 3883, 'max': 3952, 'is_key': True, 'type': 'id', 'min': 1} + | | | | + | | | | # 电影名字段,嵌入特征字典 + | | | +--+ {'dict': [ ... ], 'type': 'embedding', 'name': 'title', 'seq': 'sequence'} + | | | | + | | | | # 体裁字段,体裁字典 + | | | +--+ {'dict': [ ... ], 'type': 'one_hot_dense', 'name': 'genres'} + | | | + | | +--+ feature_map [1, 2] # a list for raw_meta index for feature field. + | | # it means there are 2 features for each key. + | | # * 0 offset of feature is raw_meta[1], Title. + | | # * 1 offset of feature is raw_meta[2], Genres. + | | + | +--+ 1 # 电影1的特征 + | | + + | | +---+ [[...], [...]] # title ids, genres dense vector + | | + | +--+ 2 + | | + | +--+ ... + | + +--- user + +--+ __meta__ + | + + | +--+ raw_meta + | | + + | | +--+ id field as user + | | | + | | +--+ {'dict': ['F', 'M'], 'type': 'embedding', 'name': 'gender', 'seq': 'no_sequence'} + | | | + | | +--+ {'dict': ['1', '18', '25', '35', '45', '50', '56'], 'type': 'embedding', 'name': 'age', 'seq': 'no_sequence'} + | | | + | | +--+ {'dict': [...], 'type': 'embedding', 'name': 'occupation', 'seq': 'no_sequence'} + | | + | +--+ feature_map [1, 2, 3] + | + +--+ 1 # 用户1的特征 + | + +--+ 2 + +--+ ... + + +分割训练/测试文件 +'''''''''''''''''' + +我们将 :code:`ml-1m/ratings.dat` 文件分割为训练和测试文件。分割文件的方法是:对于每位用户,我们将评分分成两部分。 +这样的话每位用户在测试文件中将与训练文件含有同样的信息。 + +用 :code:`separate.py` 来分离训练和测试文件。 + +.. code-block:: bash + + python split.py ml-1m/ratings.dat --delimiter="::" --test_ratio=0.1 + +这样就会生成两个文件::code:`ml-1m/ratings.dat.train` 和 :code:`ml-1m/ratings.data.test` 。 +将他们移动到目录 :code:`data` ,然后进行随机打乱,再为paddle的训练过程提供文件列表。 + +.. code-block:: bash + + shuf ml-1m/ratings.dat.train > ratings.dat.train + cp ml-1m/ratings.dat.test . + echo "./data/ratings.dat.train" > train.list + echo "./data/ratings.dat.test" > test.list + + +神经网络结构配置 +````````````````` + +训练器配置文件 +''''''''''''''' + +网络结构如下图所示: + +.. image:: rec_regression_network.png + :align: center + :alt: rec_regression_network + +该示例的神经网络配置文件 :code:`trainer_config.py` 如下所示: + +.. literalinclude:: ../../../demo/recommendation/trainer_config.py + :language: python + :lines: 15- + +在文件 :code:`trainer_config.py` 中,我们仅仅是将每个特征种类映射到一个特征向量中,以下 +展示了如何将每个特征映射到一个向量。 + +* :code:`id` \: 仅仅是简单的嵌入,然后添加一个全连接层。 +* :code:`embedding` \: + - 如果是序列,则先做嵌入,然后再做一次文本卷积网络操作, + 然后得到平均采样的结果。 + - 如果不是序列,则先做嵌入,然后添加一个全连接层。 +* :code:`one_host_dense` \: + - 仅仅是两个全连接层。 + +然后我们利用多输入的:code:`fc_layer` 全连接层将电影的每个特征结合成一个电影特征, +并且对用户的特征做同样的操作,也得到一个用户特征。然后我们求这两个特征的余弦相似度。 + +在这些网络中,我们用以下的一些:ref:`api_trainer_config` 中的接口。 + +* 数据层, :ref:`api_trainer_config_helpers_layers_data_layer` +* 全连接层, :ref:`api_trainer_config_helpers_layers_fc_layer` +* 嵌入层, :ref:`api_trainer_config_helpers_layers_embedding_layer` +* 文本投影层, :ref:`api_trainer_config_helpers_layers_context_projection` +* 采样层, :ref:`api_trainer_config_helpers_layers_pooling_layer` +* 余弦相似度层, :ref:`api_trainer_config_helpers_layers_cos_sim` +* 文本卷积采样层, :ref:`api_trainer_config_helpers_network_text_conv_pool` +* 声明Python数据源, :ref:`api_trainer_config_helpers_data_sources` + +数据提供脚本 +''''''''''''' + +.. literalinclude:: ../../../demo/recommendation/dataprovider.py + :language: python + :lines: 15- + +数据提供脚本仅仅是读取meta.bin和评分文件,生成训练需要的样本。 +在脚本 :code:`dataprovider.py` 中,我们需要设置: + +* obj.slots\: 特征的类型和维度。 +* use_seq\: :code:`dataprovider.py` 中的数据是否为序列模式。 +* process\: 返回数据的每一条样本给 :code:`paddle` 。 + +数据提供脚本的细节文档可以参考 :ref:`api_pydataprovider2` 。 + +训练 +```` + +准备好数据,配置了网络,编写好数据提供脚本后,现在我们可以开始paddle训练了。 + +代码 :code:`run.sh` 如下: + +.. literalinclude:: ../../../demo/recommendation/run.sh + :language: bash + :lines: 16- + +该脚本仅仅是开始一个paddle训练过程,将日志写入文件 :code:`log.txt` ,然后 +打印在屏幕上。 + +脚本 :code:`run.sh` 中的每一行命令,请参考页面 :ref:`cmd_line_index` 。 +这些参数的简短介绍如下: + +* config\: 告诉paddle哪个文件是神经网络的配置文件。 +* save_dir\: 告诉paddle将模型保存在: code:`./output` 中。 +* use_gpu\: 是否使用GPU,默认为不使用。 +* trainer_count\: 一台机器上面的线程数量。 +* test_all_data_in_one_period\: 每一个测试周期测试一次所有数据。否则, + 每个测试周期测试: code:`batch_size` 批次的数据。 +* log_period\: 在训练了: code:`log_period` 批次后打印日志。 +* dot_period\: 在每训练: code:`dot_period` 个批次后打印一个 :code:`.` 。 +* num_passes\: 训练至多: code:`num_passes` 轮。 + +如果训练过程启动成功的话,输出应该类似如下: + +.. code-block:: text + + I0601 08:07:22.832059 10549 TrainerInternal.cpp:157] Batch=100 samples=160000 AvgCost=4.13494 CurrentCost=4.13494 Eval: CurrentEval: + + I0601 08:07:50.672627 10549 TrainerInternal.cpp:157] Batch=200 samples=320000 AvgCost=3.80957 CurrentCost=3.48421 Eval: CurrentEval: + + I0601 08:08:18.877369 10549 TrainerInternal.cpp:157] Batch=300 samples=480000 AvgCost=3.68145 CurrentCost=3.42519 Eval: CurrentEval: + + I0601 08:08:46.863963 10549 TrainerInternal.cpp:157] Batch=400 samples=640000 AvgCost=3.6007 CurrentCost=3.35847 Eval: CurrentEval: + + I0601 08:09:15.413025 10549 TrainerInternal.cpp:157] Batch=500 samples=800000 AvgCost=3.54811 CurrentCost=3.33773 Eval: CurrentEval: + I0601 08:09:36.058670 10549 TrainerInternal.cpp:181] Pass=0 Batch=565 samples=902826 AvgCost=3.52368 Eval: + I0601 08:09:46.215489 10549 Tester.cpp:101] Test samples=97383 cost=3.32155 Eval: + I0601 08:09:46.215966 10549 GradientMachine.cpp:132] Saving parameters to ./output/model/pass-00000 + I0601 08:09:46.233397 10549 ParamUtil.cpp:99] save dir ./output/model/pass-00000 + I0601 08:09:46.233438 10549 Util.cpp:209] copy trainer_config.py to ./output/model/pass-00000 + I0601 08:09:46.233541 10549 ParamUtil.cpp:147] fileName trainer_config.py + +模型被保存在 :code:`output/` 目录中。你可以在任何时候用 :code:`Ctrl-C` 来停止训练。 + +模型评估和预测 +``````````````` + +在训练了几个轮次以后,你可以对模型进行评估,得到最好轮次下的模型。运行下面命令即可: + +.. code-block:: bash + + ./evaluate.sh + +你将看到如下的信息: + +.. code-block:: text + + Best pass is 00009, error is 3.06949, which means predict get error as 0.875998002281 + evaluating from pass output/pass-00009 + +然后,你可以预测任何用户对于任何一部电影的评价,运行下面命令即可: + +.. code-block:: bash + + python prediction.py 'output/pass-00009/' + +预测程序将读取用户的输入,然后输出预测分数。用户预测的命令行界面如下: + +.. code-block:: text + + Input movie_id: 9 + Input user_id: 4 + Prediction Score is 2.56 + Input movie_id: 8 + Input user_id: 2 + Prediction Score is 3.13 diff --git a/release/0.10.0/doc_cn/_sources/tutorials/semantic_role_labeling/index_cn.md.txt b/release/0.10.0/doc_cn/_sources/tutorials/semantic_role_labeling/index_cn.md.txt new file mode 100644 index 0000000000..f6061766c0 --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/tutorials/semantic_role_labeling/index_cn.md.txt @@ -0,0 +1,201 @@ +# 语义角色标注教程 # + +语义角色标注(Semantic role labeling, SRL)是浅层语义解析的一种形式,其目的是在给定的输入句子中发现每个谓词的谓词论元结构。 SRL作为很多自然语言处理任务中的中间步骤是很有用的,如信息提取、文档自动分类和问答。 实例如下 [1]: + + [ A0 He ] [ AM-MOD would ][ AM-NEG n’t ] [ V accept] [ A1 anything of value ] from [A2 those he was writing about ]. + +- V: 动词 +- A0: 接受者 +- A1: 接受的东西 +- A2: 从……接受 +- A3: 属性 +- AM-MOD: 情态动词 +- AM-NEG: 否定 + +给定动词“accept”,句子中的组块将会扮演某些语义角色。这里,标签方案来自 Penn Proposition Bank。 + +到目前为止,大多数成功的SRL系统是建立在某种形式的句法分析结果之上的,使用了基于句法结构的预定义特征模板。 本教程将介绍使用深度双向长短期记忆(DB-LSTM)模型[2]的端到端系统来解决SRL任务,这在很大程度上优于先前的最先进的系统。 这个系统将SRL任务视为序列标注问题。 + +## 数据描述 +相关论文[2]采用 CoNLL-2005&2012 共享任务中设置的数据进行训练和测试。由于数据许可的原因,演示采用 CoNLL-2005 的测试数据集,可以在网站上找到。 + +用户只需执行以下命令就可以下载并处理原始数据: + +```bash +cd data +./get_data.sh +``` +`data `目录会出现如下几个新的文件: +```bash +conll05st-release:the test data set of CoNll-2005 shared task +test.wsj.words:the Wall Street Journal data sentences +test.wsj.props: the propositional arguments +feature: the extracted features from data set +``` + +## 训练 +### DB-LSTM +请参阅情感分析的演示以了解有关长期短期记忆单元的更多信息。 + +与在 Sentiment Analysis 演示中使用的 Bidirectional-LSTM 不同,DB-LSTM 采用另一种方法来堆叠LSTM层。首先,标准LSTM以正向处理该序列。该 LSTM 层的输入和输出作为下一个 LSTM 层的输入,并被反向处理。这两个标准 LSTM 层组成一对 LSTM。然后我们堆叠一对对的 LSTM 层后得到深度 LSTM 模型。 + +下图展示了时间扩展的2层 DB-LSTM 网络。 +
+![pic](./network_arch.png) +
+ +### 特征 +两个输入特征在这个流程中起着至关重要的作用:predicate(pred)和argument(arguments)。 还采用了两个其他特征:谓词上下文(ctx-p)和区域标记(mr)。 因为单个谓词不能精确地描述谓词信息,特别是当相同的词在句子中出现多于一次时。 使用谓词上下文,可以在很大程度上消除歧义。类似地,如果它位于谓词上下文区域中,则使用区域标记 mr = 1 来表示参数位置,反之则 mr = 0。这四个简单的特征是我们的SRL系统所需要的。上下文大小设置为1的一个样本的特征如下[2]所示: +
+![pic](./feature.jpg) +
+ +在这个示例中,相应的标记句子是: + +[ A1 A record date ] has [ AM-NEG n't ] been [ V set ] . + +在演示中, 我们采用上面的特征模板, 包括: `argument`, `predicate`, `ctx-p (p=-1,0,1)`, `mark` 并使用 `B/I/O` 方案来标记每个参数。这些特征和标签存储在 `feature` 文件中, 用`\t`分割。 + +### 数据提供 + +`dataprovider.py` 是一个包装数据的 Python 文件。 函数 `hook()` 定义了网络的数据槽。六个特征和标签都是索引槽。 +``` +def hook(settings, word_dict, label_dict, **kwargs): + settings.word_dict = word_dict + settings.label_dict = label_dict + #all inputs are integral and sequential type + settings.slots = [ + integer_value_sequence(len(word_dict)), + integer_value_sequence(len(predicate_dict)), + integer_value_sequence(len(word_dict)), + integer_value_sequence(len(word_dict)), + integer_value_sequence(len(word_dict)), + integer_value_sequence(len(word_dict)), + integer_value_sequence(len(word_dict)), + integer_value_sequence(2), + integer_value_sequence(len(label_dict))] +``` +相应的数据迭代器如下: +``` +@provider(init_hook=hook, should_shuffle=True, calc_batch_size=get_batch_size, + can_over_batch_size=False, cache=CacheType.CACHE_PASS_IN_MEM) +def process(settings, file_name): + with open(file_name, 'r') as fdata: + for line in fdata: + sentence, predicate, ctx_n2, ctx_n1, ctx_0, ctx_p1, ctx_p2, mark, label = \ + line.strip().split('\t') + + words = sentence.split() + sen_len = len(words) + word_slot = [settings.word_dict.get(w, UNK_IDX) for w in words] + + predicate_slot = [settings.predicate_dict.get(predicate)] * sen_len + ctx_n2_slot = [settings.word_dict.get(ctx_n2, UNK_IDX)] * sen_len + ctx_n1_slot = [settings.word_dict.get(ctx_n1, UNK_IDX)] * sen_len + ctx_0_slot = [settings.word_dict.get(ctx_0, UNK_IDX)] * sen_len + ctx_p1_slot = [settings.word_dict.get(ctx_p1, UNK_IDX)] * sen_len + ctx_p2_slot = [settings.word_dict.get(ctx_p2, UNK_IDX)] * sen_len + + marks = mark.split() + mark_slot = [int(w) for w in marks] + + label_list = label.split() + label_slot = [settings.label_dict.get(w) for w in label_list] + yield word_slot, predicate_slot, ctx_n2_slot, ctx_n1_slot, \ + ctx_0_slot, ctx_p1_slot, ctx_p2_slot, mark_slot, label_slot +``` +函数 `process` 返回8个特征list和1个标签list。 + +### 神经网络配置 + +`db_lstm.py` 是在训练过程中加载字典并定义数据提供程序模块和网络架构的神经网络配置文件。 + +九个 `data_layer` 从数据提供程序加载实例。八个特征分别转换为向量,并由`mixed_layer`混合。 深度双向LSTM层提取softmax层的特征。目标函数是标签的交叉熵。 + +### 训练 +训练的脚本是 `train.sh`,用户只需执行: +```bash + ./train.sh +``` +`train.sh` 中的内容: +``` +paddle train \ + --config=./db_lstm.py \ + --use_gpu=0 \ + --log_period=5000 \ + --trainer_count=1 \ + --show_parameter_stats_period=5000 \ + --save_dir=./output \ + --num_passes=10000 \ + --average_test_period=10000000 \ + --init_model_path=./data \ + --load_missing_parameter_strategy=rand \ + --test_all_data_in_one_period=1 \ +2>&1 | tee 'train.log' +``` + +- \--config=./db_lstm.py : 网络配置文件 +- \--use_gpu=false: 使用 CPU 训练(如果已安装 PaddlePaddle GPU版本并想使用 GPU 训练可以设置为true,目前 crf_layer 不支持 GPU) +- \--log_period=500: 每20个batch输出日志 +- \--trainer_count=1: 设置线程数(或 GPU 数) +- \--show_parameter_stats_period=5000: 每100个batch显示参数统计 +- \--save_dir=./output: 模型输出路径 +- \--num_passes=10000: 设置数据遍历次数,一个pass意味着PaddlePaddle训练数据集中的所有样本被遍历一次 +- \--average_test_period=10000000: 每个 average_test_period 批次对平均参数进行测试 +- \--init_model_path=./data: 参数初始化路径 +- \--load_missing_parameter_strategy=rand: 随机初始不存在的参数 +- \--test_all_data_in_one_period=1: 在一个周期内测试所有数据 + + +训练后,模型将保存在目录`output`中。 我们的训练曲线如下: +
+![pic](./src/curve.jpg) +
+ +### 测试 +测试脚本是 `test.sh`, 执行: +```bash + ./test.sh +``` +`tesh.sh` 的主要部分: +``` +paddle train \ + --config=./db_lstm.py \ + --model_list=$model_list \ + --job=test \ + --config_args=is_test=1 \ +``` + + - \--config=./db_lstm.py: 网络配置文件 + - \--model_list=$model_list.list: 模型列表文件 + - \--job=test: 指示测试任务 + - \--config_args=is_test=1: 指示测试任务的标记 + - \--test_all_data_in_one_period=1: 在一个周期内测试所有数据 + + +### 预测 +预测脚本是 `predict.sh`,用户只需执行: +```bash + ./predict.sh + +``` +在`predict.sh`中,用户应该提供网络配置文件,模型路径,标签文件,字典文件,特征文件。 +``` +python predict.py + -c $config_file \ + -w $best_model_path \ + -l $label_file \ + -p $predicate_dict_file \ + -d $dict_file \ + -i $input_file \ + -o $output_file +``` + +`predict.py` 是主要的可执行python脚本,其中包括函数:加载模型,加载数据,数据预测。网络模型将输出标签的概率分布。 在演示中,我们使用最大概率的标签作为结果。用户还可以根据概率分布矩阵实现柱搜索或维特比解码。 + +预测后,结果保存在 `predict.res` 中。 + +## 引用 +[1] Martha Palmer, Dan Gildea, and Paul Kingsbury. The Proposition Bank: An Annotated Corpus of Semantic Roles , Computational Linguistics, 31(1), 2005. + +[2] Zhou, Jie, and Wei Xu. "End-to-end learning of semantic role labeling using recurrent neural networks." Proceedings of the Annual Meeting of the Association for Computational Linguistics. 2015. diff --git a/release/0.10.0/doc_cn/_sources/tutorials/sentiment_analysis/index_cn.md.txt b/release/0.10.0/doc_cn/_sources/tutorials/sentiment_analysis/index_cn.md.txt new file mode 100644 index 0000000000..1323ec1a6a --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/tutorials/sentiment_analysis/index_cn.md.txt @@ -0,0 +1,325 @@ +# 情感分析教程 + +情感分析有许多应用场景。 一个基本的应用场景是区分给定文本的褒贬两极性,给定的文本可以是一个文档、句子、或者是一个小的文本片段。 一个简单的例子如:把用户在购物网站、旅游网站、团购网站(亚马逊、天猫、淘宝等)上发表的评论分成正面评论和负面评论两类。 + +情感分析也常用于基于大量评论和个人博客来监控社会媒体。 例如,研究人员分析了几个关于消费者信心和政治观点的调查,结果发现它们与同时期的Twitter消息中的情绪词频率相关 [1]。 另一个例子是通过分析每日Twitter博客的文本内容来预测股票变动 [2]。 + +另一方面,抓取产品的用户评论并分析他们的情感,有助于理解用户对不同公司,不同产品,甚至不同竞争对手产品的偏好。 + +本教程将指导您完成长期短期记忆(LSTM)网络的训练过程,以分类来自[大型电影评论数据集](http://ai.stanford.edu/~amaas/data/sentiment/)(有时称为[互联网电影数据库 (IMDB)](http://ai.stanford.edu/~amaas/papers/wvSent_acl2011.pdf))的句子的情感 。 此数据集包含电影评论及其相关联的类别标签,即正面和负面。 + +## 数椐准备 + +### IMDB 数椐介绍 + +训练模型之前, 我们需要预处理数椐并构建一个字典。 首先, 你可以使用下面的脚本下载 IMDB 数椐集和[Moses](http://www.statmt.org/moses/)工具, 这是一个基于统计的机器翻译系统. 我们提供了一个数据预处理脚本,它不仅能够处理IMDB数据,还能处理其他用户自定义的数据。 为了使用提前编写的脚本,需要将标记的训练和测试样本移动到另一个路径,这已经在`get_imdb.sh`中完成。 + +``` +cd demo/sentiment/data +./get_imdb.sh +``` +如果数椐获取成功,你将在目录```./demo/sentiment/data```中看到下面的文件: + +``` +aclImdb get_imdb.sh imdb mosesdecoder-master +``` + +* aclImdb: 从外部网站上下载的原始数椐集。 +* imdb: 仅包含训练和测试数椐集。 +* mosesdecoder-master: Moses 工具。 + +IMDB数据集包含25,000个已标注过的高极性电影评论用于训练,25,000个用于测试。负面的评论的得分小于等于4,正面的评论的得大于等于7,总评分10分。 运行完脚本 `./get_imdb.sh`后, 我们可以看到在目录 `aclImdb`中的数椐集的结构如下: + +``` +imdbEr.txt imdb.vocab README test train +``` +* train: 训练数椐集。 +* test : 测试数椐集。 +* imdb.vocab: 字典文件。 +* imdbEr.txt: 字典imdb.vocab中每个切分单词的预期评级。 +* README: 数椐说明文档。 + +测试集和训练集目录包含下面的文件: + +``` +labeledBow.feat neg pos unsup unsupBow.feat urls_neg.txt urls_pos.txt urls_unsup.txt +``` + +* pos: 正面评价样本,包含12,500个txt文件,每个文件是一个电影评论。 +* neg: 负面评价样本,包含12,500个txt文件,每个文件是一个电影评论。 +* unsup: 未标记的评价样本,包含50,000个txt文件。 +* urls_xx.txt: 每个评论的网址。 +* xxBow.feat: 用于统计词频的Bow模型特征。 + +### IMDB 数椐准备 + +在这个例子中,我们只使用已经标注过的训练集和测试集,且默认在训练集上构建字典,而不使用IMDB数椐集中的imdb.vocab做为字典。训练集已经做了随机打乱排序而测试集没有。 Moses 工具中的脚本`tokenizer.perl` 用于切分单单词和标点符号。执行下面的命令就可以预处理数椐。 + +``` +cd demo/sentiment/ +./preprocess.sh +``` +preprocess.sh: + +``` +data_dir="./data/imdb" +python preprocess.py -i data_dir +``` + +* data_dir: 输入数椐所在目录。 +* preprocess.py: 预处理脚本。 + +运行成功后目录`demo/sentiment/data/pre-imdb` 结构如下: + +``` +dict.txt labels.list test.list test_part_000 train.list train_part_000 +``` +* test\_part\_000 and train\_part\_000: 所有标记的测试集和训练集, 训练集已经随机打乱。 +* train.list and test.list: 训练集和测试集文件列表。 +* dict.txt: 利用训练集生成的字典。 +* labels.txt: neg 0, pos 1, 含义:标签0表示负面的评论,标签1表示正面的评论。 + +### 用户自定义数椐预处理 + +如果你执行其它的用情感分析来分类文本的任务,可以按如下的结构来准备数椐. 我们提供了脚本来构建字典和预处理数椐。所以你只用按下面的结构来组织数椐就行了。 + +``` +dataset +|----train +| |----class1 +| | |----text_files +| |----class2 +| | |----text_files +| | ... +|----test +| |----class1 +| | |----text_files +| |----class2 +| | |----text_files +| | ... +``` +* dataset: 一级目录。 +* train, test: 二级目录。 +* class1,class2,...: 三级目录。 +* text_files: 文本格式的实例文件。 + +所有同目录下的文本实例文件都是同级别的。 每个文本文件包含一个或者多个实例,每一行表示一个实例。 为了充分的随机打乱训练集, 在预处理含有多行数椐的文本文件时参数设置稍有不同, 执行`preprocess.sh`脚本时需要加上`-m True`参数。 tokenizer.perl 默认用来切分单记和标点符号,如果你不需要这个操作,在运行`preprocess.sh`时加上`-t False`参数即可。 + +## 训练模型 + +在这步任务中,我们使用了循环神经网络(RNN)的 LSTM 架构来训练情感分析模型。 引入LSTM模型主要是为了克服消失梯度的问题。 LSTM网络类似于具有隐藏层的标准循环神经网络, 但是隐藏层中的每个普通节点被一个记忆单元替换。 每个记忆单元包含四个主要的元素: 输入门, 具有自循环连接的神经元,忘记门和输出门。 更多的细节可以在文献中找到[4]。 LSTM架构的最大优点是它可以在长时间间隔内记忆信息,而没有短时记忆的损失。在有新的单词来临的每一个时间步骤内,存储在记忆单元区块的历史信息被更新用来迭代的学习单词以合理的序列程现。 + +
![LSTM](src/lstm.png)
+
图表 1. LSTM [3]
+ +情感分析是自然语言理解中最典型的问题之一。 它的目的是预测在一个序列中表达的情感态度。 通常, ,仅仅是一些关键词,如形容词和副词,在预测序列或段落的情感中起主要作用。然而有些评论上下文非常长,例如 IMDB的数椐集。 我们只所以使用LSTM来执行这个任务是因为其改进的设计并且具有门机制。 首先,它能够从词级到具有可变上下文长度的上下文级别来总结表示。 第二,它可以在句子级别利用可扩展的上下文, 而大多数方法只是利用n-gram级别的知识。第三,它直接学习段落表示,而不是组合上下文级别信息。 + +在本演示中,我们提供两个网络,即双向LSTM和三层堆叠LSTM。 + +#### 双向LSTM + +图2是双向LSTM网络,后面连全连接层和softmax层。 + +
![BiLSTM](src/bi_lstm.jpg)
+
图 2. Bidirectional-LSTM
+ +#### Stacked-LSTM +图3是三层LSTM结构。图的底部是word embedding(对文档处理后形成的单词向量)。 接下来,连接三个LSTM隐藏层,并且第二个是反向LSTM。然后提取隐藏LSTM层的所有时间步长的最大词向量作为整个序列的表示。 最后,使用具有softmax激活的全连接前馈层来执行分类任务。 更多内容可查看参考文献 [5]。 + +
![StackedLSTM](src/stacked_lstm.jpg)
+
图 3. Stacked-LSTM for sentiment analysis
+ +**配置** + +进入`demo/sentiment` 目录 , `trainer_config.py` 是一个配置文件的例子, 其中包含算法和网络配置。第一行从`sentiment_net.py`中导出预定义的网络。 + +trainer_config.py: + +```python +from sentiment_net import * + +data_dir = "./data/pre-imdb" +# whether this config is used for test +is_test = get_config_arg('is_test', bool, False) +# whether this config is used for prediction +is_predict = get_config_arg('is_predict', bool, False) +dict_dim, class_dim = sentiment_data(data_dir, is_test, is_predict) + +################## Algorithm Config ##################### + +settings( + batch_size=128, + learning_rate=2e-3, + learning_method=AdamOptimizer(), + regularization=L2Regularization(8e-4), + gradient_clipping_threshold=25 +) + +#################### Network Config ###################### +stacked_lstm_net(dict_dim, class_dim=class_dim, + stacked_num=3, is_predict=is_predict) +#bidirectional_lstm_net(dict_dim, class_dim=class_dim, is_predict=is_predict) +``` + +* **数椐定义**: + * get\_config\_arg(): 获取通过 `--config_args=xx` 设置的命令行参数。 + * 定义训练数椐和测试数椐提供者, 这里使用了PaddlePaddle的Python接口来加载数椐。想了解更多细节可以参考PyDataProvider部分的文档 + +* **算法配置**: + * 使用随机梯度下降(sgd)算法。 + * 使用 adam 优化。 + * 设置batch size大小为128。 + * 设置平均sgd窗口。 + * 设置全局学习率。 +* **网络配置**: + * dict_dim: 获取字典维度。 + * class_dim: 设置类别数,IMDB有两个标签,即正面评价标签和负面评价标签。 + * `stacked_lstm_net`: 预定义网络如图3所示,默认情况下使用此网络 + * `bidirectional_lstm_net`: 预定义网络,如图2所示。 + +**训练** + +首先安装PaddlePaddle。 然后使用下面的脚本 `train.sh` 来开启本地的训练。 + +``` +cd demo/sentiment/ +./train.sh +``` + +train.sh: + +``` +config=trainer_config.py +output=./model_output +paddle train --config=$config \ + --save_dir=$output \ + --job=train \ + --use_gpu=false \ + --trainer_count=4 \ + --num_passes=10 \ + --log_period=20 \ + --dot_period=20 \ + --show_parameter_stats_period=100 \ + --test_all_data_in_one_period=1 \ + 2>&1 | tee 'train.log' +``` + +* \--config=$config: 设置网络配置。 +* \--save\_dir=$output: 设置输出路径以保存训练完成的模型。 +* \--job=train: 设置工作模式为训练。 +* \--use\_gpu=false: 使用CPU训练,如果你安装GPU版本的PaddlePaddle,并想使用GPU来训练设置为true。 +* \--trainer\_count=4:设置线程数(或GPU个数)。 +* \--num\_passes=15: 设置pass,PaddlePaddle中的一个pass意味着对数据集中的所有样本进行一次训练。 +* \--log\_period=20: 每20个batch打印一次日志。 +* \--show\_parameter\_stats\_period=100: 每100个batch打印一次统计信息。 +* \--test\_all_data\_in\_one\_period=1: 每次测试都测试所有数据。 + +如果运行成功,输出日志保存在路径 `demo/sentiment/train.log`中,模型保存在目录`demo/sentiment/model_output/`中。 输出日志说明如下: + +``` +Batch=20 samples=2560 AvgCost=0.681644 CurrentCost=0.681644 Eval: classification_error_evaluator=0.36875 CurrentEval: classification_error_evaluator=0.36875 +... +Pass=0 Batch=196 samples=25000 AvgCost=0.418964 Eval: classification_error_evaluator=0.1922 +Test samples=24999 cost=0.39297 Eval: classification_error_evaluator=0.149406 +``` +- Batch=xx: 表示训练了xx个Batch。 +- samples=xx: 表示训练了xx个样本。。 +- AvgCost=xx: 从第0个batch到当前batch的平均损失。 +- CurrentCost=xx: 最新log_period个batch处理的当前损失。 +- Eval: classification\_error\_evaluator=xx: 表示第0个batch到当前batch的分类错误。 +- CurrentEval: classification\_error\_evaluator: 最新log_period个batch的分类错误。 +- Pass=0: 通过所有训练集一次称为一遍。 0表示第一次经过训练集。 + +默认情况下,我们使用`stacked_lstm_net`网络,当传递相同的样本数时,它的收敛速度比`bidirectional_lstm_net`快。如果要使用双向LSTM,只需删除最后一行中的注释并把“stacked_lstm_net”注释掉。 + +## 测试模型 + +测试模型是指使用训练出的模型评估已标记的验证集。 + +``` +cd demo/sentiment +./test.sh +``` + +test.sh: + +```bash +function get_best_pass() { + cat $1 | grep -Pzo 'Test .*\n.*pass-.*' | \ + sed -r 'N;s/Test.* error=([0-9]+\.[0-9]+).*\n.*pass-([0-9]+)/\1 \2/g' | \ + sort | head -n 1 +} + +log=train.log +LOG=`get_best_pass $log` +LOG=(${LOG}) +evaluate_pass="model_output/pass-${LOG[1]}" + +echo 'evaluating from pass '$evaluate_pass + +model_list=./model.list +touch $model_list | echo $evaluate_pass > $model_list +net_conf=trainer_config.py +paddle train --config=$net_conf \ + --model_list=$model_list \ + --job=test \ + --use_gpu=false \ + --trainer_count=4 \ + --config_args=is_test=1 \ + 2>&1 | tee 'test.log' +``` + +函数`get_best_pass`依据分类错误率获得最佳模型进行测试。 在本示例中,我们默认使用IMDB的测试数据集作为验证。 与训练不同,它需要在这里指定`--job = test`和模型路径,即`--model_list = $model_list`。如果运行成功,日志将保存在“demo / sentiment / test.log”的路径中。例如,在我们的测试中,最好的模型是`model_output / pass-00002`,分类误差是0.115645,如下: + +``` +Pass=0 samples=24999 AvgCost=0.280471 Eval: classification_error_evaluator=0.115645 +``` + +## 预测 + +`predict.py`脚本提供了一个预测接口。在使用它之前请安装PaddlePaddle的python api。 预测IMDB的未标记评论的一个实例如下: + +``` +cd demo/sentiment +./predict.sh +``` +predict.sh: + +``` +#Note the default model is pass-00002, you shold make sure the model path +#exists or change the mode path. +model=model_output/pass-00002/ +config=trainer_config.py +label=data/pre-imdb/labels.list +cat ./data/aclImdb/test/pos/10007_10.txt | python predict.py \ + --tconf=$config\ + --model=$model \ + --label=$label \ + --dict=./data/pre-imdb/dict.txt \ + --batch_size=1 +``` + +* `cat ./data/aclImdb/test/pos/10007_10.txt` : 输入预测样本。 +* `predict.py` : 预测接口脚本。 +* `--tconf=$config` : 设置网络配置。 +* `--model=$model` : 设置模型路径。 +* `--label=$label` : 设置标签类别字典,这个字典是整数标签和字符串标签的一个对应。 +* `--dict=data/pre-imdb/dict.txt` : 设置字典文件。 +* `--batch_size=1` : 设置batch size。 + +注意应该确保默认模型路径`model_output / pass-00002`存在或更改为其它模型路径。 + +本示例的预测结果: + +``` +Loading parameters from model_output/pass-00002/ +./data/aclImdb/test/pos/10014_7.txt: predicting label is pos +``` +我们真诚地感谢您的关注,并欢迎您来参与贡献。 + +## 参考文档 +[1] Brendan O'Connor, Ramnath Balasubramanyan, Bryan R. Routledge, and Noah A. Smith. 2010. [From Tweets to Polls: Linking Text Sentiment to Public Opinion Time Series](http://homes.cs.washington.edu/~nasmith/papers/oconnor+balasubramanyan+routledge+smith.icwsm10.pdf). In ICWSM-2010.
+[2] Johan Bollen, Huina Mao, Xiaojun Zeng. 2011. [Twitter mood predicts the stock market](http://arxiv.org/abs/1010.3003), Journal of Computational Science.
+[3] Alex Graves, Marcus Liwicki, Santiago Fernan- dez, Roman Bertolami, Horst Bunke, and Ju ̈rgen Schmidhuber. 2009. [A novel connectionist system for unconstrained handwriting recognition. IEEE Transactions on Pattern Analysis and Machine In- telligence](http://www.cs.toronto.edu/~graves/tpami_2009.pdf), 31(5):855–868.
+[4] Zachary C. Lipton, [A Critical Review of Recurrent Neural Networks for Sequence Learning](http://arxiv.org/abs/1506.00019v1), arXiv:1506.00019.
+[5] Jie Zhou and Wei Xu; [End-to-end Learning of Semantic Role Labeling Using Recurrent Neural Networks](http://www.aclweb.org/anthology/P/P15/P15-1109.pdf); ACL-IJCNLP 2015.
diff --git a/release/0.10.0/doc_cn/_sources/tutorials/text_generation/index_cn.md.txt b/release/0.10.0/doc_cn/_sources/tutorials/text_generation/index_cn.md.txt new file mode 100644 index 0000000000..41a87b926d --- /dev/null +++ b/release/0.10.0/doc_cn/_sources/tutorials/text_generation/index_cn.md.txt @@ -0,0 +1,339 @@ +# 文本生成教程 # + +在语言生成领域中,“序列到序列”(sequence to sequence)的方法已被证明是一种强大的模型。它可以被应用于进行机器翻译(machine translation)、query改写(query rewriting)、图像描述(image captioning)等等。 + +本篇教程将会指导你通过训练一个“序列到序列”的神经网络机器翻译(NMT)模型来将法语翻译成英语。 + +我们遵循 [Neural Machine Translation by Jointly Learning to Align and Translate](http://arxiv.org/abs/1409.0473) 这篇文章,其中详细说明了模型架构,以及在WMT-14数据集上得到良好表现的训练过程。本篇教程在PaddlePaddle中重现了这一良好的训练结果。 + +我们感谢@caoying的pull request,其中定义了模型架构和solver配置。 + +## 数据准备 ## +### 下载与解压缩 ### +从该链接 [http://www-lium.univ-lemans.fr/~schwenk/cslm\_joint\_paper/](http://www-lium.univ-lemans.fr/~schwenk/cslm_joint_paper/) 下载WMT-14数据集,然后解压,并将Develop和Test数据分别放入不同的文件夹。 + +- **Train data**: [bitexts (选择过后的)](http://www-lium.univ-lemans.fr/~schwenk/cslm_joint_paper/data/bitexts.tgz) +- **Develop and Test data**: [dev 与 test 数据](http://www-lium.univ-lemans.fr/~schwenk/cslm_joint_paper/data/dev+test.tgz) + +在Linux下,只需要简单地运行以下命令。否则你需要自己下载、解压、拆分到不同文件夹、并且分别重命名文件后缀。 + +```bash +cd demo/seqToseq/data +./wmt14_data.sh +``` + +我们会发现数据集 `wmt14` 中包含如下表所示的3个文件夹。 + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
folder nameFrench-English parallel corpora filenumber of total filesize
train_dataccb2_pc30.src, ccb2_pc30.trg, etc123.55G
test_datantst1213.src, ntst1213.trg21636k
gen_datantst14.src, ntst14.trg2864k
+
+ +- 每个文件夹都包含法语到英语的平行语料库 +- **XXX.src** 是原始法语文件;**XXX.trg** 是目标英语文件 +- **XXX.src** 和 **XXX.trg** 的行数应该一致 +- 每行都是一个法语或者英语的句子 +- **XXX.src** 和 **XXX.trg** 中任意第i行的句子之间都有着一一对应的关系 + +### 用户自定义数据集 ### + +如果你想进行诸如语义转述(Paraphrasing)等其他“序列到序列”的任务,你只需要按照如下方式组织数据,并将它们放在`demo/seqToseq/data`目录下: + + dataset + train + file1.src file1.trg + file2.src file2.trg + ...... + test + file1.src file1.trg + file2.src file2.trg + ...... + gen + file1.src file1.trg + file2.src file2.trg + ...... + +- 一级目录:数据集文件夹名称 +- 二级目录:train、test和gen这三个文件夹是固定的 +- 三级目录:源语言到目标语言的平行语料库文件 + - **XXX.src** 是源语言的文件,**XXX.trg** 时目标语言的文件 + - 文件中的每行都必须是一个句子 + - **XXX.src** 和 **XXX.trg** 中任意第i行的句子之间都必须有着一一对应的关系 + +## 数据预处理 ## +### 预处理工作流程 ### +- 将每个源语言到目标语言的平行语料库文件合并为一个文件: + - 合并每个 **XXX.src** 和 **XXX.trg** 文件为 **XXX** + - **XXX** 中的第i行 = **XXX.src** 中的第i行 + '\t' + **XXX.trg**中的第i行 +- 创建训练数据的“源字典”和“目标字典”,每个字典都有DICTSIZE个单词,包括: + - 词频最高的(DICTSIZE - 3)个单词 + - 3个特殊符号 + - ``:序列的开始 + - ``:序列的结束 + - ``:未包含在字典中的单词 + +### 预处理命令和结果 +对数据集进行预处理的基本命令是: + +```python +cd demo/seqToseq/ +python preprocess.py -i INPUT [-d DICTSIZE] [-m] +``` + +- `-i INPUT`:输入的原始数据集路径 +- `-d DICTSIZE`:指定的字典单词数,如果没有设置,字典会包含输入数据集中的所有单词 +- `-m --mergeDict`:合并 “源字典”和“目标字典”,使得两个字典有相同的上下文 + +你将会看到如下消息: + + concat parallel corpora for dataset + build source dictionary for train data + build target dictionary for train data + dictionary size is XXX + +然后你只需要运行以下命令: + +```python +python preprocess.py -i data/wmt14 -d 30000 +``` + +这将花费数分钟的时间,并且将预处理好的数据集存放在`demo/seqToseq/data/pre-wmt14`目录下。目录结构如下: + + train test gen train.list test.list gen.list src.dict trg.dict# Text generation Tutorial # + +- **train, test, gen**:分别包含了法语到英语的平行语料库的训练数据、测试数据和生成数据。文件夹中的每个文件的每一行包含两部分,首先是法语序列,然后是对应的英语序列。 +- **train.list, test.list, gen.list**:分别为train,test,gen文件夹中的文件列表 +- **src.dict, trg.dict**:源(法语)/目标(英语)字典,每个字典包含总共30000个单词:29997个最高频单词和3个特殊符号 + +## 模型训练 ## +### 简介### + +神经网络机器翻译(NMT)旨在建立一个可以被协同调至最优翻译效果的单神经元网络。近期提出的NMT模型通常都属于编解码模型(encoder–decoder models)的一种。编解码模型将一个源语句编码为一个定长的向量,然后解码器通过这个向量生成一个目标语句。 + +在这个任务中,我们使用了一个编解码模型的扩展,它同时学习排列(align)与翻译。每当模型在翻译过程中生成了一个单词,它就会在源语句中搜索出最相关信息的位置的集合。解码器根据上下文向量预测出一个目标单词,这个向量与源中搜索出的位置和所有之前生成的目标单词有关。如想了解更多详细的解释,可以参考 [Neural Machine Translation by Jointly Learning to Align and Translate](http://arxiv.org/abs/1409.0473)。 + +这个模型对于编解码模型来说,最不同的特色是它并没有将输入语句编码为一个单独的定长向量。相反,它将输入语句编码为向量的序列,其中每个向量对应输入语句中的一个元素。然后在解码被翻译的语句时,会自适应地从这些向量中选择一个子集出来。这使得NMT模型得以解放出来,不必再将任意长度源语句中的所有信息压缩至一个定长的向量中。该模型在长语句翻译的场景下效果提升更加明显,在任意长度语句翻译的场景下都可以观察到其效果的提升。 +
![](./encoder-decoder-attention-model.png)
+
Figure 1. Encoder-Decoder-Attention-Model
+ +### 使用PaddlePaddle训练模型 ### +我们在训练之前需要常见一个模型配置文件,这里是一个例子`demo/seqToseq/translation/train.conf`。前三行import了定义network,job_mode和attention_mode的python函数。 + +```python +from seqToseq_net import * +is_generating = False + +### Data Definiation +train_conf = seq_to_seq_data(data_dir = "./data/pre-wmt14", + is_generating = is_generating) + +### Algorithm Configuration +settings( + learning_method = AdamOptimizer(), + batch_size = 50, + learning_rate = 5e-4) + +### Network Architecture +gru_encoder_decoder(train_conf, is_generating) +``` + +1. **Data Definiation**:在示例中我们定义了一个序列到序列的训练和测试数据。它返回train_conf作为配置,其输入参数如下: + - data_dir:训练数据和测试数据的目录 + - is_generating:这个配置是否用来生成,这里设置为False +2. **Algorithm Configuration**:在示例中我们使用SGD训练算法(默认),和ADAM学习方法,指定batch_size为50,learning_rate为5e-4 +3. **Network Architecture**:在示例中我们使用attention版本的GRU编解码网络。它包括了一个双向的GRU作为编码器和解码器,它模拟了解码翻译过程中在源语句中的搜索。 + +### 训练模型的命令与结果### +写完模型配置之后,我们可以通过以下命令来训练模型: + +```bash +cd demo/seqToseq/translation +./train.sh +``` + +`train.sh` 的内容如下所示: + +```bash +paddle train \ +--config='translation/train.conf' \ +--save_dir='translation/model' \ +--use_gpu=false \ +--num_passes=16 \ +--show_parameter_stats_period=100 \ +--trainer_count=4 \ +--log_period=10 \ +--dot_period=5 \ +2>&1 | tee 'translation/train.log' +``` +- config: 设置神经网络的配置文件 +- save_dir: 设置保存模型的输出路径 +- use_gpu: 是否使用GPU训练,这里设置为使用CPU +- num_passes: 设置passes的数量。paddle中的一条pass表示训练数据集中所有的样本一次 +- show_parameter_stats_period: 这里每隔100个batch显示一次参数统计信息 +- trainer_count: 设置CPU线程数或者GPU设备数 +- log_period: 这里每隔10个batch打印一次日志 +- dot_period: 这里每个5个batch打印一个点"." + +训练的损失函数默认每隔10个batch打印一次,你将会看到如下消息: + + I0719 19:16:45.952062 15563 TrainerInternal.cpp:160] Batch=10 samples=500 AvgCost=198.475 CurrentCost=198.475 Eval: classification_error_evaluator=0.737155 CurrentEval: classification_error_evaluator=0.737155 + I0719 19:17:56.707319 15563 TrainerInternal.cpp:160] Batch=20 samples=1000 AvgCost=157.479 CurrentCost=116.483 Eval: classification_error_evaluator=0.698392 CurrentEval: classification_error_evaluator=0.659065 + ..... +- AvgCost:从第0个batch到当前batch的平均cost +- CurrentCost::当前batch的cost +- classification\_error\_evaluator(Eval):从第0个评估到当前评估中,每个单词的预测错误率 +- classification\_error\_evaluator(CurrentEval):当前评估中,每个单词的预测错误率 + +当classification\_error\_evaluator的值低于0.35时,模型就训练成功了。 + +## 文本生成 ## +### 简介### + +一般而言,NMT模型受制于源语句的编码,并且通过给出当前目标单词来预测下一个目标单词。在训练过程中,当前单词在相比之下总是被当作真值(ground truth)。在生成过程中,当前单词是解码器最后一步的输出,这来自于PaddlePaddle的内存中。 + +而且,我们使用集束搜索(Beam Search)来生成序列。集束搜索使用广度优先搜索来构建搜索树。对于树的每一层,生成当前层的所有后继状态,并将它们按照启发代价(heuristic cost)升序排列。但是这种方法在每层只保存预设数量的最优状态(这个数量称为beam size)。 + +### 预训练的模型 ### +我们在拥有50个节点的集群中训练模型,每个节点有两个6核CPU。我们在5天里训练了16个pass,其中每条pass花费了7个小时。model_dir中有16个子目录,每个里面都包含202MB的全部的模型参数。然后我们发现pass-00012的模型有着最高的BLEU值27.77(参考文献[BLEU: a Method for Automatic Evaluation of Machine Translation](http://www.aclweb.org/anthology/P02-1040.pdf))。要下载解压这个模型,只需在linux下运行如下命令: + +```bash +cd demo/seqToseq/data +./wmt14_model.sh +``` + +### 使用PaddlePaddle生成模型 ### +在翻译法语句子之前,我们需要创建模型配置文件。这里是一个例子`demo/seqToseq/translation/gen.conf`。前三行import了定义network,job_mode和attention_mode的python函数。 + +```python +from seqToseq_net import * +is_generating = True + +################## Data Definiation ##################### +gen_conf = seq_to_seq_data(data_dir = "./data/pre-wmt14", + is_generating = is_generating, + gen_result = "./translation/gen_result") + +############## Algorithm Configuration ################## +settings( + learning_method = AdamOptimizer(), + batch_size = 1, + learning_rate = 0) + +################# Network configure ##################### +gru_encoder_decoder(gen_conf, is_generating) +``` + +1. **Data Definiation**:在示例中我们定义了一个序列到序列的生成数据。它返回gen_conf作为配置,其输入参数如下: + - data_dir:生成数据的目录 +  - is_generating:这个配置是否用来生成,这里设置为True +  - gen_result:保存生成结果的文件 +2. **Algorithm Configuration**:在生成过程中我们使用SGD训练算法,并指定batch_size为1(每次生成1个序列),learning_rate为0 +3. **Network Architecture**:本质上与训练模型一样 + +### 生成模型的命令与结果 ### +写完模型配置之后,我们可以通过以下命令来进行从法语到英语的文本翻译: + +```bash +cd demo/seqToseq/translation +./gen.sh +``` + + `gen.sh` 的内容如下所示。与训练模型不同的是,这里有一些不同的参数需要指定: + +```bash +paddle train \ +--job=test \ +--config='translation/gen.conf' \ +--save_dir='data/wmt14_model' \ +--use_gpu=true \ +--num_passes=13 \ +--test_pass=12 \ +--trainer_count=1 \ +2>&1 | tee 'translation/gen.log' +``` +- job:设置任务的模式为测试 +- save_dir:存储模型的路径 +- num_passes and test_pass:从test_pass到(num_passes - 1)加载模型参数,这里只加载 `data/wmt14_model/pass-00012` + +你将会看到这样的消息: + + I0706 14:48:31.178915 31441 GradientMachine.cpp:143] Loading parameters from data/wmt14_model/pass-00012 + I0706 14:48:40.012039 31441 Tester.cpp:125] Batch=100 samples=100 AvgCost=0 + I0706 14:48:48.898632 31441 Tester.cpp:125] Batch=200 samples=200 AvgCost=0 + ... + +然后在`demo/seqToseq/translation/gen_result`中的生成结果如下所示: + + 0 + 0 -11.1314 The about the width of the seats while large controls are at stake + 1 -11.1519 The on the width of the seats while large controls are at stake + 2 -11.5988 The about the width of the seats while large controls are at stake . + + 1 + 0 -24.4149 The dispute is between the major aircraft manufacturers about the width of the tourist seats on the flights , paving the way for a confrontation during the month of the Dubai . + 1 -26.9524 The dispute is between the major aircraft manufacturers about the width of the tourist seats on the flights , paving the way for a confrontation during the month of Dubai ' s . + 2 -27.9574 The dispute is between the major aircraft manufacturers about the width of the tourist seats on the flights , paving the way for a confrontation during the month of Dubai ' s Dubai . + ... + +- 这是集束搜索的结果,其中beam size是3 +- 第一行的“0”和第6行的“1”表示生成数据的序列id +- 其他六行列出了集束搜索的结果 + - 第二列是集束搜索的得分(从大到小) + - 第三列是生成的英语序列 +- 有两个特殊标识: + - ``:序列的结尾 + - ``:不包含在字典中的单词 + +### BLEU评估 ### +对机器翻译的人工评估工作很广泛但也很昂贵。一篇论文 [BLEU: a Method for Automatic Evaluation of Machine Translation](http://www.aclweb.org/anthology/P02-1040.pdf) 展示了一种方法,当需要快速或者频繁的评估时,使用自动的替补来替代经验丰富的人工评判。[Moses](http://www.statmt.org/moses/) 是一个统计学的机器翻译系统,我们使用其中的 [multi-bleu.perl](https://github.com/moses-smt/mosesdecoder/blob/master/scripts/generic/multi-bleu.perl) 来做BLEU评估。运行以下命令来下载这个脚本: + +```bash +cd demo/seqToseq/translation +./moses_bleu.sh +``` + +由于标准的翻译结果已经下载到这里`data/wmt14/gen/ntst14.trg`,我们可以运行以下命令来做BLEU评估。 + +```bash +cd demo/seqToseq/translation +./eval_bleu.sh FILE BEAMSIZE +``` + +- FILE:生成的结果文件 +- BEAMSIZE:集束搜索中的扩展广度 diff --git a/release/0.10.0/doc_cn/_static/ajax-loader.gif b/release/0.10.0/doc_cn/_static/ajax-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..61faf8cab23993bd3e1560bff0668bd628642330 GIT binary patch literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nno%(3)e{?)x>&1u}A`t?OF7Z|1gRivOgXi&7IyQd1Pl zGfOfQ60;I3a`F>X^fL3(@);C=vM_KlFfb_o=k{|A33hf2a5d61U}gjg=>Rd%XaNQW zW@Cw{|b%Y*pl8F?4B9 zlo4Fz*0kZGJabY|>}Okf0}CCg{u4`zEPY^pV?j2@h+|igy0+Kz6p;@SpM4s6)XEMg z#3Y4GX>Hjlml5ftdH$4x0JGdn8~MX(U~_^d!Hi)=HU{V%g+mi8#UGbE-*ao8f#h+S z2a0-5+vc7MU$e-NhmBjLIC1v|)9+Im8x1yacJ7{^tLX(ZhYi^rpmXm0`@ku9b53aN zEXH@Y3JaztblgpxbJt{AtE1ad1Ca>{v$rwwvK(>{m~Gf_=-Ro7Fk{#;i~+{{>QtvI yb2P8Zac~?~=sRA>$6{!(^3;ZP0TPFR(G_-UDU(8Jl0?(IXu$~#4A!880|o%~Al1tN literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_static/basic.css b/release/0.10.0/doc_cn/_static/basic.css new file mode 100644 index 0000000000..dc88b5a2d0 --- /dev/null +++ b/release/0.10.0/doc_cn/_static/basic.css @@ -0,0 +1,632 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox input[type="text"] { + width: 170px; +} + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li div.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px 7px 0 7px; + background-color: #ffe; + width: 40%; + float: right; +} + +p.sidebar-title { + font-weight: bold; +} + +/* -- topics ---------------------------------------------------------------- */ + +div.topic { + border: 1px solid #ccc; + padding: 7px 7px 0 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +div.admonition dl { + margin-bottom: 0; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + border: 0; + border-collapse: collapse; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +table.footnote td, table.footnote th { + border: 0 !important; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +dl { + margin-bottom: 15px; +} + +dd p { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +dt:target, .highlighted { + background-color: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; +} + +td.linenos pre { + padding: 5px 0px; + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + margin-left: 0.5em; +} + +table.highlighttable td { + padding: 0 0.5em 0 0.5em; +} + +div.code-block-caption { + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +div.code-block-caption + div > div.highlight > pre { + margin-top: 0; +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + padding: 1em 1em 0; +} + +div.literal-block-wrapper div.highlight { + margin: 0; +} + +code.descname { + background-color: transparent; + font-weight: bold; + font-size: 1.2em; +} + +code.descclassname { + background-color: transparent; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: relative; + left: 0px; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/release/0.10.0/doc_cn/_static/comment-bright.png b/release/0.10.0/doc_cn/_static/comment-bright.png new file mode 100644 index 0000000000000000000000000000000000000000..15e27edb12ac25701ac0ac21b97b52bb4e45415e GIT binary patch literal 756 zcmVgfIX78 z$8Pzv({A~p%??+>KickCb#0FM1rYN=mBmQ&Nwp<#JXUhU;{|)}%&s>suq6lXw*~s{ zvHx}3C%<;wE5CH!BR{p5@ml9ws}y)=QN-kL2?#`S5d*6j zk`h<}j1>tD$b?4D^N9w}-k)bxXxFg>+#kme^xx#qg6FI-%iv2U{0h(Y)cs%5a|m%Pn_K3X_bDJ>EH#(Fb73Z zfUt2Q3B>N+ot3qb*DqbTZpFIn4a!#_R-}{?-~Hs=xSS6p&$sZ-k1zDdtqU`Y@`#qL z&zv-~)Q#JCU(dI)Hf;$CEnK=6CK50}q7~wdbI->?E07bJ0R;!GSQTs5Am`#;*WHjvHRvY?&$Lm-vq1a_BzocI^ULXV!lbMd%|^B#fY;XX)n<&R^L z=84u1e_3ziq;Hz-*k5~zwY3*oDKt0;bM@M@@89;@m*4RFgvvM_4;5LB!@OB@^WbVT zjl{t;a8_>od-~P4 m{5|DvB&z#xT;*OnJqG}gk~_7HcNkCr0000W zanA~u9RIXo;n7c96&U)YLgs-FGlx~*_c{Jgvesu1E5(8YEf&5wF=YFPcRe@1=MJmi zag(L*xc2r0(slpcN!vC5CUju;vHJkHc*&70_n2OZsK%O~A=!+YIw z7zLLl7~Z+~RgWOQ=MI6$#0pvpu$Q43 zP@36QAmu6!_9NPM?o<1_!+stoVRRZbW9#SPe!n;#A_6m8f}|xN1;H{`0RoXQ2LM47 zt(g;iZ6|pCb@h2xk&(}S3=EVBUO0e90m2Lp5CB<(SPIaB;n4))3JB87Or#XPOPcum z?<^(g+m9}VNn4Y&B`g8h{t_$+RB1%HKRY6fjtd-<7&EsU;vs0GM(Lmbhi%Gwcfs0FTF}T zL{_M6Go&E0Eg8FuB*(Yn+Z*RVTBE@10eIOb3El^MhO`GabDll(V0&FlJi2k^;q8af zkENdk2}x2)_KVp`5OAwXZM;dG0?M-S)xE1IKDi6BY@5%Or?#aZ9$gcX)dPZ&wA1a< z$rFXHPn|TBf`e?>Are8sKtKrKcjF$i^lp!zkL?C|y^vlHr1HXeVJd;1I~g&Ob-q)& z(fn7s-KI}G{wnKzg_U5G(V%bX6uk zIa+<@>rdmZYd!9Y=C0cuchrbIjuRB_Wq{-RXlic?flu1*_ux}x%(HDH&nT`k^xCeC ziHi1!ChH*sQ6|UqJpTTzX$aw8e(UfcS^f;6yBWd+(1-70zU(rtxtqR%j z-lsH|CKQJXqD{+F7V0OTv8@{~(wp(`oIP^ZykMWgR>&|RsklFMCnOo&Bd{le} zV5F6424Qzl;o2G%oVvmHgRDP9!=rK8fy^!yV8y*4p=??uIRrrr0?>O!(z*g5AvL2!4z0{sq%vhG*Po}`a<6%kTK5TNhtC8}rXNu&h^QH4A&Sk~Autm*s~45(H7+0bi^MraaRVzr05hQ3iK?j` zR#U@^i0WhkIHTg29u~|ypU?sXCQEQgXfObPW;+0YAF;|5XyaMAEM0sQ@4-xCZe=0e z7r$ofiAxn@O5#RodD8rh5D@nKQ;?lcf@tg4o+Wp44aMl~c47azN_(im0N)7OqdPBC zGw;353_o$DqGRDhuhU$Eaj!@m000000NkvXXu0mjfjZ7Z_ literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_static/css/badge_only.css b/release/0.10.0/doc_cn/_static/css/badge_only.css new file mode 100644 index 0000000000..7e17fb148c --- /dev/null +++ b/release/0.10.0/doc_cn/_static/css/badge_only.css @@ -0,0 +1,2 @@ +.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-weight:normal;font-style:normal;src:url("../font/fontawesome_webfont.eot");src:url("../font/fontawesome_webfont.eot?#iefix") format("embedded-opentype"),url("../font/fontawesome_webfont.woff") format("woff"),url("../font/fontawesome_webfont.ttf") format("truetype"),url("../font/fontawesome_webfont.svg#FontAwesome") format("svg")}.fa:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa{display:inline-block;text-decoration:inherit}li .fa{display:inline-block}li .fa-large:before,li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-0.8em}ul.fas li .fa{width:0.8em}ul.fas li .fa-large:before,ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before{content:""}.icon-book:before{content:""}.fa-caret-down:before{content:""}.icon-caret-down:before{content:""}.fa-caret-up:before{content:""}.icon-caret-up:before{content:""}.fa-caret-left:before{content:""}.icon-caret-left:before{content:""}.fa-caret-right:before{content:""}.icon-caret-right:before{content:""}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;border-top:solid 10px #343131;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980B9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27AE60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book{float:left}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#E74C3C;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#F1C40F;color:#000}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book{float:left}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}img{width:100%;height:auto}} +/*# sourceMappingURL=badge_only.css.map */ diff --git a/release/0.10.0/doc_cn/_static/css/override.css b/release/0.10.0/doc_cn/_static/css/override.css new file mode 100644 index 0000000000..09ecff688b --- /dev/null +++ b/release/0.10.0/doc_cn/_static/css/override.css @@ -0,0 +1,509 @@ +* { + font-family:"Roboto","Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; +} +body { + padding-top: 80px; + background-image: none !important; + font-family: Roboto; +} +a, a:focus, a:hover, a:visited { + color: #597cf1; +} +.site-header { + position: fixed; + top: 0; + width: 100%; + left: 0; + z-index: 99; + background: #333; + height: 80px; + display: -webkit-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + flex-flow: row nowrap; + justify-content: space-between; + box-shadow: #ccc 0 3px 3px; +} +.site-header > div { + height: 80px; + display: inline-block; + background-color: #2f323a; + padding: 0 30px; +} +.site-header .site-logo { + line-height: 80px; + width: 290px; + flex: 0 1 290px; +} +.site-header .site-logo > a { + display: inline-block; + width: 230px; +} +.site-header .site-nav-links { + flex: 0 1 100%; +} +.site-header .site-nav-links .site-menu { + height: 30px; + line-height: 30px; + font-size: 12px; + background: -webkit-linear-gradient(#282b33, #2f323a); + background: -o-linear-gradient(#282b33, #2f323a); + background: -moz-linear-gradient(#282b33, #2f323a); + background: linear-gradient(to left, #282b33, #2f323a); + margin-right: -30px; + padding-right: 30px; +} +.site-header .site-nav-links .site-menu .site-page-links { + display: inline-block; + float: right; + margin-right: 20px; +} +.site-header .site-nav-links .site-menu .site-page-links> li { + display: inline-block; + float: left; +} +.site-header .site-nav-links .site-menu .site-page-links > li > a { + color: #a7adbd; + display: inline-block; + height: 30px; + padding: 0 20px; + font-size: 12px; +} +.site-header .site-nav-links .site-menu .site-page-links > li:hover > a, +.site-header .site-nav-links .site-menu .site-page-links > li.active > a { + background-color: #2f323a; + color: #bcc1d0; +} +.site-header .site-nav-links .site-menu .site-page-links > li.active > a { + font-weight: bold; +} +.site-header .site-nav-links .site-menu .fork-on-github { + color: #597cf1; + line-height: 30px; + display: inline-block; + padding: 0 0 0 20px; + float: right; + position: relative; +} +.site-header .site-nav-links .site-menu .fork-on-github .fa { + margin-right: 5px; + font-size: 16px; + vertical-align: middle; +} +.site-header .site-nav-links .site-menu .language-switcher { + height: 30px; + display: inline-block; + float: right; + line-height: 30px; + padding: 0 20px; + position: relative; +} +.site-header .site-nav-links .site-menu .language-switcher > a { + color: #a7adbd; +} +.site-header .site-nav-links .site-menu .language-switcher.open > a { + background-color: #24272f; + color: #bcc1d0; +} +.site-header .site-nav-links .site-menu .language-switcher .fa { + margin-left: 5px; +} +.site-header .site-nav-links .site-menu .language-switcher .fa-angle-down { + display: inline; +} +.site-header .site-nav-links .site-menu .language-switcher.open .fa-angle-down { + display: none; +} +.site-header .site-nav-links .site-menu .language-switcher .fa-angle-up { + display: none; +} +.site-header .site-nav-links .site-menu .language-switcher.open .fa-angle-up { + display: inline; +} +.site-header .site-nav-links .site-menu .fork-on-github:before, +.site-header .site-nav-links .site-menu .language-switcher:before { + width: 1px; + height: 12px; + top: 9px; + background-color: #3a3d47; + left: 0; + display: inline-block; + position: absolute; + content: ""; +} +.site-header .site-nav-links .site-menu .language-switcher .dropdown-menu { + display: none; + position: absolute; + box-shadow: #ccc 0 0 5px; + background-color: #fff; + width: 100%; + left: 0; + top: 30px; +} +.site-header .site-nav-links .site-menu .language-switcher .dropdown-menu > li { + line-height: 30px; + padding: 0 20px; +} +.site-header .site-nav-links .site-menu .language-switcher .dropdown-menu > li:hover { + background-color: #f7f8fe; +} +.site-header .site-nav-links .site-menu .language-switcher .dropdown-menu > li + li { + border-top: 1px solid #dedfe5; +} +.site-header .site-nav-links .site-menu .language-switcher .dropdown-menu > li > a { + color: #2f323a; +} +.site-header .site-nav-links .site-menu .language-switcher.open .dropdown-menu { + display: inline-block; +} +.site-header .site-nav-links .doc-module { + display: block; + height: 50px; + line-height: 50px; +} +.site-header .site-nav-links .doc-module > ul > li { + display: inline-block; + float: left; +} +.site-header .site-nav-links .doc-module > ul > li > a { + color: #c9cbd0; + font-size: 14px; + display: inline-block; + height: 50px; + line-height: 50px; + border-bottom: 2px solid transparent; + padding: 0 20px; +} +.site-header .site-nav-links .doc-module > ul > li:hover > a { + color: #fff; +} +.site-header .site-nav-links .doc-module > ul > li.current > a { + border-bottom-color: #fff; + color: #fff; +} +.site-header .site-nav-links .doc-module [role="search"]{ + float: right; +} +.site-header .site-nav-links .doc-module [role="search"] input { + background-color: #3a3d47; + border-radius: 15px; + color: #a7adbd; + border: 1px solid transparent; + padding: 6px 15px; + width: 180px; + box-shadow: none; + transition: all .2s; + -webkit-transition: all .2s; + -moz-transition: all .2s; + -o-transition: all .2s; + background-repeat: no-repeat; + background-position: 145px center; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/sl0p8zAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAEpSURBVHjanNO7K8dhFMfx1w8LBqVM5DLxF7hMTGSQpAwmJSkDizAZLSb5Ayi3clsMFgwWISGXkoSyGYRSym15fvr27duvH5/leTqd8+6c83ye1NLatohqMIgWVOEV+5jDAr7ElBO5j+IIH+hBJRqwjDHsoTQOyAvnCPpRi4tYziVmMY2dkPMc7aAG42hPKE7rAwMBNhEfYQgzOJNZ3xhGL4qigGasyk43OEdjFFCGe9nrNtT8Al5Q8AdAMd6jgFPU/QFwiN0oYD4sJzdLwBiuo4A5vGEKqQyF1ahPcuInOsJrrKMiwWx9OMAWWpOc+BD2MImr4Ik7FIb4AzqRH6zdhU1IxT4TlKAJ5XjCMU6CkaANi2lIXsKsj1jJsIsNdKc7yfE/pSGTPwMABBFCGflm+rsAAAAASUVORK5CYII="); +} +.site-header .site-nav-links .doc-module [role="search"] input:focus { + width: 300px; +} +.site-header .site-nav-links .doc-module [role="search"] input:focus { + background-position: 265px center; +} +.site-header .site-nav-links .doc-module [role="search"] input:hover, +.site-header .site-nav-links .doc-module [role="search"] input:focus { + color: #fff; + border-color: #597cf1; + background-image: url("data:image/png;base64,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"); +} +.doc-menu-vertical { + display: inline-block; + float: left; + width: 240px; + height: 100%; + background-color: #ecedee; + position: absolute; + left: 0; + top: 0; + overflow: hidden; + padding: 0; + border-right: 1px solid #dddfe3; +} +.doc-menu-vertical > ul { + display: none; +} +.doc-menu-vertical > ul.current{ + display: block; +} +.doc-menu-vertical > ul.current > li.toctree-l1 { + display: none; +} +.doc-menu-vertical > ul.current > li.toctree-l1.current { + display: block; +} +.doc-menu-vertical > ul.current > li.toctree-l1.current > a { + display: none; +} +.doc-menu-vertical .toctree-l2 a { + width: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + padding-right: 30px; +} +.doc-menu-vertical .toctree-l2 > a { + font-size: 14px; + color: #2f323a; + padding-left: 30px; + line-height: 50px; + display: block; + font-weight: bold; + border-bottom: 1px solid #dddfe3; +} +.doc-menu-vertical .toctree-l2.has-child > a:after { + font-family: "FontAwesome"; + display: inline-block; + font-style: normal; + font-weight: normal; + text-decoration: inherit; + content: ""; + float: right; + line-height: 50px; + color: #a7adbd; + position: absolute; + right: 15px; +} +.doc-menu-vertical .toctree-l2.has-child.current > a:after { + content: ""; +} +.doc-menu-vertical .toctree-l2 > a + ul{ + background-color: #e4e6e9; + height: 0; + overflow: hidden; +} +.doc-menu-vertical .toctree-l2.current > a + ul { + border-bottom: 1px solid #dddfe3; + height: auto; +} +.doc-menu-vertical .toctree-l2 li.active > a { + background-color: #597cf1; + color: #fff; +} +.doc-menu-vertical .toctree-l3 > a { + font-size: 12px; + color: #2f323a; + padding-left: 30px; + line-height: 40px; + display: block; +} +.doc-menu-vertical .toctree-l4 > a { + font-size: 12px; + color: #64697b; + padding-left: 50px; + line-height: 30px; + display: block; +} +.doc-menu-vertical .toctree-l5 > a { + font-size: 14px; + color: #ccc; + padding-left: 40px; + display: block; +} +.local-toc { + position: absolute; + height: 100%; + background-color: #f6f7f8; + top: 0; + left: 240px; + padding: 0; + z-index: 9; +} +.local-toc:after { + content: ""; + position: absolute; + height: 100%; + width: 1px; + display: inline-block; + right: 0; + background-color: #dddfe3; + top: 0; + z-index: -1; +} +.local-toc:hover a { + width: auto; +} +.local-toc > ul > li a { + position: relative; + font-size: 12px; + overflow: hidden; + display: none; +} +.local-toc > ul > li > ul > li a { + display: block; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + padding-right: 20px; + width: 50px; +} +.local-toc > ul > li > ul > li > ul > li > ul a { + display: none; +} +.local-toc > ul > li > ul li > a:after { + content: ""; + display: inline-block; + width: 1px; + height: 100%; + background-color: transparent; + position: absolute; + right: 0; + top: 0; +} +.local-toc > ul > li > ul li a:hover{ + background-color: #e6eaf7 !important; +} +.local-toc > ul > li > ul li a:hover:after { + background-color: #e6eaf7 !important; +} +.local-toc > ul > li > ul li.active > a { + color: #ff9711; + background-color: #fff; + border-top: 1px solid #dddfe3; + border-bottom: 1px solid #dddfe3; +} +.local-toc > ul > li > ul li.active > a:before { + background-color: #ff9711; + width: 10px; + height: 10px; + margin: 15px 20px; + border-radius: 5px; +} +.local-toc > ul > li > ul li.active > a:after { + background-color: #fff; +} +.local-toc > ul > li > ul > li { + position: relative; + line-height: 40px; + white-space: nowrap; +} +.local-toc > ul > li > ul > li > a { + color: #64697b; +} +.local-toc > ul > li > ul > li > a + ul { + display: none; +} +.local-toc > ul > li > ul > li > a:before { + display: inline-block; + content: ""; + width: 6px; + height: 6px; + background-color: #ccc; + border-radius: 3px; + margin: 17px 22px; + float: left; +} +.local-toc > ul > li > ul > li > ul > li > a { + color: #a7adbd; +} +.local-toc > ul > li > ul > li > ul > li > a:before { + display: inline-block; + content: ""; + width: 6px; + height: 6px; + background-color: #ccc; + border-radius: 3px; + margin: 17px 22px; + float: left; +} +.main-content-wrap { + position: absolute; + width: 100%; + top: 80px; + bottom: 0; + overflow: auto; + background-color: #f6f7f8; +} +.doc-content-wrap { + margin-left: 290px; + height: 100%; + position: relative; + padding-top: 60px; + background-color: #fff; +} +.doc-content-wrap > div[role='navigation'] { + position: absolute; + top: 0; + width: 100%; + left: 0; + padding: 0 30px; + height: 60px; +} +.wy-breadcrumbs { + line-height: 50px; + height: 60px; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAUCAYAAABMDlehAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjMjhmMGQ3ZC0wODU3LTQ0ZTctOGRhZi00NGU3OTc1ZmM2MzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzRBN0NEODRBRTM2MTFFNjlGMDI4RUM3M0VDQzY4NTkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzRBN0NEODNBRTM2MTFFNjlGMDI4RUM3M0VDQzY4NTkiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozNWQwMzI1ZC01ZDAyLTQ1YTYtODUxOS1lNWUzNjU5NGFhMzAiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDozZGVmZmY0OS1mNjA4LTExNzktYTRlZC1kZjJiNGY3N2YwNzMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7FGmP1AAAAKUlEQVR42mK4/+DpfwY9Q0tBJgYGhv8g4h8uFoKLEGOAc9FYSARAgAEAUgMQYBNmQ7sAAAAASUVORK5CYII="); + background-repeat: repeat no-repeat; + background-position: center 50px; +} +.wy-breadcrumbs > li { + color: #ccc; +} +.wy-breadcrumbs > li a { + color: #ff9711; + padding: 0; +} +.wy-breadcrumbs > li:first-child a { + color: #597cf1; +} +.wy-nav-content{ + max-width: none; + overflow: auto; + position: relative; + padding: 30px; + background-color: #fff; +} +.wy-nav-content h1 { + font-size: 24px; + color: #2f323a; + margin-bottom: 30px; +} +.wy-nav-content h2 { + font-size: 20px; + color: #2f323a; + margin-bottom: 30px; +} +.wy-nav-content h3 { + font-size: 18px; + color: #2f323a; + margin-bottom: 30px; +} +.wy-nav-content h4 { + font-size: 16px; + color: #2f323a; + margin-bottom: 30px; +} +.wy-nav-content p + h1, +.wy-nav-content p + h2, +.wy-nav-content p + h3, +.wy-nav-content p + h4 { + margin-top: 20px; +} +.wy-nav-content p{ + color: #2f323a; + margin-bottom: 20px; + font-size: 14px; +} +#search-results h2 { + font-size: 24px; + margin: 20px 0 10px 0; +} +#search-results p { + color: #a7adbd; +} +#search-results ul.search > li { + border-bottom: none; +} +#search-results ul.search > li > a { + color: #597cf1; +} +.rst-content .highlighted{ + background-color: transparent; + color: #ff9711; + padding: 0; +} diff --git a/release/0.10.0/doc_cn/_static/css/theme.css b/release/0.10.0/doc_cn/_static/css/theme.css new file mode 100644 index 0000000000..7be93399a4 --- /dev/null +++ b/release/0.10.0/doc_cn/_static/css/theme.css @@ -0,0 +1,5 @@ +*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}[hidden]{display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:hover,a:active{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;color:#000;text-decoration:none}mark{background:#ff0;color:#000;font-style:italic;font-weight:bold}pre,code,.rst-content tt,.rst-content code,kbd,samp{font-family:monospace,serif;_font-family:"courier new",monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:before,q:after{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}ul,ol,dl{margin:0;padding:0;list-style:none;list-style-image:none}li{list-style:none}dd{margin:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:0;margin:0;padding:0}label{cursor:pointer}legend{border:0;*margin-left:-7px;padding:0;white-space:normal}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;*width:13px;*height:13px}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top;resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:0.2em 0;background:#ccc;color:#000;padding:0.2em 0}.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;*line-height:0}.ir br{display:none}.hidden{display:none !important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.relative{position:relative}big,small{font-size:100%}@media print{html,body,section{background:none !important}*{box-shadow:none !important;text-shadow:none !important;filter:none !important;-ms-filter:none !important}a,a:visited{text-decoration:underline}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,.rst-content .toctree-wrapper p.caption,h3{orphans:3;widows:3}h2,.rst-content .toctree-wrapper p.caption,h3{page-break-after:avoid}}.fa:before,.wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.toctree-expand:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo,.btn,input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"],select,textarea,.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a,.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a,.wy-nav-top a{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}/*! + * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url("../fonts/fontawesome-webfont.eot?v=4.2.0");src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff?v=4.2.0") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.2.0") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.fa,.wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink,.rst-content tt.download span:first-child,.rst-content code.download span:first-child,.icon{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:0.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:0.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:solid 0.08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.wy-menu-vertical li span.pull-left.toctree-expand,.wy-menu-vertical li.on a span.pull-left.toctree-expand,.wy-menu-vertical li.current>a span.pull-left.toctree-expand,.rst-content .pull-left.admonition-title,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content dl dt .pull-left.headerlink,.rst-content p.caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.rst-content code.download span.pull-left:first-child,.pull-left.icon{margin-right:.3em}.fa.pull-right,.wy-menu-vertical li span.pull-right.toctree-expand,.wy-menu-vertical li.on a span.pull-right.toctree-expand,.wy-menu-vertical li.current>a span.pull-right.toctree-expand,.rst-content .pull-right.admonition-title,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content dl dt .pull-right.headerlink,.rst-content p.caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.rst-content code.download span.pull-right:first-child,.pull-right.icon{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-remove:before,.fa-close:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-gear:before,.fa-cog:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-rotate-right:before,.fa-repeat:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.rst-content .admonition-title:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-warning:before,.fa-exclamation-triangle:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-gears:before,.fa-cogs:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-save:before,.fa-floppy-o:before{content:""}.fa-square:before{content:""}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.wy-dropdown .caret:before,.icon-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-unsorted:before,.fa-sort:before{content:""}.fa-sort-down:before,.fa-sort-desc:before{content:""}.fa-sort-up:before,.fa-sort-asc:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-legal:before,.fa-gavel:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-flash:before,.fa-bolt:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-paste:before,.fa-clipboard:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-unlink:before,.fa-chain-broken:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.toctree-expand:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:""}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:""}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:""}.fa-euro:before,.fa-eur:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-rupee:before,.fa-inr:before{content:""}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:""}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:""}.fa-won:before,.fa-krw:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-turkish-lira:before,.fa-try:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li span.toctree-expand:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-institution:before,.fa-bank:before,.fa-university:before{content:""}.fa-mortar-board:before,.fa-graduation-cap:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:""}.fa-file-zip-o:before,.fa-file-archive-o:before{content:""}.fa-file-sound-o:before,.fa-file-audio-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before{content:""}.fa-ge:before,.fa-empire:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-send:before,.fa-paper-plane:before{content:""}.fa-send-o:before,.fa-paper-plane-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:""}.fa-meanpath:before{content:""}.fa,.wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink,.rst-content tt.download span:first-child,.rst-content code.download span:first-child,.icon,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context{font-family:inherit}.fa:before,.wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.toctree-expand:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before{font-family:"FontAwesome";display:inline-block;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa,a .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li a span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,a .rst-content .admonition-title,.rst-content a .admonition-title,a .rst-content h1 .headerlink,.rst-content h1 a .headerlink,a .rst-content h2 .headerlink,.rst-content h2 a .headerlink,a .rst-content h3 .headerlink,.rst-content h3 a .headerlink,a .rst-content h4 .headerlink,.rst-content h4 a .headerlink,a .rst-content h5 .headerlink,.rst-content h5 a .headerlink,a .rst-content h6 .headerlink,.rst-content h6 a .headerlink,a .rst-content dl dt .headerlink,.rst-content dl dt a .headerlink,a .rst-content p.caption .headerlink,.rst-content p.caption a .headerlink,a .rst-content tt.download span:first-child,.rst-content tt.download a span:first-child,a .rst-content code.download span:first-child,.rst-content code.download a span:first-child,a .icon{display:inline-block;text-decoration:inherit}.btn .fa,.btn .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .btn span.toctree-expand,.btn .wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.on a .btn span.toctree-expand,.btn .wy-menu-vertical li.current>a span.toctree-expand,.wy-menu-vertical li.current>a .btn span.toctree-expand,.btn .rst-content .admonition-title,.rst-content .btn .admonition-title,.btn .rst-content h1 .headerlink,.rst-content h1 .btn .headerlink,.btn .rst-content h2 .headerlink,.rst-content h2 .btn .headerlink,.btn .rst-content h3 .headerlink,.rst-content h3 .btn .headerlink,.btn .rst-content h4 .headerlink,.rst-content h4 .btn .headerlink,.btn .rst-content h5 .headerlink,.rst-content h5 .btn .headerlink,.btn .rst-content h6 .headerlink,.rst-content h6 .btn .headerlink,.btn .rst-content dl dt .headerlink,.rst-content dl dt .btn .headerlink,.btn .rst-content p.caption .headerlink,.rst-content p.caption .btn .headerlink,.btn .rst-content tt.download span:first-child,.rst-content tt.download .btn span:first-child,.btn .rst-content code.download span:first-child,.rst-content code.download .btn span:first-child,.btn .icon,.nav .fa,.nav .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .nav span.toctree-expand,.nav .wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.on a .nav span.toctree-expand,.nav .wy-menu-vertical li.current>a span.toctree-expand,.wy-menu-vertical li.current>a .nav span.toctree-expand,.nav .rst-content .admonition-title,.rst-content .nav .admonition-title,.nav .rst-content h1 .headerlink,.rst-content h1 .nav .headerlink,.nav .rst-content h2 .headerlink,.rst-content h2 .nav .headerlink,.nav .rst-content h3 .headerlink,.rst-content h3 .nav .headerlink,.nav .rst-content h4 .headerlink,.rst-content h4 .nav .headerlink,.nav .rst-content h5 .headerlink,.rst-content h5 .nav .headerlink,.nav .rst-content h6 .headerlink,.rst-content h6 .nav .headerlink,.nav .rst-content dl dt .headerlink,.rst-content dl dt .nav .headerlink,.nav .rst-content p.caption .headerlink,.rst-content p.caption .nav .headerlink,.nav .rst-content tt.download span:first-child,.rst-content tt.download .nav span:first-child,.nav .rst-content code.download span:first-child,.rst-content code.download .nav span:first-child,.nav .icon{display:inline}.btn .fa.fa-large,.btn .wy-menu-vertical li span.fa-large.toctree-expand,.wy-menu-vertical li .btn span.fa-large.toctree-expand,.btn .rst-content .fa-large.admonition-title,.rst-content .btn .fa-large.admonition-title,.btn .rst-content h1 .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.btn .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .btn .fa-large.headerlink,.btn .rst-content p.caption .fa-large.headerlink,.rst-content p.caption .btn .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.rst-content tt.download .btn span.fa-large:first-child,.btn .rst-content code.download span.fa-large:first-child,.rst-content code.download .btn span.fa-large:first-child,.btn .fa-large.icon,.nav .fa.fa-large,.nav .wy-menu-vertical li span.fa-large.toctree-expand,.wy-menu-vertical li .nav span.fa-large.toctree-expand,.nav .rst-content .fa-large.admonition-title,.rst-content .nav .fa-large.admonition-title,.nav .rst-content h1 .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.nav .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.nav .rst-content p.caption .fa-large.headerlink,.rst-content p.caption .nav .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.nav .rst-content code.download span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.nav .fa-large.icon{line-height:0.9em}.btn .fa.fa-spin,.btn .wy-menu-vertical li span.fa-spin.toctree-expand,.wy-menu-vertical li .btn span.fa-spin.toctree-expand,.btn .rst-content .fa-spin.admonition-title,.rst-content .btn .fa-spin.admonition-title,.btn .rst-content h1 .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.btn .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .btn .fa-spin.headerlink,.btn .rst-content p.caption .fa-spin.headerlink,.rst-content p.caption .btn .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.rst-content tt.download .btn span.fa-spin:first-child,.btn .rst-content code.download span.fa-spin:first-child,.rst-content code.download .btn span.fa-spin:first-child,.btn .fa-spin.icon,.nav .fa.fa-spin,.nav .wy-menu-vertical li span.fa-spin.toctree-expand,.wy-menu-vertical li .nav span.fa-spin.toctree-expand,.nav .rst-content .fa-spin.admonition-title,.rst-content .nav .fa-spin.admonition-title,.nav .rst-content h1 .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.nav .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.nav .rst-content p.caption .fa-spin.headerlink,.rst-content p.caption .nav .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.nav .rst-content code.download span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.nav .fa-spin.icon{display:inline-block}.btn.fa:before,.wy-menu-vertical li span.btn.toctree-expand:before,.rst-content .btn.admonition-title:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content dl dt .btn.headerlink:before,.rst-content p.caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.rst-content code.download span.btn:first-child:before,.btn.icon:before{opacity:0.5;-webkit-transition:opacity 0.05s ease-in;-moz-transition:opacity 0.05s ease-in;transition:opacity 0.05s ease-in}.btn.fa:hover:before,.wy-menu-vertical li span.btn.toctree-expand:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.rst-content p.caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.rst-content code.download span.btn:first-child:hover:before,.btn.icon:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li .btn-mini span.toctree-expand:before,.btn-mini .rst-content .admonition-title:before,.rst-content .btn-mini .admonition-title:before,.btn-mini .rst-content h1 .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.btn-mini .rst-content dl dt .headerlink:before,.rst-content dl dt .btn-mini .headerlink:before,.btn-mini .rst-content p.caption .headerlink:before,.rst-content p.caption .btn-mini .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.rst-content tt.download .btn-mini span:first-child:before,.btn-mini .rst-content code.download span:first-child:before,.rst-content code.download .btn-mini span:first-child:before,.btn-mini .icon:before{font-size:14px;vertical-align:-15%}.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.wy-alert-title,.rst-content .admonition-title{color:#fff;font-weight:bold;display:block;color:#fff;background:#6ab0de;margin:-12px;padding:6px 12px;margin-bottom:12px}.wy-alert.wy-alert-danger,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.admonition-todo{background:#fdf3f2}.wy-alert.wy-alert-danger .wy-alert-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .danger .wy-alert-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .danger .admonition-title,.rst-content .error .admonition-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title{background:#f29f97}.wy-alert.wy-alert-warning,.rst-content .wy-alert-warning.note,.rst-content .attention,.rst-content .caution,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.tip,.rst-content .warning,.rst-content .wy-alert-warning.seealso,.rst-content .admonition-todo{background:#ffedcc}.wy-alert.wy-alert-warning .wy-alert-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .attention .wy-alert-title,.rst-content .caution .wy-alert-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .admonition-todo .wy-alert-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .attention .admonition-title,.rst-content .caution .admonition-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .warning .admonition-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .admonition-todo .admonition-title{background:#f0b37e}.wy-alert.wy-alert-info,.rst-content .note,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.rst-content .seealso,.rst-content .wy-alert-info.admonition-todo{background:#e7f2fa}.wy-alert.wy-alert-info .wy-alert-title,.rst-content .note .wy-alert-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.rst-content .note .admonition-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .seealso .admonition-title,.rst-content .wy-alert-info.admonition-todo .admonition-title{background:#6ab0de}.wy-alert.wy-alert-success,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.warning,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.admonition-todo{background:#dbfaf4}.wy-alert.wy-alert-success .wy-alert-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .hint .wy-alert-title,.rst-content .important .wy-alert-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .hint .admonition-title,.rst-content .important .admonition-title,.rst-content .tip .admonition-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.admonition-todo .admonition-title{background:#1abc9c}.wy-alert.wy-alert-neutral,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.admonition-todo{background:#f3f6f6}.wy-alert.wy-alert-neutral .wy-alert-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .admonition-title{color:#404040;background:#e1e4e5}.wy-alert.wy-alert-neutral a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.admonition-todo a{color:#2980B9}.wy-alert p:last-child,.rst-content .note p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.rst-content .seealso p:last-child,.rst-content .admonition-todo p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0px;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,0.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all 0.3s ease-in;-moz-transition:all 0.3s ease-in;transition:all 0.3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27AE60}.wy-tray-container li.wy-tray-item-info{background:#2980B9}.wy-tray-container li.wy-tray-item-warning{background:#E67E22}.wy-tray-container li.wy-tray-item-danger{background:#E74C3C}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width: 768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px 12px;color:#fff;border:1px solid rgba(0,0,0,0.1);background-color:#27AE60;text-decoration:none;font-weight:normal;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:0px 1px 2px -1px rgba(255,255,255,0.5) inset,0px -2px 0px 0px rgba(0,0,0,0.1) inset;outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all 0.1s linear;-moz-transition:all 0.1s linear;transition:all 0.1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:0px -1px 0px 0px rgba(0,0,0,0.05) inset,0px 2px 0px 0px rgba(0,0,0,0.1) inset;padding:8px 12px 6px 12px}.btn:visited{color:#fff}.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn-disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn-disabled:hover,.btn-disabled:focus,.btn-disabled:active{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980B9 !important}.btn-info:hover{background-color:#2e8ece !important}.btn-neutral{background-color:#f3f6f6 !important;color:#404040 !important}.btn-neutral:hover{background-color:#e5ebeb !important;color:#404040}.btn-neutral:visited{color:#404040 !important}.btn-success{background-color:#27AE60 !important}.btn-success:hover{background-color:#295 !important}.btn-danger{background-color:#E74C3C !important}.btn-danger:hover{background-color:#ea6153 !important}.btn-warning{background-color:#E67E22 !important}.btn-warning:hover{background-color:#e98b39 !important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f !important}.btn-link{background-color:transparent !important;color:#2980B9;box-shadow:none;border-color:transparent !important}.btn-link:hover{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:active{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:visited{color:#9B59B6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:before,.wy-btn-group:after{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-active .wy-dropdown-menu{display:block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:solid 1px #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,0.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980B9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:solid 1px #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type="search"]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980B9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;left:auto;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned input,.wy-form-aligned textarea,.wy-form-aligned select,.wy-form-aligned .wy-help-inline,.wy-form-aligned label{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{border:0;margin:0;padding:0}legend{display:block;width:100%;border:0;padding:0;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label{display:block;margin:0 0 0.3125em 0;color:#333;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;*zoom:1;max-width:68em;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#E74C3C}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full input[type="text"],.wy-control-group .wy-form-full input[type="password"],.wy-control-group .wy-form-full input[type="email"],.wy-control-group .wy-form-full input[type="url"],.wy-control-group .wy-form-full input[type="date"],.wy-control-group .wy-form-full input[type="month"],.wy-control-group .wy-form-full input[type="time"],.wy-control-group .wy-form-full input[type="datetime"],.wy-control-group .wy-form-full input[type="datetime-local"],.wy-control-group .wy-form-full input[type="week"],.wy-control-group .wy-form-full input[type="number"],.wy-control-group .wy-form-full input[type="search"],.wy-control-group .wy-form-full input[type="tel"],.wy-control-group .wy-form-full input[type="color"],.wy-control-group .wy-form-halves input[type="text"],.wy-control-group .wy-form-halves input[type="password"],.wy-control-group .wy-form-halves input[type="email"],.wy-control-group .wy-form-halves input[type="url"],.wy-control-group .wy-form-halves input[type="date"],.wy-control-group .wy-form-halves input[type="month"],.wy-control-group .wy-form-halves input[type="time"],.wy-control-group .wy-form-halves input[type="datetime"],.wy-control-group .wy-form-halves input[type="datetime-local"],.wy-control-group .wy-form-halves input[type="week"],.wy-control-group .wy-form-halves input[type="number"],.wy-control-group .wy-form-halves input[type="search"],.wy-control-group .wy-form-halves input[type="tel"],.wy-control-group .wy-form-halves input[type="color"],.wy-control-group .wy-form-thirds input[type="text"],.wy-control-group .wy-form-thirds input[type="password"],.wy-control-group .wy-form-thirds input[type="email"],.wy-control-group .wy-form-thirds input[type="url"],.wy-control-group .wy-form-thirds input[type="date"],.wy-control-group .wy-form-thirds input[type="month"],.wy-control-group .wy-form-thirds input[type="time"],.wy-control-group .wy-form-thirds input[type="datetime"],.wy-control-group .wy-form-thirds input[type="datetime-local"],.wy-control-group .wy-form-thirds input[type="week"],.wy-control-group .wy-form-thirds input[type="number"],.wy-control-group .wy-form-thirds input[type="search"],.wy-control-group .wy-form-thirds input[type="tel"],.wy-control-group .wy-form-thirds input[type="color"]{width:100%}.wy-control-group .wy-form-full{float:left;display:block;margin-right:2.35765%;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child{margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n+1){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child{margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control{margin:6px 0 0 0;font-size:90%}.wy-control-no-input{display:inline-block;margin:6px 0 0 0;font-size:90%}.wy-control-group.fluid-input input[type="text"],.wy-control-group.fluid-input input[type="password"],.wy-control-group.fluid-input input[type="email"],.wy-control-group.fluid-input input[type="url"],.wy-control-group.fluid-input input[type="date"],.wy-control-group.fluid-input input[type="month"],.wy-control-group.fluid-input input[type="time"],.wy-control-group.fluid-input input[type="datetime"],.wy-control-group.fluid-input input[type="datetime-local"],.wy-control-group.fluid-input input[type="week"],.wy-control-group.fluid-input input[type="number"],.wy-control-group.fluid-input input[type="search"],.wy-control-group.fluid-input input[type="tel"],.wy-control-group.fluid-input input[type="color"]{width:100%}.wy-form-message-inline{display:inline-block;padding-left:0.3em;color:#666;vertical-align:middle;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:0.3125em;font-style:italic}.wy-form-message p{font-size:inherit;font-style:italic;margin-bottom:6px}.wy-form-message p:last-child{margin-bottom:0}input{line-height:normal}input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;*overflow:visible}input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border 0.3s linear;-moz-transition:border 0.3s linear;transition:border 0.3s linear}input[type="datetime-local"]{padding:0.34375em 0.625em}input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin-right:0.3125em;*height:13px;*width:13px}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}input[type="text"]:focus,input[type="password"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus{outline:0;outline:thin dotted \9;border-color:#333}input.no-focus:focus{border-color:#ccc !important}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:1px auto #129FEA}input[type="text"][disabled],input[type="password"][disabled],input[type="email"][disabled],input[type="url"][disabled],input[type="date"][disabled],input[type="month"][disabled],input[type="time"][disabled],input[type="datetime"][disabled],input[type="datetime-local"][disabled],input[type="week"][disabled],input[type="number"][disabled],input[type="search"][disabled],input[type="tel"][disabled],input[type="color"][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#E74C3C;border:1px solid #E74C3C}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#E74C3C}input[type="file"]:focus:invalid:focus,input[type="radio"]:focus:invalid:focus,input[type="checkbox"]:focus:invalid:focus{outline-color:#E74C3C}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif}select,textarea{padding:0.5em 0.625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border 0.3s linear;-moz-transition:border 0.3s linear;transition:border 0.3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type="radio"][disabled],input[type="checkbox"][disabled]{cursor:not-allowed}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap;padding:6px}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{line-height:27px;padding:0 8px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:solid 1px #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{width:36px;height:12px;margin:12px 0;position:relative;border-radius:4px;background:#ccc;cursor:pointer;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.wy-switch:before{position:absolute;content:"";display:block;width:18px;height:18px;border-radius:4px;background:#999;left:-3px;top:-3px;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.wy-switch:after{content:"false";position:absolute;left:48px;display:block;font-size:12px;color:#ccc}.wy-switch.active{background:#1e8449}.wy-switch.active:before{left:24px;background:#27AE60}.wy-switch.active:after{content:"true"}.wy-switch.disabled,.wy-switch.active.disabled{cursor:not-allowed}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#E74C3C}.wy-control-group.wy-control-group-error input[type="text"],.wy-control-group.wy-control-group-error input[type="password"],.wy-control-group.wy-control-group-error input[type="email"],.wy-control-group.wy-control-group-error input[type="url"],.wy-control-group.wy-control-group-error input[type="date"],.wy-control-group.wy-control-group-error input[type="month"],.wy-control-group.wy-control-group-error input[type="time"],.wy-control-group.wy-control-group-error input[type="datetime"],.wy-control-group.wy-control-group-error input[type="datetime-local"],.wy-control-group.wy-control-group-error input[type="week"],.wy-control-group.wy-control-group-error input[type="number"],.wy-control-group.wy-control-group-error input[type="search"],.wy-control-group.wy-control-group-error input[type="tel"],.wy-control-group.wy-control-group-error input[type="color"]{border:solid 1px #E74C3C}.wy-control-group.wy-control-group-error textarea{border:solid 1px #E74C3C}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:0.5em 0.625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27AE60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#E74C3C}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#E67E22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980B9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width: 480px){.wy-form button[type="submit"]{margin:0.7em 0 0}.wy-form input[type="text"],.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:0.3em;display:block}.wy-form label{margin-bottom:0.3em;display:block}.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:0.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0 0}.wy-form .wy-help-inline,.wy-form-message-inline,.wy-form-message{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width: 768px){.tablet-hide{display:none}}@media screen and (max-width: 480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.wy-table,.rst-content table.docutils,.rst-content table.field-list{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.wy-table caption,.rst-content table.docutils caption,.rst-content table.field-list caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td,.wy-table th,.rst-content table.docutils th,.rst-content table.field-list th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.wy-table td:first-child,.rst-content table.docutils td:first-child,.rst-content table.field-list td:first-child,.wy-table th:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list th:first-child{border-left-width:0}.wy-table thead,.rst-content table.docutils thead,.rst-content table.field-list thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.wy-table thead th,.rst-content table.docutils thead th,.rst-content table.field-list thead th{font-weight:bold;border-bottom:solid 2px #e1e4e5}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td{background-color:transparent;vertical-align:middle}.wy-table td p,.rst-content table.docutils td p,.rst-content table.field-list td p{line-height:18px}.wy-table td p:last-child,.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child{margin-bottom:0}.wy-table .wy-table-cell-min,.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min{width:1%;padding-right:0}.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:gray;font-size:90%}.wy-table-tertiary{color:gray;font-size:80%}.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td,.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td{background-color:#f3f6f6}.wy-table-backed{background-color:#f3f6f6}.wy-table-bordered-all,.rst-content table.docutils{border:1px solid #e1e4e5}.wy-table-bordered-all td,.rst-content table.docutils td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.wy-table-bordered-all tbody>tr:last-child td,.rst-content table.docutils tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px 0;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0 !important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980B9;text-decoration:none;cursor:pointer}a:hover{color:#3091d1}a:visited{color:#9B59B6}html{height:100%;overflow-x:hidden}body{font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;font-weight:normal;color:#404040;min-height:100%;overflow-x:hidden;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#E67E22 !important}a.wy-text-warning:hover{color:#eb9950 !important}.wy-text-info{color:#2980B9 !important}a.wy-text-info:hover{color:#409ad5 !important}.wy-text-success{color:#27AE60 !important}a.wy-text-success:hover{color:#36d278 !important}.wy-text-danger{color:#E74C3C !important}a.wy-text-danger:hover{color:#ed7669 !important}.wy-text-neutral{color:#404040 !important}a.wy-text-neutral:hover{color:#595959 !important}h1,h2,.rst-content .toctree-wrapper p.caption,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif}p{line-height:24px;margin:0;font-size:16px;margin-bottom:24px}h1{font-size:175%}h2,.rst-content .toctree-wrapper p.caption{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}code,.rst-content tt,.rst-content code{white-space:nowrap;max-width:100%;background:#fff;border:solid 1px #e1e4e5;font-size:75%;padding:0 5px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;color:#E74C3C;overflow-x:auto}code.code-large,.rst-content tt.code-large{font-size:90%}.wy-plain-list-disc,.rst-content .section ul,.rst-content .toctree-wrapper ul,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.wy-plain-list-disc li,.rst-content .section ul li,.rst-content .toctree-wrapper ul li,article ul li{list-style:disc;margin-left:24px}.wy-plain-list-disc li p:last-child,.rst-content .section ul li p:last-child,.rst-content .toctree-wrapper ul li p:last-child,article ul li p:last-child{margin-bottom:0}.wy-plain-list-disc li ul,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li ul,article ul li ul{margin-bottom:0}.wy-plain-list-disc li li,.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,article ul li li{list-style:circle}.wy-plain-list-disc li li li,.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,article ul li li li{list-style:square}.wy-plain-list-disc li ol li,.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,article ul li ol li{list-style:decimal}.wy-plain-list-decimal,.rst-content .section ol,.rst-content ol.arabic,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.wy-plain-list-decimal li,.rst-content .section ol li,.rst-content ol.arabic li,article ol li{list-style:decimal;margin-left:24px}.wy-plain-list-decimal li p:last-child,.rst-content .section ol li p:last-child,.rst-content ol.arabic li p:last-child,article ol li p:last-child{margin-bottom:0}.wy-plain-list-decimal li ul,.rst-content .section ol li ul,.rst-content ol.arabic li ul,article ol li ul{margin-bottom:0}.wy-plain-list-decimal li ul li,.rst-content .section ol li ul li,.rst-content ol.arabic li ul li,article ol li ul li{list-style:disc}.codeblock-example{border:1px solid #e1e4e5;border-bottom:none;padding:24px;padding-top:48px;font-weight:500;background:#fff;position:relative}.codeblock-example:after{content:"Example";position:absolute;top:0px;left:0px;background:#9B59B6;color:#fff;padding:6px 12px}.codeblock-example.prettyprint-example-only{border:1px solid #e1e4e5;margin-bottom:24px}.codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight']{border:1px solid #e1e4e5;padding:0px;overflow-x:auto;background:#fff;margin:1px 0 24px 0}.codeblock div[class^='highlight'],pre.literal-block div[class^='highlight'],.rst-content .literal-block div[class^='highlight'],div[class^='highlight'] div[class^='highlight']{border:none;background:none;margin:0}div[class^='highlight'] td.code{width:100%}.linenodiv pre{border-right:solid 1px #e6e9ea;margin:0;padding:12px 12px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:12px;line-height:1.5;color:#d9d9d9}div[class^='highlight'] pre{white-space:pre;margin:0;padding:12px 12px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:12px;line-height:1.5;display:block;overflow:auto;color:#404040}@media print{.codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight'],div[class^='highlight'] pre{white-space:pre-wrap}}.hll{background-color:#ffc;margin:0 -12px;padding:0 12px;display:block}.c{color:#998;font-style:italic}.err{color:#a61717;background-color:#e3d2d2}.k{font-weight:bold}.o{font-weight:bold}.cm{color:#998;font-style:italic}.cp{color:#999;font-weight:bold}.c1{color:#998;font-style:italic}.cs{color:#999;font-weight:bold;font-style:italic}.gd{color:#000;background-color:#fdd}.gd .x{color:#000;background-color:#faa}.ge{font-style:italic}.gr{color:#a00}.gh{color:#999}.gi{color:#000;background-color:#dfd}.gi .x{color:#000;background-color:#afa}.go{color:#888}.gp{color:#555}.gs{font-weight:bold}.gu{color:purple;font-weight:bold}.gt{color:#a00}.kc{font-weight:bold}.kd{font-weight:bold}.kn{font-weight:bold}.kp{font-weight:bold}.kr{font-weight:bold}.kt{color:#458;font-weight:bold}.m{color:#099}.s{color:#d14}.n{color:#333}.na{color:teal}.nb{color:#0086b3}.nc{color:#458;font-weight:bold}.no{color:teal}.ni{color:purple}.ne{color:#900;font-weight:bold}.nf{color:#900;font-weight:bold}.nn{color:#555}.nt{color:navy}.nv{color:teal}.ow{font-weight:bold}.w{color:#bbb}.mf{color:#099}.mh{color:#099}.mi{color:#099}.mo{color:#099}.sb{color:#d14}.sc{color:#d14}.sd{color:#d14}.s2{color:#d14}.se{color:#d14}.sh{color:#d14}.si{color:#d14}.sx{color:#d14}.sr{color:#009926}.s1{color:#d14}.ss{color:#990073}.bp{color:#999}.vc{color:teal}.vg{color:teal}.vi{color:teal}.il{color:#099}.gc{color:#999;background-color:#EAF2F5}.wy-breadcrumbs li{display:inline-block}.wy-breadcrumbs li.wy-breadcrumbs-aside{float:right}.wy-breadcrumbs li a{display:inline-block;padding:5px}.wy-breadcrumbs li a:first-child{padding-left:0}.wy-breadcrumbs li code,.wy-breadcrumbs li .rst-content tt,.rst-content .wy-breadcrumbs li tt{padding:5px;border:none;background:none}.wy-breadcrumbs li code.literal,.wy-breadcrumbs li .rst-content tt.literal,.rst-content .wy-breadcrumbs li tt.literal{color:#404040}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width: 480px){.wy-breadcrumbs-extra{display:none}.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:before,.wy-menu-horiz:after{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz ul,.wy-menu-horiz li{display:inline-block}.wy-menu-horiz li:hover{background:rgba(255,255,255,0.1)}.wy-menu-horiz li.divide-left{border-left:solid 1px #404040}.wy-menu-horiz li.divide-right{border-right:solid 1px #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical{width:300px}.wy-menu-vertical header,.wy-menu-vertical p.caption{height:32px;display:inline-block;line-height:32px;padding:0 1.618em;margin-bottom:0;display:block;font-weight:bold;text-transform:uppercase;font-size:80%;color:#555;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:solid 1px #404040}.wy-menu-vertical li.divide-bottom{border-bottom:solid 1px #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:gray;border-right:solid 1px #c9c9c9;padding:0.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.wy-menu-vertical li code,.wy-menu-vertical li .rst-content tt,.rst-content .wy-menu-vertical li tt{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li span.toctree-expand{display:block;float:left;margin-left:-1.2em;font-size:0.8em;line-height:1.6em;color:#4d4d4d}.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a{color:#404040;padding:0.4045em 1.618em;font-weight:bold;position:relative;background:#fcfcfc;border:none;border-bottom:solid 1px #c9c9c9;border-top:solid 1px #c9c9c9;padding-left:1.618em -4px}.wy-menu-vertical li.on a:hover,.wy-menu-vertical li.current>a:hover{background:#fcfcfc}.wy-menu-vertical li.on a:hover span.toctree-expand,.wy-menu-vertical li.current>a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand{display:block;font-size:0.8em;line-height:1.6em;color:#333}.wy-menu-vertical li.toctree-l1.current li.toctree-l2>ul,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>ul{display:none}.wy-menu-vertical li.toctree-l1.current li.toctree-l2.current>ul,.wy-menu-vertical li.toctree-l2.current li.toctree-l3.current>ul{display:block}.wy-menu-vertical li.toctree-l2.current>a{background:#c9c9c9;padding:0.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{display:block;background:#c9c9c9;padding:0.4045em 4.045em}.wy-menu-vertical li.toctree-l2 a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.toctree-l2 span.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3{font-size:0.9em}.wy-menu-vertical li.toctree-l3.current>a{background:#bdbdbd;padding:0.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{display:block;background:#bdbdbd;padding:0.4045em 5.663em;border-top:none;border-bottom:none}.wy-menu-vertical li.toctree-l3 a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.toctree-l3 span.toctree-expand{color:#969696}.wy-menu-vertical li.toctree-l4{font-size:0.9em}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical .local-toc li ul{display:block}.wy-menu-vertical li ul li a{margin-bottom:0;color:#b3b3b3;font-weight:normal}.wy-menu-vertical a{display:inline-block;line-height:18px;padding:0.4045em 1.618em;display:block;position:relative;font-size:90%;color:#b3b3b3}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover span.toctree-expand{color:#b3b3b3}.wy-menu-vertical a:active{background-color:#2980B9;cursor:pointer;color:#fff}.wy-menu-vertical a:active span.toctree-expand{color:#fff}.wy-side-nav-search{display:block;width:300px;padding:0.809em;margin-bottom:0.809em;z-index:200;background-color:#2980B9;text-align:center;padding:0.809em;display:block;color:#fcfcfc;margin-bottom:0.809em}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto 0.809em auto;height:45px;width:45px;background-color:#2980B9;padding:5px;border-radius:100%}.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a{color:#fcfcfc;font-size:100%;font-weight:bold;display:inline-block;padding:4px 6px;margin-bottom:0.809em}.wy-side-nav-search>a:hover,.wy-side-nav-search .wy-dropdown>a:hover{background:rgba(255,255,255,0.1)}.wy-side-nav-search>a img.logo,.wy-side-nav-search .wy-dropdown>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search>a.icon img.logo,.wy-side-nav-search .wy-dropdown>a.icon img.logo{margin-top:0.85em}.wy-side-nav-search>div.version{margin-top:-0.4045em;margin-bottom:0.809em;font-weight:normal;color:rgba(255,255,255,0.3)}.wy-nav .wy-menu-vertical header{color:#2980B9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980B9;color:#fff}[data-menu-wrap]{-webkit-transition:all 0.2s ease-in;-moz-transition:all 0.2s ease-in;transition:all 0.2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:left repeat-y #fcfcfc;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxOERBMTRGRDBFMUUxMUUzODUwMkJCOThDMEVFNURFMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxOERBMTRGRTBFMUUxMUUzODUwMkJCOThDMEVFNURFMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4REExNEZCMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4REExNEZDMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EwrlwAAAAA5JREFUeNpiMDU0BAgwAAE2AJgB9BnaAAAAAElFTkSuQmCC);background-size:300px 1px}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:fixed;top:0;bottom:0;left:0;padding-bottom:2em;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;background:#343131;z-index:200}.wy-side-scroll{width:320px;position:relative;overflow-x:hidden;overflow-y:scroll;height:100%}.wy-nav-top{display:none;background:#2980B9;color:#fff;padding:0.4045em 0.809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:before,.wy-nav-top:after{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:bold}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980B9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,0.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:#999}footer p{margin-bottom:12px}footer span.commit code,footer span.commit .rst-content tt,.rst-content footer span.commit tt{padding:0px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:1em;background:none;border:none;color:#999}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:before,.rst-footer-buttons:after{display:table;content:""}.rst-footer-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:solid 1px #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:solid 1px #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:gray;font-size:90%}@media screen and (max-width: 768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-side-scroll{width:auto}.wy-side-nav-search{width:auto}.wy-menu.wy-menu-vertical{width:auto}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width: 1400px){.wy-nav-content-wrap{background:rgba(0,0,0,0.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,footer,.wy-nav-side{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;border-top:solid 10px #343131;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980B9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27AE60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version span.toctree-expand,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content p.caption .headerlink,.rst-content p.caption .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .icon{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#E74C3C;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#F1C40F;color:#000}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}img{width:100%;height:auto}}.rst-content img{max-width:100%;height:auto !important}.rst-content div.figure{margin-bottom:24px}.rst-content div.figure p.caption{font-style:italic}.rst-content div.figure.align-center{text-align:center}.rst-content .section>img,.rst-content .section>a>img{margin-bottom:24px}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content .note .last,.rst-content .attention .last,.rst-content .caution .last,.rst-content .danger .last,.rst-content .error .last,.rst-content .hint .last,.rst-content .important .last,.rst-content .tip .last,.rst-content .warning .last,.rst-content .seealso .last,.rst-content .admonition-todo .last{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,0.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent !important;border-color:rgba(0,0,0,0.1) !important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha li{list-style:upper-alpha}.rst-content .section ol p,.rst-content .section ul p{margin-bottom:12px}.rst-content .line-block{margin-left:24px}.rst-content .topic-title{font-weight:bold;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0px 0px 24px 24px}.rst-content .align-left{float:left;margin:0px 24px 24px 0px}.rst-content .align-center{margin:auto;display:block}.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content .toctree-wrapper p.caption .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink{display:none;visibility:hidden;font-size:14px}.rst-content h1 .headerlink:after,.rst-content h2 .headerlink:after,.rst-content .toctree-wrapper p.caption .headerlink:after,.rst-content h3 .headerlink:after,.rst-content h4 .headerlink:after,.rst-content h5 .headerlink:after,.rst-content h6 .headerlink:after,.rst-content dl dt .headerlink:after,.rst-content p.caption .headerlink:after{visibility:visible;content:"";font-family:FontAwesome;display:inline-block}.rst-content h1:hover .headerlink,.rst-content h2:hover .headerlink,.rst-content .toctree-wrapper p.caption:hover .headerlink,.rst-content h3:hover .headerlink,.rst-content h4:hover .headerlink,.rst-content h5:hover .headerlink,.rst-content h6:hover .headerlink,.rst-content dl dt:hover .headerlink,.rst-content p.caption:hover .headerlink{display:inline-block}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:solid 1px #e1e4e5}.rst-content .sidebar p,.rst-content .sidebar ul,.rst-content .sidebar dl{font-size:90%}.rst-content .sidebar .last{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif;font-weight:bold;background:#e1e4e5;padding:6px 12px;margin:-24px;margin-bottom:24px;font-size:100%}.rst-content .highlighted{background:#F1C40F;display:inline-block;font-weight:bold;padding:0 6px}.rst-content .footnote-reference,.rst-content .citation-reference{vertical-align:super;font-size:90%}.rst-content table.docutils.citation,.rst-content table.docutils.footnote{background:none;border:none;color:#999}.rst-content table.docutils.citation td,.rst-content table.docutils.citation tr,.rst-content table.docutils.footnote td,.rst-content table.docutils.footnote tr{border:none;background-color:transparent !important;white-space:normal}.rst-content table.docutils.citation td.label,.rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}.rst-content table.docutils.citation tt,.rst-content table.docutils.citation code,.rst-content table.docutils.footnote tt,.rst-content table.docutils.footnote code{color:#555}.rst-content table.field-list{border:none}.rst-content table.field-list td{border:none;padding-top:5px}.rst-content table.field-list td>strong{display:inline-block;margin-top:3px}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left;padding-left:0}.rst-content tt,.rst-content tt,.rst-content code{color:#000;padding:2px 5px}.rst-content tt big,.rst-content tt em,.rst-content tt big,.rst-content code big,.rst-content tt em,.rst-content code em{font-size:100% !important;line-height:normal}.rst-content tt.literal,.rst-content tt.literal,.rst-content code.literal{color:#E74C3C}.rst-content tt.xref,a .rst-content tt,.rst-content tt.xref,.rst-content code.xref,a .rst-content tt,a .rst-content code{font-weight:bold;color:#404040}.rst-content a tt,.rst-content a tt,.rst-content a code{color:#2980B9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:bold}.rst-content dl p,.rst-content dl table,.rst-content dl ul,.rst-content dl ol{margin-bottom:12px !important}.rst-content dl dd{margin:0 0 12px 24px}.rst-content dl:not(.docutils){margin-bottom:24px}.rst-content dl:not(.docutils) dt{display:inline-block;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980B9;border-top:solid 3px #6ab0de;padding:6px;position:relative}.rst-content dl:not(.docutils) dt:before{color:#6ab0de}.rst-content dl:not(.docutils) dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dl dt{margin-bottom:6px;border:none;border-left:solid 3px #ccc;background:#f0f0f0;color:#555}.rst-content dl:not(.docutils) dl dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dt:first-child{margin-top:0}.rst-content dl:not(.docutils) tt,.rst-content dl:not(.docutils) tt,.rst-content dl:not(.docutils) code{font-weight:bold}.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descclassname,.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) code.descname,.rst-content dl:not(.docutils) tt.descclassname,.rst-content dl:not(.docutils) code.descclassname{background-color:transparent;border:none;padding:0;font-size:100% !important}.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) code.descname{font-weight:bold}.rst-content dl:not(.docutils) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:bold}.rst-content dl:not(.docutils) .property{display:inline-block;padding-right:8px}.rst-content .viewcode-link,.rst-content .viewcode-back{display:inline-block;color:#27AE60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:bold}.rst-content tt.download,.rst-content code.download{background:inherit;padding:inherit;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before{margin-right:4px}@media screen and (max-width: 480px){.rst-content .sidebar{width:100%}}span[id*='MathJax-Span']{color:#404040}.math{text-align:center}@font-face{font-family:"Inconsolata";font-style:normal;font-weight:400;src:local("Inconsolata"),local("Inconsolata-Regular"),url(../fonts/Inconsolata-Regular.ttf) format("truetype")}@font-face{font-family:"Inconsolata";font-style:normal;font-weight:700;src:local("Inconsolata Bold"),local("Inconsolata-Bold"),url(../fonts/Inconsolata-Bold.ttf) format("truetype")}@font-face{font-family:"Lato";font-style:normal;font-weight:400;src:local("Lato Regular"),local("Lato-Regular"),url(../fonts/Lato-Regular.ttf) format("truetype")}@font-face{font-family:"Lato";font-style:normal;font-weight:700;src:local("Lato Bold"),local("Lato-Bold"),url(../fonts/Lato-Bold.ttf) format("truetype")}@font-face{font-family:"Roboto Slab";font-style:normal;font-weight:400;src:local("Roboto Slab Regular"),local("RobotoSlab-Regular"),url(../fonts/RobotoSlab-Regular.ttf) format("truetype")}@font-face{font-family:"Roboto Slab";font-style:normal;font-weight:700;src:local("Roboto Slab Bold"),local("RobotoSlab-Bold"),url(../fonts/RobotoSlab-Bold.ttf) format("truetype")} +/*# sourceMappingURL=theme.css.map */ diff --git a/release/0.10.0/doc_cn/_static/doctools.js b/release/0.10.0/doc_cn/_static/doctools.js new file mode 100644 index 0000000000..5654977234 --- /dev/null +++ b/release/0.10.0/doc_cn/_static/doctools.js @@ -0,0 +1,287 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for all documentation. + * + * :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/** + * select a different prefix for underscore + */ +$u = _.noConflict(); + +/** + * make the code below compatible with browsers without + * an installed firebug like debugger +if (!window.console || !console.firebug) { + var names = ["log", "debug", "info", "warn", "error", "assert", "dir", + "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", + "profile", "profileEnd"]; + window.console = {}; + for (var i = 0; i < names.length; ++i) + window.console[names[i]] = function() {}; +} + */ + +/** + * small helper function to urldecode strings + */ +jQuery.urldecode = function(x) { + return decodeURIComponent(x).replace(/\+/g, ' '); +}; + +/** + * small helper function to urlencode strings + */ +jQuery.urlencode = encodeURIComponent; + +/** + * This function returns the parsed url parameters of the + * current request. Multiple values per key are supported, + * it will always return arrays of strings for the value parts. + */ +jQuery.getQueryParameters = function(s) { + if (typeof s == 'undefined') + s = document.location.search; + var parts = s.substr(s.indexOf('?') + 1).split('&'); + var result = {}; + for (var i = 0; i < parts.length; i++) { + var tmp = parts[i].split('=', 2); + var key = jQuery.urldecode(tmp[0]); + var value = jQuery.urldecode(tmp[1]); + if (key in result) + result[key].push(value); + else + result[key] = [value]; + } + return result; +}; + +/** + * highlight a given string on a jquery object by wrapping it in + * span elements with the given class name. + */ +jQuery.fn.highlightText = function(text, className) { + function highlight(node) { + if (node.nodeType == 3) { + var val = node.nodeValue; + var pos = val.toLowerCase().indexOf(text); + if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) { + var span = document.createElement("span"); + span.className = className; + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + node.parentNode.insertBefore(span, node.parentNode.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling)); + node.nodeValue = val.substr(0, pos); + } + } + else if (!jQuery(node).is("button, select, textarea")) { + jQuery.each(node.childNodes, function() { + highlight(this); + }); + } + } + return this.each(function() { + highlight(this); + }); +}; + +/* + * backward compatibility for jQuery.browser + * This will be supported until firefox bug is fixed. + */ +if (!jQuery.browser) { + jQuery.uaMatch = function(ua) { + ua = ua.toLowerCase(); + + var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || + /(webkit)[ \/]([\w.]+)/.exec(ua) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || + /(msie) ([\w.]+)/.exec(ua) || + ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || + []; + + return { + browser: match[ 1 ] || "", + version: match[ 2 ] || "0" + }; + }; + jQuery.browser = {}; + jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; +} + +/** + * Small JavaScript module for the documentation. + */ +var Documentation = { + + init : function() { + this.fixFirefoxAnchorBug(); + this.highlightSearchWords(); + this.initIndexTable(); + + }, + + /** + * i18n support + */ + TRANSLATIONS : {}, + PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; }, + LOCALE : 'unknown', + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext : function(string) { + var translated = Documentation.TRANSLATIONS[string]; + if (typeof translated == 'undefined') + return string; + return (typeof translated == 'string') ? translated : translated[0]; + }, + + ngettext : function(singular, plural, n) { + var translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated == 'undefined') + return (n == 1) ? singular : plural; + return translated[Documentation.PLURALEXPR(n)]; + }, + + addTranslations : function(catalog) { + for (var key in catalog.messages) + this.TRANSLATIONS[key] = catalog.messages[key]; + this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); + this.LOCALE = catalog.locale; + }, + + /** + * add context elements like header anchor links + */ + addContextElements : function() { + $('div[id] > :header:first').each(function() { + $('\u00B6'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this headline')). + appendTo(this); + }); + $('dt[id]').each(function() { + $('\u00B6'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this definition')). + appendTo(this); + }); + }, + + /** + * workaround a firefox stupidity + * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 + */ + fixFirefoxAnchorBug : function() { + if (document.location.hash) + window.setTimeout(function() { + document.location.href += ''; + }, 10); + }, + + /** + * highlight the search words provided in the url in the text + */ + highlightSearchWords : function() { + var params = $.getQueryParameters(); + var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; + if (terms.length) { + var body = $('div.body'); + if (!body.length) { + body = $('body'); + } + window.setTimeout(function() { + $.each(terms, function() { + body.highlightText(this.toLowerCase(), 'highlighted'); + }); + }, 10); + $('') + .appendTo($('#searchbox')); + } + }, + + /** + * init the domain index toggle buttons + */ + initIndexTable : function() { + var togglers = $('img.toggler').click(function() { + var src = $(this).attr('src'); + var idnum = $(this).attr('id').substr(7); + $('tr.cg-' + idnum).toggle(); + if (src.substr(-9) == 'minus.png') + $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); + else + $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); + }).css('display', ''); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { + togglers.click(); + } + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords : function() { + $('#searchbox .highlight-link').fadeOut(300); + $('span.highlighted').removeClass('highlighted'); + }, + + /** + * make the url absolute + */ + makeURL : function(relativeURL) { + return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; + }, + + /** + * get the current relative url + */ + getCurrentURL : function() { + var path = document.location.pathname; + var parts = path.split(/\//); + $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { + if (this == '..') + parts.pop(); + }); + var url = parts.join('/'); + return path.substring(url.lastIndexOf('/') + 1, path.length - 1); + }, + + initOnKeyListeners: function() { + $(document).keyup(function(event) { + var activeElementType = document.activeElement.tagName; + // don't navigate when in search box or textarea + if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') { + switch (event.keyCode) { + case 37: // left + var prevHref = $('link[rel="prev"]').prop('href'); + if (prevHref) { + window.location.href = prevHref; + return false; + } + case 39: // right + var nextHref = $('link[rel="next"]').prop('href'); + if (nextHref) { + window.location.href = nextHref; + return false; + } + } + } + }); + } +}; + +// quick alias for translations +_ = Documentation.gettext; + +$(document).ready(function() { + Documentation.init(); +}); \ No newline at end of file diff --git a/release/0.10.0/doc_cn/_static/down-pressed.png b/release/0.10.0/doc_cn/_static/down-pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..5756c8cad8854722893dc70b9eb4bb0400343a39 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`OFdm2Ln;`PZ^+1>KjR?B@S0W7 z%OS_REiHONoJ6{+Ks@6k3590|7k9F+ddB6!zw3#&!aw#S`x}3V3&=A(a#84O-&F7T z^k3tZB;&iR9siw0|F|E|DAL<8r-F4!1H-;1{e*~yAKZN5f0|Ei6yUmR#Is)EM(Po_ zi`qJR6|P<~+)N+kSDgL7AjdIC_!O7Q?eGb+L+qOjm{~LLinM4NHn7U%HcK%uoMYO5 VJ~8zD2B3o(JYD@<);T3K0RV0%P>BEl literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_static/down.png b/release/0.10.0/doc_cn/_static/down.png new file mode 100644 index 0000000000000000000000000000000000000000..1b3bdad2ceffae91cee61b32f3295f9bbe646e48 GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6CVIL!hEy=F?b*7pIY7kW{q%Rg zx!yQ<9v8bmJwa`TQk7YSw}WVQ()mRdQ;TC;* literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_static/file.png b/release/0.10.0/doc_cn/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..a858a410e4faa62ce324d814e4b816fff83a6fb3 GIT binary patch literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_static/fonts/Inconsolata-Bold.ttf b/release/0.10.0/doc_cn/_static/fonts/Inconsolata-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..58c9fef3a01c899867e280f49283fbb8e57d631d GIT binary patch literal 66352 zcmdSC34B}CnKyjSz1l3vvSe+RWm%iG*ph77vMukH*TnG>+i?;*af0JG&b|kdGz}qy z5E9A`DWw!BrD@8fR0$*jnxRmJp$w%A!!WcTlZLj#%Tn4>%Csri^7}vcN|v1j=zQPr z`@P?1N4Zz`o_p>&&w2LeIgbe?glNchgeN2O7nGE3I{VH8gwQp(ITAR)SYald$c%j%8)Rm|N$i2NZ!GDcUg*uDkVwS@A192KiK>>jWA z#hMogF$4+u6}M*9im|D)hEd%65TD95xS;%y8^-$z@V#Ko#vQxn-PimTeE%sS-1vsg zD_7ih@8T7BANxMKamB7J+*;-JxIY)|9h+8cT=n6yCvg8`j8DyP*}Q$npI$%m&x9n( zG3HOUY+JQu;_HrI;CTt!-$mG5@%h)WjTf)Vs{3zZRp0_4FUulh?D*O>M~_Xto7f|9 z%Pyc@2I1IM{NNecg~T58Nv7VNIxlexJ&E_k|9N(WhRH@ECD-A@5f=%Qb-4Lp#wcJ* z2`?esIou)Ai1a?RwTnmoO)|!5F*}tkgGWPx$4Lq9uNONeq<6e+jKqlJ6Qwu?*#&wK z_w?*Oe@-%igM*Ds{1K0|i<}`oGDfVVo^B=|k%Oe24A4??fG)zQ+R1%nGZ`U+81EW# zh%6$DXghV1W->s!$W{_TU;U((EFs&;&BTdzM{#YC>?QSR<0j+yjF4(lh}H(8CIOO- zCqG7CcaaD1Tt8a$pluiWZYF!k3%It29LA>>@2$nyM$q#b^r^+ijGl+-UE~CbV%}Y( z7d@{dZd}<&o+L_g3)xMMkpnn8PcER}=SZC1i}$Xf^QezJgMN1>C%-j$6b@4pc+>Xe z?@`Qv{VIj=yD@(Ddka2Y$=_^Y%>5X9>Q{nyrS6`=n9q>!<2#!}>UST`)+B$;c-}0) zO@v(!?)8u*Q}5!P^%zB$@L@1Mik|iWmWT0Kjk|{h7%@1t3%$GXqzu0!0-VkO8VuIr zrx3jqk|y-V-pimqIQ`M$xdeXC(=qZG-Ax0Woy5sS+Dl8=$^#q5*xYC}-uWrebq{$O zIN~A0`0W99?8n+2Bae``$n(I40UAMn&tpuV&_TKcW9&*om&cKP@_^O&p^pgo&Av|aX^jdl+7v;`z zFLEz&FLUP|xsH5?%i(p@I9eS$94DME=N-mF)eWh2DSR$Z_O39O%9JO1)40mi)`qZ^*M#zeev@ zO+7pH%+%9UPfVSfdU)#osr#nxojN*o&(z&hcTU|tbt@rL`=&M|ewx^vs7X{OsuIDs zKYsg9Z-4am@85pw?SFgwJ8y5e@Yf56FWhuN`JbO=x#5ilO7r(^Fir-z{mx_;Dz8pi-F5S;5kcyLCeT;;13};fO8!J zh1>zExu1NSJVYJ_hJJ^9mwXS@c$_>+{(<}eoZ~U_LvoTlPEL_0KsBd<*-w!lk#kf_ zwvbV>lB}lLp)HSkpCj@u&XqaYN(Q`$XR^(G5ISs0S^t-DBRPLoxsa1oL^6lkp1AMH-YQi zN^T=x1FyUr*Y5-`{wDbbd7TofAe*U#N~w(Oq8XqU&{v!UP@D!GV~+TW?m zNnFylbkON`T8|7m;=R3t&UkFd>WEjdv#OyXM_k#qVl3`wUzKf+c$l4pS&L_T2OZ;% zBS%)CN$=nYt~i87?5vWVRgPFkhK7c$aS|9Ba>q&U;HsgaP@D@o(2vBk0z;6t^bW?Q z?&i46-E4I_hvIZ36z79(jK?u{Qaak~V0TU_DOcpgX^Z2C;|RJt8J2pE^bL;mT37TB z4Z4SLFScM1H>_;*$ybHql3-kczUBB3_GyXBTlxm$ik84B5KqfUbKJBl4C>{~y+sqifn&j>o6l#o&O-%7kCu5KA|92s%M)$V3@ zD6R~iB$+J>2Tx{ZwxHAIct&7|O@{L{C+BfeiSv^x{1>Mtw*v#g*w8}aX+8pop+`lL z(~W0S=U5ZrdGsON8^ZYJU{rHP;@6F);cybFfx9(MTjHeQ6r~g(3&m9!jf+sn4%nF|5*-;xjDPcz) zz{QT)!ILs})CW(>+0hU@sbEKA@MH!%nu2k8;O~658SggXnH;>E9W8h_JLclu>}bWi z*)b3AW=9*|&5rqaH#^$#ZgzCw-R$TLVy2oAM+=}h!a#?AeS>aC9lpBb*{kvx_J-oF zVB8sqJBvbbchKROgLO}#lzT;$+i_&!;H4L>?6HDrkWy3JT@D!KCp#eAnBmcI5BR;~&Bi1+gIOpIU*2g(7pF7mt40O%_-Q!hwnY(=? zE@=Udf;dP(WIkNW$e26Mx2zZg(sL~TT7f+D2sSv&{U2Fho>38Yr!%W-_p z{|v3!VlswO=dQ9kXP}sKC^_0DHrgr-shN$IowTsgvXfReT6Pi(G7OD3;|`!`mYvkF1#mJ9V{=OaX&UBztcMyj>t{W%lLf2?b~3_;m3d%#lc=7Z=mas4JGBjQ)oJDXpEG!i+m*dN_V7z3y^>X$_XnmD%##)aE zXRPUpU_3nCbd-G&nywViSkp1#j5S>qjF(O~9cN#JrmKZB)^v?<#+t4T2I7iUalW8; z7h~EXLOSC=?H@cz>8(RgDWE5>bbvj!LL$4j#0_l@M`v8q*BO^BSTYzdx5oWLBha80 zf^DVfJI=XVA6F`+lEC9CE&E?*!v903Bz{F(e=DxZB!QDM+Iq5p-UL-9cGKWV8Q%)- zj&IN&*jL&LrEBO(I(0BEx#gr3D)S{j??Io%hgtj5asC_>(nqDXskfwC`PZf{B#zE% zJw~3OE%bNXNBlkfkNHm}PD!8StCACv7o@x)PGuKlAJ%8;ziP-a zEHpe~_@yym+;04VDc4kE>N0IH-DCQJd9gW>Gip&-zG}H>t+YOvXUN-`_qxqwJ7D`& z{*wIP+xzVQm!rz@faAB$Hs@{53$6~=KfC_y-s=9D`)38k1-EH<0me5V$=b_@CmYfI&!bigImkyMk zFI!snUSznOl+Q1Jp!{OR@`_^>f2fRAJ`goWw??0;qE!P`|5$CUuBv{eda@=|v#REM zHRo%4>ay!@s!P=0+c4DdQRB_A+nWlSHZ(oaY-!%ne5Uzg%c7Q3t(C3+-llAewcXzK zxAvy?hvpdOESqy|u4?Yaxp#J`I_f%3%^RHem(B+|-|4b-ZRmQm>(lO!de+XLH~;nC zYkGg)XX`uAzpMY}3$zPH7aUvg-ay&FEd%c_Y+1N(;cplD7kzDU<>FTd?SmTz9~pXY z$+Jtdm+n~l>Tt>M!QmH{-Lbr5`SIm{yz0gg?Z~2$qa(ju(Xit1iu0q5qYtdque@R9 zpT?GsJ->=u{{thsf~f2{3Y`_;9- zUngB>TUWB~+v~&Yht}^{fBX7})<3cS7wbRU5ZZ`rat6umM(|g=q3H9?Ud(eLub6CcQ9rqJkQOSQjW`Pl%O%4 z&!h~ESz`v_E1?V0E%?|_EZbP za^B4s^A+Wl^nG`2Fef)u>u^*DES5mEr@31ql~K=Ad7Mlk?WBg>qKdryibAv5Ut!O$ zEXcZRR!2c?@~_XbFA%pCA}bIkf|5PvPj*!3iq zpI5+T1}Mf55ym8wYk0XYT3K1)nQ=|L!VMS;igPXD0#kuQnw6!MJzJqrByKmlOL8qG z9+S&a{d}cDDLLOS>=#I2H^ppud3p9cd%n$@YsoQVdGy)3d`3m>`O&Epe| zu#XwHX#4BFO`g|1Ck!X-XVm8kUk_|Ae8qE0{g3(oqI~^n`&Orv;}SonwOr!GM-sn# zFmWQ2E=io^==_JM`P&aBeh0gnCu38`_~)b*@HRBVr?4|-YN<74Dy5WkG}o1eeFaW) z21hv{W(MGvgQ;!=RP$wblUB*X?ab6 zMoa>B8jU8CSq_Z#dA&YeJ}+Rb(OrRW(R|*Fn>vQP4O~!krn~KilD;078UYqp1oL$&9TwcDc&F^bnR#`sW zR`{seXw&KPjcT|9;bFg~xa zsB?9#wZv^OxJ#_ou-j;KhbR76Gu{;lcCiK>XfS?h1LoDOpL&D;gH#KzUMoCv%VMVf zwyLsHdxlKGb6O2Yc&;Ifl3J0&7_q1Vo5#xXJp6eCzQh#m@RVDO4hi3xyvLK4p_sC_ zr=`j7H5nve_Lb$8l~J=yCI^+seHuQ+^`l-dBNvhJg8Q2*D=Fxu0Yt<=E7NO0V+`1p zQQk)R4AoP6bqDml(>VxS~?65ttqCr z0fFoE*_&?rJjCDrJU3E|W@lE>i%|GA#p7g!h=GdO6Sg^q#1c z9{p2*+PV_Ye(=bPuYCKDiRb1}k0g?KVSjvO;=O$|lz44FHLZO5FzbJSoafI-YT@bj z#9X+*lMX3`SCs=oF2n-x-M~t|Nf23DSvFp!a~hpGx6WDNq{m;Ra}rOzm^eWPB(;gN zk0riAS3ibMXlddYca(fea)>sTiLr`9HR`E4;4viO;06Cr;VpM`*H^aZl@=JX)wx9` zf3@3DUy@hf_tM@q*6PX1|Llm~b+Nw`1!h&5O=^$vH4OaP%OMQT(tww%_wvYAY$q%(DuP)2@~h`JV!abKcq z(Ldx@6Wn_b8{NLp#L#KmYzfYnK zP!ljxCZ|`cKyZfP`$fC}st1bPJP+x9f!#QD`Y4}}Wh zFN&bSt@1EEq$4h7OTSlJgY z`DIAFZ6Xqhz_4|V>}`xFcs0)!f{itga1u(n;dCSP#`jFOVfy~(x5+|3F?*^Dgr+$n zSqwttX-Bdf$~VK@JyW7HSY1+G0BTW^*GuHi20mhRRy6R@6uZ|**}hP zZrirnO`lR}!BHpP%bPzqT;!PFR%{8yyx~T_S(~Ypn6JH|ZuL!FJvZ*$wDp=+s#0fM z*w=RLwpAfl*P@Y1PfMxI;w=ez098sxfT@Q8wPtchEW4IUWi?bHg$X0c2JJ|a3zttM zfFhMZoJpm!`9vmzxWfW5ahJy3FKQ(SMJEdLBh?*S?9OCYh;6X7_V{(B{$R0O zAE3DDZ|W zbBj8v9G>PS71GQczkT@HZl|fJ-dDQ5`atW+wF_@sQ^TJrThvyTrKuTM-#B>3>gxH+ zUXZDEX06d}$;ylNmKV=0%LS^?r}D}>OB~fjmddufm-baGznP%3CfOQO zssJAZfCL>}Ap2<+ya-SO6{N6@VUqFkn*s{i*bmJ<_+=Mpc{+S}=|!~xdjMyz@qV-1lTV`_xk zxKPl|RaemFS$g-Hs@l!pS`oWu%@X&Sj0`B~ z#;fK9I-?F-`P^W`^3Yw9iRb^SQq^ty?%J_qJDYQBhMNydHQCu2#m)A{Aq`mjP=*08;5C5c$Gp0!&=& zQ3jO7=^mv#FYQcrCS_2GnF2+Wl$RCN1?rr3voTXe3TdH&xdvcl74wj>0`h}R%#vTw zar7>kT+|CiC7f#=e0a_`R4Tb#ZfNy*dfLjBhO%f)Uhmh|)-`UpbHS( zS{H+xtG+nb9j|k1euP>`l8v#9rjP|l&8MUhtY|)^y2I?9&C9NEb6T&5rvcU=2i)nz0NI0_ z$hqdtt*R_=6-ywcW^yjkj}sLQV76pDba?3csfD6UJTtRcG@AJRwn(eDY@puNyyN~Q zOYh&-r|1m-prKqoK?>&)xW$U0NEIdBNkZ)mp} zd`90F_zh?K5$XB7XwYhbZkr!1v{(wG`RqG%U56v;&%t+okHHhM+sb?t4}F z;Ae5L297(lYxmW*G8he+xrMMxUC#P&-lLa{{Bw*5-f-yzfG^FYmw!%joT-nG%Xnz( z8Jv+;Q2y!3{oIWc`}tk``NUI+d*0&IJLwz1_5nJ~pW#mc59Nfpz?i+y_c6B5{9+m! zWAYZ-HWOIvcYq(ActH4^cvx28+nlZ~2$NvCBylm379Q5F8pK zIDQQ7ZXS*urq_PSV@%}Q0gnvs3{ijxOibslNMC_SNtt(oBZ!F*u*UV0b|o zG9w56Q#thCdrxOT9;D=~NtP52qTVZIj(X8w8UjeKbT>=zrZRw=SXS@&bO*w->~1Vy zxWT@2bT#gCoTLK>3D*Ooi)qF~F`WXb%?hPLi80ARweqY$so=D9^2`u>^dNoxqaBG; zWAyOBz0&MY|3K#@&d~Si@dQ)k;rS!*(M-UCcO%d5uG1lP8T0@aBdCK(S1gQHrX;h@Byd;^#f$|7W^+Nfpv31fyUi~6=nM`; zCOA-%ccx4vr(QR$Ec5BpetKZX@lEB%!s>!hXQjP%&$;Uo``-Cl(@-=gx4f_Np;MKM z8=SVr)g6+F@Zzs@c)Qwa4aU~~;o^atM=K@uiC1!ps+~+`B=m{x*}*v#q3&u2sIPYF zE&d%)YY|y}w#Z~;`an`$W_f>UEkIyh*$614JRFzZG>Xv%cuL`_f{M+g2vZnEA%bW_ zkw^4!OzXa)>LhqhljI>`?~6y*wb+Zg*Ecb&UV^c{ z3M|M%Ug&DkHZn5G3nAhfNEv^7!XX3iT zTO&Aggf$ga!zFay!t2Mn9Zk(mxBTaQiB~W5oc@8Q@7f{BL{6wVF!;MW?|A<^gOd7* zo$vg|hJV-v`y6@Fgg=GRtH`djUB^QOUYL?+0@_Nu!Tr?I)B-WP?sFPtp;63%)lJ!T zVmmktBppCm){#UCUHvSxN~i5Q!MO-gxt(vEe2895D7fJXkk$){7hX!-`2xmyGsgJ{ z#+gCZiQ^Q+?q%atOHxC;^8GB_hgB-!C9Bgzgzm)52#4pr%VKu}P5 z1&NbAJ66iA=y3_MIge%29{FdMnZt<(DpnVS~qKbzxMxGS8xX?c(& zfl#(dEtjYZ%NtygvH7J%U8@_4NBqB}r-q;3viB!9v_%FsZr@hYv~$gXoxekorPXHS zm3mF3n|`=&$CLY7P4? z{eFyTU-7o!i?Jf_1ULYP2J@r?tx``5cr^>z8%4<4(!o)L$fOshSwcKrF*((5bMRsaa$~zQfB4c`(DxJL95& z26{BY^1wCEX3S&0v>P^HfEVz$Df#Z?NdpXjq8|j! z2O{ctH?MQofBfbfpS*hN-V?7#CMJ(_OFrZH2NL=8Hxr{6Uo*z{8la^i{bw~8AGli* zUYTs#sz&yPG^}P^6jyX6h`Q016IT?&fVt#!GsnG?CSk-sGnttGb8HegdLDq{Uzn(c zk8%@#rvNTI=?3>b5AJJ(S1u_NOqaN8n1P&jEnMlY;8Cz(W|ul_@F*vEY>@x$Ey&A- zfn=mcsX8E?scIWE66TqiR;l1`=D4k=_B6HZJ+*n{#QrXC^OAKt60a9D4OJE|jQNV1 z7ZjEbwfa4)PXFz$yZ;g&?LRj0=$?N%y1v!Hox1vouQU{II(_4H@r~i&njbLTVjS>h z8m0yrF55+pYQdT^egJ1cGByDL&2edD_?!j;LgX`(8`K>=ahCvBop;(Z|>X@ z;kna|ur8EiR;<`ol#r<&pg;-p0xr&056}3$&Ojk>U7B{W2?;1BQ#2|^=pN9f%GUXDP>njTiY70%~`n7#4_IKM$H=fvY{eKKzt`6~<`$KxFy) zoa&K|k((C#8#aGqc*oD?@TaI!tIvqEnthQxXKi(j)3@-d_4RYVwy|~P@}Kc)Em9}S zyynHrY!#6Tn{UzRriRYzN2^Ac0d9rBiZ_52axx%NxsI)TQUjSq-Iv@DsM?gIYCO>a zw4sod06mkHOi@ZYq8Mu}>qdw6X9!p z$bMQHsxd(}$eDaEeN6z05=|Hb<+x=mFp#Z9U_c+C_~$l!Ox1}G6XS?(P3+_kf5tFL zjW;FmCPDH_A$g}Y0VD2$@9V3=tqhJcwWc!iruMKJvk)GoxT(LW?F%c)?JSC^fZ zyb!*Syu4fecE{1Xj#j*J?-R!#eG)@E!$D2qTamM*n7GK+Du6yd!5CFcqf#jlYr?Xm z)0NVeCggAGqQE2cOo;-Lu*(z*brMU!7T7An@j;y!2c;1`cm5BFpU~Bb#0S6q zlny3Ne0m<*z#Ws@>6yel?q+UlVmZc>jq!Yn@hC|9S&Rl6Mrt(awMfgQ^tCIj4@SV& z$H~?Qn92gn^7k($?)np6JAvTjrwJt$U@(ApGHY8y9*il$E{PiKf^nE^tcDP-XFgaF z5ML0k7aK8D{`_$L>^4^l*TY5zqFfTL&(;~lwRIY4GE7gM>-hG`m+0?IR-;inagb}C z{CCO3%@YH>QYruK&HSTmbw8e(%Wsq}xuQ=wbCyq;Sq>j_dlJL+k;#M7CC_{|_9UKP zgPfE5kbg9tb0U=^%k;j-C-*mPVF9+5GW&*MbtV@B=tM^t zd<>MO`ryN>ClAqw6Dy=k{`Q9_CHFtW9(sT~j=W%&aN#`5l9FJe)(Y(7Gy^_dsE^~g zZ0M8@NlJR)6*80_pq=xm=lG+~au+$pTZ6v}XxN@miOwC~$CiA-AclUoRy?w0mt;%~k2ln*(8o%=R)w{WYC0FmJ zy-Rj9TTI@Ft)#Qco1swf755jfxM%g`(~BZ?p|0_&d3%P+HjeI_;4H!FyqqGt-dS9h zomC5WH5o^I;hc0FR(mmdUQB$^z;Y&lBGQ%+#$!J9^aXHj=2K_sGq86_CW~?lE-rwX z1s9klAi|D;*?wsguuria5HAhlD>MUmld%fc44E|0k0gL*`fad}7?EZoPab}OLXY0> zXL$~KCkw6WW~K^weR8)xC7h63EQZI&5je-aJb8`bs&-$NbX=`bsg;SwvWmK0kMFwS#T%L%>xSw3Lwn~JIOblxXz2mJ-CjDd zk!JdDX!zzaGX%y0n?v1~jn=(efbBsO%~ z@4KQ~6WD-^(3x(3GjGpOAbTQjZCCj)ER2?A)p_*|b+&_jKiRPMhu6+&zwYr3bz4^U z=W`o5l}48lj)nTRw6tzt6wb^qb>Fvie%FmpZdm`+;rThmZ6RiR)B`I{0V~`jN>0Qy zZfJ7wZE*^ODcDTJ`P+<~@I>vl`6J)=Nl zvjy|D^?RP$yZgsCv}-H{M*80>jXE=9;+eXQ1EqF*-|0nH&vg{chl7EGmUV$YE^sYB zSszm(HcqqQ7i4lvhysApVAM(Bondwji-==-;LFn*SYEn?5N#9d+_tjGUR%BIMC)}=UA^;}8|Eag4)xU+ zIBNP)3`NN8kl3X=!JWS~OJ4(Pgn9rSN=|u%V5GbR89zvi05TChTj#WE`AeG$4(91r z%$vOWO1*MGikJzMm)v}TJsL^~D!?U!WyxSCf>-dA%8V>T3!TFawH&cc?$kV zB0@VvHc;sBh2VS^yq$Adq5AcPu(r$QaT&68RGA?KJDt8Kx%3`5D|kgb zx%rZ3L_sSM6-*_(EZ<}F>);|nUieID3qne=7Nc$tl_-=-T6RNg$2I+--xvzY>@52( zB}_{yn}Sz;ef{J)t~uHp$#FF-E}wjpamyDlqfzM^P?L?^EMm5k*)8+sKx@nfN*Bu$ z(;(FW*@E4`?{wJbOBxFCpL{&WLO?>w#-*Lg7~cRo+VWC6w?q`2=B8J*1i3DV;e zM|qocD||s=5{;EZi-kiK>`($3Ad!GGCN&)7CnUp&CK}7P`MtJqe%KiFXywdDcd5@F zd3|uBraX5^f91w3q+(}fUn>&K{Bz8x(Y~5IrcrWo!J?}DPQ>rs2OXzxC;!yq9@4Kr;NuQjT zxDVq#3_RO|ac7WWaiG)oW2WGF6R<2j+AG}^h77Y>(A@f%^cECSrs&UzA_}1%$e5$_ z0+mf_sO)dj@z1(WokGfYl768ZSjf$%;Z+fAXyzByv&9#*DIj{9Y*SPXl=vd5zU=nr zQ?&rxp%^1;3$b_*0}{wOVoWN~vq<_~Q1jet7Nn_}KR5b$bX*Iq=LO76Pdube)O6sg zg4kz%c_=u^@eAr5W(#8)>fQ8xEO`vh_W~p{h!hCt`=v;oQe%>_eonFM;oWVmJ0BSt z`QF|+9oK%3RyphX!=-)I4tvdl$k6^L}lAc`)0)hUk z=gr$WQ2a1xa&zKQ{zZ&hNBm@eOlbg3dRcY~keMxuRnXZPk^;o=H?#C1BU53t)6sFe zz?_(KA*tnG+AIbyCy_{*2VUqV-BRcV%B+j`Odz&U4`$^cTIm5~o34N1 zhFzz>QXdH<)(gDoQKUS)hMc`3@_lix*efbQf;x|+Z|si17Zh+}U!bE1o_l0qLS1E< zS8O?xxy}Fv$E7{@j3H~Fx6Dv%FKq}LQ3^M%6e%v3wH3Nznq01h;ew?ow@9mDTcKc5 zH#;tttr4UHY1>sUezu{vAU_Z3E!4G1jo*o{j!FmB?7@EE*iOM&|Ob zX>top-AM4c*X+s7?7ZpR)~!!oKj-Pfo~?5`b}cM<;M@Jzbh??eJp-Qc9H3+**T+;! z2ved;D)I~>Istvb4TwO0>8&D0EI2MDnYe)aGo6T+-4wh{)4PC#_5x?o2&V37qsJrq zT?K4F#&>cPkIsGOLvu}Yhqv#p>h)#A#T852eDCq+*5nqu^pVO7ZLv`I>gt3V^B4hb z-ivv}$kLcH28VpgQ_u9k%bf7S0MeFfE+8Q~=@9|sxdm7@fes85G^=c=EA-i{e!=_B zw)-*-P4r@j1rb=3v+y?2i~s8fKMsAvZyIH8rnUzm84&y<@3Zr7GMa|gaXzju45TcLXOEy?|XT$kyor{_J;-Ls|LSzGy! zbxonG?q1#YGPX5g>}#gpC^nq)Ny%##1c$(=U@s*3ZT7U)J>xdi`I+q4 zkYdNsQo6-Xn3XLE2|KYP^UwexL3Njy+RW`QWEWQG_(Lkiuha@-U3-VC^P2v^Z#o;8 z@(0!8Y;FxRpzTay4vyTro?A5e=%!U}sDE5N<^n^Ke+F~WkvV7NG7wm5GJ*qH0DM{| zr>_a}O^tQnRtxmUhWmseS9B{wVKC~ke<~W0$xtOBf=I4Z`pabn4cTwy%n847jz6c$ z(qt(o@28rzZ!TVaVaw#F7>O1mc^4zGkyU4{nM%MXHI!Lye+_a(J~t*H-b|8nGA6*9 z3;8UlUceNEY@<0>jKi~W8VqJc1oYU~RT0tfC=kHAwF$XG&JFIo<&ajd;(wXx@D`a~ z-h0h!77x`a~%+IgEPjeG?Xx>&b2HU0Qm}mThV!)>l(#H~D>DJ$9v9kmd8n zu-=`Ylkt{iUT96*XoGFT3o=c%L2b#&4$iIQSe5zxev+7igfv6ZIj0-a&<1;#v!MclHtVD{37h(t0#+3djV~R$s(%)}jw&V-At(!F zo+Ya>g$C*lI2)Wd5Y5SU>AT?dRWR0_h0a1S16J@u*f#-oRwf8uR3eFB!k`)#iut77a8ufa(6z^T%FlZp2AaBMdn6exeZ9^Mg zHM1^H_vt*~b!yF!MK11|5WFRfYbU+(Gj6bJ0=+YfDW--b7s~SZoh;8_+O;Zro@BgB z*ySDtD`#jg{VYp><0}Lpep2`OFVxF09D6MLyfQ zbfKxfsWFEOO}=ifsf+5@3^SiW@6>Ya%S^zgDki~Lc2S|nZO_+dsxy?NE?Wnmf`H|x zF&~zQl?=q$S+xKm6~f0u46(h8(Gibn7rA&`(2$m$;c3slo{7DGOks2 z=@WPZp&4ZHj3?2NkRQW%okWTqQ(5!oHpLnn++KIJ&Rn3x-r|(zYBGagi9SYoWf@yw zAs#2X(^)V91s;-nVtk;~RDA=JnfpV&)lwL+R|j)>=_?N_~QT~-0zEejIul%Cy`4J4omsk@gu!U?`-B@Qx_H4Es?H>&Tl_cH0;Q0 zXs9xB#vG&4=rG1NS{>Gs(3vc2j!9L#xh~5WDlwh06dD%Zwz{T$4)A3it>BMJ20))t z(CSxAT{6MraWR2Ts<-%Nu3pmm$lPGil8YsBNH84PW?Hi0_weOS)Ul)7C2sx@fp{H*WGQEGp{rY`Sr4uF+)KdgBIf zU!b_(yWz&ICbPkEi@6XkQq)yQ9r?F*Z`PX(`i;9c6%GVK3;dgRZ#3!jrp>#zdk2aF zy+z-1*M)L(Lv?PpFEzKg9?OiG5+3;q&>-$P&D5Qg*5-iCq6A+il0_L*s-VddQ7q9D zRddoMp}x3XsuUDD9w)34)T~}*GHC}om&&@)zf{K3uCl>@XtUpYDVI2$_~Wnsn0R;sKNk`gsUmTa>*Y=)Z1lI217{kZIDY(z2JnCxGEL5W zSF8pRR8lcvNMK-s>q<1jnS9eT?gj@7vVZyMTj0mjSHajilJ|I)E0)R}ViHe}Oj{=P z@FR^*{AJ<+?$3-5ZJfH9N0BttrCvoUW09){7PRJ}a*$83nwZuA(-5I>(W{g6fFM*i zzq_=g(C=~kq~J(`-8XF=it51(XMPme#f(Hzu}GSTNv{YvWF@1x=k!X6 z)QSYG+@Lc%H@c{{XmC!k!5z-4tgRe9)W78?b8pE~$z|TkW>-O#N3RQZMEkbQbpYL5 zdBx7`^5xg}RIeVKmzOBZ$Wlss`<3}_O;-0pBq15>mJot#j)2)#?Drb8O6M$zI_fI} znMLdC=6q#IWcAoFjoujc=Ng;=v!$rOsk1b6EDYOXwWS(uI9hM3-?pgSQQcRX*dsMq zY?{oBVV$YGnLFY9pP)Y zM*J4RC0)+8YnIb{a&ZACLXi@aFCty1cbDc{OA3s}0#^RWV@!Q#uIjvS0X8@zciDp+ zpK8>xt3e|4j&u&aJSI8ol!yWrMm)^B*` z*8cumpV{#5+=keudlnAdxv8;f^IiS@2rUChw@?qi8@$O5>0L(t9MdqLKTLM2M`V=6 z)l~p%5s^uGxojAQqFlkVlpxgN>QCxRY=3+*LDV3)9GT-O$euvX%NTnE&yIe{Gfb?O zrJg}%-};xVqHvk1dc_>y&9tm_X{A|( z^dL)lATN>2eK=|0e<`JnHD%=o+Z%7bDN!8JTJ=g-!$4%!?!8J=L2hQQAyeaxC4TS_ zC~h|y;ZN{`$YIJPiqk4Nc25@sC^gIV2qz2wSI}2!&%qBqIh1%*cHq5F4ksSv47By| zg~VSE;V&^9N}jY}=ErC)@&o?>H)g%Kf+zw6U*A&j$=S8^7@HQdbZ1{jf}&3JQ~(&x zW85=uCM?_^65Su+Z#blC9=U0WaLzHm1i4bSl#a6?MGzj_B+W8j5`~8k6)Vc9R33pq zDo>qE(k~i)rch`3kHcoE>R$KD@XKME@kpU(BGLV8H@Z~4?y_Ns%4g6UFG*1 z4UP3xvFeyV>W@}d1PVoF=69)K;d~kOVncus%Mug}w^7fGOISWee(cLgHu0Mux2A3CitRVO+-wxBMz)LWJl8P!6RGMJSf+tkR8@b4Gbgv0e(n?EO9BONH|T~|}HuD2vK ze_eh3`kqkYLe-o(Re2>Y19F8q@N_5gfA7bfvdH4jI8zpEGt()6(j3qL(`V)}OD&DL zu5=&bO3Xb5oRE5q92fCNt1twjjF4y459{T}Chn(QZ_uX1kKag~qCLNUR@2x6Ak}QPYLA)`u*{;R#YF{lLGMNWNmcvsU?w;WY#6d6{h&saCFu}Y>g z735psrkB)~X>weK1xxoIkXCz}7MGd|J^4zND^#9`Dv$mLAJsUswfQ-kQn$m6Ih}&~ z>dMWu7&5mU_$Ki2UWuFgwe$?ISN1q24gPKBeO&FaH@8X8Y)f2dVGuMVUf@53H!noC zvMfd-@mjLg;Pyg9kHHNQWT6588uzjkQ3SAfUOQdGh~-GkxFP8lnlpa}f;wmq4R;U^ zOkYRzF3+kj@HmC&9n)8YyepQPA_nYO0R?z>nXeq%k%cp!v#M>1inXJ=Di`L4uBimvJZCy2BW-?3csRP zAi_WVa_=i0UtJO@-}O(oO9wu+O9P+2!JAY~BfFbB_OGbMJLo*l0zXhKc$qy0KQ6A! zs-!ogjNWCD+js4?A*&@=>vC2Ha&m*!e67V_j+(?iv&n~=#5kfiUt$kmf-&a8a#iW& zSmJD$tIWy77LJvqg>y3PyEL&pQFxhBS7Fu6-067Q=hwNIKbeV-Xk@0LA%vp1tMhWl zERSUL^gEhHTbd3ubmfmgZ8WlZtj;4qs5ZP~W>gDV$&u~_5yR;M<1R#uv z6)=Ip7_XmIoDSo^q%hs~Hy^H}ZfWVn2b{0)nujr5au~H7cVp)ali2~XM09*GMAyZrVk6J{?Wuz$AMNAzoSHnuafyTb zzW(*$2lh$coxGm@#Jzm~r(Y9`Mq&ASUv7Ot*jCW&MX>lkBr-Pr#$w=6Y zP!&tso_U>{z7Cnm3Ob`07jyhe7Bh?$WGC}lumrIl9fK?+h5Tu#*aadid^=qF`2j)wc|-CC60Lq6HtnI=O* zQnaHs%WczFxLpAiFUv@L%z$%L01oY)zt~mN>35Y^)cUiWS-kQ1+S1Jx8e6_Y>n`-V zGIG?CZI?n##Fvky`|-E8TJaaQI?4Mn-@J|}Hq}=aC8cSh3CzL>lxRbB?^e`4?wrdZ ziyoYYCEN&glvAQr#_SvvdX{DM2_jYvg4Z`fWtJX{<6oi@EFoQ zFL?spqR$MuV&P@4lp-1zL*DP4_LgSmxU8?Mttl@n4*J}7n_fq%X?5ld@tsbQyn_5@ z{&qpD7Ok?`ILkHxP(|6|m`7!>YKv-uohvFkzgl}W94Qh*9?}47LKRX4!Yz7RZc#y@ z+tub>9=V3=O{4eZL&D-o_uDJx__Z#3uH4j7RNNKKk2USjv}rPoI(5Fw!OG-+T_Lk) zn+yHn@rK5U{V77YMMVE}B_sp>c3StD1|yav<-pHn!iQ;gNe4cnSX?g@MI$3yGr$TL z^1$pi2)>>P*-;sl?R`%>wQB&N5*J&;EgvY?ui zE7;Uh($tIBB9x(ETu@GA^2Nfur)QZldzODs>-2=7y2>STf>_Vzy+i0;n0{%hExW|L zDwjXPfPvA?1crqHqsZ@an2p#ek;YQh3@qJu2}Gc3kzbu=(@ez@Txz+BXUmh8@YbBR(pTrskW^a<66h8<_~9rBGTb74u}%8&1Edm9S*_aBK@`dZo?; zftF*nQsVcz99Emvre*w0MRIAbuxUf&&2sAIo!F)-+9`UT*C)Lp%nGOP2YYJW#)2{% zeMu|s{ekr zf!>!G=U;XN@rUk;i@|E~H*yJo5nkIY?0J3Qv=&oH!Nm*hmQ{&ch+VKUi9)uJi5Qjx zEJh@uPtDxi^7phB_P2lxV8e@rac6g*E~JF6g-S{>Rq9WRXqkHz`nyoGh#lPk6Ca@m zx$TK(XjbA+v|;l1k1aV*-`%^H)iHXW6<4C|NMm?0fruY=W5V8I^}1Tg;aE1S_setj zr3e=Cb!^j4((Gadi&zAar8fxK*+_3-DeI89Cc*8(R38*EjrJottLO6Sdf|Iu9j3eLP z-ZZ1A*Uzt1`>Wx*DdOm)t=*+_U1}IY)@=vAoDwDVb|$I) z(~|nSGYqGvMf4XG(n@cM`hrIPvuay9nT<)}D~}G`hx~tMbb_Rv0Xx@cgxnKT!p75P zf(xa{&&5n@Z1VrSYGi33epyQak{+=;k@gl%cbld;mMXwvx*185ljjR^RD`G?HD-+2 ziIn;uh^knjN}+@)1GhTF<#fNZSq0EPJ>0+Z0b$g^S)Gf6XBD+Sr}A1X$K}*y28*2K zuJRmHrbFWpUA1bPFqfmi-K&ASEZ%@~U~h05dpFO<-YXWuO6N6S@wSlTW@RO41pda1 z=_}XCV#vyLl+POv!`J_Fh#|^V7&ZGn+l`!&Ft_C*Y}GM zkb_T0tni>GF6RGdhKvJVdN^$1yj{qgHyqnC4f%>%&1{238sWaUoiIvdsi6yGoGwoH zi6XJQP+^sIC*xT?%`5}FTn498mmP5Gv~c6-k=LVRF?J*yOjljRR+*IBdr5EarL`BI zdoEdhk!w9iXBS{hJbx~+MXbSy)oR9!Uy})1cr&9n=(Vux900^UF{2$)-a+Nku$Gg_ zvlMVLPJ6Xb#}El9ti&uhBHYD`AyO}^!Sw}=gqmFLD|7;?7t5GU*XW8Vk)h{9*%FNXVeM^*Z0I3(T?369K?F@WT0SQeRp;)1mmcYE1EY$V?xF#1zeIA=tt)wQ-BsDXc zcIELf9`S#2Jc1OP0UsB}gUU#y;gaG2!U!oThR6+-;7>Tr0@VL5?_0p*s;+bQIrEY< zGm=J{(da#AW+aV9qxbt^Nh8UUEI(vhmW?sCv8*?iC0P&4Hlc(#gm4{_5D0`qC?Q;z z5<)2tLn$Fm2u-;ON%N&#noCJSnl^9RrZi27J=}loea_6$Xe7HSH@)Az=0o$^XP>>- zUT5vK*W+K5W)LIPx=lEO8Omx<2e9KI$$CFTKjSf5h#-NY#bM0SWvQY(Ml`cqw~Cze zbfYBBdorBX3eIZ-=WPpt^GNxlN3lfDEt15IxESNHtO zFYb8jXCHs-t-F3=Y&#dZ_{odE{MfH9-u|!9wEgh){GDkT=eANHV}CfDpXq?U9V{($ zBFq@30W4BSh9qr5CI`iba^p}`BPVy)+UHW!*JHm%vGSs-yXxr2BW=*I@+!-{o-{k9 z*>kMCXe=N(9ipLvsm4s4)ly+;L(nOqH}VLt5?OAWtQvmmMB669U28d3Gx+>`O$&$6 zYpiP}+&o*d^nBz`-HinVre`TG$o}-3a%FcoC5W^KKh9euS7;8%SY^fu_~qy{3a{TTth6W{p#6Zfdj#mIs9yM4 zGHky3LKa}X9Hx9OA;f(6^Q60<7a3v`;vNN5^p2h<9Ngea&~8N=Grv_azBA!hX-wZR zc2hKzu;qrcnwyIJ-QlLK&08zW{f$M9G>8;VQ;stw)+~e8Y!hEIqUm5bEg73P4$2)= zA}xBXieXLJaNZOHjeW;GIjix(0EKCQ4MYYxn1K)%-K>b66i*5=KB4wYru`rqqL6WF z<&)Ga9_u#YItNyV=nPE_zE`a)SZO#qA9NWbp|Czv>UF5_H7c&DE9$0$S2k0Ng7o_* z1fuOri4Yk7Jc@LBhX%zMc}@B`0WlW!)Wg3;_%v@CF2JVP&VHa`{iGwBpb&a^0aS91 z^%MKTj4$9XBCr<^rZ2(^)Zi`{+DS+tM@v+&71SbqBCZ+vl#qU=N|YGr%Q{Vwil%Ey zzH8h8z)Ap!RC~sHYw-aV`VwPN95%c0|33wp>uaeLl`LiFh)=0 zTZk}0E|MIB4HKWdcK^r6ngFJhUpL&U)Q;YHv}LS$vA(gWy&_lXJlr|4=xqvSxyr&J zplUk}`+n~$xAb=(KQ~aiy{9R|)q8LueDLm>Hm~QYnu3Nc<*i5i0vFsh+Z&2D*DJLL zZrFD5Je_Mek`-bXV9g&QuI}MnO;)&XgyD!XvO+8iyqSm!Y^blR<-ARPJ5LN=igIev z9@&}yH^Eyep0ZL;jZ#DKR=%Wsl8OoE%9j2gp6eZP>xyJDDT{<$V?(V8$XdGfC9^s$ zY!M8JDsCA$s9{b^yt)+aUAk`DwFqXk+n2&nZ-EHXZV>BxZF|}|HfoROQxAKlHjQGR zX}3s(eTIq)il@F##~;Z${(7snC2 zE{Zd!-8>2DElH?4934br+Pf9cuE8yR?QISE6|m`6;JVc-z@`9=oCXvI9nt9^K-^jp zy&L(wEj#VWHp7N&OZ2L_{6&drbwwA((Wxd%r#QN-Ghl(v=jrdOt5rO^clKS~e|39X zZEsz#j$KoQRwU%vgXvFj3YH2*qIHWEdluJ9@%k&eE-}rn^x8PG z)oWzi;MR%wE1XAk+cmg#%NnZLK{Xr^jPL#kJNP%DbN8_!$-nLK0L z@c;Xf{bVq9KxHEr^{U^JwBMp%Tj>(*>#L!rP=7@>D~kL;kul5g%ULV}LdA)y?}*XE zc^GIN+(|+G2Vo2{%L8-;iUXOGHoSly*)p4C#Whx$qA@OWML4jgF~)!a7>s*#1G8}D z#ns>6Kh!@oxP5bXrZ2ms2vHS2J2HhtJPm>bxi0833G@JRcu*{%E*YJE8jxW$4 ziRfS)vi$Y8?e>J*5N8^yZ7SF{+vkg1msPf@WOv7j##?supDxR&ZR_%GKEA!Ib>^OH zJDW?kmq@OT;d*y^evz}gNxH+H7sx3H6{Z=sZtkK4nCy@zbJOg-*N!;`YInCO)91Q+ zds-=drh4~O^T3(?^@h>ex{k=(hWzqYuPdlHuenCbwU+kQd_?ZYJaWk6= zyEa27CXB>}()?^xwg_PDXiFsVTmXF)As)a#AU(1-fFK>$%`&3Gbh zxP!uBiv6VlB+`oPM=jTgRKCP+BOY6>&oNpLS8>yAgKND;2q1JF`u*AV%b+dx?no_- za~oN$S@)#uIs5tXCJ(sG#?s1QYal zWXTisAh9&dnVy=GEEURyN!-fDaSY?f!}YlT%JFbrOGh6t3lJ+aU}UQ(gJo2s6YX52 zI~74g!2yEM77^29R1@-*jwq_-X*qF?$>Xjk#iS|1vjYMT4+vqwIAs;7PK-b2}q^);E!rrJpRBV|Y0 zq>9ki#zJ4q*3$AF%}Qa@PSff9Hl_WZ(EB4Vy>RB`kMG)c_Q~mqXFoDz&CJgz8*S-- zFy!e_esef5cyib76I)QadVb61rQs^FBV3R5`+XBXJ6%t!2a5o_M@j$Aq=Il}8Dh9X zh~a9>Lkt&U{&@@+B@6}t9Ljf89F<6fKosJrM228+3|KNbhB!wXaVTMPj)SBU4;ohN z65?PaeX3DnvHsV+fEMZsFW~GGh<1(;H0X{{r^Ono!w?S^p$0TYxEmb8&h4~Uf ziGXmI0mCBEjw95G{j7~>w=258?zn)k`9O42{g2|-$x^XDF9!}Pr|g7-YTbMBz4QOn zz4*SUn-}eiK(r%mA)s1`g)}l6xh;>oi)imqX&JNBQECzVOXR;Jx76w;$hhFYA_+kQ z@Z*h$`eFE;DBD}3h3a<_bmu&)8y{*hlHaKjey1k*o%#c+--#HoOwAD{P)w3Vkf7jK z8W4G$Ru4!#_oWz>@Qz-teV7c9QAa8T^x?1)oeS@u&jo&`-X0uos>^gUQvFV1MtuK{ z&4^85MkiEF0%{q;o4C73Blp^&Lz57_98|U1KLKRqACPNPPWPD_hyH3LTPrR+vIknCm~;i zlK0}UL^I<)-)KO&3h5jHdU3Q%WIk_tp* zn5A>!&$8RNKZ~RXlGQZ{z}W)RPQvzN5_vZDiBL`fZ4#;@iMZq7#ha9Nq<(l}ifn*bdPh0nZU~spR)* zq_v3MM$neah}cZHj5v?jVp?pWZWRli$ZAR9>K5Nu6V8N2xo+dQ;ri5(uI?LDly`_5 z(740-jSW7pB!xQ~wlr=LA!6DjY@9zhcAMZ>H*qYgpTh1%mi+Q?u&@BSCWIQW+_1+4 z!L}5U!tu>?kZ#5Bl;WYB0M05^op1vCcqE*P>|WH)lnj*+PIOYExq0v;V`rj#MUWms z9s$a$@K#|Uz*pGIC>C{9O97<%3`znxgK;>jK%1n8+OP_@8W~HJ?Ll~|Ti29-_~EKL z5k2!CAI#m<*5vx}+5!-Ut~G@sY}tNy=bKA z*wJ1VgcWyJ$FBO?;HI)oK*=js^%XiQ^pyzO*KSXN>llSTSl>lK z>v=hVe2oR_CyU$#VT0wKaGn3m2%kYkIJ>7!PKtA~wARWN%$aQ0L1q9(4|f=l=^Cm9 zkJe7?CLpK;7`r#RV6FX?WK0Oofh5!bhc=;I95eN`XW`|V$ZQ+?cf#BfJI>KTRWM)CB zYpRt)Mpc|rMc_BhTA`9RFomd%6SkwNCThn;R-}@-;ajC|S9cVpB7rBXpd`O+ zxO(Ioo6;P*aQ1pi3ozxq^Y;}kCE2!AR2K2%JfZl8yR)n6+XJWq{=vxm@Q|^g$T?n- zsDW(-CU8EAl&}Vun3BO}GnTUQu9T42a0G#nMvtg%ro zF_efXYpV`DL7*QRv6WcBo`O)sjE2bl&9THqOd;b>3-XBia zW?zc{!g7;Qoj%G!8gMwZQWgCa7^gjV?wFG8nK! z;jGovh>elRv3dk?G(mPIO@Ldf_Gt4U!dw83E59|Z1h2C$D06^TBEb2=|F1aHJ_DnV zCqGIMaayI~5d86iY**t+Vu?!YHW67$cBL=-oGse%Pb35udb6N)`w)>6-vt$QlUT9BLIpIRFzwUm0~@sqr=W6d8-t zt%{Bg8m)E*(mtfDX|r}8At8*+Q0j`G>tp?`ZA(kDUfa0MhD_YNm|5H);Txt39Ke#` zwwClA+j_d18f&T$+?emmBmfbBO9CH};Mrn1wgfequtrlIrH+dlO%xv}q>|C!zjw;z zb=z$ghc82^$aROj&d8hAq;K1kQY)J_nOdU+aBf@<4WVx!-C?P0A=!@+!TV*=3u4b4sn}lvnO?X!V@Z^ZXgB>NzzW zSPtvzIsJbYqmEsUs)4-)Z9T*~rA(Z=u)`rYl$8Bs(hw*>3^qBOy8sRZEEF@;I6QYr zNqjQ{FDEAp%c3X_O%;wp8#U)u!l3)1E-|zat-etZ-J*ZEi1+b}b^WisfOvbu3&7yI zJ3uL9$r6A_$8CqfU%MR$r(DVTOKvv=`vldXfL35B+*Bpu*WVM#f2Qv= z5vt18z{2dda3)n{3uMS98G&~u5Bcd;g)K;VTLe;04#TLyQI@$ClA{I1bk;zuEy1kH z0D;zBqtjc%xs8nyfHNDzn_4SEes69zuiFN{eF|iz3V5c~Z3CDFp=OiQTGL{iV$Of9 z3QD44Za4b!d}+3v!jf#R+Mde@Rg|S)`QA~Jh@!uJ$Q4HEya|e z<{S29k^9Cq7G3U}AKUXMo)PJKW>rzSTnb(+`|WZq*Cy+2l<%fX*28#(51Z>SF;6Sk zVQvg(#5}FSdrU(Yo8)Q-?{Du1-oOn^T8oxRI#Hgsz5HOTum!@M{Ml?V73K~%!TJQ4e+_p3H|G$$esVj71?HW zL-F$yderVpIOPv-Lz%o|fI~BPoSc=doASb|TNx9!f(}LcQ4^F%UNw)|Y}TF3YPEJ6 z?PUMmX-I`RP^+JpmY{wfZAlGCy|Bqv8=;tr;(J$kF-gyG{KaXc7lZzR)72@=b z(n!PUsdjySYcldlv9K2~)*)1%SX=e$J&Q~b1sb&Ca9@)C{9BjC{sGVR#f#5AD{sdb zc*QisS6LR@i3(GwmWG`;3N2wLVH95~P4^{tfTFZFIlp*Qa!&nL#nB8e@ZxC55Qs01 z21#@S==7*Khu=Vw2o^>496n9H37m-p+KiUy=YWv0a%&|(B?b7rkezWq@T^0CyU7xw z6X@9#sfM^lW|YZ_5MRkESsfWhpqXMEw_+UEo4?0-3-2)!H02}Nziy1ldse?qjWOZ0 zFa=1GMQLG?%Gu8`(WPh7Qd7uU3T=Vp0L2?{i3{07YqXjeiGJl2$)`LR9D+d>5tlHa zT`kCh^cAI05XO{4aW9jg%g=G%#F!>IRlbXw=~76751ZYE*c-sk(2z(h;((2~C34ED zgjo}7V&bPouJo;GLPCimRuVSh%$OYwGg;M21k@&b3V7It8Ky?yufuisD6~))yDpsS z%*;r&Q?y2MjC^t2BF+mmgt#9r%SIrBi@975BOqo0g<)xEa!_K8+2SY$AeqbLFg$wk zTZ@bD7}JbWp0n5yx%b5{NiPj~h;k@7JN0##2}x>jF2r8uMEzbn;r*Zl z8BRaZ6wYV>(|f{tE{7vq6(YbFZE{)E3W78Vsv_88tFL=hloGuAZWI%|^aZEc+*`pl6D}RCQ^x|4pPyg{zWcTteqrPVuaUy$%&4T ztk`24%@BT?l7mGKoQO!_nJw27XYQoumHUX)x^i}kM3FiQQDYMk7I|U)XK54ma*9y- zo!38v+)<-L;0h(lBj^{?UqoIuX|~70U;vnxP)CKp{nMkSrwsUCj3n3AabZzK?TfYr|=+&R2UUz=AF7Ae0pas!@8*+h4tnc0L7#@P3p_F}>q8cTG zAFM=vTe2S@))J;&GaJK3A^=Lc<<16^f~v@7aJ+LGKh#pSt-*j+s(Q;KLe{jWxoprr zE!ID;9Rl!mwQEF4n2pj^xV>xwXdspw2Rg(}h|w_A48e8}SD;l}>DnTMAm#?d=RYl@4XbEZ??;q{T*QTy#%u*^Ii zPC=|R%R~S*(UkZgpG$tBP@tN$iF<6K4hFGdDS{24&Xcvp*_o&v(J)avD4s~aBs>Q0 zuuyP2T`z(g^i7CjcHA$-LV;iqSeOo^=*3Y-2QVC?;q_YK(Wavx8a#PwGRCwaEj1nbOOp$QOw&@{_kQW8y86O+u0^blmv&BWV;50hkZJ4#V!u?d z+i|NVXTWGdcAfWMXf{Z@ho{pBd~DLiz&3G#NZ2;D2D*SE-i`+pp==UGnZ<&4Q2Gz! z6Icd!(fIr%KLxfzDaQA{aC%Jz(yyhCTAWYILuO6+iUv8VK~ZEUj-}xz`Zb!(O^^XF zaYF);iJK>ai!}SxwI~aTbuvZ1h*U>|5YNm{+c|7_5l%*^lp((p@DD&l~GvPHzs zX3*{v!11;OVPfepVexDc!Y#)yNo#*0-zEKmyn$Dbk>#EjcCExr#u?-4L@5dNrSBdWNX`N>HXv4%Bo%k>8ywCr7?4*(3iVwO;!7yxxM{XAjkV;V};i zqU_jHQf;=@n^Lpgo|hsoel_y(m%LdygAe@M!&0xb^@WP-p1k>Q|8Y};{756};(!m| zG$t8dp(@>MH+wmpX2L#25i3RcFh-LBoYIMka43}x7J08N3AnYe6mkYwn|egTv`TAh z1vf=o+G0Eue;G=AsJ%zCh}ON7Ow?gtOLJ|F#JW10cem_rsIO_NZ7MBM3f(T?%_p;J zsai#cjV2dyW1~om;h`|(E~la#9kL0qu&8P!igOTsHD^v^Q)4~eOZ)Tcs!G$+%W4|( z`sN3Nks--l+T_bC50+)Gbl)~y5N@w`_(vMsmJYSH96lr6Q(I?vLvD^7%dISO^>w*( zv58xfO>&mum9%Wdk*?&V)sKJT@O^_5?K!D=f!t4S9!zx?I{a1Di(kIumKRnUpP1Y? zxzFnDJHGwFN3tCTM`qXA#=Wz-$rd?NAGMm6T&VfA5E(-(B+ z8nTYgq#=JQoGR!{@r#8f%|_{gIT1cwmD&{Ol#tpRHsd50i8&hG(GfOUz@)FCdm7?O zJyFVwY;>{!eaUoxJmtAQ{Rd%GSd9`L2b5gIT&ha7fYT779ReG1Z5jpyiCAz5Ves(p zRev-5URn#4hZ45nMlJPn{gpy}q7t!GBeu9$I}NnJM*NuI?iS+i#wd4xH0%gNc~!Uu zxVfjh%cunjAW%+1Btr0FCc>OG8cYZ#gsVQ9 z5fRmHh0f<&(-`LhQ3G3C18*gc8(NQMjKK^-X+5tcSn9sv&D{-kRTU*gCFua@U!ACk z`ez(>IvS~rvjc~>6nTpLldh09hsoqnI|f^t9YIFEGkc2Kf?4kN>D?nY?eLWBIeXB! zV~^5xw5RKX(fS5?xnmjMy=U2GhY{J;)Hhsr_*iz!k%1#0zN)li?w*57U+*_OA*G~e zCf99tqqds2t)}q-~%lP>^nN! zvF!s#n~zcj$Rk)6sy}{!oeVn;fZi?tfpv-T13z_KZb^7q^3?tNdb$LeOF5Y-+OyK2 z1wW~SDjlGY3$@5v58wa}59q)8Ft!i}=YIEMIB&5dq`K?u6F(a59x zvUqJ7BCuC$iyhHmH0+7LBr2IN(~uiv5bPjBj>#m)09S;9ZiF+!-R{s)Ioc52-bet4 zkkbxF5xLu=&UXJgtnYVtgN8>Vp9-w4i;|Z+p5uv}H(vbeZ@v~^9|cn2g0TVAS_HKo zGJX|VddI?9uuVucMcGcHN%n(gh7Oz!=(tFPL$o&r4v)E+6OQaG*kW}wgEd2Kp^{72 z5aCCdlDjBS8F07|KOi+xOX#@H5iBZ0Z)lr!QH2(XTe8INM>qi3H%XiW&j5oE5fg+xQcB&+8*2orwSFq;#+ej zfTF?~MgFeNww4&iSh6nfg(G^zaxI4m|uv#a~;6Y#$W2eFnk!AvzI6&PYI{9~( zSCj#cf5*&mF4ePeVI@ zGRbFhKI|atsvRpL3$Fg0OW&YiB*HD&?X)Lc)d3K zYyin9x}fw9W(3AOOpyb`{pdy_{9k&co!ngj>9QYlP*Ed*1zN(cp*e7!`+>{PA@xe; zz*BlIGly6kK8FN#_;~U=cM@XsnLgFmDpuem$s^qg6ng%JeO=hM#R>@0dvNlDsG*e2 zD0vgCL9t4}1g%vn>QIEQpfR6O>6%X0U!HK9BOPfh0P^GOB+j8?olek9W9x+ZF!q(T zGgV-o(-OATsU}>i5{*|9G+#T{D{0Lq3q!PEK`v5<5)4N5_LlniS^^jyoG8|EB5p1H zIB-2r_E+s`5edd@ie0$UnI&AlgaeK}N|%{gtRbHnWo^aCq^_LCJbb-qPI&SNYF%RKk>5v* z?{Qc;JHwl*QS*rkfXE$?9@tuC=(7M}G?*xS6Tj_5KrD7(%4x=D+*>(w4yje@mf<&gr^PHc3rL8aKEp_oYYY4F85^{lYjWODaB^DSX=fU z?`WB>T6CwItzM_UBB|nsZ>45F`H4@RFm`6=D_&>g$c}T*_T2u-PxKu7^ki*K-BU8c zaC6U0$PLdv^w(ec5C)BE7I(=JMEc}2RMe(A%Tfny9-321wX|fRx^{VSI++NVFd`^cxeKAM8sxG5=x#UZz+IhY-J3K2bvGxv^G?H>FyqczQy zmRgvb?yendmS4x+BgS-t+jIw{llK{pNMR!AT_oH;4JJV$^t>nWdg$sW9FjeRYVer= z`i=ao`{yh7J!HI23PxVt|MZi*mpt@xKYGasr>Wfl|CAk~%iupXG`X7$?w@!6Y~|jE zOq&tO6B5_GVLXmnwO(itzh$jj?^9UiG1S+54AvW}uLpLaV3P6DztAHa;?pq~i+Ih{Oa)?_tQLcrxgdInIWF zWD%m<(u0A{{DwewcAz1@5FUU`)7C&%aZP?+O>q`p^YW{pW=SDq zj{K_WarEh7W#It%(Guo>NUSh_g95!4eMy=KO49gzZG+{Z9W6dz%MMpbetrr4Z+e`n z(3EX$R+Q$gWmJ3SWhE5iMQ0@0LwRK&R1RuirXXxjhCiMA%B`SkCXH2Q2ce6Ix+-Af zys%SzD~;*D#<__1k`o9Z6vmq{n%Zz{d<-?^z$FfxMon7de#0UVM-+A(aU>WO@M0x} z^ncBwM#=bm(IFw!0Xm|G7K~k^sjemr3Tna=Nt_|*jmH&kWr?71p9c24mmW|oX_oq6 zHn|0-kOjwVdHjZ(%liu~nNGJYEk7?W^@O*nwl*)&Rgj#WSC|G|0^^sy9?Va2X4stG zvaB0};c~Y(J1I9eqX&U8?AJ!W;YQBo$fJB3aSV(qfuoWv|Np-8f3qOHdH%IUQBqdg z#S6 zEk32aD&O#_-7nuTmDkc(m2SVV!e8xSF-d}^30oKcVuWgInz@qitwEO%wf>yWKD z5iR8)Xi1aHw8dx{IS~7@EGxJ%fy-78G)i}wjbWT~>Ntxph+zuaU!cJf@t@+OzWQlx z+=<9zO7x}lvYuwaW56kEFi`mId7Qb>!+h{o1VT2m+?P2&UF?% zj=V8GkdQC?3Sxko5TblUINROeGdqu!lweAbBq%Xj{bd4lbWkHU}#CRGY@gLjv zcrtG2MT!xQisb$WjwEi46m%LC!hUu@-$~~|NR&pdYsjatsYWl4^b=h+-%@BSTZ`tP9M0Bd8d!hVwmuN>|72%ZwjT;VMGhHk3+g>->uO6ecLH5A9) z{&JtC!>&NR;%TJ1nvEW%KH!puTqPJ*V<0Ol(1_ucxGo)tZ!=d=M|*!=0Sa;ALVDfs zGq~j)wjc6g82Xs`Nib_sC{uDCoI~(sc(;> z)>QRaelzmOxwn6M3yK`S9QoKe$^89uk>}9=_3z$ic))Zxrg6DZef4_z`bRFEO)^a! zdFOse(&ywH!!8p-{-H+xu?Rg#(aIjn$S~DDKzBzxiyaJz03htn*I>YSR-hd0BYuS- z6X8zStpQD+;71B-AZHvyda!5#jvSz8R31b}lHAR!P;0-#=Y^kP(w0s5YvOH8GFc~{ z5#^A@BdIHgEN{7EdHHLRN2Jl4ZZdU7>L0rB?BZWMNOue%-|$sa3Syr=9L}gkED7;T zHmuq?Jmg1kRuD>kGM^BhR09DT;hDwM)YK2n?&m_V4#Fp_=-0}C@tWWo6Hd!if6ffI zpUI4J1df_23TARRi+v8KBcsTM=S}DuUJKcjU3d{E8IHvYkC4Bqi5rod>IkjXZMZcf z(73bp>W_M)AM{1~!1@pLN1iYE$YjS<^WlMej~x1g8}?@280wPbxCN( z&t*4O7OpHm=TK~(XU}|~wf^DG&6^e;ntaw+VRhP`JMjl&l~4&~RxE$a@P^5ah!7_< z7F!bB7SLEwjtKuXcyXGbGShy5nK-1M+ka z^N!K+F0Im)(%zc*1GX-M9qVH@=h|*4!N43!781jT-&;s*0sR}m`eRu{SGHM_b5yN|@~ zH#Hbq%q!U3%}?5SKcXm!re#WbbRKDLZOJ=|^T__P-JjcMUfE9Pk+M63UFvy+oj2_= zOqp+nUTl8S$!WN*!g~IOn?wBtNf|CxVV#GcAl6RR`wPo0s-j@N!{P8E$Msn66VzXi)H zoi#a6AVsxUdP-_-j(psF%a6uy!g>#*%|*41IFFhF#q!0-$C{)T)AKit{|G0BI^$dN z8(0N8!6iMNpOug{`tzA=jys<@i^ch@*nIQ)=QHeYh$6vmmxuA9(lX~^dh)Z}7Ge5u zX$e4`(x|(&d!S_Z9WBRd4^}o@(;ImF(l4%GF+4w&Tj|TJYy4hsxMIg-OXP(oo{)#= z`F_!qhb+LmK#Nr;5>o)SfPkUzWaP!c11pg)?=au>$hVG4Iru|YQFQeSkP3n;eAx+S zZcuaTHF#*5UGw0X{;k(Pc-1wZIn}r2^aCIAwC$;{-_z#tZrW2*yQj@-av%DW$Y=iW z-#)u*gwPC|5KgQR@>sjjTLd{0oyE-KB)u5IlJni_`B*SF_;nt}zv9ILJ6)C_u* z_8V@J??Z-*o6h$XltU+yOcr)#&>73Q7F9sL@0FFDP@%(~pRhT-AW$A1nn~^7ie{PA;$;H1jcoFYOlR2ZlhbxEOtiCtkak*7}Z)EB0 zCH1|Db+K2~_huMcvefq!>0F||Pu9J+%K?fZ=C@5{RfZ+?eFncT{E0^L1io$fEMyD4 zmspnZZuLEab&a1_-y7H|;pIjiT7rF|4sFM5*sxAqxwEs_ug(C zG`FkYr?SH-=Xw^#N0!FNl%uDWp^^D1W&8Na>G4@*d2xDnQkj}wROVJ@m8H44nMGw} zc1-D;n_cRgTbLZLRC?y-PcKYQPAw_5)zyvqt1FeE@tN_FMRdD7J2t+cEKQ9oUGpQO zc&SxprbowT7so3HW=H2{7w2Y1mPWegX2$65;^yVsrWdAXW`>W^1t&{KPh*HPmAGlJ zRnc9f&{Zf0R9#aO|Lwl5f-w$uidiW#L@ zsaQ}Ns+Ed8^HBX}?KYpA8XO+z-J|RrQhIg{ZXOsO*g1$#eM;Bh z)ylSk!Oi8$ILHIW96vR`Kx4-Mr-^jqW0m$j<3!wXMZ5U~ex%Qf^W&q_6Vs!Z(d^{% z$mF;(Id^h=VU`}0`SFG0(~HD&{4uf5Odp?K8d>6>*G#AK%884n$7fg%TVUgC1TN!o zWMe7pC_9b6L-=MMaFq(%j_*&hY5bkVr)5AuOyk`o-cRA(B3|d%3jb{h@8;MH|84}| zP;Y(sW)^+Z>jJJCXO;N22cPC~p9SrAW;Up_XUo;mQ*9_(-W*S5gl(Np9l<2*v4b8j;|0Nz(tnEJBVF4qa z<|9{dMJ2zo0lE^+ehEkS5v&lc1Fa3wUBT#1qE#hp!F_`GT!AqvD9b|ch-wY^mEQN` zuUG^6bPAtpSUvw`1%G|`-M7vNE26VW%r)h>UQa#c3hB2Vmk_Pi;}Sbe9otu}HgVzQ zxn%V#Q(S)1lP#Q1&n*efxDtK&v6ho^c8eTaTX)V}En zq^EZRf3-QS?n}WnOX$yz7UDm8R+liQRzL()VJ!4tC0fOvIF0|S__$+F-6Gm=2M6`A zUZlzI!QTq-8*wo8zZdf(N-W|(g+EItKredY^iqlLBj_=TdmdG3N6#JybaBGoKt}0B+-hvZl2Fv&|Oe)8k{SrOf)2Z+JlxF z=hAEZ%qLXZYh1L5>&L;b)1WR%UXs8x^GQ&Y)`$9-#5E`JZUNtm6;b$A3%EN`Qj>GU z4`Mg5bB>~4iI-^|g#=Ihe6Jp3C7!wWo^wU7$1yG(f%(74J(#kl|BJ8qU#S{j!q*7x z7y+2Drx1#3GOW4)p#gzYSsKm(4xFbmVdZnNESyub;SJ7(#UY;+utL~36y^o9_*oGv zW`u}X3UO10ZD>?feyx7lB@Z?QiHbNmx5g8!5KHO@m*>}Tv3 zI4@m?1wRJnm;u8)fTcgdS$B~?q$lwR{}jx81|scxpqadnJRf-?`Jmwx#KPN z9I`@_r4$&2FR=)F7vTst$u7aoE~QE7l0(X1zh?gqi~nmVv*bkdYnJ3@KVW|+WlK3g z3doc4r2?r?@<~9YfKT%b`wDxCJ>Xv$>%~CJxk@}>5AW&|R28@Gyw{K4& zop_RedpBj?BvM8^6?p*vFvmDPv#-f!Gd@h68$WQ zmp$UkMgEdBJUTvxGv7$klKRFxESfFx7t`JasM)4v`fFcab&mt0pELX=<-pk7(#R+d zm`lbpc$2Pu#Cu(g^i~8D4ueH@p^~T<1qWJvC!ou82@)!=g{GILO^x`y5FN-+) z;Bcb#Svfi~pUjtozgwD~85^f}wz27PoFk?e=|k%1^up-!@rjx7Q@j z@+Dn=7K7D7n7$!|?fJzwELz?ASyr16>G(6uTfFv`fccE#6vA^D&lfCRz3hf>w`KlA z2-gmjv1r+%n^%im5faMuI^1_GyS{hn*wnxLw-ElBLJ18mU$W@he?Ice3_P2H`wh#H zVVbYh;CeF4TYkeW>nq+W>caIoA=IVUuUfq5!`GXCgZkdX^}-t#tzT`JVj02x<#;}D ze>YJ9Vp7Ht6HA1*Q!}CW3$3jtm z`5B(BF;vnC;u(Q09-1}MUye5h>2-6VC3`V-u{KmMzn64eUoQEg_c zK^SmjgAfsvbsduOzd1{%Tr1i{;G^Vt8w~Ts&u{~?fTxbAtMC(uw@l_-GMd)KD&ZF` zB3l%Q--!D}hbR#h;tA0%o<(UjqDxE@Q$!Wglf-O1HyQa)VD2hJG4k?+9rsE^gBUAj zp@ar8S5%8qF%fw+A_uuSqDj=@xf;}xj@)ddzK%C96Fn%U8YMQNtZLCJio{fLElQh+ zdWuj_G47R$#iAMc<8kFce?54+UYrnDp(G)6JRQc91<08oR*N(-6Rn(&wx@~PMK8)- zh1_2WAL@Hnd|%uq@0&2XHautl(mx~08$0@MF8aWKxv~d2=mGy-fxnv3f7y7l5pDkB zUov`;xVjd-;J;$ohhqHlUpxNBkN)$ZXCBmEE&odJF8>PnDO>v`B#V0O8n(v-10C6HF%SM9QiN)Wnk3MkbCgkrHPm3R52AAUR zKJgO%;Xfs!{QJNEHzR-{g9K3JD;&TK(;4we(g@^>Wn=`iY#kYfq(}zZB&G-((y1b4 zQ4G%*f1 zU5p3L5Us$O5-$;LBY%bLBhD5RfOEt|;9M~Yc&V5&@;{JuQ-PODyh5}iJx_E1J0*6B z=_4PAZZQLRrNsGSCel}lOMpERuNJdL-WLnRY~VsM2e?Sg1zsaA1uh2u1(M=2;1Y2; zaH+&)Vjj}VMJI5D=olRw@O?qu0eX8xE8oxVy{?&^lf74$UBfJ#IK2Ez&pfp;GJRx@Gh|uxItVu za$ejmt_R*DZUBB=;y1*NNZ%_~jhusAS`F+IYk-@?O~B0(w}_jOzE9jTa#q|g@tfjS zq`xKB0UwaKRjfz)LD4&MMtoc1cf@T-e^=ZNd`Nr^xJ}$Ka$0N`cL8@u+$lC7{jj(j z_=v>siF-!g#;WlR;G+^B6ZazhxY!8%0q{@aKSUq!hhh`(M-rb9Taex*?gQ=y{!#1^ z_XGEeZvvl`_>}k-(mxhkflmYfTl}YZ5crJv4lpXQUwjv74R{J`*F!*EYzICkF(!5( zy-(}}?gyR}2gJj`=fxwy7sU5~KM~&t{!}~){2A~M;^*Qq;EUpM;4dWpm-qqFzZ5?l z`8}jI@n!KN;6bqqcu3-5u^Z_lV$aBsI4bcK@g&l}5>EktE%7(v$4I{_o*wy~7?Ai| z@t;V)CZfRCCB7m0N8S=|3JrKn;-GjI>El8No{;#Kh>e^OzZ3g_LlS>44j}yp@jMXy z1D+Buj2svLEq((0qxdQCPvU35w5}-{}D$<-V}coM}Z$o{7Afl^xwpm$xlz-cXG?gl%da33*w`MR{wwhpIJGI zLIcng4Dhj-U>{pxMOk4z*+dE~rZiYe4p>MT@Q%1(5qV$<`CtKM!t%+6#ghxWIRFbM zAC^r4ESe%%GR3gbOJTW`!(yp~C!z`#N)0TNI`|_RV2L!r0vQ9#qXibncvu>3@JLKl z%3)hfhD|XQ_J0R#i0QB$W{OK-FU*FWFcz!B0N|yLQ@k0NB0}49HB3KBEVHqre zMX(H(zzSFZ*Fp2Y0UAGjBWs}H-we(ER$lm`M+R!oj63oD{(c~mJ4RzwZufvHhL;nYjJ zLfwHafi2Un-4d7@Sib1msIgG~;>MCK-H||4T-LP$czIVa+SZ+QA-SZxdrU>t$YSsY zp5D@p0#=R|fM1yv`Me@(DxVRE8j9w0&FzYAn4A@Do7|lh3EmJg; z0l3d}$;8I6S0t6~Ghf*;nzF3F=90!B^29#nLZ*5lWmwrcxjKih7{7k~Ogr9wS83kT;t!GMd8OG(7SQ;Z*`2xs{LH z${V+8BMv+qap1-R0Qv%c9s{es4!jDx9h@rQ8R-@l<%qDu2WnAwLK=MW-xBdl<#j{7 zagMpvyvX9Q=t-9+eLLy(q<5`F*2T&HWwY2mO!<52LutMC4GtxJPsX;4Po390_c&j5 zrMgBuPkOKQP4$oWpU-T{yfdpY>%Odk>}ff(a_-6{*o<{rAV^wO&?vs`xN<&&;>u+!OP z>niGM>YCHFyzBPvcduMC|4;KjzbfgfoU7`uy5y>^t8TdJ{+?Mq*Yx!E+}HCTJ$lb; zS6{W@rwe|);P`?+FElUoF8uYPw-)_*(I?j=U6XfB<25rEZ@%{ZC8i~gC4nUqmUJ#z zx#YGb+n4@znQ@taS^2Wb%PwEGV%g7@f4m}PMc#_)6&)+OSC+4wx^nKyMb~}p`X{e{ z{`!}%fAjjY*ZeDAd01-+|!Z|lAH_BnS{-!b`)&O83+ zuC}|n?pl4+!puy6eTeUb$=NuK(F!+~D01+3?BTtL}dB9@{)G&VdGO9|J*mdZ+YK4n+i5vxoOL$^PAt^a@&^k_f5R- z%KPrV?A{lUM$i>HtLO(|2qht(!m ztcWH>qUw;gP*v7wrvUnZdP-G$+H7;wh3aZ`gSu5U^+X*5ZMGjdbjM4MHym#}kdfqw zW)FZlr*uVABU$~aj`7{{!h{P`5-w~g)5bDwN>9`?R8?K*al6c+{G$50hT0lK4X-Q~ zLRK#tEafgWVAJH~-%h9l}5iY5?}!vF6P5 z^z3|JqsRJV3zI=#lgDII3tF?Ya)WtSPfVSh>zC>L`AFNd(00E_R)*A@u&U=N2cphM zR18F&j%db!wl72Ji8W_T%jnK9tkFK2Ic;PD6>N0nKbm z!+V-F{_}~Ik6L}!Vyj_I)ar;P4S-;@N|is+R7W&rAes`<9CjnK(=!zQxSRq% zQ5S}NAnJ~2Ug2c6FP`nghz~^l5iKj8oh>_|eVUC5t=azUl5DgsC!U!bFE>wiNyxDR z-3d&TNE_d+sj`HqiXn7x){LNNN7Ot(%pTI;&mPHEZ;Dz6w48X=IT1{0G{+H5AJR9Z zZ%tR%L{sJ1+XtfdNHpCMb;;Y_foL`eK$eq58qm%u7^}hLv&kxca?j?fJR_?jc%~mQ@fR2 zk-Zf$UT5iYK3>uHG{8Tjf{keOM*x#aPv)xl0UX+N&i>kJd(r5&~{ODM zU_d(szbH#vO!WP2$G6e$S z$+G9mj+VVuX6(^@<;CTAbx%2N9tY?L%8xK(Q#CTq5qb#+>H$vzgm#7v^N<WjjS9+%hStuKPW z9j`Vz-3<-(bw%NNv)S!>w@ooCS2vcK6jP|BthL1DEgK&mbN!?;qoHQTtXbZY=Fpg` zhN{&S73zJ8s#+~YwuudDnyDoD7iqbLk-VISih!wgTvA7iAvpNzD4{1u6(juxvw8z0#+6Dk* zpmtQ?;$1*&Cp7W{!qB6gV3xrc=HrHl{(#{z1B8`2plw$K{;~K8JNhS>L9|@7tPmbn2oHIYkR;Uf^NKF!>11~s(XI&J*1cVeZ{mVw~)4rdq0R-fkT zcHw7A;T46rv$POBTL;jmmdq>R?MQcoKegSpYLC#{&7CZ6s%;*M)7GP$*fdACV}-+T zp}-DT7Yb~%wik95E-PGD2y*Ty>0((OkuH|iUfYSXlv*WZ043DcCBDcDm^2& zSl+`kW73_jK)%bBr>^?^LFJRIs*uZ7P?gm@%@wN3E(?XqN((}7xC$a!Sygx{zY4!0 z*HmXgX<1=WaS3RpVB{m^ztvk|)z*rM>IYgN9g^>{bd1!i0Lo|MkT%Vdl2NU7W_3IgLf}$ID!Wd}|PF91S@7 zD@`A1b%icuk!%_%G)Y)lAgrte{iWa{B|&mYxJbfJ#KpQU?y;*d+2pps1N;6xF_y)VEmC2{{H_J{_#?-~j`duCFoF^P1 zxXSAI{Gbcz!n!i~E<3gz5Y2M*S3^dpIQm=EkF<$JR@|n9UdqyU5zY_}a%|5L_7YAI z-r~Uepk`>tscSr+b`-jX_71g>=j})BZ`sk{bCjD+K0p`YJV0;qclhz(c|S7FxRw*Ki|svI3h2Z5YiBC}F-q-+#sGE^wqR-@zuDMjgwt%| zA=y|Ct)ERikamPkJkK^CfI_7mCH#(XmJL0_HZ~GE31`qkz0u#!)}BT~wW)+g2^X4q zmMOBjwui8hjXZOqrEjC9`t~uq$ADAAb&X!L#cK(hp)Zpi8yck$kFzf1ySJgi-~vFP zgMqyi>A7HRi1|k4`-*Wwe(BV)jd|VG`OT%?Db4Mk!kX;dngXXIC+u6Dmh+Es1;r&< z*(HU=6=}Y_3`c&B&tg~1DQ06uOVj-Fu5iRx(wNtJU0~jnY;dNhFyi;uR2162pI)OV zRWsA41cMdD@A&70-JvXdvfY`K4sY3SpozCa6Ss?+|3^JMWmL;Hg3685vTZO8oTKWr z85RMw>xREb9a^!c`y0Q|qSMD$##Lw3cHhWl%3jpwQ+(0%NWU3;4XNNAirNOEUPsh3 zYMFRYi6>#1NG3~WjRX1{wznZq$@ks??Om+a+FJmU^UGwlGlZ8RRJ1|DHq!4ILLXsM zD&Pp=JYf@wWG|`aMA~^$&BM$%N?1=?*-PjmPwgRWCLACN(bRB<%$1(zm&GQ5to!s6N6znL?pTINuT{46lVI7Kp=ZRvxt(%w5;y zHqEUGv|K$Q6q?vGHrK4qR}6K}-qdu%;>&XC^X9L?-b}&u z+W?Mx9~N%?kU9v{Q`^OXI7pBav7MHqkd9gmjcEfH1#0`tnk62GofF5Qs2icf?EUVAH9cAg8oI9{wI~zw;s_=M>VWm3D z*>dfaqHz0?@y^=0WAgHv=BV?>XLsIk$HYl@t-3O&CF_y}E1Q~DUWL#-1wPr8%2Cw< zU+!n1Qmu`P7mPems%Z#zN?U5CvD7%mINf-qai!6`CTfBjJ*3$!%9=K7)bgTbz;en0 z+Z5Tbx`5UpzMCpBO_pOHYP0^_{;K_?{e4)mLQ4^bGW}%A`zh#Fx{%8U-hj%zjvC0I zmMxhm(aO-%|ITo;=eRYx-6818 zq59fCv_ADzYk$9LdurSZFN{OoPmFXSrgIrQ@$E1)wKkS!7;3XUWB9q@Rl`Zc`vy~w z-fEaleZwpa7)P>)%^*!)TSP?DBHC6A4Sg$*fwtlQa9P3>*;1gxm7vsIm!Dnea5{pS znWe7TH{@ovIFr*I?o@w19D|BzSNzH|%2m{zsRIN+u_#O+-H#AXG(YGLwkykrcPLj) z;`7hKt5XUudJ0;M(OQ)Rdruu2b>~R`&c!|*>FtRtBVTsfj3k^k|KhPxd>J9XKfl21 z?ac6c^MgKLK5K0oIi@@Z`Ct(9F;495YV?+_iC1VV(*Xl!dQy3wKbw`E_@U&0vi5}G zISih@(XfqU_!1fNb;F;KW*4Q7ln^FW)n3J`v?@CxqezXU;%YA%K zo4QYKb}@hQ;#UEA^(7ZkLU~K*Yj76zdqI0ij{XodB$qcN3kiAovy_W}jF1=4KahuX zFCieG02k^95qW|UX~%X8Mr0RQN;^a7By1-fB21;$vXsyXh#fKyn$McSiR~oqPHKkJ zlDo;YC&-8^3AFI_F2{1Pzjhd+K$}K5L7{NWc?NP$Yp2v)2GBRTc2Lhf>^jbsWiQv0 z^Mtc#Y^*P^J+M1qK&^qnz*!{3zqDF5a}S$&j&Ov~!L}|ZoFjAt^dsgIFl@9Awz-?a zyo2prPB>0DLO6y7#@Zd7j%BcSv_oujC(VE>*x0FrrEKwN7v5wm56bmVwwLfWhx{1f zEspiOgiQg!Il>XbTL8raL;4Hjr?$ph1kEZ9hLX3@;DLQK9$HwDa!*bu)Z9^6)X@|S zHgy!u^0?}<{MAL?v=4`T^_f|bklU;V!gtP^ee0~E%FAwTZ(n;wd&{T{=)DTXvs9RWFPpbN|~W0Wr2rIW}*H7K|qFR0qQ)b2y+M`i`Ec%Jk5+l370C zd?n>Ve&xcYIiQ`V-u*GbY^O8J(eG3~(z2XF;nuYL;wt|F|TcAQrhc zYfL$)98=D~rL66y%Yr4w`b^tRyG>w;KJ#|-ZZhH~6zXh%yO@?X)OAam!4j-#sI7Ge z>l+#x8{?`3>C0la%*yI%D4bZ6ot|CjYDo>`<=PaJ$!0PPf4gvAag{$W!<-Q;@nn|d zWxx}ord8EvRkao5)J4iNno@#ArEcrg@@Xpz%Dv%&V7jLy=(M}NRs`WIi0%9vbmTRn z4xKPlHqK#(HxL|VI(X@etpBO4% zCgi1n!w&MYGX55PffZPSNugDk(W=DsN;Qzv8?3U8mY#?4>f5cmq1Wky z8D}}IgU+)QaGR**pDpLhH2^PRJD|uWw;G-1)FhWH6v=F8Rg@-Ypv<2U^gF7`Ci%;ovCmKi{(cFPCRwB^Nt!ts zl+Z>Z7y#&7&5uJ2Q-!y1{i8BZznVx@Is2^?!fk+PveejM+(D#79NQoH$^@>A^0mO?h# zoY1Xbb)F7{yA-&_ z2F)2NuLimA;2O|QW3?j52NM!fDnAJpa)6&47)MxA{VJ3Tv*KV`&^V1|rnGxWw{NpV z2X-%pfc@DRXv}Mo{E3zfY44Xv;izv++D0|qO9J1>rFT1F8%@hTnwBRr&QlK3Zq=W6 z9z}okzT)l0m|$%q-`PcwZ*M1i^jWvlijw}F%`D`RFBP&Mg~To3qbzQ7@lKRO&DC;2 zJYq{wvPiBWzRZ#>%$D#|xw^i1N^N#-eS2y1qP+1YMKQYaN_@WZAPBxPD=^+$ zuC8i*)|bt*M7d3`LjYY1!>18CscR80)2Q5_c>>^p zfCnvGO*ln3NmU>~I7LuBQZ8Y#3|N04a_GvVikLP4uR(uRVwNtVcIngOEK$K7qI9%E z#H9=R?Pvg|rOOmNX%(0hcmwOH$1B<{($GeZl$Wrbu#wu!cEUD#n7o8OfZpfdE}dd@ zE}g^Lq<4h6LYSh%q2u_`4up{3Q2;m(YSh-2;fc<&Wpw(jYs4a^Z**=W1+yl-&$XR8 zo{xoZBJ5-hoBcak!?{Ea+Ch}5w}(1e{yvsJNSMk>Vyxs4;T(y7S=l<&q%Ut=-^dbB zp;8myn~>_1<%>lz;b%6OU2*4?w2UzGO5Uuo)mF33o|opTuM8^g_Ttd^NLF^$gu+Ni zb!Og}xr-EMer0A^n=3EuESRXSZLUvp8j~%~x&<>r#W@W#Dl0E(%q^LD!{p2F?y4BR z500(y#H#G+?L`ftbQ}v*5Zxq{D7ZRV{1z$>XyIjn4)hTk1O&usrh*bk>V_n_6iSE0 z8wN5h`Bx7c8|iy)GQwO>pJwbft}yl*Hyd{v_Zklvlh(wJ8s9R$V}#6lm%KSdc!lsh zAQpcPxYFx5jv}GavXQVZ3NhCoc2rI=XsL8BaLJb*> z!TO*QZM~s#cGdDR!yhY))Q+vgf7teb;@UD1wo?oE;efhM19=c;gu z5ForrSWRdnoTBy}AP6aPXcc=LQmT8PE(qy1cX~Kfls+Nw3Zzd(TuXr4n`|>7!8R9p zzc1(qby-qBsEcTMbs(ncbywD@YowZRTL9Bys3T8mPWeMwSq$|6%+wO+qCRS57t1DX z8ztLrf{)tH9>Puu6jV>xd(HhEqbX$u7%R0cLtXQ@p4}wGWJIR#{sb`BP%1f zML-Tmne{GVDO6c)X*J*&LGJmTMM@v6ISW-o8>~fodHwo&%4Ht~@y?{ZlpN5TrXqI-`${jRc9tE!AXH+zefxZed{AGv`FHtaezd{MJ{=;kPi@xiIlFV%C*%L_ zlin3vexWeC#x$ih^u;!c&gxu*Q6p`u}8Ztc|K;;FSclbg%xGAmm`*yQx@t7vfs%l!VbKt{*c zQo{c9!YX@Kf!iI*OjG_;G1uqsX@G8(nOQL|)NpmCXLd!Psnq8!X?V>!qrzL9n~|Oq z_EuiY5zN2xQvrzCd~|564ahH$8{_Dx4!#ro%1)FP$VU1tidrIz?DbP@QrO zkP8cm*9OiAQ3>cTOE8BIi@h(g^2-H=d>&s=$m(f6$z*8}J(yNahw}%VR*?pWn^c|G zXtp#T+0X|T!9tUU^(xLHKC^BNtXLVLM?XNveZv(#>`2MDBUiqD?1j zOru?X7(AgbFIr!OT-M>umwExL?}o<2P6+oerK#?0sG}iB zQ*=NtgnbGxn|+~uwS9wqtKEdDr^yN@BqEHGU>(`wt}Pj4#A$`)V}fc%E9L_eo|F+s z+K3PG?i3^r1Uk3)6Jb-%FJCA=#7ub$;E{7CTyx4c`sVVzzWm|n7hXCw?#)Cm93n?- zq2zAk>UIi?-T&RG8FyuV*{Mmr#tB-DAXZ90>3<(m5F_DV<-g1Sfd4T+I=jk`cE1l0 z(d@{-xv;V70)NoPvzU&{(Omy{M9HmN6qQh9%Ln5O5T5W_+WiBiY z_#pL{lsDjT)Slzg@Lj^605m_$LzolkXfzM?3ow;prVn=VrrMtpNdhwdw0e9(Tf z>eHDop(kx4A1WHWxhXi$e}(3z*We_V%hhD(K&p%>3PiXa0T1*0Sajg<{oh_?@ByO< z`ylVAHs?XaA#8}7?{Fei!}7r@5LaoWU6a@@`bsZ!G%%!P1*DC$h4OPJp~yi^K#vt2 zgsh;pQHkk-;Zr@NokZExsSiUY>O0f+Qa;LU+=saA$w(qPc=T<~T?sWfzTh3pP;rSx1J z1^ISXv3yf8D z5TE!V_KmT**R&J;QqAV&0s&efcR+!SdU=SEnV2L@I|bLCQ>jJhHWI4D4b zjfzP&d=zV|oKv~5(r^>5;qQZgu)hX3p;{seM_bsW+=RK;i;Ydx%>7iTcM=W|J|%1+ zJPFWunD)>q_z5Jh?l+Y%y@gWvDB&>Gr)I)lfZmkc0e^aIPxAic!`KvyZ*Gwo@Y2Uz zd}%jp7OcS9y>_JNrquq<)G@BDO}-9Bf-$B+`v)P3VzL=zqM!GFN?o#hxjmhmy%l+1mVXVeBrm^=J2{ZfrclKWP zxsQF89X|onb+qI9Io~JjKYN|%@Im&g5fIy+y*qnfHi{Z#)_2)eJ?ABcc}TT-c|LM` z3G3KZI`9gy98xVDjb#GUjAp>YDpdmd?HLczXprgw6^MG}*$FdhuAWg*Hsy-4()PNX zmhhOIssh)NRd#n_bylFQHc;3yGu&KbNS`&WGP}7jw%%YxPhfVn>M7miJ)jQdb@G_q^fMJYc-y4o3 zs5}HYJAS6{c^8ll0QMUeDk9u&aua+XPE>)fkOSAl6%hQf=L|0!-sG;e2UprU0#a+@ zuFxOy@=t(%qv@kqgK?^Ho)M3ltTMO`J_tDW^k&O63r4gHoQ|jX* zF>{h9sVE8dYI6JmdgNl(WV+*!c@S4|nSGIC$^u>0LOli!tz?A-N0Skcfpre+rgb28 z)cTh79jgH%SqqT9GDupJte4TDT4$YXRo7^LLsraWbz2J&VjK@|8bVgBv(_03hb)a@ zi+w2RgN`W&TmITLN4@Ryjj`B!fB6e{0O{G}w_`G(d6z0vw6qLES(|lX+Um3oX;&UDNh2q;P}KMlh#Ip=Xvt4-Pqm18Y{7G<9Lp((w(Ix-g-x zUo;-+7>{&}hvrh!;{r_DuT~cqER0EiUflDOA6LkwAKS|r+y{uoj0cU!ID205D*fB~ zuA~@@I(?TtM*Wh3rP>ZKioOLWH;}QT7#a5gg!TlBxlmTzr*I5K#C99^84saUeQ(kM z8i;->?RyCfp_RpHJE)dFjB=duT??~?aS!HD$my1GMU@EDN2;L_iK_mF*;ScU<(Xvx z$Likblxs>Gf(})+2Wkp$SU0EDsAd$l!Y$`6Z48#ra#(|<)tR#ws&$9#nT2k5L6&29 z_-~VHvnxXxm_AVg+v!d97EyxpGR_?68?9_f9s!Zdj6Lp8#umc{nodk>*4H!T7^2vdbT=ddQ0w4`~nZ^$38vgN()r zlUFv<*L@72hf^DAM(?IJ^bW`FW%}k~gkywh7uNeLkfJerBe_t366PLLMPPNt3! zo(Je1fvy1N_MyTjU|Yq5fb?QZ6FK!l#o9L1cv0<#S)B|Z>R_Gw3EhOFgl#PSAfcUA z?9SVlhvEjAo*I~k>a=|U+@Br1L4jOPt5* z(H3wEqLmQfWgCDhLK>J7yqWQpOqp;n$yo;vx<{E0feJE$SZ*i9+6|qCWt6hp!ASZc z!=M3!b%;FJZtaA;f+Ga`O8cybtdK0{Ndnv!7uq%!vyTuX4=0Mz8EJ&s{Zc_%2Swlx z!hV9>_ojlO9RZAT9(JKa&U7wWn3skJ=X8(HEoi-V`n?m|u3M~huTWQ&UwX^5j+^F| zs`bO_-MzPMAs3AW9KarrO{~_EZ5Y#6u}W*Rx!VyTsL9f^2CoC$W=R+;h--5^&x}|V zZrNSr$xe(Ieb@&0u#G~#57Q2 za<3Z;B>W?*amMvpO|_zR42aPJgvZ$XlZ2lGq%$+#I+Mx(Qi@&0XEp-5RW(H89Lkywxko+%VbYn!_ zTvIJV8lW&)@*te)jj&3;O1d;Y5EH_ ztNa5ksfL9{y(Uw9Uo(=M1Ehrk!s7t83vpK5enhh0hjGgsjjFwfiRFF)DG{y6jJEB&L{4|g%L`Z zVKdTE2X>;^N)P>5$yw;F8I#{V20>Vc6k~?hmr_%?o?ZO@xJw%ll59vdrkHG2%hXQg zT5@IS$Y;tRv;c>4M6+=(0taTnkc2!!8-be-BosS3Y#Px2%k~;#c(uipbUI-Np_lMB z;p>DS5-#l4(%WVo&`(&;bH|e6SKn;i$+VQrFH;1Wp-XVJ`5mCm`mp&)^YiATW*n+m zVeX~NCE02MqiTK*!ft?mEcpzKBNmOA)-7C=9s$IDl`@p_9yZ6d7nt=VKwpv4i*eUd zO%!eV@zitFD2{S{-Gfpy9e}T(sf&Vs>|hDIoLWfkgs{dYJCFQnF%YcwGC+UB z^fv6;DEwVG1IT#$(Xe4H*(?wF$sj8^*~i$O)HLe2`hnCVa>sxTi#L)+^}ggo=%#+i zHpo#w#7>d&#}(41R4Fw=x1lG%j`~9Jhin3r^R4N50zeSRg9k8%=bRKag2#_)(+M(l9&>N|*?8*azBA5-pmUdvlM0(X^A~HpCB^pb9>QiTR50 zNh}J~@F)jZIhLe}ms*wb;rrB8mJI9XAJD%Bw=PzI)glFZ`X=fh8_*5v5ESr`_iG`X zwRr&jaZ{9Tfeq}|LV}vYxyN|Qh;x`{-PE~z0rW?}D+aU<#2a^!S#V*BtcqMntr0E4 zMelmTSdtyAzk9JD(rkjX05O@R>k(19Pm;(^CcjS${MVeO+X#gKNKdM(OWELU1R0d{ zDN`S_VJiUoPQzX*G6y+~=K%T+>mE`(T^xcjpgr2_gqI0CPo;GeGU>sa!PIqx&j>Bd zyNYLoO%}HW@m{86cQPzEgcz=YwdRC8OSgo=>7kOwhreGxu`lb+3F@lhSCyL2w<^c} z`N?nvMxWnFJ;>1)f6=UrR$hQlJ)n#{*uq*XcVAZ_MUj<)>A^p#J!vOCM8WCBAT~28TTnZ~Bno3F>3>3`-5DuYm@%jsc4O(!j7&gPcO6 zoI(VgJYsvw_JR$&V!yHt+1^7!@3yV5;k{<4Qyla&Y|%TI1QFY3ppFMlU&%plAyg9f zQ1;wLI10duq@+u#3@Pa~lNIxHOXKjLF+MfQtL8Mz=T9l`411^{=RiXlM67~Sgq5Y5 z-9#QB@#PWjBFF$i>?=Sd($T~n25l=r5MJbs#{p5hqd$wX@=L~QG6Y9*Vt^8ROZ^_` zbIFeW0DZ%X*2S)!We>VYG{*_^$m;6=`e4dg3bC~?l=aSxWsDRVq|y8Y&625vZ3KA^ z;bppw_YtPi?In%Oy)^AQsAcUZ93f222OJ{o3IVnQ^uh319FG+7*34rY1_^7~5NVNh zrYvJa&N8EmE#OYBz9OTSO*+90*#=oXYu5MY9_EJAVb*hiu!EJI4RfdI3xkIddttbY z81aeyr6M|$Jj1n@jSU1_F0Uz{*%~Msf63NJb5>oMKf5fFl~-4plam~|VqHha+Dj{n zE?IxsmAB6f-qGY8bIr`@3!40jui@(HQ&w_jsihx=Y)ivl(r558U}mM+Bdr^01xaH^ zIxO<2x-FpV;)2(LUWZi7Cr1#iy=>FUe3;;ZXJ*3=sLrj!A};gR;p< zmX3nmoMieM^zFvo)EYe;V!4OT&>qbTW*d#B(>8NNH$zVr($0|ujM_L~E<)dtv`0D_ z_`Z)EyN4k6qx)C{C!87jDokVkk75G})I4pxm*B+7t`OhR~( zmyZK*Je`t8TgzRkqB40-uPD;*#W)w?F!ZQibx}NH5qPKwV@zv<;fd+kKI+Bme8D?F z3=ZjzU;rEA{h4u=YKKf49b^L_2?qdr%ze;} zcP?immk>OJV*owuX~f2DTe>e)9BK+N7-)HDeP~lC33>j4l7i-fX$9Q{D++oGHWwse zN{aE~aY9!m-~{1V4a8t)&9a(xHIQOwaV4}4w)mLw44NA2Gm<=Ti%LaYy&ckr<$9$e*Pm>1)oMVf-JuA4?yc~q^)y?)56c;oVbQE+I zEH7AJu!+rf9yc z3jFounc3BKzT7&cvS+@UTWa!TdQED$dQwS7(bT43*~D3)ve^@Ysyg-?E!Rvf_BYR; zc=^f}Z|)zrJnjmXs){-}xu8C5Dx0-t=G9;82o%g-Oa5*Ge-D7a?IKgj(TsLbq(D4R zTz!WQ4=GI@zD)w>ww3ZakEy@~@r_iEW|dz$&>A_iy9o0DG(WJEVeuouhT#LD0RkaU z=Lc*c*aGf^P`F6@NCUy9Q7EJ;RQvG34$Z1a@sP&oO6C%w?L=Ppz zHbRW>U24Wp5TtzAPEBMpeQ}H)6PjD)Z30V3NQeCt1$zk(6Z-Hx1OUu4#6LSjhJ*}| zlh?HW#zh&yNY2(-TYB5udndIxa;oyxRoBePs;|tq48Nl|M}>e7AsHBMd^z`Hj9dQa_shUEC_@Wh!W z&aI4*`|3*fuu}hpN{_O>cL;BwQhj5=wgMC-YxJQ;eR*U(>p6~kv{)@*H^Gyr3Lc5L zOG2_Wj7kzph_N8}p23BMIh^2WkMeA}Nl~2>sw&6X^IEDZTMF#H+F6ag(@RVS@2tk` zNWLpIx3QvnLUDQy;(}_gR0~_wR6}-tL!l>-o9A>EmPT>{6KVr+pEx9E#eY*2TXDA0IcvRsog;x6?@(wH>99&;T+#rEY24; zxUm}3g=R=N1Hb}#N_2mFzq-2h^HdEi{9E2>%6~EV<(372yzPJbJK zOFPcLYHei0C_%c(1EZ-m3@y6g7QM(nkRZ_h6fi%WDH+n5I7^-mL!;J8pnd3TJsTmc z^|juOUd)-KEI+1J@6Fmwhf;6$=4@(dXD+;TCXMg&)n3nL%6T6ML+|x&=KDUrx;|?Y zUtOQQ39mvD&|#B~4LdK+MWolp9SRWIHM13~>ME$t=APT6tfuLe71Qf;)K#j{ZX52a zYc9-CRY!PCgR*V-x^b5`WoI|cqVb4tfq$m_0W)P*R6m?HKCP9rb2n$F4Zs~axeq6| z<+#jgK0v>MG2BB&KTb%(cXepZ!B4t^;<^byn?sW-Q<%nsg{LC$2)>y!jcnKi;I(<+ zD-6IyAUrLam)MkB0Q&3dpSaa0Z9Xbxa+9!&f+D^ntsgO+;0pVt6H`Ld`Q{ty+juiB zYo+Cu&D@#lRm}a2=?Zlm($Xw5g#6PU-#+EH0YtY4l|Ov`O^g!0v#y*2eWfU$__1Y& zQR0-#Sbq%Aj>L#asfXZy_`iS#i7=9oMz;^K$4J77*A2&z?zfcCdn7$YgUG;8@SGYV z?y+LTc!KFTj>qT?=BZ{Fj~;Uo{3&D>e0!k;D}%lwsh6r_C)0}+cel?+Lbnp;t|3z0Pm&@=+jcVVH4;FQjXx~E2be~hoe8EgRfnI!P0Iee1pUG zL-kn>;V+nBh#TuTjfm0_dV_g_RW5x8)Cz>Y^EUW)@YwI6=WTk68=hX z5^4#H2?ow*h%lL#w-8*syqBrB0FpLfwPR}!i|~X=*Ls#Tk6oN~-3?%};rYtC;XY;e z=ig*#66l3qlQ+OsHnq+VkCQL%RD)-2jkbZ~4`+xxI=_r+LNP$!Wr)%7a4R!j2Sjn= z*_w!thCl6h#&@X)A0>M=0(6hD2pQzhUJh6>fWwScxR)$ZqBJv>i=SZ9mIF8u;HE~5 zQH)=IIitdcM;;~$2%0)iIy#(moOA>d?InpGwY)_VEkas*dz3^^Q=cgYo$7vb30-_m z$Y`@}G;cHSGRNTh(_ZEiZvf!N1wF$2;^cpdF^tpLMOO6%RtIOGFD7#`7x~Scv3Cf! z5uOL=-KG^LxD;gc1*Hd0SxX08%yy7IwgwXSTEbEevplLJ3Lgc5?4Z63?iKLHAyfT6G@gu^yo<@TwM_Rrq3apse| zXM7zZ>DA$1{Qd9vz--N*L1)>ZvlEa@N#f~eO{OFx4l7|A;rruQ-p(E#0O;NLSSZXZ z3T^u5H8p9}GlwD38G?`I`bk;S2uBEO0Tkh1Ar=x-hA*jc0=^K)hd7$c$co2F#>Y{F z(B9zaKBPWDIU!~5QalhBw1`E?p0jhy^!}M(q1Tkk;l7VQ=9)yW*Q-+6=3_4otGR(? zt^xtY#j3WE9J9=@jxz@CS)(@_rom06TMd4CtGc-0Fj%0?8V?3JZ2(#FC>%wTWq|R8 zQa)Rzz2FysORy4Ky5u~=VJm+uJTK9{RTXrY@n-K>!jS-N4Z0u z(X6~&hg9rfGQH=J=DTo38cxD3Y%3@{E{PoyB{*KWd-xTl$dYauUaX86eob9fJuJ+V zs}=qal*HFZb}Rp(J_@a@l0zV)I>Dp;Mn<3^euFzR(iB3Bp*(p8$4T5j%&iO5@O35k z4=0EJTYa?U^E;ba;uq)HujG!8{M5x)9A%I7Dm=^{_ZnU}%pO~7;Bj{J=c426O1vTR z%qtpFg*auUQF(6c@WHXEIqHw7TH^nXv0GUqdjj&qX@3ehgnYv$LtiKcsaCK-=#kuB zV$>vp;;=i*4kO|Q!6Ck0X7OV`_EddjrcV>h z#6=b%NI};=TvuP(1ZMLUOFPL62 z{m%5R$<%|ziCa@WJ3W2%i*8g_DPqL`%roduXe6q1I``O~RbGcDt^&kpqOFcEC$7=SBEm5T&I zBDExZ0|FeQqjF9!KPUjk_T#&b2p6O-pNky$YH_TO{Bj86sl7z;CeIMXn8Mji0C#Vi zQ>Sq!rxa=J2)EFlBs@ZRfiPHrhmIAVDa1qPiji@ygaXdZLZ2hZ;$<)r10ggYOKt+_ z#i>m!nYCy!6s2!>?B>S>Bv2UvSkI@8J0XqID_J~L4dP?4uJG8BKI0=<+qG1 z_}FJr{3M68^coxL=Z{-@`J&0w<`*;L)t&g3b_I5R(tMclJbI;D z5o@o%?;AmgqHg!)`5VmwC+c%mu7; zMvR#q(UO7q^h=v75#uZcYJwJ=a2GfewBW^smrfe9RemN@R_SrdCK3k{HBhFGqg5kBi-X?IAv=&*TgO-F{ZfGovO)d9ubA*Ib*xVj-Nj+w$HQ8b> zYO9{Vupl>ga_N|`k20-^^QpWhLQ1vf&cx9E!yQIw0F{@EWTwqdOSwVO)dz za=V}LBA7UQlFEfI*1_YX54cX@$R%0#1eHpxj8HHz4|=D489k=^?1%WnPhQ~XxbqwX zq}xMy>MTHL$N82#7}&*ES8xjF!DXn&><96pwv6e~w?~hvA7eDwS;85X!@}TWX`q)S z&T2AN)_YOR$B|kScJ4Fs$L7=*`+TKiLQ`r=CoitPY+Qc+xGQQJx|KV|8Z0Rp_H188 zYZ%8Xvzn?q3femBYP(ts@YQadiGW}3MVuta!kMU2&FsSb%%Lf`mF+)8co6_Tk^6jD zj#kkhmq*|@X>;JRqi-!2%!IEM6_3tFVlkJpR5~ycQ}czY0x6r=AJ>FmZi%PZ>1pc^ zVlLoKOPq!x1@8dpz3H3jJoCx@3BqjzAKhA;2=wm9{TQ3PJLt#grB7pBRv-NsgL!8W zVu!O(|5BXZo3WW&QF3QNo`UK_F)?~lws}D_(wDN4ZnAasio}bFZxK52@tC4|e5&({ zNIVZ&C?ONEF(rd`%*xG|BrB#4qi1HgXi{x%e&gg&)s&aYCbrr0bA4u;In`y)$VXbf`>Kn!b%vuun4Y#oYY%=vneVtF)0UxPExDe zXadOksGIBjx)?GB$&;t0+@$~=-KQL6#^A*jY-R<0tia8(B{3Xk1-*n507ZU7#B2#N zwgw+?OAv&mw(i1#X+y!}+B`)WenHJCZ^&wo6pvY2bJ>_cuzBXy|5W%nh{#Okjm-K> zo08I#s^A5!4NuK$>24l#<+#9q87(G%MbI?~^0XB~^-t7mukd&SwqVKDgyTmk7cQg#?vkeO{K%6xmjQ7Q-))zsEBoG86 zjrt(@?N0r$2#;ZzaXMHe9b=2o&7UkNvZJV-qaaQdF^|9884x=~6o{!Xw=>x53csqbjr z(~8lUB+Jz<>72mg$2t0EC$!8NSf^$r*hhZ&Fmcg@J5Bry-wa2zU`T5%AbS#?p^9cN zP;QcI)eOuoX2mt5fJNg-O%|?l3TDW5%b#eIBU*`bLU7`1rz%kZpr^kFc3x{`4%*<;n%Lgf1Fc6|A?J3q;_*rGQkxw8mrD(1bnj5#VcP>&hrYwUhl|%iY}3cQ z!EmrK2!nNB@DR@yd-L)BK7bysYQ$kIt*9CqQwfcPPJr&M591)Twyz%P!TPgIH#VTK z;xSEQI>w+C9b@rm389;SNISR*Cm)%N%6%Qh9e93!2lAVy0rnGOGXaO@0?q=2z61Y* z5Inriv?age0U8MnY<8HsS~Z;RZA!}dyid4XOY|7cNM(D1vXjqxu?$vyE5x$*Ei0t z^3N!&3lwBW#swyAZ1#rhbH>e4OUg~jrlJ<*ZhL{tRhWgM_?zuW#dIm2P-&pK%x}wc zr#lVld8NLr+ORi0H|%MMILph*+!G7)$Cmqt+X6+dtn{Sv!mL~capnsCpEg42hyIa+ zINuEJp9E;`KF+O^7m=b2%7H9{b6KAIn8RZrj}u1E! z#d4^;TT^%@foJTo@iG9-rQZwo$j;%X7@_p($CJ+?jtifxmgfkM;gCw3)teShYfNkB zft9ngDco2j@B~hL9JC+9XB}fX3@rTt=4Rh+w)-!Fs10uEBR0_Y~i@mGGm3%b}vC!*JAAHcS4vkJSz z9RqUjb3_SW2o`S^~Y6kZT$a`AwP5|x0JLtE2>)!fQd%Wu-pxM6Z$z#c!oJ+ zB(O>Xv0w$H@Q`0EJCrtW!(pvpqIi~X-BFp}J|$4+dn!3$NCp}rT5>75^DS5GYJs*Au4l;QUH zE5I>*~U##zV@L#*ApLXaO_0vNSy@7I+P#8V}Kd? z8$0QE-!a0k|H)wBe+dD8*7i#}%4G=fWcr)eQ}x{A^(uxQCOw}V5#S!Zv^LyM3z(;d01pPillS_umE@R3AXQlpJ^2?0OJk8lg zd58htOyYYOF#09d*i$Jlq`bmV;M?w)>O&!5PLKK!e`J~@s) zB+!v_kZKarGfF*a0xap^v;fpGl=IR!QzW!QZ?p)sU3429t3QcoR0g6!7F8?_0>KYs zrKmnjlAg2-oP|uHh8$UHM>b>G-b#o(XY%F{kU46>1PBOy$`rjZfvFm6K*V7+gHV(q zu1Vntc!KlHJ>J8S6bV7M;Yhv5{4g!6Pn&VfC{G;k z#<4QQIi4M1wu&opn{^MBd!HvU>H<(bwm3tbAI7mxS;D3tBk&MB&-PcE*Q3ojnZ-nJ zU2OkBf*8Tw1cL;R6Fg7Q1EB7#-X?korOmPi(qO^HR0j=K65 zqctDNHp`2QHd~c7=&oMu3Hn>4$(BGUQQr_>+%f%E(vncjW$=WXTrkHh=uPx?P9rfe zs@@?36jp*y_bZVznc0Fhp9*47I{#q_z;P1SxS21}*9s#J@5_%->CTzrvW5r~$;7W? zR;*&6W-tL>Coc#l0NQVSt#Gy+#xxX1FvyIDcEF`S!lXX#X8!zC?R% zEy`mtO+S5Iq<=$}*j#?~KqNM>y0i1%f%va7i(CEv)`d-}MQuS}%OcFfyqjyFZTvS> zl#5F(N+tDcH)b?wcKW-~!HpU;7ls-(^f2-JI)X6*dU~)(&lY6`0JSO}x^<8#)@DTT zx8)fT*tUEkgnDuxSg4K8cMk6H)kxD7KmQa4hK^Ql1_k z$90=|565-3#(6ifgO6Yv0Mg9MLh84*alfMW?h`5qX2k6ETN^l;dB-tO!#h zrbyA%i0qmMvxsO%4i9jL45TT!`un*Gwgag9Di47RP%l(oBQqfQsC{Idc0d?WFW9e9 zJQp^A?T)>qa)&_Wl$CVe-vFR1$5gSw;`YkDl?RzTUXymz?NxgzEN`>#K`ZJx`xQ3! zG#i*POsHF3yQ%4BV-f@7<|sdXUNJ9X1F`6Zv~|gd=eA68u(Lj#8*REfW%_ckHHzT! zY;EttCDQK2A3pVVq9t0mH4$mkI0uYYJXfd4qsX!jLVoi^ zA6zDT?(16G7OAT7Ao*)wCO9fhu5Rn>7__@>=1}LN*qi+7Ug+eH;8IeUh0VH+6D-x;sg^gahnYr>3Cqoa^z5Tt3=&3*AzAJ(e8`sV9m_8Hk zu*$J!EV$9;HO(8FF-2>dH4*1L`PC!^npFfMUpNz0YiZ7zV6%ud1P7qup_$q-P+9xGX;D_1i z=t=oTM)cMipUq^fL=L=Q%w;v$JoRy}zq!%F)j4$YJ?VS$3h1A&Dm6Z?P9STV&UDyn zx@%z1mG{Z2n_dLzk^2^xPOMwBE%0Am60^i>^d(hPdT;qb{g1P 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 OG|;OYVSulL^Zx)kukT&} literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_static/fonts/Lato-Bold.ttf b/release/0.10.0/doc_cn/_static/fonts/Lato-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..74343694e2b2114272f38b1124813b972cb592e5 GIT binary patch literal 121788 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_static/fonts/Lato-Regular.ttf b/release/0.10.0/doc_cn/_static/fonts/Lato-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..04ea8efb1367727b081dea87e63818be0a4d02f0 GIT binary patch literal 120196 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�r(aJ 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 d3)lz{Xfc9M412p literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_static/fonts/RobotoSlab-Bold.ttf b/release/0.10.0/doc_cn/_static/fonts/RobotoSlab-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..df5d1df2730433013f41bf2698cbe249b075aa02 GIT binary patch literal 170616 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_static/fonts/fontawesome-webfont.eot b/release/0.10.0/doc_cn/_static/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..84677bc0c5f37f1fac9d87548c4554b5c91717cf GIT binary patch literal 56006 zcmZ^JRZtvU(B%Mw>)`J0?yiFdcX#)ofgppsySuwfaCe75aCZqo0@-i3_TjJE+U~k_ z`kw0BbszenyXuT>0RVfO008uV4g~y9g90Q%0siBZRR1UYzvKVt|6|xA)II+<{2zb| zkOjB^oB^Hy34k}i3gGeI&FMb`0MG#H|Dg@wE5H$825|q6p$2IG$GHEOWA}gFkOQ~@ ztN_mc4m*JSKV%1R0J#3kqy7KXB>#UZ0sxX4a{tedVW0vB0Gk_t&22!FDfaAn?EDf) zuS6P2`B;_|;FDEYD%zOyEAJN`24F0K!GIW>W3mmrcwHXFBEcZLx4N0j@i5D}%!Z`F z*R4fBcS&o8lq+P0Ma9Q~X^a)#=dGUBMP8{2-<{;1LGs%LbADys{5e8>CxJIPb{)eJ zr^9*JM9X!bqQ7zyIQ5z|YEF`l6gj?PyUxt#_f(^Wb#=LtL3sD{W7DXRVf|A_mgtop zEoo94oH0*D{#t{3Z(q*2GV4gH_Lz8EuSv^T&_ZS(*Cw#BZ<7CH@Q+d{9W5?#8Fqqr zlH5!J!`E5%{RaE0`ZML(3V?>a4I^h3$00LAZkA(yQ^;QV-mu2+ry&tN$da0oG%;~8 z)+oY6(3A%W%Q=i*)5==c^bkH% ze15WD0uvEKDI|48q(Z7lWa`YSLimQx`k}GQ0}Mk)V1;PMM(MK?MgH?NURT@^O(&MZ zoFI!|J&eDc(f-_{pLNBN z0}t%Y+#y0|i|g5mqr=+;C216Shp|^K#NV3No{HOyLgsvlPJ*i#;Nx?exEf98dwrwqgz1K+ZMP9|!x9&I z(NEamNL>c;32l85*?GMlLpqIO6&oK6q9tNYA4uBoaO=h zUGy-6HuFwAb_wEM)EyP&Kh#h;eYylr$UR|mdTK3^$p~KEg=TxncA8v0=l4>Yo7MGr zR86fj{4%o2oQye;#{Fp~>MHs5CE)~bK86mjI_l48@x zY&OcOBcD~Ztwi{vU+(*c-zk;=4MV(X`(_REIQ_6TC}#_O^meM;!9({j=p+rFh}QI4 z;TBGMuuPacZl#BdHc?83q*HBcwM#thQiX#(YMF;Zx4%n927(d}L-!VK4dvuYL?Hql zthiQ)x1r^Wp^61Q)Q{=zOL&$bC-@!r&wZ}0U3{_cIvtda;=H=F7HJuVz@`AWBI@{v(XjLqLsw4I7kUTe_&GhyzB z9+TwL8$rlF@gX!2xy=15!H@Jin9+~o8O~tY&l@#MRup+xQy^OBTS_k{2c*e&mlJ(; zm*;qlfdop4QDu{?cyHas+ieKw6`O%nDO-k%A<1K6iZ@`u0ecElVFL#j|Gv-@(KlfP zH8_V)bOj@Y@TYj?*==q_-~7vljXA$dNFhd&{jXq6yHL$9-kdAypXn(k5edW#0P0OE!H)Ip`V({i_J8)@udU^TnvSX~>ggYM?=`Ru* z^y-N@)R-V7`@uD?yyp>htL6x5#|flj%-8Tzt)r+VSDIk2Y-vQIbZ&_**pN_)c=fe( zyKr811aYY&XyjAK;;H~9dbONwou{+#Eq1GZp>tF(1<@lAnQ;iTF3D6-zKDDxo;pF8 zhK?~J{$E$J0_p}Zvp~P!SVdwV)f!pyKJX9L^jnr0FLN4}jXgIa02fypBX$eHKg`9O_mA>UIF^#d;i;X0omK8(=^ znh#cmhf!WiH3QGtS^m^y&BiR>c->ihz(u8i1Z)Dw#L*UA50Tc1Ix$72$00dkdg_pQ z7s!yhP$EB=&wLceJix6^gO2 zs{Du?EW)VYj^KxzjeCeI5~2}=_YO)b9`7f7d)wKk1n|>`9i#Ey{nZ0h9pr8)2x(|` z%Y{bKD`g?WL`s2>7#dW;6%y%~{8XXke;N8UBRq;~n8X&`uoiX+c>A#Ps4jx zv>m3|;>UUND|*zAy_4Z7dK9wl4D}ShoY>|9ds<@#(HRE4iJ7ldV_YOuk;}sG@_^yt z?e|dZu*lTME}%g!{^>S}J1r7|RD$!^J*n7idjfsst=uL6HUw(ZC?(mz z&8TH#%?LTSP?^(_zbNRP2&?^4D96FWa>By@Rivn2ultAy9UVV*R4WQR9%S+>%j@_p z)M=O&$41IZy?mX`Q1y$RRwsl3F}J)9^7_ z4U2wA5Q7wkT!Emf;(kCpFY?LRza(|-ci-hdH*uyUr2R+6^;D8PH9>N}hz7xV5Fo+@ zg5;gaS-+IRqOtU=&f#Li^}zPhcnGu%UvwH?3SWg^0~LmJW)ln_togixj-6_8jVRRV zi^b?K$$Cp+MNz2vr%j>T#-SpHE`XNQH`Xl>TLPh+{T%H}>&k(?y)JBnr@tqonB8ds zG`rPmSGc#)i^mMBt{@^Ha4}HAB5-a7Q&^{eD=so3e@8(-lkvT6kcL`=t76!5Ytfft z$`bT3r9ypXM?=O1$%3JX*O4a|g%{aZsuR8mb6Inbp%;tX;N~h8th8lu!rYQD#3Y&u zKoU45!m_S7V+|iV&~M@ug_dWLx`$>Dp&w0rcxwsm%qX~Y3nv;N882Y7 zj~P3h8Ea8*b+(Iq4|rV{rL$>VFvGx6PKiv1`Z>cw>>8W!N3Z=p+*l0<5#N81!?DnZ zJa2h}&0ksrZ{>=eq36N%tP#ncN@Gt6k+5FP`aUusW&Upry9Cu;H*3*;$05)*8un#z zAgR}04m&(?;!t1tj?!Ht{oL`fOdi4BM3x7)wxGyRCaA0?vXXc`wz#iT*bg5_Ma@wc zNDU!D0up&)=~qD>Vb5i9u8Ox zI4PaPyowm4gCbOl%}<}GwRv>YFWeeCzms8pgOK@R*i?g%shHtth@Unn34#S{<5GKP zlJ=^4#S@C&Megee*@@G=*M~=M2`*`x*#o*n6h%hk)_Kn8Vkwq9ZCI!y5K6Z3IbU0G zv5f&=?#OeVo5kRGodeeOEtbb*R?a#zeJ+pZRt10SVU{rdoOy6B+p=H6_1!ekep2{0 ztXx}hu?h%lR8u=;_qLZx@k=TH2V*Q9C;xPVs7+q?2&HT5tt!RMJ08Q&po~33Sz@){ z13rhnqr*8~{`PZBme-U0DXqSdMzked4&{i^-drlkqHwhLon~_XMBgkohXjLjdF&)A zmS2*}U)p7WFY>f)+Bi?{9+4k{Rw=Wp-noleScq=iATjqvvpZpeKWU9)XS6X{h`}~I zf9#J6;K-31j9Kxsun_H5+g5p2+mo!`*wMoy0h)XyqztQ5^>(7*m`5@PIk8E9>K<$kPb?zP7-@*wnPw0rsRnZjEw%d6yU+)Z(iR{fjl+8>OY7wLT?UNh zoU1tQW(MVjnj3gT5bBDE|5vRDv)--Fu2~%~{cFAP8 z-oNO^v}tkTAzIFK zBG$JM+OFa4pL%#u>d#u4kzdg1X%y*Ti+&J#j>5W`p!60WU}zFW29!p8U`N7b{|1`! zmIZr~OIP~2`a$%43lN(n#v>;WV?BH(@K%8ndyEtw0^6hTU91W*gbXq7N-89c%q2sE zi4$YEum(N7W6-a(Q*rPWeMCc@Npz#^Xi$+tj?R(uvX$tZ5&i+QDkC8VDYzm0kZ9^8 z8`KD5aZIHot4KGJM|N9vS4-u`h|!8Y_vSn5d{PB@qlZ<7Xo|Dga_Gc2KGkAnjAS^g zYlE3a!4dS4Fm8F&$#|mdHk�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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/_static/fonts/fontawesome-webfont.ttf b/release/0.10.0/doc_cn/_static/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..96a3639cdde5e8ab459c6380e3b9524ee81641dc GIT binary patch literal 112160 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 zÄXa(OuVc#WCZ;~FHG?TQj@WhocSr0db5Qw1U)oLzzS$XI72bG_luVebFjW)Zk z^NpQ7-#a*a_QCJG%VIvDa^HFRlIsr`^YjM|f^m5dZhsX| zO&)(R$GUOZ>P-O1g%S;RzQ4-9B3!F*7C#o`oph!E0|63!H;H#z}z7LzM0eCzaEQK~cCy7!c(9Ce8krwjgq&kfQEQFd6e{=g|P z%jjnJ%+*i@YY^f`$tMPjWGrh*&EApq8f12~AH{GvvYF+XiWS669QTKPx>_5ot7kFZy@5(= zFre&{XSB{ZSlTtCb*q*CB)q_PJJkF7l#{;jym$5Az5vqUb0!QHtbk$rvHH_<&K&g!S*SM^zXKivBJnud6jK45Ci(kxc%m|3DQk;n_S zp;pzzl4!}Dx721w%a1taiy7y~0dh*K203;y58`pL1Op^Db<3-_z-~8l)y#0a78dSpI+3_yr{+u1Tbl`i z2L<8v6@svWm{PKLfQ~@s&_inwq?{TuxHIasFgS=|$~v+*Wkv!#h;#duTR23G$n8Mz zKtP~RI!StP0XkX?-*Q-v(A!yq6!4zWPaYes1z=3kJ-sZ%@25@reB3`jjXs78gKEkk z^OMDf^`IL>Lgg#LPo<#gD23LXWJ>C~82UgJBYm0Z4>z}9`szqdg5Zp0R2V`vA=Lnn zk)~%kN)YYgwTB&v4ua6{3b;1bQ$1=|PV1ex>B@swZkpI(9A!*d-m#>x??|n!Y-yFM z^YSV!W2@X<%evfEV=a|=dDT*DOXb?d*FX9FC$C>Dq7ht{s#?4)G`)Vx?pc+UvvyBe zJBdT5X6kR3XzWCwg5L zvsw8e(orUPI?8UOmQ=wmPxMl;M8 zMdWf+CQfb<^a6ucFSYGxxQdNXsdL2%nN+dT*Ef1YjTiu=YA4QsTUt3e8g?Fw*OQ-W zp)~0HqME~{*x`!@j$C}$6m9P5@HS6^X>9VCyaQ~~fxPucLI{HjL50Wn6I-C~GwM5F z(=aK08CMqo`+-dDx%lA0i#zrn*|x-1-|>QbRU5F&y4qH`UuZAt=_zVY9$CM*pp0gD zS;1mL=omWd*ja2GS5#l-vMt$mWG`&fKYIIZpsk@Ti0?^d+5$SxEdK@o9-YGt0O~f_ zXu0!Jtq-drk60Tg&faD zM{9)Q+QLQ0nf`cDn2sZ@4x=^@d+TnxG-fhdhfu%qFWJ7rqwF~P_S;7fxPNts!*>*x zfbVlE7jO;dVJA*X3I#Y$X%79$eSly5if2VTnugQj6!@VOdYq)$DCQ0P=wzsGGixYh zr@D+-SHLnj?Wm9HHKz1(;crKR0?#On%9Lxi1wU$H%-b3I3LN`(obHJTi=-I3(0# zz?NqXni+33ZEAB@GTHT?k9E+#oYbs8qD#JgG$l4to8(T(qK=V38F= z2ad;R@y^6Rxu7LbadzjT4$unbFmA*m`gD#kmz%bMXQAqnu39Fw|n4 zmgaXTR~4Aq81o6I1U`ZFp3sP(~@2oxqYwstKwrL39z$e(w3m`)R~|-tQytA9?=&`uQ*V-pKkg@P2CC zK1Ri9xKGG0vF*=R%=OQ~qrnR1TuTrA{P{=!TQ@3a`pi(tPTWA?ru`}dm*YN7+RM+GGf!%M ztNG;r{Ve&Pj8futLBzn-4vp75&SnzJ17zA5<|zer60{+FVCt~c(@`#lKJ?Kl{evbF z`bUg_(>r~!WP1}#IbWVt-h^*e?hZYw+OIQRo5A{4UV#1Ds{b(} zg*0HnrmcSg+&XtN=%;mN@DP#XfxfIwJ4Iw5;CjxL4D_m29RBDuGGz<8ADfNoV_Zjv z%tcn`@b}Owg(@=t5Q|5DSpKn;C-FA!(+{2l%uPneLiigs@R%g5voBNiFU1vd>FEqr zgndP$Xp|J^ex$yWeZ526Vh9%*d0?EOHXnX26A2ED;ZLJWNhxlr&{~)-qO#!SVghD4 zT_jFc$3#5QNY>i~+=g&90TTv1l*<{b^T~kt(50C2w$j_5RDL^=n!md@ne6TB4uw*E zeW_5WyN}Mh>6eKtn(SxYOh&j-GKBvjhgl6F*4rQI3+eqSzaIO3)*HfA@W!ELWF;Y9 zH{+wDg}wuPUKkXjjy&ZE(jwuAH-;O-V3UN@Db2J5>`q{vkG`D@vHpXKfGi@5@k_KHSz(Wd3eDD@YyrOe@b=W;zp4~i|IdTmPB}hTW4U> znJx<3jJ1GBRH_h@_c{)0jYefByP6$5Mc8!o$7O^UB>VgutLrdf1WLu zYER_;Kgc)3lRNrQE;8MYxG2n}GO3@t8eibwVy~lIXSyuRP^&;yLE$NjB~^r8Ks6hA znaVXo^Hr%%nmeq$hUcJgs_ixWqEz=qwayfp8k4<_WOpbC%c%hsi(Poe%e=j2XpW&= z+thLm*o`>=^Kx+vhlb!kPy%a&R;=*%-HhXHbiNlpujvD3tCeBeNDZY9S=zXQUdTTg4gVrWc*vW+9?u zZS9IJL;4Ebib`pQd_YL{O$O{K%P_C^9QFhm{UivhD z>-dwsKqTd#KZ(!F-MuQjRj;_&Ztq20F6`(63Zx?KirqsBZr8xvZsK#gu}V?du*{%< zDXaxLL;%51nYA|3s&IO%4HY{Ri^9H{X#oqh1{@)VaQfD8EmOa$Q68YeiZ2awX5{T6 z5^F)<<{tZJ`?|oJpoIqY*7C!MtMTDe}v(!OHL*KS+UPmWj`Bz4kIvRvV(cO_WwH ziUS6R+h&MpI~rH_?wH?DWTv2Iej9BFIaWFU3ZjSL^HP}iG|y@@i%>7X{KB&mlo*-& za*lmuC?m%b>|h!w6fq~-MHh@?@D-?%$o$2vVXB^-)aVok0exm(+q||s+6Z48Jbe1# zg`;kr{NUtU$}c>aTygk{Irq)E;_!-Oe_QOz8-93X>CDu<2d`QmZoev6xAE=`H{5mO zfpvFps0&`jdb;Lybj%yR*?rM{9+Sy)-$je|PphIX;XEZV+i*1Sk)&dfF27tZdb{u`P{K0?aOP+6KrpG$4IbxaGaHQBeOJdny=ddn(qL`pNN4`Pm~^Oug6V`5G-AYi{}N(DHt5BWvtH# z-_MZ)c)7TR9C**4Bu@5~E(s{VaVB6hU7E*Y&XZpesnEPgWYGpZ=plJbmGbNI!xK*S z4JMOr5@*2 zxgh#8R>Rp$l#daA3^_}{BrU0$_4TP?l5IuBJ94FA)*nc&?(s0^^`qZ%~G zxW4PlS1A<>q#@HGA~_XMV*kCGs765c_J8R++B5X{T3)G) zN7oz5BIONWFI2Gm80Zh|RrrtVL5LPdz%RETR+0SQH)wWh_VZ|*6ua%|!Qc69L$?n*&0bbC>e~RirT(s=*KVfw|0kt`2IfCN z&qER}Y}sah$HzI_bnc0ItmIzGoMd)P{mIT>U{`vn79ZOwCU+o3fAk@dw$y!uFNy+y zo_mpVZvpy>%*UV!SUMfBAr}f9Ljj!SFf(Ds8kmh3B(y>9k%>i>l4+2eYc^&O#65NY z)pN$Kx^LOBcRxAac;3p!#{7yg7o9vmf^48ktFs`2K`Hk|jJn_4yl7H>a?W8iBvjLQY5M*xwrF0^>J_&{njI&tG~T6u zIGV|by(2BhowBq&VhtDOFKRaET~XoPh}%=%7He;GZ8pnxCqzc=VBKYK6J^NAJ4v&Z z=Al;SX>jo^j^RxhuQH%H$QulykREScEq+8J0T28COS6c{$6t8q(Ffo7rTCY>-sE=4 zO_o|$RiGkL;q?VvYaZX=a+lRybnO1CE5kRQeDHtNR)W9JzWV8I_VBa%3%|EXX?kjV zWj}zk^0j`QOKXxO@%POMgZ8*X(0y--{+TlN;s2~5NtdM2rntVKgyP9gQyO{Qn2H&h zRJBA1om?w2QU@bdB1Hwpgwra5fC-~W=P^=AWDF>k{1)1%W4Q9v4Z69~2hanQP<9=j zw{$R;jqBLFZU8kAf;s>i+F>Ov1m4RTiYct4ubrl85hf~Mk$mQMi$!8P)C1wGXRN^0 zR3lZzl+n0w9g7q`@d+MwNIr{fQV-HSXRcgEmc*R=E--sqIQ1l6JHuNOmM4G)eaMWC z^jWwZYjk3|f=mv($%9XUmF1{DD!UCB8)cizrL`27C-Sv=_>1NVQZOmxCdC#6EvxDga?9e@vXIV~;xKBBe|HEU{CjxMPj{(!E zAJL+vs6!>%UUc|m5&2|Y9M?8VUY&62WZ4Y#U6Cpbka9YY9fLh@e0XcMJb%LbS^6tyWorAn~(w>6~Irz@e=kr;8xJE z=k6O=Z^(v6IuO(v%UlDGJR~t4d~hRlh~&vmIYxy_VJ=J;bJNG9RMucK&^ydhA1jDq9apC2R@6h1 zt*^-J8df!qn_d=o@KZm3N_vX#rtocd{o*|3?Mq|jrR@^~d5h~wP{$>)e&|@S1%M$I zEo+^XxtNvLVFf_;nE>)YkJFqBWS|}3M2IHQR8d0-ylx)}t6bku>jixGAj2q=VvXQ>BzZ+KwxOF0I@yi6kVubRiHKPN(17F1v$DP+!e%KBY1F2S3ORr!;&lAV3vEqAn*0x}T?%>b;1tgxD-k#HoB3WGdtk zbA9B&rxpmyoXnYlAyPj4*n=W1xR5`fe8;m+O-ZH6dF4IBKBm%yZcLN`%sU&8W#e-r zI~kylBZ@}8eWb+VQv`AeiINcFiMDa#?L@X_LFn^?qw(_%Yb}aTu85Cn#F@>rZ)QvF zxozXhBU3C+v*m7!tcNbI>#lusm_Pe~UzpOctfe*R_07w36h&Q?b8mWr~Y2&b5*u zZRqud`7BPSahA`bWQ~ooP(Qt!Hj*~2p<|J@oN8%+)4oAdOn4(vPlQkpA_S!ba1ECj zNrX8NL|wyJ0f9`S3#LTwKn$RHwTI#mmC+0c(3F7DAzt>`Q9tkp4My8-ijsQv>8p{; zM)2T@sL#8Gu{}?{D7>FmM5%t}IWy~9M%7hWz3T$ex$7>ts%F}v>5bxh_ue~DW-xo) z{uB4I2(#b!juZoCr@8E%`;>rcUzN>m+{3I{huJNaFB1b#1)hs);LCO_jc&O22+NSjkSW(fD-} znmgiDApqb&-nta?M+D{8M9ELxOR5(>0r@krKtz@&_~(ql&SYu%~rVbLuUQ572`X3^a}+4qpVF2hdkw@yP>sFuPPW6YZ$%95rk4k~!sFHDkP$6%oH60W*|Inh}p? zN-`z^(lYF8oCcgqNwlWK$=;3mr_oVlhdK?3mrcYpL=m|9T@%V2(<%_+t3b#L)Tm$o zn*1NLItHfsweo9nli*oQaBxa0!c`Phod)bEt1{ReOn{|@-srEG9M_@Ia|(G{1>(?>4q-od-BGx( zQ};33Y6`=U)+sk1KhW6Fecnc-Rl$YR>a*tpU~C)bAUzhbzH^MqCFvWEA6RpbFl+VN zO=<-aLZNbV>cDYVcOAgw)N8p_wR9*(JQ<)@&>nA~8eXW9uK+prCjC?Q$c0( z(4tsOPGI^CId_Vhp<_z^aUw-lC)mPZ0A%V8S5lIukA+AqQo!;#tvSatPjWMqjBPg= z?Yh-1Oj4j1BHAql9$W|1r9mHZl#|a}3a}4*hC9!~V+8^9nQ2X#f=R)~5I#j+ zL8?%_$Hi}&frBe5Nt5-IX4CcRVz*~ysAcoyHn-#`wOf1+v+Qabx2`DTH||o+dw~!bTPF4{=!YwEmOn#h|XN=H-@H-o9Ha7pt^;N zOirO2V8c|ml2akhZ|h(IAFLaokijg7S{(@&7}5|g29K!xjSVH3ymBvRPMQDaM`mwD z2&j_MAunIjBF|U;kMcKBYc(Vt=6<7{?dtA2&gL=M>XuY4m8Jfp-1KNyw{p4N*e@B9 z;J@80Z$2|5U2c{_Xy?}1-@Vp_@_?2?CVowoF&Ltu0A^86`!N1QlmRk^_O-i}M;@`{ z2b=DHQF-J=<&U)enl!NbJ1wnc!pXEOCYwUxfyv_2^v5R8?(F;ly%u~)#@EFSf}@E7 zt{+lW7PFsZLvL-ac}M)}8iZND#OhqGH6+C~BMkmISG{n>2z@hdLx_7F?yJX*bRWN2 z_~i(t^2qPw(_n`QdWEvs5<36z?+Y*CbL#8xT2`mL#0w%$8u@)H6%|b_=1aJb3i3tY zN5m8VJ{Cg$=|-%I!|E^b`e$mx->p`Xjcfp>w!p~3vXKpNhCawPKfGtuh8R%>vGTNf zshu!V>Hh(51hmtz4ik2sp%0QgKEy#%ENjHbBFLVIORh^qUEw(LF3C}8y?x-CYGIZ4 z*=H;ddD(i2t*uS(wkb_=DwY0z`bXje52fFKCy}^Dd4CmKDTE$pZ=P6j*IlR|)0j^s zwf_RmB`m$LL2!k2GT!Tg+Zc1nZ!7;Ecq=_=G8ETpUw*%2`(0{00Pah{L;u^PJvKY_Zsccc|l`T8Z1@ySy4T{0Q3`4)iL$UcF#A_qu!Uz3yCqYx5u7F8it_d)&g6 zoLm1!@s3I4@i=Km@i+K|^u_KyOIF!kZl^l`Io}XL`;myCatu^K1YOl*;${RL@XzF5 zB8A9a#jS3op$umbNb=NYLuN3JiJauQ&7P)e(ASkdG%0irS(>2A^_*MD+CMb*SV(L4 zhF~Me{GH8gr9$~KZzjHpou_c6KUeubIAmu!qq$0WUxn^H4-riCyfBaK1*)|mz4r?( zRa}PxDFO{Fjt@(smdp6OT&Wv>qXo^wQP30)4po#JDk zdzOqW2LTFZWmGEH$n)HC{o-u$vMpEX}C>N2g_E1EUj5RO%&PUV%*7t zqCN{L<$6OjCR8!tJ?PZyUdgHcaC#0%L3Ime-?AuAy=QehEVsU8VopoS;s(y)n(zEY zdHYtY!RWNS$d9=ml;QDt?bmu`o9tbTZRhw^|%-%dM>FFW*@sGi1M| ztGd^eyI-_8jRx_hkv@^xv1&ryG{Z81a8eFIfwJpBmJmi}i+F_GsEWeK9B+5nPRk&W zzS%j|$&xOoE1FJ4U3vrhvf)%h`-1#49J$D&%ODS}7PL^RYTyP;LS05xQ-pN{31y&= zgP_owenxqQtrOORAX5&O^bxFJ$Z{ioWnf2iLv(M`=H8|~(Wv+poa~{Ky-}%Ec_vMm zv-A|!Gh~&)Q&>umIECv5wny<$?`GV$Au1k>;vt;uiEcnU46UoGtWT0PZ0qFC1G(-D z**vpOvE(Rw1`kzLr7+whm5*({Zm6+Dr)w0xz;}z3l9WUm8hUU)!<@DVL#mIXssd3< z=*Q10Z>zv8N$eYU?-KV7-E%*t8O=8FgnTJ1??5u=ZX~EQflq?0V*vntCl5>J6;C)z z`zXlDqt}~z4R)67D|I@c)o`|>%Y))QQPPsaH?$8}$I)mJOL@I;{-&u+d@#PDq0#07 z@5S{sU>8WI-bmy)%z4Fz5V?5um6imRKD-o;#twWEDlJp5#Q;D!mv!LIsUZdLWvQZA zR7jcntZp!SL;Xhf2gv1FR%|fgj+e0LxR{<5RfJ;#)_Bg2RsNi_IWC4XaZT<_`vCW- ztQhW5Z@$$fUXeSShUmT))ZL?c!ZDwY9M3s~0&hR0>mV)(3^ACKTsejG1?YKXR z>sE*IJBP*U0QRqPQV1#i>3%V_G(Z2A{I2|^LT_%t*n_v!cQ>*Bvd|+|3q6uf3L%EM zsq_ooOYy`l`T0w`b4!}rPI=@Dja87ww@wSx>!RUggCf<`hB$_1n(hd z&}@m181~()ADH{23J&2u-g3APp!z~tZb^pvD@rlj#5!Xj5a}$oVo6bz7;ypGM|e`w z*~rclKVaRU2faYJ+4-aW=QV|m_Zn@03KuKZSKW6_so5M5V#Av2QQQwo&`qY4-uT$% z-IuIxef$q*q%>hGcGg$-!ipmF#QZyG5j+6w_?DLARMntno zmMkuR5FOxpU%6}Sa_Zahf;fQ+wPFH0uYb)_WQq~XMXyDYZ0@{Zk#+C$wd@VM!6^FW zpyEfGm=|o|5d6>qD0@b~aH+GTDBpuLGZu^a&qvK3N>_svOvt~(z;NS^2faqkJB_GZL&AHKt|isDrN-K4x(_tq*I9!)11@(|y>6 zyjP+#Qs7(A5vYg5~wzx;y$PKKHnSPx|fw$je5_I?FQxLK0teHK5(a3nNNMg?ilm)>#1nO z*Ep?zsdhX7X|QaK)p_VK_an-!cBj+KHoa)DTxxMGnB%nKhb=D4<#aC&+vbwY2hE{) z3grd29wv1;g`ZOyp(P$P9H}e^tleH8#8(&T1`!QL0c7ehQ*nd%fOBhwB@bdy^wVGh z5D?%0LivGSZ*>01W&EWpY8<8ef!^~2htZ%{e)3B`=6=tL)jg`hraG-_Ew1@aYmdbx zjJMnEPGwBuI!koc2rJq+GWdEUdQgklMy;-w#KV9iZynOI^aqaWF zl_a}U+54{xM>?&8Lo&6CS5>YBBCu^7mv^d z0OYC{R2fm^BSwtyeJm~xmUf69ikuZhzd%<z*Y4kaCq1Y!2kX~5~*9#P&3 zu{*yKnZ%CHylXbDYziyCEEd2Yzj?RLf7Gx0=4a3 zd=6WCp3cA5uUo;+KUWT1Z8sX_C7bA$>x&-+&6p2(pf?z(o6H_WbY2>wG_qO9uwSra zsZY#on{Kh z74lL77})JRkwkIa69JTHIctRY<)}kSbQ~vqwT+27PeUCx$Rk}}B>|})K%=$oS~|hf zfRlEube;329osFsx|!QAopWnf*{#kguIGz3)gn2b(K3D08_Dpkb4qWWbxBX#YlRh) zTNl;N((9XJ9W~>sY6@MG^GaH4JIlxE-%Jqu7+{vk_P^kll`P< zAXEoT7qS;*-&=}#GXkoT1LUkzSH&?7130FSyTt1F(mU^unxkYJu{!DNa zxzH1IER|TjROIwCL#3reDQOx!s%*vvVJ4h8hopZfMxFMct&EUq#%t!FMs<)M5)mC1 zBcx)>_(^c_Ni}eAsR}041VdyprEiJEzU2?Nx^U1<2&=WLqayQlVM6dJmznmjDoCe@{yx#Rx@90py$%&oxlo_!xr`{Ahq!c z+lJ~tvX*CW4{l`5X%E+k_8ECDp*BMmP(o*J4WV~Lorkr?kOn3+Si!AlY6`Y>@b|Me z03Y-6%bB@8fxLjDpiz_#8{FmD$9xnHJEWkA!$FGfY>Z$bASZzaVz_8RK-rC~EaXH& zd0FJ~i(2a2J3DG8rN4fbN`Dw=>e?}}y~^*5+w9TUyw!HWGrMB_6^G8>b$6jselJ7v zO=tU@zFmJ9yMF4{=?x3cROiO_o#)S~vFmkPbdqJqLSO!MtJfX=o>0AYD|=Yym+fYY zvw6YO>8*qFeX#D0+yi>3?w?QRMpV!BdCl=9>i%kO{eJv84IyPJfAU*rs{O#oYRYwI zY!BiCNWM>k4wnp_xmwnoe16|HWUr>M5Hwa_1%UQw*|yRCd2P+Mrw z7UW04+k*SQWXAGH2|nueaA_DRo8jKVA&aX7$cwx^vQ0wm(IR4IATKnvoBM1Hv96JA znW_9$(pyESFPXs>uI{V~xZL?Boxu=rhC6C{{COp@KxEg9g}0A)OfR`S*=&g09F8hc z%(g`O&nlD_Z;yxC7R}shb^Eo^(it&-VQXn^k;mn3t%#RJTb<#B$*qDA%@ZzzHyA4q z1dD{}6E{c4py8&62x&g6^D%J$&~i;1M#d`ScDY9Lbd6}(GrkcZZN(n= ziXpjQBmw-kM8=3$mr>t4Fc7$554RBeNLmKEq8j@kFL1|K0G}XuthTYfp`LO(Q4mNi zt0$-CSU3caK<+n0Sfe36&cNR5;*>!f@2aDOuOL<2?x8B~2yBDLFhKl57BhY^EAVHv zuj0)G4j2#$o*F+s{cP9Nne00g;?b}{J01yn++H?TXC4&^PnZxY8D-X;6hw0{QD5M3 z7pw_-E-&_LnQ~b&DR^AQ@#R+`b>RnBRg5#b-GCRrT8Lc@XmNMia?Z56#7uoi7cos` zVNXF#UC`qR*3}ev9-lCQLsn1Fn(%h^X|9^^FL%@;D&&FUy1Mr!DT~>?llCgtmsaN6 zW2{*DhhMN2G5@B+^`5d(CG3McOUpb@7z(UjXK5_ha#>3-7Rzs*KCUjn%pQ~2bbDRh z?e%H#J98^qWSdQHsaSaI;d$k)blh4#50Q|iKmM_Asc&uLPcPcnTo8*DH1l1sm2Fl2 zTx1vg4C!*CPB^6LbG1r*b^urD&sZyl#>Wz1-0aa@t+`F}5SP=jCQ#^z4Cb%CHd;rR zxsJN<8M-Cgc?pb;1dXSLXd=P~3_{mW>saW8G29@C)$&ZhI&Fv#5kzqk^$C$N%**OT zbUIQ<#Oqwyu}6#wQ6(P$`A;9A;tO$~*XxV3Ip>@+(7Zu;e%&e-TD-Ur$&uM&y}4?1 z13P8_MsE4y#g(HQ;L|;43CLR2qrv!uj(C1SeBu-cDnhz7TF2F0S!M+m=1s8E9(wb$Z?C#>U`WOP#S~;=;AFqIGrA zS;w$T1cL_gN3Tzu`1+*u!uPkgbZI>vZCA_Y59wIvcI$8~Sz#FeJF`taxOSfMpGgnR z#?!H`hq~w`a}-Nsd(>aY4l37&1#daqLppmkfAGIyJ&U7vk;j=dERC*OxSSGCPo^0i z^JJAWtbx%*VZQOxVC*B0+n8qTPWU|gJ}M1}KQo!qAG0o#(dhlC%C3M?=FcdxkG zsZ6aZrj!ooLYu9Ut+IOt&SB}VxgEAj;ewEOExGt))+>_#sVwm12a$kq$}I>Uq`UFr z!;Oqzfxk9CYlt(5BjoN)9BX#^3&-|)ik@;J@A;l*knr06bdgJJ)H%Le=u%cg+;)ea zav~G9GQhs3|84FB1-JaWVw2hNE2ezYYPFPzv(1roTu{Oh2-xf`Cj8uf)$r+}>QkVz zAfIPgA2q6_A#2`5-X&TmLE-pVrd%ErjF}nDh(gd5Dw?9=aM*4`NIVqwg3V@MKl%3q zdw)N9gWYNqGUwvH%=wb34wiH~ow0N(=0tA$H{cIuoi}G#7DYhxED1TyOm3KBOzr~GMh&Oh#eE41p$~)4pls_r2GOO|r z;U3Y)FtB&u3$(! z9(5t>d~doKPbo=(4`9hH%=vOw}52Y^aiIep#P*W+XBbeQ~`{CWY z9~K_wJ9$`spn?17r_8_Hc`0C3@ZdYHuv}+gb&cU+ZfKgHDi;V1%anwYSk@yL*~t<9 zU*ciq<$mGO^o(AH)KRC$F?Y$A$=`rJf+7_sXx8F8UZ}T86%Nv0Me_)20H%)%oLGqr z?vosn!G*ct(Z~aykuW4amVu3c@10A_F$|C*5ejwa&ne$TV+mr73Yl1~-;szHTQPQ;DBZAh$tCZ&r&QD^zf(RauSz-#mo~P(^VZnJ(gk{(rJ`iPE6=X2nmi}z z&I@Use-Ik`JzD$Yf%$Spd3Zp%^|Qk^k44rAhKMI%5DSW%N(%QJXS>*_+gj~RxM%G2 zkYmmqhtu5R*s!%C|Kf>DQhNO@!X?3oL0?^?GZqK(BL-bTzFr?0a0XUS=yZ>+79Dzb zaU#p~INC6WQ0r!ibzb4totd3@ef{h|ZwMWL~B(sfU`C&VjmyT2kf!DFc^E`09w za7k^GNw(do^xS2Z1Gefr{_|*Yq3ue8qkQwPl)oQX7Avol^xhIJ(`%iUb&oRfaeq;f zG@6y>(rDq<@+z-;ofBDJ#$RAwI-zEfyJ!w;_5`%D8=9*;x67}CflJoqrA1vlPg=iT zYreHL(|K^1&N%Bw^$p1=^sNF>(+4>W*j&B+jNPZ5UcwA@GU%=m*4!@Cs>W|qOUaq9INDU$q*nDoUyd^&G zvQ*8I1>@Rg&#t@WrW>|wesIdVp5n?CYbNhpR$o6WGVY-Ac0u9ThKA?_aoW^}8IlvS zaeMYW6AFckaU%cYox_I;3yX`#l_V$BE!(pDIq8zNY176wI8EA{Hf|Ut+Tq5n`lxBR z54MQ4+r&LZ9Z|R_P&B=|7rvEVK!4iQzz%Ym5}fHB%MjuCf70g*iS*8a5BCT+i5CpK zE8Kzl6Kw)_C-24EZ14wa1Qy&9T(2eXEUjD0?19}(-jpgkhfsbnr07o4M?#E5OT`jo z)JZrfXpy|u;T+IVL_S2IVi=?}Gt_6HrDDGe`FtTSJ09|SL%xBNWvwj>T3e-A$;xT1 z3tA7hmY21%sZ~kg+Z$2?D^nXM>&zD2l;v+MpQ5vvb?gZJ-da}PDi!$XJ?g(#TFaC< z<*lvd?Av9nuJoF!9^fYS?7<5e76E4=sj6txp@%p;9bHbVmmc7)l4R6}Z>+@pd4! zgLXrR2Cb$aaip$vF_3XOp@kE_c;Oh7zygRIjuB)Jic{iy+>VtLzv~cM7HjY!TnDef zM`(!!mB&|TNq~J>{ct>{t_WB@DJa8AnvfWcPOHF4B0fV`8XI7e#$)O~E!JmG0~Q$2 zE4&h4Qwz%Nq7AeJ)wP3|!LdEH?{$NQ-Xa4Vt=c>(dZLJ{T-yphUC+AMl2)dXd4$2n@< zh;u4h1Kq^Gk9)Cb@;BqPXd!CU%!@PaTqp}Sn+!dWYmWgg-)kT+A_)KO2pVWFppCC8{udReln3=v)G-(Y24E>@>WZw`B z4y|mEwSs6Za~e#K8O@?qhXja{zDc%-Hu&0!0y7E{RAPE&w+fAJub}h$qJfw`wmjdl zCg$`Riwi3jxTd=+CYRLZ7u=n6B}>Zvvay)K`;-~23mk=hPa;%TY_K>5GrT~GMX}g@ zS;W6;oUgoGbh?cfkM5{6Ng#aALLIV##@rWJ&5}^x6(5&aUovJQ@T!VeHZHb-)i4=@ z!G>aI&}py=-k8(wb{U(_DQ#)%OpG?gL*cM!Wma3j9+Xxy7t^9D%qE&FT4fH?1NKU9 z6qwzJ3}EPPLAllGx8()x1;%1sxjgy;w|nee+e-zh@{+1}YZ3el+UFFOcs=8a^&&Dl z*48s|e4Yz2=SjJ+)MF6!du;|$(v5+dYD|%>qDT-;23Fwm7P7Ju$!0bCm^C2leKt6i zIGEYsFj%!HiKs1-ToSlXxZoiDo!RcP86<-M-x#e3Os3X=+0 zqxXA?#^&cEc4pjab4c=CX|Pq5inf-TDu0LGt`}s3uHJ5&64Ps|@+SBSm}`5;vu<&~ z84a1lGDkpwOAE8Pf22n$YS9R5p91sk(iw30=JQo$@T z>BRHqJfGJKPhzL!ni{n0oQ47~hA}!RKa|H@fKjn(U*aB?hx(bQTwPhTXDg zv6X54X0OTCVRaa^d3tTgDrzh0$Hg7rub*0M@Y}rwlqq~oLx=mi`pwUsv#Z?03W8-v zJC^U3~LdK}s;F&3A?v_kvTRKuVoAQK@u28A#pxjIYSWDaf5(C@%zFB>>9h84n|R6OR@*z`VPEWu>#$mw{EIj58TXHyKWZ)d z=-p|57SCtw`nz4l^4-Gg41vV39KhFt;zuD^BYPisS;P`i#&s;&Rj@TtYf}8Eny?BNODM%L4^jh1 z1g=Q(I-y_oN;k!u7tN^YDal$KNks>f`8u)8C*X+mu3g4V<5ctc&|>SouJ z)fUv&{pjX18{R&;uV+T*b;`-_ZL)V|PMAz5?ANt(8!G%JzfNbj2OKl};bMQX zvT<=$(b!F$ZA)6C))KGPT^g?oRaS;tE0^w%PTFzk=-XZPP2Xekb)7SM_NgbzNjgCr zh?)w>4KHAQkH90X1Fe8;eb7;n=Q|;kaHRp(8M>CWv^F$qjaX+ST+(U50}O`Cz(u7Y zz{K~Wa=s_sr6)4nFLrz70$&oNCn&qI(P;H z(uow=eq?O>Bn|QU1GHt=3Mo3_Hd4_#bW@DVM0_%%P06772sr2*G zh)GIa0zCchfz7-muPUQyFCJ2Q`So7FY_OMx%8}x8)C1g0__VhJ4gkyzx7<_-V5z*m zk{lW(%4``7D%GV6+WaN0EhYZ81*589WRVt)ATaN}8xrU-eM@e8^Zhq(TcYmRCdsb6WwBY6w;nTwjE^aAS#1{OEx4Z=9(&9n zOLkU*A6dy`hGN5Ga2&K*SV`tb!8G(5ye(mqyOo#W!KGdHnZ@$iGA&%ZSZ%j#bC^H- z%wor{tXBQiY*v3&UdFF>%V(dNd7r1`?;{4ni4m%a5?v#*rsWh687`wdn=8-e-cZ8X zWS%V?K7%*`X3mEVO;0F4d#vZDrx2pG?+_Nu*fQnv{@W=v>$Yc^^J^6jXL!Mq!zXUM z@PbiAR^4Avn}#R)?rBxN{mXp-5Zv|S7yfz4%Pjx)uQA_?d$hu+QAIOf*>>ZJ!*$Lg zYboZmsv}nI#O2f*dXeK~|*#Od&10J;d%4VBg!@lh zdl8z*V(NqHYn0yzn#;fYT}<#(@Y&bxktS=dzzHM=RgUx36$#)51PFSvHip#^8cfOO zh9deCS0H3@1R8KHv`W&pP^?AJHY6N)YVoOn(GQshifT|gXhRDbq!NCJP-?Jn#ZGtMs>{Vp4HRgyEZZSs*V=lb)E zk&QiHZPkjBt&BO%URk#5-SswmK|^_IzD3YF4Mth8>a=;S7N^6L_^&w$cM$wNczUhF zs&^KbwMSd4C2-|})@@{=c&%3aEctFIv8rfPsizHv*nf^}ixuWcvfFI-ESOjgeU(2l zvD}uYm0hAVYTN|B-&lHWFVlY2?v=GJ@SBoo^3-m~FKAs3EB|*dTaa zrhvfAvZE;6T)#MGYA>!XG6+(jd`WxH#YP)UI`}8ZHUqhqYEFGi`>8w)I%cAJ)reMI z2g|o6Iw%v3HF^O`g71 zifjeY1bJNY7c@Y=#7psN^dzp~o%l!o+Zjl-R4BI{XLaw^l1O8Sve_>tRP}>mD=a;m%Ke#Y| zw7DpM*FOe|C)uolaPh=Y@HR_O29Q~iRW>bK(_K>h^zw6;1`8fzLKRa~jGr3I(4k+iX{3Y{$ zmreXdx=eZRmn+%P0ruy@UnrQO&>s^2a0z%dMCmcBNbIUs1JwvtU(jQ#0ObPEVFh0U z9m{kqL*bODlA(~3tPpcRqS~k#5?Gw08n-r{ihYPJ4pT|2j5%f8dKy)7hK3-gS|ca;CIKrD~FdEDyM zTPmjRom=gW%$#1azn6)E=qPBKx@}Uv!!@d9?ARKc{gO_td*am1TfW+n*V%Q>qPdeA z;6Jb=p!1DQG#3fJnU~IKD|BN1h&NoN^R-mPgc{h&Jn$|4E9{-*q3z~zOPtGsR*)E3 zsN@{<7lnJ6%DhN_-8OrSGLZgg_BQDkC(E*b+h&V1XK!P{@$+{o|74b(^T)GEr{DlQ z1)FOoOqjQGXAZBK2W|-~Cy%=U#UHMSg=E0IX9=2;Qkf*6*#wnp643iUFMvw8_6)f| zANagLs+@64c|v(vRj)xV*+3J`c}?;%2RG+DYgsAZClzogjVbH4xN&PH^C_SUmO4ICO8rr>ThLnl)?(-CF&D(md*C#8;e*#D*N zy#wQ@uJ+-*Gqb(-U2W59t9n_jR$Z%NNtPvB#Z|U!x%b}t8ryVJj2mFE0Mkn-rWgzn zHH4l3N#I9u5+H#<=*6~n_?|l}*|JGu-akH<*_k_c`n~6#d(Ly7)APzhA6!r52OlO` z)!R!x+zCRU3*Jv#kwEUD_q{e&sY{F0OsyL+UCMu$Ncecnb5eSxpu<-P%s}wgQ7Z#A z`qICGO%&q{EhSPA!C*|IItNq+;V%ZHSjjIudE6(uK=DQTg8J$*U3`fxsg;fGFcT*A9B( zAfw@sNQe`{T-wBNsVSW>U7_=5Akv4gr;yt&Ob=*ehg57HTG5x#6up>zTe!rN{ITEm zX$*g6B?`IP`svWGL4!iFR-0x;UX|3(F~SL@O#g5BV^0FJJhP5S6uN{}*3@%)?IfL{ zKDJp3!GW<+dD*%|_=-J&!kPY8G5+Ku#y+_V&1LxWU!a zn>P{QQ%;j#G}2FA9FVUfeerm{*Jfw*Ha%mvdGq6OsfE=>a{M_FEo+eu_?P+J1$zqk zKLxW25KM!q0C|HPCvQ+FE2s9_&F%5Qeg=t&XaQiS(RR$>ksLHzVZ;}oS*2}|K7S1y zlBZWOeZ^2%WWj9p%qsQqQQ@H_MgZRetXTYIbyv?lrP8q#`EA-5|58jgwlcp}8@twJ zuIh;89GrhJ%~IJJ%ef(%+5sR|iEJFL9KG3WsT^0CbHn_@wt)dsGM|5m`KhC7y0_wX zb6UmtlH6Mt9JX2M$}LfOdlgO^C1oYD4to0NA)B>wTuE-<{61PGmUB}~GNvMTq_%{A zu2jaKoKGq!b-}Q)m}2NLW2bL{4jX8+0_+OB(p1byd}RpTgV4dhLDbBUfe40D+8!iD z)#6y7nhXb{u%LX%cs@F#u5L!&Z}U}IiqbF}50}O=2l~UMRe}76L#$KdG}_E2v(1P# zmMDESXJb}Q9VbV8Cd(H8h!N@Q(`7*!-wLA#Gdr`qG#nUXPhXM77-2D2h{X#07@7O5 zW9W0?qYlPKh|!vxL>;2(qUB%_zbhUS6x5z&~WM zaJ|^g^)ko!=SHjg>$8I?Vrke@}T) zc0iX3n42gOdsu@Hq(#US=o)+8~vUE!3d^ zb;L|#N{+9KNjaUy#|DKpbUOBJjW%Q|)77&&Z*=a`u9EywGiOK27fz0?&Zu4x&+16a zGi6szDh_nmqsz!mm+TnTTG%+EFy1{mUf9I{t8d50<^D-6+lfBiW6rbedAYf!^{waa z1^#?%o~i&&P=9GpMd_4^OnqAMRQ5o{&dr@6Z^i7qxpO;L# z0-r%lm;~c(OJFZ9#v6nXgVcv)x1iNhHf8KX1UEIp4YpNWUI6a0H65j8on6a1$lhfg zbd{~CE*4+1Z8QJd-`vmtcGI>?#0BL$rgqi-L?&LyIkaT5rKhxQ@#41D#e{!;6>0i3 zK4Iz({)_H-ygPoPH&VFWpI1FW{KsW$*DhPdzYQ_<_9|f=T17MdUs*Pxx-hUk`Jpo1 zqMZ32^WIFQC0*Hej5)?smbSO!2Joj$SnH{t=k_|+|G%-F6DD+yeRqQ^;F(=9bw}(* z3AtUPWjl+i7hktzQCkbYTXUd%2eTbF5bsV-tIyd!&pshJY2@QC9UVEUqhr*_qc1&9 zSD2c-rs@gK`MgqT@hWG|RC+DSHhe35q``TY1@q=CWEWi|T7~a4__i4IZ1igSx|pKV zX{3ZNm{JwkbBEj^`s859h@lmpH36Rro+F7A6p8dRQST&OaIiAt>!2M_KSMG5h}5i+ z)?P`-m2sI&YL*smBxJ)!#Vy6fEligyE6e51%5qW`(g9F<9^1iw>dR@4R0j7S?|O|i z6&5u&7x^o-f0ygoX~%EymqnUGUg;ju&-?d@e%`~crDrK7mq;}hDOIxIZb^^u3X)O70!xodnY229R+}Mslt$WXPe9-ak7UU1^K?}eLgx)uJ)3kG9_@Q?u z=u`BjrD7Baomg)L!kF&jf|X+{2OfCv6lumv@;CPnJWH-5&8HrGU|{>RC}B(2P{>m9 z;BS69^&nC3CjmCfW)|K3&3E@)Tz(V(!-J7?6mS{_Q<{dNRJ9bDcGHqcTdACKGX= zz)2^^I7f4>xnL#9#PieP)@w(6Ik@rltT_@jVmpezKw#@JB%fJtekJ)iY2HY#ef8B> zI~jBGU!<9Tj22wSn6Rgb2ZQED?vsH`<|y_p=dVPaCgvz{zXImXfzDex52p%Gui|co z`XjY9`tUvCxKsMVh4_|XYdR{{ATp);SQO2Q5w?A)jb9i?EUnROhche6e?PdwY`K54 z$!LvD*z{(kZu9LAY;LK4{LNU^X4X3V4KfXhZp2aRNk?Kb{Y@4U)l=-~@@bOfj?CAL z%zSM62Oh&J`RVNUs}N=WESJ6t@p6IanCKw*Dz90 zzfg3qTMCB)HiPt0sVY$oUjyVgobVJ6MF&SZG(x?=5H5@c!XQ9rD~v?wRv2P&SO_8| zgyF$0w#GCd56P1P?UjYozyum|Gd0AF(V|*b1DhyR7+jDJ!Yn-@?ucHS#H>=PDMLd5 z3ORzVNp~6}D2f*olUPHpU9MEqXT)FCE7IUEpokGuYH7&TP^ul z<;U_B4cX$(>YP}X$*i!cir8?jk5q~EQjJ6*m2*;Unjv4aWwI{ZP~&QnsnXLeD$9?X zoH?2H42@5jEt4{tV+M|BN^|sV_K%^XC31($YG>AOtcvp|3KowfH?h95NGZq{#?(6b z5xo*cuFCkPN0G^{C%}afW*VE{xORGT>4I35J659$9K83~-suc{l;VKYrE=Q?7H?Wj zW-Ho+Lg#6*sLQI%Oj@*O%e5vhZJ9-N|wGi!70;C^p1YRop%u*r{UGpyHsjMfgg9 zAAvrHLx8-d?T8`_sh%ew6{)i;W*VGbfxcWE6Pj#naIVQ+DK@%Sv}}uuWlF7-$TAkr zD9W6WEmh?hP1b0>%~hDDk?XCj7M#F3jZx|FDP;<=!b-Xo)?BwYae?14a?HeKv6Y7z zrqxy7ShjD?hV-=2wM`~pe!9~Y-Sh_kFa8bwleZJ0iq27;`9@8PugdMuk!>r>xhLD~ zA6MTM3l$kPmW)Eo)=Y|YC(CkPhg7vAU!zs1a%?7<)WoPc1+ZF-R-@HRI2Fma1*5IzN;Du^)w?dbKPr)`G5R&(aPTuXWyjTH!U9(cPV56Q`qL5 z)Ny^#HQJ%Jjc8u8q^zwyV<$x#aYx=qbI4&JM@Y;p;iYALbz~H3|c3L!i>fyp%1b|rd1?sD#?Ock6j(;#y z;b0%F6@!}*^@_xZXAJ1Y#L9*scCAFL$0rP-7BwUe+L(l6Y1BSC7vS1-$`dNaz(%hV z(~FC8(22}?<_aLnO*z@p2Clxo!^U}7NvnCAM&H25=Ey>DV5o>j@~x-hq>vWS&$Ff`1~`F34u` z7#IyIK>P6$i-EA=_Ptb!s>KB#s_F3 zz>sF9s7zec;gl3JKvy5vs;ycTYt^Qq8**?~?*4mL^4foLvQLvG9_DIK@}Hh1wQR*> zWYbB#y05Owt{R;ul|ytGm_VV+FV({+kvR4HA0*!*aRFBXZc#d*CSF*w(9BO2Vyod~ zMmx|7@rzBO31|sxMHh+oi*6S^D(XjjNU88CdoOwxG9sO2MT3$>b61(EUWiJkUZ{|GU01Mb!-7UOHv^Owfh+I7pTk4D{7a1&vN$xEGX=;bgkN@AO|6MD$;G2|LcW zzZXcRWP$@N>6vWNw`8mtkrXZ1ht%7maA_E~(HlOMNKjiiT@Yb;?kfKuONZ4xZv}D% z0bHz)hsFp!5*8fcyHiYDjc5#Hz)~O!t`r?Y%=B+XuZuo}CiXMY!g`ob5MTHU>nWxr z6cPwehVY%iIQ)OwX3x_;&ewj<-A~&SMe)ITBB1!r-T!~x{=c@*^POKDr^dBYBDy5~ zDXOD0Oh^B1E%9qBo~g&6!46A$^xw{W<^W-hHsd&Lfd7Yu1Wwfxg3VBZC4c<%q5L=J zTYd0!g<%{|=UqKTDVS2+In0?GJ?~)y|A)H6P6l0s0nSXv^^1Fj*&nR0nB3CIdIa&M9q5HZgfG=`ggFTUDxl&FsyqnJF5&<-)ovMv}BtQ*ogQ^sCGgWY6RqLioEZa6#@^_7GYu(-`EXbv6h~cq}n!4^snm0!;tZcb{C6*%(uAH~Fz2)H2HSH}oEQMV*ju^Xs$Rir73*8Jx zWjf--jHyS3V$Jlgn3l`r{d{2HW!k0KXyEy)6W`u&!?*Zs zf~`e#It~nec`?lNpau zeqc!YEjbpZKbY4;dYDb0F6VikNs4@xdPLG8s83(%V@2UQ4H3y?AW^EL*B9c(WmLWn z#i7yIaqJR92f}@bsV+o+Lqps2zQmw^2559}W$*?89mTvBcPR|KSb$X*?Iuq4@Qe6G z;cyJYDls@tx{`XrE4cPC?CJ*|vdizQF;br&U zdv9{r(Av6NiQ@3GC!c&WS;hDIt98dUn&aRmW9YB0+E4m|aoywODlGdIihf-@$S-?b z7f;y>d6`IzJTI`Dc;K_hL(V%92uHjuWpE9$(C#9PHv@BV;1lTNTIw}f0^TApxWI5i zk@h|>HicA9bT{~%ywXx0L81fQ%OvE0;kKGJ`uAt?NB@*0;@2*HbvBb+vhq|33BUR~ z{*S~ydh%2J0RJzhbHc@|YwlUGs<3NCqA_^`ckd?tkMp~qO+FfrfqqZ+=QoJ);twv- zyO*vny8XygBipX}v$KB7*T_9pUI4}7t5`Hfk{%gV-N z>G@|K>z>L#@Xqpi>8&FarX3I5bHPQ2f142|OE#3&5e2pF3iB+1yOQ$xhoA$TMz090 z0aTZ#`acXTboPp2e&`uWVkVJ~M*L-9s-PERwq+FvdqtAGD_^?u%9oP6cF%J-=C##& zJO^6Mou>3PP4n0{9@?_?p@+6^d1xR1{V{%&>X{wuAGd!(c8-~Z?xNSVd%F4u*R0vQ*v!7=E5@`h=U=>SWqEn@)=@aEoqZ~kEq{}c(VC2s*%!uQSEwd=(zc8S2M{_}Xrm%yQ`VUf+n9C;KxC?dG; z;TOW!!sN-~z-*ZXjcp!H7#Rxziw8vxvoqF6-vB660wE*jyKXVfd@4mqVh|-UHV~sg zLU9Q+dJEg2W%w!R`%0-+p23XHIdV@tx|8O**re^8Go(IhbS}gVX~AgxL0Sf zun*Somp`E*vpi0YF7}#dA=-Ds2_{&V=CtcT5k6=aCq19HU z+DIJoDFF#hZMyY?Z3KpDq(RD~i3=stAr1xC(i!uY5OLIAtq{n6%OrBD!Z z9O&-J*(Ttm|^PN50$rgIt zRKPc8%Zx@@(w^FcD;7`~nqoAOS^^`JK=rB^|}#C<4D)YAHSrI7|^y`0aeZ-LD{gQCiSQc7H4^pQpfjJ&^U}n$wE}xb<;BkY6k;hRGVUC>!`LiYXdo{YpuBDia~?OJXRc zu~9>%=|ZUyrGCMdI8+Wm2C7$+Veu>6T=&!b&g-%q7IFHHrGL8{7z<~w?+gC-*X}Fu z*`@9c+lciKHjUl4D7=M#@cvi&te#Ad(zWxxLnL>u+33oC^&B4%X-qe+%#dfBTr$U8 zrQ`Fkc~_P?V)x0so76s{&$o^ol`jprJz26qLzOCX@;Q#6Grk9k!7LYzrkRrlTb=M> zsKERM4%0Z4+o1}GA#|A%4ni2#p-@mbGzeN0Z1}8jRN!zUg`ERQu)4gXqx_VGF2#9a z=P3(~%;7$Bh6j?z7_(A($|6-Vzk7?*ad#2rZ%Q4-@&4&cnQEzW++6-${w9g4_S11Y zW+VY*}LGZl!k7nif*X(!F%}289Zh z1VdX0^|TnJg~C3@7{zEw8!}RRqwfg{DJ>9L=}BO-(h;>nuF+_ST5cg(N|hR+xX4wD zz-kRr{GR&UgiLmfUe9PIrlm15xz#F{k+frWyHdfJ&5S}h)oNu_YO`6b>czH3A~%`j z5)IkLe`q!*Njr3(I}GNf2~j# zzsa=dWQdN|Ns>>Je-VXLDVM6rqQn-td`m*!`1;Fo#Y?ZtAyoeL{TE8*7vHPI1K+9D z-wmiepZ$QOfj@jEk@FU2F~8#nsnYNR*2FKhy?;dc|r6jZH2U%M8gqt8ZltYIZw< z%=r`jmfO(uQe%K%!&O7yp)9!~0JUNelN63qg&4vAxy4bK>0s6362?g0B?s5OhD7DP z{Ee@zB?r&5eU$W(8Lti1e~lH5AA45{lXKVDfxCunkgQ=FTo&piQuXj7U_mg7LCzbI zAKQo6+nJ)(qJ-#TNES$Z48W%)ixt2OM>h=jJFQx=Pl zIbotZ2~-~tehJtNcaU`o75_UGnMs2elOm9GV z@~PuAa;7-e;J2yON{^XXRR%fbR#3%wNAbAGNU{wPe3+3^x)T-IbkSbMB5sX1O5My_ z+p5+A4ae;eY=iXbl-WD%Y~U|;sYsdXqye#&VbXU}#B`*&rG*yE3<(K_y|xPeq*O&X zMOt`nt{jAHf;g(rM%EM?y7G{JICcU29ErcC2$47bf2(HlRbjos&FZOZeq8Wq~i@S3MI%PZZuOj!p@I zOgir)aESp?KQ-92_btN|;8)x?L3*!#dPoBGm-SIr)1mi2WJ~e^i4_yI2n_fD2>~eN z0-T-xn$Q1Te3Sqm5LJq(gA|4MGa`io#&c#+^=A?ZU_|MEw(@_9z626GF}oJZuKwU^ znR#Ynj3wikkcW>$YKYT+$ob?~A^{2Z2mTg^y=(E}F1w?Kv;k+zry)Q!SWLea28XlS zUl}q7Q;vpTA%g(a7|Q60!2zBMgi*jd4^>MC5rkf7wde%uo)C&Cy)P|6%Y=%0-Y-j_ z-N-nV@;0Q-L86@7bmWM~xNV!R#AFuhXUzi7u;EFEX~G0UNf11B#YV9M?GQO|$Sl$8qvnnLGaJoOopz6@XQ0Q(_@kz>J!Ph-f$E~?_ETyx z{&jEZ9D9~{=&cD%rJy)E?+7Slh~|YQyNJFPjhz3H$dTyu*E}+EOs9?|I0Mp}Cj060 z6Gb;spzZ(S`^RAKnEWfBteQq3L)KcUuOD*@gg|*gO(Eozf@uUHuCR|ly@i5+`8=&l zcZSaU#H3f2ri>_A*&~n0SgfSU{-(jhYBYa4x13+2)-sne7In?w@2`3zICBtZ`u1C# zIfyHeT!eBP`8UrkPfBoRmY!OHm4TvA7@BE^fgpc-r z|7QQ8t%OsB(&u(e=$<+G@jnk@5Cq>di*KyJEXn}uznyYS7~%aF$B;ofFk~c`BlWI0 z0L=vbIh7?5R+yCW-tre_GXEg|@Y7GT5v+a7KiEce7`(o^jEqj+%DwtD|1eP}Z)GDH z1FxEM%mc4xWUvvepa9mVC1mc0{%zX^-Xpt@e0bp_k37=zA(_iB;lJEQ82=Hno4+N`GH!^WLPs9NEE1i+{#sFqYk6=E*n zn~_lOWD!*|X*J;^xWyFpNiC0*9W?b-urrnOOt$or&u{0n?5QS1gx~e~k}0agtEaV% zBB6(FBeq+}$ye^!bje&@jjFya*47ry>8Pz8*|EHK{q1*bymE%d6I9f-7Pq&QWsj+? z8`-(EX2V^~K;G{*9R8Fj{&DM)$4f%lD{n5p?$}NI=eI~~{8t;Um}wfRsjV-GHe@w) zb~a>Pxpw^(({=tFRlF`zHX>EFi$1a-lLv7Fl*g4uR>e?$PT+_?9r05|))>GefZj=v z>le$6kkpV~BIN%SgH$LawV0Tfei{D3^z%FJex~!T&Sy@2{fyK3OgB?UHl+$)BB^w~ z?5tCj&=zQ7LtqsWUdcm|kd z@W=ELq(pWz>DAO-5u(xC(qY$niA?+R`~3SLxDYZ4^Y6d^XEN<2Ch^E%{7UO1ACPS) zJp4c|-}eb6wV+fOpOD^M!g)^cTj_g57%IlLf8%w|M5`|`#EJ^hBRK&GBTynhGErg$ z%>8K?4>euW;7%>D?0`Vg70P-74h4ZeA&)(Ri-M>yte{ka9Ck zF|iOgv zp4X9pKs7$+j{G21+;!5Y-#mi@cJS8{ivo9+a#UH(XaK^(%|zf}q@Xs6 z9L6G4VvJBbehi%1dXpH(AjJd5!${Oe%UqbPQ9&Fr1A_sQq8 zmvfbV!s;-SGk8jaasI`EW<(JbGP8!`t3Rr%iIctK#&$;nn_aFIf;)*$Ce}0E*WD30l;)ejBL-dS_}AfMe_CL&c8CNJ54rE{%Wv^yb~y?2-=u; z!POJ+M@za=uBOwR!4hx=izLS&hv@sIcFaXUfgw`KmqGJjuyk~yE3{|Oi379-ycn@r z=LNeB-f5IhB%;EIhrzCh_-I5xC_-Z!0%p8iN2qTpRL=yDICge8b7`%m)|>L!;;!Z>T8;(J#~3+=M3`52OReS z$MiJKt?n*z$w0>_F$a4kf0x{?Ez^vfP?h{@bXj@(n2K`Cta-E9DOH_UUqoJgNu|in z-1?AJ77Tfi1=5|{RmQ(zFI(7hYbBRCZn2ZI-Pv*3(fom@awjpS-p?cU&#D!_?KsVOl#=SjLRwtW-M>IG%fiM-^PA@&NpL3 zW#F~=9ln`M;G?372ep4uj~+FJ1pzBg=^sTL+zQwUEf-Ed=pWS#9MuAy9pwo{RSFbA zP$=87VoYVEI{ITSahSyz`84KWV?(&ANw>U@{QDsP?TztzGkEm;=1AG}2NSKWi3gv- zPq9KB%v8jC4*q4$jYQ3v`j-3Z$MCy&o5jmGOk2MF?ZX#Tc8~I9wJ*;@NB{1iMjSxL zVyRt53E-4?~IJ3Q6+*PkBRuQq7 ztoZ$+>=jy5y4eE*&UGV9fxIlvCYf%q7{v_Ca=9S6Oe+b5LoUVwQdYPmo~&j~ne`k} zMCTEjmQ~Qjs-c5EBk<6Bp+AolIErbXP5GUMyY89)Tue}z1GyKCamZss(wLvJ)=>6B zipH^0ZPg#t30ka$X(-CfuB*$=WbKi#BRAI(j(lF2Dq-#^4$+cOG5>=nbSMAOEmog5 zt)SY`DNi=@A3RIip1+@zy~!-SWOeL!`xCqXBim1>se%j;Nq&YNnI=j<>#9P6K6=%` zYl4(j3?S~X>n6YE|737!ZJHHJKq3 z+iyOp5oZrPe+jd7;O~R?kQyh81(`tg5q!DSJU2o$#lg-`VGh(BK4@MS=%|IyjR}@e zm@<|Ko^DVri$Kcx(ZPH8mlh);;Sz;bCms3L+Idf2+R<_8lk;XAX}pA{5$Az$42Rqo zEF{Kj4ie{U$&*7s#Nz_2kahAeQvSEAcPQ+#OXZAW+B_Wo2F}t{cPSE=Q(Pp?sJ?CX z(haX2NM+ZHgV&-L29~p)O$!}RBudvXIzcxFIn7y-aTo9dDP>zw%jeupu0F>RDi%Q# zA6|)n^c-I&5miH;KO;_vc0#`#MAHdU5)y>E?(p8=yo2w~jR0LVsvusdFrfqb0x|~g z4H7922sU9@gUCfggUq4`dL+Jr4E9o41V1nxKIy)5YY69+?9O>0H|PEwTUtg=xz0<7 zI*{xMs*$@y7cUCiZTUy@vhT{W+C7;iTI_|4l4<1H$~?c#mUlES>&`5@JtMnR>%)O* z%oAYsAU;D!#BRqav+v2a+kLs^*qNcL%=g<8Qfa2$4Dhk zgfql?=|IO?xb+y9J1qy_kBDrDi{|l;v6YhI5a2>MB!&K^K$fXBbX6hf3*LlGI4C(j zU@PL%B&^@Q$nL+=m$oR)cg>6~b@7Q4*DobSf~M z`AU^vzJB!;x2;=~8So493ff;NPH!l?3q?cM1L=hvFWx9cOAa5t3CfJHpwi!81h<}3 zmu8!y=|xE|-^cV*km4YBVBbLB@#7LvGX40OLKXuB^<0K$iS2=2;lt|S#*+gw8j|aa)czuI2xdhGacoSiDJx*#3fum z7y$Vno?!R`Q?_7r=awmC9z!Vw=_-E!PKJ3?7!j@V#7>pv$auPI{1J;Pbr{xcC_JmL z21HSj2-#eq`GsI&jnRglQl>FYL#GkUAwt0KX++kLYAqIRo;bGZYliu{YV5?#oA2Mk zd|lmzm5E)|Un4+~Y#y#LCGX!-zD}pntt&_9;^v7`-MX^P_irv+r;|?H%pM=EItkcJ zVJ@kM)uI~K2SDE3*t4+s4}2$MU{w zFdE~NmOja!;{Qgee+A0kM{bH6qsE3)3YA(hSuR(kDY_N!DQ(Jbg+lI-PnM?xuR~4I zy_)+BP6Ph!pG>PNP%RDl?5`^_DRORGWG_&N!(+E)D9OEf-!|Zc@tYnI=!NMuVE+WS z@T9oW*g$dy55$=rU&`rHE|feWoV#!EQU=3_q3h$0Qn*{;-ExRAz?X*wkM%O=n1u*} z2BZi84~DGbKujV9Q~|HZ8WS6(ppXa|1I%<7J3Nc|8^ph~3vrA0&iSh5!hK&x`M>gi zjefcBqUx{a>~)jI%T}%aVfCuZNF(#c8*lLUbBX^j;XT#-@+o%GaZ;~(t##9(Lz`M( zQ}It8pTwSec}JN4(}+-L1j!1cB_NdqoeDuVQLGD<2s8uje8J*yGja|dqtYSug;N71 z%`STOHkD{pdi}Tk0lLeJO1|^eJpX=gv{=l6sSRp82fKrtLomi!7pL2Fs0Z6!e+oY@ zBr`s<%EZsC537-U#u;Ropo97OKkoi7N0CI5=P%$dNb>qf`>uz8x~?XwBfHuo`ZH$< zI{1VmNRyeQ%7$fy<%cDRJ+rzy=-9T+5lsFc4k4GS74sM}TcOq$w~lHn4+P5FM#0%I z;mlRX;*>Zs{oI28L}#1lYa7U%IdF z7QW&rzwcqPU{n4reft36UV!ptpOLGBTyM();J8sGf0Iz-D0!Y%xjN9Y5Qlz7t_t88 z>_4j{|G@QVR;_Zxicz$_pyeReUQmQm>dYAqFt-@G4}ci>i>w`P2Jx;Esez94(7##O z3_>(okPh&moDY^ztiYgY#jKB&SlIbnAKZ$6(qLCRtTA5 zrq*+x)=xEuvRG%=+O=I{*Q^;k_{;yqTt8uC!<6JSYla2Uw;XXwSbN%Jnw5c-D0Nnk zZSP$E??;yV((@zBNh7SDguib^QGU9A#S!9|yEjnmU=%F#Nb{UI&B+$610GCHGz+@q zLA*2SztzISfmY>1GxF(;G5mPV2zDgkdx2Zl$R@64JXc?xJT;y)z5|7MH2*l5gH|l& zM)RY|gY7K0d@!0W~6 z31M6iAU3E5s%^0LXUn8_ zMgnP?yYe;2&ssp%ygXXwOm>Sa%1ikRWsXeJRvwnKLFRharR86!w;_?5#_c98n~UVm zK*2uAJ6l1Joi3A4&C;4x8b!-PjYg$h5&S5o4NYV+>_x2)H!y831AvbFv64TTG-d@c zx0#E~*?JPHb4V>r#~hP>A~W9S$nMc9e1_!HFNREtR;>)&zn1(knSFPi#HhEvPw`YV z2NLz~B!q8A^9iN2L?3k4QhY~zJwd~xLV;>}!~fGDAp{*$ehLIR45y~>MmZpSq0c1~ zH0newf**a@e<*lxeoNpNSBeqal33P$0w`dDhQud+hVsXXgyXO_=%*Kc2jXo1K%7bn zE`F-t>j`r2o)U1kTs(n8vqWm?pYR+sDx-`>68Q&vt=SZVu_Qx4^9$Bd=qS{>0@fyq zSVa5YYk7?a{!PZf%VZUPZ=bwB&TCrdBvr={O zKM#z%d+V%nM!!!1{1i!$bvqRMz&7&`zm+fLw?3p)>i2`Vnq$%!?g_&|$oY6Q-qnPAS{h|WoMQGBMMe1k*S?_c{%@vgA42w!^Wm~%0(y1{Fl z%Y#S~qbOd2ye$0isUH?4_&2!q9}C%0t@B#(j~_aID6CM7fkHU?<<{bpf;V1_WmEuV z2<4;5%fbeq`Wf8%kA+FJ&*IiW&ph+9a2T?o3PX`F*Whmz%2?4!5v?boOZ1Xf$hsqV z=XxO1JJCamp#w>zEHy+SS`>LQ0J!i{>jO*46on>)83FaaSCDiOjK&t}FKa-5z=YW? z<|cm8m>!eXFd4S!h_wrlGb9HU$+3nNTW9rD2e`UJ*&hCLvC`&AD_uB-|M8Zau>G7r680!! z`Cd}#Eg*3s-ZpwlIsen)n{qt-^ZrOEU8WM7{SlcZSTk+|mG5iu%)5kV&V%io#$vb` ziBvEEK)PB2U|be#lITznnR#F?fq=!FA6BVgh_Xn~!O>!Lv*5&qVNx(rf#zI@-eynu((-ZdJ@iP6wq~bCUzCjX?ccugz9$|$+`T@K{SfoC zzV@!i;dcL)fB43Nn9g%){T3qq%bWYQMkTeoGE5OFLg}02 z#P4uwiV<|f{CG$~gZWLt;dGvp#K2^F_ZQ;=pb5ZetFNXy14cb^fmfRJCu%J}+~<2sti294?w^EaF2fR8d9IKnIYVq6a1-h=Q}~ui zjcZ*z!)!}#VJ^@))=Zt#Z1tPn>0aek8D!n81r7ELv&Bp7vg=EdM|v$S>@%l?lZk~s zqdWa>knj(-LqB+<$H4z`foL!I7>mM@YA4& z342&yOzI0sK~ZWAP_hQ!5K$batq2+wGNnVDV~fte(JiS|4}oZbPR#|J9`&bLBT^qt zcY}$rFk!_Jv53_Krhn8Dic)$Wbh#kC2KGwv8HFi*DyCs@fS?yT_cnlbz;{dC#F^tk zNKRrA+}5WD3Dm~v`RkcmOG@*H|Z_p z@@kmHSczQfWK608S`v2~ZBCQ@SMm{kGt*+vHjhqm_%PkGM zS`NxAMu%J}~lbMa#jEuF!o|i6V)9h}i-0hea%kpJj z20Xk$R|>^8!fLFq$ek8X*kLz26i!QSw5c@hc}~sc5mU(OjO0V_z{O-i*T`KOsa3Bp zWsQnrq{X_SG&{;#U7kQJ;IVAH`qZ9>ui2VYl(S+57F(}*c+aV;g|c9v4=mbl29BcxKFHc9>nZjLfo}N`GEJW^`H#tXVltkvOpgG7D>J z^0I^BaLe2|Em_=;wTIwQyOTHZyu_Op9JqJEz6A^R5$39NC?ZO4t&jmEit2(=@lBl9mF-jn+l~OGCI=3@1cO13MhXd7P217EvNgHzc_aVit8N z5?XMt31#pYutFhHTMGMzZWHqel4`&>45~WXV+ATu(Ou#uF|$Ny+}MXCENAv1q+LJs zI)ISC5g9=Z=xL#a#e}yLT{|h4scmVz<%%mv)yyZuW4khmH>+1}t?` z%ckzIUu17w)w^WDxHjg1Qtz~dY?<;c?On(c!?kz5zLWim z@L5R_e+!uqD}K{l;ki#H;~0IJ=Z?x`uFYaM)Y>ve)LvIm&i~79PSe+du}ft&G{&zj z#Ju7!f7!oh5C26S^W&T?TQY!Y$tVtAu-5M@EcAV8i*MfSwFj~T_Goz98h`niJySO9 zNW0KJYTM2lX_nRl+G2;_HD&tZnJd`wi;@?P8B-W58NKA4O7DoUtBQQ%sthj5=f8dn ze<~}97P$(@V~-`@GPzBl5F?YjyNPzvq=8bREyHoiKYSb;GbYB|R#lakm!ChAXvSL+ zlEhS1m6wwZIrwA2pXt+cavmZV(VEF_T0sAlm-81^R7_IOnaRl}*lee)VYxiRRg&v9 z&m>wmtVY=Ox}$QR)}oNk0Qk$5T!pKa;;PJ@{MSUATs6Mju2V>Xhsr9m>)>MyXlDD$ z?P|E1l>s*`G=ajoj{oN6mn$oGURuErR-tzpgW+GA86-OeUpDd!A(N<= zbvs)WGB^x^(MnHo(3Wj=Ak?sws8}gWayhcK#iAD%=5S&M5lbaXiCU~h(33bUW~#zf z+V2&gZ9~>$bWycfjlEKim>IqD^wrV|f(j`olaVmJ3T_4KlgLt;R4(Or%caT@ zBeWS!h5jO|tXG1lCgk&!$iyzBP?GtTG$aL(Uq>Vm%vP)QQkhH%iaoJJ{ES-PA+|~< zjv`#!Bs?I8dI(;4E>|Zrj?<~_U>==zl2fEid64Myyvi$OgBIsjD@Xmg^bF`57=D5wc=6UBT{EilEYFwUri zg2}{!!hpd7B%wHqQP4O-^aLmpC^=)N6^K;mFivc>prwXzJm!Rvl5^Xiq{?jcS`98| z8F^%hq$qOY^STCqda%6CP~X{>S5R9Y@)Wo_J%;Aqj)DjY8GE-G^7Pd?!IA0t>8dPp ziB_GSuTX5?msYCF-?xuhk{fP{M`b(q`O~{1ReVlfU0z-tdw)UE)ZV2vu?4d$bY)H1 zCad@-=Iq(e`Vj%2{J4Akj87|S?P?3sFD*+Ch8oLjZ5pf2V>c|%3}h1D(u>S1WOM)D zSif7jMq2c|{W3P)UCP6I>*0Sx{`|p)vf|SGL8c%2;@= z$7sygFb@p>Y_Kh8fYbd3^K2!!R45~r0qMtlUTS|1iHk6$fT~7EMPxY#-~&)uitZ00 z?LAG2Le)47*Cq_Wu!e(T*i!WctQ+xtZ|y~pn@(3TE`2T+krBmD_bVK-u~>QBSkyVO zD)iY?GNdh(ZF(w7ZpI$w9{%8q#jOkW?OpJj^l=qB-N?C;xWXYnahHry^rFH|=^0s5 zuDR=*%MK8+(`cfBdnTh{TMt=?3RJ!#N#yD0ut4vDQpBCP`G_2lUkFadtb=8J@abY8 zPKg<46vKHRj7vSr$mEag;;e^v_FUUt!1WJ3=w9ag+p3mUk$U=k|NBAjAAC6SFXpF- zt7~Q~itq_Oo_g?YPY~U7{vdY;p7+;1IDKyFUr7kLL{dJr7)2?8Wdo`Zly6wjsN_B0 zHu0isc)^f^5rCox@rI}dhi^~)Y!NT)D-@OKfyQN_L|Ad^E5Twoz18sbHz5n@wtVXF^&SswvF*6(ksliMPmOnfLH6h?3s)?9F zUnoQdpO0F&&>amBixw*#u<_x6MG|a;5%gA_$cqDk?V-aqJ|%n(f>kV)jKUvD7qPD_ zoLaMCM%BXUy?x`D;+Bn&+KjW}e4Mg#03&7%ldK@5zIA!3#^9Gm*rc?!iJ z;mV(%yfqMg`Dal)5nv|IPnFI4uxH?TCf=Xymxzw>KlXe$4;BBY5bA;|O7wD6s4JAs z`|H$`aiMO1>V70VWU5Z!wiYC$Xvnrtkgpz&c#8;_Kqg9Y&`9Md8PhmFmp`&|`uZ&o zPhqxH3_KpXsEcs?_kZ5_)XH*cLus`(Q)90MfL|i&X{?!;ylms-qgxYWnfj7bKeR5g zG`-D#*K_kLYs5vNj6hvag`Wmwp7FhAVVuS%03o!3Zb)IObR$)s zS~p^9100p0Z3^6H|9OK>yD)R29=E~2sp*%{7}4y`I52;?Ar+kv<+cZ%?(D|QbeF$9 zFSp(AHd{kBU$)yBZ0{C!`7(r!T%S-SH?Q3f8%dZ}`Q;J9UU#++}LM!MuNJJoDQ4AVsY5hoG!cFsMA=m?Hnw`8j1G{JDq8%o#)g`vpX#P za4Yrm@uC0ASY2D!sHiK)mhLGJ?rHt68$!ED2!1g!oiBKiJ}&}Hr5FEYqMt+%aYS?? zLHe0ER!=54(LjPhn@jeKL>R|04oJ{Yaik8uN}#0$kRme6_#=SJA_on=J7-`;OvVEK z;~S8r<+azy^gleoiq|bVoD}_mOn;5JF!{lvbtok_V=F1Tf&X{`b2BRf(C@5!1M^$z z-sn(4dl>CzA)#l{;6FN42=^-$g>>ta7opR9%J=p&Bk2lxW4%sqCJ%w^MtFwfe4AM> z)EcUksuO}igW$PfiXKdr8O2U`^+Qi7ll{_BTsMk1HT5i<{e) z=CrmHHnMSv&z0!_lIZK*PX|h-wQn7Bp|fND#PHGwd;7keRuest;U@=fgl&BOOZ%q; zt7pu*aOLij7pJ#pRi=BaxfSypb^0ZTfpE@JI&#G`3t>&E!z*BfZ!5z1MtNi@Cl0(F z$eoTSgZ}KZK!p~(id5IdlhOgtLI(vJ?1tD|b4upNhK2}Xgm8mb`xm;f_`qjAe^|~j zh5izlM~poog?B`xeG{XbKFbv@a*(cy>5bO1(1L&$L%^YL)hnb7V9Uoz#| z^}stOIxB;;pHhZI)#xlf@a5dSp#(*~`Gde6{3ptz&; z>uBEyMWEgTA7Qa_LJ|WS-$2`ppf99Dgrw8_cpy2$@JUq*l+d{v#5z?7&0d)9gf&W1 zheQY``4_@I+p*eank8iA{kJ@BC?m^BI-fpszF90jwxhD@KCQx{HTw+r^&BHIQpum- zui#INX{_ZB8NAP12ktC zXK~QUF9S4I7#jtS6p9}40NXK&ww<&6)Q!;-H%gx`Y34nvw~V(`jN7CUOsT zIwwU~B~w~m$;ruE6VXwlqKVX! znY?T%d13UL%E~pP`SLl!xNtGXl%FszhoO@k#<+CEL!<~&l~rB)zcPymUCAjEvk2X zDQ*frQ{kqMT54)qYA(8HuKSb<_YFIC_q_E;7H-}B53%YL_k|bU*Ym~)D~0o2cZE!e z>JL`-eD$uI-`#NG!LTne7joYYf&FLX9_;3U#e9!UzNNI?`swz>^b( zoL7*9ALWUq2woNsX6P3vhFR*|V8B_fTsmX!8G!2+xQB+<-FQ|)qtxM6hm^xY?I&JT z#=L~G`jrfvg4dEkZRQ8jiO1EL(PVx~&D=Y>p=bRt^Qe)zm8bOl^3LMn1(Q0?sp{AN zyw+7C^9Ppajc%Aaw13T(K|lKE9Ut9x3)cVjJ+Guk<>sE+eDS!a z^YNvoYjPYT==|C__mA*6&aKZKx_juUwd#cn%Q`0y9e4MfSt}3V-Svs%rcF6-)LC=x zoP6Hs{Dlv6-;zw-^qyr+&yxeh3)AYmQ?nhFgUD_-uMYIg$Mz_`_fP5mvSR!C!TF`L z%4Y`}YkTe(cgBtPJaE6DQ>$hcS9@L7VIw_d{jgh1zkU^EgG)*$u03;jdRQ)Yih7;w z`Q90~pFeU$V{W7)544RJSBriWxY$}+WSux{ z|JNoe-17LxFCX~puC0wN9hs`>(<-k0E@I{rZ@fI&ky}h>oM9=*b4+^aSBGAj?8wiz zjwo-!P6#=ZUNpb<4J@30SQo&NEyB8BDE3K{PgTl?KjeoNu{1LhJks$TS`l{i;*rk} zg5%r}H(B7(vI+Bt^1G&6Q$3$a04M5)u0FC_bge#ebx#$ap>M_MeqjnvR{}6^=qZ#Z z^Pi=*{;P{2E6&YV9}zRUH-M`+-@IR*)SI@Z%qc)nQ}&@eM=!ur3K#I3*=T>MV)k6z zDsSM7w2$UX7dU5!lG&{9ON|0Kdt+SWkd*RD$9J#pS%(iPeYLc#42K~-B~9Md&1GfH zE4)nuu$$+gg{5T!YD>yW{aEqW4WM(UdV9Y1P6aspjOV;lm#57B>eFc-g zG`aBb27ZS|hVTS}9v?q`9J99UT8G}Z$N(R{A@~8$=g2>fccNHQpP%S4ci~HK_z~|M zxL*$}{rdt=6HGQp$i{3!qDvPl1@8yUt0*}7&*HN&^I5tieqvJ{S?8Sqg%VwTzEOlo*g473j2Ch@q$Dr+-Z^I5E&}B2if^1#>i?~tJbeX)6 z<&|aVvh%ncSyq>+Gb@Ml8ON~^3JscUTGj!13uFK->nQa^jJ9lKJ_kZynNk+=InLtE z*)(FtSrGT;1D13~oYhtKg$a4MPKWmNWofu?q@Ku=WkC<*kpcIXDe0NNZ|E`&U^?(y zv*jCoU1-E<;DteB>C4MFgaVEwzDw#h1Zgh+L^)lia+bw5z=66>HO zPG^I;OV>fRHSk$_mdhdAMh1Oj7RP$@=Am4f4|>Sy)e*8LAmmxPOy_cdZW9oC)7dhR z$9=5V3oz?qE7#L3SEhlJ^hiq_LwWCK$W~J&9#--Hdn<^e`a=Aj8T5 z^g`wV5Bj|9_ylYQzT&%Of=AXL_*~Ajbm{tVn+OAD8sybxX;HqJ1E>E}U_FiCF|Pn@ zHd$C7E(dXaFK-vVdWitM48V_+p-Zo)K{o_CaUCT;Xd78aBTvTJG|Fsdycz!-m{yi) z$TR3%SzhQeo?+IF^<^0J634vIt=!&q{5Z>ybX}5mK$gEZ2A*LHVlKmh0N$)TsW*>( zV|%DL%1he!>-o%wzLT_B|6u>hG_F@R=Ob_$e5@1KPu7d&_3{`rpeG0K*5 zvbg^ckKr;|2FFI|$1(FDmhB9E8UPpfrOV0$ehTtSvuT4bE30oj2(%&O&o}h0M4Izw zA}nFOzb}9`pF_6qzbikhQ#R&&hB;*0f???B;+XTZG63?g$z zCYoffFt4yox4dro#yZKm-P&!NYddHU+q-esZlmMFoas3`a(bL|oEx0)xyHLT=Qigq z&3!emHt*8Bd-9v}cNCNq%q-YmIInPB;U9}Ci?$VyE$-^)?oa&}_TP(-btmu&x$dR&=vc|H-WlxkH z8`?Z{&Ct(=O&|91@QK4$3_m!$yWCTrDBn^3$%siK){i(a;_%4Ykt;@ia>~L}cAU~v zv8LkfQR7D)9lc`o0o)LoJ*IQa$737EhQ>ZH_QP={<66dTANOA6l*;YnZR3|sD4wu$ z!kZH-C$63N&S~YREkEu3s^;pF>Q1-Cz101H`&dn=W>3xAp1GduJ%_v=?=9X>YiHFS zteac+dHsrpVGXf{Cr`JWK4x|=tgS>MvXrM>0oS#!_YKYiZxPi9P?5uUMX#Z#w_*oRT@(oX_U2yYR(}W?%H= z#m+=TB3(wm#uV?<)`E%wko4R57!xr7{Z}fNhKMtH7xFv8PSQ1qIF=lrY)|e_Ia3=`$1aaueo!5)YU$GSru2TTQrn&>&unckZ{M<{Y{|BzqdRIl zCw6L`uU|3jiqI7gFUwulxJHv%l9rna@C}(LRTGI@#M;RE8kny zvTDPsqpK@dFJArOnyNM0n!{J$v$lQh!`HN2v+SBT*Nt7Lt=n^L?zJnfJ+i)K{r>Bw zUbpM|#P#=F|LF}gZ&k&2Rnm(5<0cw{0%n z+_<@GbN6k5+upqW^xJpcG4qaxx0G*5Z8>(Qx^>T8{qH)uExhgM-LvoBe$VK8_TD@C z-hJDPw`IGr{IUrR+~J~wj57W#qd{dI>D8eDFyE! zE5I^$2$U_5o`B3I?8L))NmCs09E4U}C5l11YLuSFvyFyt(DF2Ski%^1! z@}jc*a;dc&`c(Bws`&v)v!Rs&y|^A+KgAT5vdU45BrqDU>P69o#zaotds<}I28nS+GtZ18199>t@?ev#{H?Gg-^$u zpr@fGdinm7_$JDd{(H*P&_cR43E4`g;Xa81owL%*VI|zsb5RR!sV2m&h~2oF#CdLL zQ;qkxPRF~|brP@J6^|tRj(74dg#Z4N*#hGYJ3*PQ$8%2Wusi(*(~a168ZYeOsXpxL zfhTUA!i7z!^Kcct0C!+Fnr;w=VQyTOT?w( zGO=BQO$He2}34CMVN%54}E1nk5h-bw<@f=>OdR`n5FNlNU=i){2l6YCXB3>1*iC>6c zir2*(;*j{2cvJjZyd{1k-WI9_3R36;cruQ$OlY1E_=snnqG74Z@pxL#T{~5;nJ{avDJ+v1wHW zjiS*shQ`u3s-#nCJWZg9bQ)DrH9inuLmu){E!9yyHPGqwBbr2$X$qY|jnqU_X&N=t znbbmO(R7+YXVW<}lg_1CbRNy7^JxxUKy&Frx`-~Oc{HCE&?R&!T}BJZM~lc$0n?il zq!1|-rdEnjlonGP#VAe*N>Yk0CzaBqQHI)S2`!}#>ZB`Z8C^-s=_=}?AJYn2Nvmiz zt)Z)FEnS0cTd$?{bRAt!H_!&Ukv7s#XcOH;H`7n)7P^%-(`|G+-9cOEPTER$(Kfo9 z?xA~WJKaY+=ze;D9;BW05bdJf^e{a_d+1Smj2@>a=x6jKJwF4w!y+kk5EA%S8M!%q6((CjF9im^+oAhgXi+)3I({Je=dY9g#-_iT@0Uf5_ z(}(m2`XhZrN9a#ST~(_iQq{gpnUztN|rP4-M8T2<9l#j(4pDjQcDX}1yA7_rBQ zy+&MX#C1koZ^R8o+@#0u7CrXrvA1QKwKe8Xr>*f!IvTX46~7vcIFv-Y5=*8OYXoV{ zlGgmHlMg;6p3*ujnY5x>!qHgVp+$T#zuKyh7O^uNO>2~Fv#Clv*{;|-lgYR*nsCTC znbFM2aM+fPwkG^Bb1>Oz)l`2vVu>Wingg*}^S4?M(w0Cn+2-Iw+^@D-Q))D!*@FJK zqWUf2WI{uJEM$vn{#Z2V(v+o|FQP9YLLRv{UhgGqG5%0jJ~sSgcT48jShl{$8~#tZbf@06i3h>QxYM+YE%7*P%>^0CgXARw=M2(O(>c( z+g_PeZ#%MnFn4WtgBY;6VOXJ}>V>(C1glVBDBiB9S`;M~8RK5-q;cC*{rgT^^n$r$L<#e7F$;1O`Una#3 zS74-AT~6mnM-uVJ!Y=7ubf0494uy-zi$xP{FiyRP?Ws&Uf@yt|}{>jmX!2d|!VN&?AjH!AGN*43sbu{Nx`io+N?0hOvn~c{O}OwU`9h%raGJ{e@fa*nrWm{p~z_TaPmUL2uso@~m>=MG@ z$Qf zTM!eKqF{ze!YlJkDW?;zLLd{3VYIY5z?|ZFC&wR0>Hb7evBi~8TU2v}StXRRSb^#a z=7ET8cT2b`tQ3Wk8FZ8ndg929S$q;kx4)B6u)mYi+$+u#{4O1oj1C=Uk1FLesXe5m z+c0g|V*V6I(onSAcrw8ClA|%#uy<*1&dW1NO;^pOgL*%swuuBPqtjY3`^P$*hATkB z6!vw2+=c~x+#si&%F+}MQGn=ObYLni7a-Pj9Ew=Om?0A8xDv6qVs=mYLk_q(X%`M& zOE6o$1f*+$U56ZKW6WOu7)DS?$&m_yELPC#?+gb7XQEFQa?o3X@M1a4;=^>=#?A&- zY4N%18eDy57FRlh5sBd&O~I@)0UZKaeNApE)7i;w7gd4^CQug0tDO83ATM-m=}1(G zh4Ql#jjl}*Pf^+)FN7KF&6H-wxE<0&id^J@ySTbPg$4c2S zlR;n9HoJ0QnTE@kNJmV;a+ZCD4oHiIia~ug%aLxKML}}4+o@0aoaRXw!&!|>MC>JoE63-U5q$>|-lh0+fNI-p`I;tya% z`fA(_#l2V!?lh3mlyu3zqqtgmS+w-QMJJ^=AL42}eDLOWU^dMJ6n$zl5|*Xt<{Umq zbT17zrac6^!J-;29Sgv$^THYn=~mSrw}r8$ZBxzuP{InTt<>ITU7|z- zNt`$&@DGAIcfPDUhJ)_88Rr?GS0FnF$MhvQXVvD1l2{MO(+{KZ>*{mcu@uLuRO$q( z`l>vAW|IhCl2L9x)bN4(s@}_oT0YeAp`H)&w5_GOsS0iFuLh=pnHp+1$xIE*)WA#) z%+$b44Gk8br%G}J7y^f<3dMM;bRIXE~c)QiGvJrF?GyQ&m8s4!FJ(cyYR4Gc-SsHY!@E33lH0cr=B?)n4^I? V*eEM;|ho{trTA6=?tf literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_static/fonts/fontawesome-webfont.woff b/release/0.10.0/doc_cn/_static/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..628b6a52a87e62c6f22426e17c01f6a303aa194e GIT binary patch literal 65452 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 q%u^)w#YX9ZIvhtu?9Cy6YRi6f6G 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_static/images/PP_w.png b/release/0.10.0/doc_cn/_static/images/PP_w.png new file mode 100644 index 0000000000000000000000000000000000000000..bc58b0b458135773fcde5ee941ea095e3d4d07a0 GIT binary patch literal 3183 zcmV-#43P7QP)cD;W6Zok*>brWT#zpAeL`rgy0@4fHz zx#ym9y6eo03@{wn19$|OlLf;N8i5mm&wxJwA7{)z#|DnNltR2UumIR9RQCcB=(TAW zJ6r)=4%E5x7T^cKlni+1Xd_4~#4iJ1^VH7-4oSlpH~^UCsW*4e*HZG&(MC|8;@Zve z3oyX`DfkAsET+B=xFiGqIob%)2=SI>+8R>u4bZJjTh9#m=V&8HBgC%&>tfngrr;Z3 zZke`+GvJ@2jUbH>16&(Ze{M>?0OtW8dFtN=CT74tM;k#}A-)(m2WSR91>OLT1b&~A zFUY0V7kCW#1PS#0#M|LH+9}d{Cw%BgHtx0mH}4!9DAHw%JY zz6YERGyxmc$p7jZuglQ}QDSD4uoZcLqP;92Qd zVrHun(vEh0ni#5^>gtBnc>n31F~4VK|1z`F%&fzD7_+%?C!syr(O==|^X}E$w}JSL zR4ecta5Hcd{yd4%p1LbTzsn`@tOOoJ_U#Lv_5(b9dzo}e@e7bS(iM46_6EL*T!jat zC}CT}Jm4MV&+mma;J(1O(f`--#dR$k)FXfF=k7chP%GMaH35_G3vd@o)&5E(C;?_u z{H901XD)J+9gkmtas7(omKfTkxE}p+LxBN6e_#o)4>FJ1A|{|Q9|U|IJ-Ew&!+}%2 zzFv=a>(LUhLGWYBboQ9%~hP*?* zM5l5%3(395@xGyq4T=xq<=?)@ilFA!^IJmqYY*=1~zXFWF84hd|Sy-l`ltC{T+ zL(|X0`>7PRT3{2O>}eb5+Fo+!PkZhiAZ)*3W?jtefim<_n|QFv7LP+En|L!b`-iLl z+|2&#N;A#R<{{d^z8r0(V;<$&X1ViKG5uL*W@97Qb~DLE9HKVyNHhDm41Fb=cv~}@ z@9Ni>*;}SPnwi%%sQx0(adIBdQGxG+D;{~@OxtNKxccbI? zBhP(yKx5k&t-QS*?;$83rV<)}>By`-7is-%9gq9a>UVZI?X{N`H0IDq+XiROg ze8=PNx<#J0cOtykR>?c5Cf?D^mb$i+D)1QZ=uUCx+nBWAduG03~ zqjGO~RDcC@x6}r5xps15l=tL)%fG`S1VQZ@tl6aHmsLgYL!XP&R} zo%sM*n#&nCQgKp*Fgsf1weCr~;cVMGH~hlhR} z+MG_LIB0YcQdnKx`8qV_Xj(uuV`xB%Vj1vW0(u|%y0YA+v1o_bh-}o2QKV@y`eP44 z8gqN3btY4IG6U2aMSBMLA@Vv*Lt5tO2+gMy?59R#{~d)U_+^T1)JnJjMFU%qjT`kj ze+T)*SE1<947Bt99NA>Q3eg60;7ddGArOdq3J***2p*!Vfv3vQMfWAAqyKdsS}|5f z+Q*`Yq8W|xQO9E)`tHY1LbSmcl8m`y0-8z)?sq2gb$byO;wcnzbZ-QHiH!G)(9*gP z30S`f4?~)(R$PykjbTXJN0W|bxqIH^`VroYM*C6;%h9S4hZ9_R29-Bk!OF9B!h5ek zTCykbR>Et-c-xiB&}JtomXU1CWAK0HBaFaoN;2lvNC9n0?Qi4+V_rax(x-el@>LF@G}-8lxPjG(?ymIZK}Vy9 zfi@iGp>3d46P2S+l72eFm8W}n2iPu)!QYE)gH7>U3(c9!Q3$VtOpPAVl_xs!s{h=oJUlh-q zlA5Byj@x6#HqVunf*n0W{V>Nr96Wh9L|ZP{5k7V^x#j`{TVV`g7h4B2 zo9Ur#F(qG_RStIaH@WlzEVJU^$y}dzVjXg(Ux)0OaTIHno)p|YAE1p=Idnox%?Amd zJW!lJ(1MR3*U<{}{Z!A8D@@ z$Q^krva6#@?1|`wfg_OjV-a$7EeDQ^@Scve(2`JHGs^QAjZD4mkw$+LExq@IXzy_2 zeX+urpFyk1#Ynp^cm22-eI8**gvXt(A7>$N#XHDFIStL*st|1p(xT&#_U?>UyBm>- zIhtZSJm_eXtW#Li*X@c?YcRg?yg&lN`93`k#h}R<5TY&z^4bt6DUNx?u;LfS1 zuvF#9QG&Ez0BWZA1KTT6XfsI|wi3or8mSpiF3dS1NGrrgqbOb&@1pp97N47XgVMzN z^GN2N$#tf@pn?c8V;%#WoTNRv1kvOq>=EBPV|t zb;ymCG~An`jUx*oegS{N`dIuao7G|jrAaHDP=qKek4TOU7+HSW^;uw-NL?#R= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = jQuery.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isFunction: function( obj ) { + return jQuery.type( obj ) === "function"; + }, + + isArray: Array.isArray, + + isWindow: function( obj ) { + return obj != null && obj === obj.window; + }, + + isNumeric: function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); + }, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + + /* eslint-disable no-unused-vars */ + // See https://github.com/eslint/eslint/issues/6125 + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + DOMEval( code ); + }, + + // Convert dashed to camelCase; used by the css and data modules + // Support: IE <=9 - 11, Edge 12 - 13 + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: Date.now, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.0 + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-01-04 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + disabledAncestor = addCombinator( + function( elem ) { + return elem.disabled === true; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + // Known :disabled false positives: + // IE: *[disabled]:not(button, input, select, textarea, optgroup, option, menuitem, fieldset) + // not IE: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Check form elements and option elements for explicit disabling + return "label" in elem && elem.disabled === disabled || + "form" in elem && elem.disabled === disabled || + + // Check non-disabled form elements for fieldset[disabled] ancestors + "form" in elem && elem.disabled === false && ( + // Support: IE6-11+ + // Ancestry is covered for us + elem.isDisabled === disabled || + + // Otherwise, assume any non-" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + !compilerCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( (oldCache = uniqueCache[ key ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + support.getById && context.nodeType === 9 && documentIsHTML && + Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( el ) { + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( el ) { + return el.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +var risSimple = /^.[^:#\[\.,]*$/; + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + + } + + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + + } + + if ( typeof qualifier === "string" ) { + if ( risSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + qualifier = jQuery.filter( qualifier, elements ); + } + + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1; + } ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 && elem.nodeType === 1 ? + jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : + jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + return elem.contentDocument || jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnotwhite = ( /\S+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( jQuery.isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && jQuery.isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && jQuery.isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + resolve.call( undefined, value ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.call( undefined, value ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( jQuery.isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + jQuery.isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + jQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + len ? fn( elems[ 0 ], key ) : emptyGet; +}; +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ jQuery.camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ jQuery.camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( jQuery.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( jQuery.camelCase ); + } else { + key = jQuery.camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnotwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + + // Only convert to a number if it doesn't change the string + +data + "" === data ? +data : + rbrace.test( data ) ? JSON.parse( data ) : + data; + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + jQuery.contains( elem.ownerDocument, elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, + scale = 1, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + do { + + // If previous iteration zeroed out, double until we get *something*. + // Use string for doubling so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + initialInUnit = initialInUnit / scale; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // Break the loop if scale is unchanged or perfect, or if we've just had enough. + } while ( + scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations + ); + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ), + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); + +var rscriptType = ( /^$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
" ], + col: [ 2, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret = typeof context.getElementsByTagName !== "undefined" ? + context.getElementsByTagName( tag || "*" ) : + typeof context.querySelectorAll !== "undefined" ? + context.querySelectorAll( tag || "*" ) : + []; + + return tag === undefined || tag && jQuery.nodeName( context, tag ) ? + jQuery.merge( [ context ], ret ) : + ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); +var documentElement = document.documentElement; + + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 only +// See #13393 for more info +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnotwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnotwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + // Make a writable jQuery.Event from the native event object + var event = jQuery.event.fix( nativeEvent ); + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or 2) have namespace(s) + // a subset or equal to those in the bound event (both can have no namespace). + if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, matches, sel, handleObj, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Support: IE <=9 + // Find delegate handlers + // Black-hole SVG instance trees (#13180) + // + // Support: Firefox <=42 + // Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343) + if ( delegateCount && cur.nodeType && + ( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== "click" ) ) { + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matches[ sel ] === undefined ) { + matches[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matches[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push( { elem: cur, handlers: matches } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: jQuery.isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + this.focus(); + return false; + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return jQuery.nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + return ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event.which; + } +}, jQuery.event.addProp ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + /* eslint-disable max-len */ + + // See https://github.com/eslint/eslint/issues/3229 + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + + /* eslint-enable */ + + // Support: IE <=10 - 11, Edge 12 - 13 + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +function manipulationTarget( elem, content ) { + if ( jQuery.nodeName( elem, "table" ) && + jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return elem.getElementsByTagName( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + + if ( match ) { + elem.type = match[ 1 ]; + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( isFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rmargin = ( /^margin/ ); + +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + div.style.cssText = + "box-sizing:border-box;" + + "position:relative;display:block;" + + "margin:auto;border:1px;padding:1px;" + + "top:1%;width:50%"; + div.innerHTML = ""; + documentElement.appendChild( container ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = divStyle.marginLeft === "2px"; + boxSizingReliableVal = divStyle.width === "4px"; + + // Support: Android 4.0 - 4.3 only + // Some styles come back with percentage values, even though they shouldn't + div.style.marginRight = "50%"; + pixelMarginRightVal = divStyle.marginRight === "4px"; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" + + "padding:0;margin-top:1px;position:absolute"; + container.appendChild( div ); + + jQuery.extend( support, { + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelMarginRight: function() { + computeStyleTests(); + return pixelMarginRightVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + style = elem.style; + + computed = computed || getStyles( elem ); + + // Support: IE <=9 only + // getPropertyValue is only needed for .css('filter') (#12537) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }, + + cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style; + +// Return a css property mapped to a potentially vendor prefixed property +function vendorPropName( name ) { + + // Shortcut for names that are not vendor prefixed + if ( name in emptyStyle ) { + return name; + } + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { + var i = extra === ( isBorderBox ? "border" : "content" ) ? + + // If we already have the right measurement, avoid augmentation + 4 : + + // Otherwise initialize for horizontal or vertical properties + name === "width" ? 1 : 0, + + val = 0; + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); + } + + if ( isBorderBox ) { + + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // At this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } else { + + // At this point, extra isn't content, so add padding + val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // At this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with offset property, which is equivalent to the border-box value + var val, + valueIsBorderBox = true, + styles = getStyles( elem ), + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + if ( elem.getClientRects().length ) { + val = elem.getBoundingClientRect()[ name ]; + } + + // Some non-html elements return undefined for offsetWidth, so check for null/undefined + // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 + // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 + if ( val <= 0 || val == null ) { + + // Fall back to computed then uncomputed css if necessary + val = curCSS( elem, name, styles ); + if ( val < 0 || val == null ) { + val = elem.style[ name ]; + } + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test( val ) ) { + return val; + } + + // Check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && + ( support.boxSizingReliable() || val === elem.style[ name ] ); + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + } + + // Use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + "float": "cssFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + style = elem.style; + + name = jQuery.cssProps[ origName ] || + ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + if ( type === "number" ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + style[ name ] = value; + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = jQuery.camelCase( name ); + + // Make sure that we're working with the right name + name = jQuery.cssProps[ origName ] || + ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, name ) { + jQuery.cssHooks[ name ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, name, extra ); + } ) : + getWidthOrHeight( elem, name, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = extra && getStyles( elem ), + subtract = extra && augmentWidthOrHeight( + elem, + name, + extra, + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + styles + ); + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ name ] = value; + value = jQuery.css( elem, name ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( !rmargin.test( prefix ) ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( jQuery.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && + ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || + jQuery.cssHooks[ tween.prop ] ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, timerId, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function raf() { + if ( timerId ) { + window.requestAnimationFrame( raf ); + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = jQuery.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 13 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = jQuery.camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( jQuery.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + if ( percent < 1 && length ) { + return remaining; + } else { + deferred.resolveWith( elem, [ animation ] ); + return false; + } + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( jQuery.isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + jQuery.proxy( result.stop, result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( jQuery.isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + // attach callbacks from options + return animation.progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( jQuery.isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnotwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing + }; + + // Go to the end state if fx are off or if document is hidden + if ( jQuery.fx.off || document.hidden ) { + opt.duration = 0; + + } else { + opt.duration = typeof opt.duration === "number" ? + opt.duration : opt.duration in jQuery.fx.speeds ? + jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default; + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( jQuery.isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = jQuery.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Checks the timer has not already been removed + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + if ( timer() ) { + jQuery.fx.start(); + } else { + jQuery.timers.pop(); + } +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( !timerId ) { + timerId = window.requestAnimationFrame ? + window.requestAnimationFrame( raf ) : + window.setInterval( jQuery.fx.tick, jQuery.fx.interval ); + } +}; + +jQuery.fx.stop = function() { + if ( window.cancelAnimationFrame ) { + window.cancelAnimationFrame( timerId ); + } else { + window.clearInterval( timerId ); + } + + timerId = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + jQuery.nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + attrNames = value && value.match( rnotwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + return tabindex ? + parseInt( tabindex, 10 ) : + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && elem.href ? + 0 : + -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + +var rclass = /[\t\r\n\f]/g; + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnotwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && + ( " " + curValue + " " ).replace( rclass, " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = jQuery.trim( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnotwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && + ( " " + curValue + " " ).replace( rclass, " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = jQuery.trim( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value; + + if ( typeof stateVal === "boolean" && type === "string" ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( jQuery.isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( type === "string" ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = value.match( rnotwhite ) || []; + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + getClass( elem ) + " " ).replace( rclass, " " ) + .indexOf( className ) > -1 + ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g, + rspaces = /[\x20\t\r\n\f]+/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, isFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + return typeof ret === "string" ? + + // Handle most common string cases + ret.replace( rreturn, "" ) : + + // Handle cases where value is null/undef or number + ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + jQuery.trim( jQuery.text( elem ) ).replace( rspaces, " " ); + } + }, + select: { + get: function( elem ) { + var value, option, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length, + i = index < 0 ? + max : + one ? index : 0; + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + elem[ type ](); + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup contextmenu" ).split( " " ), + function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; +} ); + +jQuery.fn.extend( { + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +} ); + + + + +support.focusin = "onfocusin" in window; + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = jQuery.now(); + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( jQuery.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && jQuery.type( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = jQuery.isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + // If an array was passed in, assume that it is an array of form elements. + if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + return val == null ? + null : + jQuery.isArray( val ) ? + jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ) : + { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rts = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || []; + + if ( jQuery.isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match == null ? null : match; + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnotwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 13 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available, append data to url + if ( s.data ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add anti-cache in uncached url if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rts, "" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + "throws": true + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( jQuery.isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain requests + if ( s.crossDomain ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( " + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • 关于PaddlePaddle
  • +
+
+ +
+
+
+
+ +
+

关于PaddlePaddle

+

PaddlePaddle是一个最早由百度科学家和工程师共同研发的并行分布式深度学习平台,兼备易用性、高效性、灵活性和可扩展性,目前已被百度内部多个产品线广泛使用。 +PaddlePaddle目前已经开放源码, 但是远未完善,我们希望能在这个基础上不断的改进、扩展和延伸。 +同时我们希望广大开发者积极提供反馈和贡献源代码,建立一个活跃的开源社区。

+
+

致谢

+

在此,特别感谢PaddlePaddle的所有贡献者

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/api/index_cn.html b/release/0.10.0/doc_cn/api/index_cn.html new file mode 100644 index 0000000000..dc0562128d --- /dev/null +++ b/release/0.10.0/doc_cn/api/index_cn.html @@ -0,0 +1,264 @@ + + + + + + + + + + + API — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • API
  • +
+
+ +
+
+
+
+ + + + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/api/v1/data_provider/dataprovider_cn.html b/release/0.10.0/doc_cn/api/v1/data_provider/dataprovider_cn.html new file mode 100644 index 0000000000..2dfe40a32b --- /dev/null +++ b/release/0.10.0/doc_cn/api/v1/data_provider/dataprovider_cn.html @@ -0,0 +1,257 @@ + + + + + + + + + + + DataProvider的介绍 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • DataProvider的介绍
  • +
+
+ +
+
+
+
+ +
+

DataProvider的介绍

+

DataProvider是PaddlePaddle负责提供数据的模块。其作用是将数据传入内存或显存,让神经网络可以进行训练或预测。用户可以通过简单使用Python接口 PyDataProvider2的使用 ,来自定义传数据的过程。如果有更复杂的使用,或者需要更高的效率,用户也可以在C++端自定义一个 DataProvider

+

PaddlePaddle需要用户在网络配置(trainer_config.py)中定义使用哪种DataProvider,并且在DataProvider中实现如何访问训练文件列表(train.list)或测试文件列表(test.list)。

+
    +
  • train.list和test.list存放在本地(推荐直接存放到训练目录,以相对路径引用)。一般情况下,两者均为纯文本文件,其中每一行对应一个数据文件地址:
      +
    • 如果数据文件存于本地磁盘,这个地址则为它的绝对路径或相对路径(相对于PaddlePaddle程序运行时的路径)。
    • +
    • 地址也可以为hdfs文件路径,或者数据库连接路径等。
    • +
    • 由于这个地址会被DataProvider使用,因此,如何解析该地址也是用户自定义DataProvider时需要考虑的地方。
    • +
    +
  • +
  • 如果没有设置test.list,或设置为None,那么在训练过程中不会执行测试操作;否则,会根据命令行参数指定的测试方式,在训练过程中进行测试,从而防止过拟合。
  • +
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/api/v1/data_provider/pydataprovider2_cn.html b/release/0.10.0/doc_cn/api/v1/data_provider/pydataprovider2_cn.html new file mode 100644 index 0000000000..21a73421c9 --- /dev/null +++ b/release/0.10.0/doc_cn/api/v1/data_provider/pydataprovider2_cn.html @@ -0,0 +1,621 @@ + + + + + + + + + + + PyDataProvider2的使用 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • PyDataProvider2的使用
  • +
+
+ +
+
+
+
+ +
+

PyDataProvider2的使用

+

PyDataProvider2是PaddlePaddle使用Python提供数据的推荐接口。该接口使用多线程读取数据,并提供了简单的Cache功能;同时可以使用户只关注如何从文件中读取每一条数据,而不用关心数据如何传输,如何存储等等。

+ +
+

MNIST的使用场景

+

我们以MNIST手写识别为例,来说明PyDataProvider2的简单使用场景。

+
+

样例数据

+

MNIST是一个包含有70,000张灰度图片的数字分类数据集。样例数据 mnist_train.txt 如下:

+
5;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.215686 0.533333 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.67451 0.992157 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.070588 0.886275 0.992157 0 0 0 0 0 0 0 0 0 0 0.192157 0.070588 0 0 0 0 0 0 0 0 0 0 0 0 0 0.670588 0.992157 0.992157 0 0 0 0 0 0 0 0 0 0.117647 0.933333 0.858824 0.313725 0 0 0 0 0 0 0 0 0 0 0 0.090196 0.858824 0.992157 0.831373 0 0 0 0 0 0 0 0 0 0.141176 0.992157 0.992157 0.611765 0.054902 0 0 0 0 0 0 0 0 0 0 0.258824 0.992157 0.992157 0.529412 0 0 0 0 0 0 0 0 0 0.368627 0.992157 0.992157 0.419608 0.003922 0 0 0 0 0 0 0 0 0 0.094118 0.835294 0.992157 0.992157 0.517647 0 0 0 0 0 0 0 0 0 0.603922 0.992157 0.992157 0.992157 0.603922 0.545098 0.043137 0 0 0 0 0 0 0 0.447059 0.992157 0.992157 0.956863 0.062745 0 0 0 0 0 0 0 0 0.011765 0.666667 0.992157 0.992157 0.992157 0.992157 0.992157 0.745098 0.137255 0 0 0 0 0 0.152941 0.866667 0.992157 0.992157 0.521569 0 0 0 0 0 0 0 0 0 0.070588 0.992157 0.992157 0.992157 0.803922 0.352941 0.745098 0.992157 0.945098 0.317647 0 0 0 0 0.580392 0.992157 0.992157 0.764706 0.043137 0 0 0 0 0 0 0 0 0 0.070588 0.992157 0.992157 0.776471 0.043137 0 0.007843 0.27451 0.882353 0.941176 0.176471 0 0 0.180392 0.898039 0.992157 0.992157 0.313725 0 0 0 0 0 0 0 0 0 0 0.070588 0.992157 0.992157 0.713725 0 0 0 0 0.627451 0.992157 0.729412 0.062745 0 0.509804 0.992157 0.992157 0.776471 0.035294 0 0 0 0 0 0 0 0 0 0 0.494118 0.992157 0.992157 0.968627 0.168627 0 0 0 0.423529 0.992157 0.992157 0.364706 0 0.717647 0.992157 0.992157 0.317647 0 0 0 0 0 0 0 0 0 0 0 0.533333 0.992157 0.984314 0.945098 0.603922 0 0 0 0.003922 0.466667 0.992157 0.988235 0.976471 0.992157 0.992157 0.788235 0.007843 0 0 0 0 0 0 0 0 0 0 0 0.686275 0.882353 0.364706 0 0 0 0 0 0 0.098039 0.588235 0.992157 0.992157 0.992157 0.980392 0.305882 0 0 0 0 0 0 0 0 0 0 0 0 0.101961 0.67451 0.321569 0 0 0 0 0 0 0 0.105882 0.733333 0.976471 0.811765 0.713725 0 0 0 0 0 0 0 0 0 0 0 0 0 0.65098 0.992157 0.321569 0 0 0 0 0 0 0 0 0 0.25098 0.007843 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.94902 0.219608 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.968627 0.764706 0.152941 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.498039 0.25098 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
+0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.298039 0.333333 0.333333 0.333333 0.337255 0.333333 0.333333 0.109804 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.027451 0.223529 0.776471 0.964706 0.988235 0.988235 0.988235 0.992157 0.988235 0.988235 0.780392 0.098039 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.14902 0.698039 0.988235 0.992157 0.988235 0.901961 0.87451 0.568627 0.882353 0.976471 0.988235 0.988235 0.501961 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.188235 0.647059 0.988235 0.988235 0.745098 0.439216 0.098039 0 0 0 0.572549 0.988235 0.988235 0.988235 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0.933333 0.992157 0.941176 0.247059 0 0 0 0 0 0 0.188235 0.898039 0.992157 0.992157 0 0 0 0 0 0 0 0 0 0 0 0.039216 0.639216 0.933333 0.988235 0.913725 0.278431 0 0 0 0 0 0 0 0.113725 0.843137 0.988235 0.988235 0 0 0 0 0 0 0 0 0 0 0 0.235294 0.988235 0.992157 0.988235 0.815686 0.07451 0 0 0 0 0 0 0 0.333333 0.988235 0.988235 0.552941 0 0 0 0 0 0 0 0 0 0 0.211765 0.878431 0.988235 0.992157 0.701961 0.329412 0.109804 0 0 0 0 0 0 0 0.698039 0.988235 0.913725 0.145098 0 0 0 0 0 0 0 0 0 0.188235 0.890196 0.988235 0.988235 0.745098 0.047059 0 0 0 0 0 0 0 0 0 0.882353 0.988235 0.568627 0 0 0 0 0 0 0 0 0 0.2 0.933333 0.992157 0.992157 0.992157 0.447059 0.294118 0 0 0 0 0 0 0 0 0.447059 0.992157 0.768627 0 0 0 0 0 0 0 0 0 0 0.623529 0.988235 0.988235 0.988235 0.988235 0.992157 0.47451 0 0 0 0 0 0 0 0.188235 0.933333 0.87451 0.509804 0 0 0 0 0 0 0 0 0 0 0.992157 0.988235 0.937255 0.792157 0.988235 0.894118 0.082353 0 0 0 0 0 0 0.027451 0.647059 0.992157 0.654902 0 0 0 0 0 0 0 0 0 0 0 0.623529 0.988235 0.913725 0.329412 0.376471 0.184314 0 0 0 0 0 0 0.027451 0.513725 0.988235 0.635294 0.219608 0 0 0 0 0 0 0 0 0 0 0 0.196078 0.929412 0.988235 0.988235 0.741176 0.309804 0 0 0 0 0 0 0.529412 0.988235 0.678431 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.223529 0.992157 0.992157 1 0.992157 0.992157 0.992157 0.992157 1 0.992157 0.992157 0.882353 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.023529 0.478431 0.654902 0.658824 0.952941 0.988235 0.988235 0.988235 0.992157 0.988235 0.729412 0.278431 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.196078 0.647059 0.764706 0.764706 0.768627 0.580392 0.047059 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
+4;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.180392 0.470588 0.623529 0.623529 0.623529 0.588235 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.243137 0.494118 0.862745 0.870588 0.960784 0.996078 0.996078 0.996078 0.996078 0.992157 0.466667 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.317647 0.639216 0.639216 0.639216 0.639216 0.639216 0.470588 0.262745 0.333333 0.929412 0.694118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.811765 0.694118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.811765 0.694118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.811765 0.694118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.184314 0.992157 0.694118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.192157 0.996078 0.384314 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.454902 0.980392 0.219608 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.564706 0.941176 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.588235 0.776471 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.945098 0.560784 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.054902 0.952941 0.356863 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.337255 0.917647 0.109804 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.698039 0.701961 0.019608 0.4 0.662745 0.662745 0.662745 0.662745 0.662745 0.662745 0.662745 0.376471 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090196 0.639216 0.972549 0.945098 0.913725 0.996078 0.996078 0.996078 0.996078 1 0.996078 0.996078 1 0.996078 0 0 0 0 0 0 0 0 0 0 0.007843 0.105882 0.717647 0.776471 0.905882 0.996078 0.996078 0.988235 0.980392 0.862745 0.537255 0.223529 0.223529 0.368627 0.376471 0.6 0.6 0.6 0 0 0 0 0 0 0 0 0.262745 0.470588 0.6 0.996078 0.996078 0.996078 0.996078 0.847059 0.356863 0.156863 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.909804 0.705882 0.823529 0.635294 0.490196 0.219608 0.113725 0.062745 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.152941 0.152941 0.156863 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
+
+
+

其中每行数据代表一张图片,行内使用 ; 分成两部分。第一部分是图片的标签,为0-9中的一个数字;第二部分是28*28的图片像素灰度值。 对应的 train.list 即为这个数据文件的名字:

+
mnist_train.txt
+
+
+
+
+

dataprovider的使用

+
from paddle.trainer.PyDataProvider2 import *
+
+
+# Define a py data provider
+@provider(
+    input_types={'pixel': dense_vector(28 * 28),
+                 'label': integer_value(10)})
+def process(settings, filename):  # settings is not used currently.
+    f = open(filename, 'r')  # open one of training file
+
+    for line in f:  # read each line
+        label, pixel = line.split(';')
+
+        # get features and label
+        pixels_str = pixel.split(' ')
+
+        pixels_float = []
+        for each_pixel_str in pixels_str:
+            pixels_float.append(float(each_pixel_str))
+
+        # give data to paddle.
+        yield {"pixel": pixels_float, 'label': int(label)}
+
+    f.close()  # close file
+
+
+
    +
  • 首先,引入PaddlePaddle的PyDataProvider2包。

    +
  • +
  • 其次,定义一个Python的 Decorator @provider 。用于将下一行的数据输入函数标记成一个PyDataProvider2,同时设置它的input_types属性。

    +
      +
    • input_types:设置这个PyDataProvider2返回什么样的数据。本例根据网络配置中 data_layer 的名字,显式指定返回的是一个28*28维的稠密浮点数向量和一个[0-9]的10维整数标签。

      +
      img = data_layer(name='pixel', size=784)
      +label = data_layer(name='label', size=10)
      +
      +
      +
    • +
    • 注意:如果用户不显示指定返回数据的对应关系,那么PaddlePaddle会根据layer的声明顺序,来确定对应关系。但这个关系可能不正确,所以推荐使用显式指定的方式来设置input_types。

      +
    • +
    +
  • +
  • 最后,实现数据输入函数(如本例的 process 函数)。

    +
      +
    • 该函数的功能是:打开文本文件,读取每一行,将行中的数据转换成与input_types一致的格式,然后返回给PaddlePaddle进程。注意,
        +
      • 返回的顺序需要和input_types中定义的顺序一致。
      • +
      • 返回时,必须使用Python关键词 yield ,相关概念是 generator
      • +
      • 一次yield调用,返回一条完整的样本。如果想为一个数据文件返回多条样本,只需要在函数中调用多次yield即可(本例中使用for循环进行多次调用)。
      • +
      +
    • +
    • 该函数具有两个参数:
        +
      • settings:在本例中没有使用,具体可以参考 init_hook 中的说明。
      • +
      • filename:为 train.listtest.list 中的一行,即若干数据文件路径的某一个。
      • +
      +
    • +
    +
  • +
+
+
+

网络配置中的调用

+

在网络配置里,只需要一行代码就可以调用这个PyDataProvider2,如,

+
from paddle.trainer_config_helpers import *
+
+define_py_data_sources2(
+    train_list='train.list',
+    test_list=None,
+    module='mnist_provider',
+    obj='process')
+
+
+

训练数据是 train.list ,没有测试数据,调用的PyDataProvider2是 mnist_provider 模块中的 process 函数。

+
+
+

小结

+

至此,简单的PyDataProvider2样例就说明完毕了。对用户来说,仅需要知道如何从 一个文件 中读取 一条样本 ,就可以将数据传送给PaddlePaddle了。而PaddlePaddle则会帮用户做以下工作:

+
    +
  • 将数据组合成Batch进行训练
  • +
  • 对训练数据进行Shuffle
  • +
  • 多线程的数据读取
  • +
  • 缓存训练数据到内存(可选)
  • +
  • CPU->GPU双缓存
  • +
+

是不是很简单呢?

+
+
+
+

时序模型的使用场景

+
+

样例数据

+

时序模型是指数据的某一维度是一个序列形式,即包含时间步信息。所谓时间步信息,不一定和时间有关系,只是说明数据的顺序是重要的。例如,文本信息就是一个序列数据。

+

本例采用英文情感分类的数据,即将一段英文文本数据,分类成正面情绪和负面情绪两类(用0和1表示)。样例数据 sentimental_train.txt 如下:

+
0       I saw this movie at the AFI Dallas festival . It all takes place at a lake house and it looks wonderful .
+1       This documentary makes you travel all around the globe . It contains rare and stunning sequels from the wilderness .
+...
+
+
+
+
+

dataprovider的使用

+

相对MNIST而言,这个dataprovider较复杂,主要原因是增加了初始化机制 init_hook。本例的 on_init 函数就是根据该机制配置的,它会在dataprovider创建的时候执行。

+
    +
  • 其中 input_types 和在 @provider 中配置的效果一致。本例中的输入特征是词ID的序列,因此使用 integer_value_sequence 类型来设置。
  • +
  • dictionary 存入settings对象,在 process 函数中使用。 dictionary是从网络配置中传入的dict对象,即一个将单词字符串映射到单词ID的字典。
  • +
+
from paddle.trainer.PyDataProvider2 import *
+
+
+def on_init(settings, dictionary, **kwargs):
+    # on_init will invoke when data provider is initialized. The dictionary
+    # is passed from trainer_config, and is a dict object with type
+    # (word string => word id).
+
+    # set input types in runtime. It will do the same thing as
+    # @provider(input_types) will do, but it is set dynamically during runtime.
+    settings.input_types = {
+        # The text is a sequence of integer values, and each value is a word id.
+        # The whole sequence is the sentences that we want to predict its
+        # sentimental.
+        'data': integer_value_sequence(len(dictionary)),  # text input
+        'label': integer_value(2)  # label positive/negative
+    }
+
+    # save dictionary as settings.dictionary. 
+    # It will be used in process method.
+    settings.dictionary = dictionary
+
+
+@provider(init_hook=on_init)
+def process(settings, filename):
+    f = open(filename, 'r')
+
+    for line in f:  # read each line of file
+        label, sentence = line.split('\t')  # get label and sentence
+        words = sentence.split(' ')  # get words
+
+        # convert word string to word id
+        # the word not in dictionary will be ignored.
+        word_ids = []
+
+        for each_word in words:
+            if each_word in settings.dictionary:
+                word_ids.append(settings.dictionary[each_word])
+
+        # give data to paddle.
+        yield word_ids, int(label)
+
+    f.close()
+
+
+
+
+

网络配置中的调用

+

调用这个PyDataProvider2的方法,基本上和MNIST样例一致,除了

+
    +
  • 在配置中需要读取外部字典。
  • +
  • 在声明DataProvider的时候传入dictionary作为参数。
  • +
+
from paddle.trainer_config_helpers import *
+
+dictionary = dict()
+...  #  read dictionary from outside
+
+define_py_data_sources2(
+    train_list='train.list',
+    test_list=None,
+    module='sentimental_provider',
+    obj='process',
+    # above codes same as mnist sample.
+    args={  # pass to provider.
+        'dictionary': dictionary
+    })
+
+
+
+
+
+

参考(Reference)

+
+

@provider

+

@provider 是一个Python的 Decorator ,可以将某一个函数标记成一个PyDataProvider2。如果不了解 Decorator 是什么也没关系,只需知道这是一个标记属性的方法就可以了。它包含的属性参数如下:

+
    +
  • input_types:数据输入格式。具体的格式说明,请参考 input_types
  • +
  • should_shuffle:是不是要对数据做Shuffle。训练时默认shuffle,测试时默认不shuffle。
  • +
  • min_pool_size:设置内存中最小暂存的数据条数,也是PaddlePaddle所能够保证的shuffle粒度。如果为-1,则会预先读取全部数据到内存中。
  • +
  • pool_size: 设置内存中暂存的数据条数。如果为-1(默认),则不在乎内存暂存多少条数据。如果设置,则推荐大于训练时batch size的值,并且在内存足够的情况下越大越好。
  • +
  • can_over_batch_size:是否允许暂存略微多余pool_size的数据。由于这样做可以避免很多死锁问题,一般推荐设置成True。
  • +
  • calc_batch_size:可以传入一个函数,用于自定义每条数据的batch size(默认为1)。
  • +
  • cache: 数据缓存的策略,具体请参考 cache
  • +
  • init_hook:初始化时调用的函数,具体请参考 init_hook
  • +
  • check:如果为true,会根据input_types检查数据的合法性。
  • +
  • check_fail_continue:如果为true,那么当check出数据不合法时,会扔到这条数据,继续训练或预测。(对check=false的情况,没有作用)
  • +
+
+
+

input_types

+

PaddlePaddle的数据包括四种主要类型,和三种序列模式。

+

四种数据类型:

+
    +
  • dense_vector:稠密的浮点数向量。
  • +
  • sparse_binary_vector:稀疏的01向量,即大部分值为0,但有值的地方必须为1。
  • +
  • sparse_float_vector:稀疏的向量,即大部分值为0,但有值的部分可以是任何浮点数。
  • +
  • integer:整数标签。
  • +
+

三种序列模式:

+
    +
  • SequenceType.NO_SEQUENCE:不是一条序列
  • +
  • SequenceType.SEQUENCE:是一条时间序列
  • +
  • SequenceType.SUB_SEQUENCE: 是一条时间序列,且序列的每一个元素还是一个时间序列。
  • +
+

不同的数据类型和序列模式返回的格式不同,列表如下:

+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 NO_SEQUENCESEQUENCESUB_SEQUENCE
dense_vector[f, f, ...][[f, ...], [f, ...], ...][[[f, ...], ...], [[f, ...], ...],...]
sparse_binary_vector[i, i, ...][[i, ...], [i, ...], ...][[[i, ...], ...], [[i, ...], ...],...]
sparse_float_vector[(i,f), (i,f), ...][[(i,f), ...], [(i,f), ...], ...][[[(i,f), ...], ...], [[(i,f), ...], ...],...]
integer_valuei[i, i, ...][[i, ...], [i, ...], ...]
+

其中,f代表一个浮点数,i代表一个整数。

+

注意:对sparse_binary_vector和sparse_float_vector,PaddlePaddle存的是有值位置的索引。例如,

+
    +
  • 对一个5维非序列的稀疏01向量 [0, 1, 1, 0, 0] ,类型是sparse_binary_vector,返回的是 [1, 2]
  • +
  • 对一个5维非序列的稀疏浮点向量 [0, 0.5, 0.7, 0, 0] ,类型是sparse_float_vector,返回的是 [(1, 0.5), (2, 0.7)]
  • +
+
+
+

init_hook

+

init_hook可以传入一个函数。该函数在初始化的时候会被调用,其参数如下:

+
    +
  • +
    第一个参数是settings对象,它和数据传入函数的第一个参数(如本例中 process 函数的 settings 参数)必须一致。该对象具有以下两个属性:
    +
      +
    • settings.input_types:数据输入格式,具体请参考 input_types
    • +
    • settings.logger:一个logging对象。
    • +
    +
    +
    +
  • +
  • +
    其他参数使用 kwargs (key word arguments)传入,包括以下两种:
    +
      +
    • PaddlePaddle定义的参数: 1)is_train:bool型参数,表示用于训练或预测;2)file_list:所有文件列表。
    • +
    • 用户定义的参数:使用args在网络配置中设置。
    • +
    +
    +
    +
  • +
+

注意:PaddlePaddle保留添加参数的权力,因此init_hook尽量使用 **kwargs 来接受不使用的函数以保证兼容性。

+
+
+

cache

+

PyDataProvider2提供了两种简单的Cache策略:

+
    +
  • CacheType.NO_CACHE:不缓存任何数据,每次都会从python端读取数据
  • +
  • CacheType.CACHE_PASS_IN_MEM:第一个pass会从python端读取数据,剩下的pass会直接从内存里 +读取数据。
  • +
+
+
+
+

注意事项

+
+

可能的内存泄露问题

+

PaddlePaddle将train.list中的每一行都传递给process函数,从而生成多个generator。当训练数据非常多时,就会生成非常多的generator。

+

虽然每个generator在没有调用的时候,是几乎不占内存的;但当调用过一次后,generator便会存下当前的上下文(Context),而这个Context可能会非常大。并且,generator至少需要调用两次才会知道是否停止。所以,即使process函数里面只有一个yield,也需要两次随机选择到相同generator的时候,才会释放该段内存。

+
def func():
+    yield 0
+
+f = func()  # 创建generator
+tmp = next(f)  # 调用一次,返回0
+tmp = next(f)  # 调用第二次的时候,才会Stop Iteration
+
+
+

由于顺序调用这些generator不会出现上述问题,因此有两种解决方案:

+
    +
  1. 最佳推荐:将样本的地址放入另一个文本文件,train.list写入那个文本文件的地址。即不要将每一个样本都放入train.list。
  2. +
  3. 在generator的上下文中尽量留下非常少的变量引用,例如
  4. +
+
def real_process(fn):
+    # ... read from fn
+    return result   # 当函数返回的时候,python可以解除掉内部变量的引用。
+
+def process(fn):
+    yield real_process(fn)
+
+
+

注意:这个问题是PyDataProvider读数据时候的逻辑问题,很难整体修正。

+
+
+

内存不够用的情况

+

PyDataProvider2会尽可能多的使用内存。因此,对于内存较小的机器,推荐使用 pool_size 变量来设置内存中暂存的数据条。具体请参考 @provider 中的说明。

+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/api/v1/index_cn.html b/release/0.10.0/doc_cn/api/v1/index_cn.html new file mode 100644 index 0000000000..e57edf9bb2 --- /dev/null +++ b/release/0.10.0/doc_cn/api/v1/index_cn.html @@ -0,0 +1,278 @@ + + + + + + + + + + + API中文手册 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • API中文手册
  • +
+
+ +
+
+
+
+ +
+

API中文手册

+
+

DataProvider API

+ +
+ +
+

Applications API

+ +
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/api/v1/predict/swig_py_paddle_cn.html b/release/0.10.0/doc_cn/api/v1/predict/swig_py_paddle_cn.html new file mode 100644 index 0000000000..caf7f28eae --- /dev/null +++ b/release/0.10.0/doc_cn/api/v1/predict/swig_py_paddle_cn.html @@ -0,0 +1,305 @@ + + + + + + + + + + + 基于Python的预测 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • 基于Python的预测
  • +
+
+ +
+
+
+
+ +
+

基于Python的预测

+
+

预测流程

+

PaddlePaddle使用swig对常用的预测接口进行了封装,通过编译会生成py_paddle软件包,安装该软件包就可以在python环境下实现模型预测。可以使用python的 help() 函数查询软件包相关API说明。

+

基于Python的模型预测,主要包括以下五个步骤。

+
    +
  1. 初始化PaddlePaddle环境

    +

    在程序开始阶段,通过调用 swig_paddle.initPaddle() 并传入相应的命令行参数初始化PaddlePaddle。

    +
  2. +
  3. 解析模型配置文件

    +

    初始化之后,可以通过调用 parse_config() 解析训练模型时用的配置文件。注意预测数据通常不包含label, 同时预测网络通常直接输出最后一层的结果而不是像训练网络一样再接一层cost layer,所以一般需要对训练用的模型配置文件稍作相应修改才能在预测时使用。

    +
  4. +
  5. 构造paddle.GradientMachine

    +

    通过调用 swig_paddle.GradientMachine.createFromConfigproto() 传入上一步解析出来的模型配置就可以创建一个 GradientMachine

    +
  6. +
  7. 准备预测数据

    +

    swig_paddle中的预测接口的参数是自定义的C++数据类型,py_paddle里面提供了一个工具类 DataProviderConverter 可以用于接收和PyDataProvider2一样的输入数据并转换成预测接口所需的数据类型。

    +
  8. +
  9. 模型预测

    +

    通过调用 forwardTest() 传入预测数据,直接返回计算结果。

    +
  10. +
+
+
+

预测Demo

+

如下是一段使用mnist model来实现手写识别的预测代码。完整的代码见 src_root/doc/ui/predict/predict_sample.py 。mnist model可以通过 src_root\demo\mnist 目录下的demo训练出来。

+
from py_paddle import swig_paddle, DataProviderConverter
+from paddle.trainer.PyDataProvider2 import dense_vector
+from paddle.trainer.config_parser import parse_config
+
+def main():
+    conf = parse_config("./mnist_model/trainer_config.py", "")
+    print conf.data_config.load_data_args
+    network = swig_paddle.GradientMachine.createFromConfigProto(
+        conf.model_config)
+    assert isinstance(network, swig_paddle.GradientMachine)  # For code hint.
+    network.loadParameters("./mnist_model/")
+    converter = DataProviderConverter([dense_vector(784)])
+    inArg = converter(TEST_DATA)
+    print network.forwardTest(inArg)
+
+
+if __name__ == '__main__':
+    swig_paddle.initPaddle("--use_gpu=0")
+    main()
+
+
+

Demo预测输出如下,其中value即为softmax层的输出。由于TEST_DATA包含两条预测数据,所以输出的value包含两个向量 。

+
[{'id': None, 'value': array(
+  [[  5.53018653e-09,   1.12194102e-05,   1.96644767e-09,
+      1.43630644e-02,   1.51111044e-13,   9.85625684e-01,
+      2.08823112e-10,   2.32777140e-08,   2.00186201e-09,
+      1.15501715e-08],
+   [  9.99982715e-01,   1.27787406e-10,   1.72296313e-05,
+      1.49316648e-09,   1.36540484e-11,   6.93137714e-10,
+      2.70634608e-08,   3.48565123e-08,   5.25639710e-09,
+      4.48684503e-08]], dtype=float32)}]
+
+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/activations.html b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/activations.html new file mode 100644 index 0000000000..71533d4220 --- /dev/null +++ b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/activations.html @@ -0,0 +1,381 @@ + + + + + + + + + + + Activations — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Activations
  • +
+
+ +
+
+
+
+ +
+

Activations

+
+

BaseActivation

+
+
+paddle.trainer_config_helpers.activations.BaseActivation
+

Base 的别名

+
+ +
+
+

AbsActivation

+
+
+paddle.trainer_config_helpers.activations.AbsActivation
+

Abs 的别名

+
+ +
+
+

ExpActivation

+
+
+paddle.trainer_config_helpers.activations.ExpActivation
+

Exp 的别名

+
+ +
+
+

IdentityActivation

+
+
+paddle.trainer_config_helpers.activations.IdentityActivation
+

Linear 的别名

+
+ +
+
+

LinearActivation

+
+
+paddle.trainer_config_helpers.activations.LinearActivation
+

Linear 的别名

+
+ +
+
+

LogActivation

+
+
+paddle.trainer_config_helpers.activations.LogActivation
+

Log 的别名

+
+ +
+
+

SquareActivation

+
+
+paddle.trainer_config_helpers.activations.SquareActivation
+

Square 的别名

+
+ +
+
+

SigmoidActivation

+
+
+paddle.trainer_config_helpers.activations.SigmoidActivation
+

Sigmoid 的别名

+
+ +
+
+

SoftmaxActivation

+
+
+paddle.trainer_config_helpers.activations.SoftmaxActivation
+

Softmax 的别名

+
+ +
+
+

SequenceSoftmaxActivation

+
+
+paddle.trainer_config_helpers.activations.SequenceSoftmaxActivation
+

SequenceSoftmax 的别名

+
+ +
+
+

ReluActivation

+
+
+paddle.trainer_config_helpers.activations.ReluActivation
+

Relu 的别名

+
+ +
+
+

BReluActivation

+
+
+paddle.trainer_config_helpers.activations.BReluActivation
+

BRelu 的别名

+
+ +
+
+

SoftReluActivation

+
+
+paddle.trainer_config_helpers.activations.SoftReluActivation
+

SoftRelu 的别名

+
+ +
+
+

TanhActivation

+
+
+paddle.trainer_config_helpers.activations.TanhActivation
+

Tanh 的别名

+
+ +
+
+

STanhActivation

+
+
+paddle.trainer_config_helpers.activations.STanhActivation
+

STanh 的别名

+
+ +
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/attrs.html b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/attrs.html new file mode 100644 index 0000000000..82beaa1eda --- /dev/null +++ b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/attrs.html @@ -0,0 +1,336 @@ + + + + + + + + + + + Parameter Attributes — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Parameter Attributes
  • +
+
+ +
+
+
+
+ +
+

Parameter Attributes

+
+
+class paddle.trainer_config_helpers.attrs.ParameterAttribute(name=None, is_static=False, initial_std=None, initial_mean=None, initial_max=None, initial_min=None, l1_rate=None, l2_rate=None, learning_rate=None, momentum=None, gradient_clipping_threshold=None, sparse_update=False)
+

Parameter Attributes object. To fine-tuning network training process, user +can set attribute to control training details, such as l1,l2 rate / learning +rate / how to init param.

+

NOTE: IT IS A HIGH LEVEL USER INTERFACE.

+ +++ + + + +
参数:
    +
  • is_static (bool) – True if this parameter will be fixed while training.
  • +
  • initial_std (float or None) – Gauss Random initialization standard deviation. +None if not using Gauss Random initialize parameter.
  • +
  • initial_mean (float or None) – Gauss Random initialization mean. +None if not using Gauss Random initialize parameter.
  • +
  • initial_max (float or None) – Uniform initialization max value.
  • +
  • initial_min (float or None) – Uniform initialization min value.
  • +
  • l1_rate (float or None) – the l1 regularization factor
  • +
  • l2_rate (float or None) – the l2 regularization factor
  • +
  • learning_rate (float or None) – The parameter learning rate. None means 1. +The learning rate when optimize is LEARNING_RATE = +GLOBAL_LEARNING_RATE * PARAMETER_LEARNING_RATE +* SCHEDULER_FACTOR.
  • +
  • momentum (float or None) – The parameter momentum. None means use global value.
  • +
  • gradient_clipping_threshold (float) – gradient clipping threshold. If gradient +value larger than some value, will be +clipped.
  • +
  • sparse_update (bool) – Enable sparse update for this parameter. It will +enable both local and remote sparse update.
  • +
+
+
+
+set_default_parameter_name(name)
+

Set default parameter name. If parameter not set, then will use default +parameter name.

+ +++ + + + +
参数:name (basestring) – default parameter name.
+
+ +
+ +
+
+class paddle.trainer_config_helpers.attrs.ExtraLayerAttribute(error_clipping_threshold=None, drop_rate=None, device=None)
+

Some high level layer attributes config. You can set all attributes here, +but some layer doesn’t support all attributes. If you set an attribute to a +layer that not support this attribute, paddle will print an error and core.

+ +++ + + + +
参数:
    +
  • error_clipping_threshold (float) – Error clipping threshold.
  • +
  • drop_rate (float) – Dropout rate. Dropout will create a mask on layer output. +The dropout rate is the zero rate of this mask. The +details of what dropout is please refer to here.
  • +
  • device (int) –

    device ID of layer. device=-1, use CPU. device>0, use GPU. +The details allocation in parallel_nn please refer to here.

    +
  • +
+
+
+ +
+
+paddle.trainer_config_helpers.attrs.ParamAttr
+

ParameterAttribute 的别名

+
+ +
+
+paddle.trainer_config_helpers.attrs.ExtraAttr
+

ExtraLayerAttribute 的别名

+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/data_sources.html b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/data_sources.html new file mode 100644 index 0000000000..c4bdaaac86 --- /dev/null +++ b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/data_sources.html @@ -0,0 +1,292 @@ + + + + + + + + + + + DataSources — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • DataSources
  • +
+
+ +
+
+
+
+ +
+

DataSources

+

Data Sources are helpers to define paddle training data or testing data.

+
+
+paddle.trainer_config_helpers.data_sources.define_py_data_sources2(train_list, test_list, module, obj, args=None)
+

Define python Train/Test data sources in one method. If train/test use +the same Data Provider configuration, module/obj/args contain one argument, +otherwise contain a list or tuple of arguments. For example:

+
define_py_data_sources2(train_list="train.list",
+                        test_list="test.list",
+                        module="data_provider"
+                        # if train/test use different configurations,
+                        # obj=["process_train", "process_test"]
+                        obj="process",
+                        args={"dictionary": dict_name})
+
+
+

The related data provider can refer to api_pydataprovider2_sequential_model .

+ +++ + + + + + + + +
参数:
    +
  • train_list (basestring) – Train list name.
  • +
  • test_list (basestring) – Test list name.
  • +
  • module (basestring or tuple or list) – python module name. If train and test is different, then +pass a tuple or list to this argument.
  • +
  • obj (basestring or tuple or list) – python object name. May be a function name if using +PyDataProviderWrapper. If train and test is different, then pass +a tuple or list to this argument.
  • +
  • args (string or picklable object or list or tuple.) – The best practice is using dict() to pass arguments into +DataProvider, and use @init_hook_wrapper to receive +arguments. If train and test is different, then pass a tuple +or list to this argument.
  • +
+
返回:

None

+
返回类型:

None

+
+
+ +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/evaluators.html b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/evaluators.html new file mode 100644 index 0000000000..5a3db31df4 --- /dev/null +++ b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/evaluators.html @@ -0,0 +1,773 @@ + + + + + + + + + + + Evaluators — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Evaluators
  • +
+
+ +
+
+
+
+ +
+

Evaluators

+
+

Base

+
+
+paddle.trainer_config_helpers.evaluators.evaluator_base(input, type, label=None, weight=None, name=None, chunk_scheme=None, num_chunk_types=None, classification_threshold=None, positive_label=None, dict_file=None, result_file=None, num_results=None, delimited=None, top_k=None, excluded_chunk_types=None)
+

Evaluator will evaluate the network status while training/testing.

+

User can use evaluator by classify/regression job. For example.

+
classify(prediction, output, evaluator=classification_error_evaluator)
+
+
+

And user could define evaluator separately as follow.

+
classification_error_evaluator("ErrorRate", prediction, label)
+
+
+

The evaluator often contains a name parameter. It will also be printed when +evaluating network. The printed information may look like the following.

+
Batch=200 samples=20000 AvgCost=0.679655 CurrentCost=0.662179 Eval:
+classification_error_evaluator=0.4486
+CurrentEval: ErrorRate=0.3964
+
+
+ +++ + + + +
参数:
    +
  • input (list|LayerOutput) – Input layers, a object of LayerOutput or a list of +LayerOutput.
  • +
  • label (LayerOutput|None) – An input layer containing the ground truth label.
  • +
  • weight (LayerOutput.) – An input layer which is a weight for each sample. +Each evaluator may calculate differently to use this weight.
  • +
  • top_k (int) – number k in top-k error rate
  • +
+
+
+ +
+
+

Classification

+
+

classification_error_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.classification_error_evaluator(*args, **kwargs)
+

Classification Error Evaluator. It will print error rate for classification.

+

The classification error is:

+
+\[classification\_error = \frac{NumOfWrongPredicts}{NumOfAllSamples}\]
+

The simple usage is:

+
eval =  classification_error_evaluator(input=prob,label=lbl)
+
+
+ +++ + + + + + +
参数:
    +
  • name (basestring) – Evaluator name.
  • +
  • input (LayerOutput) – Input Layer name. The output prediction of network.
  • +
  • label (basestring) – Label layer name.
  • +
  • weight (LayerOutput) – Weight Layer name. It should be a matrix with size +[sample_num, 1]. And will just multiply to NumOfWrongPredicts +and NumOfAllSamples. So, the elements of weight are all one, +then means not set weight. The larger weight it is, the more +important this sample is.
  • +
  • top_k (int) – number k in top-k error rate
  • +
  • threshold (float) – The classification threshold.
  • +
+
返回:

None.

+
+
+ +
+
+

auc_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.auc_evaluator(*args, **kwargs)
+

Auc Evaluator which adapts to binary classification.

+

The simple usage:

+
eval = auc_evaluator(input, label)
+
+
+ +++ + + + +
参数:
    +
  • name (None|basestring) – Evaluator name.
  • +
  • input (LayerOutput) – Input Layer name. The output prediction of network.
  • +
  • label (None|basestring) – Label layer name.
  • +
  • weight (LayerOutput) – Weight Layer name. It should be a matrix with size +[sample_num, 1].
  • +
+
+
+ +
+
+

ctc_error_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.ctc_error_evaluator(*args, **kwargs)
+

This evaluator is to calculate sequence-to-sequence edit distance.

+

The simple usage is :

+
eval = ctc_error_evaluator(input=input, label=lbl)
+
+
+ +++ + + + +
参数:
    +
  • name (None|basestring) – Evaluator name.
  • +
  • input (LayerOutput) – Input Layer. Should be the same as the input for ctc_layer.
  • +
  • label (LayerOutput) – input label, which is a data_layer. Should be the same as the +label for ctc_layer
  • +
+
+
+ +
+
+

chunk_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.chunk_evaluator(*args, **kwargs)
+

Chunk evaluator is used to evaluate segment labelling accuracy for a +sequence. It calculates the chunk detection F1 score.

+

A chunk is correctly detected if its beginning, end and type are correct. +Other chunk type is ignored.

+

For each label in the label sequence, we have:

+
tagType = label % numTagType
+chunkType = label / numTagType
+otherChunkType = numChunkTypes
+
+
+

The total number of different labels is numTagType*numChunkTypes+1. +We support 4 labelling scheme. +The tag type for each of the scheme is shown as follows:

+
Scheme Begin Inside End   Single
+plain  0     -      -     -
+IOB    0     1      -     -
+IOE    -     0      1     -
+IOBES  0     1      2     3
+
+
+

‘plain’ means the whole chunk must contain exactly the same chunk label.

+

The simple usage is:

+
eval = chunk_evaluator(input, label, chunk_scheme, num_chunk_types)
+
+
+ +++ + + + +
参数:
    +
  • input (LayerOutput) – The input layers.
  • +
  • label (LayerOutput) – An input layer containing the ground truth label.
  • +
  • chunk_scheme (basestring) – The labelling schemes support 4 types. It is one of +“IOB”, “IOE”, “IOBES”, “plain”. It is required.
  • +
  • num_chunk_types – number of chunk types other than “other”
  • +
  • name (basename|None) – The Evaluator name, it is optional.
  • +
  • excluded_chunk_types (list of integer|None) – chunks of these types are not considered
  • +
+
+
+ +
+
+

precision_recall_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.precision_recall_evaluator(*args, **kwargs)
+

An Evaluator to calculate precision and recall, F1-score. +It is adapt to the task with multiple labels.

+
    +
  • If positive_label=-1, it will print the average precision, recall, +F1-score of all labels.
  • +
  • If use specify positive_label, it will print the precision, recall, +F1-score of this label.
  • +
+

The simple usage:

+
eval = precision_recall_evaluator(input, label)
+
+
+ +++ + + + +
参数:
    +
  • name (None|basestring) – Evaluator name.
  • +
  • input (LayerOutput) – Input Layer name. The output prediction of network.
  • +
  • label (LayerOutput) – Label layer name.
  • +
  • positive_label (LayerOutput.) – The input label layer.
  • +
  • weight (LayerOutput) – Weight Layer name. It should be a matrix with size +[sample_num, 1]. (TODO, explaination)
  • +
+
+
+ +
+
+
+

Rank

+
+

pnpair_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.pnpair_evaluator(*args, **kwargs)
+

Positive-negative pair rate Evaluator which adapts to rank task like +learning to rank. This evaluator must contain at least three layers.

+

The simple usage:

+
eval = pnpair_evaluator(input, info, label)
+
+
+ +++ + + + +
参数:
    +
  • name (None|basestring) – Evaluator name.
  • +
  • input (LayerOutput) – Input Layer name. The output prediction of network.
  • +
  • label (LayerOutput) – Label layer name.
  • +
  • info (LayerOutput) – Label layer name. (TODO, explaination)
  • +
  • weight (LayerOutput) – Weight Layer name. It should be a matrix with size +[sample_num, 1]. (TODO, explaination)
  • +
+
+
+ +
+
+
+

Utils

+
+

sum_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.sum_evaluator(*args, **kwargs)
+

An Evaluator to sum the result of input.

+

The simple usage:

+
eval = sum_evaluator(input)
+
+
+ +++ + + + +
参数:
    +
  • name (None|basestring) – Evaluator name.
  • +
  • input (LayerOutput) – Input Layer name.
  • +
  • weight (LayerOutput) – Weight Layer name. It should be a matrix with size +[sample_num, 1]. (TODO, explaination)
  • +
+
+
+ +
+
+

column_sum_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.column_sum_evaluator(*args, **kwargs)
+

This Evaluator is used to sum the last column of input.

+

The simple usage is:

+
eval = column_sum_evaluator(input, label)
+
+
+ +++ + + + +
参数:
    +
  • name (None|basestring) – Evaluator name.
  • +
  • input (LayerOutput) – Input Layer name.
  • +
+
+
+ +
+
+
+

Print

+
+

classification_error_printer_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.classification_error_printer_evaluator(*args, **kwargs)
+

This Evaluator is used to print the classification error of each sample.

+

The simple usage is:

+
eval = classification_error_printer_evaluator(input)
+
+
+ +++ + + + +
参数:
    +
  • input (LayerOutput) – Input layer.
  • +
  • label (LayerOutput) – Input label layer.
  • +
  • name (None|basestring) – Evaluator name.
  • +
+
+
+ +
+
+

gradient_printer_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.gradient_printer_evaluator(*args, **kwargs)
+

This Evaluator is used to print the gradient of input layers. It contains +one or more input layers.

+

The simple usage is:

+
eval = gradient_printer_evaluator(input)
+
+
+ +++ + + + +
参数:
    +
  • input (LayerOutput|list) – One or more input layers.
  • +
  • name (None|basestring) – Evaluator name.
  • +
+
+
+ +
+
+

maxid_printer_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.maxid_printer_evaluator(*args, **kwargs)
+

This Evaluator is used to print maximum top k values and their indexes +of each row of input layers. It contains one or more input layers. +k is specified by num_results.

+

The simple usage is:

+
eval = maxid_printer_evaluator(input)
+
+
+ +++ + + + +
参数:
    +
  • input (LayerOutput|list) – Input Layer name.
  • +
  • num_results (int.) – This number is used to specify the top k numbers. +It is 1 by default.
  • +
  • name (None|basestring) – Evaluator name.
  • +
+
+
+ +
+
+

maxframe_printer_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.maxframe_printer_evaluator(*args, **kwargs)
+

This Evaluator is used to print the top k frames of each input layers. +The input layers should contain sequences info or sequences type. +k is specified by num_results. +It contains one or more input layers.

+
+

注解

+

The width of each frame is 1.

+
+

The simple usage is:

+
eval = maxframe_printer_evaluator(input)
+
+
+ +++ + + + +
参数:
    +
  • input (LayerOutput|list) – Input Layer name.
  • +
  • name (None|basestring) – Evaluator name.
  • +
+
+
+ +
+
+

seqtext_printer_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.seqtext_printer_evaluator(*args, **kwargs)
+

Sequence text printer will print text according to index matrix and a +dictionary. There can be multiple input to this layer:

+

1. If there is no id_input, the input must be a matrix containing +the sequence of indices;

+
    +
  1. If there is id_input, it should be ids, and interpreted as sample ids.
  2. +
+

The output format will be:

+
    +
  1. sequence without sub-sequence, and there is probability.
  2. +
+
id      prob space_seperated_tokens_from_dictionary_according_to_seq
+
+
+
    +
  1. sequence without sub-sequence, and there is not probability.
  2. +
+
id      space_seperated_tokens_from_dictionary_according_to_seq
+
+
+
    +
  1. sequence with sub-sequence, and there is not probability.
  2. +
+
id      space_seperated_tokens_from_dictionary_according_to_sub_seq
+                space_seperated_tokens_from_dictionary_according_to_sub_seq
+...
+
+
+

Typically SequenceTextPrinter layer takes output of maxid or RecurrentGroup +with maxid (when generating) as an input.

+

The simple usage is:

+
eval = seqtext_printer_evaluator(input=maxid_layer,
+                                 id_input=sample_id,
+                                 dict_file=dict_file,
+                                 result_file=result_file)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput|list) – Input Layer name.
  • +
  • result_file (basestring) – Path of the file to store the generated results.
  • +
  • id_input (LayerOutput) – Index of the input sequence, and the specified index will +be prited in the gereated results. This an optional +parameter.
  • +
  • dict_file (basestring) – Path of dictionary. This is an optional parameter. +Every line is a word in the dictionary with +(line number - 1) as the word index. +If this parameter is set to None, or to an empty string, +only word index are printed in the generated results.
  • +
  • delimited (bool) – Whether to use space to separate output tokens. +Default is True. No space is added if set to False.
  • +
  • name (None|basestring) – Evaluator name.
  • +
+
返回:

The seq_text_printer that prints the generated sequence to a file.

+
返回类型:

evaluator

+
+
+ +
+
+

value_printer_evaluator

+
+
+paddle.trainer_config_helpers.evaluators.value_printer_evaluator(*args, **kwargs)
+

This Evaluator is used to print the values of input layers. It contains +one or more input layers.

+

The simple usage is:

+
eval = value_printer_evaluator(input)
+
+
+ +++ + + + +
参数:
    +
  • input (LayerOutput|list) – One or more input layers.
  • +
  • name (None|basestring) – Evaluator name.
  • +
+
+
+ +
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/layers.html b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/layers.html new file mode 100644 index 0000000000..22c5c27ec5 --- /dev/null +++ b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/layers.html @@ -0,0 +1,3523 @@ + + + + + + + + + + + Layers — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Layers
  • +
+
+ +
+
+
+
+ +
+

Layers

+
+

Base

+
+

LayerType

+
+
+class paddle.trainer_config_helpers.layers.LayerType
+

Layer type enumerations.

+
+
+static is_layer_type(type_name)
+

If type_name is a layer type.

+ +++ + + + + + + + +
参数:type_name (basestring) – layer type name. Because layer type enumerations are +strings.
返回:True if is a layer_type
返回类型:bool
+
+ +
+ +
+
+

LayerOutput

+
+
+class paddle.trainer_config_helpers.layers.LayerOutput(name, layer_type, parents=None, activation=None, num_filters=None, img_norm_type=None, size=None, outputs=None, reverse=None)
+

LayerOutput is output for layer function. It is used internally by several +reasons.

+
    +
  • Check layer connection make sense.

    +
    +
      +
    • FC(Softmax) => Cost(MSE Error) is not good for example.
    • +
    +
    +
  • +
  • Tracking layer connection.

    +
  • +
  • Pass to layer methods as input.

    +
  • +
+ +++ + + + +
参数:
    +
  • name (basestring) – Layer output name.
  • +
  • layer_type (basestring) – Current Layer Type. One of LayerType enumeration.
  • +
  • activation (BaseActivation.) – Layer Activation.
  • +
  • parents (list|tuple|collections.Sequence) – Layer’s parents.
  • +
+
+
+
+set_input(input)
+

Set the input for a memory layer. Can only be used for memory layer

+
+ +
+ +
+
+
+

Data layer

+
+

data_layer

+
+
+paddle.trainer_config_helpers.layers.data_layer(*args, **kwargs)
+

Define DataLayer For NeuralNetwork.

+

The example usage is:

+
data = data_layer(name="input", size=1000)
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – Name of this data layer.
  • +
  • size (int) – Size of this data layer.
  • +
  • height (int|None) – Height of this data layer, used for image
  • +
  • width (int|None) – Width of this data layer, used for image
  • +
  • layer_attr (ExtraLayerAttribute.) – Extra Layer Attribute.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+
+

Fully Connected Layers

+
+

fc_layer

+
+
+paddle.trainer_config_helpers.layers.fc_layer(*args, **kwargs)
+

Helper for declare fully connected layer.

+

The example usage is:

+
fc = fc_layer(input=layer,
+              size=1024,
+              act=LinearActivation(),
+              bias_attr=False)
+
+
+

which is equal to:

+
with mixed_layer(size=1024) as fc:
+    fc += full_matrix_projection(input=layer)
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – The Layer Name.
  • +
  • input (LayerOutput|list|tuple) – The input layer. Could be a list/tuple of input layer.
  • +
  • size (int) – The layer dimension.
  • +
  • act (BaseActivation) – Activation Type. Default is tanh.
  • +
  • param_attr (ParameterAttribute) – The Parameter Attribute|list.
  • +
  • bias_attr (ParameterAttribute|None|Any) – The Bias Attribute. If no bias, then pass False or +something not type of ParameterAttribute. None will get a +default Bias.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer config.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

selective_fc_layer

+
+
+paddle.trainer_config_helpers.layers.selective_fc_layer(*args, **kwargs)
+

Selectived fully connected layer. Different from fc_layer, the output +of this layer maybe sparse. It requires an additional input to indicate +several selected columns for output. If the selected columns is not +specified, selective_fc_layer acts exactly like fc_layer.

+

The simple usage is:

+
sel_fc = selective_fc_layer(input=input, size=128, act=TanhActivation())
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – The Layer Name.
  • +
  • input (LayerOutput|list|tuple) – The input layer.
  • +
  • select (LayerOutput) – The select layer. The output of select layer should be a +sparse binary matrix, and treat as the mask of selective fc. +If is None, acts exactly like fc_layer.
  • +
  • size (int) – The layer dimension.
  • +
  • act (BaseActivation) – Activation Type. Default is tanh.
  • +
  • param_attr (ParameterAttribute) – The Parameter Attribute.
  • +
  • bias_attr (ParameterAttribute|None|Any) – The Bias Attribute. If no bias, then pass False or +something not type of ParameterAttribute. None will get a +default Bias.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer config.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+
+

Conv Layers

+
+

conv_operator

+
+
+paddle.trainer_config_helpers.layers.conv_operator(img, filter, filter_size, num_filters, num_channels=None, stride=1, padding=0, filter_size_y=None, stride_y=None, padding_y=None, trans=False)
+

Different from img_conv_layer, conv_op is an Operator, which can be used +in mixed_layer. And conv_op takes two inputs to perform convolution. +The first input is the image and the second is filter kernel. It only +support GPU mode.

+

The example usage is:

+
op = conv_operator(img=input1,
+                   filter=input2,
+                   filter_size=3,
+                   num_filters=64,
+                   num_channels=64)
+
+
+ +++ + + + + + + + +
参数:
    +
  • img (LayerOutput) – input image
  • +
  • filter (LayerOutput) – input filter
  • +
  • filter_size (int) – The x dimension of a filter kernel.
  • +
  • filter_size_y (int) – The y dimension of a filter kernel. Since +PaddlePaddle now supports rectangular filters, +the filter’s shape can be (filter_size, filter_size_y).
  • +
  • num_filters (int) – channel of output data.
  • +
  • num_channels (int) – channel of input data.
  • +
  • stride (int) – The x dimension of the stride.
  • +
  • stride_y (int) – The y dimension of the stride.
  • +
  • padding (int) – The x dimension of padding.
  • +
  • padding_y (int) – The y dimension of padding.
  • +
+
返回:

A ConvOperator Object.

+
返回类型:

ConvOperator

+
+
+ +
+
+

conv_projection

+
+
+paddle.trainer_config_helpers.layers.conv_projection(*args, **kwargs)
+

Different from img_conv_layer and conv_op, conv_projection is an Projection, +which can be used in mixed_layer and conat_layer. It use cudnn to implement +conv and only support GPU mode.

+

The example usage is:

+
proj = conv_projection(input=input1,
+                       filter_size=3,
+                       num_filters=64,
+                       num_channels=64)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – input layer
  • +
  • filter_size (int) – The x dimension of a filter kernel.
  • +
  • filter_size_y (int) – The y dimension of a filter kernel. Since +PaddlePaddle now supports rectangular filters, +the filter’s shape can be (filter_size, filter_size_y).
  • +
  • num_filters (int) – channel of output data.
  • +
  • num_channels (int) – channel of input data.
  • +
  • stride (int) – The x dimension of the stride.
  • +
  • stride_y (int) – The y dimension of the stride.
  • +
  • padding (int) – The x dimension of padding.
  • +
  • padding_y (int) – The y dimension of padding.
  • +
  • groups (int) – The group number.
  • +
  • param_attr (ParameterAttribute) – Convolution param attribute. None means default attribute
  • +
  • trans (boolean) – whether it is convTrans or conv
  • +
+
返回:

A DotMulProjection Object.

+
返回类型:

DotMulProjection

+
+
+ +
+
+

conv_shift_layer

+
+
+paddle.trainer_config_helpers.layers.conv_shift_layer(*args, **kwargs)
+
+
This layer performs cyclic convolution for two input. For example:
+
    +
  • a[in]: contains M elements.
  • +
  • b[in]: contains N elements (N should be odd).
  • +
  • c[out]: contains M elements.
  • +
+
+
+
+\[c[i] = \sum_{j=-(N-1)/2}^{(N-1)/2}a_{i+j} * b_{j}\]
+
+
In this formular:
+
    +
  • a’s index is computed modulo M. When it is negative, then get item from +the right side (which is the end of array) to the left.
  • +
  • b’s index is computed modulo N. When it is negative, then get item from +the right size (which is the end of array) to the left.
  • +
+
+
+

The example usage is:

+
conv_shift = conv_shift_layer(a=layer1, b=layer2)
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – layer name
  • +
  • a (LayerOutput) – Input layer a.
  • +
  • b (LayerOutput) – input layer b.
  • +
  • layer_attr (ExtraLayerAttribute) – layer’s extra attribute.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

img_conv_layer

+
+
+paddle.trainer_config_helpers.layers.img_conv_layer(*args, **kwargs)
+

Convolution layer for image. Paddle can support both square and non-square +input currently.

+

The details of convolution layer, please refer UFLDL’s convolution .

+

Convolution Transpose (deconv) layer for image. Paddle can support both square +and non-square input currently.

+

The details of convolution transpose layer, +please refer to the following explanation and references therein +<http://datascience.stackexchange.com/questions/6107/ +what-are-deconvolutional-layers/>`_ . +The num_channel means input image’s channel number. It may be 1 or 3 when +input is raw pixels of image(mono or RGB), or it may be the previous layer’s +num_filters * num_group.

+

There are several group of filter in PaddlePaddle implementation. +Each group will process some channel of the inputs. For example, if an input +num_channel = 256, group = 4, num_filter=32, the PaddlePaddle will create +32*4 = 128 filters to process inputs. The channels will be split into 4 +pieces. First 256/4 = 64 channels will process by first 32 filters. The +rest channels will be processed by rest group of filters.

+

The example usage is:

+
conv = img_conv_layer(input=data, filter_size=1, filter_size_y=1,
+                      num_channels=8,
+                      num_filters=16, stride=1,
+                      bias_attr=False,
+                      act=ReluActivation())
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – Layer name.
  • +
  • input (LayerOutput) – Layer Input.
  • +
  • filter_size (int|tuple|list) – The x dimension of a filter kernel. Or input a tuple for +two image dimension.
  • +
  • filter_size_y (int|None) – The y dimension of a filter kernel. Since PaddlePaddle +currently supports rectangular filters, the filter’s +shape will be (filter_size, filter_size_y).
  • +
  • num_filters – Each filter group’s number of filter
  • +
  • act (BaseActivation) – Activation type. Default is tanh
  • +
  • groups (int) – Group size of filters.
  • +
  • stride (int|tuple|list) – The x dimension of the stride. Or input a tuple for two image +dimension.
  • +
  • stride_y (int) – The y dimension of the stride.
  • +
  • padding (int|tuple|list) – The x dimension of the padding. Or input a tuple for two +image dimension
  • +
  • padding_y (int) – The y dimension of the padding.
  • +
  • bias_attr (ParameterAttribute|False) – Convolution bias attribute. None means default bias. +False means no bias.
  • +
  • num_channels (int) – number of input channels. If None will be set +automatically from previous output.
  • +
  • param_attr (ParameterAttribute) – Convolution param attribute. None means default attribute
  • +
  • shared_biases (bool) – Is biases will be shared between filters or not.
  • +
  • layer_attr (ExtraLayerAttribute) – Layer Extra Attribute.
  • +
  • trans (bool) – true if it is a convTransLayer, false if it is a convLayer
  • +
  • layer_type (String) – specify the layer_type, default is None. If trans=True, +layer_type has to be “exconvt” or “cudnn_convt”, +otherwise layer_type has to be either “exconv” or +“cudnn_conv”
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

context_projection

+
+
+paddle.trainer_config_helpers.layers.context_projection(*args, **kwargs)
+

Context Projection.

+

It just simply reorganizes input sequence, combines “context_len” sequence +to one context from context_start. “context_start” will be set to +-(context_len - 1) / 2 by default. If context position out of sequence +length, padding will be filled as zero if padding_attr = False, otherwise +it is trainable.

+

For example, origin sequence is [A B C D E F G], context len is 3, then +after context projection and not set padding_attr, sequence will +be [ 0AB ABC BCD CDE DEF EFG FG0 ].

+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – Input Sequence.
  • +
  • context_len (int) – context length.
  • +
  • context_start (int) – context start position. Default is +-(context_len - 1)/2
  • +
  • padding_attr (bool|ParameterAttribute) – Padding Parameter Attribute. If false, it means padding +always be zero. Otherwise Padding is learnable, and +parameter attribute is set by this parameter.
  • +
+
返回:

Projection

+
返回类型:

Projection

+
+
+ +
+
+
+

Image Pooling Layer

+
+

img_pool_layer

+
+
+paddle.trainer_config_helpers.layers.img_pool_layer(*args, **kwargs)
+

Image pooling Layer.

+

The details of pooling layer, please refer ufldl’s pooling .

+
    +
  • ceil_mode=True:
  • +
+
+\[w = 1 + int(ceil(input\_width + 2 * padding - pool\_size) / float(stride)) +h = 1 + int(ceil(input\_height + 2 * padding\_y - pool\_size\_y) / float(stride\_y))\]
+
    +
  • ceil_mode=False:
  • +
+
+\[w = 1 + int(floor(input\_width + 2 * padding - pool\_size) / float(stride)) +h = 1 + int(floor(input\_height + 2 * padding\_y - pool\_size\_y) / float(stride\_y))\]
+

The example usage is:

+
maxpool = img_pool_layer(input=conv,
+                         pool_size=3,
+                         pool_size_y=5,
+                         num_channels=8,
+                         stride=1,
+                         stride_y=2,
+                         padding=1,
+                         padding_y=2,
+                         pool_type=MaxPooling())
+
+
+ +++ + + + + + + + +
参数:
    +
  • padding (int) – pooling padding width.
  • +
  • padding_y (int|None) – pooling padding height. It’s equal to padding by default.
  • +
  • name (basestring.) – name of pooling layer
  • +
  • input (LayerOutput) – layer’s input
  • +
  • pool_size (int) – pooling window width
  • +
  • pool_size_y (int|None) – pooling window height. It’s eaqual to pool_size by default.
  • +
  • num_channels (int) – number of input channel.
  • +
  • pool_type (BasePoolingType) – pooling type. MaxPooling or AvgPooling. Default is +MaxPooling.
  • +
  • stride (int) – stride width of pooling.
  • +
  • stride_y (int|None) – stride height of pooling. It is equal to stride by default.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer attribute.
  • +
  • ceil_mode (bool) – Wether to use ceil mode to calculate output height and with. +Defalut is True. If set false, Otherwise use floor.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

spp_layer

+
+
+paddle.trainer_config_helpers.layers.spp_layer(*args, **kwargs)
+

Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition. +The details please refer to +Kaiming He’s paper.

+

The example usage is:

+
spp = spp_layer(input=data,
+                pyramid_height=2,
+                num_channels=16,
+                pool_type=MaxPooling())
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – layer name.
  • +
  • input (LayerOutput) – layer’s input.
  • +
  • num_channels (int) – number of input channel.
  • +
  • pool_type – Pooling type. MaxPooling or AveragePooling. Default is MaxPooling.
  • +
  • pyramid_height (int) – pyramid height.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

maxout_layer

+
+
+paddle.trainer_config_helpers.layers.maxout_layer(*args, **kwargs)
+
+
A layer to do max out on conv layer output.
+
    +
  • Input: output of a conv layer.
  • +
  • Output: feature map size same as input. Channel is (input channel) / groups.
  • +
+
+
+

So groups should be larger than 1, and the num of channels should be able +to devided by groups.

+
+
Please refer to Paper:
+
+
+
+

The simple usage is:

+
maxout = maxout_layer(input,
+                      num_channels=128,
+                      groups=4)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – The input layer.
  • +
  • num_channels (int|None) – The channel number of input layer. If None will be set +automatically from previous output.
  • +
  • groups (int) – The group number of input layer.
  • +
  • name (None|basestring.) – The name of this layer, which can not specify.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer attribute.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+
+

Norm Layer

+
+

img_cmrnorm_layer

+
+
+paddle.trainer_config_helpers.layers.img_cmrnorm_layer(*args, **kwargs)
+

Response normalization across feature maps. +The details please refer to +Alex’s paper.

+

The example usage is:

+
norm = img_cmrnorm_layer(input=net, size=5)
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (None|basestring) – layer name.
  • +
  • input (LayerOutput) – layer’s input.
  • +
  • size (int) – Normalize in number of \(size\) feature maps.
  • +
  • scale (float) – The hyper-parameter.
  • +
  • power (float) – The hyper-parameter.
  • +
  • num_channels – input layer’s filers number or channels. If +num_channels is None, it will be set automatically.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

batch_norm_layer

+
+
+paddle.trainer_config_helpers.layers.batch_norm_layer(*args, **kwargs)
+

Batch Normalization Layer. The notation of this layer as follow.

+

\(x\) is the input features over a mini-batch.

+
+\[\begin{split}\mu_{\beta} &\gets \frac{1}{m} \sum_{i=1}^{m} x_i \qquad &//\ +\ mini-batch\ mean \\ +\sigma_{\beta}^{2} &\gets \frac{1}{m} \sum_{i=1}^{m}(x_i - \ +\mu_{\beta})^2 \qquad &//\ mini-batch\ variance \\ +\hat{x_i} &\gets \frac{x_i - \mu_\beta} {\sqrt{\ +\sigma_{\beta}^{2} + \epsilon}} \qquad &//\ normalize \\ +y_i &\gets \gamma \hat{x_i} + \beta \qquad &//\ scale\ and\ shift\end{split}\]
+

The details of batch normalization please refer to this +paper.

+

The example usage is:

+
norm = batch_norm_layer(input=net, act=ReluActivation())
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – layer name.
  • +
  • input (LayerOutput) – batch normalization input. Better be linear activation. +Because there is an activation inside batch_normalization.
  • +
  • batch_norm_type (None|string, None or "batch_norm" or "cudnn_batch_norm") – We have batch_norm and cudnn_batch_norm. batch_norm +supports both CPU and GPU. cudnn_batch_norm requires +cuDNN version greater or equal to v4 (>=v4). But +cudnn_batch_norm is faster and needs less memory +than batch_norm. By default (None), we will +automaticly select cudnn_batch_norm for GPU and +batch_norm for CPU. Otherwise, select batch norm +type based on the specified type. If you use cudnn_batch_norm, +we suggested you use latest version, such as v5.1.
  • +
  • act (BaseActivation) – Activation Type. Better be relu. Because batch +normalization will normalize input near zero.
  • +
  • num_channels (int) – num of image channels or previous layer’s number of +filters. None will automatically get from layer’s +input.
  • +
  • bias_attr (ParameterAttribute) – \(\beta\), better be zero when initialize. So the +initial_std=0, initial_mean=1 is best practice.
  • +
  • param_attr (ParameterAttribute) – \(\gamma\), better be one when initialize. So the +initial_std=0, initial_mean=1 is best practice.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
  • use_global_stats (bool|None.) – whether use moving mean/variance statistics +during testing peroid. If None or True, +it will use moving mean/variance statistics during +testing. If False, it will use the mean +and variance of current batch of test data for +testing.
  • +
  • moving_average_fraction (float.) – Factor used in the moving average +computation, referred to as facotr, +\(runningMean = newMean*(1-factor) ++ runningMean*factor\)
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

sum_to_one_norm_layer

+
+
+paddle.trainer_config_helpers.layers.sum_to_one_norm_layer(*args, **kwargs)
+

A layer for sum-to-one normalization, +which is used in NEURAL TURING MACHINE.

+
+\[out[i] = \frac {in[i]} {\sum_{k=1}^N in[k]}\]
+

where \(in\) is a (batchSize x dataDim) input vector, +and \(out\) is a (batchSize x dataDim) output vector.

+

The example usage is:

+
sum_to_one_norm = sum_to_one_norm_layer(input=layer)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – Input layer.
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+
+

Recurrent Layers

+
+

recurrent_layer

+
+
+paddle.trainer_config_helpers.layers.recurrent_layer(*args, **kwargs)
+

Simple recurrent unit layer. It is just a fully connect layer through both +time and neural network.

+

For each sequence [start, end] it performs the following computation:

+
+\[\begin{split}out_{i} = act(in_{i}) \ \ \text{for} \ i = start \\ +out_{i} = act(in_{i} + out_{i-1} * W) \ \ \text{for} \ start < i <= end\end{split}\]
+

If reversed is true, the order is reversed:

+
+\[\begin{split}out_{i} = act(in_{i}) \ \ \text{for} \ i = end \\ +out_{i} = act(in_{i} + out_{i+1} * W) \ \ \text{for} \ start <= i < end\end{split}\]
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – Input Layer
  • +
  • act (BaseActivation) – activation.
  • +
  • bias_attr (ParameterAttribute) – bias attribute.
  • +
  • param_attr (ParameterAttribute) – parameter attribute.
  • +
  • name (basestring) – name of the layer
  • +
  • layer_attr (ExtraLayerAttribute) – Layer Attribute.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

lstmemory

+
+
+paddle.trainer_config_helpers.layers.lstmemory(*args, **kwargs)
+

Long Short-term Memory Cell.

+

The memory cell was implemented as follow equations.

+
+\[ \begin{align}\begin{aligned}i_t & = \sigma(W_{xi}x_{t} + W_{hi}h_{t-1} + W_{ci}c_{t-1} + b_i)\\f_t & = \sigma(W_{xf}x_{t} + W_{hf}h_{t-1} + W_{cf}c_{t-1} + b_f)\\c_t & = f_tc_{t-1} + i_t tanh (W_{xc}x_t+W_{hc}h_{t-1} + b_c)\\o_t & = \sigma(W_{xo}x_{t} + W_{ho}h_{t-1} + W_{co}c_t + b_o)\\h_t & = o_t tanh(c_t)\end{aligned}\end{align} \]
+

NOTE: In PaddlePaddle’s implementation, the multiplications +\(W_{xi}x_{t}\) , \(W_{xf}x_{t}\), +\(W_{xc}x_t\), \(W_{xo}x_{t}\) are not done in the lstmemory layer, +so an additional mixed_layer with full_matrix_projection or a fc_layer must +be included in the configuration file to complete the input-to-hidden +mappings before lstmemory is called.

+

NOTE: This is a low level user interface. You can use network.simple_lstm +to config a simple plain lstm layer.

+

Please refer to Generating Sequences With Recurrent Neural Networks for +more details about LSTM.

+

Link goes as below.

+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – The lstmemory layer name.
  • +
  • input (LayerOutput) – input layer name.
  • +
  • reverse (bool) – is sequence process reversed or not.
  • +
  • act (BaseActivation) – activation type, TanhActivation by default. \(h_t\)
  • +
  • gate_act (BaseActivation) – gate activation type, SigmoidActivation by default.
  • +
  • state_act (BaseActivation) – state activation type, TanhActivation by default.
  • +
  • bias_attr (ParameterAttribute|None|False) – Bias attribute. None means default bias. False means no +bias.
  • +
  • param_attr (ParameterAttribute|None|False) – Parameter Attribute.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer attribute
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

grumemory

+
+
+paddle.trainer_config_helpers.layers.grumemory(*args, **kwargs)
+

Gate Recurrent Unit Layer.

+

The memory cell was implemented as follow equations.

+

1. update gate \(z\): defines how much of the previous memory to +keep around or the unit updates its activations. The update gate +is computed by:

+
+\[z_t = \sigma(W_{z}x_{t} + U_{z}h_{t-1} + b_z)\]
+

2. reset gate \(r\): determines how to combine the new input with the +previous memory. The reset gate is computed similarly to the update gate:

+
+\[r_t = \sigma(W_{r}x_{t} + U_{r}h_{t-1} + b_r)\]
+

3. The candidate activation \(\tilde{h_t}\) is computed similarly to +that of the traditional recurrent unit:

+
+\[{\tilde{h_t}} = tanh(W x_{t} + U (r_{t} \odot h_{t-1}) + b)\]
+

4. The hidden activation \(h_t\) of the GRU at time t is a linear +interpolation between the previous activation \(h_{t-1}\) and the +candidate activation \(\tilde{h_t}\):

+
+\[h_t = (1 - z_t) h_{t-1} + z_t {\tilde{h_t}}\]
+

NOTE: In PaddlePaddle’s implementation, the multiplication operations +\(W_{r}x_{t}\), \(W_{z}x_{t}\) and \(W x_t\) are not computed in +gate_recurrent layer. Consequently, an additional mixed_layer with +full_matrix_projection or a fc_layer must be included before grumemory +is called.

+

More details can be found by referring to Empirical Evaluation of Gated +Recurrent Neural Networks on Sequence Modeling.

+

The simple usage is:

+
gru = grumemory(input)
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (None|basestring) – The gru layer name.
  • +
  • input (LayerOutput.) – input layer.
  • +
  • reverse (bool) – Whether sequence process is reversed or not.
  • +
  • act (BaseActivation) – activation type, TanhActivation by default. This activation +affects the \({\tilde{h_t}}\).
  • +
  • gate_act (BaseActivation) – gate activation type, SigmoidActivation by default. +This activation affects the \(z_t\) and \(r_t\). It is the +\(\sigma\) in the above formula.
  • +
  • bias_attr (ParameterAttribute|None|False) – Bias attribute. None means default bias. False means no +bias.
  • +
  • param_attr (ParameterAttribute|None|False) – Parameter Attribute.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer attribute
  • +
  • size (None) – Stub parameter of size, but actually not used. If set this size +will get a warning.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+
+

Recurrent Layer Group

+
+

memory

+
+
+paddle.trainer_config_helpers.layers.memory(*args, **kwargs)
+

The memory layers is a layer cross each time step. Reference this output +as previous time step layer name ‘s output.

+

The default memory is zero in first time step, previous time step’s +output in the rest time steps.

+

If boot_bias, the first time step value is this bias and +with activation.

+

If boot_with_const_id, then the first time stop is a IndexSlot, the +Arguments.ids()[0] is this cost_id.

+

If boot_layer is not null, the memory is just the boot_layer’s output. +Set is_seq is true boot layer is sequence.

+

The same name layer in recurrent group will set memory on each time +step.

+
mem = memory(size=256, name='state')
+state = fc_layer(input=mem, size=256, name='state')
+
+
+

If you do not want to specify the name, you can equivalently use set_input() +to specify the layer needs to be remembered as the following:

+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – the name of the layer which this memory remembers. +If name is None, user should call set_input() to specify the +name of the layer which this memory remembers.
  • +
  • size (int) – size of memory.
  • +
  • memory_name (basestring) – the name of the memory. +It is ignored when name is provided.
  • +
  • is_seq (bool) – is sequence for boot_layer
  • +
  • boot_layer (LayerOutput|None) – boot layer of memory.
  • +
  • boot_bias (ParameterAttribute|None) – boot layer’s bias
  • +
  • boot_bias_active_type (BaseActivation) – boot layer’s active type.
  • +
  • boot_with_const_id (int) – boot layer’s id.
  • +
+
返回:

LayerOutput object which is a memory.

+
返回类型:

LayerOutput

+
+
+ +
+
+

recurrent_group

+
+
+paddle.trainer_config_helpers.layers.recurrent_group(*args, **kwargs)
+

Recurrent layer group is an extremely flexible recurrent unit in +PaddlePaddle. As long as the user defines the calculation done within a +time step, PaddlePaddle will iterate such a recurrent calculation over +sequence input. This is extremely usefull for attention based model, or +Neural Turning Machine like models.

+

The basic usage (time steps) is:

+
def step(input):
+    output = fc_layer(input=layer,
+                      size=1024,
+                      act=LinearActivation(),
+                      bias_attr=False)
+    return output
+
+group = recurrent_group(input=layer,
+                        step=step)
+
+
+

You can see following configs for further usages:

+
    +
  • time steps: lstmemory_group, paddle/gserver/tests/sequence_layer_group.conf, demo/seqToseq/seqToseq_net.py
  • +
  • sequence steps: paddle/gserver/tests/sequence_nest_layer_group.conf
  • +
+ +++ + + + +
参数:
    +
  • step (callable) –

    recurrent one time step function.The input of this function is +input of the group. The return of this function will be +recurrent group’s return value.

    +

    The recurrent group scatter a sequence into time steps. And +for each time step, will invoke step function, and return +a time step result. Then gather each time step of output into +layer group’s output.

    +
  • +
  • name (basestring) – recurrent_group’s name.
  • +
  • input (LayerOutput|StaticInput|SubsequenceInput|list|tuple) –

    Input links array.

    +

    LayerOutput will be scattered into time steps. +SubsequenceInput will be scattered into sequence steps. +StaticInput will be imported to each time step, and doesn’t change +through time. It’s a mechanism to access layer outside step function.

    +
  • +
  • reverse (bool) – If reverse is set true, the recurrent unit will process the +input sequence in a reverse order.
  • +
  • targetInlink (LayerOutput|SubsequenceInput) –

    the input layer which share info with layer group’s output

    +

    Param input specifies multiple input layers. For +SubsequenceInput inputs, config should assign one input +layer that share info(the number of sentences and the number +of words in each sentence) with all layer group’s outputs. +targetInlink should be one of the layer group’s input.

    +
  • +
  • is_generating – If is generating, none of input type should be LayerOutput; +else, for training or testing, one of the input type must +be LayerOutput.
  • +
+
+

: type is_generating: bool

+ +++ + + + + + +
返回:LayerOutput object.
返回类型:LayerOutput
+
+ +
+
+

lstm_step_layer

+
+
+paddle.trainer_config_helpers.layers.lstm_step_layer(*args, **kwargs)
+

LSTM Step Layer. It used in recurrent_group. The lstm equations are shown +as follow.

+
+\[ \begin{align}\begin{aligned}i_t & = \sigma(W_{xi}x_{t} + W_{hi}h_{t-1} + W_{ci}c_{t-1} + b_i)\\f_t & = \sigma(W_{xf}x_{t} + W_{hf}h_{t-1} + W_{cf}c_{t-1} + b_f)\\c_t & = f_tc_{t-1} + i_t tanh (W_{xc}x_t+W_{hc}h_{t-1} + b_c)\\o_t & = \sigma(W_{xo}x_{t} + W_{ho}h_{t-1} + W_{co}c_t + b_o)\\h_t & = o_t tanh(c_t)\end{aligned}\end{align} \]
+

The input of lstm step is \(Wx_t + Wh_{t-1}\), and user should use +mixed_layer and full_matrix_projection to calculate these +input vector.

+

The state of lstm step is \(c_{t-1}\). And lstm step layer will do

+
+\[ \begin{align}\begin{aligned}i_t = \sigma(input + W_{ci}c_{t-1} + b_i)\\...\end{aligned}\end{align} \]
+

This layer contains two outputs. Default output is \(h_t\). The other +output is \(o_t\), which name is ‘state’ and can use +get_output_layer to extract this output.

+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – Layer’s name.
  • +
  • size (int) – Layer’s size. NOTE: lstm layer’s size, should be equal as +input.size/4, and should be equal as +state.size.
  • +
  • input (LayerOutput) – input layer. \(Wx_t + Wh_{t-1}\)
  • +
  • state (LayerOutput) – State Layer. \(c_{t-1}\)
  • +
  • act (BaseActivation) – Activation type. Default is tanh
  • +
  • gate_act (BaseActivation) – Gate Activation Type. Default is sigmoid, and should +be sigmoid only.
  • +
  • state_act (BaseActivation) – State Activation Type. Default is sigmoid, and should +be sigmoid only.
  • +
  • bias_attr (ParameterAttribute) – Bias Attribute.
  • +
  • layer_attr (ExtraLayerAttribute) – layer’s extra attribute.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

gru_step_layer

+
+
+paddle.trainer_config_helpers.layers.gru_step_layer(*args, **kwargs)
+
+++ + + + + + + + +
参数:
    +
  • input (LayerOutput) –
  • +
  • output_mem
  • +
  • size
  • +
  • act
  • +
  • name
  • +
  • gate_act
  • +
  • bias_attr
  • +
  • param_attr – the parameter_attribute for transforming the output_mem +from previous step.
  • +
  • layer_attr
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+ +
+

get_output_layer

+
+
+paddle.trainer_config_helpers.layers.get_output_layer(*args, **kwargs)
+

Get layer’s output by name. In PaddlePaddle, a layer might return multiple +values, but returns one layer’s output. If the user wants to use another +output besides the default one, please use get_output_layer first to get +the output from input.

+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – Layer’s name.
  • +
  • input (LayerOutput) – get output layer’s input. And this layer should contains +multiple outputs.
  • +
  • arg_name (basestring) – Output name from input.
  • +
  • layer_attr – Layer’s extra attribute.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+
+

Mixed Layer

+
+

mixed_layer

+
+
+paddle.trainer_config_helpers.layers.mixed_layer(*args, **kwargs)
+

Mixed Layer. A mixed layer will add all inputs together, then activate. +Each inputs is a projection or operator.

+

There are two styles of usages.

+
    +
  1. When not set inputs parameter, use mixed_layer like this:
  2. +
+
with mixed_layer(size=256) as m:
+    m += full_matrix_projection(input=layer1)
+    m += identity_projection(input=layer2)
+
+
+
    +
  1. You can also set all inputs when invoke mixed_layer as follows:
  2. +
+
m = mixed_layer(size=256,
+                input=[full_matrix_projection(input=layer1),
+                       full_matrix_projection(input=layer2)])
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – mixed layer name. Can be referenced by other layer.
  • +
  • size (int) – layer size.
  • +
  • input – inputs layer. It is an optional parameter. If set, +then this function will just return layer’s name.
  • +
  • act (BaseActivation) – Activation Type.
  • +
  • bias_attr (ParameterAttribute or None or bool) – The Bias Attribute. If no bias, then pass False or +something not type of ParameterAttribute. None will get a +default Bias.
  • +
  • layer_attr (ExtraLayerAttribute) – The extra layer config. Default is None.
  • +
+
返回:

MixedLayerType object can add inputs or layer name.

+
返回类型:

MixedLayerType

+
+
+ +
+
+

embedding_layer

+
+
+paddle.trainer_config_helpers.layers.embedding_layer(*args, **kwargs)
+

Define a embedding Layer.

+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – Name of this embedding layer.
  • +
  • input (LayerOutput) – The input layer for this embedding. NOTE: must be Index Data.
  • +
  • size (int) – The embedding dimension.
  • +
  • param_attr (ParameterAttribute|None) – The embedding parameter attribute. See ParameterAttribute +for details.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra layer Config. Default is None.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

scaling_projection

+
+
+paddle.trainer_config_helpers.layers.scaling_projection(*args, **kwargs)
+

scaling_projection multiplies the input with a scalar parameter and add to +the output.

+
+\[out += w * in\]
+

The example usage is:

+
proj = scaling_projection(input=layer)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – Input Layer.
  • +
  • param_attr (ParameterAttribute) – Parameter config, None if use default.
  • +
+
返回:

A ScalingProjection object

+
返回类型:

ScalingProjection

+
+
+ +
+
+

dotmul_projection

+
+
+paddle.trainer_config_helpers.layers.dotmul_projection(*args, **kwargs)
+

DotMulProjection with a layer as input. +It performs element-wise multiplication with weight.

+
+\[out.row[i] += in.row[i] .* weight\]
+

where \(.*\) means element-wise multiplication.

+

The example usage is:

+
proj = dotmul_projection(input=layer)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – Input layer.
  • +
  • param_attr (ParameterAttribute) – Parameter config, None if use default.
  • +
+
返回:

A DotMulProjection Object.

+
返回类型:

DotMulProjection

+
+
+ +
+
+

dotmul_operator

+
+
+paddle.trainer_config_helpers.layers.dotmul_operator(a=None, b=None, scale=1, **kwargs)
+

DotMulOperator takes two inputs and performs element-wise multiplication:

+
+\[out.row[i] += scale * (a.row[i] .* b.row[i])\]
+

where \(.*\) means element-wise multiplication, and +scale is a config scalar, its default value is one.

+

The example usage is:

+
op = dotmul_operator(a=layer1, b=layer2, scale=0.5)
+
+
+ +++ + + + + + + + +
参数:
    +
  • a (LayerOutput) – Input layer1
  • +
  • b (LayerOutput) – Input layer2
  • +
  • scale (float) – config scalar, default value is one.
  • +
+
返回:

A DotMulOperator Object.

+
返回类型:

DotMulOperator

+
+
+ +
+
+

full_matrix_projection

+
+
+paddle.trainer_config_helpers.layers.full_matrix_projection(*args, **kwargs)
+

Full Matrix Projection. It performs full matrix multiplication.

+
+\[out.row[i] += in.row[i] * weight\]
+

There are two styles of usage.

+
    +
  1. When used in mixed_layer like this, you can only set the input:
  2. +
+
with mixed_layer(size=100) as m:
+    m += full_matrix_projection(input=layer)
+
+
+
    +
  1. When used as an independant object like this, you must set the size:
  2. +
+
proj = full_matrix_projection(input=layer,
+                              size=100,
+                              param_attr=ParamAttr(name='_proj'))
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – input layer
  • +
  • size (int) – The parameter size. Means the width of parameter.
  • +
  • param_attr (ParameterAttribute) – Parameter config, None if use default.
  • +
+
返回:

A FullMatrixProjection Object.

+
返回类型:

FullMatrixProjection

+
+
+ +
+
+

identity_projection

+
+
+paddle.trainer_config_helpers.layers.identity_projection(input, offset=None)
+
    +
  1. IdentityProjection if offset=None. It performs:
  2. +
+
+\[out.row[i] += in.row[i]\]
+

The example usage is:

+
proj = identity_projection(input=layer)
+
+
+

2. IdentityOffsetProjection if offset!=None. It likes IdentityProjection, +but layer size may be smaller than input size. +It select dimesions [offset, offset+layer_size) from input:

+
+\[out.row[i] += in.row[i + \textrm{offset}]\]
+

The example usage is:

+
proj = identity_projection(input=layer,
+                           offset=10)
+
+
+

Note that both of two projections should not have any parameter.

+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – Input Layer.
  • +
  • offset (int) – Offset, None if use default.
  • +
+
返回:

A IdentityProjection or IdentityOffsetProjection object

+
返回类型:

IdentityProjection or IdentityOffsetProjection

+
+
+ +
+
+

table_projection

+
+
+paddle.trainer_config_helpers.layers.table_projection(*args, **kwargs)
+

Table Projection. It selects rows from parameter where row_id +is in input_ids.

+
+\[out.row[i] += table.row[ids[i]]\]
+

where \(out\) is output, \(table\) is parameter, \(ids\) is input_ids, +and \(i\) is row_id.

+

There are two styles of usage.

+
    +
  1. When used in mixed_layer like this, you can only set the input:
  2. +
+
with mixed_layer(size=100) as m:
+    m += table_projection(input=layer)
+
+
+
    +
  1. When used as an independant object like this, you must set the size:
  2. +
+
proj = table_projection(input=layer,
+                        size=100,
+                        param_attr=ParamAttr(name='_proj'))
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – Input layer, which must contains id fields.
  • +
  • size (int) – The parameter size. Means the width of parameter.
  • +
  • param_attr (ParameterAttribute) – Parameter config, None if use default.
  • +
+
返回:

A TableProjection Object.

+
返回类型:

TableProjection

+
+
+ +
+
+

trans_full_matrix_projection

+
+
+paddle.trainer_config_helpers.layers.trans_full_matrix_projection(*args, **kwargs)
+

Different from full_matrix_projection, this projection performs matrix +multiplication, using transpose of weight.

+
+\[out.row[i] += in.row[i] * w^\mathrm{T}\]
+

\(w^\mathrm{T}\) means transpose of weight. +The simply usage is:

+
proj = trans_full_matrix_projection(input=layer,
+                                    size=100,
+                                    param_attr=ParamAttr(
+                                         name='_proj',
+                                         initial_mean=0.0,
+                                         initial_std=0.01))
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – input layer
  • +
  • size (int) – The parameter size. Means the width of parameter.
  • +
  • param_attr (ParameterAttribute) – Parameter config, None if use default.
  • +
+
返回:

A TransposedFullMatrixProjection Object.

+
返回类型:

TransposedFullMatrixProjection

+
+
+ +
+
+
+

Aggregate Layers

+
+

pooling_layer

+
+
+paddle.trainer_config_helpers.layers.pooling_layer(*args, **kwargs)
+

Pooling layer for sequence inputs, not used for Image.

+

The example usage is:

+
seq_pool = pooling_layer(input=layer,
+                         pooling_type=AvgPooling(),
+                         agg_level=AggregateLevel.EACH_SEQUENCE)
+
+
+ +++ + + + + + + + +
参数:
    +
  • agg_level (AggregateLevel) – AggregateLevel.EACH_TIMESTEP or +AggregateLevel.EACH_SEQUENCE
  • +
  • name (basestring) – layer name.
  • +
  • input (LayerOutput) – input layer name.
  • +
  • pooling_type (BasePoolingType|None) – Type of pooling, MaxPooling(default), AvgPooling, +SumPooling, SquareRootNPooling.
  • +
  • bias_attr (ParameterAttribute|None|False) – Bias parameter attribute. False if no bias.
  • +
  • layer_attr (ExtraLayerAttribute|None) – The Extra Attributes for layer, such as dropout.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

last_seq

+
+
+paddle.trainer_config_helpers.layers.last_seq(*args, **kwargs)
+

Get Last Timestamp Activation of a sequence.

+

If stride > 0, this layer slides a window whose size is determined by stride, +and return the last value of the window as the output. Thus, a long sequence +will be shorten. Note that for sequence with sub-sequence, the default value +of stride is -1.

+

The simple usage is:

+
seq = last_seq(input=layer)
+
+
+ +++ + + + + + + + +
参数:
    +
  • agg_level – Aggregated level
  • +
  • name (basestring) – Layer name.
  • +
  • input (LayerOutput) – Input layer name.
  • +
  • stride (Int) – window size.
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

first_seq

+
+
+paddle.trainer_config_helpers.layers.first_seq(*args, **kwargs)
+

Get First Timestamp Activation of a sequence.

+

If stride > 0, this layer slides a window whose size is determined by stride, +and return the first value of the window as the output. Thus, a long sequence +will be shorten. Note that for sequence with sub-sequence, the default value +of stride is -1.

+

The simple usage is:

+
seq = first_seq(input=layer)
+
+
+ +++ + + + + + + + +
参数:
    +
  • agg_level – aggregation level
  • +
  • name (basestring) – Layer name.
  • +
  • input (LayerOutput) – Input layer name.
  • +
  • stride (Int) – window size.
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

concat_layer

+
+
+paddle.trainer_config_helpers.layers.concat_layer(*args, **kwargs)
+

Concat all input vector into one huge vector. +Inputs can be list of LayerOutput or list of projection.

+

The example usage is:

+
concat = concat_layer(input=[layer1, layer2])
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – Layer name.
  • +
  • input (list|tuple|collections.Sequence) – input layers or projections
  • +
  • act (BaseActivation) – Activation type.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

seq_concat_layer

+
+
+paddle.trainer_config_helpers.layers.seq_concat_layer(*args, **kwargs)
+

Concat sequence a with sequence b.

+
+
Inputs:
+
    +
  • a = [a1, a2, ..., an]
  • +
  • b = [b1, b2, ..., bn]
  • +
  • Note that the length of a and b should be the same.
  • +
+
+
+

Output: [a1, b1, a2, b2, ..., an, bn]

+

The example usage is:

+
concat = seq_concat_layer(a=layer1, b=layer2)
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – Layer name.
  • +
  • a (LayerOutput) – input sequence layer
  • +
  • b (LayerOutput) – input sequence layer
  • +
  • act (BaseActivation) – Activation type.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
  • bias_attr (ParameterAttribute or None or bool) – The Bias Attribute. If no bias, then pass False or +something not type of ParameterAttribute. None will get a +default Bias.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+
+

Reshaping Layers

+
+

block_expand_layer

+
+
+paddle.trainer_config_helpers.layers.block_expand_layer(*args, **kwargs)
+
+
Expand feature map to minibatch matrix.
+
    +
  • matrix width is: block_y * block_x * num_channels
  • +
  • matirx height is: outputH * outputW
  • +
+
+
+
+\[ \begin{align}\begin{aligned}outputH = 1 + (2 * padding_y + imgSizeH - block_y + stride_y - 1) / stride_y\\outputW = 1 + (2 * padding_x + imgSizeW - block_x + stride_x - 1) / stride_x\end{aligned}\end{align} \]
+

The expand method is the same with ExpandConvLayer, but saved the transposed +value. After expanding, output.sequenceStartPositions will store timeline. +The number of time steps are outputH * outputW and the dimension of each +time step is block_y * block_x * num_channels. This layer can be used after +convolution neural network, and before recurrent neural network.

+

The simple usage is:

+
block_expand = block_expand_layer(input=layer,
+                                  num_channels=128,
+                                  stride_x=1,
+                                  stride_y=1,
+                                  block_x=1,
+                                  block_x=3)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – The input layer.
  • +
  • num_channels (int|None) – The channel number of input layer.
  • +
  • block_x (int) – The width of sub block.
  • +
  • block_y (int) – The width of sub block.
  • +
  • stride_x (int) – The stride size in horizontal direction.
  • +
  • stride_y (int) – The stride size in vertical direction.
  • +
  • padding_x (int) – The padding size in horizontal direction.
  • +
  • padding_y (int) – The padding size in vertical direction.
  • +
  • name (None|basestring.) – The name of this layer, which can not specify.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer config.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

expand_layer

+
+
+paddle.trainer_config_helpers.layers.expand_layer(*args, **kwargs)
+

A layer for “Expand Dense data or (sequence data where the length of each +sequence is one) to sequence data.”

+

The example usage is:

+
expand = expand_layer(input=layer1,
+                      expand_as=layer2,
+                      expand_level=ExpandLevel.FROM_TIMESTEP)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – Input layer
  • +
  • expand_as (LayerOutput) – Expand as this layer’s sequence info.
  • +
  • name (basestring) – Layer name.
  • +
  • bias_attr (ParameterAttribute|None|False) – Bias attribute. None means default bias. False means no +bias.
  • +
  • expand_level (ExpandLevel) – whether input layer is timestep(default) or sequence.
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

repeat_layer

+
+
+paddle.trainer_config_helpers.layers.repeat_layer(*args, **kwargs)
+

A layer for repeating the input for num_repeats times. This is equivalent +to apply concat_layer() with num_repeats same input.

+
+\[y = [x, x, \cdots, x]\]
+

The example usage is:

+
expand = repeat_layer(input=layer, num_repeats=4)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – Input layer
  • +
  • num_repeats (int) – Repeat the input so many times
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

rotate_layer

+
+
+paddle.trainer_config_helpers.layers.rotate_layer(*args, **kwargs)
+

A layer for rotating 90 degrees (clock-wise) for each feature channel, +usually used when the input sample is some image or feature map.

+
+\[y(j,i,:) = x(M-i-1,j,:)\]
+

where \(x\) is (M x N x C) input, and \(y\) is (N x M x C) output.

+

The example usage is:

+
rot = rotate_layer(input=layer,
+                   height=100,
+                   width=100)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – Input layer.
  • +
  • height (int) – The height of the sample matrix
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

seq_reshape_layer

+
+
+paddle.trainer_config_helpers.layers.seq_reshape_layer(*args, **kwargs)
+

A layer for reshaping the sequence. Assume the input sequence has T instances, +the dimension of each instance is M, and the input reshape_size is N, then the +output sequence has T*M/N instances, the dimension of each instance is N.

+

Note that T*M/N must be an integer.

+

The example usage is:

+
reshape = seq_reshape_layer(input=layer, reshape_size=4)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – Input layer.
  • +
  • reshape_size (int) – the size of reshaped sequence.
  • +
  • name (basestring) – Layer name.
  • +
  • act (BaseActivation) – Activation type.
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
  • bias_attr (ParameterAttribute or None or bool) – The Bias Attribute. If no bias, then pass False or +something not type of ParameterAttribute. None will get a +default Bias.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+
+

Math Layers

+
+

addto_layer

+
+
+paddle.trainer_config_helpers.layers.addto_layer(*args, **kwargs)
+

AddtoLayer.

+
+\[y = f(\sum_{i} x_i + b)\]
+

where \(y\) is output, \(x\) is input, \(b\) is bias, +and \(f\) is activation function.

+

The example usage is:

+
addto = addto_layer(input=[layer1, layer2],
+                    act=ReluActivation(),
+                    bias_attr=False)
+
+
+

This layer just simply add all input layers together, then activate the sum +inputs. Each input of this layer should be the same size, which is also the +output size of this layer.

+

There is no weight matrix for each input, because it just a simple add +operation. If you want a complicated operation before add, please use +mixed_layer.

+

It is a very good way to set dropout outside the layers. Since not all +PaddlePaddle layer support dropout, you can add an add_to layer, set +dropout here. +Please refer to dropout_layer for details.

+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – Layer name.
  • +
  • input (LayerOutput|list|tuple) – Input layers. It could be a LayerOutput or list/tuple of +LayerOutput.
  • +
  • act (BaseActivation) – Activation Type, default is tanh.
  • +
  • bias_attr (ParameterAttribute|bool) – Bias attribute. If False, means no bias. None is default +bias.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer attribute.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

linear_comb_layer

+
+
+paddle.trainer_config_helpers.layers.linear_comb_layer(*args, **kwargs)
+
+
A layer for weighted sum of vectors takes two inputs.
+
    +
  • +
    Input: size of weights is M
    +
    size of vectors is M*N
    +
    +
  • +
  • Output: a vector of size=N
  • +
+
+
+
+\[z(i) = \sum_{j=0}^{M-1} x(j) y(i+Nj)\]
+

where \(0 \le i \le N-1\)

+

Or in the matrix notation:

+
+\[z = x^\mathrm{T} Y\]
+
+
In this formular:
+
    +
  • \(x\): weights
  • +
  • \(y\): vectors.
  • +
  • \(z\): the output.
  • +
+
+
+

Note that the above computation is for one sample. Multiple samples are +processed in one batch.

+

The simple usage is:

+
linear_comb = linear_comb_layer(weights=weight, vectors=vectors,
+                                size=elem_dim)
+
+
+ +++ + + + + + + + +
参数:
    +
  • weights (LayerOutput) – The weight layer.
  • +
  • vectors (LayerOutput) – The vector layer.
  • +
  • size (int) – the dimension of this layer.
  • +
  • name (basestring) – The Layer Name.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer config.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

interpolation_layer

+
+
+paddle.trainer_config_helpers.layers.interpolation_layer(*args, **kwargs)
+

This layer is for linear interpolation with two inputs, +which is used in NEURAL TURING MACHINE.

+
+\[y.row[i] = w[i] * x_1.row[i] + (1 - w[i]) * x_2.row[i]\]
+

where \(x_1\) and \(x_2\) are two (batchSize x dataDim) inputs, +\(w\) is (batchSize x 1) weight vector, and \(y\) is +(batchSize x dataDim) output.

+

The example usage is:

+
interpolation = interpolation_layer(input=[layer1, layer2], weight=layer3)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (list|tuple) – Input layer.
  • +
  • weight (LayerOutput) – Weight layer.
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

bilinear_interp_layer

+
+
+paddle.trainer_config_helpers.layers.bilinear_interp_layer(*args, **kwargs)
+

This layer is to implement bilinear interpolation on conv layer output.

+

Please refer to Wikipedia: https://en.wikipedia.org/wiki/Bilinear_interpolation

+

The simple usage is:

+
bilinear = bilinear_interp_layer(input=layer1, out_size_x=64, out_size_y=64)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput.) – A input layer.
  • +
  • out_size_x (int|None) – bilinear interpolation output width.
  • +
  • out_size_y (int|None) – bilinear interpolation output height.
  • +
  • name (None|basestring) – The layer’s name, which cna not be specified.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer attribute.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

power_layer

+
+
+paddle.trainer_config_helpers.layers.power_layer(*args, **kwargs)
+

This layer applies a power function to a vector element-wise, +which is used in NEURAL TURING MACHINE.

+
+\[y = x^w\]
+

where \(x\) is a input vector, \(w\) is scalar weight, +and \(y\) is a output vector.

+

The example usage is:

+
power = power_layer(input=layer1, weight=layer2)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – Input layer.
  • +
  • weight (LayerOutput) – Weight layer.
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

scaling_layer

+
+
+paddle.trainer_config_helpers.layers.scaling_layer(*args, **kwargs)
+

A layer for multiplying input vector by weight scalar.

+
+\[y = w x\]
+

where \(x\) is size=dataDim input, \(w\) is size=1 weight, +and \(y\) is size=dataDim output.

+

Note that the above computation is for one sample. Multiple samples are +processed in one batch.

+

The example usage is:

+
scale = scaling_layer(input=layer1, weight=layer2)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – Input layer.
  • +
  • weight (LayerOutput) – Weight layer.
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

slope_intercept_layer

+
+
+paddle.trainer_config_helpers.layers.slope_intercept_layer(*args, **kwargs)
+

This layer for applying a slope and an intercept to the input +element-wise. There is no activation and weight.

+
+\[y = slope * x + intercept\]
+

The simple usage is:

+
scale = slope_intercept_layer(input=input, slope=-1.0, intercept=1.0)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – The input layer.
  • +
  • name (basestring) – The Layer Name.
  • +
  • slope (float.) – the scale factor.
  • +
  • intercept (float.) – the offset.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer config.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

tensor_layer

+
+
+paddle.trainer_config_helpers.layers.tensor_layer(*args, **kwargs)
+

This layer performs tensor operation for two input. +For example, each sample:

+
+\[y_{i} = a * W_{i} * {b^\mathrm{T}}, i=0,1,...,K-1\]
+
+
In this formular:
+
    +
  • \(a\): the first input contains M elements.
  • +
  • \(b\): the second input contains N elements.
  • +
  • \(y_{i}\): the i-th element of y.
  • +
  • \(W_{i}\): the i-th learned weight, shape if [M, N]
  • +
  • \(b^\mathrm{T}\): the transpose of \(b_{2}\).
  • +
+
+
+

The simple usage is:

+
tensor = tensor_layer(a=layer1, b=layer2, size=1000)
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – layer name
  • +
  • a (LayerOutput) – Input layer a.
  • +
  • b (LayerOutput) – input layer b.
  • +
  • size (int.) – the layer dimension.
  • +
  • act (BaseActivation) – Activation Type. Default is tanh.
  • +
  • param_attr (ParameterAttribute) – The Parameter Attribute.
  • +
  • bias_attr (ParameterAttribute|None|Any) – The Bias Attribute. If no bias, then pass False or +something not type of ParameterAttribute. None will get a +default Bias.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer config.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

cos_sim

+
+
+paddle.trainer_config_helpers.layers.cos_sim(*args, **kwargs)
+

Cosine Similarity Layer. The cosine similarity equation is here.

+
+\[similarity = cos(\theta) = {\mathbf{a} \cdot \mathbf{b} +\over \|\mathbf{a}\| \|\mathbf{b}\|}\]
+

The size of a is M, size of b is M*N, +Similarity will be calculated N times by step M. The output size is +N. The scale will be multiplied to similarity.

+

Note that the above computation is for one sample. Multiple samples are +processed in one batch.

+

The example usage is:

+
cos = cos_sim(a=layer1, b=layer2, size=3)
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – layer name
  • +
  • a (LayerOutput) – input layer a
  • +
  • b (LayerOutput) – input layer b
  • +
  • scale (float) – scale for cosine value. default is 5.
  • +
  • size (int) – layer size. NOTE size_a * size should equal size_b.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

trans_layer

+
+
+paddle.trainer_config_helpers.layers.trans_layer(*args, **kwargs)
+

A layer for transposing a minibatch matrix.

+
+\[y = x^\mathrm{T}\]
+

where \(x\) is (M x N) input, and \(y\) is (N x M) output.

+

The example usage is:

+
trans = trans_layer(input=layer)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – Input layer.
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+
+

Sampling Layers

+
+

maxid_layer

+
+
+paddle.trainer_config_helpers.layers.maxid_layer(*args, **kwargs)
+

A layer for finding the id which has the maximal value for each sample. +The result is stored in output.ids.

+

The example usage is:

+
maxid = maxid_layer(input=layer)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – Input layer name.
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

sampling_id_layer

+
+
+paddle.trainer_config_helpers.layers.sampling_id_layer(*args, **kwargs)
+

A layer for sampling id from multinomial distribution from the input layer. +Sampling one id for one sample.

+

The simple usage is:

+
samping_id = sampling_id_layer(input=input)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – The input layer.
  • +
  • name (basestring) – The Layer Name.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer config.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+
+

Slicing and Joining Layers

+
+

pad_layer

+
+
+paddle.trainer_config_helpers.layers.pad_layer(*args, **kwargs)
+

This operation pads zeros to the input data according to pad_c,pad_h +and pad_w. pad_c, pad_h, pad_w specifies the which dimension and size +of padding. And the input data shape is NCHW.

+

For example, pad_c=[2,3] means padding 2 zeros before the +input data and 3 zeros after the input data in channel dimension. +pad_h means padding zeros in height dimension. pad_w means padding zeros +in width dimension.

+

For example,

+
input(2,2,2,3)  = [
+                    [ [[1,2,3], [3,4,5]],
+                      [[2,3,5], [1,6,7]] ],
+                    [ [[4,3,1], [1,8,7]],
+                      [[3,8,9], [2,3,5]] ]
+                  ]
+
+pad_c=[1,1], pad_h=[0,0], pad_w=[0,0]
+
+output(2,4,2,3) = [
+                    [ [[0,0,0], [0,0,0]],
+                      [[1,2,3], [3,4,5]],
+                      [[2,3,5], [1,6,7]],
+                      [[0,0,0], [0,0,0]] ],
+                    [ [[0,0,0], [0,0,0]],
+                      [[4,3,1], [1,8,7]],
+                      [[3,8,9], [2,3,5]],
+                      [[0,0,0], [0,0,0]] ]
+                  ]
+
+
+

The simply usage is:

+
pad = pad_layer(input=ipt,
+                pad_c=[4,4],
+                pad_h=[0,0],
+                pad_w=[2,2])
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – layer’s input.
  • +
  • pad_c (list|None) – padding size in channel dimension.
  • +
  • pad_h (list|None) – padding size in height dimension.
  • +
  • pad_w (list|None) – padding size in width dimension.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
  • name (basestring) – layer name.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+
+

Cost Layers

+
+

cross_entropy

+
+
+paddle.trainer_config_helpers.layers.cross_entropy(*args, **kwargs)
+

A loss layer for multi class entropy.

+
cost = cross_entropy(input=input_layer,
+                     label=label_layer)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput.) – The first input layer.
  • +
  • label – The input label.
  • +
  • name (None|basestring.) – The name of this layers. It is not necessary.
  • +
  • coeff (float.) – The cost is multiplied with coeff. +The coefficient affects the gradient in the backward.
  • +
  • weight (LayerOutout) – The cost of each sample is multiplied with each weight. +The weight should be a layer with size=1. Note that gradient +will not be calculated for weight.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput.

+
+
+ +
+
+

cross_entropy_with_selfnorm

+
+
+paddle.trainer_config_helpers.layers.cross_entropy_with_selfnorm(*args, **kwargs)
+

A loss layer for multi class entropy with selfnorm. +Input should be a vector of positive numbers, without normalization.

+
cost = cross_entropy_with_selfnorm(input=input_layer,
+                                   label=label_layer)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput.) – The first input layer.
  • +
  • label – The input label.
  • +
  • name (None|basestring.) – The name of this layers. It is not necessary.
  • +
  • coeff (float.) – The coefficient affects the gradient in the backward.
  • +
  • softmax_selfnorm_alpha (float.) – The scale factor affects the cost.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput.

+
+
+ +
+
+

multi_binary_label_cross_entropy

+
+
+paddle.trainer_config_helpers.layers.multi_binary_label_cross_entropy(*args, **kwargs)
+

A loss layer for multi binary label cross entropy.

+
cost = multi_binary_label_cross_entropy(input=input_layer,
+                                        label=label_layer)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – The first input layer.
  • +
  • label – The input label.
  • +
  • type (basestring) – The type of cost.
  • +
  • name (None|basestring) – The name of this layers. It is not necessary.
  • +
  • coeff (float) – The coefficient affects the gradient in the backward.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

mse_cost

+
+
+paddle.trainer_config_helpers.layers.mse_cost(*args, **kwargs)
+
+

mean squared error cost:

+
+\[\]
+
+

rac{1}{N}sum_{i=1}^N(t_i-y_i)^2

+
+
+++ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
param name:layer name.
type name:basestring
param input:Network prediction.
type input:LayerOutput
param label:Data label.
type label:LayerOutput
param weight:The weight affects the cost, namely the scale of cost. +It is an optional argument.
type weight:LayerOutput
param layer_attr:
 layer’s extra attribute.
type layer_attr:
 ExtraLayerAttribute
return:LayerOutput object.
rtype:LayerOutput
+
+
+ +
+
+

huber_cost

+
+
+paddle.trainer_config_helpers.layers.huber_cost(*args, **kwargs)
+

A loss layer for huber loss.

+
cost = huber_cost(input=input_layer,
+                  label=label_layer)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput.) – The first input layer.
  • +
  • label – The input label.
  • +
  • name (None|basestring.) – The name of this layers. It is not necessary.
  • +
  • coeff (float.) – The coefficient affects the gradient in the backward.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput.

+
+
+ +
+
+

lambda_cost

+
+
+paddle.trainer_config_helpers.layers.lambda_cost(*args, **kwargs)
+

lambdaCost for lambdaRank LTR approach.

+

The simple usage:

+
cost = lambda_cost(input=input,
+                   score=score,
+                   NDCG_num=8,
+                   max_sort_size=-1)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – Samples of the same query should be loaded as sequence.
  • +
  • score – The 2nd input. Score of each sample.
  • +
  • NDCG_num (int) – The size of NDCG (Normalized Discounted Cumulative Gain), +e.g., 5 for NDCG@5. It must be less than for equal to the +minimum size of lists.
  • +
  • max_sort_size (int) – The size of partial sorting in calculating gradient. +If max_sort_size = -1, then for each list, the +algorithm will sort the entire list to get gradient. +In other cases, max_sort_size must be greater than or +equal to NDCG_num. And if max_sort_size is greater +than the size of a list, the algorithm will sort the +entire list of get gradient.
  • +
  • name (None|basestring) – The name of this layers. It is not necessary.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

rank_cost

+
+
+paddle.trainer_config_helpers.layers.rank_cost(*args, **kwargs)
+

A cost Layer for learning to rank using gradient descent. Details can refer +to papers. +This layer contains at least three inputs. The weight is an optional +argument, which affects the cost.

+
+\[ \begin{align}\begin{aligned}C_{i,j} & = -\tilde{P_{ij}} * o_{i,j} + log(1 + e^{o_{i,j}})\\o_{i,j} & = o_i - o_j\\\tilde{P_{i,j}} & = \{0, 0.5, 1\} \ or \ \{0, 1\}\end{aligned}\end{align} \]
+
+
In this formula:
+
    +
  • \(C_{i,j}\) is the cross entropy cost.
  • +
  • \(\tilde{P_{i,j}}\) is the label. 1 means positive order +and 0 means reverse order.
  • +
  • \(o_i\) and \(o_j\): the left output and right output. +Their dimension is one.
  • +
+
+
+

The simple usage:

+
cost = rank_cost(left=out_left,
+                 right=out_right,
+                 label=label)
+
+
+ +++ + + + + + + + +
参数:
    +
  • left (LayerOutput) – The first input, the size of this layer is 1.
  • +
  • right (LayerOutput) – The right input, the size of this layer is 1.
  • +
  • label (LayerOutput) – Label is 1 or 0, means positive order and reverse order.
  • +
  • weight (LayerOutput) – The weight affects the cost, namely the scale of cost. +It is an optional argument.
  • +
  • name (None|basestring) – The name of this layers. It is not necessary.
  • +
  • coeff (float) – The coefficient affects the gradient in the backward.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

sum_cost

+
+
+paddle.trainer_config_helpers.layers.sum_cost(*args, **kwargs)
+

A loss layer which calculate the sum of the input as loss

+
cost = sum_cost(input=input_layer)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput.) – The first input layer.
  • +
  • name (None|basestring.) – The name of this layers. It is not necessary.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput.

+
+
+ +
+
+

crf_layer

+
+
+paddle.trainer_config_helpers.layers.crf_layer(*args, **kwargs)
+

A layer for calculating the cost of sequential conditional random +field model.

+

The simple usage:

+
crf = crf_layer(input=input,
+                label=label,
+                size=label_dim)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – The first input layer is the feature.
  • +
  • label (LayerOutput) – The second input layer is label.
  • +
  • size (int) – The category number.
  • +
  • weight (LayerOutput) – The third layer is “weight” of each sample, which is an +optional argument.
  • +
  • param_attr (ParameterAttribute) – Parameter attribute. None means default attribute
  • +
  • name (None|basestring) – The name of this layers. It is not necessary.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer config.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

crf_decoding_layer

+
+
+paddle.trainer_config_helpers.layers.crf_decoding_layer(*args, **kwargs)
+

A layer for calculating the decoding sequence of sequential conditional +random field model. The decoding sequence is stored in output.ids. +If a second input is provided, it is treated as the ground-truth label, and +this layer will also calculate error. output.value[i] is 1 for incorrect +decoding or 0 for correct decoding.

+

The simple usage:

+
crf_decoding = crf_decoding_layer(input=input,
+                                  size=label_dim)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – The first input layer.
  • +
  • size (int) – size of this layer.
  • +
  • label (LayerOutput or None) – None or ground-truth label.
  • +
  • param_attr (ParameterAttribute) – Parameter attribute. None means default attribute
  • +
  • name (None|basestring) – The name of this layers. It is not necessary.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer config.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

ctc_layer

+
+
+paddle.trainer_config_helpers.layers.ctc_layer(*args, **kwargs)
+

Connectionist Temporal Classification (CTC) is designed for temporal +classication task. That is, for sequence labeling problems where the +alignment between the inputs and the target labels is unknown.

+

More details can be found by referring to Connectionist Temporal +Classification: Labelling Unsegmented Sequence Data with Recurrent +Neural Networks

+
+

注解

+

Considering the ‘blank’ label needed by CTC, you need to use +(num_classes + 1) as the input size. num_classes is the category number. +And the ‘blank’ is the last category index. So the size of ‘input’ layer, such as +fc_layer with softmax activation, should be num_classes + 1. The size of ctc_layer +should also be num_classes + 1.

+
+

The simple usage:

+
ctc = ctc_layer(input=input,
+                label=label,
+                size=9055,
+                norm_by_times=True)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – The input layer.
  • +
  • label (LayerOutput) – The data layer of label with variable length.
  • +
  • size (int) – category numbers + 1.
  • +
  • name (basestring|None) – The name of this layer
  • +
  • norm_by_times (bool) – Whether to normalization by times. False by default.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer config.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

warp_ctc_layer

+
+
+paddle.trainer_config_helpers.layers.warp_ctc_layer(*args, **kwargs)
+

A layer intergrating the open-source warp-ctc +<https://github.com/baidu-research/warp-ctc> library, which is used in +Deep Speech 2: End-toEnd Speech Recognition in English and Mandarin +<https://arxiv.org/pdf/1512.02595v1.pdf>, to compute Connectionist Temporal +Classification (CTC) loss.

+

More details of CTC can be found by referring to Connectionist Temporal +Classification: Labelling Unsegmented Sequence Data with Recurrent +Neural Networks

+
+

注解

+
    +
  • Let num_classes represent the category number. Considering the ‘blank’ +label needed by CTC, you need to use (num_classes + 1) as the input +size. Thus, the size of both warp_ctc_layer and ‘input’ layer should +be set to num_classes + 1.
  • +
  • You can set ‘blank’ to any value ranged in [0, num_classes], which +should be consistent as that used in your labels.
  • +
  • As a native ‘softmax’ activation is interated to the warp-ctc library, +‘linear’ activation is expected instead in the ‘input’ layer.
  • +
+
+

The simple usage:

+
ctc = warp_ctc_layer(input=input,
+                     label=label,
+                     size=1001,
+                     blank=1000,
+                     norm_by_times=False)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – The input layer.
  • +
  • label (LayerOutput) – The data layer of label with variable length.
  • +
  • size (int) – category numbers + 1.
  • +
  • name (basestring|None) – The name of this layer, which can not specify.
  • +
  • blank (int) – the ‘blank’ label used in ctc
  • +
  • norm_by_times (bool) – Whether to normalization by times. False by default.
  • +
  • layer_attr (ExtraLayerAttribute|None) – Extra Layer config.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+

nce_layer

+
+
+paddle.trainer_config_helpers.layers.nce_layer(*args, **kwargs)
+

Noise-contrastive estimation. +Implements the method in the following paper: +A fast and simple algorithm for training neural probabilistic language models.

+

The example usage is:

+
cost = nce_layer(input=layer1, label=layer2, weight=layer3,
+                 num_classes=3, neg_distribution=[0.1,0.3,0.6])
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – layer name
  • +
  • input (LayerOutput|list|tuple|collections.Sequence) – input layers. It could be a LayerOutput of list/tuple of LayerOutput.
  • +
  • label (LayerOutput) – label layer
  • +
  • weight (LayerOutput) – weight layer, can be None(default)
  • +
  • num_classes (int) – number of classes.
  • +
  • act (BaseActivation) – Activation, default is Sigmoid.
  • +
  • num_neg_samples (int) – number of negative samples. Default is 10.
  • +
  • neg_distribution (list|tuple|collections.Sequence|None) – The distribution for generating the random negative labels. +A uniform distribution will be used if not provided. +If not None, its length must be equal to num_classes.
  • +
  • bias_attr (ParameterAttribute|None|False) – Bias parameter attribute. True if no bias.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
返回:

layer name.

+
返回类型:

LayerOutput

+
+
+ +
+
+

hsigmoid

+
+
+paddle.trainer_config_helpers.layers.hsigmoid(*args, **kwargs)
+

Organize the classes into a binary tree. At each node, a sigmoid function +is used to calculate the probability of belonging to the right branch. +This idea is from “F. Morin, Y. Bengio (AISTATS 05): +Hierarchical Probabilistic Neural Network Language Model.”

+

The example usage is:

+
cost = hsigmoid(input=[layer1, layer2],
+                label=data_layer)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput|list|tuple) – Input layers. It could be a LayerOutput or list/tuple of +LayerOutput.
  • +
  • label (LayerOutput) – Label layer.
  • +
  • num_classes (int|None) – number of classes.
  • +
  • name (basestring) – layer name
  • +
  • bias_attr (ParameterAttribute|False) – Bias attribute. None means default bias. +False means no bias.
  • +
  • param_attr (ParameterAttribute|None) – Parameter Attribute. None means default parameter.
  • +
  • layer_attr (ExtraLayerAttribute) – Extra Layer Attribute.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+
+

Check Layer

+
+

eos_layer

+
+
+paddle.trainer_config_helpers.layers.eos_layer(*args, **kwargs)
+

A layer for checking EOS for each sample: +- output_id = (input_id == conf.eos_id)

+

The result is stored in output_.ids. +It is used by recurrent layer group.

+

The example usage is:

+
eos = eos_layer(input=layer, eos_id=id)
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – Layer name.
  • +
  • input (LayerOutput) – Input layer name.
  • +
  • eos_id (int) – end id of sequence
  • +
  • layer_attr (ExtraLayerAttribute.) – extra layer attributes.
  • +
+
返回:

LayerOutput object.

+
返回类型:

LayerOutput

+
+
+ +
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/networks.html b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/networks.html new file mode 100644 index 0000000000..0794b15179 --- /dev/null +++ b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/networks.html @@ -0,0 +1,957 @@ + + + + + + + + + + + Networks — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Networks
  • +
+
+ +
+
+
+
+ +
+

Networks

+

The networks module contains pieces of neural network that combine multiple layers.

+
+

NLP

+
+

sequence_conv_pool

+
+
+paddle.trainer_config_helpers.networks.sequence_conv_pool(*args, **kwargs)
+

Text convolution pooling layers helper.

+

Text input => Context Projection => FC Layer => Pooling => Output.

+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – name of output layer(pooling layer name)
  • +
  • input (LayerOutput) – name of input layer
  • +
  • context_len (int) – context projection length. See +context_projection’s document.
  • +
  • hidden_size (int) – FC Layer size.
  • +
  • context_start (int or None) – context projection length. See +context_projection’s context_start.
  • +
  • pool_type (BasePoolingType.) – pooling layer type. See pooling_layer’s document.
  • +
  • context_proj_layer_name (basestring) – context projection layer name. +None if user don’t care.
  • +
  • context_proj_param_attr (ParameterAttribute or None.) – context projection parameter attribute. +None if user don’t care.
  • +
  • fc_layer_name (basestring) – fc layer name. None if user don’t care.
  • +
  • fc_param_attr (ParameterAttribute or None) – fc layer parameter attribute. None if user don’t care.
  • +
  • fc_bias_attr (ParameterAttribute or None) – fc bias parameter attribute. False if no bias, +None if user don’t care.
  • +
  • fc_act (BaseActivation) – fc layer activation type. None means tanh
  • +
  • pool_bias_attr (ParameterAttribute or None.) – pooling layer bias attr. None if don’t care. +False if no bias.
  • +
  • fc_attr (ExtraLayerAttribute) – fc layer extra attribute.
  • +
  • context_attr (ExtraLayerAttribute) – context projection layer extra attribute.
  • +
  • pool_attr (ExtraLayerAttribute) – pooling layer extra attribute.
  • +
+
返回:

output layer name.

+
返回类型:

LayerOutput

+
+
+ +
+
+

text_conv_pool

+
+
+paddle.trainer_config_helpers.networks.text_conv_pool(*args, **kwargs)
+

Text convolution pooling layers helper.

+

Text input => Context Projection => FC Layer => Pooling => Output.

+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – name of output layer(pooling layer name)
  • +
  • input (LayerOutput) – name of input layer
  • +
  • context_len (int) – context projection length. See +context_projection’s document.
  • +
  • hidden_size (int) – FC Layer size.
  • +
  • context_start (int or None) – context projection length. See +context_projection’s context_start.
  • +
  • pool_type (BasePoolingType.) – pooling layer type. See pooling_layer’s document.
  • +
  • context_proj_layer_name (basestring) – context projection layer name. +None if user don’t care.
  • +
  • context_proj_param_attr (ParameterAttribute or None.) – context projection parameter attribute. +None if user don’t care.
  • +
  • fc_layer_name (basestring) – fc layer name. None if user don’t care.
  • +
  • fc_param_attr (ParameterAttribute or None) – fc layer parameter attribute. None if user don’t care.
  • +
  • fc_bias_attr (ParameterAttribute or None) – fc bias parameter attribute. False if no bias, +None if user don’t care.
  • +
  • fc_act (BaseActivation) – fc layer activation type. None means tanh
  • +
  • pool_bias_attr (ParameterAttribute or None.) – pooling layer bias attr. None if don’t care. +False if no bias.
  • +
  • fc_attr (ExtraLayerAttribute) – fc layer extra attribute.
  • +
  • context_attr (ExtraLayerAttribute) – context projection layer extra attribute.
  • +
  • pool_attr (ExtraLayerAttribute) – pooling layer extra attribute.
  • +
+
返回:

output layer name.

+
返回类型:

LayerOutput

+
+
+ +
+
+
+

Images

+
+

img_conv_bn_pool

+
+
+paddle.trainer_config_helpers.networks.img_conv_bn_pool(*args, **kwargs)
+

Convolution, batch normalization, pooling group.

+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – group name
  • +
  • input (LayerOutput) – layer’s input
  • +
  • filter_size (int) – see img_conv_layer’s document
  • +
  • num_filters (int) – see img_conv_layer’s document
  • +
  • pool_size (int) – see img_pool_layer’s document.
  • +
  • pool_type (BasePoolingType) – see img_pool_layer’s document.
  • +
  • act (BaseActivation) – see batch_norm_layer’s document.
  • +
  • groups (int) – see img_conv_layer’s document
  • +
  • conv_stride (int) – see img_conv_layer’s document.
  • +
  • conv_padding (int) – see img_conv_layer’s document.
  • +
  • conv_bias_attr (ParameterAttribute) – see img_conv_layer’s document.
  • +
  • num_channel (int) – see img_conv_layer’s document.
  • +
  • conv_param_attr (ParameterAttribute) – see img_conv_layer’s document.
  • +
  • shared_bias (bool) – see img_conv_layer’s document.
  • +
  • conv_layer_attr (ExtraLayerOutput) – see img_conv_layer’s document.
  • +
  • bn_param_attr (ParameterAttribute.) – see batch_norm_layer’s document.
  • +
  • bn_bias_attr – see batch_norm_layer’s document.
  • +
  • bn_layer_attr – ParameterAttribute.
  • +
  • pool_stride (int) – see img_pool_layer’s document.
  • +
  • pool_padding (int) – see img_pool_layer’s document.
  • +
  • pool_layer_attr (ExtraLayerAttribute) – see img_pool_layer’s document.
  • +
+
返回:

Layer groups output

+
返回类型:

LayerOutput

+
+
+ +
+
+

img_conv_group

+
+
+paddle.trainer_config_helpers.networks.img_conv_group(*args, **kwargs)
+

Image Convolution Group, Used for vgg net.

+

TODO(yuyang18): Complete docs

+ +++ + + + + + +
参数:
    +
  • conv_batchnorm_drop_rate
  • +
  • input
  • +
  • conv_num_filter
  • +
  • pool_size
  • +
  • num_channels
  • +
  • conv_padding
  • +
  • conv_filter_size
  • +
  • conv_act
  • +
  • conv_with_batchnorm
  • +
  • pool_stride
  • +
  • pool_type
  • +
+
返回:

+
+
+ +
+
+

simple_img_conv_pool

+
+
+paddle.trainer_config_helpers.networks.simple_img_conv_pool(*args, **kwargs)
+

Simple image convolution and pooling group.

+

Input => conv => pooling

+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – group name
  • +
  • input (LayerOutput) – input layer name.
  • +
  • filter_size (int) – see img_conv_layer for details
  • +
  • num_filters (int) – see img_conv_layer for details
  • +
  • pool_size (int) – see img_pool_layer for details
  • +
  • pool_type (BasePoolingType) – see img_pool_layer for details
  • +
  • act (BaseActivation) – see img_conv_layer for details
  • +
  • groups (int) – see img_conv_layer for details
  • +
  • conv_stride (int) – see img_conv_layer for details
  • +
  • conv_padding (int) – see img_conv_layer for details
  • +
  • bias_attr (ParameterAttribute) – see img_conv_layer for details
  • +
  • num_channel (int) – see img_conv_layer for details
  • +
  • param_attr (ParameterAttribute) – see img_conv_layer for details
  • +
  • shared_bias (bool) – see img_conv_layer for details
  • +
  • conv_layer_attr (ExtraLayerAttribute) – see img_conv_layer for details
  • +
  • pool_stride (int) – see img_pool_layer for details
  • +
  • pool_padding (int) – see img_pool_layer for details
  • +
  • pool_layer_attr (ExtraLayerAttribute) – see img_pool_layer for details
  • +
+
返回:

Layer’s output

+
返回类型:

LayerOutput

+
+
+ +
+
+

vgg_16_network

+
+
+paddle.trainer_config_helpers.networks.vgg_16_network(input_image, num_channels, num_classes=1000)
+

Same model from https://gist.github.com/ksimonyan/211839e770f7b538e2d8

+ +++ + + + + + +
参数:
    +
  • num_classes
  • +
  • input_image (LayerOutput) –
  • +
  • num_channels (int) –
  • +
+
返回:

+
+
+ +
+
+
+

Recurrent

+
+

LSTM

+
+

lstmemory_unit

+
+
+paddle.trainer_config_helpers.networks.lstmemory_unit(*args, **kwargs)
+

Define calculations that a LSTM unit performs in a single time step. +This function itself is not a recurrent layer, so that it can not be +directly applied to sequence input. This function is always used in +recurrent_group (see layers.py for more details) to implement attention +mechanism.

+

Please refer to Generating Sequences With Recurrent Neural Networks +for more details about LSTM. The link goes as follows: +.. _Link: https://arxiv.org/abs/1308.0850

+
+\[ \begin{align}\begin{aligned}i_t & = \sigma(W_{xi}x_{t} + W_{hi}h_{t-1} + W_{ci}c_{t-1} + b_i)\\f_t & = \sigma(W_{xf}x_{t} + W_{hf}h_{t-1} + W_{cf}c_{t-1} + b_f)\\c_t & = f_tc_{t-1} + i_t tanh (W_{xc}x_t+W_{hc}h_{t-1} + b_c)\\o_t & = \sigma(W_{xo}x_{t} + W_{ho}h_{t-1} + W_{co}c_t + b_o)\\h_t & = o_t tanh(c_t)\end{aligned}\end{align} \]
+

The example usage is:

+
lstm_step = lstmemory_unit(input=[layer1],
+                           size=256,
+                           act=TanhActivation(),
+                           gate_act=SigmoidActivation(),
+                           state_act=TanhActivation())
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – input layer name.
  • +
  • name (basestring) – lstmemory unit name.
  • +
  • size (int) – lstmemory unit size.
  • +
  • param_attr (ParameterAttribute) – Parameter config, None if use default.
  • +
  • act (BaseActivation) – lstm final activiation type
  • +
  • gate_act (BaseActivation) – lstm gate activiation type
  • +
  • state_act (BaseActivation) – lstm state activiation type.
  • +
  • mixed_bias_attr (ParameterAttribute|False) – bias parameter attribute of mixed layer. +False means no bias, None means default bias.
  • +
  • lstm_bias_attr (ParameterAttribute|False) – bias parameter attribute of lstm layer. +False means no bias, None means default bias.
  • +
  • mixed_layer_attr (ExtraLayerAttribute) – mixed layer’s extra attribute.
  • +
  • lstm_layer_attr (ExtraLayerAttribute) – lstm layer’s extra attribute.
  • +
  • get_output_layer_attr (ExtraLayerAttribute) – get output layer’s extra attribute.
  • +
+
返回:

lstmemory unit name.

+
返回类型:

LayerOutput

+
+
+ +
+
+

lstmemory_group

+
+
+paddle.trainer_config_helpers.networks.lstmemory_group(*args, **kwargs)
+

lstm_group is a recurrent layer group version of Long Short Term Memory. It +does exactly the same calculation as the lstmemory layer (see lstmemory in +layers.py for the maths) does. A promising benefit is that LSTM memory +cell states, or hidden states in every time step are accessible to the +user. This is especially useful in attention model. If you do not need to +access the internal states of the lstm, but merely use its outputs, +it is recommended to use the lstmemory, which is relatively faster than +lstmemory_group.

+

NOTE: In PaddlePaddle’s implementation, the following input-to-hidden +multiplications: +\(W_{xi}x_{t}\) , \(W_{xf}x_{t}\), +\(W_{xc}x_t\), \(W_{xo}x_{t}\) are not done in lstmemory_unit to +speed up the calculations. Consequently, an additional mixed_layer with +full_matrix_projection must be included before lstmemory_unit is called.

+

The example usage is:

+
lstm_step = lstmemory_group(input=[layer1],
+                            size=256,
+                            act=TanhActivation(),
+                            gate_act=SigmoidActivation(),
+                            state_act=TanhActivation())
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – input layer name.
  • +
  • name (basestring) – lstmemory group name.
  • +
  • size (int) – lstmemory group size.
  • +
  • reverse (bool) – is lstm reversed
  • +
  • param_attr (ParameterAttribute) – Parameter config, None if use default.
  • +
  • act (BaseActivation) – lstm final activiation type
  • +
  • gate_act (BaseActivation) – lstm gate activiation type
  • +
  • state_act (BaseActivation) – lstm state activiation type.
  • +
  • mixed_bias_attr (ParameterAttribute|False) – bias parameter attribute of mixed layer. +False means no bias, None means default bias.
  • +
  • lstm_bias_attr (ParameterAttribute|False) – bias parameter attribute of lstm layer. +False means no bias, None means default bias.
  • +
  • mixed_layer_attr (ExtraLayerAttribute) – mixed layer’s extra attribute.
  • +
  • lstm_layer_attr (ExtraLayerAttribute) – lstm layer’s extra attribute.
  • +
  • get_output_layer_attr (ExtraLayerAttribute) – get output layer’s extra attribute.
  • +
+
返回:

the lstmemory group.

+
返回类型:

LayerOutput

+
+
+ +
+
+

simple_lstm

+
+
+paddle.trainer_config_helpers.networks.simple_lstm(*args, **kwargs)
+

Simple LSTM Cell.

+

It just combine a mixed layer with fully_matrix_projection and a lstmemory +layer. The simple lstm cell was implemented as follow equations.

+
+\[ \begin{align}\begin{aligned}i_t & = \sigma(W_{xi}x_{t} + W_{hi}h_{t-1} + W_{ci}c_{t-1} + b_i)\\f_t & = \sigma(W_{xf}x_{t} + W_{hf}h_{t-1} + W_{cf}c_{t-1} + b_f)\\c_t & = f_tc_{t-1} + i_t tanh (W_{xc}x_t+W_{hc}h_{t-1} + b_c)\\o_t & = \sigma(W_{xo}x_{t} + W_{ho}h_{t-1} + W_{co}c_t + b_o)\\h_t & = o_t tanh(c_t)\end{aligned}\end{align} \]
+

Please refer Generating Sequences With Recurrent Neural Networks if you +want to know what lstm is. Link is here.

+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – lstm layer name.
  • +
  • input (LayerOutput) – input layer name.
  • +
  • size (int) – lstm layer size.
  • +
  • reverse (bool) – whether to process the input data in a reverse order
  • +
  • mat_param_attr (ParameterAttribute) – mixed layer’s matrix projection parameter attribute.
  • +
  • bias_param_attr (ParameterAttribute|False) – bias parameter attribute. False means no bias, None +means default bias.
  • +
  • inner_param_attr (ParameterAttribute) – lstm cell parameter attribute.
  • +
  • act (BaseActivation) – lstm final activiation type
  • +
  • gate_act (BaseActivation) – lstm gate activiation type
  • +
  • state_act (BaseActivation) – lstm state activiation type.
  • +
  • mixed_layer_attr (ExtraLayerAttribute) – mixed layer’s extra attribute.
  • +
  • lstm_cell_attr (ExtraLayerAttribute) – lstm layer’s extra attribute.
  • +
+
返回:

lstm layer name.

+
返回类型:

LayerOutput

+
+
+ +
+
+

bidirectional_lstm

+
+
+paddle.trainer_config_helpers.networks.bidirectional_lstm(*args, **kwargs)
+

A bidirectional_lstm is a recurrent unit that iterates over the input +sequence both in forward and bardward orders, and then concatenate two +outputs form a final output. However, concatenation of two outputs +is not the only way to form the final output, you can also, for example, +just add them together.

+

Please refer to Neural Machine Translation by Jointly Learning to Align +and Translate for more details about the bidirectional lstm. +The link goes as follows: +.. _Link: https://arxiv.org/pdf/1409.0473v3.pdf

+

The example usage is:

+
bi_lstm = bidirectional_lstm(input=[input1], size=512)
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – bidirectional lstm layer name.
  • +
  • input (LayerOutput) – input layer.
  • +
  • size (int) – lstm layer size.
  • +
  • return_seq (bool) – If set False, outputs of the last time step are +concatenated and returned. +If set True, the entire output sequences that are +processed in forward and backward directions are +concatenated and returned.
  • +
+
返回:

LayerOutput object accroding to the return_seq.

+
返回类型:

LayerOutput

+
+
+ +
+
+
+

GRU

+
+

gru_unit

+
+
+paddle.trainer_config_helpers.networks.gru_unit(*args, **kwargs)
+

Define calculations that a gated recurrent unit performs in a single time +step. This function itself is not a recurrent layer, so that it can not be +directly applied to sequence input. This function is almost always used in +the recurrent_group (see layers.py for more details) to implement attention +mechanism.

+

Please see grumemory in layers.py for the details about the maths.

+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – input layer name.
  • +
  • name (basestring) – name of the gru group.
  • +
  • size (int) – hidden size of the gru.
  • +
  • act (BaseActivation) – type of the activation
  • +
  • gate_act (BaseActivation) – type of the gate activation
  • +
  • gru_layer_attr (ParameterAttribute|False) – Extra parameter attribute of the gru layer.
  • +
+
返回:

the gru output layer.

+
返回类型:

LayerOutput

+
+
+ +
+
+

gru_group

+
+
+paddle.trainer_config_helpers.networks.gru_group(*args, **kwargs)
+

gru_group is a recurrent layer group version of Gated Recurrent Unit. It +does exactly the same calculation as the grumemory layer does. A promising +benefit is that gru hidden states are accessible to the user. This is +especially useful in attention model. If you do not need to access +any internal state, but merely use the outputs of a GRU, it is recommended +to use the grumemory, which is relatively faster.

+

Please see grumemory in layers.py for more detail about the maths.

+

The example usage is:

+
gru = gur_group(input=[layer1],
+                size=256,
+                act=TanhActivation(),
+                gate_act=SigmoidActivation())
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – input layer name.
  • +
  • name (basestring) – name of the gru group.
  • +
  • size (int) – hidden size of the gru.
  • +
  • reverse (bool) – whether to process the input data in a reverse order
  • +
  • act (BaseActivation) – type of the activiation
  • +
  • gate_act (BaseActivation) – type of the gate activiation
  • +
  • gru_bias_attr (ParameterAttribute|False) – bias. False means no bias, None means default bias.
  • +
  • gru_layer_attr (ParameterAttribute|False) – Extra parameter attribute of the gru layer.
  • +
+
返回:

the gru group.

+
返回类型:

LayerOutput

+
+
+ +
+
+

simple_gru

+
+
+paddle.trainer_config_helpers.networks.simple_gru(*args, **kwargs)
+

You maybe see gru_step_layer, grumemory in layers.py, gru_unit, gru_group, +simple_gru in network.py. The reason why there are so many interfaces is +that we have two ways to implement recurrent neural network. One way is to +use one complete layer to implement rnn (including simple rnn, gru and lstm) +with multiple time steps, such as recurrent_layer, lstmemory, grumemory. But, +the multiplication operation \(W x_t\) is not computed in these layers. +See details in their interfaces in layers.py. +The other implementation is to use an recurrent group which can ensemble a +series of layers to compute rnn step by step. This way is flexible for +attenion mechanism or other complex connections.

+
    +
  • gru_step_layer: only compute rnn by one step. It needs an memory as input +and can be used in recurrent group.
  • +
  • gru_unit: a wrapper of gru_step_layer with memory.
  • +
  • gru_group: a GRU cell implemented by a combination of multiple layers in +recurrent group. +But \(W x_t\) is not done in group.
  • +
  • gru_memory: a GRU cell implemented by one layer, which does same calculation +with gru_group and is faster than gru_group.
  • +
  • simple_gru: a complete GRU implementation inlcuding \(W x_t\) and +gru_group. \(W\) contains \(W_r\), \(W_z\) and \(W\), see +formula in grumemory.
  • +
+

The computational speed is that, grumemory is relatively better than +gru_group, and gru_group is relatively better than simple_gru.

+

The example usage is:

+
gru = simple_gru(input=[layer1], size=256)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (LayerOutput) – input layer name.
  • +
  • name (basestring) – name of the gru group.
  • +
  • size (int) – hidden size of the gru.
  • +
  • reverse (bool) – whether to process the input data in a reverse order
  • +
  • act (BaseActivation) – type of the activiation
  • +
  • gate_act (BaseActivation) – type of the gate activiation
  • +
  • gru_bias_attr (ParameterAttribute|False) – bias. False means no bias, None means default bias.
  • +
  • gru_layer_attr (ParameterAttribute|False) – Extra parameter attribute of the gru layer.
  • +
+
返回:

the gru group.

+
返回类型:

LayerOutput

+
+
+ +
+
+
+

simple_attention

+
+
+paddle.trainer_config_helpers.networks.simple_attention(*args, **kwargs)
+

Calculate and then return a context vector by attention machanism. +Size of the context vector equals to size of the encoded_sequence.

+
+\[ \begin{align}\begin{aligned}a(s_{i-1},h_{j}) & = v_{a}f(W_{a}s_{t-1} + U_{a}h_{j})\\e_{i,j} & = a(s_{i-1}, h_{j})\\a_{i,j} & = \frac{exp(e_{i,j})}{\sum_{k=1}^{T_x}{exp(e_{i,k})}}\\c_{i} & = \sum_{j=1}^{T_{x}}a_{i,j}h_{j}\end{aligned}\end{align} \]
+

where \(h_{j}\) is the jth element of encoded_sequence, +\(U_{a}h_{j}\) is the jth element of encoded_proj +\(s_{i-1}\) is decoder_state +\(f\) is weight_act, and is set to tanh by default.

+

Please refer to Neural Machine Translation by Jointly Learning to +Align and Translate for more details. The link is as follows: +https://arxiv.org/abs/1409.0473.

+

The example usage is:

+
context = simple_attention(encoded_sequence=enc_seq,
+                           encoded_proj=enc_proj,
+                           decoder_state=decoder_prev,)
+
+
+ +++ + + + + + +
参数:
    +
  • name (basestring) – name of the attention model.
  • +
  • softmax_param_attr (ParameterAttribute) – parameter attribute of sequence softmax +that is used to produce attention weight
  • +
  • weight_act (Activation) – activation of the attention model
  • +
  • encoded_sequence (LayerOutput) – output of the encoder
  • +
  • encoded_proj (LayerOutput) – attention weight is computed by a feed forward neural +network which has two inputs : decoder’s hidden state +of previous time step and encoder’s output. +encoded_proj is output of the feed-forward network for +encoder’s output. Here we pre-compute it outside +simple_attention for speed consideration.
  • +
  • decoder_state (LayerOutput) – hidden state of decoder in previous time step
  • +
  • transform_param_attr (ParameterAttribute) – parameter attribute of the feed-forward +network that takes decoder_state as inputs to +compute attention weight.
  • +
+
返回:

a context vector

+
+
+ +
+
+
+

Miscs

+
+

dropout_layer

+
+
+paddle.trainer_config_helpers.networks.dropout_layer(*args, **kwargs)
+

@TODO(yuyang18): Add comments.

+ +++ + + + + + +
参数:
    +
  • name
  • +
  • input
  • +
  • dropout_rate
  • +
+
返回:

+
+
+ +
+
+

outputs

+
+
+paddle.trainer_config_helpers.networks.outputs(layers, *args)
+

Declare the outputs of network. If user have not defined the inputs of +network, this method will calculate the input order by dfs travel.

+ +++ + + + + + +
参数:layers (list|tuple|LayerOutput) – Output layers.
返回:
+
+ +
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/optimizers.html b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/optimizers.html new file mode 100644 index 0000000000..5a60d30cb7 --- /dev/null +++ b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/optimizers.html @@ -0,0 +1,482 @@ + + + + + + + + + + + Optimizers — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Optimizers
  • +
+
+ +
+
+
+
+ +
+

Optimizers

+
+

BaseSGDOptimizer

+
+
+class paddle.trainer_config_helpers.optimizers.BaseSGDOptimizer
+

SGD Optimizer.

+

SGD is an optimization method, trying to find a neural network that +minimize the “cost/error” of it by iteration. In paddle’s implementation +SGD Optimizer is synchronized, which means all gradients will be wait to +calculate and reduced into one gradient, then do optimize operation.

+

The neural network consider the learning problem of minimizing an objective +function, that has the form of a sum

+
+\[Q(w) = \sum_{i}^{n} Q_i(w)\]
+

The value of function Q sometimes is the cost of neural network (Mean +Square Error between prediction and label for example). The function Q is +parametrised by w, the weight/bias of neural network. And weights is what to +be learned. The i is the i-th observation in (trainning) data.

+

So, the SGD method will optimize the weight by

+
+\[w = w - \eta \nabla Q(w) = w - \eta \sum_{i}^{n} \nabla Q_i(w)\]
+

where \(\eta\) is learning rate. And \(n\) is batch size.

+
+ +
+
+

MomentumOptimizer

+
+
+class paddle.trainer_config_helpers.optimizers.MomentumOptimizer(momentum=None, sparse=False)
+

MomentumOptimizer.

+

When sparse=True, the update scheme:

+
+\[\begin{split}\alpha_t &= \alpha_{t-1} / k \\ +\beta_t &= \beta_{t-1} / (1 + \lambda \gamma_t) \\ +u_t &= u_{t-1} - \alpha_t \gamma_t g_t \\ +v_t &= v_{t-1} + \tau_{t-1} \alpha_t \gamma_t g_t \\ +\tau_t &= \tau_{t-1} + \beta_t / \alpha_t\end{split}\]
+

where \(k\) is momentum, \(\lambda\) is decay rate, +\(\gamma_t\) is learning rate at the t’th step.

+ +++ + + + +
参数:sparse (bool) – with sparse support or not.
+
+ +
+
+

AdamOptimizer

+
+
+class paddle.trainer_config_helpers.optimizers.AdamOptimizer(beta1=0.9, beta2=0.999, epsilon=1e-08)
+

Adam optimizer. +The details of please refer Adam: A Method for Stochastic Optimization

+
+\[\begin{split}m(w, t) & = \beta_1 m(w, t-1) + (1 - \beta_1) \nabla Q_i(w) \\ +v(w, t) & = \beta_2 v(w, t-1) + (1 - \beta_2)(\nabla Q_i(w)) ^2 \\ +w & = w - \frac{\eta}{\sqrt{v(w,t) + \epsilon}}\end{split}\]
+ +++ + + + +
参数:
    +
  • beta1 (float) – the \(\beta_1\) in equation.
  • +
  • beta2 (float) – the \(\beta_2\) in equation.
  • +
  • epsilon (float) – the \(\epsilon\) in equation. It is used to prevent +divided by zero.
  • +
+
+
+ +
+
+

AdamaxOptimizer

+
+
+class paddle.trainer_config_helpers.optimizers.AdamaxOptimizer(beta1, beta2)
+

Adamax optimizer.

+

The details of please refer this Adam: A Method for Stochastic Optimization

+
+\[\begin{split}m_t & = \beta_1 * m_{t-1} + (1-\beta_1)* \nabla Q_i(w) \\ +u_t & = max(\beta_2*u_{t-1}, abs(\nabla Q_i(w))) \\ +w_t & = w_{t-1} - (\eta/(1-\beta_1^t))*m_t/u_t\end{split}\]
+ +++ + + + +
参数:
    +
  • beta1 (float) – the \(\beta_1\) in the equation.
  • +
  • beta2 (float) – the \(\beta_2\) in the equation.
  • +
+
+
+ +
+
+

AdaGradOptimizer

+
+
+class paddle.trainer_config_helpers.optimizers.AdaGradOptimizer
+

Adagrad(for ADAptive GRAdient algorithm) optimizer.

+

For details please refer this Adaptive Subgradient Methods for +Online Learning and Stochastic Optimization.

+
+\[\begin{split}G &= \sum_{\tau=1}^{t} g_{\tau} g_{\tau}^T \\ +w & = w - \eta diag(G)^{-\frac{1}{2}} \circ g\end{split}\]
+
+ +
+
+

DecayedAdaGradOptimizer

+
+
+class paddle.trainer_config_helpers.optimizers.DecayedAdaGradOptimizer(rho=0.95, epsilon=1e-06)
+

AdaGrad method with decayed sum gradients. The equations of this method +show as follow.

+
+\[\begin{split}E(g_t^2) &= \rho * E(g_{t-1}^2) + (1-\rho) * g^2 \\ +learning\_rate &= 1/sqrt( ( E(g_t^2) + \epsilon )\end{split}\]
+ +++ + + + +
参数:
    +
  • rho (float) – The \(\rho\) parameter in that equation
  • +
  • epsilon (float) – The \(\epsilon\) parameter in that equation.
  • +
+
+
+ +
+
+

AdaDeltaOptimizer

+
+
+class paddle.trainer_config_helpers.optimizers.AdaDeltaOptimizer(rho=0.95, epsilon=1e-06)
+

AdaDelta method. The details of adadelta please refer to this +ADADELTA: AN ADAPTIVE LEARNING RATE METHOD.

+
+\[\begin{split}E(g_t^2) &= \rho * E(g_{t-1}^2) + (1-\rho) * g^2 \\ +learning\_rate &= sqrt( ( E(dx_{t-1}^2) + \epsilon ) / ( \ + E(g_t^2) + \epsilon ) ) \\ +E(dx_t^2) &= \rho * E(dx_{t-1}^2) + (1-\rho) * (-g*learning\_rate)^2\end{split}\]
+ +++ + + + +
参数:
    +
  • rho (float) – \(\rho\) in equation
  • +
  • epsilon (float) – \(\rho\) in equation
  • +
+
+
+ +
+
+

RMSPropOptimizer

+
+
+class paddle.trainer_config_helpers.optimizers.RMSPropOptimizer(rho=0.95, epsilon=1e-06)
+

RMSProp(for Root Mean Square Propagation) optimizer. For details please +refer this slide.

+

The equations of this method as follows:

+
+\[\begin{split}v(w, t) & = \rho v(w, t-1) + (1 - \rho)(\nabla Q_{i}(w))^2 \\ +w & = w - \frac{\eta} {\sqrt{v(w,t) + \epsilon}} \nabla Q_{i}(w)\end{split}\]
+ +++ + + + +
参数:
    +
  • rho (float) – the \(\rho\) in the equation. The forgetting factor.
  • +
  • epsilon (float) – the \(\epsilon\) in the equation.
  • +
+
+
+ +
+
+

settings

+
+
+paddle.trainer_config_helpers.optimizers.settings(*args, **kwargs)
+

Set the optimization method, learning rate, batch size, and other training +settings. The currently supported algorithms are SGD and Async-SGD.

+
+

警告

+

Note that the ‘batch_size’ in PaddlePaddle is not equal to global +training batch size. It represents the single training process’s batch +size. If you use N processes to train one model, for example use three +GPU machines, the global batch size is N*’batch_size’.

+
+ +++ + + + +
参数:
    +
  • batch_size (int) – batch size for one training process.
  • +
  • learning_rate (float) – learning rate for SGD
  • +
  • learning_method (BaseSGDOptimizer) – The extension optimization algorithms of gradient +descent, such as momentum, adagrad, rmsprop, etc. +Note that it should be instance with base type +BaseSGDOptimizer.
  • +
  • regularization (BaseRegularization) – The regularization method.
  • +
  • is_async (bool) – Is Async-SGD or not. Default value is False.
  • +
  • model_average (ModelAverage) – Model Average Settings.
  • +
  • gradient_clipping_threshold (float) – gradient clipping threshold. If gradient +value larger than some value, will be +clipped.
  • +
+
+
+ +
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/poolings.html b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/poolings.html new file mode 100644 index 0000000000..5bc1826098 --- /dev/null +++ b/release/0.10.0/doc_cn/api/v1/trainer_config_helpers/poolings.html @@ -0,0 +1,291 @@ + + + + + + + + + + + Poolings — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Poolings
  • +
+
+ +
+
+
+
+ +
+

Poolings

+
+

BasePoolingType

+
+
+paddle.trainer_config_helpers.poolings.BasePoolingType
+

BasePool 的别名

+
+ +
+
+

AvgPooling

+
+
+paddle.trainer_config_helpers.poolings.AvgPooling
+

Avg 的别名

+
+ +
+
+

MaxPooling

+
+
+paddle.trainer_config_helpers.poolings.MaxPooling
+

Max 的别名

+
+ +
+
+

SumPooling

+
+
+paddle.trainer_config_helpers.poolings.SumPooling
+

Sum 的别名

+
+ +
+
+

SquareRootNPooling

+
+
+paddle.trainer_config_helpers.poolings.SquareRootNPooling
+

SquareRootN 的别名

+
+ +
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/api/v2/config/activation.html b/release/0.10.0/doc_cn/api/v2/config/activation.html new file mode 100644 index 0000000000..db175b22d3 --- /dev/null +++ b/release/0.10.0/doc_cn/api/v2/config/activation.html @@ -0,0 +1,425 @@ + + + + + + + + + + + Activation — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

Activation

+
+

Abs

+
+
+class paddle.v2.activation.Abs
+

Abs Activation.

+

Forward: \(f(z) = abs(z)\)

+

Derivative:

+
+\[\begin{split}1 &\quad if \quad z > 0 \\ +-1 &\quad if \quad z < 0 \\ +0 &\quad if \quad z = 0\end{split}\]
+
+ +
+
+

Exp

+
+
+class paddle.v2.activation.Exp
+

Exponential Activation.

+
+\[f(z) = e^z.\]
+
+ +
+
+

Identity

+
+
+paddle.v2.activation.Identity
+

Linear 的别名

+
+ +
+
+

Linear

+
+
+class paddle.v2.activation.Linear
+

Identity Activation.

+

Just do nothing for output both forward/backward.

+
+ +
+
+

Log

+
+
+class paddle.v2.activation.Log
+

Logarithm Activation.

+
+\[f(z) = log(z)\]
+
+ +
+
+

Square

+
+
+class paddle.v2.activation.Square
+

Square Activation.

+
+\[f(z) = z^2.\]
+
+ +
+
+

Sigmoid

+
+
+class paddle.v2.activation.Sigmoid
+

Sigmoid activation.

+
+\[f(z) = \frac{1}{1+exp(-z)}\]
+
+ +
+
+

Softmax

+
+
+class paddle.v2.activation.Softmax
+

Softmax activation for simple input

+
+\[P(y=j|x) = \frac{e^{x_j}} {\sum^K_{k=1} e^{x_j} }\]
+
+ +
+
+

SequenceSoftmax

+
+
+class paddle.v2.activation.SequenceSoftmax
+

Softmax activation for one sequence. The dimension of input feature must be +1 and a sequence.

+
result = softmax(for each_feature_vector[0] in input_feature)
+for i, each_time_step_output in enumerate(output):
+    each_time_step_output = result[i]
+
+
+
+ +
+
+

Relu

+
+
+class paddle.v2.activation.Relu
+

Relu activation.

+

forward. \(y = max(0, z)\)

+

derivative:

+
+\[\begin{split}1 &\quad if z > 0 \\ +0 &\quad\mathrm{otherwize}\end{split}\]
+
+ +
+
+

BRelu

+
+
+class paddle.v2.activation.BRelu
+

BRelu Activation.

+

forward. \(y = min(24, max(0, z))\)

+

derivative:

+
+\[\begin{split}1 &\quad if 0 < z < 24 \\ +0 &\quad \mathrm{otherwise}\end{split}\]
+
+ +
+
+

SoftRelu

+
+
+class paddle.v2.activation.SoftRelu
+

SoftRelu Activation.

+
+ +
+
+

Tanh

+
+
+class paddle.v2.activation.Tanh
+

Tanh activation.

+
+\[f(z)=tanh(z)=\frac{e^z-e^{-z}}{e^z+e^{-z}}\]
+
+ +
+
+

STanh

+
+
+class paddle.v2.activation.STanh
+

Scaled Tanh Activation.

+
+\[f(z) = 1.7159 * tanh(2/3*z)\]
+
+ +
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/api/v2/config/attr.html b/release/0.10.0/doc_cn/api/v2/config/attr.html new file mode 100644 index 0000000000..552b0a506c --- /dev/null +++ b/release/0.10.0/doc_cn/api/v2/config/attr.html @@ -0,0 +1,364 @@ + + + + + + + + + + + Parameter Attribute — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

Parameter Attribute

+
+
+paddle.v2.attr.Param
+

ParameterAttribute 的别名

+
+ +
+
+paddle.v2.attr.Extra
+

ExtraLayerAttribute 的别名

+
+ +
+
+paddle.v2.attr.ParamAttr
+

ParameterAttribute 的别名

+
+ +
+
+paddle.v2.attr.ExtraAttr
+

ExtraLayerAttribute 的别名

+
+ +
+
+class paddle.v2.attr.ParameterAttribute(name=None, is_static=False, initial_std=None, initial_mean=None, initial_max=None, initial_min=None, l1_rate=None, l2_rate=None, learning_rate=None, momentum=None, gradient_clipping_threshold=None, sparse_update=False)
+

Parameter Attributes object. To fine-tuning network training process, user +can set attribute to control training details, such as l1,l2 rate / learning +rate / how to init param.

+

NOTE: IT IS A HIGH LEVEL USER INTERFACE.

+ +++ + + + +
参数:
    +
  • is_static (bool) – True if this parameter will be fixed while training.
  • +
  • initial_std (float or None) – Gauss Random initialization standard deviation. +None if not using Gauss Random initialize parameter.
  • +
  • initial_mean (float or None) – Gauss Random initialization mean. +None if not using Gauss Random initialize parameter.
  • +
  • initial_max (float or None) – Uniform initialization max value.
  • +
  • initial_min (float or None) – Uniform initialization min value.
  • +
  • l1_rate (float or None) – the l1 regularization factor
  • +
  • l2_rate (float or None) – the l2 regularization factor
  • +
  • learning_rate (float or None) – The parameter learning rate. None means 1. +The learning rate when optimize is LEARNING_RATE = +GLOBAL_LEARNING_RATE * PARAMETER_LEARNING_RATE +* SCHEDULER_FACTOR.
  • +
  • momentum (float or None) – The parameter momentum. None means use global value.
  • +
  • gradient_clipping_threshold (float) – gradient clipping threshold. If gradient +value larger than some value, will be +clipped.
  • +
  • sparse_update (bool) – Enable sparse update for this parameter. It will +enable both local and remote sparse update.
  • +
+
+
+
+set_default_parameter_name(name)
+

Set default parameter name. If parameter not set, then will use default +parameter name.

+ +++ + + + +
参数:name (basestring) – default parameter name.
+
+ +
+ +
+
+class paddle.v2.attr.ExtraLayerAttribute(error_clipping_threshold=None, drop_rate=None, device=None)
+

Some high level layer attributes config. You can set all attributes here, +but some layer doesn’t support all attributes. If you set an attribute to a +layer that not support this attribute, paddle will print an error and core.

+ +++ + + + +
参数:
    +
  • error_clipping_threshold (float) – Error clipping threshold.
  • +
  • drop_rate (float) – Dropout rate. Dropout will create a mask on layer output. +The dropout rate is the zero rate of this mask. The +details of what dropout is please refer to here.
  • +
  • device (int) –

    device ID of layer. device=-1, use CPU. device>0, use GPU. +The details allocation in parallel_nn please refer to here.

    +
  • +
+
+
+ +
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/api/v2/config/layer.html b/release/0.10.0/doc_cn/api/v2/config/layer.html new file mode 100644 index 0000000000..4b7ade4e2e --- /dev/null +++ b/release/0.10.0/doc_cn/api/v2/config/layer.html @@ -0,0 +1,3493 @@ + + + + + + + + + + + Layers — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

Layers

+
+

Data layer

+
+

data

+
+
+class paddle.v2.layer.data(name, type, **kwargs)
+

Define DataLayer For NeuralNetwork.

+

The example usage is:

+
data = paddle.layer.data(name="input", type=paddle.data_type.dense_vector(1000))
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – Name of this data layer.
  • +
  • type – Data type of this data layer
  • +
  • height (int|None) – Height of this data layer, used for image
  • +
  • width (int|None) – Width of this data layer, used for image
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Fully Connected Layers

+
+

fc

+
+
+class paddle.v2.layer.fc(*args, **kwargs)
+

Helper for declare fully connected layer.

+

The example usage is:

+
fc = fc(input=layer,
+              size=1024,
+              act=paddle.v2.Activation.Linear(),
+              bias_attr=False)
+
+
+

which is equal to:

+
with mixed(size=1024) as fc:
+    fc += full_matrix_projection(input=layer)
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – The Layer Name.
  • +
  • input (paddle.v2.config_base.Layer|list|tuple) – The input layer. Could be a list/tuple of input layer.
  • +
  • size (int) – The layer dimension.
  • +
  • act (paddle.v2.Activation.Base) – Activation Type. Default is tanh.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – The Parameter Attribute|list.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute|None|Any) – The Bias Attribute. If no bias, then pass False or +something not type of paddle.v2.attr.ParameterAttribute. None will get a +default Bias.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer config.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

selective_fc

+
+
+class paddle.v2.layer.selective_fc(*args, **kwargs)
+

Selectived fully connected layer. Different from fc, the output +of this layer maybe sparse. It requires an additional input to indicate +several selected columns for output. If the selected columns is not +specified, selective_fc acts exactly like fc.

+

The simple usage is:

+
sel_fc = selective_fc(input=input, size=128, act=paddle.v2.Activation.Tanh())
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – The Layer Name.
  • +
  • input (paddle.v2.config_base.Layer|list|tuple) – The input layer.
  • +
  • select (paddle.v2.config_base.Layer) – The select layer. The output of select layer should be a +sparse binary matrix, and treat as the mask of selective fc. +If is None, acts exactly like fc.
  • +
  • size (int) – The layer dimension.
  • +
  • act (paddle.v2.Activation.Base) – Activation Type. Default is tanh.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – The Parameter Attribute.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute|None|Any) – The Bias Attribute. If no bias, then pass False or +something not type of paddle.v2.attr.ParameterAttribute. None will get a +default Bias.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer config.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Conv Layers

+
+

conv_operator

+
+
+class paddle.v2.layer.conv_operator(**kwargs)
+

Different from img_conv, conv_op is an Operator, which can be used +in mixed. And conv_op takes two inputs to perform convolution. +The first input is the image and the second is filter kernel. It only +support GPU mode.

+

The example usage is:

+
op = conv_operator(img=input1,
+                   filter=input2,
+                   filter_size=3,
+                   num_filters=64,
+                   num_channels=64)
+
+
+ +++ + + + + + + + +
参数:
    +
  • img (paddle.v2.config_base.Layer) – input image
  • +
  • filter (paddle.v2.config_base.Layer) – input filter
  • +
  • filter_size (int) – The x dimension of a filter kernel.
  • +
  • filter_size_y (int) – The y dimension of a filter kernel. Since +PaddlePaddle now supports rectangular filters, +the filter’s shape can be (filter_size, filter_size_y).
  • +
  • num_filters (int) – channel of output data.
  • +
  • num_channels (int) – channel of input data.
  • +
  • stride (int) – The x dimension of the stride.
  • +
  • stride_y (int) – The y dimension of the stride.
  • +
  • padding (int) – The x dimension of padding.
  • +
  • padding_y (int) – The y dimension of padding.
  • +
+
返回:

A ConvOperator Object.

+
返回类型:

ConvOperator

+
+
+ +
+
+

conv_projection

+
+
+class paddle.v2.layer.conv_projection(**kwargs)
+

Different from img_conv and conv_op, conv_projection is an Projection, +which can be used in mixed and conat. It use cudnn to implement +conv and only support GPU mode.

+

The example usage is:

+
proj = conv_projection(input=input1,
+                       filter_size=3,
+                       num_filters=64,
+                       num_channels=64)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – input layer
  • +
  • filter_size (int) – The x dimension of a filter kernel.
  • +
  • filter_size_y (int) – The y dimension of a filter kernel. Since +PaddlePaddle now supports rectangular filters, +the filter’s shape can be (filter_size, filter_size_y).
  • +
  • num_filters (int) – channel of output data.
  • +
  • num_channels (int) – channel of input data.
  • +
  • stride (int) – The x dimension of the stride.
  • +
  • stride_y (int) – The y dimension of the stride.
  • +
  • padding (int) – The x dimension of padding.
  • +
  • padding_y (int) – The y dimension of padding.
  • +
  • groups (int) – The group number.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – Convolution param attribute. None means default attribute
  • +
  • trans (boolean) – whether it is convTrans or conv
  • +
+
返回:

A DotMulProjection Object.

+
返回类型:

DotMulProjection

+
+
+ +
+
+

conv_shift

+
+
+class paddle.v2.layer.conv_shift(*args, **kwargs)
+
+
This layer performs cyclic convolution for two input. For example:
+
    +
  • a[in]: contains M elements.
  • +
  • b[in]: contains N elements (N should be odd).
  • +
  • c[out]: contains M elements.
  • +
+
+
+
+\[c[i] = \sum_{j=-(N-1)/2}^{(N-1)/2}a_{i+j} * b_{j}\]
+
+
In this formular:
+
    +
  • a’s index is computed modulo M. When it is negative, then get item from +the right side (which is the end of array) to the left.
  • +
  • b’s index is computed modulo N. When it is negative, then get item from +the right size (which is the end of array) to the left.
  • +
+
+
+

The example usage is:

+
conv_shift = conv_shift(a=layer1, b=layer2)
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – layer name
  • +
  • a (paddle.v2.config_base.Layer) – Input layer a.
  • +
  • b (paddle.v2.config_base.Layer) – input layer b.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – layer’s extra attribute.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

img_conv

+
+
+class paddle.v2.layer.img_conv(*args, **kwargs)
+

Convolution layer for image. Paddle can support both square and non-square +input currently.

+

The details of convolution layer, please refer UFLDL’s convolution .

+

Convolution Transpose (deconv) layer for image. Paddle can support both square +and non-square input currently.

+

The details of convolution transpose layer, +please refer to the following explanation and references therein +<http://datascience.stackexchange.com/questions/6107/ +what-are-deconvolutional-layers/>`_ . +The num_channel means input image’s channel number. It may be 1 or 3 when +input is raw pixels of image(mono or RGB), or it may be the previous layer’s +num_filters * num_group.

+

There are several group of filter in PaddlePaddle implementation. +Each group will process some channel of the inputs. For example, if an input +num_channel = 256, group = 4, num_filter=32, the PaddlePaddle will create +32*4 = 128 filters to process inputs. The channels will be split into 4 +pieces. First 256/4 = 64 channels will process by first 32 filters. The +rest channels will be processed by rest group of filters.

+

The example usage is:

+
conv = img_conv(input=data, filter_size=1, filter_size_y=1,
+                      num_channels=8,
+                      num_filters=16, stride=1,
+                      bias_attr=False,
+                      act=paddle.v2.Activation.Relu())
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – Layer name.
  • +
  • input (paddle.v2.config_base.Layer) – Layer Input.
  • +
  • filter_size (int|tuple|list) – The x dimension of a filter kernel. Or input a tuple for +two image dimension.
  • +
  • filter_size_y (int|None) – The y dimension of a filter kernel. Since PaddlePaddle +currently supports rectangular filters, the filter’s +shape will be (filter_size, filter_size_y).
  • +
  • num_filters – Each filter group’s number of filter
  • +
  • act (paddle.v2.Activation.Base) – Activation type. Default is tanh
  • +
  • groups (int) – Group size of filters.
  • +
  • stride (int|tuple|list) – The x dimension of the stride. Or input a tuple for two image +dimension.
  • +
  • stride_y (int) – The y dimension of the stride.
  • +
  • padding (int|tuple|list) – The x dimension of the padding. Or input a tuple for two +image dimension
  • +
  • padding_y (int) – The y dimension of the padding.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute|False) – Convolution bias attribute. None means default bias. +False means no bias.
  • +
  • num_channels (int) – number of input channels. If None will be set +automatically from previous output.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – Convolution param attribute. None means default attribute
  • +
  • shared_biases (bool) – Is biases will be shared between filters or not.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Layer Extra Attribute.
  • +
  • trans (bool) – true if it is a convTransLayer, false if it is a convLayer
  • +
  • layer_type (String) – specify the layer_type, default is None. If trans=True, +layer_type has to be “exconvt” or “cudnn_convt”, +otherwise layer_type has to be either “exconv” or +“cudnn_conv”
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

context_projection

+
+
+class paddle.v2.layer.context_projection(**kwargs)
+

Context Projection.

+

It just simply reorganizes input sequence, combines “context_len” sequence +to one context from context_start. “context_start” will be set to +-(context_len - 1) / 2 by default. If context position out of sequence +length, padding will be filled as zero if padding_attr = False, otherwise +it is trainable.

+

For example, origin sequence is [A B C D E F G], context len is 3, then +after context projection and not set padding_attr, sequence will +be [ 0AB ABC BCD CDE DEF EFG FG0 ].

+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – Input Sequence.
  • +
  • context_len (int) – context length.
  • +
  • context_start (int) – context start position. Default is +-(context_len - 1)/2
  • +
  • padding_attr (bool|paddle.v2.attr.ParameterAttribute) – Padding Parameter Attribute. If false, it means padding +always be zero. Otherwise Padding is learnable, and +parameter attribute is set by this parameter.
  • +
+
返回:

Projection

+
返回类型:

Projection

+
+
+ +
+
+
+

Image Pooling Layer

+
+

img_pool

+
+
+class paddle.v2.layer.img_pool(*args, **kwargs)
+

Image pooling Layer.

+

The details of pooling layer, please refer ufldl’s pooling .

+
    +
  • ceil_mode=True:
  • +
+
+\[w = 1 + int(ceil(input\_width + 2 * padding - pool\_size) / float(stride)) +h = 1 + int(ceil(input\_height + 2 * padding\_y - pool\_size\_y) / float(stride\_y))\]
+
    +
  • ceil_mode=False:
  • +
+
+\[w = 1 + int(floor(input\_width + 2 * padding - pool\_size) / float(stride)) +h = 1 + int(floor(input\_height + 2 * padding\_y - pool\_size\_y) / float(stride\_y))\]
+

The example usage is:

+
maxpool = img_pool(input=conv,
+                         pool_size=3,
+                         pool_size_y=5,
+                         num_channels=8,
+                         stride=1,
+                         stride_y=2,
+                         padding=1,
+                         padding_y=2,
+                         pool_type=MaxPooling())
+
+
+ +++ + + + + + + + +
参数:
    +
  • padding (int) – pooling padding width.
  • +
  • padding_y (int|None) – pooling padding height. It’s equal to padding by default.
  • +
  • name (basestring.) – name of pooling layer
  • +
  • input (paddle.v2.config_base.Layer) – layer’s input
  • +
  • pool_size (int) – pooling window width
  • +
  • pool_size_y (int|None) – pooling window height. It’s eaqual to pool_size by default.
  • +
  • num_channels (int) – number of input channel.
  • +
  • pool_type (BasePoolingType) – pooling type. MaxPooling or AvgPooling. Default is +MaxPooling.
  • +
  • stride (int) – stride width of pooling.
  • +
  • stride_y (int|None) – stride height of pooling. It is equal to stride by default.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer attribute.
  • +
  • ceil_mode (bool) – Wether to use ceil mode to calculate output height and with. +Defalut is True. If set false, Otherwise use floor.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

spp

+
+
+class paddle.v2.layer.spp(*args, **kwargs)
+

Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition. +The details please refer to +Kaiming He’s paper.

+

The example usage is:

+
spp = spp(input=data,
+                pyramid_height=2,
+                num_channels=16,
+                pool_type=MaxPooling())
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – layer name.
  • +
  • input (paddle.v2.config_base.Layer) – layer’s input.
  • +
  • num_channels (int) – number of input channel.
  • +
  • pool_type – Pooling type. MaxPooling or AveragePooling. Default is MaxPooling.
  • +
  • pyramid_height (int) – pyramid height.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

maxout

+
+
+class paddle.v2.layer.maxout(*args, **kwargs)
+
+
A layer to do max out on conv layer output.
+
    +
  • Input: output of a conv layer.
  • +
  • Output: feature map size same as input. Channel is (input channel) / groups.
  • +
+
+
+

So groups should be larger than 1, and the num of channels should be able +to devided by groups.

+
+
Please refer to Paper:
+
+
+
+

The simple usage is:

+
maxout = maxout(input,
+                      num_channels=128,
+                      groups=4)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – The input layer.
  • +
  • num_channels (int|None) – The channel number of input layer. If None will be set +automatically from previous output.
  • +
  • groups (int) – The group number of input layer.
  • +
  • name (None|basestring.) – The name of this layer, which can not specify.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer attribute.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Norm Layer

+
+

img_cmrnorm

+
+
+class paddle.v2.layer.img_cmrnorm(*args, **kwargs)
+

Response normalization across feature maps. +The details please refer to +Alex’s paper.

+

The example usage is:

+
norm = img_cmrnorm(input=net, size=5)
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (None|basestring) – layer name.
  • +
  • input (paddle.v2.config_base.Layer) – layer’s input.
  • +
  • size (int) – Normalize in number of \(size\) feature maps.
  • +
  • scale (float) – The hyper-parameter.
  • +
  • power (float) – The hyper-parameter.
  • +
  • num_channels – input layer’s filers number or channels. If +num_channels is None, it will be set automatically.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

batch_norm

+
+
+class paddle.v2.layer.batch_norm(*args, **kwargs)
+

Batch Normalization Layer. The notation of this layer as follow.

+

\(x\) is the input features over a mini-batch.

+
+\[\begin{split}\mu_{\beta} &\gets \frac{1}{m} \sum_{i=1}^{m} x_i \qquad &//\ +\ mini-batch\ mean \\ +\sigma_{\beta}^{2} &\gets \frac{1}{m} \sum_{i=1}^{m}(x_i - \ +\mu_{\beta})^2 \qquad &//\ mini-batch\ variance \\ +\hat{x_i} &\gets \frac{x_i - \mu_\beta} {\sqrt{\ +\sigma_{\beta}^{2} + \epsilon}} \qquad &//\ normalize \\ +y_i &\gets \gamma \hat{x_i} + \beta \qquad &//\ scale\ and\ shift\end{split}\]
+

The details of batch normalization please refer to this +paper.

+

The example usage is:

+
norm = batch_norm(input=net, act=paddle.v2.Activation.Relu())
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – layer name.
  • +
  • input (paddle.v2.config_base.Layer) – batch normalization input. Better be linear activation. +Because there is an activation inside batch_normalization.
  • +
  • batch_norm_type (None|string, None or "batch_norm" or "cudnn_batch_norm") – We have batch_norm and cudnn_batch_norm. batch_norm +supports both CPU and GPU. cudnn_batch_norm requires +cuDNN version greater or equal to v4 (>=v4). But +cudnn_batch_norm is faster and needs less memory +than batch_norm. By default (None), we will +automaticly select cudnn_batch_norm for GPU and +batch_norm for CPU. Otherwise, select batch norm +type based on the specified type. If you use cudnn_batch_norm, +we suggested you use latest version, such as v5.1.
  • +
  • act (paddle.v2.Activation.Base) – Activation Type. Better be relu. Because batch +normalization will normalize input near zero.
  • +
  • num_channels (int) – num of image channels or previous layer’s number of +filters. None will automatically get from layer’s +input.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute) – \(\beta\), better be zero when initialize. So the +initial_std=0, initial_mean=1 is best practice.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – \(\gamma\), better be one when initialize. So the +initial_std=0, initial_mean=1 is best practice.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
  • use_global_stats (bool|None.) – whether use moving mean/variance statistics +during testing peroid. If None or True, +it will use moving mean/variance statistics during +testing. If False, it will use the mean +and variance of current batch of test data for +testing.
  • +
  • moving_average_fraction (float.) – Factor used in the moving average +computation, referred to as facotr, +\(runningMean = newMean*(1-factor) ++ runningMean*factor\)
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

sum_to_one_norm

+
+
+class paddle.v2.layer.sum_to_one_norm(*args, **kwargs)
+

A layer for sum-to-one normalization, +which is used in NEURAL TURING MACHINE.

+
+\[out[i] = \frac {in[i]} {\sum_{k=1}^N in[k]}\]
+

where \(in\) is a (batchSize x dataDim) input vector, +and \(out\) is a (batchSize x dataDim) output vector.

+

The example usage is:

+
sum_to_one_norm = sum_to_one_norm(input=layer)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – Input layer.
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

cross_channel_norm

+
+
+class paddle.v2.layer.cross_channel_norm(*args, **kwargs)
+

Normalize a layer’s output. This layer is necessary for ssd. +This layer applys normalize across the channels of each sample to +a conv layer’s output and scale the output by a group of trainable +factors which dimensions equal to the channel’s number.

+ +++ + + + + + +
参数:
    +
  • name (basestring) – The Layer Name.
  • +
  • input (paddle.v2.config_base.Layer) – The input layer.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – The Parameter Attribute|list.
  • +
+
返回:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Recurrent Layers

+
+

recurrent

+
+
+class paddle.v2.layer.recurrent(*args, **kwargs)
+

Simple recurrent unit layer. It is just a fully connect layer through both +time and neural network.

+

For each sequence [start, end] it performs the following computation:

+
+\[\begin{split}out_{i} = act(in_{i}) \ \ \text{for} \ i = start \\ +out_{i} = act(in_{i} + out_{i-1} * W) \ \ \text{for} \ start < i <= end\end{split}\]
+

If reversed is true, the order is reversed:

+
+\[\begin{split}out_{i} = act(in_{i}) \ \ \text{for} \ i = end \\ +out_{i} = act(in_{i} + out_{i+1} * W) \ \ \text{for} \ start <= i < end\end{split}\]
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – Input Layer
  • +
  • act (paddle.v2.Activation.Base) – activation.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute) – bias attribute.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – parameter attribute.
  • +
  • name (basestring) – name of the layer
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Layer Attribute.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

lstmemory

+
+
+class paddle.v2.layer.lstmemory(*args, **kwargs)
+

Long Short-term Memory Cell.

+

The memory cell was implemented as follow equations.

+
+\[ \begin{align}\begin{aligned}i_t & = \sigma(W_{xi}x_{t} + W_{hi}h_{t-1} + W_{ci}c_{t-1} + b_i)\\f_t & = \sigma(W_{xf}x_{t} + W_{hf}h_{t-1} + W_{cf}c_{t-1} + b_f)\\c_t & = f_tc_{t-1} + i_t tanh (W_{xc}x_t+W_{hc}h_{t-1} + b_c)\\o_t & = \sigma(W_{xo}x_{t} + W_{ho}h_{t-1} + W_{co}c_t + b_o)\\h_t & = o_t tanh(c_t)\end{aligned}\end{align} \]
+

NOTE: In PaddlePaddle’s implementation, the multiplications +\(W_{xi}x_{t}\) , \(W_{xf}x_{t}\), +\(W_{xc}x_t\), \(W_{xo}x_{t}\) are not done in the lstmemory layer, +so an additional mixed with full_matrix_projection or a fc must +be included in the configuration file to complete the input-to-hidden +mappings before lstmemory is called.

+

NOTE: This is a low level user interface. You can use network.simple_lstm +to config a simple plain lstm layer.

+

Please refer to Generating Sequences With Recurrent Neural Networks for +more details about LSTM.

+

Link goes as below.

+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – The lstmemory layer name.
  • +
  • input (paddle.v2.config_base.Layer) – input layer name.
  • +
  • reverse (bool) – is sequence process reversed or not.
  • +
  • act (paddle.v2.Activation.Base) – activation type, paddle.v2.Activation.Tanh by default. \(h_t\)
  • +
  • gate_act (paddle.v2.Activation.Base) – gate activation type, paddle.v2.Activation.Sigmoid by default.
  • +
  • state_act (paddle.v2.Activation.Base) – state activation type, paddle.v2.Activation.Tanh by default.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute|None|False) – Bias attribute. None means default bias. False means no +bias.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute|None|False) – Parameter Attribute.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer attribute
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

grumemory

+
+
+class paddle.v2.layer.grumemory(*args, **kwargs)
+

Gate Recurrent Unit Layer.

+

The memory cell was implemented as follow equations.

+

1. update gate \(z\): defines how much of the previous memory to +keep around or the unit updates its activations. The update gate +is computed by:

+
+\[z_t = \sigma(W_{z}x_{t} + U_{z}h_{t-1} + b_z)\]
+

2. reset gate \(r\): determines how to combine the new input with the +previous memory. The reset gate is computed similarly to the update gate:

+
+\[r_t = \sigma(W_{r}x_{t} + U_{r}h_{t-1} + b_r)\]
+

3. The candidate activation \(\tilde{h_t}\) is computed similarly to +that of the traditional recurrent unit:

+
+\[{\tilde{h_t}} = tanh(W x_{t} + U (r_{t} \odot h_{t-1}) + b)\]
+

4. The hidden activation \(h_t\) of the GRU at time t is a linear +interpolation between the previous activation \(h_{t-1}\) and the +candidate activation \(\tilde{h_t}\):

+
+\[h_t = (1 - z_t) h_{t-1} + z_t {\tilde{h_t}}\]
+

NOTE: In PaddlePaddle’s implementation, the multiplication operations +\(W_{r}x_{t}\), \(W_{z}x_{t}\) and \(W x_t\) are not computed in +gate_recurrent layer. Consequently, an additional mixed with +full_matrix_projection or a fc must be included before grumemory +is called.

+

More details can be found by referring to Empirical Evaluation of Gated +Recurrent Neural Networks on Sequence Modeling.

+

The simple usage is:

+
gru = grumemory(input)
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (None|basestring) – The gru layer name.
  • +
  • input (paddle.v2.config_base.Layer.) – input layer.
  • +
  • reverse (bool) – Whether sequence process is reversed or not.
  • +
  • act (paddle.v2.Activation.Base) – activation type, paddle.v2.Activation.Tanh by default. This activation +affects the \({\tilde{h_t}}\).
  • +
  • gate_act (paddle.v2.Activation.Base) – gate activation type, paddle.v2.Activation.Sigmoid by default. +This activation affects the \(z_t\) and \(r_t\). It is the +\(\sigma\) in the above formula.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute|None|False) – Bias attribute. None means default bias. False means no +bias.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute|None|False) – Parameter Attribute.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer attribute
  • +
  • size (None) – Stub parameter of size, but actually not used. If set this size +will get a warning.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Recurrent Layer Group

+
+

memory

+
+
+class paddle.v2.layer.memory(name, extra_input=None, **kwargs)
+

The memory layers is a layer cross each time step. Reference this output +as previous time step layer name ‘s output.

+

The default memory is zero in first time step, previous time step’s +output in the rest time steps.

+

If boot_bias, the first time step value is this bias and +with activation.

+

If boot_with_const_id, then the first time stop is a IndexSlot, the +Arguments.ids()[0] is this cost_id.

+

If boot_layer is not null, the memory is just the boot_layer’s output. +Set is_seq is true boot layer is sequence.

+

The same name layer in recurrent group will set memory on each time +step.

+
mem = memory(size=256, name='state')
+state = fc_layer(input=mem, size=256, name='state')
+
+
+

If you do not want to specify the name, you can equivalently use set_input() +to specify the layer needs to be remembered as the following:

+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – the name of the layer which this memory remembers. +If name is None, user should call set_input() to specify the +name of the layer which this memory remembers.
  • +
  • size (int) – size of memory.
  • +
  • memory_name (basestring) – the name of the memory. +It is ignored when name is provided.
  • +
  • is_seq (bool) – is sequence for boot_layer
  • +
  • boot_layer (LayerOutput|None) – boot layer of memory.
  • +
  • boot_bias (ParameterAttribute|None) – boot layer’s bias
  • +
  • boot_bias_active_type (BaseActivation) – boot layer’s active type.
  • +
  • boot_with_const_id (int) – boot layer’s id.
  • +
+
返回:

LayerOutput object which is a memory.

+
返回类型:

LayerOutput

+
+
+ +
+
+

recurrent_group

+
+
+class paddle.v2.layer.recurrent_group
+

Recurrent layer group is an extremely flexible recurrent unit in +PaddlePaddle. As long as the user defines the calculation done within a +time step, PaddlePaddle will iterate such a recurrent calculation over +sequence input. This is extremely usefull for attention based model, or +Neural Turning Machine like models.

+

The basic usage (time steps) is:

+
def step(input):
+    output = fc_layer(input=layer,
+                      size=1024,
+                      act=LinearActivation(),
+                      bias_attr=False)
+    return output
+
+group = recurrent_group(input=layer,
+                        step=step)
+
+
+

You can see following configs for further usages:

+
    +
  • time steps: lstmemory_group, paddle/gserver/tests/sequence_layer_group.conf, demo/seqToseq/seqToseq_net.py
  • +
  • sequence steps: paddle/gserver/tests/sequence_nest_layer_group.conf
  • +
+ +++ + + + +
参数:
    +
  • step (callable) –

    recurrent one time step function.The input of this function is +input of the group. The return of this function will be +recurrent group’s return value.

    +

    The recurrent group scatter a sequence into time steps. And +for each time step, will invoke step function, and return +a time step result. Then gather each time step of output into +layer group’s output.

    +
  • +
  • name (basestring) – recurrent_group’s name.
  • +
  • input (LayerOutput|StaticInput|SubsequenceInput|list|tuple) –

    Input links array.

    +

    LayerOutput will be scattered into time steps. +SubsequenceInput will be scattered into sequence steps. +StaticInput will be imported to each time step, and doesn’t change +through time. It’s a mechanism to access layer outside step function.

    +
  • +
  • reverse (bool) – If reverse is set true, the recurrent unit will process the +input sequence in a reverse order.
  • +
  • targetInlink (LayerOutput|SubsequenceInput) –

    the input layer which share info with layer group’s output

    +

    Param input specifies multiple input layers. For +SubsequenceInput inputs, config should assign one input +layer that share info(the number of sentences and the number +of words in each sentence) with all layer group’s outputs. +targetInlink should be one of the layer group’s input.

    +
  • +
  • is_generating – If is generating, none of input type should be LayerOutput; +else, for training or testing, one of the input type must +be LayerOutput.
  • +
+
+

: type is_generating: bool

+ +++ + + + + + +
返回:LayerOutput object.
返回类型:LayerOutput
+
+ +
+
+

lstm_step

+
+
+class paddle.v2.layer.lstm_step(*args, **kwargs)
+

LSTM Step Layer. It used in recurrent_group. The lstm equations are shown +as follow.

+
+\[ \begin{align}\begin{aligned}i_t & = \sigma(W_{xi}x_{t} + W_{hi}h_{t-1} + W_{ci}c_{t-1} + b_i)\\f_t & = \sigma(W_{xf}x_{t} + W_{hf}h_{t-1} + W_{cf}c_{t-1} + b_f)\\c_t & = f_tc_{t-1} + i_t tanh (W_{xc}x_t+W_{hc}h_{t-1} + b_c)\\o_t & = \sigma(W_{xo}x_{t} + W_{ho}h_{t-1} + W_{co}c_t + b_o)\\h_t & = o_t tanh(c_t)\end{aligned}\end{align} \]
+

The input of lstm step is \(Wx_t + Wh_{t-1}\), and user should use +mixed and full_matrix_projection to calculate these +input vector.

+

The state of lstm step is \(c_{t-1}\). And lstm step layer will do

+
+\[ \begin{align}\begin{aligned}i_t = \sigma(input + W_{ci}c_{t-1} + b_i)\\...\end{aligned}\end{align} \]
+

This layer contains two outputs. Default output is \(h_t\). The other +output is \(o_t\), which name is ‘state’ and can use +get_output to extract this output.

+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – Layer’s name.
  • +
  • size (int) – Layer’s size. NOTE: lstm layer’s size, should be equal as +input.size/4, and should be equal as +state.size.
  • +
  • input (paddle.v2.config_base.Layer) – input layer. \(Wx_t + Wh_{t-1}\)
  • +
  • state (paddle.v2.config_base.Layer) – State Layer. \(c_{t-1}\)
  • +
  • act (paddle.v2.Activation.Base) – Activation type. Default is tanh
  • +
  • gate_act (paddle.v2.Activation.Base) – Gate Activation Type. Default is sigmoid, and should +be sigmoid only.
  • +
  • state_act (paddle.v2.Activation.Base) – State Activation Type. Default is sigmoid, and should +be sigmoid only.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute) – Bias Attribute.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – layer’s extra attribute.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

gru_step

+
+
+class paddle.v2.layer.gru_step(*args, **kwargs)
+
+++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) –
  • +
  • output_mem
  • +
  • size
  • +
  • act
  • +
  • name
  • +
  • gate_act
  • +
  • bias_attr
  • +
  • param_attr – the parameter_attribute for transforming the output_mem +from previous step.
  • +
  • layer_attr
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+ +
+

get_output

+
+
+class paddle.v2.layer.get_output(*args, **kwargs)
+

Get layer’s output by name. In PaddlePaddle, a layer might return multiple +values, but returns one layer’s output. If the user wants to use another +output besides the default one, please use get_output first to get +the output from input.

+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – Layer’s name.
  • +
  • input (paddle.v2.config_base.Layer) – get output layer’s input. And this layer should contains +multiple outputs.
  • +
  • arg_name (basestring) – Output name from input.
  • +
  • layer_attr – Layer’s extra attribute.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Mixed Layer

+
+

mixed

+
+
+class paddle.v2.layer.mixed
+

Mixed Layer. A mixed layer will add all inputs together, then activate. +Each inputs is a projection or operator.

+

There are two styles of usages.

+
    +
  1. When not set inputs parameter, use mixed_layer like this:
  2. +
+
with mixed_layer(size=256) as m:
+    m += full_matrix_projection(input=layer1)
+    m += identity_projection(input=layer2)
+
+
+
    +
  1. You can also set all inputs when invoke mixed_layer as follows:
  2. +
+
m = mixed_layer(size=256,
+                input=[full_matrix_projection(input=layer1),
+                       full_matrix_projection(input=layer2)])
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – mixed layer name. Can be referenced by other layer.
  • +
  • size (int) – layer size.
  • +
  • input – inputs layer. It is an optional parameter. If set, +then this function will just return layer’s name.
  • +
  • act (BaseActivation) – Activation Type.
  • +
  • bias_attr (ParameterAttribute or None or bool) – The Bias Attribute. If no bias, then pass False or +something not type of ParameterAttribute. None will get a +default Bias.
  • +
  • layer_attr (ExtraLayerAttribute) – The extra layer config. Default is None.
  • +
+
返回:

MixedLayerType object can add inputs or layer name.

+
返回类型:

MixedLayerType

+
+
+ +
+
+

embedding

+
+
+class paddle.v2.layer.embedding(*args, **kwargs)
+

Define a embedding Layer.

+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – Name of this embedding layer.
  • +
  • input (paddle.v2.config_base.Layer) – The input layer for this embedding. NOTE: must be Index Data.
  • +
  • size (int) – The embedding dimension.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute|None) – The embedding parameter attribute. See paddle.v2.attr.ParameterAttribute +for details.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra layer Config. Default is None.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

scaling_projection

+
+
+class paddle.v2.layer.scaling_projection(**kwargs)
+

scaling_projection multiplies the input with a scalar parameter and add to +the output.

+
+\[out += w * in\]
+

The example usage is:

+
proj = scaling_projection(input=layer)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – Input Layer.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – Parameter config, None if use default.
  • +
+
返回:

A ScalingProjection object

+
返回类型:

ScalingProjection

+
+
+ +
+
+

dotmul_projection

+
+
+class paddle.v2.layer.dotmul_projection(**kwargs)
+

DotMulProjection with a layer as input. +It performs element-wise multiplication with weight.

+
+\[out.row[i] += in.row[i] .* weight\]
+

where \(.*\) means element-wise multiplication.

+

The example usage is:

+
proj = dotmul_projection(input=layer)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – Input layer.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – Parameter config, None if use default.
  • +
+
返回:

A DotMulProjection Object.

+
返回类型:

DotMulProjection

+
+
+ +
+
+

dotmul_operator

+
+
+class paddle.v2.layer.dotmul_operator(**kwargs)
+

DotMulOperator takes two inputs and performs element-wise multiplication:

+
+\[out.row[i] += scale * (a.row[i] .* b.row[i])\]
+

where \(.*\) means element-wise multiplication, and +scale is a config scalar, its default value is one.

+

The example usage is:

+
op = dotmul_operator(a=layer1, b=layer2, scale=0.5)
+
+
+ +++ + + + + + + + +
参数:
    +
  • a (paddle.v2.config_base.Layer) – Input layer1
  • +
  • b (paddle.v2.config_base.Layer) – Input layer2
  • +
  • scale (float) – config scalar, default value is one.
  • +
+
返回:

A DotMulOperator Object.

+
返回类型:

DotMulOperator

+
+
+ +
+
+

full_matrix_projection

+
+
+class paddle.v2.layer.full_matrix_projection(**kwargs)
+

Full Matrix Projection. It performs full matrix multiplication.

+
+\[out.row[i] += in.row[i] * weight\]
+

There are two styles of usage.

+
    +
  1. When used in mixed like this, you can only set the input:
  2. +
+
with mixed(size=100) as m:
+    m += full_matrix_projection(input=layer)
+
+
+
    +
  1. When used as an independant object like this, you must set the size:
  2. +
+
proj = full_matrix_projection(input=layer,
+                              size=100,
+                              param_attr=ParamAttr(name='_proj'))
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – input layer
  • +
  • size (int) – The parameter size. Means the width of parameter.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – Parameter config, None if use default.
  • +
+
返回:

A FullMatrixProjection Object.

+
返回类型:

FullMatrixProjection

+
+
+ +
+
+

identity_projection

+
+
+class paddle.v2.layer.identity_projection(**kwargs)
+
    +
  1. IdentityProjection if offset=None. It performs:
  2. +
+
+\[out.row[i] += in.row[i]\]
+

The example usage is:

+
proj = identity_projection(input=layer)
+
+
+

2. IdentityOffsetProjection if offset!=None. It likes IdentityProjection, +but layer size may be smaller than input size. +It select dimesions [offset, offset+layer_size) from input:

+
+\[out.row[i] += in.row[i + \textrm{offset}]\]
+

The example usage is:

+
proj = identity_projection(input=layer,
+                           offset=10)
+
+
+

Note that both of two projections should not have any parameter.

+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – Input Layer.
  • +
  • offset (int) – Offset, None if use default.
  • +
+
返回:

A IdentityProjection or IdentityOffsetProjection object

+
返回类型:

IdentityProjection or IdentityOffsetProjection

+
+
+ +
+
+

table_projection

+
+
+class paddle.v2.layer.table_projection(**kwargs)
+

Table Projection. It selects rows from parameter where row_id +is in input_ids.

+
+\[out.row[i] += table.row[ids[i]]\]
+

where \(out\) is output, \(table\) is parameter, \(ids\) is input_ids, +and \(i\) is row_id.

+

There are two styles of usage.

+
    +
  1. When used in mixed like this, you can only set the input:
  2. +
+
with mixed(size=100) as m:
+    m += table_projection(input=layer)
+
+
+
    +
  1. When used as an independant object like this, you must set the size:
  2. +
+
proj = table_projection(input=layer,
+                        size=100,
+                        param_attr=ParamAttr(name='_proj'))
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – Input layer, which must contains id fields.
  • +
  • size (int) – The parameter size. Means the width of parameter.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – Parameter config, None if use default.
  • +
+
返回:

A TableProjection Object.

+
返回类型:

TableProjection

+
+
+ +
+
+

trans_full_matrix_projection

+
+
+class paddle.v2.layer.trans_full_matrix_projection(**kwargs)
+

Different from full_matrix_projection, this projection performs matrix +multiplication, using transpose of weight.

+
+\[out.row[i] += in.row[i] * w^\mathrm{T}\]
+

\(w^\mathrm{T}\) means transpose of weight. +The simply usage is:

+
proj = trans_full_matrix_projection(input=layer,
+                                    size=100,
+                                    param_attr=ParamAttr(
+                                         name='_proj',
+                                         initial_mean=0.0,
+                                         initial_std=0.01))
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – input layer
  • +
  • size (int) – The parameter size. Means the width of parameter.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – Parameter config, None if use default.
  • +
+
返回:

A TransposedFullMatrixProjection Object.

+
返回类型:

TransposedFullMatrixProjection

+
+
+ +
+
+
+

Aggregate Layers

+
+

pooling

+
+
+class paddle.v2.layer.pooling(*args, **kwargs)
+

Pooling layer for sequence inputs, not used for Image.

+

The example usage is:

+
seq_pool = pooling(input=layer,
+                         pooling_type=AvgPooling(),
+                         agg_level=AggregateLevel.EACH_SEQUENCE)
+
+
+ +++ + + + + + + + +
参数:
    +
  • agg_level (AggregateLevel) – AggregateLevel.EACH_TIMESTEP or +AggregateLevel.EACH_SEQUENCE
  • +
  • name (basestring) – layer name.
  • +
  • input (paddle.v2.config_base.Layer) – input layer name.
  • +
  • pooling_type (BasePoolingType|None) – Type of pooling, MaxPooling(default), AvgPooling, +SumPooling, SquareRootNPooling.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute|None|False) – Bias parameter attribute. False if no bias.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – The Extra Attributes for layer, such as dropout.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

last_seq

+
+
+class paddle.v2.layer.last_seq(*args, **kwargs)
+

Get Last Timestamp Activation of a sequence.

+

If stride > 0, this layer slides a window whose size is determined by stride, +and return the last value of the window as the output. Thus, a long sequence +will be shorten. Note that for sequence with sub-sequence, the default value +of stride is -1.

+

The simple usage is:

+
seq = last_seq(input=layer)
+
+
+ +++ + + + + + + + +
参数:
    +
  • agg_level – Aggregated level
  • +
  • name (basestring) – Layer name.
  • +
  • input (paddle.v2.config_base.Layer) – Input layer name.
  • +
  • stride (Int) – window size.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

first_seq

+
+
+class paddle.v2.layer.first_seq(*args, **kwargs)
+

Get First Timestamp Activation of a sequence.

+

If stride > 0, this layer slides a window whose size is determined by stride, +and return the first value of the window as the output. Thus, a long sequence +will be shorten. Note that for sequence with sub-sequence, the default value +of stride is -1.

+

The simple usage is:

+
seq = first_seq(input=layer)
+
+
+ +++ + + + + + + + +
参数:
    +
  • agg_level – aggregation level
  • +
  • name (basestring) – Layer name.
  • +
  • input (paddle.v2.config_base.Layer) – Input layer name.
  • +
  • stride (Int) – window size.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

concat

+
+
+class paddle.v2.layer.concat(*args, **kwargs)
+

Concat all input vector into one huge vector. +Inputs can be list of paddle.v2.config_base.Layer or list of projection.

+

The example usage is:

+
concat = concat(input=[layer1, layer2])
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – Layer name.
  • +
  • input (list|tuple|collections.Sequence) – input layers or projections
  • +
  • act (paddle.v2.Activation.Base) – Activation type.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

seq_concat

+
+
+class paddle.v2.layer.seq_concat(*args, **kwargs)
+

Concat sequence a with sequence b.

+
+
Inputs:
+
    +
  • a = [a1, a2, ..., an]
  • +
  • b = [b1, b2, ..., bn]
  • +
  • Note that the length of a and b should be the same.
  • +
+
+
+

Output: [a1, b1, a2, b2, ..., an, bn]

+

The example usage is:

+
concat = seq_concat(a=layer1, b=layer2)
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – Layer name.
  • +
  • a (paddle.v2.config_base.Layer) – input sequence layer
  • +
  • b (paddle.v2.config_base.Layer) – input sequence layer
  • +
  • act (paddle.v2.Activation.Base) – Activation type.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute or None or bool) – The Bias Attribute. If no bias, then pass False or +something not type of paddle.v2.attr.ParameterAttribute. None will get a +default Bias.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Reshaping Layers

+
+

block_expand

+
+
+class paddle.v2.layer.block_expand(*args, **kwargs)
+
+
Expand feature map to minibatch matrix.
+
    +
  • matrix width is: block_y * block_x * num_channels
  • +
  • matirx height is: outputH * outputW
  • +
+
+
+
+\[ \begin{align}\begin{aligned}outputH = 1 + (2 * padding_y + imgSizeH - block_y + stride_y - 1) / stride_y\\outputW = 1 + (2 * padding_x + imgSizeW - block_x + stride_x - 1) / stride_x\end{aligned}\end{align} \]
+

The expand method is the same with ExpandConvLayer, but saved the transposed +value. After expanding, output.sequenceStartPositions will store timeline. +The number of time steps are outputH * outputW and the dimension of each +time step is block_y * block_x * num_channels. This layer can be used after +convolution neural network, and before recurrent neural network.

+

The simple usage is:

+
block_expand = block_expand(input=layer,
+                                  num_channels=128,
+                                  stride_x=1,
+                                  stride_y=1,
+                                  block_x=1,
+                                  block_x=3)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – The input layer.
  • +
  • num_channels (int|None) – The channel number of input layer.
  • +
  • block_x (int) – The width of sub block.
  • +
  • block_y (int) – The width of sub block.
  • +
  • stride_x (int) – The stride size in horizontal direction.
  • +
  • stride_y (int) – The stride size in vertical direction.
  • +
  • padding_x (int) – The padding size in horizontal direction.
  • +
  • padding_y (int) – The padding size in vertical direction.
  • +
  • name (None|basestring.) – The name of this layer, which can not specify.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer config.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

expand

+
+
+class paddle.v2.layer.expand(*args, **kwargs)
+

A layer for “Expand Dense data or (sequence data where the length of each +sequence is one) to sequence data.”

+

The example usage is:

+
expand = expand(input=layer1,
+                      expand_as=layer2,
+                      expand_level=ExpandLevel.FROM_TIMESTEP)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – Input layer
  • +
  • expand_as (paddle.v2.config_base.Layer) – Expand as this layer’s sequence info.
  • +
  • name (basestring) – Layer name.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute|None|False) – Bias attribute. None means default bias. False means no +bias.
  • +
  • expand_level (ExpandLevel) – whether input layer is timestep(default) or sequence.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

repeat

+
+
+class paddle.v2.layer.repeat(*args, **kwargs)
+

A layer for repeating the input for num_repeats times. This is equivalent +to apply concat() with num_repeats same input.

+
+\[y = [x, x, \cdots, x]\]
+

The example usage is:

+
expand = repeat(input=layer, num_repeats=4)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – Input layer
  • +
  • num_repeats (int) – Repeat the input so many times
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

rotate

+
+
+class paddle.v2.layer.rotate(*args, **kwargs)
+

A layer for rotating 90 degrees (clock-wise) for each feature channel, +usually used when the input sample is some image or feature map.

+
+\[y(j,i,:) = x(M-i-1,j,:)\]
+

where \(x\) is (M x N x C) input, and \(y\) is (N x M x C) output.

+

The example usage is:

+
rot = rotate(input=layer,
+                   height=100,
+                   width=100)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – Input layer.
  • +
  • height (int) – The height of the sample matrix
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

seq_reshape

+
+
+class paddle.v2.layer.seq_reshape(*args, **kwargs)
+

A layer for reshaping the sequence. Assume the input sequence has T instances, +the dimension of each instance is M, and the input reshape_size is N, then the +output sequence has T*M/N instances, the dimension of each instance is N.

+

Note that T*M/N must be an integer.

+

The example usage is:

+
reshape = seq_reshape(input=layer, reshape_size=4)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – Input layer.
  • +
  • reshape_size (int) – the size of reshaped sequence.
  • +
  • name (basestring) – Layer name.
  • +
  • act (paddle.v2.Activation.Base) – Activation type.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute or None or bool) – The Bias Attribute. If no bias, then pass False or +something not type of paddle.v2.attr.ParameterAttribute. None will get a +default Bias.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Math Layers

+
+

addto

+
+
+class paddle.v2.layer.addto(*args, **kwargs)
+

AddtoLayer.

+
+\[y = f(\sum_{i} x_i + b)\]
+

where \(y\) is output, \(x\) is input, \(b\) is bias, +and \(f\) is activation function.

+

The example usage is:

+
addto = addto(input=[layer1, layer2],
+                    act=paddle.v2.Activation.Relu(),
+                    bias_attr=False)
+
+
+

This layer just simply add all input layers together, then activate the sum +inputs. Each input of this layer should be the same size, which is also the +output size of this layer.

+

There is no weight matrix for each input, because it just a simple add +operation. If you want a complicated operation before add, please use +mixed.

+

It is a very good way to set dropout outside the layers. Since not all +PaddlePaddle layer support dropout, you can add an add_to layer, set +dropout here. +Please refer to dropout for details.

+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – Layer name.
  • +
  • input (paddle.v2.config_base.Layer|list|tuple) – Input layers. It could be a paddle.v2.config_base.Layer or list/tuple of +paddle.v2.config_base.Layer.
  • +
  • act (paddle.v2.Activation.Base) – Activation Type, default is tanh.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute|bool) – Bias attribute. If False, means no bias. None is default +bias.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer attribute.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

linear_comb

+
+
+class paddle.v2.layer.linear_comb(*args, **kwargs)
+
+
A layer for weighted sum of vectors takes two inputs.
+
    +
  • +
    Input: size of weights is M
    +
    size of vectors is M*N
    +
    +
  • +
  • Output: a vector of size=N
  • +
+
+
+
+\[z(i) = \sum_{j=0}^{M-1} x(j) y(i+Nj)\]
+

where \(0 \le i \le N-1\)

+

Or in the matrix notation:

+
+\[z = x^\mathrm{T} Y\]
+
+
In this formular:
+
    +
  • \(x\): weights
  • +
  • \(y\): vectors.
  • +
  • \(z\): the output.
  • +
+
+
+

Note that the above computation is for one sample. Multiple samples are +processed in one batch.

+

The simple usage is:

+
linear_comb = linear_comb(weights=weight, vectors=vectors,
+                                size=elem_dim)
+
+
+ +++ + + + + + + + +
参数:
    +
  • weights (paddle.v2.config_base.Layer) – The weight layer.
  • +
  • vectors (paddle.v2.config_base.Layer) – The vector layer.
  • +
  • size (int) – the dimension of this layer.
  • +
  • name (basestring) – The Layer Name.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer config.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

interpolation

+
+
+class paddle.v2.layer.interpolation(*args, **kwargs)
+

This layer is for linear interpolation with two inputs, +which is used in NEURAL TURING MACHINE.

+
+\[y.row[i] = w[i] * x_1.row[i] + (1 - w[i]) * x_2.row[i]\]
+

where \(x_1\) and \(x_2\) are two (batchSize x dataDim) inputs, +\(w\) is (batchSize x 1) weight vector, and \(y\) is +(batchSize x dataDim) output.

+

The example usage is:

+
interpolation = interpolation(input=[layer1, layer2], weight=layer3)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (list|tuple) – Input layer.
  • +
  • weight (paddle.v2.config_base.Layer) – Weight layer.
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

bilinear_interp

+
+
+class paddle.v2.layer.bilinear_interp(*args, **kwargs)
+

This layer is to implement bilinear interpolation on conv layer output.

+

Please refer to Wikipedia: https://en.wikipedia.org/wiki/Bilinear_interpolation

+

The simple usage is:

+
bilinear = bilinear_interp(input=layer1, out_size_x=64, out_size_y=64)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer.) – A input layer.
  • +
  • out_size_x (int|None) – bilinear interpolation output width.
  • +
  • out_size_y (int|None) – bilinear interpolation output height.
  • +
  • name (None|basestring) – The layer’s name, which cna not be specified.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer attribute.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

power

+
+
+class paddle.v2.layer.power(*args, **kwargs)
+

This layer applies a power function to a vector element-wise, +which is used in NEURAL TURING MACHINE.

+
+\[y = x^w\]
+

where \(x\) is a input vector, \(w\) is scalar weight, +and \(y\) is a output vector.

+

The example usage is:

+
power = power(input=layer1, weight=layer2)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – Input layer.
  • +
  • weight (paddle.v2.config_base.Layer) – Weight layer.
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

scaling

+
+
+class paddle.v2.layer.scaling(*args, **kwargs)
+

A layer for multiplying input vector by weight scalar.

+
+\[y = w x\]
+

where \(x\) is size=dataDim input, \(w\) is size=1 weight, +and \(y\) is size=dataDim output.

+

Note that the above computation is for one sample. Multiple samples are +processed in one batch.

+

The example usage is:

+
scale = scaling(input=layer1, weight=layer2)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – Input layer.
  • +
  • weight (paddle.v2.config_base.Layer) – Weight layer.
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

slope_intercept

+
+
+class paddle.v2.layer.slope_intercept(*args, **kwargs)
+

This layer for applying a slope and an intercept to the input +element-wise. There is no activation and weight.

+
+\[y = slope * x + intercept\]
+

The simple usage is:

+
scale = slope_intercept(input=input, slope=-1.0, intercept=1.0)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – The input layer.
  • +
  • name (basestring) – The Layer Name.
  • +
  • slope (float.) – the scale factor.
  • +
  • intercept (float.) – the offset.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer config.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

tensor

+
+
+class paddle.v2.layer.tensor(*args, **kwargs)
+

This layer performs tensor operation for two input. +For example, each sample:

+
+\[y_{i} = a * W_{i} * {b^\mathrm{T}}, i=0,1,...,K-1\]
+
+
In this formular:
+
    +
  • \(a\): the first input contains M elements.
  • +
  • \(b\): the second input contains N elements.
  • +
  • \(y_{i}\): the i-th element of y.
  • +
  • \(W_{i}\): the i-th learned weight, shape if [M, N]
  • +
  • \(b^\mathrm{T}\): the transpose of \(b_{2}\).
  • +
+
+
+

The simple usage is:

+
tensor = tensor(a=layer1, b=layer2, size=1000)
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – layer name
  • +
  • a (paddle.v2.config_base.Layer) – Input layer a.
  • +
  • b (paddle.v2.config_base.Layer) – input layer b.
  • +
  • size (int.) – the layer dimension.
  • +
  • act (paddle.v2.Activation.Base) – Activation Type. Default is tanh.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – The Parameter Attribute.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute|None|Any) – The Bias Attribute. If no bias, then pass False or +something not type of paddle.v2.attr.ParameterAttribute. None will get a +default Bias.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer config.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

cos_sim

+
+
+class paddle.v2.layer.cos_sim(*args, **kwargs)
+

Cosine Similarity Layer. The cosine similarity equation is here.

+
+\[similarity = cos(\theta) = {\mathbf{a} \cdot \mathbf{b} +\over \|\mathbf{a}\| \|\mathbf{b}\|}\]
+

The size of a is M, size of b is M*N, +Similarity will be calculated N times by step M. The output size is +N. The scale will be multiplied to similarity.

+

Note that the above computation is for one sample. Multiple samples are +processed in one batch.

+

The example usage is:

+
cos = cos_sim(a=layer1, b=layer2, size=3)
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – layer name
  • +
  • a (paddle.v2.config_base.Layer) – input layer a
  • +
  • b (paddle.v2.config_base.Layer) – input layer b
  • +
  • scale (float) – scale for cosine value. default is 5.
  • +
  • size (int) – layer size. NOTE size_a * size should equal size_b.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

trans

+
+
+class paddle.v2.layer.trans(*args, **kwargs)
+

A layer for transposing a minibatch matrix.

+
+\[y = x^\mathrm{T}\]
+

where \(x\) is (M x N) input, and \(y\) is (N x M) output.

+

The example usage is:

+
trans = trans(input=layer)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – Input layer.
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Sampling Layers

+
+

maxid

+
+
+class paddle.v2.layer.max_id(*args, **kwargs)
+

A layer for finding the id which has the maximal value for each sample. +The result is stored in output.ids.

+

The example usage is:

+
maxid = maxid(input=layer)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – Input layer name.
  • +
  • name (basestring) – Layer name.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

sampling_id

+
+
+class paddle.v2.layer.sampling_id(*args, **kwargs)
+

A layer for sampling id from multinomial distribution from the input layer. +Sampling one id for one sample.

+

The simple usage is:

+
samping_id = sampling_id(input=input)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – The input layer.
  • +
  • name (basestring) – The Layer Name.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer config.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Slicing and Joining Layers

+
+

pad

+
+
+class paddle.v2.layer.pad(*args, **kwargs)
+

This operation pads zeros to the input data according to pad_c,pad_h +and pad_w. pad_c, pad_h, pad_w specifies the which dimension and size +of padding. And the input data shape is NCHW.

+

For example, pad_c=[2,3] means padding 2 zeros before the +input data and 3 zeros after the input data in channel dimension. +pad_h means padding zeros in height dimension. pad_w means padding zeros +in width dimension.

+

For example,

+
input(2,2,2,3)  = [
+                    [ [[1,2,3], [3,4,5]],
+                      [[2,3,5], [1,6,7]] ],
+                    [ [[4,3,1], [1,8,7]],
+                      [[3,8,9], [2,3,5]] ]
+                  ]
+
+pad_c=[1,1], pad_h=[0,0], pad_w=[0,0]
+
+output(2,4,2,3) = [
+                    [ [[0,0,0], [0,0,0]],
+                      [[1,2,3], [3,4,5]],
+                      [[2,3,5], [1,6,7]],
+                      [[0,0,0], [0,0,0]] ],
+                    [ [[0,0,0], [0,0,0]],
+                      [[4,3,1], [1,8,7]],
+                      [[3,8,9], [2,3,5]],
+                      [[0,0,0], [0,0,0]] ]
+                  ]
+
+
+

The simply usage is:

+
pad = pad(input=ipt,
+                pad_c=[4,4],
+                pad_h=[0,0],
+                pad_w=[2,2])
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – layer’s input.
  • +
  • pad_c (list|None) – padding size in channel dimension.
  • +
  • pad_h (list|None) – padding size in height dimension.
  • +
  • pad_w (list|None) – padding size in width dimension.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
  • name (basestring) – layer name.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Cost Layers

+
+

cross_entropy_cost

+
+
+class paddle.v2.layer.cross_entropy_cost(*args, **kwargs)
+

A loss layer for multi class entropy.

+
cost = cross_entropy(input=input,
+                     label=label)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer.) – The first input layer.
  • +
  • label – The input label.
  • +
  • name (None|basestring.) – The name of this layers. It is not necessary.
  • +
  • coeff (float.) – The cost is multiplied with coeff. +The coefficient affects the gradient in the backward.
  • +
  • weight (LayerOutout) – The cost of each sample is multiplied with each weight. +The weight should be a layer with size=1. Note that gradient +will not be calculated for weight.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer.

+
+
+ +
+
+

cross_entropy_with_selfnorm_cost

+
+
+class paddle.v2.layer.cross_entropy_with_selfnorm_cost(*args, **kwargs)
+

A loss layer for multi class entropy with selfnorm. +Input should be a vector of positive numbers, without normalization.

+
cost = cross_entropy_with_selfnorm(input=input,
+                                   label=label)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer.) – The first input layer.
  • +
  • label – The input label.
  • +
  • name (None|basestring.) – The name of this layers. It is not necessary.
  • +
  • coeff (float.) – The coefficient affects the gradient in the backward.
  • +
  • softmax_selfnorm_alpha (float.) – The scale factor affects the cost.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer.

+
+
+ +
+
+

multi_binary_label_cross_entropy_cost

+
+
+class paddle.v2.layer.multi_binary_label_cross_entropy_cost(*args, **kwargs)
+

A loss layer for multi binary label cross entropy.

+
cost = multi_binary_label_cross_entropy(input=input,
+                                        label=label)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – The first input layer.
  • +
  • label – The input label.
  • +
  • type (basestring) – The type of cost.
  • +
  • name (None|basestring) – The name of this layers. It is not necessary.
  • +
  • coeff (float) – The coefficient affects the gradient in the backward.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

huber_cost

+
+
+class paddle.v2.layer.huber_cost(*args, **kwargs)
+

A loss layer for huber loss.

+
cost = huber_cost(input=input,
+                  label=label)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer.) – The first input layer.
  • +
  • label – The input label.
  • +
  • name (None|basestring.) – The name of this layers. It is not necessary.
  • +
  • coeff (float.) – The coefficient affects the gradient in the backward.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer.

+
+
+ +
+
+

lambda_cost

+
+
+class paddle.v2.layer.lambda_cost(*args, **kwargs)
+

lambdaCost for lambdaRank LTR approach.

+

The simple usage:

+
cost = lambda_cost(input=input,
+                   score=score,
+                   NDCG_num=8,
+                   max_sort_size=-1)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – Samples of the same query should be loaded as sequence.
  • +
  • score – The 2nd input. Score of each sample.
  • +
  • NDCG_num (int) – The size of NDCG (Normalized Discounted Cumulative Gain), +e.g., 5 for NDCG@5. It must be less than for equal to the +minimum size of lists.
  • +
  • max_sort_size (int) – The size of partial sorting in calculating gradient. +If max_sort_size = -1, then for each list, the +algorithm will sort the entire list to get gradient. +In other cases, max_sort_size must be greater than or +equal to NDCG_num. And if max_sort_size is greater +than the size of a list, the algorithm will sort the +entire list of get gradient.
  • +
  • name (None|basestring) – The name of this layers. It is not necessary.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

mse_cost

+
+
+class paddle.v2.layer.mse_cost(*args, **kwargs)
+
+

mean squared error cost:

+
+\[\]
+
+

rac{1}{N}sum_{i=1}^N(t_i-y_i)^2

+
+
+++ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
param name:layer name.
type name:basestring
param input:Network prediction.
type input:paddle.v2.config_base.Layer
param label:Data label.
type label:paddle.v2.config_base.Layer
param weight:The weight affects the cost, namely the scale of cost. +It is an optional argument.
type weight:paddle.v2.config_base.Layer
param layer_attr:
 layer’s extra attribute.
type layer_attr:
 paddle.v2.attr.ExtraAttribute
return:paddle.v2.config_base.Layer object.
rtype:paddle.v2.config_base.Layer
+
+
+ +
+
+

rank_cost

+
+
+class paddle.v2.layer.rank_cost(*args, **kwargs)
+

A cost Layer for learning to rank using gradient descent. Details can refer +to papers. +This layer contains at least three inputs. The weight is an optional +argument, which affects the cost.

+
+\[ \begin{align}\begin{aligned}C_{i,j} & = -\tilde{P_{ij}} * o_{i,j} + log(1 + e^{o_{i,j}})\\o_{i,j} & = o_i - o_j\\\tilde{P_{i,j}} & = \{0, 0.5, 1\} \ or \ \{0, 1\}\end{aligned}\end{align} \]
+
+
In this formula:
+
    +
  • \(C_{i,j}\) is the cross entropy cost.
  • +
  • \(\tilde{P_{i,j}}\) is the label. 1 means positive order +and 0 means reverse order.
  • +
  • \(o_i\) and \(o_j\): the left output and right output. +Their dimension is one.
  • +
+
+
+

The simple usage:

+
cost = rank_cost(left=out_left,
+                 right=out_right,
+                 label=label)
+
+
+ +++ + + + + + + + +
参数:
    +
  • left (paddle.v2.config_base.Layer) – The first input, the size of this layer is 1.
  • +
  • right (paddle.v2.config_base.Layer) – The right input, the size of this layer is 1.
  • +
  • label (paddle.v2.config_base.Layer) – Label is 1 or 0, means positive order and reverse order.
  • +
  • weight (paddle.v2.config_base.Layer) – The weight affects the cost, namely the scale of cost. +It is an optional argument.
  • +
  • name (None|basestring) – The name of this layers. It is not necessary.
  • +
  • coeff (float) – The coefficient affects the gradient in the backward.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

sum_cost

+
+
+class paddle.v2.layer.sum_cost(*args, **kwargs)
+

A loss layer which calculate the sum of the input as loss

+
cost = sum_cost(input=input)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer.) – The first input layer.
  • +
  • name (None|basestring.) – The name of this layers. It is not necessary.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer.

+
+
+ +
+
+

crf

+
+
+class paddle.v2.layer.crf(*args, **kwargs)
+

A layer for calculating the cost of sequential conditional random +field model.

+

The simple usage:

+
crf = crf(input=input,
+                label=label,
+                size=label_dim)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – The first input layer is the feature.
  • +
  • label (paddle.v2.config_base.Layer) – The second input layer is label.
  • +
  • size (int) – The category number.
  • +
  • weight (paddle.v2.config_base.Layer) – The third layer is “weight” of each sample, which is an +optional argument.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – Parameter attribute. None means default attribute
  • +
  • name (None|basestring) – The name of this layers. It is not necessary.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer config.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

crf_decoding

+
+
+class paddle.v2.layer.crf_decoding(*args, **kwargs)
+

A layer for calculating the decoding sequence of sequential conditional +random field model. The decoding sequence is stored in output.ids. +If a second input is provided, it is treated as the ground-truth label, and +this layer will also calculate error. output.value[i] is 1 for incorrect +decoding or 0 for correct decoding.

+

The simple usage:

+
crf_decoding = crf_decoding(input=input,
+                                  size=label_dim)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – The first input layer.
  • +
  • size (int) – size of this layer.
  • +
  • label (paddle.v2.config_base.Layer or None) – None or ground-truth label.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – Parameter attribute. None means default attribute
  • +
  • name (None|basestring) – The name of this layers. It is not necessary.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer config.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

ctc

+
+
+class paddle.v2.layer.ctc(*args, **kwargs)
+

Connectionist Temporal Classification (CTC) is designed for temporal +classication task. That is, for sequence labeling problems where the +alignment between the inputs and the target labels is unknown.

+

More details can be found by referring to Connectionist Temporal +Classification: Labelling Unsegmented Sequence Data with Recurrent +Neural Networks

+
+

注解

+

Considering the ‘blank’ label needed by CTC, you need to use +(num_classes + 1) as the input size. num_classes is the category number. +And the ‘blank’ is the last category index. So the size of ‘input’ layer, such as +fc with softmax activation, should be num_classes + 1. The size of ctc +should also be num_classes + 1.

+
+

The simple usage:

+
ctc = ctc(input=input,
+                label=label,
+                size=9055,
+                norm_by_times=True)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – The input layer.
  • +
  • label (paddle.v2.config_base.Layer) – The data layer of label with variable length.
  • +
  • size (int) – category numbers + 1.
  • +
  • name (basestring|None) – The name of this layer
  • +
  • norm_by_times (bool) – Whether to normalization by times. False by default.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer config.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

warp_ctc

+
+
+class paddle.v2.layer.warp_ctc(*args, **kwargs)
+

A layer intergrating the open-source warp-ctc +<https://github.com/baidu-research/warp-ctc> library, which is used in +Deep Speech 2: End-toEnd Speech Recognition in English and Mandarin +<https://arxiv.org/pdf/1512.02595v1.pdf>, to compute Connectionist Temporal +Classification (CTC) loss.

+

More details of CTC can be found by referring to Connectionist Temporal +Classification: Labelling Unsegmented Sequence Data with Recurrent +Neural Networks

+
+

注解

+
    +
  • Let num_classes represent the category number. Considering the ‘blank’ +label needed by CTC, you need to use (num_classes + 1) as the input +size. Thus, the size of both warp_ctc and ‘input’ layer should +be set to num_classes + 1.
  • +
  • You can set ‘blank’ to any value ranged in [0, num_classes], which +should be consistent as that used in your labels.
  • +
  • As a native ‘softmax’ activation is interated to the warp-ctc library, +‘linear’ activation is expected instead in the ‘input’ layer.
  • +
+
+

The simple usage:

+
ctc = warp_ctc(input=input,
+                     label=label,
+                     size=1001,
+                     blank=1000,
+                     norm_by_times=False)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – The input layer.
  • +
  • label (paddle.v2.config_base.Layer) – The data layer of label with variable length.
  • +
  • size (int) – category numbers + 1.
  • +
  • name (basestring|None) – The name of this layer, which can not specify.
  • +
  • blank (int) – the ‘blank’ label used in ctc
  • +
  • norm_by_times (bool) – Whether to normalization by times. False by default.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttributeNone) – Extra Layer config.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

nce

+
+
+class paddle.v2.layer.nce(*args, **kwargs)
+

Noise-contrastive estimation. +Implements the method in the following paper: +A fast and simple algorithm for training neural probabilistic language models.

+

The example usage is:

+
cost = nce(input=layer1, label=layer2, weight=layer3,
+                 num_classes=3, neg_distribution=[0.1,0.3,0.6])
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – layer name
  • +
  • input (paddle.v2.config_base.Layer|list|tuple|collections.Sequence) – input layers. It could be a paddle.v2.config_base.Layer of list/tuple of paddle.v2.config_base.Layer.
  • +
  • label (paddle.v2.config_base.Layer) – label layer
  • +
  • weight (paddle.v2.config_base.Layer) – weight layer, can be None(default)
  • +
  • num_classes (int) – number of classes.
  • +
  • act (paddle.v2.Activation.Base) – Activation, default is Sigmoid.
  • +
  • num_neg_samples (int) – number of negative samples. Default is 10.
  • +
  • neg_distribution (list|tuple|collections.Sequence|None) – The distribution for generating the random negative labels. +A uniform distribution will be used if not provided. +If not None, its length must be equal to num_classes.
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute|None|False) – Bias parameter attribute. True if no bias.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
返回:

layer name.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

hsigmoid

+
+
+class paddle.v2.layer.hsigmoid(*args, **kwargs)
+

Organize the classes into a binary tree. At each node, a sigmoid function +is used to calculate the probability of belonging to the right branch. +This idea is from “F. Morin, Y. Bengio (AISTATS 05): +Hierarchical Probabilistic Neural Network Language Model.”

+

The example usage is:

+
cost = hsigmoid(input=[layer1, layer2],
+                label=data)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer|list|tuple) – Input layers. It could be a paddle.v2.config_base.Layer or list/tuple of +paddle.v2.config_base.Layer.
  • +
  • label (paddle.v2.config_base.Layer) – Label layer.
  • +
  • num_classes (int|None) – number of classes.
  • +
  • name (basestring) – layer name
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute|False) – Bias attribute. None means default bias. +False means no bias.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute|None) – Parameter Attribute. None means default parameter.
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – Extra Layer Attribute.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Check Layer

+
+

eos

+
+
+class paddle.v2.layer.eos(*args, **kwargs)
+

A layer for checking EOS for each sample: +- output_id = (input_id == conf.eos_id)

+

The result is stored in output_.ids. +It is used by recurrent layer group.

+

The example usage is:

+
eos = eos(input=layer, eos_id=id)
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – Layer name.
  • +
  • input (paddle.v2.config_base.Layer) – Input layer name.
  • +
  • eos_id (int) – end id of sequence
  • +
  • layer_attr (paddle.v2.attr.ExtraAttribute) – extra layer attributes.
  • +
+
返回:

paddle.v2.config_base.Layer object.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/api/v2/config/networks.html b/release/0.10.0/doc_cn/api/v2/config/networks.html new file mode 100644 index 0000000000..e43f0333d7 --- /dev/null +++ b/release/0.10.0/doc_cn/api/v2/config/networks.html @@ -0,0 +1,953 @@ + + + + + + + + + + + Networks — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

Networks

+

The v2.networks module contains pieces of neural network that combine multiple layers.

+
+

NLP

+
+

sequence_conv_pool

+
+
+class paddle.v2.networks.sequence_conv_pool(*args, **kwargs)
+

Text convolution pooling layers helper.

+

Text input => Context Projection => FC Layer => Pooling => Output.

+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – name of output layer(pooling layer name)
  • +
  • input (paddle.v2.config_base.Layer) – name of input layer
  • +
  • context_len (int) – context projection length. See +context_projection’s document.
  • +
  • hidden_size (int) – FC Layer size.
  • +
  • context_start (int or None) – context projection length. See +context_projection’s context_start.
  • +
  • pool_type (BasePoolingType.) – pooling layer type. See pooling’s document.
  • +
  • context_proj_name (basestring) – context projection layer name. +None if user don’t care.
  • +
  • context_proj_param_attr (paddle.v2.attr.ParameterAttribute or None.) – context projection parameter attribute. +None if user don’t care.
  • +
  • fc_name (basestring) – fc layer name. None if user don’t care.
  • +
  • fc_param_attr (paddle.v2.attr.ParameterAttribute or None) – fc layer parameter attribute. None if user don’t care.
  • +
  • fc_bias_attr (paddle.v2.attr.ParameterAttribute or None) – fc bias parameter attribute. False if no bias, +None if user don’t care.
  • +
  • fc_act (paddle.v2.Activation.Base) – fc layer activation type. None means tanh
  • +
  • pool_bias_attr (paddle.v2.attr.ParameterAttribute or None.) – pooling layer bias attr. None if don’t care. +False if no bias.
  • +
  • fc_attr (paddle.v2.attr.ExtraAttribute) – fc layer extra attribute.
  • +
  • context_attr (paddle.v2.attr.ExtraAttribute) – context projection layer extra attribute.
  • +
  • pool_attr (paddle.v2.attr.ExtraAttribute) – pooling layer extra attribute.
  • +
+
返回:

output layer name.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

text_conv_pool

+
+
+class paddle.v2.networks.text_conv_pool(*args, **kwargs)
+

Text convolution pooling layers helper.

+

Text input => Context Projection => FC Layer => Pooling => Output.

+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – name of output layer(pooling layer name)
  • +
  • input (paddle.v2.config_base.Layer) – name of input layer
  • +
  • context_len (int) – context projection length. See +context_projection’s document.
  • +
  • hidden_size (int) – FC Layer size.
  • +
  • context_start (int or None) – context projection length. See +context_projection’s context_start.
  • +
  • pool_type (BasePoolingType.) – pooling layer type. See pooling’s document.
  • +
  • context_proj_name (basestring) – context projection layer name. +None if user don’t care.
  • +
  • context_proj_param_attr (paddle.v2.attr.ParameterAttribute or None.) – context projection parameter attribute. +None if user don’t care.
  • +
  • fc_name (basestring) – fc layer name. None if user don’t care.
  • +
  • fc_param_attr (paddle.v2.attr.ParameterAttribute or None) – fc layer parameter attribute. None if user don’t care.
  • +
  • fc_bias_attr (paddle.v2.attr.ParameterAttribute or None) – fc bias parameter attribute. False if no bias, +None if user don’t care.
  • +
  • fc_act (paddle.v2.Activation.Base) – fc layer activation type. None means tanh
  • +
  • pool_bias_attr (paddle.v2.attr.ParameterAttribute or None.) – pooling layer bias attr. None if don’t care. +False if no bias.
  • +
  • fc_attr (paddle.v2.attr.ExtraAttribute) – fc layer extra attribute.
  • +
  • context_attr (paddle.v2.attr.ExtraAttribute) – context projection layer extra attribute.
  • +
  • pool_attr (paddle.v2.attr.ExtraAttribute) – pooling layer extra attribute.
  • +
+
返回:

output layer name.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

Images

+
+

img_conv_bn_pool

+
+
+class paddle.v2.networks.img_conv_bn_pool(*args, **kwargs)
+

Convolution, batch normalization, pooling group.

+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – group name
  • +
  • input (paddle.v2.config_base.Layer) – layer’s input
  • +
  • filter_size (int) – see img_conv’s document
  • +
  • num_filters (int) – see img_conv’s document
  • +
  • pool_size (int) – see img_pool’s document.
  • +
  • pool_type (BasePoolingType) – see img_pool’s document.
  • +
  • act (paddle.v2.Activation.Base) – see batch_norm’s document.
  • +
  • groups (int) – see img_conv’s document
  • +
  • conv_stride (int) – see img_conv’s document.
  • +
  • conv_padding (int) – see img_conv’s document.
  • +
  • conv_bias_attr (paddle.v2.attr.ParameterAttribute) – see img_conv’s document.
  • +
  • num_channel (int) – see img_conv’s document.
  • +
  • conv_param_attr (paddle.v2.attr.ParameterAttribute) – see img_conv’s document.
  • +
  • shared_bias (bool) – see img_conv’s document.
  • +
  • conv_attr (Extrapaddle.v2.config_base.Layer) – see img_conv’s document.
  • +
  • bn_param_attr (paddle.v2.attr.ParameterAttribute.) – see batch_norm’s document.
  • +
  • bn_bias_attr – see batch_norm’s document.
  • +
  • bn_attr – paddle.v2.attr.ParameterAttribute.
  • +
  • pool_stride (int) – see img_pool’s document.
  • +
  • pool_padding (int) – see img_pool’s document.
  • +
  • pool_attr (paddle.v2.attr.ExtraAttribute) – see img_pool’s document.
  • +
+
返回:

Layer groups output

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

img_conv_group

+
+
+class paddle.v2.networks.img_conv_group(**kwargs)
+

Image Convolution Group, Used for vgg net.

+

TODO(yuyang18): Complete docs

+ +++ + + + + + +
参数:
    +
  • conv_batchnorm_drop_rate
  • +
  • input
  • +
  • conv_num_filter
  • +
  • pool_size
  • +
  • num_channels
  • +
  • conv_padding
  • +
  • conv_filter_size
  • +
  • conv_act
  • +
  • conv_with_batchnorm
  • +
  • pool_stride
  • +
  • pool_type
  • +
+
返回:

+
+
+ +
+
+

simple_img_conv_pool

+
+
+class paddle.v2.networks.simple_img_conv_pool(*args, **kwargs)
+

Simple image convolution and pooling group.

+

Input => conv => pooling

+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – group name
  • +
  • input (paddle.v2.config_base.Layer) – input layer name.
  • +
  • filter_size (int) – see img_conv for details
  • +
  • num_filters (int) – see img_conv for details
  • +
  • pool_size (int) – see img_pool for details
  • +
  • pool_type (BasePoolingType) – see img_pool for details
  • +
  • act (paddle.v2.Activation.Base) – see img_conv for details
  • +
  • groups (int) – see img_conv for details
  • +
  • conv_stride (int) – see img_conv for details
  • +
  • conv_padding (int) – see img_conv for details
  • +
  • bias_attr (paddle.v2.attr.ParameterAttribute) – see img_conv for details
  • +
  • num_channel (int) – see img_conv for details
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – see img_conv for details
  • +
  • shared_bias (bool) – see img_conv for details
  • +
  • conv_attr (paddle.v2.attr.ExtraAttribute) – see img_conv for details
  • +
  • pool_stride (int) – see img_pool for details
  • +
  • pool_padding (int) – see img_pool for details
  • +
  • pool_attr (paddle.v2.attr.ExtraAttribute) – see img_pool for details
  • +
+
返回:

Layer’s output

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

vgg_16_network

+
+
+class paddle.v2.networks.vgg_16_network(**kwargs)
+

Same model from https://gist.github.com/ksimonyan/211839e770f7b538e2d8

+ +++ + + + + + +
参数:
    +
  • num_classes
  • +
  • input_image (paddle.v2.config_base.Layer) –
  • +
  • num_channels (int) –
  • +
+
返回:

+
+
+ +
+
+
+

Recurrent

+
+

LSTM

+
+

lstmemory_unit

+
+
+class paddle.v2.networks.lstmemory_unit(*args, **kwargs)
+

Define calculations that a LSTM unit performs in a single time step. +This function itself is not a recurrent layer, so that it can not be +directly applied to sequence input. This function is always used in +recurrent_group (see layers.py for more details) to implement attention +mechanism.

+

Please refer to Generating Sequences With Recurrent Neural Networks +for more details about LSTM. The link goes as follows: +.. _Link: https://arxiv.org/abs/1308.0850

+
+\[ \begin{align}\begin{aligned}i_t & = \sigma(W_{xi}x_{t} + W_{hi}h_{t-1} + W_{ci}c_{t-1} + b_i)\\f_t & = \sigma(W_{xf}x_{t} + W_{hf}h_{t-1} + W_{cf}c_{t-1} + b_f)\\c_t & = f_tc_{t-1} + i_t tanh (W_{xc}x_t+W_{hc}h_{t-1} + b_c)\\o_t & = \sigma(W_{xo}x_{t} + W_{ho}h_{t-1} + W_{co}c_t + b_o)\\h_t & = o_t tanh(c_t)\end{aligned}\end{align} \]
+

The example usage is:

+
lstm_step = lstmemory_unit(input=[layer1],
+                           size=256,
+                           act=paddle.v2.Activation.Tanh(),
+                           gate_act=paddle.v2.Activation.Sigmoid(),
+                           state_act=paddle.v2.Activation.Tanh())
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – input layer name.
  • +
  • name (basestring) – lstmemory unit name.
  • +
  • size (int) – lstmemory unit size.
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – Parameter config, None if use default.
  • +
  • act (paddle.v2.Activation.Base) – lstm final activiation type
  • +
  • gate_act (paddle.v2.Activation.Base) – lstm gate activiation type
  • +
  • state_act (paddle.v2.Activation.Base) – lstm state activiation type.
  • +
  • mixed_bias_attr (paddle.v2.attr.ParameterAttribute|False) – bias parameter attribute of mixed layer. +False means no bias, None means default bias.
  • +
  • lstm_bias_attr (paddle.v2.attr.ParameterAttribute|False) – bias parameter attribute of lstm layer. +False means no bias, None means default bias.
  • +
  • mixed_attr (paddle.v2.attr.ExtraAttribute) – mixed layer’s extra attribute.
  • +
  • lstm_attr (paddle.v2.attr.ExtraAttribute) – lstm layer’s extra attribute.
  • +
  • get_output_attr (paddle.v2.attr.ExtraAttribute) – get output layer’s extra attribute.
  • +
+
返回:

lstmemory unit name.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

lstmemory_group

+
+
+class paddle.v2.networks.lstmemory_group(*args, **kwargs)
+

lstm_group is a recurrent layer group version of Long Short Term Memory. It +does exactly the same calculation as the lstmemory layer (see lstmemory in +layers.py for the maths) does. A promising benefit is that LSTM memory +cell states, or hidden states in every time step are accessible to the +user. This is especially useful in attention model. If you do not need to +access the internal states of the lstm, but merely use its outputs, +it is recommended to use the lstmemory, which is relatively faster than +lstmemory_group.

+

NOTE: In PaddlePaddle’s implementation, the following input-to-hidden +multiplications: +\(W_{xi}x_{t}\) , \(W_{xf}x_{t}\), +\(W_{xc}x_t\), \(W_{xo}x_{t}\) are not done in lstmemory_unit to +speed up the calculations. Consequently, an additional mixed with +full_matrix_projection must be included before lstmemory_unit is called.

+

The example usage is:

+
lstm_step = lstmemory_group(input=[layer1],
+                            size=256,
+                            act=paddle.v2.Activation.Tanh(),
+                            gate_act=paddle.v2.Activation.Sigmoid(),
+                            state_act=paddle.v2.Activation.Tanh())
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – input layer name.
  • +
  • name (basestring) – lstmemory group name.
  • +
  • size (int) – lstmemory group size.
  • +
  • reverse (bool) – is lstm reversed
  • +
  • param_attr (paddle.v2.attr.ParameterAttribute) – Parameter config, None if use default.
  • +
  • act (paddle.v2.Activation.Base) – lstm final activiation type
  • +
  • gate_act (paddle.v2.Activation.Base) – lstm gate activiation type
  • +
  • state_act (paddle.v2.Activation.Base) – lstm state activiation type.
  • +
  • mixed_bias_attr (paddle.v2.attr.ParameterAttribute|False) – bias parameter attribute of mixed layer. +False means no bias, None means default bias.
  • +
  • lstm_bias_attr (paddle.v2.attr.ParameterAttribute|False) – bias parameter attribute of lstm layer. +False means no bias, None means default bias.
  • +
  • mixed_attr (paddle.v2.attr.ExtraAttribute) – mixed layer’s extra attribute.
  • +
  • lstm_attr (paddle.v2.attr.ExtraAttribute) – lstm layer’s extra attribute.
  • +
  • get_output_attr (paddle.v2.attr.ExtraAttribute) – get output layer’s extra attribute.
  • +
+
返回:

the lstmemory group.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

simple_lstm

+
+
+class paddle.v2.networks.simple_lstm(*args, **kwargs)
+

Simple LSTM Cell.

+

It just combine a mixed layer with fully_matrix_projection and a lstmemory +layer. The simple lstm cell was implemented as follow equations.

+
+\[ \begin{align}\begin{aligned}i_t & = \sigma(W_{xi}x_{t} + W_{hi}h_{t-1} + W_{ci}c_{t-1} + b_i)\\f_t & = \sigma(W_{xf}x_{t} + W_{hf}h_{t-1} + W_{cf}c_{t-1} + b_f)\\c_t & = f_tc_{t-1} + i_t tanh (W_{xc}x_t+W_{hc}h_{t-1} + b_c)\\o_t & = \sigma(W_{xo}x_{t} + W_{ho}h_{t-1} + W_{co}c_t + b_o)\\h_t & = o_t tanh(c_t)\end{aligned}\end{align} \]
+

Please refer Generating Sequences With Recurrent Neural Networks if you +want to know what lstm is. Link is here.

+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – lstm layer name.
  • +
  • input (paddle.v2.config_base.Layer) – input layer name.
  • +
  • size (int) – lstm layer size.
  • +
  • reverse (bool) – whether to process the input data in a reverse order
  • +
  • mat_param_attr (paddle.v2.attr.ParameterAttribute) – mixed layer’s matrix projection parameter attribute.
  • +
  • bias_param_attr (paddle.v2.attr.ParameterAttribute|False) – bias parameter attribute. False means no bias, None +means default bias.
  • +
  • inner_param_attr (paddle.v2.attr.ParameterAttribute) – lstm cell parameter attribute.
  • +
  • act (paddle.v2.Activation.Base) – lstm final activiation type
  • +
  • gate_act (paddle.v2.Activation.Base) – lstm gate activiation type
  • +
  • state_act (paddle.v2.Activation.Base) – lstm state activiation type.
  • +
  • mixed_attr (paddle.v2.attr.ExtraAttribute) – mixed layer’s extra attribute.
  • +
  • lstm_cell_attr (paddle.v2.attr.ExtraAttribute) – lstm layer’s extra attribute.
  • +
+
返回:

lstm layer name.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

bidirectional_lstm

+
+
+class paddle.v2.networks.bidirectional_lstm(*args, **kwargs)
+

A bidirectional_lstm is a recurrent unit that iterates over the input +sequence both in forward and bardward orders, and then concatenate two +outputs form a final output. However, concatenation of two outputs +is not the only way to form the final output, you can also, for example, +just add them together.

+

Please refer to Neural Machine Translation by Jointly Learning to Align +and Translate for more details about the bidirectional lstm. +The link goes as follows: +.. _Link: https://arxiv.org/pdf/1409.0473v3.pdf

+

The example usage is:

+
bi_lstm = bidirectional_lstm(input=[input1], size=512)
+
+
+ +++ + + + + + + + +
参数:
    +
  • name (basestring) – bidirectional lstm layer name.
  • +
  • input (paddle.v2.config_base.Layer) – input layer.
  • +
  • size (int) – lstm layer size.
  • +
  • return_seq (bool) – If set False, outputs of the last time step are +concatenated and returned. +If set True, the entire output sequences that are +processed in forward and backward directions are +concatenated and returned.
  • +
+
返回:

paddle.v2.config_base.Layer object accroding to the return_seq.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

GRU

+
+

gru_unit

+
+
+class paddle.v2.networks.gru_unit(*args, **kwargs)
+

Define calculations that a gated recurrent unit performs in a single time +step. This function itself is not a recurrent layer, so that it can not be +directly applied to sequence input. This function is almost always used in +the recurrent_group (see layers.py for more details) to implement attention +mechanism.

+

Please see grumemory in layers.py for the details about the maths.

+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – input layer name.
  • +
  • name (basestring) – name of the gru group.
  • +
  • size (int) – hidden size of the gru.
  • +
  • act (paddle.v2.Activation.Base) – type of the activation
  • +
  • gate_act (paddle.v2.Activation.Base) – type of the gate activation
  • +
  • gru_attr (paddle.v2.attr.ParameterAttribute|False) – Extra parameter attribute of the gru layer.
  • +
+
返回:

the gru output layer.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

gru_group

+
+
+class paddle.v2.networks.gru_group(*args, **kwargs)
+

gru_group is a recurrent layer group version of Gated Recurrent Unit. It +does exactly the same calculation as the grumemory layer does. A promising +benefit is that gru hidden states are accessible to the user. This is +especially useful in attention model. If you do not need to access +any internal state, but merely use the outputs of a GRU, it is recommended +to use the grumemory, which is relatively faster.

+

Please see grumemory in layers.py for more detail about the maths.

+

The example usage is:

+
gru = gur_group(input=[layer1],
+                size=256,
+                act=paddle.v2.Activation.Tanh(),
+                gate_act=paddle.v2.Activation.Sigmoid())
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – input layer name.
  • +
  • name (basestring) – name of the gru group.
  • +
  • size (int) – hidden size of the gru.
  • +
  • reverse (bool) – whether to process the input data in a reverse order
  • +
  • act (paddle.v2.Activation.Base) – type of the activiation
  • +
  • gate_act (paddle.v2.Activation.Base) – type of the gate activiation
  • +
  • gru_bias_attr (paddle.v2.attr.ParameterAttribute|False) – bias. False means no bias, None means default bias.
  • +
  • gru_attr (paddle.v2.attr.ParameterAttribute|False) – Extra parameter attribute of the gru layer.
  • +
+
返回:

the gru group.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+

simple_gru

+
+
+class paddle.v2.networks.simple_gru(*args, **kwargs)
+

You maybe see gru_step, grumemory in layers.py, gru_unit, gru_group, +simple_gru in network.py. The reason why there are so many interfaces is +that we have two ways to implement recurrent neural network. One way is to +use one complete layer to implement rnn (including simple rnn, gru and lstm) +with multiple time steps, such as recurrent, lstmemory, grumemory. But, +the multiplication operation \(W x_t\) is not computed in these layers. +See details in their interfaces in layers.py. +The other implementation is to use an recurrent group which can ensemble a +series of layers to compute rnn step by step. This way is flexible for +attenion mechanism or other complex connections.

+
    +
  • gru_step: only compute rnn by one step. It needs an memory as input +and can be used in recurrent group.
  • +
  • gru_unit: a wrapper of gru_step with memory.
  • +
  • gru_group: a GRU cell implemented by a combination of multiple layers in +recurrent group. +But \(W x_t\) is not done in group.
  • +
  • gru_memory: a GRU cell implemented by one layer, which does same calculation +with gru_group and is faster than gru_group.
  • +
  • simple_gru: a complete GRU implementation inlcuding \(W x_t\) and +gru_group. \(W\) contains \(W_r\), \(W_z\) and \(W\), see +formula in grumemory.
  • +
+

The computational speed is that, grumemory is relatively better than +gru_group, and gru_group is relatively better than simple_gru.

+

The example usage is:

+
gru = simple_gru(input=[layer1], size=256)
+
+
+ +++ + + + + + + + +
参数:
    +
  • input (paddle.v2.config_base.Layer) – input layer name.
  • +
  • name (basestring) – name of the gru group.
  • +
  • size (int) – hidden size of the gru.
  • +
  • reverse (bool) – whether to process the input data in a reverse order
  • +
  • act (paddle.v2.Activation.Base) – type of the activiation
  • +
  • gate_act (paddle.v2.Activation.Base) – type of the gate activiation
  • +
  • gru_bias_attr (paddle.v2.attr.ParameterAttribute|False) – bias. False means no bias, None means default bias.
  • +
  • gru_attr (paddle.v2.attr.ParameterAttribute|False) – Extra parameter attribute of the gru layer.
  • +
+
返回:

the gru group.

+
返回类型:

paddle.v2.config_base.Layer

+
+
+ +
+
+
+

simple_attention

+
+
+class paddle.v2.networks.simple_attention(*args, **kwargs)
+

Calculate and then return a context vector by attention machanism. +Size of the context vector equals to size of the encoded_sequence.

+
+\[ \begin{align}\begin{aligned}a(s_{i-1},h_{j}) & = v_{a}f(W_{a}s_{t-1} + U_{a}h_{j})\\e_{i,j} & = a(s_{i-1}, h_{j})\\a_{i,j} & = \frac{exp(e_{i,j})}{\sum_{k=1}^{T_x}{exp(e_{i,k})}}\\c_{i} & = \sum_{j=1}^{T_{x}}a_{i,j}h_{j}\end{aligned}\end{align} \]
+

where \(h_{j}\) is the jth element of encoded_sequence, +\(U_{a}h_{j}\) is the jth element of encoded_proj +\(s_{i-1}\) is decoder_state +\(f\) is weight_act, and is set to tanh by default.

+

Please refer to Neural Machine Translation by Jointly Learning to +Align and Translate for more details. The link is as follows: +https://arxiv.org/abs/1409.0473.

+

The example usage is:

+
context = simple_attention(encoded_sequence=enc_seq,
+                           encoded_proj=enc_proj,
+                           decoder_state=decoder_prev,)
+
+
+ +++ + + + + + +
参数:
    +
  • name (basestring) – name of the attention model.
  • +
  • softmax_param_attr (paddle.v2.attr.ParameterAttribute) – parameter attribute of sequence softmax +that is used to produce attention weight
  • +
  • weight_act (Activation) – activation of the attention model
  • +
  • encoded_sequence (paddle.v2.config_base.Layer) – output of the encoder
  • +
  • encoded_proj (paddle.v2.config_base.Layer) – attention weight is computed by a feed forward neural +network which has two inputs : decoder’s hidden state +of previous time step and encoder’s output. +encoded_proj is output of the feed-forward network for +encoder’s output. Here we pre-compute it outside +simple_attention for speed consideration.
  • +
  • decoder_state (paddle.v2.config_base.Layer) – hidden state of decoder in previous time step
  • +
  • transform_param_attr (paddle.v2.attr.ParameterAttribute) – parameter attribute of the feed-forward +network that takes decoder_state as inputs to +compute attention weight.
  • +
+
返回:

a context vector

+
+
+ +
+
+
+

Miscs

+
+

dropout_layer

+
+
+class paddle.v2.networks.dropout_layer(*args, **kwargs)
+

@TODO(yuyang18): Add comments.

+ +++ + + + + + +
参数:
    +
  • name
  • +
  • input
  • +
  • dropout_rate
  • +
+
返回:

+
+
+ +
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/api/v2/config/optimizer.html b/release/0.10.0/doc_cn/api/v2/config/optimizer.html new file mode 100644 index 0000000000..3b1cf8da43 --- /dev/null +++ b/release/0.10.0/doc_cn/api/v2/config/optimizer.html @@ -0,0 +1,433 @@ + + + + + + + + + + + Optimizer — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

Optimizer

+
+

Momentum

+
+
+class paddle.v2.optimizer.Momentum(momentum=None, sparse=False, **kwargs)
+

SGD Optimizer.

+

SGD is an optimization method, trying to find a neural network that +minimize the “cost/error” of it by iteration. In paddle’s implementation +SGD Optimizer is synchronized, which means all gradients will be wait to +calculate and reduced into one gradient, then do optimize operation.

+

The neural network consider the learning problem of minimizing an objective +function, that has the form of a sum

+
+\[Q(w) = \sum_{i}^{n} Q_i(w)\]
+

The value of function Q sometimes is the cost of neural network (Mean +Square Error between prediction and label for example). The function Q is +parametrised by w, the weight/bias of neural network. And weights is what to +be learned. The i is the i-th observation in (trainning) data.

+

So, the SGD method will optimize the weight by

+
+\[w = w - \eta \nabla Q(w) = w - \eta \sum_{i}^{n} \nabla Q_i(w)\]
+

where \(\eta\) is learning rate. And \(n\) is batch size.

+
+ +
+
+

Adam

+
+
+class paddle.v2.optimizer.Adam(beta1=0.9, beta2=0.999, epsilon=1e-08, **kwargs)
+

Adam optimizer. +The details of please refer Adam: A Method for Stochastic Optimization

+
+\[\begin{split}m(w, t) & = \beta_1 m(w, t-1) + (1 - \beta_1) \nabla Q_i(w) \\ +v(w, t) & = \beta_2 v(w, t-1) + (1 - \beta_2)(\nabla Q_i(w)) ^2 \\ +w & = w - \frac{\eta}{\sqrt{v(w,t) + \epsilon}}\end{split}\]
+ +++ + + + +
参数:
    +
  • beta1 (float) – the \(\beta_1\) in equation.
  • +
  • beta2 (float) – the \(\beta_2\) in equation.
  • +
  • epsilon (float) – the \(\epsilon\) in equation. It is used to prevent +divided by zero.
  • +
+
+
+ +
+
+

Adamax

+
+
+class paddle.v2.optimizer.Adamax(beta1=0.9, beta2=0.999, **kwargs)
+

Adamax optimizer.

+

The details of please refer this Adam: A Method for Stochastic Optimization

+
+\[\begin{split}m_t & = \beta_1 * m_{t-1} + (1-\beta_1)* \nabla Q_i(w) \\ +u_t & = max(\beta_2*u_{t-1}, abs(\nabla Q_i(w))) \\ +w_t & = w_{t-1} - (\eta/(1-\beta_1^t))*m_t/u_t\end{split}\]
+ +++ + + + +
参数:
    +
  • beta1 (float) – the \(\beta_1\) in the equation.
  • +
  • beta2 (float) – the \(\beta_2\) in the equation.
  • +
+
+
+ +
+
+

AdaGrad

+
+
+class paddle.v2.optimizer.AdaGrad(**kwargs)
+

Adagrad(for ADAptive GRAdient algorithm) optimizer.

+

For details please refer this Adaptive Subgradient Methods for +Online Learning and Stochastic Optimization.

+
+\[\begin{split}G &= \sum_{\tau=1}^{t} g_{\tau} g_{\tau}^T \\ +w & = w - \eta diag(G)^{-\frac{1}{2}} \circ g\end{split}\]
+
+ +
+
+

DecayedAdaGrad

+
+
+class paddle.v2.optimizer.DecayedAdaGrad(rho=0.95, epsilon=1e-06, **kwargs)
+

AdaGrad method with decayed sum gradients. The equations of this method +show as follow.

+
+\[\begin{split}E(g_t^2) &= \rho * E(g_{t-1}^2) + (1-\rho) * g^2 \\ +learning\_rate &= 1/sqrt( ( E(g_t^2) + \epsilon )\end{split}\]
+ +++ + + + +
参数:
    +
  • rho (float) – The \(\rho\) parameter in that equation
  • +
  • epsilon (float) – The \(\epsilon\) parameter in that equation.
  • +
+
+
+ +
+
+

AdaDelta

+
+
+class paddle.v2.optimizer.AdaDelta(rho=0.95, epsilon=1e-06, **kwargs)
+

AdaDelta method. The details of adadelta please refer to this +ADADELTA: AN ADAPTIVE LEARNING RATE METHOD.

+
+\[\begin{split}E(g_t^2) &= \rho * E(g_{t-1}^2) + (1-\rho) * g^2 \\ +learning\_rate &= sqrt( ( E(dx_{t-1}^2) + \epsilon ) / ( \ + E(g_t^2) + \epsilon ) ) \\ +E(dx_t^2) &= \rho * E(dx_{t-1}^2) + (1-\rho) * (-g*learning\_rate)^2\end{split}\]
+ +++ + + + +
参数:
    +
  • rho (float) – \(\rho\) in equation
  • +
  • epsilon (float) – \(\rho\) in equation
  • +
+
+
+ +
+
+

RMSProp

+
+
+class paddle.v2.optimizer.RMSProp(rho=0.95, epsilon=1e-06, **kwargs)
+

RMSProp(for Root Mean Square Propagation) optimizer. For details please +refer this slide.

+

The equations of this method as follows:

+
+\[\begin{split}v(w, t) & = \rho v(w, t-1) + (1 - \rho)(\nabla Q_{i}(w))^2 \\ +w & = w - \frac{\eta} {\sqrt{v(w,t) + \epsilon}} \nabla Q_{i}(w)\end{split}\]
+ +++ + + + +
参数:
    +
  • rho (float) – the \(\rho\) in the equation. The forgetting factor.
  • +
  • epsilon (float) – the \(\epsilon\) in the equation.
  • +
+
+
+ +
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/api/v2/config/pooling.html b/release/0.10.0/doc_cn/api/v2/config/pooling.html new file mode 100644 index 0000000000..92a04d013e --- /dev/null +++ b/release/0.10.0/doc_cn/api/v2/config/pooling.html @@ -0,0 +1,358 @@ + + + + + + + + + + + Pooling — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

Pooling

+
+

BasePool

+
+
+class paddle.v2.pooling.BasePool(name)
+

Base Pooling Type. +Note these pooling types are used for sequence input, not for images. +Each PoolingType contains one parameter:

+ +++ + + + +
参数:name (basestring) – pooling layer type name used by paddle.
+
+ +
+
+

Avg

+
+
+class paddle.v2.pooling.Avg(strategy='average')
+

Average pooling.

+

Return the average values for each dimension in sequence or time steps.

+
+\[sum(samples\_of\_a\_sequence)/sample\_num\]
+
+ +
+
+

Max

+
+
+class paddle.v2.pooling.Max(output_max_index=None)
+

Max pooling.

+

Return the very large values for each dimension in sequence or time steps.

+
+\[max(samples\_of\_a\_sequence)\]
+ +++ + + + +
参数:output_max_index (bool|None) – True if output sequence max index instead of max +value. None means use default value in proto.
+
+ +
+
+

Sum

+
+
+class paddle.v2.pooling.Sum
+

Sum pooling.

+

Return the sum values of each dimension in sequence or time steps.

+
+\[sum(samples\_of\_a\_sequence)\]
+
+ +
+
+

SquareRootN

+
+
+class paddle.v2.pooling.SquareRootN
+

Square Root Pooling.

+

Return the square root values of each dimension in sequence or time steps.

+
+\[sum(samples\_of\_a\_sequence)/sqrt(sample\_num)\]
+
+ +
+
+

CudnnAvg

+
+
+class paddle.v2.pooling.CudnnAvg
+

Cudnn average pooling only support GPU. Return the average value in the +pooling window.

+
+ +
+
+

CudnnMax

+
+
+class paddle.v2.pooling.CudnnMax
+

Cudnn max pooling only support GPU. Return the maxinum value in the +pooling window.

+
+ +
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/api/v2/data.html b/release/0.10.0/doc_cn/api/v2/data.html new file mode 100644 index 0000000000..a75ee12d38 --- /dev/null +++ b/release/0.10.0/doc_cn/api/v2/data.html @@ -0,0 +1,1331 @@ + + + + + + + + + + + Data Reader Interface and DataSets — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • API >
  • + +
  • Data Reader Interface and DataSets
  • +
+
+ +
+
+
+
+ +
+

Data Reader Interface and DataSets

+
+

DataTypes

+
+
+paddle.v2.data_type.dense_vector(dim, seq_type=0)
+

Dense Vector. It means the input feature is dense float vector. For example, +if the input is an image with 28*28 pixels, the input of Paddle neural +network should be a dense vector with dimension 784.

+ +++ + + + + + + + +
参数:
    +
  • dim (int) – dimension of this vector.
  • +
  • seq_type (int) – sequence type of input.
  • +
+
返回:

An input type object.

+
返回类型:

InputType

+
+
+ +
+
+paddle.v2.data_type.dense_vector_sequence(dim)
+

Data type of a sequence of dense vector.

+ +++ + + + + + + + +
参数:dim (int) – dimension of dense vector.
返回:An input type object
返回类型:InputType
+
+ +
+
+paddle.v2.data_type.integer_value(value_range, seq_type=0)
+

Data type of integer.

+ +++ + + + + + + + +
参数:
    +
  • seq_type (int) – sequence type of this input.
  • +
  • value_range (int) – range of this integer.
  • +
+
返回:

An input type object

+
返回类型:

InputType

+
+
+ +
+
+paddle.v2.data_type.integer_value_sequence(value_range)
+

Data type of a sequence of integer.

+ +++ + + + +
参数:value_range (int) – range of each element.
+
+ +
+
+paddle.v2.data_type.sparse_binary_vector(dim, seq_type=0)
+

Sparse binary vector. It means the input feature is a sparse vector and the +every element in this vector is either zero or one.

+ +++ + + + + + + + +
参数:
    +
  • dim (int) – dimension of this vector.
  • +
  • seq_type (int) – sequence type of this input.
  • +
+
返回:

An input type object.

+
返回类型:

InputType

+
+
+ +
+
+paddle.v2.data_type.sparse_binary_vector_sequence(dim)
+
+
Data type of a sequence of sparse vector, which every element is either zero
+
or one.
+
+ +++ + + + + + + + +
参数:dim (int) – dimension of sparse vector.
返回:An input type object
返回类型:InputType
+
+ +
+
+paddle.v2.data_type.sparse_non_value_slot(dim, seq_type=0)
+

Sparse binary vector. It means the input feature is a sparse vector and the +every element in this vector is either zero or one.

+ +++ + + + + + + + +
参数:
    +
  • dim (int) – dimension of this vector.
  • +
  • seq_type (int) – sequence type of this input.
  • +
+
返回:

An input type object.

+
返回类型:

InputType

+
+
+ +
+
+paddle.v2.data_type.sparse_value_slot(dim, seq_type=0)
+

Sparse vector. It means the input feature is a sparse vector. Most of the +elements in this vector are zero, others could be any float value.

+ +++ + + + + + + + +
参数:
    +
  • dim (int) – dimension of this vector.
  • +
  • seq_type (int) – sequence type of this input.
  • +
+
返回:

An input type object.

+
返回类型:

InputType

+
+
+ +
+
+paddle.v2.data_type.sparse_vector(dim, seq_type=0)
+

Sparse vector. It means the input feature is a sparse vector. Most of the +elements in this vector are zero, others could be any float value.

+ +++ + + + + + + + +
参数:
    +
  • dim (int) – dimension of this vector.
  • +
  • seq_type (int) – sequence type of this input.
  • +
+
返回:

An input type object.

+
返回类型:

InputType

+
+
+ +
+
+paddle.v2.data_type.sparse_vector_sequence(dim)
+

Data type of a sequence of sparse vector, which most elements are zero, +others could be any float value.

+ +++ + + + + + + + +
参数:dim (int) – dimension of sparse vector.
返回:An input type object
返回类型:InputType
+
+ +
+
+class paddle.v2.data_type.InputType(dim, seq_type, tp)
+

InputType is the base class for paddle input types.

+
+

注解

+

this is a base class, and should never be used by user.

+
+ +++ + + + +
参数:
    +
  • dim (int) – dimension of input. If the input is an integer, it means the +value range. Otherwise, it means the size of layer.
  • +
  • seq_type (int) – sequence type of input. 0 means it is not a sequence. 1 +means it is a variable length sequence. 2 means it is a +nested sequence.
  • +
  • type (int) – data type of input.
  • +
+
+
+ +
+
+

DataFeeder

+
+
+class paddle.v2.data_feeder.DataFeeder(data_types, feeding=None)
+

DataFeeder converts the data returned by paddle.reader into a data structure +of Arguments which is defined in the API. The paddle.reader usually returns +a list of mini-batch data entries. Each data entry in the list is one sample. +Each sample is a list or a tuple with one feature or multiple features. +DataFeeder converts this mini-batch data entries into Arguments in order +to feed it to C++ interface.

+

The simple usage shows below

+
feeding = ['image', 'label']
+data_types = enumerate_data_types_of_data_layers(topology)
+feeder = DataFeeder(data_types=data_types, feeding=feeding)
+
+minibatch_data = [([1.0, 2.0, 3.0, ...], 5)]
+
+arg = feeder(minibatch_data)
+
+
+

If mini-batch data and data layers are not one to one mapping, we +could pass a dictionary to feeding parameter to represent the mapping +relationship.

+
data_types = [('image', paddle.data_type.dense_vector(784)),
+              ('label', paddle.data_type.integer_value(10))]
+feeding = {'image':0, 'label':1}
+feeder = DataFeeder(data_types=data_types, feeding=feeding)
+minibatch_data = [
+                   ( [1.0,2.0,3.0,4.0], 5, [6,7,8] ),  # first sample
+                   ( [1.0,2.0,3.0,4.0], 5, [6,7,8] )   # second sample
+                 ]
+# or minibatch_data = [
+#                       [ [1.0,2.0,3.0,4.0], 5, [6,7,8] ],  # first sample
+#                       [ [1.0,2.0,3.0,4.0], 5, [6,7,8] ]   # second sample
+#                     ]
+arg = feeder.convert(minibatch_data)
+
+
+
+

注解

+

This module is for internal use only. Users should use the reader +interface.

+
+ +++ + + + +
参数:
    +
  • data_types (list) – A list to specify data name and type. Each item is +a tuple of (data_name, data_type).
  • +
  • feeding (dict|collections.Sequence|None) – A dictionary or a sequence to specify the position of each +data in the input data.
  • +
+
+
+
+convert(dat, argument=None)
+
+++ + + + +
参数:
    +
  • dat (list) – A list of mini-batch data. Each sample is a list or tuple +one feature or multiple features.
  • +
  • argument (py_paddle.swig_paddle.Arguments) – An Arguments object contains this mini-batch data with +one or multiple features. The Arguments definition is +in the API.
  • +
+
+
+ +
+ +
+
+

Reader

+

At training and testing time, PaddlePaddle programs need to read data. To ease +the users’ work to write data reading code, we define that

+
    +
  • A reader is a function that reads data (from file, network, random number +generator, etc) and yields data items.
  • +
  • A reader creator is a function that returns a reader function.
  • +
  • A reader decorator is a function, which accepts one or more readers, and +returns a reader.
  • +
  • A batch reader is a function that reads data (from reader, file, network, +random number generator, etc) and yields a batch of data items.
  • +
+
+

Data Reader Interface

+

Indeed, data reader doesn’t have to be a function that reads and yields data +items. It can be any function with no parameter that creates a iterable +(anything can be used in for x in iterable):

+
iterable = data_reader()
+
+
+

Element produced from the iterable should be a single entry of data, +not a mini batch. That entry of data could be a single item, or a tuple of +items. +Item should be of supported type (e.g., numpy 1d +array of float32, int, list of int)

+

An example implementation for single item data reader creator:

+
def reader_creator_random_image(width, height):
+    def reader():
+        while True:
+            yield numpy.random.uniform(-1, 1, size=width*height)
+return reader
+
+
+

An example implementation for multiple item data reader creator:

+
def reader_creator_random_image_and_label(width, height, label):
+    def reader():
+        while True:
+            yield numpy.random.uniform(-1, 1, size=width*height), label
+return reader
+
+
+

TODO(yuyang18): Should we add whole design doc here?

+
+
+paddle.v2.reader.map_readers(func, *readers)
+

Creates a data reader that outputs return value of function using +output of each data readers as arguments.

+ +++ + + + + + + + + + +
参数:
    +
  • func – function to use. The type of func should be (Sample) => Sample
  • +
  • readers – readers whose outputs will be used as arguments of func.
  • +
+
Type:

callable

+
返回:

the created data reader.

+
返回类型:

callable

+
+
+ +
+
+paddle.v2.reader.buffered(reader, size)
+

Creates a buffered data reader.

+

The buffered data reader will read and save data entries into a +buffer. Reading from the buffered data reader will proceed as long +as the buffer is not empty.

+ +++ + + + + + +
参数:
    +
  • reader (callable) – the data reader to read from.
  • +
  • size (int) – max buffer size.
  • +
+
返回:

the buffered data reader.

+
+
+ +
+
+paddle.v2.reader.compose(*readers, **kwargs)
+

Creates a data reader whose output is the combination of input readers.

+

If input readers output following data entries: +(1, 2) 3 (4, 5) +The composed reader will output: +(1, 2, 3, 4, 5)

+ +++ + + + + + + + +
参数:
    +
  • readers – readers that will be composed together.
  • +
  • check_alignment (bool) – if True, will check if input readers are aligned +correctly. If False, will not check alignment and trailing outputs +will be discarded. Defaults to True.
  • +
+
返回:

the new data reader.

+
引发:

ComposeNotAligned – outputs of readers are not aligned. +Will not raise when check_alignment is set to False.

+
+
+ +
+
+paddle.v2.reader.chain(*readers)
+

Creates a data reader whose output is the outputs of input data +readers chained together.

+

If input readers output following data entries: +[0, 0, 0] +[1, 1, 1] +[2, 2, 2] +The chained reader will output: +[0, 0, 0, 1, 1, 1, 2, 2, 2]

+ +++ + + + + + + + +
参数:readers – input readers.
返回:the new data reader.
返回类型:callable
+
+ +
+
+paddle.v2.reader.shuffle(reader, buf_size)
+

Creates a data reader whose data output is shuffled.

+

Output from the iterator that created by original reader will be +buffered into shuffle buffer, and then shuffled. The size of shuffle buffer +is determined by argument buf_size.

+ +++ + + + + + + + +
参数:
    +
  • reader (callable) – the original reader whose output will be shuffled.
  • +
  • buf_size (int) – shuffle buffer size.
  • +
+
返回:

the new reader whose output is shuffled.

+
返回类型:

callable

+
+
+ +
+
+paddle.v2.reader.firstn(reader, n)
+

Limit the max number of samples that reader could return.

+ +++ + + + + + + + +
参数:
    +
  • reader (callable) – the data reader to read from.
  • +
  • n (int) – the max number of samples that return.
  • +
+
返回:

the decorated reader.

+
返回类型:

callable

+
+
+ +
+

Creator package contains some simple reader creator, which could be used in user +program.

+
+
+paddle.v2.reader.creator.np_array(x)
+

Creates a reader that yields elements of x, if it is a +numpy vector. Or rows of x, if it is a numpy matrix. +Or any sub-hyperplane indexed by the highest dimension.

+ +++ + + + + + +
参数:x – the numpy array to create reader from.
返回:data reader created from x.
+
+ +
+
+paddle.v2.reader.creator.text_file(path)
+

Creates a data reader that outputs text line by line from given text file. +Trailing new line (‘\n’) of each line will be removed.

+ +++ + + + + + +
Path:path of the text file.
返回:data reader of text file
+
+ +
+
+

minibatch

+
+
+paddle.v2.minibatch.batch(reader, batch_size)
+

Create a batched reader.

+ +++ + + + + + + + +
参数:
    +
  • reader (callable) – the data reader to read from.
  • +
  • batch_size (int) – size of each mini-batch
  • +
+
返回:

the batched reader.

+
返回类型:

callable

+
+
+ +
+
+

Dataset

+

Dataset package.

+
+

mnist

+

MNIST dataset.

+

This module will download dataset from http://yann.lecun.com/exdb/mnist/ and +parse training set and test set into paddle reader creators.

+
+
+paddle.v2.dataset.mnist.train()
+

MNIST training set creator.

+

It returns a reader creator, each sample in the reader is image pixels in +[0, 1] and label in [0, 9].

+ +++ + + + + + +
返回:Training reader creator
返回类型:callable
+
+ +
+
+paddle.v2.dataset.mnist.test()
+

MNIST test set cretor.

+

It returns a reader creator, each sample in the reader is image pixels in +[0, 1] and label in [0, 9].

+ +++ + + + + + +
返回:Test reader creator.
返回类型:callable
+
+ +
+
+

cifar

+

CIFAR dataset.

+

This module will download dataset from +https://www.cs.toronto.edu/~kriz/cifar.html and parse train/test set into +paddle reader creators.

+

The CIFAR-10 dataset consists of 60000 32x32 colour images in 10 classes, +with 6000 images per class. There are 50000 training images and 10000 test +images.

+

The CIFAR-100 dataset is just like the CIFAR-10, except it has 100 classes +containing 600 images each. There are 500 training images and 100 testing +images per class.

+
+
+paddle.v2.dataset.cifar.train100()
+

CIFAR-100 training set creator.

+

It returns a reader creator, each sample in the reader is image pixels in +[0, 1] and label in [0, 99].

+ +++ + + + + + +
返回:Training reader creator
返回类型:callable
+
+ +
+
+paddle.v2.dataset.cifar.test100()
+

CIFAR-100 test set cretor.

+

It returns a reader creator, each sample in the reader is image pixels in +[0, 1] and label in [0, 9].

+ +++ + + + + + +
返回:Test reader creator.
返回类型:callable
+
+ +
+
+paddle.v2.dataset.cifar.train10()
+

CIFAR-10 training set creator.

+

It returns a reader creator, each sample in the reader is image pixels in +[0, 1] and label in [0, 9].

+ +++ + + + + + +
返回:Training reader creator
返回类型:callable
+
+ +
+
+paddle.v2.dataset.cifar.test10()
+

CIFAR-10 test set cretor.

+

It returns a reader creator, each sample in the reader is image pixels in +[0, 1] and label in [0, 9].

+ +++ + + + + + +
返回:Test reader creator.
返回类型:callable
+
+ +
+
+

conll05

+

Conll05 dataset. +Paddle semantic role labeling Book and demo use this dataset as an example. +Because Conll05 is not free in public, the default downloaded URL is test set +of Conll05 (which is public). Users can change URL and MD5 to their Conll +dataset. And a pre-trained word vector model based on Wikipedia corpus is used +to initialize SRL model.

+
+
+paddle.v2.dataset.conll05.get_dict()
+

Get the word, verb and label dictionary of Wikipedia corpus.

+
+ +
+
+paddle.v2.dataset.conll05.get_embedding()
+

Get the trained word vector based on Wikipedia corpus.

+
+ +
+
+paddle.v2.dataset.conll05.test()
+

Conll05 test set creator.

+

Because the training dataset is not free, the test dataset is used for +training. It returns a reader creator, each sample in the reader is nine +features, including sentence sequence, predicate, predicate context, +predicate context flag and tagged sequence.

+ +++ + + + + + +
返回:Training reader creator
返回类型:callable
+
+ +
+
+

imdb

+

IMDB dataset.

+

This module downloads IMDB dataset from +http://ai.stanford.edu/%7Eamaas/data/sentiment/. This dataset contains a set +of 25,000 highly polar movie reviews for training, and 25,000 for testing. +Besides, this module also provides API for building dictionary.

+
+
+paddle.v2.dataset.imdb.build_dict(pattern, cutoff)
+

Build a word dictionary from the corpus. Keys of the dictionary are words, +and values are zero-based IDs of these words.

+
+ +
+
+paddle.v2.dataset.imdb.train(word_idx)
+

IMDB training set creator.

+

It returns a reader creator, each sample in the reader is an zero-based ID +sequence and label in [0, 1].

+ +++ + + + + + + + +
参数:word_idx (dict) – word dictionary
返回:Training reader creator
返回类型:callable
+
+ +
+
+paddle.v2.dataset.imdb.test(word_idx)
+

IMDB test set creator.

+

It returns a reader creator, each sample in the reader is an zero-based ID +sequence and label in [0, 1].

+ +++ + + + + + + + +
参数:word_idx (dict) – word dictionary
返回:Test reader creator
返回类型:callable
+
+ +
+
+

imikolov

+

imikolov’s simple dataset.

+

This module will download dataset from +http://www.fit.vutbr.cz/~imikolov/rnnlm/ and parse training set and test set +into paddle reader creators.

+
+
+paddle.v2.dataset.imikolov.build_dict()
+

Build a word dictionary from the corpus, Keys of the dictionary are words, +and values are zero-based IDs of these words.

+
+ +
+
+paddle.v2.dataset.imikolov.train(word_idx, n)
+

imikolov training set creator.

+

It returns a reader creator, each sample in the reader is a word ID +tuple.

+ +++ + + + + + + + +
参数:
    +
  • word_idx (dict) – word dictionary
  • +
  • n (int) – sliding window size
  • +
+
返回:

Training reader creator

+
返回类型:

callable

+
+
+ +
+
+paddle.v2.dataset.imikolov.test(word_idx, n)
+

imikolov test set creator.

+

It returns a reader creator, each sample in the reader is a word ID +tuple.

+ +++ + + + + + + + +
参数:
    +
  • word_idx (dict) – word dictionary
  • +
  • n (int) – sliding window size
  • +
+
返回:

Test reader creator

+
返回类型:

callable

+
+
+ +
+
+

movielens

+

Movielens 1-M dataset.

+

Movielens 1-M dataset contains 1 million ratings from 6000 users on 4000 +movies, which was collected by GroupLens Research. This module will download +Movielens 1-M dataset from +http://files.grouplens.org/datasets/movielens/ml-1m.zip and parse training +set and test set into paddle reader creators.

+
+
+paddle.v2.dataset.movielens.get_movie_title_dict()
+

Get movie title dictionary.

+
+ +
+
+paddle.v2.dataset.movielens.max_movie_id()
+

Get the maximum value of movie id.

+
+ +
+
+paddle.v2.dataset.movielens.max_user_id()
+

Get the maximum value of user id.

+
+ +
+
+paddle.v2.dataset.movielens.max_job_id()
+

Get the maximum value of job id.

+
+ +
+
+paddle.v2.dataset.movielens.movie_categories()
+

Get movie categoriges dictionary.

+
+ +
+
+paddle.v2.dataset.movielens.user_info()
+

Get user info dictionary.

+
+ +
+
+paddle.v2.dataset.movielens.movie_info()
+

Get movie info dictionary.

+
+ +
+
+class paddle.v2.dataset.movielens.MovieInfo(index, categories, title)
+

Movie id, title and categories information are stored in MovieInfo.

+
+ +
+
+class paddle.v2.dataset.movielens.UserInfo(index, gender, age, job_id)
+

User id, gender, age, and job information are stored in UserInfo.

+
+ +
+
+

sentiment

+

The script fetch and preprocess movie_reviews data set that provided by NLTK

+

TODO(yuyang18): Complete dataset.

+
+
+paddle.v2.dataset.sentiment.get_word_dict()
+

Sorted the words by the frequency of words which occur in sample +:return:

+
+
words_freq_sorted
+
+ +
+
+paddle.v2.dataset.sentiment.train()
+

Default training set reader creator

+
+ +
+
+paddle.v2.dataset.sentiment.test()
+

Default test set reader creator

+
+ +
+
+

uci_housing

+

UCI Housing dataset.

+

This module will download dataset from +https://archive.ics.uci.edu/ml/machine-learning-databases/housing/ and +parse training set and test set into paddle reader creators.

+
+
+paddle.v2.dataset.uci_housing.train()
+

UCI_HOUSING training set creator.

+

It returns a reader creator, each sample in the reader is features after +normalization and price number.

+ +++ + + + + + +
返回:Training reader creator
返回类型:callable
+
+ +
+
+paddle.v2.dataset.uci_housing.test()
+

UCI_HOUSING test set creator.

+

It returns a reader creator, each sample in the reader is features after +normalization and price number.

+ +++ + + + + + +
返回:Test reader creator
返回类型:callable
+
+ +
+
+

wmt14

+

WMT14 dataset. +The original WMT14 dataset is too large and a small set of data for set is +provided. This module will download dataset from +http://paddlepaddle.cdn.bcebos.com/demo/wmt_shrinked_data/wmt14.tgz and +parse training set and test set into paddle reader creators.

+
+
+paddle.v2.dataset.wmt14.train(dict_size)
+

WMT14 training set creator.

+

It returns a reader creator, each sample in the reader is source language +word ID sequence, target language word ID sequence and next word ID +sequence.

+ +++ + + + + + +
返回:Training reader creator
返回类型:callable
+
+ +
+
+paddle.v2.dataset.wmt14.test(dict_size)
+

WMT14 test set creator.

+

It returns a reader creator, each sample in the reader is source language +word ID sequence, target language word ID sequence and next word ID +sequence.

+ +++ + + + + + +
返回:Test reader creator
返回类型:callable
+
+ +
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/api/v2/model_configs.html b/release/0.10.0/doc_cn/api/v2/model_configs.html new file mode 100644 index 0000000000..059677d91f --- /dev/null +++ b/release/0.10.0/doc_cn/api/v2/model_configs.html @@ -0,0 +1,270 @@ + + + + + + + + + + + Model Configuration — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • API >
  • + +
  • Model Configuration
  • +
+
+ +
+
+
+
+ +
+

Model Configuration

+ +
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/api/v2/run_logic.html b/release/0.10.0/doc_cn/api/v2/run_logic.html new file mode 100644 index 0000000000..267777b000 --- /dev/null +++ b/release/0.10.0/doc_cn/api/v2/run_logic.html @@ -0,0 +1,607 @@ + + + + + + + + + + + Training and Inference — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • API >
  • + +
  • Training and Inference
  • +
+
+ +
+
+
+
+ +
+

Training and Inference

+
+

Parameters

+
+
+class paddle.v2.parameters.Parameters
+

Parameters is a dictionary contains Paddle’s parameter. The key of +Parameters is the name of parameter. The value of Parameters is a plain +numpy.ndarry .

+

Basically usage is

+
data = paddle.layers.data(...)
+...
+out = paddle.layers.fc(...)
+
+parameters = paddle.parameters.create(out)
+
+parameter_names = parameters.names()
+fc_mat = parameters.get('fc')
+print fc_mat
+
+
+
+
+keys()
+

keys are the names of each parameter.

+ +++ + + + + + +
返回:list of parameter name
返回类型:list
+
+ +
+
+names()
+

names of each parameter.

+ +++ + + + + + +
返回:list of parameter name
返回类型:list
+
+ +
+
+has_key(key)
+

has_key return true if there are such parameter name == key

+ +++ + + + + + +
参数:key (basestring) – Parameter name
返回:True if contains such key
+
+ +
+
+get_shape(key)
+

get shape of the parameter.

+ +++ + + + + + + + +
参数:key (basestring) – parameter name
返回:parameter’s shape
返回类型:tuple
+
+ +
+
+get(parameter_name)
+

Get parameter by parameter name.

+ +++ + + + + + + + + + +
Note:It will always copy the parameter from C++ side.
参数:parameter_name (basestring) – parameter name
返回:The parameter matrix.
返回类型:np.ndarray
+
+ +
+
+set(parameter_name, value)
+

Set parameter by parameter name & matrix.

+ +++ + + + + + +
参数:
    +
  • parameter_name (basestring) – parameter name
  • +
  • value (np.ndarray) – parameter matrix
  • +
+
返回:

Nothing.

+
+
+ +
+
+append_gradient_machine(gradient_machine)
+

append gradient machine to parameters. This method is used internally in +Trainer.train.

+ +++ + + + + + +
参数:gradient_machine (api.GradientMachine) – Paddle C++ GradientMachine object.
返回:
+
+ +
+
+serialize(name, f)
+
+++ + + + + + +
参数:
    +
  • name
  • +
  • f (file) –
  • +
+
返回:

+
+
+ +
+
+deserialize(name, f)
+
+++ + + + + + +
参数:
    +
  • name
  • +
  • f (file) –
  • +
+
返回:

+
+
+ +
+ +
+
+

Trainer

+

Module Trainer

+
+
+class paddle.v2.trainer.SGD(cost, parameters, update_equation, extra_layers=None)
+

Simple SGD Trainer. +SGD Trainer combines data reader, network topolopy and update_equation together +to train/test a neural network.

+ +++ + + + +
参数:
    +
  • update_equation (paddle.v2.optimizer.Optimizer) – The optimizer object.
  • +
  • cost (paddle.v2.config_base.Layer) – Target cost that neural network should be optimized.
  • +
  • parameters (paddle.v2.parameters.Parameters) – The parameters dictionary.
  • +
  • extra_layers (paddle.v2.config_base.Layer) – Some layers in the neural network graph are not +in the path of cost layer.
  • +
+
+
+
+train(reader, num_passes=1, event_handler=None, feeding=None)
+

Training method. Will train num_passes of input data.

+ +++ + + + + + +
参数:
    +
  • reader (collections.Iterable) – A reader that reads and yeilds data items. Usually we use a +batched reader to do mini-batch training.
  • +
  • num_passes – The total train passes.
  • +
  • event_handler ((BaseEvent) => None) – Event handler. A method will be invoked when event +occurred.
  • +
  • feeding (dict|list) – Feeding is a map of neural network input name and array +index that reader returns.
  • +
+
返回:

+
+
+ +
+
+test(reader, feeding=None)
+

Testing method. Will test input data.

+ +++ + + + + + +
参数:
    +
  • reader (collections.Iterable) – A reader that reads and yeilds data items.
  • +
  • feeding (dict) – Feeding is a map of neural network input name and array +index that reader returns.
  • +
+
返回:

+
+
+ +
+ +
+
+

Event

+

Testing and training events.

+

There are:

+
    +
  • TestResult
  • +
  • BeginIteration
  • +
  • EndIteration
  • +
  • BeginPass
  • +
  • EndPass
  • +
+
+
+class paddle.v2.event.TestResult(evaluator, cost)
+

Result that trainer.test return.

+
+ +
+
+class paddle.v2.event.BeginPass(pass_id)
+

Event On One Pass Training Start.

+
+ +
+
+class paddle.v2.event.EndPass(pass_id, evaluator)
+

Event On One Pass Training Complete.

+
+ +
+
+class paddle.v2.event.BeginIteration(pass_id, batch_id)
+

Event On One Batch Training Start.

+
+ +
+
+class paddle.v2.event.EndIteration(pass_id, batch_id, cost, evaluator)
+

Event On One Batch Training Complete.

+
+ +
+
+

Inference

+
+
+paddle.v2.infer(output_layer, parameters, input, feeding=None, field='value')
+

Infer a neural network by given neural network output and parameters. The +user should pass either a batch of input data or reader method.

+

Example usages:

+
result = paddle.infer(prediction, parameters, input=SomeData,
+                      batch_size=32)
+print result
+
+
+ +++ + + + + + + + +
参数:
    +
  • output_layer (paddle.v2.config_base.Layer) – output of the neural network that would be inferred
  • +
  • parameters (paddle.v2.parameters.Parameters) – parameters of the neural network.
  • +
  • input (collections.Iterable) – input data batch. Should be a python iterable object, and each +element is the data batch.
  • +
  • feeding – Reader dictionary. Default could generate from input +value.
  • +
  • field (str) – The prediction field. It should in [value, id, prob]. +value and prob mean return the prediction probabilities, +id means return the prediction labels. Default is value. +Note that prob only used when output_layer is beam_search +or max_id.
  • +
+
返回:

a numpy array

+
返回类型:

numpy.ndarray

+
+
+ +
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/design/api.html b/release/0.10.0/doc_cn/design/api.html new file mode 100644 index 0000000000..04a4275820 --- /dev/null +++ b/release/0.10.0/doc_cn/design/api.html @@ -0,0 +1,478 @@ + + + + + + + + + + + PaddlePaddle Design Doc — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • PaddlePaddle Design Doc
  • +
+
+ +
+
+
+
+ +
+

PaddlePaddle Design Doc

+
+

Ingredients

+

As our design principle is starting from the essence: how could we +allow users to express and solve their problems at neural networks. +Some essential concepts that our API have to provide include:

+
    +
  1. A topology is an expression of layers.
  2. +
  3. A layer could be any kind of computation, including cost.
  4. +
  5. Some layers have parameters, some don’t. Most costs don’t have +parameters.
  6. +
  7. In some topologies, layers share parameters. For +example, +the network for training a ranking model.
  8. +
  9. At programming time, users specify topologies and possible sharing +of parameters. PaddlePaddle can figure out and create parameters +required (and possibly shared) by one or more topologies.
  10. +
+
+
+

Starting from Examples

+

As a summarization +of +our disucssion, +let us present two examples here:

+
+

Example 1. Sharing Parameters between Layers

+

We use +the +3-branch ranking model +in this example. For your convenience, I copy-a-paste the model’s +topology as follows:

+
A -> f -\
+Q -> f --> cost
+B -> f -/
+
+
+

The following program trains the topology including the cost, and then +use the sub-network in the trained topology in inference:

+
def f(in):
+    e = paddle.layer.embedding(in, parameter_name="embedding")
+    o = paddle.layer.softmax(e, parameter_name="semantic")
+    return o
+
+# Create 3 topologies (subnets), they share parameters because all
+# correspoinding layers have the same parameter names.
+fA = f(paddle.layer.data(input_name="A"))
+fB = f(paddle.layer.data(input_name="B"))
+fQ = f(paddle.layer.data(input_name="Q"))
+
+topology = paddle.layer.less_than(
+               paddle.layer.cross_entropy(fA, fQ),
+               paddle.layer.corss_entropy(fB, fQ))
+
+# Derive parameters required in topology and create them in model.
+parameters = paddle.parameters.create(topology)
+
+# Estimate parameters used in topology from data.
+paddle.train(topology, parameters, reader=read_ranking_model_data)
+
+# Inference using fA (or fB or fC, as they share their parameters).
+[testA, testB, testQ] = read_ranking_model_data()
+print "The sematic-vector of testA: ", paddle.infer(fA, parameters, testA)
+
+
+
+
+

Example 2. Sharing Parameters between “Models”

+

We use GAN in +this example. In the following example program, d0 and d1 +correspond to the two networks in the following figure:

+

+
def G(in):
+    # over-simplified example as G has only one layers:
+    return paddle.layer.fc(in, parameter_name="G")
+
+def D(in);
+    # again, over-simplified:
+    return paddle.layer.fc(in, parameter_name="D")
+
+# Construct the first topology, which contains both D and G.
+# By learning this topology, we update parameters of G.
+d0 = paddle.layer.should_be_false(D(G(paddle.layer.data())))
+
+# Construct a second topology d1, which contains only D. By
+# training this topology, we update parameters of D.  Note
+# that d1 share parameters with d0.
+d1 = paddle.layer.should_be_true(D(paddle.layer.data()))
+
+# Create parameters from a list of multiple topologies (models) for
+# the chance to share parameters between these topologies.
+parameters = paddle.parameters.create([d0, d1])
+
+# Iterative training of GAN.
+for ...:
+    train(d0, parameters, reader=read_from_rng, immutable_parameters={"D"})
+    train(d1, parameters, reader=read_from_realistic_images)
+
+# Use d1 for inference:
+print "D thinks a batch of images are realistic ", infer(d1, parameters, read_mnist_images)
+
+
+
+
+

Summarization

+

Above two programs reveal some important design concerns:

+
    +
  1. Users describe a topology as an expression of layers. Every layer +has a parameter name. If the users don’t specify it explicitly, it’s automatically generated as a unique name. By +specifying the parameter name, users can specify the sharing of +parameters between layers and even between topologies.
  2. +
  3. paddle.parameters.create figures out parameters required by one +or more topologies from parameter names of layers. It creates these +parameters and returns a ParameterSet object, which is in essence +a map from parameter names to parameters.
  4. +
  5. At training and inference time, paddle.train and paddle.infer +requires both a topology and the parameter set that holds the parameters of that topology. There are some reasons:
      +
    1. This prevents users from forgetting to call +paddle.parameters.create.
    2. +
    3. paddle.train needs to know which parameter set to update.
    4. +
    5. Users could load another (pre-trained) parameter set and use it +with a topology in train.infer.
    6. +
    +
  6. +
  7. By specifying the immutable_parameters parameter of +paddle.train, we can forbid the update of these parameters.
  8. +
+
+
+
+

Reader

+

Not all programming frameworks allow users to define I/O functions. +An example is Google MapReduce, which can only read from text, +SSTable, and RecordIO files. Hadoop MapReduce allows users to define +readers and writers by deriving from base classes Reader and +Writer. The former is less flexible but also less error-prone. We +decide to provide the flexibility to users to define their readers.

+

There are some open questions here:

+
    +
  1. Should a reader return a Python dictionary?
  2. +
  3. How to map multiple outputs from a reader to multiple data layers?
  4. +
  5. How to easily compose some existing readers to read more data and +feed a topology with more data layers?
  6. +
+
+
+

Training

+

The recommended way to training a model is to call paddle.train, +which simply calls paddle.trainer.Default, a global variable of +type paddle.trainer.SGD. Equivalently, we can do

+
opt = paddle.trainer.SGD(..., paddle.updater.Adam(...))
+opt.train(topology, parameters, reader=read, ...)
+
+
+
+

Updater

+

Please be aware that a trainer can accept an updater as its data +member, where an updater is a class derived from +paddle.trainer.Updater. This is to make it easier to customize +trainers, as discussed +here.

+
+
+

Event Handler

+

paddle.train and paddle.trainer.XXX.train take an optional +parameter event_handler, which should be either None or a function +that handle some events:

+
    +
  1. BeginTraining
  2. +
  3. EndTraining
  4. +
  5. BeginIteration
  6. +
  7. EndIteration
  8. +
  9. BeginPass
  10. +
  11. EndPass
  12. +
+

where EndPass is sent if and only if the reader yields +end_pass=True.

+

An example as follows:

+
def event_handler(event):
+    if ininstance(event, paddle.event.EndIteration):
+        print paddle.test(...)
+
+paddle.train(topology, parameters, reader, event_handler)
+
+
+

If we are writing a PaddlePaddle program in and for iPython/Jypyter, +we can use metaplotlib in the event handler to plot a curve of +cost/error versus iterations, as shown +here.

+
+
+

Distributed Training

+

If users want to do distributed training on a cluster, s/he should +call paddle.dist_train and provides access tokens to the cluster as +a parameter.

+

For example, if the user has a TLS certificate that allows him to +access a Kubernetes cluster, s/he should be able to call

+
paddle.dist_train(model,
+                  trainer=paddle.trainer.SGD(...,
+                                             paddle.updater.Adam(...)),
+                  reader=read,
+                  k8s_user="yi",
+                  k8s_token="kube_cluster_tls.pem",
+                  k8s_job="hello",
+                  num_parameter_servers=15)
+
+
+

The pseudo code if paddle.dist_train is as follows:

+
def dist_train(topology, parameters, trainer, reader, ...):
+    if os.getenv("KUBERNETES_SERVICE_HOST") == None:
+        image_name = k8s_user + '/' + k8s_job
+        docker_build(image_name)
+        docker_push()
+        kube_ctrl_start_job(image_name, k8s_user, k8s_token)
+    else:
+        rank = kube_list_containers_in_job_and_return_current_containers_rank()
+        if rank == 0:
+            master()
+        elif rank < 15:
+            parameter_server()
+        else:
+            trainer.train(model, reader=read)
+
+
+

Please be aware that if a process is running on the Kubernetes +cluster, it will have some environment variables pre-defined.

+

If dist_train doesn’t see these environment variables, it knows +that it’s running on users’ personal computer, and it should work as a +launcher. Otherwise, it knows that it’s running on the cluster and +need to figure out its role as either the master, or a trainer, or a +parameter server.

+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/design/dist/README.html b/release/0.10.0/doc_cn/design/dist/README.html new file mode 100644 index 0000000000..bc95880400 --- /dev/null +++ b/release/0.10.0/doc_cn/design/dist/README.html @@ -0,0 +1,411 @@ + + + + + + + + + + + Design Doc: Distributed Training — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Design Doc: Distributed Training
  • +
+
+ +
+
+
+
+ +
+

Design Doc: Distributed Training

+
+

Objective

+

In this slides, we explained that we’d like PaddlePaddle running on general-purpose clusters like those managed by Kubernetes, so to address demands for AI from both Internet and non-Internet industries.

+

This poses technical challenges to PaddlePaddle:

+
    +
  1. Support fault-recovery.
  2. +
  3. Support both offline and online training.
  4. +
  5. Serverless computing of distributed training.
  6. +
+
+
+

Training Job

+

A training job will be created once user asks Paddle cloud to train a model. The training job is made up of different processes that collaboratively consume data and produce a trained model. There are three kinds of processes:

+
    +
  1. the master process, which dispatches tasks to
  2. +
  3. one or more trainer processes, which run distributed training and synchronize gradients/models via
  4. +
  5. one or more parameter server processes, where each holds a shard of the global model.
  6. +
+

Their relation is illustrated in the following graph:

+

+
+

Master Process

+

The master process will:

+
    +
  • Partition a dataset into tasks and dispatch tasks to trainers.
  • +
  • Keep track of training progress on the dataset with task queue. A training job will iterate on the dataset for a full pass until it goes into next pass.
  • +
+
+

Task

+

A task is a data shard to be trained. The total number of tasks will be much bigger than the total number of trainers. The number of data instances inside a task will be much bigger than the mini-batch size.

+
+
+

Task Queue

+

The master process has three task queues to track training progress. As illustrated in the graph below, Job A and Job B both have one master process. Each master process has three task queues.

+

+
    +
  • The todo queue holds tasks to be dispatched. When a job starts, the master process fills in the todo queue with all tasks.
  • +
  • The pending queue holds tasks that are currently training by trainers.
  • +
  • the done queue holds tasks that are already trained.
  • +
+

The life cycle of a single task is illustrated below:

+

+
    +
  1. When a new pass of training starts, all tasks will be placed in the todo queue.
  2. +
  3. The master process will dispatch few tasks to each trainer at a time, puts them in the pending queue and waits for completion.
  4. +
  5. The trainer will work on its tasks and tell the master process once a task is completed. The master process will dispatch a new task to that trainer.
  6. +
  7. If a task timeout. the master process will move it back to the todo queue. The timeout count will increase by one. If the timeout count is above a threshold, the task is likely to cause a trainer to crash, so it will be discarded.
  8. +
  9. The master process will move completed task to the done queue. When the todo queue is empty, the master process will start a new pass by moving all tasks in the done queue to todo queue and reset the timeout counter of all tasks to zero.
  10. +
+
+
+
+

Trainer Process

+

The trainer process will:

+
    +
  • Receive tasks from the master.
  • +
  • Work on the tasks: calculate and upload gradient to parameter servers, and update local model by downloading new parameters from parameter servers.
  • +
+
+
+

Parameter Server Process

+

Parameter server processes hold the parameters collaboratively. The parameters are partitioned on different parameter servers.

+

The parameter server will:

+
    +
  • Receive gradient from the trainers, update its parameters, and give the trainers the latest parameters.
  • +
  • Periodically save its parameters to distributed file system by overriding the previous save.
  • +
+
+
+

Optimization Algorithms

+

The communication pattern between the trainers and the parameter servers depends on the category of optimization algorithm:

+
    +
  • Synchronous Stochastic Gradient Descent (sync-SGD)

    +

    Parameter server will wait for all trainer finish n-th mini-batch calculation and send their gradients before broadcasting new parameters to every trainer. Every trainer will wait for the new parameters before starting n+1-th mini-batch.

    +
  • +
  • Asynchronous Stochastic Gradient Descent (async-SGD)

    +

    There will no synchronization between different trainers, and parameter server updates its parameter as soon as it receives new gradient:

    +
      +
    • Each trainer uploads its accumulated gradient every n mini-batches.
    • +
    • Every m mini-batches, the trainer downloads new parameters from parameter server.
    • +
    • n and m do not have to be equal.
    • +
    +
  • +
+
+
+
+

Fault Tolerant

+

The training job will pause if the master processes is dead, or any of the parameter server process is dead. They will be started by Kubernetes and recover in few minutes. Please refer to fault recovery.

+

The training job will continue to make progress if there is at least one training process running. The strategy depends on the type of optimization algorithm:

+
    +
  • sync-SGD

    +

    TODO

    +
  • +
  • async-SGD

    +

    Since async-SGD does not require synchronization between mini-batches, the system will by definition make process if at least one trainer is running.

    +
  • +
+
+
+

Fault Recovery

+

PaddlePaddle uses etcd to keep track of the states of processes. Because etcd is a distributed reliable key-value store, the restarted process can recover its states from etcd. The model parameters are periodically saved into distributed file system, so a restarted parameter server can recover its parameters from the saved file.

+

Now we will introduce how each process recovers from a failure, the graph below shows how etcd is used:

+

+
+

Master Process

+

When the master is started by the Kubernetes, it executes the following steps at startup:

+
    +
  1. Grabs a unique master lock in etcd, which prevents concurrent master instantiations.
  2. +
  3. Recovers the task queues from etcd if they already exist, otherwise, the master will create them.
  4. +
  5. Watches the trainer prefix keys /trainer/ on etcd to find the live trainers.
  6. +
  7. Starts dispatching the tasks to the trainers, and updates task queue using an etcd transaction to ensure lock is held during the update.
  8. +
+

The master process will kill itself if its etcd lease expires.

+

When the master process is dead for any reason, Kubernetes will restart it. It will be online again with all states recovered from etcd in few minutes.

+
+
+

Trainer Process

+

When the trainer is started by the Kubernetes, it executes the following steps at startup:

+
    +
  1. Watches the available parameter server prefix keys /ps/ on etcd and waits until the count of parameter servers reaches the desired count.
  2. +
  3. Generates a unique ID, and sets key /trainer/<unique ID> with its contact address as value. The key will be deleted when the lease expires, so the master will be aware of the trainer being online and offline.
  4. +
  5. Waits for tasks from the master to start training.
  6. +
+

If trainer’s etcd lease expires, it will try set key /trainer/<unique ID> again so that the master process can discover the trainer again.

+
+
+

Parameter Server Process

+

When the parameter server is started by Kubernetes, it executes the following steps at startup:

+
    +
  1. Read desired total number of parameter servers from etcd /ps_desired

    +
  2. +
  3. Search through etcd keys /ps/<index> (/ps/0, /ps/1, ...) to find the first non-existant key whose index is smaller than the total number of parameter servers. Set the key using a transaction to avoid concurrent writes. The parameter server’s index is inferred from the key name.

    +

    The desired number of parameter servers is 3:

    +

    +

    The third parameter server joined:

    +

    +
  4. +
  5. The parameter server can load parameters if there are already saved parameters in the save path (inferred from its index).

    +
  6. +
  7. Now the parameter server is ready for the trainers’ requests.

    +
  8. +
+

If the parameter server’s etcd lease expires, the parameter server will kill itself.

+
+
+
+

Dynamic Scaling

+
+

Trainer Scaling

+

TODO

+
+
+

Parameter Server Scaling

+

Not planned for v1.

+
+
+
+

Training Dataset Format

+

TODO

+
+
+

User Interface

+

TODO

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/design/multi_language_interface/why_plain_c.html b/release/0.10.0/doc_cn/design/multi_language_interface/why_plain_c.html new file mode 100644 index 0000000000..0f4844a2c4 --- /dev/null +++ b/release/0.10.0/doc_cn/design/multi_language_interface/why_plain_c.html @@ -0,0 +1,382 @@ + + + + + + + + + + + Paddle多语言接口实现 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Paddle多语言接口实现
  • +
+
+ +
+
+
+
+ +
+

Paddle多语言接口实现

+
+

背景

+

Paddle需要一个多语言接口,这个接口需要做到:

+
    +
  • 有标准的,良好的文档
      +
    • 例如Python可以使用Sphinx生成API文档,golang可以使用GoDoc生成文档。这都需要这个接口按照约定俗成的规则来注释完备。
    • +
    +
  • +
  • 不同语言的接口适应不同语言的特性
      +
    • 例如Java与Python的错误处理是直接扔出来Exception,而对于golang错误处理应该使用返回值。
    • +
    +
  • +
+
+
+

基本要求

+

Paddle的多语言接口实现包括一下几个方面:

+
    +
  • 我们使用动态库来分发Paddle。在这个动态库中不嵌入任何其他语言的解释器,也不使用其他动态库。
  • +
  • 这个动态库使用C99标准的头文件导出一些函数,不使用/导出C++符号。
  • +
  • 不导出Paddle内部的结构体、类,仅仅使用void*指针作为类型的句柄(handler)。
  • +
  • 不使用SWIG这种代码生成器,而是手写多语言绑定。
  • +
+
+
+

原因

+
+

使用动态库来分发Paddle

+
    +
  • Paddle的链接方式比较复杂
      +
    • 如果用户要把Paddle的静态库(libpaddle.a)链接到自己的程序里,得使用 --whole-archive (for GCC) 或者 --force_load (for Clang) 参数,来确保把 libpaddle.a 里所有的符号都写入自己的程序的二进制文件里。这是因为 Paddle 的源码里使用了object factory design pattern
    • +
    +
  • +
  • 编译型语言,例如C/C++使用静态库和动态库难度差不多。但是解释性语言,例如Python或者Java,只能调用Paddle的动态库,否则得把Paddle静态库链接到解释器里。
      +
    • 解释性语言实际运行的二进制是解释器本身,如果调用静态库只能将静态库与解释器链接。例如对于Java来说,便是将静态库加入JVM中。这对于通常的Java的开发者来说,是不常见的做法。
    • +
    +
  • +
+
+
+

动态库中不嵌入任何其他语言的解释器

+
    +
  • 目前Paddle的进程模型是C++内部驱动Python解释器进行模型配置解析和数据读取
  • +
  • 我们最终的动态库中不嵌入Python或者其他任何语言的解释器。模型配置解析,数据读取均交由其他语言完成
  • +
+

现阶段Paddle有一个问题是,Paddle内嵌的Python解释器和外部使用的Python如果版本不同,会直接报错退出。

+
+
+

Paddle动态库中,不引用其他动态库

+
    +
  • 即这个动态库是不依赖于其他任何文件的,可以在任何机器上执行的。
  • +
+
+
+

这个动态库使用C99标准的头文件导出一些函数,不使用/导出C++符号

+
    +
  • 由于C++编译器没有名字修饰的规范,不同版本的编译器之间,对于同一段C++代码生成的符号可能不一致。而多语言接口需要直接读取生成的二进制(动态库),需要有稳定的导出符号。
  • +
  • C语言是有导出符号的标准的,并且在常见的平台上,都是ABI调用标准的。
  • +
  • 大多数语言都支持使用C语言API
  • +
  • 使用C99而不使用C89,是因为C99支持Fixed-width integer typesBoolean type
  • +
  • 使用C99而不使用C11的原因是,C11并没有Paddle特别需要的特性,且C99相对于C11使用更加广泛。
  • +
+
+
+

不导出Paddle内部的结构体、类,仅仅使用void*指针作为类型的句柄(handler)

+
    +
  • Paddle内部的类为C++书写,直接导出到C的接口比较困难。
  • +
  • 在C-API中使用void*来表示Paddle内部类。再在每一个API中自己检查类型。
  • +
+

在C的头文件 paddle_matrix.h 中:

+
typedef void* paddle_matrix;
+typedef int paddle_error;
+
+extern "C"
+paddle_error paddle_matrix_shape(paddle_matrix matrix,
+                                 uint64_t* width,
+                                 uint64_t* height);
+
+
+

而在CPP里面实现这个C的接口,文件 paddle_matrix.cpp

+
#include "paddle/math/matrix.hpp"
+extern "C"
+paddle_error paddle_matrix_shape(paddle_matrix matrix,
+                                 uint64_t *width,
+                                 uint64_t *height) {
+  auto m = (paddle::math::matrix*)(matrix);
+  *width = m->width();
+  *height = m->height();
+}
+
+
+

其中paddle/math/matrix.hpp文件内容为:

+
namespace paddle {
+namespace math {  
+
+class Matrix {
+  //...
+};
+
+}  // namespace math
+}  // namespace paddle
+
+
+
+
+

不使用SWIG这种代码生成器,而是手写多语言绑定

+
    +
  • SWIG是一个多语言接口的代码生成器。他的目标是使用C/C++写代码,SWIG直接读取C/C++的头文件,生成各种语言的绑定代码。
      +
    • 对于多语言接口,SWIG需要写一个interface文件。这个文件具有独特的语法,学习成本高。且增加一个第三方语言,就需要对这个第三方语言增加一些定义。有的时候,interface文件的写法非常tricky。社区贡献代码学习成本高。
    • +
    • SWIG暴露的接口保留了C++的接口样式,很难保证多语言代码风格的一致性。(函数命名,错误处理)
        +
      • 因为SWIG在第三方语言中暴露的函数名,类名和C++中完全一致。C++的命名风格并不能适应其他第三方语言。如果使用SWIG我们需要将在interface文件里,将大量的SomeCppClass重命名成some_python_class,或者SomeGoTypes
      • +
      • 对于不同语言,错误处理的方式也不尽相同。例如对于Java或者Python,最常见的错误处理方式是Exception,而对于Golang,错误处理方式是返回值。而SWIG只能简单的暴露C++接口,无法做到对于各种语言错误处理方式的适配。
      • +
      +
    • +
    • 对于大多数语言,直接使用C语言的.h并不困难。例如Python的cffi或者Cython, golang的cgo
    • +
    • SWIG支持的语言或者解释器有局限。例如对于Python,使用SWIG只支持CPython解释器,而不支持PyPy解释器。
    • +
    +
  • +
+
+
+
+

原因列表

+

| 结论 | 对比 | 原因 | +|—| — | — | +| 使用动态库 | 不使用静态库 | 解释型语言只能调用动态库,Paddle静态库链接复杂 | +| 不嵌入其他语言解释器 | 不嵌入Python解释器 | Paddle C++目前嵌入Python解释器,会导致不同版本Python在一个进程里的bug | +| 不引用其他动态库 | | Paddle一个动态库可以在任何Linux系统上运行 | +| 使用C99做接口 | 不使用C++做接口 | C有标准的ABI,C99是目前C最广泛的使用标准,且C99支持bool类型和定长整数(uint64_t等)类型 | +| 使用void*作为类句柄 | 不显示的写每个类具体包含什么| 实现简单,并且让接口脱离实现细节 | +| 手写多语言绑定 | 不使用SWIG | 使用SWIG需要多语言绑定的开发人员熟练掌握SWIG配置,社区参与困难。SWIG生成的代码不能保证多语言代码风格的一致性 |

+
+
+

简单实现

+

TBD

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/design/reader/README.html b/release/0.10.0/doc_cn/design/reader/README.html new file mode 100644 index 0000000000..7df8af41f1 --- /dev/null +++ b/release/0.10.0/doc_cn/design/reader/README.html @@ -0,0 +1,428 @@ + + + + + + + + + + + Python Data Reader Design Doc — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Python Data Reader Design Doc
  • +
+
+ +
+
+
+
+ +
+

Python Data Reader Design Doc

+

At training and testing time, PaddlePaddle programs need to read data. To ease the users’ work to write data reading code, we define that

+
    +
  • A reader is a function that reads data (from file, network, random number generator, etc) and yields data items.
  • +
  • A reader creator is a function that returns a reader function.
  • +
  • A reader decorator is a function, which accepts one or more readers, and returns a reader.
  • +
  • A batch reader is a function that reads data (from reader, file, network, random number generator, etc) and yields a batch of data items.
  • +
+

and provide function which converts reader to batch reader, frequently used reader creators and reader decorators.

+
+

Data Reader Interface

+

Indeed, data reader doesn’t have to be a function that reads and yields data items. It can be any function with no parameter that creates a iterable (anything can be used in for x in iterable):

+
iterable = data_reader()
+
+
+

Element produced from the iterable should be a single entry of data, not a mini batch. That entry of data could be a single item, or a tuple of items. Item should be of supported type (e.g., numpy 1d array of float32, int, list of int)

+

An example implementation for single item data reader creator:

+
def reader_creator_random_image(width, height):
+    def reader():
+        while True:
+            yield numpy.random.uniform(-1, 1, size=width*height)
+    return reader
+
+
+

An example implementation for multiple item data reader creator:

+
def reader_creator_random_image_and_label(width, height, label):
+    def reader():
+        while True:
+            yield numpy.random.uniform(-1, 1, size=width*height), label
+    return reader
+
+
+
+
+

Batch Reader Interface

+

batch reader can be any function with no parameter that creates a iterable (anything can be used in for x in iterable). The output of the iterable should be a batch (list) of data items. Each item inside the list must be a tuple.

+

Here are valid outputs:

+
# a mini batch of three data items. Each data item consist three columns of data, each of which is 1.
+[(1, 1, 1),
+(2, 2, 2),
+(3, 3, 3)]
+
+# a mini batch of three data items, each data item is a list (single column).
+[([1,1,1],),
+([2,2,2],),
+([3,3,3],),
+
+
+

Please note that each item inside the list must be a tuple, below is an invalid output:

+
 # wrong, [1,1,1] needs to be inside a tuple: ([1,1,1],).
+ # Otherwise it's ambiguous whether [1,1,1] means a single column of data [1, 1, 1],
+ # or three column of datas, each of which is 1.
+[[1,1,1],
+[2,2,2],
+[3,3,3]]
+
+
+

It’s easy to convert from reader to batch reader:

+
mnist_train = paddle.dataset.mnist.train()
+mnist_train_batch_reader = paddle.batch(mnist_train, 128)
+
+
+

Also easy to create custom batch reader:

+
def custom_batch_reader():
+    while True:
+        batch = []
+        for i in xrange(128):
+            batch.append((numpy.random.uniform(-1, 1, 28*28),)) # note that it's a tuple being appended.
+        yield batch
+
+mnist_random_image_batch_reader = custom_batch_reader
+
+
+
+
+

Usage

+

batch reader, mapping from item(s) read to data layer, batch size and number of total pass will be passed into paddle.train:

+
# two data layer is created:
+image_layer = paddle.layer.data("image", ...)
+label_layer = paddle.layer.data("label", ...)
+
+# ...
+batch_reader = paddle.batch(paddle.dataset.mnist.train(), 128)
+paddle.train(batch_reader, {"image":0, "label":1}, 128, 10, ...)
+
+
+
+
+

Data Reader Decorator

+

Data reader decorator takes a single or multiple data reader, returns a new data reader. It is similar to a python decorator, but it does not use @ syntax.

+

Since we have a strict interface for data readers (no parameter, return a single data item). Data reader can be used flexiable via data reader decorators. Following are a few examples:

+
+

Prefetch Data

+

Since reading data may take time and training can not proceed without data. It is generally a good idea to prefetch data.

+

Use paddle.reader.buffered to prefetch data:

+
buffered_reader = paddle.reader.buffered(paddle.dataset.mnist.train(), 100)
+
+
+

buffered_reader will try to buffer (prefetch) 100 data entries.

+
+
+

Compose Multiple Data Readers

+

For example, we want to use a source of real images (reusing mnist dataset), and a source of random images as input for Generative Adversarial Networks.

+

We can do:

+
def reader_creator_random_image(width, height):
+    def reader():
+        while True:
+            yield numpy.random.uniform(-1, 1, size=width*height)
+    return reader
+
+def reader_creator_bool(t):
+    def reader:
+        while True:
+            yield t
+    return reader
+
+true_reader = reader_creator_bool(True)
+false_reader = reader_creator_bool(False)
+
+reader = paddle.reader.compose(paddle.dataset.mnist.train(), data_reader_creator_random_image(20, 20), true_reader, false_reader)
+# Skipped 1 because paddle.dataset.mnist.train() produces two items per data entry.
+# And we don't care second item at this time.
+paddle.train(paddle.batch(reader, 128), {"true_image":0, "fake_image": 2, "true_label": 3, "false_label": 4}, ...)
+
+
+
+
+

Shuffle

+

Given shuffle buffer size n, paddle.reader.shuffle will return a data reader that buffers n data entries and shuffle them before a data entry is read.

+

Example:

+
reader = paddle.reader.shuffle(paddle.dataset.mnist.train(), 512)
+
+
+
+
+
+

Q & A

+
+

Why reader return only a single entry, but not a mini batch?

+

Always returning a single entry make reusing existing data readers much easier (e.g., if existing reader return not a single entry but 3 entries, training code will be more complex because it need to handle cases like batch size 2).

+

We provide function paddle.batch to turn (single entry) reader into batch reader.

+
+
+

Why do we need batch reader, isn’t train take reader and batch_size as arguments sufficient?

+

In most of the case, train taking reader and batch_size as arguments would be sufficent. However sometimes user want to customize order of data entries inside a mini batch. Or even change batch size dynamically.

+
+
+

Why use a dictionary but not a list to provide mapping?

+

We decided to use dictionary ({"image":0, "label":1}) instead of list (["image", "label"]) is because that user can easily resue item (e.g., using {"image_a":0, "image_b":0, "label":1}) or skip item (e.g., using {"image_a":0, "label":2}).

+
+
+

How to create custom data reader creator

+
def image_reader_creator(image_path, label_path, n):
+    def reader():
+        f = open(image_path)
+        l = open(label_path)
+        images = numpy.fromfile(
+            f, 'ubyte', count=n * 28 * 28).reshape((n, 28 * 28)).astype('float32')
+        images = images / 255.0 * 2.0 - 1.0
+        labels = numpy.fromfile(l, 'ubyte', count=n).astype("int")
+        for i in xrange(n):
+            yield images[i, :], labels[i] # a single entry of data is created each time
+        f.close()
+        l.close()
+    return reader
+
+# images_reader_creator creates a reader
+reader = image_reader_creator("/path/to/image_file", "/path/to/label_file", 1024)
+paddle.train(paddle.batch(reader, 128), {"image":0, "label":1}, ...)
+
+
+
+
+

How is paddle.train implemented

+

An example implementation of paddle.train could be:

+
def train(batch_reader, mapping, batch_size, total_pass):
+    for pass_idx in range(total_pass):
+        for mini_batch in batch_reader(): # this loop will never end in online learning.
+            do_forward_backward(mini_batch, mapping)
+
+
+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/faq/index_cn.html b/release/0.10.0/doc_cn/faq/index_cn.html new file mode 100644 index 0000000000..4b4cfbed8c --- /dev/null +++ b/release/0.10.0/doc_cn/faq/index_cn.html @@ -0,0 +1,593 @@ + + + + + + + + + + + FAQ — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • FAQ
  • +
+
+ +
+
+
+
+ +
+

FAQ

+ +
+

1. 如何减少内存占用

+

神经网络的训练本身是一个非常消耗内存和显存的工作,经常会消耗数10GB的内存和数GB的显存。 +PaddlePaddle的内存占用主要分为如下几个方面:

+
    +
  • DataProvider缓冲池内存(只针对内存)
  • +
  • 神经元激活内存(针对内存和显存)
  • +
  • 参数内存 (针对内存和显存)
  • +
  • 其他内存杂项
  • +
+

其中,其他内存杂项是指PaddlePaddle本身所用的一些内存,包括字符串分配,临时变量等等,暂不考虑在内。

+
+

减少DataProvider缓冲池内存

+

PyDataProvider使用的是异步加载,同时在内存里直接随即选取数据来做Shuffle。即

+digraph {
+    rankdir=LR;
+    数据文件 -> 内存池 -> PaddlePaddle训练
+} +

所以,减小这个内存池即可减小内存占用,同时也可以加速开始训练前数据载入的过程。但是,这 +个内存池实际上决定了shuffle的粒度。所以,如果将这个内存池减小,又要保证数据是随机的, +那么最好将数据文件在每次读取之前做一次shuffle。可能的代码为

+
@provider(min_pool_size=0, ...)
+def process(settings, filename):
+    os.system('shuf %s > %s.shuf' % (filename, filename))  # shuffle before.
+    with open('%s.shuf' % filename, 'r') as f:
+        for line in f:
+            yield get_sample_from_line(line)
+
+
+

这样做可以极大的减少内存占用,并且可能会加速训练过程,详细文档参考 PyDataProvider2的使用

+
+
+

神经元激活内存

+

神经网络在训练的时候,会对每一个激活暂存一些数据,如神经元激活值等。 +在反向传递的时候,这些数据会被用来更新参数。这些数据使用的内存主要和两个参数有关系, +一是batch size,另一个是每条序列(Sequence)长度。所以,其实也是和每个mini-batch中包含 +的时间步信息成正比。

+

所以做法可以有两种:

+
    +
  • 减小batch size。 即在网络配置中 settings(batch_size=1000) 设置成一个小一些的值。但是batch size本身是神经网络的超参数,减小batch size可能会对训练结果产生影响。
  • +
  • 减小序列的长度,或者直接扔掉非常长的序列。比如,一个数据集大部分序列长度是100-200, +但是突然有一个10000长的序列,就很容易导致内存超限,特别是在LSTM等RNN中。
  • +
+
+
+

参数内存

+

PaddlePaddle支持非常多的优化算法(Optimizer),不同的优化算法需要使用不同大小的内存。 +例如使用 adadelta 算法,则需要使用等于权重参数规模大约5倍的内存。举例,如果参数保存下来的模型目录 +文件为 100M, 那么该优化算法至少需要 500M 的内存。

+

可以考虑使用一些优化算法,例如 momentum

+
+
+
+

2. 如何加速PaddlePaddle的训练速度

+

加速PaddlePaddle训练可以考虑从以下几个方面:

+
    +
  • 减少数据载入的耗时
  • +
  • 加速训练速度
  • +
  • 利用分布式训练驾驭更多的计算资源
  • +
+
+

减少数据载入的耗时

+

使用pydataprovider时,可以减少缓存池的大小,同时设置内存缓存功能,即可以极大的加速数据载入流程。 +DataProvider 缓存池的减小,和之前减小通过减小缓存池来减小内存占用的原理一致。

+
@provider(min_pool_size=0, ...)
+def process(settings, filename):
+    os.system('shuf %s > %s.shuf' % (filename, filename))  # shuffle before.
+    with open('%s.shuf' % filename, 'r') as f:
+        for line in f:
+            yield get_sample_from_line(line)
+
+
+

同时 @provider 接口有一个 cache 参数来控制缓存方法,将其设置成 CacheType.CACHE_PASS_IN_MEM 的话,会将第一个 pass (过完所有训练数据即为一个pass)生成的数据缓存在内存里,在之后的 pass 中,不会再从 python 端读取数据,而是直接从内存的缓存里读取数据。这也会极大减少数据读入的耗时。

+
+
+

加速训练速度

+

PaddlePaddle支持Sparse的训练,sparse训练需要训练特征是 sparse_binary_vectorsparse_vector 、或者 integer_value 的任一一种。同时,与这个训练数据交互的Layer,需要将其Parameter设置成 sparse 更新模式,即设置 sparse_update=True

+

这里使用简单的 word2vec 训练语言模型距离,具体使用方法为:

+

使用一个词前两个词和后两个词,来预测这个中间的词。这个任务的DataProvider为:

+
DICT_DIM = 3000
+
+
+@provider(input_types=[integer_sequence(DICT_DIM), integer_value(DICT_DIM)])
+def process(settings, filename):
+    with open(filename) as f:
+        # yield word ids to predict inner word id
+        # such as [28, 29, 10, 4], 4
+        # It means the sentance is  28, 29, 4, 10, 4.
+        yield read_next_from_file(f)
+
+
+

这个任务的配置为:

+
...  # the settings and define data provider is omitted.
+DICT_DIM = 3000  # dictionary dimension.
+word_ids = data_layer('word_ids', size=DICT_DIM)
+
+emb = embedding_layer(
+    input=word_ids, size=256, param_attr=ParamAttr(sparse_update=True))
+emb_sum = pooling_layer(input=emb, pooling_type=SumPooling())
+predict = fc_layer(input=emb_sum, size=DICT_DIM, act=Softmax())
+outputs(
+    classification_cost(
+        input=predict, label=data_layer(
+            'label', size=DICT_DIM)))
+
+
+
+
+

利用更多的计算资源

+

利用更多的计算资源可以分为一下几个方式来进行:

+
    +
  • 单机CPU训练
      +
    • 使用多线程训练。设置命令行参数 trainer_count
    • +
    +
  • +
  • 单机GPU训练
      +
    • 使用显卡训练。设置命令行参数 use_gpu
    • +
    • 使用多块显卡训练。设置命令行参数 use_gputrainer_count
    • +
    +
  • +
  • 多机训练 +
  • +
+
+
+
+

3. 遇到“非法指令”或者是“illegal instruction”

+

PaddlePaddle使用avx SIMD指令提高cpu执行效率,因此错误的使用二进制发行版可能会导致这种错误,请选择正确的版本。

+
+
+

4. 如何选择SGD算法的学习率

+

在采用sgd/async_sgd进行训练时,一个重要的问题是选择正确的learning_rate。如果learning_rate太大,那么训练有可能不收敛,如果learning_rate太小,那么收敛可能很慢,导致训练时间过长。

+

通常做法是从一个比较大的learning_rate开始试,如果不收敛,那减少学习率10倍继续试验,直到训练收敛为止。那么如何判断训练不收敛呢?可以估计出如果模型采用不变的输出最小的cost0是多少。

+

如果训练过程的的cost明显高于这个常数输出的cost,那么我们可以判断为训练不收敛。举一个例子,假如我们是三分类问题,采用multi-class-cross-entropy作为cost,数据中0,1,2三类的比例为 0.2, 0.5, 0.3 , 那么常数输出所能达到的最小cost是 -(0.2*log(0.2)+0.5*log(0.5)+0.3*log(0.3))=1.03 。如果训练一个pass(或者更早)后,cost还大于这个数,那么可以认为训练不收敛,应该降低学习率。

+
+
+

5. 如何初始化参数

+

默认情况下,PaddlePaddle使用均值0,标准差为 \(\frac{1}{\sqrt{d}}\) 来初始化参数。其中 \(d\) 为参数矩阵的宽度。这种初始化方式在一般情况下不会产生很差的结果。如果用户想要自定义初始化方式,PaddlePaddle目前提供两种参数初始化的方式:

+
    +
  • 高斯分布。将 param_attr 设置成 param_attr=ParamAttr(initial_mean=0.0, initial_std=1.0)
  • +
  • 均匀分布。将 param_attr 设置成 param_attr=ParamAttr(initial_max=1.0, initial_min=-1.0)
  • +
+

比如设置一个全连接层的参数初始化方式和bias初始化方式,可以使用如下代码。

+
hidden = fc_layer(input=ipt, param_attr=ParamAttr(initial_max=1.0, initial_min=-1.0),
+                  bias_attr=ParamAttr(initial_mean=1.0, initial_std=0.0))
+
+
+

上述代码将bias全部初始化为1.0, 同时将参数初始化为 [1.0, -1.0] 的均匀分布。

+
+
+

6. 如何共享参数

+

PaddlePaddle的参数使用名字 name 作为参数的ID,相同名字的参数,会共享参数。设置参数的名字,可以使用 ParamAttr(name="YOUR_PARAM_NAME") 来设置。更方便的设置方式,是使得要共享的参数使用同样的 ParamAttr 对象。

+

简单的全连接网络,参数共享的配置示例为:

+
from paddle.trainer_config_helpers import *
+
+settings(learning_rate=1e-4, batch_size=1000)
+
+a = data_layer(name='feature_a', size=200)
+b = data_layer(name='feature_b', size=200)
+
+fc_param = ParamAttr(name='fc_param', initial_max=1.0, initial_min=-1.0)
+bias_param = ParamAttr(name='bias_param', initial_mean=0.0, initial_std=0.0)
+
+softmax_param = ParamAttr(
+    name='softmax_param', initial_max=1.0, initial_min=-1.0)
+
+hidden_a = fc_layer(
+    input=a, size=200, param_attr=fc_param, bias_attr=bias_param)
+hidden_b = fc_layer(
+    input=b, size=200, param_attr=fc_param, bias_attr=bias_param)
+
+predict = fc_layer(
+    input=[hidden_a, hidden_b],
+    param_attr=[softmax_param, softmax_param],
+    bias_attr=False,
+    size=10,
+    act=SoftmaxActivation())
+
+outputs(
+    classification_cost(
+        input=predict, label=data_layer(
+            name='label', size=10)))
+
+
+

这里 hidden_ahidden_b 使用了同样的parameter和bias。并且softmax层的两个输入也使用了同样的参数 softmax_param

+
+
+

7. *-cp27mu-linux_x86_64.whl is not a supported wheel on this platform.

+

出现这个问题的主要原因是,系统编译wheel包的时候,使用的 wheel 包是最新的, +而系统中的 pip 包比较老。具体的解决方法是,更新 pip 包并重新编译PaddlePaddle。 +更新 pip 包的方法是:

+
pip install --upgrade pip
+
+
+
+
+

8. python相关的单元测试都过不了

+

如果出现以下python相关的单元测试都过不了的情况:

+
24 - test_PyDataProvider (Failed)
+26 - test_RecurrentGradientMachine (Failed)
+27 - test_NetworkCompare (Failed)
+28 - test_PyDataProvider2 (Failed)
+32 - test_Prediction (Failed)
+33 - test_Compare (Failed)
+34 - test_Trainer (Failed)
+35 - test_TrainerOnePass (Failed)
+36 - test_CompareTwoNets (Failed)
+37 - test_CompareTwoOpts (Failed)
+38 - test_CompareSparse (Failed)
+39 - test_recurrent_machine_generation (Failed)
+40 - test_PyDataProviderWrapper (Failed)
+41 - test_config_parser (Failed)
+42 - test_swig_api (Failed)
+43 - layers_test (Failed)
+
+
+

并且查询PaddlePaddle单元测试的日志,提示:

+
paddle package is already in your PYTHONPATH. But unittest need a clean environment.
+Please uninstall paddle package before start unittest. Try to 'pip uninstall paddle'.
+
+
+

解决办法是:

+
    +
  • 卸载PaddlePaddle包 pip uninstall paddle, 清理掉老旧的PaddlePaddle安装包,使得单元测试有一个干净的环境。如果PaddlePaddle包已经在python的site-packages里面,单元测试会引用site-packages里面的python包,而不是源码目录里 /python 目录下的python包。同时,即便设置 PYTHONPATH/python 也没用,因为python的搜索路径是优先已经安装的python包。
  • +
+
+
+

9. 运行Docker GPU镜像出现 “CUDA driver version is insufficient”

+

用户在使用PaddlePaddle GPU的Docker镜像的时候,常常出现 Cuda Error: CUDA driver version is insufficient for CUDA runtime version, 原因在于没有把机器上CUDA相关的驱动和库映射到容器内部。 +具体的解决方法是:

+
$ export CUDA_SO="$(\ls usr/lib64/libcuda* | xargs -I{} echo '-v {}:{}') $(\ls /usr/lib64/libnvidia* | xargs -I{} echo '-v {}:{}')"
+$ export DEVICES=$(\ls /dev/nvidia* | xargs -I{} echo '--device {}:{}')
+$ docker run ${CUDA_SO} ${DEVICES} -it paddledev/paddlepaddle:latest-gpu
+
+
+

更多关于Docker的安装与使用, 请参考 PaddlePaddle Docker 文档

+
+
+

10. CMake源码编译, 找到的PythonLibs和PythonInterp版本不一致

+

这是目前CMake寻找Python的逻辑存在缺陷,如果系统安装了多个Python版本,CMake找到的Python库和Python解释器版本可能有不一致现象,导致编译PaddlePaddle失败。正确的解决方法是, +用户强制指定特定的Python版本,具体操作如下:

+
+
cmake .. -DPYTHON_EXECUTABLE=<exc_path> -DPYTHON_LIBRARY=<lib_path>  -DPYTHON_INCLUDE_DIR=<inc_path>
+
+
+
+

用户需要指定本机上Python的路径:<exc_path>, <lib_path>, <inc_path>

+
+
+

10. A protocol message was rejected because it was too big

+

如果在训练NLP相关模型时,出现以下错误:

+
[libprotobuf ERROR google/protobuf/io/coded_stream.cc:171] A protocol message was rejected because it was too big (more than 67108864 bytes).  To increase the limit (or to disable these warnings), see CodedInputStream::SetTotalBytesLimit() in google/protobuf/io/coded_stream.h.
+F1205 14:59:50.295174 14703 TrainerConfigHelper.cpp:59] Check failed: m->conf.ParseFromString(configProtoStr)
+
+
+

可能的原因是:传给dataprovider的某一个args过大,一般是由于直接传递大字典导致的。错误的define_py_data_sources2类似:

+
src_dict = dict()
+for line_count, line in enumerate(open(src_dict_path, "r")):
+   src_dict[line.strip()] = line_count
+
+define_py_data_sources2(
+   train_list,
+   test_list,
+   module="dataprovider",
+   obj="process",
+   args={"src_dict": src_dict})
+
+
+

解决方案是:将字典的地址作为args传给dataprovider,然后在dataprovider里面根据该地址加载字典。即define_py_data_sources2应改为:

+
define_py_data_sources2(
+   train_list,
+   test_list,
+   module="dataprovider",
+   obj="process",
+   args={"src_dict_path": src_dict_path})
+
+
+

完整源码可参考 seqToseq 示例。

+
+
+

11. 如何指定GPU设备

+

例如机器上有4块GPU,编号从0开始,指定使用2、3号GPU:

+ +
env CUDA_VISIBLE_DEVICES=2,3 paddle train --use_gpu=true --trainer_count=2
+
+
+
    +
  • 方式2:通过命令行参数 --gpu_id 指定。
  • +
+
paddle train --use_gpu=true --trainer_count=2 --gpu_id=2
+
+
+
+
+

12. 训练过程中出现 Floating point exception, 训练因此退出怎么办?

+

Paddle二进制在运行时捕获了浮点数异常,只要出现浮点数异常(即训练过程中出现NaN或者Inf),立刻退出。浮点异常通常的原因是浮点数溢出、除零等问题。 +主要原因包括两个方面:

+
    +
  • 训练过程中参数或者训练过程中的梯度尺度过大,导致参数累加,乘除等时候,导致了浮点数溢出。
  • +
  • 模型一直不收敛,发散到了一个数值特别大的地方。
  • +
  • 训练数据有问题,导致参数收敛到了一些奇异的情况。或者输入数据尺度过大,有些特征的取值达到数百万,这时进行矩阵乘法运算就可能导致浮点数溢出。
  • +
+

主要的解决办法是减小学习律或者对数据进行归一化处理。

+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/genindex.html b/release/0.10.0/doc_cn/genindex.html new file mode 100644 index 0000000000..18436bd732 --- /dev/null +++ b/release/0.10.0/doc_cn/genindex.html @@ -0,0 +1,298 @@ + + + + + + + + + + + + 索引 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • 索引
  • +
+
+ + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/getstarted/basic_usage/index_cn.html b/release/0.10.0/doc_cn/getstarted/basic_usage/index_cn.html new file mode 100644 index 0000000000..45ba93632f --- /dev/null +++ b/release/0.10.0/doc_cn/getstarted/basic_usage/index_cn.html @@ -0,0 +1,336 @@ + + + + + + + + + + + 经典的线性回归任务 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • 经典的线性回归任务
  • +
+
+ +
+
+
+
+ +
+

经典的线性回归任务

+

PaddlePaddle是源于百度的一个深度学习平台。这份简短的介绍将向你展示如何利用PaddlePaddle来解决一个经典的线性回归问题。

+
+

任务简介

+

我们展示如何用PaddlePaddle解决 单变量的线性回归 问题。线性回归的输入是一批点 (x, y) ,其中 y = wx + b + ε, 而 ε 是一个符合高斯分布的随机变量。线性回归的输出是从这批点估计出来的参数 wb

+

一个例子是房产估值。我们假设房产的价格(y)是其大小(x)的一个线性函数,那么我们可以通过收集市场上房子的大小和价格,用来估计线性函数的参数w 和 b。

+
+
+

准备数据

+

假设变量 xy 的真实关系为: y = 2x + 0.3 + ε,这里展示如何使用观测数据来拟合这一线性关系。首先,Python代码将随机产生2000个观测点,作为线性回归的输入。下面脚本符合PaddlePaddle期待的读取数据的Python程序的模式。

+
# dataprovider.py
+from paddle.trainer.PyDataProvider2 import *
+import random
+
+# 定义输入数据的类型: 2个浮点数
+@provider(input_types=[dense_vector(1), dense_vector(1)],use_seq=False)
+def process(settings, input_file):
+    for i in xrange(2000):
+        x = random.random()
+        yield [x], [2*x+0.3]
+
+
+
+
+

训练模型

+

为了还原 y = 2x + 0.3,我们先从一条随机的直线 y’ = wx + b 开始,然后利用观测数据调整 wb 使得 y’y 的差距不断减小,最终趋于接近。这个过程就是模型的训练过程,而 wb 就是模型的参数,即我们的训练目标。

+

在PaddlePaddle里,该模型的网络配置如下。

+
# trainer_config.py
+from paddle.trainer_config_helpers import *
+
+# 1. 定义数据来源,调用上面的process函数获得观测数据
+data_file = 'empty.list'
+with open(data_file, 'w') as f: f.writelines(' ')
+define_py_data_sources2(train_list=data_file, test_list=None,
+                        module='dataprovider', obj='process',args={})
+
+# 2. 学习算法。控制如何改变模型参数 w 和 b
+settings(batch_size=12, learning_rate=1e-3, learning_method=MomentumOptimizer())
+
+# 3. 神经网络配置
+x = data_layer(name='x', size=1)
+y = data_layer(name='y', size=1)
+# 线性计算网络层: ȳ = wx + b
+ȳ = fc_layer(input=x, param_attr=ParamAttr(name='w'), size=1, act=LinearActivation(), bias_attr=ParamAttr(name='b'))
+# 计算误差函数,即  ȳ 和真实 y 之间的距离
+cost = mse_cost(input= ȳ, label=y)
+outputs(cost)
+
+
+

这段简短的配置展示了PaddlePaddle的基本用法:

+
    +
  • 第一部分定义了数据输入。一般情况下,PaddlePaddle先从一个文件列表里获得数据文件地址,然后交给用户自定义的函数(例如上面的 process`函数)进行读入和预处理从而得到真实输入。本文中由于输入数据是随机生成的不需要读输入文件,所以放一个空列表(`empty.list)即可。

    +
  • +
  • 第二部分主要是选择学习算法,它定义了模型参数改变的规则。PaddlePaddle提供了很多优秀的学习算法,这里使用一个基于momentum的随机梯度下降(SGD)算法,该算法每批量(batch)读取12个采样数据进行随机梯度计算来更新更新。

    +
  • +
  • 最后一部分是神经网络的配置。由于PaddlePaddle已经实现了丰富的网络层,所以很多时候你需要做的只是定义正确的网络层并把它们连接起来。这里使用了三种网络单元:

    +
    +
      +
    • 数据层:数据层 data_layer 是神经网络的入口,它读入数据并将它们传输到接下来的网络层。这里数据层有两个,分别对应于变量 xy
    • +
    • 全连接层:全连接层 fc_layer 是基础的计算单元,这里利用它建模变量之间的线性关系。计算单元是神经网络的核心,PaddlePaddle支持大量的计算单元和任意深度的网络连接,从而可以拟合任意的函数来学习复杂的数据关系。
    • +
    • 回归误差代价层:回归误差代价层 mse_cost 是众多误差代价函数层的一种,它们在训练过程作为网络的出口,用来计算模型的误差,是模型参数优化的目标函数。
    • +
    +
    +
  • +
+

定义了网络结构并保存为 trainer_config.py 之后,运行以下训练命令:

+
paddle train --config=trainer_config.py --save_dir=./output --num_passes=30
+
+
+

PaddlePaddle将在观测数据集上迭代训练30轮,并将每轮的模型结果存放在 ./output 路径下。从输出日志可以看到,随着轮数增加误差代价函数的输出在不断的减小,这意味着模型在训练数据上不断的改进,直到逼近真实解:` y = 2x + 0.3 `

+
+
+

模型检验

+

训练完成后,我们希望能够检验模型的好坏。一种常用的做法是用学习的模型对另外一组测试数据进行预测,评价预测的效果。在这个例子中,由于已经知道了真实答案,我们可以直接观察模型的参数是否符合预期来进行检验。

+

PaddlePaddle将每个模型参数作为一个numpy数组单独存为一个文件,所以可以利用如下方法读取模型的参数。

+
import numpy as np
+import os
+
+def load(file_name):
+    with open(file_name, 'rb') as f:
+        f.read(16) # skip header for float type.
+        return np.fromfile(f, dtype=np.float32)
+
+print 'w=%.6f, b=%.6f' % (load('output/pass-00029/w'), load('output/pass-00029/b'))
+# w=1.999743, b=0.300137
+
+
+../../_images/parameters.png +

从图中可以看到,虽然 wb 都使用随机值初始化,但在起初的几轮训练中它们都在快速逼近真实值,并且后续仍在不断改进,使得最终得到的模型几乎与真实模型一致。

+

这样,我们用PaddlePaddle解决了单变量线性回归问题, 包括数据输入、模型训练和最后的结果验证。

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/getstarted/build_and_install/cmake/build_from_source_cn.html b/release/0.10.0/doc_cn/getstarted/build_and_install/cmake/build_from_source_cn.html new file mode 100644 index 0000000000..3603966b1a --- /dev/null +++ b/release/0.10.0/doc_cn/getstarted/build_and_install/cmake/build_from_source_cn.html @@ -0,0 +1,377 @@ + + + + + + + + + + + PaddlePaddle的编译选项 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

PaddlePaddle的编译选项

+

PaddlePaddle的编译选项,包括生成CPU/GPU二进制文件、链接何种BLAS库等。用户可在调用cmake的时候设置它们,详细的cmake使用方法可以参考 官方文档

+
+

Bool型的编译选项

+

用户可在cmake的命令行中,通过使用 -D 命令设置该类编译选项,例如

+
cmake .. -DWITH_GPU=OFF
+
+
+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Bool型的编译选项
选项说明默认值
WITH_GPU是否支持GPU。取决于是否寻找到CUDA工具链
WITH_DOUBLE是否使用双精度浮点数。
WITH_DSO是否运行时动态加载CUDA动态库,而非静态加载CUDA动态库。
WITH_AVX是否编译含有AVX指令集的PaddlePaddle二进制文件
WITH_PYTHON是否内嵌PYTHON解释器。方便今后的嵌入式移植工作。
WITH_STYLE_CHECK是否编译时进行代码风格检查
WITH_RDMA是否开启RDMA
WITH_TIMER是否开启计时功能。如果开启会导致运行略慢,打印的日志变多,但是方便调试和测Benchmark
WITH_TESTING是否开启单元测试取决于是否寻找到GTEST
WITH_DOC是否编译中英文文档
WITH_SWIG_PY是否编译PYTHON的SWIG接口,该接口可用于预测和定制化训练取决于是否寻找到SWIG
+
+
+

BLAS/CUDA/Cudnn的编译选项

+
+

BLAS

+

PaddlePaddle支持以下任意一种BLAS库:MKLATLASOpenBlASREFERENCE BLAS

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + +
BLAS路径相关的编译选项
编译选项描述注意
MKL_ROOTMKL的路径${MKL_ROOT}/include下需要包含mkl.h,${MKL_ROOT}/lib目录下需要包含mkl_core,mkl_sequential和mkl_intel_lp64三个库。
ATLAS_ROOTATLAS的路径${ATLAS_ROOT}/include下需要包含cblas.h,${ATLAS_ROOT}/lib下需要包含cblas和atlas两个库。
OPENBLAS_ROOTOpenBLAS的路径${OPENBLAS_ROOT}/include下需要包含cblas.h,${OPENBLAS_ROOT}/lib下需要包含openblas库。
REFERENCE_CBLAS_ROOTREFERENCE BLAS的路径${REFERENCE_CBLAS_ROOT}/include下需要包含cblas.h,${REFERENCE_CBLAS_ROOT}/lib下需要包含cblas库。
+
+
+

CUDA/Cudnn

+

PaddlePaddle可以使用cudnn v2之后的任何一个版本来编译运行,但尽量请保持编译和运行使用的cudnn是同一个版本。 我们推荐使用最新版本的cudnn v5.1。

+
+
+

编译选项的设置

+

PaddePaddle通过编译时指定路径来实现引用各种BLAS/CUDA/Cudnn库。cmake编译时,首先在系统路径(/usr/lib:/usr/local/lib)中搜索这几个库,同时也会读取相关路径变量来进行搜索。 通过使用 -D 命令可以设置,例如

+
cmake .. -DMKL_ROOT=/opt/mkl/ -DCUDNN_ROOT=/opt/cudnnv5
+
+
+

注意:这几个编译选项的设置,只在第一次cmake的时候有效。如果之后想要重新设置,推荐清理整个编译目录(rm -rf)后,再指定。

+
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/getstarted/build_and_install/docker_install_cn.html b/release/0.10.0/doc_cn/getstarted/build_and_install/docker_install_cn.html new file mode 100644 index 0000000000..2725e55a74 --- /dev/null +++ b/release/0.10.0/doc_cn/getstarted/build_and_install/docker_install_cn.html @@ -0,0 +1,401 @@ + + + + + + + + + + + PaddlePaddle的Docker容器使用方式 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

PaddlePaddle的Docker容器使用方式

+

PaddlePaddle目前唯一官方支持的运行的方式是Docker容器。因为Docker能在所有主要操作系统(包括Linux,Mac OS X和Windows)上运行。 请注意,您需要更改 Dockers设置 才能充分利用Mac OS X和Windows上的硬件资源。

+
+

PaddlePaddle发布的Docker镜像使用说明

+

我们把PaddlePaddle的编译环境打包成一个镜像,称为开发镜像,里面涵盖了 +PaddlePaddle需要的所有编译工具。把编译出来的PaddlePaddle也打包成一个镜 +像,称为生产镜像,里面涵盖了PaddlePaddle运行所需的所有环境。每次 +PaddlePaddle发布新版本的时候都会发布对应版本的生产镜像以及开发镜像。运 +行镜像包括纯CPU版本和GPU版本以及其对应的非AVX版本。我们会在 +dockerhub.com 提供最新 +的Docker镜像,可以在”tags”标签下找到最新的Paddle镜像版本。为了方便在国 +内的开发者下载Docker镜像,我们提供了国内的镜像服务器供大家使用。如果您 +在国内,请把文档里命令中的paddlepaddle/paddle替换成 +docker.paddlepaddle.org/paddle。

+
    +
  1. 开发镜像:paddlepaddle/paddle:<version>-dev

    +

    这个镜像包含了Paddle相关的开发工具以及编译和运行环境。用户可以使用开发镜像代替配置本地环境,完成开发,编译,发布, +文档编写等工作。由于不同的Paddle的版本可能需要不同的依赖和工具,所以如果需要自行配置开发环境需要考虑版本的因素。 +开发镜像包含了以下工具:

    +
      +
    • gcc/clang
    • +
    • nvcc
    • +
    • Python
    • +
    • sphinx
    • +
    • woboq
    • +
    • sshd
    • +
    +

    很多开发者会使用远程的安装有GPU的服务器工作,用户可以使用ssh登录到这台服务器上并执行 :code:`docker exec`进入开发镜像并开始工作, +也可以在开发镜像中启动一个SSHD服务,方便开发者直接登录到镜像中进行开发:

    +

    以交互容器方式运行开发镜像:

    +
    docker run -it --rm paddlepaddle/paddle:<version>-dev /bin/bash
    +
    +
    +

    或者,可以以后台进程方式运行容器:

    +
    docker run -d -p 2202:22 -p 8888:8888 paddledev/paddle:<version>-dev
    +
    +
    +

    然后用密码 root SSH进入容器:

    +
    ssh -p 2202 root@localhost
    +
    +
    +

    SSH方式的一个优点是我们可以从多个终端进入容器。比如,一个终端运行vi,另一个终端运行Python。另一个好处是我们可以把PaddlePaddle容器运行在远程服务器上,并在笔记本上通过SSH与其连接。

    +
  2. +
  3. 生产镜像:根据CPU、GPU和非AVX区分了如下4个镜像:

    +
      +
    • GPU/AVX:paddlepaddle/paddle:<version>-gpu
    • +
    • GPU/no-AVX:paddlepaddle/paddle:<version>-gpu-noavx
    • +
    • CPU/AVX:paddlepaddle/paddle:<version>
    • +
    • CPU/no-AVX:paddlepaddle/paddle:<version>-noavx
    • +
    +

    纯CPU镜像以及GPU镜像都会用到AVX指令集,但是2008年之前生产的旧电脑不支持AVX。以下指令能检查Linux电脑是否支持AVX:

    +
    if cat /proc/cpuinfo | grep -i avx; then echo Yes; else echo No; fi
    +
    +
    +

    如果输出是No,就需要选择使用no-AVX的镜像

    +

    以上方法在GPU镜像里也能用,只是请不要忘记提前在物理机上安装GPU最新驱动。 +为了保证GPU驱动能够在镜像里面正常运行,我们推荐使用[nvidia-docker](https://github.com/NVIDIA/nvidia-docker)来运行镜像。

    +
    nvidia-docker run -it --rm paddledev/paddle:0.10.0rc1-gpu /bin/bash
    +
    +
    +

    注意: 如果使用nvidia-docker存在问题,你也许可以尝试更老的方法,具体如下,但是我们并不推荐这种方法。:

    +
    export CUDA_SO="$(\ls /usr/lib64/libcuda* | xargs -I{} echo '-v {}:{}') $(\ls /usr/lib64/libnvidia* | xargs -I{} echo '-v {}:{}')"
    +export DEVICES=$(\ls /dev/nvidia* | xargs -I{} echo '--device {}:{}')
    +docker run ${CUDA_SO} ${DEVICES} -it paddledev/paddle:<version>-gpu
    +
    +
    +
  4. +
  5. 运行以及发布您的AI程序

    +

    假设您已经完成了一个AI训练的python程序 a.py,这个程序是您在开发机上使用开发镜像完成开发。此时您可以运行这个命令在开发机上进行测试运行:

    +
    docker run -it -v $PWD:/work paddle /work/a.py
    +
    +
    +

    如果要使用GPU,请运行:

    +
    nvidia-docker run -it -v $PWD:/work paddle /work/a.py
    +
    +
    +

    这里`a.py`包含的所有依赖假设都可以在Paddle的运行容器中。如果需要包含更多的依赖、或者需要发布您的应用的镜像,可以编写`Dockerfile`使用`FROM paddledev/paddle:<version>` +创建和发布自己的AI程序镜像。

    +
  6. +
+
+
+

运行PaddlePaddle Book

+

Jupyter Notebook是一个开源的web程序,大家可以通过它制作和分享带有代码、公式、图表、文字的交互式文档。用户可以通过网页浏览文档。

+

PaddlePaddle Book是为用户和开发者制作的一个交互式的Jupyter Nodebook。 +如果您想要更深入了解deep learning,PaddlePaddle Book一定是您最好的选择。

+

我们提供可以直接运行PaddlePaddle Book的Docker镜像,直接运行:

+
docker run -p 8888:8888 paddlepaddle/book
+
+
+

然后在浏览器中输入以下网址:

+
http://localhost:8888/
+
+
+

就这么简单,享受您的旅程!

+
+
+

通过Docker容器开发PaddlePaddle

+

开发人员可以在Docker开发镜像中开发PaddlePaddle。这样开发人员可以以一致的方式在不同的平台上工作 - Linux,Mac OS X和Windows。

+
    +
  1. 制作PaddlePaddle开发镜像

    +

    PaddlePaddle每次发布新版本都会发布对应的开发镜像供开发者直接使用。这里介绍如生成造这个开发镜像。 +生成Docker镜像的方式有两个,一个是直接把一个容器转换成镜像,另一个是创建Dockerfile并运行docker build指令按照Dockerfile生成镜像。第一个方法的好处是简单快捷,适合自己实验,可以快速迭代。第二个方法的好处是Dockerfile可以把整个生成流程描述很清楚,其他人很容易看懂镜像生成过程,持续集成系统也可以简单地复现这个过程。我们采用第二个方法。Dockerfile位于PaddlePaddle repo的根目录。生成生产镜像只需要运行:

    +
    git clone https://github.com/PaddlePaddle/Paddle.git
    +cd Paddle
    +docker build -t paddle:dev .
    +
    +
    +

    docker build这个命令的-t指定了生成的镜像的名字,这里我们用paddle:dev。到此,PaddlePaddle开发镜像就被构建完毕了。

    +
  2. +
  3. 制作PaddlePaddle生产镜像

    +

    生产镜像的生成分为两步,第一步是运行:

    +
    docker run -v $(pwd):/paddle -e "WITH_GPU=OFF" -e "WITH_AVX=OFF" -e "WITH_TEST=ON" paddle:dev
    +
    +
    +

    以上命令会编译PaddlePaddle,生成运行程序,以及生成创建生产镜像的Dockerfile。所有生成的的文件都在build目录下。“WITH_GPU”控制生成的生产镜像是否支持GPU,“WITH_AVX”控制生成的生产镜像是否支持AVX,”WITH_TEST“控制是否生成单元测试。

    +

    第二步是运行:

    +
    docker build -t paddle:prod -f build/Dockerfile ./build
    +
    +
    +

    以上命令会按照生成的Dockerfile把生成的程序拷贝到生产镜像中并做相应的配置,最终生成名为paddle:prod的生产镜像。

    +
  4. +
  5. 运行单元测试

    +

    运行以下指令:

    +
    docker run -it -v $(pwd):/paddle paddle:dev bash -c "cd /paddle/build && ctest"
    +
    +
    +
  6. +
+
+
+

文档

+

Paddle的Docker开发镜像带有一个通过 woboq code browser 生成的HTML版本的C++源代码,便于用户浏览C++源码。

+

只要在Docker里启动PaddlePaddle的时候给它一个名字,就可以再运行另一个Nginx Docker镜像来服务HTML代码:

+
docker run -d --name paddle-cpu-doc paddle:<version>-dev
+docker run -d --volumes-from paddle-cpu-doc -p 8088:80 nginx
+
+
+

接着我们就能够打开浏览器在 http://localhost:8088/paddle/ 浏览代码。

+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/getstarted/build_and_install/index_cn.html b/release/0.10.0/doc_cn/getstarted/build_and_install/index_cn.html new file mode 100644 index 0000000000..6ea1e19f48 --- /dev/null +++ b/release/0.10.0/doc_cn/getstarted/build_and_install/index_cn.html @@ -0,0 +1,282 @@ + + + + + + + + + + + 安装与编译 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

安装与编译

+
+

安装流程

+

PaddlePaddle提供数个预编译的二进制来进行安装,包括Docker镜像,ubuntu的deb安装包等。我们推荐使用Docker镜像来部署环境,同时欢迎贡献更多的安装包。

+ +
+
+

编译流程

+
+

警告

+

编译流程主要推荐高级用户查看,普通用户请走安装流程。

+
+ +
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/getstarted/build_and_install/ubuntu_install_cn.html b/release/0.10.0/doc_cn/getstarted/build_and_install/ubuntu_install_cn.html new file mode 100644 index 0000000000..876316aca7 --- /dev/null +++ b/release/0.10.0/doc_cn/getstarted/build_and_install/ubuntu_install_cn.html @@ -0,0 +1,312 @@ + + + + + + + + + + + Ubuntu部署PaddlePaddle — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

Ubuntu部署PaddlePaddle

+

PaddlePaddle提供了ubuntu 14.04 deb安装包。

+
+

安装

+

安装包的下载地址是: https://github.com/PaddlePaddle/Paddle/releases

+

它包含四个版本:

+
    +
  • cpu版本: 支持主流x86处理器平台, 使用了avx指令集。
  • +
  • cpu-noavx版本:支持主流x86处理器平台,没有使用avx指令集。
  • +
  • gpu版本:支持主流x86处理器平台,支持nvidia cuda平台,使用了avx指令集。
  • +
  • gpu-noavx版本:支持主流x86处理器平台,支持nvidia cuda平台,没有使用avx指令集。
  • +
+

下载完相关安装包后,执行:

+
sudo apt-get install gdebi
+gdebi paddle-*-cpu.deb
+
+
+

或者:

+
dpkg -i paddle-*-cpu.deb
+apt-get install -f
+
+
+

dpkg -i 的时候如果报一些依赖未找到的错误是正常的, +在 apt-get install -f 里会继续安装 PaddlePaddle。

+

安装完成后,可以使用命令 paddle version 查看安装后的paddle 版本:

+
PaddlePaddle 0.8.0b1, compiled with
+    with_avx: ON
+    with_gpu: OFF
+    with_double: OFF
+    with_python: ON
+    with_rdma: OFF
+    with_timer: OFF
+    with_predict_sdk:
+
+
+
+
+

可能遇到的问题

+
+

libcudart.so/libcudnn.so找不到

+

安装完成后,运行 paddle train 报错:

+
0831 12:36:04.151525  1085 hl_dso_loader.cc:70] Check failed: nullptr != *dso_handle For Gpu version of PaddlePaddle, it couldn't find CUDA library: libcudart.so Please make sure you already specify its path.Note: for training data on Cpu using Gpu version of PaddlePaddle,you must specify libcudart.so via LD_LIBRARY_PATH.
+
+
+

原因是未设置cuda运行时环境变量。 如果使用GPU版本的PaddlePaddle,请安装CUDA 7.5 和CUDNN 5到本地环境中,并设置:

+
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib:$LD_LIBRARY_PATH
+export PATH=/usr/local/cuda/bin:$PATH
+
+
+
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/getstarted/concepts/use_concepts_cn.html b/release/0.10.0/doc_cn/getstarted/concepts/use_concepts_cn.html new file mode 100644 index 0000000000..90304a74fc --- /dev/null +++ b/release/0.10.0/doc_cn/getstarted/concepts/use_concepts_cn.html @@ -0,0 +1,505 @@ + + + + + + + + + + + 基本使用概念 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

基本使用概念

+

PaddlePaddle是源于百度的一个深度学习平台。PaddlePaddle为深度学习研究人员提供了丰富的API,可以轻松地完成神经网络配置,模型训练等任务。 +这里将介绍PaddlePaddle的基本使用概念,并且展示了如何利用PaddlePaddle来解决一个经典的线性回归问题。 +在使用该文档之前,请参考 安装文档 完成PaddlePaddle的安装。

+
+

配置网络

+
+

加载PaddlePaddle

+

在进行网络配置之前,首先需要加载相应的Python库,并进行初始化操作。

+
import paddle.v2 as paddle
+import numpy as np
+paddle.init(use_gpu=False)
+
+
+
+
+

搭建神经网络

+

搭建神经网络就像使用积木搭建宝塔一样。在PaddlePaddle中,layer是我们的积木,而神经网络是我们要搭建的宝塔。我们使用不同的layer进行组合,来搭建神经网络。 +宝塔的底端需要坚实的基座来支撑,同样,神经网络也需要一些特定的layer作为输入接口,来完成网络的训练。

+

例如,我们可以定义如下layer来描述神经网络的输入:

+
x = paddle.layer.data(name='x', type=paddle.data_type.dense_vector(2))
+y = paddle.layer.data(name='y', type=paddle.data_type.dense_vector(1))
+
+
+

其中x表示输入数据是一个维度为2的稠密向量,y表示输入数据是一个维度为1的稠密向量。

+

PaddlePaddle支持不同类型的输入数据,主要包括四种类型,和三种序列模式。

+

四种数据类型:

+
    +
  • dense_vector:稠密的浮点数向量。
  • +
  • sparse_binary_vector:稀疏的01向量,即大部分值为0,但有值的地方必须为1。
  • +
  • sparse_float_vector:稀疏的向量,即大部分值为0,但有值的部分可以是任何浮点数。
  • +
  • integer:整数标签。
  • +
+

三种序列模式:

+
    +
  • SequenceType.NO_SEQUENCE:不是一条序列
  • +
  • SequenceType.SEQUENCE:是一条时间序列
  • +
  • SequenceType.SUB_SEQUENCE: 是一条时间序列,且序列的每一个元素还是一个时间序列。
  • +
+

不同的数据类型和序列模式返回的格式不同,列表如下:

+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 NO_SEQUENCESEQUENCESUB_SEQUENCE
dense_vector[f, f, ...][[f, ...], [f, ...], ...][[[f, ...], ...], [[f, ...], ...],...]
sparse_binary_vector[i, i, ...][[i, ...], [i, ...], ...][[[i, ...], ...], [[i, ...], ...],...]
sparse_float_vector[(i,f), (i,f), ...][[(i,f), ...], [(i,f), ...], ...][[[(i,f), ...], ...], [[(i,f), ...], ...],...]
integer_valuei[i, i, ...][[i, ...], [i, ...], ...]
+

其中,f代表一个浮点数,i代表一个整数。

+

注意:对sparse_binary_vector和sparse_float_vector,PaddlePaddle存的是有值位置的索引。例如,

+
    +
  • 对一个5维非序列的稀疏01向量 [0, 1, 1, 0, 0] ,类型是sparse_binary_vector,返回的是 [1, 2]
  • +
  • 对一个5维非序列的稀疏浮点向量 [0, 0.5, 0.7, 0, 0] ,类型是sparse_float_vector,返回的是 [(1, 0.5), (2, 0.7)]
  • +
+

在定义输入layer之后,我们可以使用其他layer进行组合。在组合时,需要指定layer的输入来源。

+

例如,我们可以定义如下的layer组合:

+
y_predict = paddle.layer.fc(input=x, size=1, act=paddle.activation.Linear())
+cost = paddle.layer.mse_cost(input=y_predict, label=y)
+
+
+

其中,x与y为之前描述的输入层;而y_predict是接收x作为输入,接上一个全连接层;cost接收y_predict与y作为输入,接上均方误差层。

+

最后一层cost中记录了神经网络的所有拓扑结构,通过组合不同的layer,我们即可完成神经网络的搭建。

+
+
+
+

训练模型

+

在完成神经网络的搭建之后,我们首先需要根据神经网络结构来创建所需要优化的parameters,并创建optimizer。 +之后,我们可以创建trainer来对网络进行训练。

+
parameters = paddle.parameters.create(cost)
+optimizer = paddle.optimizer.Momentum(momentum=0)
+trainer = paddle.trainer.SGD(cost=cost,
+                             parameters=parameters,
+                             update_equation=optimizer)
+
+
+

其中,trainer接收三个参数,包括神经网络拓扑结构、神经网络参数以及迭代方程。

+

在搭建神经网络的过程中,我们仅仅对神经网络的输入进行了描述。而trainer需要读取训练数据进行训练,PaddlePaddle中通过reader来加载数据。

+
# define training dataset reader
+def train_reader():
+    train_x = np.array([[1, 1], [1, 2], [3, 4], [5, 2]])
+    train_y = np.array([-2, -3, -7, -7])
+    def reader():
+        for i in xrange(train_y.shape[0]):
+            yield train_x[i], train_y[i]
+    return reader
+
+
+

最终我们可以调用trainer的train方法启动训练:

+
# define feeding map
+feeding = {'x': 0, 'y': 1}
+
+# event_handler to print training info
+def event_handler(event):
+    if isinstance(event, paddle.event.EndIteration):
+        if event.batch_id % 1 == 0:
+            print "Pass %d, Batch %d, Cost %f" % (
+                event.pass_id, event.batch_id, event.cost)
+# training
+trainer.train(
+    reader=paddle.batch(train_reader(), batch_size=1),
+    feeding=feeding,
+    event_handler=event_handler,
+    num_passes=100)
+
+
+

关于PaddlePaddle的更多使用方法请参考 进阶指南

+
+
+

线性回归完整示例

+

下面给出在三维空间中使用线性回归拟合一条直线的例子:

+
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
import paddle.v2 as paddle
+import numpy as np
+
+# init paddle
+paddle.init(use_gpu=False)
+
+# network config
+x = paddle.layer.data(name='x', type=paddle.data_type.dense_vector(2))
+y_predict = paddle.layer.fc(input=x, size=1, act=paddle.activation.Linear())
+y = paddle.layer.data(name='y', type=paddle.data_type.dense_vector(1))
+cost = paddle.layer.mse_cost(input=y_predict, label=y)
+
+# create parameters
+parameters = paddle.parameters.create(cost)
+# create optimizer
+optimizer = paddle.optimizer.Momentum(momentum=0)
+# create trainer
+trainer = paddle.trainer.SGD(cost=cost,
+                             parameters=parameters,
+                             update_equation=optimizer)
+
+
+# event_handler to print training info
+def event_handler(event):
+    if isinstance(event, paddle.event.EndIteration):
+        if event.batch_id % 1 == 0:
+            print "Pass %d, Batch %d, Cost %f" % (event.pass_id, event.batch_id,
+                                                  event.cost)
+
+
+# define training dataset reader
+def train_reader():
+    train_x = np.array([[1, 1], [1, 2], [3, 4], [5, 2]])
+    train_y = np.array([-2, -3, -7, -7])
+
+    def reader():
+        for i in xrange(train_y.shape[0]):
+            yield train_x[i], train_y[i]
+
+    return reader
+
+
+# define feeding map
+feeding = {'x': 0, 'y': 1}
+
+# training
+trainer.train(
+    reader=paddle.batch(
+        train_reader(), batch_size=1),
+    feeding=feeding,
+    event_handler=event_handler,
+    num_passes=100)
+
+
+

有关线性回归的实际应用,可以参考PaddlePaddle book的 第一章节

+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/getstarted/index_cn.html b/release/0.10.0/doc_cn/getstarted/index_cn.html new file mode 100644 index 0000000000..b30b01b6b7 --- /dev/null +++ b/release/0.10.0/doc_cn/getstarted/index_cn.html @@ -0,0 +1,266 @@ + + + + + + + + + + + 新手入门 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • 新手入门
  • +
+
+ +
+
+
+
+ + + + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/howto/deep_model/rnn/hierarchical_layer_cn.html b/release/0.10.0/doc_cn/howto/deep_model/rnn/hierarchical_layer_cn.html new file mode 100644 index 0000000000..edcfdafd7e --- /dev/null +++ b/release/0.10.0/doc_cn/howto/deep_model/rnn/hierarchical_layer_cn.html @@ -0,0 +1,353 @@ + + + + + + + + + + + 支持双层序列作为输入的Layer — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

支持双层序列作为输入的Layer

+ +
+

概述

+

在自然语言处理任务中,序列是一种常见的数据类型。一个独立的词语,可以看作是一个非序列输入,或者,我们称之为一个0层的序列;由词语构成的句子,是一个单层序列;若干个句子构成一个段落,是一个双层的序列。

+

双层序列是一个嵌套的序列,它的每一个元素,又是一个单层的序列。这是一种非常灵活的数据组织方式,帮助我们构造一些复杂的输入信息。

+

我们可以按照如下层次定义非序列,单层序列,以及双层序列。

+
    +
  • 0层序列:一个独立的元素,类型可以是PaddlePaddle支持的任意输入数据类型
  • +
  • 单层序列:排成一列的多个元素,每个元素是一个0层序列,元素之间的顺序是重要的输入信息
  • +
  • 双层序列:排成一列的多个元素,每个元素是一个单层序列,称之为双层序列的一个子序列(subseq),subseq的每个元素是一个0层序列
  • +
+

在 PaddlePaddle中,下面这些Layer能够接受双层序列作为输入,完成相应的计算。

+
+
+

pooling

+

pooling 的使用示例如下,详细见 pooling 配置API。

+
seq_pool = pooling(input=layer,
+                   pooling_type=pooling.Max(),
+                   agg_level=AggregateLevel.EACH_SEQUENCE)
+
+
+
    +
  • pooling_type 目前支持两种,分别是:pooling.Max()和pooling.Avg()。
  • +
  • agg_level=AggregateLevel.EACH_TIMESTEP 时(默认值):
      +
    • 作用:双层序列经过运算变成一个0层序列,或单层序列经过运算变成一个0层序列
    • +
    • 输入:一个双层序列,或一个单层序列
    • +
    • 输出:一个0层序列,即整个输入序列(单层或双层)的平均值(或最大值)
    • +
    +
  • +
  • agg_level=AggregateLevel.EACH_SEQUENCE 时:
      +
    • 作用:一个双层序列经过运算变成一个单层序列
    • +
    • 输入:必须是一个双层序列
    • +
    • 输出:一个单层序列,序列的每个元素是原来双层序列每个subseq元素的平均值(或最大值)
    • +
    +
  • +
+
+
+

last_seq 和 first_seq

+

last_seq 的使用示例如下( first_seq 类似),详细见 last_seq 配置API。

+
last = last_seq(input=layer,
+                agg_level=AggregateLevel.EACH_SEQUENCE)
+
+
+
    +
  • agg_level=AggregateLevel.EACH_TIMESTEP 时(默认值):
      +
    • 作用:一个双层序列经过运算变成一个0层序列,或一个单层序列经过运算变成一个0层序列
    • +
    • 输入:一个双层序列或一个单层序列
    • +
    • 输出:一个0层序列,即整个输入序列(双层或者单层)最后一个,或第一个元素。
    • +
    +
  • +
  • agg_level=AggregateLevel.EACH_SEQUENCE 时: +- 作用:一个双层序列经过运算变成一个单层序列 +- 输入:必须是一个双层序列 +- 输出:一个单层序列,其中每个元素是双层序列中每个subseq最后一个(或第一个)元素。
  • +
+
+
+

expand

+

expand 的使用示例如下,详细见 expand 配置API。

+
ex = expand(input=layer1,
+            expand_as=layer2,
+            expand_level=ExpandLevel.FROM_TIMESTEP)
+
+
+
    +
  • expand_level=ExpandLevel.FROM_TIMESTEP 时(默认值):
      +
    • 作用:一个0层序列经过运算扩展成一个单层序列,或者一个双层序列
    • +
    • 输入:layer1必须是一个0层序列,是待扩展的数据;layer2 可以是一个单层序列,或者是一个双层序列,提供扩展的长度信息
    • +
    • 输出:一个单层序列或一个双层序列,输出序列的类型(双层序列或单层序列)和序列中含有元素的数目同 layer2 一致。若输出是单层序列,单层序列的每个元素(0层序列),都是对layer1元素的拷贝;若输出是双层序列,双层序列每个subseq中每个元素(0层序列),都是对layer1元素的拷贝
    • +
    +
  • +
  • expand_level=ExpandLevel.FROM_SEQUENCE 时:
      +
    • 作用:一个单层序列经过运算扩展成一个双层序列
    • +
    • 输入:layer1必须是一个单层序列,是待扩展的数据;layer2 必须是一个双层序列,提供扩展的长度信息
    • +
    • 输出:一个双层序列,序列中含有元素的数目同 layer2 一致。要求单层序列含有元素的数目(0层序列)和双层序列含有subseq 的数目一致。单层序列第i个元素(0层序列),被扩展为一个单层序列,构成了输出双层序列的第i个 subseq 。
    • +
    +
  • +
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/howto/deep_model/rnn/hrnn_rnn_api_compare_cn.html b/release/0.10.0/doc_cn/howto/deep_model/rnn/hrnn_rnn_api_compare_cn.html new file mode 100644 index 0000000000..01fd80308f --- /dev/null +++ b/release/0.10.0/doc_cn/howto/deep_model/rnn/hrnn_rnn_api_compare_cn.html @@ -0,0 +1,884 @@ + + + + + + + + + + + 单双层RNN API对比介绍 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

单双层RNN API对比介绍

+

本文以PaddlePaddle的双层RNN单元测试为示例,用多对效果完全相同的、分别使用单双层RNN作为网络配置的模型,来讲解如何使用双层RNN。本文中所有的例子,都只是介绍双层RNN的API接口,并不是使用双层RNN解决实际的问题。如果想要了解双层RNN在具体问题中的使用,请参考algo_hrnn_demo。本文中示例所使用的单元测试文件是test_RecurrentGradientMachine.cpp

+
+

示例1:双层RNN,子序列间无Memory

+

在双层RNN中的经典情况是将内层的每一个时间序列数据,分别进行序列操作;并且内层的序列操作之间独立无依赖,即不需要使用Memory。

+

在本示例中,单层RNN和双层RNN的网络配置,都是将每一句分好词后的句子,使用LSTM作为encoder,压缩成一个向量。区别是RNN使用两层序列模型,将多句话看成一个整体同时使用encoder压缩。二者语意上完全一致。这组语义相同的示例配置如下:

+ +
+

读取双层序列数据

+

首先,本示例中使用的原始数据如下:

+
    +
  • 本例中的原始数据一共有10个样本。每个样本由两部分组成,一个label(此处都为2)和一个已经分词后的句子。这个数据也被单层RNN网络直接使用。
  • +
+
2  	酒店 有 很 舒适 的 床垫 子 , 床上用品 也 应该 是 一人 一 换 , 感觉 很 利落 对 卫生 很 放心 呀 。
+2  	很 温馨 , 也 挺 干净 的 * 地段 不错 , 出来 就 有 全家 , 离 地铁站 也 近 , 交通 很方便 * 就是 都 不 给 刷牙 的 杯子 啊 , 就 第一天 给 了 一次性杯子 *
+2  	位置 方便 , 强烈推荐 , 十一 出去玩 的 时候 选 的 , 对面 就是 华润万家 , 周围 吃饭 的 也 不少 。
+2  	交通便利 , 吃 很 便利 , 乾 浄 、 安静 , 商务 房 有 电脑 、 上网 快 , 价格 可以 , 就 早餐 不 好吃 。 整体 是 不错 的 。 適 合 出差 來 住 。
+2  	本来 准备 住 两 晚 , 第 2 天 一早 居然 停电 , 且 无 通知 , 只有 口头 道歉 。 总体来说 性价比 尚可 , 房间 较 新 , 还是 推荐 .
+2  	这个 酒店 去过 很多 次 了 , 选择 的 主要原因 是 离 客户 最 便宜 相对 又 近 的 酒店
+2  	挺好 的 汉庭 , 前台 服务 很 热情 , 卫生 很 整洁 , 房间 安静 , 水温 适中 , 挺好 !
+2  	HowardJohnson 的 品质 , 服务 相当 好 的 一 家 五星级 。 房间 不错 、 泳池 不错 、 楼层 安排 很 合理 。 还有 就是 地理位置 , 简直 一 流 。 就 在 天一阁 、 月湖 旁边 , 离 天一广场 也 不远 。 下次 来 宁波 还会 住 。
+2  	酒店 很干净 , 很安静 , 很 温馨 , 服务员 服务 好 , 各方面 都 不错 *
+2  	挺好 的 , 就是 没 窗户 , 不过 对 得 起 这 价格
+
+
+
    +
  • 双层序列数据一共有4个样本。 每个样本间用空行分开,整体数据和原始数据完全一样。但于双层序列的LSTM来说,第一个样本同时encode两条数据成两个向量。这四条数据同时处理的句子数量为[2, 3, 2, 3]
  • +
+
2  	酒店 有 很 舒适 的 床垫 子 , 床上用品 也 应该 是 一人 一 换 , 感觉 很 利落 对 卫生 很 放心 呀 。
+2  	很 温馨 , 也 挺 干净 的 * 地段 不错 , 出来 就 有 全家 , 离 地铁站 也 近 , 交通 很方便 * 就是 都 不 给 刷牙 的 杯子 啊 , 就 第一天 给 了 一次性杯子 *
+
+2  	位置 方便 , 强烈推荐 , 十一 出去玩 的 时候 选 的 , 对面 就是 华润万家 , 周围 吃饭 的 也 不少 。
+2  	交通便利 , 吃 很 便利 , 乾 浄 、 安静 , 商务 房 有 电脑 、 上网 快 , 价格 可以 , 就 早餐 不 好吃 。 整体 是 不错 的 。 適 合 出差 來 住 。
+2  	本来 准备 住 两 晚 , 第 2 天 一早 居然 停电 , 且 无 通知 , 只有 口头 道歉 。 总体来说 性价比 尚可 , 房间 较 新 , 还是 推荐 .
+
+2  	这个 酒店 去过 很多 次 了 , 选择 的 主要原因 是 离 客户 最 便宜 相对 又 近 的 酒店
+2  	挺好 的 汉庭 , 前台 服务 很 热情 , 卫生 很 整洁 , 房间 安静 , 水温 适中 , 挺好 !
+
+2  	HowardJohnson 的 品质 , 服务 相当 好 的 一 家 五星级 。 房间 不错 、 泳池 不错 、 楼层 安排 很 合理 。 还有 就是 地理位置 , 简直 一 流 。 就 在 天一阁 、 月湖 旁边 , 离 天一广场 也 不远 。 下次 来 宁波 还会 住 。
+2  	酒店 很干净 , 很安静 , 很 温馨 , 服务员 服务 好 , 各方面 都 不错 *
+2  	挺好 的 , 就是 没 窗户 , 不过 对 得 起 这 价格
+
+
+

其次,对于两种不同的输入数据类型,不同DataProvider对比如下(sequenceGen.py):

+
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
def hook(settings, dict_file, **kwargs):
+    settings.word_dict = dict_file
+    settings.input_types = [
+        integer_value_sequence(len(settings.word_dict)), integer_value(3)
+    ]
+    settings.logger.info('dict len : %d' % (len(settings.word_dict)))
+
+
+@provider(init_hook=hook, should_shuffle=False)
+def process(settings, file_name):
+    with open(file_name, 'r') as fdata:
+        for line in fdata:
+            label, comment = line.strip().split('\t')
+            label = int(''.join(label.split()))
+            words = comment.split()
+            words = [
+                settings.word_dict[w] for w in words if w in settings.word_dict
+            ]
+            yield words, label
+
+
+
    +
  • 这是普通的单层时间序列的DataProvider代码,其说明如下:
      +
    • DataProvider共返回两个数据,分别是words和label。即上述代码中的第19行。
        +
      • words是原始数据中的每一句话,所对应的词表index数组。它是integer_value_sequence类型的,即整数数组。words即为这个数据中的单层时间序列。
      • +
      • label是原始数据中对于每一句话的分类标签,它是integer_value类型的。
      • +
      +
    • +
    +
  • +
+
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
## for hierarchical sequence network
+def hook2(settings, dict_file, **kwargs):
+    settings.word_dict = dict_file
+    settings.input_types = [
+        integer_value_sub_sequence(len(settings.word_dict)),
+        integer_value_sequence(3)
+    ]
+    settings.logger.info('dict len : %d' % (len(settings.word_dict)))
+
+
+@provider(init_hook=hook2, should_shuffle=False)
+def process2(settings, file_name):
+    with open(file_name) as fdata:
+        labels = []
+        sentences = []
+        for line in fdata:
+            if (len(line)) > 1:
+                label, comment = line.strip().split('\t')
+                label = int(''.join(label.split()))
+                words = comment.split()
+                words = [
+                    settings.word_dict[w] for w in words
+                    if w in settings.word_dict
+                ]
+                labels.append(label)
+                sentences.append(words)
+            else:
+                yield sentences, labels
+                labels = []
+                sentences = []
+
+
+
    +
  • 对于同样的数据,双层时间序列的DataProvider的代码。其说明如下:
      +
    • DataProvider共返回两组数据,分别是sentences和labels。即在双层序列的原始数据中,每一组内的所有句子和labels
    • +
    • sentences是双层时间序列的数据。由于它内部包含了每组数据中的所有句子,且每个句子表示为对应的词表索引数组,因此它是integer_value_sub_sequence 类型的,即双层时间序列。
    • +
    • labels是每组内每个句子的标签,故而是一个单层时间序列。
    • +
    +
  • +
+
+
+

模型配置的模型配置

+

首先,我们看一下单层RNN的配置。代码中9-15行(高亮部分)即为单层RNN序列的使用代码。这里使用了PaddlePaddle预定义好的RNN处理函数。在这个函数中,RNN对于每一个时间步通过了一个LSTM网络。

+
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
data = data_layer(name="word", size=dict_dim)
+
+emb = embedding_layer(input=data, size=word_dim)
+
+# (lstm_input + lstm) is equal to lstmemory 
+with mixed_layer(size=hidden_dim * 4) as lstm_input:
+    lstm_input += full_matrix_projection(input=emb)
+
+lstm = lstmemory_group(
+    input=lstm_input,
+    size=hidden_dim,
+    act=TanhActivation(),
+    gate_act=SigmoidActivation(),
+    state_act=TanhActivation())
+
+lstm_last = last_seq(input=lstm)
+
+with mixed_layer(
+        size=label_dim, act=SoftmaxActivation(), bias_attr=True) as output:
+    output += full_matrix_projection(input=lstm_last)
+
+outputs(
+    classification_cost(
+        input=output, label=data_layer(
+            name="label", size=1)))
+
+
+

其次,我们看一下语义相同的双层RNN的网络配置:

+
    +
  • PaddlePaddle中的许多layer并不在意输入是否是时间序列,例如embedding_layer。在这些layer中,所有的操作都是针对每一个时间步来进行的。
  • +
  • 在该配置的7-26行(高亮部分),将双层时间序列数据先变换成单层时间序列数据,再对每一个单层时间序列进行处理。
      +
    • 使用recurrent_group这个函数进行变换,在变换时需要将输入序列传入。由于我们想要的变换是双层时间序列=> 单层时间序列,所以我们需要将输入数据标记成SubsequenceInput
    • +
    • 在本例中,我们将原始数据的每一组,通过recurrent_group进行拆解,拆解成的每一句话再通过一个LSTM网络。这和单层RNN的配置是等价的。
    • +
    +
  • +
  • 与单层RNN的配置类似,我们只需要使用LSTM encode成的最后一个向量。所以对recurrent_group进行了last_seq操作。但和单层RNN不同,我们是对每一个子序列取最后一个元素,因此agg_level=AggregateLevel.EACH_SEQUENCE
  • +
  • 至此,lstm_last便和单层RNN配置中的lstm_last具有相同的结果了。
  • +
+
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
data = data_layer(name="word", size=dict_dim)
+
+emb_group = embedding_layer(input=data, size=word_dim)
+
+
+# (lstm_input + lstm) is equal to lstmemory 
+def lstm_group(lstm_group_input):
+    with mixed_layer(size=hidden_dim * 4) as group_input:
+        group_input += full_matrix_projection(input=lstm_group_input)
+
+    lstm_output = lstmemory_group(
+        input=group_input,
+        name="lstm_group",
+        size=hidden_dim,
+        act=TanhActivation(),
+        gate_act=SigmoidActivation(),
+        state_act=TanhActivation())
+    return lstm_output
+
+
+lstm_nest_group = recurrent_group(
+    input=SubsequenceInput(emb_group), step=lstm_group, name="lstm_nest_group")
+# hasSubseq ->(seqlastins) seq
+lstm_last = last_seq(
+    input=lstm_nest_group, agg_level=AggregateLevel.EACH_SEQUENCE)
+
+# seq ->(expand) hasSubseq
+
+
+
+
+
+

示例2:双层RNN,子序列间有Memory

+

本示例意图使用单层RNN和双层RNN实现两个完全等价的全连接RNN。

+
    +
  • 对于单层RNN,输入数据为一个完整的时间序列,例如[4, 5, 2, 0, 9, 8, 1, 4]
  • +
  • 对于双层RNN,输入数据为在单层RNN数据里面,任意将一些数据组合成双层时间序列,例如[ [4, 5, 2], [0, 9], [8, 1, 4]]
  • +
+
+

模型配置的模型配置

+

我们选取单双层序列配置中的不同部分,来对比分析两者语义相同的原因。

+
    +
  • 单层RNN:过了一个很简单的recurrent_group。每一个时间步,当前的输入y和上一个时间步的输出rnn_state做了一个全链接。
  • +
+
def step(y):
+    mem = memory(name="rnn_state", size=hidden_dim)
+    out = fc_layer(input=[y, mem],
+                    size=hidden_dim,
+                    act=TanhActivation(),
+                    bias_attr=True,
+                    name="rnn_state")
+    return out
+
+out = recurrent_group(
+    name="rnn",
+    step=step,
+    input=emb)
+
+
+
    +
  • 双层RNN,外层memory是一个元素:
      +
    • 内层inner_step的recurrent_group和单层序列的几乎一样。除了boot_layer=outer_mem,表示将外层的outer_mem作为内层memory的初始状态。外层outer_step中,outer_mem是一个子句的最后一个向量,即整个双层group是将前一个子句的最后一个向量,作为下一个子句memory的初始状态。
    • +
    • 从输入数据上看,单双层序列的句子是一样的,只是双层序列将其又做了子序列划分。因此双层序列的配置中,必须将前一个子句的最后一个元素,作为boot_layer传给下一个子句的memory,才能保证和单层序列的配置中“每个时间步都用了上一个时间步的输出结果”一致。
    • +
    +
  • +
+
def outer_step(x):
+    outer_mem = memory(name="outer_rnn_state", size=hidden_dim)
+    def inner_step(y):
+        inner_mem = memory(name="inner_rnn_state",
+                           size=hidden_dim,
+                           boot_layer=outer_mem)
+        out = fc_layer(input=[y, inner_mem],
+                        size=hidden_dim,
+                        act=TanhActivation(),
+                        bias_attr=True,
+                        name="inner_rnn_state")
+        return out
+
+    inner_rnn_output = recurrent_group(
+        step=inner_step,
+        name="inner",
+        input=x)
+    last = last_seq(input=inner_rnn_output, name="outer_rnn_state")
+
+    # "return last" won't work, because recurrent_group only support the input 
+    # sequence type is same as return sequence type.
+    return inner_rnn_output
+
+out = recurrent_group(
+    name="outer",
+    step=outer_step,
+    input=SubsequenceInput(emb))
+
+
+
+
+

警告

+

PaddlePaddle目前只支持在每个时间步中,Memory的时间序列长度一致的情况。

+
+
+
+
+

示例3:双层RNN,输入不等长

+

输入不等长 是指recurrent_group的多个输入序列,在每个时间步的子序列长度可以不相等。但序列输出时,需要指定与某一个输入的序列信息是一致的。使用targetInlink可以指定哪一个输入和输出序列信息一致,默认指定第一个输入。

+

示例3的配置分别为单层不等长RNN双层不等长RNN

+

示例3对于单层RNN和双层RNN数据完全相同。

+
    +
  • 对于单层RNN的数据一共有两个样本,他们分别是[1, 2, 4, 5, 2], [5, 4, 1, 3, 1][0, 2, 2, 5, 0, 1, 2], [1, 5, 4, 2, 3, 6, 1]。对于每一个单层RNN的数据,均有两组特征。
  • +
  • 在单层数据的基础上,双层RNN数据随意加了一些隔断,例如将第一条数据转化为[[0, 2], [2, 5], [0, 1, 2]],[[1, 5], [4], [2, 3, 6, 1]]
  • +
  • 需要注意的是PaddlePaddle目前只支持子序列数目一样的多输入双层RNN。例如本例中的两个特征,均有三个子序列。每个子序列长度可以不一致,但是子序列的数目必须一样。
  • +
+
+

模型配置

+

和示例2中的配置类似,示例3的配置使用了单层RNN和双层RNN,实现两个完全等价的全连接RNN。

+
    +
  • 单层RNN:
  • +
+
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
def step(x1, x2):
+    def calrnn(y):
+        mem = memory(name='rnn_state_' + y.name, size=hidden_dim)
+        out = fc_layer(
+            input=[y, mem],
+            size=hidden_dim,
+            act=TanhActivation(),
+            bias_attr=True,
+            name='rnn_state_' + y.name)
+        return out
+
+    encoder1 = calrnn(x1)
+    encoder2 = calrnn(x2)
+    return [encoder1, encoder2]
+
+
+encoder1_rep, encoder2_rep = recurrent_group(
+    name="stepout", step=step, input=[emb1, emb2])
+
+
+
    +
  • 双层RNN:
  • +
+
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
def outer_step(x1, x2):
+    index = [0]
+
+    def inner_step(ipt):
+        index[0] += 1
+        i = index[0]
+        outer_mem = memory(name="outer_rnn_state_%d" % i, size=hidden_dim)
+
+        def inner_step_impl(y):
+            inner_mem = memory(
+                name="inner_rnn_state_" + y.name,
+                size=hidden_dim,
+                boot_layer=outer_mem)
+            out = fc_layer(
+                input=[y, inner_mem],
+                size=hidden_dim,
+                act=TanhActivation(),
+                bias_attr=True,
+                name='inner_rnn_state_' + y.name)
+            return out
+
+        encoder = recurrent_group(
+            step=inner_step_impl, name='inner_%d' % i, input=ipt)
+        last = last_seq(name="outer_rnn_state_%d" % i, input=encoder)
+        return encoder, last
+
+    encoder1, sentence_last_state1 = inner_step(ipt=x1)
+    encoder2, sentence_last_state2 = inner_step(ipt=x2)
+
+    encoder1_expand = expand_layer(
+        input=sentence_last_state1, expand_as=encoder2)
+
+    return [encoder1_expand, encoder2]
+
+
+encoder1_rep, encoder2_rep = recurrent_group(
+    name="outer",
+    step=outer_step,
+    input=[SubsequenceInput(emb1), SubsequenceInput(emb2)],
+    targetInlink=emb2)
+
+
+

在上面代码中,单层和双层序列的使用和示例2中的示例类似,区别是同时处理了两个输入。而对于双层序列,两个输入的子序列长度也并不相同。但是,我们使用了targetInlink参数设置了外层recurrent_group的输出格式。所以外层输出的序列形状,和emb2的序列形状一致。

+
+
+ +
+

词汇表

+
+

Memory

+

Memory是PaddlePaddle实现RNN时候使用的一个概念。RNN即时间递归神经网络,通常要求时间步之间具有一些依赖性,即当前时间步下的神经网络依赖前一个时间步神经网络中某一个神经元输出。如下图所示。

+digraph G{
+	subgraph cluster_timestep0 {
+		label="recurrent timestep i-1"
+		bgcolor=lightgray
+		node [style=filled,color=white]
+		fc0_0 [label="fc 0"]
+		fc0_1 [label="fc 1"]
+		fc0_2 [label="fc 2"]
+
+		fc0_0 -> fc0_1
+		fc0_1 -> fc0_2
+	}
+
+	subgraph cluster_timestep1 {
+		label="recurrent timestep i"
+		node [style=filled];
+		fc1_0 [label="fc 0"]
+		fc1_1 [label="fc 1"]
+		fc1_2 [label="fc 2"]
+		color=blue
+
+		fc1_0 -> fc1_1
+		fc1_1 -> fc1_2
+	}
+
+	subgraph cluster_timestep2 {
+		label="recurrent timestep i+1"
+		bgcolor=lightgray
+		node [style=filled,color=white]
+		fc2_0 [label="fc 0"]
+		fc2_1 [label="fc 1"]
+		fc2_2 [label="fc 2"]
+
+		fc2_0 -> fc2_1
+		fc2_1 -> fc2_2
+	}
+	
+	
+	fc0_1 -> fc1_1 [style="dotted" constraint=false]
+	fc1_1 -> fc2_1 [style="dotted" constraint=false]
+
+} +

上图中虚线的连接,即是跨越时间步的网络连接。PaddlePaddle在实现RNN的时候,将这种跨越时间步的连接用一个特殊的神经网络单元实现。这个神经网络单元就叫Memory。Memory可以缓存上一个时刻某一个神经元的输出,然后在下一个时间步输入给另一个神经元。使用Memory的RNN实现便如下图所示。

+digraph G{
+	subgraph cluster_timestep0 {
+		label="recurrent timestep i-1"
+		bgcolor=lightgray
+		node [style=filled,color=white]
+		fc0_0 [label="fc 0"]
+		fc0_1 [label="fc 1"]
+		fc0_2 [label="fc 2"]
+		m0 [label="memory"]
+		fc0_0 -> fc0_1
+		fc0_1 -> fc0_2
+		fc0_1 -> m0
+		m0 -> fc0_1
+	}
+
+	subgraph cluster_timestep1 {
+		label="recurrent timestep i"
+		node [style=filled];
+		fc1_0 [label="fc 0"]
+		fc1_1 [label="fc 1"]
+		fc1_2 [label="fc 2"]
+		m1 [label="memory"]
+		color=blue
+		fc1_0 -> fc1_1
+		fc1_1 -> fc1_2
+		fc1_1 -> m1
+		m1 -> fc1_1
+	}
+
+	subgraph cluster_timestep2 {
+		label="recurrent timestep i+1"
+		bgcolor=lightgray
+		node [style=filled,color=white]
+		fc2_0 [label="fc 0"]
+		fc2_1 [label="fc 1"]
+		fc2_2 [label="fc 2"]
+		m2 [label="memory"]
+		fc2_0 -> fc2_1
+		fc2_1 -> fc2_2
+		fc2_1 -> m2
+		m2 -> fc2_1
+	}
+	
+	
+	m0 -> m1 [style="dotted" constraint=false]
+	m1 -> m2 [style="dotted" constraint=false]
+
+} +

使用这种方式,PaddlePaddle可以比较简单的判断哪些输出是应该跨越时间步的,哪些不是。

+
+
+

时间步

+

参考时间序列。

+
+
+

时间序列

+

时间序列(time series)是指一系列的特征数据。这些特征数据之间的顺序是有意义的。即特征的数组,而不是特征的集合。而这每一个数组元素,或者每一个系列里的特征数据,即为一个时间步(time step)。值得注意的是,时间序列、时间步的概念,并不真正的和『时间』有关。只要一系列特征数据中的『顺序』是有意义的,即为时间序列的输入。

+

举例说明,例如文本分类中,我们通常将一句话理解成一个时间序列。比如一句话中的每一个单词,会变成词表中的位置。而这一句话就可以表示成这些位置的数组。例如 [9, 2, 3, 5, 3]

+

关于时间序列(time series)的更详细准确的定义,可以参考 维基百科页面 Time series 或者 维基百科中文页面 时间序列

+

另外,Paddle中经常会将时间序列成为 Sequence 。他们在Paddle的文档和API中是一个概念。

+
+
+

RNN

+

RNN 在PaddlePaddle的文档中,一般表示 Recurrent neural network,即时间递归神经网络。详细介绍可以参考 维基百科页面 Recurrent neural network 或者 中文维基百科页面 中关于时间递归神经网络的介绍。

+

RNN 一般在PaddlePaddle中,指对于一个时间序列输入数据,每一个时间步之间的神经网络具有一定的相关性。例如,某一个神经元的一个输入为上一个时间步网络中某一个神经元的输出。或者,从每一个时间步来看,神经网络的网络结构中具有有向环结构。

+
+
+

双层RNN

+

双层RNN顾名思义,即RNN之间有一次嵌套关系。输入数据整体上是一个时间序列,而对于每一个内层特征数据而言,也是一个时间序列。即二维数组,或者数组的数组这个概念。 而双层RNN是可以处理这种输入数据的网络结构。

+

例如,对于段落的文本分类,即将一段话进行分类。我们将一段话看成句子的数组,每个句子又是单词的数组。这便是一种双层RNN的输入数据。而将这个段落的每一句话用lstm编码成一个向量,再对每一句话的编码向量用lstm编码成一个段落的向量。再对这个段落向量进行分类,即为这个双层RNN的网络结构。

+
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/howto/deep_model/rnn/index_cn.html b/release/0.10.0/doc_cn/howto/deep_model/rnn/index_cn.html new file mode 100644 index 0000000000..70d7ef981c --- /dev/null +++ b/release/0.10.0/doc_cn/howto/deep_model/rnn/index_cn.html @@ -0,0 +1,267 @@ + + + + + + + + + + + RNN相关模型 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+ + + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/howto/deep_model/rnn/recurrent_group_cn.html b/release/0.10.0/doc_cn/howto/deep_model/rnn/recurrent_group_cn.html new file mode 100644 index 0000000000..20f4af7115 --- /dev/null +++ b/release/0.10.0/doc_cn/howto/deep_model/rnn/recurrent_group_cn.html @@ -0,0 +1,358 @@ + + + + + + + + + + + Recurrent Group教程 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

Recurrent Group教程

+
+

概述

+

序列数据是自然语言处理任务面对的一种主要输入数据类型。

+

一句话是由词语构成的序列,多句话进一步构成了段落。因此,段落可以看作是一个嵌套的双层的序列,这个序列的每个元素又是一个序列。

+

双层序列是PaddlePaddle支持的一种非常灵活的数据组织方式,帮助我们更好地描述段落、多轮对话等更为复杂的语言数据。基于双层序列输入,我们可以设计搭建一个灵活的、层次化的RNN,分别从词语和句子级别编码输入数据,同时也能够引入更加复杂的记忆机制,更好地完成一些复杂的语言理解任务。

+

在PaddlePaddle中,recurrent_group是一种任意复杂的RNN单元,用户只需定义RNN在一个时间步内完成的计算,PaddlePaddle负责完成信息和误差在时间序列上的传播。

+

更进一步,recurrent_group同样可以扩展到双层序列的处理上。通过两个嵌套的recurrent_group分别定义子句级别和词语级别上需要完成的运算,最终实现一个层次化的复杂RNN。

+

目前,在PaddlePaddle中,能够对双向序列进行处理的有recurrent_group和部分Layer,具体可参考文档:支持双层序列作为输入的Layer

+
+
+

相关概念

+
+

基本原理

+

recurrent_group 是PaddlePaddle支持的一种任意复杂的RNN单元。使用者只需要关注于设计RNN在一个时间步之内完成的计算,PaddlePaddle负责完成信息和梯度在时间序列上的传播。

+

PaddlePaddle中,recurrent_group的一个简单调用如下:

+
recurrent_group(step, input, reverse)
+
+
+
    +
  • step:一个可调用的函数,定义一个时间步之内RNN单元完成的计算
  • +
  • input:输入,必须是一个单层序列,或者一个双层序列
  • +
  • reverse:是否以逆序处理输入序列
  • +
+

使用recurrent_group的核心是设计step函数的计算逻辑。step函数内部可以自由组合PaddlePaddle支持的各种layer,完成任意的运算逻辑。recurrent_group 的输入(即input)会成为step函数的输入,由于step 函数只关注于RNN一个时间步之内的计算,在这里recurrent_group替我们完成了原始输入数据的拆分。

+
+
+

输入

+

recurrent_group处理的输入序列主要分为以下三种类型:

+
    +
  • 数据输入:一个双层序列进入recurrent_group会被拆解为一个单层序列,一个单层序列进入recurrent_group会被拆解为非序列,然后交给step函数,这一过程对用户是完全透明的。可以有以下两种:1)通过data_layer拿到的用户输入;2)其它layer的输出。
  • +
  • 只读Memory输入StaticInput 定义了一个只读的Memory,由StaticInput指定的输入不会被recurrent_group拆解,recurrent_group 循环展开的每个时间步总是能够引用所有输入,可以是一个非序列,或者一个单层序列。
  • +
  • 序列生成任务的输入GeneratedInput只用于在序列生成任务中指定输入数据。
  • +
+
+
+

输入示例

+

序列生成任务大多遵循encoder-decoer架构,encoder和decoder可以是能够处理序列的任意神经网络单元,而RNN是最流行的选择。

+

给定encoder输出和当前词,decoder每次预测产生下一个最可能的词语。在这种结构中,decoder接受两个输入:

+
    +
  • 要生成的目标序列:是decoder的数据输入,也是decoder循环展开的依据,recurrent_group会对这类输入进行拆解。
  • +
  • encoder输出,可以是一个非序列,或者一个单层序列:是一个unbounded memory,decoder循环展开的每一个时间步会引用全部结果,不应该被拆解,这种类型的输入必须通过StaticInput指定。关于Unbounded Memory的更多讨论请参考论文 Neural Turning Machine
  • +
+

在序列生成任务中,decoder RNN总是引用上一时刻预测出的词的词向量,作为当前时刻输入。GeneratedInput自动完成这一过程。

+
+
+

输出

+

step函数必须返回一个或多个Layer的输出,这个Layer的输出会作为整个recurrent_group 最终的输出结果。在输出的过程中,recurrent_group 会将每个时间步的输出拼接,这个过程对用户也是透明的。

+
+
+

memory

+

memory只能在recurrent_group中定义和使用。memory不能独立存在,必须指向一个PaddlePaddle定义的Layer。引用memory得到这layer上一时刻输出,因此,可以将memory理解为一个时延操作。

+

可以显示地指定一个layer的输出用于初始化memory。不指定时,memory默认初始化为0。

+
+
+
+

双层RNN介绍

+

recurrent_group帮助我们完成对输入序列的拆分,对输出的合并,以及计算逻辑在序列上的循环展开。

+

利用这种特性,两个嵌套的recurrent_group能够处理双层序列,实现词语和句子两个级别的双层RNN结构。

+
    +
  • 单层(word-level)RNN:每个状态(state)对应一个词(word)。
  • +
  • 双层(sequence-level)RNN:一个双层RNN由多个单层RNN组成,每个单层RNN(即双层RNN的每个状态)对应一个子句(subseq)。
  • +
+

为了描述方便,下文以NLP任务为例,将含有子句(subseq)的段落定义为一个双层序列,将含有词语的句子定义为一个单层序列,那么0层序列即为一个词语。

+
+
+

双层RNN的使用

+
+

训练流程的使用方法

+

使用 recurrent_group需要遵循以下约定:

+
    +
  • 单进单出:输入和输出都是单层序列。
      +
    • 如果有多个输入,不同输入序列含有的词语数必须严格相等。
    • +
    • 输出一个单层序列,输出序列的词语数和输入序列一致。
    • +
    • memory:在step函数中定义 memory指向一个layer,通过引用memory得到这个layer上一个时刻输出,形成recurrent 连接。memory的is_seq参数必须为false。如果没有定义memory,每个时间步之内的运算是独立的。
    • +
    • boot_layer:memory的初始状态,默认初始状为0,memory的is_seq参数必须为false。
    • +
    +
  • +
  • 双进双出:输入和输出都是双层序列。
      +
    • 如果有多个输入序列,不同输入含有的子句(subseq)数必须严格相等,但子句含有的词语数可以不相等。
    • +
    • 输出一个双层序列,子句(subseq)数、子句的单词数和指定的一个输入序列一致,默认为第一个输入。
    • +
    • memory:在step函数中定义memory,指向一个layer,通过引用memory得到这个layer上一个时刻的输出,形成recurrent连接。定义在外层recurrent_group step函数中的memory,能够记录上一个subseq 的状态,可以是一个单层序列(只作为read-only memory),也可以是一个词语。如果没有定义memory,那么 subseq 之间的运算是独立的。
    • +
    • boot_layer:memory 初始状态,可以是一个单层序列(只作为read-only memory)或一个向量。默认不设置,即初始状态为0。
    • +
    +
  • +
  • 双进单出:目前还未支持,会报错”In hierachical RNN, all out links should be from sequences now”。
  • +
+
+
+

生成流程的使用方法

+

使用beam_search需要遵循以下约定:

+
    +
  • 单层RNN:从一个word生成下一个word。
  • +
  • 双层RNN:即把单层RNN生成后的subseq给拼接成一个新的双层seq。从语义上看,也不存在一个subseq直接生成下一个subseq的情况。
  • +
+
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/howto/deep_model/rnn/rnn_config_cn.html b/release/0.10.0/doc_cn/howto/deep_model/rnn/rnn_config_cn.html new file mode 100644 index 0000000000..b121cba392 --- /dev/null +++ b/release/0.10.0/doc_cn/howto/deep_model/rnn/rnn_config_cn.html @@ -0,0 +1,486 @@ + + + + + + + + + + + RNN配置 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • RNN配置
  • +
+
+ +
+
+
+
+ +
+

RNN配置

+

本教程将指导你如何在 PaddlePaddle +中配置循环神经网络(RNN)。PaddlePaddle +高度支持灵活和高效的循环神经网络配置。 在本教程中,您将了解如何:

+
    +
  • 准备用来学习循环神经网络的序列数据。
  • +
  • 配置循环神经网络架构。
  • +
  • 使用学习完成的循环神经网络模型生成序列。
  • +
+

我们将使用 vanilla 循环神经网络和 sequence to sequence +模型来指导你完成这些步骤。sequence to sequence +模型的代码可以在demo / seqToseq找到。

+
+

准备序列数据

+

PaddlePaddle +不需要对序列数据进行任何预处理,例如填充。唯一需要做的是将相应类型设置为输入。例如,以下代码段定义了三个输入。 +它们都是序列,它们的大小是src_dicttrg_dicttrg_dict

+
settings.input_types = [
+  integer_value_sequence(len(settings.src_dict)),
+  integer_value_sequence(len(settings.trg_dict)),
+  integer_value_sequence(len(settings.trg_dict))]
+
+
+

process函数中,每个yield函数将返回三个整数列表。每个整数列表被视为一个整数序列:

+
yield src_ids, trg_ids, trg_ids_next
+
+
+

有关如何编写数据提供程序的更多细节描述,请参考 PyDataProvider2的使用 。完整的数据提供文件在 +demo/seqToseq/dataprovider.py

+
+
+

配置循环神经网络架构

+
+

简单门控循环神经网络(Gated Recurrent Neural Network)

+

循环神经网络在每个时间步骤顺序地处理序列。下面列出了 LSTM 的架构的示例。

+../../../_images/bi_lstm.jpg +

一般来说,循环网络从 \(t=1\)\(t=T\) 或者反向地从 \(t=T\)\(t=1\) 执行以下操作。

+
+\[x_{t+1} = f_x(x_t), y_t = f_y(x_t)\]
+

其中 \(f_x(.)\) 称为单步函数(即单时间步执行的函数,step +function),而 \(f_y(.)\) 称为输出函数。在 vanilla +循环神经网络中,单步函数和输出函数都非常简单。然而,PaddlePaddle +可以通过修改这两个函数来实现复杂的网络配置。我们将使用 sequence to +sequence +模型演示如何配置复杂的循环神经网络模型。在本节中,我们将使用简单的 +vanilla +循环神经网络作为使用recurrent_group配置简单循环神经网络的例子。 +注意,如果你只需要使用简单的RNN,GRU或LSTM,那么推荐使用grumemorylstmemory,因为它们的计算效率比recurrent_group更高。

+

对于 vanilla RNN,在每个时间步长,单步函数为:

+
+\[x_{t+1} = W_x x_t + W_i I_t + b\]
+

其中 \(x_t\) 是RNN状态,并且 \(I_t\) 是输入,\(W_x\) 和 +\(W_i\) 分别是RNN状态和输入的变换矩阵。\(b\) 是偏差。它的输出函数只需要 \(x_t\) 作为输出。

+

recurrent_group是构建循环神经网络的最重要的工具。 +它定义了单步函数输出函数和循环神经网络的输入。注意,这个函数的step参数需要实现step function(单步函数)和output function(输出函数):

+
def simple_rnn(input,
+               size=None,
+               name=None,
+               reverse=False,
+               rnn_bias_attr=None,
+               act=None,
+               rnn_layer_attr=None):
+    def __rnn_step__(ipt):
+       out_mem = memory(name=name, size=size)
+       rnn_out = mixed_layer(input = [full_matrix_projection(ipt),
+                                      full_matrix_projection(out_mem)],
+                             name = name,
+                             bias_attr = rnn_bias_attr,
+                             act = act,
+                             layer_attr = rnn_layer_attr,
+                             size = size)
+       return rnn_out
+    return recurrent_group(name='%s_recurrent_group' % name,
+                           step=__rnn_step__,
+                           reverse=reverse,
+                           input=input)
+
+
+

PaddlePaddle +使用“Memory”(记忆模块)实现单步函数。Memory是在PaddlePaddle中构造循环神经网络时最重要的概念。 +Memory是在单步函数中循环使用的状态,例如 \(x_{t+1} = f_x(x_t)\) 。 +一个Memory包含输出输入。当前时间步处的Memory的输出作为下一时间步Memory的输入。Memory也可以具有boot +layer(引导层),其输出被用作Memory的初始值。 +在我们的例子中,门控循环单元的输出被用作输出Memory。请注意,rnn_out层的名称与out_mem的名称相同。这意味着rnn_out +(xt + 1)的输出被用作out_memMemory的输出

+

Memory也可以是序列。在这种情况下,在每个时间步中,我们有一个序列作为循环神经网络的状态。这在构造非常复杂的循环神经网络时是有用的。 +其他高级功能包括定义多个Memory,以及使用子序列来定义分级循环神经网络架构。

+

我们在函数的结尾返回rnn_out。 这意味着 rnn_out +层的输出被用作门控循环神经网络的输出函数。

+
+
+

Sequence to Sequence Model with Attention

+

我们将使用 sequence to sequence model with attention +作为例子演示如何配置复杂的循环神经网络模型。该模型的说明如下图所示。

+../../../_images/encoder-decoder-attention-model.png +

在这个模型中,源序列 \(S = \{s_1, \dots, s_T\}\) +用双向门控循环神经网络编码。双向门控循环神经网络的隐藏状态 +\(H_S = \{H_1, \dots, H_T\}\) 被称为 +编码向量。解码器是门控循环神经网络。当解读每一个 \(y_t\) 时, +这个门控循环神经网络生成一系列权重 \(W_S^t = \{W_1^t, \dots, W_T^t\}\) , +用于计算编码向量的加权和。加权和用来生成 \(y_t\)

+

模型的编码器部分如下所示。它叫做grumemory来表示门控循环神经网络。如果网络架构简单,那么推荐使用循环神经网络的方法,因为它比 +recurrent_group +更快。我们已经实现了大多数常用的循环神经网络架构,可以参考 Layers 了解更多细节。

+

我们还将编码向量投射到 decoder_size +维空间。这通过获得反向循环网络的第一个实例,并将其投射到 +decoder_size 维空间完成:

+
# 定义源语句的数据层
+src_word_id = data_layer(name='source_language_word', size=source_dict_dim)
+# 计算每个词的词向量
+src_embedding = embedding_layer(
+    input=src_word_id,
+    size=word_vector_dim,
+    param_attr=ParamAttr(name='_source_language_embedding'))
+# 应用前向循环神经网络
+src_forward = grumemory(input=src_embedding, size=encoder_size)
+# 应用反向递归神经网络(reverse=True表示反向循环神经网络)
+src_backward = grumemory(input=src_embedding,
+                          size=encoder_size,
+                          reverse=True)
+# 将循环神经网络的前向和反向部分混合在一起
+encoded_vector = concat_layer(input=[src_forward, src_backward])
+
+# 投射编码向量到 decoder_size
+encoder_proj = mixed_layer(input = [full_matrix_projection(encoded_vector)],
+                           size = decoder_size)
+
+# 计算反向RNN的第一个实例
+backward_first = first_seq(input=src_backward)
+
+# 投射反向RNN的第一个实例到 decoder size
+decoder_boot = mixed_layer(input=[full_matrix_projection(backward_first)], size=decoder_size, act=TanhActivation())
+
+
+

解码器使用 recurrent_group 来定义循环神经网络。单步函数和输出函数在 +gru_decoder_with_attention 中定义:

+
group_inputs=[StaticInput(input=encoded_vector,is_seq=True),
+              StaticInput(input=encoded_proj,is_seq=True)]
+trg_embedding = embedding_layer(
+    input=data_layer(name='target_language_word',
+                     size=target_dict_dim),
+    size=word_vector_dim,
+    param_attr=ParamAttr(name='_target_language_embedding'))
+group_inputs.append(trg_embedding)
+
+# 对于配备有注意力机制的解码器,在训练中,
+# 目标向量(groudtruth)是数据输入,
+# 而源序列的编码向量可以被无边界的memory访问
+# StaticInput 意味着不同时间步的输入都是相同的值,
+# 否则它以一个序列输入,不同时间步的输入是不同的。
+# 所有输入序列应该有相同的长度。
+decoder = recurrent_group(name=decoder_group_name,
+                          step=gru_decoder_with_attention,
+                          input=group_inputs)
+
+
+

单步函数的实现如下所示。首先,它定义解码网络的Memory。然后定义 +attention,门控循环单元单步函数和输出函数:

+
def gru_decoder_with_attention(enc_vec, enc_proj, current_word):
+    # 定义解码器的Memory
+    # Memory的输出定义在 gru_step 内
+    # 注意 gru_step 应该与它的Memory名字相同
+    decoder_mem = memory(name='gru_decoder',
+                         size=decoder_size,
+                         boot_layer=decoder_boot)
+    # 计算 attention 加权编码向量
+    context = simple_attention(encoded_sequence=enc_vec,
+                               encoded_proj=enc_proj,
+                               decoder_state=decoder_mem)
+    # 混合当前词向量和attention加权编码向量
+    decoder_inputs = mixed_layer(inputs = [full_matrix_projection(context),
+                                           full_matrix_projection(current_word)],
+                                 size = decoder_size * 3)
+    # 定义门控循环单元循环神经网络单步函数
+    gru_step = gru_step_layer(name='gru_decoder',
+                              input=decoder_inputs,
+                              output_mem=decoder_mem,
+                              size=decoder_size)
+    # 定义输出函数
+    out = mixed_layer(input=[full_matrix_projection(input=gru_step)],
+                      size=target_dict_dim,
+                      bias_attr=True,
+                      act=SoftmaxActivation())
+    return out
+
+
+
+
+
+

生成序列

+

训练模型后,我们可以使用它来生成序列。通常的做法是使用beam search +生成序列。以下代码片段定义 beam search 算法。注意,beam_search +函数假设 step 的输出函数返回的是下一个时刻输出词的 softmax +归一化概率向量。我们对模型进行了以下更改。

+
    +
  • 使用 GeneratedInput 来表示 trg_embedding。 GeneratedInput +将上一时间步所生成的词的向量来作为当前时间步的输入。
  • +
  • 使用 beam_search 函数。这个函数需要设置:
      +
    • bos_id: 开始标记。每个句子都以开始标记开头。
    • +
    • eos_id: 结束标记。每个句子都以结束标记结尾。
    • +
    • beam_size: beam search 算法中的beam大小。
    • +
    • max_length: 生成序列的最大长度。
    • +
    +
  • +
  • 使用 seqtext_printer_evaluator +根据索引矩阵和字典打印文本。这个函数需要设置:
      +
    • id_input: 数据的整数ID,用于标识生成的文件中的相应输出。
    • +
    • dict_file: 用于将词ID转换为词的字典文件。
    • +
    • result_file: 生成结果文件的路径。
    • +
    +
  • +
+

代码如下:

+
group_inputs=[StaticInput(input=encoded_vector,is_seq=True),
+              StaticInput(input=encoded_proj,is_seq=True)]
+# 在生成时,解码器基于编码源序列和最后生成的目标词预测下一目标词。
+# 编码源序列(编码器输出)必须由只读Memory的 StaticInput 指定。
+# 这里, GeneratedInputs 自动获取上一个生成的词,并在最开始初始化为起始词,如 <s>。
+trg_embedding = GeneratedInput(
+    size=target_dict_dim,
+    embedding_name='_target_language_embedding',
+    embedding_size=word_vector_dim)
+group_inputs.append(trg_embedding)
+beam_gen = beam_search(name=decoder_group_name,
+                       step=gru_decoder_with_attention,
+                       input=group_inputs,
+                       bos_id=0, # Beginnning token.
+                       eos_id=1, # End of sentence token.
+                       beam_size=beam_size,
+                       max_length=max_length)
+
+seqtext_printer_evaluator(input=beam_gen,
+                          id_input=data_layer(name="sent_id", size=1),
+                          dict_file=trg_dict_path,
+                          result_file=gen_trans_file)
+outputs(beam_gen)
+
+
+

注意,这种生成技术只用于类似解码器的生成过程。如果你正在处理序列标记任务,请参阅 semantic_role_labeling 了解更多详细信息。

+

完整的配置文件在demo/seqToseq/seqToseq_net.py

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/howto/dev/contribute_to_paddle_cn.html b/release/0.10.0/doc_cn/howto/dev/contribute_to_paddle_cn.html new file mode 100644 index 0000000000..b2094fe30c --- /dev/null +++ b/release/0.10.0/doc_cn/howto/dev/contribute_to_paddle_cn.html @@ -0,0 +1,439 @@ + + + + + + + + + + + 如何贡献代码 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

如何贡献代码

+

我们真诚地感谢您的贡献,欢迎通过 GitHub 的 fork 和 pull request 流程来提交代码。

+
+

代码要求

+
    +
  • 代码注释请遵守 Doxygen 的样式。
  • +
  • 确保编译器选项 WITH_STYLE_CHECK 已打开,并且编译能通过代码样式检查。
  • +
  • 所有代码必须具有单元测试。
  • +
  • 通过所有单元测试。
  • +
+

以下教程将指导您提交代码。

+
+
+

Fork

+

跳转到PaddlePaddle GitHub首页,然后单击 Fork 按钮,生成自己目录下的仓库,比如 https://github.com/USERNAME/Paddle

+
+
+

克隆(Clone)

+

将远程仓库 clone 到本地:

+
➜  git clone https://github.com/USERNAME/Paddle
+➜  cd Paddle
+
+
+
+
+

创建本地分支

+

Paddle 目前使用Git流分支模型进行开发,测试,发行和维护,具体请参考 Paddle 分支规范

+

所有的 feature 和 bug fix 的开发工作都应该在一个新的分支上完成,一般从 develop 分支上创建新分支。

+

使用 git checkout -b 创建并切换到新分支。

+
➜  git checkout -b my-cool-stuff
+
+
+

值得注意的是,在 checkout 之前,需要保持当前分支目录 clean,否则会把 untracked 的文件也带到新分支上,这可以通过 git status 查看。

+
+
+

使用 pre-commit 钩子

+

Paddle 开发人员使用 pre-commit 工具来管理 Git 预提交钩子。 它可以帮助我们格式化源代码(C++,Python),在提交(commit)前自动检查一些基本事宜(如每个文件只有一个 EOL,Git 中不要添加大文件等)。

+

pre-commit测试是 Travis-CI 中单元测试的一部分,不满足钩子的 PR 不能被提交到 Paddle,首先安装并在当前目录运行它:

+
➜  pip install pre-commit
+➜  pre-commit install
+
+
+

Paddle 使用 clang-format 来调整 C/C++ 源代码格式,请确保 clang-format 版本在 3.8 以上。

+
+
+

开始开发

+

在本例中,我删除了 README.md 中的一行,并创建了一个新文件。

+

通过 git status 查看当前状态,这会提示当前目录的一些变化,同时也可以通过 git diff 查看文件具体被修改的内容。

+
➜  git status
+On branch test
+Changes not staged for commit:
+  (use "git add <file>..." to update what will be committed)
+  (use "git checkout -- <file>..." to discard changes in working directory)
+
+    modified:   README.md
+
+Untracked files:
+  (use "git add <file>..." to include in what will be committed)
+
+    test
+
+no changes added to commit (use "git add" and/or "git commit -a")
+
+
+
+
+

构建和测试

+

编译 PaddlePaddle 的源码以及生成文档需要多种开发工具。为了方便大家,我们的标准开发流程是把这些工具都装进一个Docker image,称为开发镜像,通常名字是 paddle:dev。然后所有用 cmake && make 的地方(比如IDE配置里)都用 docker run paddle:dev来代替。

+

如要build这个开发镜像,在源码目录树的根目录中运行:

+
➜  docker build -t paddle:dev .
+
+
+

随后可以用这个开发镜像开build PaddlePaddle的源码。比如如果要build一个不依赖GPU,但是支持AVX指令集,并且包括unit tests的PaddlePaddle,可以:

+
➜  docker run -v $(pwd):/paddle -e "WITH_GPU=OFF" -e "WITH_AVX=ON" -e "WITH_TEST=ON" paddle:dev
+
+
+

这个过程除了编译PaddlePaddle为 ./build/libpaddle.so,并且输出一个 ./build/paddle.deb文件之外,还会输出一个 build/Dockerfile。我们只需要运行下面命令把编译好的PaddlePaddle打包成一个生产镜像paddle:prod):

+
➜  docker build -t paddle:prod -f build/Dockerfile .
+
+
+

如果要运行所有的单元测试,可以用如下命令:

+
➜  docker run -it -v $(pwd):/paddle paddle:dev bash -c "cd /paddle/build && ctest"
+
+
+

关于构建和测试的更多信息,请参见这篇文档

+
+
+

提交(commit)

+

接下来我们取消对 README.md 文件的改变,然后提交新添加的 test 文件。

+
➜  git checkout -- README.md
+➜  git status
+On branch test
+Untracked files:
+  (use "git add <file>..." to include in what will be committed)
+
+    test
+
+nothing added to commit but untracked files present (use "git add" to track)
+➜  git add test
+
+
+

Git 每次提交代码,都需要写提交说明,这可以让其他人知道这次提交做了哪些改变,这可以通过git commit 完成。

+
➜  git commit
+CRLF end-lines remover...............................(no files to check)Skipped
+yapf.................................................(no files to check)Skipped
+Check for added large files..............................................Passed
+Check for merge conflicts................................................Passed
+Check for broken symlinks................................................Passed
+Detect Private Key...................................(no files to check)Skipped
+Fix End of Files.....................................(no files to check)Skipped
+clang-formater.......................................(no files to check)Skipped
+[my-cool-stuff c703c041] add test file
+ 1 file changed, 0 insertions(+), 0 deletions(-)
+ create mode 100644 233
+
+
+
+
+

保持本地仓库最新

+

在准备发起 Pull Request 之前,需要同步原仓库(https://github.com/PaddlePaddle/Paddle)最新的代码。

+

首先通过 git remote 查看当前远程仓库的名字。

+
➜  git remote
+origin
+➜  git remote -v
+origin  https://github.com/USERNAME/Paddle (fetch)
+origin  https://github.com/USERNAME/Paddle (push)
+
+
+

这里 origin 是我们 clone 的远程仓库的名字,也就是自己用户名下的 Paddle,接下来我们创建一个原始 Paddle 仓库的远程主机,命名为 upstream。

+
➜  git remote add upstream https://github.com/PaddlePaddle/Paddle
+➜  git remote
+origin
+upstream
+
+
+

获取 upstream 的最新代码并更新当前分支。

+
➜  git fetch upstream
+➜  git pull upstream develop
+
+
+
+
+

Push 到远程仓库

+

将本地的修改推送到 GitHub 上,也就是 https://github.com/USERNAME/Paddle。

+
# 推送到远程仓库 origin 的 my-cool-stuff 分支上
+➜  git push origin my-cool-stuff
+
+
+
+
+

建立 Issue 并完成 Pull Request

+

建立一个 Issue 描述问题,并记录它的编号。

+

切换到所建分支,然后点击 New pull request

+

screen shot 2017-04-26 at 9 09 28 pm

+

选择目标分支:

+

screen shot 2017-04-26 at 9 11 52 pm

+

在 PR 的描述说明中,填写 resolve #Issue编号 可以在这个 PR 被 merge 后,自动关闭对应的 Issue,具体请见 https://help.github.com/articles/closing-issues-via-commit-messages/

+

接下来等待 review,如果有需要修改的地方,参照上述步骤更新 origin 中的对应分支即可。

+
+
+

删除远程分支

+

在 PR 被 merge 进主仓库后,我们可以在 PR 的页面删除远程仓库的分支。

+

screen shot 2017-04-26 at 9 18 24 pm

+

也可以使用 git push origin :分支名 删除远程分支,如:

+
➜  git push origin :my-cool-stuff
+
+
+
+
+

删除本地分支

+

最后,删除本地分支。

+
# 切换到 develop 分支
+➜  git checkout develop 
+
+# 删除 my-cool-stuff 分支
+➜  git branch -D my-cool-stuff
+
+
+

至此,我们就完成了一次代码贡献的过程。

+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/howto/dev/new_layer_cn.html b/release/0.10.0/doc_cn/howto/dev/new_layer_cn.html new file mode 100644 index 0000000000..3b0b4d7bdd --- /dev/null +++ b/release/0.10.0/doc_cn/howto/dev/new_layer_cn.html @@ -0,0 +1,615 @@ + + + + + + + + + + + 实现新的网络层 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • 实现新的网络层
  • +
+
+ +
+
+
+
+ +
+

实现新的网络层

+

这份教程展示了如何在PaddlePaddle中实现一个自定义的网络层。在这里我们使用全连接层作为例子来展示实现新网络层所需要的四个步骤。

+
    +
  1. 推导该层前向和后向传递的方程。
  2. +
  3. 实现该层的C++类。
  4. +
  5. 增加梯度检测的单元测试,以保证梯度的正确计算。
  6. +
  7. 封装该层的Python接口。
  8. +
+
+

推导方程

+

首先我们需要推导该网络层的*前向传播*和*后向传播*的方程。前向传播给定输入,计算输出。后向传播给定输出的梯度,计算输入和参数的梯度。

+

下图是一个全连接层的示意图。在全连接层中,每个输出节点都连接到所有的输入节点上。

+../../_images/FullyConnected.jpg +

一个网络层的前向传播部分把输入转化为相应的输出。 +全连接层以一个维度为 \(D_i\) 的稠密向量作为输入,使用一个尺度为 \(D_i \times D_o\) 的变换矩阵 \(W\)\(x\) 映射到一个维度为 \(D_o\) 的向量,并在乘积结果上再加上维度为 \(D_o\) 的偏置向量 \(b\)

+
+\[y = f(W^T x + b)\]
+

其中 \(f(.)\) 是一个非线性的*激活方程*,例如sigmoid, tanh,以及Relu。

+

变换矩阵 \(W\) 和偏置向量 \(b\) 是该网络层的*参数*。一个网络层的参数是在*反向传播*时被训练的。反向传播根据输出的梯度,分别计算每个参数的梯度,以及输入的梯度。优化器则用链式法则来对每个参数计算损失函数的梯度。

+

假设损失函数是 \(c(y)\) ,那么

+
+\[\frac{\partial c(y)}{\partial x} = \frac{\partial c(y)}{\partial y} \frac{\partial y}{\partial x}\]
+

假设 \(z = f(W^T x + b)\) ,那么

+
+\[\frac{\partial y}{\partial z} = \frac{\partial f(z)}{\partial z}\]
+

PaddlePaddle的base layer类可以自动计算上面的导数。

+

因此,对全连接层来说,我们需要计算:

+
+\[\frac{\partial z}{\partial x} = W, \frac{\partial z_j}{\partial W_{ij}} = x_i, \frac{\partial z}{\partial b} = \mathbf 1\]
+

其中 \(\mathbf 1\) 是一个全1的向量, \(W_{ij}\) 是矩阵 \(W\) 第i行第j列的数值, \(z_j\) 是向量 \(z\) 的第j个值, \(x_i\) 是向量 \(x\) 的第i个值。

+

最后我们使用链式法则计算 \(\frac{\partial z}{\partial x}\) 以及 \(\frac{\partial z}{\partial W}\) 。计算的细节将在下面的小节给出。

+
+
+

实现C++类

+

一个网络层的C++类需要实现初始化,前向和后向。全连接层的实现位于:code:paddle/gserver/layers/FullyConnectedLayer.h`及:code:`paddle/gserver/layers/FullyConnectedLayer.cpp。这里我们展示一份简化过的代码。

+

这个类需要继承 paddle::Layer 这个基类,并且需要重写基类中的以下几个虚函数:

+
    +
  • 类的构造函数和析构函数。
  • +
  • init 函数。用于初始化参数和设置。
  • +
  • forward 。实现网络层的前向传播。
  • +
  • backward 。实现网络层的后向传播。
  • +
  • prefetch 。用来从参数服务器预取参数矩阵相应的行。如果网络层不需要远程稀疏更新,则不需要重写该函数。(大多数网络层不需要支持远程稀疏更新)
  • +
+

头文件如下:

+
namespace paddle {
+/**
+ * 全连接层的每个输出都连接到上一层的所有的神经元上。
+ * 它的输入与经过学习的参数做内积并加上偏置(可选)。
+ *
+ * 配置文件接口是fc_layer。
+ */
+
+class FullyConnectedLayer : public Layer {
+protected:
+  WeightList weights_;
+  std::unique_ptr<Weight> biases_;
+
+public:
+  explicit FullyConnectedLayer(const LayerConfig& config)
+      : Layer(config) {}
+  ~FullyConnectedLayer() {}
+
+  bool init(const LayerMap& layerMap, const ParameterMap& parameterMap);
+
+  Weight& getWeight(int idx) { return *weights_[idx]; }
+
+  void prefetch();
+  void forward(PassType passType);
+  void backward(const UpdateCallback& callback = nullptr);
+};
+}  // namespace paddle
+
+
+

头文件中把参数定义为类的成员变量。我们使用 Weight 类作为参数的抽象,它支持多线程更新。该类的实现细节在“实现细节”中详细介绍。

+
    +
  • weights_ 是存有一系列变换矩阵的权重。在当前的实现方式下,网络层可以有多个输入。因此,它可能有不止一个权重。每个权重对应一个输入。
  • +
  • biases_ 是存有偏置向量的权重。
  • +
+

全连接层没有网络层配置的超参数。如果一个网络层需要配置的话,通常的做法是将配置存于 LayerConfig& config 中,并在类构建函数中把它放入一个类成员变量里。

+

下面的代码片段实现了 init 函数。

+
    +
  • 首先,所有的 init 函数必须先调用基类中的函数 Layer::init(layerMap, parameterMap); 。该语句会为每个层初始化其所需要的变量和连接。
  • +
  • 之后初始化所有的权重矩阵 \(W\) 。当前的实现方式下,网络层可以有多个输入。因此,它可能有不止一个权重。
  • +
  • 最后,初始化偏置向量。
  • +
+
bool FullyConnectedLayer::init(const LayerMap& layerMap,
+                               const ParameterMap& parameterMap) {
+  /* 初始化父类 */
+  Layer::init(layerMap, parameterMap);
+
+  /* 初始化权重表 */
+  CHECK(inputLayers_.size() == parameters_.size());
+  for (size_t i = 0; i < inputLayers_.size(); i++) {
+    // 获得参数尺寸
+    size_t height = inputLayers_[i]->getSize();
+    size_t width = getSize();
+
+    // 新建一个权重
+    if (parameters_[i]->isSparse()) {
+      CHECK_LE(parameters_[i]->getSize(), width * height);
+    } else {
+      CHECK_EQ(parameters_[i]->getSize(), width * height);
+    }
+    Weight* w = new Weight(height, width, parameters_[i]);
+
+    // 将新建的权重加入权重表
+    weights_.emplace_back(w);
+  }
+
+  /* 初始化biases_ */
+  if (biasParameter_.get() != NULL) {
+    biases_ = std::unique_ptr<Weight>(new Weight(1, getSize(), biasParameter_));
+  }
+
+  return true;
+}
+
+
+

实现前向传播的部分有下面几个步骤。

+
    +
  • 每个层在其 forward 函数的开头必须调用 Layer::forward(passType);
  • +
  • 之后使用 reserveOutput(batchSize, size); 为输出分配内存。由于我们支持训练数据有不同的批次大小,所以这一步是必要的。 reserveOutput 会相应地改变输出的尺寸。为了保证效率,如果需要扩大矩阵,我们会重新分配内存;如果需要缩减矩阵,我们会继续使用现有的内存块。
  • +
  • 之后使用矩阵运算函数来计算 \(\sum_i W_i x + b\)getInput(i).value 返回第i个输入矩阵。每个输入都是一个 \(batchSize \times dim\) 的矩阵,每行表示一个批次中的单个输入。对于我们支持的全部矩阵操作,请参考 paddle/math/Matrix.h`和:code:`paddle/math/BaseMatrix.h
  • +
  • 最终,使用 forwardActivation(); 进行激活操作。这会自动进行网络配置中声明的激活操作。
  • +
+
void FullyConnectedLayer::forward(PassType passType) {
+  Layer::forward(passType);
+
+  /* 若有必要,为output_申请内存 */
+  int batchSize = getInput(0).getBatchSize();
+  int size = getSize();
+
+  {
+    // 设置输出的尺寸
+    reserveOutput(batchSize, size);
+  }
+
+  MatrixPtr outV = getOutputValue();
+
+  // 对每个输入乘上变换矩阵
+  for (size_t i = 0; i != inputLayers_.size(); ++i) {
+    auto input = getInput(i);
+    CHECK(input.value) << "The input of 'fc' layer must be matrix";
+    i == 0 ? outV->mul(input.value, weights_[i]->getW(), 1, 0)
+           : outV->mul(input.value, weights_[i]->getW(), 1, 1);
+  }
+
+  /* 加上偏置向量 */
+  if (biases_.get() != NULL) {
+    outV->addBias(*(biases_->getW()), 1);
+  }
+
+  /* 激活 */ {
+    forwardActivation();
+  }
+}
+
+
+

实现后向传播的部分有下面几个步骤。

+
    +
  • backwardActivation() 计算激活函数的梯度。通过 getOutputGrad() 来获得输出的梯度,调用该函数后,梯度会就地(不使用额外空间)乘上输出的梯度。
  • +
  • 计算偏置的梯度。注意,我们使用 biases_->getWGrad() 来得到某个特定参数的梯度矩阵。在一个参数的梯度被更新后,**必须**要调用 getParameterPtr()->incUpdate(callback); 。这用于在多线程和多机上更新参数。
  • +
  • 最后,计算转换矩阵和输入的梯度,并对相应的参数调用 incUpdate 。PaddlePaddle可以通过该机制判断是否已经收集齐所有的梯度,从而可以做一些与计算重叠的工作(例如,网络通信)。
  • +
+
   void FullyConnectedLayer::backward(const UpdateCallback& callback) {
+     /* 对激活求导 */ {
+       backwardActivation();
+     }
+
+     if (biases_ && biases_->getWGrad()) {
+       biases_->getWGrad()->collectBias(*getOutputGrad(), 1);
+
+       biases_->getParameterPtr()->incUpdate(callback);
+     }
+
+     bool syncFlag = hl_get_sync_flag();
+
+     for (size_t i = 0; i != inputLayers_.size(); ++i) {
+       /* 计算当前层权重的梯度 */
+       if (weights_[i]->getWGrad()) {
+         MatrixPtr input_T = getInputValue(i)->getTranspose();
+         MatrixPtr oGrad = getOutputGrad();
+         {
+           weights_[i]->getWGrad()->mul(input_T, oGrad, 1, 1);
+         }
+       }
+
+
+       /* 计算输入层的偏差 */
+       MatrixPtr preGrad = getInputGrad(i);
+       if (NULL != preGrad) {
+         MatrixPtr weights_T = weights_[i]->getW()->getTranspose();
+         preGrad->mul(getOutputGrad(), weights_T, 1, 1);
+       }
+
+       {
+         weights_[i]->getParameterPtr()->incUpdate(callback);
+       }
+     }
+   }
+
+:code:`prefetch` 函数指出了在训练时需要从参数服务器取出的行。仅在远程稀疏训练时有效。使用远程稀疏方式训练时,完整的参数矩阵被分布在不同的参数服务器上。当网络层用一个批次做训练时,该批次的输入中仅有一个子集是非零的。因此,该层仅需要这些非零样本位置所对应的变换矩阵的那些行。 :code:`prefetch` 表明了这些行的标号。
+
+
+

大多数层不需要远程稀疏训练函数。这种情况下不需要重写该函数。

+
void FullyConnectedLayer::prefetch() {
+  for (size_t i = 0; i != inputLayers_.size(); ++i) {
+    auto* sparseParam =
+        dynamic_cast<SparsePrefetchRowCpuMatrix*>(weights_[i]->getW().get());
+    if (sparseParam) {
+      MatrixPtr input = getInputValue(i);
+      sparseParam->addRows(input);
+    }
+  }
+}
+
+
+

最后,使用 REGISTER_LAYER(fc, FullyConnectedLayer); 来注册该层。 fc 是该层的标识符, FullyConnectedLayer 是该层的类名。

+
namespace paddle {
+REGISTER_LAYER(fc, FullyConnectedLayer);
+}
+
+
+

cpp 被放在 paddle/gserver/layers 目录下,其会自动被加入编译列表。

+
+
+

写梯度检查单元测试

+

写梯度检查单元测试是一个验证新实现的层是否正确的相对简单的办法。梯度检查单元测试通过有限差分法来验证一个层的梯度。首先对输入做一个小的扰动 \(\Delta x\) ,然后观察到输出的变化为 \(\Delta y\) ,那么,梯度就可以通过这个方程计算得到 \(\frac{\Delta y}{\Delta x }\) 。之后,再用这个梯度去和 backward 函数得到的梯度去对比,以保证梯度计算的正确性。需要注意的是梯度检查仅仅验证了梯度的计算,并不保证 forwardbackward 函数的实现是正确的。你需要一些更复杂的单元测试来保证你实现的网络层是正确的。

+

所有网络层的梯度检查单测都位于 paddle/gserver/tests/test_LayerGrad.cpp 。我们建议你在写新网络层时把测试代码放入新的文件中。下面列出了全连接层的梯度检查单元测试。它包含以下几步:

+
    +
  • +
    生成网络层配置。网络层配置包含以下几项:
    +
      +
    • 偏置参数的大小。(例子中是4096)
    • +
    • 层的类型。(例子中是fc)
    • +
    • 层的大小。(例子中是4096)
    • +
    • 激活的类型。(例子中是softmax)
    • +
    • dropout的比例。(例子中是0.1)
    • +
    +
    +
    +
  • +
  • +
    配置网络层的输入。在这个例子里,我们仅有一个输入。
    +
      +
    • +
      输入的类型( INPUT_DATA ),可以是以下几种:
      +
        +
      • INPUT_DATA :稠密向量。
      • +
      • INPUT_LABEL :整数。
      • +
      • INPUT_DATA_TARGET :稠密向量,但不用于计算梯度。
      • +
      • INPUT_SEQUENCE_DATA :含有序列信息的稠密向量。
      • +
      • INPUT_HASSUB_SEQUENCE_DATA :含有序列信息和子序列信息的稠密向量。
      • +
      • INPUT_SEQUENCE_LABEL :含有序列信息的整数。
      • +
      • INPUT_SPARSE_NON_VALUE_DATA :0-1稀疏数据。
      • +
      • INPUT_SPARSE_FLOAT_VALUE_DATA :浮点稀疏数据。
      • +
      +
      +
      +
    • +
    • 输入的名字。(例子中是 layer_0
    • +
    • 输入的大小。(例子中是8192)
    • +
    • 非零数字的个数,仅对稀疏数据有效。
    • +
    • 稀疏数据的格式,仅对稀疏数据有效。
    • +
    +
    +
    +
  • +
  • 对每个输入,都需要调用一次 config.layerConfig.add_inputs();
  • +
  • +
    调用 testLayerGrad 来做梯度检查。它包含以下参数。
    +
      +
    • 层和输入的配置。(例子中是 config
    • +
    • 网络层的类型。(例子中是 fc
    • +
    • 梯度检查的输入数据的批次大小。(例子中是100)
    • +
    • 输入是否是转置的。大多数层需要设置为 false 。(例子中是 false
    • +
    • 是否使用权重。有些层或者激活需要做归一化以保证它们的输出的和是一个常数。例如,softmax激活的输出的和总是1。在这种情况下,我们不能通过常规的梯度检查的方式来计算梯度。因此我们采用输出的加权和(非常数)来计算梯度。(例子中是 true ,因为全连接层的激活可以是softmax)
    • +
    +
    +
    +
  • +
+
void testFcLayer(string format, size_t nnz) {
+  // Create layer configuration.
+  TestConfig config;
+  config.biasSize = 4096;
+  config.layerConfig.set_type("fc");
+  config.layerConfig.set_size(4096);
+  config.layerConfig.set_active_type("softmax");
+  config.layerConfig.set_drop_rate(0.1);
+  // Setup inputs.
+  config.inputDefs.push_back(
+      {INPUT_DATA, "layer_0", 8192, nnz, ParaSparse(format)});
+    config.layerConfig.add_inputs();
+  LOG(INFO) << config.inputDefs[0].sparse.sparse << " "
+            << config.inputDefs[0].sparse.format;
+  for (auto useGpu : {false, true}) {
+    testLayerGrad(config, "fc", 100, /* trans */ false, useGpu,
+                  /* weight */ true);
+  }
+}
+
+
+

如果你要为了测试而增加新的文件,例如 paddle/gserver/tests/testFCGrad.cpp ,你需要把该文件加入 paddle/gserver/tests/CMakeLists.txt 中。下面给出了一个例子。当你执行命令 make tests 时,所有的单测都会被执行一次。注意,有些层可能需要高精度来保证梯度检查单测正确执行。你需要在配置cmake时将 WITH_DOUBLE 设置为 ON

+
add_unittest_without_exec(test_FCGrad
+    test_FCGrad.cpp
+    LayerGradUtil.cpp
+    TestUtil.cpp)
+
+add_test(NAME test_FCGrad
+    COMMAND test_FCGrad)
+
+
+
+
+

实现python封装

+

python封装的实现使得我们可以在配置文件中使用新实现的网络层。所有的python封装都在 python/paddle/trainer/config_parser.py 中。全连接层python封装的例子中包含下面几步:

+
    +
  • 所有的Python封装都使用 @config_layer('fc') 这样的装饰器。网络层的标识符为 fc
  • +
  • +
    实现构造函数 __init__
    +
      +
    • 它首先调用基构造函数 super(FCLayer, self).__init__(name, 'fc', size, inputs=inputs, **xargs)FCLayer 是Python封装的类名。 fc 是网络层的标识符。为了封装能够正确工作,这些名字必须要写对。
    • +
    • 之后,计算变换矩阵的大小和格式(是否稀疏)。
    • +
    +
    +
    +
  • +
+
@config_layer('fc')
+class FCLayer(LayerBase):
+    def __init__(
+            self,
+            name,
+            size,
+            inputs,
+            bias=True,
+            **xargs):
+        super(FCLayer, self).__init__(name, 'fc', size, inputs=inputs, **xargs)
+        for input_index in xrange(len(self.inputs)):
+            input_layer = self.get_input_layer(input_index)
+            psize = self.config.size * input_layer.size
+            dims = [input_layer.size, self.config.size]
+            format = self.inputs[input_index].format
+            sparse = format == "csr" or format == "csc"
+            if sparse:
+                psize = self.inputs[input_index].nnz
+            self.create_input_parameter(input_index, psize, dims, sparse, format)
+        self.create_bias_parameter(bias, self.config.size)
+
+
+

在网络配置中,网络层的细节可以通过下面这些代码片段来指定。这个类的参数包括:

+
    +
  • name 是网络层实例的名字标识符。
  • +
  • type 是网络层的类型,通过网络层的标识符来指定。
  • +
  • size 是网络层输出的大小。
  • +
  • bias 表明这个层的一个实例是否需要偏置。
  • +
  • inputs 说明这个层的输入,输入是由一个list中的网络层实例的名字组成的。
  • +
+
Layer(
+    name = "fc1",
+    type = "fc",
+    size = 64,
+    bias = True,
+    inputs = [Input("pool3")]
+)
+
+
+

我们建议你为你的Python封装实现一个“助手”,使得搭模型时更方便。具体可以参考 python/paddle/trainer_config_helpers/layers.py

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/howto/dev/write_docs_cn.html b/release/0.10.0/doc_cn/howto/dev/write_docs_cn.html new file mode 100644 index 0000000000..6955daa48f --- /dev/null +++ b/release/0.10.0/doc_cn/howto/dev/write_docs_cn.html @@ -0,0 +1,295 @@ + + + + + + + + + + + 如何贡献/修改文档 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

如何贡献/修改文档

+

PaddlePaddle的文档包括英文文档 doc 和中文文档 doc_cn 两个部分。文档都是通过 cmake 驱动 sphinx 编译生成,生成后的文档分别存储在编译目录的 docdoc_cn 两个子目录下。

+
+

如何构建PaddlePaddle的文档

+

PaddlePaddle的文档构建有直接构建和基于Docker构建两种方式。构建PaddlePaddle文档需要准备的环境相对较复杂,所以我们推荐使用基于Docker来构建PaddlePaddle的文档。

+
+

使用Docker构建PaddlePaddle的文档

+

使用Docker构建PaddlePaddle的文档,需要在系统里先安装好Docker工具包。Docker安装请参考 Docker的官网 。安装好Docker之后可以使用源码目录下的脚本构建文档,即

+
cd TO_YOUR_PADDLE_CLONE_PATH
+cd paddle/scripts/tools/build_docs
+bash build_docs.sh
+
+
+

编译完成后,该目录下会生成如下两个子目录:

+
    +
  • doc 英文文档目录
  • +
  • doc_cn 中文文档目录
  • +
+

打开浏览器访问对应目录下的index.html即可访问本地文档。

+
open doc_cn/index.html
+
+
+
+
+

直接构建PaddlePaddle的文档

+

TBD

+
+
+
+

如何书写PaddlePaddle的文档

+

TBD

+
+
+

如何更新www.paddlepaddle.org文档

+

TBD

+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/howto/index_cn.html b/release/0.10.0/doc_cn/howto/index_cn.html new file mode 100644 index 0000000000..13892205cd --- /dev/null +++ b/release/0.10.0/doc_cn/howto/index_cn.html @@ -0,0 +1,294 @@ + + + + + + + + + + + 进阶指南 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • 进阶指南
  • +
+
+ +
+
+
+
+ +
+

进阶指南

+ + +
+

模型配置

+ +
+
+

性能优化

+ +
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/howto/optimization/gpu_profiling_cn.html b/release/0.10.0/doc_cn/howto/optimization/gpu_profiling_cn.html new file mode 100644 index 0000000000..c6fd8bd952 --- /dev/null +++ b/release/0.10.0/doc_cn/howto/optimization/gpu_profiling_cn.html @@ -0,0 +1,584 @@ + + + + + + + + + + + GPU性能分析与调优 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

GPU性能分析与调优

+ +

此教程将向您分步介绍如何使用内置的定时工具、 nvprofnvvp 来运行性能分析和调优。

+
    +
  • 什么是性能分析?
  • +
  • 为什么需要性能分析?
  • +
  • 如何进行性能分析?
  • +
  • 性能分析工具介绍
  • +
  • 详细教程
  • +
  • 性能分析小技巧
  • +
+
+

什么是性能分析?

+

在软件工程的范畴里,性能分析(Profiling)是一个动态程序分析的术语,它可以指测量一个程序的空间(内存)复杂度或时间复杂度, +也可以说是某些特定指令的使用情况,或者是函数调用的频率和耗时等。通常情况下,分析得到的信息用于协助进行程序的优化。

+

简单来说,性能分析工具是用于给应用程序的性能做定量分析的。如果想很好的理解程序的行为,那程序分析工具是必不可少的利器。简单的性能分析,可以告诉您某个操作到底花了多长时间?而更深入的分析,甚至能解释为什么某个操作花了很长时间?

+
+
+

为什么需要性能分析?

+

训练好一个深层神经网络通常要耗费非常长的时间,所以性能也就逐步变成了深度学习领域最重要的指标。 +而优化性能的首要任务,是需要了解哪些步骤拖慢了整体。 +如果某一块根本就不怎么耗时,那也就不需要急着优化性能啦!

+
+
+

如何进行性能分析?

+

为了达到性能最优,您可以采用下面五个步骤:

+
    +
  • 对代码进行性能分析
  • +
  • 找到运行慢的部分
  • +
  • 找到运行慢的原因
  • +
  • 修改成更快的版本
  • +
  • 再次对代码进行性能分析
  • +
+

Usually, processor has two key performance limits include float point throughput and +memory throughput. For GPU, it also need more parallelism to fulfill its potential. +This is why they can be so fast.

+

通常情况下,处理器有两个关键性能限制:一个是浮点计算量,另一个是内存操作量。 +GPU则还需要高并行性,才能发挥其全部能力。这正是它们速度快的原因。

+
+
+

性能分析工具介绍

+

就通常的GPU性能分析来说,市面上已经有NVIDIA或第三方提供的众多工具。

+

nvprof 是Nvidia性能分析工具, nvvp 则是带GUI的Nvidia可视化性能分析工具。 +在这个教程中,我们主要会介绍nvprof和nvvp。

+

test_GpuProfiler from paddle/math/tests directory will be used to evaluate +above profilers.

+

paddle/math/test 目录中的 test_GpuProfiler 就是用于展示上述分析工具的用法。

+
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
TEST(Profiler, testBilinearFwdBwd) {
+  auto numSamples = 10;
+  auto channels = 16;
+  auto imgSize = 64;
+  {
+    // nvprof: GPU Proflier
+    REGISTER_GPU_PROFILER("testBilinearFwdBwd");
+    // Paddle built-in timer
+    REGISTER_TIMER_INFO(
+        "testBilinearFwdBwd",
+        "numSamples = 10, channels = 16, imgSizeX = 64, imgSizeY = 64");
+    testBilinearFwdBwd(numSamples, imgSize, imgSize, channels);
+  }
+  globalStat.printAllStatus();
+}
+
+
+

上述的代码片段包含了两种方法,您可以任意使用一个或两个来对感兴趣的代码段做性能分析。

+
    +
  1. REGISTER_TIMER_INFO 是一个内置的定时器封装,可以用来计算CPU函数或cuda内核的时间消耗。
  2. +
+

2. REGISTER_GPU_PROFILER is a general purpose wrapper object of cudaProfilerStart and cudaProfilerStop to avoid +program crashes when CPU version of PaddlePaddle invokes them.

+
    +
  1. REGISTER_GPU_PROFILER 是一个封装对象,封装了 cudaProfilerStartcudaProfileStop 两个操作;同时其内部实现可以避免纯CPU版本PaddlePaddle在执行本语句时发生崩溃。
  2. +
+

您会在接下来的部分中获得更多的细节介绍。

+
+
+

详细教程

+
+

内置定时器

+

如果想要启用PaddlePaddle的内置定时器,您首先需要在相关代码段中加入 REGISTER_TIMER_INFO。 +接下来就可以使用 printStatus 或者 printAllStatus 函数来将信息输出到界面中。 +下面举个简单的例子:

+
    +
  1. 加入 REGISTER_TIMER_INFOprintAllStatus 函数(如高亮部分)。

    +
    +
     1
    + 2
    + 3
    + 4
    + 5
    + 6
    + 7
    + 8
    + 9
    +10
    +11
    +12
    +13
    +14
    +15
    TEST(Profiler, testBilinearFwdBwd) {
    +  auto numSamples = 10;
    +  auto channels = 16;
    +  auto imgSize = 64;
    +  {
    +    // nvprof: GPU Proflier
    +    REGISTER_GPU_PROFILER("testBilinearFwdBwd");
    +    // Paddle built-in timer
    +    REGISTER_TIMER_INFO(
    +        "testBilinearFwdBwd",
    +        "numSamples = 10, channels = 16, imgSizeX = 64, imgSizeY = 64");
    +    testBilinearFwdBwd(numSamples, imgSize, imgSize, channels);
    +  }
    +  globalStat.printAllStatus();
    +}
    +
    +
    +
    +
  2. +
  3. cmake配置中将 WITH_TIMER 打开,重新编译PaddlePaddle。

    +
    +
    cmake .. -DWITH_TIMER=ON
    +make
    +
    +
    +
    +
  4. +
  5. 执行您的代码,并观察结果(如高亮部分)。

    +
    +
    > ./paddle/math/tests/test_GpuProfiler
    +I1117 11:13:42.313065 2522362816 Util.cpp:155] commandline: ./paddle/math/tests/test_GpuProfiler
    +I1117 11:13:42.845065 2522362816 Util.cpp:130] Calling runInitFunctions
    +I1117 11:13:42.845208 2522362816 Util.cpp:143] Call runInitFunctions done.
    +[==========] Running 1 test from 1 test case.
    +[----------] Global test environment set-up.
    +[----------] 1 test from Profiler
    +[ RUN      ] Profiler.BilinearFwdBwd
    +I1117 11:13:42.845310 2522362816 test_GpuProfiler.cpp:114] Enable GPU Profiler Stat: [testBilinearFwdBwd] "numSamples = 10, channels = 16, im
    +gSizeX = 64, imgSizeY = 64"
    +I1117 11:13:42.850154 2522362816 ThreadLocal.cpp:37] thread use undeterministic rand seed:20659751
    +I1117 11:13:42.981501 2522362816 Stat.cpp:130] ======= StatSet: [GlobalStatInfo] status ======
    +I1117 11:13:42.981539 2522362816 Stat.cpp:133] Stat=testBilinearFwdBwd     total=136.141    avg=136.141    max=136.141    min=136.141   count=1
    +I1117 11:13:42.981572 2522362816 Stat.cpp:141] ======= BarrierStatSet status ======
    +I1117 11:13:42.981575 2522362816 Stat.cpp:154] --------------------------------------------------
    +[       OK ] Profiler.BilinearFwdBwd (136 ms)
    +[----------] 1 test from Profiler (136 ms total)
    +
    +[----------] Global test environment tear-down
    +[==========] 1 test from 1 test case ran. (136 ms total)
    +[  PASSED  ] 1 test.
    +
    +
    +
    +
  6. +
+
+
+

nvprof 工具

+

要使用命令行分析工具 nvprof,您按如下步骤操作即可:

+
    +
  1. REGISTER_GPU_PROFILER 函数加到代码中(参考强调部分)。

    +
    +
     1
    + 2
    + 3
    + 4
    + 5
    + 6
    + 7
    + 8
    + 9
    +10
    +11
    +12
    +13
    +14
    +15
    TEST(Profiler, testBilinearFwdBwd) {
    +  auto numSamples = 10;
    +  auto channels = 16;
    +  auto imgSize = 64;
    +  {
    +    // nvprof: GPU Proflier
    +    REGISTER_GPU_PROFILER("testBilinearFwdBwd");
    +    // Paddle built-in timer
    +    REGISTER_TIMER_INFO(
    +        "testBilinearFwdBwd",
    +        "numSamples = 10, channels = 16, imgSizeX = 64, imgSizeY = 64");
    +    testBilinearFwdBwd(numSamples, imgSize, imgSize, channels);
    +  }
    +  globalStat.printAllStatus();
    +}
    +
    +
    +
    +
  2. +
  3. cmake中将 WITH_PROFILER 配置打开,重新编译PaddlePaddle。

    +
    +
    cmake .. -DWITH_PROFILER=ON
    +make
    +
    +
    +
    +
  4. +
  5. 使用 nvprof 来分析执行文件。

    +
    +
    nvprof  ./paddle/math/tests/test_GpuProfiler
    +
    +
    +
    +
  6. +
+

然后,您就能获得如下的分析结果:

+
==78544== Profiling application: ./paddle/math/tests/test_GpuProfiler
+==78544== Profiling result:
+Time(%)     Time     Calls       Avg       Min       Max  Name
+27.60%  9.6305ms         5  1.9261ms  3.4560us  6.4035ms  [CUDA memcpy HtoD]
+26.07%  9.0957ms         1  9.0957ms  9.0957ms  9.0957ms  KeBilinearInterpBw
+23.78%  8.2977ms         1  8.2977ms  8.2977ms  8.2977ms  KeBilinearInterpFw
+22.55%  7.8661ms         2  3.9330ms  1.5798ms  6.2863ms  [CUDA memcpy DtoH]
+
+==78544== API calls:
+Time(%)     Time     Calls       Avg       Min       Max  Name
+46.85%  682.28ms         8  85.285ms  12.639us  682.03ms  cudaStreamCreateWithFlags
+39.83%  580.00ms         4  145.00ms     302ns  550.27ms  cudaFree
+9.82%   143.03ms         9  15.892ms  8.7090us  142.78ms  cudaStreamCreate
+1.23%   17.983ms         7  2.5690ms  23.210us  6.4563ms  cudaMemcpy
+1.23%   17.849ms         2  8.9247ms  8.4726ms  9.3768ms  cudaStreamSynchronize
+0.66%   9.5969ms         7  1.3710ms  288.43us  2.4279ms  cudaHostAlloc
+0.13%   1.9530ms        11  177.54us  7.6810us  591.06us  cudaMalloc
+0.07%   1.0424ms         8  130.30us  1.6970us  453.72us  cudaGetDevice
+0.04%   527.90us        40  13.197us     525ns  253.99us  cudaEventCreateWithFlags
+0.03%   435.73us       348  1.2520us     124ns  42.704us  cuDeviceGetAttribute
+0.03%   419.36us         1  419.36us  419.36us  419.36us  cudaGetDeviceCount
+0.02%   260.75us         2  130.38us  129.32us  131.43us  cudaGetDeviceProperties
+0.02%   222.32us         2  111.16us  106.94us  115.39us  cudaLaunch
+0.01%   214.06us         4  53.514us  28.586us  77.655us  cuDeviceGetName
+0.01%   115.45us         4  28.861us  9.8250us  44.526us  cuDeviceTotalMem
+0.01%   83.988us         4  20.997us     578ns  77.760us  cudaSetDevice
+0.00%   38.918us         1  38.918us  38.918us  38.918us  cudaEventCreate
+0.00%   34.573us        31  1.1150us     279ns  12.784us  cudaDeviceGetAttribute
+0.00%   17.767us         1  17.767us  17.767us  17.767us  cudaProfilerStart
+0.00%   15.228us         2  7.6140us  3.5460us  11.682us  cudaConfigureCall
+0.00%   14.536us         2  7.2680us  1.1490us  13.387us  cudaGetLastError
+0.00%   8.6080us        26     331ns     173ns     783ns  cudaSetupArgument
+0.00%   5.5470us         6     924ns     215ns  2.6780us  cuDeviceGet
+0.00%   5.4090us         6     901ns     328ns  3.3320us  cuDeviceGetCount
+0.00%   4.1770us         3  1.3920us  1.0630us  1.8300us  cuDriverGetVersion
+0.00%   3.4650us         3  1.1550us  1.0810us  1.2680us  cuInit
+0.00%      830ns         1     830ns     830ns     830ns  cudaRuntimeGetVersion
+
+
+
+
+

nvvp 工具

+

如果想使用可视化的分析器 nvvp,您可以导入 nvprof -o ... 的输出,或者从工具的界面里运行您的应用。

+

备注: nvvp 也支持CPU的性能分析 (需在nvvp界面中选上才能开启)

+../../_images/nvvp1.png +

从内核函数的角度, nvvp 可以精确说明一个长耗时操作的具体原因。 +同时,如下图所示, nvvp 的内核block使用情况、寄存器使用情况和共享内存使用情况能让我们对GPU的整体使用有更好的理解。

+../../_images/nvvp2.png +

而从应用的角度, nvvp 可以帮您提供一些定位性能瓶颈的建议。 +例如,下图中就展示了一些关于内存数据迁徙和计算资源利用率的建议,为您做性能调优提供了方向。

+../../_images/nvvp3.png +../../_images/nvvp4.png +
+
+
+

性能分析小技巧

+
    +
  • 开始阶段,从 nvprofnvvp 的输出信息入手是个不错的选择。

    +
  • +
  • 接下来可以考虑下时间线的分析。

    +
  • +
  • 如果真想挖掘内核深处的某个秘密,您最好先确认:这一块的耗时比例真的太高,值得深入分析。

    +
  • +
  • 可能的情况下,试着让输出的分析数据和理论值对应。

    +
    +
      +
    1. 例如,如果我知道内核花了10ms来移动1GB数据,那我会期望分析工具统计到速度是100GB/s。
    2. +
    3. 若有不一致之处,很有可能实际应用就是没有按照您的预期情况运行。
    4. +
    +
    +
  • +
  • 了解您的硬件:如果您的GPU理论可以达到6 TFLOPs(6万亿次浮点运算每秒),而当前已经有5.5 TFLOPs了,那估计这里的潜力就没啥好挖的了……

    +
  • +
+

性能分析是性能优化的关键一步。有的时候简简单单的改变就能在性能上产生明显的优化效果! +当然,具体情况因人而异。

+
+
+

参考资料

+

Jeremy Appleyard, GPU Profiling for Deep Learning, 2015

+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/howto/usage/cluster/cluster_train_cn.html b/release/0.10.0/doc_cn/howto/usage/cluster/cluster_train_cn.html new file mode 100644 index 0000000000..f9b804e5e9 --- /dev/null +++ b/release/0.10.0/doc_cn/howto/usage/cluster/cluster_train_cn.html @@ -0,0 +1,391 @@ + + + + + + + + + + + 运行分布式训练 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

运行分布式训练

+

在本文中,我们将阐释如何在集群上运行分布式 Paddle 训练作业。我们将以推荐系统为例创建分布式的单进程训练。

+

在本文中使用的脚本通过 SSH 运行分布式作业。 它们还可以供那些运行更复杂的集群管理系统(如 MPI 和 Kubernetes )的用户参考。

+
+

前提条件

+
    +
  1. 上述脚本使用 Python 库 fabric 来运行 SSH 命令。 我们使用 pip 来安装 fabric:

    +
    pip install fabric
    +
    +
    +
  2. +
  3. 我们需要在集群的所有节点上安装 PaddlePaddle。 如果要启用GPU,需要在 /usr/local/cuda 中安装 CUDA; 否则 Paddle 将在运行时报错。

    +
  4. +
  5. 在 [cluster_train/conf.py] 中设置 ROOT_DIR, 该 ROOT_DIR 要在所有节点上存在。为了方便起见,我们通常在所有节点上创建一个 Unix 用户 paddle,并设置 ROOT_DIR=/home/paddle。这样,我们可以将 SSH 公钥写入 /home/paddle/.ssh/authorized_keys,以便用户 paddle 可以 SSH 到所有节点而不用密码。

    +
  6. +
+
+
+

准备工作空间

+

我们将放置依赖库、配置等文件的目录视为 工作空间(workspace)

+

这些 train/test 数据应该在启动集群作业之前准备好。 为了满足训练/测试数据放置在工作空间中不同目录的要求,PADDLE 根据在模型配置文件中使用的名为 train.list/test.list 的索引文件引用训练/测试数据,所以训练/测试数据也包含 train.list/test.list 两个列表文件。所有本地训练 demo 已经提供了脚本来帮助您创建这两个文件,并且集群作业中的所有节点将在正常情况下处理具有相同逻辑代码的文件。

+

通常,你可以使用本地训练中的相同模型文件进行集群训练。请记住,在模型文件的 setting函数中设置的 batch_size 表示在集群作业每个节点中的 batch 大小,而不是使用同步 SGD 的总 batch 大小。

+

以下步骤基于 demo 目录中的 demo/recommendation

+

你只需完成 demo/recommendation 教程文档到 Train 的部分,之后你会得到训练/测试数据和模型配置文件。最后,只需使用 demo/recommendation 作为集群训练的工作空间。

+

最后,你的工作空间应如下所示:

+
.
+|-- common_utils.py
+|-- data
+|   |-- config.json
+|   |-- config_generator.py
+|   |-- meta.bin
+|   |-- meta_config.json
+|   |-- meta_generator.py
+|   |-- ml-1m
+|   |-- ml_data.sh
+|   |-- ratings.dat.test
+|   |-- ratings.dat.train
+|   |-- split.py
+|   |-- test.list
+|   `-- train.list
+|-- dataprovider.py
+|-- evaluate.sh
+|-- prediction.py
+|-- preprocess.sh
+|-- requirements.txt
+|-- run.sh
+`-- trainer_config.py
+
+
+

虽然这些文件并非都需要集群训练,但是也没有必要删除无用的文件。

+

trainer_config.py +表示模型配置文件。

+

train.listtest.list +文件索引。它存储当前节点所有训练/测试数据的所有相对或绝对文件路径。

+

dataprovider.py +用于读取训练/测试样本。这与本地训练相同。

+

data +数据目录中的所有文件被 train.list/test.list 引用。

+
+
+

准备集群作业配置

+

以下选项必须在 cluster_train/conf.py 中认真设置

+

HOSTS 所有节点运行集群作业的主机名或 IP 。你还可以将用户和 ssh 端口附加到主机名上,例如 root@192.168.100.17:9090。

+

ROOT_DIR 用于放置 JOB 工作空间目录的工作空间 ROOT 目录

+

PADDLE_NIC 集群通信通道的 NIC(Network Interface Card, 网络接口卡) 接口名称,例如以太网的 eth0,infiniband 的 ib0。

+

PADDLE_PORT 集群通信通道的端口号

+

PADDLE_PORTS_NUM 用于集群通信通道的端口数。 如果集群节点数量少(少于5〜6个节点),建议将其设置为较大,如2〜8,以获得更好的网络性能。

+

PADDLE_PORTS_NUM_FOR_SPARSE 用于 sparse remote updater 集群通信信道的端口数。如果使用 sparse remote update,则可以像 PADDLE_PORTS_NUM 一样设置。

+

LD_LIBRARY_PATH 为集群作业设置额外的 LD_LIBRARY_PATH。你可以使用它来设置 CUDA 库的路径。

+

默认配置如下:

+
HOSTS = [
+        "root@192.168.100.17",
+        "root@192.168.100.18",
+        ]
+
+'''
+工作空间配置
+'''
+
+#工作空间根目录
+ROOT_DIR = "/home/paddle"
+
+'''
+网络配置
+'''
+#pserver NIC
+PADDLE_NIC = "eth0"
+#pserver 端口
+PADDLE_PORT = 7164
+#pserver 端口数
+PADDLE_PORTS_NUM = 2
+#pserver sparse ports num
+PADDLE_PORTS_NUM_FOR_SPARSE = 2
+
+#集群作业中所有进程的环境设置
+LD_LIBRARY_PATH="/usr/local/cuda/lib64:/usr/lib64"
+
+
+
+

启动集群作业

+

paddle.py 提供了自动化脚本来启动不同节点中的所有 PaddlePaddle 集群进程。默认情况下,所有命令行选项可以设置为paddle.py 命令选项并且 paddle.py 将透明、自动地将这些选项应用到 PaddlePaddle 底层进程。

+

paddle.py 为方便作业启动提供了两个独特的命令选项。

+

job_dispatch_package 设为本地 workspace 目录,它将被分发到 conf.py 中设置的所有节点。 它有助于帮助频繁修改和访问工作区文件的用户减少负担,否则频繁的多节点工作空间部署可能会很麻烦。 +job_workspace 设为已部署的工作空间目录,paddle.py 将跳过分发阶段直接启动所有节点的集群作业。它可以帮助减少分发延迟。

+

cluster_train/run.sh 提供了命令样例来运行 demo/recommendation 集群工作,只需用你定义的目录修改 job_dispatch_packagejob_workspace,然后:

+
sh run.sh
+
+
+

集群作业将会在几秒后启动。

+
+
+

终止集群作业

+

paddle.py能获取Ctrl + C SIGINT 信号来自动终止它启动的所有进程。只需中断 paddle.py 任务来终止集群作业。如果程序崩溃你也可以手动终止。

+
+
+

检查集群训练结果

+

详细信息请检查 $workspace/log 里的日志,每一个节点都有相同的日志结构。

+

paddle_trainer.INFO +提供几乎所有训练的内部输出日志,与本地训练相同。这里检验运行时间模型的收敛。

+

paddle_pserver2.INFO +提供 pserver 运行日志,有助于诊断分布式错误。

+

server.log +提供 pserver 进程的 stderr 和 stdout。训练失败时可以检查错误日志。

+

train.log +提供训练过程的 stderr 和 stdout。训练失败时可以检查错误日志。

+
+
+

检查模型输出

+

运行完成后,模型文件将被写入节点 0 的 output 目录中。 +工作空间中的 nodefile 表示当前集群作业的节点 ID。

+
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/howto/usage/cmd_parameter/arguments_cn.html b/release/0.10.0/doc_cn/howto/usage/cmd_parameter/arguments_cn.html new file mode 100644 index 0000000000..158a6dcfd8 --- /dev/null +++ b/release/0.10.0/doc_cn/howto/usage/cmd_parameter/arguments_cn.html @@ -0,0 +1,500 @@ + + + + + + + + + + + 参数概述 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

参数概述

+

虽然Paddle看起来包含了众多参数,但是大部分参数是为开发者提供的,或者已经在集群提交环境中自动设置,因此用户并不需要关心它们。在此,根据这些参数的使用场合,我们将它们划分为不同的类别。例如,通用类别中的参数可用于所有场合。某些参数只可用于特定的层中,而有些参数需要在集群多机训练中使用等。

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +√ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
参数本地训练集群训练本地测试集群测试
通用job
use_gpu
local
config
config_args
num_passes
trainer_count
version
show_layer_stat
训练dot_period
test_period
saving_period
show_parameter_stats_period
init_model_path
load_missing_parameter_strategy
saving_period_by_batches
use_old_updater
enable_grad_share
grad_share_block_num
log_error_clipping
log_clipping
save_only_one
start_pass
训练/测试save_dir
训练过程中测试test_period
average_test_period
测试model_list
test_wait
test_pass
predict_output_dir
distribute_test
Auc/正负对验证(PnpairValidation)predict_file
GPUgpu_id
parallel_nn
allow_only_one_model_on_one_gpu
cudnn_dir
cuda_dir
cudnn_conv_workspace_limit_in_mb
递归神经网络(RNN)beam_size
rnn_use_batch
prev_batch_state
diy_beam_search_prob_so
参数服务器(PServer)start_pserver
pservers
port
port_num
ports_num_for_sparse
nics
rdma_tcp
small_messages
loadsave_parameters_in_pserver
log_period_server
pserver_num_threads
sock_send_buf_size
sock_recv_buf_size
num_gradient_servers
parameter_block_size
parameter_block_size_for_sparse
异步随机梯度下降(Async SGD)async_count
async_lagged_ratio_min
async_lagged_ratio_default
性能调优(Performance Tuning)log_barrier_abstract
log_barrier_lowest_nodes
log_barrier_show_log
check_sparse_distribution_batches
check_sparse_distribution_ratio
check_sparse_distribution_unbalance_degree
check_sparse_distribution_in_pserver
show_check_sparse_distribution_log
数据提供器(Data Provider)memory_threshold_on_load_data
随机数seed
thread_local_rand_use_global_seed
单元测试checkgrad_eps
矩阵/向量enable_parallel_vector
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/howto/usage/cmd_parameter/detail_introduction_cn.html b/release/0.10.0/doc_cn/howto/usage/cmd_parameter/detail_introduction_cn.html new file mode 100644 index 0000000000..4cc71ff0dd --- /dev/null +++ b/release/0.10.0/doc_cn/howto/usage/cmd_parameter/detail_introduction_cn.html @@ -0,0 +1,697 @@ + + + + + + + + + + + 细节描述 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

细节描述

+
+

通用

+
    +
  • --job
      +
    • 工作模式,包括: train, test, checkgrad,其中checkgrad主要为开发者使用,使用者不需要关心。
    • +
    • 类型: string (默认: train)
    • +
    +
  • +
  • --config
      +
    • 用于指定网络配置文件。
    • +
    • 类型: string (默认: null).
    • +
    +
  • +
  • --use_gpu
      +
    • 训练过程是否使用GPU,设置为true使用GPU模式,否则使用CPU模式。
    • +
    • 类型: bool (默认: 1).
    • +
    +
  • +
  • --local + - 训练过程是否为本地模式,设置为true使用本地训练或者使用集群上的一个节点,否则使用多机训练。
      +
    • 类型: bool (默认: 1).
    • +
    +
  • +
  • --trainer_count
      +
    • 指定一台机器上使用的线程数。例如,trainer_count = 4, 意思是在GPU模式下使用4个GPU,或者在CPU模式下使用4个线程。每个线程(或GPU)分配到当前数据块样本数的四分之一。也就是说,如果在训练配置中设置batch_size为512,每个线程分配到128个样本用于训练。
    • +
    • 类型: int32 (默认: 1).
    • +
    +
  • +
  • --num_passes
      +
    • 当模式为--job=train时, 该参数的意思是训练num_passes轮。每轮会将数据集中的所有训练样本使用一次。当模式为--job=test时,意思是使用第test_pass个模型到第 num_passes-1 个模型测试数据。
    • +
    • 类型: int32 (默认: 100).
    • +
    +
  • +
  • --config_args
      +
    • 传递给配置文件的参数。格式: key1=value1,key2=value2.
    • +
    • 类型: string (默认: null).
    • +
    +
  • +
  • --version
      +
    • 是否打印版本信息。
    • +
    • 类型: bool (默认: 0).
    • +
    +
  • +
  • --show_layer_stat
      +
    • 是否显示每个批次数据中每层的数值统计.
    • +
    • 类型: bool (默认: 0).
    • +
    +
  • +
+
+
+

训练

+
    +
  • --log_period
      +
    • 每log_period个批次打印日志进度.
    • +
    • 类型: int32 (默认: 100).
    • +
    +
  • +
  • --dot_period
      +
    • 每dot_period个批次输出符号’.’.
    • +
    • 类型: int32 (默认: 1).
    • +
    +
  • +
  • --saving_period
      +
    • 每saving_period轮保存训练参数.
    • +
    • 类型: int32 (默认: 1).
    • +
    +
  • +
  • --save_dir
      +
    • 保存模型参数的目录,需要明确指定,但不需要提前创建。
    • +
    • 类型: string (默认: null).
    • +
    +
  • +
  • --start_pass
      +
    • 从start_pass轮开始训练,会加载上一轮的参数。
    • +
    • 类型: int32 (默认: 0).
    • +
    +
  • +
  • --show_parameter_stats_period
      +
    • 在训练过程中每show_parameter_stats_period个批次输出参数统计。默认不显示。
    • +
    • 类型: int32 (默认: 0).
    • +
    +
  • +
  • --save_only_one
      +
    • 只保存最后一轮的参数,而之前的参数将会被删除。
    • +
    • 类型: bool (默认: 0).
    • +
    +
  • +
  • --load_missing_parameter_strategy
      +
    • 当模型参数不存在时,指定加载的方式。目前支持fail/rand/zero三种操作.
        +
      • fail: 程序直接退出.
      • +
      • rand: 根据网络配置中的initial_strategy采用均匀分布或者高斯分布初始化。均匀分布的范围是: [mean - std, mean + std], 其中mean和std是训练配置中的参数.
      • +
      • zero: 所有参数置为零.
      • +
      +
    • +
    • 类型: string (默认: fail).
    • +
    +
  • +
  • --init_model_path
      +
    • 初始化模型的路径。如果设置该参数,start_pass将不起作用。同样也可以在测试模式中指定模型路径。
    • +
    • 类型: string (默认: null).
    • +
    +
  • +
  • --saving_period_by_batches
      +
    • 在一轮中每saving_period_by_batches个批次保存一次参数。
    • +
    • 类型: int32 (默认: 0).
    • +
    +
  • +
  • --log_error_clipping
      +
    • 当在网络层配置中设置error_clipping_threshold时,该参数指示是否打印错误截断日志。如果为true,每批次的反向传播将会打印日志信息。该截断会影响输出的梯度.
    • +
    • 类型: bool (默认: 0).
    • +
    +
  • +
  • --log_clipping
      +
    • 当在训练配置中设置gradient_clipping_threshold时,该参数指示是否打印日志截断信息。该截断会影响权重更新的梯度.
    • +
    • 类型: bool (默认: 0).
    • +
    +
  • +
  • --use_old_updater
      +
    • 是否使用旧的RemoteParameterUpdater。 默认使用ConcurrentRemoteParameterUpdater,主要为开发者使用,使用者通常无需关心.
    • +
    • 类型: bool (默认: 0).
    • +
    +
  • +
  • --enable_grad_share
      +
    • 启用梯度参数的阈值,在多CPU训练时共享该参数.
    • +
    • 类型: int32 (默认: 100 * 1024 * 1024).
    • +
    +
  • +
  • --grad_share_block_num
      +
    • 梯度参数的分块数目,在多CPU训练时共享该参数.
    • +
    • 类型: int32 (默认: 64).
    • +
    +
  • +
+
+
+

测试

+
    +
  • --test_pass
      +
    • 加载test_pass轮的模型用于测试.
    • +
    • 类型: int32 (默认: -1).
    • +
    +
  • +
  • --test_period
      +
    • 如果为0,每轮结束时对所有测试数据进行测试;如果不为0,每test_period个批次对所有测试数据进行测试.
    • +
    • 类型: int32 (默认: 0).
    • +
    +
  • +
  • --test_wait
      +
    • 指示当指定轮的测试模型不存在时,是否需要等待该轮模型参数。如果在训练期间同时发起另外一个进程进行测试,可以使用该参数.
    • +
    • 类型: bool (默认: 0).
    • +
    +
  • +
  • --model_list
      +
    • 测试时指定的存储模型列表的文件.
    • +
    • 类型: string (默认: “”, null).
    • +
    +
  • +
  • --predict_output_dir
      +
    • 保存网络层输出结果的目录。该参数在网络配置的Outputs()中指定,默认为null,意思是不保存结果。在测试阶段,如果你想要保存某些层的特征图,请指定该目录。需要注意的是,网络层的输出是经过激活函数之后的值.
    • +
    • 类型: string (默认: “”, null).
    • +
    +
  • +
  • --average_test_period
      +
    • 使用average_test_period个批次的参数平均值进行测试。该参数必须能被FLAGS_log_period整除,默认为0,意思是不使用平均参数执行测试.
    • +
    • 类型: int32 (默认: 0).
    • +
    +
  • +
  • --distribute_test
      +
    • 在分布式环境中测试,将多台机器的测试结果合并.
    • +
    • 类型: bool (默认: 0).
    • +
    +
  • +
  • --predict_file
      +
    • 保存预测结果的文件名。该参数默认为null,意思是不保存结果。目前该参数仅用于AucValidationLayer和PnpairValidationLayer层,每轮都会保存预测结果.
    • +
    • 类型: string (默认: “”, null).
    • +
    +
  • +
+
+
+

GPU

+
    +
  • --gpu_id
      +
    • 指示使用哪个GPU核.
    • +
    • 类型: int32 (默认: 0).
    • +
    +
  • +
  • --allow_only_one_model_on_one_gpu
      +
    • 如果为true,一个GPU设备上不允许配置多个模型.
    • +
    • 类型: bool (默认: 1).
    • +
    +
  • +
  • --parallel_nn
      +
    • 指示是否使用多线程来计算一个神经网络。如果为false,设置gpu_id指定使用哪个GPU核(训练配置中的设备属性将会无效)。如果为true,GPU核在训练配置中指定(gpu_id无效).
    • +
    • 类型: bool (默认: 0).
    • +
    +
  • +
  • --cudnn_dir
      +
    • 选择路径来动态加载NVIDIA CuDNN库,例如,/usr/local/cuda/lib64. [默认]: LD_LIBRARY_PATH
    • +
    • 类型: string (默认: “”, null)
    • +
    +
  • +
  • --cuda_dir
      +
    • 选择路径来动态加载NVIDIA CUDA库,例如,/usr/local/cuda/lib64. [默认]: LD_LIBRARY_PATH
    • +
    • 类型: string (默认: “”, null)
    • +
    +
  • +
  • --cudnn_conv_workspace_limit_in_mb
      +
    • 指定cuDNN的最大工作空间容限,单位是MB,默认为4096MB=4GB.
    • +
    • 类型: int32 (默认: 4096MB=4GB)
    • +
    +
  • +
+
+
+

自然语言处理(NLP): RNN/LSTM/GRU

+
    +
  • --rnn_use_batch
      +
    • 指示在简单的RecurrentLayer层的计算中是否使用批处理方法.
    • +
    • 类型: bool (默认: 0).
    • +
    +
  • +
  • --prev_batch_state
      +
    • 标识是否为连续的batch计算.
    • +
    • 类型: bool (默认: 0).
    • +
    +
  • +
  • --beam_size
      +
    • 集束搜索使用广度优先搜索的方式构建查找树。在树的每一层上,都会产生当前层状态的所有继承结果,按启发式损失的大小递增排序。然而,每层上只能保存固定数目个最好的状态,该数目是提前定义好的,称之为集束大小.
    • +
    • 类型: int32 (默认: 1).
    • +
    +
  • +
  • --diy_beam_search_prob_so + - 用户可以自定义beam search的方法,编译成动态库,供PaddlePaddle加载。 该参数用于指定动态库路径.
      +
    • 类型: string (默认: “”, null).
    • +
    +
  • +
+
+
+

数据支持(DataProvider)

+
    +
  • --memory_threshold_on_load_data
      +
    • 内存容限阈值,当超过该阈值时,停止加载数据.
    • +
    • 类型: double (默认: 1.0).
    • +
    +
  • +
+
+
+

单元测试

+
    +
  • --checkgrad_eps
      +
    • 使用checkgrad模式时的参数变化大小.
    • +
    • 类型: double (默认: 1e-05).
    • +
    +
  • +
+
+
+

参数服务器和分布式通信

+
    +
  • --start_pserver
      +
    • 指示是否开启参数服务器(parameter server).
    • +
    • 类型: bool (默认: 0).
    • +
    +
  • +
  • --pservers
      +
    • 参数服务器的IP地址,以逗号间隔.
    • +
    • 类型: string (默认: “127.0.0.1”).
    • +
    +
  • +
  • --port
      +
    • 参数服务器的监听端口.
    • +
    • 类型: int32 (默认: 20134).
    • +
    +
  • +
  • --ports_num
      +
    • 发送参数的端口号,根据默认端口号递增.
    • +
    • 类型: int32 (默认: 1).
    • +
    +
  • +
  • --trainer_id + - 在分布式训练中,每个训练节点必须指定一个唯一的id号,从0到num_trainers-1。0号训练节点是主训练节点。使用者无需关心这个参数.
      +
    • 类型: int32 (默认: 0).
    • +
    +
  • +
  • --num_gradient_servers
      +
    • 梯度服务器的数量,该参数在集群提交环境中自动设置.
    • +
    • 类型: int32 (默认: 1).
    • +
    +
  • +
  • --small_messages
      +
    • 如果消息数据太小,建议将该参数设为true,启动快速应答,无延迟.
    • +
    • 类型: bool (默认: 0).
    • +
    +
  • +
  • --sock_send_buf_size
      +
    • 限制套接字发送缓冲区的大小。如果仔细设置的话,可以有效减小网络的阻塞.
    • +
    • 类型: int32 (默认: 1024 * 1024 * 40).
    • +
    +
  • +
  • --sock_recv_buf_size
      +
    • 限制套接字接收缓冲区的大小.
    • +
    • 类型: int32 (默认: 1024 * 1024 * 40).
    • +
    +
  • +
  • --parameter_block_size
      +
    • 参数服务器的参数分块大小。如果未设置,将会自动计算出一个合适的值.
    • +
    • 类型: int32 (默认: 0).
    • +
    +
  • +
  • --parameter_block_size_for_sparse
      +
    • 参数服务器稀疏更新的参数分块大小。如果未设置,将会自动计算出一个合适的值.
    • +
    • 类型: int32 (默认: 0).
    • +
    +
  • +
  • --log_period_server
      +
    • 在参数服务器终端每log_period_server个批次打印日志进度.
    • +
    • 类型: int32 (默认: 500).
    • +
    +
  • +
  • --loadsave_parameters_in_pserver
      +
    • 在参数服务器上加载和保存参数,只有当设置了sparse_remote_update参数时才有效.
    • +
    • 类型: bool (默认: 0).
    • +
    +
  • +
  • --pserver_num_threads
      +
    • 同步执行操作的线程数.
    • +
    • 类型: bool (默认: 1).
    • +
    +
  • +
  • --ports_num_for_sparse
      +
    • 发送参数的端口号,根据默认值递增(port + ports_num),用于稀疏训练中.
    • +
    • 类型: int32 (默认: 0).
    • +
    +
  • +
  • --nics
      +
    • 参数服务器的网络设备名称,已经在集群提交环境中完成设置.
    • +
    • 类型: string (默认: “xgbe0,xgbe1”).
    • +
    +
  • +
  • --rdma_tcp
      +
    • 使用rdma还是tcp传输协议,该参数已经在集群提交环境中完成设置.
    • +
    • 类型: string (默认: “tcp”).
    • +
    +
  • +
+
+
+

异步随机梯度下降(Async SGD)

+
    +
  • --async_count
      +
    • 定义异步训练的长度,如果为0,则使用同步训练.
    • +
    • 类型: int32 (默认: 0).
    • +
    +
  • +
  • --async_lagged_ratio_min
      +
    • 控制config_.async_lagged_grad_discard_ratio()的最小值.
    • +
    • 类型: double (默认: 1.0).
    • +
    +
  • +
  • --async_lagged_ratio_default
      +
    • 如果在网络配置中未设置async_lagged_grad_discard_ratio,则使用该参数作为默认值.
    • +
    • 类型: double (默认: 1.5).
    • +
    +
  • +
+
+
+

性能调优(Performance Tuning)

+
    +
  • --log_barrier_abstract
      +
    • 如果为true,则显示阻隔性能的摘要信息.
    • +
    • 类型: bool (默认: 1).
    • +
    +
  • +
  • --log_barrier_show_log
      +
    • 如果为true,则总会显示阻隔摘要信息,即使间隔很小.
    • +
    • 类型: bool (默认: 0).
    • +
    +
  • +
  • --log_barrier_lowest_nodes
      +
    • 最少显示多少个节点.
    • +
    • 类型: int32 (默认: 5).
    • +
    +
  • +
  • --check_sparse_distribution_in_pserver
      +
    • 指示是否检查所有参数服务器上的稀疏参数的分布是均匀的.
    • +
    • 类型: bool (默认: 0).
    • +
    +
  • +
  • --show_check_sparse_distribution_log
      +
    • 指示是否显示参数服务器上的稀疏参数分布的日志细节.
    • +
    • 类型: bool (默认: 0).
    • +
    +
  • +
  • --check_sparse_distribution_batches
      +
    • 每运行多少个批次执行一次稀疏参数分布的检查.
    • +
    • 类型: int32 (默认: 100).
    • +
    +
  • +
  • --check_sparse_distribution_ratio
      +
    • 如果检查到分配在不同参数服务器上的参数的分布不均匀次数大于check_sparse_distribution_ratio * check_sparse_distribution_batches次,程序停止.
    • +
    • 类型: double (默认: 0.6).
    • +
    +
  • +
  • --check_sparse_distribution_unbalance_degree
      +
    • 不同参数服务器上数据大小的最大值与最小值的比率.
    • +
    • 类型: double (默认: 2).
    • +
    +
  • +
+
+
+

矩阵/向量/随机数

+
    +
  • --enable_parallel_vector
      +
    • 启动并行向量的阈值.
    • +
    • 类型: int32 (默认: 0).
    • +
    +
  • +
  • --seed
      +
    • 随机数的种子。srand(time)的为0.
    • +
    • 类型: int32 (默认: 1)
    • +
    +
  • +
  • --thread_local_rand_use_global_seed
      +
    • 是否将全局种子应用于本地线程的随机数.
    • +
    • 类型: bool (默认: 0).
    • +
    +
  • +
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/howto/usage/cmd_parameter/index_cn.html b/release/0.10.0/doc_cn/howto/usage/cmd_parameter/index_cn.html new file mode 100644 index 0000000000..3ad313fdad --- /dev/null +++ b/release/0.10.0/doc_cn/howto/usage/cmd_parameter/index_cn.html @@ -0,0 +1,267 @@ + + + + + + + + + + + 设置命令行参数 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

设置命令行参数

+ +
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/howto/usage/cmd_parameter/use_case_cn.html b/release/0.10.0/doc_cn/howto/usage/cmd_parameter/use_case_cn.html new file mode 100644 index 0000000000..787872588f --- /dev/null +++ b/release/0.10.0/doc_cn/howto/usage/cmd_parameter/use_case_cn.html @@ -0,0 +1,439 @@ + + + + + + + + + + + 使用案例 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

使用案例

+
+

本地训练

+

本地训练的实验,诸如图像分类,自然语言处理等,通常都会使用下面这些命令行参数。

+
paddle train \
+  --use_gpu=1/0 \                        #1:GPU,0:CPU(默认为1)
+  --config=network_config \
+  --save_dir=output \
+  --trainer_count=COUNT \                #(默认为1)
+  --test_period=M \                      #(默认为0) 
+  --num_passes=N \                       #(默认为100)
+  --log_period=K \                       #(默认为100)
+  --dot_period=1000 \                    #(默认为1)
+  #[--show_parameter_stats_period=100] \ #(默认为0)
+  #[--saving_period_by_batches=200] \    #(默认为0)
+
+
+

根据你的任务,可以选择是否使用参数show_parameter_stats_periodsaving_period_by_batches

+
+

1) 将命令参数传给网络配置

+

config_args是一个很有用的参数,用于将参数传递给网络配置。

+
--config_args=generating=1,beam_size=5,layer_num=10 \
+
+
+

get_config_arg可用于在网络配置中解析这些参数,如下所示:

+
generating = get_config_arg('generating', bool, False)
+beam_size = get_config_arg('beam_size', int, 3)
+layer_num = get_config_arg('layer_num', int, 8)
+
+
+

get_config_arg:

+
get_config_arg(name, type, default_value)
+
+
+
    +
  • name: --config_args中指定的名字
  • +
  • type: 值类型,包括bool, int, str, float等
  • +
  • default_value: 默认值
  • +
+
+
+

2) 使用模型初始化网络

+

增加如下参数:

+
--init_model_path=model_path
+--load_missing_parameter_strategy=rand
+
+
+
+
+
+

本地测试

+

方法一:

+
paddle train --job=test \
+             --use_gpu=1/0 \ 
+             --config=network_config \
+             --trainer_count=COUNT \ 
+             --init_model_path=model_path \
+
+
+
    +
  • 使用init_model_path指定测试的模型
  • +
  • 只能测试单个模型
  • +
+

方法二:

+
paddle train --job=test \
+             --use_gpu=1/0 \ 
+             --config=network_config \
+             --trainer_count=COUNT \ 
+             --model_list=model.list \
+
+
+
    +
  • 使用model_list指定测试的模型列表
  • +
  • 可以测试多个模型,文件model.list如下所示:
  • +
+
./alexnet_pass1
+./alexnet_pass2
+
+
+

方法三:

+
paddle train --job=test \
+             --use_gpu=1/0 \
+             --config=network_config \
+             --trainer_count=COUNT \
+             --save_dir=model \
+             --test_pass=M \
+             --num_passes=N \
+
+
+

这种方式必须使用Paddle存储的模型路径格式,如:model/pass-%5d。测试的模型包括从第M轮到第N-1轮存储的所有模型。例如,M=12,N=14这种写法将会测试模型model/pass-00012model/pass-00013

+
+
+

稀疏训练

+

当输入是维度很高的稀疏数据时,通常使用稀疏训练来加速计算过程。例如,输入数据的字典维数是1百万,但是每个样本仅包含几个词。在Paddle中,稀疏矩阵的乘积应用于前向传播过程,而稀疏更新在反向传播之后的权重更新时进行。

+
+

1) 本地训练

+

用户需要在网络配置中指定sparse_update=True。请参照网络配置的文档了解更详细的信息。

+
+
+

2) 集群训练

+

在集群上训练一个稀疏模型需要加上下面的参数。同时用户需要在网络配置中指定sparse_remote_update=True。请参照网络配置的文档了解更详细的信息。

+
--ports_num_for_sparse=1    #(默认为0)
+
+
+
+
+
+

parallel_nn

+

用户可以设置parallel_nn来混合使用GPU和CPU计算网络层的参数。也就是说,你可以将网络配置成某些层使用GPU计算,而其他层使用CPU计算。另一种方式是将网络层划分到不同的GPU上去计算,这样可以减小GPU内存,或者采用并行计算来加速某些层的更新。

+

如果你想使用这些特性,你需要在网络配置中指定设备的ID号(表示为deviceId),并且加上下面的命令行参数:

+
--parallel_nn=true
+
+
+
+

案例一:GPU和CPU混合使用

+

请看下面的例子:

+
#command line:
+paddle train --use_gpu=true --parallel_nn=true trainer_count=COUNT
+
+default_device(0)
+
+fc1=fc_layer(...)
+fc2=fc_layer(...)
+fc3=fc_layer(...,layer_attr=ExtraAttr(device=-1))
+
+
+
    +
  • default_device(0): 设置默认设备号为0。这意味着除了指定device=-1的层之外,其他所有层都会使用GPU计算,每层使用的GPU号依赖于参数trainer_count和gpu_id(默认为0)。在此,fc1和fc2层在GPU上计算。
  • +
  • device=-1: fc3层使用CPU计算。
  • +
  • trainer_count:
      +
    • trainer_count=1: 如果未设置gpu_id,那么fc1和fc2层将会使用第1个GPU来计算。否则使用gpu_id指定的GPU。
    • +
    • trainer_count>1: 在trainer_count个GPU上使用数据并行来计算某一层。例如,trainer_count=2意味着0号和1号GPU将会使用数据并行来计算fc1和fc2层。
    • +
    +
  • +
+
+
+

案例二:在不同设备上指定层

+
#command line:
+paddle train --use_gpu=true --parallel_nn=true --trainer_count=COUNT
+
+#network:
+fc2=fc_layer(input=l1, layer_attr=ExtraAttr(device=0), ...)
+fc3=fc_layer(input=l1, layer_attr=ExtraAttr(device=1), ...)
+fc4=fc_layer(input=fc2, layer_attr=ExtraAttr(device=-1), ...)
+
+
+

在本例中,我们假设一台机器上有4个GPU。

+
    +
  • trainer_count=1:
      +
    • 使用0号GPU计算fc2层。
    • +
    • 使用1号GPU计算fc3层。
    • +
    • 使用CPU计算fc4层。
    • +
    +
  • +
  • trainer_count=2:
      +
    • 使用0号和1号GPU计算fc2层。
    • +
    • 使用2号和3号GPU计算fc3层。
    • +
    • 使用CPU两线程计算fc4层。
    • +
    +
  • +
  • trainer_count=4:
      +
    • 运行失败(注意到我们已经假设机器上有4个GPU),因为参数allow_only_one_model_on_one_gpu默认设置为真。
    • +
    +
  • +
+

device!=-1时设备ID号的分配:

+
(deviceId + gpu_id + threadId * numLogicalDevices_) % numDevices_
+
+deviceId:             在层中指定
+gpu_id:               默认为0
+threadId:             线程ID号,范围: 0,1,..., trainer_count-1
+numDevices_:          机器的设备(GPU)数目
+numLogicalDevices_:   min(max(deviceId + 1), numDevices_)
+
+
+
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/howto/usage/k8s/k8s_basis_cn.html b/release/0.10.0/doc_cn/howto/usage/k8s/k8s_basis_cn.html new file mode 100644 index 0000000000..0273c0f81b --- /dev/null +++ b/release/0.10.0/doc_cn/howto/usage/k8s/k8s_basis_cn.html @@ -0,0 +1,332 @@ + + + + + + + + + + + Kubernetes 简介 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

Kubernetes 简介

+

Kubernetes是Google开源的容器集群管理系统,其提供应用部署、维护、扩展机制等功能,利用Kubernetes能方便地管理跨机器运行容器化的应用。Kubernetes可以在物理机或虚拟机上运行,且支持部署到AWSAzureGCE等多种公有云环境。介绍分布式训练之前,需要对Kubernetes有一个基本的认识,下面先简要介绍一下本文用到的几个Kubernetes概念。

+
    +
  • Node 表示一个Kubernetes集群中的一个工作节点,这个节点可以是物理机或者虚拟机,Kubernetes集群就是由node节点与master节点组成的。
  • +
  • Pod 是一组(一个或多个)容器,pod是Kubernetes的最小调度单元,一个pod中的所有容器会被调度到同一个node上。Pod中的容器共享NET,PID,IPC,UTS等Linux namespace。由于容器之间共享NET namespace,所以它们使用同一个IP地址,可以通过localhost互相通信。不同pod之间可以通过IP地址访问。
  • +
  • Job 描述Kubernetes上运行的作业,一次作业称为一个job,通常每个job包括一个或者多个pods,job启动后会创建这些pod并开始执行一个程序,等待这个程序执行成功并返回0则成功退出,如果执行失败,也可以配置不同的重试机制。
  • +
  • Volume 存储卷,是pod内的容器都可以访问的共享目录,也是容器与node之间共享文件的方式,因为容器内的文件都是暂时存在的,当容器因为各种原因被销毁时,其内部的文件也会随之消失。通过volume,就可以将这些文件持久化存储。Kubernetes支持多种volume,例如hostPath(宿主机目录),gcePersistentDisk,awsElasticBlockStore等。
  • +
  • Namespaces 命名空间,在kubernetes中创建的所有资源对象(例如上文的pod,job)等都属于一个命名空间,在同一个命名空间中,资源对象的名字是唯一的,不同空间的资源名可以重复,命名空间主要为了对象进行逻辑上的分组便于管理。本文只使用了默认命名空间。
  • +
  • PersistentVolume: 和PersistentVolumeClaim结合,将外部的存储服务在Kubernetes中描述成为统一的资源形式,便于存储资源管理和Pod引用。
  • +
+
+

部署Kubernetes集群

+

Kubernetes提供了多种集群部署的方案,本文档内不重复介绍。这里给出集中常见的部署方法:

+
    +
  • minikube: 快速在本地启动一个单机的kubernetes服务器,便于本地验证和测试。
  • +
  • kubeadm: 在不同操作系统,不同主机(Bare-Metal, AWS, GCE)条件下,快速部署集群。
  • +
  • AWS EC2: 在aws上快速部署集群。
  • +
  • Bare-Metal: 在物理机上手动部署。
  • +
+

可以参考这个表格选择适合您的场景的合适方案。

+
+
+

选择存储方案

+

容器不会保留在运行时生成的数据,job或者应用程序在容器中运行时生成的数据会在容器销毁时消失。为了完成分布式机器学习训练任务,需要有一个外部的存储服务来保存训练所需数据和训练输出。 +常见的可选存储服务包括:

+
    +
  • NFS: 可以将磁盘上某个目录共享给网络中其他机器访问。部署和配置比较简单,可以用于小量数据的验证。不提供分布式存储,高可用,冗余等功能。NFS的部署方法可以参考这里
  • +
  • GlusterFS: 网络分布式文件系统,可以在Kubernetes中按照这个例子使用。
  • +
  • Ceph: 分布式文件系统,支持rbd,POSIX API接口(ceph fs)和对象存储API,参考这里
  • +
  • MooseFS: 一个分布式的存储系统。需要先挂载到服务器Node上再通过kubernetes hostPath Volume挂载到容器中。
  • +
+
+
+

配置kubectl

+
+

安装kubectl

+
# OS X
+curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl
+
+# Linux
+curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
+
+# Windows
+curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/windows/amd64/kubectl.exe
+
+
+
+
+

配置kubectl访问你的kubernetes集群

+

编辑~/.kube/config这个配置文件,修改Master-IP的地址。如果使用SSL认证,则需要配置certificate-authorityusers中的用户证书。如果是使用非SSL方式访问(比如通过8080端口),也可以去掉这些证书的配置。

+
apiVersion: v1
+clusters:
+- cluster:
+    certificate-authority: /path/to/ca.crt
+    server: https://[Master-IP]:443
+  name: minikube
+contexts:
+- context:
+    cluster: minikube
+    user: minikube
+  name: minikube
+current-context: minikube
+kind: Config
+preferences: {}
+users:
+- name: minikube
+  user:
+    client-certificate: /path/to/apiserver.crt
+    client-key: /Users/wuyi/.minikube/apiserver.key
+
+
+
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/howto/usage/k8s/k8s_cn.html b/release/0.10.0/doc_cn/howto/usage/k8s/k8s_cn.html new file mode 100644 index 0000000000..b6cb63f660 --- /dev/null +++ b/release/0.10.0/doc_cn/howto/usage/k8s/k8s_cn.html @@ -0,0 +1,453 @@ + + + + + + + + + + + Kubernetes单机训练 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

Kubernetes单机训练

+

在这篇文档里,我们介绍如何在 Kubernetes 集群上启动一个单机使用CPU的Paddle训练作业。在下一篇中,我们将介绍如何启动分布式训练作业。

+
+

制作Docker镜像

+

在一个功能齐全的Kubernetes机群里,通常我们会安装Ceph等分布式文件系统来存储训练数据。这样的话,一个分布式Paddle训练任务中的每个进程都可以从Ceph读取数据。在这个例子里,我们只演示一个单机作业,所以可以简化对环境的要求,把训练数据直接放在 +Paddle的Docker image里。为此,我们需要制作一个包含训练数据的Paddle镜像。

+

Paddle 的 Quick Start Tutorial +里介绍了用Paddle源码中的脚本下载训练数据的过程。 +而 paddledev/paddle:cpu-demo-latest 镜像里有 Paddle 源码与demo,( 请注意,默认的 +Paddle镜像 paddledev/paddle:cpu-latest 是不包括源码的, Paddle的各版本镜像可以参考 Docker installation guide ),所以我们使用这个镜像来下载训练数据到Docker container中,然后把这个包含了训练数据的container保存为一个新的镜像。

+
+

运行容器

+
$ docker run --name quick_start_data -it paddledev/paddle:cpu-demo-latest
+
+
+
+
+

下载数据

+

进入容器/root/paddle/demo/quick_start/data目录,使用get_data.sh下载数据

+
$ root@fbd1f2bb71f4:~/paddle/demo/quick_start/data# ./get_data.sh
+
+Downloading Amazon Electronics reviews data...
+--2016-10-31 01:33:43--  http://snap.stanford.edu/data/amazon/productGraph/categoryFiles/reviews_Electronics_5.json.gz
+Resolving snap.stanford.edu (snap.stanford.edu)... 171.64.75.80
+Connecting to snap.stanford.edu (snap.stanford.edu)|171.64.75.80|:80... connected.
+HTTP request sent, awaiting response... 200 OK
+Length: 495854086 (473M) [application/x-gzip]
+Saving to: 'reviews_Electronics_5.json.gz'
+
+ 10% [=======>                                         ] 874,279     64.7KB/s  eta 2h 13m
+
+
+
+
+

修改启动脚本

+

下载完数据后,修改/root/paddle/demo/quick_start/train.sh文件,内容如下(增加了一条cd命令)

+
set -e
+cd /root/paddle/demo/quick_start
+cfg=trainer_config.lr.py
+#cfg=trainer_config.emb.py
+#cfg=trainer_config.cnn.py
+#cfg=trainer_config.lstm.py
+#cfg=trainer_config.bidi-lstm.py
+#cfg=trainer_config.db-lstm.py
+paddle train \
+  --config=$cfg \
+  --save_dir=./output \
+  --trainer_count=4 \
+  --log_period=20 \
+  --num_passes=15 \
+  --use_gpu=false \
+  --show_parameter_stats_period=100 \
+  --test_all_data_in_one_period=1 \
+  2>&1 | tee 'train.log'
+
+
+
+
+

提交镜像

+

修改启动脚本后,退出容器,使用docker commit命令创建新镜像。

+
$ docker commit quick_start_data mypaddle/paddle:quickstart
+
+
+
+
+
+

使用 Kubernetes 进行训练

+
+
针对任务运行完成后容器自动退出的场景,Kubernetes有Job类型的资源来支持。下文就是用Job类型的资源来进行训练。
+
+

编写yaml文件

+

在训练时,输出结果可能会随着容器的消耗而被删除,需要在创建容器前挂载卷以便我们保存训练结果。使用我们之前构造的镜像,可以创建一个 Kubernetes Job,简单的yaml文件如下:

+
apiVersion: batch/v1
+kind: Job
+metadata:
+  name: quickstart
+spec:
+  parallelism: 1
+  completions: 1
+  template:
+    metadata:
+      name: quickstart
+    spec:
+      volumes:
+      - name: output
+        hostPath: 
+          path: /home/work/paddle_output     
+      containers:
+      - name: pi
+        image: mypaddle/paddle:quickstart
+        command: ["bin/bash",  "-c", "/root/paddle/demo/quick_start/train.sh"]
+        volumeMounts:
+        - name: output
+          mountPath: /root/paddle/demo/quick_start/output
+      restartPolicy: Never
+
+
+
+
+

创建Paddle Job

+

使用上文创建的yaml文件创建Kubernetes Job,命令为:

+
$ kubectl  create -f paddle.yaml
+
+
+

查看job的详细情况:

+
$ kubectl  get job
+NAME         DESIRED   SUCCESSFUL   AGE
+quickstart   1         0            58s
+
+$ kubectl  describe job quickstart
+Name:       quickstart
+Namespace:  default
+Image(s):   registry.baidu.com/public/paddle:cpu-demo-latest
+Selector:   controller-uid=f120da72-9f18-11e6-b363-448a5b355b84
+Parallelism:    1
+Completions:    1
+Start Time: Mon, 31 Oct 2016 11:20:16 +0800
+Labels:     controller-uid=f120da72-9f18-11e6-b363-448a5b355b84,job-name=quickstart
+Pods Statuses:  0 Running / 1 Succeeded / 0 Failed
+Volumes:
+  output:
+    Type:   HostPath (bare host directory volume)
+    Path:   /home/work/paddle_output
+Events:
+  FirstSeen LastSeen    Count   From            SubobjectPath   Type        Reason          Message
+  --------- --------    -----   ----            -------------   --------    ------          -------
+  1m        1m      1   {job-controller }           Normal      SuccessfulCreate    Created pod: quickstart-fa0wx
+
+
+
+
+

查看训练结果

+

根据Job对应的Pod信息,可以查看此Pod运行的宿主机。

+
kubectl  describe pod quickstart-fa0wx
+Name:       quickstart-fa0wx
+Namespace:  default
+Node:       paddle-demo-let02/10.206.202.44
+Start Time: Mon, 31 Oct 2016 11:20:17 +0800
+Labels:     controller-uid=f120da72-9f18-11e6-b363-448a5b355b84,job-name=quickstart
+Status:     Succeeded
+IP:     10.0.0.9
+Controllers:    Job/quickstart
+Containers:
+  quickstart:
+    Container ID:   docker://b8561f5c79193550d64fa47418a9e67ebdd71546186e840f88de5026b8097465
+    Image:      registry.baidu.com/public/paddle:cpu-demo-latest
+    Image ID:       docker://18e457ce3d362ff5f3febf8e7f85ffec852f70f3b629add10aed84f930a68750
+    Port:
+    Command:
+      bin/bash
+      -c
+      /root/paddle/demo/quick_start/train.sh
+    QoS Tier:
+      cpu:      BestEffort
+      memory:       BestEffort
+    State:      Terminated
+      Reason:       Completed
+      Exit Code:    0
+      Started:      Mon, 31 Oct 2016 11:20:20 +0800
+      Finished:     Mon, 31 Oct 2016 11:21:46 +0800
+    Ready:      False
+    Restart Count:  0
+    Environment Variables:
+Conditions:
+  Type      Status
+  Ready     False
+Volumes:
+  output:
+    Type:   HostPath (bare host directory volume)
+    Path:   /home/work/paddle_output
+
+
+

我们还可以登录到宿主机上查看训练结果。

+
[root@paddle-demo-let02 paddle_output]# ll
+total 60
+drwxr-xr-x 2 root root 4096 Oct 31 11:20 pass-00000
+drwxr-xr-x 2 root root 4096 Oct 31 11:20 pass-00001
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00002
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00003
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00004
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00005
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00006
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00007
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00008
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00009
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00010
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00011
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00012
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00013
+drwxr-xr-x 2 root root 4096 Oct 31 11:21 pass-00014
+
+
+
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/howto/usage/k8s/k8s_distributed_cn.html b/release/0.10.0/doc_cn/howto/usage/k8s/k8s_distributed_cn.html new file mode 100644 index 0000000000..91541e9b04 --- /dev/null +++ b/release/0.10.0/doc_cn/howto/usage/k8s/k8s_distributed_cn.html @@ -0,0 +1,544 @@ + + + + + + + + + + + Kubernetes分布式训练 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+

Kubernetes分布式训练

+

前一篇文章介绍了如何在Kubernetes集群上启动一个单机PaddlePaddle训练作业 (Job)。在这篇文章里,我们介绍如何在Kubernetes集群上进行分布式PaddlePaddle训练作业。关于PaddlePaddle的分布式训练,文章 Cluster Training介绍了一种通过SSH远程分发任务,进行分布式训练的方法,与此不同的是,本文将介绍在Kubernetes容器管理平台上快速构建PaddlePaddle容器集群,进行分布式训练的方案。

+

有关Kubernetes相关概念以及如何搭建和配置Kubernetes集群,可以参考k8s

+
+

整体方案

+

在训练之前,用户将配置与训练数据切分好放在分布式文件系统预先分配好的目录中(不同的分布式文件系统,需要使用其制定的方式挂载后并导入数据),训练时,程序从此目录拷贝文件到容器内进行训练,将结果保存到此目录里。整体的结构图如下:

+

paddle on kubernetes结构图

+

上图描述了一个3节点的分布式训练场景,在每个Pod上都通过volume方式挂载分布式文件系统的一个目录用于保存训练数据和输出结果。Kubernetes为这次训练创建了3个pod并且调度到了3个node上运行,每个pod包含一个PaddlePaddle容器。在容器创建后,会启动pserver与trainer进程,读取volume中的数据进行这次分布式训练。

+

根据前文的描述,要在已有的Kubernetes集群上进行PaddlePaddle的分布式训练,按照下面步骤即可:

+
    +
  1. 制作PaddlePaddle镜像
  2. +
  3. 将训练文件与切分好的数据上传到共享存储
  4. +
  5. 编写本次训练的YAML文件,创建一个Kubernetes job
  6. +
  7. 训练结束后查看输出结果
  8. +
+

下面就根据这几个步骤分别介绍。

+
+

制作镜像

+

PaddlePaddle镜像需要提供paddle pserverpaddle train进程的运行环境,用这个镜像创建的容器需要有以下两个功能:

+
    +
  • 拷贝训练文件到容器内
  • +
  • 生成paddle pserverpaddle train进程的启动参数,并且启动训练
  • +
+

因为官方镜像 paddledev/paddle:cpu-latest 内已经包含PaddlePaddle的执行程序但是还没上述功能,所以我们可以在这个基础上,添加启动脚本,制作新镜像来完成以上的工作。参考镜像的Dockerfile

+
$ cd doc/howto/usage/k8s/src/k8s_train
+$ docker build -t [YOUR_REPO]/paddle:mypaddle .
+
+
+

然后将构建成功的镜像上传到镜像仓库。

+
docker push  [YOUR_REPO]/paddle:mypaddle
+
+
+

注意上述命令中[YOUR_REPO]表示读者所使用的Docker镜像仓库地址,读者需要替换成自己使用的仓库地址。下文使用[YOUR_REPO]/paddle:mypaddle这个地址来表示此步骤所构建出的镜像。

+
+
+

准备训练数据

+

这里我们通过在Kubernetes集群上启动一个Job来下载并切割数据,也可以通过修改k8s的内容来定制image.

+

在启动Job之前,需要根据不同的分布式存储来绑定一个persistentVolumeClaim,生成的数据将会存储在这个volume下.

+
apiVersion: batch/v1
+kind: Job
+metadata:
+  name: paddle-data
+spec:
+  template:
+    metadata:
+      name: pi
+    spec:
+      hostNetwork: true
+      containers:
+      - name: paddle-data
+        image: paddledev/paddle-tutorial:k8s_data
+        imagePullPolicy: Always
+        volumeMounts:
+        - mountPath: "/mnt"
+          name: nfs
+        env:
+        - name: OUT_DIR
+          value: /home/work/mfs/paddle-cluster-job
+        - name: SPLIT_COUNT
+          value: "3"
+      volumes:
+        - name: nfs
+          persistentVolumeClaim:
+            claimName: mfs
+      restartPolicy: Never
+
+
+

完成后volume中的文件内容大致如下:

+
[root@paddle-kubernetes-node0 nfsdir]$ tree -d
+.
+`-- paddle-cluster-job
+    |-- 0
+    |   `-- data
+    |-- 1
+    |   `-- data
+    |-- 2
+    |   `-- data
+    |-- output
+    |-- quick_start
+
+
+

目录中paddle-cluster-job是本次训练对应的job name,本次训练要求有3个PaddlePaddle节点,在paddle-cluster-job/data目录中存放切分好的数据,文件夹0,1,2分别代表3个节点的trainer_id。recommendation文件夹内存放训练文件,output文件夹存放训练结果与日志。

+
+
+

创建Job

+

Kubernetes可以通过YAML文件来创建相关对象,然后可以使用命令行工具创建job。

+

Job YAML文件描述了这次训练使用的Docker镜像,需要启动的节点个数以及 paddle pserverpaddle train进程启动的必要参数,也描述了容器需要使用的存储卷挂载的情况。YAML文件中各个字段的具体含义,可以查看Kubernetes Job API。例如,本次训练的YAML文件可以写成:

+
apiVersion: batch/v1
+kind: Job
+metadata:
+  name: paddle-cluster-job
+spec:
+  parallelism: 3
+  completions: 3
+  template:
+    metadata:
+      name: paddle-cluster-job
+    spec:
+      volumes:
+      - name: jobpath
+        hostPath:
+          path: /home/work/mfs
+      containers:
+      - name: trainer
+        image: [YOUR_REPO]/paddle:mypaddle
+        command: ["bin/bash",  "-c", "/root/start.sh"]
+        env:
+        - name: JOB_NAME
+          value: paddle-cluster-job
+        - name: JOB_PATH
+          value: /home/jobpath
+        - name: JOB_NAMESPACE
+          value: default
+        - name: TRAIN_CONFIG_DIR
+          value: recommendation
+        - name: CONF_PADDLE_NIC
+          value: eth0
+        - name: CONF_PADDLE_PORT
+          value: "7164"
+        - name: CONF_PADDLE_PORTS_NUM
+          value: "2"
+        - name: CONF_PADDLE_PORTS_NUM_SPARSE
+          value: "2"
+        - name: CONF_PADDLE_GRADIENT_NUM
+          value: "3"
+        volumeMounts:
+        - name: jobpath
+          mountPath: /home/jobpath
+      restartPolicy: Never
+
+
+

文件中,metadata下的name表示这个job的名字。parallelism,completions字段表示这个job会同时开启3个PaddlePaddle节点,成功训练且退出的pod数目为3时,这个job才算成功结束。然后申明一个存储卷jobpath,代表宿主机目录/home/work/mfs,在对容器的描述containers字段中,将此目录挂载为容器的/home/jobpath目录,这样容器的/home/jobpath目录就成为了共享存储,放在这个目录里的文件其实是保存到了MFS上。

+

env字段表示容器的环境变量,我们将paddle运行的一些参数通过这种方式传递到容器内。

+

环境变量 | 说明 +— | — +JOB_PATH | 共享存储挂在的路径 +JOB_NAME | Job的名字 +TRAIN_CONFIG_DIR | 本次训练文件所在目录,与JOB_PATH,JOB_NAME组合可以找到本次训练需要的文件路径 +CONF_PADDLE_NIC | paddle pserver进程需要的--nics参数,即网卡名 +CONF_PADDLE_PORT | paddle paserver--port参数 +CONF_PADDLE_PORTS_NUM | 稠密更新的端口数量,即--ports_num参数 +CONF_PADDLE_PORTS_NUM_SPARSE | 稀疏更新的端口数量,即--ports_num_for_sparse参数 +CONF_PADDLE_GRADIENT_NUM | 训练节点数量,即--num_gradient_servers参数

+

这些参数的具体描述,读者可以查看这里

+

编写完YAML文件后,可以使用Kubernetes的命令行工具创建job。

+
kubectl create -f job.yaml
+
+
+

创建成功后,Kubernetes就会创建3个pod作为PaddlePaddle节点然后拉取镜像,启动容器开始训练。

+
+
+

查看输出

+

在训练过程中,可以在共享存储上查看输出的日志和模型,例如output目录下就存放了输出结果。注意node_0,node_1,node_2这几个目录表示PaddlePaddle节点与trainer_id,并不是Kubernetes中的node概念。

+
[root@paddle-kubernetes-node0 output]# tree -d
+.
+├── node_0
+│   ├── server.log
+│   └── train.log
+├── node_1
+│   ├── server.log
+│   └── train.log
+├── node_2
+......
+├── pass-00002
+│   ├── done
+│   ├── ___embedding_0__.w0
+│   ├── ___embedding_1__.w0
+......
+
+
+

我们可以通过日志查看容器训练的情况,例如:

+
[root@paddle-kubernetes-node0 node_0]# cat train.log
+I1116 09:10:17.123121    50 Util.cpp:155] commandline:
+ /usr/local/bin/../opt/paddle/bin/paddle_trainer
+    --nics=eth0 --port=7164
+    --ports_num=2 --comment=paddle_process_by_paddle
+    --pservers=192.168.129.66,192.168.223.143,192.168.129.71
+    --ports_num_for_sparse=2 --config=./trainer_config.py
+    --trainer_count=4 --num_passes=10 --use_gpu=0
+    --log_period=50 --dot_period=10 --saving_period=1
+    --local=0 --trainer_id=0
+    --save_dir=/home/jobpath/paddle-cluster-job/output
+I1116 09:10:17.123440    50 Util.cpp:130] Calling runInitFunctions
+I1116 09:10:17.123764    50 Util.cpp:143] Call runInitFunctions done.
+[WARNING 2016-11-16 09:10:17,227 default_decorators.py:40] please use keyword arguments in paddle config.
+[INFO 2016-11-16 09:10:17,239 networks.py:1282] The input order is [movie_id, title, genres, user_id, gender, age, occupation, rating]
+[INFO 2016-11-16 09:10:17,239 networks.py:1289] The output order is [__mse_cost_0__]
+I1116 09:10:17.392917    50 Trainer.cpp:170] trainer mode: Normal
+I1116 09:10:17.613910    50 PyDataProvider2.cpp:257] loading dataprovider dataprovider::process
+I1116 09:10:17.680917    50 PyDataProvider2.cpp:257] loading dataprovider dataprovider::process
+I1116 09:10:17.681543    50 GradientMachine.cpp:134] Initing parameters..
+I1116 09:10:18.012390    50 GradientMachine.cpp:141] Init parameters done.
+I1116 09:10:18.018641    50 ParameterClient2.cpp:122] pserver 0 192.168.129.66:7164
+I1116 09:10:18.018950    50 ParameterClient2.cpp:122] pserver 1 192.168.129.66:7165
+I1116 09:10:18.019069    50 ParameterClient2.cpp:122] pserver 2 192.168.223.143:7164
+I1116 09:10:18.019492    50 ParameterClient2.cpp:122] pserver 3 192.168.223.143:7165
+I1116 09:10:18.019716    50 ParameterClient2.cpp:122] pserver 4 192.168.129.71:7164
+I1116 09:10:18.019836    50 ParameterClient2.cpp:122] pserver 5 192.168.129.71:7165
+
+
+
+
+
+

一些细节的补充

+
+

使用环境变量

+

使用容器方式运行训练任务的Kubernetes Job,通常会使用环境变量配置Job的配置信息start_paddle.py提供了一个启动脚本,将环境变量转换成paddle的命令行参数:

+
API = "/api/v1/namespaces/"
+JOBSELECTOR = "labelSelector=job-name="
+JOB_PATH = os.getenv("JOB_PATH") + "/" + os.getenv("JOB_NAME")
+JOB_PATH_OUTPUT = JOB_PATH + "/output"
+JOBNAME = os.getenv("JOB_NAME")
+NAMESPACE = os.getenv("JOB_NAMESPACE")
+PADDLE_NIC = os.getenv("CONF_PADDLE_NIC")
+PADDLE_PORT = os.getenv("CONF_PADDLE_PORT")
+PADDLE_PORTS_NUM = os.getenv("CONF_PADDLE_PORTS_NUM")
+PADDLE_PORTS_NUM_SPARSE = os.getenv("CONF_PADDLE_PORTS_NUM_SPARSE")
+PADDLE_SERVER_NUM = os.getenv("CONF_PADDLE_GRADIENT_NUM")
+
+
+
+
+

Pod间通信

+

start_paddle.py脚本开始时,会先进行参数的初始化与解析。

+
parser = argparse.ArgumentParser(prog="start_paddle.py",
+                                     description='simple tool for k8s')
+    args, train_args_list = parser.parse_known_args()
+    train_args = refine_unknown_args(train_args_list)
+    train_args_dict = dict(zip(train_args[:-1:2], train_args[1::2]))
+    podlist = getPodList()
+
+
+

然后通过函数getPodList()访问Kubernetes的接口来查询此job对应的所有pod信息。当所有pod都处于running状态(容器运行都运行)时,再通过函数getIdMap(podlist)获取trainer_id。

+
    podlist = getPodList()
+    # need to wait until all pods are running
+    while not isPodAllRunning(podlist):
+        time.sleep(10)
+        podlist = getPodList()
+    idMap = getIdMap(podlist)
+
+
+
    +
  • 注意: getPodList()会获取当前namespace下的所有pod,如果已经有pod运行,可能会导致出错。这种集群节点管理方式会在将来使用statfulsets代替。
  • +
+

在函数getIdMap(podlist)内部,我们通过读取podlist中每个pod的IP地址,将IP排序生成的序号作为trainer_id。

+
def getIdMap(podlist):
+    '''
+    generate tainer_id by ip
+    '''
+    ips = []
+    for pod in podlist["items"]:
+        ips.append(pod["status"]["podIP"])
+    ips.sort()
+    idMap = {}
+    for i in range(len(ips)):
+        idMap[ips[i]] = i
+    return idMap
+
+
+

在得到idMap后,通过函数startPaddle(idMap, train_args_dict)构造paddle pserverpaddle train的启动参数并执行进程。

+
+
+

启动任务

+

在函数startPaddle中,最主要的工作就是解析出paddle pserverpaddle train的启动参数。例如paddle train参数的解析,解析环境变量得到PADDLE_NICPADDLE_PORTPADDLE_PORTS_NUM等参数,然后通过自身的IP地址在idMap中获取trainerId

+
    program = 'paddle train'
+    args = " --nics=" + PADDLE_NIC
+    args += " --port=" + str(PADDLE_PORT)
+    args += " --ports_num=" + str(PADDLE_PORTS_NUM)
+    args += " --comment=" + "paddle_process_by_paddle"
+    ip_string = ""
+    for ip in idMap.keys():
+        ip_string += (ip + ",")
+    ip_string = ip_string.rstrip(",")
+    args += " --pservers=" + ip_string
+    args_ext = ""
+    for key, value in train_args_dict.items():
+        args_ext += (' --' + key + '=' + value)
+    localIP = socket.gethostbyname(socket.gethostname())
+    trainerId = idMap[localIP]
+    args += " " + args_ext + " --trainer_id=" + \
+        str(trainerId) + " --save_dir=" + JOB_PATH_OUTPUT
+
+
+
+
+
+ + +
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/howto/usage/k8s/src/k8s_data/README.html b/release/0.10.0/doc_cn/howto/usage/k8s/src/k8s_data/README.html new file mode 100644 index 0000000000..0d9532cb03 --- /dev/null +++ b/release/0.10.0/doc_cn/howto/usage/k8s/src/k8s_data/README.html @@ -0,0 +1,248 @@ + + + + + + + + + + + <no title> — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • <no title>
  • +
+
+ +
+
+
+
+ +

To build PaddlePaddle data preparation image in tutorial Distributed PaddlePaddle Training on AWS with Kubernetes, run following commands:

+
cp -r ../../../../../../demo/quick_start .
+docker build . -t prepare-data-image-name
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/howto/usage/k8s/src/k8s_train/README.html b/release/0.10.0/doc_cn/howto/usage/k8s/src/k8s_train/README.html new file mode 100644 index 0000000000..c765eda4f1 --- /dev/null +++ b/release/0.10.0/doc_cn/howto/usage/k8s/src/k8s_train/README.html @@ -0,0 +1,247 @@ + + + + + + + + + + + <no title> — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • <no title>
  • +
+
+ +
+
+
+
+ +

To build PaddlePaddle training image in tutorial Distributed PaddlePaddle Training on AWS with Kubernetes, run following command:

+
docker build . -t train-image-name
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/index.html b/release/0.10.0/doc_cn/index.html new file mode 120000 index 0000000000..98eed0c1e7 --- /dev/null +++ b/release/0.10.0/doc_cn/index.html @@ -0,0 +1 @@ +./index_cn.html \ No newline at end of file diff --git a/release/0.10.0/doc_cn/index_cn.html b/release/0.10.0/doc_cn/index_cn.html new file mode 100644 index 0000000000..c72de7230f --- /dev/null +++ b/release/0.10.0/doc_cn/index_cn.html @@ -0,0 +1,262 @@ + + + + + + + + + + + PaddlePaddle 文档 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • PaddlePaddle 文档
  • +
+
+ +
+
+
+
+ +
+

PaddlePaddle 文档

+ +
+ + +
+
+
+ + + + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/objects.inv b/release/0.10.0/doc_cn/objects.inv new file mode 100644 index 0000000000000000000000000000000000000000..e4cc4f94c12e562991bf27c2a44b8c12501717ab GIT binary patch literal 2782 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/py-modindex.html b/release/0.10.0/doc_cn/py-modindex.html new file mode 100644 index 0000000000..79ad4decef --- /dev/null +++ b/release/0.10.0/doc_cn/py-modindex.html @@ -0,0 +1,274 @@ + + + + + + + + + + + Python 模块索引 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Python 模块索引
  • +
+
+ +
+
+
+
+ + +

Python 模块索引

+ +
+ p +
+ + + + + + + + + + + + + +
 
+ p
+ paddle +
    + paddle.trainer_config_helpers.attrs +
    + paddle.trainer_config_helpers.data_sources +
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/search.html b/release/0.10.0/doc_cn/search.html new file mode 100644 index 0000000000..7c0d27886f --- /dev/null +++ b/release/0.10.0/doc_cn/search.html @@ -0,0 +1,265 @@ + + + + + + + + + + + 搜索 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • 搜索
  • +
+
+ +
+
+
+
+ + + + +
+ +
+ +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/searchindex.js b/release/0.10.0/doc_cn/searchindex.js new file mode 100644 index 0000000000..c0f62ab2a9 --- /dev/null +++ b/release/0.10.0/doc_cn/searchindex.js @@ -0,0 +1 @@ +Search.setIndex({docnames:["about/index_cn","api/index_cn","api/v1/data_provider/dataprovider_cn","api/v1/data_provider/pydataprovider2_cn","api/v1/index_cn","api/v1/predict/swig_py_paddle_cn","api/v1/trainer_config_helpers/activations","api/v1/trainer_config_helpers/attrs","api/v1/trainer_config_helpers/data_sources","api/v1/trainer_config_helpers/evaluators","api/v1/trainer_config_helpers/layers","api/v1/trainer_config_helpers/networks","api/v1/trainer_config_helpers/optimizers","api/v1/trainer_config_helpers/poolings","api/v2/config/activation","api/v2/config/attr","api/v2/config/layer","api/v2/config/networks","api/v2/config/optimizer","api/v2/config/pooling","api/v2/data","api/v2/model_configs","api/v2/run_logic","design/api","design/dist/README","design/multi_language_interface/why_plain_c","design/reader/README","faq/index_cn","getstarted/basic_usage/index_cn","getstarted/build_and_install/cmake/build_from_source_cn","getstarted/build_and_install/docker_install_cn","getstarted/build_and_install/index_cn","getstarted/build_and_install/ubuntu_install_cn","getstarted/concepts/use_concepts_cn","getstarted/index_cn","howto/deep_model/rnn/hierarchical_layer_cn","howto/deep_model/rnn/hrnn_rnn_api_compare_cn","howto/deep_model/rnn/index_cn","howto/deep_model/rnn/recurrent_group_cn","howto/deep_model/rnn/rnn_config_cn","howto/dev/contribute_to_paddle_cn","howto/dev/new_layer_cn","howto/dev/write_docs_cn","howto/index_cn","howto/optimization/gpu_profiling_cn","howto/usage/cluster/cluster_train_cn","howto/usage/cmd_parameter/arguments_cn","howto/usage/cmd_parameter/detail_introduction_cn","howto/usage/cmd_parameter/index_cn","howto/usage/cmd_parameter/use_case_cn","howto/usage/k8s/k8s_basis_cn","howto/usage/k8s/k8s_cn","howto/usage/k8s/k8s_distributed_cn","howto/usage/k8s/src/k8s_data/README","howto/usage/k8s/src/k8s_train/README","index_cn","tutorials/embedding_model/index_cn","tutorials/image_classification/index_cn","tutorials/imagenet_model/resnet_model_cn","tutorials/index_cn","tutorials/quick_start/index_cn","tutorials/rec/ml_dataset_cn","tutorials/rec/ml_regression_cn","tutorials/semantic_role_labeling/index_cn","tutorials/sentiment_analysis/index_cn","tutorials/text_generation/index_cn"],envversion:50,filenames:["about/index_cn.md","api/index_cn.rst","api/v1/data_provider/dataprovider_cn.rst","api/v1/data_provider/pydataprovider2_cn.rst","api/v1/index_cn.rst","api/v1/predict/swig_py_paddle_cn.rst","api/v1/trainer_config_helpers/activations.rst","api/v1/trainer_config_helpers/attrs.rst","api/v1/trainer_config_helpers/data_sources.rst","api/v1/trainer_config_helpers/evaluators.rst","api/v1/trainer_config_helpers/layers.rst","api/v1/trainer_config_helpers/networks.rst","api/v1/trainer_config_helpers/optimizers.rst","api/v1/trainer_config_helpers/poolings.rst","api/v2/config/activation.rst","api/v2/config/attr.rst","api/v2/config/layer.rst","api/v2/config/networks.rst","api/v2/config/optimizer.rst","api/v2/config/pooling.rst","api/v2/data.rst","api/v2/model_configs.rst","api/v2/run_logic.rst","design/api.md","design/dist/README.md","design/multi_language_interface/why_plain_c.md","design/reader/README.md","faq/index_cn.rst","getstarted/basic_usage/index_cn.rst","getstarted/build_and_install/cmake/build_from_source_cn.rst","getstarted/build_and_install/docker_install_cn.rst","getstarted/build_and_install/index_cn.rst","getstarted/build_and_install/ubuntu_install_cn.rst","getstarted/concepts/use_concepts_cn.rst","getstarted/index_cn.rst","howto/deep_model/rnn/hierarchical_layer_cn.rst","howto/deep_model/rnn/hrnn_rnn_api_compare_cn.rst","howto/deep_model/rnn/index_cn.rst","howto/deep_model/rnn/recurrent_group_cn.md","howto/deep_model/rnn/rnn_config_cn.rst","howto/dev/contribute_to_paddle_cn.md","howto/dev/new_layer_cn.rst","howto/dev/write_docs_cn.rst","howto/index_cn.rst","howto/optimization/gpu_profiling_cn.rst","howto/usage/cluster/cluster_train_cn.md","howto/usage/cmd_parameter/arguments_cn.md","howto/usage/cmd_parameter/detail_introduction_cn.md","howto/usage/cmd_parameter/index_cn.rst","howto/usage/cmd_parameter/use_case_cn.md","howto/usage/k8s/k8s_basis_cn.md","howto/usage/k8s/k8s_cn.md","howto/usage/k8s/k8s_distributed_cn.md","howto/usage/k8s/src/k8s_data/README.md","howto/usage/k8s/src/k8s_train/README.md","index_cn.rst","tutorials/embedding_model/index_cn.md","tutorials/image_classification/index_cn.md","tutorials/imagenet_model/resnet_model_cn.md","tutorials/index_cn.md","tutorials/quick_start/index_cn.rst","tutorials/rec/ml_dataset_cn.md","tutorials/rec/ml_regression_cn.rst","tutorials/semantic_role_labeling/index_cn.md","tutorials/sentiment_analysis/index_cn.md","tutorials/text_generation/index_cn.md"],objects:{"paddle.trainer_config_helpers":{attrs:[7,0,0,"-"],data_sources:[8,0,0,"-"]},"paddle.trainer_config_helpers.attrs":{ExtraAttr:[7,1,1,""],ExtraLayerAttribute:[7,2,1,""],ParamAttr:[7,1,1,""],ParameterAttribute:[7,2,1,""]},"paddle.trainer_config_helpers.attrs.ParameterAttribute":{set_default_parameter_name:[7,3,1,""]},"paddle.trainer_config_helpers.data_sources":{define_py_data_sources2:[8,4,1,""]}},objnames:{"0":["py","module","Python \u6a21\u5757"],"1":["py","attribute","Python \u5c5e\u6027"],"2":["py","class","Python \u7c7b"],"3":["py","method","Python \u65b9\u6cd5"],"4":["py","function","Python \u51fd\u6570"]},objtypes:{"0":"py:module","1":"py:attribute","2":"py:class","3":"py:method","4":"py:function"},terms:{"00012\u7684\u6a21\u578b\u6709\u7740\u6700\u9ad8\u7684bleu\u503c27":65,"0005\u4e58\u4ee5batch":57,"000\u4e2a\u5df2\u6807\u6ce8\u8fc7\u7684\u9ad8\u6781\u6027\u7535\u5f71\u8bc4\u8bba\u7528\u4e8e\u8bad\u7ec3":64,"000\u4e2a\u7528\u4e8e\u6d4b\u8bd5":64,"000\u4e2atxt\u6587\u4ef6":64,"000\u4f4d\u7528\u6237\u5bf94":61,"000\u5e45\u56fe\u50cf\u4e0a\u6d4b\u8bd5\u4e86\u6a21\u578b\u7684\u5206\u7c7b\u9519\u8bef\u7387":58,"000\u5f20\u7070\u5ea6\u56fe\u7247\u7684\u6570\u5b57\u5206\u7c7b\u6570\u636e\u96c6":3,"000\u6761\u8bc4\u4ef7":61,"000\u90e8\u7535\u5f71\u76841":61,"00186201e":5,"00m":44,"02595v1":[10,16],"03m":44,"0424m":44,"0473v3":[11,17],"05d":57,"0630u":44,"06u":44,"0810u":44,"08823112e":5,"0957m":44,"0\u53f7\u8bad\u7ec3\u8282\u70b9\u662f\u4e3b\u8bad\u7ec3\u8282\u70b9":47,"0\u5c42\u5e8f\u5217":35,"0\u8868\u793a\u7b2c\u4e00\u6b21\u7ecf\u8fc7\u8bad\u7ec3\u96c6":64,"0ab":[10,16],"0b1":32,"0rc1":30,"10000\u5f20\u4f5c\u4e3a\u6d4b\u8bd5\u96c6":57,"10007_10":64,"10014_7":64,"100m":27,"101\u5c42\u548c152\u5c42\u7684\u7f51\u7edc\u7ed3\u6784\u4e2d":58,"101\u5c42\u548c152\u5c42\u7684\u7f51\u7edc\u914d\u7f6e\u6587\u4ef6\u53ef\u53c2\u7167":58,"101\u5c42\u7f51\u7edc\u6a21\u578b":58,"10\u4e2d\u7684\u8bad\u7ec3\u96c6\u548c\u6d4b\u8bd5\u96c6":57,"10\u6570\u636e\u96c6":57,"10\u6570\u636e\u96c6\u5305\u542b60000\u5f2032x32\u7684\u5f69\u8272\u56fe\u7247":57,"10\u6570\u636e\u96c6\u7684\u5b98\u65b9\u7f51\u5740":57,"10\u6570\u636e\u96c6\u8bad\u7ec3\u4e00\u4e2a\u5377\u79ef\u795e\u7ecf\u7f51\u7edc":57,"1150u":44,"11e6":51,"12194102e":5,"124n":44,"128\u7ef4\u548c256\u7ef4":56,"13m":51,"1490u":44,"14\u6570\u636e\u96c6":65,"14\u6570\u636e\u96c6\u4e0a\u5f97\u5230\u826f\u597d\u8868\u73b0\u7684\u8bad\u7ec3\u8fc7\u7a0b":65,"14\u8fd9\u79cd\u5199\u6cd5\u5c06\u4f1a\u6d4b\u8bd5\u6a21\u578b":49,"152\u5c42\u7f51\u7edc\u6a21\u578b":58,"15501715e":5,"1550u":44,"15\u884c":36,"1636k":65,"16u":44,"173m":58,"173n":44,"1770u":44,"18\u5c81\u4ee5\u4e0b":61,"18e457ce3d362ff5f3febf8e7f85ffec852f70f3b629add10aed84f930a68750":51,"197u":44,"1\u7684\u5c42\u4e4b\u5916":49,"1\u7a00\u758f\u6570\u636e":41,"1\u8f6e\u5b58\u50a8\u7684\u6240\u6709\u6a21\u578b":49,"1\u9664\u4ee5batch":57,"1m\u6570\u636e\u96c6\u4e2d":62,"1m\u7684\u5b57\u6bb5\u914d\u7f6e\u6587\u4ef6\u5728\u76ee\u5f55":62,"200\u6570\u636e\u96c6\u4e0a\u4f7f\u7528vgg\u6a21\u578b\u8bad\u7ec3\u4e00\u4e2a\u9e1f\u7c7b\u56fe\u7247\u5206\u7c7b\u6a21\u578b":57,"210u":44,"211839e770f7b538e2d8":[11,17],"215n":44,"228u":44,"234m":58,"24\u5c81":61,"2520u":44,"25639710e":5,"25k":60,"2680u":44,"26\u884c":36,"27787406e":5,"279n":44,"27m":44,"285m":44,"2863m":44,"28\u7684\u56fe\u7247\u50cf\u7d20\u7070\u5ea6\u503c":3,"28\u7ef4\u7684\u7a20\u5bc6\u6d6e\u70b9\u6570\u5411\u91cf\u548c\u4e00\u4e2a":3,"28m":44,"2977m":44,"29997\u4e2a\u6700\u9ad8\u9891\u5355\u8bcd\u548c3\u4e2a\u7279\u6b8a\u7b26\u53f7":65,"2\u4e09\u7c7b\u7684\u6bd4\u4f8b\u4e3a":27,"2\u4e2a\u6d6e\u70b9\u6570":28,"2\u5206\u522b\u4ee3\u88683\u4e2a\u8282\u70b9\u7684trainer":52,"2\u610f\u5473\u77400\u53f7\u548c1\u53f7gpu\u5c06\u4f1a\u4f7f\u7528\u6570\u636e\u5e76\u884c\u6765\u8ba1\u7b97fc1\u548cfc2\u5c42":49,"2\u8fd9\u51e0\u4e2a\u76ee\u5f55\u8868\u793apaddlepaddle\u8282\u70b9\u4e0etrain":52,"2nd":[10,16],"302n":44,"30u":44,"3206326\u4e2a\u8bcd\u548c4\u4e2a\u7279\u6b8a\u6807\u8bb0":56,"32777140e":5,"328n":44,"32\u7ef4":56,"32u":44,"32x32":20,"331n":44,"3320u":44,"34\u5c81":61,"35\u65f6":65,"36540484e":5,"36u":44,"3710m":44,"3768m":44,"387u":44,"38u":44,"3920u":44,"39u":44,"3\u4e2a\u7279\u6b8a\u7b26\u53f7":65,"3\u53f7gpu":27,"4035m":44,"4090u":44,"4096mb":47,"4279m":44,"43630644e":5,"43u":44,"448a5b355b84":51,"44\u5c81":61,"4560u":44,"4563m":44,"45u":44,"4650u":44,"4726m":44,"473m":51,"48565123e":5,"48684503e":5,"49316648e":5,"49\u5c81":61,"4gb":47,"500\u4e2atxt\u6587\u4ef6":64,"500m":27,"50\u5c42":58,"50\u5c42\u7f51\u7edc\u6a21\u578b":58,"51111044e":5,"514u":44,"525n":44,"526u":44,"53018653e":5,"536u":44,"5460u":44,"5470u":44,"54u":44,"55\u5c81":61,"55g":65,"5690m":44,"573u":44,"578n":44,"5798m":44,"586u":44,"58s":51,"5969m":44,"5\u4e2a\u6d4b\u8bd5\u6837\u4f8b\u548c2\u4e2a\u751f\u6210\u5f0f\u6837\u4f8b":56,"5\u5230\u672c\u5730\u73af\u5883\u4e2d":32,"6080u":44,"6082v4":[10,16],"6140u":44,"6305m":44,"639u":44,"64\u7ef4":56,"655u":44,"6780u":44,"6810u":44,"682u":44,"6970u":44,"6\u4e07\u4ebf\u6b21\u6d6e\u70b9\u8fd0\u7b97\u6bcf\u79d2":44,"6\u4e2a\u8282\u70b9":45,"6\u5143\u4e0a\u4e0b\u6587\u4f5c\u4e3a\u8f93\u5165\u5c42":56,"704u":44,"70634608e":5,"7090u":44,"72296313e":5,"72u":44,"73u":44,"75u":44,"760u":44,"767u":44,"783n":44,"784u":44,"78m":44,"7eamaa":20,"7kb":51,"8250u":44,"8300u":44,"830n":44,"849m":44,"85625684e":5,"861u":44,"864k":65,"8661m":44,"877\u4e2a\u88ab\u5411\u91cf\u5316\u7684\u8bcd":56,"877\u884c":56,"892m":44,"901n":44,"90u":44,"918u":44,"9247m":44,"924n":44,"9261m":44,"93137714e":5,"9330m":44,"94u":44,"9530m":44,"96644767e":5,"983m":44,"988u":44,"997u":44,"99982715e":5,"99m":58,"99u":44,"9\u4e2d\u7684\u4e00\u4e2a\u6570\u5b57":3,"9f18":51,"\u0233":28,"\u03b5":28,"\u4e00":36,"\u4e00\u4e2a0\u5c42\u5e8f\u5217":35,"\u4e00\u4e2a0\u5c42\u5e8f\u5217\u7ecf\u8fc7\u8fd0\u7b97\u6269\u5c55\u6210\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":35,"\u4e00\u4e2a\u4f8b\u5b50\u662f\u623f\u4ea7\u4f30\u503c":28,"\u4e00\u4e2a\u5178\u578b\u7684\u795e\u7ecf\u7f51\u7edc\u5982\u4e0b\u56fe\u6240\u793a":57,"\u4e00\u4e2a\u5206\u5e03\u5f0f\u7684\u5b58\u50a8\u7cfb\u7edf":50,"\u4e00\u4e2a\u5206\u5e03\u5f0fpaddle\u8bad\u7ec3\u4efb\u52a1\u4e2d\u7684\u6bcf\u4e2a\u8fdb\u7a0b\u90fd\u53ef\u4ee5\u4ececeph\u8bfb\u53d6\u6570\u636e":51,"\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":35,"\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217\u6216\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217":35,"\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217\u7ecf\u8fc7\u8fd0\u7b97\u6269\u5c55\u6210\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217":35,"\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217\u8fdb\u5165":38,"\u4e00\u4e2a\u5377\u79ef\u795e\u7ecf\u7f51\u7edc\u5305\u542b\u5982\u4e0b\u5c42":57,"\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217":35,"\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217\u6216\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":35,"\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217\u7ecf\u8fc7\u8fd0\u7b97\u53d8\u6210\u4e00\u4e2a0\u5c42\u5e8f\u5217":35,"\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217\u7ecf\u8fc7\u8fd0\u7b97\u53d8\u6210\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":35,"\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217\u8fdb\u5165":38,"\u4e00\u4e2a\u53cc\u5c42rnn\u7531\u591a\u4e2a\u5355\u5c42rnn\u7ec4\u6210":38,"\u4e00\u4e2a\u53ef\u8c03\u7528\u7684\u51fd\u6570":38,"\u4e00\u4e2a\u57fa\u672c\u7684\u5e94\u7528\u573a\u666f\u662f\u533a\u5206\u7ed9\u5b9a\u6587\u672c\u7684\u8912\u8d2c\u4e24\u6781\u6027":64,"\u4e00\u4e2a\u6216\u591a\u4e2a":50,"\u4e00\u4e2a\u6570\u636e\u96c6\u5927\u90e8\u5206\u5e8f\u5217\u957f\u5ea6\u662f100":27,"\u4e00\u4e2a\u6587\u4ef6":3,"\u4e00\u4e2a\u662f\u6d6e\u70b9\u8ba1\u7b97\u91cf":44,"\u4e00\u4e2a\u662f\u76f4\u63a5\u628a\u4e00\u4e2a\u5bb9\u5668\u8f6c\u6362\u6210\u955c\u50cf":30,"\u4e00\u4e2a\u72ec\u7acb\u7684\u5143\u7d20":35,"\u4e00\u4e2a\u72ec\u7acb\u7684\u8bcd\u8bed":35,"\u4e00\u4e2a\u7b80\u5355\u7684\u4f8b\u5b50\u5982":64,"\u4e00\u4e2a\u7ec8\u7aef\u8fd0\u884cvi":30,"\u4e00\u4e2a\u7f51\u7edc\u5c42\u7684\u524d\u5411\u4f20\u64ad\u90e8\u5206\u628a\u8f93\u5165\u8f6c\u5316\u4e3a\u76f8\u5e94\u7684\u8f93\u51fa":41,"\u4e00\u4e2a\u7f51\u7edc\u5c42\u7684\u53c2\u6570\u662f\u5728":41,"\u4e00\u4e2a\u7f51\u7edc\u5c42\u7684c":41,"\u4e00\u4e2a\u91cd\u8981\u7684\u95ee\u9898\u662f\u9009\u62e9\u6b63\u786e\u7684learning_r":27,"\u4e00\u4e2agpu\u8bbe\u5907\u4e0a\u4e0d\u5141\u8bb8\u914d\u7f6e\u591a\u4e2a\u6a21\u578b":47,"\u4e00\u4e2alabel":36,"\u4e00\u4e2alogging\u5bf9\u8c61":3,"\u4e00\u4e2amemory\u5305\u542b":39,"\u4e00\u4e2apass\u610f\u5473\u7740paddlepaddle\u8bad\u7ec3\u6570\u636e\u96c6\u4e2d\u7684\u6240\u6709\u6837\u672c\u88ab\u904d\u5386\u4e00\u6b21":63,"\u4e00\u4e2apass\u8868\u793a\u8fc7\u4e00\u904d\u6240\u6709\u8bad\u7ec3\u6837\u672c":60,"\u4e00\u4e2apod\u4e2d\u7684\u6240\u6709\u5bb9\u5668\u4f1a\u88ab\u8c03\u5ea6\u5230\u540c\u4e00\u4e2anode\u4e0a":50,"\u4e00\u4eba":36,"\u4e00\u53e5\u8bdd\u662f\u7531\u8bcd\u8bed\u6784\u6210\u7684\u5e8f\u5217":38,"\u4e00\u53f0\u673a\u5668\u4e0a\u9762\u7684\u7ebf\u7a0b\u6570\u91cf":62,"\u4e00\u65e9":36,"\u4e00\u662fbatch":27,"\u4e00\u6761\u6837\u672c":3,"\u4e00\u6837\u8bbe\u7f6e":45,"\u4e00\u6b21\u4f5c\u4e1a\u79f0\u4e3a\u4e00\u4e2ajob":50,"\u4e00\u6b21\u6027\u676f\u5b50":36,"\u4e00\u6b21yield\u8c03\u7528":3,"\u4e00\u79cd\u5e38\u7528\u7684\u505a\u6cd5\u662f\u7528\u5b66\u4e60\u7684\u6a21\u578b\u5bf9\u53e6\u5916\u4e00\u7ec4\u6d4b\u8bd5\u6570\u636e\u8fdb\u884c\u9884\u6d4b":28,"\u4e00\u7bc7\u8bba\u6587":65,"\u4e00\u7ea7\u76ee\u5f55":[64,65],"\u4e00\u81f4":[35,36],"\u4e00\u822c\u4ece":40,"\u4e00\u822c\u5728paddlepaddle\u4e2d":36,"\u4e00\u822c\u60c5\u51b5\u4e0b":[2,28],"\u4e00\u822c\u63a8\u8350\u8bbe\u7f6e\u6210true":3,"\u4e00\u822c\u662f\u7531\u4e8e\u76f4\u63a5\u4f20\u9012\u5927\u5b57\u5178\u5bfc\u81f4\u7684":27,"\u4e00\u822c\u6765\u8bf4":39,"\u4e00\u822c\u800c\u8a00":65,"\u4e00\u822c\u8868\u793a":36,"\u4e00\u884c\u4e3a\u4e00\u4e2a\u6837\u672c":60,"\u4e09\u79cd\u5e8f\u5217\u6a21\u5f0f":[3,33],"\u4e09\u7ea7\u76ee\u5f55":[64,65],"\u4e0a":40,"\u4e0a\u4e0b\u6587\u5927\u5c0f\u8bbe\u7f6e\u4e3a1\u7684\u4e00\u4e2a\u6837\u672c\u7684\u7279\u5f81\u5982\u4e0b":63,"\u4e0a\u53d1\u8868\u7684\u8bc4\u8bba\u5206\u6210\u6b63\u9762\u8bc4\u8bba\u548c\u8d1f\u9762\u8bc4\u8bba\u4e24\u7c7b":64,"\u4e0a\u56fe\u4e2d\u865a\u7ebf\u7684\u8fde\u63a5":36,"\u4e0a\u56fe\u63cf\u8ff0\u4e86\u4e00\u4e2a3\u8282\u70b9\u7684\u5206\u5e03\u5f0f\u8bad\u7ec3\u573a\u666f":52,"\u4e0a\u7f51":36,"\u4e0a\u8fd0\u884c":30,"\u4e0a\u8ff0\u4ee3\u7801\u5c06bias\u5168\u90e8\u521d\u59cb\u5316\u4e3a1":27,"\u4e0a\u8ff0\u7684\u4ee3\u7801\u7247\u6bb5\u5305\u542b\u4e86\u4e24\u79cd\u65b9\u6cd5":44,"\u4e0a\u8ff0\u811a\u672c\u4f7f\u7528":45,"\u4e0b":57,"\u4e0b\u56fe\u4e2d\u5c31\u5c55\u793a\u4e86\u4e00\u4e9b\u5173\u4e8e\u5185\u5b58\u6570\u636e\u8fc1\u5f99\u548c\u8ba1\u7b97\u8d44\u6e90\u5229\u7528\u7387\u7684\u5efa\u8bae":44,"\u4e0b\u56fe\u5c55\u793a\u4e86\u6240\u6709\u7684\u56fe\u7247\u7c7b\u522b":57,"\u4e0b\u56fe\u5c55\u793a\u4e86\u65f6\u95f4\u6269\u5c55\u76842\u5c42":63,"\u4e0b\u56fe\u5c55\u793a\u7684\u662f\u57fa\u4e8e\u6b8b\u5dee\u7684\u8fde\u63a5\u65b9\u5f0f":58,"\u4e0b\u56fe\u662f\u4e00\u4e2a\u5168\u8fde\u63a5\u5c42\u7684\u793a\u610f\u56fe":41,"\u4e0b\u6587\u4ee5nlp\u4efb\u52a1\u4e3a\u4f8b":38,"\u4e0b\u6587\u4f7f\u7528":52,"\u4e0b\u6587\u5c31\u662f\u7528job\u7c7b\u578b\u7684\u8d44\u6e90\u6765\u8fdb\u884c\u8bad\u7ec3":51,"\u4e0b\u6b21":36,"\u4e0b\u7684":52,"\u4e0b\u8868\u5c55\u793a\u4e86batch":58,"\u4e0b\u8f7d\u5b8c\u6570\u636e\u540e":51,"\u4e0b\u8f7d\u5b8c\u76f8\u5173\u5b89\u88c5\u5305\u540e":32,"\u4e0b\u8f7d\u6570\u636e\u96c6":57,"\u4e0b\u8f7dwmt":65,"\u4e0b\u9762\u4e3e\u4e2a\u7b80\u5355\u7684\u4f8b\u5b50":44,"\u4e0b\u9762\u4ecb\u7ecd\u9884\u5904\u7406\u8fc7\u7a0b\u5177\u4f53\u7684\u6b65\u9aa4":62,"\u4e0b\u9762\u5148\u7b80\u8981\u4ecb\u7ecd\u4e00\u4e0b\u672c\u6587\u7528\u5230\u7684\u51e0\u4e2akubernetes\u6982\u5ff5":50,"\u4e0b\u9762\u5217\u51fa\u4e86":39,"\u4e0b\u9762\u5217\u51fa\u4e86\u5168\u8fde\u63a5\u5c42\u7684\u68af\u5ea6\u68c0\u67e5\u5355\u5143\u6d4b\u8bd5":41,"\u4e0b\u9762\u5c31\u6839\u636e\u8fd9\u51e0\u4e2a\u6b65\u9aa4\u5206\u522b\u4ecb\u7ecd":52,"\u4e0b\u9762\u6211\u4eec\u7ed9\u51fa\u4e86\u4e00\u4e2a\u914d\u7f6e\u793a\u4f8b":57,"\u4e0b\u9762\u662f\u4e00\u4e2a\u8bef\u5dee\u66f2\u7ebf\u56fe\u7684\u793a\u4f8b":57,"\u4e0b\u9762\u662fcifar":57,"\u4e0b\u9762\u7684\u4ee3\u7801\u7247\u6bb5\u5b9e\u73b0\u4e86":41,"\u4e0b\u9762\u7684\u4f8b\u5b50\u4f7f\u7528\u4e86":58,"\u4e0b\u9762\u7684\u4f8b\u5b50\u540c\u6837\u4f7f\u7528\u4e86":58,"\u4e0b\u9762\u7ed9\u51fa\u4e86\u4e00\u4e2a\u4f8b\u5b50":41,"\u4e0b\u9762\u7ed9\u51fa\u5728\u4e09\u7ef4\u7a7a\u95f4\u4e2d\u4f7f\u7528\u7ebf\u6027\u56de\u5f52\u62df\u5408\u4e00\u6761\u76f4\u7ebf\u7684\u4f8b\u5b50":33,"\u4e0b\u9762\u811a\u672c\u7b26\u5408paddlepaddle\u671f\u5f85\u7684\u8bfb\u53d6\u6570\u636e\u7684python\u7a0b\u5e8f\u7684\u6a21\u5f0f":28,"\u4e0b\u9762\u8fd9\u4e9blayer\u80fd\u591f\u63a5\u53d7\u53cc\u5c42\u5e8f\u5217\u4f5c\u4e3a\u8f93\u5165":35,"\u4e0d":36,"\u4e0d\u4e00\u5b9a\u548c\u65f6\u95f4\u6709\u5173\u7cfb":3,"\u4e0d\u4f1a\u518d\u4ece":27,"\u4e0d\u4f7f\u7528\u9759\u6001\u5e93":25,"\u4e0d\u4f7f\u7528\u989d\u5916\u7a7a\u95f4":41,"\u4e0d\u4f7f\u7528c":25,"\u4e0d\u4f7f\u7528swig":25,"\u4e0d\u5305\u542b\u5728\u5b57\u5178\u4e2d\u7684\u5355\u8bcd":65,"\u4e0d\u540c":63,"\u4e0d\u540c\u4e3b\u673a":50,"\u4e0d\u540c\u4ea7\u54c1":64,"\u4e0d\u540c\u53c2\u6570\u670d\u52a1\u5668\u4e0a\u6570\u636e\u5927\u5c0f\u7684\u6700\u5927\u503c\u4e0e\u6700\u5c0f\u503c\u7684\u6bd4\u7387":47,"\u4e0d\u540c\u5c42\u7684\u7279\u5f81\u7531\u5206\u53f7":58,"\u4e0d\u540c\u65f6\u95f4\u6b65\u7684\u8f93\u5165\u662f\u4e0d\u540c\u7684":39,"\u4e0d\u540c\u7248\u672c\u7684\u7f16\u8bd1\u5668\u4e4b\u95f4":25,"\u4e0d\u540c\u7684\u4f18\u5316\u7b97\u6cd5\u9700\u8981\u4f7f\u7528\u4e0d\u540c\u5927\u5c0f\u7684\u5185\u5b58":27,"\u4e0d\u540c\u7684\u5206\u5e03\u5f0f\u6587\u4ef6\u7cfb\u7edf":52,"\u4e0d\u540c\u7684\u6570\u636e\u7c7b\u578b\u548c\u5e8f\u5217\u6a21\u5f0f\u8fd4\u56de\u7684\u683c\u5f0f\u4e0d\u540c":[3,33],"\u4e0d\u540c\u7a7a\u95f4\u7684\u8d44\u6e90\u540d\u53ef\u4ee5\u91cd\u590d":50,"\u4e0d\u540c\u8bed\u8a00\u7684\u63a5\u53e3\u9002\u5e94\u4e0d\u540c\u8bed\u8a00\u7684\u7279\u6027":25,"\u4e0d\u540c\u8f93\u5165\u542b\u6709\u7684\u5b50\u53e5":38,"\u4e0d\u540c\u8f93\u5165\u5e8f\u5217\u542b\u6709\u7684\u8bcd\u8bed\u6570\u5fc5\u987b\u4e25\u683c\u76f8\u7b49":38,"\u4e0d\u540cdataprovider\u5bf9\u6bd4\u5982\u4e0b":36,"\u4e0d\u540cpod\u4e4b\u95f4\u53ef\u4ee5\u901a\u8fc7ip\u5730\u5740\u8bbf\u95ee":50,"\u4e0d\u5c11":36,"\u4e0d\u5d4c\u5165\u5176\u4ed6\u8bed\u8a00\u89e3\u91ca\u5668":25,"\u4e0d\u5d4c\u5165python\u89e3\u91ca\u5668":25,"\u4e0d\u5e94\u8be5\u88ab\u62c6\u89e3":38,"\u4e0d\u5fc5\u518d\u5c06\u4efb\u610f\u957f\u5ea6\u6e90\u8bed\u53e5\u4e2d\u7684\u6240\u6709\u4fe1\u606f\u538b\u7f29\u81f3\u4e00\u4e2a\u5b9a\u957f\u7684\u5411\u91cf\u4e2d":65,"\u4e0d\u6307\u5b9a\u65f6":38,"\u4e0d\u63d0\u4f9b\u5206\u5e03\u5f0f\u5b58\u50a8":50,"\u4e0d\u652f\u6301":63,"\u4e0d\u662f\u4e00\u6761\u5e8f\u5217":[3,33],"\u4e0d\u663e\u793a\u7684\u5199\u6bcf\u4e2a\u7c7b\u5177\u4f53\u5305\u542b\u4ec0\u4e48":25,"\u4e0d\u6ee1\u8db3\u94a9\u5b50\u7684":40,"\u4e0d\u7f13\u5b58\u4efb\u4f55\u6570\u636e":3,"\u4e0d\u80fd\u88ab\u63d0\u4ea4\u5230":40,"\u4e0d\u8fc7":36,"\u4e0d\u8fdc":36,"\u4e0d\u9519":36,"\u4e0d\u9700\u8981\u5bf9\u5e8f\u5217\u6570\u636e\u8fdb\u884c\u4efb\u4f55\u9884\u5904\u7406":39,"\u4e0e":[52,56,65],"\u4e0e\u5355\u5c42rnn\u7684\u914d\u7f6e\u7c7b\u4f3c":36,"\u4e0e\u5728":63,"\u4e0e\u672c\u5730\u8bad\u7ec3\u76f8\u540c":45,"\u4e0e\u6b64\u4e0d\u540c\u7684\u662f":52,"\u4e0e\u7ffb\u8bd1":65,"\u4e0e\u8bad\u7ec3\u4e0d\u540c":64,"\u4e0e\u8bad\u7ec3\u6a21\u578b\u4e0d\u540c\u7684\u662f":65,"\u4e0e\u8fd9\u4e2a\u8bad\u7ec3\u6570\u636e\u4ea4\u4e92\u7684layer":27,"\u4e0eimdb\u7f51\u7ad9\u63d0\u4f9b\u7684\u4e00\u81f4":61,"\u4e0ejob":52,"\u4e0etime":61,"\u4e14":36,"\u4e14\u589e\u52a0\u4e00\u4e2a\u7b2c\u4e09\u65b9\u8bed\u8a00":25,"\u4e14\u5e8f\u5217\u7684\u6bcf\u4e00\u4e2a\u5143\u7d20\u8fd8\u662f\u4e00\u4e2a\u65f6\u95f4\u5e8f\u5217":[3,33],"\u4e14\u652f\u6301\u90e8\u7f72\u5230":50,"\u4e14\u6bcf\u4e2a\u53e5\u5b50\u8868\u793a\u4e3a\u5bf9\u5e94\u7684\u8bcd\u8868\u7d22\u5f15\u6570\u7ec4":36,"\u4e14\u9ed8\u8ba4\u5728\u8bad\u7ec3\u96c6\u4e0a\u6784\u5efa\u5b57\u5178":64,"\u4e14c99\u652f\u6301bool\u7c7b\u578b\u548c\u5b9a\u957f\u6574\u6570":25,"\u4e14c99\u76f8\u5bf9\u4e8ec11\u4f7f\u7528\u66f4\u52a0\u5e7f\u6cdb":25,"\u4e24":36,"\u4e24\u4e2a\u5217\u8868\u6587\u4ef6":45,"\u4e24\u4e2a\u5b50\u76ee\u5f55\u4e0b":42,"\u4e24\u4e2a\u5d4c\u5957\u7684":38,"\u4e24\u4e2a\u64cd\u4f5c":44,"\u4e24\u4e2a\u6587\u4ef6\u5939":57,"\u4e24\u4e2a\u8f93\u5165\u7279\u5f81\u5728\u8fd9\u4e2a\u6d41\u7a0b\u4e2d\u8d77\u7740\u81f3\u5173\u91cd\u8981\u7684\u4f5c\u7528":63,"\u4e24\u4e2a\u8f93\u5165\u7684\u5b50\u5e8f\u5217\u957f\u5ea6\u4e5f\u5e76\u4e0d\u76f8\u540c":36,"\u4e24\u4e2a\u90e8\u5206":42,"\u4e24\u79cd\u7c7b\u522b":60,"\u4e24\u8005\u5747\u4e3a\u7eaf\u6587\u672c\u6587\u4ef6":2,"\u4e2a":60,"\u4e2a\u5185\u5b58\u6c60\u5b9e\u9645\u4e0a\u51b3\u5b9a\u4e86shuffle\u7684\u7c92\u5ea6":27,"\u4e2a\u5355\u8bcd":65,"\u4e2a\u6027\u5316\u63a8\u8350":59,"\u4e2a\u6279\u6b21\u540e\u6253\u5370\u4e00\u4e2a":62,"\u4e2a\u6279\u6b21\u7684\u53c2\u6570\u5e73\u5747\u503c\u8fdb\u884c\u6d4b\u8bd5":47,"\u4e2a\u6a21\u578b\u6d4b\u8bd5\u6570\u636e":47,"\u4e2d":[25,27,41,52,57,60,62,63,64],"\u4e2d\u4e0d\u8981\u6dfb\u52a0\u5927\u6587\u4ef6\u7b49":40,"\u4e2d\u4ecb\u7ecd\u7684\u65b9\u6cd5":56,"\u4e2d\u4efb\u610f\u7b2ci\u884c\u7684\u53e5\u5b50\u4e4b\u95f4\u90fd\u5fc5\u987b\u6709\u7740\u4e00\u4e00\u5bf9\u5e94\u7684\u5173\u7cfb":65,"\u4e2d\u4efb\u610f\u7b2ci\u884c\u7684\u53e5\u5b50\u4e4b\u95f4\u90fd\u6709\u7740\u4e00\u4e00\u5bf9\u5e94\u7684\u5173\u7cfb":65,"\u4e2d\u5173\u4e8e\u65f6\u95f4\u9012\u5f52\u795e\u7ecf\u7f51\u7edc\u7684\u4ecb\u7ecd":36,"\u4e2d\u5305\u542b\u4e86\u8bad\u7ec3\u6a21\u578b\u7684\u57fa\u672c\u547d\u4ee4":60,"\u4e2d\u5305\u542b\u5982\u4e0b\u8868\u6240\u793a\u76843\u4e2a\u6587\u4ef6\u5939":65,"\u4e2d\u5355\u5143\u6d4b\u8bd5\u7684\u4e00\u90e8\u5206":40,"\u4e2d\u5b89\u88c5":45,"\u4e2d\u5b8c\u5168\u4e00\u81f4":25,"\u4e2d\u5b8c\u6210":64,"\u4e2d\u5b9a\u4e49":39,"\u4e2d\u5b9a\u4e49\u4f7f\u7528\u54ea\u79cddataprovid":2,"\u4e2d\u5b9a\u4e49\u548c\u4f7f\u7528":38,"\u4e2d\u5bfc\u51fa\u9884\u5b9a\u4e49\u7684\u7f51\u7edc":64,"\u4e2d\u5c55\u793a\u4e86\u5982\u4f55\u4f7f\u7528python\u6765\u63d0\u53d6\u7279\u5f81":58,"\u4e2d\u6307\u5b9a":47,"\u4e2d\u6307\u5b9a\u7684\u540d\u5b57":49,"\u4e2d\u6307\u5b9a\u7684\u5c42\u987a\u5e8f\u4e00\u81f4":58,"\u4e2d\u63d0\u51fa\u7684resnet\u7f51\u7edc\u7ed3\u6784\u57282015\u5e74imagenet\u5927\u89c4\u6a21\u89c6\u89c9\u8bc6\u522b\u7ade\u8d5b":58,"\u4e2d\u641c\u7d22\u8fd9\u51e0\u4e2a\u5e93":29,"\u4e2d\u6587\u6587\u6863\u76ee\u5f55":42,"\u4e2d\u6587\u7ef4\u57fa\u767e\u79d1\u9875\u9762":36,"\u4e2d\u6709\u8bb8\u591a\u7684\u7279\u5f81":61,"\u4e2d\u6bcf\u4e2apod\u7684ip\u5730\u5740":52,"\u4e2d\u6bcf\u5c42\u7684\u6570\u503c\u7edf\u8ba1":47,"\u4e2d\u7684":58,"\u4e2d\u7684\u4e00\u884c":[3,40],"\u4e2d\u7684\u5185\u5bb9":63,"\u4e2d\u7684\u5bf9\u5e94\u5206\u652f\u5373\u53ef":40,"\u4e2d\u7684\u63a5\u53e3":62,"\u4e2d\u7684\u6570\u636e":58,"\u4e2d\u7684\u6570\u636e\u662f\u5426\u4e3a\u5e8f\u5217\u6a21\u5f0f":62,"\u4e2d\u7684\u6570\u636e\u8fdb\u884c\u9884\u6d4b":58,"\u4e2d\u7684\u6570\u6910\u96c6\u7684\u7ed3\u6784\u5982\u4e0b":64,"\u4e2d\u7684\u6bcf\u4e00\u884c\u547d\u4ee4":62,"\u4e2d\u7684\u751f\u6210\u7ed3\u679c\u5982\u4e0b\u6240\u793a":65,"\u4e2d\u7684\u7528\u6237\u8bc1\u4e66":50,"\u4e2d\u7684\u7b2ci\u884c":65,"\u4e2d\u7684\u8bf4\u660e":3,"\u4e2d\u7684\u8fd9\u4e9b\u6570\u636e\u6587\u4ef6":61,"\u4e2d\u770b\u5230\u4e0b\u9762\u7684\u6587\u4ef6":64,"\u4e2d\u83b7\u53d6":52,"\u4e2d\u8ba4\u771f\u8bbe\u7f6e":45,"\u4e2d\u8bbe\u7f6e":45,"\u4e2d\u8bbe\u7f6e\u7684\u6240\u6709\u8282\u70b9":45,"\u4e2d\u8be6\u7ec6\u4ecb\u7ecd":41,"\u4e2d\u8bfb\u53d6":3,"\u4e2d\u914d\u7f6e\u5faa\u73af\u795e\u7ecf\u7f51\u7edc":39,"\u4e2d\u914d\u7f6e\u7684\u6548\u679c\u4e00\u81f4":3,"\u4e34\u65f6\u53d8\u91cf\u7b49\u7b49":27,"\u4e3a":[3,39],"\u4e3a0":3,"\u4e3a\u4e86\u4f7f\u7528\u63d0\u524d\u7f16\u5199\u7684\u811a\u672c":64,"\u4e3a\u4e86\u4fdd\u8bc1\u6548\u7387":41,"\u4e3a\u4e86\u4fdd\u8bc1gpu\u9a71\u52a8\u80fd\u591f\u5728\u955c\u50cf\u91cc\u9762\u6b63\u5e38\u8fd0\u884c":30,"\u4e3a\u4e86\u5145\u5206\u7684\u968f\u673a\u6253\u4e71\u8bad\u7ec3\u96c6":64,"\u4e3a\u4e86\u5b8c\u6210\u5206\u5e03\u5f0f\u673a\u5668\u5b66\u4e60\u8bad\u7ec3\u4efb\u52a1":50,"\u4e3a\u4e86\u5c01\u88c5\u80fd\u591f\u6b63\u786e\u5de5\u4f5c":41,"\u4e3a\u4e86\u63cf\u8ff0\u65b9\u4fbf":38,"\u4e3a\u4e86\u65b9\u4fbf\u5728\u56fd":30,"\u4e3a\u4e86\u65b9\u4fbf\u5927\u5bb6":40,"\u4e3a\u4e86\u65b9\u4fbf\u8d77\u89c1":45,"\u4e3a\u4e86\u6ee1\u8db3\u8bad\u7ec3":45,"\u4e3a\u4e86\u8fbe\u5230\u6027\u80fd\u6700\u4f18":44,"\u4e3a\u4e86\u8fd8\u539f":28,"\u4e3a\u4f8b":60,"\u4e3a\u4f8b\u521b\u5efa\u5206\u5e03\u5f0f\u7684\u5355\u8fdb\u7a0b\u8bad\u7ec3":45,"\u4e3a\u4f8b\u8fdb\u884c\u9884\u6d4b":60,"\u4e3a\u53c2\u6570\u77e9\u9635\u7684\u5bbd\u5ea6":27,"\u4e3a\u60a8\u505a\u6027\u80fd\u8c03\u4f18\u63d0\u4f9b\u4e86\u65b9\u5411":44,"\u4e3a\u60f3\u4fee\u6b63\u8bcd\u5411\u91cf\u6a21\u578b\u7684\u7528\u6237\u63d0\u4f9b\u4e86\u5c06\u6587\u672c\u8bcd\u5411\u91cf\u6a21\u578b\u8f6c\u6362\u4e3a\u4e8c\u8fdb\u5236\u6a21\u578b\u7684\u547d\u4ee4":56,"\u4e3a\u65b9\u4fbf\u4f5c\u4e1a\u542f\u52a8\u63d0\u4f9b\u4e86\u4e24\u4e2a\u72ec\u7279\u7684\u547d\u4ee4\u9009\u9879":45,"\u4e3a\u6b64":51,"\u4e3a\u8f93\u51fa\u5206\u914d\u5185\u5b58":41,"\u4e3a\u96c6\u7fa4\u4f5c\u4e1a\u8bbe\u7f6e\u989d\u5916\u7684":45,"\u4e3ajson\u6216yaml\u683c\u5f0f":62,"\u4e3aoutput_\u7533\u8bf7\u5185\u5b58":41,"\u4e3b\u8981\u4e3a\u5f00\u53d1\u8005\u4f7f\u7528":47,"\u4e3b\u8981\u5305\u62ec\u4ee5\u4e0b\u4e94\u4e2a\u6b65\u9aa4":5,"\u4e3b\u8981\u5305\u62ec\u56db\u79cd\u7c7b\u578b":33,"\u4e3b\u8981\u539f\u56e0":36,"\u4e3b\u8981\u539f\u56e0\u5305\u62ec\u4e24\u4e2a\u65b9\u9762":27,"\u4e3b\u8981\u539f\u56e0\u662f\u589e\u52a0\u4e86\u521d\u59cb\u5316\u673a\u5236":3,"\u4e3b\u8981\u6765\u81ea\u5317\u7f8e\u6d32":57,"\u4e3b\u8981\u7684\u89e3\u51b3\u529e\u6cd5\u662f\u51cf\u5c0f\u5b66\u4e60\u5f8b\u6216\u8005\u5bf9\u6570\u636e\u8fdb\u884c\u5f52\u4e00\u5316\u5904\u7406":27,"\u4e3b\u8981\u804c\u8d23\u5728\u4e8e\u5c06\u8bad\u7ec3\u6570\u636e\u4f20\u5165\u5185\u5b58\u6216\u8005\u663e\u5b58":60,"\u4e3e\u4e00\u4e2a\u4f8b\u5b50":27,"\u4e3e\u4f8b":27,"\u4e3e\u4f8b\u8bf4\u660e":36,"\u4e4b\u524d":40,"\u4e4b\u524d\u914d\u7f6e\u6587\u4ef6\u4e2d":60,"\u4e4b\u540e":[28,33,41],"\u4e4b\u540e\u4f60\u4f1a\u5f97\u5230\u8bad\u7ec3":45,"\u4e4b\u540e\u4f7f\u7528":41,"\u4e4b\u540e\u4f7f\u7528\u77e9\u9635\u8fd0\u7b97\u51fd\u6570\u6765\u8ba1\u7b97":41,"\u4e4b\u540e\u521d\u59cb\u5316\u6240\u6709\u7684\u6743\u91cd\u77e9\u9635":41,"\u4e4b\u540e\u5b9a\u4e49\u7684":57,"\u4e4b\u95f4\u7684\u8ddd\u79bb":28,"\u4e4b\u95f4\u7684\u8fd0\u7b97\u662f\u72ec\u7acb\u7684":38,"\u4e58\u4e0a\u8f93\u51fa\u7684\u68af\u5ea6":41,"\u4e58\u9664\u7b49\u65f6\u5019":27,"\u4e5d\u4e2a":63,"\u4e5f":36,"\u4e5f\u4e0d\u4f7f\u7528\u5176\u4ed6\u52a8\u6001\u5e93":25,"\u4e5f\u4e0d\u5b58\u5728\u4e00\u4e2asubseq\u76f4\u63a5\u751f\u6210\u4e0b\u4e00\u4e2asubseq\u7684\u60c5\u51b5":38,"\u4e5f\u53ef\u4ee5\u4f7f\u7528":40,"\u4e5f\u53ef\u4ee5\u53bb\u6389\u8fd9\u4e9b\u8bc1\u4e66\u7684\u914d\u7f6e":50,"\u4e5f\u53ef\u4ee5\u5728\u5f00\u53d1\u955c\u50cf\u4e2d\u542f\u52a8\u4e00\u4e2asshd\u670d\u52a1":30,"\u4e5f\u53ef\u4ee5\u662f\u4e00\u4e2a\u8bcd\u8bed":38,"\u4e5f\u53ef\u4ee5\u8bf4\u662f\u67d0\u4e9b\u7279\u5b9a\u6307\u4ee4\u7684\u4f7f\u7528\u60c5\u51b5":44,"\u4e5f\u53ef\u4ee5\u901a\u8fc7\u4fee\u6539":52,"\u4e5f\u53ef\u4ee5\u901a\u8fc7saving_period_by_batches\u8bbe\u7f6e\u6bcf\u9694\u591a\u5c11batch\u4fdd\u5b58\u4e00\u6b21\u6a21\u578b":60,"\u4e5f\u53ef\u4ee5\u914d\u7f6e\u4e0d\u540c\u7684\u91cd\u8bd5\u673a\u5236":50,"\u4e5f\u5c31\u662f":40,"\u4e5f\u5c31\u662f\u5c06\u8bcd\u5411\u91cf\u6a21\u578b\u8fdb\u4e00\u6b65\u6f14\u5316\u4e3a\u4e09\u4e2a\u65b0\u6b65\u9aa4":60,"\u4e5f\u5c31\u662f\u81ea\u5df1\u7528\u6237\u540d\u4e0b\u7684":40,"\u4e5f\u5c31\u662f\u8bf4":[47,49,56],"\u4e5f\u5f97\u5230\u4e00\u4e2a\u7528\u6237\u7279\u5f81":62,"\u4e5f\u63cf\u8ff0\u4e86\u5bb9\u5668\u9700\u8981\u4f7f\u7528\u7684\u5b58\u50a8\u5377\u6302\u8f7d\u7684\u60c5\u51b5":52,"\u4e5f\u652f\u6301cpu\u7684\u6027\u80fd\u5206\u6790":44,"\u4e5f\u662f\u4e00\u4e2a\u65f6\u95f4\u5e8f\u5217":36,"\u4e5f\u662f\u5bb9\u5668\u4e0enode\u4e4b\u95f4\u5171\u4eab\u6587\u4ef6\u7684\u65b9\u5f0f":50,"\u4e5f\u662fdecoder\u5faa\u73af\u5c55\u5f00\u7684\u4f9d\u636e":38,"\u4e5f\u662fpaddlepaddle\u6240\u80fd\u591f\u4fdd\u8bc1\u7684shuffle\u7c92\u5ea6":3,"\u4e5f\u6ca1\u7528":27,"\u4e5f\u79f0\u4e3arnn\u6a21\u578b":60,"\u4e5f\u8bb8\u662f\u56e0\u4e3a\u9700\u8981\u5b89\u88c5":57,"\u4e5f\u9700\u8981\u4e24\u6b21\u968f\u673a\u9009\u62e9\u5230\u76f8\u540cgenerator\u7684\u65f6\u5019":3,"\u4e66\u5199":25,"\u4e7e":36,"\u4e86":36,"\u4e86\u89e3\u60a8\u7684\u786c\u4ef6":44,"\u4e86\u89e3\u66f4\u591a\u7ec6\u8282":39,"\u4e86\u89e3\u66f4\u591a\u8be6\u7ec6\u4fe1\u606f":39,"\u4e8c\u7ea7\u76ee\u5f55":[64,65],"\u4e8c\u7ef4\u77e9\u9635":58,"\u4e8c\u8005\u8bed\u610f\u4e0a\u5b8c\u5168\u4e00\u81f4":36,"\u4e8c\u8fdb\u5236":56,"\u4e92\u76f8\u901a\u4fe1":50,"\u4e92\u8054\u7f51\u7535\u5f71\u6570\u636e\u5e93":64,"\u4e94\u661f\u7ea7":36,"\u4e9a\u9a6c\u900a":64,"\u4ea4\u901a":36,"\u4ea4\u901a\u4fbf\u5229":36,"\u4eab\u53d7\u60a8\u7684\u65c5\u7a0b":30,"\u4ec0\u4e48":62,"\u4ec5\u4ec5\u4f7f\u7528":25,"\u4ec5\u4ec5\u662f\u4e00\u4e9b\u5173\u952e\u8bcd":64,"\u4ec5\u4ec5\u662f\u4e24\u4e2a\u5168\u8fde\u63a5\u5c42":62,"\u4ec5\u4ec5\u662f\u7b80\u5355\u7684\u5d4c\u5165":62,"\u4ec5\u5305\u542b\u8bad\u7ec3\u548c\u6d4b\u8bd5\u6570\u6910\u96c6":64,"\u4ec5\u5728\u8fdc\u7a0b\u7a00\u758f\u8bad\u7ec3\u65f6\u6709\u6548":41,"\u4ec5\u5bf9\u7a00\u758f\u6570\u636e\u6709\u6548":41,"\u4ec5\u9700\u8981\u77e5\u9053\u5982\u4f55\u4ece":3,"\u4ecb\u7ecd\u4e86\u4e00\u79cd\u901a\u8fc7ssh\u8fdc\u7a0b\u5206\u53d1\u4efb\u52a1":52,"\u4ecb\u7ecd\u5206\u5e03\u5f0f\u8bad\u7ec3\u4e4b\u524d":50,"\u4ecb\u7ecdpaddlepaddle\u7684\u57fa\u672c\u4f7f\u7528\u65b9\u6cd5":60,"\u4ece":[44,63],"\u4ece0\u5230num":47,"\u4ece\u4e00\u4e2aword\u751f\u6210\u4e0b\u4e00\u4e2aword":38,"\u4ece\u5185\u6838\u51fd\u6570\u7684\u89d2\u5ea6":44,"\u4ece\u56fe\u4e2d\u53ef\u4ee5\u770b\u5230":28,"\u4ece\u5916\u90e8\u7f51\u7ad9\u4e0a\u4e0b\u8f7d\u7684\u539f\u59cb\u6570\u6910\u96c6":64,"\u4ece\u5927\u5230\u5c0f":65,"\u4ece\u6570\u636e\u63d0\u4f9b\u7a0b\u5e8f\u52a0\u8f7d\u5b9e\u4f8b":63,"\u4ece\u6bcf\u4e00\u4e2a\u65f6\u95f4\u6b65\u6765\u770b":36,"\u4ece\u6bcf\u4e2a\u5355\u8bcd\u5de6\u53f3\u4e24\u7aef\u5206\u522b\u83b7\u53d6k\u4e2a\u76f8\u90bb\u7684\u5355\u8bcd":60,"\u4ece\u7b2c0\u4e2a\u8bc4\u4f30\u5230\u5f53\u524d\u8bc4\u4f30\u4e2d":65,"\u4ece\u7b2c0\u4e2abatch\u5230\u5f53\u524dbatch\u7684\u5e73\u5747\u635f\u5931":64,"\u4ece\u7b2c0\u4e2abatch\u5230\u5f53\u524dbatch\u7684\u5e73\u5747cost":65,"\u4ece\u800c\u53ef\u4ee5\u505a\u4e00\u4e9b\u4e0e\u8ba1\u7b97\u91cd\u53e0\u7684\u5de5\u4f5c":41,"\u4ece\u800c\u53ef\u4ee5\u62df\u5408\u4efb\u610f\u7684\u51fd\u6570\u6765\u5b66\u4e60\u590d\u6742\u7684\u6570\u636e\u5173\u7cfb":28,"\u4ece\u800c\u751f\u6210\u591a\u4e2agener":3,"\u4ece\u800c\u80fd\u591f\u88abpaddlepaddl":60,"\u4ece\u800c\u9632\u6b62\u8fc7\u62df\u5408":2,"\u4ece\u8be5\u94fe\u63a5":65,"\u4ece\u8bed\u4e49\u4e0a\u770b":38,"\u4ece\u8f93\u5165\u6570\u636e\u4e0a\u770b":36,"\u4ece\u8f93\u51fa\u65e5\u5fd7\u53ef\u4ee5\u770b\u5230":28,"\u4ece\u9884\u8bad\u7ec3\u6a21\u578b\u4e2d":56,"\u4ecestart":47,"\u4ecetest":65,"\u4ed3\u5e93\u7684\u8fdc\u7a0b\u4e3b\u673a":40,"\u4ed4\u7ec6\u89c2\u5bdf":58,"\u4ed6\u4eec\u5206\u522b\u662f":36,"\u4ed6\u4eec\u5728paddle\u7684\u6587\u6863\u548capi\u4e2d\u662f\u4e00\u4e2a\u6982\u5ff5":36,"\u4ed6\u4eec\u63d0\u51fa\u6b8b\u5dee\u5b66\u4e60\u7684\u6846\u67b6\u6765\u7b80\u5316\u7f51\u7edc\u7684\u8bad\u7ec3":58,"\u4ed6\u7684\u76ee\u6807\u662f\u4f7f\u7528c":25,"\u4ee3\u66ff":52,"\u4ee3\u7801":62,"\u4ee3\u7801\u4e2d9":36,"\u4ee3\u7801\u5982\u4e0b":39,"\u4ee3\u7801\u6ce8\u91ca\u8bf7\u9075\u5b88":40,"\u4ee3\u7801\u751f\u6210\u7684\u7b26\u53f7\u53ef\u80fd\u4e0d\u4e00\u81f4":25,"\u4ee3\u8868\u5bbf\u4e3b\u673a\u76ee\u5f55":52,"\u4ee3\u8868\u7f16\u53f7":62,"\u4ee5\u4e0a":40,"\u4ee5\u4e0a\u547d\u4ee4\u4f1a\u6309\u7167\u751f\u6210\u7684dockerfile\u628a\u751f\u6210\u7684\u7a0b\u5e8f\u62f7\u8d1d\u5230\u751f\u4ea7\u955c\u50cf\u4e2d\u5e76\u505a\u76f8\u5e94\u7684\u914d\u7f6e":30,"\u4ee5\u4e0a\u547d\u4ee4\u4f1a\u7f16\u8bd1paddlepaddl":30,"\u4ee5\u4e0a\u65b9\u6cd5\u5728gpu\u955c\u50cf\u91cc\u4e5f\u80fd\u7528":30,"\u4ee5\u4e0b":62,"\u4ee5\u4e0b\u4ee3\u7801\u6bb5\u5b9a\u4e49\u4e86\u4e09\u4e2a\u8f93\u5165":39,"\u4ee5\u4e0b\u4ee3\u7801\u7247\u6bb5\u5b9a\u4e49":39,"\u4ee5\u4e0b\u6211\u4eec\u7ffb\u8bd1\u6570\u636e\u96c6\u7f51\u7ad9\u4e2dreadme\u6587\u4ef6\u7684\u63cf\u8ff0":61,"\u4ee5\u4e0b\u6307\u4ee4\u80fd\u68c0\u67e5linux\u7535\u8111\u662f\u5426\u652f\u6301avx":30,"\u4ee5\u4e0b\u6559\u7a0b\u5c06\u6307\u5bfc\u60a8\u63d0\u4ea4\u4ee3\u7801":40,"\u4ee5\u4e0b\u662f\u5bf9\u4e0a\u8ff0\u6570\u636e\u52a0\u8f7d\u7684\u89e3\u91ca":60,"\u4ee5\u4e0b\u6b65\u9aa4\u57fa\u4e8e":45,"\u4ee5\u4e0b\u793a\u8303\u5982\u4f55\u4f7f\u7528\u9884\u8bad\u7ec3\u7684\u4e2d\u6587\u5b57\u5178\u548c\u8bcd\u5411\u91cf\u8fdb\u884c\u77ed\u8bed\u6539\u5199":56,"\u4ee5\u4e0b\u9009\u9879\u5fc5\u987b\u5728":45,"\u4ee5\u4ea4\u4e92\u5bb9\u5668\u65b9\u5f0f\u8fd0\u884c\u5f00\u53d1\u955c\u50cf":30,"\u4ee5\u4fbf\u7528\u6237":45,"\u4ee5\u4fdd\u8bc1\u68af\u5ea6\u7684\u6b63\u786e\u8ba1\u7b97":41,"\u4ee5\u4fdd\u8bc1\u68af\u5ea6\u8ba1\u7b97\u7684\u6b63\u786e\u6027":41,"\u4ee5\u5206\u7c7b\u6765\u81ea":64,"\u4ee5\u53ca":41,"\u4ee5\u53ca\u4f7f\u7528\u5b50\u5e8f\u5217\u6765\u5b9a\u4e49\u5206\u7ea7\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u67b6\u6784":39,"\u4ee5\u53ca\u53cc\u5c42\u5e8f\u5217":35,"\u4ee5\u53ca\u5728wmt":65,"\u4ee5\u53ca\u5982\u4f55\u5728\u5c42\u4e4b\u95f4\u8fdb\u884c\u8fde\u63a5":57,"\u4ee5\u53ca\u751f\u6210\u521b\u5efa\u751f\u4ea7\u955c\u50cf\u7684dockerfil":30,"\u4ee5\u53ca\u8ba1\u7b97\u903b\u8f91\u5728\u5e8f\u5217\u4e0a\u7684\u5faa\u73af\u5c55\u5f00":38,"\u4ee5\u53ca\u8f93\u5165\u7684\u68af\u5ea6":41,"\u4ee5\u53capaddle\u5982\u4f55\u5904\u7406\u591a\u79cd\u7c7b\u578b\u7684\u8f93\u5165":62,"\u4ee5\u53carelu":41,"\u4ee5\u76f8\u5bf9\u8def\u5f84\u5f15\u7528":2,"\u4ee5\u83b7\u5f97\u66f4\u597d\u7684\u7f51\u7edc\u6027\u80fd":45,"\u4ee5\u9017\u53f7":56,"\u4ee5\u9017\u53f7\u95f4\u9694":47,"\u4ef7\u683c":36,"\u4efb\u52a1":62,"\u4efb\u52a1\u6765\u7ec8\u6b62\u96c6\u7fa4\u4f5c\u4e1a":45,"\u4efb\u610f\u5c06\u4e00\u4e9b\u6570\u636e\u7ec4\u5408\u6210\u53cc\u5c42\u65f6\u95f4\u5e8f\u5217":36,"\u4f18\u5316":64,"\u4f18\u5316\u5668\u5219\u7528\u94fe\u5f0f\u6cd5\u5219\u6765\u5bf9\u6bcf\u4e2a\u53c2\u6570\u8ba1\u7b97\u635f\u5931\u51fd\u6570\u7684\u68af\u5ea6":41,"\u4f1a\u5148\u8fdb\u884c\u53c2\u6570\u7684\u521d\u59cb\u5316\u4e0e\u89e3\u6790":52,"\u4f1a\u5171\u4eab\u53c2\u6570":27,"\u4f1a\u52a0\u8f7d\u4e0a\u4e00\u8f6e\u7684\u53c2\u6570":47,"\u4f1a\u53d8\u6210\u8bcd\u8868\u4e2d\u7684\u4f4d\u7f6e":36,"\u4f1a\u542f\u52a8pserver\u4e0etrainer\u8fdb\u7a0b":52,"\u4f1a\u5bf9\u6bcf\u4e00\u4e2a\u6fc0\u6d3b\u6682\u5b58\u4e00\u4e9b\u6570\u636e":27,"\u4f1a\u5bf9\u8fd9\u7c7b\u8f93\u5165\u8fdb\u884c\u62c6\u89e3":38,"\u4f1a\u5bfc\u81f4\u4e0d\u540c\u7248\u672cpython\u5728\u4e00\u4e2a\u8fdb\u7a0b\u91cc\u7684bug":25,"\u4f1a\u5c06\u6bcf\u4e2a\u65f6\u95f4\u6b65\u7684\u8f93\u51fa\u62fc\u63a5":38,"\u4f1a\u5c06\u7b2c\u4e00\u4e2a":27,"\u4f1a\u6210\u4e3astep\u51fd\u6570\u7684\u8f93\u5165":38,"\u4f1a\u6254\u5230\u8fd9\u6761\u6570\u636e":3,"\u4f1a\u62a5\u9519":38,"\u4f1a\u6839\u636e\u547d\u4ee4\u884c\u53c2\u6570\u6307\u5b9a\u7684\u6d4b\u8bd5\u65b9\u5f0f":2,"\u4f1a\u6839\u636einput_types\u68c0\u67e5\u6570\u636e\u7684\u5408\u6cd5\u6027":3,"\u4f1a\u76f4\u63a5\u62a5\u9519\u9000\u51fa":25,"\u4f1a\u76f8\u5e94\u5730\u6539\u53d8\u8f93\u51fa\u7684\u5c3a\u5bf8":41,"\u4f1a\u81ea\u9002\u5e94\u5730\u4ece\u8fd9\u4e9b\u5411\u91cf\u4e2d\u9009\u62e9\u4e00\u4e2a\u5b50\u96c6\u51fa\u6765":65,"\u4f1a\u83b7\u53d6\u5f53\u524dnamespace\u4e0b\u7684\u6240\u6709pod":52,"\u4f1a\u88ab\u62c6\u89e3\u4e3a\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":38,"\u4f1a\u88ab\u62c6\u89e3\u4e3a\u975e\u5e8f\u5217":38,"\u4f20\u5165":3,"\u4f20\u5165\u4e0a\u4e00\u6b65\u89e3\u6790\u51fa\u6765\u7684\u6a21\u578b\u914d\u7f6e\u5c31\u53ef\u4ee5\u521b\u5efa\u4e00\u4e2a":5,"\u4f20\u5165\u9884\u6d4b\u6570\u636e":5,"\u4f20\u7ed9dataprovider\u7684\u67d0\u4e00\u4e2aargs\u8fc7\u5927":27,"\u4f20\u9012\u7ed9\u914d\u7f6e\u6587\u4ef6\u7684\u53c2\u6570":47,"\u4f46\u4e0d\u7528\u4e8e\u8ba1\u7b97\u68af\u5ea6":41,"\u4f46\u4e0d\u9700\u8981\u63d0\u524d\u521b\u5efa":47,"\u4f46\u4e8e\u53cc\u5c42\u5e8f\u5217\u7684lstm\u6765\u8bf4":36,"\u4f46\u548c\u5355\u5c42rnn\u4e0d\u540c":36,"\u4f46\u5728\u8d77\u521d\u7684\u51e0\u8f6e\u8bad\u7ec3\u4e2d\u5b83\u4eec\u90fd\u5728\u5feb\u901f\u903c\u8fd1\u771f\u5b9e\u503c":28,"\u4f46\u5b50\u53e5\u542b\u6709\u7684\u8bcd\u8bed\u6570\u53ef\u4ee5\u4e0d\u76f8\u7b49":38,"\u4f46\u5c3d\u91cf\u8bf7\u4fdd\u6301\u7f16\u8bd1\u548c\u8fd0\u884c\u4f7f\u7528\u7684cudnn\u662f\u540c\u4e00\u4e2a\u7248\u672c":29,"\u4f46\u5e8f\u5217\u8f93\u51fa\u65f6":36,"\u4f46\u5f53\u8c03\u7528\u8fc7\u4e00\u6b21\u540e":3,"\u4f46\u662f":[27,36],"\u4f46\u662f2008\u5e74\u4e4b\u524d\u751f\u4ea7\u7684\u65e7\u7535\u8111\u4e0d\u652f\u6301avx":30,"\u4f46\u662f\u4e5f\u6ca1\u6709\u5fc5\u8981\u5220\u9664\u65e0\u7528\u7684\u6587\u4ef6":45,"\u4f46\u662f\u5927\u90e8\u5206\u53c2\u6570\u662f\u4e3a\u5f00\u53d1\u8005\u63d0\u4f9b\u7684":46,"\u4f46\u662f\u5b50\u5e8f\u5217\u7684\u6570\u76ee\u5fc5\u987b\u4e00\u6837":36,"\u4f46\u662f\u6211\u4eec\u5e76\u4e0d\u63a8\u8350\u8fd9\u79cd\u65b9\u6cd5":30,"\u4f46\u662f\u652f\u6301avx\u6307\u4ee4\u96c6":40,"\u4f46\u662f\u65b9\u4fbf\u8c03\u8bd5\u548c\u6d4bbenchmark":29,"\u4f46\u662f\u6bcf\u4e2a\u6837\u672c\u4ec5\u5305\u542b\u51e0\u4e2a\u8bcd":49,"\u4f46\u662f\u7a81\u7136\u6709\u4e00\u4e2a10000\u957f\u7684\u5e8f\u5217":27,"\u4f46\u662f\u89e3\u91ca\u6027\u8bed\u8a00":25,"\u4f46\u662f\u8fd9\u79cd\u65b9\u6cd5\u5728\u6bcf\u5c42\u53ea\u4fdd\u5b58\u9884\u8bbe\u6570\u91cf\u7684\u6700\u4f18\u72b6\u6001":65,"\u4f46\u662f\u8fdc\u672a\u5b8c\u5584":0,"\u4f46\u662f\u9690\u85cf\u5c42\u4e2d\u7684\u6bcf\u4e2a\u666e\u901a\u8282\u70b9\u88ab\u4e00\u4e2a\u8bb0\u5fc6\u5355\u5143\u66ff\u6362":64,"\u4f46\u662fbatch":27,"\u4f46\u6709\u503c\u7684\u5730\u65b9\u5fc5\u987b\u4e3a1":[3,33],"\u4f46\u6709\u503c\u7684\u90e8\u5206\u53ef\u4ee5\u662f\u4efb\u4f55\u6d6e\u70b9\u6570":[3,33],"\u4f46\u8fd9\u4e2a\u5173\u7cfb\u53ef\u80fd\u4e0d\u6b63\u786e":3,"\u4f4d\u7f6e":36,"\u4f4f":36,"\u4f53\u88c1\u5b57\u5178":62,"\u4f53\u88c1\u5b57\u6bb5":62,"\u4f59\u5f26\u76f8\u4f3c\u5ea6\u56de\u5f52":62,"\u4f59\u5f26\u76f8\u4f3c\u5ea6\u5c42":62,"\u4f5c\u4e3a\u4e0b\u4e00\u4e2a\u5b50\u53e5memory\u7684\u521d\u59cb\u72b6\u6001":36,"\u4f5c\u4e3a\u4f8b\u5b50\u6f14\u793a\u5982\u4f55\u914d\u7f6e\u590d\u6742\u7684\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u6a21\u578b":39,"\u4f5c\u4e3a\u53c2\u6570\u7684id":27,"\u4f5c\u4e3a\u5f53\u524d\u65f6\u523b\u8f93\u5165":38,"\u4f5c\u4e3a\u793a\u4f8b\u6570\u636e":61,"\u4f5c\u4e3a\u7c7b\u53e5\u67c4":25,"\u4f5c\u4e3a\u7ebf\u6027\u56de\u5f52\u7684\u8f93\u5165":28,"\u4f5c\u4e3a\u8f93\u51fa":39,"\u4f5c\u4e3a\u96c6\u7fa4\u8bad\u7ec3\u7684\u5de5\u4f5c\u7a7a\u95f4":45,"\u4f5c\u4e3aboot_layer\u4f20\u7ed9\u4e0b\u4e00\u4e2a\u5b50\u53e5\u7684memori":36,"\u4f5c\u5bb6":61,"\u4f5c\u7528":35,"\u4f60\u4e5f\u53ef\u4ee5\u4f7f\u7528\u8fd9\u4e09\u4e2a\u503c":58,"\u4f60\u4e5f\u53ef\u4ee5\u5148\u8df3\u8fc7\u672c\u6587\u7684\u89e3\u91ca\u73af\u8282":60,"\u4f60\u4e5f\u53ef\u4ee5\u7b80\u5355\u7684\u8fd0\u884c\u4ee5\u4e0b\u7684\u547d\u4ee4":56,"\u4f60\u4e5f\u53ef\u4ee5\u901a\u8fc7\u5728\u547d\u4ee4\u884c\u53c2\u6570\u4e2d\u589e\u52a0\u4e00\u4e2a\u53c2\u6570\u5982":58,"\u4f60\u4e5f\u8bb8\u53ef\u4ee5\u5c1d\u8bd5\u66f4\u8001\u7684\u65b9\u6cd5":30,"\u4f60\u53ea\u9700\u5b8c\u6210":45,"\u4f60\u53ea\u9700\u8981\u5728\u547d\u4ee4\u884c\u8f93\u5165\u4ee5\u4e0b\u547d\u4ee4":60,"\u4f60\u53ea\u9700\u8981\u6309\u7167\u5982\u4e0b\u65b9\u5f0f\u7ec4\u7ec7\u6570\u636e":65,"\u4f60\u53ef\u4ee5\u4f7f\u7528":58,"\u4f60\u53ef\u4ee5\u4f7f\u7528\u4e0b\u9762\u7684\u811a\u672c\u4e0b\u8f7d":64,"\u4f60\u53ef\u4ee5\u4f7f\u7528\u5b83\u6765\u8bbe\u7f6e":45,"\u4f60\u53ef\u4ee5\u4f7f\u7528\u672c\u5730\u8bad\u7ec3\u4e2d\u7684\u76f8\u540c\u6a21\u578b\u6587\u4ef6\u8fdb\u884c\u96c6\u7fa4\u8bad\u7ec3":45,"\u4f60\u53ef\u4ee5\u5728\u4efb\u4f55\u65f6\u5019\u7528":62,"\u4f60\u53ef\u4ee5\u5bf9\u6a21\u578b\u8fdb\u884c\u8bc4\u4f30":62,"\u4f60\u53ef\u4ee5\u5c06\u7f51\u7edc\u914d\u7f6e\u6210\u67d0\u4e9b\u5c42\u4f7f\u7528gpu\u8ba1\u7b97":49,"\u4f60\u53ef\u4ee5\u6267\u884c\u4e0a\u8ff0\u547d\u4ee4\u6765\u4e0b\u8f7d\u6240\u6709\u7684\u6a21\u578b\u548c\u5747\u503c\u6587\u4ef6":58,"\u4f60\u53ef\u4ee5\u901a\u8fc7\u6267\u884c\u4e0b\u9762\u7684\u547d\u4ee4\u6765\u5f97\u5230resnet\u7f51\u7edc\u7684\u7ed3\u6784\u53ef\u89c6\u5316\u56fe":58,"\u4f60\u53ef\u4ee5\u9884\u6d4b\u4efb\u4f55\u7528\u6237\u5bf9\u4e8e\u4efb\u4f55\u4e00\u90e8\u7535\u5f71\u7684\u8bc4\u4ef7":62,"\u4f60\u5c06\u4f1a\u770b\u5230\u4ee5\u4e0b\u7684\u6a21\u578b\u7ed3\u6784":56,"\u4f60\u5c06\u4f1a\u770b\u5230\u5982\u4e0b\u6d88\u606f":65,"\u4f60\u5c06\u4f1a\u770b\u5230\u5982\u4e0b\u7ed3\u679c":58,"\u4f60\u5c06\u4f1a\u770b\u5230\u7279\u5f81\u5b58\u50a8\u5728":58,"\u4f60\u5c06\u4f1a\u770b\u5230\u8fd9\u6837\u7684\u6d88\u606f":65,"\u4f60\u5c06\u5728\u76ee\u5f55":64,"\u4f60\u5c06\u770b\u5230\u5982\u4e0b\u7684\u4fe1\u606f":62,"\u4f60\u7684\u5de5\u4f5c\u7a7a\u95f4\u5e94\u5982\u4e0b\u6240\u793a":45,"\u4f60\u8fd8\u53ef\u4ee5\u5c06\u7528\u6237\u548c":45,"\u4f60\u9700\u8981\u4e00\u4e9b\u66f4\u590d\u6742\u7684\u5355\u5143\u6d4b\u8bd5\u6765\u4fdd\u8bc1\u4f60\u5b9e\u73b0\u7684\u7f51\u7edc\u5c42\u662f\u6b63\u786e\u7684":41,"\u4f60\u9700\u8981\u5728\u7f51\u7edc\u914d\u7f6e\u4e2d\u6307\u5b9a\u8bbe\u5907\u7684id\u53f7":49,"\u4f60\u9700\u8981\u5728\u914d\u7f6ecmake\u65f6\u5c06":41,"\u4f60\u9700\u8981\u5b89\u88c5python\u7684\u7b2c\u4e09\u65b9\u5e93":62,"\u4f60\u9700\u8981\u628a\u8be5\u6587\u4ef6\u52a0\u5165":41,"\u4f7f\u5176\u8f6c\u53d8\u4e3a\u7ef4\u5ea6\u4e3ahidden_dim\u7684\u65b0\u5411\u91cf":60,"\u4f7f\u5f97":28,"\u4f7f\u5f97\u4e24\u4e2a\u5b57\u5178\u6709\u76f8\u540c\u7684\u4e0a\u4e0b\u6587":65,"\u4f7f\u5f97\u5355\u5143\u6d4b\u8bd5\u6709\u4e00\u4e2a\u5e72\u51c0\u7684\u73af\u5883":27,"\u4f7f\u5f97\u642d\u6a21\u578b\u65f6\u66f4\u65b9\u4fbf":41,"\u4f7f\u5f97\u6700\u7ec8\u5f97\u5230\u7684\u6a21\u578b\u51e0\u4e4e\u4e0e\u771f\u5b9e\u6a21\u578b\u4e00\u81f4":28,"\u4f7f\u7528":[27,30,36,38,39,41,44,47,60,63,64],"\u4f7f\u75280\u53f7\u548c1\u53f7gpu\u8ba1\u7b97fc2\u5c42":49,"\u4f7f\u75280\u53f7gpu\u8ba1\u7b97fc2\u5c42":49,"\u4f7f\u752810\u4e2a\u88c1\u526a\u56fe\u50cf\u5757":58,"\u4f7f\u75281\u53f7gpu\u8ba1\u7b97fc3\u5c42":49,"\u4f7f\u75282\u53f7\u548c3\u53f7gpu\u8ba1\u7b97fc3\u5c42":49,"\u4f7f\u7528\u4e00\u4e2a\u5c3a\u5ea6\u4e3a":41,"\u4f7f\u7528\u4e00\u4e2a\u8bcd\u524d\u4e24\u4e2a\u8bcd\u548c\u540e\u4e24\u4e2a\u8bcd":27,"\u4f7f\u7528\u4e0a\u6587\u521b\u5efa\u7684yaml\u6587\u4ef6\u521b\u5efakubernet":51,"\u4f7f\u7528\u4e86\u540c\u6837\u7684parameter\u548cbia":27,"\u4f7f\u7528\u4e86\u57fa\u4e8e\u53e5\u6cd5\u7ed3\u6784\u7684\u9884\u5b9a\u4e49\u7279\u5f81\u6a21\u677f":63,"\u4f7f\u7528\u4e86avx\u6307\u4ee4\u96c6":32,"\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3":56,"\u4f7f\u7528\u5177\u6709softmax\u6fc0\u6d3b\u7684\u5168\u8fde\u63a5\u524d\u9988\u5c42\u6765\u6267\u884c\u5206\u7c7b\u4efb\u52a1":64,"\u4f7f\u7528\u52a8\u6001\u5e93":25,"\u4f7f\u7528\u591a\u5757\u663e\u5361\u8bad\u7ec3":27,"\u4f7f\u7528\u591a\u7ebf\u7a0b\u8bad\u7ec3":27,"\u4f7f\u7528\u5982\u4e0b\u53c2\u6570":57,"\u4f7f\u7528\u5982\u4e0b\u547d\u4ee4":56,"\u4f7f\u7528\u5b66\u4e60\u5b8c\u6210\u7684\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u6a21\u578b\u751f\u6210\u5e8f\u5217":39,"\u4f7f\u7528\u5bb9\u5668\u65b9\u5f0f\u8fd0\u884c\u8bad\u7ec3\u4efb\u52a1\u7684kubernet":52,"\u4f7f\u7528\u6211\u4eec\u4e4b\u524d\u6784\u9020\u7684\u955c\u50cf":51,"\u4f7f\u7528\u663e\u5361\u8bad\u7ec3":27,"\u4f7f\u7528\u6848\u4f8b":48,"\u4f7f\u7528\u7684":27,"\u4f7f\u7528\u8005\u4e0d\u9700\u8981\u5173\u5fc3":47,"\u4f7f\u7528\u8005\u53ea\u9700\u8981\u5173\u6ce8\u4e8e\u8bbe\u8ba1rnn\u5728\u4e00\u4e2a\u65f6\u95f4\u6b65\u4e4b\u5185\u5b8c\u6210\u7684\u8ba1\u7b97":38,"\u4f7f\u7528\u8005\u53ef\u4ee5\u4f7f\u7528\u4e0b\u9762\u7684python\u811a\u672c\u6765\u8bfb\u53d6\u53c2\u6570\u503c":58,"\u4f7f\u7528\u8005\u65e0\u9700\u5173\u5fc3\u8fd9\u4e2a\u53c2\u6570":47,"\u4f7f\u7528\u8005\u901a\u5e38\u65e0\u9700\u5173\u5fc3":47,"\u4f7f\u7528\u81ea\u52a8\u7684\u66ff\u8865\u6765\u66ff\u4ee3\u7ecf\u9a8c\u4e30\u5bcc\u7684\u4eba\u5de5\u8bc4\u5224":65,"\u4f7f\u7528\u8c13\u8bcd\u4e0a\u4e0b\u6587":63,"\u4f7f\u7528\u8fd9\u4e2a\u811a\u672c\u524d\u8bf7\u786e\u8ba4\u5df2\u7ecf\u5b89\u88c5\u4e86pillow\u53ca\u76f8\u5173\u4f9d\u8d56\u6a21\u5757":57,"\u4f7f\u7528\u8fd9\u79cd\u65b9\u5f0f":36,"\u4f7f\u7528\u8fdc\u7a0b\u7a00\u758f\u65b9\u5f0f\u8bad\u7ec3\u65f6":41,"\u4f7f\u7528\u968f\u673a\u68af\u5ea6\u4e0b\u964d":64,"\u4f7f\u7528\u9759\u6001\u5e93\u548c\u52a8\u6001\u5e93\u96be\u5ea6\u5dee\u4e0d\u591a":25,"\u4f7f\u7528\u9884\u8bad\u7ec3\u7684\u6807\u51c6\u683c\u5f0f\u8bcd\u5411\u91cf\u6a21\u578b":56,"\u4f7f\u7528args\u5728\u7f51\u7edc\u914d\u7f6e\u4e2d\u8bbe\u7f6e":3,"\u4f7f\u7528c99\u505a\u63a5\u53e3":25,"\u4f7f\u7528c99\u800c\u4e0d\u4f7f\u7528c11\u7684\u539f\u56e0\u662f":25,"\u4f7f\u7528c99\u800c\u4e0d\u4f7f\u7528c89":25,"\u4f7f\u7528checkgrad\u6a21\u5f0f\u65f6\u7684\u53c2\u6570\u53d8\u5316\u5927\u5c0f":47,"\u4f7f\u7528cpu\u4e24\u7ebf\u7a0b\u8ba1\u7b97fc4\u5c42":49,"\u4f7f\u7528cpu\u8ba1\u7b97fc4\u5c42":49,"\u4f7f\u7528cpu\u8bad\u7ec3":64,"\u4f7f\u7528init":49,"\u4f7f\u7528lstm\u4f5c\u4e3aencod":36,"\u4f7f\u7528max":57,"\u4f7f\u7528memory\u7684rnn\u5b9e\u73b0\u4fbf\u5982\u4e0b\u56fe\u6240\u793a":36,"\u4f7f\u7528model":49,"\u4f7f\u7528paddlepaddl":60,"\u4f7f\u7528python\u6570\u636e\u63d0\u4f9b\u5668":57,"\u4f7f\u7528rdma\u8fd8\u662ftcp\u4f20\u8f93\u534f\u8bae":47,"\u4f7f\u7528swig\u53ea\u652f\u6301cpython\u89e3\u91ca\u5668":25,"\u4f7f\u7528swig\u9700\u8981\u591a\u8bed\u8a00\u7ed1\u5b9a\u7684\u5f00\u53d1\u4eba\u5458\u719f\u7ec3\u638c\u63e1swig\u914d\u7f6e":25,"\u4f7f\u7528void":25,"\u4f7f\u8f93\u5165\u5c42\u5230\u9690\u85cf\u5c42\u7684\u795e\u7ecf\u5143\u662f\u5168\u90e8\u8fde\u63a5\u7684":57,"\u4f86":36,"\u4f8b\u5982":[3,25,27,29,33,36,39,41,44,45,46,47,49,52,58,60,62,64],"\u4f8b\u5982\u4e0a\u6587\u7684pod":50,"\u4f8b\u5982\u4e0a\u9762\u7684":28,"\u4f8b\u5982\u4ee5\u592a\u7f51\u7684":45,"\u4f8b\u5982\u4f7f\u7528":27,"\u4f8b\u5982\u586b\u5145":39,"\u4f8b\u5982\u5bf9\u4e8ejava\u6216\u8005python":25,"\u4f8b\u5982\u5bf9\u4e8ejava\u6765\u8bf4":25,"\u4f8b\u5982\u5bf9\u4e8epython":25,"\u4f8b\u5982\u5c06\u7b2c\u4e00\u6761\u6570\u636e\u8f6c\u5316\u4e3a":36,"\u4f8b\u5982\u6587\u672c\u5206\u7c7b\u4e2d":36,"\u4f8b\u5982\u672c\u4f8b\u4e2d\u7684\u4e24\u4e2a\u7279\u5f81":36,"\u4f8b\u5982\u673a\u5668\u4e0a\u67094\u5757gpu":27,"\u4f8b\u5982\u7b2c300\u4e2apass\u7684\u6a21\u578b\u4f1a\u88ab\u4fdd\u5b58\u5728":57,"\u4f8b\u5982c":25,"\u4f8b\u5982hostpath":50,"\u4f8b\u5982java\u4e0epython\u7684\u9519\u8bef\u5904\u7406\u662f\u76f4\u63a5\u6254\u51fa\u6765except":25,"\u4f8b\u5982output\u76ee\u5f55\u4e0b\u5c31\u5b58\u653e\u4e86\u8f93\u51fa\u7ed3\u679c":52,"\u4f8b\u5982python\u53ef\u4ee5\u4f7f\u7528":25,"\u4f8b\u5982python\u7684":25,"\u4f8b\u5982sigmoid":41,"\u4f8b\u5982sigmoid\u53d8\u6362":60,"\u4f8b\u5b50\u4e2d\u662f":41,"\u4f8b\u5b50\u4e2d\u662f0":41,"\u4f8b\u5b50\u4e2d\u662f100":41,"\u4f8b\u5b50\u4e2d\u662f4096":41,"\u4f8b\u5b50\u4e2d\u662f8192":41,"\u4f8b\u5b50\u4e2d\u662ffc":41,"\u4f8b\u5b50\u4e2d\u662fsoftmax":41,"\u4f8b\u5b50\u4f7f\u7528":50,"\u4f9bpaddlepaddle\u52a0\u8f7d":47,"\u4f9d\u636e\u5206\u7c7b\u9519\u8bef\u7387\u83b7\u5f97\u6700\u4f73\u6a21\u578b\u8fdb\u884c\u6d4b\u8bd5":64,"\u4f9d\u8d56\u4e8epython\u7684":57,"\u4fbf\u4e8e\u5b58\u50a8\u8d44\u6e90\u7ba1\u7406\u548cpod\u5f15\u7528":50,"\u4fbf\u4e8e\u672c\u5730\u9a8c\u8bc1\u548c\u6d4b\u8bd5":50,"\u4fbf\u4e8e\u7528\u6237\u6d4f\u89c8c":30,"\u4fbf\u5229":36,"\u4fbf\u548c\u5355\u5c42rnn\u914d\u7f6e\u4e2d\u7684":36,"\u4fbf\u5b9c":36,"\u4fbf\u662f\u5c06\u9759\u6001\u5e93\u52a0\u5165jvm\u4e2d":25,"\u4fdd\u5b58\u6a21\u578b\u53c2\u6570\u7684\u76ee\u5f55":47,"\u4fdd\u5b58\u751f\u6210\u7ed3\u679c\u7684\u6587\u4ef6":65,"\u4fdd\u5b58\u7f51\u7edc\u5c42\u8f93\u51fa\u7ed3\u679c\u7684\u76ee\u5f55":47,"\u4fdd\u5b58\u9884\u6d4b\u7ed3\u679c\u7684\u6587\u4ef6\u540d":47,"\u4fdd\u6301\u5bbd\u9ad8\u6bd4\u7f29\u653e\u5230\u77ed\u8fb9\u4e3a256":58,"\u4fe1\u53f7\u6765\u81ea\u52a8\u7ec8\u6b62\u5b83\u542f\u52a8\u7684\u6240\u6709\u8fdb\u7a0b":45,"\u4fee\u6539":[50,51],"\u4fee\u6539\u542f\u52a8\u811a\u672c\u540e":51,"\u4fee\u6539\u6210\u66f4\u5feb\u7684\u7248\u672c":44,"\u4fee\u6539\u6587\u6863":43,"\u503c\u5f97\u6ce8\u610f\u7684\u662f":[36,40],"\u503c\u5f97\u6df1\u5165\u5206\u6790":44,"\u503c\u7c7b\u578b":49,"\u5047\u5982\u6211\u4eec\u662f\u4e09\u5206\u7c7b\u95ee\u9898":27,"\u5047\u8bbe":41,"\u5047\u8bbe\u53d8\u91cf":28,"\u5047\u8bbe\u60a8\u5df2\u7ecf\u5b8c\u6210\u4e86\u4e00\u4e2aai\u8bad\u7ec3\u7684python\u7a0b\u5e8f":30,"\u5047\u8bbe\u635f\u5931\u51fd\u6570\u662f":41,"\u5047\u8bbe\u8bcd\u5411\u91cf\u7ef4\u5ea6\u4e3a32":56,"\u504f\u7f6e\u53c2\u6570":58,"\u504f\u7f6e\u53c2\u6570\u7684\u5927\u5c0f":41,"\u505a\u63a5\u53e3":25,"\u505c\u6b62\u52a0\u8f7d\u6570\u636e":47,"\u505c\u7535":36,"\u50cf":30,"\u513f\u7ae5\u7247":61,"\u5143\u7d20":35,"\u5143\u7d20\u4e4b\u95f4\u7684\u987a\u5e8f\u662f\u91cd\u8981\u7684\u8f93\u5165\u4fe1\u606f":35,"\u5148\u8c03\u7528initializer\u51fd\u6570":60,"\u5168\u5bb6":36,"\u5168\u8fde\u63a5\u5c42":[28,56,57,62],"\u5168\u8fde\u63a5\u5c42\u4ee5\u4e00\u4e2a\u7ef4\u5ea6\u4e3a":41,"\u5168\u8fde\u63a5\u5c42\u5c06\u7535\u5f71\u7684\u6bcf\u4e2a\u7279\u5f81\u7ed3\u5408\u6210\u4e00\u4e2a\u7535\u5f71\u7279\u5f81":62,"\u5168\u8fde\u63a5\u5c42\u6743\u91cd":58,"\u5168\u8fde\u63a5\u5c42\u6ca1\u6709\u7f51\u7edc\u5c42\u914d\u7f6e\u7684\u8d85\u53c2\u6570":41,"\u5168\u8fde\u63a5\u5c42\u7684\u5b9e\u73b0\u4f4d\u4e8e":41,"\u5168\u8fde\u63a5\u5c42\u7684\u6bcf\u4e2a\u8f93\u51fa\u90fd\u8fde\u63a5\u5230\u4e0a\u4e00\u5c42\u7684\u6240\u6709\u7684\u795e\u7ecf\u5143\u4e0a":41,"\u5168\u8fde\u63a5\u5c42python\u5c01\u88c5\u7684\u4f8b\u5b50\u4e2d\u5305\u542b\u4e0b\u9762\u51e0\u6b65":41,"\u516b\u4e2a\u7279\u5f81\u5206\u522b\u8f6c\u6362\u4e3a\u5411\u91cf":63,"\u516c\u5f0f":30,"\u516c\u94a5\u5199\u5165":45,"\u516d\u4e2a\u7279\u5f81\u548c\u6807\u7b7e\u90fd\u662f\u7d22\u5f15\u69fd":63,"\u5171\u4eab\u4efb\u52a1\u4e2d\u8bbe\u7f6e\u7684\u6570\u636e\u8fdb\u884c\u8bad\u7ec3\u548c\u6d4b\u8bd5":63,"\u5171\u4eab\u5b58\u50a8\u6302\u5728\u7684\u8def\u5f84":52,"\u5171\u670932":56,"\u5173\u4e8e\u5982\u4f55\u5b9a\u4e49\u7f51\u7edc\u4e2d\u7684\u5c42":57,"\u5173\u4e8e\u65f6\u95f4\u5e8f\u5217":36,"\u5173\u4e8e\u6784\u5efa\u548c\u6d4b\u8bd5\u7684\u66f4\u591a\u4fe1\u606f":40,"\u5173\u4e8epaddlepaddle\u7684\u5206\u5e03\u5f0f\u8bad\u7ec3":52,"\u5173\u4e8epaddlepaddle\u7684\u66f4\u591a\u4f7f\u7528\u65b9\u6cd5\u8bf7\u53c2\u8003":33,"\u5173\u4e8eunbound":38,"\u5173\u4e8evgg\u5377\u79ef\u795e\u7ecf\u7f51\u7edc\u7684\u63cf\u8ff0\u53ef\u4ee5\u53c2\u8003":57,"\u5176\u4e0b\u5b50\u6587\u4ef6\u5939\u7684\u7ed3\u6784\u5982\u4e0b":57,"\u5176\u4e2d":[3,25,27,28,33,39,41,56,57,58],"\u5176\u4e2d156\u548c285\u662f\u8fd9\u4e9b\u56fe\u50cf\u7684\u5206\u7c7b\u6807\u7b7e":58,"\u5176\u4e2d50000\u5f20\u56fe\u7247\u4f5c\u4e3a\u8bad\u7ec3\u96c6":57,"\u5176\u4e2d\u5206\u522b\u5305\u542b\u4e86cifar":57,"\u5176\u4e2d\u5305\u542b6":61,"\u5176\u4e2d\u5305\u542b\u4e86200\u79cd\u9e1f\u7c7b\u7684\u7167\u7247":57,"\u5176\u4e2d\u5305\u542b\u7b97\u6cd5\u548c\u7f51\u7edc\u914d\u7f6e":64,"\u5176\u4e2d\u5305\u62ec\u51fd\u6570":63,"\u5176\u4e2d\u5b9a\u4e49\u4e86\u6a21\u578b\u67b6\u6784\u548csolver\u914d\u7f6e":65,"\u5176\u4e2d\u6587\u672c\u8f93\u5165\u7c7b\u578b\u5b9a\u4e49\u4e3a\u6574\u6570\u65f6\u5e8f\u7c7b\u578binteger_value_sequ":60,"\u5176\u4e2d\u6bcf\u4e00\u884c\u5bf9\u5e94\u4e00\u4e2a\u6570\u636e\u6587\u4ef6\u5730\u5740":2,"\u5176\u4e2d\u6bcf\u4e2a\u5143\u7d20\u662f\u53cc\u5c42\u5e8f\u5217\u4e2d\u6bcf\u4e2asubseq\u6700\u540e\u4e00\u4e2a":35,"\u5176\u4e2d\u6bcf\u4e2a\u5411\u91cf\u5bf9\u5e94\u8f93\u5165\u8bed\u53e5\u4e2d\u7684\u4e00\u4e2a\u5143\u7d20":65,"\u5176\u4e2d\u6bcf\u6761pass\u82b1\u8d39\u4e867\u4e2a\u5c0f\u65f6":65,"\u5176\u4e2d\u6bcf\u884c\u6570\u636e\u4ee3\u8868\u4e00\u5f20\u56fe\u7247":3,"\u5176\u4e2d\u8be6\u7ec6\u8bf4\u660e\u4e86\u6a21\u578b\u67b6\u6784":65,"\u5176\u4e2d\u8f93\u5165\u56fe\u50cf\u7684\u989c\u8272\u901a\u9053\u987a\u5e8f\u4e3a":58,"\u5176\u4e2dbeam":65,"\u5176\u4e2dcheckgrad\u4e3b\u8981\u4e3a\u5f00\u53d1\u8005\u4f7f\u7528":47,"\u5176\u4e2dmean\u548cstd\u662f\u8bad\u7ec3\u914d\u7f6e\u4e2d\u7684\u53c2\u6570":47,"\u5176\u4e2dvalue\u5373\u4e3asoftmax\u5c42\u7684\u8f93\u51fa":5,"\u5176\u4e2dx\u8868\u793a\u8f93\u5165\u6570\u636e\u662f\u4e00\u4e2a\u7ef4\u5ea6\u4e3a2\u7684\u7a20\u5bc6\u5411\u91cf":33,"\u5176\u4ed6":61,"\u5176\u4ed6\u4eba\u5f88\u5bb9\u6613\u770b\u61c2\u955c\u50cf\u751f\u6210\u8fc7\u7a0b":30,"\u5176\u4ed6\u516d\u884c\u5217\u51fa\u4e86\u96c6\u675f\u641c\u7d22\u7684\u7ed3\u679c":65,"\u5176\u4ed6\u5185\u5b58\u6742\u9879":27,"\u5176\u4ed6\u5185\u5b58\u6742\u9879\u662f\u6307paddlepaddle\u672c\u8eab\u6240\u7528\u7684\u4e00\u4e9b\u5185\u5b58":27,"\u5176\u4ed6\u53c2\u6570\u4f7f\u7528":3,"\u5176\u4ed6\u53c2\u6570\u8bf7\u53c2\u8003":60,"\u5176\u4ed6\u6240\u6709\u5c42\u90fd\u4f1a\u4f7f\u7528gpu\u8ba1\u7b97":49,"\u5176\u4ed6\u9ad8\u7ea7\u529f\u80fd\u5305\u62ec\u5b9a\u4e49\u591a\u4e2amemori":39,"\u5176\u4f1a\u81ea\u52a8\u88ab\u52a0\u5165\u7f16\u8bd1\u5217\u8868":41,"\u5176\u4f59\u884c\u662f":56,"\u5176\u4f5c\u7528\u662f\u5c06\u6570\u636e\u4f20\u5165\u5185\u5b58\u6216\u663e\u5b58":2,"\u5176\u5177\u4f53\u8bf4\u660e\u4e86\u5b57\u6bb5\u7c7b\u578b\u548c\u6587\u4ef6\u540d\u79f0":62,"\u5176\u5185\u90e8\u7684\u6587\u4ef6\u4e5f\u4f1a\u968f\u4e4b\u6d88\u5931":50,"\u5176\u5305\u62ec\u4e24\u4e2a\u51fd\u6570":60,"\u5176\u53c2\u6570\u5982\u4e0b":3,"\u5176\u5b83\u90e8\u5206\u548c\u903b\u8f91\u56de\u5f52\u7f51\u7edc\u7ed3\u6784\u4e00\u81f4":60,"\u5176\u5b83layer\u7684\u8f93\u51fa":38,"\u5176\u5b9e\u4e5f\u662f\u548c\u6bcf\u4e2amini":27,"\u5176\u63d0\u4f9b\u5e94\u7528\u90e8\u7f72":50,"\u5176\u6b21":[3,36,60],"\u5176\u76ee\u7684\u662f\u5728\u7ed9\u5b9a\u7684\u8f93\u5165\u53e5\u5b50\u4e2d\u53d1\u73b0\u6bcf\u4e2a\u8c13\u8bcd\u7684\u8c13\u8bcd\u8bba\u5143\u7ed3\u6784":63,"\u5176\u8bf4\u660e\u5982\u4e0b":36,"\u5176\u8f93\u5165\u53c2\u6570\u5982\u4e0b":65,"\u5176\u8f93\u51fa\u88ab\u7528\u4f5cmemory\u7684\u521d\u59cb\u503c":39,"\u5177\u4f53\u4f7f\u7528\u65b9\u6cd5\u4e3a":27,"\u5177\u4f53\u53ef\u4ee5\u53c2\u8003":[3,41],"\u5177\u4f53\u53ef\u53c2\u8003\u6587\u6863":38,"\u5177\u4f53\u5982\u4e0b":30,"\u5177\u4f53\u60c5\u51b5\u56e0\u4eba\u800c\u5f02":44,"\u5177\u4f53\u64cd\u4f5c\u5982\u4e0b":27,"\u5177\u4f53\u6d41\u7a0b\u5982\u4e0b":60,"\u5177\u4f53\u7684\u683c\u5f0f\u8bf4\u660e":3,"\u5177\u4f53\u7684\u89e3\u51b3\u65b9\u6cd5\u662f":27,"\u5177\u4f53\u8bf7\u53c2\u7167\u793a\u4f8b":58,"\u5177\u4f53\u8bf7\u53c2\u8003":[3,40],"\u5177\u4f53\u8bf7\u89c1":40,"\u5177\u6709\u76f8\u540c\u7684\u7ed3\u679c\u4e86":36,"\u5177\u6709\u81ea\u5faa\u73af\u8fde\u63a5\u7684\u795e\u7ecf\u5143":64,"\u517c\u5907\u6613\u7528\u6027":0,"\u5185":39,"\u5185\u5b58":44,"\u5185\u5b58\u5bb9\u9650\u9608\u503c":47,"\u5185\u5bb9":60,"\u5185\u5bb9\u5982\u4e0b":51,"\u5185\u5c42inner_step\u7684recurrent_group\u548c\u5355\u5c42\u5e8f\u5217\u7684\u51e0\u4e4e\u4e00\u6837":36,"\u5185\u5df2\u7ecf\u5305\u542bpaddlepaddle\u7684\u6267\u884c\u7a0b\u5e8f\u4f46\u662f\u8fd8\u6ca1\u4e0a\u8ff0\u529f\u80fd":52,"\u5185\u7684\u5f00\u53d1\u8005\u4e0b\u8f7ddocker\u955c\u50cf":30,"\u5185\u90e8":52,"\u5185\u90e8\u9a71\u52a8python\u89e3\u91ca\u5668\u8fdb\u884c\u6a21\u578b\u914d\u7f6e\u89e3\u6790\u548c\u6570\u636e\u8bfb\u53d6":25,"\u518d\u4e3apaddle\u7684\u8bad\u7ec3\u8fc7\u7a0b\u63d0\u4f9b\u6587\u4ef6\u5217\u8868":62,"\u518d\u5728\u6bcf\u4e00\u4e2aapi\u4e2d\u81ea\u5df1\u68c0\u67e5\u7c7b\u578b":25,"\u518d\u5bf9\u6bcf\u4e00\u4e2a\u5355\u5c42\u65f6\u95f4\u5e8f\u5217\u8fdb\u884c\u5904\u7406":36,"\u518d\u5bf9\u6bcf\u4e00\u53e5\u8bdd\u7684\u7f16\u7801\u5411\u91cf\u7528lstm\u7f16\u7801\u6210\u4e00\u4e2a\u6bb5\u843d\u7684\u5411\u91cf":36,"\u518d\u5bf9\u8fd9\u4e2a\u6bb5\u843d\u5411\u91cf\u8fdb\u884c\u5206\u7c7b":36,"\u518d\u6307\u5b9a":29,"\u518d\u6b21\u5bf9\u4ee3\u7801\u8fdb\u884c\u6027\u80fd\u5206\u6790":44,"\u518d\u7528\u8fd9\u4e2a\u68af\u5ea6\u53bb\u548c":41,"\u518d\u901a\u8fc7\u51fd\u6570":52,"\u5192\u9669\u7247":61,"\u5197\u4f59\u7b49\u529f\u80fd":50,"\u5199\u4ee3\u7801":25,"\u5199\u5b8c\u6a21\u578b\u914d\u7f6e\u4e4b\u540e":65,"\u5199\u68af\u5ea6\u68c0\u67e5\u5355\u5143\u6d4b\u8bd5\u662f\u4e00\u4e2a\u9a8c\u8bc1\u65b0\u5b9e\u73b0\u7684\u5c42\u662f\u5426\u6b63\u786e\u7684\u76f8\u5bf9\u7b80\u5355\u7684\u529e\u6cd5":41,"\u519c\u6c11":61,"\u51c6\u5907":36,"\u51c6\u5907\u597d\u6570\u636e":62,"\u51c6\u5907\u7528\u6765\u5b66\u4e60\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u7684\u5e8f\u5217\u6570\u636e":39,"\u51c6\u5907\u9884\u6d4b\u6570\u636e":5,"\u51cf\u5c0f\u5e8f\u5217\u7684\u957f\u5ea6":27,"\u51cf\u5c0f\u8fd9\u4e2a\u5185\u5b58\u6c60\u5373\u53ef\u51cf\u5c0f\u5185\u5b58\u5360\u7528":27,"\u51cf\u5c0fbatch":27,"\u51fa\u53bb\u73a9":36,"\u51fa\u5dee":36,"\u51fa\u6765":36,"\u51fa\u73b0\u4ee5\u4e0b\u9519\u8bef":27,"\u51fa\u73b0\u8fd9\u4e2a\u95ee\u9898\u7684\u4e3b\u8981\u539f\u56e0\u662f":27,"\u51fd\u6570":[3,28,39,41,44,63,64],"\u51fd\u6570\u4e2d":39,"\u51fd\u6570\u4e2d\u4f7f\u7528":3,"\u51fd\u6570\u4e2d\u8bbe\u7f6e\u7684":45,"\u51fd\u6570\u5047\u8bbe":39,"\u51fd\u6570\u52a0\u5230\u4ee3\u7801\u4e2d":44,"\u51fd\u6570\u53ea\u5173\u6ce8\u4e8ernn\u4e00\u4e2a\u65f6\u95f4\u6b65\u4e4b\u5185\u7684\u8ba1\u7b97":38,"\u51fd\u6570\u547d\u540d":25,"\u51fd\u6570\u5c06\u8fd4\u56de\u4e09\u4e2a\u6574\u6570\u5217\u8868":39,"\u51fd\u6570\u5c31\u662f\u6839\u636e\u8be5\u673a\u5236\u914d\u7f6e\u7684":3,"\u51fd\u6570\u5f97\u5230\u7684\u68af\u5ea6\u53bb\u5bf9\u6bd4":41,"\u51fd\u6570\u5fc5\u987b\u5148\u8c03\u7528\u57fa\u7c7b\u4e2d\u7684\u51fd\u6570":41,"\u51fd\u6570\u5fc5\u987b\u8fd4\u56de\u4e00\u4e2a\u6216\u591a\u4e2alayer\u7684\u8f93\u51fa":38,"\u51fd\u6570\u6307\u51fa\u4e86\u5728\u8bad\u7ec3\u65f6\u9700\u8981\u4ece\u53c2\u6570\u670d\u52a1\u5668\u53d6\u51fa\u7684\u884c":41,"\u51fd\u6570\u6765\u5c06\u4fe1\u606f\u8f93\u51fa\u5230\u754c\u9762\u4e2d":44,"\u51fd\u6570\u67e5\u8be2\u8f6f\u4ef6\u5305\u76f8\u5173api\u8bf4\u660e":5,"\u51fd\u6570\u7684":3,"\u51fd\u6570\u7684\u5b9e\u73b0\u662f\u6b63\u786e\u7684":41,"\u51fd\u6570\u7684\u5f00\u5934\u5fc5\u987b\u8c03\u7528":41,"\u5206\u4e3a\u597d\u8bc4":60,"\u5206\u522b\u4e3a":56,"\u5206\u522b\u4e3atrain":65,"\u5206\u522b\u4ece\u8bcd\u8bed\u548c\u53e5\u5b50\u7ea7\u522b\u7f16\u7801\u8f93\u5165\u6570\u636e":38,"\u5206\u522b\u4f7f\u7528\u5355\u53cc\u5c42rnn\u4f5c\u4e3a\u7f51\u7edc\u914d\u7f6e\u7684\u6a21\u578b":36,"\u5206\u522b\u5305\u542b\u4e86\u6cd5\u8bed\u5230\u82f1\u8bed\u7684\u5e73\u884c\u8bed\u6599\u5e93\u7684\u8bad\u7ec3\u6570\u636e":65,"\u5206\u522b\u5b9a\u4e49\u5b50\u53e5\u7ea7\u522b\u548c\u8bcd\u8bed\u7ea7\u522b\u4e0a\u9700\u8981\u5b8c\u6210\u7684\u8fd0\u7b97":38,"\u5206\u522b\u5bf9\u5e94\u4e8e\u53d8\u91cf":28,"\u5206\u522b\u662f":35,"\u5206\u522b\u662frnn\u72b6\u6001\u548c\u8f93\u5165\u7684\u53d8\u6362\u77e9\u9635":39,"\u5206\u522b\u662fsentences\u548clabel":36,"\u5206\u522b\u662fwords\u548clabel":36,"\u5206\u522b\u8ba1\u7b97\u6bcf\u4e2a\u53c2\u6570\u7684\u68af\u5ea6":41,"\u5206\u522b\u8fdb\u884c\u5e8f\u5217\u64cd\u4f5c":36,"\u5206\u5272":[61,63],"\u5206\u5272\u6587\u4ef6\u7684\u65b9\u6cd5\u662f":62,"\u5206\u5e03\u5f0f\u6587\u4ef6\u7cfb\u7edf":50,"\u5206\u6210\u4e24\u90e8\u5206":3,"\u5206\u652f":40,"\u5206\u652f\u4e0a":40,"\u5206\u652f\u4e0a\u521b\u5efa\u65b0\u5206\u652f":40,"\u5206\u652f\u540d":40,"\u5206\u652f\u89c4\u8303":40,"\u5206\u6790\u5f97\u5230\u7684\u4fe1\u606f\u7528\u4e8e\u534f\u52a9\u8fdb\u884c\u7a0b\u5e8f\u7684\u4f18\u5316":44,"\u5206\u7c7b\u6210\u6b63\u9762\u60c5\u7eea\u548c\u8d1f\u9762\u60c5\u7eea\u4e24\u7c7b":3,"\u5206\u7c7b\u8bef\u5dee\u662f0":64,"\u5206\u7c7b\u9519\u8bef\u7387\u548c\u6a21\u578b\u5927\u5c0f\u7531\u4e0b\u8868\u7ed9\u51fa":58,"\u5206\u8bcd\u5e8f\u5217\u7684\u5f00\u59cb":56,"\u5206\u8bcd\u5e8f\u5217\u7684\u7ed3\u675f":56,"\u5206\u8bcd\u98ce\u683c\u5982\u4e0b":56,"\u5206\u914d\u5230\u5f53\u524d\u6570\u636e\u5757\u6837\u672c\u6570\u7684\u56db\u5206\u4e4b\u4e00":47,"\u5206\u9694":[56,62],"\u5206\u9694\u7b26\u4e3a":61,"\u5207\u6362\u5230":40,"\u5207\u6362\u5230\u6240\u5efa\u5206\u652f":40,"\u5217\u8868":62,"\u5217\u8868\u5982\u4e0b":[3,33],"\u5219\u4e0d\u5728\u4e4e\u5185\u5b58\u6682\u5b58\u591a\u5c11\u6761\u6570\u636e":3,"\u5219\u4e0d\u9700\u8981\u91cd\u5199\u8be5\u51fd\u6570":41,"\u5219\u4f1a\u9884\u5148\u8bfb\u53d6\u5168\u90e8\u6570\u636e\u5230\u5185\u5b58\u4e2d":3,"\u5219\u4f7f\u7528\u533a\u57df\u6807\u8bb0":63,"\u5219\u4f7f\u7528\u540c\u6b65\u8bad\u7ec3":47,"\u5219\u4f7f\u7528\u8be5\u53c2\u6570\u4f5c\u4e3a\u9ed8\u8ba4\u503c":47,"\u5219\u5148\u505a\u5d4c\u5165":62,"\u5219\u53ef\u4ee5\u50cf":45,"\u5219\u5b57\u4e0e\u5b57\u4e4b\u95f4\u7528\u7a7a\u683c\u5206\u9694":60,"\u5219\u603b\u4f1a\u663e\u793a\u963b\u9694\u6458\u8981\u4fe1\u606f":47,"\u5219\u63a8\u8350\u5927\u4e8e\u8bad\u7ec3\u65f6batch":3,"\u5219\u662f\u5e26gui\u7684nvidia\u53ef\u89c6\u5316\u6027\u80fd\u5206\u6790\u5de5\u5177":44,"\u5219\u663e\u793a\u963b\u9694\u6027\u80fd\u7684\u6458\u8981\u4fe1\u606f":47,"\u5219\u9700\u8981\u4f7f\u7528\u7b49\u4e8e\u6743\u91cd\u53c2\u6570\u89c4\u6a21\u5927\u7ea65\u500d\u7684\u5185\u5b58":27,"\u5219\u9700\u8981\u914d\u7f6e":50,"\u521b\u5efa\u4e00\u4e2akubernet":52,"\u521b\u5efa\u548c\u53d1\u5e03\u81ea\u5df1\u7684ai\u7a0b\u5e8f\u955c\u50cf":30,"\u521b\u5efa\u5e76\u5207\u6362\u5230\u65b0\u5206\u652f":40,"\u521b\u5efa\u6210\u529f\u540e":52,"\u521b\u5efa\u8bad\u7ec3\u6570\u636e\u7684":65,"\u521b\u5efagener":3,"\u521d\u59cb\u5316\u4e4b\u540e":5,"\u521d\u59cb\u5316\u504f\u7f6e\u5411\u91cf":41,"\u521d\u59cb\u5316\u65f6\u8c03\u7528\u7684\u51fd\u6570":3,"\u521d\u59cb\u5316\u6743\u91cd\u8868":41,"\u521d\u59cb\u5316\u6a21\u578b\u7684\u8def\u5f84":47,"\u521d\u59cb\u5316\u6a21\u578b\u7684\u8def\u5f84\u914d\u7f6e\u4e3a":56,"\u521d\u59cb\u5316\u7236\u7c7b":41,"\u521d\u59cb\u5316biases_":41,"\u521d\u59cb\u5316paddlepaddle\u73af\u5883":5,"\u521d\u59cb\u72b6\u6001":38,"\u5220\u9664":40,"\u5229\u7528\u5206\u5e03\u5f0f\u8bad\u7ec3\u9a7e\u9a6d\u66f4\u591a\u7684\u8ba1\u7b97\u8d44\u6e90":27,"\u5229\u7528\u5355\u8bcdid\u67e5\u627e\u8be5\u5355\u8bcd\u5bf9\u5e94\u7684\u8fde\u7eed\u5411\u91cf":60,"\u5229\u7528\u66f4\u591a\u7684\u8ba1\u7b97\u8d44\u6e90\u53ef\u4ee5\u5206\u4e3a\u4e00\u4e0b\u51e0\u4e2a\u65b9\u5f0f\u6765\u8fdb\u884c":27,"\u5229\u7528\u6b63\u5219\u8868\u8fbe\u5f0f\u6765\u89e3\u6790\u8be5\u7279\u5f81":62,"\u5229\u7528\u8bad\u7ec3\u96c6\u751f\u6210\u7684\u5b57\u5178":64,"\u5229\u7528\u8fd9\u79cd\u7279\u6027":38,"\u5229\u7528\u903b\u8f91\u56de\u5f52\u6a21\u578b\u5bf9\u8be5\u5411\u91cf\u8fdb\u884c\u5206\u7c7b":60,"\u5229\u7528kubernetes\u80fd\u65b9\u4fbf\u5730\u7ba1\u7406\u8de8\u673a\u5668\u8fd0\u884c\u5bb9\u5668\u5316\u7684\u5e94\u7528":50,"\u5229\u843d":36,"\u5230":[27,39],"\u5230\u6240\u6709\u8282\u70b9\u800c\u4e0d\u7528\u5bc6\u7801":45,"\u5230\u672c\u5730":40,"\u5230\u6b64":30,"\u5230\u76ee\u524d\u4e3a\u6b62":63,"\u5236\u4f5c\u65b0\u955c\u50cf\u6765\u5b8c\u6210\u4ee5\u4e0a\u7684\u5de5\u4f5c":52,"\u5236\u4f5cpaddlepaddle\u5f00\u53d1\u955c\u50cf":30,"\u5236\u4f5cpaddlepaddle\u751f\u4ea7\u955c\u50cf":30,"\u5236\u4f5cpaddlepaddle\u955c\u50cf":52,"\u5237\u7259":36,"\u524d\u4e00\u7bc7\u6587\u7ae0\u4ecb\u7ecd\u4e86\u5982\u4f55\u5728kubernetes\u96c6\u7fa4\u4e0a\u542f\u52a8\u4e00\u4e2a\u5355\u673apaddlepaddle\u8bad\u7ec3\u4f5c\u4e1a":52,"\u524d\u4e09\u884cimport\u4e86\u5b9a\u4e49network":65,"\u524d\u53f0":36,"\u524d\u5411\u4f20\u64ad":41,"\u524d\u5411\u4f20\u64ad\u7ed9\u5b9a\u8f93\u5165":41,"\u524d\u5411\u548c\u540e\u5411":41,"\u524d\u81ea\u52a8\u68c0\u67e5\u4e00\u4e9b\u57fa\u672c\u4e8b\u5b9c":40,"\u5269\u4e0b\u7684pass\u4f1a\u76f4\u63a5\u4ece\u5185\u5b58\u91cc":3,"\u52a0\u4e0a\u504f\u7f6e\u5411\u91cf":41,"\u52a0\u4e86l2\u6b63\u5219\u548c\u68af\u5ea6\u622a\u65ad":60,"\u52a0\u5165":44,"\u52a0\u6743\u548c\u7528\u6765\u751f\u6210":39,"\u52a0\u6743\u7f16\u7801\u5411\u91cf":39,"\u52a0\u8f7d\u6570\u636e":63,"\u52a0\u8f7d\u6a21\u578b":63,"\u52a0\u8f7d\u6a21\u578b\u53c2\u6570":65,"\u52a0\u8f7dtest":47,"\u52a0\u901fpaddlepaddle\u8bad\u7ec3\u53ef\u4ee5\u8003\u8651\u4ece\u4ee5\u4e0b\u51e0\u4e2a\u65b9\u9762":27,"\u52a8\u4f5c\u7247":61,"\u52a8\u6001\u5e93":25,"\u52a8\u753b\u7247":61,"\u52a8\u8bcd":63,"\u52a9\u624b":41,"\u5305\u542b12":64,"\u5305\u542b20\u4e2a\u8bad\u7ec3\u6837\u4f8b":56,"\u5305\u542b3\u4e2a\u5c5e\u6027":56,"\u5305\u542b50":64,"\u5305\u542b\u7684\u6240\u6709\u4f9d\u8d56\u5047\u8bbe\u90fd\u53ef\u4ee5\u5728paddle\u7684\u8fd0\u884c\u5bb9\u5668\u4e2d":30,"\u5305\u5e76\u91cd\u65b0\u7f16\u8bd1paddlepaddl":27,"\u5305\u62ec":[47,60,63,65],"\u5305\u62ec\u4ee5\u4e0b\u4e24\u79cd":3,"\u5305\u62ec\u53d1\u884c\u65f6\u95f4":61,"\u5305\u62ec\u5b57\u7b26\u4e32\u5206\u914d":27,"\u5305\u62ec\u6570\u636e\u8f93\u5165":28,"\u5305\u62ec\u751f\u6210cpu":29,"\u5305\u62ec\u795e\u7ecf\u7f51\u7edc\u62d3\u6251\u7ed3\u6784":33,"\u5305\u62ec\u7b80\u5355\u7684":60,"\u5305\u62ecbool":49,"\u5305\u62ecdocker\u955c\u50cf":31,"\u5305\u62eclinux":30,"\u5305\u662f\u6700\u65b0\u7684":27,"\u5305\u6bd4\u8f83\u8001":27,"\u5305\u7684\u65b9\u6cd5\u662f":27,"\u533a\u522b\u662f\u540c\u65f6\u5904\u7406\u4e86\u4e24\u4e2a\u8f93\u5165":36,"\u533a\u522b\u662frnn\u4f7f\u7528\u4e24\u5c42\u5e8f\u5217\u6a21\u578b":36,"\u533b\u751f":61,"\u533b\u7597\u4fdd\u5065":61,"\u5341\u4e00":36,"\u5347\u5e8f\u6392\u5217":65,"\u534e\u6da6\u4e07\u5bb6":36,"\u5355\u4f4d\u662fmb":47,"\u5355\u5143\u6d4b\u8bd5\u4f1a\u5f15\u7528site":27,"\u5355\u5143\u6d4b\u8bd5checkgrad_ep":46,"\u5355\u53cc\u5c42\u5e8f\u5217\u7684\u53e5\u5b50\u662f\u4e00\u6837\u7684":36,"\u5355\u53cc\u5c42rnn":37,"\u5355\u53d8\u91cf\u7684\u7ebf\u6027\u56de\u5f52":28,"\u5355\u5c42":38,"\u5355\u5c42\u4e0d\u7b49\u957frnn":36,"\u5355\u5c42\u548c\u53cc\u5c42\u5e8f\u5217\u7684\u4f7f\u7528\u548c\u793a\u4f8b2\u4e2d\u7684\u793a\u4f8b\u7c7b\u4f3c":36,"\u5355\u5c42\u5e8f\u5217":35,"\u5355\u5c42\u5e8f\u5217\u7684\u6bcf\u4e2a\u5143\u7d20":35,"\u5355\u5c42\u5e8f\u5217\u7b2ci\u4e2a\u5143\u7d20":35,"\u5355\u5c42\u6216\u53cc\u5c42":35,"\u5355\u5c42\u65f6\u95f4\u5e8f\u5217":36,"\u5355\u5c42rnn":[36,38],"\u5355\u5c42rnn\u548c\u53cc\u5c42rnn\u7684\u7f51\u7edc\u914d\u7f6e":36,"\u5355\u673acpu\u8bad\u7ec3":27,"\u5355\u673agpu\u8bad\u7ec3":27,"\u5355\u6b65\u51fd\u6570":39,"\u5355\u6b65\u51fd\u6570\u548c\u8f93\u51fa\u51fd\u6570\u5728":39,"\u5355\u6b65\u51fd\u6570\u548c\u8f93\u51fa\u51fd\u6570\u90fd\u975e\u5e38\u7b80\u5355":39,"\u5355\u6b65\u51fd\u6570\u7684\u5b9e\u73b0\u5982\u4e0b\u6240\u793a":39,"\u5355\u8fdb\u5355\u51fa":38,"\u5360\u4f4d\u7b26":56,"\u536b\u751f":36,"\u5373":[27,28,42,52,60,64],"\u5373\u4e00\u4e2a\u5c06\u5355\u8bcd\u5b57\u7b26\u4e32\u6620\u5c04\u5230\u5355\u8bcdid\u7684\u5b57\u5178":3,"\u5373\u4e0a\u8ff0\u4ee3\u7801\u4e2d\u7684\u7b2c19\u884c":36,"\u5373\u4e0d\u8981\u5c06\u6bcf\u4e00\u4e2a\u6837\u672c\u90fd\u653e\u5165train":3,"\u5373\u4e0d\u9700\u8981\u4f7f\u7528memori":36,"\u5373\u4e3a\u4e00\u4e2a\u65f6\u95f4\u6b65":36,"\u5373\u4e3a\u5355\u5c42rnn\u5e8f\u5217\u7684\u4f7f\u7528\u4ee3\u7801":36,"\u5373\u4e3a\u65f6\u95f4\u5e8f\u5217\u7684\u8f93\u5165":36,"\u5373\u4e3a\u8fd9\u4e2a\u53cc\u5c42rnn\u7684\u7f51\u7edc\u7ed3\u6784":36,"\u5373\u4e3a\u8fd9\u4e2a\u6570\u636e\u6587\u4ef6\u7684\u540d\u5b57":3,"\u5373\u4e8c\u7ef4\u6570\u7ec4":36,"\u5373\u4f7f\u95f4\u9694\u5f88\u5c0f":47,"\u5373\u4f7fprocess\u51fd\u6570\u91cc\u9762\u53ea\u6709\u4e00\u4e2ayield":3,"\u5373\u4fbf\u8bbe\u7f6e":27,"\u5373\u521d\u59cb\u72b6\u6001\u4e3a0":38,"\u5373\u5305\u542b\u65f6\u95f4\u6b65\u4fe1\u606f":3,"\u5373\u5355\u65f6\u95f4\u6b65\u6267\u884c\u7684\u51fd\u6570":39,"\u5373\u53cc\u5411lstm\u548c\u4e09\u5c42\u5806\u53e0lstm":64,"\u5373\u53cc\u5c42\u65f6\u95f4\u5e8f\u5217":36,"\u5373\u53cc\u5c42rnn\u7684\u6bcf\u4e2a\u72b6\u6001":38,"\u5373\u53ef":28,"\u5373\u53ef\u4ee5\u6781\u5927\u7684\u52a0\u901f\u6570\u636e\u8f7d\u5165\u6d41\u7a0b":27,"\u5373\u5728\u53cc\u5c42\u5e8f\u5217\u7684\u539f\u59cb\u6570\u636e\u4e2d":36,"\u5373\u5728\u7f51\u7edc\u914d\u7f6e\u4e2d":27,"\u5373\u5927\u90e8\u5206\u503c\u4e3a0":[3,33],"\u5373\u5bf9\u7b2c\u4e09\u6b65\u8fdb\u884c\u66ff\u6362":60,"\u5373\u5c06\u4e00\u6bb5\u82f1\u6587\u6587\u672c\u6570\u636e":3,"\u5373\u5c06\u4e00\u6bb5\u8bdd\u8fdb\u884c\u5206\u7c7b":36,"\u5373\u5f53\u524d\u65f6\u95f4\u6b65\u4e0b\u7684\u795e\u7ecf\u7f51\u7edc\u4f9d\u8d56\u524d\u4e00\u4e2a\u65f6\u95f4\u6b65\u795e\u7ecf\u7f51\u7edc\u4e2d\u67d0\u4e00\u4e2a\u795e\u7ecf\u5143\u8f93\u51fa":36,"\u5373\u6211\u4eec\u7684\u8bad\u7ec3\u76ee\u6807":28,"\u5373\u628a\u5355\u5c42rnn\u751f\u6210\u540e\u7684subseq\u7ed9\u62fc\u63a5\u6210\u4e00\u4e2a\u65b0\u7684\u53cc\u5c42seq":38,"\u5373\u6574\u4e2a\u53cc\u5c42group\u662f\u5c06\u524d\u4e00\u4e2a\u5b50\u53e5\u7684\u6700\u540e\u4e00\u4e2a\u5411\u91cf":36,"\u5373\u6574\u4e2a\u8f93\u5165\u5e8f\u5217":35,"\u5373\u6574\u6570\u6570\u7ec4":36,"\u5373\u65f6\u95f4\u9012\u5f52\u795e\u7ecf\u7f51\u7edc":36,"\u5373\u662f\u8de8\u8d8a\u65f6\u95f4\u6b65\u7684\u7f51\u7edc\u8fde\u63a5":36,"\u5373\u6b63\u9762\u548c\u8d1f\u9762":64,"\u5373\u6b63\u9762\u8bc4\u4ef7\u6807\u7b7e\u548c\u8d1f\u9762\u8bc4\u4ef7\u6807\u7b7e":64,"\u5373\u7279\u5f81\u7684\u6570\u7ec4":36,"\u5373\u7f51\u5361\u540d":52,"\u5373\u82e5\u5e72\u6570\u636e\u6587\u4ef6\u8def\u5f84\u7684\u67d0\u4e00\u4e2a":3,"\u5373\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u51fa\u73b0nan\u6216\u8005inf":27,"\u5373\u8bbe\u7f6e":27,"\u5373\u8fd9\u4e2a\u52a8\u6001\u5e93\u662f\u4e0d\u4f9d\u8d56\u4e8e\u5176\u4ed6\u4efb\u4f55\u6587\u4ef6\u7684":25,"\u5373define_py_data_sources2\u5e94\u6539\u4e3a":27,"\u5373input":38,"\u5373rnn\u4e4b\u95f4\u6709\u4e00\u6b21\u5d4c\u5957\u5173\u7cfb":36,"\u5377\u79ef\u5c42":57,"\u5377\u79ef\u5c42\u6743\u91cd":58,"\u5377\u79ef\u795e\u7ecf\u7f51\u7edc\u53ef\u4ee5\u8fa8\u8bc6\u56fe\u7247\u4e2d\u7684\u4e3b\u4f53":57,"\u5377\u79ef\u795e\u7ecf\u7f51\u7edc\u5728\u56fe\u7247\u5206\u7c7b\u4e0a\u6709\u7740\u60ca\u4eba\u7684\u6027\u80fd":57,"\u5377\u79ef\u795e\u7ecf\u7f51\u7edc\u662f\u4e00\u79cd\u4f7f\u7528\u5377\u79ef\u5c42\u7684\u524d\u5411\u795e\u7ecf\u7f51\u7edc":57,"\u5377\u79ef\u795e\u7ecf\u7f51\u7edc\u80fd\u591f\u5f88\u597d\u7684\u8868\u793a\u8fd9\u4e24\u7c7b\u4fe1\u606f":57,"\u5377\u79ef\u7f51\u7edc\u662f\u4e00\u79cd\u7279\u6b8a\u7684\u4ece\u8bcd\u5411\u91cf\u8868\u793a\u5230\u53e5\u5b50\u8868\u793a\u7684\u65b9\u6cd5":60,"\u5378\u8f7dpaddlepaddle\u5305":27,"\u538b\u7f29\u6210\u4e00\u4e2a\u5411\u91cf":36,"\u539f\u56e0\u5728\u4e8e\u6ca1\u6709\u628a\u673a\u5668\u4e0acuda\u76f8\u5173\u7684\u9a71\u52a8\u548c\u5e93\u6620\u5c04\u5230\u5bb9\u5668\u5185\u90e8":27,"\u539f\u56e0\u662f\u672a\u8bbe\u7f6ecuda\u8fd0\u884c\u65f6\u73af\u5883\u53d8\u91cf":32,"\u53bb\u8fc7":36,"\u53c2\u6570":[3,7,8,9,10,11,12,15,16,17,18,19,20,22,25,41,46,52,56,58,64],"\u53c2\u6570\u5171\u4eab\u7684\u914d\u7f6e\u793a\u4f8b\u4e3a":27,"\u53c2\u6570\u521d\u59cb\u5316\u8def\u5f84":63,"\u53c2\u6570\u5373\u53ef":64,"\u53c2\u6570\u540d":58,"\u53c2\u6570\u6570\u91cf":60,"\u53c2\u6570\u670d\u52a1\u5668":46,"\u53c2\u6570\u670d\u52a1\u5668\u7684\u53c2\u6570\u5206\u5757\u5927\u5c0f":47,"\u53c2\u6570\u670d\u52a1\u5668\u7684\u76d1\u542c\u7aef\u53e3":47,"\u53c2\u6570\u670d\u52a1\u5668\u7684\u7f51\u7edc\u8bbe\u5907\u540d\u79f0":47,"\u53c2\u6570\u670d\u52a1\u5668\u7684ip\u5730\u5740":47,"\u53c2\u6570\u670d\u52a1\u5668\u7a00\u758f\u66f4\u65b0\u7684\u53c2\u6570\u5206\u5757\u5927\u5c0f":47,"\u53c2\u6570\u6765\u63a7\u5236\u7f13\u5b58\u65b9\u6cd5":27,"\u53c2\u6570\u6982\u8ff0":48,"\u53c2\u6570\u7684\u89e3\u6790":52,"\u53c2\u6570\u7ef4\u5ea6":56,"\u53c2\u6570\u884c":56,"\u53c2\u6570\u8bbe\u7f6e\u4e86\u5916\u5c42":36,"\u53c2\u6570\u9700\u8981\u5b9e\u73b0":39,"\u53c2\u7167\u4e0a\u8ff0\u6b65\u9aa4\u66f4\u65b0":40,"\u53c2\u8003":50,"\u53c2\u8003\u5f3a\u8c03\u90e8\u5206":44,"\u53c2\u8003\u6587\u732e":65,"\u53c2\u8003\u65f6\u95f4\u5e8f\u5217":36,"\u53c2\u8003\u955c\u50cf\u7684":52,"\u53c8":36,"\u53c8\u662f\u4e00\u4e2a\u5355\u5c42\u7684\u5e8f\u5217":35,"\u53c8\u8981\u4fdd\u8bc1\u6570\u636e\u662f\u968f\u673a\u7684":27,"\u53ca":41,"\u53cc\u5411\u95e8\u63a7\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u7684\u9690\u85cf\u72b6\u6001":39,"\u53cc\u5c42":38,"\u53cc\u5c42\u4e0d\u7b49\u957frnn":36,"\u53cc\u5c42\u5e8f\u5217":35,"\u53cc\u5c42\u5e8f\u5217\u6216\u5355\u5c42\u5e8f\u5217":35,"\u53cc\u5c42\u5e8f\u5217\u6570\u636e\u4e00\u5171\u67094\u4e2a\u6837\u672c":36,"\u53cc\u5c42\u5e8f\u5217\u662f\u4e00\u4e2a\u5d4c\u5957\u7684\u5e8f\u5217":35,"\u53cc\u5c42\u5e8f\u5217\u662fpaddlepaddle\u652f\u6301\u7684\u4e00\u79cd\u975e\u5e38\u7075\u6d3b\u7684\u6570\u636e\u7ec4\u7ec7\u65b9\u5f0f":38,"\u53cc\u5c42\u5e8f\u5217\u6bcf\u4e2asubseq\u4e2d\u6bcf\u4e2a\u5143\u7d20":35,"\u53cc\u5c42\u5e8f\u5217\u7ecf\u8fc7\u8fd0\u7b97\u53d8\u6210\u4e00\u4e2a0\u5c42\u5e8f\u5217":35,"\u53cc\u5c42\u6216\u8005\u5355\u5c42":35,"\u53cc\u5c42\u65f6\u95f4\u5e8f\u5217\u7684dataprovider\u7684\u4ee3\u7801":36,"\u53cc\u5c42rnn":38,"\u53cc\u5c42rnn\u6570\u636e\u968f\u610f\u52a0\u4e86\u4e00\u4e9b\u9694\u65ad":36,"\u53cc\u5c42rnn\u987e\u540d\u601d\u4e49":36,"\u53cc\u8fdb\u5355\u51fa":38,"\u53cc\u8fdb\u53cc\u51fa":38,"\u53cd\u4e4b\u5219":63,"\u53cd\u5411\u4f20\u64ad":41,"\u53cd\u5411\u4f20\u64ad\u6839\u636e\u8f93\u51fa\u7684\u68af\u5ea6":41,"\u53d1\u5e03":30,"\u53d1\u6563\u5230\u4e86\u4e00\u4e2a\u6570\u503c\u7279\u522b\u5927\u7684\u5730\u65b9":27,"\u53d1\u884c\u548c\u7ef4\u62a4":40,"\u53d1\u9001\u53c2\u6570\u7684\u7aef\u53e3\u53f7":47,"\u53d6\u51b3\u4e8e\u662f\u5426\u5bfb\u627e\u5230cuda\u5de5\u5177\u94fe":29,"\u53d6\u51b3\u4e8e\u662f\u5426\u5bfb\u627e\u5230gtest":29,"\u53d6\u51b3\u4e8e\u662f\u5426\u5bfb\u627e\u5230swig":29,"\u53d8\u6362\u77e9\u9635":41,"\u53d8\u91cf\u6765\u8bbe\u7f6e\u5185\u5b58\u4e2d\u6682\u5b58\u7684\u6570\u636e\u6761":3,"\u53e3\u5934":36,"\u53e3\u7edf\u8ba1\u5b66\u4fe1\u606f\u7684\u7528\u6237\u624d\u88ab\u5305\u542b\u5728\u6570\u636e\u96c6\u4e2d":61,"\u53e5\u5b50":64,"\u53e5\u5b50\u4e2d\u7684\u7ec4\u5757\u5c06\u4f1a\u626e\u6f14\u67d0\u4e9b\u8bed\u4e49\u89d2\u8272":63,"\u53e5\u5b50\u8868\u793a\u7684\u8ba1\u7b97\u66f4\u65b0\u4e3a\u4e24\u6b65":60,"\u53e6\u4e00\u4e2a\u4f8b\u5b50\u662f\u901a\u8fc7\u5206\u6790\u6bcf\u65e5twitter\u535a\u5ba2\u7684\u6587\u672c\u5185\u5bb9\u6765\u9884\u6d4b\u80a1\u7968\u53d8\u52a8":64,"\u53e6\u4e00\u4e2a\u597d\u5904\u662f\u6211\u4eec\u53ef\u4ee5\u628apaddlepaddle\u5bb9\u5668\u8fd0\u884c\u5728\u8fdc\u7a0b\u670d\u52a1\u5668\u4e0a":30,"\u53e6\u4e00\u4e2a\u662f\u5185\u5b58\u64cd\u4f5c\u91cf":44,"\u53e6\u4e00\u4e2a\u662f\u521b\u5efadockerfile\u5e76\u8fd0\u884cdock":30,"\u53e6\u4e00\u4e2a\u662f\u6bcf\u6761\u5e8f\u5217":27,"\u53e6\u4e00\u4e2a\u7ec8\u7aef\u8fd0\u884cpython":30,"\u53e6\u4e00\u65b9\u9762":64,"\u53e6\u4e00\u79cd\u65b9\u5f0f\u662f\u5c06\u7f51\u7edc\u5c42\u5212\u5206\u5230\u4e0d\u540c\u7684gpu\u4e0a\u53bb\u8ba1\u7b97":49,"\u53e6\u5916":36,"\u53e6\u5916\u4e24\u4e2a\u5206\u522b\u662f\u6ed1\u52a8\u5747\u503c\u548c\u65b9\u5dee":58,"\u53ea\u4f5c\u4e3aread":38,"\u53ea\u4fdd\u5b58\u6700\u540e\u4e00\u8f6e\u7684\u53c2\u6570":47,"\u53ea\u5141\u8bb8\u6574\u6570\u7684\u661f\u7ea7":61,"\u53ea\u5728\u7b2c\u4e00\u6b21cmake\u7684\u65f6\u5019\u6709\u6548":29,"\u53ea\u622a\u53d6\u4e2d\u5fc3\u65b9\u5f62\u7684\u56fe\u50cf\u533a\u57df":58,"\u53ea\u662f\u53cc\u5c42\u5e8f\u5217\u5c06\u5176\u53c8\u505a\u4e86\u5b50\u5e8f\u5217\u5212\u5206":36,"\u53ea\u662f\u5c06\u53e5\u5b50\u7528\u8fde\u7eed\u5411\u91cf\u8868\u793a\u66ff\u6362\u4e3a\u7528\u7a00\u758f\u5411\u91cf\u8868\u793a":60,"\u53ea\u662f\u8bf4\u660e\u6570\u636e\u7684\u987a\u5e8f\u662f\u91cd\u8981\u7684":3,"\u53ea\u662f\u8bf7\u4e0d\u8981\u5fd8\u8bb0\u63d0\u524d\u5728\u7269\u7406\u673a\u4e0a\u5b89\u88c5gpu\u6700\u65b0\u9a71\u52a8":30,"\u53ea\u6709":36,"\u53ea\u67092\u4e2a\u914d\u7f6e\u4e0d\u4e00\u6837":56,"\u53ea\u6709\u542b\u6709\u4eba":61,"\u53ea\u6709\u5f53\u8bbe\u7f6e\u4e86spars":47,"\u53ea\u7528\u4e8e\u5728\u5e8f\u5217\u751f\u6210\u4efb\u52a1\u4e2d\u6307\u5b9a\u8f93\u5165\u6570\u636e":38,"\u53ea\u80fd\u6d4b\u8bd5\u5355\u4e2a\u6a21\u578b":49,"\u53ea\u80fd\u8c03\u7528paddle\u7684\u52a8\u6001\u5e93":25,"\u53ea\u8981\u4e00\u7cfb\u5217\u7279\u5f81\u6570\u636e\u4e2d\u7684":36,"\u53ea\u8981\u51fa\u73b0\u6d6e\u70b9\u6570\u5f02\u5e38":27,"\u53ea\u8981\u5728docker\u91cc\u542f\u52a8paddlepaddle\u7684\u65f6\u5019\u7ed9\u5b83\u4e00\u4e2a\u540d\u5b57":30,"\u53ea\u8bfbmemory\u8f93\u5165":38,"\u53ea\u9488\u5bf9\u5185\u5b58":27,"\u53ea\u9700\u4e2d\u65ad":45,"\u53ea\u9700\u4f7f\u7528":45,"\u53ea\u9700\u5220\u9664\u6700\u540e\u4e00\u884c\u4e2d\u7684\u6ce8\u91ca\u5e76\u628a":64,"\u53ea\u9700\u5728linux\u4e0b\u8fd0\u884c\u5982\u4e0b\u547d\u4ee4":65,"\u53ea\u9700\u7528\u4f60\u5b9a\u4e49\u7684\u76ee\u5f55\u4fee\u6539":45,"\u53ea\u9700\u77e5\u9053\u8fd9\u662f\u4e00\u4e2a\u6807\u8bb0\u5c5e\u6027\u7684\u65b9\u6cd5\u5c31\u53ef\u4ee5\u4e86":3,"\u53ea\u9700\u8981":39,"\u53ea\u9700\u8981\u4e00\u884c\u4ee3\u7801\u5c31\u53ef\u4ee5\u8c03\u7528\u8fd9\u4e2apydataprovider2":3,"\u53ea\u9700\u8981\u5728\u51fd\u6570\u4e2d\u8c03\u7528\u591a\u6b21yield\u5373\u53ef":3,"\u53ea\u9700\u8981\u7b80\u5355\u5730\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4":65,"\u53ea\u9700\u8981\u7b80\u5355\u7684\u8fd0\u884c\u4e0b\u9762\u7684\u547d\u4ee4\u5373\u53ef":62,"\u53ea\u9700\u8981\u8fd0\u884c":62,"\u53ef\u4ee5":[36,40,45],"\u53ef\u4ee5\u4ee5\u540e\u53f0\u8fdb\u7a0b\u65b9\u5f0f\u8fd0\u884c\u5bb9\u5668":30,"\u53ef\u4ee5\u4f20\u5165\u4e00\u4e2a\u51fd\u6570":3,"\u53ef\u4ee5\u4f30\u8ba1\u51fa\u5982\u679c\u6a21\u578b\u91c7\u7528\u4e0d\u53d8\u7684\u8f93\u51fa\u6700\u5c0f\u7684cost0\u662f\u591a\u5c11":27,"\u53ef\u4ee5\u4f7f\u7528":27,"\u53ef\u4ee5\u4f7f\u7528\u547d\u4ee4":32,"\u53ef\u4ee5\u4f7f\u7528\u5982\u4e0b\u4ee3\u7801":27,"\u53ef\u4ee5\u4f7f\u7528\u8be5\u53c2\u6570":47,"\u53ef\u4ee5\u4f7f\u7528kubernetes\u7684\u547d\u4ee4\u884c\u5de5\u5177\u521b\u5efajob":52,"\u53ef\u4ee5\u4f7f\u7528python\u7684":5,"\u53ef\u4ee5\u51cf\u5c11\u7f13\u5b58\u6c60\u7684\u5927\u5c0f":27,"\u53ef\u4ee5\u521b\u5efa\u4e00\u4e2a":51,"\u53ef\u4ee5\u53c2\u7167\u4e0b\u9762\u7684\u547d\u4ee4\u8fdb\u884c\u5b89\u88c5":57,"\u53ef\u4ee5\u53c2\u8003":[36,39,50,52,65],"\u53ef\u4ee5\u53c2\u8003\u4fdd\u5b58\u5728":56,"\u53ef\u4ee5\u53c2\u8003paddlepaddl":33,"\u53ef\u4ee5\u544a\u8bc9\u60a8\u67d0\u4e2a\u64cd\u4f5c\u5230\u5e95\u82b1\u4e86\u591a\u957f\u65f6\u95f4":44,"\u53ef\u4ee5\u5728":30,"\u53ef\u4ee5\u5728\u4efb\u4f55\u673a\u5668\u4e0a\u6267\u884c\u7684":25,"\u53ef\u4ee5\u5728\u5171\u4eab\u5b58\u50a8\u4e0a\u67e5\u770b\u8f93\u51fa\u7684\u65e5\u5fd7\u548c\u6a21\u578b":52,"\u53ef\u4ee5\u5728\u5f88\u5927\u7a0b\u5ea6\u4e0a\u6d88\u9664\u6b67\u4e49":63,"\u53ef\u4ee5\u5728\u7f51\u7ad9\u4e0a\u627e\u5230":63,"\u53ef\u4ee5\u5728\u8fd9\u4e2a":40,"\u53ef\u4ee5\u5728kubernetes\u4e2d\u6309\u7167":50,"\u53ef\u4ee5\u5c06\u67d0\u4e00\u4e2a\u51fd\u6570\u6807\u8bb0\u6210\u4e00\u4e2apydataprovider2":3,"\u53ef\u4ee5\u5c06\u78c1\u76d8\u4e0a\u67d0\u4e2a\u76ee\u5f55\u5171\u4eab\u7ed9\u7f51\u7edc\u4e2d\u5176\u4ed6\u673a\u5668\u8bbf\u95ee":50,"\u53ef\u4ee5\u5c06memory\u7406\u89e3\u4e3a\u4e00\u4e2a\u65f6\u5ef6\u64cd\u4f5c":38,"\u53ef\u4ee5\u5e2e\u60a8\u63d0\u4f9b\u4e00\u4e9b\u5b9a\u4f4d\u6027\u80fd\u74f6\u9888\u7684\u5efa\u8bae":44,"\u53ef\u4ee5\u5feb\u901f\u8fed\u4ee3":30,"\u53ef\u4ee5\u6307\u5b9a\u54ea\u4e00\u4e2a\u8f93\u5165\u548c\u8f93\u51fa\u5e8f\u5217\u4fe1\u606f\u4e00\u81f4":36,"\u53ef\u4ee5\u6309\u5982\u4e0b\u7684\u7ed3\u6784\u6765\u51c6\u5907\u6570\u6910":64,"\u53ef\u4ee5\u662f\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":[35,38],"\u53ef\u4ee5\u662f\u4e00\u4e2a\u975e\u5e8f\u5217":38,"\u53ef\u4ee5\u662f\u4ee5\u4e0b\u51e0\u79cd":41,"\u53ef\u4ee5\u663e\u793a\u5730\u6307\u5b9a\u4e00\u4e2alayer\u7684\u8f93\u51fa\u7528\u4e8e\u521d\u59cb\u5316memori":38,"\u53ef\u4ee5\u6709\u4ee5\u4e0b\u4e24\u79cd":38,"\u53ef\u4ee5\u6709\u6548\u51cf\u5c0f\u7f51\u7edc\u7684\u963b\u585e":47,"\u53ef\u4ee5\u67e5\u770b":52,"\u53ef\u4ee5\u67e5\u770b\u6b64pod\u8fd0\u884c\u7684\u5bbf\u4e3b\u673a":51,"\u53ef\u4ee5\u6d4b\u8bd5\u591a\u4e2a\u6a21\u578b":49,"\u53ef\u4ee5\u7528\u4e8e\u4ece\u5b98\u65b9\u7f51\u7ad9\u4e0a\u4e0b\u8f7dcifar":57,"\u53ef\u4ee5\u7528\u4e8e\u5c0f\u91cf\u6570\u636e\u7684\u9a8c\u8bc1":50,"\u53ef\u4ee5\u7528\u4e8e\u63a5\u6536\u548cpydataprovider2\u4e00\u6837\u7684\u8f93\u5165\u6570\u636e\u5e76\u8f6c\u6362\u6210\u9884\u6d4b\u63a5\u53e3\u6240\u9700\u7684\u6570\u636e\u7c7b\u578b":5,"\u53ef\u4ee5\u7528\u5982\u4e0b\u547d\u4ee4":40,"\u53ef\u4ee5\u7528\u6765\u8ba1\u7b97cpu\u51fd\u6570\u6216cuda\u5185\u6838\u7684\u65f6\u95f4\u6d88\u8017":44,"\u53ef\u4ee5\u770b\u4f5c\u662f\u4e00\u4e2a\u975e\u5e8f\u5217\u8f93\u5165":35,"\u53ef\u4ee5\u7cbe\u786e\u8bf4\u660e\u4e00\u4e2a\u957f\u8017\u65f6\u64cd\u4f5c\u7684\u5177\u4f53\u539f\u56e0":44,"\u53ef\u4ee5\u7f16\u5199":30,"\u53ef\u4ee5\u8003\u8651\u4f7f\u7528\u4e00\u4e9b\u4f18\u5316\u7b97\u6cd5":27,"\u53ef\u4ee5\u8bbe\u7f6e":57,"\u53ef\u4ee5\u8f7b\u677e\u5730\u5b8c\u6210\u795e\u7ecf\u7f51\u7edc\u914d\u7f6e":33,"\u53ef\u4ee5\u8fd0\u884c\u4e0b\u9762\u7684\u547d\u4ee4\u6765\u751f\u6210":62,"\u53ef\u4ee5\u8fd0\u884c\u811a\u672ctrain":57,"\u53ef\u4ee5\u9009\u62e9\u662f\u5426\u4f7f\u7528\u53c2\u6570":49,"\u53ef\u4ee5\u901a\u8fc7":50,"\u53ef\u4ee5\u901a\u8fc7\u4fee\u6539\u8fd9\u4e24\u4e2a\u51fd\u6570\u6765\u5b9e\u73b0\u590d\u6742\u7684\u7f51\u7edc\u914d\u7f6e":39,"\u53ef\u4ee5\u901a\u8fc7\u8c03\u7528":5,"\u53ef\u4ee5\u901a\u8fc7show_parameter_stats_period\u8bbe\u7f6e\u6253\u5370\u53c2\u6570\u4fe1\u606f\u7b49":60,"\u53ef\u7528\u4e8e\u5728\u7f51\u7edc\u914d\u7f6e\u4e2d\u89e3\u6790\u8fd9\u4e9b\u53c2\u6570":49,"\u53ef\u7528\u5728\u6d4b\u8bd5\u6216\u8bad\u7ec3\u65f6\u6307\u5b9a\u521d\u59cb\u5316\u6a21\u578b":60,"\u53ef\u80fd\u4f1a\u5bfc\u81f4\u51fa\u9519":52,"\u53ef\u80fd\u7684\u4ee3\u7801\u4e3a":27,"\u53ef\u80fd\u7684\u539f\u56e0\u662f":27,"\u53ef\u80fd\u7684\u60c5\u51b5\u4e0b":44,"\u53ef\u9009":[3,41],"\u53f3\u8fb9\u662f":58,"\u5403":36,"\u5403\u996d":36,"\u5404\u65b9\u9762":36,"\u5404\u9879\u53c2\u6570\u7684\u8be6\u7ec6\u8bf4\u660e\u53ef\u4ee5\u5728\u547d\u4ee4\u884c\u53c2\u6570\u76f8\u5173\u6587\u6863\u4e2d\u627e\u5230":57,"\u5408":36,"\u5408\u5e76":65,"\u5408\u5e76\u6bcf\u4e2a":65,"\u5408\u7406":36,"\u540c\u65f6":[27,44],"\u540c\u65f6\u4e5f\u4f1a\u8bfb\u53d6\u76f8\u5173\u8def\u5f84\u53d8\u91cf\u6765\u8fdb\u884c\u641c\u7d22":29,"\u540c\u65f6\u4e5f\u53ef\u4ee5\u52a0\u901f\u5f00\u59cb\u8bad\u7ec3\u524d\u6570\u636e\u8f7d\u5165\u7684\u8fc7\u7a0b":27,"\u540c\u65f6\u4e5f\u53ef\u4ee5\u901a\u8fc7":40,"\u540c\u65f6\u4e5f\u80fd\u591f\u5f15\u5165\u66f4\u52a0\u590d\u6742\u7684\u8bb0\u5fc6\u673a\u5236":38,"\u540c\u65f6\u4f1a\u8ba1\u7b97\u5206\u7c7b\u51c6\u786e\u7387":60,"\u540c\u65f6\u4f60\u53ef\u4ee5\u4f7f\u7528":58,"\u540c\u65f6\u4f7f\u7528\u4e86l2\u6b63\u5219":60,"\u540c\u65f6\u5176\u5185\u90e8\u5b9e\u73b0\u53ef\u4ee5\u907f\u514d\u7eafcpu\u7248\u672cpaddlepaddle\u5728\u6267\u884c\u672c\u8bed\u53e5\u65f6\u53d1\u751f\u5d29\u6e83":44,"\u540c\u65f6\u53ef\u4ee5\u4f7f\u7528\u6237\u53ea\u5173\u6ce8\u5982\u4f55\u4ece\u6587\u4ef6\u4e2d\u8bfb\u53d6\u6bcf\u4e00\u6761\u6570\u636e":3,"\u540c\u65f6\u5728\u5185\u5b58\u91cc\u76f4\u63a5\u968f\u5373\u9009\u53d6\u6570\u636e\u6765\u505ashuffl":27,"\u540c\u65f6\u5c06\u53c2\u6570\u521d\u59cb\u5316\u4e3a":27,"\u540c\u65f6\u6211\u4eec\u5e0c\u671b\u5e7f\u5927\u5f00\u53d1\u8005\u79ef\u6781\u63d0\u4f9b\u53cd\u9988\u548c\u8d21\u732e\u6e90\u4ee3\u7801":0,"\u540c\u65f6\u6b22\u8fce\u8d21\u732e\u66f4\u591a\u7684\u5b89\u88c5\u5305":31,"\u540c\u65f6\u7528\u6237\u9700\u8981\u5728\u7f51\u7edc\u914d\u7f6e\u4e2d\u6307\u5b9a":49,"\u540c\u65f6\u8bbe\u7f6e\u5185\u5b58\u7f13\u5b58\u529f\u80fd":27,"\u540c\u65f6\u8bbe\u7f6e\u5b83\u7684input_types\u5c5e\u6027":3,"\u540c\u65f6\u9884\u6d4b\u7f51\u7edc\u901a\u5e38\u76f4\u63a5\u8f93\u51fa\u6700\u540e\u4e00\u5c42\u7684\u7ed3\u679c\u800c\u4e0d\u662f\u50cf\u8bad\u7ec3\u7f51\u7edc\u4e00\u6837\u518d\u63a5\u4e00\u5c42cost":5,"\u540c\u6837":33,"\u540c\u6837\u4e5f\u53ef\u4ee5\u5728\u6d4b\u8bd5\u6a21\u5f0f\u4e2d\u6307\u5b9a\u6a21\u578b\u8def\u5f84":47,"\u540c\u6837\u53ef\u4ee5\u6269\u5c55\u5230\u53cc\u5c42\u5e8f\u5217\u7684\u5904\u7406\u4e0a":38,"\u540c\u6b65\u6267\u884c\u64cd\u4f5c\u7684\u7ebf\u7a0b\u6570":47,"\u540d\u5b57\u4fee\u9970":25,"\u540d\u79f0":60,"\u540e":[27,29,40,52,64],"\u540e\u5411\u4f20\u64ad":41,"\u540e\u5411\u4f20\u64ad\u7ed9\u5b9a\u8f93\u51fa\u7684\u68af\u5ea6":41,"\u540e\u9762\u8fde\u5168\u8fde\u63a5\u5c42\u548csoftmax\u5c42":64,"\u5411\u91cfenable_parallel_vector":46,"\u5426":29,"\u5426\u5219":[2,45,62],"\u5426\u5219\u4f1a\u628a":40,"\u5426\u5219\u4f60\u9700\u8981\u81ea\u5df1\u4e0b\u8f7d":65,"\u5426\u5219\u4f7f\u7528\u591a\u673a\u8bad\u7ec3":47,"\u5426\u5219\u4f7f\u7528cpu\u6a21\u5f0f":47,"\u5426\u5219\u4f7f\u7528gpu":49,"\u5426\u5219\u5b83\u4ee5\u4e00\u4e2a\u5e8f\u5217\u8f93\u5165":39,"\u5426\u5219\u5f97\u628apaddle\u9759\u6001\u5e93\u94fe\u63a5\u5230\u89e3\u91ca\u5668\u91cc":25,"\u5426\u5219\u9891\u7e41\u7684\u591a\u8282\u70b9\u5de5\u4f5c\u7a7a\u95f4\u90e8\u7f72\u53ef\u80fd\u4f1a\u5f88\u9ebb\u70e6":45,"\u5426\u5b9a":63,"\u542b\u4e49":[58,64],"\u542b\u6709":61,"\u542b\u6709\u5e8f\u5217\u4fe1\u606f\u548c\u5b50\u5e8f\u5217\u4fe1\u606f\u7684\u7a20\u5bc6\u5411\u91cf":41,"\u542b\u6709\u5e8f\u5217\u4fe1\u606f\u7684\u6574\u6570":41,"\u542b\u6709\u5e8f\u5217\u4fe1\u606f\u7684\u7a20\u5bc6\u5411\u91cf":41,"\u542f\u52a8\u5bb9\u5668\u5f00\u59cb\u8bad\u7ec3":52,"\u542f\u52a8\u5e76\u884c\u5411\u91cf\u7684\u9608\u503c":47,"\u542f\u52a8\u5feb\u901f\u5e94\u7b54":47,"\u542f\u7528\u68af\u5ea6\u53c2\u6570\u7684\u9608\u503c":47,"\u5440":36,"\u544a\u8bc9paddle\u54ea\u4e2a\u6587\u4ef6\u662f\u795e\u7ecf\u7f51\u7edc\u7684\u914d\u7f6e\u6587\u4ef6":62,"\u544a\u8bc9paddle\u5c06\u6a21\u578b\u4fdd\u5b58\u5728":62,"\u5468\u56f4":36,"\u547d\u4ee4":45,"\u547d\u4ee4\u4e3a":51,"\u547d\u4ee4\u521b\u5efa\u65b0\u955c\u50cf":51,"\u547d\u4ee4\u53ef\u4ee5\u8bbe\u7f6e":29,"\u547d\u4ee4\u6307\u5b9a\u7684\u53c2\u6570\u4f1a\u4f20\u5165\u7f51\u7edc\u914d\u7f6e\u4e2d":60,"\u547d\u4ee4\u884c\u53c2\u6570\u6587\u6863":60,"\u547d\u4ee4\u8bbe\u7f6e\u8be5\u7c7b\u7f16\u8bd1\u9009\u9879":29,"\u547d\u4ee4\u9009\u9879\u5e76\u4e14":45,"\u547d\u540d\u4e3a":40,"\u547d\u540d\u7a7a\u95f4":50,"\u547d\u540d\u7a7a\u95f4\u4e3b\u8981\u4e3a\u4e86\u5bf9\u8c61\u8fdb\u884c\u903b\u8f91\u4e0a\u7684\u5206\u7ec4\u4fbf\u4e8e\u7ba1\u7406":50,"\u548c":[25,27,28,29,36,39,40,41,42,44,45,49,50,56,57,60,62,65],"\u548c\u4e00\u4e2a\u5df2\u7ecf\u5206\u8bcd\u540e\u7684\u53e5\u5b50":36,"\u548c\u4e09\u79cd\u5e8f\u5217\u6a21\u5f0f":[3,33],"\u548c\u4e2d\u6587\u6587\u6863":42,"\u548c\u4e4b\u524d\u51cf\u5c0f\u901a\u8fc7\u51cf\u5c0f\u7f13\u5b58\u6c60\u6765\u51cf\u5c0f\u5185\u5b58\u5360\u7528\u7684\u539f\u7406\u4e00\u81f4":27,"\u548c\u504f\u7f6e\u5411\u91cf":41,"\u548c\u533a\u57df\u6807\u8bb0":63,"\u548c\u53cc\u5c42\u5e8f\u5217\u542b\u6709subseq":35,"\u548c\u5728":3,"\u548c\u5bf9\u8c61\u5b58\u50a8api":50,"\u548c\u5dee\u8bc4":60,"\u548c\u5e8f\u5217\u4e2d\u542b\u6709\u5143\u7d20\u7684\u6570\u76ee\u540c":35,"\u548c\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u7684\u8f93\u5165":39,"\u548c\u68af\u5ea6\u622a\u65ad":60,"\u548c\u6a21\u578b\u8def\u5f84":64,"\u548c\u771f\u5b9e":28,"\u548c\u793a\u4f8b2\u4e2d\u7684\u914d\u7f6e\u7c7b\u4f3c":36,"\u548c\u7b2c6\u884c\u7684":65,"\u548c\u90e8\u5206layer":38,"\u548cadam\u5b66\u4e60\u65b9\u6cd5":65,"\u548cargument":63,"\u548ccudnn":32,"\u548cpool":35,"\u548cpython\u63a5\u53e3\u6765\u63d0\u53d6\u7279\u5f81":58,"\u54c1\u8d28":36,"\u54ea\u4e9b\u4e0d\u662f":36,"\u552f\u4e00\u9700\u8981\u505a\u7684\u662f\u5c06\u76f8\u5e94\u7c7b\u578b\u8bbe\u7f6e\u4e3a\u8f93\u5165":39,"\u5546\u52a1":36,"\u554a":36,"\u559c\u5267\u7247":61,"\u5668":60,"\u56db\u79cd\u6570\u636e\u7c7b\u578b":[3,33],"\u56de\u5f52\u8bef\u5dee\u4ee3\u4ef7\u5c42":28,"\u56e0\u4e3a\u5168\u8fde\u63a5\u5c42\u7684\u6fc0\u6d3b\u53ef\u4ee5\u662fsoftmax":41,"\u56e0\u4e3a\u5355\u4e2a\u8c13\u8bcd\u4e0d\u80fd\u7cbe\u786e\u5730\u63cf\u8ff0\u8c13\u8bcd\u4fe1\u606f":63,"\u56e0\u4e3a\u53c2\u6570":49,"\u56e0\u4e3a\u5b83\u4eec\u7684\u8ba1\u7b97\u6548\u7387\u6bd4":39,"\u56e0\u4e3a\u5b83\u6bd4":39,"\u56e0\u4e3a\u5b98\u65b9\u955c\u50cf":52,"\u56e0\u4e3a\u5bb9\u5668\u5185\u7684\u6587\u4ef6\u90fd\u662f\u6682\u65f6\u5b58\u5728\u7684":50,"\u56e0\u4e3a\u8be5\u6587\u4ef6\u53ef\u9002\u7528\u4e8e\u9884\u6d4b":57,"\u56e0\u4e3adocker\u80fd\u5728\u6240\u6709\u4e3b\u8981\u64cd\u4f5c\u7cfb\u7edf":30,"\u56e0\u4e3apython\u7684\u641c\u7d22\u8def\u5f84\u662f\u4f18\u5148\u5df2\u7ecf\u5b89\u88c5\u7684python\u5305":27,"\u56e0\u4e3aswig\u5728\u7b2c\u4e09\u65b9\u8bed\u8a00\u4e2d\u66b4\u9732\u7684\u51fd\u6570\u540d":25,"\u56e0\u6b64":[2,3,36,38,41],"\u56e0\u6b64\u4f7f\u7528":3,"\u56e0\u6b64\u53cc\u5c42\u5e8f\u5217\u7684\u914d\u7f6e\u4e2d":36,"\u56e0\u6b64\u53ef\u4ee5\u4f7f\u7528\u8be5\u9009\u9879":56,"\u56e0\u6b64\u53ef\u80fd\u4f1a\u6709\u4e00\u4e9b\u9519\u8bef\u548c\u4e0d\u4e00\u81f4\u53d1\u751f":61,"\u56e0\u6b64\u5982\u679c\u8fd9\u4e2a\u811a\u672c\u8fd0\u884c\u5931\u8d25":57,"\u56e0\u6b64\u5b83\u662finteger_value_sub_sequ":36,"\u56e0\u6b64\u6211\u4eec\u91c7\u7528\u8f93\u51fa\u7684\u52a0\u6743\u548c":41,"\u56e0\u6b64\u6709\u4e24\u79cd\u89e3\u51b3\u65b9\u6848":3,"\u56e0\u6b64\u7528\u6237\u5e76\u4e0d\u9700\u8981\u5173\u5fc3\u5b83\u4eec":46,"\u56e0\u6b64\u8be5\u5c42\u4e2d\u6ca1\u6709\u504f\u7f6e":58,"\u56e0\u6b64\u9519\u8bef\u7684\u4f7f\u7528\u4e8c\u8fdb\u5236\u53d1\u884c\u7248\u53ef\u80fd\u4f1a\u5bfc\u81f4\u8fd9\u79cd\u9519\u8bef":27,"\u56e0\u6b64init_hook\u5c3d\u91cf\u4f7f\u7528":3,"\u56e2\u8d2d\u7f51\u7ad9":64,"\u56fe":[58,64],"\u56fe2\u662f\u53cc\u5411lstm\u7f51\u7edc":64,"\u56fe3\u662f\u4e09\u5c42lstm\u7ed3\u6784":64,"\u56fe\u50cf\u5206\u7c7b":59,"\u56fe\u50cf\u5927\u5c0f\u4e3a3":58,"\u56fe\u50cf\u63cf\u8ff0":65,"\u56fe\u7247\u5206\u4e3a10\u7c7b":57,"\u56fe\u7684\u5e95\u90e8\u662fword":64,"\u56fe\u8868":[30,64],"\u5728":[3,32,35,36,39,40,45,58,60,61,63],"\u5728\u4e00\u4e2a\u529f\u80fd\u9f50\u5168\u7684kubernetes\u673a\u7fa4\u91cc":51,"\u5728\u4e00\u4e2a\u53c2\u6570\u7684\u68af\u5ea6\u88ab\u66f4\u65b0\u540e":41,"\u5728\u4e00\u4e2a\u5468\u671f\u5185\u6d4b\u8bd5\u6240\u6709\u6570\u636e":63,"\u5728\u4e00\u8f6e\u4e2d\u6bcfsave":47,"\u5728\u4e0a\u9762\u4ee3\u7801\u4e2d":36,"\u5728\u4e0b\u4e00\u7bc7\u4e2d":51,"\u5728\u4e0b\u9762\u4f8b\u5b50\u91cc":60,"\u5728\u4e0b\u9762\u7684\u4f8b\u5b50\u4e2d":57,"\u5728\u4e0d\u540c\u64cd\u4f5c\u7cfb\u7edf":50,"\u5728\u4e4b\u540e\u7684":27,"\u5728\u4efb\u610f\u957f\u5ea6\u8bed\u53e5\u7ffb\u8bd1\u7684\u573a\u666f\u4e0b\u90fd\u53ef\u4ee5\u89c2\u5bdf\u5230\u5176\u6548\u679c\u7684\u63d0\u5347":65,"\u5728\u4f7f\u7528\u5b83\u4e4b\u524d\u8bf7\u5b89\u88c5paddlepaddle\u7684python":64,"\u5728\u4f7f\u7528\u8be5\u6587\u6863\u4e4b\u524d":33,"\u5728\u5168\u8fde\u63a5\u5c42\u4e2d":41,"\u5728\u51c6\u5907\u53d1\u8d77":40,"\u5728\u51fd\u6570":52,"\u5728\u5206\u5e03\u5f0f\u73af\u5883\u4e2d\u6d4b\u8bd5":47,"\u5728\u5206\u5e03\u5f0f\u8bad\u7ec3\u4e2d":47,"\u5728\u5355\u5c42\u6570\u636e\u7684\u57fa\u7840\u4e0a":36,"\u5728\u53c2\u6570\u670d\u52a1\u5668\u4e0a\u52a0\u8f7d\u548c\u4fdd\u5b58\u53c2\u6570":47,"\u5728\u53c2\u6570\u670d\u52a1\u5668\u7ec8\u7aef\u6bcflog":47,"\u5728\u53cc\u5c42rnn\u4e2d\u7684\u7ecf\u5178\u60c5\u51b5\u662f\u5c06\u5185\u5c42\u7684\u6bcf\u4e00\u4e2a\u65f6\u95f4\u5e8f\u5217\u6570\u636e":36,"\u5728\u53cd\u5411\u4f20\u9012\u7684\u65f6\u5019":27,"\u5728\u53d8\u6362\u65f6\u9700\u8981\u5c06\u8f93\u5165\u5e8f\u5217\u4f20\u5165":36,"\u5728\u540c\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u4e2d":50,"\u5728\u542f\u52a8job\u4e4b\u524d":52,"\u5728\u56fd\u5185":30,"\u5728\u58f0\u660edataprovider\u7684\u65f6\u5019\u4f20\u5165dictionary\u4f5c\u4e3a\u53c2\u6570":3,"\u5728\u591acpu\u8bad\u7ec3\u65f6\u5171\u4eab\u8be5\u53c2\u6570":47,"\u5728\u5b8c\u6210\u795e\u7ecf\u7f51\u7edc\u7684\u642d\u5efa\u4e4b\u540e":33,"\u5728\u5b9a\u4e49\u8f93\u5165layer\u4e4b\u540e":33,"\u5728\u5bb9\u5668\u521b\u5efa\u540e":52,"\u5728\u5bf9\u5bb9\u5668\u7684\u63cf\u8ff0":52,"\u5728\u5c42\u4e2d\u6307\u5b9a":49,"\u5728\u5e8f\u5217\u751f\u6210\u4efb\u52a1\u4e2d":38,"\u5728\u5f00\u59cb\u8bad\u7ec3\u4e4b\u524d":57,"\u5728\u5f53\u524d\u7684\u5b9e\u73b0\u65b9\u5f0f\u4e0b":41,"\u5728\u5f97\u5230":52,"\u5728\u6211\u4eec\u7684\u4f8b\u5b50\u4e2d":39,"\u5728\u6211\u4eec\u7684\u6d4b\u8bd5\u4e2d":64,"\u5728\u63d0\u4ea4":40,"\u5728\u642d\u5efa\u795e\u7ecf\u7f51\u7edc\u7684\u8fc7\u7a0b\u4e2d":33,"\u5728\u6570\u636e\u52a0\u8f7d\u548c\u7f51\u7edc\u914d\u7f6e\u5b8c\u6210\u4e4b\u540e":60,"\u5728\u6587\u4ef6":62,"\u5728\u6709\u65b0\u7684\u5355\u8bcd\u6765\u4e34\u7684\u6bcf\u4e00\u4e2a\u65f6\u95f4\u6b65\u9aa4\u5185":64,"\u5728\u672c\u4f8b\u4e2d":[36,40,49],"\u5728\u672c\u4f8b\u4e2d\u6ca1\u6709\u4f7f\u7528":3,"\u5728\u672c\u6559\u7a0b\u4e2d":[39,57],"\u5728\u672c\u6587\u4e2d":45,"\u5728\u672c\u6587\u4e2d\u4f7f\u7528\u7684":45,"\u5728\u672c\u6f14\u793a\u4e2d":64,"\u5728\u672c\u793a\u4f8b\u4e2d":[36,64],"\u5728\u672c\u8282\u4e2d":39,"\u5728\u6811\u7684\u6bcf\u4e00\u5c42\u4e0a":47,"\u5728\u6a21\u578b\u6587\u4ef6\u7684":45,"\u5728\u6a21\u578b\u914d\u7f6e\u4e2d\u901a\u8fc7":60,"\u5728\u6b64":[0,46,49],"\u5728\u6b64\u4e3a\u65b9\u4fbf\u5bf9\u6bd4\u4e0d\u540c\u7f51\u7edc\u7ed3\u6784":60,"\u5728\u6b64\u611f\u8c22":56,"\u5728\u6bcf\u4e2a\u65f6\u95f4\u6b65\u4e2d":39,"\u5728\u6bcf\u4e2a\u65f6\u95f4\u6b65\u7684\u5b50\u5e8f\u5217\u957f\u5ea6\u53ef\u4ee5\u4e0d\u76f8\u7b49":36,"\u5728\u6bcf\u4e2a\u65f6\u95f4\u6b65\u957f":39,"\u5728\u6bcf\u4e2apod\u4e0a\u90fd\u901a\u8fc7volume\u65b9\u5f0f\u6302\u8f7d\u5206\u5e03\u5f0f\u6587\u4ef6\u7cfb\u7edf\u7684\u4e00\u4e2a\u76ee\u5f55\u7528\u4e8e\u4fdd\u5b58\u8bad\u7ec3\u6570\u636e\u548c\u8f93\u51fa\u7ed3\u679c":52,"\u5728\u6bcf\u8bad\u7ec3":62,"\u5728\u6d4b\u8bd5\u9636\u6bb5":47,"\u5728\u6d4b\u8bd5\u9636\u6bb5\u5b83\u4eec\u5c06\u4f1a\u88ab\u52a0\u8f7d\u5230\u6a21\u578b\u4e2d":58,"\u5728\u6e90\u7801\u76ee\u5f55\u6811\u7684\u6839\u76ee\u5f55\u4e2d\u8fd0\u884c":40,"\u5728\u6f14\u793a\u4e2d":63,"\u5728\u7269\u7406\u673a\u4e0a\u624b\u52a8\u90e8\u7f72":50,"\u5728\u751f\u6210\u65f6":39,"\u5728\u751f\u6210\u8fc7\u7a0b\u4e2d":65,"\u5728\u751f\u6210\u8fc7\u7a0b\u4e2d\u6211\u4eec\u4f7f\u7528sgd\u8bad\u7ec3\u7b97\u6cd5":65,"\u5728\u7528\u6237\u6587\u4ef6user":62,"\u5728\u7535\u5f71\u6587\u4ef6movi":62,"\u5728\u793a\u4f8b\u4e2d\u6211\u4eec\u4f7f\u7528attention\u7248\u672c\u7684gru\u7f16\u89e3\u7801\u7f51\u7edc":65,"\u5728\u793a\u4f8b\u4e2d\u6211\u4eec\u4f7f\u7528sgd\u8bad\u7ec3\u7b97\u6cd5":65,"\u5728\u793a\u4f8b\u4e2d\u6211\u4eec\u5b9a\u4e49\u4e86\u4e00\u4e2a\u5e8f\u5217\u5230\u5e8f\u5217\u7684\u751f\u6210\u6570\u636e":65,"\u5728\u793a\u4f8b\u4e2d\u6211\u4eec\u5b9a\u4e49\u4e86\u4e00\u4e2a\u5e8f\u5217\u5230\u5e8f\u5217\u7684\u8bad\u7ec3\u548c\u6d4b\u8bd5\u6570\u636e":65,"\u5728\u7a0b\u5e8f\u5f00\u59cb\u9636\u6bb5":5,"\u5728\u7b2c\u4e00\u884c\u4e2d\u6211\u4eec\u8f7d\u5165\u7528\u4e8e\u5b9a\u4e49\u7f51\u7edc\u7684\u51fd\u6570":57,"\u5728\u7ec4\u5408\u65f6":33,"\u5728\u7f51\u7edc\u914d\u7f6e\u4e2d":41,"\u5728\u7f51\u7edc\u914d\u7f6e\u91cc":3,"\u5728\u7ffb\u8bd1\u6cd5\u8bed\u53e5\u5b50\u4e4b\u524d":65,"\u5728\u811a\u672c":62,"\u5728\u81ea\u7136\u8bed\u8a00\u5904\u7406\u4efb\u52a1\u4e2d":35,"\u5728\u8bad\u7ec3\u4e2d":39,"\u5728\u8bad\u7ec3\u4e4b\u524d":52,"\u5728\u8bad\u7ec3\u4e86":62,"\u5728\u8bad\u7ec3\u4e86\u51e0\u4e2a\u8f6e\u6b21\u4ee5\u540e":62,"\u5728\u8bad\u7ec3\u5b8c\u6210\u540e":57,"\u5728\u8bad\u7ec3\u6570\u96c6\u4e0a\u8bad\u7ec3\u751f\u6210\u8bcd\u5411\u91cf\u5b57\u5178":56,"\u5728\u8bad\u7ec3\u65f6":51,"\u5728\u8bad\u7ec3\u8fc7\u7a0b\u4e2d":[52,65],"\u5728\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u6bcfshow":47,"\u5728\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u8fdb\u884c\u6d4b\u8bd5":2,"\u5728\u8be5\u914d\u7f6e\u76847":36,"\u5728\u8bed\u8a00\u751f\u6210\u9886\u57df\u4e2d":65,"\u5728\u8d2d\u7269\u7f51\u7ad9\u4e0a":60,"\u5728\u8f6f\u4ef6\u5de5\u7a0b\u7684\u8303\u7574\u91cc":44,"\u5728\u8f93\u51fa\u7684\u8fc7\u7a0b\u4e2d":38,"\u5728\u8fd0\u884c":64,"\u5728\u8fd9\u4e2a\u4efb\u52a1\u4e2d":65,"\u5728\u8fd9\u4e2a\u4f8b\u5b50\u4e2d":[28,64],"\u5728\u8fd9\u4e2a\u4f8b\u5b50\u91cc":[41,51],"\u5728\u8fd9\u4e2a\u51fd\u6570\u4e2d":36,"\u5728\u8fd9\u4e2a\u52a8\u6001\u5e93\u4e2d\u4e0d\u5d4c\u5165\u4efb\u4f55\u5176\u4ed6\u8bed\u8a00\u7684\u89e3\u91ca\u5668":25,"\u5728\u8fd9\u4e2a\u6559\u7a0b\u4e2d":44,"\u5728\u8fd9\u4e2a\u6a21\u578b\u4e2d":39,"\u5728\u8fd9\u4e2a\u793a\u4f8b\u4e2d":63,"\u5728\u8fd9\u4e9b\u7f51\u7edc\u4e2d":62,"\u5728\u8fd9\u4e9blayer\u4e2d":36,"\u5728\u8fd9\u6b65\u4efb\u52a1\u4e2d":64,"\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b":[39,41],"\u5728\u8fd9\u79cd\u7ed3\u6784\u4e2d":38,"\u5728\u8fd9\u7bc7\u6587\u6863\u91cc":51,"\u5728\u8fd9\u7bc7\u6587\u7ae0\u91cc":52,"\u5728\u8fd9\u91cc":38,"\u5728\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528\u5168\u8fde\u63a5\u5c42\u4f5c\u4e3a\u4f8b\u5b50\u6765\u5c55\u793a\u5b9e\u73b0\u65b0\u7f51\u7edc\u5c42\u6240\u9700\u8981\u7684\u56db\u4e2a\u6b65\u9aa4":41,"\u5728\u8fdb\u884c\u7f51\u7edc\u914d\u7f6e\u4e4b\u524d":33,"\u5728\u914d\u7f6e\u4e2d\u9700\u8981\u8bfb\u53d6\u5916\u90e8\u5b57\u5178":3,"\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684":58,"\u5728\u91c7\u7528sgd":27,"\u5728\u96c6\u7fa4\u4e0a\u8bad\u7ec3\u4e00\u4e2a\u7a00\u758f\u6a21\u578b\u9700\u8981\u52a0\u4e0a\u4e0b\u9762\u7684\u53c2\u6570":49,"\u5728\u9884\u5904\u7406\u542b\u6709\u591a\u884c\u6570\u6910\u7684\u6587\u672c\u6587\u4ef6\u65f6\u53c2\u6570\u8bbe\u7f6e\u7a0d\u6709\u4e0d\u540c":64,"\u5728\u9884\u6d4b\u5e8f\u5217\u6216\u6bb5\u843d\u7684\u60c5\u611f\u4e2d\u8d77\u4e3b\u8981\u4f5c\u7528":64,"\u5728aws\u4e0a\u5feb\u901f\u90e8\u7f72\u96c6\u7fa4":50,"\u5728c":25,"\u5728c\u7684\u5934\u6587\u4ef6":25,"\u5728cub":57,"\u5728generator\u7684\u4e0a\u4e0b\u6587\u4e2d\u5c3d\u91cf\u7559\u4e0b\u975e\u5e38\u5c11\u7684\u53d8\u91cf\u5f15\u7528":3,"\u5728kubernetes\u4e2d\u521b\u5efa\u7684\u6240\u6709\u8d44\u6e90\u5bf9\u8c61":50,"\u5728linux\u4e0b":65,"\u5728meta\u6587\u4ef6\u4e2d\u6709\u4e24\u79cd\u7279\u5f81":62,"\u5728movielen":62,"\u5728paddl":52,"\u5728paddle\u4e2d":49,"\u5728paddlepaddle\u4e2d":[33,38],"\u5728paddlepaddle\u7684\u6587\u6863\u4e2d":36,"\u5728paddlepaddle\u91cc":28,"\u5728step\u51fd\u6570\u4e2d\u5b9a\u4e49":38,"\u5728step\u51fd\u6570\u4e2d\u5b9a\u4e49memori":38,"\u5728trainer":49,"\u5730\u5740\u4e5f\u53ef\u4ee5\u4e3ahdfs\u6587\u4ef6\u8def\u5f84":2,"\u5730\u6bb5":36,"\u5730\u7406\u4f4d\u7f6e":36,"\u5730\u94c1\u7ad9":36,"\u5747\u503c\u56fe\u50cf\u6587\u4ef6":58,"\u5747\u5300\u5206\u5e03":27,"\u5747\u5300\u5206\u5e03\u7684\u8303\u56f4\u662f":47,"\u5747\u6709\u4e09\u4e2a\u5b50\u5e8f\u5217":36,"\u5747\u6709\u4e24\u7ec4\u7279\u5f81":36,"\u57fa\u4e8e\u53cc\u5c42\u5e8f\u5217\u8f93\u5165":38,"\u57fa\u4e8e\u5b57\u6bcd\u7684\u8bcd\u5d4c\u5165\u7279\u5f81":62,"\u57fa\u4e8epython\u7684\u6a21\u578b\u9884\u6d4b":5,"\u57fa\u4e8epython\u7684\u9884\u6d4b":[4,60],"\u57fa\u672c\u4e0a\u548cmnist\u6837\u4f8b\u4e00\u81f4":3,"\u57fa\u672c\u4f7f\u7528\u6982\u5ff5":34,"\u57fa\u672c\u76f8\u540c":56,"\u586b\u5199":40,"\u589e\u52a0\u4e86\u4e00\u6761cd\u547d\u4ee4":51,"\u589e\u52a0\u5982\u4e0b\u53c2\u6570":49,"\u589e\u52a0\u68af\u5ea6\u68c0\u6d4b\u7684\u5355\u5143\u6d4b\u8bd5":41,"\u58f0\u660epython\u6570\u636e\u6e90":62,"\u5904\u7406\u5668\u6709\u4e24\u4e2a\u5173\u952e\u6027\u80fd\u9650\u5236":44,"\u5904\u7406\u6570\u636e\u7684python\u811a\u672c\u6587\u4ef6":60,"\u5904\u7406\u7684\u8f93\u5165\u5e8f\u5217\u4e3b\u8981\u5206\u4e3a\u4ee5\u4e0b\u4e09\u79cd\u7c7b\u578b":38,"\u5904\u7406\u76f8\u4f3c\u5ea6\u56de\u5f52":62,"\u5904\u7406\u8fc7\u7a0b\u4e2d\u6570\u636e\u5b58\u50a8\u683c\u5f0f":57,"\u5907\u6ce8":44,"\u590d\u6742\u5ea6\u6216\u65f6\u95f4\u590d\u6742\u5ea6":44,"\u5916\u5c42memory\u662f\u4e00\u4e2a\u5143\u7d20":36,"\u5916\u5c42outer_step\u4e2d":36,"\u591a\u4e2ainput\u4ee5list\u65b9\u5f0f\u8f93\u5165":60,"\u591a\u53e5\u8bdd\u8fdb\u4e00\u6b65\u6784\u6210\u4e86\u6bb5\u843d":38,"\u591a\u673a\u8bad\u7ec3":27,"\u591a\u7ebf\u7a0b\u7684\u6570\u636e\u8bfb\u53d6":3,"\u591a\u8f6e\u5bf9\u8bdd\u7b49\u66f4\u4e3a\u590d\u6742\u7684\u8bed\u8a00\u6570\u636e":38,"\u5927\u578b\u7535\u5f71\u8bc4\u8bba\u6570\u636e\u96c6":64,"\u5927\u591a\u6570\u5c42\u4e0d\u9700\u8981\u8fdc\u7a0b\u7a00\u758f\u8bad\u7ec3\u51fd\u6570":41,"\u5927\u591a\u6570\u5c42\u9700\u8981\u8bbe\u7f6e\u4e3a":41,"\u5927\u591a\u6570\u6210\u529f\u7684srl\u7cfb\u7edf\u662f\u5efa\u7acb\u5728\u67d0\u79cd\u5f62\u5f0f\u7684\u53e5\u6cd5\u5206\u6790\u7ed3\u679c\u4e4b\u4e0a\u7684":63,"\u5927\u591a\u6570\u7f51\u7edc\u5c42\u4e0d\u9700\u8981\u652f\u6301\u8fdc\u7a0b\u7a00\u758f\u66f4\u65b0":41,"\u5927\u591a\u6570\u8bed\u8a00\u90fd\u652f\u6301\u4f7f\u7528c\u8bed\u8a00api":25,"\u5927\u5b66\u751f":61,"\u5927\u5bb6\u53ef\u4ee5\u901a\u8fc7\u5b83\u5236\u4f5c\u548c\u5206\u4eab\u5e26\u6709\u4ee3\u7801":30,"\u5927\u5c0f":45,"\u5929":36,"\u5929\u4e00\u5e7f\u573a":36,"\u5929\u4e00\u9601":36,"\u5929\u732b":64,"\u5934\u6587\u4ef6\u4e2d\u628a\u53c2\u6570\u5b9a\u4e49\u4e3a\u7c7b\u7684\u6210\u5458\u53d8\u91cf":41,"\u5934\u6587\u4ef6\u5982\u4e0b":41,"\u5947\u5e7b\u7247":61,"\u597d":36,"\u597d\u5403":36,"\u597d\u8bc4":60,"\u5982":[3,39,40,45,49],"\u59822":45,"\u5982\u4e0b":[3,62,64],"\u5982\u4e0b\u56fe\u6240\u793a":[36,44,57],"\u5982\u4e0b\u6240\u793a":[49,58,62],"\u5982\u4e0b\u662f\u4e00\u6bb5\u4f7f\u7528mnist":5,"\u5982\u4e0b\u8868\u683c":60,"\u5982\u4f55":62,"\u5982\u4f55\u5b58\u50a8\u7b49\u7b49":3,"\u5982\u4f55\u89e3\u6790\u8be5\u5730\u5740\u4e5f\u662f\u7528\u6237\u81ea\u5b9a\u4e49dataprovider\u65f6\u9700\u8981\u8003\u8651\u7684\u5730\u65b9":2,"\u5982\u4f55\u8d21\u732e":43,"\u5982\u4f55\u8d21\u732e\u4ee3\u7801":43,"\u5982\u4f55\u8fdb\u884c\u5206\u5e03\u5f0f\u8bad\u7ec3":60,"\u5982\u4fe1\u606f\u63d0\u53d6":63,"\u5982\u56fe2\u6240\u793a":64,"\u5982\u5f62\u5bb9\u8bcd\u548c\u526f\u8bcd":64,"\u5982\u60f3\u4e86\u89e3\u66f4\u591a\u8be6\u7ec6\u7684\u89e3\u91ca":65,"\u5982\u672c\u4f8b\u4e2d":3,"\u5982\u672c\u4f8b\u7684":3,"\u5982\u679c\u4e00\u4e2a\u7f51\u7edc\u5c42\u9700\u8981\u914d\u7f6e\u7684\u8bdd":41,"\u5982\u679c\u4e0b\u8f7d\u6210\u529f":58,"\u5982\u679c\u4e0d\u4e3a0":47,"\u5982\u679c\u4e0d\u4e86\u89e3":3,"\u5982\u679c\u4e0d\u5207\u8bcd":60,"\u5982\u679c\u4e0d\u6536\u655b":27,"\u5982\u679c\u4e0d\u662f\u5e8f\u5217":62,"\u5982\u679c\u4e3a":3,"\u5982\u679c\u4e3a0":47,"\u5982\u679c\u4e3afals":47,"\u5982\u679c\u4e3atrue":[3,47],"\u5982\u679c\u4e4b\u540e\u60f3\u8981\u91cd\u65b0\u8bbe\u7f6e":29,"\u5982\u679c\u4ed4\u7ec6\u8bbe\u7f6e\u7684\u8bdd":47,"\u5982\u679c\u4f60\u4e0d\u9700\u8981\u8fd9\u4e2a\u64cd\u4f5c":64,"\u5982\u679c\u4f60\u53ea\u9700\u8981\u4f7f\u7528\u7b80\u5355\u7684rnn":39,"\u5982\u679c\u4f60\u5b89\u88c5gpu\u7248\u672c\u7684paddlepaddl":64,"\u5982\u679c\u4f60\u60f3\u4f7f\u7528\u8fd9\u4e9b\u7279\u6027":49,"\u5982\u679c\u4f60\u60f3\u8981\u4fdd\u5b58\u67d0\u4e9b\u5c42\u7684\u7279\u5f81\u56fe":47,"\u5982\u679c\u4f60\u60f3\u8fdb\u884c\u8bf8\u5982\u8bed\u4e49\u8f6c\u8ff0":65,"\u5982\u679c\u4f60\u6267\u884c\u5176\u5b83\u7684\u7528\u60c5\u611f\u5206\u6790\u6765\u5206\u7c7b\u6587\u672c\u7684\u4efb\u52a1":64,"\u5982\u679c\u4f60\u6b63\u5728\u5904\u7406\u5e8f\u5217\u6807\u8bb0\u4efb\u52a1":39,"\u5982\u679c\u4f60\u6ca1\u6709gpu\u73af\u5883":57,"\u5982\u679c\u4f60\u8981\u4e3a\u4e86\u6d4b\u8bd5\u800c\u589e\u52a0\u65b0\u7684\u6587\u4ef6":41,"\u5982\u679c\u4f7f\u7528":[45,56],"\u5982\u679c\u4f7f\u7528gpu\u7248\u672c\u7684paddlepaddl":32,"\u5982\u679c\u4f7f\u7528nvidia":30,"\u5982\u679c\u4f7f\u7528ssl\u8ba4\u8bc1":50,"\u5982\u679c\u4f7f\u7528swig\u6211\u4eec\u9700\u8981\u5c06\u5728interface\u6587\u4ef6\u91cc":25,"\u5982\u679c\u51fa\u73b0\u4ee5\u4e0bpython\u76f8\u5173\u7684\u5355\u5143\u6d4b\u8bd5\u90fd\u8fc7\u4e0d\u4e86\u7684\u60c5\u51b5":27,"\u5982\u679c\u53c2\u6570\u4fdd\u5b58\u4e0b\u6765\u7684\u6a21\u578b\u76ee\u5f55":27,"\u5982\u679c\u53c2\u6570\u6a21\u578b\u6587\u4ef6\u7f3a\u5931":56,"\u5982\u679c\u5728\u7f51\u7edc\u914d\u7f6e\u4e2d\u672a\u8bbe\u7f6easync":47,"\u5982\u679c\u5728\u8bad\u7ec3\u671f\u95f4\u540c\u65f6\u53d1\u8d77\u53e6\u5916\u4e00\u4e2a\u8fdb\u7a0b\u8fdb\u884c\u6d4b\u8bd5":47,"\u5982\u679c\u5728\u8bad\u7ec3\u914d\u7f6e\u4e2d\u8bbe\u7f6ebatch":47,"\u5982\u679c\u5728\u8bad\u7ec3nlp\u76f8\u5173\u6a21\u578b\u65f6":27,"\u5982\u679c\u5b83\u4f4d\u4e8e\u8c13\u8bcd\u4e0a\u4e0b\u6587\u533a\u57df\u4e2d":63,"\u5982\u679c\u5c06\u8fd9\u4e2a\u5185\u5b58\u6c60\u51cf\u5c0f":27,"\u5982\u679c\u5df2\u5b89\u88c5":63,"\u5982\u679c\u5df2\u7ecf\u6709pod\u8fd0\u884c":52,"\u5982\u679c\u5f00\u542f\u4f1a\u5bfc\u81f4\u8fd0\u884c\u7565\u6162":29,"\u5982\u679c\u60a8":30,"\u5982\u679c\u60a8\u60f3\u8981\u66f4\u6df1\u5165\u4e86\u89e3deep":30,"\u5982\u679c\u60a8\u6709\u597d\u7684\u5efa\u8bae\u6765":62,"\u5982\u679c\u60a8\u7684gpu\u7406\u8bba\u53ef\u4ee5\u8fbe\u52306":44,"\u5982\u679c\u60f3\u4e3a\u4e00\u4e2a\u6570\u636e\u6587\u4ef6\u8fd4\u56de\u591a\u6761\u6837\u672c":3,"\u5982\u679c\u60f3\u4f7f\u7528\u53ef\u89c6\u5316\u7684\u5206\u6790\u5668":44,"\u5982\u679c\u60f3\u5f88\u597d\u7684\u7406\u89e3\u7a0b\u5e8f\u7684\u884c\u4e3a":44,"\u5982\u679c\u60f3\u8981\u4e86\u89e3\u53cc\u5c42rnn\u5728\u5177\u4f53\u95ee\u9898\u4e2d\u7684\u4f7f\u7528":36,"\u5982\u679c\u60f3\u8981\u542f\u7528paddlepaddle\u7684\u5185\u7f6e\u5b9a\u65f6\u5668":44,"\u5982\u679c\u6211\u77e5\u9053\u5185\u6838\u82b1\u4e8610ms\u6765\u79fb\u52a81gb\u6570\u636e":44,"\u5982\u679c\u6267\u884c\u5931\u8d25":50,"\u5982\u679c\u6267\u884c\u6210\u529f":58,"\u5982\u679c\u6570\u636e\u6587\u4ef6\u5b58\u4e8e\u672c\u5730\u78c1\u76d8":2,"\u5982\u679c\u6570\u6910\u83b7\u53d6\u6210\u529f":64,"\u5982\u679c\u662f\u4f7f\u7528\u975essl\u65b9\u5f0f\u8bbf\u95ee":50,"\u5982\u679c\u662f\u5e8f\u5217":62,"\u5982\u679c\u6709\u591a\u4e2a\u8f93\u5165":38,"\u5982\u679c\u6709\u591a\u4e2a\u8f93\u5165\u5e8f\u5217":38,"\u5982\u679c\u6709\u66f4\u590d\u6742\u7684\u4f7f\u7528":2,"\u5982\u679c\u6709\u9700\u8981\u4fee\u6539\u7684\u5730\u65b9":40,"\u5982\u679c\u672a\u8bbe\u7f6e":47,"\u5982\u679c\u672a\u8bbe\u7f6egpu":49,"\u5982\u679c\u67d0\u4e00\u5757\u6839\u672c\u5c31\u4e0d\u600e\u4e48\u8017\u65f6":44,"\u5982\u679c\u68c0\u67e5\u5230\u5206\u914d\u5728\u4e0d\u540c\u53c2\u6570\u670d\u52a1\u5668\u4e0a\u7684\u53c2\u6570\u7684\u5206\u5e03\u4e0d\u5747\u5300\u6b21\u6570\u5927\u4e8echeck":47,"\u5982\u679c\u6ca1\u6709\u5b9a\u4e49memori":38,"\u5982\u679c\u6ca1\u6709\u8bbe\u7f6e":65,"\u5982\u679c\u6ca1\u6709\u8bbe\u7f6etest":2,"\u5982\u679c\u6d88\u606f\u6570\u636e\u592a\u5c0f":47,"\u5982\u679c\u7528\u6237\u4e0d\u663e\u793a\u6307\u5b9a\u8fd4\u56de\u6570\u636e\u7684\u5bf9\u5e94\u5173\u7cfb":3,"\u5982\u679c\u7528\u6237\u60f3\u8981\u4e86\u89e3\u8be6\u7ec6\u7684\u6570\u636e\u96c6\u7684\u683c\u5f0f":56,"\u5982\u679c\u7528\u6237\u60f3\u8981\u81ea\u5b9a\u4e49\u521d\u59cb\u5316\u65b9\u5f0f":27,"\u5982\u679c\u7528\u6237\u8981\u628apaddle\u7684\u9759\u6001\u5e93":25,"\u5982\u679c\u771f\u60f3\u6316\u6398\u5185\u6838\u6df1\u5904\u7684\u67d0\u4e2a\u79d8\u5bc6":44,"\u5982\u679c\u7a0b\u5e8f\u5d29\u6e83\u4f60\u4e5f\u53ef\u4ee5\u624b\u52a8\u7ec8\u6b62":45,"\u5982\u679c\u7cfb\u7edf\u5b89\u88c5\u4e86\u591a\u4e2apython\u7248\u672c":27,"\u5982\u679c\u7f51\u7edc\u5c42\u4e0d\u9700\u8981\u8fdc\u7a0b\u7a00\u758f\u66f4\u65b0":41,"\u5982\u679c\u7f51\u7edc\u67b6\u6784\u7b80\u5355":39,"\u5982\u679c\u8981\u4f7f\u7528\u53cc\u5411lstm":64,"\u5982\u679c\u8981\u4f7f\u7528gpu":30,"\u5982\u679c\u8981\u542f\u7528gpu":45,"\u5982\u679c\u8981\u8fd0\u884c\u6240\u6709\u7684\u5355\u5143\u6d4b\u8bd5":40,"\u5982\u679c\u8bad\u7ec3\u4e00\u4e2apass":27,"\u5982\u679c\u8bad\u7ec3\u8fc7\u7a0b\u542f\u52a8\u6210\u529f\u7684\u8bdd":62,"\u5982\u679c\u8bad\u7ec3\u8fc7\u7a0b\u7684\u7684cost\u660e\u663e\u9ad8\u4e8e\u8fd9\u4e2a\u5e38\u6570\u8f93\u51fa\u7684cost":27,"\u5982\u679c\u8bbe\u7f6e":3,"\u5982\u679c\u8bbe\u7f6e\u8be5\u53c2\u6570":47,"\u5982\u679c\u8c03\u7528\u9759\u6001\u5e93\u53ea\u80fd\u5c06\u9759\u6001\u5e93\u4e0e\u89e3\u91ca\u5668\u94fe\u63a5":25,"\u5982\u679c\u8f93\u51fa\u662fno":30,"\u5982\u679c\u8fd0\u884c\u6210\u529f":[58,64],"\u5982\u679c\u96c6\u7fa4\u8282\u70b9\u6570\u91cf\u5c11":45,"\u5982\u679c\u9700\u8981\u5305\u542b\u66f4\u591a\u7684\u4f9d\u8d56":30,"\u5982\u679c\u9700\u8981\u6269\u5927\u77e9\u9635":41,"\u5982\u679c\u9700\u8981\u7f29\u51cf\u77e9\u9635":41,"\u5982\u679clearning_rate\u592a\u5927":27,"\u5982\u679clearning_rate\u592a\u5c0f":27,"\u5982\u679cpaddlepaddle\u5305\u5df2\u7ecf\u5728python\u7684sit":27,"\u5982\u6bcf\u4e2a\u6587\u4ef6\u53ea\u6709\u4e00\u4e2a":40,"\u5982\u795e\u7ecf\u5143\u6fc0\u6d3b\u503c\u7b49":27,"\u5982\u8981build\u8fd9\u4e2a\u5f00\u53d1\u955c\u50cf":40,"\u5982\u9ad8\u4eae\u90e8\u5206":44,"\u5b50":36,"\u5b50\u53e5":38,"\u5b50\u53e5\u7684\u5355\u8bcd\u6570\u548c\u6307\u5b9a\u7684\u4e00\u4e2a\u8f93\u5165\u5e8f\u5217\u4e00\u81f4":38,"\u5b57\u5178":65,"\u5b57\u5178\u4f1a\u5305\u542b\u8f93\u5165\u6570\u636e\u96c6\u4e2d\u7684\u6240\u6709\u5355\u8bcd":65,"\u5b57\u5178\u5171\u5305\u542b":56,"\u5b57\u5178\u6587\u4ef6":[63,64],"\u5b57\u5178\u91c7\u7528utf8\u7f16\u7801":56,"\u5b57\u5178imdb":64,"\u5b57\u6bb5\u4e2d":52,"\u5b57\u6bb5\u8868\u793a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf":52,"\u5b57\u6bb5\u8868\u793a\u8fd9\u4e2ajob\u4f1a\u540c\u65f6\u5f00\u542f3\u4e2apaddlepaddle\u8282\u70b9":52,"\u5b58\u50a8\u5377":50,"\u5b58\u50a8\u5728\u8bb0\u5fc6\u5355\u5143\u533a\u5757\u7684\u5386\u53f2\u4fe1\u606f\u88ab\u66f4\u65b0\u7528\u6765\u8fed\u4ee3\u7684\u5b66\u4e60\u5355\u8bcd\u4ee5\u5408\u7406\u7684\u5e8f\u5217\u7a0b\u73b0":64,"\u5b58\u50a8\u6a21\u578b\u7684\u8def\u5f84":65,"\u5b58\u50a8\u7740\u7535\u5f71\u6216\u7528\u6237\u4fe1\u606f":62,"\u5b58\u5165settings\u5bf9\u8c61":3,"\u5b58\u5728\u6216\u66f4\u6539\u4e3a\u5176\u5b83\u6a21\u578b\u8def\u5f84":64,"\u5b66\u4e60\u6210\u672c\u9ad8":25,"\u5b66\u4e60\u7b97\u6cd5":28,"\u5b66\u672f":61,"\u5b81\u6ce2":36,"\u5b83\u4e0d\u4ec5\u80fd\u591f\u5904\u7406imdb\u6570\u636e":64,"\u5b83\u4eec\u5728\u8bad\u7ec3\u8fc7\u7a0b\u4f5c\u4e3a\u7f51\u7edc\u7684\u51fa\u53e3":28,"\u5b83\u4eec\u7684\u5927\u5c0f\u662f":39,"\u5b83\u4eec\u8fd8\u53ef\u4ee5\u4f9b\u90a3\u4e9b\u8fd0\u884c\u66f4\u590d\u6742\u7684\u96c6\u7fa4\u7ba1\u7406\u7cfb\u7edf":45,"\u5b83\u4eec\u90fd\u662f\u5e8f\u5217":39,"\u5b83\u4f1a\u5728dataprovider\u521b\u5efa\u7684\u65f6\u5019\u6267\u884c":3,"\u5b83\u4f7f\u752850\u5c42\u7684resnet\u6a21\u578b\u6765\u5bf9":58,"\u5b83\u5305\u542b\u4ee5\u4e0b\u51e0\u6b65":41,"\u5b83\u5305\u542b\u4ee5\u4e0b\u53c2\u6570":41,"\u5b83\u5305\u542b\u56db\u4e2a\u7248\u672c":32,"\u5b83\u5305\u542b\u7684\u5c5e\u6027\u53c2\u6570\u5982\u4e0b":3,"\u5b83\u5305\u62ec\u4e86\u4e00\u4e2a\u53cc\u5411\u7684gru\u4f5c\u4e3a\u7f16\u7801\u5668\u548c\u89e3\u7801\u5668":65,"\u5b83\u53eb\u505a":39,"\u5b83\u53ef\u4ee5\u5728\u53e5\u5b50\u7ea7\u522b\u5229\u7528\u53ef\u6269\u5c55\u7684\u4e0a\u4e0b\u6587":64,"\u5b83\u53ef\u4ee5\u5e2e\u52a9\u51cf\u5c11\u5206\u53d1\u5ef6\u8fdf":45,"\u5b83\u53ef\u4ee5\u5e2e\u52a9\u6211\u4eec\u683c\u5f0f\u5316\u6e90\u4ee3\u7801":40,"\u5b83\u53ef\u4ee5\u6307\u6d4b\u91cf\u4e00\u4e2a\u7a0b\u5e8f\u7684\u7a7a\u95f4":44,"\u5b83\u53ef\u4ee5\u88ab\u5e94\u7528\u4e8e\u8fdb\u884c\u673a\u5668\u7ffb\u8bd1":65,"\u5b83\u53ef\u80fd\u6709\u4e0d\u6b62\u4e00\u4e2a\u6743\u91cd":41,"\u5b83\u540c\u65f6\u5b66\u4e60\u6392\u5217":65,"\u5b83\u548c\u6570\u636e\u4f20\u5165\u51fd\u6570\u7684\u7b2c\u4e00\u4e2a\u53c2\u6570":3,"\u5b83\u5b58\u50a8\u5f53\u524d\u8282\u70b9\u6240\u6709\u8bad\u7ec3":45,"\u5b83\u5b9a\u4e49\u4e86":39,"\u5b83\u5b9a\u4e49\u4e86\u6a21\u578b\u53c2\u6570\u6539\u53d8\u7684\u89c4\u5219":28,"\u5b83\u5b9a\u4e49\u89e3\u7801\u7f51\u7edc\u7684":39,"\u5b83\u5c06\u88ab\u5206\u53d1\u5230":45,"\u5b83\u5c06\u8f93\u5165\u8bed\u53e5\u7f16\u7801\u4e3a\u5411\u91cf\u7684\u5e8f\u5217":65,"\u5b83\u5c06\u8fd4\u56de\u5982\u4e0b\u7684\u5b57\u5178":58,"\u5b83\u5c31\u4f1a\u5728\u6e90\u8bed\u53e5\u4e2d\u641c\u7d22\u51fa\u6700\u76f8\u5173\u4fe1\u606f\u7684\u4f4d\u7f6e\u7684\u96c6\u5408":65,"\u5b83\u652f\u6301\u591a\u7ebf\u7a0b\u66f4\u65b0":41,"\u5b83\u662finteger_value\u7c7b\u578b\u7684":36,"\u5b83\u662finteger_value_sequence\u7c7b\u578b\u7684":36,"\u5b83\u6709\u52a9\u4e8e\u5e2e\u52a9\u9891\u7e41\u4fee\u6539\u548c\u8bbf\u95ee\u5de5\u4f5c\u533a\u6587\u4ef6\u7684\u7528\u6237\u51cf\u5c11\u8d1f\u62c5":45,"\u5b83\u6a21\u62df\u4e86\u89e3\u7801\u7ffb\u8bd1\u8fc7\u7a0b\u4e2d\u5728\u6e90\u8bed\u53e5\u4e2d\u7684\u641c\u7d22":65,"\u5b83\u7684":39,"\u5b83\u7684\u6536\u655b\u901f\u5ea6\u6bd4":64,"\u5b83\u7684\u6bcf\u4e00\u4e2a\u5143\u7d20":35,"\u5b83\u7684\u76ee\u7684\u662f\u9884\u6d4b\u5728\u4e00\u4e2a\u5e8f\u5217\u4e2d\u8868\u8fbe\u7684\u60c5\u611f\u6001\u5ea6":64,"\u5b83\u7684\u8f93\u5165\u4e0e\u7ecf\u8fc7\u5b66\u4e60\u7684\u53c2\u6570\u505a\u5185\u79ef\u5e76\u52a0\u4e0a\u504f\u7f6e":41,"\u5b83\u76f4\u63a5\u5b66\u4e60\u6bb5\u843d\u8868\u793a":64,"\u5b83\u80fd\u591f\u4ece\u8bcd\u7ea7\u5230\u5177\u6709\u53ef\u53d8\u4e0a\u4e0b\u6587\u957f\u5ea6\u7684\u4e0a\u4e0b\u6587\u7ea7\u522b\u6765\u603b\u7ed3\u8868\u793a":64,"\u5b83\u8bfb\u5165\u6570\u636e\u5e76\u5c06\u5b83\u4eec\u4f20\u8f93\u5230\u63a5\u4e0b\u6765\u7684\u7f51\u7edc\u5c42":28,"\u5b83\u8fd4\u56degen":65,"\u5b83\u8fd4\u56detrain":65,"\u5b83\u9700\u8981\u5728\u8fd9\u91cc\u6307\u5b9a":64,"\u5b83\u9996\u5148\u8c03\u7528\u57fa\u6784\u9020\u51fd\u6570":41,"\u5b89\u6392":36,"\u5b89\u88c5\u4e0e\u7f16\u8bd1":34,"\u5b89\u88c5\u5305\u7684\u4e0b\u8f7d\u5730\u5740\u662f":32,"\u5b89\u88c5\u597ddocker\u4e4b\u540e\u53ef\u4ee5\u4f7f\u7528\u6e90\u7801\u76ee\u5f55\u4e0b\u7684\u811a\u672c\u6784\u5efa\u6587\u6863":42,"\u5b89\u88c5\u5b8c\u6210\u540e":32,"\u5b89\u88c5\u6587\u6863":33,"\u5b89\u88c5\u6d41\u7a0b":60,"\u5b89\u88c5\u8be5\u8f6f\u4ef6\u5305\u5c31\u53ef\u4ee5\u5728python\u73af\u5883\u4e0b\u5b9e\u73b0\u6a21\u578b\u9884\u6d4b":5,"\u5b89\u88c5paddlepaddl":60,"\u5b89\u88c5pillow":57,"\u5b89\u9759":36,"\u5b8c\u6210":40,"\u5b8c\u6210\u4efb\u610f\u7684\u8fd0\u7b97\u903b\u8f91":38,"\u5b8c\u6210\u540evolume\u4e2d\u7684\u6587\u4ef6\u5185\u5bb9\u5927\u81f4\u5982\u4e0b":52,"\u5b8c\u6210\u5f00\u53d1":30,"\u5b8c\u6210\u76f8\u5e94\u7684\u8ba1\u7b97":35,"\u5b8c\u6210paddlepaddle\u7684\u5b89\u88c5":33,"\u5b8c\u6574\u6e90\u7801\u53ef\u53c2\u8003":27,"\u5b8c\u6574\u7684\u4ee3\u7801\u89c1":5,"\u5b8c\u6574\u7684\u53c2\u6570\u77e9\u9635\u88ab\u5206\u5e03\u5728\u4e0d\u540c\u7684\u53c2\u6570\u670d\u52a1\u5668\u4e0a":41,"\u5b8c\u6574\u7684\u6570\u636e\u63d0\u4f9b\u6587\u4ef6\u5728":39,"\u5b8c\u6574\u7684\u914d\u7f6e\u6587\u4ef6\u5728":39,"\u5b98\u65b9\u6587\u6863":29,"\u5b9a\u4e49\u4e00\u4e2a\u65f6\u95f4\u6b65\u4e4b\u5185rnn\u5355\u5143\u5b8c\u6210\u7684\u8ba1\u7b97":38,"\u5b9a\u4e49\u4e00\u4e2apython\u7684":3,"\u5b9a\u4e49\u4e86\u4e00\u4e2a\u53ea\u8bfb\u7684memori":38,"\u5b9a\u4e49\u4e86\u7f51\u7edc\u7684\u6570\u636e\u69fd":63,"\u5b9a\u4e49\u4e86\u7f51\u7edc\u7ed3\u6784":57,"\u5b9a\u4e49\u4e86\u7f51\u7edc\u7ed3\u6784\u5e76\u4fdd\u5b58\u4e3a":28,"\u5b9a\u4e49\u5728\u5916\u5c42":38,"\u5b9a\u4e49\u5f02\u6b65\u8bad\u7ec3\u7684\u957f\u5ea6":47,"\u5b9a\u4e49\u6570\u636e\u6765\u6e90":28,"\u5b9a\u4e49\u6e90\u8bed\u53e5\u7684\u6570\u636e\u5c42":39,"\u5b9a\u4e49\u89e3\u7801\u5668\u7684memori":39,"\u5b9a\u4e49\u8bad\u7ec3\u6570\u6910\u548c\u6d4b\u8bd5\u6570\u6910\u63d0\u4f9b\u8005":64,"\u5b9a\u4e49\u8f93\u5165\u6570\u636e\u7684\u7c7b\u578b":28,"\u5b9a\u4e49\u8f93\u51fa\u51fd\u6570":39,"\u5b9a\u4e49\u95e8\u63a7\u5faa\u73af\u5355\u5143\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u5355\u6b65\u51fd\u6570":39,"\u5b9d\u5854\u7684\u5e95\u7aef\u9700\u8981\u575a\u5b9e\u7684\u57fa\u5ea7\u6765\u652f\u6491":33,"\u5b9e\u4f8b\u5982\u4e0b":63,"\u5b9e\u73b0\u4e24\u4e2a\u5b8c\u5168\u7b49\u4ef7\u7684\u5168\u8fde\u63a5rnn":36,"\u5b9e\u73b0\u524d\u5411\u4f20\u64ad\u7684\u90e8\u5206\u6709\u4e0b\u9762\u51e0\u4e2a\u6b65\u9aa4":41,"\u5b9e\u73b0\u5355\u6b65\u51fd\u6570":39,"\u5b9e\u73b0\u540e\u5411\u4f20\u64ad\u7684\u90e8\u5206\u6709\u4e0b\u9762\u51e0\u4e2a\u6b65\u9aa4":41,"\u5b9e\u73b0\u6570\u636e\u8f93\u5165\u51fd\u6570":3,"\u5b9e\u73b0\u6784\u9020\u51fd\u6570":41,"\u5b9e\u73b0\u7b80\u5355":25,"\u5b9e\u73b0\u7ec6\u8282":41,"\u5b9e\u73b0\u7f51\u7edc\u5c42\u7684\u524d\u5411\u4f20\u64ad":41,"\u5b9e\u73b0\u7f51\u7edc\u5c42\u7684\u540e\u5411\u4f20\u64ad":41,"\u5b9e\u73b0\u8bcd\u8bed\u548c\u53e5\u5b50\u4e24\u4e2a\u7ea7\u522b\u7684\u53cc\u5c42rnn\u7ed3\u6784":38,"\u5b9e\u73b0\u8be5\u5c42\u7684c":41,"\u5b9e\u9645\u4e0a\u53ea\u6709":58,"\u5b9e\u9645\u4e0a\u662fcsv\u6587\u4ef6":61,"\u5ba2\u6237":36,"\u5ba2\u6237\u670d\u52a1":61,"\u5bb6":36,"\u5bb9\u5668":50,"\u5bb9\u5668\u4e0d\u4f1a\u4fdd\u7559\u5728\u8fd0\u884c\u65f6\u751f\u6210\u7684\u6570\u636e":50,"\u5bb9\u5668\u8fd0\u884c\u90fd\u8fd0\u884c":52,"\u5bbf\u4e3b\u673a\u76ee\u5f55":50,"\u5bc4\u5b58\u5668\u4f7f\u7528\u60c5\u51b5\u548c\u5171\u4eab\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\u80fd\u8ba9\u6211\u4eec\u5bf9gpu\u7684\u6574\u4f53\u4f7f\u7528\u6709\u66f4\u597d\u7684\u7406\u89e3":44,"\u5bf9":36,"\u5bf9\u4e00\u4e2a5\u7ef4\u975e\u5e8f\u5217\u7684\u7a00\u758f01\u5411\u91cf":[3,33],"\u5bf9\u4e00\u4e2a5\u7ef4\u975e\u5e8f\u5217\u7684\u7a00\u758f\u6d6e\u70b9\u5411\u91cf":[3,33],"\u5bf9\u4e8e":39,"\u5bf9\u4e8e\u4e0d\u540c\u8bed\u8a00":25,"\u5bf9\u4e8e\u4e24\u79cd\u4e0d\u540c\u7684\u8f93\u5165\u6570\u636e\u7c7b\u578b":36,"\u5bf9\u4e8e\u5185\u5b58\u8f83\u5c0f\u7684\u673a\u5668":3,"\u5bf9\u4e8e\u5355\u5c42rnn":36,"\u5bf9\u4e8e\u5355\u5c42rnn\u7684\u6570\u636e\u4e00\u5171\u6709\u4e24\u4e2a\u6837\u672c":36,"\u5bf9\u4e8e\u53cc\u5c42rnn":36,"\u5bf9\u4e8e\u540c\u4e00\u6bb5c":25,"\u5bf9\u4e8e\u540c\u6837\u7684\u6570\u636e":36,"\u5bf9\u4e8e\u591a\u8bed\u8a00\u63a5\u53e3":25,"\u5bf9\u4e8e\u5927\u591a\u6570\u8bed\u8a00":25,"\u5bf9\u4e8e\u6211\u4eec\u652f\u6301\u7684\u5168\u90e8\u77e9\u9635\u64cd\u4f5c":41,"\u5bf9\u4e8e\u6811\u7684\u6bcf\u4e00\u5c42":65,"\u5bf9\u4e8e\u6bb5\u843d\u7684\u6587\u672c\u5206\u7c7b":36,"\u5bf9\u4e8e\u6bcf\u4e00\u4e2a\u5355\u5c42rnn\u7684\u6570\u636e":36,"\u5bf9\u4e8e\u6bcf\u4f4d\u7528\u6237":62,"\u5bf9\u4e8e\u7ed9\u5b9a\u7684\u4e00\u6761\u6587\u672c":60,"\u5bf9\u4e8e\u914d\u5907\u6709\u6ce8\u610f\u529b\u673a\u5236\u7684\u89e3\u7801\u5668":39,"\u5bf9\u4e8eamazon":60,"\u5bf9\u4ee3\u7801\u8fdb\u884c\u6027\u80fd\u5206\u6790":44,"\u5bf9\u5168\u8fde\u63a5\u5c42\u6765\u8bf4":41,"\u5bf9\u56fe\u7247\u8fdb\u884c\u9884\u5904\u7406":57,"\u5bf9\u5e94\u4e00\u4e2a\u5b50\u53e5":38,"\u5bf9\u5e94\u4e00\u4e2a\u8bcd":38,"\u5bf9\u5e94\u4e8e\u5b57\u5178":56,"\u5bf9\u5e94\u7684":3,"\u5bf9\u6570\u636e\u96c6\u8fdb\u884c\u9884\u5904\u7406\u7684\u57fa\u672c\u547d\u4ee4\u662f":65,"\u5bf9\u6574\u4e2a\u65b0\u5411\u91cf\u96c6\u5408\u7684\u6bcf\u4e00\u4e2a\u7ef4\u5ea6\u53d6\u6700\u5927\u503c\u6765\u8868\u793a\u6700\u540e\u7684\u53e5\u5b50":60,"\u5bf9\u6587\u6863\u5904\u7406\u540e\u5f62\u6210\u7684\u5355\u8bcd\u5411\u91cf":64,"\u5bf9\u673a\u5668\u7ffb\u8bd1\u7684\u4eba\u5de5\u8bc4\u4f30\u5de5\u4f5c\u5f88\u5e7f\u6cdb\u4f46\u4e5f\u5f88\u6602\u8d35":65,"\u5bf9\u6bcf\u4e2a\u8f93\u5165":41,"\u5bf9\u6bcf\u4e2a\u8f93\u5165\u4e58\u4e0a\u53d8\u6362\u77e9\u9635":41,"\u5bf9\u6bd4":25,"\u5bf9\u6fc0\u6d3b\u6c42\u5bfc":41,"\u5bf9\u7528\u6237\u6765\u8bf4":3,"\u5bf9\u8bad\u7ec3\u6570\u636e\u8fdb\u884cshuffl":3,"\u5bf9\u8be5\u5411\u91cf\u8fdb\u884c\u975e\u7ebf\u6027\u53d8\u6362":60,"\u5bf9\u8c61":27,"\u5bf9\u8c61\u5b58\u50a8\u4e3a\u6587\u4ef6":62,"\u5bf9\u8f93\u51fa\u7684\u5408\u5e76":38,"\u5bf9\u9762":36,"\u5bf9check":3,"\u5bf9sparse_binary_vector\u548csparse_float_vector":[3,33],"\u5bfc\u81f4\u4e86\u6d6e\u70b9\u6570\u6ea2\u51fa":27,"\u5bfc\u81f4\u53c2\u6570\u6536\u655b\u5230\u4e86\u4e00\u4e9b\u5947\u5f02\u7684\u60c5\u51b5":27,"\u5bfc\u81f4\u53c2\u6570\u7d2f\u52a0":27,"\u5bfc\u81f4\u7f16\u8bd1paddlepaddle\u5931\u8d25":27,"\u5bfc\u81f4\u8bad\u7ec3\u65f6\u95f4\u8fc7\u957f":27,"\u5c01\u88c5\u4e86":44,"\u5c01\u88c5\u8be5\u5c42\u7684python\u63a5\u53e3":41,"\u5c06":[3,27,44,60],"\u5c06\u4e0a\u4e00\u65f6\u95f4\u6b65\u6240\u751f\u6210\u7684\u8bcd\u7684\u5411\u91cf\u6765\u4f5c\u4e3a\u5f53\u524d\u65f6\u95f4\u6b65\u7684\u8f93\u5165":39,"\u5c06\u4ed6\u4eec\u79fb\u52a8\u5230\u76ee\u5f55":62,"\u5c06\u4f1a\u81ea\u52a8\u8ba1\u7b97\u51fa\u4e00\u4e2a\u5408\u9002\u7684\u503c":47,"\u5c06\u5176\u8bbe\u7f6e\u6210":27,"\u5c06\u53cc\u5c42\u65f6\u95f4\u5e8f\u5217\u6570\u636e\u5148\u53d8\u6362\u6210\u5355\u5c42\u65f6\u95f4\u5e8f\u5217\u6570\u636e":36,"\u5c06\u542b\u6709\u5b50\u53e5":38,"\u5c06\u542b\u6709\u8bcd\u8bed\u7684\u53e5\u5b50\u5b9a\u4e49\u4e3a\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":38,"\u5c06\u56fe\u7247\u6309\u7167\u4e0a\u8ff0\u7ed3\u6784\u5b58\u50a8\u597d\u4e4b\u540e":57,"\u5c06\u5728":57,"\u5c06\u5728\u8fd0\u884c\u65f6\u62a5\u9519":45,"\u5c06\u5916\u90e8\u7684\u5b58\u50a8\u670d\u52a1\u5728kubernetes\u4e2d\u63cf\u8ff0\u6210\u4e3a\u7edf\u4e00\u7684\u8d44\u6e90\u5f62\u5f0f":50,"\u5c06\u591a\u53e5\u8bdd\u770b\u6210\u4e00\u4e2a\u6574\u4f53\u540c\u65f6\u4f7f\u7528encoder\u538b\u7f29":36,"\u5c06\u591a\u53f0\u673a\u5668\u7684\u6d4b\u8bd5\u7ed3\u679c\u5408\u5e76":47,"\u5c06\u5927\u91cf\u7684":25,"\u5c06\u5b57\u5178\u7684\u5730\u5740\u4f5c\u4e3aargs\u4f20\u7ed9dataprovid":27,"\u5c06\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u7684\u524d\u5411\u548c\u53cd\u5411\u90e8\u5206\u6df7\u5408\u5728\u4e00\u8d77":39,"\u5c06\u6570\u636e\u5904\u7406\u6210\u89c4\u8303\u683c\u5f0f":56,"\u5c06\u6570\u636e\u7ec4\u5408\u6210batch\u8fdb\u884c\u8bad\u7ec3":3,"\u5c06\u6570\u636e\u8f6c\u6362\u4e3apaddle\u7684\u683c\u5f0f":57,"\u5c06\u65b0\u5efa\u7684\u6743\u91cd\u52a0\u5165\u6743\u91cd\u8868":41,"\u5c06\u65e5\u5fd7\u5199\u5165\u6587\u4ef6":62,"\u5c06\u672c\u5730\u7684\u4fee\u6539\u63a8\u9001\u5230":40,"\u5c06\u6837\u672c\u7684\u5730\u5740\u653e\u5165\u53e6\u4e00\u4e2a\u6587\u672c\u6587\u4ef6":3,"\u5c06\u6b64\u76ee\u5f55\u6302\u8f7d\u4e3a\u5bb9\u5668\u7684":52,"\u5c06\u6bcf\u4e2a\u6e90\u8bed\u8a00\u5230\u76ee\u6807\u8bed\u8a00\u7684\u5e73\u884c\u8bed\u6599\u5e93\u6587\u4ef6\u5408\u5e76\u4e3a\u4e00\u4e2a\u6587\u4ef6":65,"\u5c06\u73af\u5883\u53d8\u91cf\u8f6c\u6362\u6210paddle\u7684\u547d\u4ee4\u884c\u53c2\u6570":52,"\u5c06\u7ed3\u679c\u4fdd\u5b58\u5230\u6b64\u76ee\u5f55\u91cc":52,"\u5c06\u884c\u4e2d\u7684\u6570\u636e\u8f6c\u6362\u6210\u4e0einput_types\u4e00\u81f4\u7684\u683c\u5f0f":3,"\u5c06\u88ab\u5206\u4e3a":56,"\u5c06\u8bad\u7ec3\u6587\u4ef6\u4e0e\u5207\u5206\u597d\u7684\u6570\u636e\u4e0a\u4f20\u5230\u5171\u4eab\u5b58\u50a8":52,"\u5c06\u8be5\u53e5\u8bdd\u5305\u542b\u7684\u6240\u6709\u5355\u8bcd\u5411\u91cf\u6c42\u5e73\u5747":60,"\u5c06\u8df3\u8fc7\u5206\u53d1\u9636\u6bb5\u76f4\u63a5\u542f\u52a8\u6240\u6709\u8282\u70b9\u7684\u96c6\u7fa4\u4f5c\u4e1a":45,"\u5c06\u8fd9\u79cd\u8de8\u8d8a\u65f6\u95f4\u6b65\u7684\u8fde\u63a5\u7528\u4e00\u4e2a\u7279\u6b8a\u7684\u795e\u7ecf\u7f51\u7edc\u5355\u5143\u5b9e\u73b0":36,"\u5c06\u8fdc\u7a0b\u4ed3\u5e93":40,"\u5c06\u900f\u660e":45,"\u5c06ip\u6392\u5e8f\u751f\u6210\u7684\u5e8f\u53f7\u4f5c\u4e3atrain":52,"\u5c11\u4e8e5":45,"\u5c1a\u53ef":36,"\u5c31":36,"\u5c31\u4f1a\u751f\u6210\u975e\u5e38\u591a\u7684gener":3,"\u5c31\u53ef\u4ee5\u518d\u8fd0\u884c\u53e6\u4e00\u4e2anginx":30,"\u5c31\u53ef\u4ee5\u5c06\u6570\u636e\u4f20\u9001\u7ed9paddlepaddle\u4e86":3,"\u5c31\u53ef\u4ee5\u5c06\u8fd9\u4e9b\u6587\u4ef6\u6301\u4e45\u5316\u5b58\u50a8":50,"\u5c31\u5f88\u5bb9\u6613\u5bfc\u81f4\u5185\u5b58\u8d85\u9650":27,"\u5c31\u662f":36,"\u5c31\u662f\u6a21\u578b\u7684\u53c2\u6570":28,"\u5c31\u662f\u7528\u4e8e\u5c55\u793a\u4e0a\u8ff0\u5206\u6790\u5de5\u5177\u7684\u7528\u6cd5":44,"\u5c31\u80fd\u591f\u5f88\u65b9\u4fbf\u7684\u5b8c\u6210\u6570\u636e\u4e0b\u8f7d\u548c\u76f8\u5e94\u7684\u9884\u5904\u7406\u5de5\u4f5c":60,"\u5c31\u8fd9\u4e48\u7b80\u5355":30,"\u5c31\u901a\u5e38\u7684gpu\u6027\u80fd\u5206\u6790\u6765\u8bf4":44,"\u5c31\u9700\u8981\u5bf9\u8fd9\u4e2a\u7b2c\u4e09\u65b9\u8bed\u8a00\u589e\u52a0\u4e00\u4e9b\u5b9a\u4e49":25,"\u5c31\u9700\u8981\u9009\u62e9\u4f7f\u7528no":30,"\u5c3a\u5bf8":58,"\u5c40\u90e8\u5173\u8054\u6027\u8d28\u548c\u7a7a\u95f4\u4e0d\u53d8\u6027\u8d28":57,"\u5c42\u540e\u5f97\u5230\u6df1\u5ea6":63,"\u5c42\u548c\u8f93\u5165\u7684\u914d\u7f6e":41,"\u5c42\u6743\u91cd":58,"\u5c42\u6b21\u5316\u7684rnn":38,"\u5c42\u7279\u5f81":58,"\u5c42\u7684\u540d\u79f0\u4e0e":39,"\u5c42\u7684\u5927\u5c0f":41,"\u5c42\u7684\u7279\u5f81":58,"\u5c42\u7684\u7c7b\u578b":41,"\u5c42\u7684\u8f93\u5165":63,"\u5c42\u7684\u8f93\u5165\u548c\u8f93\u51fa\u4f5c\u4e3a\u4e0b\u4e00\u4e2a":63,"\u5c42\u7684\u8f93\u51fa\u88ab\u7528\u4f5c\u95e8\u63a7\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u7684":39,"\u5c42\u7ec4\u6210\u4e00\u5bf9":63,"\u5c45\u7136":36,"\u5c55\u793a\u4e86\u4e00\u79cd\u65b9\u6cd5":65,"\u5c55\u793a\u4e86\u4e0a\u8ff0\u7f51\u7edc\u6a21\u578b\u7684\u8bad\u7ec3\u6548\u679c":60,"\u5c55\u793a\u4e86\u5982\u4f55\u5c06\u6bcf\u4e2a\u7279\u5f81\u6620\u5c04\u5230\u4e00\u4e2a\u5411\u91cf":62,"\u5c5e\u6027":63,"\u5d4c\u5165\u5c42":62,"\u5d4c\u5165\u7279\u5f81\u5b57\u5178":62,"\u5d4c\u5165\u7f16\u53f7\u4f1a\u6839\u636e\u5355\u8bcd\u6392\u5e8f":62,"\u5de5\u4f5c\u6a21\u5f0f":47,"\u5de5\u4f5c\u7a7a\u95f4":45,"\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684":45,"\u5de5\u4f5c\u7a7a\u95f4\u6839\u76ee\u5f55":45,"\u5de5\u4f5c\u7a7a\u95f4\u76ee\u5f55\u7684\u5de5\u4f5c\u7a7a\u95f4":45,"\u5de5\u4f5c\u7a7a\u95f4\u914d\u7f6e":45,"\u5de5\u5177":64,"\u5de5\u5177\u4e2d\u7684\u811a\u672c":64,"\u5de5\u5177\u6765\u7ba1\u7406":40,"\u5de5\u7a0b\u5e08":61,"\u5de6\u56fe\u6784\u9020\u7f51\u7edc\u6a21\u5757\u7684\u65b9\u5f0f\u88ab\u7528\u4e8e34\u5c42\u7684\u7f51\u7edc\u4e2d":58,"\u5de6\u8fb9\u662f":58,"\u5dee\u8bc4":60,"\u5df2\u6253\u5f00":40,"\u5df2\u7ecf\u5728\u96c6\u7fa4\u63d0\u4ea4\u73af\u5883\u4e2d\u5b8c\u6210\u8bbe\u7f6e":47,"\u5df2\u7ecf\u63d0\u4f9b\u4e86\u811a\u672c\u6765\u5e2e\u52a9\u60a8\u521b\u5efa\u8fd9\u4e24\u4e2a\u6587\u4ef6":45,"\u5e02\u573a":61,"\u5e02\u9762\u4e0a\u5df2\u7ecf\u6709nvidia\u6216\u7b2c\u4e09\u65b9\u63d0\u4f9b\u7684\u4f17\u591a\u5de5\u5177":44,"\u5e0c\u671b\u80fd\u8ba9\u6211\u4eec\u77e5\u6653":62,"\u5e2e\u52a9\u6211\u4eec\u5b8c\u6210\u5bf9\u8f93\u5165\u5e8f\u5217\u7684\u62c6\u5206":38,"\u5e2e\u52a9\u6211\u4eec\u66f4\u597d\u5730\u63cf\u8ff0\u6bb5\u843d":38,"\u5e2e\u52a9\u6211\u4eec\u6784\u9020\u4e00\u4e9b\u590d\u6742\u7684\u8f93\u5165\u4fe1\u606f":35,"\u5e38\u5e38\u51fa\u73b0":27,"\u5e38\u7528\u4f18\u5316\u7b97\u6cd5\u5305\u62ecmomentum":60,"\u5e38\u89c1\u7684\u53ef\u9009\u5b58\u50a8\u670d\u52a1\u5305\u62ec":50,"\u5e72\u51c0":36,"\u5e73\u53f0\u4e3a\u60f3\u89c2\u6d4b\u8bcd\u5411\u91cf\u7684\u7528\u6237\u63d0\u4f9b\u4e86\u5c06\u4e8c\u8fdb\u5236\u8bcd\u5411\u91cf\u6a21\u578b\u8f6c\u6362\u4e3a\u6587\u672c\u6a21\u578b\u7684\u529f\u80fd":56,"\u5e73\u5747\u7279\u5f81\u56fe\u7684\u9ad8\u5ea6\u53ca\u5bbd\u5ea6":57,"\u5e74\u9f84":61,"\u5e74\u9f84\u4ece\u4e0b\u5217\u5217\u8868\u8303\u56f4\u4e2d\u9009\u53d6":61,"\u5e74\u9f84\u548c\u804c\u4e1a":62,"\u5e76\u4e0d\u4fdd\u8bc1":41,"\u5e76\u4e0d\u662f\u4f7f\u7528\u53cc\u5c42rnn\u89e3\u51b3\u5b9e\u9645\u7684\u95ee\u9898":36,"\u5e76\u4e0d\u662fkubernetes\u4e2d\u7684node\u6982\u5ff5":52,"\u5e76\u4e0d\u771f\u6b63\u7684\u548c":36,"\u5e76\u4e14":[3,39],"\u5e76\u4e14\u5185\u5c42\u7684\u5e8f\u5217\u64cd\u4f5c\u4e4b\u95f4\u72ec\u7acb\u65e0\u4f9d\u8d56":36,"\u5e76\u4e14\u5206\u522b\u91cd\u547d\u540d\u6587\u4ef6\u540e\u7f00":65,"\u5e76\u4e14\u52a0\u4e0a\u4e0b\u9762\u7684\u547d\u4ee4\u884c\u53c2\u6570":49,"\u5e76\u4e14\u5305\u62ecunit":40,"\u5e76\u4e14\u53ea\u6709\u4e00\u4e2a\u6743\u91cd":58,"\u5e76\u4e14\u53ef\u80fd\u4f1a\u52a0\u901f\u8bad\u7ec3\u8fc7\u7a0b":27,"\u5e76\u4e14\u540e\u7eed\u4ecd\u5728\u4e0d\u65ad\u6539\u8fdb":28,"\u5e76\u4e14\u542f\u52a8\u8bad\u7ec3":52,"\u5e76\u4e14\u5728\u5185\u5b58\u8db3\u591f\u7684\u60c5\u51b5\u4e0b\u8d8a\u5927\u8d8a\u597d":3,"\u5e76\u4e14\u5728\u5e38\u89c1\u7684\u5e73\u53f0\u4e0a":25,"\u5e76\u4e14\u5728\u968f\u540e\u7684\u8bfb\u53d6\u6570\u636e\u8fc7\u7a0b\u4e2d\u586b\u5145\u8bcd\u8868":60,"\u5e76\u4e14\u5728dataprovider\u4e2d\u5b9e\u73b0\u5982\u4f55\u8bbf\u95ee\u8bad\u7ec3\u6587\u4ef6\u5217\u8868":2,"\u5e76\u4e14\u5b83\u4eec\u7684\u987a\u5e8f\u4e0e":58,"\u5e76\u4e14\u5bf9\u7528\u6237\u7684\u7279\u5f81\u505a\u540c\u6837\u7684\u64cd\u4f5c":62,"\u5e76\u4e14\u5c06\u9884\u5904\u7406\u597d\u7684\u6570\u636e\u96c6\u5b58\u653e\u5728":65,"\u5e76\u4e14\u5c55\u793a\u4e86\u5982\u4f55\u5229\u7528paddlepaddle\u6765\u89e3\u51b3\u4e00\u4e2a\u7ecf\u5178\u7684\u7ebf\u6027\u56de\u5f52\u95ee\u9898":33,"\u5e76\u4e14\u67e5\u8be2paddlepaddle\u5355\u5143\u6d4b\u8bd5\u7684\u65e5\u5fd7":27,"\u5e76\u4e14\u7b2c\u4e8c\u4e2a\u662f\u53cd\u5411lstm":64,"\u5e76\u4e14\u7f16\u8bd1\u80fd\u901a\u8fc7\u4ee3\u7801\u6837\u5f0f\u68c0\u67e5":40,"\u5e76\u4e14\u8ba9\u63a5\u53e3\u8131\u79bb\u5b9e\u73b0\u7ec6\u8282":25,"\u5e76\u4e14\u8f93\u51fa\u4e00\u4e2a":40,"\u5e76\u4e14\u901a\u8fc7\u7ed9\u51fa\u5f53\u524d\u76ee\u6807\u5355\u8bcd\u6765\u9884\u6d4b\u4e0b\u4e00\u4e2a\u76ee\u6807\u5355\u8bcd":65,"\u5e76\u4e14\u96c6\u7fa4\u4f5c\u4e1a\u4e2d\u7684\u6240\u6709\u8282\u70b9\u5c06\u5728\u6b63\u5e38\u60c5\u51b5\u4e0b\u5904\u7406\u5177\u6709\u76f8\u540c\u903b\u8f91\u4ee3\u7801\u7684\u6587\u4ef6":45,"\u5e76\u4e14\u9700\u8981\u91cd\u5199\u57fa\u7c7b\u4e2d\u7684\u4ee5\u4e0b\u51e0\u4e2a\u865a\u51fd\u6570":41,"\u5e76\u4e14softmax\u5c42\u7684\u4e24\u4e2a\u8f93\u5165\u4e5f\u4f7f\u7528\u4e86\u540c\u6837\u7684\u53c2\u6570":27,"\u5e76\u4f20\u5165\u76f8\u5e94\u7684\u547d\u4ee4\u884c\u53c2\u6570\u521d\u59cb\u5316paddlepaddl":5,"\u5e76\u4f7f\u7528":63,"\u5e76\u4f7f\u7528\u4e86dropout":60,"\u5e76\u4f7f\u7528\u8fd9\u4e2a\u795e\u7ecf\u7f51\u7edc\u6765\u5bf9\u56fe\u7247\u8fdb\u884c\u5206\u7c7b":57,"\u5e76\u521b\u5efa\u4e86\u4e00\u4e2a\u65b0\u6587\u4ef6":40,"\u5e76\u521b\u5efaoptim":33,"\u5e76\u5728\u4e58\u79ef\u7ed3\u679c\u4e0a\u518d\u52a0\u4e0a\u7ef4\u5ea6\u4e3a":41,"\u5e76\u5728\u6700\u5f00\u59cb\u521d\u59cb\u5316\u4e3a\u8d77\u59cb\u8bcd":39,"\u5e76\u5728\u7b14\u8bb0\u672c\u4e0a\u901a\u8fc7ssh\u4e0e\u5176\u8fde\u63a5":30,"\u5e76\u5728\u7c7b\u6784\u5efa\u51fd\u6570\u4e2d\u628a\u5b83\u653e\u5165\u4e00\u4e2a\u7c7b\u6210\u5458\u53d8\u91cf\u91cc":41,"\u5e76\u5bf9\u76f8\u5e94\u7684\u53c2\u6570\u8c03\u7528":41,"\u5e76\u5c06\u5176\u6295\u5c04\u5230":39,"\u5e76\u5c06\u5b83\u4eec\u6309\u7167\u542f\u53d1\u4ee3\u4ef7":65,"\u5e76\u5c06\u5b83\u4eec\u653e\u5728":65,"\u5e76\u5c06\u6bcf\u8f6e\u7684\u6a21\u578b\u7ed3\u679c\u5b58\u653e\u5728":28,"\u5e76\u5c06develop\u548ctest\u6570\u636e\u5206\u522b\u653e\u5165\u4e0d\u540c\u7684\u6587\u4ef6\u5939":65,"\u5e76\u60f3\u4f7f\u7528gpu\u6765\u8bad\u7ec3\u8bbe\u7f6e\u4e3atru":64,"\u5e76\u6307\u5b9abatch":65,"\u5e76\u63d0\u4f9b\u4e86\u7b80\u5355\u7684cache\u529f\u80fd":3,"\u5e76\u6b22\u8fce\u60a8\u6765\u53c2\u4e0e\u8d21\u732e":64,"\u5e76\u6ca1\u6709paddle\u7279\u522b\u9700\u8981\u7684\u7279\u6027":25,"\u5e76\u7531":63,"\u5e76\u7ed9\u51fa\u5206\u7c7b\u7ed3\u679c":57,"\u5e76\u7ed9\u51fa\u7684\u76f8\u5173\u6a21\u578b\u683c\u5f0f\u7684\u5b9a\u4e49":56,"\u5e76\u88ab\u53cd\u5411\u5904\u7406":63,"\u5e76\u89c2\u5bdf\u7ed3\u679c":44,"\u5e76\u8bb0\u5f55\u5b83\u7684\u7f16\u53f7":40,"\u5e76\u8bbe\u7f6e":[32,45],"\u5e76\u8fdb\u884c\u521d\u59cb\u5316\u64cd\u4f5c":33,"\u5e76\u9010\u6e10\u5c55\u793a\u66f4\u52a0\u6df1\u5165\u7684\u529f\u80fd":60,"\u5e8a\u4e0a\u7528\u54c1":36,"\u5e8a\u57ab":36,"\u5e8f\u5217\u4e2d\u542b\u6709\u5143\u7d20\u7684\u6570\u76ee\u540c":35,"\u5e8f\u5217\u5230\u5e8f\u5217":65,"\u5e8f\u5217\u6570\u636e\u662f\u81ea\u7136\u8bed\u8a00\u5904\u7406\u4efb\u52a1\u9762\u5bf9\u7684\u4e00\u79cd\u4e3b\u8981\u8f93\u5165\u6570\u636e\u7c7b\u578b":38,"\u5e8f\u5217\u662f\u4e00\u79cd\u5e38\u89c1\u7684\u6570\u636e\u7c7b\u578b":35,"\u5e8f\u5217\u751f\u6210\u4efb\u52a1\u5927\u591a\u9075\u5faaencod":38,"\u5e8f\u5217\u751f\u6210\u4efb\u52a1\u7684\u8f93\u5165":38,"\u5e8f\u5217\u7684\u5f00\u59cb":65,"\u5e8f\u5217\u7684\u6bcf\u4e2a\u5143\u7d20\u662f\u539f\u6765\u53cc\u5c42\u5e8f\u5217\u6bcf\u4e2asubseq\u5143\u7d20\u7684\u5e73\u5747\u503c":35,"\u5e8f\u5217\u7684\u7ed3\u5c3e":65,"\u5e8f\u5217\u7684\u7ed3\u675f":65,"\u5e93":45,"\u5e93\u7684\u8def\u5f84":45,"\u5e94\u7528\u524d\u5411\u5faa\u73af\u795e\u7ecf\u7f51\u7edc":39,"\u5e94\u7528\u53cd\u5411\u9012\u5f52\u795e\u7ecf\u7f51\u7edc":39,"\u5e94\u7528\u6a21\u578b":60,"\u5e94\u8be5":36,"\u5e94\u8be5\u4e0e\u5b83\u7684memory\u540d\u5b57\u76f8\u540c":39,"\u5e94\u8be5\u964d\u4f4e\u5b66\u4e60\u7387":27,"\u5e95\u5c42\u8fdb\u7a0b":45,"\u5efa\u7acb\u4e00\u4e2a":40,"\u5efa\u7acb\u4e00\u4e2a\u6d3b\u8dc3\u7684\u5f00\u6e90\u793e\u533a":0,"\u5efa\u8bae\u5c06\u5176\u8bbe\u7f6e\u4e3a\u8f83\u5927":45,"\u5efa\u8bae\u5c06\u8be5\u53c2\u6570\u8bbe\u4e3atrue":47,"\u5f00\u53d1\u4eba\u5458\u4f7f\u7528":40,"\u5f00\u53d1\u4eba\u5458\u53ef\u4ee5\u5728docker\u5f00\u53d1\u955c\u50cf\u4e2d\u5f00\u53d1paddlepaddl":30,"\u5f00\u53d1\u955c\u50cf":[30,40],"\u5f00\u53d1\u955c\u50cf\u5305\u542b\u4e86\u4ee5\u4e0b\u5de5\u5177":30,"\u5f00\u59cb":28,"\u5f00\u59cb\u6807\u8bb0":39,"\u5f00\u59cb\u8bad\u7ec3\u6a21\u578b":60,"\u5f00\u59cb\u9636\u6bb5":44,"\u5f02\u6b65\u968f\u673a\u68af\u5ea6\u4e0b\u964d":46,"\u5f15\u5165lstm\u6a21\u578b\u4e3b\u8981\u662f\u4e3a\u4e86\u514b\u670d\u6d88\u5931\u68af\u5ea6\u7684\u95ee\u9898":64,"\u5f15\u5165paddlepaddle\u7684pydataprovider2\u5305":3,"\u5f15\u53d1":20,"\u5f15\u5bfc\u5c42":39,"\u5f15\u7528":45,"\u5f15\u7528memory\u5f97\u5230\u8fd9layer\u4e0a\u4e00\u65f6\u523b\u8f93\u51fa":38,"\u5f3a\u70c8\u63a8\u8350":36,"\u5f3a\u70c8\u63a8\u8350\u4f7f\u7528virtualenv\u6765\u521b\u9020\u4e00\u4e2a\u5e72\u51c0\u7684python\u73af\u5883":62,"\u5f52\u4e00\u5316\u6982\u7387\u5411\u91cf":39,"\u5f53":49,"\u5f53\u4f20\u9012\u76f8\u540c\u7684\u6837\u672c\u6570\u65f6":64,"\u5f53\u4f60\u6267\u884c\u547d\u4ee4":41,"\u5f53\u51fd\u6570\u8fd4\u56de\u7684\u65f6\u5019":3,"\u5f53\u524d\u5355\u8bcd\u5728\u76f8\u6bd4\u4e4b\u4e0b\u603b\u662f\u88ab\u5f53\u4f5c\u771f\u503c":65,"\u5f53\u524d\u5355\u8bcd\u662f\u89e3\u7801\u5668\u6700\u540e\u4e00\u6b65\u7684\u8f93\u51fa":65,"\u5f53\u524d\u65f6\u95f4\u6b65\u5904\u7684memory\u7684\u8f93\u51fa\u4f5c\u4e3a\u4e0b\u4e00\u65f6\u95f4\u6b65memory\u7684\u8f93\u5165":39,"\u5f53\u524d\u7684\u5b9e\u73b0\u65b9\u5f0f\u4e0b":41,"\u5f53\u524d\u7684\u8f93\u5165y\u548c\u4e0a\u4e00\u4e2a\u65f6\u95f4\u6b65\u7684\u8f93\u51farnn_state\u505a\u4e86\u4e00\u4e2a\u5168\u94fe\u63a5":36,"\u5f53\u524d\u8bc4\u4f30\u4e2d":65,"\u5f53\u524dbatch\u7684cost":65,"\u5f53\u524dlog_period\u4e2abatch\u6240\u6709\u6837\u672c\u7684\u5e73\u5747\u5206\u7c7b\u9519\u8bef\u7387":60,"\u5f53\u524dlog_period\u4e2abatch\u6240\u6709\u6837\u672c\u7684\u5e73\u5747cost":60,"\u5f53\u5728\u7f51\u7edc\u5c42\u914d\u7f6e\u4e2d\u8bbe\u7f6e":47,"\u5f53\u5728\u8bad\u7ec3\u914d\u7f6e\u4e2d\u8bbe\u7f6e":47,"\u5f53\u5bb9\u5668\u56e0\u4e3a\u5404\u79cd\u539f\u56e0\u88ab\u9500\u6bc1\u65f6":50,"\u5f53\u6240\u6709pod\u90fd\u5904\u4e8erunning\u72b6\u6001":52,"\u5f53\u6a21\u578b\u53c2\u6570\u4e0d\u5b58\u5728\u65f6":47,"\u5f53\u6a21\u578b\u8bad\u7ec3\u597d\u4e86\u4e4b\u540e":60,"\u5f53\u6a21\u5f0f\u4e3a":47,"\u5f53\u7136":44,"\u5f53\u7f51\u7edc\u5c42\u7528\u4e00\u4e2a\u6279\u6b21\u505a\u8bad\u7ec3\u65f6":41,"\u5f53\u89e3\u8bfb\u6bcf\u4e00\u4e2a":39,"\u5f53\u8bad\u7ec3\u6570\u636e\u975e\u5e38\u591a\u65f6":3,"\u5f53\u8d85\u8fc7\u8be5\u9608\u503c\u65f6":47,"\u5f53\u8f93\u5165\u662f\u7ef4\u5ea6\u5f88\u9ad8\u7684\u7a00\u758f\u6570\u636e\u65f6":49,"\u5f53\u9700\u8981\u5feb\u901f\u6216\u8005\u9891\u7e41\u7684\u8bc4\u4f30\u65f6":65,"\u5f53classif":65,"\u5f62\u6210recurr":38,"\u5f62\u6210recurrent\u8fde\u63a5":38,"\u5f62\u72b6":58,"\u5f88":[36,60],"\u5f88\u591a":36,"\u5f88\u591a\u5f00\u53d1\u8005\u4f1a\u4f7f\u7528\u8fdc\u7a0b\u7684\u5b89\u88c5\u6709gpu\u7684\u670d\u52a1\u5668\u5de5\u4f5c":30,"\u5f88\u5b89\u9759":36,"\u5f88\u5e72\u51c0":36,"\u5f88\u65b9\u4fbf":36,"\u5f88\u6709\u53ef\u80fd\u5b9e\u9645\u5e94\u7528\u5c31\u662f\u6ca1\u6709\u6309\u7167\u60a8\u7684\u9884\u671f\u60c5\u51b5\u8fd0\u884c":44,"\u5f88\u9002\u5408\u6784\u5efa\u7528\u4e8e\u7406\u89e3\u56fe\u7247\u5185\u5bb9\u7684\u6a21\u578b":57,"\u5f88\u96be\u4fdd\u8bc1\u591a\u8bed\u8a00\u4ee3\u7801\u98ce\u683c\u7684\u4e00\u81f4\u6027":25,"\u5f88\u96be\u6574\u4f53\u4fee\u6b63":3,"\u5f8b\u5e08":61,"\u5f97":36,"\u5f97\u4f7f\u7528":25,"\u5f97\u5230\u53e5\u5b50\u7684\u8868\u793a":60,"\u5f97\u5230\u6700\u597d\u8f6e\u6b21\u4e0b\u7684\u6a21\u578b":62,"\u5faa\u73af\u5c55\u5f00\u7684\u6bcf\u4e2a\u65f6\u95f4\u6b65\u603b\u662f\u80fd\u591f\u5f15\u7528\u6240\u6709\u8f93\u5165":38,"\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u4e2d":39,"\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u4f5c\u4e3a\u4f7f\u7528":39,"\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u548c":39,"\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u5728\u6bcf\u4e2a\u65f6\u95f4\u6b65\u9aa4\u987a\u5e8f\u5730\u5904\u7406\u5e8f\u5217":39,"\u5faa\u73af\u7f51\u7edc\u4ece":39,"\u5fc5\u987b":41,"\u5fc5\u987b\u4e00\u81f4":3,"\u5fc5\u987b\u4f7f\u7528python\u5173\u952e\u8bcd":3,"\u5fc5\u987b\u5c06\u524d\u4e00\u4e2a\u5b50\u53e5\u7684\u6700\u540e\u4e00\u4e2a\u5143\u7d20":36,"\u5fc5\u987b\u6307\u5411\u4e00\u4e2apaddlepaddle\u5b9a\u4e49\u7684lay":38,"\u5fc5\u987b\u662f\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":38,"\u5fc5\u987b\u662f\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217":35,"\u5fc5\u987b\u7531\u53ea\u8bfbmemory\u7684":39,"\u5fd8\u8bb0\u95e8\u548c\u8f93\u51fa\u95e8":64,"\u5feb":[36,64],"\u5feb\u901f\u5165\u95e8":59,"\u5feb\u901f\u5728\u672c\u5730\u542f\u52a8\u4e00\u4e2a\u5355\u673a\u7684kubernetes\u670d\u52a1\u5668":50,"\u5feb\u901f\u90e8\u7f72\u96c6\u7fa4":50,"\u6027\u4ef7\u6bd4":36,"\u6027\u522b":[61,62],"\u6027\u80fd\u5206\u6790":44,"\u6027\u80fd\u5206\u6790\u5de5\u5177\u662f\u7528\u4e8e\u7ed9\u5e94\u7528\u7a0b\u5e8f\u7684\u6027\u80fd\u505a\u5b9a\u91cf\u5206\u6790\u7684":44,"\u6027\u80fd\u5206\u6790\u662f\u6027\u80fd\u4f18\u5316\u7684\u5173\u952e\u4e00\u6b65":44,"\u6027\u80fd\u8c03\u4f18":46,"\u603b\u4f53\u6765\u8bf4":36,"\u603b\u8ba1\u7684\u53c2\u6570\u4e2a\u6570":56,"\u603b\u8bc4\u520610\u5206":64,"\u6050\u6016\u7247":61,"\u60a8\u4f1a\u5728\u63a5\u4e0b\u6765\u7684\u90e8\u5206\u4e2d\u83b7\u5f97\u66f4\u591a\u7684\u7ec6\u8282\u4ecb\u7ecd":44,"\u60a8\u53ef\u4ee5\u4efb\u610f\u4f7f\u7528\u4e00\u4e2a\u6216\u4e24\u4e2a\u6765\u5bf9\u611f\u5174\u8da3\u7684\u4ee3\u7801\u6bb5\u505a\u6027\u80fd\u5206\u6790":44,"\u60a8\u53ef\u4ee5\u5bfc\u5165":44,"\u60a8\u53ef\u4ee5\u91c7\u7528\u4e0b\u9762\u4e94\u4e2a\u6b65\u9aa4":44,"\u60a8\u5c06\u4e86\u89e3\u5982\u4f55":39,"\u60a8\u5c31\u80fd\u83b7\u5f97\u5982\u4e0b\u7684\u5206\u6790\u7ed3\u679c":44,"\u60a8\u6309\u5982\u4e0b\u6b65\u9aa4\u64cd\u4f5c\u5373\u53ef":44,"\u60a8\u6700\u597d\u5148\u786e\u8ba4":44,"\u60a8\u9700\u8981\u66f4\u6539":30,"\u60a8\u9996\u5148\u9700\u8981\u5728\u76f8\u5173\u4ee3\u7801\u6bb5\u4e2d\u52a0\u5165":44,"\u60ac\u7591\u7247":61,"\u60c5\u6001\u52a8\u8bcd":63,"\u60c5\u611f\u5206\u6790":59,"\u60c5\u611f\u5206\u6790\u4e5f\u5e38\u7528\u4e8e\u57fa\u4e8e\u5927\u91cf\u8bc4\u8bba\u548c\u4e2a\u4eba\u535a\u5ba2\u6765\u76d1\u63a7\u793e\u4f1a\u5a92\u4f53":64,"\u60c5\u611f\u5206\u6790\u662f\u81ea\u7136\u8bed\u8a00\u7406\u89e3\u4e2d\u6700\u5178\u578b\u7684\u95ee\u9898\u4e4b\u4e00":64,"\u60c5\u611f\u5206\u6790\u6709\u8bb8\u591a\u5e94\u7528\u573a\u666f":64,"\u60ca\u9669\u7535\u5f71":61,"\u60f3\u4e86\u89e3\u66f4\u591a\u7ec6\u8282\u53ef\u4ee5\u53c2\u8003pydataprovider\u90e8\u5206\u7684\u6587\u6863":64,"\u610f\u5473\u7740\u4e0d\u540c\u65f6\u95f4\u6b65\u7684\u8f93\u5165\u90fd\u662f\u76f8\u540c\u7684\u503c":39,"\u610f\u601d\u662f\u4e0d\u4f7f\u7528\u5e73\u5747\u53c2\u6570\u6267\u884c\u6d4b\u8bd5":47,"\u610f\u601d\u662f\u4e0d\u4fdd\u5b58\u7ed3\u679c":47,"\u610f\u601d\u662f\u4f7f\u7528\u7b2ctest":47,"\u610f\u601d\u662f\u5728gpu\u6a21\u5f0f\u4e0b\u4f7f\u75284\u4e2agpu":47,"\u611f\u89c9":36,"\u620f\u5267":61,"\u6210\u529f\u8bad\u7ec3\u4e14\u9000\u51fa\u7684pod\u6570\u76ee\u4e3a3\u65f6":52,"\u6211\u4eec\u4e0d\u80fd\u901a\u8fc7\u5e38\u89c4\u7684\u68af\u5ea6\u68c0\u67e5\u7684\u65b9\u5f0f\u6765\u8ba1\u7b97\u68af\u5ea6":41,"\u6211\u4eec\u4e3b\u8981\u4f1a\u4ecb\u7ecdnvprof\u548cnvvp":44,"\u6211\u4eec\u4ec5\u4ec5\u5bf9\u795e\u7ecf\u7f51\u7edc\u7684\u8f93\u5165\u8fdb\u884c\u4e86\u63cf\u8ff0":33,"\u6211\u4eec\u4ec5\u4ec5\u662f\u5c06\u6bcf\u4e2a\u7279\u5f81\u79cd\u7c7b\u6620\u5c04\u5230\u4e00\u4e2a\u7279\u5f81\u5411\u91cf\u4e2d":62,"\u6211\u4eec\u4ec5\u6709\u4e00\u4e2a\u8f93\u5165":41,"\u6211\u4eec\u4ec5\u7528":62,"\u6211\u4eec\u4ecb\u7ecd\u5982\u4f55\u5728":51,"\u6211\u4eec\u4ecb\u7ecd\u5982\u4f55\u5728kubernetes\u96c6\u7fa4\u4e0a\u8fdb\u884c\u5206\u5e03\u5f0fpaddlepaddle\u8bad\u7ec3\u4f5c\u4e1a":52,"\u6211\u4eec\u4ece\u63d0\u524d\u7ed9\u5b9a\u7684\u7c7b\u522b\u96c6\u5408\u4e2d\u9009\u62e9\u5176\u6240\u5c5e\u7c7b\u522b":60,"\u6211\u4eec\u4ee5mnist\u624b\u5199\u8bc6\u522b\u4e3a\u4f8b":3,"\u6211\u4eec\u4f1a\u53d1\u73b0\u6570\u636e\u96c6":65,"\u6211\u4eec\u4f1a\u5728":30,"\u6211\u4eec\u4f1a\u7ee7\u7eed\u4f7f\u7528\u73b0\u6709\u7684\u5185\u5b58\u5757":41,"\u6211\u4eec\u4f1a\u91cd\u65b0\u5206\u914d\u5185\u5b58":41,"\u6211\u4eec\u4f7f\u7528":[41,45,64],"\u6211\u4eec\u4f7f\u7528\u4e0d\u540c\u7684layer\u8fdb\u884c\u7ec4\u5408":33,"\u6211\u4eec\u4f7f\u7528\u4e86":36,"\u6211\u4eec\u4f7f\u7528\u4e86\u4e00\u4e2a\u7f16\u89e3\u7801\u6a21\u578b\u7684\u6269\u5c55":65,"\u6211\u4eec\u4f7f\u7528\u4e86\u5faa\u73af\u795e\u7ecf\u7f51\u7edc":64,"\u6211\u4eec\u4f7f\u7528\u5176\u4e2d\u7684":65,"\u6211\u4eec\u4f7f\u7528\u52a8\u6001\u5e93\u6765\u5206\u53d1paddl":25,"\u6211\u4eec\u4f7f\u7528\u6700\u5927\u6982\u7387\u7684\u6807\u7b7e\u4f5c\u4e3a\u7ed3\u679c":63,"\u6211\u4eec\u4f7f\u7528\u96c6\u675f\u641c\u7d22":65,"\u6211\u4eec\u4f7f\u7528paddlepaddle\u5728ilsvrc\u7684\u9a8c\u8bc1\u96c6\u517150":58,"\u6211\u4eec\u5047\u8bbe\u4e00\u53f0\u673a\u5668\u4e0a\u67094\u4e2agpu":49,"\u6211\u4eec\u5047\u8bbe\u623f\u4ea7\u7684\u4ef7\u683c":28,"\u6211\u4eec\u5148\u4ece\u4e00\u6761\u968f\u673a\u7684\u76f4\u7ebf":28,"\u6211\u4eec\u51c6\u5907\u4e86\u4e00\u4e2a\u811a\u672c":57,"\u6211\u4eec\u5373\u53ef\u5b8c\u6210\u795e\u7ecf\u7f51\u7edc\u7684\u642d\u5efa":33,"\u6211\u4eec\u53ea\u4f7f\u7528\u5df2\u7ecf\u6807\u6ce8\u8fc7\u7684\u8bad\u7ec3\u96c6\u548c\u6d4b\u8bd5\u96c6":64,"\u6211\u4eec\u53ea\u6240\u4ee5\u4f7f\u7528lstm\u6765\u6267\u884c\u8fd9\u4e2a\u4efb\u52a1\u662f\u56e0\u4e3a\u5176\u6539\u8fdb\u7684\u8bbe\u8ba1\u5e76\u4e14\u5177\u6709\u95e8\u673a\u5236":64,"\u6211\u4eec\u53ea\u6f14\u793a\u4e00\u4e2a\u5355\u673a\u4f5c\u4e1a":51,"\u6211\u4eec\u53ea\u9700\u8981\u4f7f\u7528lstm":36,"\u6211\u4eec\u53ea\u9700\u8981\u8fd0\u884c":60,"\u6211\u4eec\u53ea\u9700\u8981\u8fd0\u884c\u4e0b\u9762\u547d\u4ee4\u628a\u7f16\u8bd1\u597d\u7684paddlepaddle\u6253\u5305\u6210\u4e00\u4e2a":40,"\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528":57,"\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u5176\u4ed6layer\u8fdb\u884c\u7ec4\u5408":33,"\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u5b83\u6765\u751f\u6210\u5e8f\u5217":39,"\u6211\u4eec\u53ef\u4ee5\u521b\u5efatrainer\u6765\u5bf9\u7f51\u7edc\u8fdb\u884c\u8bad\u7ec3":33,"\u6211\u4eec\u53ef\u4ee5\u5728":40,"\u6211\u4eec\u53ef\u4ee5\u5b9a\u4e49\u5982\u4e0b\u7684layer\u7ec4\u5408":33,"\u6211\u4eec\u53ef\u4ee5\u5b9a\u4e49\u5982\u4e0blayer\u6765\u63cf\u8ff0\u795e\u7ecf\u7f51\u7edc\u7684\u8f93\u5165":33,"\u6211\u4eec\u53ef\u4ee5\u5c06":45,"\u6211\u4eec\u53ef\u4ee5\u6309\u7167\u5982\u4e0b\u5c42\u6b21\u5b9a\u4e49\u975e\u5e8f\u5217":35,"\u6211\u4eec\u53ef\u4ee5\u751f\u6210":62,"\u6211\u4eec\u53ef\u4ee5\u76f4\u63a5\u89c2\u5bdf\u6a21\u578b\u7684\u53c2\u6570\u662f\u5426\u7b26\u5408\u9884\u671f\u6765\u8fdb\u884c\u68c0\u9a8c":28,"\u6211\u4eec\u53ef\u4ee5\u770b\u5230\u5728\u76ee\u5f55":64,"\u6211\u4eec\u53ef\u4ee5\u8bbe\u8ba1\u642d\u5efa\u4e00\u4e2a\u7075\u6d3b\u7684":38,"\u6211\u4eec\u53ef\u4ee5\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u6765\u505ableu\u8bc4\u4f30":65,"\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u6765\u8bad\u7ec3\u6a21\u578b":65,"\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u6765\u8fdb\u884c\u4ece\u6cd5\u8bed\u5230\u82f1\u8bed\u7684\u6587\u672c\u7ffb\u8bd1":65,"\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u8fdb\u884c\u9884\u5904\u7406\u5de5\u4f5c":57,"\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u65e5\u5fd7\u67e5\u770b\u5bb9\u5668\u8bad\u7ec3\u7684\u60c5\u51b5":52,"\u6211\u4eec\u57285\u5929\u91cc\u8bad\u7ec3\u4e8616\u4e2apass":65,"\u6211\u4eec\u5728\u51fd\u6570\u7684\u7ed3\u5c3e\u8fd4\u56de":39,"\u6211\u4eec\u5728\u62e5\u670950\u4e2a\u8282\u70b9\u7684\u96c6\u7fa4\u4e2d\u8bad\u7ec3\u6a21\u578b":65,"\u6211\u4eec\u5728\u8bad\u7ec3\u4e4b\u524d\u9700\u8981\u5e38\u89c1\u4e00\u4e2a\u6a21\u578b\u914d\u7f6e\u6587\u4ef6":65,"\u6211\u4eec\u5728initialzier\u51fd\u6570\u91cc\u521d\u59cb\u5316\u8bcd\u8868":60,"\u6211\u4eec\u5bf9\u6a21\u578b\u8fdb\u884c\u4e86\u4ee5\u4e0b\u66f4\u6539":39,"\u6211\u4eec\u5c06":[52,62],"\u6211\u4eec\u5c06\u4e00\u6bb5\u8bdd\u770b\u6210\u53e5\u5b50\u7684\u6570\u7ec4":36,"\u6211\u4eec\u5c06\u4ecb\u7ecd\u5982\u4f55\u542f\u52a8\u5206\u5e03\u5f0f\u8bad\u7ec3\u4f5c\u4e1a":51,"\u6211\u4eec\u5c06\u4ee5":[45,60],"\u6211\u4eec\u5c06\u4ee5\u6700\u57fa\u672c\u7684\u903b\u8f91\u56de\u5f52\u7f51\u7edc\u4f5c\u4e3a\u8d77\u70b9":60,"\u6211\u4eec\u5c06\u4f7f\u7528":39,"\u6211\u4eec\u5c06\u4f7f\u7528\u7b80\u5355\u7684":39,"\u6211\u4eec\u5c06\u4f7f\u7528cifar":57,"\u6211\u4eec\u5c06\u539f\u59cb\u6570\u636e\u7684\u6bcf\u4e00\u7ec4":36,"\u6211\u4eec\u5c06\u5728\u540e\u9762\u4ecb\u7ecd\u8bad\u7ec3\u548c\u9884\u6d4b\u6d41\u7a0b\u7684\u811a\u672c":60,"\u6211\u4eec\u5c06\u5b83\u4eec\u5212\u5206\u4e3a\u4e0d\u540c\u7684\u7c7b\u522b":46,"\u6211\u4eec\u5c06\u5bf9\u8fd9\u4e24\u4e2a\u6b65\u9aa4\u7ed9\u51fa\u4e86\u8be6\u7ec6\u7684\u89e3\u91ca":60,"\u6211\u4eec\u5c06\u653e\u7f6e\u4f9d\u8d56\u5e93":45,"\u6211\u4eec\u5c06\u8bc4\u5206\u5206\u6210\u4e24\u90e8\u5206":62,"\u6211\u4eec\u5c06\u9610\u91ca\u5982\u4f55\u5728\u96c6\u7fa4\u4e0a\u8fd0\u884c\u5206\u5e03\u5f0f":45,"\u6211\u4eec\u5c31\u53ef\u4ee5\u7740\u624b\u5bf9\u5206\u7c7b\u6a21\u578b\u8fdb\u884c\u8bad\u7ec3\u4e86":57,"\u6211\u4eec\u5c31\u53ef\u4ee5\u8bad\u7ec3\u6a21\u578b\u4e86":60,"\u6211\u4eec\u5c31\u53ef\u4ee5\u8fdb\u884c\u9884\u6d4b\u4e86":60,"\u6211\u4eec\u5c31\u5b8c\u6210\u4e86\u4e00\u6b21\u4ee3\u7801\u8d21\u732e\u7684\u8fc7\u7a0b":40,"\u6211\u4eec\u5c55\u793a\u5982\u4f55\u7528paddlepaddle\u89e3\u51b3":28,"\u6211\u4eec\u5df2\u7ecf\u5b9e\u73b0\u4e86\u5927\u591a\u6570\u5e38\u7528\u7684\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u67b6\u6784":39,"\u6211\u4eec\u5e0c\u671b\u80fd\u5728\u8fd9\u4e2a\u57fa\u7840\u4e0a\u4e0d\u65ad\u7684\u6539\u8fdb":0,"\u6211\u4eec\u5e0c\u671b\u80fd\u591f\u68c0\u9a8c\u6a21\u578b\u7684\u597d\u574f":28,"\u6211\u4eec\u5e94\u5f53\u4f1a\u5f97\u5230\u4e00\u4e2a\u540d\u4e3acifar":57,"\u6211\u4eec\u5efa\u8bae\u4f60\u4e3a\u4f60\u7684python\u5c01\u88c5\u5b9e\u73b0\u4e00\u4e2a":41,"\u6211\u4eec\u5efa\u8bae\u4f60\u5728\u5199\u65b0\u7f51\u7edc\u5c42\u65f6\u628a\u6d4b\u8bd5\u4ee3\u7801\u653e\u5165\u65b0\u7684\u6587\u4ef6\u4e2d":41,"\u6211\u4eec\u603b\u7ed3\u4e86\u5404\u4e2a\u7f51\u7edc\u7684\u590d\u6742\u5ea6\u548c\u6548\u679c":60,"\u6211\u4eec\u611f\u8c22":65,"\u6211\u4eec\u628apaddlepaddle\u7684\u7f16\u8bd1\u73af\u5883\u6253\u5305\u6210\u4e00\u4e2a\u955c\u50cf":30,"\u6211\u4eec\u63a8\u8350\u4f7f\u7528":30,"\u6211\u4eec\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u7248\u672c\u7684cudnn":29,"\u6211\u4eec\u63a8\u8350\u4f7f\u7528docker\u955c\u50cf\u6765\u90e8\u7f72\u73af\u5883":31,"\u6211\u4eec\u63d0\u4f9b\u4e24\u4e2a\u7f51\u7edc":64,"\u6211\u4eec\u63d0\u4f9b\u4e86\u4e00\u4e2a\u6570\u636e\u9884\u5904\u7406\u811a\u672c":64,"\u6211\u4eec\u63d0\u4f9b\u4e86\u4e00\u4e2a\u793a\u4f8b\u811a\u672c":58,"\u6211\u4eec\u63d0\u4f9b\u4e86\u56fd\u5185\u7684\u955c\u50cf\u670d\u52a1\u5668\u4f9b\u5927\u5bb6\u4f7f\u7528":30,"\u6211\u4eec\u63d0\u4f9b\u4e86\u811a\u672c\u6765\u6784\u5efa\u5b57\u5178\u548c\u9884\u5904\u7406\u6570\u6910":64,"\u6211\u4eec\u63d0\u4f9b\u4e86c":58,"\u6211\u4eec\u63d0\u4f9b\u53ef\u4ee5\u76f4\u63a5\u8fd0\u884cpaddlepaddl":30,"\u6211\u4eec\u662f\u5bf9\u6bcf\u4e00\u4e2a\u5b50\u5e8f\u5217\u53d6\u6700\u540e\u4e00\u4e2a\u5143\u7d20":36,"\u6211\u4eec\u6700\u7ec8\u7684\u52a8\u6001\u5e93\u4e2d\u4e0d\u5d4c\u5165python\u6216\u8005\u5176\u4ed6\u4efb\u4f55\u8bed\u8a00\u7684\u89e3\u91ca\u5668":25,"\u6211\u4eec\u6709\u4e00\u4e2a\u5e8f\u5217\u4f5c\u4e3a\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u7684\u72b6\u6001":39,"\u6211\u4eec\u7528":61,"\u6211\u4eec\u7528\u4ee5\u4e0b\u7684\u4e00\u4e9b":62,"\u6211\u4eec\u7528\u7f16\u53f7\u4f5c\u4e3akei":62,"\u6211\u4eec\u7528paddlepaddle\u89e3\u51b3\u4e86\u5355\u53d8\u91cf\u7ebf\u6027\u56de\u5f52\u95ee\u9898":28,"\u6211\u4eec\u7684\u5b57\u5178\u4f7f\u7528\u5185\u90e8\u7684\u5206\u8bcd\u5de5\u5177\u5bf9\u767e\u5ea6\u77e5\u9053\u548c\u767e\u5ea6\u767e\u79d1\u7684\u8bed\u6599\u8fdb\u884c\u5206\u8bcd\u540e\u4ea7\u751f":56,"\u6211\u4eec\u7684\u6807\u51c6\u5f00\u53d1\u6d41\u7a0b\u662f\u628a\u8fd9\u4e9b\u5de5\u5177\u90fd\u88c5\u8fdb\u4e00\u4e2adocker":40,"\u6211\u4eec\u7684\u8bad\u7ec3\u66f2\u7ebf\u5982\u4e0b":63,"\u6211\u4eec\u770b\u4e00\u4e0b\u5355\u5c42rnn\u7684\u914d\u7f6e":36,"\u6211\u4eec\u770b\u4e00\u4e0b\u8bed\u4e49\u76f8\u540c\u7684\u53cc\u5c42rnn\u7684\u7f51\u7edc\u914d\u7f6e":36,"\u6211\u4eec\u771f\u8bda\u5730\u611f\u8c22\u60a8\u7684\u5173\u6ce8":64,"\u6211\u4eec\u771f\u8bda\u5730\u611f\u8c22\u60a8\u7684\u8d21\u732e":40,"\u6211\u4eec\u79f0\u4e4b\u4e3a\u4e00\u4e2a0\u5c42\u7684\u5e8f\u5217":35,"\u6211\u4eec\u8fd8\u53ef\u4ee5\u767b\u5f55\u5230\u5bbf\u4e3b\u673a\u4e0a\u67e5\u770b\u8bad\u7ec3\u7ed3\u679c":51,"\u6211\u4eec\u8fd8\u5c06\u7f16\u7801\u5411\u91cf\u6295\u5c04\u5230":39,"\u6211\u4eec\u9009\u53d6\u5355\u53cc\u5c42\u5e8f\u5217\u914d\u7f6e\u4e2d\u7684\u4e0d\u540c\u90e8\u5206":36,"\u6211\u4eec\u901a\u5e38\u5728\u6240\u6709\u8282\u70b9\u4e0a\u521b\u5efa\u4e00\u4e2a":45,"\u6211\u4eec\u901a\u5e38\u5c06\u4e00\u53e5\u8bdd\u7406\u89e3\u6210\u4e00\u4e2a\u65f6\u95f4\u5e8f\u5217":36,"\u6211\u4eec\u901a\u8fc7\u8bfb\u53d6":52,"\u6211\u4eec\u9075\u5faa":65,"\u6211\u4eec\u91c7\u7528\u4e0a\u9762\u7684\u7279\u5f81\u6a21\u677f":63,"\u6211\u4eec\u91c7\u7528\u5355\u5c42lstm\u6a21\u578b":60,"\u6211\u4eec\u91c7\u7528\u7b2c\u4e8c\u4e2a\u65b9\u6cd5":30,"\u6211\u4eec\u9700\u8981\u5148\u521b\u5efa\u4e00\u4e2a\u6a21\u578b\u914d\u7f6e\u6587\u4ef6":57,"\u6211\u4eec\u9700\u8981\u521b\u5efa\u6a21\u578b\u914d\u7f6e\u6587\u4ef6":65,"\u6211\u4eec\u9700\u8981\u5236\u4f5c\u4e00\u4e2a\u5305\u542b\u8bad\u7ec3\u6570\u636e\u7684paddle\u955c\u50cf":51,"\u6211\u4eec\u9700\u8981\u5728\u96c6\u7fa4\u7684\u6240\u6709\u8282\u70b9\u4e0a\u5b89\u88c5":45,"\u6211\u4eec\u9700\u8981\u8ba1\u7b97":41,"\u6211\u4eec\u9700\u8981\u8bbe\u7f6e":62,"\u6211\u4eec\u9700\u8981\u9884\u5904\u7406\u6570\u6910\u5e76\u6784\u5efa\u4e00\u4e2a\u5b57\u5178":64,"\u6211\u4eec\u975e\u5e38\u6b22\u8fce\u60a8\u7528paddlepaddle\u6784\u5efa\u66f4\u597d\u7684\u793a\u4f8b":62,"\u6211\u4eec\u9884\u8bad\u7ec3\u5f97\u52304\u79cd\u4e0d\u540c\u7ef4\u5ea6\u7684\u8bcd\u5411\u91cf":56,"\u6211\u4eec\u9996\u5148\u5904\u7406\u7535\u5f71\u6216\u7528\u6237\u7684\u7279\u5f81\u6587\u4ef6":62,"\u6211\u4eec\u9996\u5148\u9700\u8981\u6839\u636e\u795e\u7ecf\u7f51\u7edc\u7ed3\u6784\u6765\u521b\u5efa\u6240\u9700\u8981\u4f18\u5316\u7684paramet":33,"\u6211\u4eec\u9ed8\u8ba4\u4f7f\u7528imdb\u7684\u6d4b\u8bd5\u6570\u636e\u96c6\u4f5c\u4e3a\u9a8c\u8bc1":64,"\u6211\u5220\u9664\u4e86":40,"\u6216":[3,44,57,63],"\u6216\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":35,"\u6216\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217\u7ecf\u8fc7\u8fd0\u7b97\u53d8\u6210\u4e00\u4e2a0\u5c42\u5e8f\u5217":35,"\u6216\u4e00\u4e2a\u5411\u91cf":38,"\u6216\u4e0d\u786e\u5b9a":61,"\u6216\u5355\u5c42\u5e8f\u5217\u7ecf\u8fc7\u8fd0\u7b97\u53d8\u6210\u4e00\u4e2a0\u5c42\u5e8f\u5217":35,"\u6216\u662f\u624b\u52a8\u7f16\u8f91\u751f\u6210":62,"\u6216\u6700\u5927\u503c":35,"\u6216\u6d4b\u8bd5\u6587\u4ef6\u5217\u8868":2,"\u6216\u7b2c\u4e00\u4e2a":35,"\u6216\u7b2c\u4e00\u4e2a\u5143\u7d20":35,"\u6216\u8005":[25,27,30,32,35,36,44],"\u6216\u8005\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":38,"\u6216\u8005\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217":[35,38],"\u6216\u8005\u4ece\u5de5\u5177\u7684\u754c\u9762\u91cc\u8fd0\u884c\u60a8\u7684\u5e94\u7528":44,"\u6216\u8005\u53cd\u5411\u5730\u4ece":39,"\u6216\u8005\u5728cpu\u6a21\u5f0f\u4e0b\u4f7f\u75284\u4e2a\u7ebf\u7a0b":47,"\u6216\u8005\u5df2\u7ecf\u5728\u96c6\u7fa4\u63d0\u4ea4\u73af\u5883\u4e2d\u81ea\u52a8\u8bbe\u7f6e":46,"\u6216\u8005\u6570\u636e\u5e93\u8fde\u63a5\u8def\u5f84\u7b49":2,"\u6216\u8005\u6570\u7ec4\u7684\u6570\u7ec4\u8fd9\u4e2a\u6982\u5ff5":36,"\u6216\u8005\u662f\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217":35,"\u6216\u8005\u662f\u4e00\u4e2a\u5c0f\u7684\u6587\u672c\u7247\u6bb5":64,"\u6216\u8005\u662f\u51fd\u6570\u8c03\u7528\u7684\u9891\u7387\u548c\u8017\u65f6\u7b49":44,"\u6216\u8005\u66f4\u65e9":27,"\u6216\u8005\u6bcf\u4e00\u4e2a\u7cfb\u5217\u91cc\u7684\u7279\u5f81\u6570\u636e":36,"\u6216\u8005\u76f4\u63a5\u4f7f\u7528\u4e0b\u9762\u7684shell\u547d\u4ee4":58,"\u6216\u8005\u76f4\u63a5\u6254\u6389\u975e\u5e38\u957f\u7684\u5e8f\u5217":27,"\u6216\u8005\u8f93\u5165\u6570\u636e\u5c3a\u5ea6\u8fc7\u5927":27,"\u6216\u8005\u91c7\u7528\u5e76\u884c\u8ba1\u7b97\u6765\u52a0\u901f\u67d0\u4e9b\u5c42\u7684\u66f4\u65b0":49,"\u6216\u8005\u9700\u8981\u53d1\u5e03\u60a8\u7684\u5e94\u7528\u7684\u955c\u50cf":30,"\u6216\u8005\u9700\u8981\u66f4\u9ad8\u7684\u6548\u7387":2,"\u6216\u8bbe\u7f6e\u4e3anone":2,"\u6216gpu":47,"\u6216gpu\u4e2a\u6570":64,"\u6218\u4e89\u7247":61,"\u623f":36,"\u623f\u95f4":36,"\u6240\u4ee5":[3,27],"\u6240\u4ee5\u4e00\u822c\u9700\u8981\u5bf9\u8bad\u7ec3\u7528\u7684\u6a21\u578b\u914d\u7f6e\u6587\u4ef6\u7a0d\u4f5c\u76f8\u5e94\u4fee\u6539\u624d\u80fd\u5728\u9884\u6d4b\u65f6\u4f7f\u7528":5,"\u6240\u4ee5\u4f60\u53ea\u7528\u6309\u4e0b\u9762\u7684\u7ed3\u6784\u6765\u7ec4\u7ec7\u6570\u6910\u5c31\u884c\u4e86":64,"\u6240\u4ee5\u505a\u6cd5\u53ef\u4ee5\u6709\u4e24\u79cd":27,"\u6240\u4ee5\u53ef\u4ee5\u5229\u7528\u5982\u4e0b\u65b9\u6cd5\u8bfb\u53d6\u6a21\u578b\u7684\u53c2\u6570":28,"\u6240\u4ee5\u53ef\u4ee5\u7b80\u5316\u5bf9\u73af\u5883\u7684\u8981\u6c42":51,"\u6240\u4ee5\u5916\u5c42\u8f93\u51fa\u7684\u5e8f\u5217\u5f62\u72b6":36,"\u6240\u4ee5\u5982\u679c\u9700\u8981\u81ea\u884c\u914d\u7f6e\u5f00\u53d1\u73af\u5883\u9700\u8981\u8003\u8651\u7248\u672c\u7684\u56e0\u7d20":30,"\u6240\u4ee5\u5b83\u4eec\u4f7f\u7528\u540c\u4e00\u4e2aip\u5730\u5740":50,"\u6240\u4ee5\u5bf9":36,"\u6240\u4ee5\u5f88\u591a\u65f6\u5019\u4f60\u9700\u8981\u505a\u7684\u53ea\u662f\u5b9a\u4e49\u6b63\u786e\u7684\u7f51\u7edc\u5c42\u5e76\u628a\u5b83\u4eec\u8fde\u63a5\u8d77\u6765":28,"\u6240\u4ee5\u6027\u80fd\u4e5f\u5c31\u9010\u6b65\u53d8\u6210\u4e86\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u6700\u91cd\u8981\u7684\u6307\u6807":44,"\u6240\u4ee5\u6211\u4eec\u4f7f\u7528\u8fd9\u4e2a\u955c\u50cf\u6765\u4e0b\u8f7d\u8bad\u7ec3\u6570\u636e\u5230docker":51,"\u6240\u4ee5\u6211\u4eec\u53ef\u4ee5\u5728\u8fd9\u4e2a\u57fa\u7840\u4e0a":52,"\u6240\u4ee5\u6211\u4eec\u63a8\u8350\u4f7f\u7528\u57fa\u4e8edocker\u6765\u6784\u5efapaddlepaddle\u7684\u6587\u6863":42,"\u6240\u4ee5\u6211\u4eec\u9700\u8981\u5c06\u8f93\u5165\u6570\u636e\u6807\u8bb0\u6210":36,"\u6240\u4ee5\u63a8\u8350\u4f7f\u7528\u663e\u5f0f\u6307\u5b9a\u7684\u65b9\u5f0f\u6765\u8bbe\u7f6einput_typ":3,"\u6240\u4ee5\u653e\u4e00\u4e2a\u7a7a\u5217\u8868":28,"\u6240\u4ee5\u8bad\u7ec3":45,"\u6240\u4ee5\u8f93\u51fa\u7684value\u5305\u542b\u4e24\u4e2a\u5411\u91cf":5,"\u6240\u4ee5\u8fd9\u4e00\u6b65\u662f\u5fc5\u8981\u7684":41,"\u6240\u5bf9\u5e94\u7684\u8bcd\u8868index\u6570\u7ec4":36,"\u6240\u6709\u4ee3\u7801\u5fc5\u987b\u5177\u6709\u5355\u5143\u6d4b\u8bd5":40,"\u6240\u6709\u53c2\u6570\u7f6e\u4e3a\u96f6":47,"\u6240\u6709\u540c\u76ee\u5f55\u4e0b\u7684\u6587\u672c\u5b9e\u4f8b\u6587\u4ef6\u90fd\u662f\u540c\u7ea7\u522b\u7684":64,"\u6240\u6709\u547d\u4ee4\u884c\u9009\u9879\u53ef\u4ee5\u8bbe\u7f6e\u4e3a":45,"\u6240\u6709\u6587\u4ef6\u5217\u8868":3,"\u6240\u6709\u672c\u5730\u8bad\u7ec3":45,"\u6240\u6709\u6807\u8bb0\u7684\u6d4b\u8bd5\u96c6\u548c\u8bad\u7ec3\u96c6":64,"\u6240\u6709\u751f\u6210\u7684\u7684\u6587\u4ef6\u90fd\u5728build\u76ee\u5f55\u4e0b":30,"\u6240\u6709\u7684":[40,41],"\u6240\u6709\u7684\u4eba\u53e3\u7edf\u8ba1\u5b66\u4fe1\u606f\u7531\u7528\u6237\u81ea\u613f\u63d0\u4f9b":61,"\u6240\u6709\u7684\u5355\u6d4b\u90fd\u4f1a\u88ab\u6267\u884c\u4e00\u6b21":41,"\u6240\u6709\u7684\u64cd\u4f5c\u90fd\u662f\u9488\u5bf9\u6bcf\u4e00\u4e2a\u65f6\u95f4\u6b65\u6765\u8fdb\u884c\u7684":36,"\u6240\u6709\u7684\u7528\u6237\u4fe1\u606f\u90fd\u5305\u542b\u5728":61,"\u6240\u6709\u7684\u7535\u5f71\u4fe1\u606f\u90fd\u5305\u542b\u5728":61,"\u6240\u6709\u7684\u8bc4\u5206\u6570\u636e\u90fd\u5305\u542b\u5728":61,"\u6240\u6709\u7684python\u5c01\u88c5\u90fd\u4f7f\u7528":41,"\u6240\u6709\u7684python\u5c01\u88c5\u90fd\u5728":41,"\u6240\u6709\u7f51\u7edc\u5c42\u7684\u68af\u5ea6\u68c0\u67e5\u5355\u6d4b\u90fd\u4f4d\u4e8e":41,"\u6240\u6709\u8282\u70b9\u8fd0\u884c\u96c6\u7fa4\u4f5c\u4e1a\u7684\u4e3b\u673a\u540d\u6216":45,"\u6240\u6709\u8d21\u732e\u8005":0,"\u6240\u6709\u8f93\u5165\u5e8f\u5217\u5e94\u8be5\u6709\u76f8\u540c\u7684\u957f\u5ea6":39,"\u6240\u6709\u914d\u7f6e\u90fd\u80fd\u5728":60,"\u6240\u6784\u5efa\u7f51\u7edc\u7ed3\u6784\u7684\u7684\u6df1\u5ea6\u6bd4\u4e4b\u524d\u4f7f\u7528\u7684\u7f51\u7edc\u6709\u5927\u5e45\u5ea6\u7684\u63d0\u9ad8":58,"\u6240\u793a":63,"\u6240\u8c13\u65f6\u95f4\u6b65\u4fe1\u606f":3,"\u624b\u5199\u591a\u8bed\u8a00\u7ed1\u5b9a":25,"\u624b\u5de5\u827a\u8005":61,"\u624d\u4f1a\u91ca\u653e\u8be5\u6bb5\u5185\u5b58":3,"\u624d\u4f1astop":3,"\u624d\u80fd\u4fdd\u8bc1\u548c\u5355\u5c42\u5e8f\u5217\u7684\u914d\u7f6e\u4e2d":36,"\u624d\u80fd\u5145\u5206\u5229\u7528mac":30,"\u624d\u80fd\u53d1\u6325\u5176\u5168\u90e8\u80fd\u529b":44,"\u6253\u5370\u5728\u5c4f\u5e55\u4e0a":62,"\u6253\u5370\u7684\u65e5\u5fd7\u53d8\u591a":29,"\u6253\u5f00":44,"\u6253\u5f00\u6587\u672c\u6587\u4ef6":3,"\u6253\u5f00\u6d4f\u89c8\u5668\u8bbf\u95ee\u5bf9\u5e94\u76ee\u5f55\u4e0b\u7684index":42,"\u6267\u884c":[32,63,64],"\u6267\u884c\u4e0b\u9762\u7684\u547d\u4ee4\u5c31\u53ef\u4ee5\u9884\u5904\u7406\u6570\u6910":64,"\u6267\u884c\u4ee5\u4e0b\u64cd\u4f5c":39,"\u6267\u884c\u60a8\u7684\u4ee3\u7801":44,"\u6267\u884c\u7684\u547d\u4ee4\u5982\u4e0b":58,"\u6269\u5c55\u548c\u5ef6\u4f38":0,"\u6269\u5c55\u673a\u5236\u7b49\u529f\u80fd":50,"\u6279\u6b21\u540e\u6253\u5370\u65e5\u5fd7":62,"\u6279\u6b21\u5bf9\u5e73\u5747\u53c2\u6570\u8fdb\u884c\u6d4b\u8bd5":63,"\u6279\u6b21\u7684\u6570\u636e":62,"\u627e\u5230":39,"\u627e\u5230\u8fd0\u884c\u6162\u7684\u539f\u56e0":44,"\u627e\u5230\u8fd0\u884c\u6162\u7684\u90e8\u5206":44,"\u6280\u672f\u5458":61,"\u628a":41,"\u628a\u7528\u6237\u5728\u8d2d\u7269\u7f51\u7ad9":64,"\u628a\u7f16\u8bd1\u51fa\u6765\u7684paddlepaddle\u4e5f\u6253\u5305\u6210\u4e00\u4e2a\u955c":30,"\u628a\u8bad\u7ec3\u6570\u636e\u76f4\u63a5\u653e\u5728":51,"\u6293\u53d6\u4ea7\u54c1\u7684\u7528\u6237\u8bc4\u8bba\u5e76\u5206\u6790\u4ed6\u4eec\u7684\u60c5\u611f":64,"\u6295\u5c04\u53cd\u5411rnn\u7684\u7b2c\u4e00\u4e2a\u5b9e\u4f8b\u5230":39,"\u6295\u5c04\u7f16\u7801\u5411\u91cf\u5230":39,"\u62a5\u9519":32,"\u62bd\u53d6\u51fa\u7684\u65b0\u8bcd\u8868\u7684\u4fdd\u5b58\u8def\u5f84":56,"\u62bd\u53d6\u5bf9\u5e94\u7684\u8bcd\u5411\u91cf\u6784\u6210\u65b0\u7684\u8bcd\u8868":56,"\u62c6\u5206\u5230\u4e0d\u540c\u6587\u4ef6\u5939":65,"\u62c6\u89e3":38,"\u62c6\u89e3\u6210\u7684\u6bcf\u4e00\u53e5\u8bdd\u518d\u901a\u8fc7\u4e00\u4e2alstm\u7f51\u7edc":36,"\u62f7\u8d1d\u8bad\u7ec3\u6587\u4ef6\u5230\u5bb9\u5668\u5185":52,"\u62fc\u63a5\u6210\u4e00\u4e2a\u65b0\u7684\u5411\u91cf":60,"\u6301\u7eed\u96c6\u6210\u7cfb\u7edf\u4e5f\u53ef\u4ee5\u7b80\u5355\u5730\u590d\u73b0\u8fd9\u4e2a\u8fc7\u7a0b":30,"\u6307\u5411\u4e00\u4e2alayer":38,"\u6307\u5b9a":[27,38,39],"\u6307\u5b9a\u4e00\u53f0\u673a\u5668\u4e0a\u4f7f\u7528\u7684\u7ebf\u7a0b\u6570":47,"\u6307\u5b9a\u4f7f\u75282":27,"\u6307\u5b9a\u521d\u59cb\u5316\u6a21\u578b\u8def\u5f84":60,"\u6307\u5b9a\u52a0\u8f7d\u7684\u65b9\u5f0f":47,"\u6307\u5b9a\u5de5\u4f5c\u6a21\u578b\u8fdb\u884c\u9884\u6d4b":58,"\u6307\u5b9a\u5de5\u4f5c\u6a21\u5f0f\u6765\u63d0\u53d6\u7279\u5f81":58,"\u6307\u5b9a\u63d0\u53d6\u7279\u5f81\u7684\u5c42":58,"\u6307\u5b9a\u662f\u5426\u4f7f\u7528gpu":58,"\u6307\u5b9a\u751f\u6210\u6570\u636e\u7684\u51fd\u6570":60,"\u6307\u5b9a\u7684\u5b57\u5178\u5355\u8bcd\u6570":65,"\u6307\u5b9a\u7684\u6570\u636e\u5c06\u4f1a\u88ab\u6d4b\u8bd5":60,"\u6307\u5b9a\u7684\u8f93\u5165\u4e0d\u4f1a\u88ab":38,"\u6307\u5b9a\u8bad\u7ec3\u6570\u636e\u548c\u6d4b\u8bd5\u6570\u636e":60,"\u6307\u5b9abatch":65,"\u6307\u5b9acudnn\u7684\u6700\u5927\u5de5\u4f5c\u7a7a\u95f4\u5bb9\u9650":47,"\u6307\u5bf9\u4e8e\u4e00\u4e2a\u65f6\u95f4\u5e8f\u5217\u8f93\u5165\u6570\u636e":36,"\u6307\u793a\u4f7f\u7528\u54ea\u4e2agpu\u6838":47,"\u6307\u793a\u5728\u7b80\u5355\u7684recurrentlayer\u5c42\u7684\u8ba1\u7b97\u4e2d\u662f\u5426\u4f7f\u7528\u6279\u5904\u7406\u65b9\u6cd5":47,"\u6307\u793a\u5f53\u6307\u5b9a\u8f6e\u7684\u6d4b\u8bd5\u6a21\u578b\u4e0d\u5b58\u5728\u65f6":47,"\u6307\u793a\u662f\u5426\u4f7f\u7528\u591a\u7ebf\u7a0b\u6765\u8ba1\u7b97\u4e00\u4e2a\u795e\u7ecf\u7f51\u7edc":47,"\u6307\u793a\u662f\u5426\u5f00\u542f\u53c2\u6570\u670d\u52a1\u5668":47,"\u6307\u793a\u662f\u5426\u663e\u793a\u53c2\u6570\u670d\u52a1\u5668\u4e0a\u7684\u7a00\u758f\u53c2\u6570\u5206\u5e03\u7684\u65e5\u5fd7\u7ec6\u8282":47,"\u6307\u793a\u662f\u5426\u68c0\u67e5\u6240\u6709\u53c2\u6570\u670d\u52a1\u5668\u4e0a\u7684\u7a00\u758f\u53c2\u6570\u7684\u5206\u5e03\u662f\u5747\u5300\u7684":47,"\u6307\u793a\u6d4b\u8bd5\u4efb\u52a1":63,"\u6307\u793a\u6d4b\u8bd5\u4efb\u52a1\u7684\u6807\u8bb0":63,"\u6309\u542f\u53d1\u5f0f\u635f\u5931\u7684\u5927\u5c0f\u9012\u589e\u6392\u5e8f":47,"\u6309\u7167\u4e0b\u9762\u6b65\u9aa4\u5373\u53ef":52,"\u6309\u94ae":40,"\u633a":36,"\u633a\u597d":36,"\u6355\u83b7":60,"\u6362":36,"\u6392\u6210\u4e00\u5217\u7684\u591a\u4e2a\u5143\u7d20":35,"\u63a5\u4e0a\u4e00\u4e2a\u5168\u8fde\u63a5\u5c42":33,"\u63a5\u4e0a\u5747\u65b9\u8bef\u5dee\u5c42":33,"\u63a5\u4e0b\u6765":[60,64],"\u63a5\u4e0b\u6765\u53ef\u4ee5\u8003\u8651\u4e0b\u65f6\u95f4\u7ebf\u7684\u5206\u6790":44,"\u63a5\u4e0b\u6765\u5c31\u53ef\u4ee5\u4f7f\u7528":44,"\u63a5\u4e0b\u6765\u6211\u4eec\u521b\u5efa\u4e00\u4e2a\u539f\u59cb":40,"\u63a5\u4e0b\u6765\u6211\u4eec\u53d6\u6d88\u5bf9":40,"\u63a5\u4e0b\u6765\u6211\u4eec\u5c06\u5c55\u793a\u5982\u4f55\u7528paddlepaddle\u8bad\u7ec3\u4e00\u4e2a\u6587\u672c\u5206\u7c7b\u6a21\u578b":60,"\u63a5\u4e0b\u6765\u7b49\u5f85":40,"\u63a5\u53d7":63,"\u63a5\u53d7\u7684\u4e1c\u897f":63,"\u63a5\u53d7\u8005":63,"\u63a5\u53e3":25,"\u63a5\u53e3\u540d\u79f0":45,"\u63a5\u53e3\u63d0\u53d6\u7684\u7ed3\u679c\u662f\u4e00\u81f4\u7684":58,"\u63a5\u53e3\u6709\u4e00\u4e2a":27,"\u63a5\u53e3\u6765\u52a0\u8f7d\u6570\u636e":60,"\u63a5\u53e3\u6765\u52a0\u8f7d\u8be5\u6587\u4ef6":58,"\u63a5\u53e3\u6765\u6253\u5f00\u8be5\u6587\u4ef6":58,"\u63a5\u7740\u6211\u4eec\u5c31\u80fd\u591f\u6253\u5f00\u6d4f\u89c8\u5668\u5728":30,"\u63a7\u5236":47,"\u63a7\u5236\u5982\u4f55\u6539\u53d8\u6a21\u578b\u53c2\u6570":28,"\u63a7\u5236\u662f\u5426\u751f\u6210\u5355\u5143\u6d4b\u8bd5":30,"\u63a7\u5236\u751f\u6210\u7684\u751f\u4ea7\u955c\u50cf\u662f\u5426\u652f\u6301avx":30,"\u63a7\u5236\u751f\u6210\u7684\u751f\u4ea7\u955c\u50cf\u662f\u5426\u652f\u6301gpu":30,"\u63a8\u5bfc\u8be5\u5c42\u524d\u5411\u548c\u540e\u5411\u4f20\u9012\u7684\u65b9\u7a0b":41,"\u63a8\u8350":36,"\u63a8\u8350\u4f7f\u7528":3,"\u63a8\u8350\u6e05\u7406\u6574\u4e2a\u7f16\u8bd1\u76ee\u5f55":29,"\u63a8\u8350\u76f4\u63a5\u5b58\u653e\u5230\u8bad\u7ec3\u76ee\u5f55":2,"\u63a8\u8350\u7cfb\u7edf":45,"\u63a8\u9001\u5230\u8fdc\u7a0b\u4ed3\u5e93":40,"\u63a8\u9500\u5458":61,"\u63cf\u8ff0":29,"\u63cf\u8ff0\u7f51\u7edc\u7ed3\u6784\u548c\u4f18\u5316\u7b97\u6cd5":60,"\u63cf\u8ff0\u95ee\u9898":40,"\u63cf\u8ff0kubernetes\u4e0a\u8fd0\u884c\u7684\u4f5c\u4e1a":50,"\u63d0\u4f9b":45,"\u63d0\u4f9b\u4e86\u4e00\u4e2a\u542f\u52a8\u811a\u672c":52,"\u63d0\u4f9b\u4e86\u547d\u4ee4\u6837\u4f8b\u6765\u8fd0\u884c":45,"\u63d0\u4f9b\u4e86\u81ea\u52a8\u5316\u811a\u672c\u6765\u542f\u52a8\u4e0d\u540c\u8282\u70b9\u4e2d\u7684\u6240\u6709":45,"\u63d0\u4f9b\u51e0\u4e4e\u6240\u6709\u8bad\u7ec3\u7684\u5185\u90e8\u8f93\u51fa\u65e5\u5fd7":45,"\u63d0\u4f9b\u6269\u5c55\u7684\u957f\u5ea6\u4fe1\u606f":35,"\u63d0\u4f9b\u6700\u65b0":30,"\u63d0\u4f9b\u8bad\u7ec3\u8fc7\u7a0b\u7684":45,"\u63d0\u51fa\u7684\u4ee3\u7801\u9700\u6c42":56,"\u63d0\u793a":27,"\u642d\u5efa\u795e\u7ecf\u7f51\u7edc\u5c31\u50cf\u4f7f\u7528\u79ef\u6728\u642d\u5efa\u5b9d\u5854\u4e00\u6837":33,"\u64cd\u4f5c":36,"\u64cd\u6301\u5bb6\u52a1\u8005":61,"\u652f\u6301\u4e3b\u6d41x86\u5904\u7406\u5668\u5e73\u53f0":32,"\u652f\u6301\u53cc\u5c42\u5e8f\u5217\u4f5c\u4e3a\u8f93\u5165\u7684layer":[37,38],"\u652f\u6301nvidia":32,"\u652f\u6301rbd":50,"\u653e\u5728\u8fd9\u4e2a\u76ee\u5f55\u91cc\u7684\u6587\u4ef6\u5176\u5b9e\u662f\u4fdd\u5b58\u5230\u4e86mfs\u4e0a":52,"\u653e\u5fc3":36,"\u6545\u800c\u662f\u4e00\u4e2a\u5355\u5c42\u65f6\u95f4\u5e8f\u5217":36,"\u6548\u679c\u603b\u7ed3":60,"\u6559\u7a0b\u6587\u6863\u5230":45,"\u6559\u80b2\u5de5\u4f5c\u8005":61,"\u6570":[38,63],"\u6570\u5fc5\u987b\u4e25\u683c\u76f8\u7b49":38,"\u6570\u636e":65,"\u6570\u636e\u4e0b\u8f7d\u4e4b\u540e":57,"\u6570\u636e\u4e2d0":27,"\u6570\u636e\u5217\u8868":58,"\u6570\u636e\u5c06\u4fdd\u5b58\u5728":56,"\u6570\u636e\u5c42":[28,62],"\u6570\u636e\u5e94\u8be5\u5728\u542f\u52a8\u96c6\u7fa4\u4f5c\u4e1a\u4e4b\u524d\u51c6\u5907\u597d":45,"\u6570\u636e\u63d0\u4f9b\u5668":46,"\u6570\u636e\u63d0\u4f9b\u811a\u672c\u4ec5\u4ec5\u662f\u8bfb\u53d6meta":62,"\u6570\u636e\u63d0\u4f9b\u811a\u672c\u7684\u7ec6\u8282\u6587\u6863\u53ef\u4ee5\u53c2\u8003":62,"\u6570\u636e\u7684\u6574\u6570id":39,"\u6570\u636e\u76ee\u5f55\u4e2d\u7684\u6240\u6709\u6587\u4ef6\u88ab":45,"\u6570\u636e\u7c7b\u578b":5,"\u6570\u636e\u7f13\u5b58\u7684\u7b56\u7565":3,"\u6570\u636e\u8bbf\u95ee":1,"\u6570\u636e\u8bfb\u53d6\u5747\u4ea4\u7531\u5176\u4ed6\u8bed\u8a00\u5b8c\u6210":25,"\u6570\u636e\u8f93\u5165":38,"\u6570\u636e\u8f93\u5165\u683c\u5f0f":3,"\u6570\u636e\u96c6":61,"\u6570\u636e\u96c6\u63cf\u8ff0":62,"\u6570\u636e\u96c6\u6587\u4ef6\u5939\u540d\u79f0":65,"\u6570\u636e\u9884\u5904\u7406\u5b8c\u6210\u4e4b\u540e":60,"\u6570\u636e\u9884\u6d4b":63,"\u6570\u6910\u5b9a\u4e49":64,"\u6570\u6910\u8bf4\u660e\u6587\u6863":64,"\u6570\u6910\u96c6\u548c":64,"\u6570\u76ee":49,"\u6574\u4f53":36,"\u6574\u4f53\u6570\u636e\u548c\u539f\u59cb\u6570\u636e\u5b8c\u5168\u4e00\u6837":36,"\u6574\u4f53\u7684\u7ed3\u6784\u56fe\u5982\u4e0b":52,"\u6574\u6570":41,"\u6574\u6570\u6807\u7b7e":[3,33],"\u6574\u6d01":36,"\u6587\u4e66\u5de5\u4f5c":61,"\u6587\u4ef6":[25,40,51,63],"\u6587\u4ef6\u4e2d":[52,58,61,63],"\u6587\u4ef6\u4e2d\u6307\u5b9a\u6a21\u578b\u8def\u5f84\u548c\u8f93\u51fa\u7684\u76ee\u5f55":58,"\u6587\u4ef6\u4e2d\u6307\u5b9a\u8981\u63d0\u53d6\u7279\u5f81\u7684\u7f51\u7edc\u5c42\u7684\u540d\u5b57":58,"\u6587\u4ef6\u4e2d\u7684":58,"\u6587\u4ef6\u4e2d\u7684\u6bcf\u884c\u90fd\u5fc5\u987b\u662f\u4e00\u4e2a\u53e5\u5b50":65,"\u6587\u4ef6\u4e3a":[27,65],"\u6587\u4ef6\u4e4b\u5916":40,"\u6587\u4ef6\u4e5f\u53ef\u4ee5\u7528\u4e8e\u5bf9\u6837\u672c\u8fdb\u884c\u9884\u6d4b":58,"\u6587\u4ef6\u5185\u5bb9\u4e3a":25,"\u6587\u4ef6\u5206\u5272\u4e3a\u8bad\u7ec3\u548c\u6d4b\u8bd5\u6587\u4ef6":62,"\u6587\u4ef6\u540d\u79f0\u4e3a":62,"\u6587\u4ef6\u59390":52,"\u6587\u4ef6\u5939\u4e2d\u7684\u6bcf\u4e2a\u6587\u4ef6\u7684\u6bcf\u4e00\u884c\u5305\u542b\u4e24\u90e8\u5206":65,"\u6587\u4ef6\u7684\u5206\u9694\u7b26\u4e3a":62,"\u6587\u4ef6\u7684\u6539\u53d8":40,"\u6587\u4ef6\u7684\u683c\u5f0f\u53ef\u4ee5":62,"\u6587\u4ef6\u7a0d\u6709\u5dee\u522b":57,"\u6587\u4ef6\u7d22\u5f15":45,"\u6587\u4ef6\u7ed9\u51fa\u4e86\u5b8c\u6574\u4f8b\u5b50":60,"\u6587\u4ef6model":49,"\u6587\u5b57\u7684\u4ea4\u4e92\u5f0f\u6587\u6863":30,"\u6587\u672c\u4e2d\u7684\u5355\u8bcd\u7528\u7a7a\u683c\u5206\u9694":60,"\u6587\u672c\u4fe1\u606f\u5c31\u662f\u4e00\u4e2a\u5e8f\u5217\u6570\u636e":3,"\u6587\u672c\u5206\u7c7b\u95ee\u9898":60,"\u6587\u672c\u5377\u79ef\u5206\u53ef\u4e3a\u4e09\u4e2a\u6b65\u9aa4":60,"\u6587\u672c\u5377\u79ef\u91c7\u6837\u5c42":62,"\u6587\u672c\u6295\u5f71\u5c42":62,"\u6587\u672c\u683c\u5f0f\u7684\u5b9e\u4f8b\u6587\u4ef6":64,"\u6587\u6863":27,"\u6587\u6863\u7f16\u5199\u7b49\u5de5\u4f5c":30,"\u6587\u6863\u81ea\u52a8\u5206\u7c7b\u548c\u95ee\u7b54":63,"\u6587\u6863\u90fd\u662f\u901a\u8fc7":42,"\u6587\u7ae0":52,"\u65b0":36,"\u65b0\u5efa\u4e00\u4e2a\u6743\u91cd":41,"\u65b0\u624b\u5165\u95e8":55,"\u65b9\u4fbf":36,"\u65b9\u4fbf\u4eca\u540e\u7684\u5d4c\u5165\u5f0f\u79fb\u690d\u5de5\u4f5c":29,"\u65b9\u4fbf\u5f00\u53d1\u8005\u76f4\u63a5\u767b\u5f55\u5230\u955c\u50cf\u4e2d\u8fdb\u884c\u5f00\u53d1":30,"\u65b9\u5f0f1":27,"\u65b9\u5f0f2":27,"\u65b9\u6848\u6765\u6807\u8bb0\u6bcf\u4e2a\u53c2\u6570":63,"\u65b9\u6cd5\u4e00":49,"\u65b9\u6cd5\u4e09":49,"\u65b9\u6cd5\u4e8c":49,"\u65c1\u8fb9":36,"\u65c5\u6e38\u7f51\u7ad9":64,"\u65e0":36,"\u65e0\u4e1a\u4eba\u58eb":61,"\u65e0\u5ef6\u8fdf":47,"\u65e0\u6cd5\u505a\u5230\u5bf9\u4e8e\u5404\u79cd\u8bed\u8a00\u9519\u8bef\u5904\u7406\u65b9\u5f0f\u7684\u9002\u914d":25,"\u65e5\u5fd7\u5c06\u4fdd\u5b58\u5728":64,"\u65e8\u5728\u5efa\u7acb\u4e00\u4e2a\u53ef\u4ee5\u88ab\u534f\u540c\u8c03\u81f3\u6700\u4f18\u7ffb\u8bd1\u6548\u679c\u7684\u5355\u795e\u7ecf\u5143\u7f51\u7edc":65,"\u65e9\u9910":36,"\u65f6":[27,35,39,41,47,52],"\u65f6\u5019":36,"\u65f6\u52a0\u4e0a":64,"\u65f6\u5e8f\u6a21\u578b\u5747\u4f7f\u7528\u8be5\u811a\u672c":60,"\u65f6\u5e8f\u6a21\u578b\u662f\u6307\u6570\u636e\u7684\u67d0\u4e00\u7ef4\u5ea6\u662f\u4e00\u4e2a\u5e8f\u5217\u5f62\u5f0f":3,"\u65f6\u76ee\u6807\u8bed\u8a00\u7684\u6587\u4ef6":65,"\u65f6\u88ab\u8bad\u7ec3\u7684":41,"\u65f6\u8bbe\u5907id\u53f7\u7684\u5206\u914d":49,"\u65f6\u95f4":36,"\u65f6\u95f4\u6233":61,"\u65f6\u95f4\u6233\u8868\u793a\u4e3a\u4ece1970":61,"\u65f6\u95f4\u6b65\u7684\u6982\u5ff5":36,"\u6620\u5c04\u5230\u4e00\u4e2a\u7ef4\u5ea6\u4e3a":41,"\u662f":[29,36],"\u662f\u4e00\u4e2a\u51681\u7684\u5411\u91cf":41,"\u662f\u4e00\u4e2a\u5185\u7f6e\u7684\u5b9a\u65f6\u5668\u5c01\u88c5":44,"\u662f\u4e00\u4e2a\u52a8\u6001\u7a0b\u5e8f\u5206\u6790\u7684\u672f\u8bed":44,"\u662f\u4e00\u4e2a\u5305\u88c5\u6570\u636e\u7684":63,"\u662f\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":35,"\u662f\u4e00\u4e2a\u53cc\u5c42\u7684\u5e8f\u5217":35,"\u662f\u4e00\u4e2a\u591a\u8bed\u8a00\u63a5\u53e3\u7684\u4ee3\u7801\u751f\u6210\u5668":25,"\u662f\u4e00\u4e2a\u5c01\u88c5\u5bf9\u8c61":44,"\u662f\u4e00\u4e2a\u5f88\u6709\u7528\u7684\u53c2\u6570":49,"\u662f\u4e00\u4e2a\u7b26\u5408\u9ad8\u65af\u5206\u5e03\u7684\u968f\u673a\u53d8\u91cf":28,"\u662f\u4e00\u4e2a\u7edf\u8ba1\u5b66\u7684\u673a\u5668\u7ffb\u8bd1\u7cfb\u7edf":65,"\u662f\u4e00\u4e2a\u914d\u7f6e\u6587\u4ef6\u7684\u4f8b\u5b50":64,"\u662f\u4e00\u4e2a\u975e\u7ebf\u6027\u7684":41,"\u662f\u4e00\u4e2apython\u7684":3,"\u662f\u4e00\u4e2aunbound":38,"\u662f\u4e00\u6761\u65f6\u95f4\u5e8f\u5217":[3,33],"\u662f\u4e00\u79cd\u4efb\u610f\u590d\u6742\u7684rnn\u5355\u5143":38,"\u662f\u4e00\u7ec4":50,"\u662f\u4e0d\u5305\u62ec\u6e90\u7801\u7684":51,"\u662f\u4e0d\u5e38\u89c1\u7684\u505a\u6cd5":25,"\u662f\u4e0d\u662f\u5f88\u7b80\u5355\u5462":3,"\u662f\u4e0d\u662f\u8981\u5bf9\u6570\u636e\u505ashuffl":3,"\u662f\u4e3b\u8981\u7684\u53ef\u6267\u884cpython\u811a\u672c":63,"\u662f\u4ec0\u4e48\u4e5f\u6ca1\u5173\u7cfb":3,"\u662f\u4f17\u591a\u8bef\u5dee\u4ee3\u4ef7\u51fd\u6570\u5c42\u7684\u4e00\u79cd":28,"\u662f\u4f7f\u5f97\u8981\u5171\u4eab\u7684\u53c2\u6570\u4f7f\u7528\u540c\u6837\u7684":27,"\u662f\u504f\u5dee":39,"\u662f\u5176\u5927\u5c0f":28,"\u662f\u51e0\u4e4e\u4e0d\u5360\u5185\u5b58\u7684":3,"\u662f\u539f\u59cb\u6cd5\u8bed\u6587\u4ef6":65,"\u662f\u5411\u91cf":41,"\u662f\u5426\u4ee5\u9006\u5e8f\u5904\u7406\u8f93\u5165\u5e8f\u5217":38,"\u662f\u5426\u4f7f\u7528\u53cc\u7cbe\u5ea6\u6d6e\u70b9\u6570":29,"\u662f\u5426\u4f7f\u7528\u65e7\u7684remoteparameterupdat":47,"\u662f\u5426\u4f7f\u7528\u6743\u91cd":41,"\u662f\u5426\u4f7f\u7528gpu":62,"\u662f\u5426\u4f7f\u7528gpu\u8bad\u7ec3":65,"\u662f\u5426\u5141\u8bb8\u6682\u5b58\u7565\u5fae\u591a\u4f59pool_size\u7684\u6570\u636e":3,"\u662f\u5426\u5185\u5d4cpython\u89e3\u91ca\u5668":29,"\u662f\u5426\u5c06\u5168\u5c40\u79cd\u5b50\u5e94\u7528\u4e8e\u672c\u5730\u7ebf\u7a0b\u7684\u968f\u673a\u6570":47,"\u662f\u5426\u5f00\u542f\u5355\u5143\u6d4b\u8bd5":29,"\u662f\u5426\u5f00\u542f\u8ba1\u65f6\u529f\u80fd":29,"\u662f\u5426\u5f00\u542frdma":29,"\u662f\u5426\u6253\u5370\u7248\u672c\u4fe1\u606f":47,"\u662f\u5426\u652f\u6301gpu":29,"\u662f\u5426\u663e\u793a":47,"\u662f\u5426\u7a00\u758f":41,"\u662f\u5426\u7f16\u8bd1\u4e2d\u82f1\u6587\u6587\u6863":29,"\u662f\u5426\u7f16\u8bd1\u542b\u6709avx\u6307\u4ee4\u96c6\u7684paddlepaddle\u4e8c\u8fdb\u5236\u6587\u4ef6":29,"\u662f\u5426\u7f16\u8bd1\u65f6\u8fdb\u884c\u4ee3\u7801\u98ce\u683c\u68c0\u67e5":29,"\u662f\u5426\u7f16\u8bd1python\u7684swig\u63a5\u53e3":29,"\u662f\u5426\u8fd0\u884c\u65f6\u52a8\u6001\u52a0\u8f7dcuda\u52a8\u6001\u5e93":29,"\u662f\u5426\u9700\u8981\u7b49\u5f85\u8be5\u8f6e\u6a21\u578b\u53c2\u6570":47,"\u662f\u56e0\u4e3ac99\u652f\u6301":25,"\u662f\u5728\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u52a0\u8f7d\u5b57\u5178\u5e76\u5b9a\u4e49\u6570\u636e\u63d0\u4f9b\u7a0b\u5e8f\u6a21\u5757\u548c\u7f51\u7edc\u67b6\u6784\u7684\u795e\u7ecf\u7f51\u7edc\u914d\u7f6e\u6587\u4ef6":63,"\u662f\u5728paddlepaddle\u4e2d\u6784\u9020\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u65f6\u6700\u91cd\u8981\u7684\u6982\u5ff5":39,"\u662f\u57fa\u7840\u7684\u8ba1\u7b97\u5355\u5143":28,"\u662f\u5b58\u6709\u4e00\u7cfb\u5217\u53d8\u6362\u77e9\u9635\u7684\u6743\u91cd":41,"\u662f\u5b58\u6709\u504f\u7f6e\u5411\u91cf\u7684\u6743\u91cd":41,"\u662f\u5e8f\u5217":62,"\u662f\u5f85\u6269\u5c55\u7684\u6570\u636e":35,"\u662f\u6211\u4eec":40,"\u662f\u6307\u4e00\u7cfb\u5217\u7684\u7279\u5f81\u6570\u636e":36,"\u662f\u6307recurrent_group\u7684\u591a\u4e2a\u8f93\u5165\u5e8f\u5217":36,"\u662f\u6570\u636e\u8f93\u5165":39,"\u662f\u6574\u4e2a\u7684\u8bcd\u5d4c\u5165":62,"\u662f\u6709\u610f\u4e49\u7684":36,"\u662f\u6784\u5efa\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u7684\u6700\u91cd\u8981\u7684\u5de5\u5177":39,"\u662f\u6a21\u578b\u53c2\u6570\u4f18\u5316\u7684\u76ee\u6807\u51fd\u6570":28,"\u662f\u6d45\u5c42\u8bed\u4e49\u89e3\u6790\u7684\u4e00\u79cd\u5f62\u5f0f":63,"\u662f\u6e90\u8bed\u8a00\u7684\u6587\u4ef6":65,"\u662f\u76ee\u6807\u82f1\u8bed\u6587\u4ef6":65,"\u662f\u77e9\u9635":41,"\u662f\u795e\u7ecf\u7f51\u7edc\u7684\u5165\u53e3":28,"\u662f\u7f51\u7edc\u548c\u6570\u636e\u914d\u7f6e\u6587\u4ef6":57,"\u662f\u7f51\u7edc\u5c42\u5b9e\u4f8b\u7684\u540d\u5b57\u6807\u8bc6\u7b26":41,"\u662f\u7f51\u7edc\u5c42\u7684\u6807\u8bc6\u7b26":41,"\u662f\u7f51\u7edc\u5c42\u7684\u7c7b\u578b":41,"\u662f\u7f51\u7edc\u5c42\u8f93\u51fa\u7684\u5927\u5c0f":41,"\u662f\u8be5\u5c42\u7684\u6807\u8bc6\u7b26":41,"\u662f\u8be5\u5c42\u7684\u7c7b\u540d":41,"\u662f\u8be5\u7f51\u7edc\u5c42\u7684":41,"\u662f\u8f93\u5165":39,"\u662f\u901a\u7528\u7269\u4f53\u5206\u7c7b\u9886\u57df\u4e00\u4e2a\u4f17\u6240\u5468\u77e5\u7684\u6570\u636e\u5e93":58,"\u662f\u9700\u8981\u4e86\u89e3\u54ea\u4e9b\u6b65\u9aa4\u62d6\u6162\u4e86\u6574\u4f53":44,"\u662fdecoder\u7684\u6570\u636e\u8f93\u5165":38,"\u662fgoogle\u5f00\u6e90\u7684\u5bb9\u5668\u96c6\u7fa4\u7ba1\u7406\u7cfb\u7edf":50,"\u662fnvidia\u6027\u80fd\u5206\u6790\u5de5\u5177":44,"\u662fpaddlepaddle\u652f\u6301\u7684\u4e00\u79cd\u4efb\u610f\u590d\u6742\u7684rnn\u5355\u5143":38,"\u662fpaddlepaddle\u8d1f\u8d23\u63d0\u4f9b\u6570\u636e\u7684\u6a21\u5757":60,"\u662fpod\u5185\u7684\u5bb9\u5668\u90fd\u53ef\u4ee5\u8bbf\u95ee\u7684\u5171\u4eab\u76ee\u5f55":50,"\u662fpython\u5c01\u88c5\u7684\u7c7b\u540d":41,"\u662frnn\u72b6\u6001":39,"\u663e":60,"\u663e\u5f0f\u6307\u5b9a\u8fd4\u56de\u7684\u662f\u4e00\u4e2a28":3,"\u665a":36,"\u666e\u901a\u7528\u6237\u8bf7\u8d70\u5b89\u88c5\u6d41\u7a0b":31,"\u6682\u4e0d\u8003\u8651\u5728\u5185":27,"\u66f4\u591a\u5173\u4e8edocker\u7684\u5b89\u88c5\u4e0e\u4f7f\u7528":27,"\u66f4\u591a\u5185\u5bb9\u53ef\u67e5\u770b\u53c2\u8003\u6587\u732e":64,"\u66f4\u591a\u7684\u7ec6\u8282\u53ef\u4ee5\u5728\u6587\u732e\u4e2d\u627e\u5230":64,"\u66f4\u597d\u5730\u5b8c\u6210\u4e00\u4e9b\u590d\u6742\u7684\u8bed\u8a00\u7406\u89e3\u4efb\u52a1":38,"\u66f4\u5feb":39,"\u66f4\u65b0":27,"\u66f4\u65b0\u6a21\u5f0f":27,"\u66f4\u65b9\u4fbf\u7684\u8bbe\u7f6e\u65b9\u5f0f":27,"\u66f4\u8be6\u7ec6\u6570\u636e\u683c\u5f0f\u548c\u7528\u4f8b\u8bf7\u53c2\u8003":60,"\u66f4\u8be6\u7ec6\u7684\u7f51\u7edc\u914d\u7f6e\u8fde\u63a5\u8bf7\u53c2\u8003":60,"\u66f4\u8be6\u7ec6\u7684\u8bf4\u660e":60,"\u66f4\u8fdb\u4e00\u6b65":38,"\u66f4\u9ad8":39,"\u66ff\u6211\u4eec\u5b8c\u6210\u4e86\u539f\u59cb\u8f93\u5165\u6570\u636e\u7684\u62c6\u5206":38,"\u6700":36,"\u6700\u4e0d\u540c\u7684\u7279\u8272\u662f\u5b83\u5e76\u6ca1\u6709\u5c06\u8f93\u5165\u8bed\u53e5\u7f16\u7801\u4e3a\u4e00\u4e2a\u5355\u72ec\u7684\u5b9a\u957f\u5411\u91cf":65,"\u6700\u4e3b\u8981\u7684\u5de5\u4f5c\u5c31\u662f\u89e3\u6790\u51fa":52,"\u6700\u4f73\u63a8\u8350":3,"\u6700\u540e":[3,40,41,45,60,64],"\u6700\u540e\u4e00\u4e2a":35,"\u6700\u540e\u4e00\u5c42cost\u4e2d\u8bb0\u5f55\u4e86\u795e\u7ecf\u7f51\u7edc\u7684\u6240\u6709\u62d3\u6251\u7ed3\u6784":33,"\u6700\u540e\u4e00\u90e8\u5206\u662f\u795e\u7ecf\u7f51\u7edc\u7684\u914d\u7f6e":28,"\u6700\u540e\u6211\u4eec\u4f7f\u7528\u94fe\u5f0f\u6cd5\u5219\u8ba1\u7b97":41,"\u6700\u597d\u7684\u6a21\u578b\u662f":64,"\u6700\u5c11\u663e\u793a\u591a\u5c11\u4e2a\u8282\u70b9":47,"\u6700\u5e38\u89c1\u7684\u9519\u8bef\u5904\u7406\u65b9\u5f0f\u662fexcept":25,"\u6700\u65b0\u7684\u4ee3\u7801":40,"\u6700\u65b0log":64,"\u6700\u7ec8":41,"\u6700\u7ec8\u5b9e\u73b0\u4e00\u4e2a\u5c42\u6b21\u5316\u7684\u590d\u6742rnn":38,"\u6700\u7ec8\u6211\u4eec\u53ef\u4ee5\u8c03\u7528trainer\u7684train\u65b9\u6cd5\u542f\u52a8\u8bad\u7ec3":33,"\u6700\u7ec8\u751f\u6210\u540d\u4e3apaddl":30,"\u6700\u7ec8\u7684\u8f93\u51fa\u7ed3\u679c":38,"\u6700\u7ec8\u8d8b\u4e8e\u63a5\u8fd1":28,"\u6708\u6e56":36,"\u6709":36,"\u6709\u4e00\u4e2a\u57fa\u672c\u7684\u8ba4\u8bc6":50,"\u6709\u4e24\u4e2a\u7279\u6b8a\u6807\u8bc6":65,"\u6709\u4e86meta\u914d\u7f6e\u6587\u4ef6\u4e4b\u540e":62,"\u6709\u4e9b\u5c42\u53ef\u80fd\u9700\u8981\u9ad8\u7cbe\u5ea6\u6765\u4fdd\u8bc1\u68af\u5ea6\u68c0\u67e5\u5355\u6d4b\u6b63\u786e\u6267\u884c":41,"\u6709\u4e9b\u5c42\u6216\u8005\u6fc0\u6d3b\u9700\u8981\u505a\u5f52\u4e00\u5316\u4ee5\u4fdd\u8bc1\u5b83\u4eec\u7684\u8f93\u51fa\u7684\u548c\u662f\u4e00\u4e2a\u5e38\u6570":41,"\u6709\u4e9b\u7279\u5f81\u7684\u53d6\u503c\u8fbe\u5230\u6570\u767e\u4e07":27,"\u6709\u4e9b\u7535\u5f71id\u53ef\u80fd\u4e0e\u5b9e\u9645\u7535\u5f71\u4e0d\u76f8\u7b26\u5408":61,"\u6709\u5173":36,"\u6709\u5173\u5982\u4f55\u7f16\u5199\u6570\u636e\u63d0\u4f9b\u7a0b\u5e8f\u7684\u66f4\u591a\u7ec6\u8282\u63cf\u8ff0":39,"\u6709\u5173\u7ebf\u6027\u56de\u5f52\u7684\u5b9e\u9645\u5e94\u7528":33,"\u6709\u5173kubernetes\u76f8\u5173\u6982\u5ff5\u4ee5\u53ca\u5982\u4f55\u642d\u5efa\u548c\u914d\u7f6ekubernetes\u96c6\u7fa4":52,"\u6709\u52a9\u4e8e\u7406\u89e3\u7528\u6237\u5bf9\u4e0d\u540c\u516c\u53f8":64,"\u6709\u52a9\u4e8e\u8bca\u65ad\u5206\u5e03\u5f0f\u9519\u8bef":45,"\u6709\u65f6\u79f0\u4e3a":64,"\u6709\u6807\u51c6\u7684":25,"\u6709\u7684\u65f6\u5019":25,"\u6709\u7684\u65f6\u5019\u7b80\u7b80\u5355\u5355\u7684\u6539\u53d8\u5c31\u80fd\u5728\u6027\u80fd\u4e0a\u4ea7\u751f\u660e\u663e\u7684\u4f18\u5316\u6548\u679c":44,"\u670d\u52a1":36,"\u670d\u52a1\u5458":36,"\u672a\u5305\u542b\u5728\u5b57\u5178\u4e2d\u7684\u5355\u8bcd":65,"\u672a\u6807\u8bb0\u7684\u8bc4\u4ef7\u6837\u672c":64,"\u672a\u77e5\u8bcd":56,"\u672c\u4f8b\u4e2d\u4e3a0":56,"\u672c\u4f8b\u4e2d\u4e3a32":56,"\u672c\u4f8b\u4e2d\u4e3a4":56,"\u672c\u4f8b\u4e2d\u4f7f\u7528for\u5faa\u73af\u8fdb\u884c\u591a\u6b21\u8c03\u7528":3,"\u672c\u4f8b\u4e2d\u7684\u539f\u59cb\u6570\u636e\u4e00\u5171\u670910\u4e2a\u6837\u672c":36,"\u672c\u4f8b\u4e2d\u7684\u8f93\u5165\u7279\u5f81\u662f\u8bcdid\u7684\u5e8f\u5217":3,"\u672c\u4f8b\u6839\u636e\u7f51\u7edc\u914d\u7f6e\u4e2d":3,"\u672c\u4f8b\u6bcf\u884c\u4fdd\u5b58\u4e00\u6761\u6837\u672c":60,"\u672c\u4f8b\u7531\u6613\u5230\u96be\u5c55\u793a4\u79cd\u4e0d\u540c\u7684\u6587\u672c\u5206\u7c7b\u7f51\u7edc\u914d\u7f6e":60,"\u672c\u4f8b\u7684":3,"\u672c\u4f8b\u7684\u6240\u6709\u5b57\u7b26\u90fd\u5c06\u8f6c\u6362\u4e3a\u8fde\u7eed\u6574\u6570\u8868\u793a\u7684id\u4f20\u7ed9\u6a21\u578b":60,"\u672c\u4f8b\u91c7\u7528\u82f1\u6587\u60c5\u611f\u5206\u7c7b\u7684\u6570\u636e":3,"\u672c\u4f8b\u91c7\u7528adam\u4f18\u5316\u65b9\u6cd5":60,"\u672c\u5730\u6d4b\u8bd5":46,"\u672c\u5730\u8bad\u7ec3":46,"\u672c\u5730\u8bad\u7ec3\u7684\u5b9e\u9a8c":49,"\u672c\u5b9e\u4f8b\u4e2d":56,"\u672c\u5c0f\u8282\u6211\u4eec\u5c06\u4ecb\u7ecd\u6a21\u578b\u7f51\u7edc\u7ed3\u6784":60,"\u672c\u5c42\u5c3a\u5bf8":58,"\u672c\u5c42\u6709\u56db\u4e2a\u53c2\u6570":58,"\u672c\u6559\u7a0b\u4e2d\u6211\u4eec\u7ed9\u51fa\u4e86\u4e09\u4e2aresnet\u6a21\u578b":58,"\u672c\u6559\u7a0b\u5c06\u4ecb\u7ecd\u4f7f\u7528\u6df1\u5ea6\u53cc\u5411\u957f\u77ed\u671f\u8bb0\u5fc6":63,"\u672c\u6559\u7a0b\u5c06\u6307\u5bfc\u4f60\u5982\u4f55\u5728":39,"\u672c\u6559\u7a0b\u5c06\u6307\u5bfc\u60a8\u5b8c\u6210\u957f\u671f\u77ed\u671f\u8bb0\u5fc6":64,"\u672c\u6559\u7a0b\u63d0\u4f9b\u4e86\u4e00\u4e2a\u7528\u4e8eimagenet\u4e0a\u7684\u5377\u79ef\u5206\u7c7b\u7f51\u7edc\u6a21\u578b":58,"\u672c\u6587\u4e2d\u6240\u6709\u7684\u4f8b\u5b50":36,"\u672c\u6587\u4e2d\u7531\u4e8e\u8f93\u5165\u6570\u636e\u662f\u968f\u673a\u751f\u6210\u7684\u4e0d\u9700\u8981\u8bfb\u8f93\u5165\u6587\u4ef6":28,"\u672c\u6587\u4e2d\u793a\u4f8b\u6240\u4f7f\u7528\u7684\u5355\u5143\u6d4b\u8bd5\u6587\u4ef6\u662f":36,"\u672c\u6587\u4ee5paddlepaddle\u7684\u53cc\u5c42rnn\u5355\u5143\u6d4b\u8bd5\u4e3a\u793a\u4f8b":36,"\u672c\u6587\u53ea\u4f7f\u7528\u4e86\u9ed8\u8ba4\u547d\u540d\u7a7a\u95f4":50,"\u672c\u6587\u5c06\u4ecb\u7ecd\u5728kubernetes\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u4e0a\u5feb\u901f\u6784\u5efapaddlepaddle\u5bb9\u5668\u96c6\u7fa4":52,"\u672c\u6587\u6863\u4ecb\u7ecd\u5982\u4f55\u5728paddlepaddle\u5e73\u53f0\u4e0a":56,"\u672c\u6587\u6863\u5185\u4e0d\u91cd\u590d\u4ecb\u7ecd":50,"\u672c\u6765":36,"\u672c\u6b21\u8bad\u7ec3\u6587\u4ef6\u6240\u5728\u76ee\u5f55":52,"\u672c\u6b21\u8bad\u7ec3\u7684yaml\u6587\u4ef6\u53ef\u4ee5\u5199\u6210":52,"\u672c\u6b21\u8bad\u7ec3\u8981\u6c42\u67093\u4e2apaddlepaddle\u8282\u70b9":52,"\u672c\u6b21\u8bd5\u9a8c":60,"\u672c\u793a\u4f8b\u4e2d\u4f7f\u7528\u7684\u539f\u59cb\u6570\u636e\u5982\u4e0b":36,"\u672c\u793a\u4f8b\u610f\u56fe\u4f7f\u7528\u5355\u5c42rnn\u548c\u53cc\u5c42rnn\u5b9e\u73b0\u4e24\u4e2a\u5b8c\u5168\u7b49\u4ef7\u7684\u5168\u8fde\u63a5rnn":36,"\u672c\u793a\u4f8b\u7684\u9884\u6d4b\u7ed3\u679c":64,"\u672c\u7bc7\u6559\u7a0b\u5728paddlepaddle\u4e2d\u91cd\u73b0\u4e86\u8fd9\u4e00\u826f\u597d\u7684\u8bad\u7ec3\u7ed3\u679c":65,"\u672c\u7bc7\u6559\u7a0b\u5c06\u4f1a\u6307\u5bfc\u4f60\u901a\u8fc7\u8bad\u7ec3\u4e00\u4e2a":65,"\u672c\u8d28\u4e0a\u4e0e\u8bad\u7ec3\u6a21\u578b\u4e00\u6837":65,"\u673a\u5668\u7684\u8bbe\u5907":49,"\u673a\u5668\u7ffb\u8bd1":59,"\u6743\u91cd\u66f4\u65b0\u7684\u68af\u5ea6":47,"\u6761\u4ef6\u4e0b":50,"\u6765":36,"\u6765\u4ee3\u66ff":40,"\u6765\u505a\u68af\u5ea6\u68c0\u67e5":41,"\u6765\u505ableu\u8bc4\u4f30":65,"\u6765\u505c\u6b62\u8bad\u7ec3":62,"\u6765\u5206\u6790\u6267\u884c\u6587\u4ef6":44,"\u6765\u5206\u79bb\u8bad\u7ec3\u548c\u6d4b\u8bd5\u6587\u4ef6":62,"\u6765\u5206\u9694\u6bcf\u4e00\u884c":62,"\u6765\u521d\u59cb\u5316\u53c2\u6570":27,"\u6765\u5b89\u88c5":45,"\u6765\u5b8c\u6210\u7f51\u7edc\u7684\u8bad\u7ec3":33,"\u6765\u5b9a\u4e49\u5faa\u73af\u795e\u7ecf\u7f51\u7edc":39,"\u6765\u5bf9\u6bd4\u5206\u6790\u4e24\u8005\u8bed\u4e49\u76f8\u540c\u7684\u539f\u56e0":36,"\u6765\u5e2e\u52a9\u4f60\u7406\u89e3paddlepaddle\u7684\u5185\u90e8\u8fd0\u884c\u673a\u5236":60,"\u6765\u5f00\u542f\u672c\u5730\u7684\u8bad\u7ec3":64,"\u6765\u5f97\u5230\u67d0\u4e2a\u7279\u5b9a\u53c2\u6570\u7684\u68af\u5ea6\u77e9\u9635":41,"\u6765\u6307\u5b9a\u7f51\u7edc\u5c42\u7684\u6570\u76ee":58,"\u6765\u63a5\u53d7\u4e0d\u4f7f\u7528\u7684\u51fd\u6570\u4ee5\u4fdd\u8bc1\u517c\u5bb9\u6027":3,"\u6765\u642d\u5efa\u795e\u7ecf\u7f51\u7edc":33,"\u6765\u6ce8\u518c\u8be5\u5c42":41,"\u6765\u6df7\u5408\u4f7f\u7528gpu\u548ccpu\u8ba1\u7b97\u7f51\u7edc\u5c42\u7684\u53c2\u6570":49,"\u6765\u751f\u6210\u5e8f\u5217":65,"\u6765\u7684\u79d2\u6570":61,"\u6765\u786e\u4fdd\u628a":25,"\u6765\u786e\u5b9a\u5bf9\u5e94\u5173\u7cfb":3,"\u6765\u81ea\u5b9a\u4e49\u4f20\u6570\u636e\u7684\u8fc7\u7a0b":2,"\u6765\u83b7\u5f97\u8f93\u51fa\u7684\u68af\u5ea6":41,"\u6765\u8868\u793a":39,"\u6765\u8868\u793a\u53c2\u6570\u4f4d\u7f6e":63,"\u6765\u8868\u793a\u95e8\u63a7\u5faa\u73af\u795e\u7ecf\u7f51\u7edc":39,"\u6765\u8868\u793apaddle\u5185\u90e8\u7c7b":25,"\u6765\u8ba1\u7b97\u68af\u5ea6":41,"\u6765\u8bb2\u89e3\u5982\u4f55\u4f7f\u7528\u53cc\u5c42rnn":36,"\u6765\u8bbe\u7f6e":27,"\u6765\u8bf4\u660epydataprovider2\u7684\u7b80\u5355\u4f7f\u7528\u573a\u666f":3,"\u6765\u8c03\u6574":40,"\u6765\u8fd0\u884c":45,"\u6765\u8fd0\u884c\u6027\u80fd\u5206\u6790\u548c\u8c03\u4f18":44,"\u6765\u8fd0\u884c\u955c\u50cf":30,"\u6765\u9884\u6d4b\u8fd9\u4e2a\u4e2d\u95f4\u7684\u8bcd":27,"\u676f\u5b50":36,"\u6784\u5efapaddlepaddle\u6587\u6863\u9700\u8981\u51c6\u5907\u7684\u73af\u5883\u76f8\u5bf9\u8f83\u590d\u6742":42,"\u6784\u6210\u4e86\u8f93\u51fa\u53cc\u5c42\u5e8f\u5217\u7684\u7b2ci\u4e2a":35,"\u6784\u9020":52,"\u6784\u9020paddl":5,"\u67b6\u6784\u6765\u8bad\u7ec3\u60c5\u611f\u5206\u6790\u6a21\u578b":64,"\u67d0\u4e00\u4e2a\u795e\u7ecf\u5143\u7684\u4e00\u4e2a\u8f93\u5165\u4e3a\u4e0a\u4e00\u4e2a\u65f6\u95f4\u6b65\u7f51\u7edc\u4e2d\u67d0\u4e00\u4e2a\u795e\u7ecf\u5143\u7684\u8f93\u51fa":36,"\u67d0\u4e9b\u53c2\u6570\u53ea\u53ef\u7528\u4e8e\u7279\u5b9a\u7684\u5c42\u4e2d":46,"\u67e5\u770b":[40,60],"\u67e5\u770b\u5b89\u88c5\u540e\u7684paddl":32,"\u67e5\u770b\u5f53\u524d\u72b6\u6001":40,"\u67e5\u770b\u5f53\u524d\u8fdc\u7a0b\u4ed3\u5e93\u7684\u540d\u5b57":40,"\u67e5\u770b\u6587\u4ef6\u5177\u4f53\u88ab\u4fee\u6539\u7684\u5185\u5bb9":40,"\u67e5\u770bjob\u7684\u8be6\u7ec6\u60c5\u51b5":51,"\u6807\u51c6\u5dee\u4e3a":27,"\u6807\u51c6lstm\u4ee5\u6b63\u5411\u5904\u7406\u8be5\u5e8f\u5217":63,"\u6807\u793a\u56fe\u7247\u662f\u5f69\u8272\u56fe\u6216\u7070\u5ea6\u56fe":57,"\u6807\u793a\u662f\u5426\u4e3a\u5f69\u8272\u56fe\u7247":57,"\u6807\u7b7e0\u8868\u793a\u8d1f\u9762\u7684\u8bc4\u8bba":64,"\u6807\u7b7e1\u8868\u793a\u6b63\u9762\u7684\u8bc4\u8bba":64,"\u6807\u7b7e\u4e0b\u627e\u5230\u6700\u65b0\u7684paddle\u955c\u50cf\u7248\u672c":30,"\u6807\u7b7e\u6587\u4ef6":63,"\u6807\u7b7e\u65b9\u6848\u6765\u81ea":63,"\u6807\u8bc6\u662f\u5426\u4e3a\u8fde\u7eed\u7684batch\u8ba1\u7b97":47,"\u6839\u636e\u4f60\u7684\u4efb\u52a1":49,"\u6839\u636e\u524d\u6587\u7684\u63cf\u8ff0":52,"\u6839\u636e\u5728\u6a21\u578b\u914d\u7f6e\u6587\u4ef6\u4e2d\u4f7f\u7528\u7684\u540d\u4e3a":45,"\u6839\u636e\u6570\u636e\u91cf\u89c4\u6a21":61,"\u6839\u636e\u7528\u6237\u6307\u5b9a\u7684\u5b57\u5178":56,"\u6839\u636e\u7d22\u5f15\u77e9\u9635\u548c\u5b57\u5178\u6253\u5370\u6587\u672c":39,"\u6839\u636e\u7f51\u7edc\u914d\u7f6e\u4e2d\u7684":47,"\u6839\u636e\u8fd9\u4e9b\u53c2\u6570\u7684\u4f7f\u7528\u573a\u5408":46,"\u6839\u636e\u9ed8\u8ba4\u503c\u9012\u589e":47,"\u6839\u636e\u9ed8\u8ba4\u7aef\u53e3\u53f7\u9012\u589e":47,"\u6839\u636ecpu":30,"\u6839\u636ejob\u5bf9\u5e94\u7684pod\u4fe1\u606f":51,"\u683c\u5f0f":47,"\u683c\u5f0f\u5982\u4e0b":60,"\u683c\u5f0f\u8bf4\u660e":56,"\u68af\u5ea6\u4f1a\u5c31\u5730":41,"\u68af\u5ea6\u53c2\u6570\u7684\u5206\u5757\u6570\u76ee":47,"\u68af\u5ea6\u5c31\u53ef\u4ee5\u901a\u8fc7\u8fd9\u4e2a\u65b9\u7a0b\u8ba1\u7b97\u5f97\u5230":41,"\u68af\u5ea6\u670d\u52a1\u5668\u7684\u6570\u91cf":47,"\u68af\u5ea6\u68c0\u67e5\u5355\u5143\u6d4b\u8bd5\u901a\u8fc7\u6709\u9650\u5dee\u5206\u6cd5\u6765\u9a8c\u8bc1\u4e00\u4e2a\u5c42\u7684\u68af\u5ea6":41,"\u68af\u5ea6\u68c0\u67e5\u7684\u8f93\u5165\u6570\u636e\u7684\u6279\u6b21\u5927\u5c0f":41,"\u68d2":60,"\u697c\u5c42":36,"\u6a21\u5757":57,"\u6a21\u5757\u4e2d\u7684":3,"\u6a21\u578b":63,"\u6a21\u578b\u4e00\u76f4\u4e0d\u6536\u655b":27,"\u6a21\u578b\u4fdd\u5b58\u5728\u76ee\u5f55":64,"\u6a21\u578b\u5171\u5305\u542b1":56,"\u6a21\u578b\u5217\u8868\u6587\u4ef6":63,"\u6a21\u578b\u53ca\u53c2\u6570\u4f1a\u88ab\u4fdd\u5b58\u5728\u8def\u5f84":57,"\u6a21\u578b\u5b58\u50a8\u8def\u5f84":60,"\u6a21\u578b\u5c06\u4fdd\u5b58\u5728\u76ee\u5f55":63,"\u6a21\u578b\u5c31\u8bad\u7ec3\u6210\u529f\u4e86":65,"\u6a21\u578b\u6587\u4ef6\u5c06\u88ab\u5199\u5165\u8282\u70b9":45,"\u6a21\u578b\u6765\u5c06\u6cd5\u8bed\u7ffb\u8bd1\u6210\u82f1\u8bed":65,"\u6a21\u578b\u6765\u6307\u5bfc\u4f60\u5b8c\u6210\u8fd9\u4e9b\u6b65\u9aa4":39,"\u6a21\u578b\u6f14\u793a\u5982\u4f55\u914d\u7f6e\u590d\u6742\u7684\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u6a21\u578b":39,"\u6a21\u578b\u7684\u4ee3\u7801\u53ef\u4ee5\u5728":39,"\u6a21\u578b\u7684\u7ed3\u6784\u548c\u8bad\u7ec3\u8fc7\u7a0b":56,"\u6a21\u578b\u7684\u7f16\u7801\u5668\u90e8\u5206\u5982\u4e0b\u6240\u793a":39,"\u6a21\u578b\u88ab\u4fdd\u5b58\u5728":62,"\u6a21\u578b\u8bad\u7ec3\u4f1a\u770b\u5230\u7c7b\u4f3c\u4e0a\u9762\u8fd9\u6837\u7684\u65e5\u5fd7\u4fe1\u606f":60,"\u6a21\u578b\u8bad\u7ec3\u548c\u6700\u540e\u7684\u7ed3\u679c\u9a8c\u8bc1":28,"\u6a21\u578b\u8bad\u7ec3\u7b49\u4efb\u52a1":33,"\u6a21\u578b\u8def\u5f84":[58,63],"\u6a21\u578b\u8f93\u51fa\u8def\u5f84":63,"\u6a21\u578b\u914d\u7f6e":1,"\u6a21\u578b\u914d\u7f6e\u89e3\u6790":25,"\u6a21\u578b\u91c7\u7528":56,"\u6a21\u578b\u9884\u6d4b":5,"\u6b21":36,"\u6b22\u8fce\u901a\u8fc7":40,"\u6b63\u6837\u672c":60,"\u6b63\u786e\u7684\u89e3\u51b3\u65b9\u6cd5\u662f":27,"\u6b63\u8d1f\u5bf9\u9a8c\u8bc1":46,"\u6b63\u9762\u7684\u8bc4\u8bba\u7684\u5f97\u5927\u4e8e\u7b49\u4e8e7":64,"\u6b63\u9762\u8bc4\u4ef7\u6837\u672c":64,"\u6b64\u5904":56,"\u6b64\u5904\u90fd\u4e3a2":36,"\u6b64\u6559\u7a0b\u5c06\u5411\u60a8\u5206\u6b65\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528\u5185\u7f6e\u7684\u5b9a\u65f6\u5de5\u5177":44,"\u6b64\u6570\u636e\u96c6\u5305\u542b\u7535\u5f71\u8bc4\u8bba\u53ca\u5176\u76f8\u5173\u8054\u7684\u7c7b\u522b\u6807\u7b7e":64,"\u6b64\u65f6\u60a8\u53ef\u4ee5\u8fd0\u884c\u8fd9\u4e2a\u547d\u4ee4\u5728\u5f00\u53d1\u673a\u4e0a\u8fdb\u884c\u6d4b\u8bd5\u8fd0\u884c":30,"\u6bb5\u843d\u53ef\u4ee5\u770b\u4f5c\u662f\u4e00\u4e2a\u5d4c\u5957\u7684\u53cc\u5c42\u7684\u5e8f\u5217":38,"\u6bcf100\u4e2abatch\u6253\u5370\u4e00\u6b21\u7edf\u8ba1\u4fe1\u606f":64,"\u6bcf100\u4e2abatch\u663e\u793a\u53c2\u6570\u7edf\u8ba1":63,"\u6bcf20\u4e2abatch\u6253\u5370\u4e00\u6b21\u65e5\u5fd7":64,"\u6bcf20\u4e2abatch\u8f93\u51fa\u65e5\u5fd7":63,"\u6bcf\u4e00\u4e2a\u4efb\u52a1\u6d41\u7a0b\u90fd\u53ef\u4ee5\u88ab\u5212\u5206\u4e3a\u5982\u4e0b\u4e94\u4e2a\u6b65\u9aa4":60,"\u6bcf\u4e00\u4e2a\u65f6\u95f4\u6b65":36,"\u6bcf\u4e00\u4e2a\u65f6\u95f4\u6b65\u4e4b\u95f4\u7684\u795e\u7ecf\u7f51\u7edc\u5177\u6709\u4e00\u5b9a\u7684\u76f8\u5173\u6027":36,"\u6bcf\u4e00\u4e2a\u6d4b\u8bd5\u5468\u671f\u6d4b\u8bd5\u4e00\u6b21\u6240\u6709\u6570\u636e":62,"\u6bcf\u4e00\u4e2a\u8282\u70b9\u90fd\u6709\u76f8\u540c\u7684\u65e5\u5fd7\u7ed3\u6784":45,"\u6bcf\u4e00\u4e2akey\u7531":62,"\u6bcf\u4e00\u7ec4\u5185\u7684\u6240\u6709\u53e5\u5b50\u548clabel":36,"\u6bcf\u4e00\u884c\u8868\u793a\u4e00\u4e2a\u5b9e\u4f8b":64,"\u6bcf\u4e2a":[39,45,63],"\u6bcf\u4e2a\u5143\u7d20\u662f\u4e00\u4e2a0\u5c42\u5e8f\u5217":35,"\u6bcf\u4e2a\u5143\u7d20\u662f\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":35,"\u6bcf\u4e2a\u5355\u5c42rnn":38,"\u6bcf\u4e2a\u5355\u8bcd\u7684\u9884\u6d4b\u9519\u8bef\u7387":65,"\u6bcf\u4e2a\u53e5\u5b50\u53c8\u662f\u5355\u8bcd\u7684\u6570\u7ec4":36,"\u6bcf\u4e2a\u53e5\u5b50\u90fd\u4ee5\u5f00\u59cb\u6807\u8bb0\u5f00\u5934":39,"\u6bcf\u4e2a\u53e5\u5b50\u90fd\u4ee5\u7ed3\u675f\u6807\u8bb0\u7ed3\u5c3e":39,"\u6bcf\u4e2a\u5b50\u5e8f\u5217\u957f\u5ea6\u53ef\u4ee5\u4e0d\u4e00\u81f4":36,"\u6bcf\u4e2a\u5b50\u6587\u4ef6\u5939\u4e0b\u5b58\u50a8\u76f8\u5e94\u5206\u7c7b\u7684\u56fe\u7247":57,"\u6bcf\u4e2a\u5b57\u5178\u5305\u542b\u603b\u517130000\u4e2a\u5355\u8bcd":65,"\u6bcf\u4e2a\u5b57\u5178\u90fd\u6709dictsize\u4e2a\u5355\u8bcd":65,"\u6bcf\u4e2a\u5c42\u5728\u5176":41,"\u6bcf\u4e2a\u5c42\u90fd\u6709\u4e00\u4e2a\u6216\u591a\u4e2ainput":60,"\u6bcf\u4e2a\u6279\u6b21\u6570\u636e":47,"\u6bcf\u4e2a\u6574\u6570\u5217\u8868\u88ab\u89c6\u4e3a\u4e00\u4e2a\u6574\u6570\u5e8f\u5217":39,"\u6bcf\u4e2a\u6587\u4ef6\u5939\u90fd\u5305\u542b\u6cd5\u8bed\u5230\u82f1\u8bed\u7684\u5e73\u884c\u8bed\u6599\u5e93":65,"\u6bcf\u4e2a\u6587\u4ef6\u662f\u4e00\u4e2a\u7535\u5f71\u8bc4\u8bba":64,"\u6bcf\u4e2a\u6587\u672c\u6587\u4ef6\u5305\u542b\u4e00\u4e2a\u6216\u8005\u591a\u4e2a\u5b9e\u4f8b":64,"\u6bcf\u4e2a\u65f6\u95f4\u6b65\u4e4b\u5185\u7684\u8fd0\u7b97\u662f\u72ec\u7acb\u7684":38,"\u6bcf\u4e2a\u65f6\u95f4\u6b65\u90fd\u7528\u4e86\u4e0a\u4e00\u4e2a\u65f6\u95f4\u6b65\u7684\u8f93\u51fa\u7ed3\u679c":36,"\u6bcf\u4e2a\u6743\u91cd\u5bf9\u5e94\u4e00\u4e2a\u8f93\u5165":41,"\u6bcf\u4e2a\u6837\u672c\u7531\u4e24\u90e8\u5206\u7ec4\u6210":36,"\u6bcf\u4e2a\u6837\u672c\u95f4\u7528\u7a7a\u884c\u5206\u5f00":36,"\u6bcf\u4e2a\u6d4b\u8bd5\u5468\u671f\u6d4b\u8bd5":62,"\u6bcf\u4e2a\u7279\u5f81\u7684meta\u914d\u7f6e":62,"\u6bcf\u4e2a\u72b6\u6001":38,"\u6bcf\u4e2a\u7c7b\u522b\u4e2d\u968f\u673a\u62bd\u53d6\u4e8610\u5f20\u56fe\u7247":57,"\u6bcf\u4e2a\u7c7b\u5305\u542b6000\u5f20":57,"\u6bcf\u4e2a\u7ebf\u7a0b":47,"\u6bcf\u4e2a\u7ebf\u7a0b\u5206\u914d\u5230128\u4e2a\u6837\u672c\u7528\u4e8e\u8bad\u7ec3":47,"\u6bcf\u4e2a\u8282\u70b9\u6709\u4e24\u4e2a6\u6838cpu":65,"\u6bcf\u4e2a\u8bad\u7ec3\u8282\u70b9\u5fc5\u987b\u6307\u5b9a\u4e00\u4e2a\u552f\u4e00\u7684id\u53f7":47,"\u6bcf\u4e2a\u8bb0\u5fc6\u5355\u5143\u5305\u542b\u56db\u4e2a\u4e3b\u8981\u7684\u5143\u7d20":64,"\u6bcf\u4e2a\u8bc4\u8bba\u7684\u7f51\u5740":64,"\u6bcf\u4e2a\u8f93\u5165\u90fd\u662f\u4e00\u4e2a":41,"\u6bcf\u4e2a\u8f93\u51fa\u8282\u70b9\u90fd\u8fde\u63a5\u5230\u6240\u6709\u7684\u8f93\u5165\u8282\u70b9\u4e0a":41,"\u6bcf\u4e2a\u91cc\u9762\u90fd\u5305\u542b202mb\u7684\u5168\u90e8\u7684\u6a21\u578b\u53c2\u6570":65,"\u6bcf\u4e2apass\u7684\u7b2c0\u4e2abatch\u5230\u5f53\u524dbatch\u6240\u6709\u6837\u672c\u7684\u5e73\u5747\u5206\u7c7b\u9519\u8bef\u7387":60,"\u6bcf\u4e2apass\u7684\u7b2c0\u4e2abatch\u5230\u5f53\u524dbatch\u6240\u6709\u6837\u672c\u7684\u5e73\u5747cost":60,"\u6bcf\u4e2apod\u5305\u542b\u4e00\u4e2apaddlepaddle\u5bb9\u5668":52,"\u6bcf\u4f4d\u7528\u6237\u81f3\u5c11\u670920\u6761\u8bc4\u5206":61,"\u6bcf\u5c42\u4e0a\u53ea\u80fd\u4fdd\u5b58\u56fa\u5b9a\u6570\u76ee\u4e2a\u6700\u597d\u7684\u72b6\u6001":47,"\u6bcf\u5c42\u4f7f\u7528\u7684gpu\u53f7\u4f9d\u8d56\u4e8e\u53c2\u6570train":49,"\u6bcf\u5f53\u6a21\u578b\u5728\u7ffb\u8bd1\u8fc7\u7a0b\u4e2d\u751f\u6210\u4e86\u4e00\u4e2a\u5355\u8bcd":65,"\u6bcf\u6279\u6b21":47,"\u6bcf\u6b21":30,"\u6bcf\u6b21\u63d0\u4ea4\u4ee3\u7801":40,"\u6bcf\u6b21\u6d4b\u8bd5\u90fd\u6d4b\u8bd5\u6240\u6709\u6570\u636e":64,"\u6bcf\u6b21\u751f\u62101\u4e2a\u5e8f\u5217":65,"\u6bcf\u6b21\u8bfb\u53d6\u4e00\u6761\u6570\u636e\u540e":60,"\u6bcf\u6b21\u90fd\u4f1a\u4ecepython\u7aef\u8bfb\u53d6\u6570\u636e":3,"\u6bcf\u884c\u5b58\u50a8\u4e00\u4e2a\u8bcd":56,"\u6bcf\u884c\u5b58\u50a8\u7684\u662f\u4e00\u4e2a\u6837\u672c\u7684\u7279\u5f81":58,"\u6bcf\u884c\u6253\u537032\u4e2a\u53c2\u6570\u4ee5":56,"\u6bcf\u884c\u8868\u793a\u4e00\u4e2a\u6279\u6b21\u4e2d\u7684\u5355\u4e2a\u8f93\u5165":41,"\u6bcf\u884c\u90fd\u662f\u4e00\u4e2a\u6cd5\u8bed\u6216\u8005\u82f1\u8bed\u7684\u53e5\u5b50":65,"\u6bcf\u8f6e\u4f1a\u5c06\u6570\u636e\u96c6\u4e2d\u7684\u6240\u6709\u8bad\u7ec3\u6837\u672c\u4f7f\u7528\u4e00\u6b21":47,"\u6bcf\u8f6e\u7ed3\u675f\u65f6\u5bf9\u6240\u6709\u6d4b\u8bd5\u6570\u636e\u8fdb\u884c\u6d4b\u8bd5":47,"\u6bcf\u8f6e\u90fd\u4f1a\u4fdd\u5b58\u9884\u6d4b\u7ed3\u679c":47,"\u6bcf\u8fd0\u884c\u591a\u5c11\u4e2a\u6279\u6b21\u6267\u884c\u4e00\u6b21\u7a00\u758f\u53c2\u6570\u5206\u5e03\u7684\u68c0\u67e5":47,"\u6bcf\u9694\u591a\u5c11batch\u6253\u5370\u4e00\u6b21\u65e5\u5fd7":60,"\u6bcfdot":47,"\u6bcflog":47,"\u6bcfsave":47,"\u6bcftest":47,"\u6bd4\u5982":[27,30,40,60],"\u6bd4\u5982\u4e00\u53e5\u8bdd\u4e2d\u7684\u6bcf\u4e00\u4e2a\u5355\u8bcd":36,"\u6bd4\u5982\u5982\u679c\u8981build\u4e00\u4e2a\u4e0d\u4f9d\u8d56gpu":40,"\u6bd4\u5982\u8bbe\u7f6e\u4e00\u4e2a\u5168\u8fde\u63a5\u5c42\u7684\u53c2\u6570\u521d\u59cb\u5316\u65b9\u5f0f\u548cbias\u521d\u59cb\u5316\u65b9\u5f0f":27,"\u6bd4\u5982\u901a\u8fc78080\u7aef\u53e3":50,"\u6bd4\u5982ide\u914d\u7f6e\u91cc":40,"\u6c34\u6e29":36,"\u6c49\u5ead":36,"\u6c60\u5316\u5c42":57,"\u6ca1":36,"\u6ca1\u6709\u4f5c\u7528":3,"\u6ca1\u6709\u4f7f\u7528avx\u6307\u4ee4\u96c6":32,"\u6ca1\u6709\u5b9e\u9645\u610f\u4e49":56,"\u6ca1\u6709\u6d4b\u8bd5\u6570\u636e":3,"\u6ca1\u6709\u8fdb\u884c\u6b63\u786e\u6027\u7684\u68c0\u67e5":61,"\u6ca1\u6709\u8fdb\u884c\u7ed3\u6784\u7684\u5fae\u8c03":62,"\u6cd5\u8bed":65,"\u6ce8\u610f":[3,29,30,33,39,41,52,57],"\u6ce8\u610f\u4e0a\u8ff0\u547d\u4ee4\u4e2d":52,"\u6ce8\u610f\u5230\u6211\u4eec\u5df2\u7ecf\u5047\u8bbe\u673a\u5668\u4e0a\u67094\u4e2agpu":49,"\u6ce8\u610f\u5e94\u8be5\u786e\u4fdd\u9ed8\u8ba4\u6a21\u578b\u8def\u5f84":64,"\u6ce8\u610f\u9884\u6d4b\u6570\u636e\u901a\u5e38\u4e0d\u5305\u542blabel":5,"\u6ce8\u610fnode":52,"\u6ce8\u91ca\u6389":64,"\u6cf3\u6c60":36,"\u6d41":36,"\u6d41\u7a0b\u6765\u63d0\u4ea4\u4ee3\u7801":40,"\u6d44":36,"\u6d4b\u8bd5":40,"\u6d4b\u8bd5\u6570\u636e":45,"\u6d4b\u8bd5\u6570\u636e\u4e5f\u5305\u542b":45,"\u6d4b\u8bd5\u6570\u636e\u548c\u6a21\u578b\u914d\u7f6e\u6587\u4ef6":45,"\u6d4b\u8bd5\u6570\u636e\u548c\u751f\u6210\u6570\u636e":65,"\u6d4b\u8bd5\u6570\u636e\u653e\u7f6e\u5728\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u4e0d\u540c\u76ee\u5f55\u7684\u8981\u6c42":45,"\u6d4b\u8bd5\u6570\u636e\u7684\u6240\u6709\u76f8\u5bf9\u6216\u7edd\u5bf9\u6587\u4ef6\u8def\u5f84":45,"\u6d4b\u8bd5\u6570\u6910\u96c6":64,"\u6d4b\u8bd5\u65f6\u6307\u5b9a\u7684\u5b58\u50a8\u6a21\u578b\u5217\u8868\u7684\u6587\u4ef6":47,"\u6d4b\u8bd5\u65f6\u9ed8\u8ba4\u4e0dshuffl":3,"\u6d4b\u8bd5\u662f":40,"\u6d4b\u8bd5\u6837\u672c":45,"\u6d4b\u8bd5\u6a21\u578b\u662f\u6307\u4f7f\u7528\u8bad\u7ec3\u51fa\u7684\u6a21\u578b\u8bc4\u4f30\u5df2\u6807\u8bb0\u7684\u9a8c\u8bc1\u96c6":64,"\u6d4b\u8bd5\u7684\u6a21\u578b\u5305\u62ec\u4ece\u7b2cm\u8f6e\u5230\u7b2cn":49,"\u6d4b\u8bd5\u811a\u672c\u662f":63,"\u6d4b\u8bd5\u96c6\u548c\u8bad\u7ec3\u96c6\u76ee\u5f55\u5305\u542b\u4e0b\u9762\u7684\u6587\u4ef6":64,"\u6d4b\u8bd5model_list":46,"\u6d4b\u8bd5save_dir":46,"\u6d4f\u89c8\u4ee3\u7801":30,"\u6d6a\u6f2b\u7247":61,"\u6d6e\u70b9\u5f02\u5e38\u901a\u5e38\u7684\u539f\u56e0\u662f\u6d6e\u70b9\u6570\u6ea2\u51fa":27,"\u6d6e\u70b9\u6570\u5360\u7528\u7684\u5b57\u8282\u6570":56,"\u6d6e\u70b9\u7a00\u758f\u6570\u636e":41,"\u6dd8\u5b9d\u7b49":64,"\u6df1\u5ea6\u53cc\u5411lstm\u5c42\u63d0\u53d6softmax\u5c42\u7684\u7279\u5f81":63,"\u6df1\u5ea6\u5b66\u4e60\u5165\u95e8\u8bfe\u7a0b":34,"\u6df7\u5408":63,"\u6df7\u5408\u5f53\u524d\u8bcd\u5411\u91cf\u548cattention\u52a0\u6743\u7f16\u7801\u5411\u91cf":39,"\u6dfb\u52a0\u542f\u52a8\u811a\u672c":52,"\u6e05\u7406\u6389\u8001\u65e7\u7684paddlepaddle\u5b89\u88c5\u5305":27,"\u6e29\u99a8":36,"\u6e90":65,"\u6e90\u4ee3\u7801":[30,60],"\u6e90\u4ee3\u7801\u683c\u5f0f":40,"\u6e90\u5b57\u5178":65,"\u6e90\u5e8f\u5217":39,"\u6e90\u7801":30,"\u6e90\u7801\u4e0edemo":51,"\u6e90\u8bed\u8a00\u5230\u76ee\u6807\u8bed\u8a00\u7684\u5e73\u884c\u8bed\u6599\u5e93\u6587\u4ef6":65,"\u6e90\u8bed\u8a00\u548c\u76ee\u6807\u8bed\u8a00\u5171\u4eab\u76f8\u540c\u7684\u7f16\u7801\u5b57\u5178":56,"\u6e90\u8bed\u8a00\u548c\u76ee\u6807\u8bed\u8a00\u90fd\u662f\u76f8\u540c\u7684\u8bed\u8a00":56,"\u6e90\u8bed\u8a00\u77ed\u8bed\u548c\u76ee\u6807\u8bed\u8a00\u77ed\u8bed\u7684\u5b57\u5178\u5c06\u88ab\u5408\u5e76":56,"\u6ee4\u6ce2\u5668\u6838\u5728\u5782\u76f4\u65b9\u5411\u4e0a\u7684\u5c3a\u5bf8":58,"\u6ee4\u6ce2\u5668\u6838\u5728\u6c34\u5e73\u65b9\u5411\u4e0a\u7684\u5c3a\u5bf8":58,"\u6f14\u793a\u4e2d\u4f7f\u7528\u7684":63,"\u6f14\u793a\u91c7\u7528":63,"\u6fc0\u6d3b":41,"\u6fc0\u6d3b\u51fd\u6570\u7c7b\u578b":60,"\u6fc0\u6d3b\u65b9\u7a0b":41,"\u6fc0\u6d3b\u7684\u7c7b\u578b":41,"\u7075\u6d3b\u6027\u548c\u53ef\u6269\u5c55\u6027":0,"\u70ed\u60c5":36,"\u7136\u540e":[44,45,56,62],"\u7136\u540e\u4ea4\u7ed9\u7528\u6237\u81ea\u5b9a\u4e49\u7684\u51fd\u6570":28,"\u7136\u540e\u4ea4\u7ed9step\u51fd\u6570":38,"\u7136\u540e\u4f60\u53ea\u9700\u8981\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4":65,"\u7136\u540e\u4f7f\u7528\u4e0b\u9762\u7684\u811a\u672c":64,"\u7136\u540e\u518d\u505a\u4e00\u6b21\u6587\u672c\u5377\u79ef\u7f51\u7edc\u64cd\u4f5c":62,"\u7136\u540e\u5229\u7528\u89c2\u6d4b\u6570\u636e\u8c03\u6574":28,"\u7136\u540e\u5355\u51fb":40,"\u7136\u540e\u53ef\u4ee5\u4f7f\u7528\u547d\u4ee4\u884c\u5de5\u5177\u521b\u5efajob":52,"\u7136\u540e\u53ef\u4ee5\u8f6c\u6362\u4e3a\u56fe\u7247":58,"\u7136\u540e\u5728":65,"\u7136\u540e\u5728\u4e0b\u4e00\u4e2a\u65f6\u95f4\u6b65\u8f93\u5165\u7ed9\u53e6\u4e00\u4e2a\u795e\u7ecf\u5143":36,"\u7136\u540e\u5728\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165\u4ee5\u4e0b\u7f51\u5740":30,"\u7136\u540e\u5728\u89e3\u7801\u88ab\u7ffb\u8bd1\u7684\u8bed\u53e5\u65f6":65,"\u7136\u540e\u5728dataprovider\u91cc\u9762\u6839\u636e\u8be5\u5730\u5740\u52a0\u8f7d\u5b57\u5178":27,"\u7136\u540e\u5b9a\u4e49":39,"\u7136\u540e\u5c06\u6784\u5efa\u6210\u529f\u7684\u955c\u50cf\u4e0a\u4f20\u5230\u955c\u50cf\u4ed3\u5e93":52,"\u7136\u540e\u5f97\u5230\u5e73\u5747\u91c7\u6837\u7684\u7ed3\u679c":62,"\u7136\u540e\u6211\u4eec\u5229\u7528\u591a\u8f93\u5165\u7684":62,"\u7136\u540e\u6211\u4eec\u53d1\u73b0pass":65,"\u7136\u540e\u6211\u4eec\u5806\u53e0\u4e00\u5bf9\u5bf9\u7684":63,"\u7136\u540e\u6211\u4eec\u6c42\u8fd9\u4e24\u4e2a\u7279\u5f81\u7684\u4f59\u5f26\u76f8\u4f3c\u5ea6":62,"\u7136\u540e\u6240\u6709\u7528":40,"\u7136\u540e\u6267\u884c\u4e0b\u9762\u7684\u547d\u4ee4":58,"\u7136\u540e\u628a\u8fd9\u4e2a\u5305\u542b\u4e86\u8bad\u7ec3\u6570\u636e\u7684container\u4fdd\u5b58\u4e3a\u4e00\u4e2a\u65b0\u7684\u955c\u50cf":51,"\u7136\u540e\u63d0\u4ea4\u65b0\u6dfb\u52a0\u7684":40,"\u7136\u540e\u63d0\u53d6\u9690\u85cflstm\u5c42\u7684\u6240\u6709\u65f6\u95f4\u6b65\u957f\u7684\u6700\u5927\u8bcd\u5411\u91cf\u4f5c\u4e3a\u6574\u4e2a\u5e8f\u5217\u7684\u8868\u793a":64,"\u7136\u540e\u662f\u5bf9\u5e94\u7684\u82f1\u8bed\u5e8f\u5217":65,"\u7136\u540e\u6dfb\u52a0\u4e00\u4e2a\u5168\u8fde\u63a5\u5c42":62,"\u7136\u540e\u70b9\u51fb":40,"\u7136\u540e\u7528\u5bc6\u7801":30,"\u7136\u540e\u7528pickle\u547d\u4ee4\u5c06\u7279\u5f81":62,"\u7136\u540e\u7533\u660e\u4e00\u4e2a\u5b58\u50a8\u5377":52,"\u7136\u540e\u89c2\u5bdf\u5230\u8f93\u51fa\u7684\u53d8\u5316\u4e3a":41,"\u7136\u540e\u89e3\u538b":65,"\u7136\u540e\u89e3\u7801\u5668\u901a\u8fc7\u8fd9\u4e2a\u5411\u91cf\u751f\u6210\u4e00\u4e2a\u76ee\u6807\u8bed\u53e5":65,"\u7136\u540e\u8f93\u51fa\u9884\u6d4b\u5206\u6570":62,"\u7136\u540e\u8fd4\u56de\u7ed9paddlepaddle\u8fdb\u7a0b":3,"\u7136\u540e\u8fdb\u884c\u968f\u673a\u6253\u4e71":62,"\u7136\u540e\u901a\u8fc7\u51fd\u6570":52,"\u7136\u540e\u901a\u8fc7\u81ea\u8eab\u7684ip\u5730\u5740\u5728":52,"\u7136\u800c":[39,47],"\u7136\u800c\u6709\u4e9b\u8bc4\u8bba\u4e0a\u4e0b\u6587\u975e\u5e38\u957f":64,"\u7248\u672c":32,"\u7248\u672c\u5728":40,"\u7279\u522b\u611f\u8c22paddlepaddle\u7684":0,"\u7279\u522b\u662f\u5728lstm\u7b49rnn\u4e2d":27,"\u7279\u522b\u662f\u5f53\u76f8\u540c\u7684\u8bcd\u5728\u53e5\u5b50\u4e2d\u51fa\u73b0\u591a\u4e8e\u4e00\u6b21\u65f6":63,"\u7279\u5f81":62,"\u7279\u5f81\u56fe\u5747\u503c":58,"\u7279\u5f81\u56fe\u65b9\u5dee":58,"\u7279\u5f81\u5c06\u4f1a\u5b58\u5230":58,"\u7279\u5f81\u6587\u4ef6":63,"\u7279\u5f81\u7684\u7c7b\u578b\u548c\u7ef4\u5ea6":62,"\u72af\u7f6a\u7247":61,"\u73af\u5883\u53d8\u91cf":52,"\u73af\u5883\u53d8\u91cf\u6765\u6307\u5b9a\u7279\u5b9a\u7684gpu":27,"\u73b0\u5728\u6211\u4eec\u53ef\u4ee5\u5f00\u59cbpaddle\u8bad\u7ec3\u4e86":62,"\u73b0\u9636\u6bb5paddle\u6709\u4e00\u4e2a\u95ee\u9898\u662f":25,"\u751a\u81f3\u4e0d\u540c\u7ade\u4e89\u5bf9\u624b\u4ea7\u54c1\u7684\u504f\u597d":64,"\u751a\u81f3\u80fd\u89e3\u91ca\u4e3a\u4ec0\u4e48\u67d0\u4e2a\u64cd\u4f5c\u82b1\u4e86\u5f88\u957f\u65f6\u95f4":44,"\u751f\u4ea7\u955c\u50cf":[30,40],"\u751f\u4ea7\u955c\u50cf\u7684\u751f\u6210\u5206\u4e3a\u4e24\u6b65":30,"\u751f\u6210":52,"\u751f\u6210\u5404\u79cd\u8bed\u8a00\u7684\u7ed1\u5b9a\u4ee3\u7801":25,"\u751f\u6210\u540e\u7684\u6587\u6863\u5206\u522b\u5b58\u50a8\u5728\u7f16\u8bd1\u76ee\u5f55\u7684":42,"\u751f\u6210\u5e8f\u5217\u7684\u6700\u5927\u957f\u5ea6":39,"\u751f\u6210\u5f53\u524d\u5c42\u7684\u6240\u6709\u540e\u7ee7\u72b6\u6001":65,"\u751f\u6210\u6570\u636e\u7684\u76ee\u5f55":65,"\u751f\u6210\u6587\u6863":25,"\u751f\u6210\u751f\u4ea7\u955c\u50cf\u53ea\u9700\u8981\u8fd0\u884c":30,"\u751f\u6210\u7684\u6570\u636e\u5c06\u4f1a\u5b58\u50a8\u5728\u8fd9\u4e2avolume\u4e0b":52,"\u751f\u6210\u7684\u6570\u636e\u7f13\u5b58\u5728\u5185\u5b58\u91cc":27,"\u751f\u6210\u7684\u7ed3\u679c\u6587\u4ef6":65,"\u751f\u6210\u7684html\u7248\u672c\u7684c":30,"\u751f\u6210\u7684meta\u914d\u7f6e\u6587\u4ef6\u5982\u4e0b\u6240\u793a":62,"\u751f\u6210\u7ed3\u679c\u6587\u4ef6\u7684\u8def\u5f84":39,"\u751f\u6210\u7f51\u7edc\u5c42\u914d\u7f6e":41,"\u751f\u6210\u81ea\u5df1\u76ee\u5f55\u4e0b\u7684\u4ed3\u5e93":40,"\u751f\u6210\u8bad\u7ec3\u9700\u8981\u7684\u6837\u672c":62,"\u751f\u6210\u8fd0\u884c\u7a0b\u5e8f":30,"\u751f\u6210api\u6587\u6863":25,"\u751f\u6210docker\u955c\u50cf\u7684\u65b9\u5f0f\u6709\u4e24\u4e2a":30,"\u7528":[61,62,63],"\u75280\u548c1\u8868\u793a":3,"\u7528\u4e86\u4e24\u4e2a\u6708\u4e4b\u540e\u8fd9\u4e2a\u663e\u793a\u5668\u5c4f\u5e55\u788e\u4e86":60,"\u7528\u4e8e":45,"\u7528\u4e8e\u5207\u5206\u5355\u5355\u8bcd\u548c\u6807\u70b9\u7b26\u53f7":64,"\u7528\u4e8e\u521d\u59cb\u5316\u53c2\u6570\u548c\u8bbe\u7f6e":41,"\u7528\u4e8e\u5c06\u4e0b\u4e00\u884c\u7684\u6570\u636e\u8f93\u5165\u51fd\u6570\u6807\u8bb0\u6210\u4e00\u4e2apydataprovider2":3,"\u7528\u4e8e\u5c06\u53c2\u6570\u4f20\u9012\u7ed9\u7f51\u7edc\u914d\u7f6e":49,"\u7528\u4e8e\u5c06\u8bcdid\u8f6c\u6362\u4e3a\u8bcd\u7684\u5b57\u5178\u6587\u4ef6":39,"\u7528\u4e8e\u6307\u5b9a\u7f51\u7edc\u914d\u7f6e\u6587\u4ef6":47,"\u7528\u4e8e\u653e\u7f6e":45,"\u7528\u4e8e\u6784\u6210\u65b0\u7684\u8bcd\u8868":56,"\u7528\u4e8e\u6807\u8bc6\u751f\u6210\u7684\u6587\u4ef6\u4e2d\u7684\u76f8\u5e94\u8f93\u51fa":39,"\u7528\u4e8e\u7a00\u758f\u8bad\u7ec3\u4e2d":47,"\u7528\u4e8e\u7edf\u8ba1\u8bcd\u9891\u7684bow\u6a21\u578b\u7279\u5f81":64,"\u7528\u4e8e\u81ea\u5b9a\u4e49\u6bcf\u6761\u6570\u636e\u7684batch":3,"\u7528\u4e8e\u8ba1\u7b97\u7f16\u7801\u5411\u91cf\u7684\u52a0\u6743\u548c":39,"\u7528\u4e8e\u8bbe\u7f6e\u8bad\u7ec3\u7b97\u6cd5":57,"\u7528\u4e8e\u8bfb\u53d6\u8bad\u7ec3":45,"\u7528\u4e8e\u96c6\u7fa4\u901a\u4fe1\u901a\u9053\u7684\u7aef\u53e3\u6570":45,"\u7528\u53cc\u5411\u95e8\u63a7\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u7f16\u7801":39,"\u7528\u591a\u5bf9\u6548\u679c\u5b8c\u5168\u76f8\u540c\u7684":36,"\u7528\u6237":45,"\u7528\u62371\u7684\u7279\u5f81":62,"\u7528\u6237\u4e5f\u53ef\u4ee5\u5728c":2,"\u7528\u6237\u53ea\u9700\u5b9a\u4e49rnn\u5728\u4e00\u4e2a\u65f6\u95f4\u6b65\u5185\u5b8c\u6210\u7684\u8ba1\u7b97":38,"\u7528\u6237\u53ea\u9700\u6267\u884c":63,"\u7528\u6237\u53ea\u9700\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5c31\u53ef\u4ee5\u4e0b\u8f7d\u5e76\u5904\u7406\u539f\u59cb\u6570\u636e":63,"\u7528\u6237\u53ef\u4ee5\u4f7f\u7528\u5f00\u53d1\u955c\u50cf\u4ee3\u66ff\u914d\u7f6e\u672c\u5730\u73af\u5883":30,"\u7528\u6237\u53ef\u4ee5\u4f7f\u7528ssh\u767b\u5f55\u5230\u8fd9\u53f0\u670d\u52a1\u5668\u4e0a\u5e76\u6267\u884c":30,"\u7528\u6237\u53ef\u4ee5\u5728\u8f93\u51fa\u7684\u6587\u672c\u6a21\u578b\u4e2d\u770b\u5230":56,"\u7528\u6237\u53ef\u4ee5\u6839\u636e\u8bad\u7ec3\u65e5\u5fd7":60,"\u7528\u6237\u53ef\u4ee5\u81ea\u5b9a\u4e49beam":47,"\u7528\u6237\u53ef\u4ee5\u8bbe\u7f6e":49,"\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u7b80\u5355\u4f7f\u7528python\u63a5\u53e3":2,"\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u7f51\u9875\u6d4f\u89c8\u6587\u6863":30,"\u7528\u6237\u53ef\u5728\u8c03\u7528cmake\u7684\u65f6\u5019\u8bbe\u7f6e\u5b83\u4eec":29,"\u7528\u6237\u53ef\u5728cmake\u7684\u547d\u4ee4\u884c\u4e2d":29,"\u7528\u6237\u5728\u4f7f\u7528paddlepaddl":27,"\u7528\u6237\u5b9a\u4e49\u7684\u53c2\u6570":3,"\u7528\u6237\u5c06\u914d\u7f6e\u4e0e\u8bad\u7ec3\u6570\u636e\u5207\u5206\u597d\u653e\u5728\u5206\u5e03\u5f0f\u6587\u4ef6\u7cfb\u7edf\u9884\u5148\u5206\u914d\u597d\u7684\u76ee\u5f55\u4e2d":52,"\u7528\u6237\u5e94\u8be5\u63d0\u4f9b\u7f51\u7edc\u914d\u7f6e\u6587\u4ef6":63,"\u7528\u6237\u5f3a\u5236\u6307\u5b9a\u7279\u5b9a\u7684python\u7248\u672c":27,"\u7528\u6237\u6307\u5b9a\u65b0\u7684\u5b57\u5178\u7684\u8def\u5f84":56,"\u7528\u6237\u6587\u4ef6\u4e2d\u6709\u56db\u79cd\u7c7b\u578b\u7684\u5b57\u6bb5":62,"\u7528\u6237\u7279\u5f81":62,"\u7528\u6237\u8fd8\u53ef\u4ee5\u6839\u636e\u6982\u7387\u5206\u5e03\u77e9\u9635\u5b9e\u73b0\u67f1\u641c\u7d22\u6216\u7ef4\u7279\u6bd4\u89e3\u7801":63,"\u7528\u6237\u9700\u8981\u5728\u7f51\u7edc\u914d\u7f6e\u4e2d\u6307\u5b9a":49,"\u7528\u6237\u9700\u8981\u6307\u5b9a\u672c\u673a\u4e0apython\u7684\u8def\u5f84":27,"\u7528\u6237\u9884\u6d4b\u7684\u547d\u4ee4\u884c\u754c\u9762\u5982\u4e0b":62,"\u7528\u6237id":61,"\u7528\u6237id\u8303\u56f4\u4ece1\u52306040":61,"\u7528\u6765\u4ece\u53c2\u6570\u670d\u52a1\u5668\u9884\u53d6\u53c2\u6570\u77e9\u9635\u76f8\u5e94\u7684\u884c":41,"\u7528\u6765\u4f30\u8ba1\u7ebf\u6027\u51fd\u6570\u7684\u53c2\u6570w":28,"\u7528\u6765\u5177\u4f53\u63cf\u8ff0":62,"\u7528\u6765\u5177\u4f53\u8bf4\u660e\u6570\u636e\u96c6\u7684\u5b57\u6bb5\u548c\u6587\u4ef6\u683c\u5f0f":62,"\u7528\u6765\u8ba1\u7b97\u6a21\u578b\u7684\u8bef\u5dee":28,"\u7528\u8fd9\u4e2a\u955c\u50cf\u521b\u5efa\u7684\u5bb9\u5668\u9700\u8981\u6709\u4ee5\u4e0b\u4e24\u4e2a\u529f\u80fd":52,"\u7531":38,"\u7531\u4e8e\u4e0d\u540c\u7684paddle\u7684\u7248\u672c\u53ef\u80fd\u9700\u8981\u4e0d\u540c\u7684\u4f9d\u8d56\u548c\u5de5\u5177":30,"\u7531\u4e8e\u5b83\u5185\u90e8\u5305\u542b\u4e86\u6bcf\u7ec4\u6570\u636e\u4e2d\u7684\u6240\u6709\u53e5\u5b50":36,"\u7531\u4e8e\u5bb9\u5668\u4e4b\u95f4\u5171\u4eabnet":50,"\u7531\u4e8e\u5df2\u7ecf\u77e5\u9053\u4e86\u771f\u5b9e\u7b54\u6848":28,"\u7531\u4e8e\u610f\u5916\u7684\u526f\u672c\u8bb0\u5f55\u548c\u6d4b\u8bd5\u8bb0\u5f55":61,"\u7531\u4e8e\u6211\u4eec\u60f3\u8981\u7684\u53d8\u6362\u662f\u53cc\u5c42\u65f6\u95f4\u5e8f\u5217":36,"\u7531\u4e8e\u6211\u4eec\u652f\u6301\u8bad\u7ec3\u6570\u636e\u6709\u4e0d\u540c\u7684\u6279\u6b21\u5927\u5c0f":41,"\u7531\u4e8e\u6570\u636e\u8bb8\u53ef\u7684\u539f\u56e0":63,"\u7531\u4e8e\u6807\u51c6\u7684\u7ffb\u8bd1\u7ed3\u679c\u5df2\u7ecf\u4e0b\u8f7d\u5230\u8fd9\u91cc":65,"\u7531\u4e8e\u6bcf\u4e2a\u5377\u79ef\u5c42\u540e\u9762\u8fde\u63a5\u7684\u662fbatch":58,"\u7531\u4e8e\u8fd9\u4e2a\u5730\u5740\u4f1a\u88abdataprovider\u4f7f\u7528":2,"\u7531\u4e8e\u8fd9\u6837\u505a\u53ef\u4ee5\u907f\u514d\u5f88\u591a\u6b7b\u9501\u95ee\u9898":3,"\u7531\u4e8e\u987a\u5e8f\u8c03\u7528\u8fd9\u4e9bgenerator\u4e0d\u4f1a\u51fa\u73b0\u4e0a\u8ff0\u95ee\u9898":3,"\u7531\u4e8ec":25,"\u7531\u4e8epaddlepaddle\u5df2\u7ecf\u5b9e\u73b0\u4e86\u4e30\u5bcc\u7684\u7f51\u7edc\u5c42":28,"\u7531\u4e8estep":38,"\u7531\u4e8etest_data\u5305\u542b\u4e24\u6761\u9884\u6d4b\u6570\u636e":5,"\u7531\u8bcd\u8bed\u6784\u6210\u7684\u53e5\u5b50":35,"\u7531grouplen":61,"\u7535\u5f711\u7684\u7279\u5f81":62,"\u7535\u5f71\u4fe1\u606f\u4ee5\u53ca\u7535\u5f71\u8bc4\u5206":61,"\u7535\u5f71\u540d\u5b57\u6bb5":62,"\u7535\u5f71\u540d\u79f0":61,"\u7535\u5f71\u548c\u7528\u6237":62,"\u7535\u5f71\u548c\u7528\u6237\u6709\u8bb8\u591a\u7684\u7279\u5f81":62,"\u7535\u5f71\u5927\u90e8\u5206\u662f\u624b\u5de5\u8f93\u5165\u6570\u636e":61,"\u7535\u5f71\u7279\u5f81":62,"\u7535\u5f71\u7c7b\u578b":61,"\u7535\u5f71\u7c7b\u578b\u5982\u7b26\u5408\u591a\u79cd\u7528\u7ba1\u9053\u7b26\u53f7":61,"\u7535\u5f71id":61,"\u7535\u5f71id\u8303\u56f4\u4ece1\u52303952":61,"\u7535\u8111":36,"\u767e\u4e07\u6570\u636e\u96c6":61,"\u7684":[36,40,45,51,52,60,64],"\u768410\u7ef4\u6574\u6570\u6807\u7b7e":3,"\u7684\u4e00\u4e2a\u7b80\u5355\u8c03\u7528\u5982\u4e0b":38,"\u7684\u4e00\u4e2a\u7ebf\u6027\u51fd\u6570":28,"\u7684\u4e00\u79cd":65,"\u7684\u4e3a0":47,"\u7684\u4e3b\u8981\u90e8\u5206":63,"\u7684\u4efb\u4e00\u4e00\u79cd":27,"\u7684\u4efb\u52a1":65,"\u7684\u4f7f\u7528\u793a\u4f8b\u5982\u4e0b":35,"\u7684\u504f\u7f6e\u5411\u91cf":41,"\u7684\u5185\u5b58":27,"\u7684\u5185\u5bb9\u5982\u4e0b\u6240\u793a":65,"\u7684\u5185\u5bb9\u6765\u5b9a\u5236imag":52,"\u7684\u5185\u6838block\u4f7f\u7528\u60c5\u51b5":44,"\u7684\u5206\u7c7b\u4efb\u52a1\u4e2d\u8d62\u5f97\u4e86\u7b2c\u4e00\u540d":58,"\u7684\u522b\u540d":[6,7,13,14,15],"\u7684\u5355\u8bcd\u7ea7\u522b\u7684\u5377\u79ef\u795e\u7ecf\u7f51\u7edc":62,"\u7684\u53cd\u5411\u4f20\u64ad\u5c06\u4f1a\u6253\u5370\u65e5\u5fd7\u4fe1\u606f":47,"\u7684\u53d8\u6362\u77e9\u9635":41,"\u7684\u53e5\u5b50\u7684\u60c5\u611f":64,"\u7684\u540d\u5b57":3,"\u7684\u540d\u79f0\u76f8\u540c":39,"\u7684\u540e\u7f00":61,"\u7684\u5411\u91cf":41,"\u7684\u542f\u52a8\u53c2\u6570":52,"\u7684\u542f\u52a8\u53c2\u6570\u5e76\u6267\u884c\u8fdb\u7a0b":52,"\u7684\u547d\u540d\u98ce\u683c\u5e76\u4e0d\u80fd\u9002\u5e94\u5176\u4ed6\u7b2c\u4e09\u65b9\u8bed\u8a00":25,"\u7684\u5730\u5740":50,"\u7684\u5730\u65b9":40,"\u7684\u5747\u5300\u5206\u5e03":27,"\u7684\u5934\u6587\u4ef6":25,"\u7684\u5dee\u8ddd\u4e0d\u65ad\u51cf\u5c0f":28,"\u7684\u5e73\u5747\u503c":35,"\u7684\u5e8f\u5217\u5f62\u72b6\u4e00\u81f4":36,"\u7684\u5f00\u53d1\u5de5\u4f5c\u90fd\u5e94\u8be5\u5728\u4e00\u4e2a\u65b0\u7684\u5206\u652f\u4e0a\u5b8c\u6210":40,"\u7684\u603b":45,"\u7684\u63a5\u53e3\u6837\u5f0f":25,"\u7684\u63cf\u8ff0\u8bf4\u660e\u4e2d":40,"\u7684\u6570\u636e\u8bfb\u53d6\u811a\u672c\u548c\u7c7b\u4f3c\u4e8e":60,"\u7684\u6570\u76ee\u4e00\u81f4":35,"\u7684\u6587\u4ef6\u4e5f\u5e26\u5230\u65b0\u5206\u652f\u4e0a":40,"\u7684\u65b9\u6cd5\u5df2\u88ab\u8bc1\u660e\u662f\u4e00\u79cd\u5f3a\u5927\u7684\u6a21\u578b":65,"\u7684\u65b9\u7a0b":41,"\u7684\u65f6\u5019\u5982\u679c\u62a5\u4e00\u4e9b\u4f9d\u8d56\u672a\u627e\u5230\u7684\u9519\u8bef\u662f\u6b63\u5e38\u7684":32,"\u7684\u65f6\u95f4\u6b65\u4fe1\u606f\u6210\u6b63\u6bd4":27,"\u7684\u66f4\u8be6\u7ec6\u51c6\u786e\u7684\u5b9a\u4e49":36,"\u7684\u6700\u5c0f\u503c":47,"\u7684\u6700\u65b0\u4ee3\u7801\u5e76\u66f4\u65b0\u5f53\u524d\u5206\u652f":40,"\u7684\u67b6\u6784\u7684\u793a\u4f8b":39,"\u7684\u6837\u5f0f":40,"\u7684\u6838\u5fc3\u662f\u8bbe\u8ba1step\u51fd\u6570\u7684\u8ba1\u7b97\u903b\u8f91":38,"\u7684\u6bb5\u843d\u5b9a\u4e49\u4e3a\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217":38,"\u7684\u6d4b\u8bd5\u6570\u636e\u96c6":63,"\u7684\u6e90\u7801\u4ee5\u53ca\u751f\u6210\u6587\u6863\u9700\u8981\u591a\u79cd\u5f00\u53d1\u5de5\u5177":40,"\u7684\u6e90\u7801\u91cc\u4f7f\u7528\u4e86":25,"\u7684\u7248\u672c\u53f7":56,"\u7684\u7279\u5f81":58,"\u7684\u72b6\u6001":38,"\u7684\u7528\u6237\u53c2\u8003":45,"\u7684\u76ee\u5f55\u7ed3\u6784\u4e3a":62,"\u7684\u771f\u5b9e\u5173\u7cfb\u4e3a":28,"\u7684\u77e9\u9635":41,"\u7684\u795e\u7ecf\u7f51\u7edc\u673a\u5668\u7ffb\u8bd1":65,"\u7684\u7a20\u5bc6\u5411\u91cf\u4f5c\u4e3a\u8f93\u5165":41,"\u7684\u7aef\u5230\u7aef\u7cfb\u7edf\u6765\u89e3\u51b3srl\u4efb\u52a1":63,"\u7684\u7b2ci\u4e2a\u503c":41,"\u7684\u7b2cj\u4e2a\u503c":41,"\u7684\u7d22\u5f15\u6587\u4ef6\u5f15\u7528\u8bad\u7ec3":45,"\u7684\u7ed3\u6784\u5982\u4e0b":62,"\u7684\u7ef4\u5ea6":56,"\u7684\u884c\u6570\u5e94\u8be5\u4e00\u81f4":65,"\u7684\u89c4\u8303":25,"\u7684\u8bad\u7ec3\u6a21\u578b\u811a\u672c":60,"\u7684\u8bdd":27,"\u7684\u8def\u5f84\u4e2d":64,"\u7684\u8f93\u5165":38,"\u7684\u8f93\u51fa":44,"\u7684\u8f93\u51fa\u4fe1\u606f\u5165\u624b\u662f\u4e2a\u4e0d\u9519\u7684\u9009\u62e9":44,"\u7684\u8f93\u51fa\u51fd\u6570\u8fd4\u56de\u7684\u662f\u4e0b\u4e00\u4e2a\u65f6\u523b\u8f93\u51fa\u8bcd\u7684":39,"\u7684\u8f93\u51fa\u683c\u5f0f":36,"\u7684\u8f93\u51fa\u88ab\u7528\u4f5c":39,"\u7684\u8fd4\u56de\u503c\u4e00\u81f4":61,"\u7684\u8fdc\u7a0b\u4ed3\u5e93\u7684\u540d\u5b57":40,"\u7684\u90e8\u5206":45,"\u7684\u914d\u7f6e":56,"\u7684\u9875\u9762\u5220\u9664\u8fdc\u7a0b\u4ed3\u5e93\u7684\u5206\u652f":40,"\u7684docker\u955c\u50cf":30,"\u76ee\u524d":[38,63],"\u76ee\u524d\u4f7f\u7528":40,"\u76ee\u524d\u5d4c\u5165python\u89e3\u91ca\u5668":25,"\u76ee\u524d\u5df2\u88ab\u767e\u5ea6\u5185\u90e8\u591a\u4e2a\u4ea7\u54c1\u7ebf\u5e7f\u6cdb\u4f7f\u7528":0,"\u76ee\u524d\u652f\u6301\u4e24\u79cd":35,"\u76ee\u524d\u652f\u6301fail":47,"\u76ee\u524d\u8be5\u53c2\u6570\u4ec5\u7528\u4e8eaucvalidationlayer\u548cpnpairvalidationlayer\u5c42":47,"\u76ee\u524d\u8fd8\u672a\u652f\u6301":38,"\u76ee\u524dpaddle\u7684\u8fdb\u7a0b\u6a21\u578b\u662fc":25,"\u76ee\u5f55":[45,51,52,64],"\u76ee\u5f55\u4e0b":[41,60,65],"\u76ee\u5f55\u4e0b\u627e\u5230":60,"\u76ee\u5f55\u4e0b\u7684demo\u8bad\u7ec3\u51fa\u6765":5,"\u76ee\u5f55\u4e0b\u7684python\u5305":27,"\u76ee\u5f55\u4e2d":[45,62],"\u76ee\u5f55\u4e2d\u7684":[44,45],"\u76ee\u5f55\u4e2dpaddl":52,"\u76ee\u5f55\u4f1a\u51fa\u73b0\u5982\u4e0b\u51e0\u4e2a\u65b0\u7684\u6587\u4ef6":63,"\u76ee\u5f55\u5c31\u6210\u4e3a\u4e86\u5171\u4eab\u5b58\u50a8":52,"\u76ee\u5f55\u7ed3\u6784\u5982\u4e0b":65,"\u76ee\u5f55\u91cc\u63d0\u4f9b\u4e86\u8be5\u6570\u636e\u7684\u4e0b\u8f7d\u811a\u672c\u548c\u9884\u5904\u7406\u811a\u672c":60,"\u76ee\u6807":65,"\u76ee\u6807\u51fd\u6570\u662f\u6807\u7b7e\u7684\u4ea4\u53c9\u71b5":63,"\u76ee\u6807\u5411\u91cf":39,"\u76ee\u6807\u5b57\u5178":65,"\u76f4\u5230\u8bad\u7ec3\u6536\u655b\u4e3a\u6b62":27,"\u76f4\u5230\u903c\u8fd1\u771f\u5b9e\u89e3":28,"\u76f4\u63a5\u4f7f\u7528c\u8bed\u8a00\u7684":25,"\u76f4\u63a5\u5bfc\u51fa\u5230c\u7684\u63a5\u53e3\u6bd4\u8f83\u56f0\u96be":25,"\u76f4\u63a5\u8fd0\u884c":30,"\u76f4\u63a5\u8fd4\u56de\u8ba1\u7b97\u7ed3\u679c":5,"\u76f4\u63a5\u8fdb\u5165\u8bad\u7ec3\u6a21\u578b\u7ae0\u8282":60,"\u76f8\u5173\u6982\u5ff5\u662f":3,"\u76f8\u5173\u7684\u9e1f\u7c7b\u6570\u636e\u96c6\u53ef\u4ee5\u4ece\u5982\u4e0b\u5730\u5740\u4e0b\u8f7d":57,"\u76f8\u5173\u8bba\u6587":63,"\u76f8\u53cd":65,"\u76f8\u540c\u540d\u5b57\u7684\u53c2\u6570":27,"\u76f8\u5bf9":36,"\u76f8\u5bf9\u4e8epaddlepaddle\u7a0b\u5e8f\u8fd0\u884c\u65f6\u7684\u8def\u5f84":2,"\u76f8\u5bf9mnist\u800c\u8a00":3,"\u76f8\u5e94\u7684\u6570\u636e\u8bfb\u53d6\u811a\u672c\u548c\u8bad\u7ec3\u6a21\u578b\u811a\u672c":60,"\u76f8\u5e94\u7684\u6570\u636e\u8fed\u4ee3\u5668\u5982\u4e0b":63,"\u76f8\u5e94\u7684\u6807\u8bb0\u53e5\u5b50\u662f":63,"\u76f8\u5f53":36,"\u77e9\u9635":46,"\u7814\u7a76\u4eba\u5458\u5206\u6790\u4e86\u51e0\u4e2a\u5173\u4e8e\u6d88\u8d39\u8005\u4fe1\u5fc3\u548c\u653f\u6cbb\u89c2\u70b9\u7684\u8c03\u67e5":64,"\u7814\u7a76\u751f":61,"\u786e\u4fdd\u7f16\u8bd1\u5668\u9009\u9879":40,"\u793a":60,"\u793a\u4f8b":[27,58],"\u793a\u4f8b3\u5bf9\u4e8e\u5355\u5c42rnn\u548c\u53cc\u5c42rnn\u6570\u636e\u5b8c\u5168\u76f8\u540c":36,"\u793a\u4f8b3\u7684\u914d\u7f6e\u4f7f\u7528\u4e86\u5355\u5c42rnn\u548c\u53cc\u5c42rnn":36,"\u793a\u4f8b3\u7684\u914d\u7f6e\u5206\u522b\u4e3a":36,"\u793e\u533a\u53c2\u4e0e\u56f0\u96be":25,"\u793e\u533a\u8d21\u732e\u4ee3\u7801\u5b66\u4e60\u6210\u672c\u9ad8":25,"\u795e\u7ecf\u7f51\u7edc\u4e5f\u9700\u8981\u4e00\u4e9b\u7279\u5b9a\u7684layer\u4f5c\u4e3a\u8f93\u5165\u63a5\u53e3":33,"\u795e\u7ecf\u7f51\u7edc\u53c2\u6570\u4ee5\u53ca\u8fed\u4ee3\u65b9\u7a0b":33,"\u795e\u7ecf\u7f51\u7edc\u5728\u8bad\u7ec3\u7684\u65f6\u5019":27,"\u795e\u7ecf\u7f51\u7edc\u673a\u5668\u7ffb\u8bd1":65,"\u795e\u7ecf\u7f51\u7edc\u7684\u7f51\u7edc\u7ed3\u6784\u4e2d\u5177\u6709\u6709\u5411\u73af\u7ed3\u6784":36,"\u795e\u7ecf\u7f51\u7edc\u7684\u8bad\u7ec3\u672c\u8eab\u662f\u4e00\u4e2a\u975e\u5e38\u6d88\u8017\u5185\u5b58\u548c\u663e\u5b58\u7684\u5de5\u4f5c":27,"\u795e\u7ecf\u7f51\u7edc\u914d\u7f6e":28,"\u79bb":36,"\u79d1\u5b66\u5bb6":61,"\u79d1\u5e7b\u7247":61,"\u79f0\u4e3a":[39,40],"\u79f0\u4e3a\u5f00\u53d1\u955c\u50cf":30,"\u79f0\u4e3a\u751f\u4ea7\u955c\u50cf":30,"\u79f0\u4e4b\u4e3a\u53cc\u5c42\u5e8f\u5217\u7684\u4e00\u4e2a\u5b50\u5e8f\u5217":35,"\u79f0\u4e4b\u4e3a\u96c6\u675f\u5927\u5c0f":47,"\u7a00\u758f\u6570\u636e\u7684\u683c\u5f0f":41,"\u7a00\u758f\u66f4\u65b0\u7684\u7aef\u53e3\u6570\u91cf":52,"\u7a00\u758f\u768401\u5411\u91cf":[3,33],"\u7a00\u758f\u7684\u5411\u91cf":[3,33],"\u7a00\u758f\u77e9\u9635\u7684\u4e58\u79ef\u5e94\u7528\u4e8e\u524d\u5411\u4f20\u64ad\u8fc7\u7a0b":49,"\u7a0b\u5e8f\u4ece\u6b64\u76ee\u5f55\u62f7\u8d1d\u6587\u4ef6\u5230\u5bb9\u5668\u5185\u8fdb\u884c\u8bad\u7ec3":52,"\u7a0b\u5e8f\u505c\u6b62":47,"\u7a0b\u5e8f\u5458":61,"\u7a0b\u5e8f\u76f4\u63a5\u9000\u51fa":47,"\u7a20\u5bc6\u5411\u91cf":41,"\u7a20\u5bc6\u66f4\u65b0\u7684\u7aef\u53e3\u6570\u91cf":52,"\u7a20\u5bc6\u7684\u6d6e\u70b9\u6570\u5411\u91cf":[3,33],"\u7a97\u6237":36,"\u7acb\u523b\u9000\u51fa":27,"\u7aef\u53e3":45,"\u7aef\u53e3\u6570":45,"\u7aef\u53e3\u9644\u52a0\u5230\u4e3b\u673a\u540d\u4e0a":45,"\u7aef\u81ea\u5b9a\u4e49\u4e00\u4e2a":2,"\u7aef\u8bfb\u53d6\u6570\u636e":27,"\u7b2c":36,"\u7b2c\u4e00\u4e2a\u53c2\u6570\u662fsettings\u5bf9\u8c61":3,"\u7b2c\u4e00\u4e2a\u65b9\u6cd5\u7684\u597d\u5904\u662f\u7b80\u5355\u5feb\u6377":30,"\u7b2c\u4e00\u4e2a\u6837\u672c\u540c\u65f6encode\u4e24\u6761\u6570\u636e\u6210\u4e24\u4e2a\u5411\u91cf":36,"\u7b2c\u4e00\u4e2apass\u4f1a\u4ecepython\u7aef\u8bfb\u53d6\u6570\u636e":3,"\u7b2c\u4e00\u5929":36,"\u7b2c\u4e00\u6b65\u662f\u8fd0\u884c":30,"\u7b2c\u4e00\u7ae0\u8282":33,"\u7b2c\u4e00\u884c\u4ece":64,"\u7b2c\u4e00\u884c\u5b58\u7684\u662f\u56fe\u50cf":58,"\u7b2c\u4e00\u884c\u662f":56,"\u7b2c\u4e00\u884c\u7684":65,"\u7b2c\u4e00\u90e8\u5206\u5b9a\u4e49\u4e86\u6570\u636e\u8f93\u5165":28,"\u7b2c\u4e00\u90e8\u5206\u662f\u56fe\u7247\u7684\u6807\u7b7e":3,"\u7b2c\u4e09":64,"\u7b2c\u4e09\u5217\u662f\u751f\u6210\u7684\u82f1\u8bed\u5e8f\u5217":65,"\u7b2c\u4e09\u6b65":58,"\u7b2c\u4e8c":64,"\u7b2c\u4e8c\u4e2a\u65b9\u6cd5\u7684\u597d\u5904\u662fdockerfile\u53ef\u4ee5\u628a\u6574\u4e2a\u751f\u6210\u6d41\u7a0b\u63cf\u8ff0\u5f88\u6e05\u695a":30,"\u7b2c\u4e8c\u5217\u662f\u96c6\u675f\u641c\u7d22\u7684\u5f97\u5206":65,"\u7b2c\u4e8c\u6b65":[56,58],"\u7b2c\u4e8c\u6b65\u662f\u8fd0\u884c":30,"\u7b2c\u4e8c\u884c\u5b58\u7684\u662f\u56fe\u50cf":58,"\u7b2c\u4e8c\u90e8\u5206\u4e3b\u8981\u662f\u9009\u62e9\u5b66\u4e60\u7b97\u6cd5":28,"\u7b2c\u4e8c\u90e8\u5206\u662f28":3,"\u7b2ci\u884c\u7b2cj\u5217\u7684\u6570\u503c":41,"\u7b49\u5176\u4ed6":65,"\u7b49\u53c2\u6570":52,"\u7b49\u591a\u79cd\u516c\u6709\u4e91\u73af\u5883":50,"\u7b49\u5f85\u8fd9\u4e2a\u7a0b\u5e8f\u6267\u884c\u6210\u529f\u5e76\u8fd4\u56de0\u5219\u6210\u529f\u9000\u51fa":50,"\u7b49\u7b49":[60,65],"\u7b49\u90fd\u5c5e\u4e8e\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4":50,"\u7b80\u4ecb":43,"\u7b80\u5355\u6765\u8bf4":44,"\u7b80\u5355\u7684\u5168\u8fde\u63a5\u7f51\u7edc":27,"\u7b80\u5355\u7684\u57fa\u4e8e\u5b57\u6bcd\u7684\u8bcd\u5d4c\u5165":62,"\u7b80\u5355\u7684\u6027\u80fd\u5206\u6790":44,"\u7b80\u5355\u7684\u6574\u4e2a\u8bcd\u5d4c\u5165":62,"\u7b80\u5355\u7684pydataprovider2\u6837\u4f8b\u5c31\u8bf4\u660e\u5b8c\u6bd5\u4e86":3,"\u7b80\u5355\u7684yaml\u6587\u4ef6\u5982\u4e0b":51,"\u7b80\u76f4":36,"\u7b97\u6cd5":[27,28,39,64],"\u7b97\u6cd5\u4e2d\u7684beam\u5927\u5c0f":39,"\u7b97\u6cd5\u914d\u7f6e":64,"\u7ba1\u7406\u4eba\u5458":61,"\u7ba1\u7406\u5458":61,"\u7c7b\u4f3c":35,"\u7c7b\u4f3c\u5730":63,"\u7c7b\u4f5c\u4e3a\u53c2\u6570\u7684\u62bd\u8c61":41,"\u7c7b\u522b\u4e2a\u6570":57,"\u7c7b\u522b\u4e2d\u7684\u53c2\u6570\u53ef\u7528\u4e8e\u6240\u6709\u573a\u5408":46,"\u7c7b\u522bid":60,"\u7c7b\u522bid\u548c\u6587\u672c\u4fe1\u606f\u7528":60,"\u7c7b\u540d\u548cc":25,"\u7c7b\u578b":[25,47,62],"\u7c7b\u578b\u53ef\u4ee5\u662fpaddlepaddle\u652f\u6301\u7684\u4efb\u610f\u8f93\u5165\u6570\u636e\u7c7b\u578b":35,"\u7c7b\u578b\u662fsparse_binary_vector":[3,33],"\u7c7b\u578b\u662fsparse_float_vector":[3,33],"\u7c7b\u578b\u6765\u8bbe\u7f6e":3,"\u7c7b\u578b\u7684":36,"\u7c7b\u7684\u6784\u9020\u51fd\u6570\u548c\u6790\u6784\u51fd\u6570":41,"\u7c7b\u9700\u8981\u5b9e\u73b0\u521d\u59cb\u5316":41,"\u7cfb\u7edf\u7f16\u8bd1wheel\u5305\u7684\u65f6\u5019":27,"\u7ea2\u697c\u68a6":56,"\u7eaa\u5f55\u7247":61,"\u7eafcpu\u955c\u50cf\u4ee5\u53cagpu\u955c\u50cf\u90fd\u4f1a\u7528\u5230avx\u6307\u4ee4\u96c6":30,"\u7ebf\u6027\u56de\u5f52\u7684\u8f93\u5165\u662f\u4e00\u6279\u70b9":28,"\u7ebf\u6027\u56de\u5f52\u7684\u8f93\u51fa\u662f\u4ece\u8fd9\u6279\u70b9\u4f30\u8ba1\u51fa\u6765\u7684\u53c2\u6570":28,"\u7ebf\u6027\u8ba1\u7b97\u7f51\u7edc\u5c42":28,"\u7ebf\u7a0bid\u53f7":49,"\u7ec6\u8282\u63cf\u8ff0":48,"\u7ecf\u5e38\u4f1a\u6d88\u8017\u657010gb\u7684\u5185\u5b58\u548c\u6570gb\u7684\u663e\u5b58":27,"\u7ed3\u5408":50,"\u7ed3\u675f\u6807\u8bb0":39,"\u7ed3\u6784\u5982\u4e0b":64,"\u7ed3\u6784\u5982\u4e0b\u56fe":56,"\u7ed3\u679c\u4fdd\u5b58\u5728":63,"\u7ed3\u679c\u53d1\u73b0\u5b83\u4eec\u4e0e\u540c\u65f6\u671f\u7684twitter\u6d88\u606f\u4e2d\u7684\u60c5\u7eea\u8bcd\u9891\u7387\u76f8\u5173":64,"\u7ed3\u8bba":25,"\u7ed9":36,"\u7ed9\u51fa\u56fe\u7247\u5c3a\u5bf8":57,"\u7ed9\u51fa\u8f93\u5165\u6570\u636e\u6240\u5728\u8def\u5f84":57,"\u7ed9\u5b9a\u52a8\u8bcd":63,"\u7ed9\u5b9a\u7684\u6587\u672c\u53ef\u4ee5\u662f\u4e00\u4e2a\u6587\u6863":64,"\u7ed9\u5b9aencoder\u8f93\u51fa\u548c\u5f53\u524d\u8bcd":38,"\u7ee7\u7eed\u8bad\u7ec3\u6216\u9884\u6d4b":3,"\u7ef4\u57fa\u767e\u79d1\u4e2d\u6587\u9875\u9762":36,"\u7ef4\u57fa\u767e\u79d1\u9875\u9762":36,"\u7ef4\u5ea6\u4e3aword_dim":60,"\u7ef4\u5ea6\u662f\u7c7b\u522b\u4e2a\u6570":60,"\u7ef4\u5ea6\u662f\u8bcd\u5178\u5927\u5c0f":60,"\u7ef4\u62a4":50,"\u7ef4\u7a7a\u95f4":39,"\u7ef4\u7a7a\u95f4\u5b8c\u6210":39,"\u7f13\u5b58\u6c60\u7684\u51cf\u5c0f":27,"\u7f13\u5b58\u8bad\u7ec3\u6570\u636e\u5230\u5185\u5b58":3,"\u7f16\u5199\u597d\u6570\u636e\u63d0\u4f9b\u811a\u672c\u540e":62,"\u7f16\u5199\u5b8cyaml\u6587\u4ef6\u540e":52,"\u7f16\u5199\u672c\u6b21\u8bad\u7ec3\u7684yaml\u6587\u4ef6":52,"\u7f16\u53f7":62,"\u7f16\u53f7\u4ece0\u5f00\u59cb":27,"\u7f16\u53f7\u5b57\u6bb5":62,"\u7f16\u7801\u5411\u91cf":39,"\u7f16\u7801\u5668\u8f93\u51fa":39,"\u7f16\u7801\u6e90\u5e8f\u5217":39,"\u7f16\u89e3\u7801\u6a21\u578b\u5c06\u4e00\u4e2a\u6e90\u8bed\u53e5\u7f16\u7801\u4e3a\u4e00\u4e2a\u5b9a\u957f\u7684\u5411\u91cf":65,"\u7f16\u8bd1":[30,40],"\u7f16\u8bd1\u5668\u6ca1\u6709":25,"\u7f16\u8bd1\u578b\u8bed\u8a00":25,"\u7f16\u8bd1\u5b8c\u6210\u540e":42,"\u7f16\u8bd1\u6210\u52a8\u6001\u5e93":47,"\u7f16\u8bd1\u6d41\u7a0b\u4e3b\u8981\u63a8\u8350\u9ad8\u7ea7\u7528\u6237\u67e5\u770b":31,"\u7f16\u8bd1\u751f\u6210":42,"\u7f16\u8bd1\u9009\u9879":29,"\u7f16\u8f91":50,"\u7f29\u653e\u53c2\u6570":58,"\u7f51\u7edc":[63,64],"\u7f51\u7edc\u5206\u5e03\u5f0f\u6587\u4ef6\u7cfb\u7edf":50,"\u7f51\u7edc\u540d\u79f0":60,"\u7f51\u7edc\u5c42\u53ef\u4ee5\u6709\u591a\u4e2a\u8f93\u5165":41,"\u7f51\u7edc\u5c42\u7684\u6807\u8bc6\u7b26\u4e3a":41,"\u7f51\u7edc\u5c42\u7684\u7c7b\u578b":41,"\u7f51\u7edc\u5c42\u7684\u7ec6\u8282\u53ef\u4ee5\u901a\u8fc7\u4e0b\u9762\u8fd9\u4e9b\u4ee3\u7801\u7247\u6bb5\u6765\u6307\u5b9a":41,"\u7f51\u7edc\u5c42\u7684\u8f93\u51fa\u662f\u7ecf\u8fc7\u6fc0\u6d3b\u51fd\u6570\u4e4b\u540e\u7684\u503c":47,"\u7f51\u7edc\u5c42\u914d\u7f6e\u5305\u542b\u4ee5\u4e0b\u51e0\u9879":41,"\u7f51\u7edc\u63a5\u53e3\u5361":45,"\u7f51\u7edc\u6a21\u5757":58,"\u7f51\u7edc\u6a21\u578b\u5c06\u8f93\u51fa\u6807\u7b7e\u7684\u6982\u7387\u5206\u5e03":63,"\u7f51\u7edc\u7684\u8bad\u7ec3\u8fc7\u7a0b":64,"\u7f51\u7edc\u7ed3\u6784\u5982\u4e0b\u56fe\u6240\u793a":62,"\u7f51\u7edc\u901a\u4fe1":41,"\u7f51\u7edc\u914d\u7f6e":[45,60,64],"\u7f51\u7edc\u914d\u7f6e\u6587\u4ef6":[58,63],"\u800c":[28,39,51,62],"\u800c\u4e0d\u4f7f\u7528imdb\u6570\u6910\u96c6\u4e2d\u7684imdb":64,"\u800c\u4e0d\u652f\u6301pypy\u89e3\u91ca\u5668":25,"\u800c\u4e0d\u662f\u4f7f\u7528\u540c\u6b65":45,"\u800c\u4e0d\u662f\u6e90\u7801\u76ee\u5f55\u91cc":27,"\u800c\u4e0d\u662f\u7279\u5f81\u7684\u96c6\u5408":36,"\u800c\u4e0d\u662f\u7ec4\u5408\u4e0a\u4e0b\u6587\u7ea7\u522b\u4fe1\u606f":64,"\u800c\u4e0d\u7528\u5173\u5fc3\u6570\u636e\u5982\u4f55\u4f20\u8f93":3,"\u800c\u4e14":65,"\u800c\u4e4b\u524d\u7684\u53c2\u6570\u5c06\u4f1a\u88ab\u5220\u9664":47,"\u800c\u4ece\u5e94\u7528\u7684\u89d2\u5ea6":44,"\u800c\u4f18\u5316\u6027\u80fd\u7684\u9996\u8981\u4efb\u52a1":44,"\u800c\u5176\u4ed6\u5c42\u4f7f\u7528cpu\u8ba1\u7b97":49,"\u800c\u53cc\u5c42rnn\u662f\u53ef\u4ee5\u5904\u7406\u8fd9\u79cd\u8f93\u5165\u6570\u636e\u7684\u7f51\u7edc\u7ed3\u6784":36,"\u800c\u53f3\u56fe\u7684\u74f6\u9888\u8fde\u63a5\u6a21\u5757\u7528\u4e8e50\u5c42":58,"\u800c\u5728cpp\u91cc\u9762\u5b9e\u73b0\u8fd9\u4e2ac\u7684\u63a5\u53e3":25,"\u800c\u591a\u8bed\u8a00\u63a5\u53e3\u9700\u8981\u76f4\u63a5\u8bfb\u53d6\u751f\u6210\u7684\u4e8c\u8fdb\u5236":25,"\u800c\u5927\u591a\u6570\u65b9\u6cd5\u53ea\u662f\u5229\u7528n":64,"\u800c\u5bf9\u4e8e\u53cc\u5c42\u5e8f\u5217":36,"\u800c\u5bf9\u4e8e\u6bcf\u4e00\u4e2a\u5185\u5c42\u7279\u5f81\u6570\u636e\u800c\u8a00":36,"\u800c\u5bf9\u4e8egolang":25,"\u800c\u5bf9\u4e8egolang\u9519\u8bef\u5904\u7406\u5e94\u8be5\u4f7f\u7528\u8fd4\u56de\u503c":25,"\u800c\u5c06\u8fd9\u4e2a\u6bb5\u843d\u7684\u6bcf\u4e00\u53e5\u8bdd\u7528lstm\u7f16\u7801\u6210\u4e00\u4e2a\u5411\u91cf":36,"\u800c\u5f53\u524d\u5df2\u7ecf\u67095":44,"\u800c\u662f\u76f4\u63a5\u4ece\u5185\u5b58\u7684\u7f13\u5b58\u91cc\u8bfb\u53d6\u6570\u636e":27,"\u800c\u66f4\u6df1\u5165\u7684\u5206\u6790":44,"\u800c\u6709\u4e9b\u53c2\u6570\u9700\u8981\u5728\u96c6\u7fa4\u591a\u673a\u8bad\u7ec3\u4e2d\u4f7f\u7528\u7b49":46,"\u800c\u6ca1\u6709\u77ed\u65f6\u8bb0\u5fc6\u7684\u635f\u5931":64,"\u800c\u6e90\u5e8f\u5217\u7684\u7f16\u7801\u5411\u91cf\u53ef\u4ee5\u88ab\u65e0\u8fb9\u754c\u7684memory\u8bbf\u95ee":39,"\u800c\u795e\u7ecf\u7f51\u7edc\u662f\u6211\u4eec\u8981\u642d\u5efa\u7684\u5b9d\u5854":33,"\u800c\u7a00\u758f\u66f4\u65b0\u5728\u53cd\u5411\u4f20\u64ad\u4e4b\u540e\u7684\u6743\u91cd\u66f4\u65b0\u65f6\u8fdb\u884c":49,"\u800c\u7cfb\u7edf\u4e2d\u7684":27,"\u800c\u8fd9\u4e00\u53e5\u8bdd\u5c31\u53ef\u4ee5\u8868\u793a\u6210\u8fd9\u4e9b\u4f4d\u7f6e\u7684\u6570\u7ec4":36,"\u800c\u8fd9\u4e2acontext\u53ef\u80fd\u4f1a\u975e\u5e38\u5927":3,"\u800c\u8fd9\u6bcf\u4e00\u4e2a\u6570\u7ec4\u5143\u7d20":36,"\u800c\u975e\u9759\u6001\u52a0\u8f7dcuda\u52a8\u6001\u5e93":29,"\u800cpaddlepaddle\u5219\u4f1a\u5e2e\u7528\u6237\u505a\u4ee5\u4e0b\u5de5\u4f5c":3,"\u800crnn\u662f\u6700\u6d41\u884c\u7684\u9009\u62e9":38,"\u800cswig\u53ea\u80fd\u7b80\u5355\u7684\u66b4\u9732c":25,"\u800ctrainer\u9700\u8981\u8bfb\u53d6\u8bad\u7ec3\u6570\u636e\u8fdb\u884c\u8bad\u7ec3":33,"\u800cweight":57,"\u800cy_predict\u662f\u63a5\u6536x\u4f5c\u4e3a\u8f93\u5165":33,"\u804c\u4e1a":61,"\u804c\u4e1a\u4ece\u4e0b\u9762\u6240\u5217\u4e2d\u9009\u62e9":61,"\u80fd\u591f\u5904\u7406\u53cc\u5c42\u5e8f\u5217":38,"\u80fd\u591f\u5bf9\u53cc\u5411\u5e8f\u5217\u8fdb\u884c\u5904\u7406\u7684\u6709":38,"\u80fd\u591f\u627e\u5230\u8fd9\u91cc\u4f7f\u7528\u7684\u6240\u6709\u6570\u636e":60,"\u80fd\u591f\u8bb0\u5f55\u4e0a\u4e00\u4e2asubseq":38,"\u80fd\u83b7\u53d6":45,"\u811a\u672c":[45,57,62],"\u811a\u672c\u4fdd\u5b58\u5728":57,"\u811a\u672c\u5f00\u59cb\u65f6":52,"\u811a\u672c\u63d0\u4f9b\u4e86\u4e00\u4e2a\u9884\u6d4b\u63a5\u53e3":64,"\u811a\u672c\u65f6\u9700\u8981\u52a0\u4e0a":64,"\u811a\u672c\u8fd0\u884c\u5b8c\u6210\u540e":57,"\u81ea\u52a8\u5173\u95ed\u5bf9\u5e94\u7684":40,"\u81ea\u52a8\u5730\u5c06\u8fd9\u4e9b\u9009\u9879\u5e94\u7528\u5230":45,"\u81ea\u52a8\u5b8c\u6210\u8fd9\u4e00\u8fc7\u7a0b":38,"\u81ea\u52a8\u83b7\u53d6\u4e0a\u4e00\u4e2a\u751f\u6210\u7684\u8bcd":39,"\u81ea\u5e95\u5411\u4e0a\u6cd5":60,"\u81ea\u7136\u8bed\u8a00\u5904\u7406\u7b49":49,"\u81ea\u7531\u804c\u4e1a\u8005":61,"\u81f3\u6b64":[3,36,40],"\u8212\u9002":36,"\u826f\u597d\u7684\u6587\u6863":25,"\u827a\u672f\u5bb6":61,"\u8282\u70b9\u4e2d\u7684":45,"\u82e5":41,"\u82e5\u5e72\u4e2a\u53e5\u5b50\u6784\u6210\u4e00\u4e2a\u6bb5\u843d":35,"\u82e5\u6709\u4e0d\u4e00\u81f4\u4e4b\u5904":44,"\u82e5\u6709\u5fc5\u8981":41,"\u82e5\u8f93\u51fa\u662f\u5355\u5c42\u5e8f\u5217":35,"\u82e5\u8f93\u51fa\u662f\u53cc\u5c42\u5e8f\u5217":35,"\u82f1\u6587\u6587\u6863\u76ee\u5f55":42,"\u82f1\u8bed":65,"\u8303\u56f4":49,"\u83b7\u53d6":40,"\u83b7\u53d6\u5229\u7528":60,"\u83b7\u53d6\u5b57\u5178\u7ef4\u5ea6":64,"\u83b7\u53d6\u8be5\u6761\u6837\u672c\u7c7b\u522bid":60,"\u83b7\u53d6\u901a\u8fc7":64,"\u83b7\u53d6trainer":52,"\u83b7\u5f97\u53c2\u6570\u5c3a\u5bf8":41,"\u867d\u7136":28,"\u867d\u7136\u6bcf\u4e2agenerator\u5728\u6ca1\u6709\u8c03\u7528\u7684\u65f6\u5019":3,"\u867d\u7136\u8fd9\u4e9b\u6587\u4ef6\u5e76\u975e\u90fd\u9700\u8981\u96c6\u7fa4\u8bad\u7ec3":45,"\u867d\u7136paddle\u770b\u8d77\u6765\u5305\u542b\u4e86\u4f17\u591a\u53c2\u6570":46,"\u884c":56,"\u884c\u4f18\u5148\u6b21\u5e8f\u5b58\u50a8":58,"\u884c\u5185\u4f7f\u7528":3,"\u884c\u653f\u5de5\u4f5c":61,"\u884c\u955c\u50cf\u5305\u62ec\u7eafcpu\u7248\u672c\u548cgpu\u7248\u672c\u4ee5\u53ca\u5176\u5bf9\u5e94\u7684\u975eavx\u7248\u672c":30,"\u8868\u660e\u4e86\u8fd9\u4e9b\u884c\u7684\u6807\u53f7":41,"\u8868\u660e\u8fd9\u4e2a\u5c42\u7684\u4e00\u4e2a\u5b9e\u4f8b\u662f\u5426\u9700\u8981\u504f\u7f6e":41,"\u8868\u793a\u4e00\u4e2akubernetes\u96c6\u7fa4\u4e2d\u7684\u4e00\u4e2a\u5de5\u4f5c\u8282\u70b9":50,"\u8868\u793a\u4e3adeviceid":49,"\u8868\u793a\u5728\u96c6\u7fa4\u4f5c\u4e1a":45,"\u8868\u793a\u5973\u6027":61,"\u8868\u793a\u5c06\u5916\u5c42\u7684outer_mem\u4f5c\u4e3a\u5185\u5c42memory\u7684\u521d\u59cb\u72b6\u6001":36,"\u8868\u793a\u5f53\u524d\u96c6\u7fa4\u4f5c\u4e1a\u7684\u8282\u70b9":45,"\u8868\u793a\u6a21\u578b\u914d\u7f6e\u6587\u4ef6":45,"\u8868\u793a\u751f\u6210\u6570\u636e\u7684\u5e8f\u5217id":65,"\u8868\u793a\u7528\u4e8e\u8bad\u7ec3\u6216\u9884\u6d4b":3,"\u8868\u793a\u7537\u6027":61,"\u8868\u793a\u7684\u6bcf\u4e2a\u5355\u8bcd":60,"\u8868\u793a\u7b2c0\u4e2abatch\u5230\u5f53\u524dbatch\u7684\u5206\u7c7b\u9519\u8bef":64,"\u8868\u793a\u8bad\u7ec3\u4e86xx\u4e2a\u6837\u672c":64,"\u8868\u793a\u8bad\u7ec3\u4e86xx\u4e2abatch":64,"\u8868\u793a\u8bfb\u8005\u6240\u4f7f\u7528\u7684docker\u955c\u50cf\u4ed3\u5e93\u5730\u5740":52,"\u8868\u793a\u8fc7\u4e8620\u4e2abatch":60,"\u8868\u793a\u8fc7\u4e862560\u4e2a\u6837\u672c":60,"\u8868\u793a\u8fd9\u4e2ajob\u7684\u540d\u5b57":52,"\u88ab":40,"\u88ab\u6269\u5c55\u4e3a\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":35,"\u88ab\u653e\u5728":41,"\u88ab\u79f0\u4e3a":39,"\u897f\u90e8\u7247":61,"\u8981\u4e0b\u8f7d\u548c\u89e3\u538b\u6570\u636e\u96c6":62,"\u8981\u4e0b\u8f7d\u89e3\u538b\u8fd9\u4e2a\u6a21\u578b":65,"\u8981\u4f7f\u7528\u547d\u4ee4\u884c\u5206\u6790\u5de5\u5177":44,"\u8981\u5728\u5df2\u6709\u7684kubernetes\u96c6\u7fa4\u4e0a\u8fdb\u884cpaddlepaddle\u7684\u5206\u5e03\u5f0f\u8bad\u7ec3":52,"\u8981\u5728\u6240\u6709\u8282\u70b9\u4e0a\u5b58\u5728":45,"\u8981\u5bf9\u4e00\u4e2a\u56fe\u7247\u7684\u8fdb\u884c\u5206\u7c7b\u9884\u6d4b":57,"\u8981\u5c06\u5b57\u6bb5\u914d\u7f6e\u6587\u4ef6\u8f6c\u5316\u4e3ameta\u914d\u7f6e\u6587\u4ef6":62,"\u8981\u6c42\u5355\u5c42\u5e8f\u5217\u542b\u6709\u5143\u7d20\u7684\u6570\u76ee":35,"\u8981\u751f\u6210\u7684\u76ee\u6807\u5e8f\u5217":38,"\u8981\u8c03\u7528":41,"\u89e3\u51b3\u529e\u6cd5\u662f":27,"\u89e3\u51b3\u65b9\u6848\u662f":27,"\u89e3\u538b":65,"\u89e3\u6790\u5668\u80fd\u901a\u8fc7\u6587\u4ef6\u7684\u6269\u5c55\u540d\u81ea\u52a8\u8bc6\u522b\u6587\u4ef6\u7684\u683c\u5f0f":62,"\u89e3\u6790\u6570\u636e\u96c6\u4e2d\u7684\u6bcf\u4e00\u4e2a\u5b57\u6bb5":62,"\u89e3\u6790\u6a21\u578b\u914d\u7f6e\u6587\u4ef6":5,"\u89e3\u6790\u73af\u5883\u53d8\u91cf\u5f97\u5230":52,"\u89e3\u6790\u8bad\u7ec3\u6a21\u578b\u65f6\u7528\u7684\u914d\u7f6e\u6587\u4ef6":5,"\u89e3\u7801\u5668\u4f7f\u7528":39,"\u89e3\u7801\u5668\u57fa\u4e8e\u7f16\u7801\u6e90\u5e8f\u5217\u548c\u6700\u540e\u751f\u6210\u7684\u76ee\u6807\u8bcd\u9884\u6d4b\u4e0b\u4e00\u76ee\u6807\u8bcd":39,"\u89e3\u7801\u5668\u662f\u95e8\u63a7\u5faa\u73af\u795e\u7ecf\u7f51\u7edc":39,"\u89e3\u7801\u5668\u6839\u636e\u4e0a\u4e0b\u6587\u5411\u91cf\u9884\u6d4b\u51fa\u4e00\u4e2a\u76ee\u6807\u5355\u8bcd":65,"\u89e3\u91ca":60,"\u89e3\u91ca\u578b\u8bed\u8a00\u53ea\u80fd\u8c03\u7528\u52a8\u6001\u5e93":25,"\u89e3\u91ca\u6027\u8bed\u8a00\u5b9e\u9645\u8fd0\u884c\u7684\u4e8c\u8fdb\u5236\u662f\u89e3\u91ca\u5668\u672c\u8eab":25,"\u8ba1\u7b97":39,"\u8ba1\u7b97\u504f\u7f6e\u7684\u68af\u5ea6":41,"\u8ba1\u7b97\u5355\u5143\u662f\u795e\u7ecf\u7f51\u7edc\u7684\u6838\u5fc3":28,"\u8ba1\u7b97\u53cd\u5411rnn\u7684\u7b2c\u4e00\u4e2a\u5b9e\u4f8b":39,"\u8ba1\u7b97\u53d8\u6362\u77e9\u9635\u7684\u5927\u5c0f\u548c\u683c\u5f0f":41,"\u8ba1\u7b97\u5f53\u524d\u5c42\u6743\u91cd\u7684\u68af\u5ea6":41,"\u8ba1\u7b97\u6bcf\u4e2a\u8bcd\u7684\u8bcd\u5411\u91cf":39,"\u8ba1\u7b97\u6fc0\u6d3b\u51fd\u6570\u7684\u68af\u5ea6":41,"\u8ba1\u7b97\u7684\u7ec6\u8282\u5c06\u5728\u4e0b\u9762\u7684\u5c0f\u8282\u7ed9\u51fa":41,"\u8ba1\u7b97\u8bef\u5dee\u51fd\u6570":28,"\u8ba1\u7b97\u8f6c\u6362\u77e9\u9635\u548c\u8f93\u5165\u7684\u68af\u5ea6":41,"\u8ba1\u7b97\u8f93\u5165\u548c\u53c2\u6570\u7684\u68af\u5ea6":41,"\u8ba1\u7b97\u8f93\u5165\u5c42\u7684\u504f\u5dee":41,"\u8ba1\u7b97\u8f93\u51fa":41,"\u8ba9\u6a21\u578b\u80fd\u591f\u5f97\u5230\u8bad\u7ec3\u66f4\u65b0":60,"\u8ba9\u795e\u7ecf\u7f51\u7edc\u53ef\u4ee5\u8fdb\u884c\u8bad\u7ec3\u6216\u9884\u6d4b":2,"\u8ba9\u8fd9\u4e2a\u793a\u4f8b\u53d8\u5f97\u66f4\u597d":62,"\u8bad\u7ec3":[46,64],"\u8bad\u7ec3\u4e0e\u5e94\u7528":1,"\u8bad\u7ec3\u4f5c\u4e1a":45,"\u8bad\u7ec3\u53ca\u6d4b\u8bd5\u8bef\u5dee\u66f2\u7ebf\u56fe\u4f1a\u88ab":57,"\u8bad\u7ec3\u53ef\u4ee5\u8bbe\u7f6e\u4e3atrue":63,"\u8bad\u7ec3\u540e":63,"\u8bad\u7ec3\u5931\u8d25\u65f6\u53ef\u4ee5\u68c0\u67e5\u9519\u8bef\u65e5\u5fd7":45,"\u8bad\u7ec3\u597d\u4e00\u4e2a\u6df1\u5c42\u795e\u7ecf\u7f51\u7edc\u901a\u5e38\u8981\u8017\u8d39\u975e\u5e38\u957f\u7684\u65f6\u95f4":44,"\u8bad\u7ec3\u5b8c\u6210\u540e":28,"\u8bad\u7ec3\u6570\u636e\u548c\u6d4b\u8bd5\u6570\u636e\u7684\u76ee\u5f55":65,"\u8bad\u7ec3\u6570\u636e\u662f":3,"\u8bad\u7ec3\u6570\u636e\u6709\u95ee\u9898":27,"\u8bad\u7ec3\u6570\u6910\u96c6":64,"\u8bad\u7ec3\u65f6":52,"\u8bad\u7ec3\u65f6\u6240\u9700\u8bbe\u7f6e\u7684\u4e3b\u8981\u53c2\u6570\u5982\u4e0b":60,"\u8bad\u7ec3\u65f6\u9ed8\u8ba4shuffl":3,"\u8bad\u7ec3\u6a21\u578b\u4e4b\u524d":64,"\u8bad\u7ec3\u6a21\u578b\u540e":39,"\u8bad\u7ec3\u7684\u635f\u5931\u51fd\u6570\u9ed8\u8ba4\u6bcf\u969410\u4e2abatch\u6253\u5370\u4e00\u6b21":65,"\u8bad\u7ec3\u7684\u811a\u672c\u662f":63,"\u8bad\u7ec3\u7ed3\u675f\u540e\u67e5\u770b\u8f93\u51fa\u7ed3\u679c":52,"\u8bad\u7ec3\u811a\u672c":60,"\u8bad\u7ec3\u811a\u672c\u7b49\u7b49":60,"\u8bad\u7ec3\u81f3\u591a":62,"\u8bad\u7ec3\u8282\u70b9\u6570\u91cf":52,"\u8bad\u7ec3\u8bed\u8a00\u6a21\u578b\u8ddd\u79bb":27,"\u8bad\u7ec3\u8f6e\u6b21":60,"\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u53c2\u6570\u6216\u8005\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u7684\u68af\u5ea6\u5c3a\u5ea6\u8fc7\u5927":27,"\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u6d4b\u8bd5test_period":46,"\u8bad\u7ec3\u8fc7\u7a0b\u662f\u5426\u4e3a\u672c\u5730\u6a21\u5f0f":47,"\u8bad\u7ec3\u8fc7\u7a0b\u662f\u5426\u4f7f\u7528gpu":47,"\u8bad\u7ec3\u914d\u7f6e\u4e2d\u7684\u8bbe\u5907\u5c5e\u6027\u5c06\u4f1a\u65e0\u6548":47,"\u8bad\u7ec3\u96c6\u548c\u6d4b\u8bd5\u96c6\u6587\u4ef6\u5217\u8868":64,"\u8bad\u7ec3\u96c6\u5df2\u7ecf\u505a\u4e86\u968f\u673a\u6253\u4e71\u6392\u5e8f\u800c\u6d4b\u8bd5\u96c6\u6ca1\u6709":64,"\u8bad\u7ec3\u96c6\u5df2\u7ecf\u968f\u673a\u6253\u4e71":64,"\u8bad\u7ec3\u96c6\u5e73\u5747\u503c":57,"\u8bad\u7ec3dot_period":46,"\u8bb0\u5fc6\u6a21\u5757":39,"\u8bba\u6587":58,"\u8bbe\u4e3a\u5df2\u90e8\u7f72\u7684\u5de5\u4f5c\u7a7a\u95f4\u76ee\u5f55":45,"\u8bbe\u4e3a\u672c\u5730":45,"\u8bbe\u7f6e\u4e3a":41,"\u8bbe\u7f6e\u4e3atrue\u4f7f\u7528\u672c\u5730\u8bad\u7ec3\u6216\u8005\u4f7f\u7528\u96c6\u7fa4\u4e0a\u7684\u4e00\u4e2a\u8282\u70b9":47,"\u8bbe\u7f6e\u4e3atrue\u4f7f\u7528gpu\u6a21\u5f0f":47,"\u8bbe\u7f6e\u4efb\u52a1\u7684\u6a21\u5f0f\u4e3a\u6d4b\u8bd5":65,"\u8bbe\u7f6e\u4fdd\u5b58\u6a21\u578b\u7684\u8f93\u51fa\u8def\u5f84":65,"\u8bbe\u7f6e\u5168\u5c40\u5b66\u4e60\u7387":64,"\u8bbe\u7f6e\u5185\u5b58\u4e2d\u6682\u5b58\u7684\u6570\u636e\u6761\u6570":3,"\u8bbe\u7f6e\u5185\u5b58\u4e2d\u6700\u5c0f\u6682\u5b58\u7684\u6570\u636e\u6761\u6570":3,"\u8bbe\u7f6e\u53c2\u6570\u7684\u540d\u5b57":27,"\u8bbe\u7f6e\u547d\u4ee4\u884c\u53c2\u6570":[27,43,62],"\u8bbe\u7f6e\u5b57\u5178\u6587\u4ef6":64,"\u8bbe\u7f6e\u5de5\u4f5c\u6a21\u5f0f\u4e3a\u8bad\u7ec3":64,"\u8bbe\u7f6e\u5e73\u5747sgd\u7a97\u53e3":64,"\u8bbe\u7f6e\u6210":27,"\u8bbe\u7f6e\u6210\u4e00\u4e2a\u5c0f\u4e00\u4e9b\u7684\u503c":27,"\u8bbe\u7f6e\u6570\u636e\u904d\u5386\u6b21\u6570":63,"\u8bbe\u7f6e\u6807\u7b7e\u7c7b\u522b\u5b57\u5178":64,"\u8bbe\u7f6e\u6a21\u578b\u8def\u5f84":64,"\u8bbe\u7f6e\u7684\u547d\u4ee4\u884c\u53c2\u6570":64,"\u8bbe\u7f6e\u795e\u7ecf\u7f51\u7edc\u7684\u914d\u7f6e\u6587\u4ef6":65,"\u8bbe\u7f6e\u7c7b\u522b\u6570":64,"\u8bbe\u7f6e\u7ebf\u7a0b\u6570":[63,64],"\u8bbe\u7f6e\u7f51\u7edc\u914d\u7f6e":64,"\u8bbe\u7f6e\u8f93\u51fa\u7684\u5c3a\u5bf8":41,"\u8bbe\u7f6e\u8f93\u51fa\u8def\u5f84\u4ee5\u4fdd\u5b58\u8bad\u7ec3\u5b8c\u6210\u7684\u6a21\u578b":64,"\u8bbe\u7f6e\u8fd9\u4e2apydataprovider2\u8fd4\u56de\u4ec0\u4e48\u6837\u7684\u6570\u636e":3,"\u8bbe\u7f6e\u9ed8\u8ba4\u8bbe\u5907\u53f7\u4e3a0":49,"\u8bbe\u7f6ebatch":64,"\u8bbe\u7f6ecpu\u7ebf\u7a0b\u6570\u6216\u8005gpu\u8bbe\u5907\u6570":65,"\u8bbe\u7f6egpu":47,"\u8bbe\u7f6epass":64,"\u8bbe\u7f6epasses\u7684\u6570\u91cf":65,"\u8bbf\u95eekubernetes\u7684\u63a5\u53e3\u6765\u67e5\u8be2\u6b64job\u5bf9\u5e94\u7684\u6240\u6709pod\u4fe1\u606f":52,"\u8bc4\u4ef7\u9884\u6d4b\u7684\u6548\u679c":28,"\u8bc4\u4f30\u8be5\u4ea7\u54c1\u7684\u8d28\u91cf":60,"\u8bc4\u5206":[61,62],"\u8bc4\u5206\u6587\u4ef6\u7684\u6bcf\u4e00\u884c\u4ec5\u4ec5\u63d0\u4f9b\u7535\u5f71\u6216\u7528\u6237\u7684\u7f16\u53f7\u6765\u4ee3\u8868\u76f8\u5e94\u7684\u7535\u5f71\u6216\u7528\u6237":62,"\u8bc4\u5206\u88ab\u8c03\u6574\u4e3a5\u661f\u7684\u89c4\u6a21":61,"\u8bcd\u5411\u91cf":56,"\u8bcd\u5411\u91cf\u6a21\u578b":59,"\u8bcd\u5411\u91cf\u6a21\u578b\u540d\u79f0":56,"\u8bcd\u672c\u8eab\u548c\u8bcd\u9891":56,"\u8bcd\u9891\u6700\u9ad8\u7684":65,"\u8bd5\u7740\u8ba9\u8f93\u51fa\u7684\u5206\u6790\u6570\u636e\u548c\u7406\u8bba\u503c\u5bf9\u5e94":44,"\u8be5":[45,63],"\u8be5\u51fd\u6570\u5177\u6709\u4e24\u4e2a\u53c2\u6570":3,"\u8be5\u51fd\u6570\u5728\u521d\u59cb\u5316\u7684\u65f6\u5019\u4f1a\u88ab\u8c03\u7528":3,"\u8be5\u51fd\u6570\u7684\u529f\u80fd\u662f":3,"\u8be5\u53c2\u6570\u5728\u7f51\u7edc\u914d\u7f6e\u7684output":47,"\u8be5\u53c2\u6570\u5728\u96c6\u7fa4\u63d0\u4ea4\u73af\u5883\u4e2d\u81ea\u52a8\u8bbe\u7f6e":47,"\u8be5\u53c2\u6570\u5df2\u7ecf\u5728\u96c6\u7fa4\u63d0\u4ea4\u73af\u5883\u4e2d\u5b8c\u6210\u8bbe\u7f6e":47,"\u8be5\u53c2\u6570\u5fc5\u987b\u80fd\u88abflag":47,"\u8be5\u53c2\u6570\u6307\u793a\u662f\u5426\u6253\u5370\u65e5\u5fd7\u622a\u65ad\u4fe1\u606f":47,"\u8be5\u53c2\u6570\u6307\u793a\u662f\u5426\u6253\u5370\u9519\u8bef\u622a\u65ad\u65e5\u5fd7":47,"\u8be5\u53c2\u6570\u7528\u4e8e\u6307\u5b9a\u52a8\u6001\u5e93\u8def\u5f84":47,"\u8be5\u53c2\u6570\u7684\u610f\u601d\u662f\u8bad\u7ec3num":47,"\u8be5\u53c2\u6570\u9ed8\u8ba4\u4e3anull":47,"\u8be5\u5bf9\u8c61\u5177\u6709\u4ee5\u4e0b\u4e24\u4e2a\u5c5e\u6027":3,"\u8be5\u5c42\u4ec5\u9700\u8981\u8fd9\u4e9b\u975e\u96f6\u6837\u672c\u4f4d\u7f6e\u6240\u5bf9\u5e94\u7684\u53d8\u6362\u77e9\u9635\u7684\u90a3\u4e9b\u884c":41,"\u8be5\u5c42\u795e\u7ecf\u5143\u4e2a\u6570":60,"\u8be5\u622a\u65ad\u4f1a\u5f71\u54cd":47,"\u8be5\u6279\u6b21\u7684\u8f93\u5165\u4e2d\u4ec5\u6709\u4e00\u4e2a\u5b50\u96c6\u662f\u975e\u96f6\u7684":41,"\u8be5\u63a5\u53e3\u4f7f\u7528\u591a\u7ebf\u7a0b\u8bfb\u53d6\u6570\u636e":3,"\u8be5\u63a5\u53e3\u53ef\u7528\u4e8e\u9884\u6d4b\u548c\u5b9a\u5236\u5316\u8bad\u7ec3":29,"\u8be5\u6570\u636e\u53ca\u6709\u5f88\u591a\u4e0d\u540c\u7684\u7248\u672c":61,"\u8be5\u6570\u636e\u96c6":56,"\u8be5\u6570\u636e\u96c6\u4e8e2003\u5e742\u6708\u53d1\u5e03":61,"\u8be5\u6570\u636e\u96c6\u5305\u542b\u4e00\u4e9b\u7528\u6237\u4fe1\u606f":61,"\u8be5\u6570\u76ee\u662f\u63d0\u524d\u5b9a\u4e49\u597d\u7684":47,"\u8be5\u6587\u4ef6\u53ef\u4ee5\u4ece\u5b57\u6bb5\u914d\u7f6e\u6587\u4ef6\u751f\u6210":62,"\u8be5\u6587\u4ef6\u662f\u7531cpickle\u4ea7\u751f\u7684":58,"\u8be5\u6587\u4ef6\u662fpython\u7684pickle\u5bf9\u8c61":62,"\u8be5\u6587\u4ef6\u8d1f\u8d23\u4ea7\u751f\u56fe\u7247\u6570\u636e\u5e76\u4f20\u9012\u7ed9paddle\u7cfb\u7edf":57,"\u8be5\u6a21\u578b\u4f9d\u7136\u4f7f\u7528\u903b\u8f91\u56de\u5f52\u5206\u7c7b\u7f51\u7edc\u7684\u6846\u67b6":60,"\u8be5\u6a21\u578b\u5728\u957f\u8bed\u53e5\u7ffb\u8bd1\u7684\u573a\u666f\u4e0b\u6548\u679c\u63d0\u5347\u66f4\u52a0\u660e\u663e":65,"\u8be5\u6a21\u578b\u7684\u7f51\u7edc\u914d\u7f6e\u5982\u4e0b":28,"\u8be5\u6a21\u578b\u7684\u8bf4\u660e\u5982\u4e0b\u56fe\u6240\u793a":39,"\u8be5\u6a21\u578b\u7f51\u7edc\u53ea\u662f\u7528\u4e8e\u8fdb\u884cdemo\u5c55\u793apaddle\u5982\u4f55\u5de5\u4f5c":62,"\u8be5\u76ee\u5f55\u4e0b\u4f1a\u751f\u6210\u5982\u4e0b\u4e24\u4e2a\u5b50\u76ee\u5f55":42,"\u8be5\u793a\u4f8b\u5c06\u5c55\u793apaddle\u5982\u4f55\u8fdb\u884c\u8bcd\u5411\u91cf\u5d4c\u5165":62,"\u8be5\u793a\u4f8b\u7684\u795e\u7ecf\u7f51\u7edc\u914d\u7f6e\u6587\u4ef6":62,"\u8be5\u7b97\u6cd5\u6bcf\u6279\u91cf":28,"\u8be5\u7c7b\u7684\u5b9e\u73b0\u7ec6\u8282\u5728":41,"\u8be5\u811a\u672c\u4ec5\u4ec5\u662f\u5f00\u59cb\u4e00\u4e2apaddle\u8bad\u7ec3\u8fc7\u7a0b":62,"\u8be5\u811a\u672c\u4f1a\u751f\u6210\u4e00\u4e2adot\u6587\u4ef6":58,"\u8be5\u811a\u672c\u5c06\u8f93\u51fa\u9884\u6d4b\u5206\u7c7b\u7684\u6807\u7b7e":57,"\u8be5\u8bed\u53e5\u4f1a\u4e3a\u6bcf\u4e2a\u5c42\u521d\u59cb\u5316\u5176\u6240\u9700\u8981\u7684\u53d8\u91cf\u548c\u8fde\u63a5":41,"\u8be6\u7ec6\u4ecb\u7ecd\u53ef\u4ee5\u53c2\u8003":36,"\u8be6\u7ec6\u4fe1\u606f\u8bf7\u68c0\u67e5":45,"\u8be6\u7ec6\u5185\u5bb9\u8bf7\u53c2\u89c1":60,"\u8be6\u7ec6\u5730\u5c55\u793a\u4e86\u6574\u4e2a\u7279\u5f81\u63d0\u53d6\u7684\u8fc7\u7a0b":58,"\u8be6\u7ec6\u6587\u6863\u53c2\u8003":27,"\u8be6\u7ec6\u7684\u53c2\u6570\u89e3\u91ca":60,"\u8be6\u7ec6\u7684cmake\u4f7f\u7528\u65b9\u6cd5\u53ef\u4ee5\u53c2\u8003":29,"\u8be6\u7ec6\u89c1":35,"\u8bed\u4e49\u89d2\u8272\u6807\u6ce8":[59,63],"\u8bed\u8a00\u6a21\u578b":56,"\u8bf4\u660e":[29,52],"\u8bf4\u660e\u6bcf\u4e2a\u7279\u5f81\u6587\u4ef6\u5177\u4f53\u5b57\u6bb5\u662f":62,"\u8bf4\u660e\u8fd9\u4e2a\u5c42\u7684\u8f93\u5165":41,"\u8bf7\u53c2\u7167\u7f51\u7edc\u914d\u7f6e\u7684\u6587\u6863\u4e86\u89e3\u66f4\u8be6\u7ec6\u7684\u4fe1\u606f":49,"\u8bf7\u53c2\u8003":[3,27,33,36,39,41,60],"\u8bf7\u53c2\u8003\u5982\u4e0b\u8868\u683c":60,"\u8bf7\u53c2\u8003\u9875\u9762":62,"\u8bf7\u53c2\u8003layer\u6587\u6863":57,"\u8bf7\u53c2\u89c1":40,"\u8bf7\u53c2\u9605":39,"\u8bf7\u53c2\u9605\u60c5\u611f\u5206\u6790\u7684\u6f14\u793a\u4ee5\u4e86\u89e3\u6709\u5173\u957f\u671f\u77ed\u671f\u8bb0\u5fc6\u5355\u5143\u7684\u66f4\u591a\u4fe1\u606f":63,"\u8bf7\u5b89\u88c5cuda":32,"\u8bf7\u628a\u6587\u6863\u91cc\u547d\u4ee4\u4e2d\u7684paddlepaddl":30,"\u8bf7\u6307\u5b9a\u8be5\u76ee\u5f55":47,"\u8bf7\u67e5\u770b":56,"\u8bf7\u6ce8\u610f":[30,39,51,56],"\u8bf7\u770b\u4e0b\u9762\u7684\u4f8b\u5b50":49,"\u8bf7\u786e\u4fdd":40,"\u8bf7\u8bb0\u4f4f":45,"\u8bf7\u8fd0\u884c":30,"\u8bf7\u9009\u62e9\u6b63\u786e\u7684\u7248\u672c":27,"\u8bf8\u5982\u56fe\u50cf\u5206\u7c7b":49,"\u8bfb\u53d612\u4e2a\u91c7\u6837\u6570\u636e\u8fdb\u884c\u968f\u673a\u68af\u5ea6\u8ba1\u7b97\u6765\u66f4\u65b0\u66f4\u65b0":28,"\u8bfb\u53d6\u6570\u636e":3,"\u8bfb\u53d6\u6bcf\u4e00\u884c":3,"\u8bfb\u53d6volume\u4e2d\u7684\u6570\u636e\u8fdb\u884c\u8fd9\u6b21\u5206\u5e03\u5f0f\u8bad\u7ec3":52,"\u8bfb\u8005\u53ef\u4ee5\u67e5\u770b":52,"\u8bfb\u8005\u9700\u8981\u66ff\u6362\u6210\u81ea\u5df1\u4f7f\u7528\u7684\u4ed3\u5e93\u5730\u5740":52,"\u8c03\u7528":[41,57],"\u8c03\u7528\u4e00\u6b21":3,"\u8c03\u7528\u4e0a\u9762\u7684process\u51fd\u6570\u83b7\u5f97\u89c2\u6d4b\u6570\u636e":28,"\u8c03\u7528\u7684pydataprovider2\u662f":3,"\u8c03\u7528\u7b2c\u4e8c\u6b21\u7684\u65f6\u5019":3,"\u8c03\u7528\u8be5\u51fd\u6570\u540e":41,"\u8c03\u7528\u8fd9\u4e2apydataprovider2\u7684\u65b9\u6cd5":3,"\u8c13\u8bcd\u4e0a\u4e0b\u6587":63,"\u8d1f\u6837\u672c":60,"\u8d1f\u9762\u7684\u8bc4\u8bba\u7684\u5f97\u5206\u5c0f\u4e8e\u7b49\u4e8e4":64,"\u8d1f\u9762\u8bc4\u4ef7\u6837\u672c":64,"\u8d44\u6e90\u5bf9\u8c61\u7684\u540d\u5b57\u662f\u552f\u4e00\u7684":50,"\u8d77":36,"\u8def\u5f84\u4e0b":[28,58],"\u8df3\u8f6c\u5230":40,"\u8f6c\u4e3ajpeg\u6587\u4ef6\u5e76\u5b58\u5165\u7279\u5b9a\u7684\u76ee\u5f55":57,"\u8f6c\u6362\u8fc7\u6765\u7684":58,"\u8f6e":62,"\u8f83":36,"\u8f93\u5165":[35,39],"\u8f93\u5165\u548c\u8f93\u51fa\u90fd\u662f\u5355\u5c42\u5e8f\u5217":38,"\u8f93\u5165\u548c\u8f93\u51fa\u90fd\u662f\u53cc\u5c42\u5e8f\u5217":38,"\u8f93\u5165\u56fe\u7247\u7684\u9ad8\u5ea6\u53ca\u5bbd\u5ea6":57,"\u8f93\u5165\u5c42\u5c3a\u5bf8":58,"\u8f93\u5165\u6570\u636e\u4e3a\u4e00\u4e2a\u5b8c\u6574\u7684\u65f6\u95f4\u5e8f\u5217":36,"\u8f93\u5165\u6570\u636e\u4e3a\u5728\u5355\u5c42rnn\u6570\u636e\u91cc\u9762":36,"\u8f93\u5165\u6570\u636e\u6574\u4f53\u4e0a\u662f\u4e00\u4e2a\u65f6\u95f4\u5e8f\u5217":36,"\u8f93\u5165\u6570\u636e\u7684\u5b57\u5178\u7ef4\u6570\u662f1\u767e\u4e07":49,"\u8f93\u5165\u6570\u6910\u6240\u5728\u76ee\u5f55":64,"\u8f93\u5165\u6587\u672c":56,"\u8f93\u5165\u6587\u672c\u4e2d\u6ca1\u6709\u5934\u90e8":56,"\u8f93\u5165\u662f\u5426\u662f\u8f6c\u7f6e\u7684":41,"\u8f93\u5165\u662f\u7531\u4e00\u4e2alist\u4e2d\u7684\u7f51\u7edc\u5c42\u5b9e\u4f8b\u7684\u540d\u5b57\u7ec4\u6210\u7684":41,"\u8f93\u5165\u7279\u5f81\u56fe\u7684\u901a\u9053\u6570\u76ee":58,"\u8f93\u5165\u7684":56,"\u8f93\u5165\u7684\u539f\u59cb\u6570\u636e\u96c6\u8def\u5f84":65,"\u8f93\u5165\u7684\u540d\u5b57":41,"\u8f93\u5165\u7684\u5927\u5c0f":41,"\u8f93\u5165\u7684\u6587\u672c\u683c\u5f0f\u5982\u4e0b":56,"\u8f93\u5165\u7684\u6587\u672c\u8bcd\u5411\u91cf\u6a21\u578b\u540d\u79f0":56,"\u8f93\u5165\u7684\u7c7b\u578b":41,"\u8f93\u5165\u95e8":64,"\u8f93\u5165\u9884\u6d4b\u6837\u672c":64,"\u8f93\u5165n\u4e2a\u5355\u8bcd":60,"\u8f93\u51fa":[35,39],"\u8f93\u51fa\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":38,"\u8f93\u51fa\u4e00\u4e2a\u53cc\u5c42\u5e8f\u5217":38,"\u8f93\u51fa\u4e3an\u4e2aword_dim\u7ef4\u5ea6\u5411\u91cf":60,"\u8f93\u51fa\u51fd\u6570":39,"\u8f93\u51fa\u5e8f\u5217\u7684\u7c7b\u578b":35,"\u8f93\u51fa\u5e8f\u5217\u7684\u8bcd\u8bed\u6570\u548c\u8f93\u5165\u5e8f\u5217\u4e00\u81f4":38,"\u8f93\u51fa\u5e94\u8be5\u7c7b\u4f3c\u5982\u4e0b":62,"\u8f93\u51fa\u6587\u4ef6\u7684\u683c\u5f0f\u8bf4\u660e":56,"\u8f93\u51fa\u65e5\u5fd7\u4fdd\u5b58\u5728\u8def\u5f84":64,"\u8f93\u51fa\u65e5\u5fd7\u8bf4\u660e\u5982\u4e0b":64,"\u8f93\u51fa\u67092\u5217":56,"\u8f93\u51fa\u7279\u5f81\u56fe\u7684\u901a\u9053\u6570\u76ee":58,"\u8f93\u51fa\u7684\u4e8c\u8fdb\u5236\u8bcd\u5411\u91cf\u6a21\u578b\u540d\u79f0":56,"\u8f93\u51fa\u7684\u6587\u672c\u6a21\u578b\u540d\u79f0":56,"\u8f93\u51fa\u7684\u68af\u5ea6":47,"\u8f93\u51fa\u76ee\u5f55":58,"\u8f93\u51fa\u7ed3\u679c\u53ef\u80fd\u4f1a\u968f\u7740\u5bb9\u5668\u7684\u6d88\u8017\u800c\u88ab\u5220\u9664":51,"\u8fc7\u4e86\u4e00\u4e2a\u5f88\u7b80\u5355\u7684recurrent_group":36,"\u8fc7\u5b8c\u6240\u6709\u8bad\u7ec3\u6570\u636e\u5373\u4e3a\u4e00\u4e2apass":27,"\u8fd0":30,"\u8fd0\u884c":32,"\u8fd0\u884c\u4e0b\u9762\u547d\u4ee4\u5373\u53ef":62,"\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u6765\u4e0b\u8f7d\u8fd9\u4e2a\u811a\u672c":65,"\u8fd0\u884c\u4ee5\u4e0b\u6307\u4ee4":30,"\u8fd0\u884c\u4ee5\u4e0b\u7684\u547d\u4ee4\u4e0b\u8f7d\u548c\u83b7\u53d6\u6211\u4eec\u7684\u5b57\u5178\u548c\u9884\u8bad\u7ec3\u6a21\u578b":56,"\u8fd0\u884c\u4ee5\u4e0b\u7684\u547d\u4ee4\u4e0b\u8f7d\u6570\u636e\u96c6":56,"\u8fd0\u884c\u4ee5\u4e0b\u8bad\u7ec3\u547d\u4ee4":28,"\u8fd0\u884c\u4ee5\u53ca\u53d1\u5e03\u60a8\u7684ai\u7a0b\u5e8f":30,"\u8fd0\u884c\u5206\u5e03\u5f0f\u4f5c\u4e1a":45,"\u8fd0\u884c\u5206\u5e03\u5f0f\u8bad\u7ec3":[27,43,60],"\u8fd0\u884c\u5355\u5143\u6d4b\u8bd5":30,"\u8fd0\u884c\u5931\u8d25":49,"\u8fd0\u884c\u5b8c\u4ee5\u4e0a\u547d\u4ee4":56,"\u8fd0\u884c\u5b8c\u6210\u540e":45,"\u8fd0\u884c\u5b8c\u811a\u672c":64,"\u8fd0\u884c\u6210\u529f\u4ee5\u540e":56,"\u8fd0\u884c\u6210\u529f\u540e\u76ee\u5f55":64,"\u8fd0\u884c\u65e5\u5fd7":45,"\u8fd0\u884c\u7684\u4e00\u4e9b\u53c2\u6570\u901a\u8fc7\u8fd9\u79cd\u65b9\u5f0f\u4f20\u9012\u5230\u5bb9\u5668\u5185":52,"\u8fd1":36,"\u8fd1\u671f\u63d0\u51fa\u7684nmt\u6a21\u578b\u901a\u5e38\u90fd\u5c5e\u4e8e\u7f16\u89e3\u7801\u6a21\u578b":65,"\u8fd4\u56de":[8,9,10,11,16,17,20,22],"\u8fd4\u56de0":3,"\u8fd4\u56de8\u4e2a\u7279\u5f81list\u548c1\u4e2a\u6807\u7b7elist":63,"\u8fd4\u56de\u4e00\u6761\u5b8c\u6574\u7684\u6837\u672c":3,"\u8fd4\u56de\u6570\u636e\u7684\u6bcf\u4e00\u6761\u6837\u672c\u7ed9":62,"\u8fd4\u56de\u65f6":3,"\u8fd4\u56de\u7684\u662f":[3,33],"\u8fd4\u56de\u7684\u987a\u5e8f\u9700\u8981\u548cinput_types\u4e2d\u5b9a\u4e49\u7684\u987a\u5e8f\u4e00\u81f4":3,"\u8fd4\u56de\u7b2ci\u4e2a\u8f93\u5165\u77e9\u9635":41,"\u8fd4\u56de\u7c7b\u578b":[8,9,10,11,16,17,20,22],"\u8fd8\u4f1a":36,"\u8fd8\u4f1a\u8f93\u51fa\u4e00\u4e2a":40,"\u8fd8\u662f":36,"\u8fd8\u6709":36,"\u8fd8\u80fd\u5904\u7406\u5176\u4ed6\u7528\u6237\u81ea\u5b9a\u4e49\u7684\u6570\u636e":64,"\u8fd8\u91c7\u7528\u4e86\u4e24\u4e2a\u5176\u4ed6\u7279\u5f81":63,"\u8fd8\u9700\u8981\u8fdb\u884c\u9884\u5904\u7406":57,"\u8fd9":[27,36,60],"\u8fd9\u4e00\u5757\u7684\u8017\u65f6\u6bd4\u4f8b\u771f\u7684\u592a\u9ad8":44,"\u8fd9\u4e00\u8fc7\u7a0b\u5bf9\u7528\u6237\u662f\u5b8c\u5168\u900f\u660e\u7684":38,"\u8fd9\u4e09\u4e2a\u6b65\u9aa4\u53ef\u914d\u7f6e\u4e3a":60,"\u8fd9\u4e0e\u672c\u5730\u8bad\u7ec3\u76f8\u540c":45,"\u8fd9\u4e24\u4e2a\u6587\u4ef6\u5939\u4e0b\u5404\u81ea\u670910\u4e2a\u5b50\u6587\u4ef6\u5939":57,"\u8fd9\u4e24\u4e2a\u6807\u51c6":63,"\u8fd9\u4e2a":[36,50],"\u8fd9\u4e2a\u4efb\u52a1\u7684\u914d\u7f6e\u4e3a":27,"\u8fd9\u4e2a\u4efb\u52a1\u7684dataprovider\u4e3a":27,"\u8fd9\u4e2a\u51fd\u6570\u7684":39,"\u8fd9\u4e2a\u51fd\u6570\u8fdb\u884c\u53d8\u6362":36,"\u8fd9\u4e2a\u51fd\u6570\u9700\u8981\u8bbe\u7f6e":39,"\u8fd9\u4e2a\u5411\u91cf\u4e0e\u6e90\u4e2d\u641c\u7d22\u51fa\u7684\u4f4d\u7f6e\u548c\u6240\u6709\u4e4b\u524d\u751f\u6210\u7684\u76ee\u6807\u5355\u8bcd\u6709\u5173":65,"\u8fd9\u4e2a\u5730\u5740\u5219\u4e3a\u5b83\u7684\u7edd\u5bf9\u8def\u5f84\u6216\u76f8\u5bf9\u8def\u5f84":2,"\u8fd9\u4e2a\u5730\u5740\u6765\u8868\u793a\u6b64\u6b65\u9aa4\u6240\u6784\u5efa\u51fa\u7684\u955c\u50cf":52,"\u8fd9\u4e2a\u57fa\u7c7b":41,"\u8fd9\u4e2a\u5b57\u5178\u662f\u6574\u6570\u6807\u7b7e\u548c\u5b57\u7b26\u4e32\u6807\u7b7e\u7684\u4e00\u4e2a\u5bf9\u5e94":64,"\u8fd9\u4e2a\u5e8f\u5217\u7684\u6bcf\u4e2a\u5143\u7d20\u53c8\u662f\u4e00\u4e2a\u5e8f\u5217":38,"\u8fd9\u4e2a\u63a5\u53e3\u9700\u8981\u505a\u5230":25,"\u8fd9\u4e2a\u6570\u636e\u4e5f\u88ab\u5355\u5c42rnn\u7f51\u7edc\u76f4\u63a5\u4f7f\u7528":36,"\u8fd9\u4e2a\u6570\u91cf\u79f0\u4e3abeam":65,"\u8fd9\u4e2a\u6587\u4ef6\u5177\u6709\u72ec\u7279\u7684\u8bed\u6cd5":25,"\u8fd9\u4e2a\u663e\u793a\u5668\u5f88\u68d2":60,"\u8fd9\u4e2a\u6a21\u578b\u5bf9\u4e8e\u7f16\u89e3\u7801\u6a21\u578b\u6765\u8bf4":65,"\u8fd9\u4e2a\u795e\u7ecf\u7f51\u7edc\u5355\u5143\u5c31\u53ebmemori":36,"\u8fd9\u4e2a\u7a0b\u5e8f\u662f\u60a8\u5728\u5f00\u53d1\u673a\u4e0a\u4f7f\u7528\u5f00\u53d1\u955c\u50cf\u5b8c\u6210\u5f00\u53d1":30,"\u8fd9\u4e2a\u7c7b\u7684\u53c2\u6570\u5305\u62ec":41,"\u8fd9\u4e2a\u7c7b\u9700\u8981\u7ee7\u627f":41,"\u8fd9\u4e2a\u7cfb\u7edf\u5c06srl\u4efb\u52a1\u89c6\u4e3a\u5e8f\u5217\u6807\u6ce8\u95ee\u9898":63,"\u8fd9\u4e2a\u8282\u70b9\u53ef\u4ee5\u662f\u7269\u7406\u673a\u6216\u8005\u865a\u62df\u673a":50,"\u8fd9\u4e2a\u8868\u683c":50,"\u8fd9\u4e2a\u8fc7\u7a0b\u5bf9\u7528\u6237\u4e5f\u662f\u900f\u660e\u7684":38,"\u8fd9\u4e2a\u8fc7\u7a0b\u5c31\u662f\u6a21\u578b\u7684\u8bad\u7ec3\u8fc7\u7a0b":28,"\u8fd9\u4e2a\u8fc7\u7a0b\u9664\u4e86\u7f16\u8bd1paddlepaddle\u4e3a":40,"\u8fd9\u4e2a\u914d\u7f6e\u4e0e":56,"\u8fd9\u4e2a\u914d\u7f6e\u6587\u4ef6":50,"\u8fd9\u4e2a\u914d\u7f6e\u662f\u5426\u7528\u6765\u751f\u6210":65,"\u8fd9\u4e2a\u955c\u50cf\u5305\u542b\u4e86paddle\u76f8\u5173\u7684\u5f00\u53d1\u5de5\u5177\u4ee5\u53ca\u7f16\u8bd1\u548c\u8fd0\u884c\u73af\u5883":30,"\u8fd9\u4e2a\u95e8\u63a7\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u751f\u6210\u4e00\u7cfb\u5217\u6743\u91cd":39,"\u8fd9\u4e2a\u95ee\u9898\u662fpydataprovider\u8bfb\u6570\u636e\u65f6\u5019\u7684\u903b\u8f91\u95ee\u9898":3,"\u8fd9\u4e2adataprovider\u8f83\u590d\u6742":3,"\u8fd9\u4e2ajob\u624d\u7b97\u6210\u529f\u7ed3\u675f":52,"\u8fd9\u4e2alayer\u7684\u8f93\u51fa\u4f1a\u4f5c\u4e3a\u6574\u4e2a":38,"\u8fd9\u4e5f\u4f1a\u6781\u5927\u51cf\u5c11\u6570\u636e\u8bfb\u5165\u7684\u8017\u65f6":27,"\u8fd9\u4e9b":45,"\u8fd9\u4e9b\u53c2\u6570\u7684\u5177\u4f53\u63cf\u8ff0":52,"\u8fd9\u4e9b\u53c2\u6570\u7684\u7b80\u77ed\u4ecb\u7ecd\u5982\u4e0b":62,"\u8fd9\u4e9b\u540d\u5b57\u5fc5\u987b\u8981\u5199\u5bf9":41,"\u8fd9\u4e9b\u6570\u636e\u4f1a\u88ab\u7528\u6765\u66f4\u65b0\u53c2\u6570":27,"\u8fd9\u4e9b\u6570\u636e\u4f7f\u7528\u7684\u5185\u5b58\u4e3b\u8981\u548c\u4e24\u4e2a\u53c2\u6570\u6709\u5173\u7cfb":27,"\u8fd9\u4e9b\u6587\u4ef6\u5c06\u4f1a\u88ab\u4fdd\u5b58\u5728":58,"\u8fd9\u4e9b\u6a21\u578b\u90fd\u662f\u7531\u539f\u4f5c\u8005\u63d0\u4f9b\u7684\u6a21\u578b":58,"\u8fd9\u4e9b\u7279\u5f81\u503c\u4e0e\u4e0a\u8ff0\u4f7f\u7528c":58,"\u8fd9\u4e9b\u7279\u5f81\u548c\u6807\u7b7e\u5b58\u50a8\u5728":63,"\u8fd9\u4e9b\u7279\u5f81\u6570\u636e\u4e4b\u95f4\u7684\u987a\u5e8f\u662f\u6709\u610f\u4e49\u7684":36,"\u8fd9\u4efd\u6559\u7a0b\u5c55\u793a\u4e86\u5982\u4f55\u5728paddlepaddle\u4e2d\u5b9e\u73b0\u4e00\u4e2a\u81ea\u5b9a\u4e49\u7684\u7f51\u7edc\u5c42":41,"\u8fd9\u4efd\u7b80\u77ed\u7684\u4ecb\u7ecd\u5c06\u5411\u4f60\u5c55\u793a\u5982\u4f55\u5229\u7528paddlepaddle\u6765\u89e3\u51b3\u4e00\u4e2a\u7ecf\u5178\u7684\u7ebf\u6027\u56de\u5f52\u95ee\u9898":28,"\u8fd9\u4f1a\u63d0\u793a\u5f53\u524d\u76ee\u5f55\u7684\u4e00\u4e9b\u53d8\u5316":40,"\u8fd9\u4f1a\u81ea\u52a8\u8fdb\u884c\u7f51\u7edc\u914d\u7f6e\u4e2d\u58f0\u660e\u7684\u6fc0\u6d3b\u64cd\u4f5c":41,"\u8fd9\u4f7f\u5f97nmt\u6a21\u578b\u5f97\u4ee5\u89e3\u653e\u51fa\u6765":65,"\u8fd9\u4fbf\u662f\u4e00\u79cd\u53cc\u5c42rnn\u7684\u8f93\u5165\u6570\u636e":36,"\u8fd9\u51e0\u4e2a\u7f16\u8bd1\u9009\u9879\u7684\u8bbe\u7f6e":29,"\u8fd9\u53ef\u4ee5\u8ba9\u5176\u4ed6\u4eba\u77e5\u9053\u8fd9\u6b21\u63d0\u4ea4\u505a\u4e86\u54ea\u4e9b\u6539\u53d8":40,"\u8fd9\u53ef\u4ee5\u901a\u8fc7":40,"\u8fd9\u548c\u5355\u5c42rnn\u7684\u914d\u7f6e\u662f\u7b49\u4ef7\u7684":36,"\u8fd9\u56db\u4e2a\u7b80\u5355\u7684\u7279\u5f81\u662f\u6211\u4eec\u7684srl\u7cfb\u7edf\u6240\u9700\u8981\u7684":63,"\u8fd9\u56db\u6761\u6570\u636e\u540c\u65f6\u5904\u7406\u7684\u53e5\u5b50\u6570\u91cf\u4e3a":36,"\u8fd9\u5728\u5f88\u5927\u7a0b\u5ea6\u4e0a\u4f18\u4e8e\u5148\u524d\u7684\u6700\u5148\u8fdb\u7684\u7cfb\u7edf":63,"\u8fd9\u5728\u6784\u9020\u975e\u5e38\u590d\u6742\u7684\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u65f6\u662f\u6709\u7528\u7684":39,"\u8fd9\u5bf9\u4e8e\u901a\u5e38\u7684java\u7684\u5f00\u53d1\u8005\u6765\u8bf4":25,"\u8fd9\u5c06\u82b1\u8d39\u6570\u5206\u949f\u7684\u65f6\u95f4":65,"\u8fd9\u5df2\u7ecf\u5728":64,"\u8fd9\u610f\u5473\u7740":39,"\u8fd9\u610f\u5473\u7740\u6a21\u578b\u5728\u8bad\u7ec3\u6570\u636e\u4e0a\u4e0d\u65ad\u7684\u6539\u8fdb":28,"\u8fd9\u610f\u5473\u7740\u9664\u4e86\u6307\u5b9adevic":49,"\u8fd9\u65f6\u8fdb\u884c\u77e9\u9635\u4e58\u6cd5\u8fd0\u7b97\u5c31\u53ef\u80fd\u5bfc\u81f4\u6d6e\u70b9\u6570\u6ea2\u51fa":27,"\u8fd9\u662f\u4e00\u4e2a\u57fa\u4e8e\u7edf\u8ba1\u7684\u673a\u5668\u7ffb\u8bd1\u7cfb\u7edf":64,"\u8fd9\u662f\u4e00\u79cd\u975e\u5e38\u7075\u6d3b\u7684\u6570\u636e\u7ec4\u7ec7\u65b9\u5f0f":35,"\u8fd9\u662f\u56e0\u4e3a":25,"\u8fd9\u662f\u56e0\u4e3a\u5b83\u53d1\u6398\u51fa\u4e86\u56fe\u7247\u7684\u4e24\u7c7b\u91cd\u8981\u4fe1\u606f":57,"\u8fd9\u662f\u666e\u901a\u7684\u5355\u5c42\u65f6\u95f4\u5e8f\u5217\u7684dataprovider\u4ee3\u7801":36,"\u8fd9\u662f\u76ee\u524dcmake\u5bfb\u627epython\u7684\u903b\u8f91\u5b58\u5728\u7f3a\u9677":27,"\u8fd9\u662f\u96c6\u675f\u641c\u7d22\u7684\u7ed3\u679c":65,"\u8fd9\u6765\u81ea\u4e8epaddlepaddle\u7684\u5185\u5b58\u4e2d":65,"\u8fd9\u6837":[28,45],"\u8fd9\u6837\u505a\u53ef\u4ee5\u6781\u5927\u7684\u51cf\u5c11\u5185\u5b58\u5360\u7528":27,"\u8fd9\u6837\u53ef\u4ee5\u51cf\u5c0fgpu\u5185\u5b58":49,"\u8fd9\u6837\u5bb9\u5668\u7684":52,"\u8fd9\u6837\u5c31\u4f1a\u751f\u6210\u4e24\u4e2a\u6587\u4ef6":62,"\u8fd9\u6837\u5f00\u53d1\u4eba\u5458\u53ef\u4ee5\u4ee5\u4e00\u81f4\u7684\u65b9\u5f0f\u5728\u4e0d\u540c\u7684\u5e73\u53f0\u4e0a\u5de5\u4f5c":30,"\u8fd9\u6837\u7684\u88c5\u9970\u5668":41,"\u8fd9\u6837\u7684\u8bdd":51,"\u8fd9\u6837\u7684\u8bdd\u6bcf\u4f4d\u7528\u6237\u5728\u6d4b\u8bd5\u6587\u4ef6\u4e2d\u5c06\u4e0e\u8bad\u7ec3\u6587\u4ef6\u542b\u6709\u540c\u6837\u7684\u4fe1\u606f":62,"\u8fd9\u6b63\u662f\u5b83\u4eec\u901f\u5ea6\u5feb\u7684\u539f\u56e0":44,"\u8fd9\u6bb5\u7b80\u77ed\u7684\u914d\u7f6e\u5c55\u793a\u4e86paddlepaddle\u7684\u57fa\u672c\u7528\u6cd5":28,"\u8fd9\u7528\u4e8e\u5728\u591a\u7ebf\u7a0b\u548c\u591a\u673a\u4e0a\u66f4\u65b0\u53c2\u6570":41,"\u8fd9\u79cd\u521d\u59cb\u5316\u65b9\u5f0f\u5728\u4e00\u822c\u60c5\u51b5\u4e0b\u4e0d\u4f1a\u4ea7\u751f\u5f88\u5dee\u7684\u7ed3\u679c":27,"\u8fd9\u79cd\u60c5\u51b5\u4e0b\u4e0d\u9700\u8981\u91cd\u5199\u8be5\u51fd\u6570":41,"\u8fd9\u79cd\u65b9\u5f0f\u5fc5\u987b\u4f7f\u7528paddle\u5b58\u50a8\u7684\u6a21\u578b\u8def\u5f84\u683c\u5f0f":49,"\u8fd9\u79cd\u751f\u6210\u6280\u672f\u53ea\u7528\u4e8e\u7c7b\u4f3c\u89e3\u7801\u5668\u7684\u751f\u6210\u8fc7\u7a0b":39,"\u8fd9\u79cd\u7c7b\u578b\u7684\u8f93\u5165\u5fc5\u987b\u901a\u8fc7":38,"\u8fd9\u79cd\u96c6\u7fa4\u8282\u70b9\u7ba1\u7406\u65b9\u5f0f\u4f1a\u5728\u5c06\u6765\u4f7f\u7528":52,"\u8fd9\u7bc7\u6587\u6863":40,"\u8fd9\u7bc7\u6587\u7ae0":65,"\u8fd9\u7ec4\u8bed\u4e49\u76f8\u540c\u7684\u793a\u4f8b\u914d\u7f6e\u5982\u4e0b":36,"\u8fd9\u901a\u8fc7\u83b7\u5f97\u53cd\u5411\u5faa\u73af\u7f51\u7edc\u7684\u7b2c\u4e00\u4e2a\u5b9e\u4f8b":39,"\u8fd9\u90fd\u9700\u8981\u8fd9\u4e2a\u63a5\u53e3\u6309\u7167\u7ea6\u5b9a\u4fd7\u6210\u7684\u89c4\u5219\u6765\u6ce8\u91ca\u5b8c\u5907":25,"\u8fd9\u91cc":[27,30,39,40,50,52,58,63],"\u8fd9\u91cc\u4ecb\u7ecd\u5982\u751f\u6210\u9020\u8fd9\u4e2a\u5f00\u53d1\u955c\u50cf":30,"\u8fd9\u91cc\u4ee5":60,"\u8fd9\u91cc\u4f7f\u7528\u4e00\u4e2a\u57fa\u4e8emomentum\u7684\u968f\u673a\u68af\u5ea6\u4e0b\u964d":28,"\u8fd9\u91cc\u4f7f\u7528\u4e86\u4e09\u79cd\u7f51\u7edc\u5355\u5143":28,"\u8fd9\u91cc\u4f7f\u7528\u4e86paddlepaddle\u7684python\u63a5\u53e3\u6765\u52a0\u8f7d\u6570\u6910":64,"\u8fd9\u91cc\u4f7f\u7528\u4e86paddlepaddle\u9884\u5b9a\u4e49\u597d\u7684rnn\u5904\u7406\u51fd\u6570":36,"\u8fd9\u91cc\u4f7f\u7528\u7b80\u5355\u7684":27,"\u8fd9\u91cc\u5229\u7528\u5b83\u5efa\u6a21\u53d8\u91cf\u4e4b\u95f4\u7684\u7ebf\u6027\u5173\u7cfb":28,"\u8fd9\u91cc\u53ea\u52a0\u8f7d":65,"\u8fd9\u91cc\u53ea\u7b80\u5355\u4ecb\u7ecd\u4e86\u5355\u673a\u8bad\u7ec3":60,"\u8fd9\u91cc\u5c06\u4ecb\u7ecdpaddlepaddle\u7684\u57fa\u672c\u4f7f\u7528\u6982\u5ff5":33,"\u8fd9\u91cc\u5c55\u793a\u5982\u4f55\u4f7f\u7528\u89c2\u6d4b\u6570\u636e\u6765\u62df\u5408\u8fd9\u4e00\u7ebf\u6027\u5173\u7cfb":28,"\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528":62,"\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528\u7684\u662f\u4e00\u4e2a\u5c0f\u7684vgg\u7f51\u7edc":57,"\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528\u7684\u662fgpu\u6a21\u5f0f\u8fdb\u884c\u8bad\u7ec3":57,"\u8fd9\u91cc\u6211\u4eec\u5728movielens\u6570\u636e\u96c6\u63cf\u8ff0\u4e00\u79cd":62,"\u8fd9\u91cc\u6211\u4eec\u5c55\u793a\u4e00\u4efd\u7b80\u5316\u8fc7\u7684\u4ee3\u7801":41,"\u8fd9\u91cc\u6211\u4eec\u7528paddl":30,"\u8fd9\u91cc\u6211\u4eec\u901a\u8fc7\u5728kubernetes\u96c6\u7fa4\u4e0a\u542f\u52a8\u4e00\u4e2ajob\u6765\u4e0b\u8f7d\u5e76\u5207\u5272\u6570\u636e":52,"\u8fd9\u91cc\u6307\u5b9a\u8bcd\u5178":60,"\u8fd9\u91cc\u6570\u636e\u5c42\u6709\u4e24\u4e2a":28,"\u8fd9\u91cc\u662f\u4e00\u4e2a\u4f8b\u5b50":65,"\u8fd9\u91cc\u6709\u4e00\u4e9b\u4e0d\u540c\u7684\u53c2\u6570\u9700\u8981\u6307\u5b9a":65,"\u8fd9\u91cc\u68c0\u9a8c\u8fd0\u884c\u65f6\u95f4\u6a21\u578b\u7684\u6536\u655b":45,"\u8fd9\u91cc\u6bcf\u4e2a5\u4e2abatch\u6253\u5370\u4e00\u4e2a\u70b9":65,"\u8fd9\u91cc\u6bcf\u9694100\u4e2abatch\u663e\u793a\u4e00\u6b21\u53c2\u6570\u7edf\u8ba1\u4fe1\u606f":65,"\u8fd9\u91cc\u6bcf\u969410\u4e2abatch\u6253\u5370\u4e00\u6b21\u65e5\u5fd7":65,"\u8fd9\u91cc\u7684\u5217\u51fa\u7684\u548c":57,"\u8fd9\u91cc\u76f4\u63a5\u901a\u8fc7\u9884\u6d4b\u811a\u672c":60,"\u8fd9\u91cc\u7ed9\u51fa\u96c6\u4e2d\u5e38\u89c1\u7684\u90e8\u7f72\u65b9\u6cd5":50,"\u8fd9\u91cc\u8bbe\u7f6e\u4e3a\u4f7f\u7528cpu":65,"\u8fd9\u91cc\u8bbe\u7f6e\u4e3afals":65,"\u8fd9\u91cc\u8bbe\u7f6e\u4e3atrue":65,"\u8fd9\u91cc\u91c7\u7528adam\u4f18\u5316\u65b9\u6cd5":60,"\u8fdb\u4e3b\u4ed3\u5e93\u540e":40,"\u8fdb\u5165":64,"\u8fdb\u5165\u5bb9\u5668":51,"\u8fdb\u5165\u5f00\u53d1\u955c\u50cf\u5e76\u5f00\u59cb\u5de5\u4f5c":30,"\u8fdb\u7a0b\u542f\u52a8\u7684\u5fc5\u8981\u53c2\u6570":52,"\u8fdb\u7a0b\u7684":45,"\u8fdb\u7a0b\u7684\u542f\u52a8\u53c2\u6570":52,"\u8fdb\u7a0b\u7684\u8fd0\u884c\u73af\u5883":52,"\u8fdb\u7a0b\u9700\u8981\u7684":52,"\u8fdb\u884c\u4e86":36,"\u8fdb\u884c\u4f7f\u7528":57,"\u8fdb\u884c\u5206\u5e03\u5f0f\u8bad\u7ec3\u7684\u65b9\u6848":52,"\u8fdb\u884c\u5206\u5e03\u5f0f\u8bad\u7ec3\u7684\u65b9\u6cd5":52,"\u8fdb\u884c\u5f00\u53d1":40,"\u8fdb\u884c\u62c6\u89e3":36,"\u8fdb\u884c\u6fc0\u6d3b\u64cd\u4f5c":41,"\u8fdb\u884c\u8bfb\u5165\u548c\u9884\u5904\u7406\u4ece\u800c\u5f97\u5230\u771f\u5b9e\u8f93\u5165":28,"\u8fdb\u884c\u9884\u6d4b":60,"\u8fdb\u9636\u6307\u5357":[33,55],"\u8fde\u63a5":38,"\u8fde\u63a5\u4e09\u4e2alstm\u9690\u85cf\u5c42":64,"\u9000\u4f11\u4eba\u5458":61,"\u9000\u51fa\u5bb9\u5668":51,"\u9002\u4e2d":36,"\u9002\u5408\u81ea\u5df1\u5b9e\u9a8c":30,"\u9009":36,"\u9009\u62e9":36,"\u9009\u62e9\u6d4b\u8bd5\u7ed3\u679c\u6700\u597d\u7684\u6a21\u578b\u6765\u9884\u6d4b":60,"\u9009\u62e9\u76ee\u6807\u5206\u652f":40,"\u9009\u62e9\u8def\u5f84\u6765\u52a8\u6001\u52a0\u8f7dnvidia":47,"\u9009\u62e9\u8fc7\u540e\u7684":65,"\u9009\u62e9\u9002\u5408\u60a8\u7684\u573a\u666f\u7684\u5408\u9002\u65b9\u6848":50,"\u9009\u81ea\u4e0b\u5217\u7c7b\u578b":61,"\u9009\u9879":[29,56],"\u9012\u5f52\u795e\u7ecf\u7f51\u7edc":46,"\u901a\u5e38":[45,64],"\u901a\u5e38\u4f1a\u4f7f\u7528\u73af\u5883\u53d8\u91cf\u914d\u7f6ejob\u7684\u914d\u7f6e\u4fe1\u606f":52,"\u901a\u5e38\u4f7f\u7528\u7a00\u758f\u8bad\u7ec3\u6765\u52a0\u901f\u8ba1\u7b97\u8fc7\u7a0b":49,"\u901a\u5e38\u505a\u6cd5\u662f\u4ece\u4e00\u4e2a\u6bd4\u8f83\u5927\u7684learning_rate\u5f00\u59cb\u8bd5":27,"\u901a\u5e38\u540d\u5b57\u662f":40,"\u901a\u5e38\u60c5\u51b5\u4e0b":44,"\u901a\u5e38\u6211\u4eec\u4f1a\u5b89\u88c5ceph\u7b49\u5206\u5e03\u5f0f\u6587\u4ef6\u7cfb\u7edf\u6765\u5b58\u50a8\u8bad\u7ec3\u6570\u636e":51,"\u901a\u5e38\u6bcf\u4e2ajob\u5305\u62ec\u4e00\u4e2a\u6216\u8005\u591a\u4e2apod":50,"\u901a\u5e38\u7684\u505a\u6cd5\u662f\u4f7f\u7528":39,"\u901a\u5e38\u7684\u505a\u6cd5\u662f\u5c06\u914d\u7f6e\u5b58\u4e8e":41,"\u901a\u5e38\u8981\u6c42\u65f6\u95f4\u6b65\u4e4b\u95f4\u5177\u6709\u4e00\u4e9b\u4f9d\u8d56\u6027":36,"\u901a\u5e38\u90fd\u4f1a\u4f7f\u7528\u4e0b\u9762\u8fd9\u4e9b\u547d\u4ee4\u884c\u53c2\u6570":49,"\u901a\u7528":46,"\u901a\u77e5":36,"\u901a\u8fc7":[27,36,40,41,45,60],"\u901a\u8fc7\u4e24\u4e2a\u5d4c\u5957\u7684":38,"\u901a\u8fc7\u4ea4\u66ff\u4f7f\u7528\u5377\u79ef\u548c\u6c60\u5316\u5904\u7406":57,"\u901a\u8fc7\u4f7f\u7528":29,"\u901a\u8fc7\u51fd\u6570":52,"\u901a\u8fc7\u5377\u79ef\u64cd\u4f5c\u4ece\u56fe\u7247\u6216\u7279\u5f81\u56fe\u4e2d\u63d0\u53d6\u7279\u5f81":57,"\u901a\u8fc7\u547d\u4ee4\u884c\u53c2\u6570":27,"\u901a\u8fc7\u5f15\u7528memory\u5f97\u5230\u8fd9\u4e2alayer\u4e0a\u4e00\u4e2a\u65f6\u523b\u7684\u8f93\u51fa":38,"\u901a\u8fc7\u5f15\u7528memory\u5f97\u5230\u8fd9\u4e2alayer\u4e0a\u4e00\u4e2a\u65f6\u523b\u8f93\u51fa":38,"\u901a\u8fc7\u6240\u6709\u5355\u5143\u6d4b\u8bd5":40,"\u901a\u8fc7\u6240\u6709\u8bad\u7ec3\u96c6\u4e00\u6b21\u79f0\u4e3a\u4e00\u904d":64,"\u901a\u8fc7\u67e5\u770b\u4e70\u5bb6\u5bf9\u67d0\u4e2a\u4ea7\u54c1\u7684\u8bc4\u4ef7\u53cd\u9988":60,"\u901a\u8fc7\u7ec4\u5408\u4e0d\u540c\u7684layer":33,"\u901a\u8fc7\u7f16\u8bd1\u4f1a\u751f\u6210py_paddle\u8f6f\u4ef6\u5305":5,"\u901a\u8fc7\u7f51\u7edc\u5c42\u7684\u6807\u8bc6\u7b26\u6765\u6307\u5b9a":41,"\u901a\u8fc7\u8c03\u7528":5,"\u901a\u8fc7\u914d\u7f6e\u7c7b\u4f3c\u4e8e":60,"\u901a\u8fc7data":38,"\u901a\u8fc7volum":50,"\u903b\u8f91\u56de\u5f52":60,"\u9053\u6b49":36,"\u9069":36,"\u9075\u5faa\u5982\u4e0b\u7684\u683c\u5f0f":61,"\u9075\u5faa\u6587\u7ae0":56,"\u90a3\u4e48":[38,41],"\u90a3\u4e480\u5c42\u5e8f\u5217\u5373\u4e3a\u4e00\u4e2a\u8bcd\u8bed":38,"\u90a3\u4e48\u53ef\u4ee5\u8ba4\u4e3a\u8bad\u7ec3\u4e0d\u6536\u655b":27,"\u90a3\u4e48\u5728\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u4e0d\u4f1a\u6267\u884c\u6d4b\u8bd5\u64cd\u4f5c":2,"\u90a3\u4e48\u5982\u4f55\u5224\u65ad\u8bad\u7ec3\u4e0d\u6536\u655b\u5462":27,"\u90a3\u4e48\u5e38\u6570\u8f93\u51fa\u6240\u80fd\u8fbe\u5230\u7684\u6700\u5c0fcost\u662f":27,"\u90a3\u4e48\u5f53check\u51fa\u6570\u636e\u4e0d\u5408\u6cd5\u65f6":3,"\u90a3\u4e48\u6211\u4eec\u53ef\u4ee5\u5224\u65ad\u4e3a\u8bad\u7ec3\u4e0d\u6536\u655b":27,"\u90a3\u4e48\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u6536\u96c6\u5e02\u573a\u4e0a\u623f\u5b50\u7684\u5927\u5c0f\u548c\u4ef7\u683c":28,"\u90a3\u4e48\u63a8\u8350\u4f7f\u7528":39,"\u90a3\u4e48\u63a8\u8350\u4f7f\u7528\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u7684\u65b9\u6cd5":39,"\u90a3\u4e48\u6536\u655b\u53ef\u80fd\u5f88\u6162":27,"\u90a3\u4e48\u6700\u597d\u5c06\u6570\u636e\u6587\u4ef6\u5728\u6bcf\u6b21\u8bfb\u53d6\u4e4b\u524d\u505a\u4e00\u6b21shuffl":27,"\u90a3\u4e48\u8bad\u7ec3\u6709\u53ef\u80fd\u4e0d\u6536\u655b":27,"\u90a3\u4e48\u8be5\u4f18\u5316\u7b97\u6cd5\u81f3\u5c11\u9700\u8981":27,"\u90a3\u4e48fc1\u548cfc2\u5c42\u5c06\u4f1a\u4f7f\u7528\u7b2c1\u4e2agpu\u6765\u8ba1\u7b97":49,"\u90a3\u4e48paddlepaddle\u4f1a\u6839\u636elayer\u7684\u58f0\u660e\u987a\u5e8f":3,"\u90a3\u4e5f\u5c31\u4e0d\u9700\u8981\u6025\u7740\u4f18\u5316\u6027\u80fd\u5566":44,"\u90a3\u4f30\u8ba1\u8fd9\u91cc\u7684\u6f5c\u529b\u5c31\u6ca1\u5565\u597d\u6316\u7684\u4e86":44,"\u90a3\u51cf\u5c11\u5b66\u4e60\u738710\u500d\u7ee7\u7eed\u8bd5\u9a8c":27,"\u90a3\u6211\u4f1a\u671f\u671b\u5206\u6790\u5de5\u5177\u7edf\u8ba1\u5230\u901f\u5ea6\u662f100gb":44,"\u90a3\u7a0b\u5e8f\u5206\u6790\u5de5\u5177\u662f\u5fc5\u4e0d\u53ef\u5c11\u7684\u5229\u5668":44,"\u90ae\u7f16":61,"\u90e8\u7f72\u548c\u914d\u7f6e\u6bd4\u8f83\u7b80\u5355":50,"\u90fd":36,"\u90fd\u4f1a\u4ea7\u751f\u5f53\u524d\u5c42\u72b6\u6001\u7684\u6240\u6709\u7ee7\u627f\u7ed3\u679c":47,"\u90fd\u4f7f\u7528\u968f\u673a\u503c\u521d\u59cb\u5316":28,"\u90fd\u53ea\u662f\u4ecb\u7ecd\u53cc\u5c42rnn\u7684api\u63a5\u53e3":36,"\u90fd\u662f\u5bf9layer1\u5143\u7d20\u7684\u62f7\u8d1d":35,"\u90fd\u662f\u5c06\u6bcf\u4e00\u53e5\u5206\u597d\u8bcd\u540e\u7684\u53e5\u5b50":36,"\u90fd\u662fabi\u8c03\u7528\u6807\u51c6\u7684":25,"\u90fd\u7528":40,"\u90fd\u9700\u8981\u5199\u63d0\u4ea4\u8bf4\u660e":40,"\u90fd\u9700\u8981\u8c03\u7528\u4e00\u6b21":41,"\u914d\u7f6e":64,"\u914d\u7f6e\u4e86\u7f51\u7edc":62,"\u914d\u7f6e\u521b\u5efa\u5b8c\u6bd5\u540e":57,"\u914d\u7f6e\u5982\u4e0b":56,"\u914d\u7f6e\u6253\u5f00":44,"\u914d\u7f6e\u6587\u4ef6":60,"\u914d\u7f6e\u6587\u4ef6\u63a5\u53e3\u662ffc_layer":41,"\u914d\u7f6e\u6a21\u578b\u6587\u4ef6":56,"\u914d\u7f6e\u7b49\u6587\u4ef6\u7684\u76ee\u5f55\u89c6\u4e3a":45,"\u914d\u7f6e\u7b80\u5355\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u7684\u4f8b\u5b50":39,"\u914d\u7f6e\u7f51\u7edc\u5c42\u7684\u8f93\u5165":41,"\u914d\u7f6eapi":35,"\u9152\u5e97":36,"\u91c7\u6837\u5c42":62,"\u91c7\u7528":63,"\u91c7\u7528\u53e6\u4e00\u79cd\u65b9\u6cd5\u6765\u5806\u53e0lstm\u5c42":63,"\u91c7\u7528\u5747\u5300\u5206\u5e03\u6216\u8005\u9ad8\u65af\u5206\u5e03\u521d\u59cb\u5316":47,"\u91c7\u7528multi":27,"\u91cc\u4ecb\u7ecd\u4e86\u7528paddle\u6e90\u7801\u4e2d\u7684\u811a\u672c\u4e0b\u8f7d\u8bad\u7ec3\u6570\u636e\u7684\u8fc7\u7a0b":51,"\u91cc\u4f1a\u7ee7\u7eed\u5b89\u88c5":32,"\u91cc\u6240\u6709\u7684\u7b26\u53f7\u90fd\u5199\u5165\u81ea\u5df1\u7684\u7a0b\u5e8f\u7684\u4e8c\u8fdb\u5236\u6587\u4ef6\u91cc":25,"\u91cc\u6307\u5b9a\u56fe\u50cf\u6570\u636e\u5217\u8868":58,"\u91cc\u7684\u65e5\u5fd7":45,"\u91cc\u9762\u6db5\u76d6\u4e86":30,"\u91cc\u9762\u6db5\u76d6\u4e86paddlepaddle\u8fd0\u884c\u6240\u9700\u7684\u6240\u6709\u73af\u5883":30,"\u91cd\u547d\u540d\u6210":25,"\u91cd\u65b0\u7f16\u8bd1paddlepaddl":44,"\u9488\u5bf9\u4efb\u52a1\u8fd0\u884c\u5b8c\u6210\u540e\u5bb9\u5668\u81ea\u52a8\u9000\u51fa\u7684\u573a\u666f":51,"\u9488\u5bf9\u5185\u5b58\u548c\u663e\u5b58":27,"\u9488\u5bf9\u6587\u672c":62,"\u94fe\u63a5\u4f55\u79cdblas\u5e93\u7b49":29,"\u94fe\u63a5\u5230\u81ea\u5df1\u7684\u7a0b\u5e8f\u91cc":25,"\u94fe\u63a5\u5f85\u8865\u5145":60,"\u9500\u552e":61,"\u9519\u8bef\u5904\u7406":25,"\u9519\u8bef\u5904\u7406\u65b9\u5f0f\u662f\u8fd4\u56de\u503c":25,"\u9519\u8bef\u5904\u7406\u7684\u65b9\u5f0f\u4e5f\u4e0d\u5c3d\u76f8\u540c":25,"\u9519\u8bef\u7387":60,"\u9519\u8bef\u7684define_py_data_sources2\u7c7b\u4f3c":27,"\u955c\u50cf\u91cc\u6709":51,"\u957f\u5ea6":27,"\u95e8\u63a7\u5faa\u73af\u5355\u5143\u5355\u6b65\u51fd\u6570\u548c\u8f93\u51fa\u51fd\u6570":39,"\u95e8\u63a7\u5faa\u73af\u5355\u5143\u7684\u8f93\u51fa\u88ab\u7528\u4f5c\u8f93\u51famemori":39,"\u95ee\u9898":28,"\u95f4\u9694":60,"\u9650\u5236\u5957\u63a5\u5b57\u53d1\u9001\u7f13\u51b2\u533a\u7684\u5927\u5c0f":47,"\u9650\u5236\u5957\u63a5\u5b57\u63a5\u6536\u7f13\u51b2\u533a\u7684\u5927\u5c0f":47,"\u9664\u4e86":3,"\u9664\u4e86boot_lay":36,"\u9664\u53bbdata\u5c42":60,"\u9664\u8bcd\u5411\u91cf\u6a21\u578b\u5916\u7684\u53c2\u6570\u5c06\u4f7f\u7528\u6b63\u6001\u5206\u5e03\u968f\u673a\u521d\u59cb\u5316":56,"\u9664\u96f6\u7b49\u95ee\u9898":27,"\u968f\u540e\u53ef\u4ee5\u7528\u8fd9\u4e2a\u5f00\u53d1\u955c\u50cf\u5f00build":40,"\u968f\u673a\u521d\u59cb\u4e0d\u5b58\u5728\u7684\u53c2\u6570":63,"\u968f\u673a\u6570\u7684\u79cd\u5b50":47,"\u968f\u673a\u6570seed":46,"\u968f\u7740\u8f6e\u6570\u589e\u52a0\u8bef\u5dee\u4ee3\u4ef7\u51fd\u6570\u7684\u8f93\u51fa\u5728\u4e0d\u65ad\u7684\u51cf\u5c0f":28,"\u9694\u5f00":58,"\u96c6":61,"\u96c6\u675f\u641c\u7d22\u4e2d\u7684\u6269\u5c55\u5e7f\u5ea6":65,"\u96c6\u675f\u641c\u7d22\u4f7f\u7528\u5e7f\u5ea6\u4f18\u5148\u641c\u7d22\u6765\u6784\u5efa\u641c\u7d22\u6811":65,"\u96c6\u675f\u641c\u7d22\u4f7f\u7528\u5e7f\u5ea6\u4f18\u5148\u641c\u7d22\u7684\u65b9\u5f0f\u6784\u5efa\u67e5\u627e\u6811":47,"\u96c6\u7fa4\u4e0a\u542f\u52a8\u4e00\u4e2a\u5355\u673a\u4f7f\u7528cpu\u7684paddle\u8bad\u7ec3\u4f5c\u4e1a":51,"\u96c6\u7fa4\u4f5c\u4e1a\u4e2d\u6240\u6709\u8fdb\u7a0b\u7684\u73af\u5883\u8bbe\u7f6e":45,"\u96c6\u7fa4\u4f5c\u4e1a\u5c06\u4f1a\u5728\u51e0\u79d2\u540e\u542f\u52a8":45,"\u96c6\u7fa4\u5de5\u4f5c":45,"\u96c6\u7fa4\u6d4b\u8bd5":46,"\u96c6\u7fa4\u8bad\u7ec3":46,"\u96c6\u7fa4\u8fdb\u7a0b":45,"\u96c6\u7fa4\u901a\u4fe1\u4fe1\u9053\u7684\u7aef\u53e3\u6570":45,"\u96c6\u7fa4\u901a\u4fe1\u901a\u9053\u7684":45,"\u96c6\u7fa4\u901a\u4fe1\u901a\u9053\u7684\u7aef\u53e3\u53f7":45,"\u9700\u5728nvvp\u754c\u9762\u4e2d\u9009\u4e0a\u624d\u80fd\u5f00\u542f":44,"\u9700\u8981\u4f7f\u7528\u5176\u5236\u5b9a\u7684\u65b9\u5f0f\u6302\u8f7d\u540e\u5e76\u5bfc\u5165\u6570\u636e":52,"\u9700\u8981\u4fdd\u6301\u5f53\u524d\u5206\u652f\u76ee\u5f55":40,"\u9700\u8981\u5148\u6302\u8f7d\u5230\u670d\u52a1\u5668node\u4e0a\u518d\u901a\u8fc7kubernet":50,"\u9700\u8981\u540c\u6b65\u539f\u4ed3\u5e93":40,"\u9700\u8981\u542f\u52a8\u7684\u8282\u70b9\u4e2a\u6570\u4ee5\u53ca":52,"\u9700\u8981\u5728":45,"\u9700\u8981\u5728\u521b\u5efa\u5bb9\u5668\u524d\u6302\u8f7d\u5377\u4ee5\u4fbf\u6211\u4eec\u4fdd\u5b58\u8bad\u7ec3\u7ed3\u679c":51,"\u9700\u8981\u5728\u7cfb\u7edf\u91cc\u5148\u5b89\u88c5\u597ddocker\u5de5\u5177\u5305":42,"\u9700\u8981\u5b89\u88c5graphviz\u6765\u8f6c\u6362dot\u6587\u4ef6\u4e3a\u56fe\u7247":58,"\u9700\u8981\u5bf9":50,"\u9700\u8981\u5c06\u5176parameter\u8bbe\u7f6e\u6210":27,"\u9700\u8981\u5c06\u6807\u8bb0\u7684\u8bad\u7ec3\u548c\u6d4b\u8bd5\u6837\u672c\u79fb\u52a8\u5230\u53e6\u4e00\u4e2a\u8def\u5f84":64,"\u9700\u8981\u6307\u5b9a\u4e0e\u67d0\u4e00\u4e2a\u8f93\u5165\u7684\u5e8f\u5217\u4fe1\u606f\u662f\u4e00\u81f4\u7684":36,"\u9700\u8981\u6307\u5b9alayer\u7684\u8f93\u5165\u6765\u6e90":33,"\u9700\u8981\u660e\u786e\u6307\u5b9a":47,"\u9700\u8981\u6709\u4e00\u4e2a\u5916\u90e8\u7684\u5b58\u50a8\u670d\u52a1\u6765\u4fdd\u5b58\u8bad\u7ec3\u6240\u9700\u6570\u636e\u548c\u8bad\u7ec3\u8f93\u51fa":50,"\u9700\u8981\u6709\u7a33\u5b9a\u7684\u5bfc\u51fa\u7b26\u53f7":25,"\u9700\u8981\u6839\u636e\u4e0d\u540c\u7684\u5206\u5e03\u5f0f\u5b58\u50a8\u6765\u7ed1\u5b9a\u4e00\u4e2a":52,"\u9700\u8981\u6ce8\u610f\u7684\u662f":[47,62],"\u9700\u8981\u6ce8\u610f\u7684\u662f\u68af\u5ea6\u68c0\u67e5\u4ec5\u4ec5\u9a8c\u8bc1\u4e86\u68af\u5ea6\u7684\u8ba1\u7b97":41,"\u9700\u8981\u6ce8\u610f\u7684\u662fpaddlepaddle\u76ee\u524d\u53ea\u652f\u6301\u5b50\u5e8f\u5217\u6570\u76ee\u4e00\u6837\u7684\u591a\u8f93\u5165\u53cc\u5c42rnn":36,"\u9700\u8981\u9075\u5faa\u4ee5\u4e0b\u7ea6\u5b9a":38,"\u975e\u5e38\u6570":41,"\u975e\u96f6\u6570\u5b57\u7684\u4e2a\u6570":41,"\u97f3\u4e50\u5267":61,"\u987a\u5e8f":36,"\u9884\u5904\u7406\u6570\u636e\u4e00\u822c\u7684\u547d\u4ee4\u4e3a":62,"\u9884\u5904\u7406\u811a\u672c":64,"\u9884\u5b9a\u4e49\u7f51\u7edc":64,"\u9884\u5b9a\u4e49\u7f51\u7edc\u5982\u56fe3\u6240\u793a":64,"\u9884\u63d0\u4ea4\u94a9\u5b50":40,"\u9884\u6d4b\u540e":63,"\u9884\u6d4b\u63a5\u53e3\u811a\u672c":64,"\u9884\u6d4b\u6982\u7387\u53d6\u5e73\u5747":58,"\u9884\u6d4b\u7a0b\u5e8f\u5c06\u8bfb\u53d6\u7528\u6237\u7684\u8f93\u5165":62,"\u9884\u6d4b\u7ed3\u679c\u4ee5\u6587\u672c\u7684\u5f62\u5f0f\u4fdd\u5b58\u5728":60,"\u9884\u6d4b\u811a\u672c\u662f":63,"\u9884\u6d4bid":60,"\u9884\u6d4bimdb\u7684\u672a\u6807\u8bb0\u8bc4\u8bba\u7684\u4e00\u4e2a\u5b9e\u4f8b\u5982\u4e0b":64,"\u9884\u8bad\u7ec3\u6a21\u578b\u4f7f\u7528\u7684\u5b57\u5178\u7684\u8def\u5f84":56,"\u9884\u8bad\u7ec3\u8bcd\u5411\u91cf\u5b57\u5178\u6a21\u578b\u7684\u8def\u5f84":56,"\u989c\u8272\u901a\u9053\u987a\u5e8f\u4e3a":58,"\u989d\u5916\u7684\u53c2\u6570":60,"\u9996\u5148":[3,28,36,39,41,56,58,60,63,64],"\u9996\u5148\u4e0b\u8f7dcifar":57,"\u9996\u5148\u5728\u7cfb\u7edf\u8def\u5f84":29,"\u9996\u5148\u5b89\u88c5\u5e76\u5728\u5f53\u524d\u76ee\u5f55\u8fd0\u884c\u5b83":40,"\u9996\u5148\u5b89\u88c5paddlepaddl":64,"\u9996\u5148\u5bf9\u8f93\u5165\u505a\u4e00\u4e2a\u5c0f\u7684\u6270\u52a8":41,"\u9996\u5148\u6211\u4eec\u9700\u8981\u63a8\u5bfc\u8be5\u7f51\u7edc\u5c42\u7684":41,"\u9996\u5148\u662f\u6cd5\u8bed\u5e8f\u5217":65,"\u9996\u5148\u901a\u8fc7":40,"\u9996\u5148\u9700\u8981\u52a0\u8f7d\u76f8\u5e94\u7684python\u5e93":33,"\u9a71\u52a8":42,"\u9ad8\u4e2d\u6bd5\u4e1a\u751f":61,"\u9ad8\u4eae\u90e8\u5206":36,"\u9ad8\u53ef\u7528":50,"\u9ad8\u5ea6\u652f\u6301\u7075\u6d3b\u548c\u9ad8\u6548\u7684\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u914d\u7f6e":39,"\u9ad8\u6548\u6027":0,"\u9ad8\u65af\u5206\u5e03":27,"\u9ed1\u8272\u7535\u5f71":61,"\u9ed8\u8ba4":[3,47,65],"\u9ed8\u8ba4\u4e00\u4e2apass\u4fdd\u5b58\u4e00\u6b21\u6a21\u578b":60,"\u9ed8\u8ba4\u4e0d\u663e\u793a":47,"\u9ed8\u8ba4\u4e0d\u8bbe\u7f6e":38,"\u9ed8\u8ba4\u4e3a0":[47,49],"\u9ed8\u8ba4\u4e3a1":[3,49],"\u9ed8\u8ba4\u4e3a100":49,"\u9ed8\u8ba4\u4e3a4096mb":47,"\u9ed8\u8ba4\u4e3a\u4e0d\u4f7f\u7528":62,"\u9ed8\u8ba4\u4e3a\u7b2c\u4e00\u4e2a\u8f93\u5165":38,"\u9ed8\u8ba4\u4e3anull":47,"\u9ed8\u8ba4\u4f7f\u7528concurrentremoteparameterupdat":47,"\u9ed8\u8ba4\u503c":[29,35,49],"\u9ed8\u8ba4\u521d\u59cb\u72b6\u4e3a0":38,"\u9ed8\u8ba4\u60c5\u51b5\u4e0b":[27,45,64],"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u4f7f\u7528\u6b64\u7f51\u7edc":64,"\u9ed8\u8ba4\u6307\u5b9a\u7b2c\u4e00\u4e2a\u8f93\u5165":36,"\u9ed8\u8ba4\u7528\u6765\u5207\u5206\u5355\u8bb0\u548c\u6807\u70b9\u7b26\u53f7":64,"\u9ed8\u8ba4\u7684":51,"\u9ed8\u8ba4\u8bbe\u7f6e\u4e3a\u771f":49,"\u9ed8\u8ba4\u914d\u7f6e\u5982\u4e0b":45,"adamax\u7b49":60,"amazon\u7535\u5b50\u4ea7\u54c1\u8bc4\u8bba\u6570\u636e":60,"api\u4e2d\u4f7f\u7528":25,"api\u5bf9\u6bd4\u4ecb\u7ecd":37,"api\u63a5\u53e3":50,"async_sgd\u8fdb\u884c\u8bad\u7ec3\u65f6":27,"atlas\u7684\u8def\u5f84":29,"avx\u7684\u955c\u50cf":30,"awselasticblockstore\u7b49":50,"batch\u4e2d\u5305\u542b":27,"batches\u4e2a\u6279\u6b21\u4fdd\u5b58\u4e00\u6b21\u53c2\u6570":47,"batches\u6b21":47,"bin\u548c\u8bc4\u5206\u6587\u4ef6":62,"blas\u7684\u8def\u5f84":29,"book\u4e00\u5b9a\u662f\u60a8\u6700\u597d\u7684\u9009\u62e9":30,"book\u662f\u4e3a\u7528\u6237\u548c\u5f00\u53d1\u8005\u5236\u4f5c\u7684\u4e00\u4e2a\u4ea4\u4e92\u5f0f\u7684jupyt":30,"book\u7684":33,"book\u7684docker\u955c\u50cf":30,"bool\u578b\u53c2\u6570":3,"boolean":[10,16,25],"build\u6307\u4ee4\u6309\u7167dockerfile\u751f\u6210\u955c\u50cf":30,"build\u8fd9\u4e2a\u547d\u4ee4\u7684":30,"byte":27,"c99\u662f\u76ee\u524dc\u6700\u5e7f\u6cdb\u7684\u4f7f\u7528\u6807\u51c6":25,"c\u6709\u6807\u51c6\u7684abi":25,"c\u8bed\u8a00\u662f\u6709\u5bfc\u51fa\u7b26\u53f7\u7684\u6807\u51c6\u7684":25,"caoying\u7684pul":65,"case":[10,16,26,44],"class":[7,10,12,14,15,16,17,18,19,20,22,23,25,27,41,64],"cmake\u4e2d\u5c06":44,"cmake\u627e\u5230\u7684python\u5e93\u548cpython\u89e3\u91ca\u5668\u7248\u672c\u53ef\u80fd\u6709\u4e0d\u4e00\u81f4\u73b0\u8c61":27,"cmake\u7f16\u8bd1\u65f6":29,"cmake\u914d\u7f6e\u4e2d\u5c06":44,"conf\u4f5c\u4e3a\u914d\u7f6e":65,"const":41,"container\u4e2d":51,"cost\u63a5\u6536y_predict\u4e0ey\u4f5c\u4e3a\u8f93\u5165":33,"cost\u8fd8\u5927\u4e8e\u8fd9\u4e2a\u6570":27,"count\u4e2agpu\u4e0a\u4f7f\u7528\u6570\u636e\u5e76\u884c\u6765\u8ba1\u7b97\u67d0\u4e00\u5c42":49,"count\u548cgpu":49,"cpu\u7248\u672c":32,"cuda\u5e73\u53f0":32,"cuda\u5e93":47,"cudnn\u5e93":[29,47],"dat\u4e2d":62,"data\u76ee\u5f55\u4e2d\u5b58\u653e\u5207\u5206\u597d\u7684\u6570\u636e":52,"dataprovider\u5171\u8fd4\u56de\u4e24\u4e2a\u6570\u636e":36,"dataprovider\u5171\u8fd4\u56de\u4e24\u7ec4\u6570\u636e":36,"dataprovider\u662fpaddlepaddle\u8d1f\u8d23\u63d0\u4f9b\u6570\u636e\u7684\u6a21\u5757":2,"dataprovider\u7684\u4ecb\u7ecd":[4,60],"dataprovider\u7f13\u51b2\u6c60\u5185\u5b58":27,"deb\u5b89\u88c5\u5305":32,"decay\u5219\u4e3a0":57,"decoder\u5faa\u73af\u5c55\u5f00\u7684\u6bcf\u4e00\u4e2a\u65f6\u95f4\u6b65\u4f1a\u5f15\u7528\u5168\u90e8\u7ed3\u679c":38,"decoder\u63a5\u53d7\u4e24\u4e2a\u8f93\u5165":38,"decoder\u6bcf\u6b21\u9884\u6d4b\u4ea7\u751f\u4e0b\u4e00\u4e2a\u6700\u53ef\u80fd\u7684\u8bcd\u8bed":38,"decoer\u67b6\u6784":38,"default":[7,9,10,11,12,15,16,17,19,20,22,23,49,51,52,64],"demo\u9884\u6d4b\u8f93\u51fa\u5982\u4e0b":5,"dictionary\u662f\u4ece\u7f51\u7edc\u914d\u7f6e\u4e2d\u4f20\u5165\u7684dict\u5bf9\u8c61":3,"dictionary\u7531\u89e3\u6790\u81ea\u52a8\u751f\u6210":62,"dir\u4e2d\u670916\u4e2a\u5b50\u76ee\u5f55":65,"docker\u5b58\u5728\u95ee\u9898":30,"docker\u5b89\u88c5\u8bf7\u53c2\u8003":42,"docker\u7684\u5b98\u7f51":42,"docker\u955c\u50cf\u6765\u670d\u52a1html\u4ee3\u7801":30,"dockerfile\u4f4d\u4e8epaddlepaddl":30,"dockers\u8bbe\u7f6e":30,"dropout\u7684\u6bd4\u4f8b":41,"elec\u6d4b\u8bd5\u96c6":60,"embedding\u6a21\u578b\u9700\u8981\u7a0d\u5fae\u6539\u53d8\u63d0\u4f9b\u6570\u636e\u7684python\u811a\u672c":60,"encode\u6210\u7684\u6700\u540e\u4e00\u4e2a\u5411\u91cf":36,"encoder\u548cdecoder\u53ef\u4ee5\u662f\u80fd\u591f\u5904\u7406\u5e8f\u5217\u7684\u4efb\u610f\u795e\u7ecf\u7f51\u7edc\u5355\u5143":38,"encoder\u8f93\u51fa":38,"entropy\u4f5c\u4e3acost":27,"evaluator\u7684\u503c\u4f4e\u4e8e0":65,"export":[27,30,32,57],"f\u4ee3\u8868\u4e00\u4e2a\u6d6e\u70b9\u6570":[3,33],"false\u7684\u60c5\u51b5":3,"fc1\u548cfc2\u5c42\u5728gpu\u4e0a\u8ba1\u7b97":49,"fc3\u5c42\u4f7f\u7528cpu\u8ba1\u7b97":49,"final":[11,17,62],"float":[3,7,9,10,12,15,16,18,20,28,44,58,62],"float\u7b49":49,"function":[8,10,11,12,16,17,18,20,23,26,39,64],"gen\u6587\u4ef6\u5939\u4e2d\u7684\u6587\u4ef6\u5217\u8868":65,"generator\u4fbf\u4f1a\u5b58\u4e0b\u5f53\u524d\u7684\u4e0a\u4e0b\u6587":3,"generator\u81f3\u5c11\u9700\u8981\u8c03\u7528\u4e24\u6b21\u624d\u4f1a\u77e5\u9053\u662f\u5426\u505c\u6b62":3,"git\u6d41\u5206\u652f\u6a21\u578b":40,"github\u9996\u9875":40,"golang\u53ef\u4ee5\u4f7f\u7528":25,"golang\u7684":25,"gpu\u4e8c\u8fdb\u5236\u6587\u4ef6":29,"gpu\u5219\u8fd8\u9700\u8981\u9ad8\u5e76\u884c\u6027":44,"gpu\u53cc\u7f13\u5b58":3,"gpu\u548c\u975eavx\u533a\u5206\u4e86\u5982\u4e0b4\u4e2a\u955c\u50cf":30,"gpu\u6027\u80fd\u5206\u6790\u4e0e\u8c03\u4f18":43,"gpu\u6838\u5728\u8bad\u7ec3\u914d\u7f6e\u4e2d\u6307\u5b9a":47,"gpu\u7248\u672c":32,"gpu\u7248\u672c\u5e76\u60f3\u4f7f\u7528":63,"gpu\u7684docker\u955c\u50cf\u7684\u65f6\u5019":27,"gram\u7ea7\u522b\u7684\u77e5\u8bc6":64,"group\u6559\u7a0b":37,"gru\u6216lstm":39,"gru\u6a21\u578b":60,"gru\u6a21\u578b\u914d\u7f6e":60,"h\u5e76\u4e0d\u56f0\u96be":25,"hot\u7a20\u5bc6\u5411\u91cf":62,"html\u5373\u53ef\u8bbf\u95ee\u672c\u5730\u6587\u6863":42,"i\u4ee3\u8868\u4e00\u4e2a\u6574\u6570":[3,33],"id\u4e3a0\u7684\u6982\u7387":60,"id\u4e3a1\u7684\u6982\u7387":60,"id\u6307\u5b9a\u4f7f\u7528\u54ea\u4e2agpu\u6838":47,"id\u6307\u5b9a\u7684gpu":49,"id\u65e0\u6548":47,"image\u91cc":51,"imdb\u6570\u636e\u96c6\u5305\u542b25":64,"imdb\u6709\u4e24\u4e2a\u6807\u7b7e":64,"imdb\u7684\u6570\u6910\u96c6":64,"import":[3,5,9,10,16,23,27,28,33,56,57,58,62,64,65],"include\u4e0b\u9700\u8981\u5305\u542bcbla":29,"include\u4e0b\u9700\u8981\u5305\u542bmkl":29,"init_hook\u53ef\u4ee5\u4f20\u5165\u4e00\u4e2a\u51fd\u6570":3,"int":[3,7,9,10,11,12,15,16,17,20,25,26,36,41,49,60,62,63],"interface\u6587\u4ef6\u7684\u5199\u6cd5\u975e\u5e38":25,"issue\u7f16\u53f7":40,"job\u542f\u52a8\u540e\u4f1a\u521b\u5efa\u8fd9\u4e9bpod\u5e76\u5f00\u59cb\u6267\u884c\u4e00\u4e2a\u7a0b\u5e8f":50,"job\u6216\u8005\u5e94\u7528\u7a0b\u5e8f\u5728\u5bb9\u5668\u4e2d\u8fd0\u884c\u65f6\u751f\u6210\u7684\u6570\u636e\u4f1a\u5728\u5bb9\u5668\u9500\u6bc1\u65f6\u6d88\u5931":50,"job\u662f\u672c\u6b21\u8bad\u7ec3\u5bf9\u5e94\u7684job":52,"job\u7684\u540d\u5b57":52,"kubernetes\u4e3a\u8fd9\u6b21\u8bad\u7ec3\u521b\u5efa\u4e863\u4e2apod\u5e76\u4e14\u8c03\u5ea6\u5230\u4e863\u4e2anode\u4e0a\u8fd0\u884c":52,"kubernetes\u5206\u5e03\u5f0f\u8bad\u7ec3":43,"kubernetes\u5355\u673a\u8bad\u7ec3":43,"kubernetes\u53ef\u4ee5\u5728\u7269\u7406\u673a\u6216\u865a\u62df\u673a\u4e0a\u8fd0\u884c":50,"kubernetes\u53ef\u4ee5\u901a\u8fc7yaml\u6587\u4ef6\u6765\u521b\u5efa\u76f8\u5173\u5bf9\u8c61":52,"kubernetes\u5c31\u4f1a\u521b\u5efa3\u4e2apod\u4f5c\u4e3apaddlepaddle\u8282\u70b9\u7136\u540e\u62c9\u53d6\u955c\u50cf":52,"kubernetes\u63d0\u4f9b\u4e86\u591a\u79cd\u96c6\u7fa4\u90e8\u7f72\u7684\u65b9\u6848":50,"kubernetes\u652f\u6301\u591a\u79cdvolum":50,"kubernetes\u6709job\u7c7b\u578b\u7684\u8d44\u6e90\u6765\u652f\u6301":51,"kubernetes\u96c6\u7fa4\u5c31\u662f\u7531node\u8282\u70b9\u4e0emaster\u8282\u70b9\u7ec4\u6210\u7684":50,"label\u662f\u539f\u59cb\u6570\u636e\u4e2d\u5bf9\u4e8e\u6bcf\u4e00\u53e5\u8bdd\u7684\u5206\u7c7b\u6807\u7b7e":36,"labels\u662f\u6bcf\u7ec4\u5185\u6bcf\u4e2a\u53e5\u5b50\u7684\u6807\u7b7e":36,"layer1\u5fc5\u987b\u662f\u4e00\u4e2a0\u5c42\u5e8f\u5217":35,"layer1\u5fc5\u987b\u662f\u4e00\u4e2a\u5355\u5c42\u5e8f\u5217":35,"layer\u62ff\u5230\u7684\u7528\u6237\u8f93\u5165":38,"layer\u662f\u6211\u4eec\u7684\u79ef\u6728":33,"layer\u7c7b\u53ef\u4ee5\u81ea\u52a8\u8ba1\u7b97\u4e0a\u9762\u7684\u5bfc\u6570":41,"lib\u4e0b\u9700\u8981\u5305\u542bcblas\u548catlas\u4e24\u4e2a\u5e93":29,"lib\u4e0b\u9700\u8981\u5305\u542bcblas\u5e93":29,"lib\u4e0b\u9700\u8981\u5305\u542bopenblas\u5e93":29,"lib\u76ee\u5f55\u4e0b\u9700\u8981\u5305\u542bmkl_cor":29,"list\u4e2d\u7684\u6bcf\u4e00\u884c\u90fd\u4f20\u9012\u7ed9process\u51fd\u6570":3,"list\u5199\u5165\u90a3\u4e2a\u6587\u672c\u6587\u4ef6\u7684\u5730\u5740":3,"list\u548ctest":2,"list\u5982\u4e0b\u6240\u793a":49,"list\u5b58\u653e\u5728\u672c\u5730":2,"list\u6307\u5b9a\u6d4b\u8bd5\u7684\u6a21\u578b\u5217\u8868":49,"long":[10,11,16,17,20],"lstm\u67b6\u6784\u7684\u6700\u5927\u4f18\u70b9\u662f\u5b83\u53ef\u4ee5\u5728\u957f\u65f6\u95f4\u95f4\u9694\u5185\u8bb0\u5fc6\u4fe1\u606f":64,"lstm\u6a21\u578b":60,"lstm\u6a21\u578b\u914d\u7f6e":60,"lstm\u7f51\u7edc\u7c7b\u4f3c\u4e8e\u5177\u6709\u9690\u85cf\u5c42\u7684\u6807\u51c6\u5faa\u73af\u795e\u7ecf\u7f51\u7edc":64,"memory\u4e0d\u80fd\u72ec\u7acb\u5b58\u5728":38,"memory\u4e5f\u53ef\u4ee5\u5177\u6709":39,"memory\u4e5f\u53ef\u4ee5\u662f\u5e8f\u5217":39,"memory\u53ea\u80fd\u5728":38,"memory\u53ef\u4ee5\u7f13\u5b58\u4e0a\u4e00\u4e2a\u65f6\u523b\u67d0\u4e00\u4e2a\u795e\u7ecf\u5143\u7684\u8f93\u51fa":36,"memory\u6307\u5411\u4e00\u4e2alay":38,"memory\u662f\u5728\u5355\u6b65\u51fd\u6570\u4e2d\u5faa\u73af\u4f7f\u7528\u7684\u72b6\u6001":39,"memory\u662fpaddlepaddle\u5b9e\u73b0rnn\u65f6\u5019\u4f7f\u7528\u7684\u4e00\u4e2a\u6982\u5ff5":36,"memory\u7684":39,"memory\u7684\u521d\u59cb\u72b6\u6001":38,"memory\u7684\u65f6\u95f4\u5e8f\u5217\u957f\u5ea6\u4e00\u81f4\u7684\u60c5\u51b5":36,"memory\u7684\u66f4\u591a\u8ba8\u8bba\u8bf7\u53c2\u8003\u8bba\u6587":38,"memory\u7684\u8f93\u51fa\u5b9a\u4e49\u5728":39,"memory\u7684i":38,"memory\u9ed8\u8ba4\u521d\u59cb\u5316\u4e3a0":38,"mkl\u7684\u8def\u5f84":29,"mkl_sequential\u548cmkl_intel_lp64\u4e09\u4e2a\u5e93":29,"mnist\u662f\u4e00\u4e2a\u5305\u542b\u670970":3,"mode\u548cattent":65,"mode\u7684python\u51fd\u6570":65,"model\u53ef\u4ee5\u901a\u8fc7":5,"model\u6765\u5b9e\u73b0\u624b\u5199\u8bc6\u522b\u7684\u9884\u6d4b\u4ee3\u7801":5,"movielens\u6570\u636e\u96c6":62,"name\u662f\u4f53\u88c1":62,"name\u662f\u5e74\u9f84":62,"name\u662f\u6027\u522b":62,"name\u662f\u7535\u5f71\u540d":62,"name\u662f\u804c\u4e1a":62,"name\u7ec4\u5408\u53ef\u4ee5\u627e\u5230\u672c\u6b21\u8bad\u7ec3\u9700\u8981\u7684\u6587\u4ef6\u8def\u5f84":52,"new":[10,16,20,24,26,40,41],"nfs\u7684\u90e8\u7f72\u65b9\u6cd5\u53ef\u4ee5\u53c2\u8003":50,"nmt\u6a21\u578b\u53d7\u5236\u4e8e\u6e90\u8bed\u53e5\u7684\u7f16\u7801":65,"noavx\u7248\u672c":32,"normalization\u5c42":58,"normalization\u5c42\u7684\u53c2\u6570":58,"notebook\u662f\u4e00\u4e2a\u5f00\u6e90\u7684web\u7a0b\u5e8f":30,"null":[10,16,41,47,62],"num_gradient_servers\u53c2\u6570":52,"openblas\u7684\u8def\u5f84":29,"out\u4e0b\u5305\u542b":57,"out\u7684\u6587\u4ef6\u5939":57,"outer_mem\u662f\u4e00\u4e2a\u5b50\u53e5\u7684\u6700\u540e\u4e00\u4e2a\u5411\u91cf":36,"output\u6587\u4ef6\u5939\u5b58\u653e\u8bad\u7ec3\u7ed3\u679c\u4e0e\u65e5\u5fd7":52,"packages\u91cc\u9762":27,"packages\u91cc\u9762\u7684python\u5305":27,"paddepaddle\u901a\u8fc7\u7f16\u8bd1\u65f6\u6307\u5b9a\u8def\u5f84\u6765\u5b9e\u73b0\u5f15\u7528\u5404\u79cdbla":29,"paddle\u4e00\u4e2a\u52a8\u6001\u5e93\u53ef\u4ee5\u5728\u4efb\u4f55linux\u7cfb\u7edf\u4e0a\u8fd0\u884c":25,"paddle\u4e2d\u7684\u4e00\u6761pass\u8868\u793a\u8bad\u7ec3\u6570\u636e\u96c6\u4e2d\u6240\u6709\u7684\u6837\u672c\u4e00\u6b21":65,"paddle\u4e2d\u7ecf\u5e38\u4f1a\u5c06\u65f6\u95f4\u5e8f\u5217\u6210\u4e3a":36,"paddle\u4e8c\u8fdb\u5236\u5728\u8fd0\u884c\u65f6\u6355\u83b7\u4e86\u6d6e\u70b9\u6570\u5f02\u5e38":27,"paddle\u5185\u5d4c\u7684python\u89e3\u91ca\u5668\u548c\u5916\u90e8\u4f7f\u7528\u7684python\u5982\u679c\u7248\u672c\u4e0d\u540c":25,"paddle\u5185\u90e8\u7684\u7c7b\u4e3ac":25,"paddle\u66ff\u6362\u6210":30,"paddle\u7684\u5404\u7248\u672c\u955c\u50cf\u53ef\u4ee5\u53c2\u8003":51,"paddle\u7684\u591a\u8bed\u8a00\u63a5\u53e3\u5b9e\u73b0\u5305\u62ec\u4e00\u4e0b\u51e0\u4e2a\u65b9\u9762":25,"paddle\u7684\u94fe\u63a5\u65b9\u5f0f\u6bd4\u8f83\u590d\u6742":25,"paddle\u7684dock":51,"paddle\u7684docker\u5f00\u53d1\u955c\u50cf\u5e26\u6709\u4e00\u4e2a\u901a\u8fc7":30,"paddle\u955c\u50cf":51,"paddle\u9700\u8981\u4e00\u4e2a\u591a\u8bed\u8a00\u63a5\u53e3":25,"paddle\u9759\u6001\u5e93\u94fe\u63a5\u590d\u6742":25,"paddlepaddle\u4e2d":[35,38],"paddlepaddle\u4e2d\u7684\u4e00\u4e2apass\u610f\u5473\u7740\u5bf9\u6570\u636e\u96c6\u4e2d\u7684\u6240\u6709\u6837\u672c\u8fdb\u884c\u4e00\u6b21\u8bad\u7ec3":64,"paddlepaddle\u4e2d\u7684\u8bb8\u591alayer\u5e76\u4e0d\u5728\u610f\u8f93\u5165\u662f\u5426\u662f\u65f6\u95f4\u5e8f\u5217":36,"paddlepaddle\u4e2d\u901a\u8fc7reader\u6765\u52a0\u8f7d\u6570\u636e":33,"paddlepaddle\u4e3a\u6df1\u5ea6\u5b66\u4e60\u7814\u7a76\u4eba\u5458\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684api":33,"paddlepaddle\u4f1a\u5728\u8c03\u7528\u8bfb\u53d6\u6570\u636e\u7684python\u811a\u672c\u4e4b\u524d":60,"paddlepaddle\u4f7f\u7528\u5747\u503c0":27,"paddlepaddle\u4f7f\u7528avx":27,"paddlepaddle\u4f7f\u7528swig\u5bf9\u5e38\u7528\u7684\u9884\u6d4b\u63a5\u53e3\u8fdb\u884c\u4e86\u5c01\u88c5":5,"paddlepaddle\u4fdd\u7559\u6dfb\u52a0\u53c2\u6570\u7684\u6743\u529b":3,"paddlepaddle\u5148\u4ece\u4e00\u4e2a\u6587\u4ef6\u5217\u8868\u91cc\u83b7\u5f97\u6570\u636e\u6587\u4ef6\u5730\u5740":28,"paddlepaddle\u53d1\u5e03\u65b0\u7248\u672c\u7684\u65f6\u5019\u90fd\u4f1a\u53d1\u5e03\u5bf9\u5e94\u7248\u672c\u7684\u751f\u4ea7\u955c\u50cf\u4ee5\u53ca\u5f00\u53d1\u955c\u50cf":30,"paddlepaddle\u53ef\u4ee5\u4f7f\u7528cudnn":29,"paddlepaddle\u53ef\u4ee5\u6267\u884c\u7528\u6237\u7684python\u811a\u672c\u7a0b\u5e8f\u6765\u8bfb\u53d6\u5404\u79cd\u683c\u5f0f\u7684\u6570\u636e\u6587\u4ef6":60,"paddlepaddle\u53ef\u4ee5\u6bd4\u8f83\u7b80\u5355\u7684\u5224\u65ad\u54ea\u4e9b\u8f93\u51fa\u662f\u5e94\u8be5\u8de8\u8d8a\u65f6\u95f4\u6b65\u7684":36,"paddlepaddle\u53ef\u4ee5\u901a\u8fc7\u8be5\u673a\u5236\u5224\u65ad\u662f\u5426\u5df2\u7ecf\u6536\u96c6\u9f50\u6240\u6709\u7684\u68af\u5ea6":41,"paddlepaddle\u5728\u5b9e\u73b0rnn\u7684\u65f6\u5019":36,"paddlepaddle\u5b58\u7684\u662f\u6709\u503c\u4f4d\u7f6e\u7684\u7d22\u5f15":[3,33],"paddlepaddle\u5b9a\u4e49\u7684\u53c2\u6570":3,"paddlepaddle\u5c06\u4ee5\u8bbe\u7f6e\u53c2\u6570\u7684\u65b9\u5f0f\u6765\u8bbe\u7f6e":60,"paddlepaddle\u5c06\u5728\u89c2\u6d4b\u6570\u636e\u96c6\u4e0a\u8fed\u4ee3\u8bad\u7ec330\u8f6e":28,"paddlepaddle\u5c06\u6bcf\u4e2a\u6a21\u578b\u53c2\u6570\u4f5c\u4e3a\u4e00\u4e2anumpy\u6570\u7ec4\u5355\u72ec\u5b58\u4e3a\u4e00\u4e2a\u6587\u4ef6":28,"paddlepaddle\u5c06train":3,"paddlepaddle\u5f00\u53d1\u955c\u50cf\u5c31\u88ab\u6784\u5efa\u5b8c\u6bd5\u4e86":30,"paddlepaddle\u63d0\u4f9b\u4e86\u5f88\u591a\u4f18\u79c0\u7684\u5b66\u4e60\u7b97\u6cd5":28,"paddlepaddle\u63d0\u4f9b\u4e86ubuntu":32,"paddlepaddle\u63d0\u4f9b\u6570\u4e2a\u9884\u7f16\u8bd1\u7684\u4e8c\u8fdb\u5236\u6765\u8fdb\u884c\u5b89\u88c5":31,"paddlepaddle\u652f\u6301\u4e0d\u540c\u7c7b\u578b\u7684\u8f93\u5165\u6570\u636e":33,"paddlepaddle\u652f\u6301\u4ee5\u4e0b\u4efb\u610f\u4e00\u79cdblas\u5e93":29,"paddlepaddle\u652f\u6301\u5927\u91cf\u7684\u8ba1\u7b97\u5355\u5143\u548c\u4efb\u610f\u6df1\u5ea6\u7684\u7f51\u7edc\u8fde\u63a5":28,"paddlepaddle\u652f\u6301\u975e\u5e38\u591a\u7684\u4f18\u5316\u7b97\u6cd5":27,"paddlepaddle\u652f\u6301sparse\u7684\u8bad\u7ec3":27,"paddlepaddle\u662f\u4e00\u4e2a\u6700\u65e9\u7531\u767e\u5ea6\u79d1\u5b66\u5bb6\u548c\u5de5\u7a0b\u5e08\u5171\u540c\u7814\u53d1\u7684\u5e76\u884c\u5206\u5e03\u5f0f\u6df1\u5ea6\u5b66\u4e60\u5e73\u53f0":0,"paddlepaddle\u662f\u6e90\u4e8e\u767e\u5ea6\u7684\u4e00\u4e2a\u6df1\u5ea6\u5b66\u4e60\u5e73\u53f0":[28,33],"paddlepaddle\u6bcf\u6b21\u53d1\u5e03\u65b0\u7248\u672c\u90fd\u4f1a\u53d1\u5e03\u5bf9\u5e94\u7684\u5f00\u53d1\u955c\u50cf\u4f9b\u5f00\u53d1\u8005\u76f4\u63a5\u4f7f\u7528":30,"paddlepaddle\u7684\u5185\u5b58\u5360\u7528\u4e3b\u8981\u5206\u4e3a\u5982\u4e0b\u51e0\u4e2a\u65b9\u9762":27,"paddlepaddle\u7684\u53c2\u6570\u4f7f\u7528\u540d\u5b57":27,"paddlepaddle\u7684\u6570\u636e\u5305\u62ec\u56db\u79cd\u4e3b\u8981\u7c7b\u578b":3,"paddlepaddle\u7684\u6587\u6863\u5305\u62ec\u82f1\u6587\u6587\u6863":42,"paddlepaddle\u7684\u6587\u6863\u6784\u5efa\u6709\u76f4\u63a5\u6784\u5efa\u548c\u57fa\u4e8edocker\u6784\u5efa\u4e24\u79cd\u65b9\u5f0f":42,"paddlepaddle\u7684\u6e90\u7801":40,"paddlepaddle\u7684\u7f16\u8bd1\u9009\u9879":31,"paddlepaddle\u7684bas":41,"paddlepaddle\u7684docker\u5bb9\u5668\u4f7f\u7528\u65b9\u5f0f":31,"paddlepaddle\u76ee\u524d\u53ea\u652f\u6301\u5728\u6bcf\u4e2a\u65f6\u95f4\u6b65\u4e2d":36,"paddlepaddle\u76ee\u524d\u552f\u4e00\u5b98\u65b9\u652f\u6301\u7684\u8fd0\u884c\u7684\u65b9\u5f0f\u662fdocker\u5bb9\u5668":30,"paddlepaddle\u76ee\u524d\u5df2\u7ecf\u5f00\u653e\u6e90\u7801":0,"paddlepaddle\u76ee\u524d\u63d0\u4f9b\u4e24\u79cd\u53c2\u6570\u521d\u59cb\u5316\u7684\u65b9\u5f0f":27,"paddlepaddle\u8c03\u7528process\u51fd\u6570\u6765\u8bfb\u53d6\u6570\u636e":60,"paddlepaddle\u8d1f\u8d23\u5b8c\u6210\u4fe1\u606f\u548c\u68af\u5ea6\u5728\u65f6\u95f4\u5e8f\u5217\u4e0a\u7684\u4f20\u64ad":38,"paddlepaddle\u8d1f\u8d23\u5b8c\u6210\u4fe1\u606f\u548c\u8bef\u5dee\u5728\u65f6\u95f4\u5e8f\u5217\u4e0a\u7684\u4f20\u64ad":38,"paddlepaddle\u955c\u50cf\u9700\u8981\u63d0\u4f9b":52,"paddlepaddle\u9700\u8981\u7528\u6237\u5728\u7f51\u7edc\u914d\u7f6e":2,"paddlepaddle\u9700\u8981\u7684\u6240\u6709\u7f16\u8bd1\u5de5\u5177":30,"pass\u4e2a\u6a21\u578b\u5230\u7b2c":47,"pass\u5230":65,"pass\u5c06\u4e0d\u8d77\u4f5c\u7528":47,"pass\u8f6e\u5f00\u59cb\u8bad\u7ec3":47,"pass\u8f6e\u7684\u6a21\u578b\u7528\u4e8e\u6d4b\u8bd5":47,"passes\u8f6e":47,"path\u6307\u5b9a\u6d4b\u8bd5\u7684\u6a21\u578b":49,"period\u4e2a\u6279\u6b21\u5bf9\u6240\u6709\u6d4b\u8bd5\u6570\u636e\u8fdb\u884c\u6d4b\u8bd5":47,"period\u4e2a\u6279\u6b21\u6253\u5370\u65e5\u5fd7\u8fdb\u5ea6":47,"period\u4e2a\u6279\u6b21\u8f93\u51fa\u53c2\u6570\u7edf\u8ba1":47,"period\u4e2a\u6279\u6b21\u8f93\u51fa\u7b26\u53f7":47,"period\u4e2abatch\u5904\u7406\u7684\u5f53\u524d\u635f\u5931":64,"period\u4e2abatch\u7684\u5206\u7c7b\u9519\u8bef":64,"period\u6574\u9664":47,"period\u8f6e\u4fdd\u5b58\u8bad\u7ec3\u53c2\u6570":47,"pod\u4e2d\u7684\u5bb9\u5668\u5171\u4eabnet":50,"pod\u662fkubernetes\u7684\u6700\u5c0f\u8c03\u5ea6\u5355\u5143":50,"pooling\u5bf9\u7279\u5f81\u56fe\u4e0b\u91c7\u6837":57,"process\u51fd\u6570\u4f1a\u7528yield\u8bed\u53e5\u8f93\u51fa\u8fd9\u6761\u6570\u636e":60,"prod\u7684\u751f\u4ea7\u955c\u50cf":30,"public":[20,41,51,64],"py_paddle\u91cc\u9762\u63d0\u4f9b\u4e86\u4e00\u4e2a\u5de5\u5177\u7c7b":5,"pydataprovider2\u4f1a\u5c3d\u53ef\u80fd\u591a\u7684\u4f7f\u7528\u5185\u5b58":3,"pydataprovider2\u63d0\u4f9b\u4e86\u4e24\u79cd\u7b80\u5355\u7684cache\u7b56\u7565":3,"pydataprovider2\u662fpaddlepaddle\u4f7f\u7528python\u63d0\u4f9b\u6570\u636e\u7684\u63a8\u8350\u63a5\u53e3":3,"pydataprovider2\u7684\u4f7f\u7528":[2,4,27,39,60,62],"pydataprovider\u4f7f\u7528\u7684\u662f\u5f02\u6b65\u52a0\u8f7d":27,"python\u4ee3\u7801\u5c06\u968f\u673a\u4ea7\u751f2000\u4e2a\u89c2\u6d4b\u70b9":28,"python\u53ef\u4ee5\u89e3\u9664\u6389\u5185\u90e8\u53d8\u91cf\u7684\u5f15\u7528":3,"python\u5c01\u88c5\u7684\u5b9e\u73b0\u4f7f\u5f97\u6211\u4eec\u53ef\u4ee5\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u4f7f\u7528\u65b0\u5b9e\u73b0\u7684\u7f51\u7edc\u5c42":41,"query\u6539\u5199":65,"rate\u4e3a0":65,"rate\u4e3a5":65,"rate\u88ab\u8bbe\u7f6e\u4e3a0":57,"recommendation\u6587\u4ef6\u5939\u5185\u5b58\u653e\u8bad\u7ec3\u6587\u4ef6":52,"repo\u7684\u6839\u76ee\u5f55":30,"research\u5b9e\u9a8c\u5ba4\u641c\u96c6\u6574\u7406":61,"resnet\u6a21\u578b":59,"return":[3,10,11,16,17,19,20,22,23,28,33,36,39,41,52,58,60,62],"rnn\u5373\u65f6\u95f4\u9012\u5f52\u795e\u7ecf\u7f51\u7edc":36,"rnn\u5bf9\u4e8e\u6bcf\u4e00\u4e2a\u65f6\u95f4\u6b65\u901a\u8fc7\u4e86\u4e00\u4e2alstm\u7f51\u7edc":36,"rnn\u603b\u662f\u5f15\u7528\u4e0a\u4e00\u65f6\u523b\u9884\u6d4b\u51fa\u7684\u8bcd\u7684\u8bcd\u5411\u91cf":38,"rnn\u6a21\u578b":60,"rnn\u76f8\u5173\u6a21\u578b":43,"search\u7684\u65b9\u6cd5":47,"sentences\u662f\u53cc\u5c42\u65f6\u95f4\u5e8f\u5217\u7684\u6570\u636e":36,"seq\u53c2\u6570\u5fc5\u987b\u4e3afals":38,"server\u4e2a\u6279\u6b21\u6253\u5370\u65e5\u5fd7\u8fdb\u5ea6":47,"sh\u6765\u8bad\u7ec3\u6a21\u578b":57,"sh\u8c03\u7528\u4e86":58,"short":[10,11,16,17],"simd\u6307\u4ee4\u63d0\u9ad8cpu\u6267\u884c\u6548\u7387":27,"size\u4e3a1":65,"size\u4e3a50":65,"size\u4e3a512":47,"size\u53ef\u80fd\u4f1a\u5bf9\u8bad\u7ec3\u7ed3\u679c\u4ea7\u751f\u5f71\u54cd":27,"size\u5927\u5c0f\u4e3a128":64,"size\u662f3":65,"size\u672c\u8eab\u662f\u795e\u7ecf\u7f51\u7edc\u7684\u8d85\u53c2\u6570":27,"size\u7684\u503c":3,"softmax\u5c42":56,"softmax\u6fc0\u6d3b\u7684\u8f93\u51fa\u7684\u548c\u603b\u662f1":41,"sparse\u8bad\u7ec3\u9700\u8981\u8bad\u7ec3\u7279\u5f81\u662f":27,"srl\u4f5c\u4e3a\u5f88\u591a\u81ea\u7136\u8bed\u8a00\u5904\u7406\u4efb\u52a1\u4e2d\u7684\u4e2d\u95f4\u6b65\u9aa4\u662f\u5f88\u6709\u7528\u7684":63,"ssh\u65b9\u5f0f\u7684\u4e00\u4e2a\u4f18\u70b9\u662f\u6211\u4eec\u53ef\u4ee5\u4ece\u591a\u4e2a\u7ec8\u7aef\u8fdb\u5165\u5bb9\u5668":30,"ssh\u8fdb\u5165\u5bb9\u5668":30,"static":10,"step\u51fd\u6570\u4e2d\u7684memori":38,"step\u51fd\u6570\u5185\u90e8\u53ef\u4ee5\u81ea\u7531\u7ec4\u5408paddlepaddle\u652f\u6301\u7684\u5404\u79cdlay":38,"subseq\u7684\u6bcf\u4e2a\u5143\u7d20\u662f\u4e00\u4e2a0\u5c42\u5e8f\u5217":35,"super":41,"swig\u652f\u6301\u7684\u8bed\u8a00\u6216\u8005\u89e3\u91ca\u5668\u6709\u5c40\u9650":25,"swig\u66b4\u9732\u7684\u63a5\u53e3\u4fdd\u7559\u4e86c":25,"swig\u751f\u6210\u7684\u4ee3\u7801\u4e0d\u80fd\u4fdd\u8bc1\u591a\u8bed\u8a00\u4ee3\u7801\u98ce\u683c\u7684\u4e00\u81f4\u6027":25,"swig\u76f4\u63a5\u8bfb\u53d6c":25,"swig\u9700\u8981\u5199\u4e00\u4e2ainterface\u6587\u4ef6":25,"swig_paddle\u4e2d\u7684\u9884\u6d4b\u63a5\u53e3\u7684\u53c2\u6570\u662f\u81ea\u5b9a\u4e49\u7684c":5,"t\u6307\u5b9a\u4e86\u751f\u6210\u7684\u955c\u50cf\u7684\u540d\u5b57":30,"test\u548cgen\u8fd9\u4e09\u4e2a\u6587\u4ef6\u5939\u662f\u56fa\u5b9a\u7684":65,"tests\u7684paddlepaddl":40,"tflops\u4e86":44,"trainer\u63a5\u6536\u4e09\u4e2a\u53c2\u6570":33,"true":[7,9,10,11,12,15,16,17,19,20,22,23,26,27,36,39,41,49,52,58,62,63,64,65],"true\u8868\u793a\u53cd\u5411\u5faa\u73af\u795e\u7ecf\u7f51\u7edc":39,"try":[12,18,24,26,27,62],"type\u662fon":62,"ubuntu\u7684deb\u5b89\u88c5\u5305\u7b49":31,"ubuntu\u90e8\u7f72paddlepaddl":31,"update\u53c2\u6570\u65f6\u624d\u6709\u6548":47,"utf8\u7f16\u7801":56,"uts\u7b49linux":50,"v2\u4e4b\u540e\u7684\u4efb\u4f55\u4e00\u4e2a\u7248\u672c\u6765\u7f16\u8bd1\u8fd0\u884c":29,"vocab\u4e2d\u6bcf\u4e2a\u5207\u5206\u5355\u8bcd\u7684\u9884\u671f\u8bc4\u7ea7":64,"vocab\u505a\u4e3a\u5b57\u5178":64,"void":[25,41],"volume\u6302\u8f7d\u5230\u5bb9\u5668\u4e2d":50,"w0\u548c":58,"wbias\u662f\u9700\u8981\u5b66\u4e60\u7684\u53c2\u6570":58,"while":[7,9,15,20,26,52,65],"words\u5373\u4e3a\u8fd9\u4e2a\u6570\u636e\u4e2d\u7684\u5355\u5c42\u65f6\u95f4\u5e8f\u5217":36,"words\u662f\u539f\u59cb\u6570\u636e\u4e2d\u7684\u6bcf\u4e00\u53e5\u8bdd":36,"x\u4e0ey\u4e3a\u4e4b\u524d\u63cf\u8ff0\u7684\u8f93\u5165\u5c42":33,"x\u548cwindow":30,"x\u548cwindows\u4e0a\u7684\u786c\u4ef6\u8d44\u6e90":30,"y\u8868\u793a\u8f93\u5165\u6570\u636e\u662f\u4e00\u4e2a\u7ef4\u5ea6\u4e3a1\u7684\u7a20\u5bc6\u5411\u91cf":33,"yaml\u6587\u4ef6\u4e2d\u5404\u4e2a\u5b57\u6bb5\u7684\u5177\u4f53\u542b\u4e49":52,"yaml\u6587\u4ef6\u63cf\u8ff0\u4e86\u8fd9\u6b21\u8bad\u7ec3\u4f7f\u7528\u7684docker\u955c\u50cf":52,"zero\u4e09\u79cd\u64cd\u4f5c":47,AGE:51,AWS:[50,53,54],Abs:6,And:[9,10,12,16,18,20,26],But:[10,11,16,17,27],EOS:[10,16],For:[5,8,9,10,12,16,18,20,23,26,32,44],IDs:20,NFS:50,Not:[23,24],One:[9,10,11,17,22],QoS:51,TLS:23,That:[10,16,20,26],The:[3,7,8,9,10,11,12,14,15,16,17,18,20,22,23,24,26,41,52,60,62,63,65],Their:[10,16,24],Then:[10,16,62],There:[9,10,16,20,22,23,24],Use:[23,26],Used:[11,17],Using:64,Will:[20,22],With:[10,11,16,17],Yes:30,___embedding_0__:52,___embedding_1__:52,__init__:41,__list_to_map__:62,__main__:[5,58],__meta__:62,__mse_cost_0__:52,__name__:[5,58],__rnn_step__:39,_link:[11,17],_proj:[10,16],_recurrent_group:39,_res2_1_branch1_bn:58,_source_language_embed:[39,56],_target_language_embed:[39,56],abc:[10,16],abl:[10,16,23],about:[10,11,16,17,63,65],abov:[3,10,16,23,24,44],abs:[11,17],accept:[20,23,26,63],access:[10,11,16,17,23],accord:[9,10,16],accrod:[11,17],accumul:24,accuraci:9,acl:64,aclimdb:64,across:[10,16],act:[10,11,16,17,27,28,33,36,39],act_typ:60,activ:[4,10,11,16,17,21,33,60],activi:[11,17],actual:[10,16],adadelta:[12,27,60],adagrad:[12,60],adam:[12,23,60,64],adamax:12,adamoptim:[56,60,64,65],adapt:[9,12,18],add:[10,11,16,17,20,40,62],add_input:41,add_test:41,add_to:[10,16],add_unittest_without_exec:41,addbia:41,added:[9,40],addit:[10,11,16,17],address:24,addrow:41,addto:10,addtolay:[10,16],adversari:26,affect:[10,16],afi:3,after:[10,16,20],again:[23,24],age:[20,52,62],agg_level:[10,16,35,36],aggregatelevel:[10,16,35,36],aircraft:65,airplan:57,aistat:[10,16],alex:[10,16,64],alexnet_pass1:49,alexnet_pass2:49,algo_hrnn_demo:36,algorithm:[10,12,16,18,56,64,65],align:[10,11,16,17,20,65],all:[3,7,9,10,12,15,16,18,23,24,38,52,62,63,64],alloc:[7,15],allow:[23,60],allow_only_one_model_on_one_gpu:[46,47,49],almost:[11,17],alreadi:[24,27,32],also:[9,10,11,16,17,20,23,26,44,60],alwai:[10,11,16,17,22,26,52],amazon:51,ambigu:26,amd64:50,analysi:[63,64],ani:[10,11,16,17,20,23,24,26],annot:63,annual:63,anoth:[10,16,23],anyth:[20,26,63],api:[20,22,23,44,52,55,64],api_pydataprovider2_sequential_model:8,api_trainer_config:62,apiserv:50,apivers:[50,51,52],apo:65,append:[3,22,26,36,39,52,62],append_gradient_machin:22,appleyard:44,appli:[10,11,16,17],applic:[44,51],approach:[10,16,60],apt:[32,57],arbitrari:[10,16],architectur:65,archiv:[20,25],arg:[3,8,9,10,11,12,16,17,20,27,28,52,57,58,60,62,63,64],arg_nam:[10,16],argpars:52,args_ext:52,argument:[3,8,10,16,20,52,60,62,63],argumentpars:52,argv:58,around:[3,10,16],arrai:[5,10,16,20,22,26,33,58],articl:40,arxiv:[10,11,16,17,64],ask:24,assert:5,assign:[10,16],associ:63,assum:[10,16],astyp:26,async:[12,24,46],async_count:[46,47],async_lagged_grad_discard_ratio:47,async_lagged_ratio_default:[46,47],async_lagged_ratio_min:[46,47],asynchron:24,atla:29,atlas_root:29,attenion:[11,17],attent:[10,11,16,17,65],attr:[7,11,15,16,17],attribut:[4,10,11,16,17,21],auc:[9,46],author:50,authorized_kei:45,auto:[25,41,44],automat:[10,16,23,65],automaticli:[10,16],automobil:57,avail:24,averag:[9,10,12,16,19,63],average_test_period:[46,47,63],averagepool:[10,16],avg:[13,35,44,60],avgcost:[9,60,62,64,65],avgpool:[10,16,60],avoid:[24,44],avx:30,await:51,awar:[23,24],azur:50,b2t:56,b363:51,b8561f5c79193550d64fa47418a9e67ebdd71546186e840f88de5026b8097465:51,back:24,backward:[10,11,14,16,17,41],backward_first:39,backwardactiv:41,bag:60,baidu:[10,16,51],balasubramanyan:64,bank:63,bardward:[11,17],bare:[50,51],barrierstatset:44,base:[6,12,16,17,19,20,23],baseactiv:[10,11,16],baseev:22,basematrix:41,basenam:9,basepool:13,basepoolingtyp:[10,11,16,17],baseregular:12,basestr:[7,8,9,10,11,15,16,17,19,22,62],bash:[30,40,42,51,52],basic:[10,16,22],batch:[9,10,11,12,16,17,18,20,22,23,24,28,33,45,51,52,57,58,60,62,64,65],batch_0:58,batch_id:[22,33],batch_norm:[10,17],batch_norm_lay:11,batch_norm_typ:[10,16],batch_read:26,batch_siz:[12,20,22,27,28,33,45,56,57,60,62,64,65],batchsiz:[10,16,41],bcd:[10,16],bcebo:20,beam:[10,16,39,65],beam_gen:[10,16,39],beam_search:[22,38,39],beam_siz:[10,16,39,46,47,49],beamsiz:65,becaus:[10,16,20,23,24,26,36],been:63,befor:[10,11,16,17,24,26,27,62],begin:[9,10,16],beginiter:[22,23],beginn:39,beginpass:[22,23],begintrain:23,being:[24,26],belong:[10,16],below:[10,16,20,24,26],benefit:[11,17],bengio:[10,16],bertolami:64,besid:[10,16,20],best:[8,10,16,62],best_model_path:63,besteffort:51,beta1:[12,18],beta2:[12,18],beta:58,better:[10,11,16,17],between:[10,12,16,18,24,65],bgr:58,bi_lstm:[11,17],bia:[10,11,12,16,17,18,41,58],bias:[10,16],bias_attr:[10,11,16,17,27,28,36,39],bias_param:27,bias_param_attr:[11,17],biases_:41,biasparameter_:41,biassiz:41,bidi:51,bidirect:[11,17,63,64],bidirectional_lstm_net:64,bigger:24,bilinear:[10,16],bilinear_interpol:[10,16],bilinearfwdbwd:44,bin:[30,32,45,50,51,52,62],binari:[9,10,16,20,60],bird:57,bitext:65,blank:[10,16],bleu:65,block:[10,16],block_expand:10,block_i:[10,16],block_x:[10,16],bn_attr:17,bn_bias_attr:[11,17],bn_layer_attr:11,bn_param_attr:[11,17],bollen:64,book:20,bool:[7,9,10,11,12,15,16,17,19,20,41,47,49,60,62,64],boot:[10,16,38,39],boot_bia:[10,16],boot_bias_active_typ:[10,16],boot_lay:[10,16,36,39],boot_with_const_id:[10,16],bos_id:[10,16,39],both:[7,10,11,14,15,16,17,23,24],bottom:60,bow:60,branch:[10,16,23,40],brelu:6,brendan:64,broadcast:24,broken:40,browser:30,bryan:64,buf_siz:20,buffer:[20,26],buffered_read:26,bug:40,build:[20,30,40,52,53,54,65],build_dict:20,build_doc:42,built:44,bunk:64,c11:25,c703c041:40,cach:[27,60,62,63],cache_pass_in_mem:[3,27,60,62,63],cachetyp:[3,27,60,62,63],calc_batch_s:[3,63],calcul:[9,10,11,12,16,17,18,24],call:[10,11,16,17,23,44,52,60],callabl:[10,16,20],callback:41,calrnn:36,caltech:57,can:[7,8,9,10,11,15,16,17,20,23,24,26,44,60],can_over_batch_s:[3,63],candid:[10,16],caption:65,card:45,care:[11,17,26],cat:[30,52,57,58,64],categori:[10,16,20,24,60],categorig:20,categoryfil:51,caus:24,ccb2_pc30:65,cde:[10,16],cdn:20,ceil:[10,16],ceil_mod:[10,16],cell:[10,11,16,17],ceph:50,certif:[23,50],cffi:25,cfg:51,cgo:25,chain:20,challeng:24,chanc:23,chang:[10,16,20,26,40,64],channel:[10,16,44],char_bas:62,check:[3,20,27,32,40,41,47],check_align:20,check_eq:41,check_fail_continu:3,check_l:41,check_sparse_distribution_batch:[46,47],check_sparse_distribution_in_pserv:[46,47],check_sparse_distribution_ratio:[46,47],check_sparse_distribution_unbalance_degre:[46,47],checkgrad:47,checkgrad_ep:47,checkout:40,chunk:9,chunk_schem:9,chunktyp:9,cifar:57,cifar_vgg_model:57,claimnam:52,clang:[25,30,40],class1:64,class2:64,class_dim:64,classic:[10,16],classif:[10,16,60,64,65],classifi:[9,58],classification_cost:[27,36,57,60],classification_error_evalu:[60,64,65],classification_threshold:9,clean:[27,40],client:50,clip:[7,12,15,47,60],clock:[10,16],clone:30,close:[3,26,40],cloud:24,cluster:[23,24,45,50,52],cluster_train:45,cmake:[27,29,40,42,44],cmakelist:41,cna:[10,16],cnn:[51,60],code:[3,5,20,23,26,30,41,51,62],coded_stream:27,codedinputstream:27,coeff:[10,16],coeffici:[10,16],collabor:24,collect:[10,16,20,22],collectbia:41,color:[57,58],colour:20,column:[9,10,16,26],com:[10,11,16,17,20,30,32,40,50,51,58],combin:[10,11,16,17,20,22,62],command:[41,49,51,52,53,54],commandlin:[44,52],comment:[11,17,36,52,60],commit:51,common_util:[45,62],commun:24,compil:32,complet:[10,11,16,17,20,22,24,51,52],complex:[11,17,26],complic:[10,16],compos:[20,23],composenotalign:20,comput:[10,11,16,17,23,24,63,64],conat:16,conat_lay:10,concat:[10,65],concat_lay:39,concaten:[11,17],concept:23,concern:23,concurr:24,condit:[10,16,51],conf:[5,10,16,27,36,45,52,56,58,65],conf_paddle_gradient_num:52,conf_paddle_n:52,conf_paddle_port:52,conf_paddle_ports_num:52,conf_paddle_ports_num_spars:52,config:[7,10,11,15,16,17,28,33,41,45,46,47,49,50,51,52,57,60,62,63,64,65],config_:47,config_arg:[46,47,49,58,60,63,64],config_bas:[16,17,22],config_fil:63,config_gener:[45,62],config_lay:41,config_pars:[5,41],configprotostr:27,configur:[8,10,16,41,56,58,65],conflict:40,confront:65,conll05st:63,conll:[20,63],connect:[11,17,51,60],connectionist:[10,16,64],connor:64,consequ:[10,11,16,17],consid:[9,10,12,16,18],consider:[11,17],consist:[10,16,20,26],construct:[23,62],construct_featur:62,consum:24,contact:24,contain:[3,8,9,10,11,16,17,19,20,22,23,51,52,60],context:[3,10,11,16,17,20,39,50],context_attr:[11,17],context_len:[10,11,16,17,60,62],context_proj_layer_nam:11,context_proj_nam:17,context_proj_param_attr:[11,17],context_project:[11,17,62],context_start:[10,11,16,17,60],continu:24,contrast:[10,16],control:[7,15,51,65],conv:[11,17],conv_act:[11,17],conv_attr:17,conv_batchnorm_drop_r:[11,17],conv_bias_attr:[11,17],conv_filter_s:[11,17],conv_layer_attr:11,conv_num_filt:[11,17],conv_op:[10,16],conv_pad:[11,17],conv_param_attr:[11,17],conv_shift:10,conv_strid:[11,17],conv_with_batchnorm:[11,17],conveni:23,convert:[3,5,20,26,60,62],convlay:[10,16],convolut:[10,11,16,17],convoper:[10,16],convtran:[10,16],convtranslay:[10,16],cool:40,copi:[22,23,62],core:[7,15],corpora:65,corpu:[20,63],correct:[9,10,16],correctli:[9,20],correspoind:23,correspond:23,corss_entropi:23,cos:[10,16],cos_sim:62,cosin:[10,16],cost:[12,18,22,23,28,33,62,64,65],cost_id:[10,16],could:[9,10,16,20,22,23,26],couldn:32,count:[24,26,44,47,49,51,62,63,64,65],counter:24,cpickl:62,cpp:[25,27,36,41,44,52,60,62,65],cpu:[3,7,10,15,16,30,32,44,49,51,52,63],cpuinfo:30,crash:[24,44],creat:[7,10,15,16,20,22,23,24,33,40,41,51,52],create_bias_paramet:41,create_input_paramet:41,createfromconfigproto:5,creator:20,cretor:20,crf:[10,63],crf_decod:10,critic:64,crlf:40,crop:58,crop_siz:58,cross:[10,16,27,60],cross_entropi:[16,23],cross_entropy_with_selfnorm:16,crt:50,csc:41,cslm:65,csr:41,ctc:10,ctc_layer:9,ctest:[30,40],ctrl:[45,62],ctx:63,ctx_0:63,ctx_0_slot:63,ctx_n1:63,ctx_n1_slot:63,ctx_n2:63,ctx_n2_slot:63,ctx_p1:63,ctx_p1_slot:63,ctx_p2:63,ctx_p2_slot:63,cub:57,cuda:[32,44,45,47],cuda_dir:[46,47],cuda_so:[27,30],cuda_visible_devic:27,cudaconfigurecal:44,cudadevicegetattribut:44,cudaeventcr:44,cudaeventcreatewithflag:44,cudafre:44,cudagetdevic:44,cudagetdevicecount:44,cudagetdeviceproperti:44,cudagetlasterror:44,cudahostalloc:44,cudalaunch:44,cudamalloc:44,cudamemcpi:44,cudaprofilerstart:44,cudaprofilerstop:44,cudaprofilestop:44,cudaruntimegetvers:44,cudasetdevic:44,cudasetupargu:44,cudastreamcr:44,cudastreamcreatewithflag:44,cudastreamsynchron:44,cudeviceget:44,cudevicegetattribut:44,cudevicegetcount:44,cudevicegetnam:44,cudevicetotalmem:44,cudnn:[10,16,19],cudnn_batch_norm:[10,16],cudnn_conv:[10,16],cudnn_conv_workspace_limit_in_mb:[46,47],cudnn_convt:[10,16],cudnn_dir:[46,47],cudnnv5:29,cudrivergetvers:44,cuinit:44,cumul:[10,16],curl:50,current:[3,10,12,16,24,50,60],current_word:39,currentcost:[9,60,62,64,65],currentev:[9,60,62,64,65],curv:23,custom:23,custom_batch_read:26,cutoff:20,cycl:24,cyclic:[10,16],cython:25,dalla:3,dan:63,darwin:50,dat:[20,45,62],data:[3,8,11,12,17,18,22,23,24,27,32,33,36,45,46,51,52,53,56,57,58,60,62,63,64,65],data_config:5,data_dir:[56,57,64,65],data_feed:20,data_fil:28,data_initialz:60,data_lay:[3,9,27,28,36,39,57,60,62,63],data_nam:20,data_provid:8,data_read:[20,26],data_reader_creator_random_imag:26,data_sourc:8,data_typ:[16,20,33],databas:20,datadim:[10,16],datalay:[10,16],dataprovid:[2,8,27,28,39,45,52,60,62,63],dataprovider_:60,dataprovider_bow:60,dataprovider_emb:60,dataproviderconvert:5,datasci:[10,16],dataset:[26,33,58,60,61,64,65],datasourc:[4,62],date:63,db_lstm:63,dcudnn_root:29,dead:24,deb:[32,40],decai:[12,18],decid:[23,26],declar:[10,11,16],decod:[10,11,16,17,38,39,65],decoder_boot:39,decoder_group_nam:39,decoder_input:39,decoder_mem:39,decoder_prev:[11,17],decoder_s:39,decoder_st:[11,17,39],deconv:[10,16],deconvolut:[10,16],decor:[3,20],deep:[10,16,44,57,58],deer:57,def:[3,5,10,16,20,23,26,27,28,33,36,39,41,52,58,60,62,63],defalut:[10,16],default_decor:52,default_devic:49,default_valu:49,defin:[3,8,9,10,11,16,17,20,23,26,27,33,60,62],define_py_data_sources2:[3,8,27,28,57,58,60,62],defini:65,definit:[20,24,56],degre:[10,16],del:62,delar:60,delet:[24,40],delimit:[9,62],demand:24,demo:[5,10,16,20,39,45,51,53,56,57,58,60,62,64,65],dens:[10,16,20,62],dense_vector:[3,5,16,20,28,33,62],dense_vector_sequ:20,depend:24,deriv:[14,23],descent:[10,12,16,24],describ:[23,51,60],descript:52,deseri:22,design:[10,16,20,25],desir:[24,51],detail:[7,10,11,12,15,16,17,18],detect:[9,40],determin:[10,16,20],dev:[27,30,40,57,62,65],develop:[40,65],deviat:[7,15],devic:[7,15,27,30,49],deviceid:49,devid:[10,16],dez:64,dfs:11,dict:[3,8,20,22,27,36,52,60,62,64,65],dict_dim:[27,36,64],dict_fil:[9,36,39,60,63],dict_nam:8,dict_siz:20,dictionai:60,dictionari:[3,8,9,10,16,20,22,23,27,60,65],dictrionari:60,dictsiz:65,diff:40,differ:[8,9,10,16,24],digit:[10,16],dim:[20,41,56,64],dimens:[10,14,16,19,20,27,60],dimes:[10,16],din:62,dir:[45,52,58,62,63,64,65],direct:[10,11,16,17],directli:[11,17],directori:[40,44,51],disabl:27,discard:[20,24,40,47],discount:[10,16],discov:24,discuss:23,dispatch:24,disput:65,dist_train:23,distanc:9,distribut:[10,16,47,53,54],distribute_test:[46,47],disucss:23,divid:[12,18],diy_beam_search_prob_so:[46,47],dmkl_root:29,do_forward_backward:26,doc:[5,11,17,20,30,42,52],doc_cn:42,docker:[27,30,40,51,52,53,54],docker_build:23,docker_push:23,dockerfil:[30,40,52],dockerhub:30,document:[11,17],documentari:3,doe:[11,17,24,26],doesn:[7,10,15,16,20,23,26],dog:[57,58],don:[11,17,23,26],done:[10,11,16,17,24,44,52],dot:65,dot_period:[47,49,52,57,62,64,65],dotmuloper:[10,16],dotmulproject:[10,16],doubl:47,down:44,download:[20,24,51],download_cifar:57,doxygen:40,dpkg:32,dpython_execut:27,dpython_include_dir:27,dpython_librari:27,drop_rat:[7,15],dropout:[7,10,15,16],dropout_lay:10,dropout_r:[11,17],drwxr:51,dso_handl:32,dtoh:44,dtype:[5,28,58],dubai:65,due:62,dure:[3,10,16,24,60,65],dwith_gpu:29,dwith_profil:44,dwith_tim:44,dynam:[3,26],dynamic_cast:41,each:[3,9,10,16,19,20,22,24,26,60,62],each_feature_vector:14,each_meta:62,each_pixel_str:3,each_sequ:[10,16,35,36],each_time_step_output:14,each_timestep:[10,16,35],each_word:3,eaqual:[10,16],eas:[20,26],easi:26,easier:[23,26],easili:[23,26],ec2:50,echo:[27,30,62,64],edit:9,edu:[20,51,57],efg:[10,16],either:[10,16,20,22,23,60],electron:51,elem_dim:[10,16],element:[9,10,11,16,17,20,22,26],elif:[23,62],els:[10,16,23,30,36,41,58,60,62],emb1:36,emb2:36,emb:[27,36,51,60],emb_group:36,emb_sum:27,embed:[10,23,56,62,64],embedding_lay:[27,36,39,60,62],embedding_nam:39,embedding_s:39,empir:[10,16],emplace_back:41,empti:[9,20,24,28],enabl:[7,15,44],enable_grad_shar:[46,47],enable_parallel_vector:47,enc_proj:[11,17,39],enc_seq:[11,17],enc_vec:39,encod:[11,17,36,65],encoded_proj:[11,17,39],encoded_sequ:[11,17,39],encoded_vector:39,encoder1:36,encoder1_expand:36,encoder1_rep:36,encoder2:36,encoder2_rep:36,encoder_last:[10,16],encoder_proj:39,encoder_s:39,end:[9,10,16,26,39,40,63,64],end_pass:23,enditer:[22,23,33],endpass:[22,23],endtrain:23,english:[10,16,65],ensembl:[11,17],ensur:24,entir:[10,11,16,17],entri:20,entropi:[10,16,60],enumer:[10,14,27,60,62],enumerate_data_types_of_data_lay:20,env:[27,52],environ:[23,27,44,51],eol:40,eos:10,eos_id:[10,16,39],epsilon:[12,18],equal:[10,11,12,16,17,24,36],equat:[10,11,12,16,17,18],equival:[10,16,23],error:[7,9,10,12,15,16,18,23,27,47,60,62,64,65],error_clipping_threshold:[7,15],errorr:9,especi:[11,17],essenc:23,essenti:[10,16,23],estim:[10,16,23],eta:51,etc:[12,20,26,65],etcd:24,eth0:[45,52],eval:[9,60,62,64,65],eval_bleu:65,evalu:[4,10,16,22,44,45,62,64,65],evaluate_pass:64,evaluator_bas:9,even:[23,26],event:[33,51],event_handl:[22,23,33],everi:[9,10,11,16,17,20,23,24],exactli:[9,10,11,16,17],exampl:[8,9,10,11,12,16,17,18,20,22,26,58,60],exc_path:27,exceed:[10,16],except:[20,62],excluded_chunk_typ:9,exconv:[10,16],exconvt:[10,16],exdb:20,exe:50,exec:30,execut:24,exist:[23,24,26,64],exit:51,exp:6,expand:[10,36],expand_a:[10,16,35,36],expand_lay:36,expand_level:[10,16,35],expandconvlay:[10,16],expandlevel:[10,16,35],expect:[10,16],expir:24,explain:[9,24],explan:[10,16],explicit:41,explicitli:23,explor:[10,16],exponenti:14,express:23,extend:62,extens:12,extern:25,extra:[10,11,15,16,17],extra_input:16,extra_lay:22,extraattr:[7,15,49],extraattribut:[16,17],extraattributenon:16,extract:[10,16,56,58,63],extract_fea_c:58,extract_fea_pi:58,extralayerattribut:[7,10,11,15,16],extralayeroutput:11,extrapaddl:17,extrem:[10,16],f1205:27,f120da72:51,fa0wx:51,fabric:45,facotr:[10,16],factor:[7,10,12,15,16,18],factori:25,fail:[27,32,47,51],failur:24,fake_imag:26,fals:[7,9,10,11,12,15,16,17,18,20,26,27,28,33,36,39,41,49,51,56,60,62,63,64,65],false_label:26,false_read:26,faq:55,fast:[10,16,44],faster:[10,11,16,17],fbd1f2bb71f4:51,fc1:[41,49],fc2:49,fc3:49,fc4:49,fc_act:[11,17],fc_attr:[11,17],fc_bias_attr:[11,17],fc_layer:[16,27,28,36,49,60,62],fc_layer_nam:11,fc_mat:22,fc_name:17,fc_param:27,fc_param_attr:[11,17],fclayer:41,fdata:[36,63],fea:58,fea_output:58,feat:64,featur:[3,10,14,16,20,40,58,60,62,63],feature_a:27,feature_b:27,feature_map:62,feed:[11,17,20,22,23,33],feeder:20,fernan:64,festiv:3,fetch:[20,40],few:[24,26],fewer:[10,16],fg0:[10,16],field:[10,16,22,62],figur:[23,56,65],file1:65,file2:65,file:[3,9,10,16,20,22,23,24,26,40,58,60,61,62,64,65],file_list:3,file_nam:[28,36,58,60,63],filenam:[3,27,62],filer:[10,16],fill:[10,16,24,60],filter:[10,16],filter_s:[10,11,16,17],filter_size_i:[10,16],find:[10,12,16,18,24,32],fine:[7,15],finish:[24,51],first:[10,16,20,23,24,60,62],first_seq:39,firstn:20,firstseen:51,fit:20,fix:[7,15,25,40],flag:20,flexiabl:26,flexibl:[10,11,16,17,23],flight:65,float32:[5,20,26,28,58],floor:[10,16],fly:60,folder:65,follow:[9,10,11,12,16,17,18,20,23,24,26,53,54,62],forbid:23,force_load:25,forget:[12,18,23],form:[11,12,17,18],format:[9,40,41],former:23,formula:[10,11,16,17],formular:[10,16],forward:[11,14,17,41],forwardactiv:41,forwardtest:5,found:[10,16],frame:9,framework:[23,60],free:20,french:65,frequenc:20,frequent:26,frog:57,from:[3,5,10,11,16,17,20,22,24,26,27,28,30,38,44,51,56,57,60,62,63,64,65],from_sequ:35,from_timestep:[10,16,35],fromfil:[26,28,58],fulfil:44,full:[10,16,24],full_matrix_project:[11,17,36,39],fulli:60,fullmatrixproject:[10,16],fully_matrix_project:[11,17],fullyconnectedlay:41,func:[3,20],further:[10,16],fusion:62,gain:[10,16],gamma:58,gan:23,gate:[10,11,16,17],gate_act:[10,11,16,17,36],gate_recurr:[10,16],gather:[10,16,62],gauss:[7,15],gcc:[25,30],gce:50,gcepersistentdisk:50,gdebi:32,gen:[10,16,65],gen_conf:65,gen_data:65,gen_result:65,gen_trans_fil:39,gender:[20,52,62],gener:[3,9,10,11,16,17,20,22,23,24,26,44,49,52,56,60,65],generatedinput:[38,39],genr:[52,62],gereat:9,get:[3,10,11,16,17,20,22,32,41,51,57,60,62,63,64],get_batch_s:63,get_best_pass:64,get_config_arg:[49,60,62,64],get_data:[51,60,63],get_dict:20,get_embed:20,get_imdb:64,get_input_lay:41,get_model:58,get_movie_title_dict:20,get_output_attr:17,get_output_layer_attr:11,get_sample_from_lin:27,get_shap:22,get_word_dict:20,getbatchs:41,getenv:[23,52],gethostbynam:52,gethostnam:52,getidmap:52,getinput:41,getinputgrad:41,getinputvalu:41,getoutputgrad:41,getoutputvalu:41,getparameterptr:41,getpodlist:52,getsiz:41,gettranspos:41,getw:41,getweight:41,getwgrad:41,gildea:63,gist:[11,17],git:[30,40],github:[10,11,16,17,30,32,40,58],give:[3,24],given:[20,22,26,60],global:[7,12,15,23,24,44,62],global_learning_r:[7,15],globalstat:44,globalstatinfo:44,globe:3,glusterf:50,godoc:25,goe:[10,11,16,17,24],good:[10,16,26],goodfellow13:[10,16],googl:[23,27],googleapi:50,gpu:[7,10,12,15,16,19,27,30,32,44,49,58,63,64,65],gpu_id:[27,47,49],gpugpu_id:46,grab:24,grad:47,grad_share_block_num:[46,47],gradient:[7,9,10,12,15,16,18,22,24,47,52,60],gradient_clipping_threshold:[7,12,15,60,64],gradient_machin:22,gradientmachin:[5,22,52,62,65],gram:56,graph:[10,16,22,24],grave:64,greater:[10,16],grep:[30,64],groudtruth:39,ground:[9,10,16,65],group:[11,17],group_id:62,group_input:[36,39],grouplen:[20,61],gru:[10,16,60],gru_attr:17,gru_bias_attr:[11,17],gru_decod:39,gru_decoder_with_attent:39,gru_encoder_decod:[56,65],gru_layer_attr:11,gru_memori:[11,17],gru_siz:60,gru_step:[17,39],gru_step_lay:[11,39],grumemori:[11,17,39],gserver:[10,16,41],gsizex:44,guid:51,gur_group:[11,17],gzip:51,hadoop:23,handl:[23,26],handler:22,handwrit:64,harvest:60,has:[10,11,12,16,17,18,20,23,24,44,60,63],has_kei:22,hassubseq:36,have:[9,10,11,16,17,20,23,24,26],head:64,header:[28,58,62],height:[10,16,20,25,26,41],held:24,hello:23,help:[5,40],helper:[8,10,11,16,17],here:[7,10,11,15,16,17,20,23,26],heurist:[10,16,65],hidden:[10,11,16,17,27,62],hidden_a:27,hidden_b:27,hidden_dim:36,hidden_s:[11,17,62],hierach:38,hierarch:[10,16,36],high:[7,15],highest:20,highli:20,him:23,hint:5,hl_dso_load:32,hl_get_sync_flag:41,hold:[23,24],home:[45,51,52],hook2:36,hook:[36,62,63],horizont:[10,16],hors:57,horst:64,host:[45,51],hostnetwork:52,hostpath:[50,51,52],hot:60,hous:[3,20],how:[7,10,15,16,23,24],howardjohnson:36,howev:[11,17,26],howto:52,hpp:25,html:[20,42,57],htod:44,http:[10,11,16,17,20,30,32,40,50,51,57,58,61,65],huber:[10,16],huge:[10,16],huina:64,hyper:[10,16],hyperplan:20,i0601:62,i0706:65,i0719:65,i1116:52,i1117:44,ib0:45,ics:20,icwsm:64,id_input:[9,39],idea:[10,16,26],identityoffsetproject:[10,16],identityproject:[10,16],idmap:52,ids:[9,10,16,27,60,62],idx:41,ieee:64,ignor:[3,9,10,16],ijcnlp:64,illustr:24,ilsvrc:58,imag:[19,20,23,26,40,51,52,53,54,57,58,65],image_a:26,image_b:26,image_classif:57,image_fil:26,image_lay:26,image_list_provid:58,image_nam:23,image_path:26,image_provid:57,image_reader_cr:26,image_s:58,imagepullpolici:52,imageri:[10,16],images_reader_cr:26,imdber:64,img:[3,10,16,57],img_conv:17,img_conv_lay:11,img_norm_typ:10,img_pool:17,img_pool_lay:11,img_siz:57,imgsiz:44,imgsizei:44,imgsizex:44,immutable_paramet:23,implement:[10,11,12,16,17,18,20],importerror:62,inarg:5,inc_path:27,includ:[10,11,16,17,20,23,25,40,44],incorrect:[10,16],increas:[24,27],incupd:41,inde:[20,26],independ:[10,16],index:[9,10,16,19,20,22,24,36,42,62],indexslot:[10,16],indic:[9,10,16],industri:24,infer:[23,24],infiniband:45,info:[9,10,16,20,33,36,41,45,52],inform:[9,20],ininst:23,init:[7,15,33,41,52,62,63],init_hook:[36,60,62,63],init_hook_wrapp:8,init_model_path:[46,47,49,56,60,63],initi:[3,7,10,15,16,20,47,60],initial_max:[7,15,27],initial_mean:[7,10,15,16,27],initial_min:[7,15,27],initial_std:[7,10,15,16,27],initpaddl:5,inlcud:[11,17],inner:[27,36],inner_:36,inner_mem:36,inner_param_attr:[11,17],inner_rnn_output:36,inner_rnn_st:36,inner_rnn_state_:36,inner_step:36,inner_step_impl:36,input1:[10,11,16,17],input2:[10,16],input:[3,9,10,11,14,16,17,19,20,22,26,27,28,33,35,36,38,39,41,49,52,56,57,60,62,63,65],input_data:41,input_data_target:41,input_featur:14,input_fil:[28,63],input_hassub_sequence_data:41,input_id:[10,16],input_imag:[11,17,57],input_index:41,input_label:41,input_lay:[10,41],input_nam:23,input_sequence_data:41,input_sequence_label:41,input_sparse_float_value_data:41,input_sparse_non_value_data:41,input_t:41,input_typ:[27,28,36,39,60,62],inputdef:41,inputlayers_:41,inputtyp:20,insert:40,insid:[9,10,16,24,26],instal:[27,32,40,45,51,57,62],instanc:[10,12,16,24],instanti:24,instead:[10,16,19,26],int32:47,integ:[3,9,10,16,20,25,33,60],integer_sequ:27,integer_valu:[3,20,27,33,36,60],integer_value_sequ:[3,20,36,39,60,63],integer_value_sub_sequ:36,integr:63,inter:[10,16],intercept:[10,16],interfac:[7,10,11,15,16,17,45],intergr:[10,16],intern:[10,11,16,17,20,22],internet:24,interpol:10,interpret:9,introduc:24,invalid:26,invok:[3,10,16,22,44,62],iob:9,ioe:9,ip_str:52,ipc:50,ips:52,ipt:[10,16,27,36,39],ipython:23,is_async:12,is_gener:[10,16,56,65],is_kei:62,is_layer_typ:10,is_predict:[60,62,64],is_seq:[10,16,39,62],is_sequ:62,is_stat:[7,15],is_test:[58,63,64],is_train:3,isinst:[5,33],ispodallrun:52,isspars:41,item:[10,16,20,22,26,52],iter:[3,10,11,12,16,17,18,20,22,23,24,26],its:[3,9,10,11,16,17,23,24,32,44],itself:[11,17,24],java:25,jeremi:44,jie:[63,64],jmlr:[10,16],job:[9,20,45,46,47,49,50,52,58,60,63,64,65],job_dispatch_packag:45,job_id:20,job_mod:56,job_nam:52,job_namespac:52,job_path:52,job_path_output:52,job_workspac:45,jobnam:52,jobpath:52,jobselector:52,johan:64,join:[24,36],joint:65,jointli:[11,17,65],journal:[63,64],jpg:58,json:[45,51,62],jth:[11,17],jupyt:30,just:[9,10,11,14,16,17,20],jypyt:23,k8s:52,k8s_data:52,k8s_job:23,k8s_token:23,k8s_train:52,k8s_user:23,kaim:[10,16],kaimingh:58,kebilinearinterpbw:44,kebilinearinterpfw:44,keep:[10,16,24],kei:[3,20,22,24,40,44,50,52,62],kernel:[10,16],key1:47,key2:47,keyword:52,kill:24,kind:[23,24,50,51,52],kingsburi:63,know:[11,17,23],kriz:[20,57],ksimonyan:[11,17],kube:50,kube_cluster_tl:23,kube_ctrl_start_job:23,kube_list_containers_in_job_and_return_current_containers_rank:23,kubeadm:50,kubectl:[50,51,52],kubernet:[23,24,43,45,52,53,54],kubernetes_service_host:23,kwarg:[3,9,10,11,12,16,17,18,20,36,60,62,63],l1_rate:[7,15],l2_rate:[7,15],l2regular:[57,60,64],label:[3,9,10,12,16,18,20,22,26,27,28,33,36,51,57,58,60,62,63,64],label_dict:63,label_dim:[10,16,36,60],label_fil:[26,63],label_lay:[10,26],label_list:63,label_path:26,label_slot:63,labeledbow:64,labelselector:52,lag:47,lake:3,lambdacost:[10,16],lambdarank:[10,16],languag:[10,16,20,56],larg:[19,20,40,65],larger:[7,9,10,12,15,16],last:[9,10,11,16,17,35,36],last_seq:36,last_time_step_output:[10,16],lastseen:51,later:60,latest:[10,16,24,27,51,52],launcher:23,layer1:[10,11,16,17,35],layer2:[10,16,35],layer3:[10,16],layer:[4,5,7,9,11,15,17,19,20,21,22,26,33,35,38,39,41,58,60,62,63],layer_0:41,layer_attr:[10,16,39,49],layer_num:[49,58],layer_s:[10,16],layer_typ:[10,16],layerbas:41,layerconfig:41,layergradutil:41,layermap:41,layeroutout:[10,16],layeroutput:[9,11,16,62],layers_test:27,lbl:[9,57],ld_library_path:[32,45],learn:[7,9,10,11,12,15,16,17,18,20,23,26,30,44,57,58,63,64,65],learnabl:[10,16],learning_method:[12,28,56,57,60,62,64,65],learning_r:[7,12,15,27,28,56,57,60,62,64,65],leas:24,least:[9,10,16,24],lecun:20,left:[10,16],leman:65,len:[3,10,16,36,39,41,52,60,62,63],length:[10,11,16,17,20,51],less:[10,16,23],less_than:23,let02:51,let:[10,16,23],level:[7,10,15,16,38],lib64:[27,30,32,45,47],lib:[29,32],lib_path:27,libcuda:[27,30],libjpeg:57,libnvidia:[27,30],libpaddl:[25,40],libprotobuf:27,librari:[10,16,32,45,47],life:24,like:[9,10,16,20,24,26,58],limit:[10,16,20,27,44],line:[3,9,20,27,36,40,49,60,62,63],line_count:27,linear:[6,10,16,33],linear_comb:10,linearactiv:[10,16,28],linguist:63,link:[10,11,16,17,38,64],linux:[30,50],lipeng:56,lipton:64,list:[2,3,8,9,10,11,16,20,22,23,28,45,49,57,58,60,62,63,64,65],lium:65,live:24,liwicki:64,load:[10,16,23,24,28,52,58,62,63,64,65],load_data_arg:5,load_featur:58,load_feature_c:58,load_feature_pi:58,load_missing_parameter_strategi:[46,47,49,56,63],loadparamet:5,loadsave_parameters_in_pserv:[46,47],local:[7,15,24,29,32,45,46,47,52],localhost:[30,50],localip:52,lock:24,log:[6,27,41,45,47,51,52,57,62,63,64,65],log_barrier_abstract:[46,47],log_barrier_lowest_nod:[46,47],log_barrier_show_log:[46,47],log_clip:[46,47],log_error_clip:[46,47],log_period:[47,49,51,52,57,60,62,63,64,65],log_period_serv:[46,47],logarithm:14,logger:[3,36],logist:60,look:[3,9,60],loop:26,loss:[10,16,60],low:[10,16],lst:62,lstm:[10,16,36,39,51,60],lstm_attr:17,lstm_bias_attr:[11,17],lstm_cell_attr:[11,17],lstm_group:[11,17,36],lstm_group_input:36,lstm_input:36,lstm_last:36,lstm_layer_attr:11,lstm_nest_group:36,lstm_output:36,lstm_size:60,lstm_step:[11,17],lstmemori:[11,17,36,39],lstmemory_group:[10,16,36],ltr:[10,16],mac:30,machan:[11,17],machin:[10,11,12,16,17,20,22,38,64,65],made:24,mai:[8,9,10,16,26],main:5,maintain:[10,16],major:65,make:[3,10,23,24,26,32,40,41,44,64],manag:24,mandarin:[10,16],mani:[10,11,16,17],manufactur:65,mao:64,map:[10,16,20,22,23,33,62],map_read:20,mapreduc:23,marcu:64,mark:63,mark_slot:63,market:64,martha:63,mask:[7,10,15,16],master:[23,50,64],mat_param_attr:[11,17],math:[11,17,25,41,44],matirx:[10,16],matplotlib:57,matrix:[9,10,11,16,17,20,22,25,41],matrixptr:41,max:[7,10,13,15,16,20,35,44,49,62],max_id:[16,22],max_job_id:20,max_length:[10,16,39],max_movie_id:20,max_sort_s:[10,16],max_user_id:20,maxid:[9,10],maxid_lay:9,maxim:[10,16],maximum:[9,20],maxinum:19,maxout:10,maxpool:[10,16],mayb:[10,11,16,17],md5:20,mean:[7,9,10,11,12,15,16,17,18,19,20,22,26,27,47,58,60,62],mean_img_s:57,mean_meta:58,mean_meta_224:58,mean_valu:58,mechan:[10,11,16,17],meet:63,mem:[10,16,36],member:23,memcpi:44,memori:[11,17,39,44,51,60],memory_nam:[10,16],memory_threshold_on_load_data:[46,47],mere:[11,17],merg:40,mergedict:[56,65],messag:[40,51],meta:[45,57,58,62],meta_config:[45,62],meta_fil:62,meta_gener:[45,62],meta_path:57,meta_to_head:62,metadata:[51,52],metal:50,metaplotlib:23,method:[3,8,10,11,12,16,18,22,62,65],mfs:52,might:[10,16],million:20,min:[7,15,44,49,62],min_pool_s:[3,27],mini:[10,16,20,22,24],mini_batch:26,minibatch:[10,16],minibatch_data:20,minikub:50,minim:[12,18],minimum:[10,16],minut:24,miss:63,mix:[11,17],mixed_attr:17,mixed_bias_attr:[11,17],mixed_lay:[11,16,36,39,63],mixed_layer_attr:11,mixedlayertyp:[10,16],mkl:29,mkl_root:29,ml_data:[45,62],mnist:[3,5,26],mnist_model:5,mnist_provid:3,mnist_random_image_batch_read:26,mnist_train:[3,26],mnist_train_batch_read:26,mnt:52,mod:63,mode:[10,16,40,52,64],model:[10,11,12,16,17,20,24,49,56,57,60,62,63,64,65],model_averag:12,model_config:5,model_list:[47,49,63,64],model_output:64,model_path:49,model_zoo:[56,58],modelaverag:12,modifi:40,modul:[3,8,11,17,20,22,27,28,57,58,60,62],modulo:[10,16],momentum:[7,12,15,27,33,60],momentumoptim:[28,57],mon:51,mono:[10,16],month:65,mood:64,moosef:50,more:[9,10,11,16,17,20,23,24,26,27,44],morin:[10,16],mose:[64,65],moses_bleu:65,mosesdecod:64,most:[10,16,20,23,26],mountpath:[51,52],move:[10,16,24],movi:[3,20,62],movie_categori:20,movie_featur:62,movie_head:62,movie_id:[52,62],movie_info:20,movie_meta:62,movie_nam:62,movie_review:20,movieinfo:20,movielen:61,moving_average_fract:[10,16],mpi:45,mse:10,mse_cost:[28,33,62],much:[10,16,24,26],mul:41,multi:[10,16,58,65],multi_binary_label_cross_entropi:16,multi_crop:58,multinomi:[10,16],multipl:[9,10,11,16,17,20,23],multipli:[9,10,16],must:[9,10,11,14,16,17,26,32,41],mypaddl:[51,52],name:[3,7,8,9,10,11,15,16,17,19,20,22,23,24,27,28,30,33,36,39,41,44,49,50,51,52,53,54,57,60,62,65],namespac:[25,41,50,51,52],nativ:[10,16],nchw:[10,16],ndarrai:22,ndarri:22,ndcg:[10,16],ndcg_num:[10,16],necessari:[10,16,60],need:[10,11,16,17,20,23,27,44,52,60],neg:[3,9,10,16,60,63,64],neg_distribut:[10,16],nest:20,net:[10,11,16,17,64],net_conf:64,net_diagram:58,network:[4,5,7,9,10,12,15,16,18,20,21,22,23,26,33,36,45,49,52,56,57,58,62,63,64,65],network_config:49,neural:[10,11,12,16,17,18,20,22,23,36,38,56,62,63,64,65],neuralnetwork:[10,16],never:[20,26,51,52],next:[3,10,16,20,24],nfs:52,nfsdir:52,nginx:30,nic:[45,46,47,52],nine:20,nlp:[10,16],nltk:20,nmt:65,nnz:41,no_cach:3,no_sequ:[3,33,62],noah:64,noavx:30,node0:52,node:[10,16,50,51,52],node_0:52,node_1:52,node_2:52,nodebook:30,nodefil:45,nois:[10,16],non:[10,16,24],none:[3,5,7,8,9,10,11,12,15,16,17,18,19,20,22,23,28,39,58,60],norm_by_tim:[10,16],normal:[10,11,16,17,20,51,52,58],notat:[10,16],note:[7,10,11,12,15,16,17,19,22,23,26,32,64],noth:[14,22,40],novel:64,now:[10,16,24,38],np_arrai:20,ntst1213:65,ntst14:65,nullptr:[32,41],num:[10,16,45,47,52,63,64,65],num_channel:[10,11,16,17,57],num_chunk_typ:9,num_class:[10,11,16,17,57],num_filt:[10,11,16,17],num_gradient_serv:[46,47],num_group:[10,16],num_neg_sampl:[10,16],num_parameter_serv:23,num_pass:[22,28,33,46,47,49,51,52,60,62,63,64,65],num_repeat:[10,16],num_result:9,num_results_per_sampl:[10,16],number:[9,10,16,20,24,26,65],numchunktyp:9,numdevices_:49,numlogicaldevices_:49,numofallsampl:9,numofwrongpredict:9,numpi:[20,22,26,28,33,58],numsampl:44,numtagtyp:9,nvcc:30,nvidia:[27,30],obj:[3,8,27,28,57,58,60,62],object:[3,7,8,9,10,11,12,15,16,17,18,20,22,23,25,44,60,62],observ:[12,18],occup:[52,62],occur:[20,22],oct:51,odd:[10,16],off:[29,30,32,40],offlin:24,offset:[10,16,62],often:9,ograd:41,omit:[27,60],on_init:3,onc:[10,16,24],one:[3,8,9,10,11,12,14,16,17,18,19,20,23,24,26,60,63,64],one_host_dens:62,one_hot_dens:62,onli:[9,10,11,16,17,19,20,22,23,36,38],onlin:[12,18,24,26],open:[3,10,16,23,26,27,28,36,42,58,60,62,63],openbla:29,openblas_root:29,oper:[10,11,12,16,17,18],opinion:64,opt:[23,29,52],optim:[4,7,15,21,22,27,33],option:[9,10,16,23],order:[10,11,16,17,20,26,52],org:[10,11,16,17,20,30,61],organ:[10,16],origin:[10,16,20,40],other:[9,10,11,12,16,17,20,60,62],otherchunktyp:9,otherwis:[8,10,16,20,23,24,26],our:23,out:[10,16,22,23,36,38,39,57],out_dir:52,out_left:[10,16],out_mem:39,out_right:[10,16],out_size_i:[10,16],out_size_x:[10,16],outer:36,outer_mem:36,outer_rnn_st:36,outer_rnn_state_:36,outer_step:36,output:[7,9,10,14,15,16,17,19,20,22,23,26,27,28,36,39,45,49,51,52,56,57,58,60,62,63,64],output_:[10,16],output_dir:58,output_fil:63,output_id:[10,16],output_lay:[22,58],output_max_index:19,output_mem:[10,16,39],outputh:[10,16],outputw:[10,16],outsid:[3,10,11,16,17],outv:41,over:[10,11,16,17,23],overrid:24,packag:[20,27],pad:10,pad_c:[10,16],pad_h:[10,16],pad_w:[10,16],padding_attr:[10,16],padding_i:[10,16],padding_x:[10,16],paddl:[3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,27,28,30,32,33,40,41,42,44,45,49,51,52,56,57,60,62,63,64,65],paddle_error:25,paddle_matrix:25,paddle_matrix_shap:25,paddle_n:[45,52],paddle_output:51,paddle_port:[45,52],paddle_ports_num:[45,52],paddle_ports_num_for_spars:45,paddle_ports_num_spars:52,paddle_process_by_paddl:52,paddle_pserver2:45,paddle_root:56,paddle_server_num:52,paddle_source_root:56,paddle_train:[45,52],paddledev:[27,30,51,52],paddlepaddl:[10,11,12,16,17,20,24,26,27,30,32,39,40,44,45,53,54,56,63],pair:9,palceholder_just_ignore_the_embed:56,palmer:63,paper:[10,16,65],para:56,paraconvert:56,parallel:[44,49,51,52,65],parallel_nn:[7,15,46,47],param:[7,10,15,16,62],param_attr:[10,11,16,17,27,28,39],paramattr:[7,10,15,16,27,28,39],paramet:[4,9,10,11,12,16,17,18,19,20,21,26,33,47,52,62,63,64,65],parameter_attribut:[10,16],parameter_block_s:[46,47],parameter_block_size_for_spars:[46,47],parameter_learning_r:[7,15],parameter_nam:[22,23],parameter_serv:23,parameterattribut:[7,10,11,15,16,17],parameterclient2:52,parametermap:41,parameters_:41,parameterset:23,parametris:[12,18],paramutil:62,paraphras:[56,65],paraphrase_data:56,paraphrase_model:56,paraphrase_modeldata:56,paraspars:41,parent:10,pars:[20,62],parse_config:5,parse_known_arg:52,parsefromstr:27,parser:52,part:[62,64],partial:[10,16],partit:24,paserv:52,pass:[3,8,10,16,20,22,24,26,27,28,33,40,44,47,49,51,52,57,60,62,63,64,65],pass_id:[22,33],pass_idx:26,passtyp:41,past:23,path:[9,20,22,24,26,32,45,47,50,51,52,63,64],pattern:[20,24,25,62,64],paul:63,paus:24,pave:65,pdf:[10,11,16,17],pem:23,pend:24,penn:63,per:[10,16,20,26],perform:[10,11,16,17,44,46],period:[24,47,63,64,65],perl:[64,65],peroid:[10,16],persistentvolum:50,persistentvolumeclaim:[50,52],person:23,pickl:62,picklabl:8,pid:50,piec:[10,11,16,17],pillow:57,pip:[27,40,45,57,62],pixel:[3,10,16,20],pixels_float:3,pixels_str:3,place:[3,24],plain:[9,10,16,22],plan:24,pleas:[7,10,11,12,15,16,17,18,23,24,26,27,32,52],plot:[23,57],plotcurv:57,png:57,pnpairvalid:46,pod:[50,51,52],podip:52,podlist:52,point:44,polar:20,poll:64,pool3:41,pool:[4,11,17,21,62],pool_attr:[11,17],pool_bias_attr:[11,17],pool_layer_attr:11,pool_pad:[11,17],pool_siz:[3,10,11,16,17],pool_size_i:[10,16],pool_strid:[11,17],pool_typ:[10,11,16,17],pooling_lay:[11,27,60,62],pooling_typ:[10,16,27,35,60],poolingtyp:19,port:[45,46,47,51,52],port_num:46,ports_num:[47,52],ports_num_for_spars:[46,47,49,52],pos:[62,64],pose:24,posit:[3,9,10,16,20,60],positive_label:9,posix:50,possibl:23,potenti:44,power:10,practic:[8,10,16],pre:[10,11,16,17,20,23,56,64,65],pre_dictandmodel:56,precis:9,pred:[60,63],predetermin:[10,16],predic:[20,63],predicate_dict:63,predicate_dict_fil:63,predicate_slot:63,predict:[3,5,9,10,12,16,18,22,27,45,56,57,58,60,62,63,64],predict_fil:[46,47],predict_output_dir:[46,47,60],predict_sampl:5,predin:57,prefer:50,prefetch:41,prefix:24,pregrad:41,premodel:56,prepar:53,preprocess:[20,45,56,57,60,62,64,65],present:[23,40],prev_batch_st:[46,47],prevent:[12,18,23,24],previou:[10,11,16,17,24],price:20,principl:23,print:[5,7,15,22,23,28,33],printallstatu:44,printer:9,printstatu:44,prite:9,privat:40,prob:[9,22],probabilist:[10,16,56],probabl:[9,10,16,22],problem:[10,12,16,18,23],proc:30,proce:[20,26],proceed:[10,16,63],process2:36,process:[3,7,8,10,11,12,15,16,17,23,27,28,36,39,52,60,62,63],process_predict:60,process_test:8,process_train:8,processdata:[57,58],processor:44,prod:[30,40],produc:[11,17,20,24,26],productgraph:51,profil:44,proflier:44,prog:52,program:[20,23,26,44,52],progress:24,proj:[10,16],project:[10,11,16,17],promis:[10,11,16,17],prone:23,prop:63,propag:[12,18],properli:60,proposit:63,protect:41,proto:19,protobuf:27,provid:[8,10,16,20,23,27,28,36,46,60,62,63],prune:[10,16],ps_desir:24,pserver:[45,46,47,52],pserver_num_thread:[46,47],pseudo:23,psize:41,purpos:[24,44],push:52,push_back:41,put:[24,60],pwd:[30,40],py_paddl:[5,20],pydataprovid:27,pydataprovider2:[3,5,28,52,62],pydataproviderwrapp:8,pyramid:[10,16],pyramid_height:[10,16],python:[8,22,23,25,27,30,40,41,45,56,57,58,62,63,64,65],pythonpath:[27,57],pzo:64,queri:[10,16,65],question:[10,16,23],quick:51,quick_start:[51,52,53,60],quick_start_data:51,quickstart:51,rac:[10,16],rais:20,ramnath:64,ran:44,rand:[44,47,49,63],random:[7,10,15,16,20,26,28],rang:[10,16,20,26,52,60],rank:[10,16,23,58,60],rare:3,rate:[7,9,12,15,18,20,45,52,62],ratio:47,raw:[10,16],raw_meta:62,rdma_tcp:[46,47],reach:24,read:[3,20,22,23,24,26,28,58,60,62],read_from_realistic_imag:23,read_from_rng:23,read_mnist_imag:23,read_next_from_fil:27,read_ranking_model_data:23,reader:[22,33],reader_creator_bool:26,reader_creator_random_imag:[20,26],reader_creator_random_image_and_label:[20,26],readi:[24,51],readm:[40,62,64],real:26,real_process:3,realist:23,reason:[10,11,17,23,24,51],recal:9,receiv:[8,24],recognit:[10,16,58,64],recommend:[11,17,23,45,52,62],record:[62,63],recordio:23,recov:24,rectangular:[10,16],recurr:[36,37,63,64],recurrent_group:[11,17,36,38,39],recurrent_lay:11,recurrentgroup:9,reduc:[12,18],ref:62,refer:[7,8,10,11,12,15,16,17,18,24,29],referenc:[10,16],reference_cblas_root:29,refine_unknown_arg:52,regex:62,register_gpu_profil:44,register_lay:41,register_timer_info:44,registri:51,regress:9,regular:[7,12,15,57,60,64],rel:[11,17],relat:[8,24,62],relationship:20,releas:[32,50,63],reliabl:24,relu:[6,10,16],reluactiv:10,rememb:[10,16],remot:[7,15,40,45,47,49],remov:[20,40],reorgan:[10,16],repeat:10,repres:[10,12,16,20,60],represent:60,request:[24,51,65],requir:[9,10,16,23,24,45,62],res5_3_branch2c_bn:58,res5_3_branch2c_conv:58,res:63,research:[10,16,20,57],reserveoutput:41,reset:[10,16,24],reshap:26,reshape_s:[10,16],residu:58,resnet_101:58,resnet_152:58,resnet_50:58,resolv:[40,51],respons:[10,16,51],rest:[10,16],restart:[24,51],restartpolici:[51,52],resu:26,result:[3,9,10,14,16,22,44,60,65],result_fil:[9,39],ret_val:62,return_seq:[11,17],reus:26,reveal:23,revers:[10,11,16,17,38,39],review:[20,40,51,64],reviews_electronics_5:51,rewrit:65,rgb:[10,16],rgen:64,rho:[12,18],right:[10,16],rmsprop:[12,60],rmspropoptim:62,rnn:[10,11,16,17,38,39,46,64],rnn_bias_attr:39,rnn_layer_attr:39,rnn_out:39,rnn_state:36,rnn_state_:36,rnn_step:[10,16],rnn_use_batch:[46,47],rnnlm:20,robot:57,role:[20,23,63,64],roman:64,root:[12,18,19,30,45,51,52,56],root_dir:45,rot:[10,16],rotat:10,routin:62,routledg:64,row:[9,10,16,20],row_id:[10,16],rstrip:52,rtype:[10,16,62],run:[23,24,27,30,40,44,45,51,52,53,54,62],runinitfunct:[44,52],runtim:[3,27],s_fusion:62,s_id:62,same:[3,8,9,10,11,16,17,23,36,60],samping_id:[10,16],sampl:[3,9,20,60,62,64,65],sample_id:9,sample_num:9,santiago:64,save:[3,10,16,20,24,51,62,63,64,65],save_dir:[28,47,49,51,52,57,60,62,63,64,65],save_only_on:[46,47],saving_period:[46,47,52],saving_period_by_batch:[46,47,49],saw:3,scalar:[10,16],scale:[10,14,62],scalingproject:[10,16],scatter:[10,16],scheduler_factor:[7,15],scheme:[9,12],schmidhub:64,schwenk:65,scienc:64,score:[9,10,16,62],script:[20,42],seaplane_s_000978:57,search:[10,16,24,39,65],seat:65,second:[10,16,20,23,26,60,62],sed:64,see:[10,11,16,17,23,27,60],seed:[44,47],segment:9,sel_fc:[10,16],select:[10,16],selectiv:[10,16],selector:51,self:41,selfnorm:[10,16],semant:[20,23,63,64],semantic_role_label:39,semat:23,sen_len:63,send:24,sens:10,sent:[23,51],sent_id:39,sentanc:27,sentenc:[3,10,16,20,36,39,63],sentence_last_state1:36,sentence_last_state2:36,sentiment:[3,63,64],sentiment_data:64,sentiment_net:64,sentimental_provid:3,sentimental_train:3,separ:[9,60,62],seq:[10,16,36,62],seq_pool:[10,16,35],seq_text_print:9,seq_to_seq_data:[56,65],seq_typ:[20,62],seqlastin:36,seqtext_printer_evalu:39,seqtoseq:[10,16,27,39,56,65],seqtoseq_net:[10,16,39,56,65],sequel:3,sequenc:[3,9,10,11,14,16,17,19,20,27,33,36,38,60,62,64,65],sequence_conv_pool:60,sequence_layer_group:[10,16,36],sequence_nest_layer_group:[10,16,36],sequencegen:36,sequencesoftmax:6,sequencestartposit:[10,16],sequencetextprint:9,sequencetyp:[3,33],sequenti:[10,16,63],seri:[11,17,36,64],serial:22,server:[23,45,47,50,52],serverless:24,set:[3,7,9,10,11,15,16,17,20,22,23,24,27,28,36,39,44,45,51,56,57,58,60,62,63,64,65],set_active_typ:41,set_default_parameter_nam:[7,15],set_drop_r:41,set_input:[10,16],set_siz:41,set_typ:41,settotalbyteslimit:27,setup:[41,60],sever:[10,16],sgd:[12,18,22,23,24,28,33,45,46,64],shape:[10,16,22,33],shard:24,share:[10,16,63],shared_bia:[11,17],shared_bias:[10,16],ship:57,shold:64,shorten:[10,16],should:[9,10,12,16,20,22,23,26,38],should_be_fals:23,should_be_tru:23,should_shuffl:[3,36,63],show:[12,18,20,24,63,64,65],show_check_sparse_distribution_log:[46,47],show_layer_stat:[46,47],show_parameter_stats_period:[46,47,49,51,63,64,65],shown:[9,10,16,23],shuf:[27,62],shuffl:[20,27],side:[10,16,22],sigint:45,sigmoid:[6,10,16,17],sigmoidactiv:[10,11,36],similar:[10,16,26,62],similarli:[10,16],simpl:[9,10,11,14,16,17,20,22,52],simple_attent:39,simple_gru:60,simple_lstm:[10,16,60],simple_rnn:[10,16,39],simpli:[10,16,23],simplifi:23,sinc:[10,16,24,26],singl:[9,11,12,17,20,24],size:[3,9,10,11,12,16,17,18,20,24,26,27,28,33,36,39,41,57,58,60,62,64,65],size_a:[10,16],size_b:[10,16],size_t:41,skip:[26,28,40,58],sleep:52,slide:[10,12,16,18,20,24],slope:[10,16],slot:[62,63],slot_dim:62,slot_nam:62,slottyp:62,small:20,small_messag:[46,47],small_vgg:57,smaller:[10,16,24],smith:64,snap:51,sock_recv_buf_s:[46,47],sock_send_buf_s:[46,47],socket:52,softmax:[6,10,11,16,17,23,27,39,41,60],softmax_param:27,softmax_param_attr:[11,17],softmax_selfnorm_alpha:[10,16],softmaxactiv:[27,36,39,60],softrelu:6,solv:23,some:[7,10,12,15,16,20,22,23],some_python_class:25,somecppclass:25,somedata:22,somegotyp:25,someth:[10,16],sometim:[12,18,26],soon:24,sort:[10,16,20,52,62,64],sourc:[8,10,16,20,26,65],source_dict_dim:39,source_language_word:39,space:9,space_seperated_tokens_from_dictionary_according_to_seq:9,space_seperated_tokens_from_dictionary_according_to_sub_seq:9,spars:[7,10,12,15,16,18,20,27,41,45,47,49,52,60],sparse_binary_vector:[3,20,27,33,60],sparse_binary_vector_sequ:20,sparse_float_vector:[3,33],sparse_non_value_slot:20,sparse_upd:[7,15,27],sparse_value_slot:20,sparse_vector:[20,27],sparse_vector_sequ:20,sparseparam:41,sparseprefetchrowcpumatrix:41,spatial:[10,16],spec:[51,52],special:[10,16],specifi:[9,10,16,20,23,32,60],speech:[10,16],speed:[11,17],sphinx:[25,30,42],split:[3,10,16,36,45,60,62,63],split_count:52,spp:10,squar:[6,10,12,16,18,19],squarerootn:13,squarerootnpool:[10,16],srand:47,src:[52,65],src_backward:39,src_dict:[27,39],src_dict_path:27,src_embed:39,src_forward:39,src_id:39,src_root:5,src_word_id:39,srl:[20,63],ssd:16,ssh:[30,45],sshd:30,sstabl:23,stabl:50,stacked_lstm_net:64,stacked_num:64,stackexchang:[10,16],stage:40,stake:65,standard:[7,15],stanford:[20,51],stanh:6,start:[10,16,22,24,27,47,51,52],start_paddl:52,start_pass:[46,47],start_pserv:[46,47],startpaddl:52,startup:24,stat:[44,47,63,64,65],state:[10,11,16,17,24,38,51],state_act:[10,11,16,17,36],statfulset:52,staticinput:[10,16,38,39],statist:[10,16],statset:44,statu:[9,40,44,51,52],status:51,std:[41,47],stderr:45,stdout:45,step:[10,11,12,16,17,19,24,36,38,39],stepout:36,stochast:[12,18,24],stock:64,stop:[10,16],storag:50,store:[9,10,16,20,24,60,62],str:[22,49,52],strategi:[19,24,47,63],street:[10,16,63],strict:26,stride:[10,16],stride_i:[10,16],stride_x:[10,16],string:[3,8,9,10,16,41,47],strip:[27,36,60,62,63],structur:[20,60],stub:[10,16],stuff:40,stun:3,style:[10,16],sub:[9,10,16,20,23],sub_sequ:[3,33],subgradi:[12,18],subnet:23,subobjectpath:51,subseq:[35,38],subsequenceinput:[10,16,36],succeed:51,success:51,successfulcr:51,sudo:[32,57],suffic:26,suggest:[10,16],sum:[9,10,12,13,16,18],sum_:[10,16],sum_to_one_norm:10,sumpool:[10,16,27],support:[7,9,10,12,15,16,19,20,24,26,36],sure:[32,64],swap_channel:58,swig:25,swig_paddl:[5,20],symbol:[10,16],symlink:40,sync:24,syncflag:41,synchron:[12,18,24],syntax:26,sys:58,system:[24,27,64],t2b:56,t_i:[10,16],tab:60,tabl:[10,16],tableproject:[10,16],tag:[9,20,30],tagtyp:9,tainer_id:52,take:[3,9,10,11,16,17,23],tanh:[6,10,11,16,17,41],tanhactiv:[10,11,36,39],target:[10,16,20,22,65],target_dict_dim:39,target_language_word:39,targetinlink:[10,16,36],task:[9,10,16,63],tbd:[25,36,42],tconf:64,tcp:47,tear:44,technic:24,tee:[51,57,62,63,64,65],tell:24,tellig:64,templat:[51,52],tempor:[10,16],tensor:10,term:[10,11,16,17],termin:51,tesh:63,test100:20,test10:20,test:[2,3,8,9,10,16,20,22,23,26,40,41,44,45,47,49,57,58,60,62,63,64,65],test_all_data_in_one_period:[51,57,62,63,64],test_compar:27,test_comparespars:27,test_comparetwonet:27,test_comparetwoopt:27,test_config_pars:27,test_data:[5,65],test_fcgrad:41,test_gpuprofil:44,test_layergrad:41,test_list:[3,8,27,28,57,60],test_networkcompar:27,test_part_000:64,test_pass:[46,47,49,65],test_period:[46,47,49],test_predict:27,test_pydataprovid:27,test_pydataprovider2:27,test_pydataproviderwrapp:27,test_ratio:62,test_recurrent_machine_gener:27,test_recurrentgradientmachin:[27,36],test_swig_api:27,test_train:27,test_traineronepass:27,test_wait:[46,47],testa:23,testb:23,testbilinearfwdbwd:44,testconfig:41,tester:[62,65],testfcgrad:41,testfclay:41,testlayergrad:41,testq:23,testresult:22,testutil:41,text:[3,9,11,17,20,23,56,60,64,65],text_conv:60,text_conv_pool:62,text_fil:[20,64],tflop:44,tgz:20,than:[7,9,10,11,12,15,16,17,24,27],thei:[23,24,44],them:[11,17,23,24,26,44,60,62],therein:[10,16],thi:[3,7,8,9,10,11,12,15,16,17,18,20,22,23,24,26,44,60,62,64],thing:3,think:23,third:[10,16,24],those:[24,63],thread:44,thread_local_rand_use_global_se:[46,47],threadid:49,threadloc:44,three:[9,10,12,16,24,26,58],threshold:[7,9,12,15,24,47],through:[10,16,24],throughput:44,thu:[10,16],tier:51,time:[10,11,16,17,19,20,23,24,26,36,44,47,51,52,64],timelin:[10,16],timeout:24,timer:44,timestamp:[10,16],timestep:[10,16],titl:[20,52,62],tmp:3,to_your_paddle_clone_path:42,todo:[9,11,17,20,24],toend:[10,16],togeth:[10,11,16,17,20,22],token:[9,10,16,23,39,64],too:20,tool:[42,52],top:[9,58],top_k:9,topolog:[20,23],topolopi:22,toronto:[20,57],total:[9,22,24,26,44,51,65],total_pass:26,touch:64,tourist:65,track:[10,24,40],tractabl:[10,16],tradit:[10,16],trail:20,train100:20,train10:20,train:[2,3,7,8,9,10,12,15,16,18,20,27,28,32,33,45,47,49,51,52,53,54,56,57,58,60,62,63,64,65],train_arg:52,train_args_dict:52,train_args_list:52,train_conf:[56,65],train_config_dir:52,train_data:65,train_i:33,train_list:[3,8,27,28,57,58,60],train_part_000:64,train_read:33,train_x:33,trainabl:[10,16],trainer:[3,5,23,28,33,41,47,49,52,62,63,64,65],trainer_config:[2,3,5,28,45,51,52,60,62,64],trainer_config_help:[3,6,7,8,9,10,11,12,13,27,28,41,57,62],trainer_count:[27,46,47,49,51,52,62,63,64,65],trainer_id:[47,52],trainerconfighelp:27,trainerid:52,trainerintern:[60,62,65],tran:[10,41],transact:[24,64],transform:[10,16],transform_param_attr:[11,17],translat:[10,11,16,17,56,65],transpos:[10,16],transposedfullmatrixproject:[10,16],travel:[3,11],travi:40,treat:[10,16],tree:[10,16,52],trg:65,trg_dict:39,trg_dict_path:39,trg_embed:39,trg_id:39,trg_ids_next:39,tricki:25,trn:60,truck:57,true_imag:26,true_label:26,true_read:26,truth:[9,10,16,65],tst:60,tune:[7,15,46],tupl:[8,10,11,16,20,22,26],ture:[10,16],turn:[10,16,26,38],tutori:[51,52,53,54,56,65],tweet:64,twitter:64,two:[10,11,16,17,23,26,44,60],txt:[3,41,45,50,60,62,64],type:[3,9,10,11,12,16,17,19,20,23,24,25,26,28,33,36,41,49,51,58,60,62,63],type_nam:[10,62],typedef:25,typic:9,ubyt:26,uci:20,ufldl:[10,16],uid:51,uint64:25,uint64_t:25,unconstrain:64,undeterminist:44,uniform:[7,10,15,16,20,26],uninstal:27,uniqu:[23,24],unique_ptr:41,unit:[10,11,16,17],unittest:27,univ:65,unix:45,unk:[56,65],unk_idx:[60,63],unknown:[10,16],unseg:[10,16],unsup:64,unsupbow:64,until:[24,52],untrack:40,unus:62,updat:[7,10,12,15,16,24,40,45,49],update_equ:[22,33],updatecallback:41,upgrad:27,upload:24,upstream:40,url:[20,64],urls_neg:64,urls_po:64,urls_unsup:64,usag:[9,10,11,16,17,20,22,52,62],use:[7,8,9,10,11,12,15,16,17,19,20,22,23,40,44,52,58,60,62,63,64,65],use_global_stat:[10,16],use_gpu:[5,27,33,46,47,49,51,52,57,58,60,62,63,64,65],use_jpeg:57,use_old_updat:[46,47],use_seq:[28,62],use_seq_or_not:62,used:[3,9,10,11,12,16,17,18,19,20,22,23,24,26,44,60,62,64],useful:[10,11,16,17],usegpu:41,user:[7,9,10,11,15,16,17,20,22,23,26,50,60,62],user_featur:62,user_head:62,user_id:[52,62],user_info:20,user_meta:62,user_nam:62,userinfo:20,usernam:40,uses:24,using:[7,8,10,15,16,20,23,24,26,32,63],usr:[27,29,30,32,45,47,52],usrdict:56,usrmodel:56,usual:[10,16,20,22,44],utc:61,util:[44,52,57,62],v28:[10,16],valid:26,valu:[3,5,7,9,10,12,15,16,18,19,20,22,24,41,49,52,58,60,63],value1:47,value2:47,value_rang:20,vanilla:39,variabl:[10,16,20,23,51],varianc:[10,16],vector:[10,11,16,17,20,23,60,62],verb:20,veri:[10,16,19,57],version:[10,11,16,17,30,32,44,46,47],versu:23,vertic:[10,16],vgg:[11,17,57],vgg_16_cifar:57,via:[24,26,32,40],view:[10,16],vision:57,visipedia:57,visual:[10,16],vocab:64,volum:[30,50,51,52],volumemount:[51,52],vutbr:20,wai:[10,11,16,17,23,65],wait:[12,18,24,52],wall:63,want:[3,10,11,16,17,23,26],warn:[10,16,27,52],warp:[10,16],watch:24,wbia:58,wei:[63,64],weight:[9,10,11,12,16,17,18,41,58],weight_act:[11,17],weightlist:41,weights_:41,weights_t:41,wether:[10,16],what:[7,10,11,12,15,16,17,18,40,60],when:[3,7,9,10,12,15,16,20,22,24,44],where:[10,11,12,16,17,18,23,24],whether:[9,10,11,16,17,26,64],which:[9,10,11,12,16,17,18,20,23,24,26,60,62],whole:[3,9,20,25],whole_cont:62,whose:[10,16,20,24],why:[11,17,44],width:[9,10,16,20,25,26,41,65],wiki:[10,16],wikipedia:[10,16,20],wilder:3,window:[10,16,19,20,50],wise:[10,16],with_avx:[29,30,32,40],with_doc:29,with_doubl:[29,32,41],with_dso:29,with_gpu:[29,30,32,40],with_predict_sdk:32,with_profil:44,with_python:[29,32],with_rdma:[29,32],with_style_check:[29,40],with_swig_pi:29,with_test:[29,30,40],with_tim:[29,32,44],within:[10,16],without:[9,10,16,26],wmt14:65,wmt14_data:65,wmt14_model:65,wmt_shrinked_data:20,woboq:30,won:36,wonder:3,word2vec:27,word:[3,9,10,16,20,27,36,38,60,63],word_dict:[36,60,63],word_dim:[36,60],word_id:[3,27],word_idx:20,word_slot:63,word_vector:60,word_vector_dim:[39,56],words_freq_sort:20,work:[20,23,24,26,30,36,40,51,52],workspac:45,would:[22,26,63],wrapper:[11,17,44],write:[20,23,24,26,63],writelin:28,writer:23,wrong:26,wsj:63,wuyi:50,www:[10,16,20,57,65],xarg:[27,30,41],xgbe0:47,xgbe1:47,xiaojun:64,xrang:[26,28,33,41],xxbow:64,xxx:[23,58,65],y_i:[10,16],y_predict:33,yaml:[51,52],yann:20,yapf:40,yeild:22,yield:[3,20,23,26,27,28,33,36,39,60,62,63],you:[3,7,10,11,12,15,16,17,32,58,64],your:[10,16,23,27],your_param_nam:27,your_repo:52,yuyang18:[11,17,20],zachari:64,zeng:64,zero:[7,10,12,15,16,18,20,24,47],zhou:[63,64],zip:[20,52,61],zoo:56},titles:["\u5173\u4e8ePaddlePaddle","API","DataProvider\u7684\u4ecb\u7ecd","PyDataProvider2\u7684\u4f7f\u7528","API\u4e2d\u6587\u624b\u518c","\u57fa\u4e8ePython\u7684\u9884\u6d4b","Activations","Parameter Attributes","DataSources","Evaluators","Layers","Networks","Optimizers","Poolings","Activation","Parameter Attribute","Layers","Networks","Optimizer","Pooling","Data Reader Interface and DataSets","Model Configuration","Training and Inference","PaddlePaddle Design Doc","Design Doc: Distributed Training","Paddle\u591a\u8bed\u8a00\u63a5\u53e3\u5b9e\u73b0","Python Data Reader Design Doc","FAQ","\u7ecf\u5178\u7684\u7ebf\u6027\u56de\u5f52\u4efb\u52a1","PaddlePaddle\u7684\u7f16\u8bd1\u9009\u9879","PaddlePaddle\u7684Docker\u5bb9\u5668\u4f7f\u7528\u65b9\u5f0f","\u5b89\u88c5\u4e0e\u7f16\u8bd1","Ubuntu\u90e8\u7f72PaddlePaddle","\u57fa\u672c\u4f7f\u7528\u6982\u5ff5","\u65b0\u624b\u5165\u95e8","\u652f\u6301\u53cc\u5c42\u5e8f\u5217\u4f5c\u4e3a\u8f93\u5165\u7684Layer","\u5355\u53cc\u5c42RNN API\u5bf9\u6bd4\u4ecb\u7ecd","RNN\u76f8\u5173\u6a21\u578b","Recurrent Group\u6559\u7a0b","RNN\u914d\u7f6e","\u5982\u4f55\u8d21\u732e\u4ee3\u7801","\u5b9e\u73b0\u65b0\u7684\u7f51\u7edc\u5c42","\u5982\u4f55\u8d21\u732e/\u4fee\u6539\u6587\u6863","\u8fdb\u9636\u6307\u5357","GPU\u6027\u80fd\u5206\u6790\u4e0e\u8c03\u4f18","\u8fd0\u884c\u5206\u5e03\u5f0f\u8bad\u7ec3","\u53c2\u6570\u6982\u8ff0","\u7ec6\u8282\u63cf\u8ff0","\u8bbe\u7f6e\u547d\u4ee4\u884c\u53c2\u6570","\u4f7f\u7528\u6848\u4f8b","Kubernetes \u7b80\u4ecb","Kubernetes\u5355\u673a\u8bad\u7ec3","Kubernetes\u5206\u5e03\u5f0f\u8bad\u7ec3","<no title>","<no title>","PaddlePaddle \u6587\u6863","\u4e2d\u6587\u8bcd\u5411\u91cf\u6a21\u578b\u7684\u4f7f\u7528","\u56fe\u50cf\u5206\u7c7b\u6559\u7a0b","Model Zoo - ImageNet","\u5b8c\u6574\u6559\u7a0b","\u5feb\u901f\u5165\u95e8\u6559\u7a0b","MovieLens\u6570\u636e\u96c6","MovieLens\u6570\u636e\u96c6\u8bc4\u5206\u56de\u5f52\u6a21\u578b","\u8bed\u4e49\u89d2\u8272\u6807\u6ce8\u6559\u7a0b","\u60c5\u611f\u5206\u6790\u6559\u7a0b","\u6587\u672c\u751f\u6210\u6559\u7a0b"],titleterms:{"\u4e00\u4e9b\u7ec6\u8282\u7684\u8865\u5145":52,"\u4e0b\u8f7d\u4e0e\u89e3\u538b\u7f29":65,"\u4e0b\u8f7d\u548c\u6570\u636e\u62bd\u53d6":56,"\u4e0b\u8f7d\u5e76\u89e3\u538b\u6570\u636e\u96c6":62,"\u4e0b\u8f7d\u6570\u636e":51,"\u4e0d\u4f7f\u7528":25,"\u4e0d\u4f7f\u7528swig\u8fd9\u79cd\u4ee3\u7801\u751f\u6210\u5668":25,"\u4e0d\u5bfc\u51fapaddle\u5185\u90e8\u7684\u7ed3\u6784\u4f53":25,"\u4e0d\u5f15\u7528\u5176\u4ed6\u52a8\u6001\u5e93":25,"\u4e2d\u6587\u5b57\u5178":56,"\u4e2d\u6587\u77ed\u8bed\u6539\u5199\u7684\u4f8b\u5b50":56,"\u4e2d\u6587\u8bcd\u5411\u91cf\u6a21\u578b\u7684\u4f7f\u7528":56,"\u4e2d\u6587\u8bcd\u5411\u91cf\u7684\u9884\u8bad\u7ec3\u6a21\u578b":56,"\u4e3a\u4ec0\u4e48\u9700\u8981\u6027\u80fd\u5206\u6790":44,"\u4ec0\u4e48\u662f\u6027\u80fd\u5206\u6790":44,"\u4ec5\u4ec5\u4f7f\u7528void":25,"\u4ecb\u7ecd":[56,58],"\u4ee3\u7801\u8981\u6c42":40,"\u4efb\u52a1\u7b80\u4ecb":28,"\u4f18\u5316\u7b97\u6cd5":60,"\u4f7f\u7528":[40,51],"\u4f7f\u7528\u52a8\u6001\u5e93\u6765\u5206\u53d1paddl":25,"\u4f7f\u7528\u6848\u4f8b":49,"\u4f7f\u7528\u6982\u8ff0":60,"\u4f7f\u7528\u6a21\u578b\u521d\u59cb\u5316\u7f51\u7edc":49,"\u4f7f\u7528\u73af\u5883\u53d8\u91cf":52,"\u4f7f\u7528\u7528\u6237\u6307\u5b9a\u7684\u8bcd\u5411\u91cf\u5b57\u5178":56,"\u4f7f\u7528\u8bf4\u660e":43,"\u4f7f\u7528docker\u6784\u5efapaddlepaddle\u7684\u6587\u6863":42,"\u4f7f\u7528paddlepaddle\u751f\u6210\u6a21\u578b":65,"\u4f7f\u7528paddlepaddle\u8bad\u7ec3\u6a21\u578b":65,"\u4fdd\u6301\u672c\u5730\u4ed3\u5e93\u6700\u65b0":40,"\u4fee\u6539\u542f\u52a8\u811a\u672c":51,"\u4fee\u6539\u6587\u6863":42,"\u514b\u9686":40,"\u5173\u4e8epaddlepaddl":0,"\u5185\u5b58\u4e0d\u591f\u7528\u7684\u60c5\u51b5":3,"\u5185\u7f6e\u5b9a\u65f6\u5668":44,"\u5199\u68af\u5ea6\u68c0\u67e5\u5355\u5143\u6d4b\u8bd5":41,"\u51c6\u5907\u5de5\u4f5c\u7a7a\u95f4":45,"\u51c6\u5907\u5e8f\u5217\u6570\u636e":39,"\u51c6\u5907\u6570\u636e":[28,62],"\u51c6\u5907\u8bad\u7ec3\u6570\u636e":52,"\u51c6\u5907\u96c6\u7fa4\u4f5c\u4e1a\u914d\u7f6e":45,"\u51cf\u5c11\u6570\u636e\u8f7d\u5165\u7684\u8017\u65f6":27,"\u51cf\u5c11dataprovider\u7f13\u51b2\u6c60\u5185\u5b58":27,"\u5206\u5272\u8bad\u7ec3":62,"\u521b\u5efa\u672c\u5730\u5206\u652f":40,"\u521b\u5efajob":52,"\u521b\u5efapaddl":51,"\u5220\u9664\u672c\u5730\u5206\u652f":40,"\u5220\u9664\u8fdc\u7a0b\u5206\u652f":40,"\u5229\u7528\u66f4\u591a\u7684\u8ba1\u7b97\u8d44\u6e90":27,"\u5230\u8fdc\u7a0b\u4ed3\u5e93":40,"\u5236\u4f5c\u955c\u50cf":52,"\u5236\u4f5cdocker\u955c\u50cf":51,"\u524d\u63d0\u6761\u4ef6":45,"\u52a0\u8f7dpaddlepaddl":33,"\u52a0\u901f\u8bad\u7ec3\u901f\u5ea6":27,"\u52a8\u6001\u5e93\u4e2d\u4e0d\u5d4c\u5165\u4efb\u4f55\u5176\u4ed6\u8bed\u8a00\u7684\u89e3\u91ca\u5668":25,"\u5355\u5143\u6d4b\u8bd5":47,"\u5355\u53cc\u5c42rnn":36,"\u5377\u79ef\u6a21\u578b":60,"\u5377\u79ef\u795e\u7ecf\u7f51\u7edc":57,"\u539f\u56e0":25,"\u539f\u56e0\u5217\u8868":25,"\u53c2\u6570\u4fe1\u606f":58,"\u53c2\u6570\u5185\u5b58":27,"\u53c2\u6570\u670d\u52a1\u5668\u548c\u5206\u5e03\u5f0f\u901a\u4fe1":47,"\u53c2\u6570\u6982\u8ff0":46,"\u53c2\u6570\u8bfb\u53d6":58,"\u53c2\u8003":3,"\u53c2\u8003\u6587\u6863":64,"\u53c2\u8003\u8d44\u6599":44,"\u53cc\u5411lstm":64,"\u53cc\u5c42rnn":36,"\u53cc\u5c42rnn\u4ecb\u7ecd":38,"\u53cc\u5c42rnn\u7684\u4f7f\u7528":38,"\u53ef\u80fd\u7684\u5185\u5b58\u6cc4\u9732\u95ee\u9898":3,"\u53ef\u80fd\u9047\u5230\u7684\u95ee\u9898":32,"\u53ef\u9009\u529f\u80fd":56,"\u5411\u7cfb\u7edf\u4f20\u9001\u6570\u636e":60,"\u5411\u91cf":47,"\u542f\u52a8\u4efb\u52a1":52,"\u542f\u52a8\u96c6\u7fa4\u4f5c\u4e1a":45,"\u547d\u4ee4\u884c\u53c2\u6570":60,"\u548c":35,"\u56fe\u50cf\u5206\u7c7b\u6559\u7a0b":57,"\u5728\u4e0d\u540c\u8bbe\u5907\u4e0a\u6307\u5b9a\u5c42":49,"\u5728paddlepaddle\u5e73\u53f0\u8bad\u7ec3\u6a21\u578b":56,"\u57fa\u4e8epython\u7684\u9884\u6d4b":5,"\u57fa\u672c\u4f7f\u7528\u6982\u5ff5":33,"\u57fa\u672c\u539f\u7406":38,"\u57fa\u672c\u8981\u6c42":25,"\u5982\u4f55\u4e66\u5199paddlepaddle\u7684\u6587\u6863":42,"\u5982\u4f55\u5171\u4eab\u53c2\u6570":27,"\u5982\u4f55\u51cf\u5c11\u5185\u5b58\u5360\u7528":27,"\u5982\u4f55\u521d\u59cb\u5316\u53c2\u6570":27,"\u5982\u4f55\u52a0\u901fpaddlepaddle\u7684\u8bad\u7ec3\u901f\u5ea6":27,"\u5982\u4f55\u6307\u5b9agpu\u8bbe\u5907":27,"\u5982\u4f55\u66f4\u65b0www":42,"\u5982\u4f55\u6784\u5efapaddlepaddle\u7684\u6587\u6863":42,"\u5982\u4f55\u8d21\u732e":42,"\u5982\u4f55\u8d21\u732e\u4ee3\u7801":40,"\u5982\u4f55\u8fdb\u884c\u6027\u80fd\u5206\u6790":44,"\u5982\u4f55\u9009\u62e9sgd\u7b97\u6cd5\u7684\u5b66\u4e60\u7387":27,"\u5b50\u5e8f\u5217\u95f4\u65e0memori":36,"\u5b50\u5e8f\u5217\u95f4\u6709memori":36,"\u5b57\u6bb5\u914d\u7f6e\u6587\u4ef6":62,"\u5b89\u88c5":[32,60],"\u5b89\u88c5\u4e0e\u7f16\u8bd1":31,"\u5b89\u88c5\u6d41\u7a0b":31,"\u5b89\u88c5kubectl":50,"\u5b8c\u6574\u6559\u7a0b":59,"\u5b9e\u73b0\u65b0\u7684\u7f51\u7edc\u5c42":41,"\u5b9e\u73b0c":41,"\u5b9e\u73b0python\u5c01\u88c5":41,"\u5bfc\u51fac":25,"\u5c06\u547d\u4ee4\u53c2\u6570\u4f20\u7ed9\u7f51\u7edc\u914d\u7f6e":49,"\u5c0f\u7ed3":3,"\u5de5\u5177":44,"\u5e38\u7528\u6a21\u578b":59,"\u5e76\u5b8c\u6210":40,"\u5efa\u7acb":40,"\u5f00\u53d1\u6807\u51c6":43,"\u5f00\u59cb\u5f00\u53d1":40,"\u5f02\u6b65\u968f\u673a\u68af\u5ea6\u4e0b\u964d":47,"\u5f15\u7528":63,"\u5feb\u901f\u5165\u95e8\u6559\u7a0b":60,"\u6027\u80fd\u4f18\u5316":43,"\u6027\u80fd\u5206\u6790\u5c0f\u6280\u5de7":44,"\u6027\u80fd\u5206\u6790\u5de5\u5177\u4ecb\u7ecd":44,"\u6027\u80fd\u8c03\u4f18":47,"\u603b\u4f53\u6548\u679c\u603b\u7ed3":60,"\u60c5\u611f\u5206\u6790\u6559\u7a0b":64,"\u6216\u8005\u662f":27,"\u627e\u5230\u7684pythonlibs\u548cpythoninterp\u7248\u672c\u4e0d\u4e00\u81f4":27,"\u6307\u9488\u4f5c\u4e3a\u7c7b\u578b\u7684\u53e5\u67c4":25,"\u63a5\u53e3":58,"\u63a8\u5bfc\u65b9\u7a0b":41,"\u63d0\u4ea4":40,"\u63d0\u4ea4\u955c\u50cf":51,"\u63d0\u53d6\u7535\u5f71\u6216\u7528\u6237\u7684\u7279\u5f81\u5e76\u751f\u6210python\u5bf9\u8c61":62,"\u642d\u5efa\u795e\u7ecf\u7f51\u7edc":33,"\u652f\u6301\u53cc\u5c42\u5e8f\u5217\u4f5c\u4e3a\u8f93\u5165\u7684layer":35,"\u6570\u636e\u51c6\u5907":[57,62,65],"\u6570\u636e\u63cf\u8ff0":63,"\u6570\u636e\u63d0\u4f9b":63,"\u6570\u636e\u63d0\u4f9b\u811a\u672c":62,"\u6570\u636e\u652f\u6301":47,"\u6570\u636e\u683c\u5f0f\u51c6\u5907":60,"\u6570\u636e\u7684\u51c6\u5907\u548c\u9884\u5904\u7406":56,"\u6570\u636e\u96c6\u7279\u5f81":61,"\u6570\u636e\u9884\u5904\u7406":65,"\u6570\u6910\u4ecb\u7ecd":64,"\u6570\u6910\u51c6\u5907":64,"\u6574\u4f53\u65b9\u6848":52,"\u6587\u672c\u751f\u6210":65,"\u6587\u672c\u751f\u6210\u6559\u7a0b":65,"\u6587\u6863":[30,55],"\u65b0\u624b\u5165\u95e8":34,"\u65f6\u5e8f\u6a21\u578b":60,"\u65f6\u5e8f\u6a21\u578b\u7684\u4f7f\u7528\u573a\u666f":3,"\u65f6\u95f4\u5e8f\u5217":36,"\u65f6\u95f4\u6b65":36,"\u672c\u5730\u6d4b\u8bd5":49,"\u672c\u5730\u8bad\u7ec3":49,"\u6784\u5efa\u548c\u6d4b\u8bd5":40,"\u67e5\u770b\u8bad\u7ec3\u7ed3\u679c":51,"\u67e5\u770b\u8f93\u51fa":52,"\u6837\u4f8b\u6570\u636e":3,"\u6848\u4f8b\u4e00":49,"\u6848\u4f8b\u4e8c":49,"\u68c0\u67e5\u6a21\u578b\u8f93\u51fa":45,"\u68c0\u67e5\u96c6\u7fa4\u8bad\u7ec3\u7ed3\u679c":45,"\u6982\u8ff0":[35,38],"\u6a21\u578b":58,"\u6a21\u578b\u4e0b\u8f7d":58,"\u6a21\u578b\u68c0\u9a8c":28,"\u6a21\u578b\u7f51\u7edc\u7ed3\u6784":60,"\u6a21\u578b\u8bad\u7ec3":[57,65],"\u6a21\u578b\u8bc4\u4f30\u548c\u9884\u6d4b":62,"\u6a21\u578b\u914d\u7f6e":[36,43],"\u6a21\u578b\u914d\u7f6e\u7684\u6a21\u578b\u914d\u7f6e":36,"\u6ce8\u610f\u4e8b\u9879":3,"\u6d4b\u8bd5":[47,63],"\u6d4b\u8bd5\u6587\u4ef6":62,"\u6d4b\u8bd5\u6a21\u578b":64,"\u7279\u5f81":63,"\u7279\u5f81\u63d0\u53d6":58,"\u751f\u6210\u5e8f\u5217":39,"\u751f\u6210\u6a21\u578b\u7684\u547d\u4ee4\u4e0e\u7ed3\u679c":65,"\u751f\u6210\u6d41\u7a0b\u7684\u4f7f\u7528\u65b9\u6cd5":38,"\u7528\u6237\u6587\u4ef6\u63cf\u8ff0":61,"\u7528\u6237\u81ea\u5b9a\u4e49\u6570\u636e\u96c6":65,"\u7528\u6237\u81ea\u5b9a\u4e49\u6570\u6910\u9884\u5904\u7406":64,"\u7535\u5f71\u6587\u4ef6\u63cf\u8ff0":61,"\u76f4\u63a5\u6784\u5efapaddlepaddle\u7684\u6587\u6863":42,"\u76f8\u5173\u6982\u5ff5":38,"\u77e9\u9635":47,"\u793a\u4f8b1":36,"\u793a\u4f8b2":36,"\u793a\u4f8b3":36,"\u793a\u4f8b4":36,"\u795e\u7ecf\u5143\u6fc0\u6d3b\u5185\u5b58":27,"\u795e\u7ecf\u7f51\u7edc\u7ed3\u6784\u914d\u7f6e":62,"\u795e\u7ecf\u7f51\u7edc\u914d\u7f6e":63,"\u7a00\u758f\u8bad\u7ec3":49,"\u7b26\u53f7":25,"\u7b80\u4ecb":[50,65],"\u7b80\u5355\u5b9e\u73b0":25,"\u7b80\u5355\u95e8\u63a7\u5faa\u73af\u795e\u7ecf\u7f51\u7edc":39,"\u7c7b":[25,41],"\u7ebf\u6027\u56de\u5f52\u5b8c\u6574\u793a\u4f8b":33,"\u7ec3\u4e60":57,"\u7ec6\u8282\u63a2\u7a76":57,"\u7ec6\u8282\u63cf\u8ff0":47,"\u7ec8\u6b62\u96c6\u7fa4\u4f5c\u4e1a":45,"\u7ecf\u5178\u7684\u7ebf\u6027\u56de\u5f52\u4efb\u52a1":28,"\u7f16\u5199yaml\u6587\u4ef6":51,"\u7f16\u8bd1\u6d41\u7a0b":31,"\u7f16\u8bd1\u9009\u9879\u7684\u8bbe\u7f6e":29,"\u7f51\u7edc\u53ef\u89c6\u5316":58,"\u7f51\u7edc\u914d\u7f6e\u4e2d\u7684\u8c03\u7528":3,"\u800c\u662f\u624b\u5199\u591a\u8bed\u8a00\u7ed1\u5b9a":25,"\u80cc\u666f":25,"\u81ea\u7136\u8bed\u8a00\u5904\u7406":47,"\u81f4\u8c22":0,"\u89c2\u6d4b\u8bcd\u5411\u91cf":56,"\u8bad\u7ec3":[47,62,63],"\u8bad\u7ec3\u5668\u914d\u7f6e\u6587\u4ef6":62,"\u8bad\u7ec3\u56e0\u6b64\u9000\u51fa\u600e\u4e48\u529e":27,"\u8bad\u7ec3\u6a21\u578b":[28,33,60,64],"\u8bad\u7ec3\u6a21\u578b\u7684\u547d\u4ee4\u4e0e\u7ed3\u679c":65,"\u8bad\u7ec3\u6d41\u7a0b\u7684\u4f7f\u7528\u65b9\u6cd5":38,"\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u51fa\u73b0":27,"\u8bbe\u7f6e\u547d\u4ee4\u884c\u53c2\u6570":48,"\u8bc4\u5206\u6587\u4ef6\u63cf\u8ff0":61,"\u8bcd\u5411\u91cf\u6a21\u578b":60,"\u8bcd\u5411\u91cf\u6a21\u578b\u7684\u4fee\u6b63":56,"\u8bcd\u6c47\u8868":36,"\u8be6\u7ec6\u6559\u7a0b":44,"\u8bed\u4e49\u89d2\u8272\u6807\u6ce8\u6559\u7a0b":63,"\u8bfb\u53d6\u53cc\u5c42\u5e8f\u5217\u6570\u636e":36,"\u8f93\u5165":38,"\u8f93\u5165\u4e0d\u7b49\u957f":36,"\u8f93\u5165\u793a\u4f8b":38,"\u8f93\u51fa":38,"\u8f93\u51fa\u65e5\u5fd7":60,"\u8fd0\u884c\u5206\u5e03\u5f0f\u8bad\u7ec3":45,"\u8fd0\u884c\u5bb9\u5668":51,"\u8fd0\u884cdocker":27,"\u8fd0\u884cpaddlepaddl":30,"\u8fd9\u4e2a\u52a8\u6001\u5e93\u4f7f\u7528c99\u6807\u51c6\u7684\u5934\u6587\u4ef6\u5bfc\u51fa\u4e00\u4e9b\u51fd\u6570":25,"\u8fdb\u884c\u8bad\u7ec3":51,"\u8fdb\u9636\u6307\u5357":43,"\u9009\u62e9\u5b58\u50a8\u65b9\u6848":50,"\u901a\u7528":47,"\u901a\u8fc7docker\u5bb9\u5668\u5f00\u53d1paddlepaddl":30,"\u903b\u8f91\u56de\u5f52\u6a21\u578b":60,"\u9047\u5230":27,"\u90e8\u7f72kubernetes\u96c6\u7fa4":50,"\u914d\u7f6e\u4e2d\u7684\u6570\u636e\u52a0\u8f7d\u5b9a\u4e49":60,"\u914d\u7f6e\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u67b6\u6784":39,"\u914d\u7f6e\u7f51\u7edc":33,"\u914d\u7f6ekubectl":50,"\u914d\u7f6ekubectl\u8bbf\u95ee\u4f60\u7684kubernetes\u96c6\u7fa4":50,"\u94a9\u5b50":40,"\u9644\u5f55":60,"\u968f\u673a\u6570":47,"\u96c6\u7fa4\u8bad\u7ec3":49,"\u975e\u6cd5\u6307\u4ee4":27,"\u9884\u5904\u7406":57,"\u9884\u5904\u7406\u547d\u4ee4\u548c\u7ed3\u679c":65,"\u9884\u5904\u7406\u5de5\u4f5c\u6d41\u7a0b":65,"\u9884\u6d4b":[57,58,60,63,64],"\u9884\u6d4b\u6d41\u7a0b":5,"\u9884\u6d4bdemo":5,"\u9884\u8bad\u7ec3\u7684\u6a21\u578b":65,"api\u4e2d\u6587\u624b\u518c":4,"api\u5bf9\u6bd4\u4ecb\u7ecd":36,"beam_search\u7684\u751f\u6210":36,"blas\u8def\u5f84\u76f8\u5173\u7684\u7f16\u8bd1\u9009\u9879":29,"bleu\u8bc4\u4f30":65,"bool\u578b\u7684\u7f16\u8bd1\u9009\u9879":29,"cmake\u6e90\u7801\u7f16\u8bd1":27,"cudnn\u7684\u7f16\u8bd1\u9009\u9879":29,"dataprovider\u7684\u4ecb\u7ecd":2,"dataprovider\u7684\u4f7f\u7528":3,"float":27,"gpu\u548ccpu\u6df7\u5408\u4f7f\u7528":49,"gpu\u6027\u80fd\u5206\u6790\u4e0e\u8c03\u4f18":44,"gpu\u955c\u50cf\u51fa\u73b0":27,"group\u6559\u7a0b":38,"kubernetes\u5206\u5e03\u5f0f\u8bad\u7ec3":52,"kubernetes\u5355\u673a\u8bad\u7ec3":51,"meta\u6587\u4ef6":62,"meta\u914d\u7f6e\u6587\u4ef6":62,"mnist\u7684\u4f7f\u7528\u573a\u666f":3,"movielens\u6570\u636e\u96c6":61,"movielens\u6570\u636e\u96c6\u8bc4\u5206\u56de\u5f52\u6a21\u578b":62,"org\u6587\u6863":42,"paddle\u52a8\u6001\u5e93\u4e2d":25,"paddle\u591a\u8bed\u8a00\u63a5\u53e3\u5b9e\u73b0":25,"paddlepaddle\u53d1\u5e03\u7684docker\u955c\u50cf\u4f7f\u7528\u8bf4\u660e":30,"paddlepaddle\u7684\u7f16\u8bd1\u9009\u9879":29,"paddlepaddle\u7684docker\u5bb9\u5668\u4f7f\u7528\u65b9\u5f0f":30,"pod\u95f4\u901a\u4fe1":52,"pydataprovider2\u7684\u4f7f\u7528":3,"python\u63a5\u53e3":58,"python\u76f8\u5173\u7684\u5355\u5143\u6d4b\u8bd5\u90fd\u8fc7\u4e0d\u4e86":27,"python\u811a\u672c\u8bfb\u53d6\u6570\u636e":60,"return":26,"rnn\u76f8\u5173\u6a21\u578b":37,"rnn\u914d\u7f6e":39,"so\u627e\u4e0d\u5230":32,"ubuntu\u90e8\u7f72paddlepaddl":32,Abs:14,absactiv:6,activ:[6,14],adadelta:18,adadeltaoptim:12,adagrad:18,adagradoptim:12,adam:18,adamax:18,adamaxoptim:12,adamoptim:12,addto:16,addto_lay:10,aggreg:[10,16],algorithm:24,api:[1,4],applic:4,argument:26,async:47,attent:39,attribut:[7,15],auc_evalu:9,avg:19,avgpool:13,base:[9,10],baseactiv:6,basepool:19,basepoolingtyp:13,basesgdoptim:12,batch:26,batch_norm:16,batch_norm_lay:10,batch_siz:26,beam_search:[10,16],becaus:27,between:23,bidirectional_lstm:[11,17],big:27,bilinear_interp:16,bilinear_interp_lay:10,bla:29,block_expand:16,block_expand_lay:10,book:30,brelu:14,breluactiv:6,cach:3,check:[10,16],chunk_evalu:9,cifar:20,classif:9,classification_error_evalu:9,classification_error_printer_evalu:9,clone:40,column_sum_evalu:9,commit:40,compos:26,concat:16,concat_lay:10,config:4,configur:21,conll05:20,connect:[10,16],content:[3,27,35,44],context_project:[10,16],conv:[10,16],conv_oper:[10,16],conv_project:[10,16],conv_shift:16,conv_shift_lay:10,cos_sim:[10,16],cost:[10,16],cp27mu:27,creat:26,creator:26,crf:16,crf_decod:16,crf_decoding_lay:10,crf_layer:10,cross_channel_norm:16,cross_entropi:10,cross_entropy_cost:16,cross_entropy_with_selfnorm:10,cross_entropy_with_selfnorm_cost:16,ctc:16,ctc_error_evalu:9,ctc_layer:10,cuda:[27,29],cudnn:29,cudnnavg:19,cudnnmax:19,custom:26,dat:61,data:[10,16,20,26],data_lay:10,datafeed:20,dataprovid:[4,47],dataset:[20,24],datasourc:8,datatyp:20,decayedadagrad:18,decayedadagradoptim:12,decor:26,design:[23,24,26],dictionari:26,distribut:[23,24],doc:[23,24,26],dotmul_oper:[10,16],dotmul_project:[10,16],driver:27,dropout_lay:[11,17],dynam:24,embed:16,embedding_lay:10,entri:26,eos:16,eos_lay:10,evalu:9,event:[22,23],exampl:23,except:27,exp:14,expactiv:6,expand:[16,35],expand_lay:10,faq:27,fault:24,fc_layer:10,first_seq:[10,16,35],fork:40,format:24,from:23,full_matrix_project:[10,16],fulli:[10,16],gate:39,get_output:16,get_output_lay:10,gpu:47,gradient_printer_evalu:9,group:[10,16],gru:[11,17,47],gru_group:[11,17],gru_step:16,gru_step_lay:10,gru_unit:[11,17],grumemori:[10,16],handler:[23,25],how:26,hsigmoid:[10,16],huber_cost:[10,16],ident:14,identity_project:[10,16],identityactiv:6,illeg:27,imag:[10,11,16,17],imagenet:58,imdb:[20,64],img_cmrnorm:16,img_cmrnorm_lay:10,img_conv:16,img_conv_bn_pool:[11,17],img_conv_group:[11,17],img_conv_lay:10,img_pool:16,img_pool_lay:10,imikolov:20,implement:26,infer:22,ingredi:23,init_hook:3,input_typ:3,instruct:27,insuffici:27,interfac:[20,24,26],interpol:16,interpolation_lay:10,isn:26,issu:40,job:[24,51],join:[10,16],kubernet:[50,51],lambda_cost:[10,16],last_seq:[10,16,35],layer:[10,16,23],layeroutput:10,layertyp:10,libcudart:32,libcudnn:32,linear:14,linear_comb:16,linear_comb_lay:10,linearactiv:6,linux_x86_64:27,list:26,log:14,logactiv:6,lstm:[11,17,47,63,64],lstm_step:16,lstm_step_lay:10,lstmemori:[10,16],lstmemory_group:[11,17],lstmemory_unit:[11,17],map:26,master:24,math:[10,16],max:19,maxframe_printer_evalu:9,maxid:16,maxid_lay:10,maxid_printer_evalu:9,maxout:16,maxout_lay:10,maxpool:13,memori:[10,16,36,38],messag:27,mini:26,minibatch:20,misc:[11,17],mix:[10,16],mixed_lay:10,mnist:20,model:[4,21,23,39,58],momentum:18,momentumoptim:12,movi:61,movielen:20,mse_cost:[10,16],multi_binary_label_cross_entropi:10,multi_binary_label_cross_entropy_cost:16,multipl:26,nce:16,nce_lay:10,need:26,network:[11,17,39],neural:39,nlp:[11,17,47],norm:[10,16],nvprof:44,nvvp:44,object:24,onli:26,optim:[12,18,24],output:11,pad:16,pad_lay:10,paddl:26,paddlepaddl:[23,42,55],parallel_nn:49,paramet:[7,15,22,23,24],perform:47,platform:27,pnpair_evalu:9,point:27,pool:[10,13,16,19,35],pooling_lay:10,power:16,power_lay:10,pre:40,precision_recall_evalu:9,prefetch:26,print:9,process:24,protocol:27,provid:[3,26],pull:40,push:40,python:26,queue:24,rank:9,rank_cost:[10,16],rate:61,reader:[20,23,26],recoveri:24,recurr:[10,11,16,17,38,39],recurrent_group:[10,16],recurrent_lay:10,refer:3,reject:27,relu:14,reluactiv:6,repeat:16,repeat_lay:10,request:40,reshap:[10,16],resnet:58,rmsprop:18,rmspropoptim:12,rnn:[36,47],rotat:16,rotate_lay:10,sampl:[10,16],sampling_id:16,sampling_id_lay:10,scale:[16,24],scaling_lay:10,scaling_project:[10,16],selective_fc:16,selective_fc_lay:10,sentiment:20,seq_concat:16,seq_concat_lay:10,seq_reshap:16,seq_reshape_lay:10,seqtext_printer_evalu:9,sequenc:39,sequence_conv_pool:[11,17],sequencesoftmax:14,sequencesoftmaxactiv:6,server:24,set:12,sgd:47,share:23,shuffl:26,sigmoid:14,sigmoidactiv:6,simple_attent:[11,17],simple_gru:[11,17],simple_img_conv_pool:[11,17],simple_lstm:[11,17],singl:26,slice:[10,16],slope_intercept:16,slope_intercept_lay:10,softmax:14,softmaxactiv:6,softrelu:14,softreluactiv:6,spp:16,spp_layer:10,squar:14,squareactiv:6,squarerootn:19,squarerootnpool:13,stack:64,stanh:14,stanhactiv:6,start:23,suffici:26,sum:19,sum_cost:[10,16],sum_evalu:9,sum_to_one_norm:16,sum_to_one_norm_lay:10,summar:23,sumpool:13,support:27,table_project:[10,16],take:26,tanh:14,tanhactiv:6,task:24,tensor:16,tensor_lay:10,text_conv_pool:[11,17],thi:27,toler:24,too:27,train:[22,23,24,26],trainer:[22,24],tran:16,trans_full_matrix_project:[10,16],trans_lay:10,tune:47,uci_h:20,updat:23,usag:26,use:26,user:[24,61],util:9,value_printer_evalu:9,version:27,vgg_16_network:[11,17],warp_ctc:16,warp_ctc_lay:10,wheel:27,whl:27,why:26,wmt14:20,zoo:58}}) \ No newline at end of file diff --git a/release/0.10.0/doc_cn/tutorials/embedding_model/index_cn.html b/release/0.10.0/doc_cn/tutorials/embedding_model/index_cn.html new file mode 100644 index 0000000000..6c5d4fd3f9 --- /dev/null +++ b/release/0.10.0/doc_cn/tutorials/embedding_model/index_cn.html @@ -0,0 +1,411 @@ + + + + + + + + + + + 中文词向量模型的使用 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • 中文词向量模型的使用
  • +
+
+ +
+
+
+
+ +
+

中文词向量模型的使用

+
+

本文档介绍如何在PaddlePaddle平台上,使用预训练的标准格式词向量模型。

+

在此感谢 @lipeng 提出的代码需求,并给出的相关模型格式的定义。

+
+

介绍

+
+

中文字典

+

我们的字典使用内部的分词工具对百度知道和百度百科的语料进行分词后产生。分词风格如下: “《红楼梦》”将被分为 “《”,”红楼梦”,”》”,和 “《红楼梦》”。字典采用UTF8编码,输出有2列:词本身和词频。字典共包含 3206326个词和4个特殊标记:

+
    +
  • <s>: 分词序列的开始
  • +
  • <e>: 分词序列的结束
  • +
  • PALCEHOLDER_JUST_IGNORE_THE_EMBEDDING: 占位符,没有实际意义
  • +
  • <unk>: 未知词
  • +
+
+
+

中文词向量的预训练模型

+

遵循文章 A Neural Probabilistic Language Model中介绍的方法,模型采用 n-gram 语言模型,结构如下图:6元上下文作为输入层->全连接层->softmax层 。对应于字典,我们预训练得到4种不同维度的词向量,分别为:32维、64维、128维和256维。 +

+
Figure 1. neural-n-gram-model

+
+
+

下载和数据抽取

+

运行以下的命令下载和获取我们的字典和预训练模型:

+
cd $PADDLE_ROOT/demo/model_zoo/embedding
+./pre_DictAndModel.sh
+
+
+
+
+
+

中文短语改写的例子

+

以下示范如何使用预训练的中文字典和词向量进行短语改写。

+
+

数据的准备和预处理

+

首先,运行以下的命令下载数据集。该数据集(utf8编码)包含20个训练样例,5个测试样例和2个生成式样例。

+
cd $PADDLE_ROOT/demo/seqToseq/data
+./paraphrase_data.sh
+
+
+

第二步,将数据处理成规范格式,在训练数集上训练生成词向量字典(数据将保存在 $PADDLE_SOURCE_ROOT/demo/seqToseq/data/pre-paraphrase):

+
cd $PADDLE_ROOT/demo/seqToseq/
+python preprocess.py -i data/paraphrase [--mergeDict]
+
+
+
    +
  • 其中,如果使用--mergeDict选项,源语言短语和目标语言短语的字典将被合并(源语言和目标语言共享相同的编码字典)。本实例中,源语言和目标语言都是相同的语言,因此可以使用该选项。
  • +
+
+
+

使用用户指定的词向量字典

+

使用如下命令,从预训练模型中,根据用户指定的字典,抽取对应的词向量构成新的词表: +cd $PADDLE_ROOT/demo/model_zoo/embedding +python extract_para.py –preModel PREMODEL –preDict PREDICT –usrModel USRMODEL–usrDict USRDICT -d DIM

+
    +
  • --preModel PREMODEL: 预训练词向量字典模型的路径
  • +
  • --preDict PREDICT: 预训练模型使用的字典的路径
  • +
  • --usrModel USRMODEL: 抽取出的新词表的保存路径
  • +
  • --usrDict USRDICT: 用户指定新的字典的路径,用于构成新的词表
  • +
  • -d DIM: 参数(词向量)的维度
  • +
+

此处,你也可以简单的运行以下的命令:

+
cd $PADDLE_ROOT/demo/seqToseq/data/
+./paraphrase_model.sh
+
+
+

运行成功以后,你将会看到以下的模型结构:

+
paraphrase_model
+|--- _source_language_embedding
+|--- _target_language_embedding
+
+
+
+
+

在PaddlePaddle平台训练模型

+

首先,配置模型文件,配置如下(可以参考保存在 demo/seqToseq/paraphrase/train.conf的配置):

+
from seqToseq_net import *
+is_generating = False
+
+################## Data Definition #####################
+train_conf = seq_to_seq_data(data_dir = "./data/pre-paraphrase",
+                             job_mode = job_mode)
+
+############## Algorithm Configuration ##################
+settings(
+      learning_method = AdamOptimizer(),
+      batch_size = 50,
+      learning_rate = 5e-4)
+
+################# Network configure #####################
+gru_encoder_decoder(train_conf, is_generating, word_vector_dim = 32)
+
+
+

这个配置与demo/seqToseq/translation/train.conf 基本相同

+

然后,使用以下命令进行模型训练:

+
cd $PADDLE_SOURCE_ROOT/demo/seqToseq/paraphrase
+./train.sh
+
+
+

其中,train.shdemo/seqToseq/translation/train.sh 基本相同,只有2个配置不一样:

+
    +
  • --init_model_path: 初始化模型的路径配置为data/paraphrase_modeldata/paraphrase_model
  • +
  • --load_missing_parameter_strategy:如果参数模型文件缺失,除词向量模型外的参数将使用正态分布随机初始化
  • +
+

如果用户想要了解详细的数据集的格式、模型的结构和训练过程,请查看 Text generation Tutorial.

+
+
+
+

可选功能

+
+

观测词向量

+

PaddlePaddle 平台为想观测词向量的用户提供了将二进制词向量模型转换为文本模型的功能:

+
cd $PADDLE_ROOT/demo/model_zoo/embedding
+python paraconvert.py --b2t -i INPUT -o OUTPUT -d DIM
+
+
+
    +
  • -i INPUT: 输入的(二进制)词向量模型名称
  • +
  • -o OUTPUT: 输出的文本模型名称
  • +
  • -d DIM: (词向量)参数维度
  • +
+

运行完以上命令,用户可以在输出的文本模型中看到:

+
0,4,32156096
+-0.7845433,1.1937413,-0.1704215,0.4154715,0.9566584,-0.5558153,-0.2503305, ......
+0.0000909,0.0009465,-0.0008813,-0.0008428,0.0007879,0.0000183,0.0001984, ......
+......
+
+
+
    +
  • 其中,第一行是PaddlePaddle 输出文件的格式说明,包含3个属性::
      +
    • PaddlePaddle的版本号,本例中为0
    • +
    • 浮点数占用的字节数,本例中为4
    • +
    • 总计的参数个数,本例中为32,156,096
    • +
    +
  • +
  • 其余行是(词向量)参数行(假设词向量维度为32)
      +
    • 每行打印32个参数以’,’分隔
    • +
    • 共有32,156,096/32 = 1,004,877行,也就是说,模型共包含1,004,877个被向量化的词
    • +
    +
  • +
+
+
+

词向量模型的修正

+

PaddlePaddle 为想修正词向量模型的用户提供了将文本词向量模型转换为二进制模型的命令:

+
cd $PADDLE_ROOT/demo/model_zoo/embedding
+python paraconvert.py --t2b -i INPUT -o OUTPUT
+
+
+
    +
  • -i INPUT: 输入的文本词向量模型名称
  • +
  • -o OUTPUT: 输出的二进制词向量模型名称
  • +
+

请注意,输入的文本格式如下:

+
-0.7845433,1.1937413,-0.1704215,0.4154715,0.9566584,-0.5558153,-0.2503305, ......
+0.0000909,0.0009465,-0.0008813,-0.0008428,0.0007879,0.0000183,0.0001984, ......
+......
+
+
+
    +
  • 输入文本中没有头部(格式说明)行
  • +
  • (输入文本)每行存储一个词,以逗号’,’分隔
  • +
+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/tutorials/image_classification/index_cn.html b/release/0.10.0/doc_cn/tutorials/image_classification/index_cn.html new file mode 100644 index 0000000000..a6d225e259 --- /dev/null +++ b/release/0.10.0/doc_cn/tutorials/image_classification/index_cn.html @@ -0,0 +1,432 @@ + + + + + + + + + + + 图像分类教程 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • 图像分类教程
  • +
+
+ +
+
+
+
+ +
+

图像分类教程

+

在本教程中,我们将使用CIFAR-10数据集训练一个卷积神经网络,并使用这个神经网络来对图片进行分类。如下图所示,卷积神经网络可以辨识图片中的主体,并给出分类结果。 +

Image Classification

+
+

数据准备

+

首先下载CIFAR-10数据集。下面是CIFAR-10数据集的官方网址:

+

https://www.cs.toronto.edu/~kriz/cifar.html

+

我们准备了一个脚本,可以用于从官方网站上下载CIFAR-10数据集,转为jpeg文件并存入特定的目录。使用这个脚本前请确认已经安装了pillow及相关依赖模块。可以参照下面的命令进行安装:

+
    +
  1. 安装pillow
  2. +
+
sudo apt-get install libjpeg-dev
+pip install pillow
+
+
+
    +
  1. 下载数据集
  2. +
+
cd demo/image_classification/data/
+sh download_cifar.sh
+
+
+

CIFAR-10数据集包含60000张32x32的彩色图片。图片分为10类,每个类包含6000张。其中50000张图片作为训练集,10000张作为测试集。

+

下图展示了所有的图片类别,每个类别中随机抽取了10张图片。 +

Image Classification

+

脚本运行完成后,我们应当会得到一个名为cifar-out的文件夹,其下子文件夹的结构如下

+
train
+---airplane
+---automobile
+---bird
+---cat
+---deer
+---dog
+---frog
+---horse
+---ship
+---truck
+test
+---airplane
+---automobile
+---bird
+---cat
+---deer
+---dog
+---frog
+---horse
+---ship
+---truck
+
+
+

cifar-out下包含traintest两个文件夹,其中分别包含了CIFAR-10中的训练集和测试集。这两个文件夹下各自有10个子文件夹,每个子文件夹下存储相应分类的图片。将图片按照上述结构存储好之后,我们就可以着手对分类模型进行训练了。

+
+
+

预处理

+

数据下载之后,还需要进行预处理,将数据转换为Paddle的格式。我们可以通过如下命令进行预处理工作:

+
cd demo/image_classification/
+sh preprocess.sh
+
+
+

其中preprocess.sh 调用 ./demo/image_classification/preprocess.py 对图片进行预处理

+
export PYTHONPATH=$PYTHONPATH:../../
+data_dir=./data/cifar-out
+python preprocess.py -i $data_dir -s 32 -c 1
+
+
+

./demo/image_classification/preprocess.py 使用如下参数:

+
    +
  • -i--input 给出输入数据所在路径;
  • +
  • -s--size 给出图片尺寸;
  • +
  • -c--color 标示图片是彩色图或灰度图
  • +
+
+
+

模型训练

+

在开始训练之前,我们需要先创建一个模型配置文件。下面我们给出了一个配置示例。注意,这里的列出的和vgg_16_cifar.py文件稍有差别,因为该文件可适用于预测。

+
from paddle.trainer_config_helpers import *
+data_dir='data/cifar-out/batches/'
+meta_path=data_dir+'batches.meta'
+args = {'meta':meta_path, 'mean_img_size': 32,
+        'img_size': 32, 'num_classes': 10,
+        'use_jpeg': 1, 'color': "color"}
+define_py_data_sources2(train_list=data_dir+"train.list",
+                        test_list=data_dir+'test.list',
+                        module='image_provider',
+                        obj='processData',
+                        args=args)
+settings(
+    batch_size = 128,
+    learning_rate = 0.1 / 128.0,
+    learning_method = MomentumOptimizer(0.9),
+    regularization = L2Regularization(0.0005 * 128))
+
+img = data_layer(name='image', size=3*32*32)
+lbl = data_layer(name="label", size=10)
+# small_vgg is predined in trainer_config_helpers.network
+predict = small_vgg(input_image=img, num_channels=3)
+outputs(classification_cost(input=predict, label=lbl))
+
+
+

在第一行中我们载入用于定义网络的函数。

+
from paddle.trainer_config_helpers import *
+
+
+

之后定义的define_py_data_sources2使用Python数据提供器,其中 args将在image_provider.py进行使用,该文件负责产生图片数据并传递给Paddle系统

+
    +
  • meta: 训练集平均值。
  • +
  • mean_img_size: 平均特征图的高度及宽度。
  • +
  • img_size:输入图片的高度及宽度。
  • +
  • num_classes:类别个数。
  • +
  • use_jpeg:处理过程中数据存储格式。
  • +
  • color:标示是否为彩色图片。
  • +
+

settings用于设置训练算法。在下面的例子中,learning rate被设置为0.1除以batch size,而weight decay则为0.0005乘以batch size。

+
settings(
+   batch_size = 128,
+   learning_rate = 0.1 / 128.0,
+   learning_method = MomentumOptimizer(0.9),
+   regularization = L2Regularization(0.0005 * 128)
+)
+
+
+

small_vgg定义了网络结构。这里我们使用的是一个小的VGG网络。关于VGG卷积神经网络的描述可以参考:http://www.robots.ox.ac.uk/~vgg/research/very_deep/

+
# small_vgg is predined in trainer_config_helpers.network
+predict = small_vgg(input_image=img, num_channels=3)
+
+
+

配置创建完毕后,可以运行脚本train.sh来训练模型。

+
config=vgg_16_cifar.py
+output=./cifar_vgg_model
+log=train.log
+
+paddle train \
+--config=$config \
+--dot_period=10 \
+--log_period=100 \
+--test_all_data_in_one_period=1 \
+--use_gpu=1 \
+--save_dir=$output \
+2>&1 | tee $log
+
+python -m paddle.utils.plotcurve -i $log > plot.png
+
+
+
    +
  • 这里我们使用的是GPU模式进行训练。如果你没有GPU环境,可以设置use_gpu=0
  • +
  • ./demo/image_classification/vgg_16_cifar.py是网络和数据配置文件。各项参数的详细说明可以在命令行参数相关文档中找到。
  • +
  • 脚本plotcurve.py依赖于python的matplotlib模块。因此如果这个脚本运行失败,也许是因为需要安装matplotlib。 +在训练完成后,训练及测试误差曲线图会被plotcurve.py脚本保存在 plot.png中。下面是一个误差曲线图的示例:
  • +
+

Training and testing curves.

+
+
+

预测

+

在训练完成后,模型及参数会被保存在路径./cifar_vgg_model/pass-%05d下。例如第300个pass的模型会被保存在./cifar_vgg_model/pass-00299

+

要对一个图片的进行分类预测,我们可以使用predict.sh,该脚本将输出预测分类的标签:

+
sh predict.sh
+
+
+

predict.sh:

+
model=cifar_vgg_model/pass-00299/
+image=data/cifar-out/test/airplane/seaplane_s_000978.png
+use_gpu=1
+python prediction.py $model $image $use_gpu
+
+
+
+
+

练习

+

在CUB-200数据集上使用VGG模型训练一个鸟类图片分类模型。相关的鸟类数据集可以从如下地址下载,其中包含了200种鸟类的照片(主要来自北美洲)。

+

http://www.vision.caltech.edu/visipedia/CUB-200.html

+
+
+

细节探究

+
+

卷积神经网络

+

卷积神经网络是一种使用卷积层的前向神经网络,很适合构建用于理解图片内容的模型。一个典型的神经网络如下图所示:

+

Convolutional Neural Network

+

一个卷积神经网络包含如下层:

+
    +
  • 卷积层:通过卷积操作从图片或特征图中提取特征
  • +
  • 池化层:使用max-pooling对特征图下采样
  • +
  • 全连接层:使输入层到隐藏层的神经元是全部连接的。
  • +
+

卷积神经网络在图片分类上有着惊人的性能,这是因为它发掘出了图片的两类重要信息:局部关联性质和空间不变性质。通过交替使用卷积和池化处理, 卷积神经网络能够很好的表示这两类信息。

+

关于如何定义网络中的层,以及如何在层之间进行连接,请参考Layer文档。

+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/tutorials/imagenet_model/resnet_model_cn.html b/release/0.10.0/doc_cn/tutorials/imagenet_model/resnet_model_cn.html new file mode 100644 index 0000000000..ec3503aa1e --- /dev/null +++ b/release/0.10.0/doc_cn/tutorials/imagenet_model/resnet_model_cn.html @@ -0,0 +1,500 @@ + + + + + + + + + + + Model Zoo - ImageNet — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • Model Zoo - ImageNet
  • +
+
+ +
+
+
+
+ +
+

Model Zoo - ImageNet

+

ImageNet 是通用物体分类领域一个众所周知的数据库。本教程提供了一个用于ImageNet上的卷积分类网络模型。

+
+

ResNet 介绍

+

论文 Deep Residual Learning for Image Recognition 中提出的ResNet网络结构在2015年ImageNet大规模视觉识别竞赛(ILSVRC 2015)的分类任务中赢得了第一名。他们提出残差学习的框架来简化网络的训练,所构建网络结构的的深度比之前使用的网络有大幅度的提高。下图展示的是基于残差的连接方式。左图构造网络模块的方式被用于34层的网络中,而右图的瓶颈连接模块用于50层,101层和152层的网络结构中。

+

resnet_block
+
图 1. ResNet 网络模块

+

本教程中我们给出了三个ResNet模型,这些模型都是由原作者提供的模型https://github.com/KaimingHe/deep-residual-networks转换过来的。我们使用PaddlePaddle在ILSVRC的验证集共50,000幅图像上测试了模型的分类错误率,其中输入图像的颜色通道顺序为BGR,保持宽高比缩放到短边为256,只截取中心方形的图像区域。分类错误率和模型大小由下表给出。 +

+ +++++ + + + + + + + + + + + + + + + + + + + + + + +
ResNetTop-1Model Size
ResNet-5024.9%99M
ResNet-10123.7%173M
ResNet-15223.2%234M
+
+
+

ResNet 模型

+

50层,101层和152层的网络配置文件可参照demo/model_zoo/resnet/resnet.py。你也可以通过在命令行参数中增加一个参数如--config_args=layer_num=50来指定网络层的数目。

+
+

网络可视化

+

你可以通过执行下面的命令来得到ResNet网络的结构可视化图。该脚本会生成一个dot文件,然后可以转换为图片。需要安装graphviz来转换dot文件为图片。

+
cd demo/model_zoo/resnet
+./net_diagram.sh
+
+
+
+
+

模型下载

+
cd demo/model_zoo/resnet
+./get_model.sh
+
+
+

你可以执行上述命令来下载所有的模型和均值文件,如果下载成功,这些文件将会被保存在demo/model_zoo/resnet/model路径下。

+
mean_meta_224  resnet_101  resnet_152  resnet_50
+
+
+
    +
  • resnet_50: 50层网络模型。
  • +
  • resnet_101: 101层网络模型。
  • +
  • resnet_152: 152层网络模型。
  • +
  • mean_meta_224: 均值图像文件,图像大小为3 x 224 x 224,颜色通道顺序为BGR。你也可以使用这三个值: 103.939, 116.779, 123.68。
  • +
+
+
+

参数信息

+
    +
  • 卷积层权重

    +

    由于每个卷积层后面连接的是batch normalization层,因此该层中没有偏置(bias)参数,并且只有一个权重。 +形状: (Co, ky, kx, Ci)

    +
      +
    • Co: 输出特征图的通道数目
    • +
    • ky: 滤波器核在垂直方向上的尺寸
    • +
    • kx: 滤波器核在水平方向上的尺寸
    • +
    • Ci: 输入特征图的通道数目
    • +
    +

    二维矩阵: (Co * ky * kx, Ci), 行优先次序存储。

    +
  • +
  • 全连接层权重

    +

    二维矩阵: (输入层尺寸, 本层尺寸), 行优先次序存储。

    +
  • +
  • Batch Normalization 层权重

    +
  • +
+

本层有四个参数,实际上只有.w0和.wbias是需要学习的参数,另外两个分别是滑动均值和方差。在测试阶段它们将会被加载到模型中。下表展示了batch normalization层的参数。 +

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
参数名尺寸含义
_res2_1_branch1_bn.w0256gamma, 缩放参数
_res2_1_branch1_bn.w1256特征图均值
_res2_1_branch1_bn.w2256特征图方差
_res2_1_branch1_bn.wbias256beta, 偏置参数
+
+
+

参数读取

+

使用者可以使用下面的Python脚本来读取参数值:

+
import sys
+import numpy as np
+
+def load(file_name):
+    with open(file_name, 'rb') as f:
+        f.read(16) # skip header for float type.
+        return np.fromfile(f, dtype=np.float32)
+
+if __name__=='__main__':
+    weight = load(sys.argv[1])
+
+
+

或者直接使用下面的shell命令:

+
od -j 16 -f _res2_1_branch1_bn.w0
+
+
+
+
+
+

特征提取

+

我们提供了C++和Python接口来提取特征。下面的例子使用了demo/model_zoo/resnet/example中的数据,详细地展示了整个特征提取的过程。

+
+

C++接口

+

首先,在配置文件中的define_py_data_sources2里指定图像数据列表,具体请参照示例demo/model_zoo/resnet/resnet.py

+
    train_list = 'train.list' if not is_test else None
+    # mean.meta is mean file of ImageNet dataset.
+    # mean.meta size : 3 x 224 x 224.
+    # If you use three mean value, set like:
+    # "mean_value:103.939,116.779,123.68;"
+    args={
+        'mean_meta': "model/mean_meta_224/mean.meta",
+        'image_size': 224, 'crop_size': 224,
+        'color': True,'swap_channel:': [2, 1, 0]}
+    define_py_data_sources2(train_list,
+                           'example/test.list',
+                           module="example.image_list_provider",
+                           obj="processData",
+                           args=args)
+
+
+

第二步,在resnet.py文件中指定要提取特征的网络层的名字。例如,

+
Outputs("res5_3_branch2c_conv", "res5_3_branch2c_bn")
+
+
+

第三步,在extract_fea_c++.sh文件中指定模型路径和输出的目录,然后执行下面的命令。

+
cd demo/model_zoo/resnet
+./extract_fea_c++.sh
+
+
+

如果执行成功,特征将会存到fea_output/rank-00000文件中,如下所示。同时你可以使用load_feature.py文件中的load_feature_c接口来加载该文件。

+
-0.115318 -0.108358 ... -0.087884;-1.27664 ... -1.11516 -2.59123;
+-0.126383 -0.116248 ... -0.00534909;-1.42593 ... -1.04501 -1.40769;
+
+
+
    +
  • 每行存储的是一个样本的特征。其中,第一行存的是图像example/dog.jpg的特征,第二行存的是图像example/cat.jpg的特征。
  • +
  • 不同层的特征由分号;隔开,并且它们的顺序与Outputs()中指定的层顺序一致。这里,左边是res5_3_branch2c_conv层的特征,右边是res5_3_branch2c_bn层特征。
  • +
+
+
+

Python接口

+

示例demo/model_zoo/resnet/classify.py中展示了如何使用Python来提取特征。下面的例子同样使用了./example/test.list中的数据。执行的命令如下:

+
cd demo/model_zoo/resnet
+./extract_fea_py.sh
+
+
+

extract_fea_py.sh:

+
python classify.py \
+     --job=extract \
+     --conf=resnet.py\
+     --use_gpu=1 \
+     --mean=model/mean_meta_224/mean.meta \
+     --model=model/resnet_50 \
+     --data=./example/test.list \
+     --output_layer="res5_3_branch2c_conv,res5_3_branch2c_bn" \
+     --output_dir=features
+
+
+
    +
  • --job=extract: 指定工作模式来提取特征。
  • +
  • --conf=resnet.py: 网络配置文件。
  • +
  • --use_gpu=1: 指定是否使用GPU。
  • +
  • --model=model/resnet_50: 模型路径。
  • +
  • --data=./example/test.list: 数据列表。
  • +
  • --output_layer=”xxx,xxx”: 指定提取特征的层。
  • +
  • --output_dir=features: 输出目录。
  • +
+

如果运行成功,你将会看到特征存储在features/batch_0文件中,该文件是由cPickle产生的。你可以使用load_feature.py中的load_feature_py接口来打开该文件,它将返回如下的字典:

+
{
+'cat.jpg': {'res5_3_branch2c_conv': array([[-0.12638293, -0.116248  , -0.11883899, ..., -0.00895038, 0.01994277, -0.00534909]], dtype=float32), 'res5_3_branch2c_bn': array([[-1.42593431, -1.28918779, -1.32414699, ..., -1.45933616, -1.04501402, -1.40769434]], dtype=float32)},
+'dog.jpg': {'res5_3_branch2c_conv': array([[-0.11531784, -0.10835785, -0.08809858, ...,0.0055237, 0.01505112, -0.08788397]], dtype=float32), 'res5_3_branch2c_bn': array([[-1.27663755, -1.18272924, -0.90937918, ..., -1.25178063, -1.11515927, -2.59122872]], dtype=float32)}
+}
+
+
+

仔细观察,这些特征值与上述使用C++接口提取的结果是一致的。

+
+
+
+

预测

+

classify.py文件也可以用于对样本进行预测。我们提供了一个示例脚本predict.sh,它使用50层的ResNet模型来对example/test.list中的数据进行预测。

+
cd demo/model_zoo/resnet
+./predict.sh
+
+
+

predict.sh调用了classify.py:

+
python classify.py \
+     --job=predict \
+     --conf=resnet.py\
+     --multi_crop \
+     --model=model/resnet_50 \
+     --use_gpu=1 \
+     --data=./example/test.list
+
+
+
    +
  • --job=extract: 指定工作模型进行预测。
  • +
  • --conf=resnet.py: 网络配置文件。network configure.
  • +
  • --multi_crop: 使用10个裁剪图像块,预测概率取平均。
  • +
  • --use_gpu=1: 指定是否使用GPU。
  • +
  • --model=model/resnet_50: 模型路径。
  • +
  • --data=./example/test.list: 数据列表。
  • +
+

如果运行成功,你将会看到如下结果,其中156和285是这些图像的分类标签。

+
Label of example/dog.jpg is: 156
+Label of example/cat.jpg is: 282
+
+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/tutorials/index_cn.html b/release/0.10.0/doc_cn/tutorials/index_cn.html new file mode 100644 index 0000000000..f8a9d85f3a --- /dev/null +++ b/release/0.10.0/doc_cn/tutorials/index_cn.html @@ -0,0 +1,265 @@ + + + + + + + + + + + 完整教程 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • 完整教程
  • +
+
+ +
+
+
+
+ + + + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/tutorials/quick_start/index_cn.html b/release/0.10.0/doc_cn/tutorials/quick_start/index_cn.html new file mode 100644 index 0000000000..de21b7f5bc --- /dev/null +++ b/release/0.10.0/doc_cn/tutorials/quick_start/index_cn.html @@ -0,0 +1,850 @@ + + + + + + + + + + + 快速入门教程 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • 快速入门教程
  • +
+
+ +
+
+
+
+ +
+

快速入门教程

+

我们将以 文本分类问题 为例, +介绍PaddlePaddle的基本使用方法。

+
+

安装

+

请参考 安装流程 安装PaddlePaddle。

+
+
+

使用概述

+

文本分类问题:对于给定的一条文本,我们从提前给定的类别集合中选择其所属类别。

+

比如, 在购物网站上,通过查看买家对某个产品的评价反馈, 评估该产品的质量。

+
    +
  • 这个显示器很棒! (好评)
  • +
  • 用了两个月之后这个显示器屏幕碎了。(差评)
  • +
+

使用PaddlePaddle, 每一个任务流程都可以被划分为如下五个步骤。

+
+
../../_images/Pipeline_cn.jpg +
+
    +
  1. +
    数据格式准备
    +
      +
    • 本例每行保存一条样本,类别Id和文本信息用 Tab 间隔,文本中的单词用空格分隔(如果不切词,则字与字之间用空格分隔),例如:类别Id '\t'
    • +
    +
    +
    +
  2. +
  3. +
    向系统传送数据
    +
      +
    • PaddlePaddle可以执行用户的python脚本程序来读取各种格式的数据文件。
    • +
    • 本例的所有字符都将转换为连续整数表示的Id传给模型。
    • +
    +
    +
    +
  4. +
  5. +
    描述网络结构和优化算法
    +
      +
    • 本例由易到难展示4种不同的文本分类网络配置:逻辑回归模型,词向量模型,卷积模型,时序模型。
    • +
    • 常用优化算法包括Momentum, RMSProp,AdaDelta,AdaGrad,Adam,Adamax等,本例采用Adam优化方法,加了L2正则和梯度截断。
    • +
    +
    +
    +
  6. +
  7. 训练模型
  8. +
  9. 应用模型
  10. +
+
+

数据格式准备

+

接下来我们将展示如何用PaddlePaddle训练一个文本分类模型,将 Amazon电子产品评论数据 分为好评(正样本)和差评(负样本)两种类别。 +源代码demo/quick_start 目录里提供了该数据的下载脚本和预处理脚本,你只需要在命令行输入以下命令,就能够很方便的完成数据下载和相应的预处理工作。

+
cd demo/quick_start
+./data/get_data.sh
+./preprocess.sh
+
+
+

数据预处理完成之后,通过配置类似于 dataprovider_*.py 的数据读取脚本和类似于 trainer_config.*.py 的训练模型脚本,PaddlePaddle将以设置参数的方式来设置 +相应的数据读取脚本和训练模型脚本。接下来,我们将对这两个步骤给出了详细的解释,你也可以先跳过本文的解释环节,直接进入训练模型章节, 使用 sh train.sh 开始训练模型, +查看`train.sh`内容,通过 自底向上法 (bottom-up approach)来帮助你理解PaddlePaddle的内部运行机制。

+
+
+
+

向系统传送数据

+
+

Python脚本读取数据

+

DataProvider 是PaddlePaddle负责提供数据的模块,主要职责在于将训练数据传入内存或者显存,让模型能够得到训练更新,其包括两个函数:

+
    +
  • initializer:PaddlePaddle会在调用读取数据的Python脚本之前,先调用initializer函数。在下面例子里,我们在initialzier函数里初始化词表,并且在随后的读取数据过程中填充词表。
  • +
  • process:PaddlePaddle调用process函数来读取数据。每次读取一条数据后,process函数会用yield语句输出这条数据,从而能够被PaddlePaddle 捕获 (harvest)。
  • +
+

dataprovider_bow.py 文件给出了完整例子:

+
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
# initializer is called by the framework during initialization.
+# It allows the user to describe the data types and setup the
+# necessary data structure for later use.
+# `settings` is an object. initializer need to properly fill settings.input_types.
+# initializer can also store other data structures needed to be used at process().
+# In this example, dictionary is stored in settings.
+# `dictionay` and `kwargs` are arguments passed from trainer_config.lr.py
+def initializer(settings, dictionary, **kwargs):
+    # Put the word dictionary into settings
+    settings.word_dict = dictionary
+
+    # setting.input_types specifies what the data types the data provider
+    # generates.
+    settings.input_types = {
+        # The first input is a sparse_binary_vector,
+        # which means each dimension of the vector is either 0 or 1. It is the
+        # bag-of-words (BOW) representation of the texts.
+        'word': sparse_binary_vector(len(dictionary)),
+        # The second input is an integer. It represents the category id of the
+        # sample. 2 means there are two labels in the dataset.
+        # (1 for positive and 0 for negative)
+        'label': integer_value(2)
+    }
+
+
+# Delaring a data provider. It has an initializer 'data_initialzer'.
+# It will cache the generated data of the first pass in memory, so that
+# during later pass, no on-the-fly data generation will be needed.
+# `setting` is the same object used by initializer()
+# `file_name` is the name of a file listed train_list or test_list file given
+# to define_py_data_sources2(). See trainer_config.lr.py.
+@provider(init_hook=initializer, cache=CacheType.CACHE_PASS_IN_MEM)
+def process(settings, file_name):
+    # Open the input data file.
+    with open(file_name, 'r') as f:
+        # Read each line.
+        for line in f:
+            # Each line contains the label and text of the comment, separated by \t.
+            label, comment = line.strip().split('\t')
+
+            # Split the words into a list.
+            words = comment.split()
+
+            # convert the words into a list of ids by looking them up in word_dict.
+            word_vector = [settings.word_dict.get(w, UNK_IDX) for w in words]
+
+            # Return the features for the current comment. The first is a list
+            # of ids representing a 0-1 binary sparse vector of the text,
+            # the second is the integer id of the label.
+            yield {'word': word_vector, 'label': int(label)}
+
+
+

详细内容请参见 DataProvider的介绍

+
+
+

配置中的数据加载定义

+

在模型配置中通过 define_py_data_sources2 接口来加载数据:

+
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
dict_file = "./data/dict.txt"
+word_dict = dict()
+with open(dict_file, 'r') as f:
+    for i, line in enumerate(f):
+        w = line.strip().split()[0]
+        word_dict[w] = i
+
+is_predict = get_config_arg('is_predict', bool, False)
+trn = 'data/train.list' if not is_predict else None
+tst = 'data/test.list' if not is_predict else 'data/pred.list'
+process = 'process' if not is_predict else 'process_predict'
+define_py_data_sources2(
+    train_list=trn,
+    test_list=tst,
+    module="dataprovider_emb",
+    obj=process,
+    args={"dictionary": word_dict})
+
+
+

以下是对上述数据加载的解释:

+
    +
  • data/train.list,data/test.list: 指定训练数据和测试数据
  • +
  • module=”dataprovider_bow”: 处理数据的Python脚本文件
  • +
  • obj=”process”: 指定生成数据的函数
  • +
  • args={“dictionary”: word_dict}: 额外的参数,这里指定词典
  • +
+

更详细数据格式和用例请参考 PyDataProvider2的使用

+
+
+
+

模型网络结构

+

本小节我们将介绍模型网络结构。

+
+
../../_images/PipelineNetwork_cn.jpg +
+

我们将以最基本的逻辑回归网络作为起点,并逐渐展示更加深入的功能。更详细的网络配置连接请参考 Layers 。 +所有配置都能在 源代码demo/quick_start 目录下找到。

+
+

逻辑回归模型

+

具体流程如下:

+
+
../../_images/NetLR_cn.jpg +
+
    +
  • 获取利用 one-hot vector 表示的每个单词,维度是词典大小

    +
    +
    word = data_layer(name="word",  size=word_dim)
    +
    +
    +
    +
  • +
  • 获取该条样本类别Id,维度是类别个数。

    +
    +
    label = data_layer(name="label", size=label_dim)
    +
    +
    +
    +
  • +
  • 利用逻辑回归模型对该向量进行分类,同时会计算分类准确率

    +
    +
    # Define a fully connected layer with logistic activation (also called softmax activation).
    +output = fc_layer(input=word,
    +                size=label_dim,
    +                act_type=SoftmaxActivation())
    +# Define cross-entropy classification loss and error.
    +classification_cost(input=output, label=label)
    +
    +
    +
    +
  • +
+
+
    +
  • input: 除去data层,每个层都有一个或多个input,多个input以list方式输入
  • +
  • size: 该层神经元个数
  • +
  • act_type: 激活函数类型
  • +
+
+

效果总结:我们将在后面介绍训练和预测流程的脚本。在此为方便对比不同网络结构,我们总结了各个网络的复杂度和效果。

+
+
+++++ + + + + + + + + + + + + +
网络名称参数数量错误率
逻辑回归252 KB8.652 %
+
+
+
+

词向量模型

+

embedding模型需要稍微改变提供数据的Python脚本,即 dataprovider_emb.py,词向量模型、 +卷积模型、时序模型均使用该脚本。其中文本输入类型定义为整数时序类型integer_value_sequence。

+
def initializer(settings, dictionary, **kwargs):
+    settings.word_dict = dictionary
+    settings.input_types = [
+        # Define the type of the first input as sequence of integer.
+        # The value of the integers range from 0 to len(dictrionary)-1
+        integer_value_sequence(len(dictionary)),
+        # Define the second input for label id
+        integer_value(2)]
+
+@provider(init_hook=initializer)
+def process(settings, file_name):
+    ...
+    # omitted, it is same as the data provider for LR model
+
+
+

该模型依然使用逻辑回归分类网络的框架, 只是将句子用连续向量表示替换为用稀疏向量表示, 即对第三步进行替换。句子表示的计算更新为两步:

+../../_images/NetContinuous_cn.jpg +
    +
  • 利用单词Id查找该单词对应的连续向量(维度为word_dim), 输入N个单词,输出为N个word_dim维度向量

    +
    +
    emb = embedding_layer(input=word, size=word_dim)
    +
    +
    +
    +
  • +
  • 将该句话包含的所有单词向量求平均, 得到句子的表示

    +
    +
    avg = pooling_layer(input=emb, pooling_type=AvgPooling())
    +
    +
    +
    +
  • +
+

其它部分和逻辑回归网络结构一致。

+

效果总结:

+
+
+++++ + + + + + + + + + + + + +
网络名称参数数量错误率
词向量模型15 MB8.484 %
+
+
+
+

卷积模型

+

卷积网络是一种特殊的从词向量表示到句子表示的方法, 也就是将词向量模型进一步演化为三个新步骤。

+../../_images/NetConv_cn.jpg +

文本卷积分可为三个步骤:

+
    +
  1. 首先,从每个单词左右两端分别获取k个相邻的单词, 拼接成一个新的向量;
  2. +
  3. 其次,对该向量进行非线性变换(例如Sigmoid变换), 使其转变为维度为hidden_dim的新向量;
  4. +
  5. 最后,对整个新向量集合的每一个维度取最大值来表示最后的句子。
  6. +
+

这三个步骤可配置为:

+
text_conv = sequence_conv_pool(input=emb,
+                            context_start=k,
+                            context_len=2 * k + 1)
+
+
+

效果总结:

+
+
+++++ + + + + + + + + + + + + +
网络名称参数数量错误率
卷积模型16 MB5.628 %
+
+
+
+

时序模型

+../../_images/NetRNN_cn.jpg +

时序模型,也称为RNN模型, 包括简单的 RNN模型, GRU模型LSTM模型 等等。

+
    +
  • GRU模型配置:

    +
    +
    gru = simple_gru(input=emb, size=gru_size)
    +
    +
    +
    +
  • +
  • LSTM模型配置:

    +
    +
    lstm = simple_lstm(input=emb, size=lstm_size)
    +
    +
    +
    +
  • +
+

本次试验,我们采用单层LSTM模型,并使用了Dropout,效果总结:

+
+
+++++ + + + + + + + + + + + + +
网络名称参数数量错误率
时序模型16 MB4.812 %
+
+
+
+
+

优化算法

+

优化算法 包括 +Momentum, RMSProp,AdaDelta,AdaGrad,ADAM,Adamax等,这里采用Adam优化方法,同时使用了L2正则(L2 Regularization)和梯度截断(Gradient Clipping)。

+
settings(batch_size=128,
+        learning_rate=2e-3,
+        learning_method=AdamOptimizer(),
+        regularization=L2Regularization(8e-4),
+        gradient_clipping_threshold=25)
+
+
+
+
+

训练模型

+

在数据加载和网络配置完成之后, 我们就可以训练模型了。

+../../_images/PipelineTrain_cn.jpg +

训练模型,我们只需要运行 train.sh 训练脚本:

+
+
./train.sh
+
+
+
+

train.sh 中包含了训练模型的基本命令。训练时所需设置的主要参数如下:

+
+
paddle train \
+--config=trainer_config.py \
+--log_period=20 \
+--save_dir=./output \
+--num_passes=15 \
+--use_gpu=false
+
+
+
+

这里只简单介绍了单机训练,如何进行分布式训练,请参考 运行分布式训练

+
+
+

预测

+

当模型训练好了之后,我们就可以进行预测了。

+../../_images/PipelineTest_cn.jpg +

之前配置文件中 test.list 指定的数据将会被测试,这里直接通过预测脚本 predict.sh 进行预测, +更详细的说明,请参考 基于Python的预测

+
+
model="output/pass-00003"
+paddle train \
+    --config=trainer_config.lstm.py \
+    --use_gpu=false \
+    --job=test \
+    --init_model_path=$model \
+    --config_args=is_predict=1 \
+    --predict_output_dir=. \
+
+mv rank-00000 result.txt
+
+
+
+

这里以 output/pass-00003 为例进行预测,用户可以根据训练日志,选择测试结果最好的模型来预测。

+

预测结果以文本的形式保存在 result.txt 中,一行为一个样本,格式如下:

+
+
预测ID;ID为0的概率 ID为1的概率
+预测ID;ID为0的概率 ID为1的概率
+
+
+
+
+
+

总体效果总结

+

/demo/quick_start 目录下,能够找到这里使用的所有数据, 网络配置, 训练脚本等等。 +对于Amazon-Elec测试集(25k), 如下表格,展示了上述网络模型的训练效果:

+
+
++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
网络名称参数数量错误率配置文件
逻辑回归模型252 KB8.652%trainer_config.lr.py
词向量模型15 MB8.484%trainer_config.emb.py
卷积模型16 MB5.628%trainer_config.cnn.py
时序模型16 MB4.812%trainer_config.lstm.py
+
+
+
+

附录

+
+

命令行参数

+
    +
  • –config:网络配置
  • +
  • –save_dir:模型存储路径
  • +
  • –log_period:每隔多少batch打印一次日志
  • +
  • –num_passes:训练轮次,一个pass表示过一遍所有训练样本
  • +
  • –config_args:命令指定的参数会传入网络配置中。
  • +
  • –init_model_path:指定初始化模型路径,可用在测试或训练时指定初始化模型。
  • +
+

默认一个pass保存一次模型,也可以通过saving_period_by_batches设置每隔多少batch保存一次模型。 +可以通过show_parameter_stats_period设置打印参数信息等。 +其他参数请参考 命令行参数文档(链接待补充)。

+
+
+

输出日志

+
TrainerInternal.cpp:160]  Batch=20 samples=2560 AvgCost=0.628761 CurrentCost=0.628761 Eval: classification_error_evaluator=0.304297  CurrentEval: classification_error_evaluator=0.304297
+
+
+

模型训练会看到类似上面这样的日志信息,详细的参数解释,请参考如下表格:

+
+
++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
名称解释
Batch=20表示过了20个batch
samples=2560表示过了2560个样本
AvgCost每个pass的第0个batch到当前batch所有样本的平均cost
CurrentCost当前log_period个batch所有样本的平均cost
Eval: classification_error_evaluator每个pass的第0个batch到当前batch所有样本的平均分类错误率
CurrentEval: classification_error_evaluator当前log_period个batch所有样本的平均分类错误率
+
+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/tutorials/rec/ml_dataset_cn.html b/release/0.10.0/doc_cn/tutorials/rec/ml_dataset_cn.html new file mode 100644 index 0000000000..745874280a --- /dev/null +++ b/release/0.10.0/doc_cn/tutorials/rec/ml_dataset_cn.html @@ -0,0 +1,343 @@ + + + + + + + + + + + MovieLens数据集 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • MovieLens数据集
  • +
+
+ +
+
+
+
+ +
+

MovieLens数据集

+

MovieLens 数据集由GroupLens Research实验室搜集整理。 +该数据集包含一些用户信息、电影信息以及电影评分[1-5]。根据数据量规模,该数据及有很多不同的版本。 +我们用MovieLens 百万数据集作为示例数据 +集,其中包含6,000位用户对4,000部电影的1,000,000条评价。该数据集于2003年2月发布。

+
+

数据集特征

+

ml-1m 数据集中有许多的特征。在[ml-1m 数据集] +(http://files.grouplens.org/datasets/movielens/ml-1m.zip)中的这些数据文件(含有”.dat”的后缀)实际上是CSV文件, +分隔符为”::”。以下我们翻译数据集网站中README文件的描述:

+
+

评分文件描述(ratings.dat)

+

所有的评分数据都包含在”ratings.dat”文件中,遵循如下的格式:

+

用户ID::电影ID::评分::时间戳

+
    +
  • 用户ID范围从1到6040
  • +
  • 电影ID范围从1到3952
  • +
  • 评分被调整为5星的规模(只允许整数的星级)
  • +
  • 时间戳表示为从1970-01-01(UTC)来的秒数,与time(2)的返回值一致
  • +
  • 每位用户至少有20条评分
  • +
+
+
+

用户文件描述(users.dat)

+

所有的用户信息都包含在”users.dat”文件中,遵循如下的格式:

+

用户ID::性别::年龄::职业::邮编

+

所有的人口统计学信息由用户自愿提供,没有进行正确性的检查。只有含有人 +口统计学信息的用户才被包含在数据集中。

+
    +
  • 性别,用”M”表示男性,”F”表示女性
  • +
  • 年龄从下列列表范围中选取:
      +
    • 1: “18岁以下”
    • +
    • 18: “18-24岁”
    • +
    • 25: “25-34岁”
    • +
    • 35: “35-44岁”
    • +
    • 45: “45-49岁”
    • +
    • 50: “50-55岁”
    • +
    • 56: “56+”
    • +
    +
  • +
  • 职业从下面所列中选择:
      +
    • 0: “其他”或不确定
    • +
    • 1: “学术/教育工作者”
    • +
    • 2: “艺术家”
    • +
    • 3: “文书工作/管理员”
    • +
    • 4: “大学生/研究生”
    • +
    • 5: “客户服务”
    • +
    • 6: “医生/医疗保健”
    • +
    • 7: “行政工作/管理人员”
    • +
    • 8: “农民”
    • +
    • 9: “操持家务者”
    • +
    • 10: “高中毕业生”
    • +
    • 11: “律师”
    • +
    • 12: “程序员”
    • +
    • 13: “退休人员”
    • +
    • 14: “销售/市场”
    • +
    • 15: “科学家”
    • +
    • 16: “自由职业者”
    • +
    • 17: “技术员/工程师”
    • +
    • 18: “推销员/手工艺者”
    • +
    • 19: “无业人士”
    • +
    • 20: “作家”
    • +
    +
  • +
+
+
+

电影文件描述(movies.dat)

+

所有的电影信息都包含在”movies.dat”文件中,遵循如下的格式:

+

电影ID::电影名称::电影类型

+
    +
  • 电影名称(包括发行时间)与IMDB网站提供的一致
  • +
  • 电影类型如符合多种用管道符号|分割,选自下列类型:
      +
    • 动作片
    • +
    • 冒险片
    • +
    • 动画片
    • +
    • 儿童片
    • +
    • 喜剧片
    • +
    • 犯罪片
    • +
    • 纪录片
    • +
    • 戏剧
    • +
    • 奇幻片
    • +
    • 黑色电影
    • +
    • 恐怖片
    • +
    • 音乐剧
    • +
    • 悬疑片
    • +
    • 浪漫片
    • +
    • 科幻片
    • +
    • 惊险电影
    • +
    • 战争片
    • +
    • 西部片
    • +
    +
  • +
  • 由于意外的副本记录和测试记录,有些电影ID可能与实际电影不相符合
  • +
  • 电影大部分是手工输入数据,因此可能会有一些错误和不一致发生
  • +
+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/tutorials/rec/ml_regression_cn.html b/release/0.10.0/doc_cn/tutorials/rec/ml_regression_cn.html new file mode 100644 index 0000000000..ac14d8c3ab --- /dev/null +++ b/release/0.10.0/doc_cn/tutorials/rec/ml_regression_cn.html @@ -0,0 +1,854 @@ + + + + + + + + + + + MovieLens数据集评分回归模型 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • MovieLens数据集评分回归模型
  • +
+
+ +
+
+
+
+ +
+

MovieLens数据集评分回归模型

+

这里我们在MovieLens数据集描述一种 余弦相似度回归 任务。 +该示例将展示paddle如何进行词向量嵌入,处理相似度回归,针对文本 +的单词级别的卷积神经网络,以及paddle如何处理多种类型的输入。 +需要注意的是,该模型网络只是用于进行demo展示paddle如何工作,而 +没有进行结构的微调。

+

我们非常欢迎您用PADDLEPADDLE构建更好的示例,如果您有好的建议来 +让这个示例变得更好,希望能让我们知晓。

+
+

数据准备

+
+

下载并解压数据集

+

这里我们使用 MovieLens数据集 。 +要下载和解压数据集,只需要简单的运行下面的命令即可。

+
cd demo/recommendation/data
+./ml_data.sh
+
+
+

demo/recommendation/data/ml-1m 的目录结构为:

+
+--ml-1m
+        +--- movies.dat         # 电影特征
+        +--- ratings.dat        # 评分
+        +--- users.dat          # 用户特征
+        +--- README             # 数据集描述
+
+
+
+
+

字段配置文件

+

字段配置文件 用来具体说明数据集的字段和文件格式, +例如,说明每个特征文件具体字段是 什么 类型。

+

ml-1m的字段配置文件在目录 demo/recommendation/data/config.json 中。 +其具体说明了字段类型和文件名称:

+
    +
  1. 用户文件中有四种类型的字段: 编号,性别,年龄和职业;
  2. +
  3. 文件名称为”users.dat”,文件的分隔符为”::”。
  4. +
+
{
+  "user": {
+    "file": {
+      "name": "users.dat",
+      "delimiter": "::"
+    },
+    "fields": ["id", "gender", "age", "occupation"]
+  },
+  "movie": {
+    "file": {
+      "name": "movies.dat",
+      "delimiter": "::"
+    },
+    "fields": ["id", "title", "genres"]
+  }
+}
+
+
+
+
+
+

准备数据

+

你需要安装python的第三方库。 +强烈推荐使用VIRTUALENV来创造一个干净的python环境。

+
pip install -r requirements.txt
+
+
+

预处理数据一般的命令为:

+
cd demo/recommendation
+./preprocess.sh
+
+
+

下面介绍预处理过程具体的步骤。

+
+

提取电影或用户的特征并生成python对象

+

在movielens 1m数据集中,电影和用户有许多的特征。 +评分文件的每一行仅仅提供电影或用户的编号来代表相应的电影或用户。 +我们首先处理电影或用户的特征文件,然后用pickle命令将特征( Meta )对象存储为文件。

+
+

Meta配置文件

+

Meta配置文件 用来具体描述 如何 解析数据集中的每一个字段。 +该文件可以从字段配置文件生成,或是手动编辑生成。文件的格式可以 +为json或yaml格式。解析器能通过文件的扩展名自动识别文件的格式。

+

要将字段配置文件转化为meta配置文件,只需要运行:

+
cd demo/recommendation/data
+python config_generator.py config.json > meta_config.json
+
+
+

生成的meta配置文件如下所示:

+
{
+  "meta": {
+    "movie": {
+      "fields": [
+        {
+          "type": "id", 
+          "pos": 0
+        }, 
+        {
+          "regex": {
+            "pattern": "^(.*)\\((\\d+)\\)$", 
+            "group_id": 1, 
+            "strip": true
+          }, 
+          "type": {
+            "seq_type": "sequence", 
+            "name": "embedding"
+          }, 
+          "dict": {
+            "type": "char_based"
+          }, 
+          "name": "title", 
+          "pos": 1
+        }, 
+        {
+          "type": "one_hot_dense", 
+          "dict": {
+            "delimiter": "|", 
+            "type": "split"
+          }, 
+          "name": "genres", 
+          "pos": 2
+        }
+      ], 
+      "file": {
+        "delimiter": "::", 
+        "type": "split", 
+        "name": "movies.dat"
+      }
+    }, 
+    "user": {
+      "fields": [
+        {
+          "type": "id", 
+          "pos": 0
+        }, 
+        {
+          "type": "embedding", 
+          "dict": {
+            "type": "char_based"
+          }, 
+          "name": "gender", 
+          "pos": 1
+        }, 
+        {
+          "type": "embedding", 
+          "dict": {
+            "sort": true, 
+            "type": "whole_content"
+          }, 
+          "name": "age", 
+          "pos": 2
+        }, 
+        {
+          "type": "embedding", 
+          "dict": {
+            "sort": "true", 
+            "type": "whole_content"
+          }, 
+          "name": "occupation", 
+          "pos": 3
+        }
+      ], 
+      "file": {
+        "delimiter": "::", 
+        "type": "split", 
+        "name": "users.dat"
+      }
+    }
+  }
+}
+
+
+

在meta文件中有两种特征: 电影和用户。

+
    +
  • +
    在电影文件movies.dat中
    +
      +
    • 我们仅用”::”来分隔每一行
    • +
    • pos 0 代表编号
    • +
    • +
      pos 1 特征:
      +
        +
      • name是电影名
      • +
      • 利用正则表达式来解析该特征
      • +
      • 基于字母的词嵌入特征
      • +
      • 是序列
      • +
      +
      +
      +
    • +
    • +
      pos 2 特征:
      +
        +
      • name是体裁
      • +
      • type是one hot稠密向量
      • +
      • dictionary由解析自动生成,每一个key由’|’分隔
      • +
      +
      +
      +
    • +
    +
    +
    +
  • +
  • +
    在用户文件users.dat中
    +
      +
    • 我们仅用”::”来分隔每一行
    • +
    • pos 0 代表编号
    • +
    • +
      pos 1 特征:
      +
        +
      • name是性别
      • +
      • 简单的基于字母的词嵌入
      • +
      +
      +
      +
    • +
    • +
      pos 2 特征:
      +
        +
      • name是年龄
      • +
      • 是整个的词嵌入
      • +
      • 嵌入编号会根据单词排序
      • +
      +
      +
      +
    • +
    • +
      pos 3 特征:
      +
        +
      • name是职业
      • +
      • 简单的整个词嵌入
      • +
      +
      +
      +
    • +
    +
    +
    +
  • +
+
+
+
+

Meta文件

+

有了meta配置文件之后,我们可以生成 Meta文件 ,该文件是python的pickle对象, +存储着电影或用户信息。可以运行下面的命令来生成。

+
python meta_generator.py ml-1m meta.bin --config=meta_config.json
+
+
+

meta文件 meta.bin 的结构如下:

+
+--+ movie
+|      +--+ __meta__
+|      |       +--+ raw_meta  # 每个特征的meta配置。列表
+|      |       |       +
+|      |       |       |     # 编号字段,我们用编号作为key
+|      |       |       +--+ {'count': 3883, 'max': 3952, 'is_key': True, 'type': 'id', 'min': 1}
+|      |       |       |
+|      |       |       |     # 电影名字段,嵌入特征字典
+|      |       |       +--+ {'dict': [ ... ], 'type': 'embedding', 'name': 'title', 'seq': 'sequence'}
+|      |       |       |
+|      |       |       |     # 体裁字段,体裁字典
+|      |       |       +--+ {'dict': [ ... ], 'type': 'one_hot_dense', 'name': 'genres'}
+|      |       |
+|      |       +--+ feature_map [1, 2] # a list for raw_meta index for feature field.
+|      |                               # it means there are 2 features for each key.
+|      |                               #    * 0 offset of feature is raw_meta[1], Title.
+|      |                               #    * 1 offset of feature is raw_meta[2], Genres.
+|      |
+|      +--+ 1 # 电影1的特征
+|      |    +
+|      |    +---+ [[...], [...]] # title ids, genres dense vector
+|      |
+|      +--+ 2
+|      |
+|      +--+ ...
+|
++--- user
+       +--+ __meta__
+       |       +
+       |       +--+ raw_meta
+       |       |       +
+       |       |       +--+ id field as user
+       |       |       |
+       |       |       +--+ {'dict': ['F', 'M'], 'type': 'embedding', 'name': 'gender', 'seq': 'no_sequence'}
+       |       |       |
+       |       |       +--+ {'dict': ['1', '18', '25', '35', '45', '50', '56'], 'type': 'embedding', 'name': 'age', 'seq': 'no_sequence'}
+       |       |       |
+       |       |       +--+ {'dict': [...], 'type': 'embedding', 'name': 'occupation', 'seq': 'no_sequence'}
+       |       |
+       |       +--+ feature_map [1, 2, 3]
+       |
+       +--+ 1 # 用户1的特征
+       |
+       +--+ 2
+       +--+ ...
+
+
+
+
+

分割训练/测试文件

+

我们将 ml-1m/ratings.dat 文件分割为训练和测试文件。分割文件的方法是:对于每位用户,我们将评分分成两部分。 +这样的话每位用户在测试文件中将与训练文件含有同样的信息。

+

separate.py 来分离训练和测试文件。

+
python split.py ml-1m/ratings.dat --delimiter="::" --test_ratio=0.1
+
+
+

这样就会生成两个文件:ml-1m/ratings.dat.trainml-1m/ratings.data.test 。 +将他们移动到目录 data ,然后进行随机打乱,再为paddle的训练过程提供文件列表。

+
shuf ml-1m/ratings.dat.train > ratings.dat.train
+cp ml-1m/ratings.dat.test .
+echo "./data/ratings.dat.train" > train.list
+echo "./data/ratings.dat.test" > test.list
+
+
+
+
+
+

神经网络结构配置

+
+

训练器配置文件

+

网络结构如下图所示:

+rec_regression_network +

该示例的神经网络配置文件 trainer_config.py 如下所示:

+
from paddle.trainer_config_helpers import *
+
+try:
+    import cPickle as pickle
+except ImportError:
+    import pickle
+
+is_predict = get_config_arg('is_predict', bool, False)
+
+META_FILE = 'data/meta.bin'
+
+with open(META_FILE, 'rb') as f:
+    # load meta file
+    meta = pickle.load(f)
+
+settings(
+    batch_size=1600, learning_rate=1e-3, learning_method=RMSPropOptimizer())
+
+
+def construct_feature(name):
+    """
+    Construct movie/user features.
+
+    This method read from meta data. Then convert feature to neural network due
+    to feature type. The map relation as follow.
+
+    * id: embedding => fc
+    * embedding:
+        is_sequence:  embedding => context_projection => fc => pool
+        not sequence: embedding => fc
+    * one_hot_dense:  fc => fc
+
+    Then gather all features vector, and use a fc layer to combined them as
+    return.
+
+    :param name: 'movie' or 'user'
+    :type name: basestring
+    :return: combined feature output
+    :rtype: LayerOutput
+    """
+    __meta__ = meta[name]['__meta__']['raw_meta']
+    fusion = []
+    for each_meta in __meta__:
+        type_name = each_meta['type']
+        slot_name = each_meta.get('name', '%s_id' % name)
+        if type_name == 'id':
+            slot_dim = each_meta['max']
+            embedding = embedding_layer(
+                input=data_layer(
+                    slot_name, size=slot_dim), size=256)
+            fusion.append(fc_layer(input=embedding, size=256))
+        elif type_name == 'embedding':
+            is_seq = each_meta['seq'] == 'sequence'
+            slot_dim = len(each_meta['dict'])
+            din = data_layer(slot_name, slot_dim)
+            embedding = embedding_layer(input=din, size=256)
+            if is_seq:
+                fusion.append(
+                    text_conv_pool(
+                        input=embedding, context_len=5, hidden_size=256))
+            else:
+                fusion.append(fc_layer(input=embedding, size=256))
+        elif type_name == 'one_hot_dense':
+            slot_dim = len(each_meta['dict'])
+            hidden = fc_layer(input=data_layer(slot_name, slot_dim), size=256)
+            fusion.append(fc_layer(input=hidden, size=256))
+
+    return fc_layer(name="%s_fusion" % name, input=fusion, size=256)
+
+
+movie_feature = construct_feature("movie")
+user_feature = construct_feature("user")
+similarity = cos_sim(a=movie_feature, b=user_feature)
+if not is_predict:
+    outputs(mse_cost(input=similarity, label=data_layer('rating', size=1)))
+
+    define_py_data_sources2(
+        'data/train.list',
+        'data/test.list',
+        module='dataprovider',
+        obj='process',
+        args={'meta': meta})
+else:
+    outputs(similarity)
+
+
+

在文件 trainer_config.py 中,我们仅仅是将每个特征种类映射到一个特征向量中,以下 +展示了如何将每个特征映射到一个向量。

+
    +
  • id : 仅仅是简单的嵌入,然后添加一个全连接层。
  • +
  • +
    embedding :
    +
      +
    • 如果是序列,则先做嵌入,然后再做一次文本卷积网络操作, +然后得到平均采样的结果。
    • +
    • 如果不是序列,则先做嵌入,然后添加一个全连接层。
    • +
    +
    +
    +
  • +
  • +
    one_host_dense :
    +
      +
    • 仅仅是两个全连接层。
    • +
    +
    +
    +
  • +
+

然后我们利用多输入的:code:fc_layer 全连接层将电影的每个特征结合成一个电影特征, +并且对用户的特征做同样的操作,也得到一个用户特征。然后我们求这两个特征的余弦相似度。

+

在这些网络中,我们用以下的一些:ref:api_trainer_config 中的接口。

+ +
+
+

数据提供脚本

+
from paddle.trainer.PyDataProvider2 import *
+import common_utils  # parse
+
+
+def __list_to_map__(lst):
+    ret_val = dict()
+    for each in lst:
+        k, v = each
+        ret_val[k] = v
+    return ret_val
+
+
+def hook(settings, meta, **kwargs):
+    """
+    Init hook is invoked before process data. It will set obj.slots and store
+    data meta.
+
+    :param obj: global object. It will passed to process routine.
+    :type obj: object
+    :param meta: the meta file object, which passed from trainer_config. Meta
+                 file record movie/user features.
+    :param kwargs: unused other arguments.
+    """
+    del kwargs  # unused kwargs
+
+    # Header define slots that used for paddle.
+    #    first part is movie features.
+    #    second part is user features.
+    #    final part is rating score.
+    # header is a list of [USE_SEQ_OR_NOT?, SlotType]
+    movie_headers = list(common_utils.meta_to_header(meta, 'movie'))
+    settings.movie_names = [h[0] for h in movie_headers]
+    headers = movie_headers
+    user_headers = list(common_utils.meta_to_header(meta, 'user'))
+    settings.user_names = [h[0] for h in user_headers]
+    headers.extend(user_headers)
+    headers.append(("rating", dense_vector(1)))  # Score
+
+    # slot types.
+    settings.input_types = __list_to_map__(headers)
+    settings.meta = meta
+
+
+@provider(init_hook=hook, cache=CacheType.CACHE_PASS_IN_MEM)
+def process(settings, filename):
+    with open(filename, 'r') as f:
+        for line in f:
+            # Get a rating from file.
+            user_id, movie_id, score = map(int, line.split('::')[:-1])
+
+            # Scale score to [-5, +5]
+            score = float(score) * 2 - 5.0
+
+            # Get movie/user features by movie_id, user_id
+            movie_meta = settings.meta['movie'][movie_id]
+            user_meta = settings.meta['user'][user_id]
+
+            outputs = [('movie_id', movie_id - 1)]
+
+            # Then add movie features
+            for i, each_meta in enumerate(movie_meta):
+                outputs.append((settings.movie_names[i + 1], each_meta))
+
+            # Then add user id.
+            outputs.append(('user_id', user_id - 1))
+
+            # Then add user features.
+            for i, each_meta in enumerate(user_meta):
+                outputs.append((settings.user_names[i + 1], each_meta))
+
+            # Finally, add score
+            outputs.append(('rating', [score]))
+            # Return data to paddle
+            yield __list_to_map__(outputs)
+
+
+

数据提供脚本仅仅是读取meta.bin和评分文件,生成训练需要的样本。 +在脚本 dataprovider.py 中,我们需要设置:

+
    +
  • obj.slots: 特征的类型和维度。
  • +
  • use_seq: dataprovider.py 中的数据是否为序列模式。
  • +
  • process: 返回数据的每一条样本给 paddle
  • +
+

数据提供脚本的细节文档可以参考 PyDataProvider2的使用

+
+
+
+

训练

+

准备好数据,配置了网络,编写好数据提供脚本后,现在我们可以开始paddle训练了。

+

代码 run.sh 如下:

+
paddle train \
+    --config=trainer_config.py \
+    --save_dir=./output \
+    --use_gpu=false \
+    --trainer_count=4\
+    --test_all_data_in_one_period=true \
+    --log_period=100 \
+    --dot_period=1 \
+    --num_passes=50  2>&1 | tee 'log.txt'
+paddle usage -l log.txt -e $? -n "recommendation" >/dev/null 2>&1
+
+
+

该脚本仅仅是开始一个paddle训练过程,将日志写入文件 log.txt ,然后 +打印在屏幕上。

+

脚本 run.sh 中的每一行命令,请参考页面 设置命令行参数 。 +这些参数的简短介绍如下:

+
    +
  • config: 告诉paddle哪个文件是神经网络的配置文件。
  • +
  • save_dir: 告诉paddle将模型保存在: code:./output 中。
  • +
  • use_gpu: 是否使用GPU,默认为不使用。
  • +
  • trainer_count: 一台机器上面的线程数量。
  • +
  • test_all_data_in_one_period: 每一个测试周期测试一次所有数据。否则, +每个测试周期测试: code:batch_size 批次的数据。
  • +
  • log_period: 在训练了: code:log_period 批次后打印日志。
  • +
  • dot_period: 在每训练: code:dot_period 个批次后打印一个 .
  • +
  • num_passes: 训练至多: code:num_passes 轮。
  • +
+

如果训练过程启动成功的话,输出应该类似如下:

+
I0601 08:07:22.832059 10549 TrainerInternal.cpp:157]  Batch=100 samples=160000 AvgCost=4.13494 CurrentCost=4.13494 Eval:  CurrentEval:
+
+I0601 08:07:50.672627 10549 TrainerInternal.cpp:157]  Batch=200 samples=320000 AvgCost=3.80957 CurrentCost=3.48421 Eval:  CurrentEval:
+
+I0601 08:08:18.877369 10549 TrainerInternal.cpp:157]  Batch=300 samples=480000 AvgCost=3.68145 CurrentCost=3.42519 Eval:  CurrentEval:
+
+I0601 08:08:46.863963 10549 TrainerInternal.cpp:157]  Batch=400 samples=640000 AvgCost=3.6007 CurrentCost=3.35847 Eval:  CurrentEval:
+
+I0601 08:09:15.413025 10549 TrainerInternal.cpp:157]  Batch=500 samples=800000 AvgCost=3.54811 CurrentCost=3.33773 Eval:  CurrentEval:
+I0601 08:09:36.058670 10549 TrainerInternal.cpp:181]  Pass=0 Batch=565 samples=902826 AvgCost=3.52368 Eval:
+I0601 08:09:46.215489 10549 Tester.cpp:101]  Test samples=97383 cost=3.32155 Eval:
+I0601 08:09:46.215966 10549 GradientMachine.cpp:132] Saving parameters to ./output/model/pass-00000
+I0601 08:09:46.233397 10549 ParamUtil.cpp:99] save dir ./output/model/pass-00000
+I0601 08:09:46.233438 10549 Util.cpp:209] copy trainer_config.py to ./output/model/pass-00000
+I0601 08:09:46.233541 10549 ParamUtil.cpp:147] fileName trainer_config.py
+
+
+

模型被保存在 output/ 目录中。你可以在任何时候用 Ctrl-C 来停止训练。

+
+
+

模型评估和预测

+

在训练了几个轮次以后,你可以对模型进行评估,得到最好轮次下的模型。运行下面命令即可:

+
./evaluate.sh
+
+
+

你将看到如下的信息:

+
Best pass is 00009,  error is 3.06949, which means predict get error as 0.875998002281
+evaluating from pass output/pass-00009
+
+
+

然后,你可以预测任何用户对于任何一部电影的评价,运行下面命令即可:

+
python prediction.py 'output/pass-00009/'
+
+
+

预测程序将读取用户的输入,然后输出预测分数。用户预测的命令行界面如下:

+
Input movie_id: 9
+Input user_id: 4
+Prediction Score is 2.56
+Input movie_id: 8
+Input user_id: 2
+Prediction Score is 3.13
+
+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/tutorials/semantic_role_labeling/index_cn.html b/release/0.10.0/doc_cn/tutorials/semantic_role_labeling/index_cn.html new file mode 100644 index 0000000000..6ac8f0d2d6 --- /dev/null +++ b/release/0.10.0/doc_cn/tutorials/semantic_role_labeling/index_cn.html @@ -0,0 +1,440 @@ + + + + + + + + + + + 语义角色标注教程 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • 语义角色标注教程
  • +
+
+ +
+
+
+
+ +
+

语义角色标注教程

+

语义角色标注(Semantic role labeling, SRL)是浅层语义解析的一种形式,其目的是在给定的输入句子中发现每个谓词的谓词论元结构。 SRL作为很多自然语言处理任务中的中间步骤是很有用的,如信息提取、文档自动分类和问答。 实例如下 [1]:

+

[ A0 He ] [ AM-MOD would ][ AM-NEG n’t ] [ V accept] [ A1 anything of value ] from [A2 those he was writing about ].

+
    +
  • V: 动词
  • +
  • A0: 接受者
  • +
  • A1: 接受的东西
  • +
  • A2: 从……接受
  • +
  • A3: 属性
  • +
  • AM-MOD: 情态动词
  • +
  • AM-NEG: 否定
  • +
+

给定动词“accept”,句子中的组块将会扮演某些语义角色。这里,标签方案来自 Penn Proposition Bank。

+

到目前为止,大多数成功的SRL系统是建立在某种形式的句法分析结果之上的,使用了基于句法结构的预定义特征模板。 本教程将介绍使用深度双向长短期记忆(DB-LSTM)模型[2]的端到端系统来解决SRL任务,这在很大程度上优于先前的最先进的系统。 这个系统将SRL任务视为序列标注问题。

+
+

数据描述

+

相关论文[2]采用 CoNLL-2005&2012 共享任务中设置的数据进行训练和测试。由于数据许可的原因,演示采用 CoNLL-2005 的测试数据集,可以在网站上找到。

+

用户只需执行以下命令就可以下载并处理原始数据:

+
cd data
+./get_data.sh
+
+
+

data目录会出现如下几个新的文件:

+
conll05st-release:the test data set of CoNll-2005 shared task 
+test.wsj.words:the Wall Street Journal data sentences
+test.wsj.props:  the propositional arguments
+feature: the extracted features from data set
+
+
+
+
+

训练

+
+

DB-LSTM

+

请参阅情感分析的演示以了解有关长期短期记忆单元的更多信息。

+

与在 Sentiment Analysis 演示中使用的 Bidirectional-LSTM 不同,DB-LSTM 采用另一种方法来堆叠LSTM层。首先,标准LSTM以正向处理该序列。该 LSTM 层的输入和输出作为下一个 LSTM 层的输入,并被反向处理。这两个标准 LSTM 层组成一对 LSTM。然后我们堆叠一对对的 LSTM 层后得到深度 LSTM 模型。

+

下图展示了时间扩展的2层 DB-LSTM 网络。 +

+pic +

+
+
+

特征

+

两个输入特征在这个流程中起着至关重要的作用:predicate(pred)和argument(arguments)。 还采用了两个其他特征:谓词上下文(ctx-p)和区域标记(mr)。 因为单个谓词不能精确地描述谓词信息,特别是当相同的词在句子中出现多于一次时。 使用谓词上下文,可以在很大程度上消除歧义。类似地,如果它位于谓词上下文区域中,则使用区域标记 mr = 1 来表示参数位置,反之则 mr = 0。这四个简单的特征是我们的SRL系统所需要的。上下文大小设置为1的一个样本的特征如下[2]所示: +

+pic +

+

在这个示例中,相应的标记句子是:

+

[ A1 A record date ] has [ AM-NEG n’t ] been [ V set ] .

+

在演示中, 我们采用上面的特征模板, 包括: argument, predicate, ctx-p (p=-1,0,1), mark 并使用 B/I/O 方案来标记每个参数。这些特征和标签存储在 feature 文件中, 用\t分割。

+
+
+

数据提供

+

dataprovider.py 是一个包装数据的 Python 文件。 函数 hook() 定义了网络的数据槽。六个特征和标签都是索引槽。

+
def hook(settings, word_dict, label_dict, **kwargs):
+    settings.word_dict = word_dict
+    settings.label_dict = label_dict
+    #all inputs are integral and sequential type
+    settings.slots = [
+        integer_value_sequence(len(word_dict)),
+        integer_value_sequence(len(predicate_dict)),
+        integer_value_sequence(len(word_dict)),
+        integer_value_sequence(len(word_dict)),
+        integer_value_sequence(len(word_dict)),
+        integer_value_sequence(len(word_dict)),
+        integer_value_sequence(len(word_dict)),
+        integer_value_sequence(2),
+        integer_value_sequence(len(label_dict))]
+
+
+

相应的数据迭代器如下:

+
@provider(init_hook=hook, should_shuffle=True, calc_batch_size=get_batch_size,
+          can_over_batch_size=False, cache=CacheType.CACHE_PASS_IN_MEM)
+def process(settings, file_name):
+    with open(file_name, 'r') as fdata:
+        for line in fdata:
+            sentence, predicate, ctx_n2, ctx_n1, ctx_0, ctx_p1, ctx_p2,  mark, label = \
+                line.strip().split('\t')
+
+            words = sentence.split()
+            sen_len = len(words)
+            word_slot = [settings.word_dict.get(w, UNK_IDX) for w in words]
+
+            predicate_slot = [settings.predicate_dict.get(predicate)] * sen_len
+            ctx_n2_slot = [settings.word_dict.get(ctx_n2, UNK_IDX)] * sen_len
+            ctx_n1_slot = [settings.word_dict.get(ctx_n1, UNK_IDX)] * sen_len
+            ctx_0_slot = [settings.word_dict.get(ctx_0, UNK_IDX)] * sen_len
+            ctx_p1_slot = [settings.word_dict.get(ctx_p1, UNK_IDX)] * sen_len
+            ctx_p2_slot = [settings.word_dict.get(ctx_p2, UNK_IDX)] * sen_len
+
+            marks = mark.split()
+            mark_slot = [int(w) for w in marks]
+
+            label_list = label.split()
+            label_slot = [settings.label_dict.get(w) for w in label_list]
+            yield word_slot, predicate_slot, ctx_n2_slot, ctx_n1_slot, \
+                  ctx_0_slot, ctx_p1_slot, ctx_p2_slot, mark_slot, label_slot
+
+
+

函数 process 返回8个特征list和1个标签list。

+
+
+

神经网络配置

+

db_lstm.py 是在训练过程中加载字典并定义数据提供程序模块和网络架构的神经网络配置文件。

+

九个 data_layer 从数据提供程序加载实例。八个特征分别转换为向量,并由mixed_layer混合。 深度双向LSTM层提取softmax层的特征。目标函数是标签的交叉熵。

+
+
+

训练

+

训练的脚本是 train.sh,用户只需执行:

+
  ./train.sh
+
+
+

train.sh 中的内容:

+
paddle train \
+  --config=./db_lstm.py \
+  --use_gpu=0 \
+  --log_period=5000 \
+  --trainer_count=1 \
+  --show_parameter_stats_period=5000 \
+  --save_dir=./output \
+  --num_passes=10000 \
+  --average_test_period=10000000 \
+  --init_model_path=./data \
+  --load_missing_parameter_strategy=rand \
+  --test_all_data_in_one_period=1 \
+2>&1 | tee 'train.log'
+
+
+
    +
  • --config=./db_lstm.py : 网络配置文件
  • +
  • --use_gpu=false: 使用 CPU 训练(如果已安装 PaddlePaddle GPU版本并想使用 GPU 训练可以设置为true,目前 crf_layer 不支持 GPU)
  • +
  • --log_period=500: 每20个batch输出日志
  • +
  • --trainer_count=1: 设置线程数(或 GPU 数)
  • +
  • --show_parameter_stats_period=5000: 每100个batch显示参数统计
  • +
  • --save_dir=./output: 模型输出路径
  • +
  • --num_passes=10000: 设置数据遍历次数,一个pass意味着PaddlePaddle训练数据集中的所有样本被遍历一次
  • +
  • --average_test_period=10000000: 每个 average_test_period 批次对平均参数进行测试
  • +
  • --init_model_path=./data: 参数初始化路径
  • +
  • --load_missing_parameter_strategy=rand: 随机初始不存在的参数
  • +
  • --test_all_data_in_one_period=1: 在一个周期内测试所有数据
  • +
+

训练后,模型将保存在目录output中。 我们的训练曲线如下: +

+pic +

+
+
+

测试

+

测试脚本是 test.sh, 执行:

+
  ./test.sh
+
+
+

tesh.sh 的主要部分:

+
paddle train \
+  --config=./db_lstm.py \
+  --model_list=$model_list \
+  --job=test \
+  --config_args=is_test=1 \
+
+
+
    +
  • --config=./db_lstm.py: 网络配置文件
  • +
  • --model_list=$model_list.list: 模型列表文件
  • +
  • --job=test: 指示测试任务
  • +
  • --config_args=is_test=1: 指示测试任务的标记
  • +
  • --test_all_data_in_one_period=1: 在一个周期内测试所有数据
  • +
+
+
+

预测

+

预测脚本是 predict.sh,用户只需执行:

+
  ./predict.sh
+  
+
+
+

predict.sh中,用户应该提供网络配置文件,模型路径,标签文件,字典文件,特征文件。

+
python predict.py 
+     -c $config_file \
+     -w $best_model_path \
+     -l $label_file \
+     -p $predicate_dict_file  \
+     -d $dict_file \
+     -i $input_file \
+     -o $output_file
+
+
+

predict.py 是主要的可执行python脚本,其中包括函数:加载模型,加载数据,数据预测。网络模型将输出标签的概率分布。 在演示中,我们使用最大概率的标签作为结果。用户还可以根据概率分布矩阵实现柱搜索或维特比解码。

+

预测后,结果保存在 predict.res 中。

+
+
+
+

引用

+

[1] Martha Palmer, Dan Gildea, and Paul Kingsbury. The Proposition Bank: An Annotated Corpus of Semantic Roles , Computational Linguistics, 31(1), 2005.

+

[2] Zhou, Jie, and Wei Xu. “End-to-end learning of semantic role labeling using recurrent neural networks.” Proceedings of the Annual Meeting of the Association for Computational Linguistics. 2015.

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/tutorials/sentiment_analysis/index_cn.html b/release/0.10.0/doc_cn/tutorials/sentiment_analysis/index_cn.html new file mode 100644 index 0000000000..e07d23fa65 --- /dev/null +++ b/release/0.10.0/doc_cn/tutorials/sentiment_analysis/index_cn.html @@ -0,0 +1,549 @@ + + + + + + + + + + + 情感分析教程 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • 情感分析教程
  • +
+
+ +
+
+
+
+ +
+

情感分析教程

+

情感分析有许多应用场景。 一个基本的应用场景是区分给定文本的褒贬两极性,给定的文本可以是一个文档、句子、或者是一个小的文本片段。 一个简单的例子如:把用户在购物网站、旅游网站、团购网站(亚马逊、天猫、淘宝等)上发表的评论分成正面评论和负面评论两类。

+

情感分析也常用于基于大量评论和个人博客来监控社会媒体。 例如,研究人员分析了几个关于消费者信心和政治观点的调查,结果发现它们与同时期的Twitter消息中的情绪词频率相关 [1]。 另一个例子是通过分析每日Twitter博客的文本内容来预测股票变动 [2]。

+

另一方面,抓取产品的用户评论并分析他们的情感,有助于理解用户对不同公司,不同产品,甚至不同竞争对手产品的偏好。

+

本教程将指导您完成长期短期记忆(LSTM)网络的训练过程,以分类来自大型电影评论数据集(有时称为互联网电影数据库 (IMDB))的句子的情感 。 此数据集包含电影评论及其相关联的类别标签,即正面和负面。

+
+

数椐准备

+
+

IMDB 数椐介绍

+

训练模型之前, 我们需要预处理数椐并构建一个字典。 首先, 你可以使用下面的脚本下载 IMDB 数椐集和Moses工具, 这是一个基于统计的机器翻译系统. 我们提供了一个数据预处理脚本,它不仅能够处理IMDB数据,还能处理其他用户自定义的数据。 为了使用提前编写的脚本,需要将标记的训练和测试样本移动到另一个路径,这已经在get_imdb.sh中完成。

+
cd demo/sentiment/data
+./get_imdb.sh
+
+
+

如果数椐获取成功,你将在目录./demo/sentiment/data中看到下面的文件:

+
aclImdb  get_imdb.sh  imdb  mosesdecoder-master
+
+
+
    +
  • aclImdb: 从外部网站上下载的原始数椐集。
  • +
  • imdb: 仅包含训练和测试数椐集。
  • +
  • mosesdecoder-master: Moses 工具。
  • +
+

IMDB数据集包含25,000个已标注过的高极性电影评论用于训练,25,000个用于测试。负面的评论的得分小于等于4,正面的评论的得大于等于7,总评分10分。 运行完脚本 ./get_imdb.sh后, 我们可以看到在目录 aclImdb中的数椐集的结构如下:

+
imdbEr.txt  imdb.vocab  README  test  train
+
+
+
    +
  • train: 训练数椐集。
  • +
  • test : 测试数椐集。
  • +
  • imdb.vocab: 字典文件。
  • +
  • imdbEr.txt: 字典imdb.vocab中每个切分单词的预期评级。
  • +
  • README: 数椐说明文档。
  • +
+

测试集和训练集目录包含下面的文件:

+
labeledBow.feat  neg  pos  unsup  unsupBow.feat  urls_neg.txt  urls_pos.txt  urls_unsup.txt
+
+
+
    +
  • pos: 正面评价样本,包含12,500个txt文件,每个文件是一个电影评论。
  • +
  • neg: 负面评价样本,包含12,500个txt文件,每个文件是一个电影评论。
  • +
  • unsup: 未标记的评价样本,包含50,000个txt文件。
  • +
  • urls_xx.txt: 每个评论的网址。
  • +
  • xxBow.feat: 用于统计词频的Bow模型特征。
  • +
+
+
+

IMDB 数椐准备

+

在这个例子中,我们只使用已经标注过的训练集和测试集,且默认在训练集上构建字典,而不使用IMDB数椐集中的imdb.vocab做为字典。训练集已经做了随机打乱排序而测试集没有。 Moses 工具中的脚本tokenizer.perl 用于切分单单词和标点符号。执行下面的命令就可以预处理数椐。

+
cd demo/sentiment/
+./preprocess.sh
+
+
+

preprocess.sh:

+
data_dir="./data/imdb"
+python preprocess.py -i data_dir
+
+
+
    +
  • data_dir: 输入数椐所在目录。
  • +
  • preprocess.py: 预处理脚本。
  • +
+

运行成功后目录demo/sentiment/data/pre-imdb 结构如下:

+
dict.txt  labels.list  test.list  test_part_000  train.list  train_part_000
+
+
+
    +
  • test_part_000 and train_part_000: 所有标记的测试集和训练集, 训练集已经随机打乱。
  • +
  • train.list and test.list: 训练集和测试集文件列表。
  • +
  • dict.txt: 利用训练集生成的字典。
  • +
  • labels.txt: neg 0, pos 1, 含义:标签0表示负面的评论,标签1表示正面的评论。
  • +
+
+
+

用户自定义数椐预处理

+

如果你执行其它的用情感分析来分类文本的任务,可以按如下的结构来准备数椐. 我们提供了脚本来构建字典和预处理数椐。所以你只用按下面的结构来组织数椐就行了。

+
dataset
+|----train
+|    |----class1
+|    |    |----text_files
+|    |----class2
+|    |    |----text_files
+|    |    ...
+|----test
+|    |----class1
+|    |    |----text_files
+|    |----class2
+|    |    |----text_files
+|    |    ...
+
+
+
    +
  • dataset: 一级目录。
  • +
  • train, test: 二级目录。
  • +
  • class1,class2,...: 三级目录。
  • +
  • text_files: 文本格式的实例文件。
  • +
+

所有同目录下的文本实例文件都是同级别的。 每个文本文件包含一个或者多个实例,每一行表示一个实例。 为了充分的随机打乱训练集, 在预处理含有多行数椐的文本文件时参数设置稍有不同, 执行preprocess.sh脚本时需要加上-m True参数。 tokenizer.perl 默认用来切分单记和标点符号,如果你不需要这个操作,在运行preprocess.sh时加上-t False参数即可。

+
+
+
+

训练模型

+

在这步任务中,我们使用了循环神经网络(RNN)的 LSTM 架构来训练情感分析模型。 引入LSTM模型主要是为了克服消失梯度的问题。 LSTM网络类似于具有隐藏层的标准循环神经网络, 但是隐藏层中的每个普通节点被一个记忆单元替换。 每个记忆单元包含四个主要的元素: 输入门, 具有自循环连接的神经元,忘记门和输出门。 更多的细节可以在文献中找到[4]。 LSTM架构的最大优点是它可以在长时间间隔内记忆信息,而没有短时记忆的损失。在有新的单词来临的每一个时间步骤内,存储在记忆单元区块的历史信息被更新用来迭代的学习单词以合理的序列程现。

+

LSTM
+
图表 1. LSTM [3]

+

情感分析是自然语言理解中最典型的问题之一。 它的目的是预测在一个序列中表达的情感态度。 通常, ,仅仅是一些关键词,如形容词和副词,在预测序列或段落的情感中起主要作用。然而有些评论上下文非常长,例如 IMDB的数椐集。 我们只所以使用LSTM来执行这个任务是因为其改进的设计并且具有门机制。 首先,它能够从词级到具有可变上下文长度的上下文级别来总结表示。 第二,它可以在句子级别利用可扩展的上下文, 而大多数方法只是利用n-gram级别的知识。第三,它直接学习段落表示,而不是组合上下文级别信息。

+

在本演示中,我们提供两个网络,即双向LSTM和三层堆叠LSTM。

+
+

双向LSTM

+

图2是双向LSTM网络,后面连全连接层和softmax层。

+

BiLSTM
+
图 2. Bidirectional-LSTM

+
+
+

Stacked-LSTM

+

图3是三层LSTM结构。图的底部是word embedding(对文档处理后形成的单词向量)。 接下来,连接三个LSTM隐藏层,并且第二个是反向LSTM。然后提取隐藏LSTM层的所有时间步长的最大词向量作为整个序列的表示。 最后,使用具有softmax激活的全连接前馈层来执行分类任务。 更多内容可查看参考文献 [5]。

+

StackedLSTM
+
图 3. Stacked-LSTM for sentiment analysis

+

配置

+

进入demo/sentiment 目录 , trainer_config.py 是一个配置文件的例子, 其中包含算法和网络配置。第一行从sentiment_net.py中导出预定义的网络。

+

trainer_config.py:

+
from sentiment_net import *
+
+data_dir  = "./data/pre-imdb"
+# whether this config is used for test
+is_test = get_config_arg('is_test', bool, False)
+# whether this config is used for prediction
+is_predict = get_config_arg('is_predict', bool, False)
+dict_dim, class_dim = sentiment_data(data_dir, is_test, is_predict)
+
+################## Algorithm Config #####################
+
+settings(
+  batch_size=128,
+  learning_rate=2e-3,
+  learning_method=AdamOptimizer(),
+  regularization=L2Regularization(8e-4),
+  gradient_clipping_threshold=25
+)
+
+#################### Network Config ######################
+stacked_lstm_net(dict_dim, class_dim=class_dim,
+                 stacked_num=3, is_predict=is_predict)
+#bidirectional_lstm_net(dict_dim, class_dim=class_dim, is_predict=is_predict)
+
+
+
    +
  • 数椐定义:
      +
    • get_config_arg(): 获取通过 --config_args=xx 设置的命令行参数。
    • +
    • 定义训练数椐和测试数椐提供者, 这里使用了PaddlePaddle的Python接口来加载数椐。想了解更多细节可以参考PyDataProvider部分的文档
    • +
    +
  • +
  • 算法配置:
      +
    • 使用随机梯度下降(sgd)算法。
    • +
    • 使用 adam 优化。
    • +
    • 设置batch size大小为128。
    • +
    • 设置平均sgd窗口。
    • +
    • 设置全局学习率。
    • +
    +
  • +
  • 网络配置:
      +
    • dict_dim: 获取字典维度。
    • +
    • class_dim: 设置类别数,IMDB有两个标签,即正面评价标签和负面评价标签。
    • +
    • stacked_lstm_net: 预定义网络如图3所示,默认情况下使用此网络
    • +
    • bidirectional_lstm_net: 预定义网络,如图2所示。
    • +
    +
  • +
+

训练

+

首先安装PaddlePaddle。 然后使用下面的脚本 train.sh 来开启本地的训练。

+
cd demo/sentiment/
+./train.sh
+
+
+

train.sh:

+
config=trainer_config.py
+output=./model_output
+paddle train --config=$config \
+             --save_dir=$output \
+             --job=train \
+             --use_gpu=false \
+             --trainer_count=4 \
+             --num_passes=10 \
+             --log_period=20 \
+             --dot_period=20 \
+             --show_parameter_stats_period=100 \
+             --test_all_data_in_one_period=1 \
+             2>&1 | tee 'train.log'
+
+
+
    +
  • --config=$config: 设置网络配置。
  • +
  • --save_dir=$output: 设置输出路径以保存训练完成的模型。
  • +
  • --job=train: 设置工作模式为训练。
  • +
  • --use_gpu=false: 使用CPU训练,如果你安装GPU版本的PaddlePaddle,并想使用GPU来训练设置为true。
  • +
  • --trainer_count=4:设置线程数(或GPU个数)。
  • +
  • --num_passes=15: 设置pass,PaddlePaddle中的一个pass意味着对数据集中的所有样本进行一次训练。
  • +
  • --log_period=20: 每20个batch打印一次日志。
  • +
  • --show_parameter_stats_period=100: 每100个batch打印一次统计信息。
  • +
  • --test_all_data_in_one_period=1: 每次测试都测试所有数据。
  • +
+

如果运行成功,输出日志保存在路径 demo/sentiment/train.log中,模型保存在目录demo/sentiment/model_output/中。 输出日志说明如下:

+
Batch=20 samples=2560 AvgCost=0.681644 CurrentCost=0.681644 Eval: classification_error_evaluator=0.36875  CurrentEval: classification_error_evaluator=0.36875
+...
+Pass=0 Batch=196 samples=25000 AvgCost=0.418964 Eval: classification_error_evaluator=0.1922
+Test samples=24999 cost=0.39297 Eval: classification_error_evaluator=0.149406
+
+
+
    +
  • Batch=xx: 表示训练了xx个Batch。
  • +
  • samples=xx: 表示训练了xx个样本。。
  • +
  • AvgCost=xx: 从第0个batch到当前batch的平均损失。
  • +
  • CurrentCost=xx: 最新log_period个batch处理的当前损失。
  • +
  • Eval: classification_error_evaluator=xx: 表示第0个batch到当前batch的分类错误。
  • +
  • CurrentEval: classification_error_evaluator: 最新log_period个batch的分类错误。
  • +
  • Pass=0: 通过所有训练集一次称为一遍。 0表示第一次经过训练集。
  • +
+

默认情况下,我们使用stacked_lstm_net网络,当传递相同的样本数时,它的收敛速度比bidirectional_lstm_net快。如果要使用双向LSTM,只需删除最后一行中的注释并把“stacked_lstm_net”注释掉。

+
+
+
+

测试模型

+

测试模型是指使用训练出的模型评估已标记的验证集。

+
cd demo/sentiment
+./test.sh
+
+
+

test.sh:

+
function get_best_pass() {
+  cat $1  | grep -Pzo 'Test .*\n.*pass-.*' | \
+  sed  -r 'N;s/Test.* error=([0-9]+\.[0-9]+).*\n.*pass-([0-9]+)/\1 \2/g' | \
+  sort | head -n 1
+}
+
+log=train.log
+LOG=`get_best_pass $log`
+LOG=(${LOG})
+evaluate_pass="model_output/pass-${LOG[1]}"
+
+echo 'evaluating from pass '$evaluate_pass
+
+model_list=./model.list
+touch $model_list | echo $evaluate_pass > $model_list
+net_conf=trainer_config.py
+paddle train --config=$net_conf \
+             --model_list=$model_list \
+             --job=test \
+             --use_gpu=false \
+             --trainer_count=4 \
+             --config_args=is_test=1 \
+             2>&1 | tee 'test.log'
+
+
+

函数get_best_pass依据分类错误率获得最佳模型进行测试。 在本示例中,我们默认使用IMDB的测试数据集作为验证。 与训练不同,它需要在这里指定--job = test和模型路径,即--model_list = $model_list。如果运行成功,日志将保存在“demo / sentiment / test.log”的路径中。例如,在我们的测试中,最好的模型是model_output / pass-00002,分类误差是0.115645,如下:

+
Pass=0 samples=24999 AvgCost=0.280471 Eval: classification_error_evaluator=0.115645
+
+
+
+
+

预测

+

predict.py脚本提供了一个预测接口。在使用它之前请安装PaddlePaddle的python api。 预测IMDB的未标记评论的一个实例如下:

+
cd demo/sentiment
+./predict.sh
+
+
+

predict.sh:

+
#Note the default model is pass-00002, you shold make sure the model path
+#exists or change the mode path.
+model=model_output/pass-00002/
+config=trainer_config.py
+label=data/pre-imdb/labels.list
+cat ./data/aclImdb/test/pos/10007_10.txt | python predict.py \
+     --tconf=$config\
+     --model=$model \
+     --label=$label \
+     --dict=./data/pre-imdb/dict.txt \
+     --batch_size=1
+
+
+
    +
  • cat ./data/aclImdb/test/pos/10007_10.txt : 输入预测样本。
  • +
  • predict.py : 预测接口脚本。
  • +
  • --tconf=$config : 设置网络配置。
  • +
  • --model=$model : 设置模型路径。
  • +
  • --label=$label : 设置标签类别字典,这个字典是整数标签和字符串标签的一个对应。
  • +
  • --dict=data/pre-imdb/dict.txt : 设置字典文件。
  • +
  • --batch_size=1 : 设置batch size。
  • +
+

注意应该确保默认模型路径model_output / pass-00002存在或更改为其它模型路径。

+

本示例的预测结果:

+
Loading parameters from model_output/pass-00002/
+./data/aclImdb/test/pos/10014_7.txt: predicting label is pos
+
+
+

我们真诚地感谢您的关注,并欢迎您来参与贡献。

+
+
+

参考文档

+

[1] Brendan O’Connor, Ramnath Balasubramanyan, Bryan R. Routledge, and Noah A. Smith. 2010. From Tweets to Polls: Linking Text Sentiment to Public Opinion Time Series. In ICWSM-2010.
+[2] Johan Bollen, Huina Mao, Xiaojun Zeng. 2011. Twitter mood predicts the stock market, Journal of Computational Science.
+[3] Alex Graves, Marcus Liwicki, Santiago Fernan- dez, Roman Bertolami, Horst Bunke, and Ju ̈rgen Schmidhuber. 2009. A novel connectionist system for unconstrained handwriting recognition. IEEE Transactions on Pattern Analysis and Machine In- telligence, 31(5):855–868.
+[4] Zachary C. Lipton, A Critical Review of Recurrent Neural Networks for Sequence Learning, arXiv:1506.00019.
+[5] Jie Zhou and Wei Xu; End-to-end Learning of Semantic Role Labeling Using Recurrent Neural Networks; ACL-IJCNLP 2015.

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/0.10.0/doc_cn/tutorials/text_generation/index_cn.html b/release/0.10.0/doc_cn/tutorials/text_generation/index_cn.html new file mode 100644 index 0000000000..767e22662e --- /dev/null +++ b/release/0.10.0/doc_cn/tutorials/text_generation/index_cn.html @@ -0,0 +1,602 @@ + + + + + + + + + + + 文本生成教程 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + +
+
    + +
  • 文本生成教程
  • +
+
+ +
+
+
+
+ +
+

文本生成教程

+

在语言生成领域中,“序列到序列”(sequence to sequence)的方法已被证明是一种强大的模型。它可以被应用于进行机器翻译(machine translation)、query改写(query rewriting)、图像描述(image captioning)等等。

+

本篇教程将会指导你通过训练一个“序列到序列”的神经网络机器翻译(NMT)模型来将法语翻译成英语。

+

我们遵循 Neural Machine Translation by Jointly Learning to Align and Translate 这篇文章,其中详细说明了模型架构,以及在WMT-14数据集上得到良好表现的训练过程。本篇教程在PaddlePaddle中重现了这一良好的训练结果。

+

我们感谢@caoying的pull request,其中定义了模型架构和solver配置。

+
+

数据准备

+
+

下载与解压缩

+

从该链接 http://www-lium.univ-lemans.fr/~schwenk/cslm_joint_paper/ 下载WMT-14数据集,然后解压,并将Develop和Test数据分别放入不同的文件夹。

+ +

在Linux下,只需要简单地运行以下命令。否则你需要自己下载、解压、拆分到不同文件夹、并且分别重命名文件后缀。

+
cd demo/seqToseq/data
+./wmt14_data.sh
+
+
+

我们会发现数据集 wmt14 中包含如下表所示的3个文件夹。

+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + +
folder nameFrench-English parallel corpora filenumber of total filesize
train_dataccb2_pc30.src, ccb2_pc30.trg, etc123.55G
test_datantst1213.src, ntst1213.trg21636k
gen_datantst14.src, ntst14.trg2864k
+
    +
  • 每个文件夹都包含法语到英语的平行语料库
  • +
  • XXX.src 是原始法语文件;XXX.trg 是目标英语文件
  • +
  • XXX.srcXXX.trg 的行数应该一致
  • +
  • 每行都是一个法语或者英语的句子
  • +
  • XXX.srcXXX.trg 中任意第i行的句子之间都有着一一对应的关系
  • +
+
+
+

用户自定义数据集

+

如果你想进行诸如语义转述(Paraphrasing)等其他“序列到序列”的任务,你只需要按照如下方式组织数据,并将它们放在demo/seqToseq/data目录下:

+
dataset
+  train
+    file1.src file1.trg
+    file2.src file2.trg
+    ......
+  test
+    file1.src file1.trg
+    file2.src file2.trg
+    ......
+  gen
+    file1.src file1.trg
+    file2.src file2.trg
+    ......
+
+
+
    +
  • 一级目录:数据集文件夹名称
  • +
  • 二级目录:train、test和gen这三个文件夹是固定的
  • +
  • 三级目录:源语言到目标语言的平行语料库文件
      +
    • XXX.src 是源语言的文件,XXX.trg 时目标语言的文件
    • +
    • 文件中的每行都必须是一个句子
    • +
    • XXX.srcXXX.trg 中任意第i行的句子之间都必须有着一一对应的关系
    • +
    +
  • +
+
+
+
+

数据预处理

+
+

预处理工作流程

+
    +
  • 将每个源语言到目标语言的平行语料库文件合并为一个文件:
      +
    • 合并每个 XXX.srcXXX.trg 文件为 XXX
    • +
    • XXX 中的第i行 = XXX.src 中的第i行 + ‘\t’ + XXX.trg中的第i行
    • +
    +
  • +
  • 创建训练数据的“源字典”和“目标字典”,每个字典都有DICTSIZE个单词,包括:
      +
    • 词频最高的(DICTSIZE - 3)个单词
    • +
    • 3个特殊符号
    • +
    • <s>:序列的开始
    • +
    • <e>:序列的结束
    • +
    • <unk>:未包含在字典中的单词
    • +
    +
  • +
+
+
+

预处理命令和结果

+

对数据集进行预处理的基本命令是:

+
cd demo/seqToseq/
+python preprocess.py -i INPUT [-d DICTSIZE] [-m]
+
+
+
    +
  • -i INPUT:输入的原始数据集路径
  • +
  • -d DICTSIZE:指定的字典单词数,如果没有设置,字典会包含输入数据集中的所有单词
  • +
  • -m --mergeDict:合并 “源字典”和“目标字典”,使得两个字典有相同的上下文
  • +
+

你将会看到如下消息:

+
concat parallel corpora for dataset
+build source dictionary for train data
+build target dictionary for train data
+dictionary size is XXX
+
+
+

然后你只需要运行以下命令:

+
python preprocess.py -i data/wmt14 -d 30000
+
+
+

这将花费数分钟的时间,并且将预处理好的数据集存放在demo/seqToseq/data/pre-wmt14目录下。目录结构如下:

+
train test gen train.list test.list gen.list src.dict trg.dict# Text generation Tutorial #
+
+
+
    +
  • train, test, gen:分别包含了法语到英语的平行语料库的训练数据、测试数据和生成数据。文件夹中的每个文件的每一行包含两部分,首先是法语序列,然后是对应的英语序列。
  • +
  • train.list, test.list, gen.list:分别为train,test,gen文件夹中的文件列表
  • +
  • src.dict, trg.dict:源(法语)/目标(英语)字典,每个字典包含总共30000个单词:29997个最高频单词和3个特殊符号
  • +
+
+
+
+

模型训练

+
+

简介

+

神经网络机器翻译(NMT)旨在建立一个可以被协同调至最优翻译效果的单神经元网络。近期提出的NMT模型通常都属于编解码模型(encoder–decoder models)的一种。编解码模型将一个源语句编码为一个定长的向量,然后解码器通过这个向量生成一个目标语句。

+

在这个任务中,我们使用了一个编解码模型的扩展,它同时学习排列(align)与翻译。每当模型在翻译过程中生成了一个单词,它就会在源语句中搜索出最相关信息的位置的集合。解码器根据上下文向量预测出一个目标单词,这个向量与源中搜索出的位置和所有之前生成的目标单词有关。如想了解更多详细的解释,可以参考 Neural Machine Translation by Jointly Learning to Align and Translate

+

这个模型对于编解码模型来说,最不同的特色是它并没有将输入语句编码为一个单独的定长向量。相反,它将输入语句编码为向量的序列,其中每个向量对应输入语句中的一个元素。然后在解码被翻译的语句时,会自适应地从这些向量中选择一个子集出来。这使得NMT模型得以解放出来,不必再将任意长度源语句中的所有信息压缩至一个定长的向量中。该模型在长语句翻译的场景下效果提升更加明显,在任意长度语句翻译的场景下都可以观察到其效果的提升。 +

+
Figure 1. Encoder-Decoder-Attention-Model

+
+
+

使用PaddlePaddle训练模型

+

我们在训练之前需要常见一个模型配置文件,这里是一个例子demo/seqToseq/translation/train.conf。前三行import了定义network,job_mode和attention_mode的python函数。

+
from seqToseq_net import *
+is_generating = False
+
+### Data Definiation
+train_conf = seq_to_seq_data(data_dir = "./data/pre-wmt14",
+                             is_generating = is_generating)
+
+### Algorithm Configuration
+settings(
+    learning_method = AdamOptimizer(),
+    batch_size = 50,
+    learning_rate = 5e-4)
+
+### Network Architecture
+gru_encoder_decoder(train_conf, is_generating)
+
+
+
    +
  1. Data Definiation:在示例中我们定义了一个序列到序列的训练和测试数据。它返回train_conf作为配置,其输入参数如下:
  2. +
+
    +
  • data_dir:训练数据和测试数据的目录
  • +
  • is_generating:这个配置是否用来生成,这里设置为False
  • +
+
    +
  1. Algorithm Configuration:在示例中我们使用SGD训练算法(默认),和ADAM学习方法,指定batch_size为50,learning_rate为5e-4
  2. +
  3. Network Architecture:在示例中我们使用attention版本的GRU编解码网络。它包括了一个双向的GRU作为编码器和解码器,它模拟了解码翻译过程中在源语句中的搜索。
  4. +
+
+
+

训练模型的命令与结果

+

写完模型配置之后,我们可以通过以下命令来训练模型:

+
cd demo/seqToseq/translation
+./train.sh
+
+
+

train.sh 的内容如下所示:

+
paddle train \
+--config='translation/train.conf' \
+--save_dir='translation/model' \
+--use_gpu=false \
+--num_passes=16 \
+--show_parameter_stats_period=100 \
+--trainer_count=4 \
+--log_period=10 \
+--dot_period=5 \
+2>&1 | tee 'translation/train.log'
+
+
+
    +
  • config: 设置神经网络的配置文件
  • +
  • save_dir: 设置保存模型的输出路径
  • +
  • use_gpu: 是否使用GPU训练,这里设置为使用CPU
  • +
  • num_passes: 设置passes的数量。paddle中的一条pass表示训练数据集中所有的样本一次
  • +
  • show_parameter_stats_period: 这里每隔100个batch显示一次参数统计信息
  • +
  • trainer_count: 设置CPU线程数或者GPU设备数
  • +
  • log_period: 这里每隔10个batch打印一次日志
  • +
  • dot_period: 这里每个5个batch打印一个点”.”
  • +
+

训练的损失函数默认每隔10个batch打印一次,你将会看到如下消息:

+
I0719 19:16:45.952062 15563 TrainerInternal.cpp:160]  Batch=10 samples=500 AvgCost=198.475 CurrentCost=198.475 Eval: classification_error_evaluator=0.737155  CurrentEval: classification_error_evaluator=0.737155
+I0719 19:17:56.707319 15563 TrainerInternal.cpp:160]  Batch=20 samples=1000 AvgCost=157.479 CurrentCost=116.483 Eval: classification_error_evaluator=0.698392  CurrentEval: classification_error_evaluator=0.659065
+.....
+
+
+
    +
  • AvgCost:从第0个batch到当前batch的平均cost
  • +
  • CurrentCost::当前batch的cost
  • +
  • classification_error_evaluator(Eval):从第0个评估到当前评估中,每个单词的预测错误率
  • +
  • classification_error_evaluator(CurrentEval):当前评估中,每个单词的预测错误率
  • +
+

当classification_error_evaluator的值低于0.35时,模型就训练成功了。

+
+
+
+

文本生成

+
+

简介

+

一般而言,NMT模型受制于源语句的编码,并且通过给出当前目标单词来预测下一个目标单词。在训练过程中,当前单词在相比之下总是被当作真值(ground truth)。在生成过程中,当前单词是解码器最后一步的输出,这来自于PaddlePaddle的内存中。

+

而且,我们使用集束搜索(Beam Search)来生成序列。集束搜索使用广度优先搜索来构建搜索树。对于树的每一层,生成当前层的所有后继状态,并将它们按照启发代价(heuristic cost)升序排列。但是这种方法在每层只保存预设数量的最优状态(这个数量称为beam size)。

+
+
+

预训练的模型

+

我们在拥有50个节点的集群中训练模型,每个节点有两个6核CPU。我们在5天里训练了16个pass,其中每条pass花费了7个小时。model_dir中有16个子目录,每个里面都包含202MB的全部的模型参数。然后我们发现pass-00012的模型有着最高的BLEU值27.77(参考文献BLEU: a Method for Automatic Evaluation of Machine Translation)。要下载解压这个模型,只需在linux下运行如下命令:

+
cd demo/seqToseq/data
+./wmt14_model.sh
+
+
+
+
+

使用PaddlePaddle生成模型

+

在翻译法语句子之前,我们需要创建模型配置文件。这里是一个例子demo/seqToseq/translation/gen.conf。前三行import了定义network,job_mode和attention_mode的python函数。

+
from seqToseq_net import *
+is_generating = True
+
+################## Data Definiation #####################
+gen_conf = seq_to_seq_data(data_dir = "./data/pre-wmt14",
+                           is_generating = is_generating,
+                           gen_result = "./translation/gen_result")
+
+############## Algorithm Configuration ##################
+settings(
+  learning_method = AdamOptimizer(),
+  batch_size = 1,
+  learning_rate = 0)
+
+################# Network configure #####################
+gru_encoder_decoder(gen_conf, is_generating)
+
+
+
    +
  1. Data Definiation:在示例中我们定义了一个序列到序列的生成数据。它返回gen_conf作为配置,其输入参数如下:
  2. +
+
    +
  • data_dir:生成数据的目录 + - is_generating:这个配置是否用来生成,这里设置为True + - gen_result:保存生成结果的文件
  • +
+
    +
  1. Algorithm Configuration:在生成过程中我们使用SGD训练算法,并指定batch_size为1(每次生成1个序列),learning_rate为0
  2. +
  3. Network Architecture:本质上与训练模型一样
  4. +
+
+
+

生成模型的命令与结果

+

写完模型配置之后,我们可以通过以下命令来进行从法语到英语的文本翻译:

+
cd demo/seqToseq/translation
+./gen.sh
+
+
+

gen.sh 的内容如下所示。与训练模型不同的是,这里有一些不同的参数需要指定:

+
paddle train \
+--job=test \
+--config='translation/gen.conf' \
+--save_dir='data/wmt14_model' \
+--use_gpu=true \
+--num_passes=13 \
+--test_pass=12 \
+--trainer_count=1 \
+2>&1 | tee 'translation/gen.log'
+
+
+
    +
  • job:设置任务的模式为测试
  • +
  • save_dir:存储模型的路径
  • +
  • num_passes and test_pass:从test_pass到(num_passes - 1)加载模型参数,这里只加载 data/wmt14_model/pass-00012
  • +
+

你将会看到这样的消息:

+
I0706 14:48:31.178915 31441 GradientMachine.cpp:143] Loading parameters from data/wmt14_model/pass-00012
+I0706 14:48:40.012039 31441 Tester.cpp:125]  Batch=100 samples=100 AvgCost=0
+I0706 14:48:48.898632 31441 Tester.cpp:125]  Batch=200 samples=200 AvgCost=0
+...
+
+
+

然后在demo/seqToseq/translation/gen_result中的生成结果如下所示:

+
0
+0       -11.1314         The <unk> <unk> about the width of the seats while large controls are at stake <e>
+1       -11.1519         The <unk> <unk> on the width of the seats while large controls are at stake <e>
+2       -11.5988         The <unk> <unk> about the width of the seats while large controls are at stake . <e>
+
+1
+0       -24.4149         The dispute is between the major aircraft manufacturers about the width of the tourist seats on the <unk> flights , paving the way for a <unk> confrontation during the month of the Dubai <unk> . <e>
+1       -26.9524         The dispute is between the major aircraft manufacturers about the width of the tourist seats on the <unk> flights , paving the way for a <unk> confrontation during the month of Dubai &apos; s <unk> . <e>
+2       -27.9574         The dispute is between the major aircraft manufacturers about the width of the tourist seats on the <unk> flights , paving the way for a <unk> confrontation during the month of Dubai &apos; s Dubai <unk> . <e>
+...
+
+
+
    +
  • 这是集束搜索的结果,其中beam size是3
  • +
  • 第一行的“0”和第6行的“1”表示生成数据的序列id
  • +
  • 其他六行列出了集束搜索的结果
      +
    • 第二列是集束搜索的得分(从大到小)
    • +
    • 第三列是生成的英语序列
    • +
    +
  • +
  • 有两个特殊标识:
      +
    • <e>:序列的结尾
    • +
    • <unk>:不包含在字典中的单词
    • +
    +
  • +
+
+
+

BLEU评估

+

对机器翻译的人工评估工作很广泛但也很昂贵。一篇论文 BLEU: a Method for Automatic Evaluation of Machine Translation 展示了一种方法,当需要快速或者频繁的评估时,使用自动的替补来替代经验丰富的人工评判。Moses 是一个统计学的机器翻译系统,我们使用其中的 multi-bleu.perl 来做BLEU评估。运行以下命令来下载这个脚本:

+
cd demo/seqToseq/translation
+./moses_bleu.sh
+
+
+

由于标准的翻译结果已经下载到这里data/wmt14/gen/ntst14.trg,我们可以运行以下命令来做BLEU评估。

+
cd demo/seqToseq/translation
+./eval_bleu.sh FILE BEAMSIZE
+
+
+
    +
  • FILE:生成的结果文件
  • +
  • BEAMSIZE:集束搜索中的扩展广度
  • +
+
+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file -- GitLab

4p19mkErxY7c=R@>od>0oE2Rk>F)~t=J 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 $9f`6 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc_cn/_images/nvvp2.png b/release/0.10.0/doc_cn/_images/nvvp2.png new file mode 100644 index 0000000000000000000000000000000000000000..177c9db708da6863d1075f3e615f5962dbe18b29 GIT binary patch literal 495117 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%0D46CJAvp3iBP*2C`q}xx8 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

+ Figure 1. GAN-Model-Structure + figure credit +

4p19mkErxY7c=R@>od>0oE2Rk>F)~t=J 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 $9f`6 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 literal 0 HcmV?d00001 diff --git a/release/0.10.0/doc/_images/nvvp2.png b/release/0.10.0/doc/_images/nvvp2.png new file mode 100644 index 0000000000000000000000000000000000000000..177c9db708da6863d1075f3e615f5962dbe18b29 GIT binary patch literal 495117 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%0D46CJAvp3iBP*2C`q}xx8 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