reyoung released this
Mar 13, 2018
· 14 commits to develop since this release
This release is a weekly alpha version of PaddlePaddle. It should be only used for internal tests. This is not a production-ready version.
The comparison results before optimization:
After optimizing the speed:
After optimizing the memory usage:
jacquesqiao released this
Dec 9, 2017
· 10 commits to develop since this release
Release v0.11.0 includes a new feature PaddlePaddle Fluid. Fluid is designed to allow users to program like PyTorch and TensorFlow Eager Execution. In these systems, there is no longer the concept model and applications do not include a symbolic description of a graph of operators nor a sequence of layers. Instead, applications look exactly like a usual program that describes a process of training or inference. The difference between Fluid and PyTorch or Eager Execution is that Fluid doesn't rely on Python's control-flow, if-then-else nor for. Instead, Fluid provides its C++ implementations and their Python binding using the with statement. For an example
In v0.11.0, we provides a C++ class Executor to run a Fluid program. Executor works like an interpreter. In future version, we will improve Executor into a debugger like GDB, and we might provide some compilers, which, for example, takes an application like the above one, and outputs an equivalent C++ source program, which can be compiled using nvcc to generate binaries that use CUDA, or using icc to generate binaries that make full use of Intel CPUs.
gangliao released this
May 10, 2017
Please pull the official images from docker hub.
We are glad to release version 0.10.0. In this version, we are happy to release the new Python API.
Our old Python API is kind of out of date. It's hard to learn and hard to use. To write a PaddlePaddle program using the old API, we'd have to write at least two Python files: one data provider and another one that defines the network topology. Users start a PaddlePaddle job by running the paddle_trainer C++ program, which calls Python interpreter to run the network topology configuration script and then start the training loop, which iteratively calls the data provider function to load minibatches. This prevents us from writing a Python program in a modern way, e.g., in the Jupyter Notebook.
The new API, which we often refer to as the v2 API, allows us to write much shorter Python programs to define the network and the data in a single .py file. Also, this program can run in Jupyter Notebook, since the entry point is in Python program and PaddlePaddle runs as a shared library loaded and invoked by this Python program.
Basing on the new API, we delivered an online interative book, Deep Learning 101 and its Chinese version.
We also worked on updating our online documentation to describe the new API. But this is an ongoing work. We will release more documentation improvements in the next version.
We also worked on bring the new API to distributed model training (via MPI and Kubernetes). This work is ongoing. We will release more about it in the next version.
trainer_count > batch_size