Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/design/motivation/fluid.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ We have more examples of the [`if-then-else`](https://github.com/PaddlePaddle/do

## Turing Completeness

In computability theory, a system of data-manipulation rules, such as a programming language, is said to be Turing complete if it can be used to simulate any Turing machine. For a programming language, if it provides if-then-else and loop, it is Turing complete. From the above examples, Fluid seems to be Turing complete; however, it is noteworthy to notice that there is a slight difference between the `if-then-else` of Fluid and that of a programming language. The difference being that the former runs both of its branches and splits the input mini-batch into two -- one for the True condition and another for the False condition. This hasn't been researched in depth if this is equivalent to the `if-then-else` in programming languages that makes them Turing-complete. Based on a conversation with [Yuang Yu](https://research.google.com/pubs/104812.html), it seems to be the case but this needs to be looked into in-depth.
In computability theory, a system of data-manipulation rules, such as a programming language, is said to be Turing complete if it can be used to simulate any Turing machine. For a programming language, if it provides if-then-else and loop, it is Turing complete. From the above examples, Fluid seems to be Turing complete; however, it is noteworthy to notice that there is a slight difference between the `if-then-else` of Fluid and that of a programming language. The difference being that the former runs both of its branches and splits the input mini-batch into two -- one for the True condition and another for the False condition. This hasn't been researched in depth if this is equivalent to the `if-then-else` in programming languages that makes them Turing-complete. Based on a conversation with Yuang Yu, it seems to be the case but this needs to be looked into in-depth.

## The Execution of a Fluid Program

Expand All @@ -135,6 +135,6 @@ Fluid is moving towards the direction of a compiler, which is explain in [fluid_

## Backward Compatibility of Fluid

Given all the advantages from the removal of the concept of a *model*, hardware manufacturers might still prefer the existence of the concept of a model, so it would be easier for them to support multiple frameworks all at once and could run a trained model during inference. For example, Nervana, a startup company acquired by Intel, has been working on an XPU that reads the models in the format known as [n-graph](https://github.com/NervanaSystems/ngraph). Similarly, [Movidius](https://www.movidius.com/) is producing a mobile deep learning chip that reads and runs graphs of operators. The well-known [ONNX](https://github.com/onnx/onnx) is also a file format of graphs of operators. <!-- typos: disable-line -->
Given all the advantages from the removal of the concept of a *model*, hardware manufacturers might still prefer the existence of the concept of a model, so it would be easier for them to support multiple frameworks all at once and could run a trained model during inference. For example, Nervana, a startup company acquired by Intel, has been working on an XPU that reads the models in the format known as [n-graph](https://github.com/NervanaSystems/ngraph). Similarly, [Movidius](https://www.intel.com/content/www/us/en/developer/topic-technology/edge-5g/hardware/vision-accelerator-movidius-vpu.html) is producing a mobile deep learning chip that reads and runs graphs of operators. The well-known [ONNX](https://github.com/onnx/onnx) is also a file format of graphs of operators. <!-- typos: disable-line -->

For Fluid, we can write a converter that extracts the parts in the `ProgramDesc` protobuf message, converts them into a graph of operators, and exports the graph into the ONNX or n-graph format.
2 changes: 1 addition & 1 deletion docs/faq/index_cn.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

本栏目以问答对的形式收录了用户开发过程中遇到的高频咨询类问题,包含了 2.0 版本的变化、安装、数据与数据处理、模型组网、训练、预测、模型保存与加载、参数调整、分布式等几类常见问题。

除此之外,你也可以查看 `官网 API 文档 <https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/index_cn.html>`_ 、 `历史 Issues <https://github.com/PaddlePaddle/Paddle/issues>`_ 、 `飞桨论坛 <https://aistudio.baidu.com/paddle/forum>`_ 来寻求解答。
除此之外,你也可以查看 `官网 API 文档 <https://www.paddlepaddle.org.cn/documentation/docs/zh/api/index_cn.html>`_ 、 `历史 Issues <https://github.com/PaddlePaddle/Paddle/issues>`_ 、 `飞桨论坛 <https://aistudio.baidu.com/paddle/forum>`_ 来寻求解答。

同时,你也可以在 `Github Issues <https://github.com/PaddlePaddle/Paddle/issues>`_ 中进行提问,飞桨会有专门的技术人员解答。

Expand Down
Loading