未验证 提交 41e6a032 编写于 作者: C Cheerego 提交者: GitHub

update_1.2 (#464)

* add_api_cn (#437)

* add gpu benchmark page (#436)

* add gpu benchmark

* fix comments

* add chinese link in gen_doc.py (#439)

* modified gen_doc.py

* Update gen_doc.py

* update gen_doc.py

* Update mobile doc (#440)

* update_en_structure

* update_Paddle_commitid

* delete_DS

* update_mobile_doc

* Update book commit (#438)

* update_en_structure

* update_Paddle_commitid

* delete_DS

* update_book_commit_id

* update_api_rst

* Adjust structure of advanced usage (#442)

* adjust_structure_of_advanced_usage

* Update paddle_gpu_benchmark.md

* adjust_toctree_hidden

* fix_api_guide

* Update index.rst

* fix deadlinkes (#443)

* add_toctree (#445)

* adjust_beginners_structure (#446)

* adjust_beginners_structure

* Update index.rst

* update install_doc for python3 (#418)

* update install_doc for python3

* update python3.5+ info,test=develop

* fix review, test=develop

* fix_pic (#447)

* delete en2zn link

* update lod_tensor

* 1207

 1.english api reference links removed
2. formatted

* update transpiler

* update profilse_cn

* Update docker-image instroduce, test=develop (#459)

* fix_bug (#460)

* [cp2dev]Add avx info 1.1 (#279) (#451)

* Add avx info 1.1 (#279)

* refine avx info representation

* refine avx info representation

* refine avx info representation

* updatetoavx

* fix_AVX

* update_en_api (#461)

* update api guides for cn (#462)

* Update commit_id of Paddle (#463)

* update_en_api

* update_again

* Fix bug (#465)

* update_en_api

* update_again

* bug_fix

* fix_2nd
上级 a66a8263
......@@ -5,7 +5,7 @@
PaddlePaddle Fluid 提供了 C++ API 来支持模型的部署上线
.. toctree::
:hidden:
:titlesonly:
build_and_install_lib_cn.rst
native_infer.md
......
......@@ -2,6 +2,15 @@
性能调优
##########
.. toctree::
:hidden:
benchmark.rst
cpu_profiling_cn.md
gpu_profiling_cn.rst
host_memory_profiling_cn.md
timeline_cn.md
本模块介绍 Fluid 使用过程中的调优方法,包括:
- `如何进行基准测试 <benchmark.html>`_:介绍如何选择基准模型,从而验证模型的精度和性能
......@@ -11,11 +20,3 @@
- `Timeline工具简介 <timeline_cn.html>`_ :介绍如何使用 Timeline 工具进行性能分析和调优
.. toctree::
:hidden:
benchmark.rst
cpu_profiling_cn.md
gpu_profiling_cn.rst
host_memory_profiling_cn.md
timeline_cn.md
## High/Low-level API简介
Paddle目前有2套API接口:
PaddlePaddle Fluid目前有2套API接口:
- Low-level(底层) API:
- 灵活性强并且已经相对成熟,使用它训练的模型,能直接支持C++预测上线。
- 提供了大量的模型作为使用示例,包括[Book](https://github.com/PaddlePaddle/book)中的第7和8章,以及[models](https://github.com/PaddlePaddle/models)中的所有章节。
- 提供了大量的模型作为使用示例,包括[Book](https://github.com/PaddlePaddle/book)中的全部章节,以及[models](https://github.com/PaddlePaddle/models)中的所有章节。
- 适用人群:对深度学习有一定了解,需要自定义网络进行训练/预测/上线部署的用户。
- High-level(高层)API:
- 使用简单[Book](https://github.com/PaddlePaddle/book)中前六章提供了示例。
- 使用简单
- 尚未成熟,接口暂时在[paddle.fluid.contrib](https://github.com/PaddlePaddle/Paddle/tree/develop/python/paddle/fluid/contrib)下面。
- 适用人群:想通过Book课程进行深度学习基础知识学习的初级用户。
......@@ -14,5 +14,3 @@ WeightedAverage
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_average_WeightedAverage`
......@@ -13,5 +13,3 @@ append_backward
.. autofunction:: paddle.fluid.backward.append_backward
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_backward_append_backward`
......@@ -14,8 +14,6 @@ ErrorClipByValue
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_clip_ErrorClipByValue`
.. _api_fluid_clip_GradientClipByGlobalNorm:
GradientClipByGlobalNorm
......@@ -25,8 +23,6 @@ GradientClipByGlobalNorm
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_clip_GradientClipByGlobalNorm`
.. _api_fluid_clip_GradientClipByNorm:
GradientClipByNorm
......@@ -36,8 +32,6 @@ GradientClipByNorm
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_clip_GradientClipByNorm`
.. _api_fluid_clip_GradientClipByValue:
GradientClipByValue
......@@ -47,5 +41,3 @@ GradientClipByValue
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_clip_GradientClipByValue`
......@@ -14,5 +14,3 @@ DataFeeder
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_data_feeder_DataFeeder`
......@@ -14,8 +14,6 @@ Executor
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_executor_Executor`
.. _api_fluid_executor_global_scope:
global_scope
......@@ -24,8 +22,6 @@ global_scope
.. autofunction:: paddle.fluid.executor.global_scope
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_executor_global_scope`
.. _api_fluid_executor_scope_guard:
scope_guard
......@@ -34,5 +30,3 @@ scope_guard
.. autofunction:: paddle.fluid.executor.scope_guard
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_executor_scope_guard`
......@@ -14,8 +14,6 @@ AsyncExecutor
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_AsyncExecutor`
.. _api_fluid_BuildStrategy:
BuildStrategy
......@@ -25,8 +23,6 @@ BuildStrategy
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_BuildStrategy`
.. _api_fluid_CPUPlace:
CPUPlace
......@@ -36,8 +32,6 @@ CPUPlace
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_CPUPlace`
.. _api_fluid_create_lod_tensor:
create_lod_tensor
......@@ -46,8 +40,6 @@ create_lod_tensor
.. autofunction:: paddle.fluid.create_lod_tensor
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_create_lod_tensor`
.. _api_fluid_create_random_int_lodtensor:
create_random_int_lodtensor
......@@ -56,8 +48,6 @@ create_random_int_lodtensor
.. autofunction:: paddle.fluid.create_random_int_lodtensor
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_create_random_int_lodtensor`
.. _api_fluid_CUDAPinnedPlace:
CUDAPinnedPlace
......@@ -67,8 +57,6 @@ CUDAPinnedPlace
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_CUDAPinnedPlace`
.. _api_fluid_CUDAPlace:
CUDAPlace
......@@ -78,8 +66,6 @@ CUDAPlace
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_CUDAPlace`
.. _api_fluid_DataFeedDesc:
DataFeedDesc
......@@ -89,8 +75,6 @@ DataFeedDesc
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_DataFeedDesc`
.. _api_fluid_DataFeeder:
DataFeeder
......@@ -100,8 +84,6 @@ DataFeeder
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_DataFeeder`
.. _api_fluid_default_main_program:
default_main_program
......@@ -110,8 +92,6 @@ default_main_program
.. autofunction:: paddle.fluid.default_main_program
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_default_main_program`
.. _api_fluid_default_startup_program:
default_startup_program
......@@ -120,8 +100,6 @@ default_startup_program
.. autofunction:: paddle.fluid.default_startup_program
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_default_startup_program`
.. _api_fluid_DistributeTranspiler:
DistributeTranspiler
......@@ -131,8 +109,6 @@ DistributeTranspiler
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_DistributeTranspiler`
.. _api_fluid_DistributeTranspilerConfig:
DistributeTranspilerConfig
......@@ -142,8 +118,6 @@ DistributeTranspilerConfig
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_DistributeTranspilerConfig`
.. _api_fluid_ExecutionStrategy:
ExecutionStrategy
......@@ -153,8 +127,6 @@ ExecutionStrategy
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_ExecutionStrategy`
.. _api_fluid_Executor:
Executor
......@@ -164,8 +136,6 @@ Executor
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_Executor`
.. _api_fluid_global_scope:
global_scope
......@@ -174,8 +144,6 @@ global_scope
.. autofunction:: paddle.fluid.global_scope
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_global_scope`
.. _api_fluid_LoDTensor:
LoDTensor
......@@ -185,8 +153,6 @@ LoDTensor
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_LoDTensor`
.. _api_fluid_LoDTensorArray:
LoDTensorArray
......@@ -196,8 +162,6 @@ LoDTensorArray
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_LoDTensorArray`
.. _api_fluid_memory_optimize:
memory_optimize
......@@ -206,8 +170,6 @@ memory_optimize
.. autofunction:: paddle.fluid.memory_optimize
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_memory_optimize`
.. _api_fluid_name_scope:
name_scope
......@@ -216,8 +178,6 @@ name_scope
.. autofunction:: paddle.fluid.name_scope
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_name_scope`
.. _api_fluid_ParallelExecutor:
ParallelExecutor
......@@ -227,8 +187,6 @@ ParallelExecutor
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_ParallelExecutor`
.. _api_fluid_ParamAttr:
ParamAttr
......@@ -238,8 +196,6 @@ ParamAttr
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_ParamAttr`
.. _api_fluid_Program:
Program
......@@ -249,8 +205,6 @@ Program
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_Program`
.. _api_fluid_program_guard:
program_guard
......@@ -259,8 +213,6 @@ program_guard
.. autofunction:: paddle.fluid.program_guard
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_program_guard`
.. _api_fluid_release_memory:
release_memory
......@@ -269,8 +221,6 @@ release_memory
.. autofunction:: paddle.fluid.release_memory
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_release_memory`
.. _api_fluid_Scope:
Scope
......@@ -280,8 +230,6 @@ Scope
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_Scope`
.. _api_fluid_scope_guard:
scope_guard
......@@ -290,8 +238,6 @@ scope_guard
.. autofunction:: paddle.fluid.scope_guard
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_scope_guard`
.. _api_fluid_Tensor:
Tensor
......@@ -301,8 +247,6 @@ Tensor
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_Tensor`
.. _api_fluid_WeightNormParamAttr:
WeightNormParamAttr
......@@ -312,5 +256,3 @@ WeightNormParamAttr
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_WeightNormParamAttr`
......@@ -14,8 +14,6 @@ Bilinear
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_initializer_Bilinear`
.. _api_fluid_initializer_BilinearInitializer:
BilinearInitializer
......@@ -25,8 +23,6 @@ BilinearInitializer
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_initializer_BilinearInitializer`
.. _api_fluid_initializer_Constant:
Constant
......@@ -36,8 +32,6 @@ Constant
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_initializer_Constant`
.. _api_fluid_initializer_ConstantInitializer:
ConstantInitializer
......@@ -47,8 +41,6 @@ ConstantInitializer
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_initializer_ConstantInitializer`
.. _api_fluid_initializer_force_init_on_cpu:
force_init_on_cpu
......@@ -57,8 +49,6 @@ force_init_on_cpu
.. autofunction:: paddle.fluid.initializer.force_init_on_cpu
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_initializer_force_init_on_cpu`
.. _api_fluid_initializer_init_on_cpu:
init_on_cpu
......@@ -67,8 +57,6 @@ init_on_cpu
.. autofunction:: paddle.fluid.initializer.init_on_cpu
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_initializer_init_on_cpu`
.. _api_fluid_initializer_MSRA:
MSRA
......@@ -78,8 +66,6 @@ MSRA
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_initializer_MSRA`
.. _api_fluid_initializer_MSRAInitializer:
MSRAInitializer
......@@ -89,8 +75,6 @@ MSRAInitializer
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_initializer_MSRAInitializer`
.. _api_fluid_initializer_Normal:
Normal
......@@ -100,8 +84,6 @@ Normal
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_initializer_Normal`
.. _api_fluid_initializer_NormalInitializer:
NormalInitializer
......@@ -111,8 +93,6 @@ NormalInitializer
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_initializer_NormalInitializer`
.. _api_fluid_initializer_TruncatedNormal:
TruncatedNormal
......@@ -122,8 +102,6 @@ TruncatedNormal
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_initializer_TruncatedNormal`
.. _api_fluid_initializer_TruncatedNormalInitializer:
TruncatedNormalInitializer
......@@ -133,8 +111,6 @@ TruncatedNormalInitializer
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_initializer_TruncatedNormalInitializer`
.. _api_fluid_initializer_Uniform:
Uniform
......@@ -144,8 +120,6 @@ Uniform
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_initializer_Uniform`
.. _api_fluid_initializer_UniformInitializer:
UniformInitializer
......@@ -155,8 +129,6 @@ UniformInitializer
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_initializer_UniformInitializer`
.. _api_fluid_initializer_Xavier:
Xavier
......@@ -166,8 +138,6 @@ Xavier
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_initializer_Xavier`
.. _api_fluid_initializer_XavierInitializer:
XavierInitializer
......@@ -177,5 +147,3 @@ XavierInitializer
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_initializer_XavierInitializer`
......@@ -13,8 +13,6 @@ load_inference_model
.. autofunction:: paddle.fluid.io.load_inference_model
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_io_load_inference_model`
.. _api_fluid_io_load_params:
load_params
......@@ -23,8 +21,6 @@ load_params
.. autofunction:: paddle.fluid.io.load_params
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_io_load_params`
.. _api_fluid_io_load_persistables:
load_persistables
......@@ -33,8 +29,6 @@ load_persistables
.. autofunction:: paddle.fluid.io.load_persistables
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_io_load_persistables`
.. _api_fluid_io_load_vars:
load_vars
......@@ -43,8 +37,6 @@ load_vars
.. autofunction:: paddle.fluid.io.load_vars
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_io_load_vars`
.. _api_fluid_io_save_inference_model:
save_inference_model
......@@ -53,8 +45,6 @@ save_inference_model
.. autofunction:: paddle.fluid.io.save_inference_model
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_io_save_inference_model`
.. _api_fluid_io_save_params:
save_params
......@@ -63,8 +53,6 @@ save_params
.. autofunction:: paddle.fluid.io.save_params
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_io_save_params`
.. _api_fluid_io_save_persistables:
save_persistables
......@@ -73,8 +61,6 @@ save_persistables
.. autofunction:: paddle.fluid.io.save_persistables
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_io_save_persistables`
.. _api_fluid_io_save_vars:
save_vars
......@@ -83,5 +69,3 @@ save_vars
.. autofunction:: paddle.fluid.io.save_vars
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_io_save_vars`
此差异已折叠。
......@@ -14,8 +14,6 @@ Accuracy
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_metrics_Accuracy`
.. _api_fluid_metrics_Auc:
Auc
......@@ -25,8 +23,6 @@ Auc
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_metrics_Auc`
.. _api_fluid_metrics_ChunkEvaluator:
ChunkEvaluator
......@@ -36,8 +32,6 @@ ChunkEvaluator
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_metrics_ChunkEvaluator`
.. _api_fluid_metrics_CompositeMetric:
CompositeMetric
......@@ -47,8 +41,6 @@ CompositeMetric
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_metrics_CompositeMetric`
.. _api_fluid_metrics_DetectionMAP:
DetectionMAP
......@@ -58,8 +50,6 @@ DetectionMAP
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_metrics_DetectionMAP`
.. _api_fluid_metrics_EditDistance:
EditDistance
......@@ -69,8 +59,6 @@ EditDistance
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_metrics_EditDistance`
.. _api_fluid_metrics_MetricBase:
MetricBase
......@@ -80,8 +68,6 @@ MetricBase
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_metrics_MetricBase`
.. _api_fluid_metrics_Precision:
Precision
......@@ -91,8 +77,6 @@ Precision
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_metrics_Precision`
.. _api_fluid_metrics_Recall:
Recall
......@@ -102,5 +86,3 @@ Recall
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_metrics_Recall`
......@@ -13,8 +13,6 @@ glu
.. autofunction:: paddle.fluid.nets.glu
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_nets_glu`
.. _api_fluid_nets_img_conv_group:
img_conv_group
......@@ -23,8 +21,6 @@ img_conv_group
.. autofunction:: paddle.fluid.nets.img_conv_group
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_nets_img_conv_group`
.. _api_fluid_nets_scaled_dot_product_attention:
scaled_dot_product_attention
......@@ -33,8 +29,6 @@ scaled_dot_product_attention
.. autofunction:: paddle.fluid.nets.scaled_dot_product_attention
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_nets_scaled_dot_product_attention`
.. _api_fluid_nets_sequence_conv_pool:
sequence_conv_pool
......@@ -43,8 +37,6 @@ sequence_conv_pool
.. autofunction:: paddle.fluid.nets.sequence_conv_pool
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_nets_sequence_conv_pool`
.. _api_fluid_nets_simple_img_conv_pool:
simple_img_conv_pool
......@@ -53,5 +45,3 @@ simple_img_conv_pool
.. autofunction:: paddle.fluid.nets.simple_img_conv_pool
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_nets_simple_img_conv_pool`
......@@ -14,8 +14,6 @@ Adadelta
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_optimizer_Adadelta`
.. _api_fluid_optimizer_Adagrad:
Adagrad
......@@ -25,8 +23,6 @@ Adagrad
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_optimizer_Adagrad`
.. _api_fluid_optimizer_AdagradOptimizer:
AdagradOptimizer
......@@ -36,8 +32,6 @@ AdagradOptimizer
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_optimizer_AdagradOptimizer`
.. _api_fluid_optimizer_Adam:
Adam
......@@ -47,8 +41,6 @@ Adam
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_optimizer_Adam`
.. _api_fluid_optimizer_Adamax:
Adamax
......@@ -58,8 +50,6 @@ Adamax
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_optimizer_Adamax`
.. _api_fluid_optimizer_AdamaxOptimizer:
AdamaxOptimizer
......@@ -69,8 +59,6 @@ AdamaxOptimizer
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_optimizer_AdamaxOptimizer`
.. _api_fluid_optimizer_AdamOptimizer:
AdamOptimizer
......@@ -80,8 +68,6 @@ AdamOptimizer
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_optimizer_AdamOptimizer`
.. _api_fluid_optimizer_DecayedAdagrad:
DecayedAdagrad
......@@ -91,8 +77,6 @@ DecayedAdagrad
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_optimizer_DecayedAdagrad`
.. _api_fluid_optimizer_DecayedAdagradOptimizer:
DecayedAdagradOptimizer
......@@ -102,8 +86,6 @@ DecayedAdagradOptimizer
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_optimizer_DecayedAdagradOptimizer`
.. _api_fluid_optimizer_Ftrl:
Ftrl
......@@ -113,8 +95,6 @@ Ftrl
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_optimizer_Ftrl`
.. _api_fluid_optimizer_FtrlOptimizer:
FtrlOptimizer
......@@ -124,8 +104,6 @@ FtrlOptimizer
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_optimizer_FtrlOptimizer`
.. _api_fluid_optimizer_LarsMomentum:
LarsMomentum
......@@ -135,8 +113,6 @@ LarsMomentum
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_optimizer_LarsMomentum`
.. _api_fluid_optimizer_LarsMomentumOptimizer:
LarsMomentumOptimizer
......@@ -146,8 +122,6 @@ LarsMomentumOptimizer
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_optimizer_LarsMomentumOptimizer`
.. _api_fluid_optimizer_ModelAverage:
ModelAverage
......@@ -157,8 +131,6 @@ ModelAverage
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_optimizer_ModelAverage`
.. _api_fluid_optimizer_Momentum:
Momentum
......@@ -168,8 +140,6 @@ Momentum
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_optimizer_Momentum`
.. _api_fluid_optimizer_MomentumOptimizer:
MomentumOptimizer
......@@ -179,8 +149,6 @@ MomentumOptimizer
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_optimizer_MomentumOptimizer`
.. _api_fluid_optimizer_RMSPropOptimizer:
RMSPropOptimizer
......@@ -190,8 +158,6 @@ RMSPropOptimizer
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_optimizer_RMSPropOptimizer`
.. _api_fluid_optimizer_SGD:
SGD
......@@ -201,8 +167,6 @@ SGD
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_optimizer_SGD`
.. _api_fluid_optimizer_SGDOptimizer:
SGDOptimizer
......@@ -212,5 +176,3 @@ SGDOptimizer
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_optimizer_SGDOptimizer`
......@@ -13,8 +13,6 @@ cuda_profiler
.. autofunction:: paddle.fluid.profiler.cuda_profiler
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_profiler_cuda_profiler`
.. _api_fluid_profiler_profiler:
profiler
......@@ -23,8 +21,6 @@ profiler
.. autofunction:: paddle.fluid.profiler.profiler
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_profiler_profiler`
.. _api_fluid_profiler_reset_profiler:
reset_profiler
......@@ -33,8 +29,6 @@ reset_profiler
.. autofunction:: paddle.fluid.profiler.reset_profiler
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_profiler_reset_profiler`
.. _api_fluid_profiler_start_profiler:
start_profiler
......@@ -43,8 +37,6 @@ start_profiler
.. autofunction:: paddle.fluid.profiler.start_profiler
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_profiler_start_profiler`
.. _api_fluid_profiler_stop_profiler:
stop_profiler
......@@ -53,5 +45,3 @@ stop_profiler
.. autofunction:: paddle.fluid.profiler.stop_profiler
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_profiler_stop_profiler`
......@@ -13,8 +13,6 @@ convert_reader_to_recordio_file
.. autofunction:: paddle.fluid.recordio_writer.convert_reader_to_recordio_file
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_recordio_writer_convert_reader_to_recordio_file`
.. _api_fluid_recordio_writer_convert_reader_to_recordio_files:
convert_reader_to_recordio_files
......@@ -23,5 +21,3 @@ convert_reader_to_recordio_files
.. autofunction:: paddle.fluid.recordio_writer.convert_reader_to_recordio_files
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_recordio_writer_convert_reader_to_recordio_files`
......@@ -14,8 +14,6 @@ L1Decay
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_regularizer_L1Decay`
.. _api_fluid_regularizer_L1DecayRegularizer:
L1DecayRegularizer
......@@ -25,8 +23,6 @@ L1DecayRegularizer
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_regularizer_L1DecayRegularizer`
.. _api_fluid_regularizer_L2Decay:
L2Decay
......@@ -36,8 +32,6 @@ L2Decay
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_regularizer_L2Decay`
.. _api_fluid_regularizer_L2DecayRegularizer:
L2DecayRegularizer
......@@ -47,5 +41,3 @@ L2DecayRegularizer
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_regularizer_L2DecayRegularizer`
......@@ -14,8 +14,6 @@ DistributeTranspiler
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_transpiler_DistributeTranspiler`
.. _api_fluid_transpiler_DistributeTranspilerConfig:
DistributeTranspilerConfig
......@@ -25,8 +23,6 @@ DistributeTranspilerConfig
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_transpiler_DistributeTranspilerConfig`
.. _api_fluid_transpiler_HashName:
HashName
......@@ -36,8 +32,6 @@ HashName
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_transpiler_HashName`
.. _api_fluid_transpiler_memory_optimize:
memory_optimize
......@@ -46,8 +40,6 @@ memory_optimize
.. autofunction:: paddle.fluid.transpiler.memory_optimize
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_transpiler_memory_optimize`
.. _api_fluid_transpiler_release_memory:
release_memory
......@@ -56,8 +48,6 @@ release_memory
.. autofunction:: paddle.fluid.transpiler.release_memory
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_transpiler_release_memory`
.. _api_fluid_transpiler_RoundRobin:
RoundRobin
......@@ -67,5 +57,3 @@ RoundRobin
:members:
:noindex:
Read Chinese Version: :ref:`cn_api_fluid_transpiler_RoundRobin`
## High/Low-level API简介
Paddle目前有2套API接口:
PaddlePaddle Fluid目前有2套API接口:
- Low-level(底层) API:
- 灵活性强并且已经相对成熟,使用它训练的模型,能直接支持C++预测上线。
- 提供了大量的模型作为使用示例,包括[Book](https://github.com/PaddlePaddle/book)中的第7和8章,以及[models](https://github.com/PaddlePaddle/models)中的所有章节。
- 提供了大量的模型作为使用示例,包括[Book](https://github.com/PaddlePaddle/book)中的全部章节,以及[models](https://github.com/PaddlePaddle/models)中的所有章节。
- 适用人群:对深度学习有一定了解,需要自定义网络进行训练/预测/上线部署的用户。
- High-level(高层)API:
- 使用简单[Book](https://github.com/PaddlePaddle/book)中前六章提供了示例。
- 使用简单
- 尚未成熟,接口暂时在[paddle.fluid.contrib](https://github.com/PaddlePaddle/Paddle/tree/develop/python/paddle/fluid/contrib)下面。
- 适用人群:想通过Book课程进行深度学习基础知识学习的初级用户。
......@@ -2,8 +2,10 @@
API使用指南
===========
API使用指南分功能向您介绍PaddlePaddle Fluid的API体系和用法,帮助您快速了解PaddlePaddle Fluid API的全貌,包括以下几个模块:
.. toctree::
:hidden:
:titlesonly:
high_low_level_api.md
low_level/layers/index.rst
......
......@@ -12,7 +12,7 @@
提高CPU使用率主要依赖 :code:`ParallelExecutor`,可以充分利用多个CPU的计算能力来加速计算。
API详细使用方法参考 :ref:`api_fluid_ParallelExecutor` ,简单实例用法:
API详细使用方法参考 :ref:`cn_api_fluid_ParallelExecutor` ,简单实例用法:
.. code-block:: python
......@@ -46,7 +46,7 @@ API详细使用方法参考 :ref:`api_fluid_ParallelExecutor` ,简单实例用
提高通信速度
==========
要减少通信数据量,提高通信速度,主要是使用稀疏更新 ,目前支持 `稀疏更新 <../distributed/sparse_update.html>`_ 的主要是 :ref:`api_fluid_layers_embedding` 。
要减少通信数据量,提高通信速度,主要是使用稀疏更新 ,目前支持 `稀疏更新 <../distributed/sparse_update.html>`_ 的主要是 :ref:`cn_api_fluid_layers_embedding` 。
.. code-block:: python
......
......@@ -7,14 +7,14 @@
:code:`Executor` 即 :code:`执行器` 。PaddlePaddle Fluid中有两种执行器可以选择。
:code:`Executor` 实现了一个简易的执行器,所有Operator会被顺序执行。用户可以使用
Python脚本驱动 :code:`Executor` 执行。默认情况下 :code:`Executor` 是单线程的,如果
想使用数据并行,请参考另一个执行器, :ref:`api_guide_parallel_executor` 。
想使用数据并行,请参考另一个执行器, :ref:`cn_api_guide_parallel_executor` 。
:code:`Executor` 的代码逻辑非常简单。建议用户在调试过程中,先使用
:code:`Executor` 跑通模型,再切换到多设备计算,甚至多机计算。
:code:`Executor` 在构造的时候接受一个 :code:`Place`, 它们可以是 :ref:`api_fluid_CPUPlace`
或 :ref:`api_fluid_CUDAPlace` 。 :code:`Executor` 在执行的时候可以选择执行的
:ref:`api_guide_low_level_program` 。
:code:`Executor` 在构造的时候接受一个 :code:`Place`, 它们可以是 :ref:`cn_api_fluid_CPUPlace`
或 :ref:`cn_api_fluid_CUDAPlace` 。 :code:`Executor` 在执行的时候可以选择执行的
:ref:`cn_api_guide_low_level_program` 。
简单的使用方法,请参考 `quick_start_fit_a_line <http://paddlepaddle.org/documentation/docs/zh/1.1/beginners_guide/quick_start/fit_a_line/README.cn.html>`_ , API Reference 请参考
:ref:`api_fluid_Executor` 。
:ref:`cn_api_fluid_Executor` 。
......@@ -4,7 +4,7 @@
预测引擎
#########
预测引擎提供了存储预测模型 :ref:`api_fluid_io_save_inference_model` 和加载预测模型 :ref:`api_fluid_io_load_inference_model` 两个接口。
预测引擎提供了存储预测模型 :ref:`cn_api_fluid_io_save_inference_model` 和加载预测模型 :ref:`cn_api_fluid_io_load_inference_model` 两个接口。
预测模型的存储格式
=================
......
......@@ -8,7 +8,7 @@
PaddlePaddle Fluid 对大部分的激活函数进行了支持,其中有:
:ref:`api_fluid_layers_relu`, :ref:`api_fluid_layers_tanh`, :ref:`api_fluid_layers_sigmoid`, :ref:`api_fluid_layers_elu`, :ref:`api_fluid_layers_relu6`, :ref:`api_fluid_layers_pow`, :ref:`api_fluid_layers_stanh`, :ref:`api_fluid_layers_hard_sigmoid`, :ref:`api_fluid_layers_swish`, :ref:`api_fluid_layers_prelu`, :ref:`api_fluid_layers_brelu`, :ref:`api_fluid_layers_leaky_relu`, :ref:`api_fluid_layers_soft_relu`, :ref:`api_fluid_layers_thresholded_relu`, :ref:`api_fluid_layers_maxout`, :ref:`api_fluid_layers_logsigmoid`, :ref:`api_fluid_layers_hard_shrink`, :ref:`api_fluid_layers_softsign`, :ref:`api_fluid_layers_softplus`, :ref:`api_fluid_layers_tanh_shrink`, :ref:`api_fluid_layers_softshrink`, :ref:`api_fluid_layers_exp`。
:ref:`cn_api_fluid_layers_relu`, :ref:`cn_api_fluid_layers_tanh`, :ref:`cn_api_fluid_layers_sigmoid`, :ref:`cn_api_fluid_layers_elu`, :ref:`cn_api_fluid_layers_relu6`, :ref:`cn_api_fluid_layers_pow`, :ref:`cn_api_fluid_layers_stanh`, :ref:`cn_api_fluid_layers_hard_sigmoid`, :ref:`cn_api_fluid_layers_swish`, :ref:`cn_api_fluid_layers_prelu`, :ref:`cn_api_fluid_layers_brelu`, :ref:`cn_api_fluid_layers_leaky_relu`, :ref:`cn_api_fluid_layers_soft_relu`, :ref:`cn_api_fluid_layers_thresholded_relu`, :ref:`cn_api_fluid_layers_maxout`, :ref:`cn_api_fluid_layers_logsigmoid`, :ref:`cn_api_fluid_layers_hard_shrink`, :ref:`cn_api_fluid_layers_softsign`, :ref:`cn_api_fluid_layers_softplus`, :ref:`cn_api_fluid_layers_tanh_shrink`, :ref:`cn_api_fluid_layers_softshrink`, :ref:`cn_api_fluid_layers_exp`。
**Fluid提供了两种使用激活函数的方式:**
......
......@@ -9,9 +9,9 @@
IfElse
======
条件分支,允许对同一个batch的输入,根据给定的条件,分别选择 :code:`true_block` 或 :code:`false_block` 中的逻辑进行执行,执行完成之后再将两个分支的输出合并为同一个输出。通常,条件表达式可由 :ref:`api_fluid_layers_less_than`, :ref:`api_fluid_layers_equal` 等逻辑比较 API 产生。
条件分支,允许对同一个batch的输入,根据给定的条件,分别选择 :code:`true_block` 或 :code:`false_block` 中的逻辑进行执行,执行完成之后再将两个分支的输出合并为同一个输出。通常,条件表达式可由 :ref:`cn_api_fluid_layers_less_than`, :ref:`cn_api_fluid_layers_equal` 等逻辑比较 API 产生。
请参考 :ref:`api_fluid_layers_IfElse`
请参考 :ref:`cn_api_fluid_layers_IfElse`
Switch
......@@ -23,31 +23,31 @@ Switch
* 依次检查逐个case,选择第一个满足条件的case执行,完成执行后即退出所属的block;
* 如果所有case均不满足条件,会选择默认的case进行执行。
请参考 :ref:`api_fluid_layers_Switch`
请参考 :ref:`cn_api_fluid_layers_Switch`
While
=====
While 循环,当条件判断为真时,循环执行 :code:`While` 控制流所属 :code:`block` 内的逻辑,条件判断为假时退出循环。与之相关的API有
* :ref:`api_fluid_layers_increment` :累加API,通常用于对循环次数进行计数;
* :ref:`api_fluid_layers_array_read` :从 :code:`LOD_TENSOR_ARRAY` 中指定的位置读入Variable,进行计算;
* :ref:`api_fluid_layers_array_write` :将 Variable 写回到 :code:`LOD_TENSOR_ARRAY` 指定的位置,存储计算结果。
* :ref:`cn_api_fluid_layers_increment` :累加API,通常用于对循环次数进行计数;
* :ref:`cn_api_fluid_layers_array_read` :从 :code:`LOD_TENSOR_ARRAY` 中指定的位置读入Variable,进行计算;
* :ref:`cn_api_fluid_layers_array_write` :将 Variable 写回到 :code:`LOD_TENSOR_ARRAY` 指定的位置,存储计算结果。
请参考 :ref:`api_fluid_layers_While`
请参考 :ref:`cn_api_fluid_layers_While`
DynamicRNN
==========
即动态RNN,可处理一个batch不等长的序列数据,其接受 :code:`lod_level=1` 的 Variable 作为输入,在 :code:`DynamicRNN` 的 :code:`block` 内,用户需自定义RNN的单步计算逻辑。在每一个时间步,用户可将需记忆的状态写入到 :code:`DynamicRNN` 的 :code:`memory` 中,并将需要的输出写出到其 :code:`output` 中。
:ref:`api_fluid_layers_sequence_last_step` 可获取 :code:`DynamicRNN` 最后一个时间步的输出。
:ref:`cn_api_fluid_layers_sequence_last_step` 可获取 :code:`DynamicRNN` 最后一个时间步的输出。
请参考 :ref:`api_fluid_layers_DynamicRNN`
请参考 :ref:`cn_api_fluid_layers_DynamicRNN`
StaticRNN
=========
即静态RNN,只能处理固定长度的序列数据,接受 :code:`lod_level=0` 的 Variable 作为输入。与 :code:`DynamicRNN` 类似,在RNN的每单个时间步,用户需自定义计算逻辑,并可将状态和输出写出。
请参考 :ref:`api_fluid_layers_StaticRNN`
请参考 :ref:`cn_api_fluid_layers_StaticRNN`
......@@ -39,10 +39,10 @@
空洞卷积相比普通卷积而言,卷积核在特征图上取值时不在连续,而是间隔的,这个间隔数称作dilation,等于1时,即为普通卷积,空洞卷积相比普通卷积的感受野更大。
- API汇总:
- :ref:`api_fluid_layers_conv2d`
- :ref:`api_fluid_layers_conv3d`
- :ref:`api_fluid_layers_conv2d_transpose`
- :ref:`api_fluid_layers_conv3d_transpose`
- :ref:`cn_api_fluid_layers_conv2d`
- :ref:`cn_api_fluid_layers_conv3d`
- :ref:`cn_api_fluid_layers_conv2d_transpose`
- :ref:`cn_api_fluid_layers_conv3d_transpose`
1D序列卷积
......@@ -60,5 +60,5 @@ Fluid可以表示变长的序列结构,这里的变长是指不同样本的时
- API汇总:
- :ref:`api_fluid_layers_sequence_conv`
- :ref:`api_fluid_layers_row_conv`
- :ref:`cn_api_fluid_layers_sequence_conv`
- :ref:`cn_api_fluid_layers_row_conv`
......@@ -41,4 +41,4 @@ Python List或Tuple类型对象,其中N为创建 :code:`DataFeeder` 对象时
会完成数据类型和维度的转换。若 :code:`feed_list` 中的变量的 :code:`lod_level` 不为零,则Fluid会将经过维度转换后的
:code:`iterable` 中每行数据的第0维作为返回结果的 :code:`LoD`。
具体使用方法请参见 :ref:`api_fluid_DataFeeder` 。
\ No newline at end of file
具体使用方法请参见 :ref:`cn_api_fluid_DataFeeder` 。
\ No newline at end of file
......@@ -17,7 +17,7 @@ Fluid支持两种数据输入方式,包括:
方法送入训练/预测数据,C++端的训练/预测程序调用队列的 :code:`pop` 方法取出Python端送入的数据。PyReader可与
:code:`double_buffer` 配合使用,实现数据读取和训练/预测的异步执行。
具体使用方法请参考 :ref:`api_fluid_layers_py_reader`。
具体使用方法请参考 :ref:`cn_api_fluid_layers_py_reader`。
数据输出
......@@ -29,5 +29,5 @@ Fluid支持在训练/预测阶段获取当前batch的数据。
fetch期望的输出变量,通过设置 :code:`return_numpy` 参数设置是否将输出数据转为numpy array。
若 :code:`return_numpy` 为 :code:`False` ,则返回 :code:`LoDTensor` 类型数据。
具体使用方式请参考相关API文档 :ref:`api_fluid_executor_Executor` 和
:ref:`api_fluid_ParallelExecutor`。
\ No newline at end of file
具体使用方式请参考相关API文档 :ref:`cn_api_fluid_executor_Executor` 和
:ref:`cn_api_fluid_ParallelExecutor`。
\ No newline at end of file
......@@ -11,15 +11,15 @@ PaddlePaddle Fluid在图像检测任务中实现了多个特有的操作。以
图像检测中的一些通用操作,是对检测框的一系列操作,其中包括:
* 对检测框的编码,解码(box_coder):实现两种框之间编码和解码的转换。例如训练阶段对先验框和真实框进行编码得到训练目标值。API Reference 请参考 :ref:`api_fluid_layers_box_coder`
* 对检测框的编码,解码(box_coder):实现两种框之间编码和解码的转换。例如训练阶段对先验框和真实框进行编码得到训练目标值。API Reference 请参考 :ref:`cn_api_fluid_layers_box_coder`
* 比较两个检测框并进行匹配:
* iou_similarity:计算两组框的IOU值。API Reference 请参考 :ref:`api_fluid_layers_iou_similarity`
* iou_similarity:计算两组框的IOU值。API Reference 请参考 :ref:`cn_api_fluid_layers_iou_similarity`
* bipartite_match:通过贪心二分匹配算法得到每一列中距离最大的一行。API Reference 请参考 :ref:`api_fluid_layers_bipartite_match`
* bipartite_match:通过贪心二分匹配算法得到每一列中距离最大的一行。API Reference 请参考 :ref:`cn_api_fluid_layers_bipartite_match`
* 根据检测框和标签得到分类和回归目标值(target_assign):通过匹配索引和非匹配索引得到目标值和对应权重。API Reference 请参考 :ref:`api_fluid_layers_target_assign`
* 根据检测框和标签得到分类和回归目标值(target_assign):通过匹配索引和非匹配索引得到目标值和对应权重。API Reference 请参考 :ref:`cn_api_fluid_layers_target_assign`
Faster RCNN
......@@ -27,13 +27,13 @@ Faster RCNN
`Faster RCNN <https://arxiv.org/abs/1506.01497>`_ 是典型的两阶段目标检测器,相较于传统提取区域的方法,Faster RCNN中RPN网络通过共享卷积层参数大幅提高提取区域的效率,并提出高质量的候选区域。RPN网络需要对输入anchor和真实值进行比较生成初选候选框,并对初选候选框分配分类和回归值,>需要如下四个特有api:
* rpn_target_assign:通过anchor和真实框为anchor分配RPN网络的分类和回归目标值。API Reference 请参考 :ref:`api_fluid_layers_rpn_target_assign`
* rpn_target_assign:通过anchor和真实框为anchor分配RPN网络的分类和回归目标值。API Reference 请参考 :ref:`cn_api_fluid_layers_rpn_target_assign`
* anchor_generator:为每个位置生成一系列anchor。API Reference 请参考 :ref:`api_fluid_layers_anchor_generator`
* anchor_generator:为每个位置生成一系列anchor。API Reference 请参考 :ref:`cn_api_fluid_layers_anchor_generator`
* generate_proposal_labels: 通过generate_proposals得到的候选框和真实框得到RCNN部分的分类和回归的目标值。API Reference 请参考 :ref:`api_fluid_layers_generate_proposal_labels`
* generate_proposal_labels: 通过generate_proposals得到的候选框和真实框得到RCNN部分的分类和回归的目标值。API Reference 请参考 :ref:`cn_api_fluid_layers_generate_proposal_labels`
* generate_proposals: 对RPN网络输出box解码并筛选得到新的候选框。API Reference 请参考 :ref:`api_fluid_layers_generate_proposals`
* generate_proposals: 对RPN网络输出box解码并筛选得到新的候选框。API Reference 请参考 :ref:`cn_api_fluid_layers_generate_proposals`
SSD
......@@ -41,23 +41,23 @@ SSD
`SSD <https://arxiv.org/abs/1512.02325>`_ 全称Single Shot MultiBox Detector,是目标检测领域较新且效果较好的检测算法之一,具有检测速度快且检测精度高的特点。与两阶段的检测方法不同,单阶段目标检测并不进行区域推荐,而是直接从特征图回归出目标的边界框和分类概率。SSD网络对六个尺度特>征图计算损失,进行预测,需要如下五种特有api:
* Prior Box:根据不同参数为每个输入位置生成一系列候选框。API Reference 请参考 :ref:`api_fluid_layers_prior_box`
* Prior Box:根据不同参数为每个输入位置生成一系列候选框。API Reference 请参考 :ref:`cn_api_fluid_layers_prior_box`
* multi_box_head :得到不同prior box的位置和置信度。API Reference 请参考 :ref:`api_fluid_layers_multi_box_head`
* multi_box_head :得到不同prior box的位置和置信度。API Reference 请参考 :ref:`cn_api_fluid_layers_multi_box_head`
* detection_output:对prioir box解码,通过多分类NMS得到检测结果。API Reference 请参考 :ref:`api_fluid_layers_detection_output`
* detection_output:对prioir box解码,通过多分类NMS得到检测结果。API Reference 请参考 :ref:`cn_api_fluid_layers_detection_output`
* ssd_loss:通过位置偏移预测值,置信度,检测框位置和真实框位置和标签计算损失。API Reference 请参考 :ref:`api_fluid_layers_ssd_loss`
* ssd_loss:通过位置偏移预测值,置信度,检测框位置和真实框位置和标签计算损失。API Reference 请参考 :ref:`cn_api_fluid_layers_ssd_loss`
* detection map: 利用mAP评估SSD网络模型。API Reference 请参考 :ref:`api_fluid_layers_detection_map`
* detection map: 利用mAP评估SSD网络模型。API Reference 请参考 :ref:`cn_api_fluid_layers_detection_map`
OCR
---------
场景文字识别是在图像背景复杂、分辨率低下、字体多样、分布随意等情况下,将图像信息转化为文字序列的过程,可认为是一种特别的翻译过程:将图像输入翻译为自然语言输出。OCR任务中需要对检测框进行不规则变换,其中需要如下两个api:
* roi_perspective_transform:对输入roi做透视变换。API Reference 请参考 :ref:`api_fluid_layers_roi_perspective_transform`
* roi_perspective_transform:对输入roi做透视变换。API Reference 请参考 :ref:`cn_api_fluid_layers_roi_perspective_transform`
* polygon_box_transform:对不规则检测框进行坐标变换。API Reference 请参考 :ref:`api_fluid_layers_polygon_box_transform`
* polygon_box_transform:对不规则检测框进行坐标变换。API Reference 请参考 :ref:`cn_api_fluid_layers_polygon_box_transform`
......@@ -18,23 +18,23 @@
======
* :code:`noam_decay`: 诺姆衰减,相关算法请参考 `《Attention Is All You Need》 <https://arxiv.org/pdf/1706.03762.pdf>`_ 。
相关API Reference请参考 :ref:`api_fluid_layers_noam_decay`
相关API Reference请参考 :ref:`cn_api_fluid_layers_noam_decay`
* :code:`exponential_decay`: 指数衰减,即每次将当前学习率乘以给定的衰减率得到下一个学习率。
相关API Reference请参考 :ref:`api_fluid_layers_exponential_decay`
相关API Reference请参考 :ref:`cn_api_fluid_layers_exponential_decay`
* :code:`natural_exp_decay`: 自然指数衰减,即每次将当前学习率乘以给定的衰减率的自然指数得到下一个学习率。
相关API Reference请参考 :ref:`api_fluid_layers_natural_exp_decay`
相关API Reference请参考 :ref:`cn_api_fluid_layers_natural_exp_decay`
* :code:`inverse_time_decay`: 逆时间衰减,即得到的学习率与当前衰减次数成反比。
相关API Reference请参考 :ref:`api_fluid_layers_inverse_time_decay`
相关API Reference请参考 :ref:`cn_api_fluid_layers_inverse_time_decay`
* :code:`polynomial_decay`: 多项式衰减,即得到的学习率为初始学习率和给定最终学习之间由多项式计算权重定比分点的插值。
相关API Reference请参考 :ref:`api_fluid_layers_polynomial_decay`
相关API Reference请参考 :ref:`cn_api_fluid_layers_polynomial_decay`
* :code:`piecewise_decay`: 分段衰减,即由给定step数分段呈阶梯状衰减,每段内学习率相同。
相关API Reference请参考 :ref:`api_fluid_layers_piecewise_decay`
相关API Reference请参考 :ref:`cn_api_fluid_layers_piecewise_decay`
* :code:`append_LARS`: 通过Layer-wise Adaptive Rate Scaling算法获得学习率,相关算法请参考 `《Train Feedfoward Neural Network with Layer-wise Adaptive Rate via Approximating Back-matching Propagation》 <https://arxiv.org/abs/1802.09750>`_ 。
相关API Reference请参考 :ref:`api_fluid_layers_append_LARS`
相关API Reference请参考 :ref:`cn_api_fluid_layers_append_LARS`
......@@ -11,22 +11,22 @@ Paddle Fluid 中提供了面向多种任务的多种类型的损失函数,以
====
平方误差损失(squared error loss)使用预测值和真实值之间误差的平方作为样本损失,是回归问题中最为基本的损失函数。
API Reference 请参考 :ref:`api_fluid_layers_square_error_cost`。
API Reference 请参考 :ref:`cn_api_fluid_layers_square_error_cost`。
平滑 L1 损失(smooth_l1 loss)是一种分段的损失函数,较平方误差损失其对异常点相对不敏感,因而更为鲁棒。
API Reference 请参考 :ref:`api_fluid_layers_smooth_l1`。
API Reference 请参考 :ref:`cn_api_fluid_layers_smooth_l1`。
分类
====
`交叉熵(cross entropy) <https://en.wikipedia.org/wiki/Cross_entropy>`_ 是分类问题中使用最为广泛的损失函数,Paddle Fluid 中提供了接受归一化概率值和非归一化分值输入的两种交叉熵损失函数的接口,并支持 soft label 和 hard label 两种样本类别标签。
API Reference 请参考 :ref:`api_fluid_layers_cross_entropy` 和 :ref:`api_fluid_layers_softmax_with_cross_entropy`。
API Reference 请参考 :ref:`cn_api_fluid_layers_cross_entropy` 和 :ref:`cn_api_fluid_layers_softmax_with_cross_entropy`。
多标签分类
---------
对于多标签分类问题,如一篇文章同属于政治、科技等多个类别的情况,需要将各类别作为独立的二分类问题计算损失,Paddle Fluid 中为此提供了 sigmoid_cross_entropy_with_logits 损失函数,
API Reference 请参考 :ref:`api_fluid_layers_sigmoid_cross_entropy_with_logits`。
API Reference 请参考 :ref:`cn_api_fluid_layers_sigmoid_cross_entropy_with_logits`。
大规模分类
---------
......@@ -34,15 +34,15 @@ API Reference 请参考 :ref:`api_fluid_layers_sigmoid_cross_entropy_with_logits
* 噪声对比估计通过将多分类问题转化为学习分类器来判别数据来自真实分布和噪声分布的二分类问题,基于二分类来进行极大似然估计,避免在全类别空间计算归一化因子从而降低了计算复杂度。
* 层级 sigmoid 通过二叉树进行层级的二分类来实现多分类,每个样本的损失对应了编码路径上各节点二分类交叉熵的和,避免了归一化因子的计算从而降低了计算复杂度。
这两种方法对应的损失函数在 Paddle Fluid 中均有提供,API Reference 请参考 :ref:`api_fluid_layers_nce` 和 :ref:`api_fluid_layers_hsigmoid`。
这两种方法对应的损失函数在 Paddle Fluid 中均有提供,API Reference 请参考 :ref:`cn_api_fluid_layers_nce` 和 :ref:`cn_api_fluid_layers_hsigmoid`。
序列分类
-------
序列分类可以分为以下三种:
* 序列分类(Sequence Classification)问题,整个序列对应一个预测标签,如文本分类。这种即是普通的分类问题,可以使用 cross entropy 作为损失函数。
* 序列片段分类(Segment Classification)问题,序列中的各个片段对应有自己的类别标签,如命名实体识别。对于这种序列标注问题,`(线性链)条件随机场(Conditional Random Field,CRF) <http://www.cs.columbia.edu/~mcollins/fb.pdf>`_ 是一种常用的模型方法,其使用句子级别的似然概率,序列中不同位置的标签不再是条件独立,能够有效解决标记偏置问题。Paddle Fluid 中提供了 CRF 对应损失函数的支持,API Reference 请参考 :ref:`api_fluid_layers_linear_chain_crf`。
* 时序分类(Temporal Classification)问题,需要对未分割的序列进行标注,如语音识别。对于这种时序分类问题,`CTC(Connectionist Temporal Classification) <http://people.idsia.ch/~santiago/papers/icml2006.pdf>`_ 损失函数不需要对齐输入数据及标签,可以进行端到端的训练,Paddle Fluid 提供了 warpctc 的接口来计算相应的损失,API Reference 请参考 :ref:`api_fluid_layers_warpctc`。
* 序列片段分类(Segment Classification)问题,序列中的各个片段对应有自己的类别标签,如命名实体识别。对于这种序列标注问题,`(线性链)条件随机场(Conditional Random Field,CRF) <http://www.cs.columbia.edu/~mcollins/fb.pdf>`_ 是一种常用的模型方法,其使用句子级别的似然概率,序列中不同位置的标签不再是条件独立,能够有效解决标记偏置问题。Paddle Fluid 中提供了 CRF 对应损失函数的支持,API Reference 请参考 :ref:`cn_api_fluid_layers_linear_chain_crf`。
* 时序分类(Temporal Classification)问题,需要对未分割的序列进行标注,如语音识别。对于这种时序分类问题,`CTC(Connectionist Temporal Classification) <http://people.idsia.ch/~santiago/papers/icml2006.pdf>`_ 损失函数不需要对齐输入数据及标签,可以进行端到端的训练,Paddle Fluid 提供了 warpctc 的接口来计算相应的损失,API Reference 请参考 :ref:`cn_api_fluid_layers_warpctc`。
排序
====
......@@ -50,11 +50,11 @@ API Reference 请参考 :ref:`api_fluid_layers_sigmoid_cross_entropy_with_logits
`排序问题 <https://en.wikipedia.org/wiki/Learning_to_rank>`_ 可以使用 Pointwise、Pairwise 和 Listwise 的学习方法,不同的方法需要使用不同的损失函数:
* Pointwise 的方法通过近似为回归问题解决排序问题,可以使用回归问题的损失函数。
* Pairwise 的方法需要特殊设计的损失函数,其通过近似为分类问题解决排序问题,使用两篇文档与 query 的相关性得分以偏序作为二分类标签来计算损失。Paddle Fluid 中提供了两种常用的 Pairwise 方法的损失函数,API Reference 请参考 :ref:`api_fluid_layers_rank_loss` 和 :ref:`api_fluid_layers_margin_rank_loss`。
* Pairwise 的方法需要特殊设计的损失函数,其通过近似为分类问题解决排序问题,使用两篇文档与 query 的相关性得分以偏序作为二分类标签来计算损失。Paddle Fluid 中提供了两种常用的 Pairwise 方法的损失函数,API Reference 请参考 :ref:`cn_api_fluid_layers_rank_loss` 和 :ref:`cn_api_fluid_layers_margin_rank_loss`。
更多
====
对于一些较为复杂的损失函数,可以尝试使用其他损失函数组合实现;Paddle Fluid 中提供的用于图像分割任务的 :ref:`api_fluid_layers_dice_loss` 即是使用其他 OP 组合(计算各像素位置似然概率的均值)而成;多目标损失函数也可看作这样的情况,如 Faster RCNN 就使用 cross entropy 和 smooth_l1 loss 的加权和作为损失函数。
对于一些较为复杂的损失函数,可以尝试使用其他损失函数组合实现;Paddle Fluid 中提供的用于图像分割任务的 :ref:`cn_api_fluid_layers_dice_loss` 即是使用其他 OP 组合(计算各像素位置似然概率的均值)而成;多目标损失函数也可看作这样的情况,如 Faster RCNN 就使用 cross entropy 和 smooth_l1 loss 的加权和作为损失函数。
**注意**,在定义损失函数之后为能够使用 :ref:`api_guide_optimizer` 进行优化,通常需要使用 :ref:`api_fluid_layers_mean` 或其他操作将损失函数返回的高维 Tensor 转换为 Scalar 值。
\ No newline at end of file
**注意**,在定义损失函数之后为能够使用 :ref:`cn_api_guide_optimizer` 进行优化,通常需要使用 :ref:`cn_api_fluid_layers_mean` 或其他操作将损失函数返回的高维 Tensor 转换为 Scalar 值。
\ No newline at end of file
......@@ -15,77 +15,77 @@ exp
对输入 :code:`Tensor` 逐元素做 :code:`exp` 操作。
API Reference 请参考 :ref:`api_fluid_layers_exp`
API Reference 请参考 :ref:`cn_api_fluid_layers_exp`
tanh
------------------
对输入 :code:`Tensor` 逐元素取正切。
API Reference 请参考 :ref:`api_fluid_layers_tanh`
API Reference 请参考 :ref:`cn_api_fluid_layers_tanh`
sqrt
------------------
对输入 :code:`Tensor` 逐元素取平方根。
API Reference 请参考 :ref:`api_fluid_layers_sqrt`
API Reference 请参考 :ref:`cn_api_fluid_layers_sqrt`
abs
------------------
对输入 :code:`Tensor` 逐元素取绝对值。
API Reference 请参考 :ref:`api_fluid_layers_abs`
API Reference 请参考 :ref:`cn_api_fluid_layers_abs`
ceil
------------------
对输入 :code:`Tensor` 逐元素向上取整。
API Reference 请参考 :ref:`api_fluid_layers_ceil`
API Reference 请参考 :ref:`cn_api_fluid_layers_ceil`
floor
------------------
对输入 :code:`Tensor` 逐元素向下取整。
API Reference 请参考 :ref:`api_fluid_layers_floor`
API Reference 请参考 :ref:`cn_api_fluid_layers_floor`
sin
------------------
对输入 :code:`Tensor` 逐元素取正玄。
API Reference 请参考 :ref:`api_fluid_layers_sin`
API Reference 请参考 :ref:`cn_api_fluid_layers_sin`
cos
------------------
对输入 :code:`Tensor` 逐元素取余玄。
API Reference 请参考 :ref:`api_fluid_layers_cos`
API Reference 请参考 :ref:`cn_api_fluid_layers_cos`
round
------------------
对输入 :code:`Tensor` 逐元素四舍五入取整。
API Reference 请参考 :ref:`api_fluid_layers_round`
API Reference 请参考 :ref:`cn_api_fluid_layers_round`
square
------------------
对输入 :code:`Tensor` 逐元素取平方。
API Reference 请参考 :ref:`api_fluid_layers_square`
API Reference 请参考 :ref:`cn_api_fluid_layers_square`
reciprocal
------------------
对输入 :code:`Tensor` 逐元素取倒数。
API Reference 请参考 :ref:`api_fluid_layers_reciprocal`
API Reference 请参考 :ref:`cn_api_fluid_layers_reciprocal`
reduce
......@@ -94,11 +94,11 @@ reduce
对输入 :code:`Tensor` 在指定的若干轴上做reduce操作,包括:min, max, sum, mean, product
API Reference 请参考:
:ref:`api_fluid_layers_reduce_min`
:ref:`api_fluid_layers_reduce_max`
:ref:`api_fluid_layers_reduce_sum`
:ref:`api_fluid_layers_reduce_mean`
:ref:`api_fluid_layers_reduce_prod`
:ref:`cn_api_fluid_layers_reduce_min`
:ref:`cn_api_fluid_layers_reduce_max`
:ref:`cn_api_fluid_layers_reduce_sum`
:ref:`cn_api_fluid_layers_reduce_mean`
:ref:`cn_api_fluid_layers_reduce_prod`
二元操作
......@@ -109,28 +109,28 @@ elementwise_add
对两个 :code:`Tensor` 逐元素相加,对应的数学操作符为 :code:`+`
API Reference 请参考 :ref:`api_fluid_layers_elementwise_add`
API Reference 请参考 :ref:`cn_api_fluid_layers_elementwise_add`
elementwise_sub
------------------
对两个 :code:`Tensor` 逐元素相减,对应数学操作符 :code:`-`
API Reference 请参考 :ref:`api_fluid_layers_elementwise_sub`
API Reference 请参考 :ref:`cn_api_fluid_layers_elementwise_sub`
elementwise_mul
------------------
对两个 :code:`Tensor` 逐元素相乘, 对应数学操作符 :code:`*`
API Reference 请参考 :ref:`api_fluid_layers_elementwise_mul`
API Reference 请参考 :ref:`cn_api_fluid_layers_elementwise_mul`
elementwise_div
------------------
对两个 :code:`Tensor` 逐元素相除, 对应数学操作符 :code:`/` 或 :code:`//`
API Reference 请参考 :ref:`api_fluid_layers_elementwise_div`
API Reference 请参考 :ref:`cn_api_fluid_layers_elementwise_div`
elementwise_pow
......@@ -138,74 +138,74 @@ elementwise_pow
对两个 :code:`Tensor` 逐元素做次幂操作, 对应数学操作符 :code:`**`
API Reference 请参考 :ref:`api_fluid_layers_elementwise_pow`
API Reference 请参考 :ref:`cn_api_fluid_layers_elementwise_pow`
equal
------------------
对两个 :code:`Tensor` 逐元素判断是否相等, 对应数学操作符 :code:`==`
API Reference 请参考 :ref:`api_fluid_layers_equal`
API Reference 请参考 :ref:`cn_api_fluid_layers_equal`
not_equal
------------------
对两个 :code:`Tensor` 逐元素判断是否不等, 对应数学操作符 :code:`!=`
API Reference 请参考 :ref:`api_fluid_layers_elementwise_not_equal`
API Reference 请参考 :ref:`cn_api_fluid_layers_elementwise_not_equal`
less_than
------------------
对两个 :code:`Tensor` 逐元素判断是否满足小于关系, 对应数学操作符 :code:`<`
API Reference 请参考 :ref:`api_fluid_layers_less_than`
API Reference 请参考 :ref:`cn_api_fluid_layers_less_than`
less_equal
------------------
对两个 :code:`Tensor` 逐元素判断是否满足小于或等于关系, 对应数学操作符 :code:`<=`
API Reference 请参考 :ref:`api_fluid_layers_less_equal`
API Reference 请参考 :ref:`cn_api_fluid_layers_less_equal`
greater_than
------------------
对两个 :code:`Tensor` 逐元素判断是否满足大于关系, 对应数学操作符 :code:`>`
API Reference 请参考 :ref:`api_fluid_layers_greater_than`
API Reference 请参考 :ref:`cn_api_fluid_layers_greater_than`
greater_equal
------------------
对两个 :code:`Tensor` 逐元素判断是否满足大于或等于关系, 对应数学操作符 :code:`>=`
API Reference 请参考 :ref:`api_fluid_layers_greater_equal`
API Reference 请参考 :ref:`cn_api_fluid_layers_greater_equal`
sum
------------------
对两个 :code:`Tensor` 逐元素相加。
API Reference 请参考 :ref:`api_fluid_layers_sum`
API Reference 请参考 :ref:`cn_api_fluid_layers_sum`
min
------------------
对两个 :code:`Tensor` 逐元素进行 :code:`min(x, y)` 操作。
API Reference 请参考 :ref:`api_fluid_layers_min`
API Reference 请参考 :ref:`cn_api_fluid_layers_min`
max
------------------
对两个 :code:`Tensor` 逐元素进行 :code:`max(x, y)` 操作。
API Reference 请参考 :ref:`api_fluid_layers_max`
API Reference 请参考 :ref:`cn_api_fluid_layers_max`
matmul
------------------
对两个 :code:`Tensor` 进行矩阵乘操作。
API Reference 请参考 :ref:`api_fluid_layers_matmul`
API Reference 请参考 :ref:`cn_api_fluid_layers_matmul`
......@@ -40,8 +40,8 @@ PaddlePaddle中有针对定长图像特征的二维(pool2d)、三维卷积(pool3
api汇总:
- :ref:`api_fluid_layers_pool2d`
- :ref:`api_fluid_layers_pool3d`
- :ref:`cn_api_fluid_layers_pool2d`
- :ref:`cn_api_fluid_layers_pool3d`
2. roi_pool
......@@ -58,7 +58,7 @@ api汇总:
api汇总:
- :ref:`api_fluid_layers_roi_pool`
- :ref:`cn_api_fluid_layers_roi_pool`
3. sequence_pool
......@@ -77,4 +77,4 @@ api汇总:
api汇总:
- :ref:`api_fluid_layers_sequence_pool`
\ No newline at end of file
- :ref:`cn_api_fluid_layers_sequence_pool`
\ No newline at end of file
......@@ -7,7 +7,7 @@
在深度学习领域许多问题涉及到对 `序列(sequence) <https://en.wikipedia.org/wiki/Sequence>`_ 的处理。
从Wiki上的释义可知,序列可以表征多种物理意义,但在深度学习中,最常见的仍然是"时间序列"——一个序列包含多个时间步的信息。
在Paddle Fluid中,我们将序列表示为 :ref:`api_fluid_LoDTensor` 。
在Paddle Fluid中,我们将序列表示为 :ref:`cn_api_fluid_LoDTensor` 。
因为一般进行神经网络计算时都是一个batch一个batch地计算,所以我们用一个LoDTensor来存储一个mini batch的序列。
一个LoDTensor的第0维包含该mini batch中所有序列的所有时间步,并且用LoD来记录各个序列的长度,区分不同序列。
而在运算时,还需要根据LoD信息将LoDTensor中一个mini batch的第0维拆开成多个序列。(具体请参考上述LoD相关的文档。)
......@@ -26,7 +26,7 @@
这个layer以一个mini batch的序列为输入,在每个序列内做softmax操作。其输出为一个mini batch相同shape的序列,但在序列内是经softmax归一化过的。
这个layer往往用于在每个sequence内做softmax归一化。
API Reference 请参考 :ref:`api_fluid_layers_sequence_softmax`
API Reference 请参考 :ref:`cn_api_fluid_layers_sequence_softmax`
2. sequence_concat
......@@ -35,21 +35,21 @@ API Reference 请参考 :ref:`api_fluid_layers_sequence_softmax`
该layer会将每个batch中第i个序列在时间维度上拼接成一个新序列,作为返回的batch中的第i个序列。
理所当然地,list中每个LoDTensor的序列必须有相同的batch size。
API Reference 请参考 :ref:`api_fluid_layers_sequence_concat`
API Reference 请参考 :ref:`cn_api_fluid_layers_sequence_concat`
3. sequence_first_step
----------------------
这个layer以一个LoDTensor作为输入,会取出每个序列中的第一个元素(即第一个时间步的元素),并作为返回值。
API Reference 请参考 :ref:`api_fluid_layers_sequence_first_step`
API Reference 请参考 :ref:`cn_api_fluid_layers_sequence_first_step`
4. sequence_last_step
---------------------
同 :code:`sequence_first_step` ,除了本layer是取每个序列中最后一个元素(即最后一个时间步)作为返回值。
API Reference 请参考 :ref:`api_fluid_layers_sequence_last_step`
API Reference 请参考 :ref:`cn_api_fluid_layers_sequence_last_step`
5. sequence_expand
......@@ -57,7 +57,7 @@ API Reference 请参考 :ref:`api_fluid_layers_sequence_last_step`
这个layer有两个LoDTensor的序列作为输入,并按照第二个LoDTensor中序列的LoD信息来扩展第一个batch中的序列。
通常用来将只有一个时间步的序列(例如 :code:`sequence_first_step` 的返回结果)延展成有多个时间步的序列,以此方便与有多个时间步的序列进行运算。
API Reference 请参考 :ref:`api_fluid_layers_sequence_expand`
API Reference 请参考 :ref:`cn_api_fluid_layers_sequence_expand`
6. sequence_expand_as
......@@ -66,14 +66,14 @@ API Reference 请参考 :ref:`api_fluid_layers_sequence_expand`
不同于 :code:`sequence_expand` ,这个layer会将第一个LoDTensor中的序列严格延展为和第二个LoDTensor中的序列等长。
如果无法延展成等长的(例如第二个batch中的序列长度不是第一个batch中序列长度的整数倍),则会报错。
API Reference 请参考 :ref:`api_fluid_layers_sequence_expand_as`
API Reference 请参考 :ref:`cn_api_fluid_layers_sequence_expand_as`
7. sequence_enumerate
---------------------
这个layer需要一个LoDTensor的序列作为输入,同时需要指定一个 :code:`win_size` 的长度。这个layer将依次取所有序列中长度为 :code:`win_size` 的子序列,并组合成新的序列。
API Reference 请参考 :ref:`api_fluid_layers_sequence_enumerate`
API Reference 请参考 :ref:`cn_api_fluid_layers_sequence_enumerate`
8. sequence_reshape
......@@ -81,7 +81,7 @@ API Reference 请参考 :ref:`api_fluid_layers_sequence_enumerate`
这个layer需要一个LoDTensor的序列作为输入,同时需要指定一个 :code:`new_dim` 作为新的序列的维度。
该layer会将mini batch内每个序列reshape为new_dim给定的维度。注意,每个序列的长度会改变(因此LoD信息也会变),以适应新的形状。
API Reference 请参考 :ref:`api_fluid_layers_sequence_reshape`
API Reference 请参考 :ref:`cn_api_fluid_layers_sequence_reshape`
9. sequence_scatter
......@@ -89,7 +89,7 @@ API Reference 请参考 :ref:`api_fluid_layers_sequence_reshape`
这个layer可以将一个序列的数据scatter到另一个tensor上。这个layer有三个input,一个要被scatter的目标tensor :code:`input`;
一个是序列的数据 :code:`update` ,一个是目标tensor的上坐标 :code:`index` 。Output为scatter后的tensor,形状和 :code:`input` 相同。
API Reference 请参考 :ref:`api_fluid_layers_sequence_scatter`
API Reference 请参考 :ref:`cn_api_fluid_layers_sequence_scatter`
10. sequence_pad
......@@ -98,7 +98,7 @@ API Reference 请参考 :ref:`api_fluid_layers_sequence_scatter`
前者是用来补齐序列的元素,可以是一个数也可以是一个tensor;后者是序列补齐的目标长度。
这个layer会返回补齐后的序列,以及一个记录补齐前各个序列长度的tensor :code:`Length`。
API Reference 请参考 :ref:`api_fluid_layers_sequence_pad`
API Reference 请参考 :ref:`cn_api_fluid_layers_sequence_pad`
11. sequence_mask
......@@ -108,5 +108,5 @@ API Reference 请参考 :ref:`api_fluid_layers_sequence_pad`
通常这个layer用于生成一个mask,将被pad后的序列中pad的部分过滤掉。
:code:`input` 的长度tensor通常可以直接用 :code:`sequence_pad` 返回的 :code:`Length`。
API Reference 请参考 :ref:`api_fluid_layers_sequence_mask`
API Reference 请参考 :ref:`cn_api_fluid_layers_sequence_mask`
......@@ -4,7 +4,7 @@
稀疏更新
#####
Fluid的 :ref:`api_fluid_layers_embedding` 层在单机训练和分布式训练时,均可以支持“稀疏更新”,即梯度以sparse tensor 结构存储,只保存梯度不为0的行。
Fluid的 :ref:`cn_api_fluid_layers_embedding` 层在单机训练和分布式训练时,均可以支持“稀疏更新”,即梯度以sparse tensor 结构存储,只保存梯度不为0的行。
在分布式训练中,对于较大的embedding层,开启稀疏更新有助于减少通信数据量,提升训练速度。
在paddle内部,我们用lookup_table来实现embedding。下边这张图说明了embedding在正向和反向计算的过程:
......@@ -17,7 +17,7 @@ Fluid的 :ref:`api_fluid_layers_embedding` 层在单机训练和分布式训练
embedding使用例子:
---------------------
API详细使用方法参考 :ref:`api_fluid_layers_embedding` ,以下是一个简单的例子:
API详细使用方法参考 :ref:`cn_api_fluid_layers_embedding` ,以下是一个简单的例子:
.. code-block:: python
......@@ -39,7 +39,7 @@ API详细使用方法参考 :ref:`api_fluid_layers_embedding` ,以下是一个
- :code:`is_sparse` : 反向计算的时候梯度是否为sparse tensor。如果不设置,梯度是一个 `LodTensor <https://github.com/PaddlePaddle/FluidDoc/blob/develop/doc/fluid/user_guides/howto/prepare_data/lod_tensor.md>`_ 。默认为False。
- :code:`is_distributed` : 标志是否是用在分布式的场景下。一般大规模稀疏更新(embedding的第0维维度很大,比如几百万以上)才需要设置。具体可以参考大规模稀疏的API guide :ref:`api_guide_async_training` 。默认为False。
- :code:`is_distributed` : 标志是否是用在分布式的场景下。一般大规模稀疏更新(embedding的第0维维度很大,比如几百万以上)才需要设置。具体可以参考大规模稀疏的API guide :ref:`cn_api_guide_async_training` 。默认为False。
- API汇总:
- :ref:`api_fluid_layers_embedding`
- :ref:`cn_api_fluid_layers_embedding`
......@@ -15,14 +15,14 @@ Tensor
---------------------
Tensor用于在框架中承载数据,使用 :code:`create_tensor` 可以创建一个指定数据类型的Lod-Tensor变量,
API reference 请参考: :ref:`api_fluid_layers_create_tensor`
API reference 请参考: :ref:`cn_api_fluid_layers_create_tensor`
2. create_parameter
---------------------
神经网络的训练过程是一个对参数的学习过程,Fluid 使用 :code:`create_parameter` 创建一个可学习的参数。该参数的值可以被operator改变。
API reference 请参考::ref:`api_fluid_layers_create_parameter`
API reference 请参考::ref:`cn_api_fluid_layers_create_parameter`
......@@ -30,7 +30,7 @@ API reference 请参考::ref:`api_fluid_layers_create_parameter`
---------------------
Fluid 使用 :code:`create_global_var` 创建一个全局tensor,通过此 API 可以指定被创建 Tensor 变量的数据类型、形状和值。
API reference 请参考::ref:`api_fluid_layers_create_global_var`
API reference 请参考::ref:`cn_api_fluid_layers_create_global_var`
4. cast
......@@ -38,7 +38,7 @@ API reference 请参考::ref:`api_fluid_layers_create_global_var`
Fluid 使用 :code:`cast` 将数据转换为指定类型。
API reference 请参考::ref:`api_fluid_layers_cast`
API reference 请参考::ref:`cn_api_fluid_layers_cast`
5. concat
......@@ -46,7 +46,7 @@ API reference 请参考::ref:`api_fluid_layers_cast`
Fluid 使用 :code:`concat` 将输入数据沿指定维度连接。
API reference 请参考::ref:`api_fluid_layers_concat`
API reference 请参考::ref:`cn_api_fluid_layers_concat`
6. sums
......@@ -54,7 +54,7 @@ API reference 请参考::ref:`api_fluid_layers_concat`
Fluid 使用 :code:`sums` 执行对输入数据的加和。
API reference 请参考::ref:`api_fluid_layers_sums`
API reference 请参考::ref:`cn_api_fluid_layers_sums`
7. fill_constant_batch_size_like
......@@ -62,63 +62,63 @@ API reference 请参考::ref:`api_fluid_layers_sums`
Fluid 使用 :code:`fill_constant_batch_size_like` 创建一个具有特定形状、类型和 batch_size 的 Tensor。并且该Tensor的初始值可以被指定为任意常数。其中 batch_size 信息由该tensor的 :code:`input_dim_idx` 和 :code:`output_dim_idx` 确定。
API reference 请参考::ref:`api_fluid_layers_fill_constant_batch_size_like`
API reference 请参考::ref:`cn_api_fluid_layers_fill_constant_batch_size_like`
8. fill_constant
-----------------
Fluid 使用 :code:`fill_constant` 创建一个具有特定形状和类型的 Tensor。可以通过 :code:`value` 设置该变量的初始值。
API reference 请参考: :ref:`api_fluid_layers_fill_constant`
API reference 请参考: :ref:`cn_api_fluid_layers_fill_constant`
9. assign
---------------
Fluid 使用 :code:`assign` 复制一个变量。
API reference 请参考::ref:`api_fluid_layers_assign`
API reference 请参考::ref:`cn_api_fluid_layers_assign`
10. argmin
--------------
Fluid 使用 :code:`argmin` 计算输入 Tensor 指定轴上最小元素的索引。
API reference 请参考::ref:`api_fluid_layers_assign`
API reference 请参考::ref:`cn_api_fluid_layers_assign`
11. argmax
-----------
Fluid 使用 :code:`argmax` 计算输入 Tensor 指定轴上最大元素的索引。
API reference 请参考::ref:`api_fluid_layers_argmax`
API reference 请参考::ref:`cn_api_fluid_layers_argmax`
12. argsort
------------
Fluid 使用 :code:`argsort` 对输入 Tensor 在指定轴上进行排序,并返回排序后的数据变量及其对应的索引值。
API reference 请参考: :ref:`api_fluid_layers_argsort`
API reference 请参考: :ref:`cn_api_fluid_layers_argsort`
13. ones
-------------
Fluid 使用 :code:`ones` 创建一个指定大小和数据类型的Tensor,且初始值为1。
API reference 请参考: :ref:`api_fluid_layers_ones`
API reference 请参考: :ref:`cn_api_fluid_layers_ones`
14. zeros
---------------
Fluid 使用 :code:`zeros` 创建一个指定大小和数据类型的Tensor,且初始值为0。
API reference 请参考: :ref:`api_fluid_layers_zeros`
API reference 请参考: :ref:`cn_api_fluid_layers_zeros`
15. reverse
-------------------
Fluid 使用 :code:`reverse` 沿指定轴反转 Tensor。
API reference 请参考: :ref:`api_fluid_layers_reverse`
API reference 请参考: :ref:`cn_api_fluid_layers_reverse`
......@@ -132,18 +132,18 @@ LoD-Tensor非常适用于序列数据,相关知识可以参考阅读 `LoD_Tens
Fluid 使用 :code:`create_lod_tensor` 基于numpy数组、列表或现有 LoD_Tensor 创建拥有新的层级信息的 LoD_Tensor。
API reference 请参考: :ref:`api_fluid_create_lod_tensor`
API reference 请参考: :ref:`cn_api_fluid_create_lod_tensor`
2. create_random_int_lodtensor
----------------------------------
Fluid 使用 :code:`create_random_int_lodtensor` 创建一个由随机整数组成的 LoD_Tensor。
API reference 请参考: :ref:`api_fluid_create_random_int_lodtensor`
API reference 请参考: :ref:`cn_api_fluid_create_random_int_lodtensor`
3. reorder_lod_tensor_by_rank
---------------------------------
Fluid 使用 :code:`reorder_lod_tensor_by_rank` 对输入 LoD_Tensor 的序列信息按指定顺序重拍。
API reference 请参考::ref:`api_fluid_layers_reorder_lod_tensor_by_rank`
\ No newline at end of file
API reference 请参考::ref:`cn_api_fluid_layers_reorder_lod_tensor_by_rank`
\ No newline at end of file
......@@ -11,24 +11,24 @@
- 准确率: :code:`Precision` ,用来衡量二分类中召回真值和召回值的比例。
API Reference 请参考 :ref:`api_fluid_metrics_Precision`
API Reference 请参考 :ref:`cn_api_fluid_metrics_Precision`
- 正确率: :code:`Accuracy` ,用来衡量二分类中召回真值和总样本数的比例。需要注意的是,准确率和正确率的定义是不同的,可以类比于误差分析中的 :code:`Variance` 和 :code:`Bias` 。
API Reference 请参考 :ref:`api_fluid_metrics_Accuracy`
API Reference 请参考 :ref:`cn_api_fluid_metrics_Accuracy`
- 召回率: :code:`Recall` ,用来衡量二分类中召回值和总样本数的比例。准确率和召回率的选取相互制约,实际模型中需要进行权衡,可以参考文档 `Precision_and_recall <https://en.wikipedia.org/wiki/Precision_and_recall>`_ 。
API Reference 请参考 :ref:`api_fluid_metrics_Recall`
API Reference 请参考 :ref:`cn_api_fluid_metrics_Recall`
- AUC: :code:`Area Under Curve`, 适用于二分类的分类模型评估,用来计算 `ROC曲线的累积面积 <https://en.wikipedia.org/wiki/Receiver_operating_characteristic#Area_under_the_curve>`_。:code:`Auc` 通过python计算实现,如果关注性能,可以使用 :code:`fluid.layers.auc` 代替。
API Reference 请参考 :ref:`api_fluid_metrics_Auc`
API Reference 请参考 :ref:`cn_api_fluid_metrics_Auc`
- 平均准确度: :code:`Average Precision` ,常用在Faster R-CNN和SSD等物体检测任务中。在不同召回条件下,计算了准确率的平均值,具体可以参考文档 `Average-precision <https://sanchom.wordpress.com/tag/average-precision/>`_ 和 `SSD: Single Shot MultiBox Detector <https://arxiv.org/abs/1512.02325>`_。
API Reference 请参考 :ref:`api_fluid_metrics_DetectionMAP`
API Reference 请参考 :ref:`cn_api_fluid_metrics_DetectionMAP`
......@@ -38,7 +38,7 @@
- 语块评估方法: :code:`ChunkEvaluator` ,接收 :code:`chunk_eval` 接口的输出,累积每一个minibatch的语块统计值,最后计算准确率、召回率和F1值。:code:`ChunkEvaluator` 支持IOB, IOE, IOBES和IO四种标注模式。可以参考文档 `Chunking with Support Vector Machines <https://aclanthology.info/pdf/N/N01/N01-1025.pdf>`_ 。
API Reference 请参考 :ref:`api_fluid_metrics_ChunkEvaluator`
API Reference 请参考 :ref:`cn_api_fluid_metrics_ChunkEvaluator`
生成任务评价
......@@ -47,5 +47,5 @@
- 编辑距离: :code:`EditDistance` ,用来衡量两个字符串的相似度。可以参考文档 `Edit_distance <https://en.wikipedia.org/wiki/Edit_distance>`_。
API Reference 请参考 :ref:`api_fluid_metrics_EditDistance`
API Reference 请参考 :ref:`cn_api_fluid_metrics_EditDistance`
......@@ -10,12 +10,12 @@
变量、持久性变量和参数
====================
在 :code:`Paddle` 中,算子(:code:`Operator`)的每一个输入和输出都是一个变量(:code:`Variable`),而参数(:code:`Parameter`)是变量(:code:`Variable`)的子类。持久性变量(:code:`Persistables`)是一种在每次迭代结束后均不会被删除的变量。参数是一种持久性变量,其在每次迭代后都会被优化器(:ref:`api_guide_optimizer`)更新。训练神经网络本质上就是在更新参数。
在 :code:`Paddle` 中,算子(:code:`Operator`)的每一个输入和输出都是一个变量(:code:`Variable`),而参数(:code:`Parameter`)是变量(:code:`Variable`)的子类。持久性变量(:code:`Persistables`)是一种在每次迭代结束后均不会被删除的变量。参数是一种持久性变量,其在每次迭代后都会被优化器(:ref:`cn_api_guide_optimizer`)更新。训练神经网络本质上就是在更新参数。
模型保存API介绍
====================
- :code:`fluid.io.save_vars`:通过执行器(:ref:`api_guide_executor`)保存变量到指定的目录中。保存变量的方式有两种:
- :code:`fluid.io.save_vars`:通过执行器(:ref:`cn_api_guide_executor`)保存变量到指定的目录中。保存变量的方式有两种:
1)通过接口中的 :code:`vars` 指定需要保存的变量列表。
......@@ -23,17 +23,17 @@
第一种保存方式的优先级要高于第二种。
API Reference 请参考 :ref:`api_fluid_io_save_vars`。
API Reference 请参考 :ref:`cn_api_fluid_io_save_vars`。
- :code:`fluid.io.save_params`:通过接口中的 :code:`main_program` 指定好程序(:code:`Program`),该接口会将所指定程序中的全部参数(:code:`Parameter`)过滤出来,并将它们保存到 :code:`dirname` 指定的文件夹或 :code:`filename` 指定的文件中。
API Reference 请参考 :ref:`api_fluid_io_save_params`。
API Reference 请参考 :ref:`cn_api_fluid_io_save_params`。
- :code:`fluid.io.save_persistables`:通过接口中的 :code:`main_program` 指定好程序(:code:`Program`),该接口会将所指定程序中的全部持久性变量(:code:`persistable==True`)过滤出来,并将它们保存到 :code:`dirname` 指定的文件夹或 :code:`filename` 指定的文件中。
API Reference 请参考 :ref:`api_fluid_io_save_persistables`。
API Reference 请参考 :ref:`cn_api_fluid_io_save_persistables`。
- :code:`fluid.io.save_inference_model`:请参考 :ref:`api_guide_inference`。
- :code:`fluid.io.save_inference_model`:请参考 :ref:`cn_api_guide_inference`。
模型加载API介绍
====================
......@@ -46,14 +46,14 @@
第一种加载方式的优先级要高于第二种。
API Reference 请参考 :ref:`api_fluid_io_load_vars`。
API Reference 请参考 :ref:`cn_api_fluid_io_load_vars`。
- :code:`fluid.io.load_params`:该接口从 :code:`main_program` 指定的程序中过滤出全部参数(:code:`Parameter`),并试图从 :code:`dirname` 指定的文件夹或 :code:`filename` 指定的文件中加载这些参数。
API Reference 请参考 :ref:`api_fluid_io_load_params`。
API Reference 请参考 :ref:`cn_api_fluid_io_load_params`。
- :code:`fluid.io.load_persistables`:该接口从 :code:`main_program` 指定的程序中过滤出全部持久性变量(:code:`persistable==True`),并试图从 :code:`dirname` 指定的文件夹或 :code:`filename` 指定的文件中加载这些持久性变量。
API Reference 请参考 :ref:`api_fluid_io_load_persistables`。
API Reference 请参考 :ref:`cn_api_fluid_io_load_persistables`。
- :code:`fluid.io.load_inference_model`:请参考 :ref:`api_guide_inference`。
- :code:`fluid.io.load_inference_model`:请参考 :ref:`cn_api_guide_inference`。
......@@ -11,45 +11,45 @@
1.simple_img_conv_pool
----------------------
:code:`simple_img_conv_pool` 是由 :ref:`api_fluid_layers_conv2d` 与 :ref:`api_fluid_layers_pool2d` 串联而成。
:code:`simple_img_conv_pool` 是由 :ref:`cn_api_fluid_layers_conv2d` 与 :ref:`cn_api_fluid_layers_pool2d` 串联而成。
该模块在图像分类模型中广泛使用,比如应用在 `MNIST <https://en.wikipedia.org/wiki/MNIST_database>`_ 数字分类的问题。
API Reference 请参考 :ref:`api_fluid_nets_simple_img_conv_pool`
API Reference 请参考 :ref:`cn_api_fluid_nets_simple_img_conv_pool`
2.img_conv_group
----------------
:code:`img_conv_group` 是由 :ref:`api_fluid_layers_conv2d` , :ref:`api_fluid_layers_batch_norm`, :ref:`api_fluid_layers_dropout` 和 :ref:`api_fluid_layers_pool2d` 组成。
该模块可以实现多个 :ref:`api_fluid_layers_conv2d` , :ref:`api_fluid_layers_batch_norm` 和 :ref:`api_fluid_layers_dropout` 的串联单元与一个 :ref:`api_fluid_layers_pool2d` 的组合。
其中, :ref:`api_fluid_layers_conv2d` , :ref:`api_fluid_layers_batch_norm` 和 :ref:`api_fluid_layers_dropout` 的数量都可以分别控制,从而得到多样的组合。
:code:`img_conv_group` 是由 :ref:`cn_api_fluid_layers_conv2d` , :ref:`cn_api_fluid_layers_batch_norm`, :ref:`cn_api_fluid_layers_dropout` 和 :ref:`cn_api_fluid_layers_pool2d` 组成。
该模块可以实现多个 :ref:`cn_api_fluid_layers_conv2d` , :ref:`cn_api_fluid_layers_batch_norm` 和 :ref:`cn_api_fluid_layers_dropout` 的串联单元与一个 :ref:`cn_api_fluid_layers_pool2d` 的组合。
其中, :ref:`cn_api_fluid_layers_conv2d` , :ref:`cn_api_fluid_layers_batch_norm` 和 :ref:`cn_api_fluid_layers_dropout` 的数量都可以分别控制,从而得到多样的组合。
该模块广泛使用在比较复杂的图像分类任务中,比如 `VGG <https://arxiv.org/pdf/1409.1556.pdf>`_ 。
API Reference 请参考 :ref:`api_fluid_nets_img_conv_group`
API Reference 请参考 :ref:`cn_api_fluid_nets_img_conv_group`
3.sequence_conv_pool
--------------------
:code:`sequence_conv_pool` 是由 :ref:`api_fluid_layers_sequence_conv` 与 :ref:`api_fluid_layers_sequence_pool` 串联而成。
:code:`sequence_conv_pool` 是由 :ref:`cn_api_fluid_layers_sequence_conv` 与 :ref:`cn_api_fluid_layers_sequence_pool` 串联而成。
该模块在 `自然语言处理 <https://zh.wikipedia.org/wiki/自然语言处理>`_ 以及 `语音识别 <https://zh.wikipedia.org/wiki/语音识别>`_ 等领域均有广泛应用,
比如 `文本分类模型 <https://github.com/PaddlePaddle/models/blob/develop/fluid/PaddleNLP/text_classification/nets.py>`_ ,
`TagSpace <https://github.com/PaddlePaddle/models/blob/develop/fluid/PaddleRec/tagspace/train.py>`_ 以及 `Multi-view Simnet <https://github.com/PaddlePaddle/models/blob/develop/fluid/PaddleRec/multiview_simnet/nets.py>`_ 等模型。
API Reference 请参考 :ref:`api_fluid_nets_sequence_conv_pool`
API Reference 请参考 :ref:`cn_api_fluid_nets_sequence_conv_pool`
4.glu
-----
:code:`glu` 全称 Gated Linear Units, 来源于论文 `Language Modeling with Gated Convolutional Networks <https://arxiv.org/pdf/1612.08083.pdf>`_ ,由 :ref:`api_fluid_layers_split` , :ref:`api_fluid_layers_sigmoid` 和 :ref:`api_fluid_layers_elementwise_mul` 组成。
:code:`glu` 全称 Gated Linear Units, 来源于论文 `Language Modeling with Gated Convolutional Networks <https://arxiv.org/pdf/1612.08083.pdf>`_ ,由 :ref:`cn_api_fluid_layers_split` , :ref:`cn_api_fluid_layers_sigmoid` 和 :ref:`cn_api_fluid_layers_elementwise_mul` 组成。
它会把输入数据均分为2等份,并对第二部分求 `Sigmoid <https://en.wikipedia.org/wiki/Sigmoid_function>`_ , 然后再与第一部分数据求点乘得到输出。
API Reference 请参考 :ref:`api_fluid_nets_glu`
API Reference 请参考 :ref:`cn_api_fluid_nets_glu`
5.scaled_dot_product_attention
------------------------------
:code:`scaled_dot_product_attention` 来源于论文 `Attention Is All You Need <https://arxiv.org/pdf/1706.03762.pdf>`_ ,主要是由 :ref:`api_fluid_layers_fc` 和 :ref:`api_fluid_layers_softmax` 组成。
:code:`scaled_dot_product_attention` 来源于论文 `Attention Is All You Need <https://arxiv.org/pdf/1706.03762.pdf>`_ ,主要是由 :ref:`cn_api_fluid_layers_fc` 和 :ref:`cn_api_fluid_layers_softmax` 组成。
对于输入数据 :code:`Queries` , :code:`Key` 和 :code:`Values` 按照如下公式求出 :code:`Attention` 。
.. math::
......@@ -57,5 +57,5 @@ API Reference 请参考 :ref:`api_fluid_nets_glu`
该模块广泛使用在 `机器翻译 <https://zh.wikipedia.org/zh/机器翻译>`_ 的模型中,比如 `Transformer <https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleNLP/neural_machine_translation/transformer>`_ 。
API Reference 请参考 :ref:`api_fluid_nets_scaled_dot_product_attention`
API Reference 请参考 :ref:`cn_api_fluid_nets_scaled_dot_product_attention`
......@@ -14,7 +14,7 @@
:code:`SGD` 是实现 `随机梯度下降 <https://arxiv.org/pdf/1609.04747.pdf>`_ 的一个 :code:`Optimizer` 子类,是 `梯度下降 <https://zh.wikipedia.org/zh-hans/梯度下降法>`_ 大类中的一种方法。
当需要训练大量样本的时候,往往选择 :code:`SGD` 来使损失函数更快的收敛。
API Reference 请参考 :ref:`api_fluid_optimizer_SGDOptimizer`
API Reference 请参考 :ref:`cn_api_fluid_optimizer_SGDOptimizer`
2.Momentum/MomentumOptimizer
......@@ -25,14 +25,14 @@ API Reference 请参考 :ref:`api_fluid_optimizer_SGDOptimizer`
<https://arxiv.org/pdf/1609.04747.pdf>`_ 算法和 `Nesterov accelerated gradient(论文4.2节)
<https://arxiv.org/pdf/1609.04747.pdf>`_ 算法。
API Reference 请参考 :ref:`api_fluid_optimizer_MomentumOptimizer`
API Reference 请参考 :ref:`cn_api_fluid_optimizer_MomentumOptimizer`
3. Adagrad/AdagradOptimizer
---------------------------
`Adagrad <http://www.jmlr.org/papers/volume12/duchi11a/duchi11a.pdf>`_ 优化器可以针对不同参数样本数不平均的问题,自适应地为各个参数分配不同的学习率。
API Reference 请参考 :ref:`api_fluid_optimizer_AdagradOptimizer`
API Reference 请参考 :ref:`cn_api_fluid_optimizer_AdagradOptimizer`
4.RMSPropOptimizer
......@@ -40,7 +40,7 @@ API Reference 请参考 :ref:`api_fluid_optimizer_AdagradOptimizer`
`RMSProp优化器 <http://www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf>`_ ,是一种自适应调整学习率的方法,
主要解决使用Adagrad后,模型训练中后期学习率急剧下降的问题。
API Reference 请参考 :ref:`api_fluid_optimizer_RMSPropOptimizer`
API Reference 请参考 :ref:`cn_api_fluid_optimizer_RMSPropOptimizer`
......@@ -49,7 +49,7 @@ API Reference 请参考 :ref:`api_fluid_optimizer_RMSPropOptimizer`
`Adam <https://arxiv.org/abs/1412.6980>`_ 的优化器是一种自适应调整学习率的方法,
适用于大多非 `凸优化 <https://zh.wikipedia.org/zh/凸優化>`_ 、大数据集和高维空间的场景。在实际应用中,:code:`Adam` 是最为常用的一种优化方法。
API Reference 请参考 :ref:`api_fluid_optimizer_AdamOptimizer`
API Reference 请参考 :ref:`cn_api_fluid_optimizer_AdamOptimizer`
......@@ -58,7 +58,7 @@ API Reference 请参考 :ref:`api_fluid_optimizer_AdamOptimizer`
`Adamax <https://arxiv.org/abs/1412.6980>`_ 是 :code:`Adam` 算法的一个变体,对学习率的上限提供了一个更简单的范围,使学习率的边界范围更简单。
API Reference 请参考 :ref:`api_fluid_optimizer_AdamaxOptimizer`
API Reference 请参考 :ref:`cn_api_fluid_optimizer_AdamaxOptimizer`
......@@ -67,7 +67,7 @@ API Reference 请参考 :ref:`api_fluid_optimizer_AdamaxOptimizer`
`DecayedAdagrad <http://www.jmlr.org/papers/volume12/duchi11a/duchi11a.pdf>`_ 优化器,可以看做是引入了衰减速率的 :code:`Adagrad` 算法,解决使用Adagrad后,模型训练中后期学习率急剧下降的问题。
API Reference 请参考 :ref:`api_fluid_optimizer_DecayedAdagrad`
API Reference 请参考 :ref:`cn_api_fluid_optimizer_DecayedAdagrad`
......@@ -78,7 +78,7 @@ API Reference 请参考 :ref:`api_fluid_optimizer_DecayedAdagrad`
`FtrlOptimizer <https://www.eecs.tufts.edu/~dsculley/papers/ad-click-prediction.pdf>`_ 优化器结合了 `FOBOS算法 <https://stanford.edu/~jduchi/projects/DuchiSi09b.pdf>`_ 的高精度与 `RDA算法
<http://www1.se.cuhk.edu.hk/~sqma/SEEM5121_Spring2015/dual-averaging.pdf>`_ 的稀疏性,是目前效果非常好的一种 `Online Learning <https://en.wikipedia.org/wiki/Online_machine_learning>`_ 算法。
API Reference 请参考 :ref:`api_fluid_optimizer_FtrlOptimizer`
API Reference 请参考 :ref:`cn_api_fluid_optimizer_FtrlOptimizer`
......@@ -87,6 +87,6 @@ API Reference 请参考 :ref:`api_fluid_optimizer_FtrlOptimizer`
:code:`ModelAverage` 优化器,在训练中通过窗口来累计历史 parameter,在预测时使用取平均值后的paramet,整体提高预测的精度。
API Reference 请参考 :ref:`api_fluid_optimizer_ModelAverage`
API Reference 请参考 :ref:`cn_api_fluid_optimizer_ModelAverage`
......@@ -7,7 +7,7 @@
:code:`ParallelExecutor` 是以数据并行的方式在多个节点上分别执行 :code:`Program` 的执行器。用户可以通过Python脚本驱动 :code:`ParallelExecutor` 执行, :code:`ParallelExecutor` 的执行过程:
- 首先根据 :code:`Program` 、 :code:`GPU` 卡的数目(或者 :code:`CPU` 的核数)以及 :ref:`api_fluid_BuildStrategy` 构建 :code:`SSA Graph` 和一个线程池;
- 首先根据 :code:`Program` 、 :code:`GPU` 卡的数目(或者 :code:`CPU` 的核数)以及 :ref:`cn_api_fluid_BuildStrategy` 构建 :code:`SSA Graph` 和一个线程池;
- 执行过程中,根据Op的输入是否Ready决定是否执行该Op,这样可以使没有相互依赖的多个Op可在线程池中并行执行;
:code:`ParallelExecutor` 在构造时需要指定当前 :code:`Program` 的设备类型, :code:`GPU` 或者 :code:`CPU` :
......@@ -25,13 +25,13 @@
* :code:`AllReduce` 模式下, :code:`ParallelExecutor` 调用AllReduce操作使多个节点上参数梯度完全相等,然后各个节点独立进行参数的更新;
* :code:`Reduce` 模式下, :code:`ParallelExecutor` 会预先将所有参数的更新分派到不同的节点上,在执行过程中 :code:`ParallelExecutor` 调用Reduce操作将参数梯度在预先指定的节点上进行聚合,并进行参数更新,最后调用Broadcast操作将更新后的参数发送到其他节点。
这两种模式通过 :code:`build_strategy` 来指定,使用方法,请参考 :ref:`api_fluid_BuildStrategy` 。
这两种模式通过 :code:`build_strategy` 来指定,使用方法,请参考 :ref:`cn_api_fluid_BuildStrategy` 。
**注意** :如果在Reduce模式下使用 :code:`CPU` 多线程执行 :code:`Program` , :code:`Program` 的参数在多个线程间是共享的,在某些模型上,Reduce模式可以大幅节省内存。
由于模型的执行速度与模型结构和执行器的执行策略相关, :code:`ParallelExecutor` 允许用户修改执行器的相关参数,如:线程池大小( :code:`num_threads` )、多少次迭代之后清理一次临时变量 :code:`num_iteration_per_drop_scope` 等,更多信息请参考 :ref:`api_fluid_ExecutionStrategy` >。
由于模型的执行速度与模型结构和执行器的执行策略相关, :code:`ParallelExecutor` 允许用户修改执行器的相关参数,如:线程池大小( :code:`num_threads` )、多少次迭代之后清理一次临时变量 :code:`num_iteration_per_drop_scope` 等,更多信息请参考 :ref:`cn_api_fluid_ExecutionStrategy` >。
- 相关API汇总:
- :ref:`api_fluid_ParallelExecutor`
- :ref:`api_fluid_BuildStrategy`
- :ref:`api_fluid_ExecutionStrategy`
\ No newline at end of file
- :ref:`cn_api_fluid_ParallelExecutor`
- :ref:`cn_api_fluid_BuildStrategy`
- :ref:`cn_api_fluid_ExecutionStrategy`
\ No newline at end of file
......@@ -4,7 +4,7 @@
模型参数
#########
模型参数为模型中的weight和bias统称,在fluid中对应fluid.Parameter类,继承自fluid.Variable,是一种可持久化的variable。模型的训练就是不断学习更新模型参数的过程。模型参数相关的属性可以通过 :ref:`api_fluid_param_attr_ParamAttr` 来配置,可配置内容有:
模型参数为模型中的weight和bias统称,在fluid中对应fluid.Parameter类,继承自fluid.Variable,是一种可持久化的variable。模型的训练就是不断学习更新模型参数的过程。模型参数相关的属性可以通过 :ref:`cn_api_fluid_param_attr_ParamAttr` 来配置,可配置内容有:
- 初始化方式
- 正则化
......@@ -33,7 +33,7 @@ fluid通过设置 :code:`ParamAttr` 的 :code:`initializer` 属性为单个param
可用别名:Bilinear
API请参考::ref:`api_fluid_initializer_BilinearInitializer`
API请参考::ref:`cn_api_fluid_initializer_BilinearInitializer`
2. ConstantInitializer
----------------------
......@@ -42,7 +42,7 @@ API请参考::ref:`api_fluid_initializer_BilinearInitializer`
可用别名:Constant
API请参考::ref:`api_fluid_initializer_ConstantInitializer`
API请参考::ref:`cn_api_fluid_initializer_ConstantInitializer`
3. MSRAInitializer
------------------
......@@ -51,7 +51,7 @@ API请参考::ref:`api_fluid_initializer_ConstantInitializer`
可用别名:MSRA
API请参考::ref:`api_fluid_initializer_MSRAInitializer`
API请参考::ref:`cn_api_fluid_initializer_MSRAInitializer`
4. NormalInitializer
---------------------
......@@ -60,7 +60,7 @@ API请参考::ref:`api_fluid_initializer_MSRAInitializer`
可用别名:Normal
API请参考::ref:`api_fluid_initializer_NormalInitializer`
API请参考::ref:`cn_api_fluid_initializer_NormalInitializer`
5. TruncatedNormalInitializer
-----------------------------
......@@ -69,7 +69,7 @@ API请参考::ref:`api_fluid_initializer_NormalInitializer`
可用别名:TruncatedNormal
API请参考::ref:`api_fluid_initializer_TruncatedNormalInitializer`
API请参考::ref:`cn_api_fluid_initializer_TruncatedNormalInitializer`
6. UniformInitializer
--------------------
......@@ -78,7 +78,7 @@ API请参考::ref:`api_fluid_initializer_TruncatedNormalInitializer`
可用别名:Uniform
API请参考::ref:`api_fluid_initializer_UniformInitializer`
API请参考::ref:`cn_api_fluid_initializer_UniformInitializer`
7. XavierInitializer
--------------------
......@@ -87,7 +87,7 @@ API请参考::ref:`api_fluid_initializer_UniformInitializer`
可用别名:Xavier
API请参考::ref:`api_fluid_initializer_XavierInitializer`
API请参考::ref:`cn_api_fluid_initializer_XavierInitializer`
正则化方式
=============
......@@ -102,8 +102,8 @@ fluid通过设置 :code:`ParamAttr` 的 :code:`regularizer` 属性为单个param
以下为fluid支持的正则化方式:
- :ref:`api_fluid_regularizer_L1DecayRegularizer` (别名:L1Decay)
- :ref:`api_fluid_regularizer_L2DecayRegularizer` (别名:L2Decay)
- :ref:`cn_api_fluid_regularizer_L1DecayRegularizer` (别名:L1Decay)
- :ref:`cn_api_fluid_regularizer_L2DecayRegularizer` (别名:L2Decay)
Clipping
==========
......@@ -124,14 +124,14 @@ fluid通过设置 :code:`ParamAttr` 的 :code:`gradient_clip` 属性为单个par
用来将一个tensor的值clipping到指定范围。
API请参考::ref:`api_fluid_clip_ErrorClipByValue`
API请参考::ref:`cn_api_fluid_clip_ErrorClipByValue`
2. GradientClipByGlobalNorm
---------------------------
用来将多个Tensor的global-norm限制在 :code:`clip_norm` 以内。
API请参考::ref:`api_fluid_clip_GradientClipByGlobalNorm`
API请参考::ref:`cn_api_fluid_clip_GradientClipByGlobalNorm`
3. GradientClipByNorm
---------------------
......@@ -139,14 +139,14 @@ API请参考::ref:`api_fluid_clip_GradientClipByGlobalNorm`
将Tensor的l2-norm限制在 :code:`max_norm` 以内。如果Tensor的l2-norm超过了 :code:`max_norm` ,
会将计算出一个 :code:`scale` ,该Tensor的所有值乘上计算出来的 :code:`scale` .
API请参考::ref:`api_fluid_clip_GradientClipByNorm`
API请参考::ref:`cn_api_fluid_clip_GradientClipByNorm`
4. GradientClipByValue
----------------------
将parameter对应的gradient的值限制在[min, max]范围内。
API请参考::ref:`api_fluid_clip_GradientClipByValue`
API请参考::ref:`cn_api_fluid_clip_GradientClipByValue`
模型平均
========
......@@ -164,4 +164,4 @@ fluid通过 :code:`ParamAttr` 的 :code:`do_model_average` 属性设置单个par
平均后的parameters只是被用来进行测试和预测,其并不参与实际的训练过程。
具体API请参考::ref:`api_fluid_optimizer_ModelAverage`
具体API请参考::ref:`cn_api_fluid_optimizer_ModelAverage`
=============
API Reference
=============
=====
API
=====
.. toctree::
:maxdepth: 1
......@@ -12,7 +12,6 @@ API Reference
clip_cn.rst
data_feeder_cn.rst
executor_cn.rst
index_cn.rst
initializer_cn.rst
io_cn.rst
layers_cn.rst
......
......@@ -8,7 +8,7 @@ PaddlePaddle (PArallel Distributed Deep LEarning)是一个易用、高效、灵
当您第一次来到PaddlePaddle,请您首先阅读以下文档,了解安装方法:
- `安装说明 <../beginners_guide/install/Start.html>`_:我们支持在Ubuntu/CentOS/Windows/MacOS环境上的安装
- `安装说明 <../beginners_guide/install/index_cn.html>`_:我们支持在Ubuntu/CentOS/Windows/MacOS环境上的安装
如果您初次接触深度学习,在学习PaddlePaddle之前建议您先阅读以下资料:
......@@ -18,8 +18,6 @@ PaddlePaddle (PArallel Distributed Deep LEarning)是一个易用、高效、灵
- `Fluid编程指南 <../beginners_guide/programming_guide/programming_guide.html>`_:介绍 Fluid 的基本概念和使用方法
- `Fluid编程指南 <../beginners_guide/programming_guide/programming_guide.html>`_:介绍 Fluid 的基本概念和使用方法
- `快速入门 <../beginners_guide/quick_start/index.html>`_:提供线性回归和识别数字两个入门级模型,帮助您快速上手训练网络
- `深度学习基础 <../beginners_guide/basics/index.html>`_:覆盖图像分类、个性化推荐、机器翻译等多个深度领域的基础知识,提供 Fluid 实现案例
......
***
<a name="FAQ"></a>
<a name="FAQ"></a>
# **FAQ**
- CentOS6下如何编译python2.7为共享库?
......
......@@ -16,7 +16,7 @@
## 选择如何编译
我们在CentOS的系统下提供2种编译方式:
* Docker源码编译(不支持CentOS 6 / 7的GPU版本)
* Docker源码编译(不支持CentOS 6 / 7的GPU版本)(该镜像已经包含python2.7、python3.6、python3.7环境)
* 直接本机源码编译(不支持CentOS 6的全部版本以及CentOS 7的GPU版本)
我们更加推荐**使用Docker进行编译**,因为我们在把工具和配置都安装在一个 Docker image 里。这样如果遇到问题,其他人可以复现问题以便帮助。另外,对于习惯使用Windows和MacOS的开发者来说,使用Docker就不用配置交叉编译环境了。需要强调的是:Docker 不会虚拟任何硬件,Docker container 里运行的编译工具实际上都是在本机的 CPU 和操作系统上直接运行的,性能和把编译工具安装在本机运行一样。
......@@ -60,10 +60,10 @@
`mkdir -p /paddle/build && cd /paddle/build`
7. 使用以下命令安装相关依赖:
7. 使用以下命令安装相关依赖:(For Python3:请选择您希望用的python版本对应的pip,如pip3.5、pip3.6)
For Python2: pip install protobuf==3.1.0
For Python3: pip3 install protobuf==3.1.0
For Python3: pip3.5 install protobuf==3.1.0
> 安装protobuf 3.1.0。
......@@ -80,7 +80,7 @@
`cmake .. -DWITH_FLUID_ONLY=ON -DWITH_GPU=OFF -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release`
>> 我们目前不支持CentOS下GPU版本PaddlePaddle的编译
> 我们目前不支持CentOS下GPU版本PaddlePaddle的编译
9. 执行编译:
......@@ -90,10 +90,10 @@
10. 编译成功后进入`/paddle/build/python/dist`目录下找到生成的`.whl`包: `cd /paddle/build/python/dist`
11. 在当前机器或目标机器安装编译好的`.whl`包:
11. 在当前机器或目标机器安装编译好的`.whl`包:(For Python3:请选择您希望用的python版本对应的pip,如pip3.5、pip3.6)
For Python2: pip install (whl包的名字)
For Python3: pip3 install (whl包的名字)
For Python3: pip3.5 install (whl包的名字)
至此您已经成功使用Docker安装PaddlePaddle,您只需要进入Docker容器后运行PaddlePaddle即可,更多Docker使用请参见[Docker官方文档](https://docs.docker.com)
......@@ -118,7 +118,7 @@
1. 检查您的计算机和操作系统是否符合我们支持的编译标准: `uname -m && cat /etc/*release`
2. 更新`yum`的源: `yum update`, 并添加必要的yum源:`yum install -y epel-release`
2. 更新`yum`的源: `yum update`, 并添加必要的yum源:`yum install -y epel-release`, 并提前安装openCV
3. 安装必要的工具`bzip2`以及`make``yum install -y bzip2``yum install -y make`
......@@ -212,6 +212,6 @@
<br/><br/>
## ***如何卸载***
请使用以下命令卸载PaddlePaddle(使用docker安装PaddlePaddle的用户请进入包含PaddlePaddle的容器中使用以下命令):
请使用以下命令卸载PaddlePaddle(使用docker安装PaddlePaddle的用户请进入包含PaddlePaddle的容器中使用以下命令,请使用对应版本pip):
* ***CPU版本的PaddlePaddle***: `pip uninstall paddlepaddle``pip3 uninstall paddlepaddle`
......@@ -17,13 +17,12 @@
在MacOS 10.12/10.13/10.14 的系统下我们提供2种编译方式:
* Docker源码编译
* Docker源码编译 (该镜像已经包含python2.7、python3.6、python3.7环境)
* 直接本机源码编译
我们更加推荐**使用Docker进行编译**,因为我们在把工具和配置都安装在一个 Docker image 里。这样如果遇到问题,其他人可以复现问题以便帮助。另外,对于习惯使用Windows和MacOS的开发者来说,使用Docker就不用配置交叉编译环境了。需要强调的是:Docker 不会虚拟任何硬件,Docker container 里运行的编译工具实际上都是在本机的 CPU 和操作系统上直接运行的,性能和把编译工具安装在本机运行一样。
同样对于那些出于各种原因不能够安装Docker的用户我们也提供了可以从**本机直接源码编译**的方法,但是由于在本机上的情况更加复杂,因此我们只支持特定的系统。
......@@ -31,8 +30,6 @@
<a name="mac_docker"></a>
......@@ -71,10 +68,10 @@
`mkdir -p /paddle/build && cd /paddle/build`
8. 使用以下命令安装相关依赖:
8. 使用以下命令安装相关依赖:(For Python3:请选择您希望用的python版本对应的pip,如pip3.5、pip3.6)
For Python2: pip install protobuf==3.1.0
For Python3: pip3 install protobuf==3.1.0
For Python3: pip3.5 install protobuf==3.1.0
> 安装protobuf 3.1.0。
......@@ -105,10 +102,10 @@
11. 编译成功后进入`/paddle/build/python/dist`目录下找到生成的`.whl`包: `cd /paddle/build/python/dist`
12. 在当前机器或目标机器安装编译好的`.whl`包:
12. 在当前机器或目标机器安装编译好的`.whl`包:(For Python3:请选择您希望用的python版本对应的pip,如pip3.5、pip3.6)
For Python2: pip install (whl包的名字)
For Python3: pip3 install (whl包的名字)
For Python3: pip3.5 install (whl包的名字)
至此您已经成功使用Docker安装PaddlePaddle,您只需要进入Docker容器后运行PaddlePaddle即可,更多Docker使用请参见[Docker官方文档](https://docs.docker.com)
......@@ -124,7 +121,7 @@
**请严格按照以下指令顺序执行**
1. 检查您的计算机和操作系统是否符合我们支持的编译标准: `uname -m` 并且在`关于本机`中查看系统版本。
1. 检查您的计算机和操作系统是否符合我们支持的编译标准: `uname -m` 并且在`关于本机`中查看系统版本。并提前安装openCV。
2. 安装python以及pip:
......@@ -223,6 +220,6 @@
<br/><br/>
## ***如何卸载***
请使用以下命令卸载PaddlePaddle(使用docker安装PaddlePaddle的用户请进入包含PaddlePaddle的容器中使用以下命令):
请使用以下命令卸载PaddlePaddle(使用docker安装PaddlePaddle的用户请进入包含PaddlePaddle的容器中使用以下命令,请使用相应版本的pip):
* ***CPU版本的PaddlePaddle***: `pip uninstall paddlepaddle``pip3 uninstall paddlepaddle`
......@@ -18,7 +18,7 @@
## 选择如何编译
在Ubuntu的系统下我们提供2种编译方式:
* Docker源码编译
* Docker源码编译 (该镜像已经包含python2.7、python3.6、python3.7环境)
* 直接本机源码编译(不支持ubuntu18.04下GPU版本)
我们更加推荐**使用Docker进行编译**,因为我们在把工具和配置都安装在一个 Docker image 里。这样如果遇到问题,其他人可以复现问题以便帮助。另外,对于习惯使用Windows和MacOS的开发者来说,使用Docker就不用配置交叉编译环境了。有人用虚拟机来类比 Docker。需要强调的是:Docker 不会虚拟任何硬件,Docker container 里运行的编译工具实际上都是在本机的 CPU 和操作系统上直接运行的,性能和把编译工具安装在本机运行一样。
......@@ -62,10 +62,10 @@
`mkdir -p /paddle/build && cd /paddle/build`
7. 使用以下命令安装相关依赖:
7. 使用以下命令安装相关依赖:(For Python3:请选择您希望用的python版本对应的pip,如pip3.5、pip3.6)
For Python2: pip install protobuf==3.1.0
For Python3: pip3 install protobuf==3.1.0
For Python3: pip3.5 install protobuf==3.1.0
> 安装protobuf 3.1.0。
......@@ -95,10 +95,10 @@
10. 编译成功后进入`/paddle/build/python/dist`目录下找到生成的`.whl`包: `cd /paddle/build/python/dist`
11. 在当前机器或目标机器安装编译好的`.whl`包:
11. 在当前机器或目标机器安装编译好的`.whl`包:(For Python3:请选择您希望用的python版本对应的pip,如pip3.5、pip3.6)
For Python2: pip install (whl包的名字)
For Python3: pip3 install (whl包的名字)
For Python3: pip3.5 install (whl包的名字)
至此您已经成功使用Docker安装PaddlePaddle,您只需要进入Docker容器后运行PaddlePaddle即可,更多Docker使用请参见[Docker官方文档](https://docs.docker.com)
......@@ -116,7 +116,7 @@
1. 检查您的计算机和操作系统是否符合我们支持的编译标准: `uname -m && cat /etc/*release`
2. 更新`apt`的源: `apt update`
2. 更新`apt`的源: `apt update`, 并提前安装openCV
3. 我们支持使用virtualenv进行编译安装,首先请使用以下命令创建一个名为`paddle-venv`的虚环境:
......@@ -205,7 +205,7 @@
<br/><br/>
## ***如何卸载***
请使用以下命令卸载PaddlePaddle(使用docker安装PaddlePaddle的用户请进入包含PaddlePaddle的容器中使用以下命令):
请使用以下命令卸载PaddlePaddle(使用docker安装PaddlePaddle的用户请进入包含PaddlePaddle的容器中使用以下命令,请使用对应版本的pip):
* ***CPU版本的PaddlePaddle***: `pip uninstall paddlepaddle``pip3 uninstall paddlepaddle`
......
===========================
**从源码编译PaddlePaddle**
**从源码编译**
===========================
您也可以选择源码编译的方式编译安装PaddlePaddle,但由于本机环境的多样性,在编译源码时易出现复杂问题,可能会造成您安装失败。为保证您顺利安装,推荐您优先选择普通安装方式。
......
......@@ -8,7 +8,8 @@
* *MacOS 10.11 / 10.12 / 10.13 / 10.14*
* *Windows7 / 8/ 10(专业版/企业版)*
请确保您的环境满足以上条件
请确保您的环境满足以上条件,我们默认提供的安装同时需要您的计算机拥有64位操作系统,处理器支持AVX指令集,否则请选择 `多版本whl包安装列表 <Tables.html/#ciwhls>`_ 中 :code:`no_avx` 的版本
- 如果您希望使用 `pip <https://pypi.org/pypi/>`_ 进行安装PaddlePaddle可以直接使用以下命令:
......
......@@ -5,7 +5,10 @@
本说明将介绍如何在*64位台式机或笔记本电脑*以及CentOS系统下安装PaddlePaddle,我们支持的CentOS系统需满足以下要求:
请注意:在其他系统上的尝试可能会导致安装失败。
请注意:在其他系统上的尝试可能会导致安装失败。请确保您的环境满足以上条件,我们默认提供的安装同时需要您的计算机处理器支持AVX指令集,否则请选择[多版本whl包安装列表](Tables.html/#ciwhls)`no_avx`的版本。
CentOS系统下您可以使用`cat /proc/cpuinfo | grep avx`来检测您的处理器是否支持AVX指令集
* *CentOS 6 / 7*
......@@ -24,9 +27,9 @@
在CentOS的系统下我们提供4种安装方式:
* pip安装
* Docker安装(不支持GPU版本)
* Docker安装(不支持GPU版本)(镜像中python的版本为2.7)
* 源码编译安装(不支持CentOS 6的所有版本以及CentOS 7的GPU版本)
* Docker源码编译安装(不支持GPU版本)
* Docker源码编译安装(不支持GPU版本)(镜像中的python版本为2.7,3.5,3.6,3.7)
......@@ -122,7 +125,6 @@ Python3.5、3.6、3.7: (由于在CentOS下安装Python3的方法较为复杂,
当您已经**正确安装Docker**后你就可以开始**使用Docker安装PaddlePaddle**
1. 使用以下指令拉取我们为您预安装好PaddlePaddle的镜像:
......@@ -160,14 +162,13 @@ Python3.5、3.6、3.7: (由于在CentOS下安装Python3的方法较为复杂,
> 注:PaddlePaddle Docker镜像为了减小体积,默认没有安装`vim`,您可以在容器中执行 `apt-get install -y vim` 安装后,在容器中编辑代码。
<br/><br/>
## ***验证安装***
安装完成后您可以使用:`python``python3` 进入Python解释器,然后使用`import paddle.fluid` 验证是否安装成功。
<br/><br/>
## ***如何卸载***
请使用以下命令卸载PaddlePaddle(使用docker安装PaddlePaddle的用户请进入包含PaddlePaddle的容器中使用以下命令):
请使用以下命令卸载PaddlePaddle(使用docker安装PaddlePaddle的用户请进入包含PaddlePaddle的容器中使用以下命令,请使用相应版本的pip):
* ***CPU版本的PaddlePaddle***: `pip uninstall paddlepaddle``pip3 uninstall paddlepaddle`
......
......@@ -18,8 +18,8 @@
在MacOS的系统下我们提供3种安装方式:
* pip安装(不支持GPU版本)(python3下不支持分布式)
* Docker安装(不支持GPU版本)
* Docker源码编译安装(不支持GPU版本)
* Docker安装(不支持GPU版本)(镜像中python的版本为2.7)
* Docker源码编译安装(不支持GPU版本)(镜像中的python版本为2.7,3.5,3.6,3.7)
**使用pip安装**(最便捷的安装方式),我们为您提供pip安装方法,但它更依赖您的本机环境,可能会出现和您本机环境相关的一些问题。
......@@ -63,8 +63,6 @@
现在您已经完成通过`pip install` 来安装的PaddlePaddle的过程。
......@@ -114,6 +112,7 @@
至此您已经成功使用Docker安装PaddlePaddle,您只需要进入Docker容器后运行PaddlePaddle即可,更多Docker使用请参见[Docker官方文档](https://docs.docker.com)
> 注:PaddlePaddle Docker镜像为了减小体积,默认没有安装`vim`,您可以在容器中执行 `apt-get install -y vim` 安装后,在容器中编辑代码。
<!--TODO: When we support pip install mode on MacOS, we can write on this part -->
......@@ -124,7 +123,7 @@
<br/><br/>
## ***如何卸载***
请使用以下命令卸载PaddlePaddle(使用docker安装PaddlePaddle的用户请进入包含PaddlePaddle的容器中使用以下命令):
请使用以下命令卸载PaddlePaddle(使用docker安装PaddlePaddle的用户请进入包含PaddlePaddle的容器中使用以下命令,请使用相应版本的pip):
* ***CPU版本的PaddlePaddle***: `pip uninstall paddlepaddle``pip3 uninstall paddlepaddle`
......@@ -4,7 +4,11 @@
本说明将介绍如何在*64位台式机或笔记本电脑*以及Ubuntu系统下安装PaddlePaddle,我们支持的Ubuntu系统需满足以下要求:
请注意:在其他系统上的尝试可能会导致安装失败。
请注意:在其他系统上的尝试可能会导致安装失败。请确保您的环境满足以上条件,我们默认提供的安装同时需要您的计算机处理器支持AVX指令集,否则请选择[多版本whl包安装列表](Tables.html/#ciwhls)`no_avx`的版本。
Ubuntu系统下您可以使用`cat /proc/cpuinfo | grep avx`来检测您的处理器是否支持AVX指令集
* *Ubuntu 14.04 /16.04 /18.04*
......@@ -24,9 +28,9 @@
在Ubuntu的系统下我们提供4种安装方式:
* pip安装
* Docker安装
* Docker安装(镜像中python的版本为2.7)
* 源码编译安装
* Docker源码编译安装
* Docker源码编译安装(镜像中的python版本为2.7,3.5,3.6,3.7)
......@@ -173,7 +177,7 @@ Python3.6、Python3.7:(由于版本相对较新,在不同Ubuntu版本上
<br/><br/>
## ***如何卸载***
请使用以下命令卸载PaddlePaddle(使用docker安装PaddlePaddle的用户请进入包含PaddlePaddle的容器中使用以下命令):
请使用以下命令卸载PaddlePaddle(使用docker安装PaddlePaddle的用户请进入包含PaddlePaddle的容器中使用以下命令,请使用相应版本的pip):
* ***CPU版本的PaddlePaddle***: `pip uninstall paddlepaddle``pip3 uninstall paddlepaddle`
......
......@@ -4,7 +4,11 @@
本说明将介绍如何在*64位台式机或笔记本电脑*以及Windows系统下安装PaddlePaddle,我们支持的Windows系统需满足以下要求。
请注意:在其他系统上的尝试可能会导致安装失败。
请注意:在其他系统上的尝试可能会导致安装失败。 请确保您的环境满足以上条件,我们默认提供的安装同时需要您的计算机处理器支持AVX指令集,否则请选择[多版本whl包安装列表](Tables.html/#ciwhls)`no_avx`的版本:
Windows系统下可使用`cpu-z`这类软件来检测您的处理器是否支持AVX指令集
当前版本不支持NCCL,分布式,AVX,warpctc和MKL相关功能。
......
......@@ -2,9 +2,7 @@
快速入门
########
.. todo::
概述
欢迎来到快速入门部分,在这里,我们将向您介绍如何通过PaddlePaddle Fluid实现经典的线性回归和手写识别的模型,以下两篇文档将指导您使用真实数据集搭建起模型、进行训练和预测:
.. toctree::
:titlesonly:
......
......@@ -2,8 +2,14 @@
模型评估/调试
###############
本部分包括两篇文档:
- `模型评估 <../user_guides/howto/evaluation_and_debugging/evaluation/metrics.html>`_:介绍常用模型评估指标的构造方法
- `Visual DL 工具 <../user_guides/howto/evaluation_and_debugging/debug/visualdl.html>`_:介绍如何利用 Visual DL 工具可视化训练过程
.. toctree::
:maxdepth: 1
:hidden:
evaluation/metrics.rst
debug/visualdl.md
.. _user_guide_use_py_reader:
.. _user_guides_use_py_reader:
############################
使用PyReader读取训练和测试数据
......
.. _cluster_howto
.. _cluster_howto:
Fluid分布式训练使用手册
分布式训练使用手册
====================
分布式训练基本思想
......@@ -174,7 +174,7 @@ parameter server上。如果需要使用其他,可以传入其他的方法,
.. code-block:: python
if role == "TRAINER":
if role == "TRAINER":
fluid.memory_optimize(fluid.default_main_program(), skip_grads=True)
t = fluid.DistributeTranspiler()
t.transpile(trainer_id, pservers=pserver_endpoints, trainers=trainers)
......
......@@ -2,7 +2,7 @@
训练神经网络
############
PaddlePaddle Fluid支持单机训练,和多节点训练。每种训练模式下,都支持多种训练方法。
PaddlePaddle Fluid支持单机训练和多节点训练。每种训练模式下,都支持多种训练方法,本部分包含以下内容:
.. toctree::
:maxdepth: 1
......
.. _train_on_baidu_cloud_cn
.. _train_on_baidu_cloud_cn:
在百度云启动Fluid分布式训练
在百度云启动Fluid分布式训练
=========================
PaddlePaddle Fluid分布式训练,可以不依赖集群系统(比如MPI,Kubernetes)启动分布式训练。
......@@ -113,7 +113,7 @@ PaddlePaddle Fluid分布式训练,可以不依赖集群系统(比如MPI,Ku
exe.run(fluid.default_startup_program())
for pass_id in range(PASS_NUM):
for batch_id, data in enumerate(train_reader()):
acc_np, avg_loss_np = exe.run(fluid.default_main_program(),
......@@ -155,7 +155,7 @@ PaddlePaddle Fluid分布式训练,可以不依赖集群系统(比如MPI,Ku
假设我们创建了2台GPU服务器,ip分别是 :code:`172.16.0.5,172.16.0.6` ,然后在第一台服务器上,
先创建训练程序文件 :code:`dist_train_demo.py` ,从
`这里 <https://raw.githubusercontent.com/PaddlePaddle/FluidDoc/develop/doc/fluid/user_guides/howto/training/src/dist_train_demo.py>`_
`这里 <https://raw.githubusercontent.com/PaddlePaddle/FluidDoc/develop/doc/fluid/user_guides/howto/training/src/dist_train_demo.py>`_
下载代码。然后编写 :code:`fabfile.py` 脚本,用于控制在不同服务器上启动训练任务的parameter server和trainer:
.. code-block:: python
......@@ -225,4 +225,4 @@ PaddlePaddle Fluid分布式训练,可以不依赖集群系统(比如MPI,Ku
任务执行完成后,不要忘记释放掉GPU集群资源,勾选选择需要释放的服务器,选择“释放”,则会关闭机器并释放资源。
如果需要执行新的任务,可以直接使用之前保存的镜像,启动新的集群,并参照前面的步骤开始训练。
.. image:: src/release.png
\ No newline at end of file
.. image:: src/release.png
......@@ -6,7 +6,7 @@
如果您已经掌握了新手入门阶段的内容,期望可以针对实际问题建模、搭建自己网络,本模块提供了一些 Fluid 的使用细节供您参考:
- `基本概念 <../user_guides/howto/basic_concept/index_cn.rst>`_ :介绍了Fluid的基本使用概念
- `基本概念 <../user_guides/howto/basic_concept/index_cn.html>`_ :介绍了Fluid的基本使用概念
- `准备数据 <../user_guides/howto/prepare_data/index.html>`_ :介绍使用 Fluid 训练网络时,数据的支持类型及传输方法
......@@ -16,9 +16,6 @@
- `模型评估与调试 <../user_guides/howto/evaluation_and_debugging/index.html>`_:介绍在 Fluid 下进行模型评估和调试的方法,包括:
- `模型评估 <../user_guides/howto/evaluation_and_debugging/evaluation/metrics.html>`_:介绍常用模型评估指标的构造方法
- `Visual DL 工具 <../user_guides/howto/evaluation_and_debugging/debug/visualdl.html>`_:介绍如何利用 Visual DL 工具可视化训练过程
基于 Fluid 复现的多领域经典模型:
- `Fluid 模型库 <../user_guides/models/index_cn.html>`_
......
Subproject commit 08f927dee74372977fc770082fecadba2e864fd7
Subproject commit 81b66db96c1b9c16535bf86e6167da911891e9fb
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册