Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Design Doc: Complete Fluid #10103

Closed
wangkuiyi opened this issue Apr 20, 2018 · 3 comments
Closed

Design Doc: Complete Fluid #10103

wangkuiyi opened this issue Apr 20, 2018 · 3 comments

Comments

@wangkuiyi
Copy link
Collaborator

wangkuiyi commented Apr 20, 2018

Motivation

Currently, our Fluid implementation is incomplete and makes the AI application programming pretty nasty.

In order to complete the design of Fluid, we create this issue as a table of context of the design of Fluid.

Questions to Answer

  1. How to train on one node

    1. Read data: Fluid data pipeline interface #10102
      1. Training data augmentation: augmentation programs pipes the output to PaddlePaddle programs
      2. The data format: RecordIO is good for training/testing data, but not good for model parameters. https://github.com/wangkuiyi/recordio
      3. Map records into Fluid variables.
    2. Save model parameters
    3. How to write the program Paddle API v4 Proposal #9912
    4. How to fetch and feed data from the front end language
    5. Should we allow the ability to fetch intermediate variables during execution?
    6. How to run the program
    7. How to debug
    8. Do we want to allow running arbitrary Python code during training? E.g., some custom Python logic to control save model or not during training.
    9. How to fetch data during training steps In discussion: Paddle API v4 proposal #10152
    10. How to initialize a Fluid program? In discussion: How to initialize a Fluid program? #10177
  2. How to do distributed training

    1. How to do distributed reading
    2. How to save huge models
    3. How to write program
    4. How to run the program
  3. How to do inference

    1. Easy experiments
    2. Large-scale serving
    3. How to export to ONNX and pipe with TensorRT

Examples of an API proposal

@wangkuiyi wangkuiyi changed the title Complete Fluid Design Doc: Complete Fluid Apr 20, 2018
@JiayiFeng
Copy link
Collaborator

JiayiFeng commented Apr 21, 2018

Here is the current implementation of cpp reader:
https://github.com/PaddlePaddle/Paddle/blob/develop/doc/fluid/design/concepts/cpp_data_feeding.md

And here is a proposal for refining Python save/load interface, which is available for reference:
#8521

@helinwang
Copy link
Contributor

Thanks @JiayiFeng ! The new design will change some API to make Fluid more user friendly, but the underlying data format will still be RecordIO. If the current cpp reader is not compatible with the new API, we will re-use the current cpp reader implementation as much as possible.

@shanyi15
Copy link
Collaborator

您好,此issue在近一个月内暂无更新,我们将于今天内关闭。若在关闭后您仍需跟进提问,可重新开启此问题,我们将在24小时内回复您。因关闭带来的不便我们深表歉意,请您谅解~感谢您对PaddlePaddle的支持!
Hello, this issue has not been updated in the past month. We will close it today for the sake of other user‘s experience. If you still need to follow up on this question after closing, please feel free to reopen it. In that case, we will get back to you within 24 hours. We apologize for the inconvenience caused by the closure and thank you so much for your support of PaddlePaddle Group!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants