提交 4e8f59c1 编写于 作者: D dingjiaweiww

Merge branch 'develop' of https://github.com/PaddlePaddle/FluidDoc into faq

update install faq test=develop

要显示的变更太多。

To preserve performance only 1000 of 1000+ files are displayed.
...@@ -81,11 +81,9 @@ def convert_markdown_into_html(argv=None): ...@@ -81,11 +81,9 @@ def convert_markdown_into_html(argv=None):
for filename in args.filenames: for filename in args.filenames:
with open( with open(
re.sub(r"README", "index", re.sub(r"\.md$", ".html", re.sub(r"README", "index", re.sub(r"\.md$", ".html",
filename)), filename)), "w") as output:
"w",
encoding="utf-8") as output:
output.write(HEAD) output.write(HEAD)
with open(filename, encoding="utf-8") as input: with open(filename) as input:
for line in input: for line in input:
output.write(line) output.write(line)
output.write(TAIL) output.write(TAIL)
......
...@@ -9,7 +9,24 @@ ...@@ -9,7 +9,24 @@
- 通过所有单元测试。 - 通过所有单元测试。
- 请遵守[提交代码的一些约定](#提交代码的一些约定) - 请遵守[提交代码的一些约定](#提交代码的一些约定)
以下教程将指导您提交代码。
## 使用官方开发镜像(推荐)
```
# 第一次启动(CPU开发)
docker run -it --cpu-shares=20000 --name=username --net=host --privileged --rm -v $(pwd):/Paddle hub.baidubce.com/paddlepaddle/paddle:latest-dev /bin/bash
# 第一次启动(GPU开发)
nvidia-docker run -it --cpu-shares=20000 --name=username --net=host --privileged --rm -v $(pwd):/Paddle hub.baidubce.com/paddlepaddle/paddle:latest-dev /bin/bash
# 后面几次启动
docker exec -it username bash
```
不同开发者启动docker的命令不一样,以上只是推荐命令。如果使用自己习惯的命令,一定要加参数--privileged(GPU的CUPTI库调用需要)
**推荐使用官方开发镜像 hub.baidubce.com/paddlepaddle/paddle:latest-dev 提交代码。**
**以下教程将指导您提交代码。**
## [Fork](https://help.github.com/articles/fork-a-repo/) ## [Fork](https://help.github.com/articles/fork-a-repo/)
跳转到[PaddlePaddle](https://github.com/PaddlePaddle/Paddle) GitHub首页,然后单击 `Fork` 按钮,生成自己目录下的仓库,比如 <https://github.com/USERNAME/Paddle> 跳转到[PaddlePaddle](https://github.com/PaddlePaddle/Paddle) GitHub首页,然后单击 `Fork` 按钮,生成自己目录下的仓库,比如 <https://github.com/USERNAME/Paddle>
...@@ -42,7 +59,7 @@ Paddle 目前使用[Git流分支模型](http://nvie.com/posts/a-successful-git-b ...@@ -42,7 +59,7 @@ Paddle 目前使用[Git流分支模型](http://nvie.com/posts/a-successful-git-b
Paddle 开发人员使用 [pre-commit](http://pre-commit.com/) 工具来管理 Git 预提交钩子。 它可以帮助我们格式化源代码(C++,Python),在提交(commit)前自动检查一些基本事宜(如每个文件只有一个 EOL,Git 中不要添加大文件等)。 Paddle 开发人员使用 [pre-commit](http://pre-commit.com/) 工具来管理 Git 预提交钩子。 它可以帮助我们格式化源代码(C++,Python),在提交(commit)前自动检查一些基本事宜(如每个文件只有一个 EOL,Git 中不要添加大文件等)。
`pre-commit`测试是 Travis-CI 中单元测试的一部分,不满足钩子的 PR 不能被提交到 Paddle,首先安装并在当前目录运行它: `pre-commit`测试是 CI 中单元测试的一部分,不满足钩子的 PR 不能被提交到 Paddle,首先安装并在当前目录运行它:
```bash ```bash
➜ pip install pre-commit ➜ pip install pre-commit
...@@ -51,7 +68,7 @@ Paddle 开发人员使用 [pre-commit](http://pre-commit.com/) 工具来管理 G ...@@ -51,7 +68,7 @@ Paddle 开发人员使用 [pre-commit](http://pre-commit.com/) 工具来管理 G
Paddle 使用 `clang-format` 来调整 C/C++ 源代码格式,请确保 `clang-format` 版本在 3.8 以上。 Paddle 使用 `clang-format` 来调整 C/C++ 源代码格式,请确保 `clang-format` 版本在 3.8 以上。
注:通过`pip install pre-commit``conda install -c conda-forge pre-commit`安装的`yapf`稍有不同的,Paddle 开发人员使用的是`pip install pre-commit` 注:通过`pip install pre-commit``conda install -c conda-forge pre-commit`安装的`yapf`稍有不同的,Paddle 开发人员使用的是`pip install pre-commit`,使用Paddle docker镜像会自带`pre-commit`不需要单独安装
## 开始开发 ## 开始开发
...@@ -76,9 +93,43 @@ Untracked files: ...@@ -76,9 +93,43 @@ Untracked files:
no changes added to commit (use "git add" and/or "git commit -a") no changes added to commit (use "git add" and/or "git commit -a")
``` ```
## 编译和单元测试 ## 编译
创建并进入/Paddle/build路径下:
mkdir -p /Paddle/build && cd /Paddle/build
执行cmake:
* 对于需要编译**CPU版本PaddlePaddle**的用户:
For Python2: cmake .. -DWITH_GPU=OFF -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release
For Python3: cmake .. -DPY_VERSION=3.5 -DWITH_GPU=OFF -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release
* 对于需要编译**GPU版本PaddlePaddle**的用户:
For Python2: cmake .. -DWITH_GPU=ON -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release
For Python3: cmake .. -DPY_VERSION=3.5 -DWITH_GPU=ON -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release
执行编译:
make -j$(nproc)
如:make -j16,使用16核编译
安装编译好的whl包:首先进入/Paddle/build/python/dist目录下找到生成的.whl包后,然后当前机器或目标机器安装编译好的.whl包:
For Python2: pip install -U(whl包的名字)
For Python3: pip3.5 install -U(whl包的名字)
关于编译 PaddlePaddle 的源码,请参见[从源码编译](../../../install/compile/fromsource.html) 选择对应的操作系统。 关于编译 PaddlePaddle 的源码,请参见[从源码编译](../../../install/compile/fromsource.html) 选择对应的操作系统。
## 单元测试
单测运行(重复运行多次,避免随机失败)如重复运行100次的命令如下:
ctest --repeat-until-fail 100 -R test_xx
关于单元测试,可参考[Op单元测试](../new_op/new_op.html#id7) 的运行方法。 关于单元测试,可参考[Op单元测试](../new_op/new_op.html#id7) 的运行方法。
## 提交(commit) ## 提交(commit)
......
...@@ -9,7 +9,22 @@ You will learn how to develop programs in local environment under the guidelines ...@@ -9,7 +9,22 @@ You will learn how to develop programs in local environment under the guidelines
- Pass through all unit tests. - Pass through all unit tests.
- Please follow [regulations of submitting codes](#regulations of submitting codes). - Please follow [regulations of submitting codes](#regulations of submitting codes).
The following guidiance tells you how to submit code. ## Use official development images(recommended)
```
# First start(CPU development)
docker run -it --cpu-shares=20000 --name=username --net=host --privileged --rm -v $(pwd):/Paddle hub.baidubce.com/paddlepaddle/paddle:latest-dev /bin/bash
# First start(GPU development)
nvidia-docker run -it --cpu-shares=20000 --name=username --net=host --privileged --rm -v $(pwd):/Paddle hub.baidubce.com/paddlepaddle/paddle:latest-dev /bin/bash
# Next start
docker exec -it username bash
```
Different developers have different commands to start docker. The above are only recommended commands. If you use the command you are used to, you must add the parameter --privileged (needed by the GPU CUPTI library call)
**It is recommended to use the official development mirror hub.baidubce.com/paddlepaddle/paddle:latest-dev to submit the code.**
**The following guidiance tells you how to submit code.**
## [Fork](https://help.github.com/articles/fork-a-repo/) ## [Fork](https://help.github.com/articles/fork-a-repo/)
Transfer to the home page of Github [PaddlePaddle](https://github.com/PaddlePaddle/Paddle) ,and then click button `Fork` to generate the git under your own file directory,such as <https://github.com/USERNAME/Paddle> Transfer to the home page of Github [PaddlePaddle](https://github.com/PaddlePaddle/Paddle) ,and then click button `Fork` to generate the git under your own file directory,such as <https://github.com/USERNAME/Paddle>
...@@ -44,7 +59,7 @@ It is worth noting that before the checkout, you need to keep the current branch ...@@ -44,7 +59,7 @@ It is worth noting that before the checkout, you need to keep the current branch
Paddle developers use the [pre-commit](http://pre-commit.com/) tool to manage Git pre-commit hooks. It helps us format the source code (C++, Python) and automatically check some basic things before committing (such as having only one EOL per file, not adding large files in Git, etc.). Paddle developers use the [pre-commit](http://pre-commit.com/) tool to manage Git pre-commit hooks. It helps us format the source code (C++, Python) and automatically check some basic things before committing (such as having only one EOL per file, not adding large files in Git, etc.).
The `pre-commit` test is part of the unit test in Travis-CI. A PR that does not satisfy the hook cannot be submitted to Paddle. Install `pre-commit` first and then run it in current directory: The `pre-commit` test is part of the unit test in CI. A PR that does not satisfy the hook cannot be submitted to Paddle. Install `pre-commit` first and then run it in current directory:
```bash ```bash
...@@ -54,7 +69,7 @@ The `pre-commit` test is part of the unit test in Travis-CI. A PR that does not ...@@ -54,7 +69,7 @@ The `pre-commit` test is part of the unit test in Travis-CI. A PR that does not
Paddle modify the format of C/C++ source code with `clang-format` .Make sure the version of `clang-format` is above 3.8. Paddle modify the format of C/C++ source code with `clang-format` .Make sure the version of `clang-format` is above 3.8.
Note:There are differences between the installation of `yapf` with `pip install pre-commit` and that with `conda install -c conda-forge pre-commit` . Paddle developers use `pip install pre-commit` Note:There are differences between the installation of `yapf` with `pip install pre-commit` and that with `conda install -c conda-forge pre-commit` . Paddle developers use `pip install pre-commit`, Using Paddle docker image will `pre-commit`without separate installation .
## Start development ## Start development
...@@ -76,7 +91,45 @@ Untracked files: ...@@ -76,7 +91,45 @@ Untracked files:
no changes added to commit (use "git add" and/or "git commit -a") no changes added to commit (use "git add" and/or "git commit -a")
``` ```
## Build and test ## Build
Create and enter the /Paddle/build path
mkdir -p /Paddle/build && cd /Paddle/build
Execute cmake:
* For users who need to compile the **CPU version PaddlePaddle**:
For Python2: cmake .. -DWITH_GPU=OFF -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release
For Python3: cmake .. -DPY_VERSION=3.5 -DWITH_GPU=OFF -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release
* For users who need to compile the **GPU version PaddlePaddle**:
For Python2: cmake .. -DWITH_GPU=ON -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release
For Python3: cmake .. -DPY_VERSION=3.5 -DWITH_GPU=ON -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release
Execute compilation:
make -j$(nproc)
Such as: make -j16, using 16 core compilation
After compiling successfully, go to the `/paddle/build/python/dist` directory and find the generated `.whl` package.Install the compiled .whl package on the current machine or target machine:
For Python2: pip install -U(whl package name)
For Python3: pip3.5 install -U(whl package name)
Please refer to [Compile From Source Code](../../../install/compile/fromsource_en.html) about more information of building PaddlePaddle source codes.
## Test
Run Test (Run 100 times)
ctest --repeat-until-fail 100 -R test_xx
Please refer to [Compile From Source Code](../../../install/compile/fromsource_en.html) about more information of building PaddlePaddle source codes. Please refer to [Compile From Source Code](../../../install/compile/fromsource_en.html) about more information of building PaddlePaddle source codes.
Please refer to [Op Unit Tests](../new_op/new_op_en.html#unit-tests) about more information of running unit tests. Please refer to [Op Unit Tests](../new_op/new_op_en.html#unit-tests) about more information of running unit tests.
......
...@@ -7,15 +7,15 @@ ...@@ -7,15 +7,15 @@
------------- -------------
.. csv-table:: .. csv-table::
:header: "版本说明", "预测库(1.8.3版本)", "预测库(develop版本)" :header: "版本说明", "预测库(1.8.4版本)", "预测库(develop版本)"
:widths: 3, 2, 2 :widths: 3, 2, 2
"ubuntu14.04_cpu_avx_mkl", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/1.8.3-cpu-avx-mkl/fluid_inference.tgz>`_", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/latest-cpu-avx-mkl/fluid_inference.tgz>`_" "ubuntu14.04_cpu_avx_mkl", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/1.8.4-cpu-avx-mkl/fluid_inference.tgz>`_", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/latest-cpu-avx-mkl/fluid_inference.tgz>`_"
"ubuntu14.04_cpu_avx_openblas", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/1.8.3-cpu-avx-openblas/fluid_inference.tgz>`_", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/latest-cpu-avx-openblas/fluid_inference.tgz>`_" "ubuntu14.04_cpu_avx_openblas", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/1.8.4-cpu-avx-openblas/fluid_inference.tgz>`_", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/latest-cpu-avx-openblas/fluid_inference.tgz>`_"
"ubuntu14.04_cpu_noavx_openblas", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/1.8.3-cpu-noavx-openblas/fluid_inference.tgz>`_", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/latest-cpu-noavx-openblas/fluid_inference.tgz>`_" "ubuntu14.04_cpu_noavx_openblas", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/1.8.4-cpu-noavx-openblas/fluid_inference.tgz>`_", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/latest-cpu-noavx-openblas/fluid_inference.tgz>`_"
"ubuntu14.04_cuda9.0_cudnn7_avx_mkl", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/1.8.3-gpu-cuda9-cudnn7-avx-mkl/fluid_inference.tgz>`_", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/latest-gpu-cuda9-cudnn7-avx-mkl/fluid_inference.tgz>`_" "ubuntu14.04_cuda9.0_cudnn7_avx_mkl", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/1.8.4-gpu-cuda9-cudnn7-avx-mkl/fluid_inference.tgz>`_", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/latest-gpu-cuda9-cudnn7-avx-mkl/fluid_inference.tgz>`_"
"ubuntu14.04_cuda10.0_cudnn7_avx_mkl", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/1.8.3-gpu-cuda10-cudnn7-avx-mkl/fluid_inference.tgz>`_", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/latest-gpu-cuda10-cudnn7-avx-mkl/fluid_inference.tgz>`_" "ubuntu14.04_cuda10.0_cudnn7_avx_mkl", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/1.8.4-gpu-cuda10-cudnn7-avx-mkl/fluid_inference.tgz>`_", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/latest-gpu-cuda10-cudnn7-avx-mkl/fluid_inference.tgz>`_"
"ubuntu14.04_cuda10.1_cudnn7.6_avx_mkl_trt6", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/1.8.3-gpu-cuda10.1-cudnn7.6-avx-mkl-trt6%2Ffluid_inference.tgz>`_", "ubuntu14.04_cuda10.1_cudnn7.6_avx_mkl_trt6", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/1.8.4-gpu-cuda10.1-cudnn7.6-avx-mkl-trt6%2Ffluid_inference.tgz>`_",
"nv-jetson-cuda10-cudnn7.5-trt5", "`fluid_inference.tar.gz <https://paddle-inference-lib.bj.bcebos.com/1.7.1-nv-jetson-cuda10-cudnn7.5-trt5/fluid_inference.tar.gz>`_", "nv-jetson-cuda10-cudnn7.5-trt5", "`fluid_inference.tar.gz <https://paddle-inference-lib.bj.bcebos.com/1.7.1-nv-jetson-cuda10-cudnn7.5-trt5/fluid_inference.tar.gz>`_",
...@@ -46,7 +46,7 @@ WITH_NV_JETSON OFF 在NV Jetson硬件上编译时需 ...@@ -46,7 +46,7 @@ WITH_NV_JETSON OFF 在NV Jetson硬件上编译时需
git clone https://github.com/paddlepaddle/Paddle git clone https://github.com/paddlepaddle/Paddle
cd Paddle cd Paddle
# 建议使用git checkout切换到Paddle稳定的版本,如: # 建议使用git checkout切换到Paddle稳定的版本,如:
git checkout v1.7.2 git checkout v1.8.4
**note**: 如果您是多卡机器,建议安装NCCL;如果您是单卡机器则可以在编译时显示指定WITH_NCCL=OFF来跳过这一步。注意如果WITH_NCCL=ON,且没有安装NCCL,则编译会报错。 **note**: 如果您是多卡机器,建议安装NCCL;如果您是单卡机器则可以在编译时显示指定WITH_NCCL=OFF来跳过这一步。注意如果WITH_NCCL=ON,且没有安装NCCL,则编译会报错。
......
...@@ -7,15 +7,15 @@ Direct Download and Installation ...@@ -7,15 +7,15 @@ Direct Download and Installation
--------------------------------- ---------------------------------
.. csv-table:: c++ inference library list .. csv-table:: c++ inference library list
:header: "version description", "inference library(1.8.3 version)", "inference library(develop version)" :header: "version description", "inference library(1.8.4 version)", "inference library(develop version)"
:widths: 3, 2, 2 :widths: 3, 2, 2
"ubuntu14.04_cpu_avx_mkl", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/1.8.3-cpu-avx-mkl/fluid_inference.tgz>`_", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/latest-cpu-avx-mkl/fluid_inference.tgz>`_" "ubuntu14.04_cpu_avx_mkl", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/1.8.4-cpu-avx-mkl/fluid_inference.tgz>`_", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/latest-cpu-avx-mkl/fluid_inference.tgz>`_"
"ubuntu14.04_cpu_avx_openblas", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/1.8.3-cpu-avx-openblas/fluid_inference.tgz>`_", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/latest-cpu-avx-openblas/fluid_inference.tgz>`_" "ubuntu14.04_cpu_avx_openblas", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/1.8.4-cpu-avx-openblas/fluid_inference.tgz>`_", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/latest-cpu-avx-openblas/fluid_inference.tgz>`_"
"ubuntu14.04_cpu_noavx_openblas", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/1.8.3-cpu-noavx-openblas/fluid_inference.tgz>`_", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/latest-cpu-noavx-openblas/fluid_inference.tgz>`_" "ubuntu14.04_cpu_noavx_openblas", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/1.8.4-cpu-noavx-openblas/fluid_inference.tgz>`_", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/latest-cpu-noavx-openblas/fluid_inference.tgz>`_"
"ubuntu14.04_cuda9.0_cudnn7_avx_mkl", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/1.8.3-gpu-cuda9-cudnn7-avx-mkl/fluid_inference.tgz>`_", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/latest-gpu-cuda9-cudnn7-avx-mkl/fluid_inference.tgz>`_" "ubuntu14.04_cuda9.0_cudnn7_avx_mkl", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/1.8.4-gpu-cuda9-cudnn7-avx-mkl/fluid_inference.tgz>`_", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/latest-gpu-cuda9-cudnn7-avx-mkl/fluid_inference.tgz>`_"
"ubuntu14.04_cuda10.0_cudnn7_avx_mkl", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/1.8.3-gpu-cuda10-cudnn7-avx-mkl/fluid_inference.tgz>`_", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/latest-gpu-cuda10-cudnn7-avx-mkl/fluid_inference.tgz>`_" "ubuntu14.04_cuda10.0_cudnn7_avx_mkl", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/1.8.4-gpu-cuda10-cudnn7-avx-mkl/fluid_inference.tgz>`_", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/latest-gpu-cuda10-cudnn7-avx-mkl/fluid_inference.tgz>`_"
"ubuntu14.04_cuda10.1_cudnn7.6_avx_mkl_trt6", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/1.8.3-gpu-cuda10.1-cudnn7.6-avx-mkl-trt6%2Ffluid_inference.tgz>`_", "ubuntu14.04_cuda10.1_cudnn7.6_avx_mkl_trt6", "`fluid_inference.tgz <https://paddle-inference-lib.bj.bcebos.com/1.8.4-gpu-cuda10.1-cudnn7.6-avx-mkl-trt6%2Ffluid_inference.tgz>`_",
"nv-jetson-cuda10-cudnn7.5-trt5", "`fluid_inference.tar.gz <https://paddle-inference-lib.bj.bcebos.com/1.7.1-nv-jetson-cuda10-cudnn7.5-trt5/fluid_inference.tar.gz>`_", "nv-jetson-cuda10-cudnn7.5-trt5", "`fluid_inference.tar.gz <https://paddle-inference-lib.bj.bcebos.com/1.7.1-nv-jetson-cuda10-cudnn7.5-trt5/fluid_inference.tar.gz>`_",
Build from Source Code Build from Source Code
...@@ -46,8 +46,8 @@ Firstly we pull the latest code from github. ...@@ -46,8 +46,8 @@ Firstly we pull the latest code from github.
git clone https://github.com/paddlepaddle/Paddle git clone https://github.com/paddlepaddle/Paddle
cd Paddle cd Paddle
# Use git checkout to switch to stable versions such as v1.7.2 # Use git checkout to switch to stable versions such as v1.8.4
git checkout v1.7.2 git checkout v1.8.4
**note**: If your environment is a multi-card machine, it is recommended to install nccl; otherwise, you can skip this step by specifying WITH_NCCL = OFF during compilation. Note that if WITH_NCCL = ON, and NCCL is not installed, the compiler will report an error. **note**: If your environment is a multi-card machine, it is recommended to install nccl; otherwise, you can skip this step by specifying WITH_NCCL = OFF during compilation. Note that if WITH_NCCL = ON, and NCCL is not installed, the compiler will report an error.
......
...@@ -5,13 +5,13 @@ ...@@ -5,13 +5,13 @@
下载安装包与对应的测试环境 下载安装包与对应的测试环境
------------- -------------
| 版本说明 | 预测库(1.8.3版本) | 编译器 | 构建工具 | cuDNN | CUDA | | 版本说明 | 预测库(1.8.4版本) | 编译器 | 构建工具 | cuDNN | CUDA |
|:---------|:-------------------|:-------------------|:----------------|:--------|:-------| |:---------|:-------------------|:-------------------|:----------------|:--------|:-------|
| cpu_avx_mkl | [fluid_inference.zip](https://paddle-wheel.bj.bcebos.com/1.8.3/win-infer/mkl/cpu/fluid_inference_install_dir.zip) | MSVC 2015 update 3| CMake v3.16.0 | | cpu_avx_mkl | [fluid_inference.zip](https://paddle-wheel.bj.bcebos.com/1.8.4/win-infer/mkl/cpu/fluid_inference_install_dir.zip) | MSVC 2015 update 3| CMake v3.16.0 |
| cpu_avx_openblas | [fluid_inference.zip](https://paddle-wheel.bj.bcebos.com/1.8.3/win-infer/open/cpu/fluid_inference_install_dir.zip) | MSVC 2015 update 3| CMake v3.16.0 | | cpu_avx_openblas | [fluid_inference.zip](https://paddle-wheel.bj.bcebos.com/1.8.4/win-infer/open/cpu/fluid_inference_install_dir.zip) | MSVC 2015 update 3| CMake v3.16.0 |
| cuda9.0_cudnn7_avx_mkl | [fluid_inference.zip](https://paddle-wheel.bj.bcebos.com/1.8.3/win-infer/mkl/post97/fluid_inference_install_dir.zip) | MSVC 2015 update 3 | CMake v3.16.0 | 7.3.1 | 9.0 | | cuda9.0_cudnn7_avx_mkl | [fluid_inference.zip](https://paddle-wheel.bj.bcebos.com/1.8.4/win-infer/mkl/post97/fluid_inference_install_dir.zip) | MSVC 2015 update 3 | CMake v3.16.0 | 7.3.1 | 9.0 |
| cuda9.0_cudnn7_avx_openblas | [fluid_inference.zip](https://paddle-wheel.bj.bcebos.com/1.8.3/win-infer/open/post97/fluid_inference_install_dir.zip) | MSVC 2015 update 3 | CMake v3.16.0 | 7.3.1 | 9.0 | | cuda9.0_cudnn7_avx_openblas | [fluid_inference.zip](https://paddle-wheel.bj.bcebos.com/1.8.4/win-infer/open/post97/fluid_inference_install_dir.zip) | MSVC 2015 update 3 | CMake v3.16.0 | 7.3.1 | 9.0 |
| cuda10.0_cudnn7_avx_mkl | [fluid_inference.zip](https://paddle-wheel.bj.bcebos.com/1.8.3/win-infer/mkl/post107/fluid_inference_install_dir.zip) | MSVC 2015 update 3 | CMake v3.16.0 | 7.4.1 | 10.0 | | cuda10.0_cudnn7_avx_mkl | [fluid_inference.zip](https://paddle-wheel.bj.bcebos.com/1.8.4/win-infer/mkl/post107/fluid_inference_install_dir.zip) | MSVC 2015 update 3 | CMake v3.16.0 | 7.4.1 | 10.0 |
### 硬件环境 ### 硬件环境
......
...@@ -5,13 +5,13 @@ Install and Compile C++ Inference Library on Windows ...@@ -5,13 +5,13 @@ Install and Compile C++ Inference Library on Windows
Direct Download and Install Direct Download and Install
------------- -------------
| Version | Inference Libraries(v1.8.3) | Compiler | Build tools | cuDNN | CUDA | | Version | Inference Libraries(v1.8.4) | Compiler | Build tools | cuDNN | CUDA |
|:---------|:-------------------|:-------------------|:----------------|:--------|:-------| |:---------|:-------------------|:-------------------|:----------------|:--------|:-------|
| cpu_avx_mkl | [fluid_inference.zip](https://paddle-wheel.bj.bcebos.com/1.8.3/win-infer/mkl/cpu/fluid_inference_install_dir.zip) | MSVC 2015 update 3| CMake v3.16.0 | | cpu_avx_mkl | [fluid_inference.zip](https://paddle-wheel.bj.bcebos.com/1.8.4/win-infer/mkl/cpu/fluid_inference_install_dir.zip) | MSVC 2015 update 3| CMake v3.16.0 |
| cpu_avx_openblas | [fluid_inference.zip](https://paddle-wheel.bj.bcebos.com/1.8.3/win-infer/open/cpu/fluid_inference_install_dir.zip) | MSVC 2015 update 3| CMake v3.16.0 | | cpu_avx_openblas | [fluid_inference.zip](https://paddle-wheel.bj.bcebos.com/1.8.4/win-infer/open/cpu/fluid_inference_install_dir.zip) | MSVC 2015 update 3| CMake v3.16.0 |
| cuda9.0_cudnn7_avx_mkl | [fluid_inference.zip](https://paddle-wheel.bj.bcebos.com/1.8.3/win-infer/mkl/post97/fluid_inference_install_dir.zip) | MSVC 2015 update 3 | CMake v3.16.0 | 7.3.1 | 9.0 | | cuda9.0_cudnn7_avx_mkl | [fluid_inference.zip](https://paddle-wheel.bj.bcebos.com/1.8.4/win-infer/mkl/post97/fluid_inference_install_dir.zip) | MSVC 2015 update 3 | CMake v3.16.0 | 7.3.1 | 9.0 |
| cuda9.0_cudnn7_avx_openblas | [fluid_inference.zip](https://paddle-wheel.bj.bcebos.com/1.8.3/win-infer/open/post97/fluid_inference_install_dir.zip) | MSVC 2015 update 3 | CMake v3.16.0 | 7.3.1 | 9.0 | | cuda9.0_cudnn7_avx_openblas | [fluid_inference.zip](https://paddle-wheel.bj.bcebos.com/1.8.4/win-infer/open/post97/fluid_inference_install_dir.zip) | MSVC 2015 update 3 | CMake v3.16.0 | 7.3.1 | 9.0 |
| cuda10.0_cudnn7_avx_mkl | [fluid_inference.zip](https://paddle-wheel.bj.bcebos.com/1.8.3/win-infer/mkl/post107/fluid_inference_install_dir.zip) | MSVC 2015 update 3 | CMake v3.16.0 | 7.4.1 | 10.0 | | cuda10.0_cudnn7_avx_mkl | [fluid_inference.zip](https://paddle-wheel.bj.bcebos.com/1.8.4/win-infer/mkl/post107/fluid_inference_install_dir.zip) | MSVC 2015 update 3 | CMake v3.16.0 | 7.4.1 | 10.0 |
### Hardware Environment ### Hardware Environment
......
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}` .. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY! !DO NOT EDIT THIS FILE MANUALLY!
.. _api_fluid_dygraph_grad: .. _api_paddle_grad:
grad grad
---- ----
.. autofunction:: paddle.fluid.dygraph.grad .. autofunction:: paddle.grad
:noindex: :noindex:
...@@ -30,7 +30,7 @@ python gen_module_index.py framework paddle.framework ...@@ -30,7 +30,7 @@ python gen_module_index.py framework paddle.framework
# nn # nn
for module in loss for module in loss activation
do do
python gen_doc.py --module_name ${module} --module_prefix ${module} --output ${module} --output_name nn --to_multiple_files True --output_dir nn python gen_doc.py --module_name ${module} --module_prefix ${module} --output ${module} --output_name nn --to_multiple_files True --output_dir nn
python gen_module_index.py nn.${module} ${module} python gen_module_index.py nn.${module} ${module}
......
...@@ -32,3 +32,4 @@ API Reference ...@@ -32,3 +32,4 @@ API Reference
regularizer.rst regularizer.rst
transpiler.rst transpiler.rst
unique_name.rst unique_name.rst
review_tmp.rst
...@@ -5,6 +5,7 @@ paddle.nn ...@@ -5,6 +5,7 @@ paddle.nn
.. toctree:: .. toctree::
:maxdepth: 1 :maxdepth: 1
nn/activation.rst
nn/adaptive_pool2d.rst nn/adaptive_pool2d.rst
nn/adaptive_pool3d.rst nn/adaptive_pool3d.rst
nn/add_position_encoding.rst nn/add_position_encoding.rst
...@@ -28,12 +29,17 @@ paddle.nn ...@@ -28,12 +29,17 @@ paddle.nn
nn/clip_by_norm.rst nn/clip_by_norm.rst
nn/collect_fpn_proposals.rst nn/collect_fpn_proposals.rst
nn/cond.rst nn/cond.rst
nn/ConstantPad1d.rst
nn/ConstantPad2d.rst
nn/ConstantPad3d.rst
nn/continuous_value_model.rst nn/continuous_value_model.rst
nn/conv2d.rst nn/conv2d.rst
nn/conv2d_transpose.rst nn/conv2d_transpose.rst
nn/conv3d.rst nn/conv3d.rst
nn/conv3d_transpose.rst nn/conv3d_transpose.rst
nn/cosine_decay.rst nn/cosine_decay.rst
nn/cosine_similarity.rst
nn/CosineSimilarity.rst
nn/cross_entropy.rst nn/cross_entropy.rst
nn/data.rst nn/data.rst
nn/deformable_roi_pooling.rst nn/deformable_roi_pooling.rst
...@@ -60,7 +66,8 @@ paddle.nn ...@@ -60,7 +66,8 @@ paddle.nn
nn/GradientClipByValue.rst nn/GradientClipByValue.rst
nn/grid_sampler.rst nn/grid_sampler.rst
nn/GroupNorm.rst nn/GroupNorm.rst
nn/hard_shrink.rst nn/hardshrink.rst
nn/hardtanh.rst
nn/hard_sigmoid.rst nn/hard_sigmoid.rst
nn/hard_swish.rst nn/hard_swish.rst
nn/hash.rst nn/hash.rst
...@@ -81,6 +88,7 @@ paddle.nn ...@@ -81,6 +88,7 @@ paddle.nn
nn/Linear.rst nn/Linear.rst
nn/linear_lr_warmup.rst nn/linear_lr_warmup.rst
nn/log_loss.rst nn/log_loss.rst
nn/log_softmax.rst
nn/logsigmoid.rst nn/logsigmoid.rst
nn/loss.rst nn/loss.rst
nn/lrn.rst nn/lrn.rst
...@@ -103,13 +111,20 @@ paddle.nn ...@@ -103,13 +111,20 @@ paddle.nn
nn/polynomial_decay.rst nn/polynomial_decay.rst
nn/Pool2D.rst nn/Pool2D.rst
nn/pool3d.rst nn/pool3d.rst
nn/prelu.rst
nn/prior_box.rst nn/prior_box.rst
nn/prroi_pool.rst nn/prroi_pool.rst
nn/psroi_pool.rst nn/psroi_pool.rst
nn/random_crop.rst nn/random_crop.rst
nn/rank_loss.rst nn/rank_loss.rst
nn/ReflectionPad1d.rst
nn/ReflectionPad2d.rst
nn/ReLU.rst nn/ReLU.rst
nn/relu.rst
nn/relu6.rst nn/relu6.rst
nn/ReplicationPad1d.rst
nn/ReplicationPad2d.rst
nn/ReplicationPad3d.rst
nn/resize_bilinear.rst nn/resize_bilinear.rst
nn/resize_nearest.rst nn/resize_nearest.rst
nn/resize_trilinear.rst nn/resize_trilinear.rst
...@@ -140,7 +155,7 @@ paddle.nn ...@@ -140,7 +155,7 @@ paddle.nn
nn/ssd_loss.rst nn/ssd_loss.rst
nn/swish.rst nn/swish.rst
nn/switch_case.rst nn/switch_case.rst
nn/tanh_shrink.rst nn/tanhshrink.rst
nn/target_assign.rst nn/target_assign.rst
nn/teacher_student_sigmoid_loss.rst nn/teacher_student_sigmoid_loss.rst
nn/temporal_shift.rst nn/temporal_shift.rst
...@@ -150,3 +165,11 @@ paddle.nn ...@@ -150,3 +165,11 @@ paddle.nn
nn/while_loop.rst nn/while_loop.rst
nn/yolo_box.rst nn/yolo_box.rst
nn/yolov3_loss.rst nn/yolov3_loss.rst
nn/functional/loss/margin_ranking_loss.rst
nn/functional/activation/sigmoid.rst
nn/layer/loss/MarginRankingLoss.rst
nn/ZeroPad2d.rst
nn/AdaptiveAvgPool2d.rst
nn/AdaptiveAvgPool3d.rst
nn/layer/activation/Sigmoid.rst
nn/Bilinear.rst
\ No newline at end of file
.. _api_nn_pooling_AdaptiveAvgPool2d:
AdaptiveAvgPool2d
-----------------
.. autoclass:: paddle.nn.AdaptiveAvgPool2d
:members:
:inherited-members:
:noindex:
.. _api_nn_pooling_AdaptiveAvgPool3d:
AdaptiveAvgPool3d
-----------------
.. autoclass:: paddle.nn.AdaptiveAvgPool3d
:members:
:inherited-members:
:noindex:
.. _api_nn_Bilinear:
Bilinear
-------------------------------
.. autofunction:: paddle.nn.Bilinear
:noindex:
.. _api_nn_hard_shrink: .. _api_nn_ConstantPad1d:
hard_shrink ConstantPad1d
------------------------------- -------------------------------
:doc_source: paddle.fluid.layers.hard_shrink :doc_source: paddle.nn.ConstantPad1d
.. _api_nn_tanh_shrink: .. _api_nn_ConstantPad2d:
tanh_shrink ConstantPad2d
------------------------------- -------------------------------
:doc_source: paddle.fluid.layers.tanh_shrink :doc_source: paddle.nn.ConstantPad2d
.. _api_nn_ConstantPad3d:
ConstantPad3d
-------------------------------
:doc_source: paddle.nn.ConstantPad3d
.. _api_nn_CosineSimilarity:
CosineSimilarity
-------------------------------
:doc_source: paddle.nn.CosineSimilarity
.. _api_nn_ReflectionPad1d:
ReflectionPad1d
-------------------------------
:doc_source: paddle.nn.ReflectionPad1d
.. _api_nn_ReflectionPad2d:
ReflectionPad2d
-------------------------------
:doc_source: paddle.nn.ReflectionPad2d
.. _api_nn_ReplicationPad1d:
ReplicationPad1d
-------------------------------
:doc_source: paddle.nn.ReplicationPad1d
.. _api_nn_ReplicationPad2d:
ReplicationPad2d
-------------------------------
:doc_source: paddle.nn.ReplicationPad2d
.. _api_nn_ReplicationPad3d:
ReplicationPad3d
-------------------------------
:doc_source: paddle.nn.ReplicationPad3d
.. _cn_api_paddle_cn_clamp: .. _api_nn_ZeroPad2d:
clamp ZeroPad2d
------------------------------- -------------------------------
:doc_source: paddle.tensor.clamp :doc_source: paddle.nn.ZeroPad2d
==========
activation
==========
.. toctree::
:maxdepth: 1
activation/ELU.rst
activation/GELU.rst
activation/Hardshrink.rst
activation/Tanh.rst
activation/Hardtanh.rst
activation/LogSigmoid.rst
activation/PReLU.rst
activation/ReLU.rst
activation/ReLU6.rst
activation/SELU.rst
activation/Softmax.rst
activation/Softplus.rst
activation/Softshrink.rst
activation/Softsign.rst
activation/Tanhshrink.rst
.. _api_nn_activation_ELU:
ELU
-------------------------------
.. autoclass:: paddle.nn.ELU
:noindex:
\ No newline at end of file
.. _api_nn_activation_GELU:
GELU
-------------------------------
.. autoclass:: paddle.nn.GELU
:noindex:
\ No newline at end of file
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_nn_activation_Hardshrink:
Hardshrink
---------
.. autoclass:: paddle.nn.activation.Hardshrink
:members:
:inherited-members:
:noindex:
.. _api_nn_activation_Hardtanh:
Hardtanh
-------------------------------
.. autoclass:: paddle.nn.Hardtanh
:noindex:
\ No newline at end of file
.. _api_nn_activation_LogSigmoid:
LogSigmoid
-------------------------------
.. autoclass:: paddle.nn.LogSigmoid
:noindex:
\ No newline at end of file
.. _api_nn_activation_PReLU:
PReLU
-------------------------------
.. autoclass:: paddle.nn.PReLU
:noindex:
\ No newline at end of file
.. _api_nn_activation_ReLU:
ReLU
-------------------------------
.. autoclass:: paddle.nn.ReLU
:noindex:
\ No newline at end of file
.. _api_nn_activation_ReLU6:
ReLU6
---------
.. autoclass:: paddle.nn.ReLU6
:noindex:
.. _api_nn_activation_SELU:
SELU
---------
.. autoclass:: paddle.nn.SELU
:noindex:
.. _api_nn_activation_Softmax:
Softmax
-------------------------------
.. autoclass:: paddle.nn.Softmax
:noindex:
\ No newline at end of file
.. _api_nn_activation_Softplus:
Softplus
---------
.. autoclass:: paddle.nn.Softplus
:noindex:
.. _api_nn_activation_Softshrink:
Softshrink
----------
.. autoclass:: paddle.nn.Softshrink
:noindex:
.. _api_nn_activation_Softsign:
Softsign
---------
.. autoclass:: paddle.nn.Softsign
:noindex:
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_nn_activation_Tanh:
Tanh
---------
.. autoclass:: paddle.nn.layer.activation.Tanh
:members:
:inherited-members:
:noindex:
.. _api_nn_activation_Tanhshrink:
Tanhshrink
----------
.. autoclass:: paddle.nn.Tanhshrink
:noindex:
.. _api_nn_cosine_similarity:
cosine_similarity
-------------------------------
:doc_source: paddle.nn.functional.cosine_similarity
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
elu elu
------------------------------- -------------------------------
:doc_source: paddle.fluid.layers.elu
.. autofunction:: paddle.nn.functional.elu
:noindex:
...@@ -7,3 +7,8 @@ functional ...@@ -7,3 +7,8 @@ functional
functional/l1_loss.rst functional/l1_loss.rst
functional/nll_loss.rst functional/nll_loss.rst
functional/mse_loss.rst
functional/ctc_loss.rst
functional/adaptive_avg_pool2d.rst
functional/adaptive_avg_pool3d.rst
functional/bilinear.rst
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_nn_functional_activation_sigmoid:
sigmoid
-------
.. autofunction:: paddle.nn.functional.activation.sigmoid
:noindex:
.. _api_nn_functional_adaptive_avg_pool2d:
adaptive_avg_pool2d
--------------------
.. autofunction:: paddle.nn.functional.adaptive_avg_pool2d
:noindex:
.. _api_nn_functional_adaptive_avg_pool3d:
adaptive_avg_pool3d
--------------------
.. autofunction:: paddle.nn.functional.adaptive_avg_pool3d
:noindex:
.. _api_nn_functional_bilinear:
bilinear
--------------------
.. autofunction:: paddle.nn.functional.bilinear
:noindex:
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_nn_functional_binary_cross_entropy:
binary_cross_entropy
--------------------
.. autofunction:: paddle.nn.functional.binary_cross_entropy
:noindex:
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_nn_functional_ctc_loss:
ctc_loss
--------
.. autofunction:: paddle.nn.functional.loss.ctc_loss
:noindex:
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_nn_functional_loss_margin_ranking_loss:
margin_ranking_loss
-------------------
.. autofunction:: paddle.nn.functional.loss.margin_ranking_loss
:noindex:
.. _api_nn_functional_mse_loss:
mse_loss
------
.. autoclass:: paddle.nn.functional.mse_loss
:members:
:inherited-members:
:noindex:
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
gelu gelu
------------------------------- -------------------------------
:doc_source: paddle.fluid.layers.gelu
.. autofunction:: paddle.nn.functional.gelu
:noindex:
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_nn_hardshrink:
hardshrink
----------
.. autofunction:: paddle.nn.functional.hardshrink
:noindex:
.. _api_nn_hardtanh:
hardtanh
-------------------------------
.. autofunction:: paddle.nn.functional.hardtanh
:noindex:
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_nn_layer_activation_Sigmoid:
Sigmoid
-------
.. autoclass:: paddle.nn.layer.activation.Sigmoid
:members:
:inherited-members:
:noindex:
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_nn_layer_loss_MarginRankingLoss:
MarginRankingLoss
-----------------
.. autoclass:: paddle.nn.layer.loss.MarginRankingLoss
:members:
:inherited-members:
:noindex:
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_nn_leaky_relu: .. _api_nn_leaky_relu:
leaky_relu leaky_relu
------------------------------- ----------
:doc_source: paddle.fluid.layers.leaky_relu
.. autofunction:: paddle.nn.functional.leaky_relu
:noindex:
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_nn_log_softmax:
log_softmax
-----------
.. autofunction:: paddle.nn.functional.log_softmax
:noindex:
\ No newline at end of file
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
logsigmoid logsigmoid
------------------------------- -------------------------------
:doc_source: paddle.fluid.layers.logsigmoid
.. autofunction:: paddle.nn.functional.logsigmoid
:noindex:
...@@ -10,3 +10,5 @@ loss ...@@ -10,3 +10,5 @@ loss
loss/L1Loss.rst loss/L1Loss.rst
loss/MSELoss.rst loss/MSELoss.rst
loss/NLLLoss.rst loss/NLLLoss.rst
loss/SmoothL1Loss.rst
loss/CTCLoss.rst
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_nn_loss_BCELoss:
BCELoss
-------------------------------
.. autoclass:: paddle.nn.loss.BCELoss
:members:
:inherited-members:
:noindex:
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_nn_loss_CTCLoss:
CTCLoss
-------
.. autoclass:: paddle.nn.loss.CTCLoss
:members:
:inherited-members:
:noindex:
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_nn_loss_SmoothL1Loss:
SmoothL1Loss
-------------------------------
.. autoclass:: paddle.nn.loss.SmoothL1Loss
:members:
:inherited-members:
:noindex:
.. _api_nn_margin_rank_loss:
margin_rank_loss
-------------------------------
:doc_source: paddle.fluid.layers.margin_rank_loss
...@@ -2,6 +2,6 @@ ...@@ -2,6 +2,6 @@
pad pad
------------------------------- -------------------------------
:doc_source: paddle.fluid.layers.pad :doc_source: paddle.nn.functional.pad
.. _api_nn_prelu:
prelu
-------------------------------
.. autofunction:: paddle.nn.functional.prelu
:noindex:
\ No newline at end of file
.. _api_nn_ReLU:
ReLU
-------------------------------
:doc_source: paddle.fluid.layers.relu
.. _api_nn_relu6: .. _api_nn_relu6:
relu6 relu6
------------------------------- ----------
:doc_source: paddle.fluid.layers.relu6
.. autofunction:: paddle.nn.functional.relu6
:noindex:
.. _api_nn_selu: .. _api_nn_selu:
selu selu
------------------------------- ----------
:doc_source: paddle.fluid.layers.selu
.. autofunction:: paddle.nn.functional.selu
:noindex:
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_nn_softmax: .. _api_nn_softmax:
softmax softmax
------- -------------------------------
.. autofunction:: paddle.nn.functional.softmax .. autofunction:: paddle.nn.functional.softmax
:noindex: :noindex:
......
.. _api_nn_softplus: .. _api_nn_softplus:
softplus softplus
------------------------------- ----------
:doc_source: paddle.fluid.layers.softplus
.. autofunction:: paddle.nn.functional.softplus
:noindex:
.. _api_nn_softshrink: .. _api_nn_softshrink:
softshrink softshrink
------------------------------- ----------
:doc_source: paddle.fluid.layers.softshrink
.. autofunction:: paddle.nn.functional.softshrink
:noindex:
.. _api_nn_softsign: .. _api_nn_softsign:
softsign softsign
------------------------------- ----------
:doc_source: paddle.fluid.layers.softsign
.. autofunction:: paddle.nn.functional.softsign
:noindex:
.. _api_nn_tanhshrink:
tanhshrink
-----------
.. autofunction:: paddle.nn.functional.tanhshrink
:noindex:
...@@ -23,6 +23,7 @@ paddle ...@@ -23,6 +23,7 @@ paddle
paddle/cast.rst paddle/cast.rst
paddle/ceil.rst paddle/ceil.rst
paddle/cholesky.rst paddle/cholesky.rst
paddle/chunk.rst
paddle/clamp.rst paddle/clamp.rst
paddle/CompiledProgram.rst paddle/CompiledProgram.rst
paddle/concat.rst paddle/concat.rst
...@@ -41,6 +42,7 @@ paddle ...@@ -41,6 +42,7 @@ paddle
paddle/diag.rst paddle/diag.rst
paddle/disable_imperative.rst paddle/disable_imperative.rst
paddle/dist.rst paddle/dist.rst
paddle/distribution.rst
paddle/div.rst paddle/div.rst
paddle/dot.rst paddle/dot.rst
paddle/elementwise_add.rst paddle/elementwise_add.rst
...@@ -95,6 +97,7 @@ paddle ...@@ -95,6 +97,7 @@ paddle
paddle/logical_xor.rst paddle/logical_xor.rst
paddle/logsumexp.rst paddle/logsumexp.rst
paddle/manual_seed.rst paddle/manual_seed.rst
paddle/masked_select.rst
paddle/matmul.rst paddle/matmul.rst
paddle/max.rst paddle/max.rst
paddle/maximum.rst paddle/maximum.rst
...@@ -111,6 +114,7 @@ paddle ...@@ -111,6 +114,7 @@ paddle
paddle/not_equal.rst paddle/not_equal.rst
paddle/ones.rst paddle/ones.rst
paddle/ones_like.rst paddle/ones_like.rst
paddle/numel.rst
paddle/ParallelExecutor.rst paddle/ParallelExecutor.rst
paddle/ParamAttr.rst paddle/ParamAttr.rst
paddle/pow.rst paddle/pow.rst
......
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_paddle_argmax: .. _api_paddle_argmax:
argmax argmax
------------------------------- ------
:doc_source: paddle.fluid.layers.argmax
.. autofunction:: paddle.tensor.search.argmax
:noindex:
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_paddle_argmin: .. _api_paddle_argmin:
argmin argmin
------------------------------- ------
:doc_source: paddle.fluid.layers.argmin
.. autofunction:: paddle.tensor.search.argmin
:noindex:
============
distribution
============
.. toctree::
:maxdepth: 1
distribution/Distribution.rst
distribution/Normal.rst
distribution/Uniform.rst
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_distribution_Distribution:
Distribution
------------
.. autoclass:: paddle.distribution.Distribution
:members:
:inherited-members:
:noindex:
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_distribution_Normal:
Normal
------
.. autoclass:: paddle.distribution.Normal
:members:
:inherited-members:
:noindex:
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_distribution_Uniform:
Uniform
-------
.. autoclass:: paddle.distribution.Uniform
:members:
:inherited-members:
:noindex:
=================
paddle.review_tmp
=================
.. toctree::
:maxdepth: 1
review_tmp/MarginRankingLoss.rst
review_tmp/margin_ranking_loss.rst
.. _api_nn_loss_MarginRankingLoss_tmp:
MarginRankingLoss
-----------------
.. autoclass:: paddle.nn.loss.MarginRankingLoss
:members:
:inherited-members:
:noindex:
.. _api_nn_functional_margin_ranking_loss_tmp:
margin_ranking_loss
-------------------
.. autofunction:: paddle.nn.functional.margin_ranking_loss
:noindex:
...@@ -16,6 +16,7 @@ paddle.tensor ...@@ -16,6 +16,7 @@ paddle.tensor
tensor/atan.rst tensor/atan.rst
tensor/cast.rst tensor/cast.rst
tensor/ceil.rst tensor/ceil.rst
tensor/chunk.rst
tensor/concat.rst tensor/concat.rst
tensor/cos.rst tensor/cos.rst
tensor/create_tensor.rst tensor/create_tensor.rst
...@@ -41,6 +42,7 @@ paddle.tensor ...@@ -41,6 +42,7 @@ paddle.tensor
tensor/flatten.rst tensor/flatten.rst
tensor/floor.rst tensor/floor.rst
tensor/full.rst tensor/full.rst
tensor/full_like.rst
tensor/gather.rst tensor/gather.rst
tensor/gather_nd.rst tensor/gather_nd.rst
tensor/greater_equal.rst tensor/greater_equal.rst
...@@ -49,9 +51,13 @@ paddle.tensor ...@@ -49,9 +51,13 @@ paddle.tensor
tensor/has_nan.rst tensor/has_nan.rst
tensor/increment.rst tensor/increment.rst
tensor/is_empty.rst tensor/is_empty.rst
tensor/index_select.rst
tensor/isfinite.rst tensor/isfinite.rst
tensor/isinf.rst
tensor/isnan.rst
tensor/less_equal.rst tensor/less_equal.rst
tensor/less_than.rst tensor/less_than.rst
tensor/logic.rst
tensor/linalg.rst tensor/linalg.rst
tensor/linspace.rst tensor/linspace.rst
tensor/load.rst tensor/load.rst
...@@ -61,6 +67,7 @@ paddle.tensor ...@@ -61,6 +67,7 @@ paddle.tensor
tensor/logical_or.rst tensor/logical_or.rst
tensor/logical_xor.rst tensor/logical_xor.rst
tensor/math.rst tensor/math.rst
tensor/masked_select.rst
tensor/max.rst tensor/max.rst
tensor/maximum.rst tensor/maximum.rst
tensor/mean.rst tensor/mean.rst
...@@ -73,6 +80,7 @@ paddle.tensor ...@@ -73,6 +80,7 @@ paddle.tensor
tensor/not_equal.rst tensor/not_equal.rst
tensor/ones.rst tensor/ones.rst
tensor/ones_like.rst tensor/ones_like.rst
tensor/numel.rst
tensor/pow.rst tensor/pow.rst
tensor/random.rst tensor/random.rst
tensor/rank.rst tensor/rank.rst
...@@ -107,6 +115,7 @@ paddle.tensor ...@@ -107,6 +115,7 @@ paddle.tensor
tensor/squeeze.rst tensor/squeeze.rst
tensor/stack.rst tensor/stack.rst
tensor/stanh.rst tensor/stanh.rst
tensor/std.rst
tensor/stat.rst tensor/stat.rst
tensor/strided_slice.rst tensor/strided_slice.rst
tensor/sum.rst tensor/sum.rst
...@@ -118,6 +127,7 @@ paddle.tensor ...@@ -118,6 +127,7 @@ paddle.tensor
tensor/unique_with_counts.rst tensor/unique_with_counts.rst
tensor/unsqueeze.rst tensor/unsqueeze.rst
tensor/unstack.rst tensor/unstack.rst
tensor/var.rst
tensor/where.rst tensor/where.rst
tensor/zeros.rst tensor/zeros.rst
tensor/zeros_like.rst tensor/zeros_like.rst
.. _api_tensor_cn_argmax: .. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_tensor_argmax:
argmax argmax
------------------------------- ------
:doc_source: paddle.fluid.layers.argmax
.. autofunction:: paddle.tensor.search.argmax
:noindex:
.. _api_tensor_cn_argmin: .. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_tensor_argmin:
argmin argmin
------------------------------- ------
:doc_source: paddle.fluid.layers.argmin
.. autofunction:: paddle.tensor.search.argmin
:noindex:
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_tensor_manipulation_chunk:
chunk
-------
.. autofunction:: paddle.tensor.manipulation.chunk
:noindex:
.. _api_tensor_cn_concat: .. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_tensor_manipulation_concat:
concat concat
------------------------------- --------
:doc_source: paddle.fluid.layers.concat
.. autofunction:: paddle.tensor.manipulation.concat
:noindex:
.. _api_tensor_cn_eye: .. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_tensor_creation_eye:
eye eye
------------------------------- --------
:doc_source: paddle.fluid.layers.eye
.. autofunction:: paddle.tensor.creation.eye
:noindex:
.. _api_tensor_cn_full: .. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
full .. _api_tensor_creation_full:
-------------------------------
:doc_source: paddle.fluid.layers.fill_constant
full
--------
.. autofunction:: paddle.tensor.creation.full
:noindex:
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_tensor_creation_full_like:
full_like
------------
.. autofunction:: paddle.tensor.creation.full_like
:noindex:
.. _api_tensor_cn_gather: .. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_tensor_manipulation_gather:
gather gather
------------------------------- --------
:doc_source: paddle.fluid.layers.gather
.. autofunction:: paddle.tensor.manipulation.gather
:noindex:
.. _api_tensor_cn_gather_nd: .. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_tensor_manipulation_gather_nd:
gather_nd gather_nd
------------------------------- ----------
:doc_source: paddle.fluid.layers.gather_nd
.. autofunction:: paddle.tensor.manipulation.gather_nd
:noindex:
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_tensor_search_index_select:
index_select
-------------
.. autofunction:: paddle.tensor.search.index_select
:noindex:
.. _api_tensor_cn_isfinite: .. _api_tensor_isfinite:
isfinite isfinite
------------------------------- -------------------------------
:doc_source: paddle.fluid.layers.isfinite
.. autofunction:: paddle.tensor.math.isfinite
:noindex:
.. _api_tensor_isinf:
isinf
-------------------------------
.. autofunction:: paddle.tensor.math.isinf
:noindex:
.. _api_tensor_isnan:
isnan
-------------------------------
.. autofunction:: paddle.tensor.math.isnan
:noindex:
.. _api_tensor_cn_linspace: .. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_tensor_creation_linspace:
linspace linspace
------------------------------- --------
:doc_source: paddle.fluid.layers.linspace
.. autofunction:: paddle.tensor.creation.linspace
:noindex:
======
logic
======
.. toctree::
:maxdepth: 1
logic/allclose.rst
\ No newline at end of file
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册