未验证 提交 23bc4c26 编写于 作者: 张春乔 提交者: GitHub

[xdoctest] reformat example code with google style in No. 300 (#56598)

* Update communicator.py

* xdoc

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review
上级 5043708c
...@@ -50,66 +50,63 @@ class LookAhead(Optimizer): ...@@ -50,66 +50,63 @@ class LookAhead(Optimizer):
.. code-block:: python .. code-block:: python
import numpy as np >>> import numpy as np
import paddle >>> import paddle
import paddle.nn as nn >>> import paddle.nn as nn
BATCH_SIZE = 16 >>> BATCH_SIZE = 16
BATCH_NUM = 4 >>> BATCH_NUM = 4
EPOCH_NUM = 4 >>> EPOCH_NUM = 4
IMAGE_SIZE = 784 >>> IMAGE_SIZE = 784
CLASS_NUM = 10 >>> CLASS_NUM = 10
# define a random dataset >>> # define a random dataset
class RandomDataset(paddle.io.Dataset): >>> class RandomDataset(paddle.io.Dataset):
def __init__(self, num_samples): ... def __init__(self, num_samples):
self.num_samples = num_samples ... self.num_samples = num_samples
... def __getitem__(self, idx):
def __getitem__(self, idx): ... image = np.random.random([IMAGE_SIZE]).astype('float32')
image = np.random.random([IMAGE_SIZE]).astype('float32') ... label = np.random.randint(0, CLASS_NUM - 1,
label = np.random.randint(0, CLASS_NUM - 1, ... (1, )).astype('int64')
(1, )).astype('int64') ... return image, label
return image, label ... def __len__(self):
... return self.num_samples
def __len__(self):
return self.num_samples >>> class LinearNet(nn.Layer):
... def __init__(self):
class LinearNet(nn.Layer): ... super().__init__()
def __init__(self): ... self._linear = nn.Linear(IMAGE_SIZE, CLASS_NUM)
super().__init__() ... self.bias = self._linear.bias
self._linear = nn.Linear(IMAGE_SIZE, CLASS_NUM) ... @paddle.jit.to_static
self.bias = self._linear.bias ... def forward(self, x):
... return self._linear(x)
@paddle.jit.to_static
def forward(self, x): >>> def train(layer, loader, loss_fn, opt):
return self._linear(x) ... for epoch_id in range(EPOCH_NUM):
... for batch_id, (image, label) in enumerate(loader()):
def train(layer, loader, loss_fn, opt): ... out = layer(image)
for epoch_id in range(EPOCH_NUM): ... loss = loss_fn(out, label)
for batch_id, (image, label) in enumerate(loader()): ... loss.backward()
out = layer(image) ... opt.step()
loss = loss_fn(out, label) ... opt.clear_grad()
loss.backward() ... print("Train Epoch {} batch {}: loss = {}".format(
opt.step() ... epoch_id, batch_id, np.mean(loss.numpy())))
opt.clear_grad() >>> layer = LinearNet()
print("Train Epoch {} batch {}: loss = {}".format( >>> loss_fn = nn.CrossEntropyLoss()
epoch_id, batch_id, np.mean(loss.numpy()))) >>> optimizer = paddle.optimizer.SGD(learning_rate=0.1, parameters=layer.parameters())
>>> lookahead = paddle.incubate.LookAhead(optimizer, alpha=0.2, k=5)
layer = LinearNet()
loss_fn = nn.CrossEntropyLoss() >>> # create data loader
optimizer = paddle.optimizer.SGD(learning_rate=0.1, parameters=layer.parameters()) >>> dataset = RandomDataset(BATCH_NUM * BATCH_SIZE)
lookahead = paddle.incubate.LookAhead(optimizer, alpha=0.2, k=5) >>> loader = paddle.io.DataLoader(
... dataset,
# create data loader ... batch_size=BATCH_SIZE,
dataset = RandomDataset(BATCH_NUM * BATCH_SIZE) ... shuffle=True,
loader = paddle.io.DataLoader( ... drop_last=True,
dataset, ... num_workers=2)
batch_size=BATCH_SIZE,
shuffle=True, >>> # doctest: +SKIP('The run time is too long to pass the CI check.')
drop_last=True, >>> train(layer, loader, loss_fn, lookahead)
num_workers=2)
train(layer, loader, loss_fn, lookahead)
""" """
_slow_str = "slow" _slow_str = "slow"
...@@ -161,16 +158,16 @@ class LookAhead(Optimizer): ...@@ -161,16 +158,16 @@ class LookAhead(Optimizer):
.. code-block:: python .. code-block:: python
import paddle >>> import paddle
inp = paddle.rand([1,10], dtype="float32") >>> inp = paddle.rand([1,10], dtype="float32")
linear = paddle.nn.Linear(10, 1) >>> linear = paddle.nn.Linear(10, 1)
out = linear(inp) >>> out = linear(inp)
loss = paddle.mean(out) >>> loss = paddle.mean(out)
sgd = paddle.optimizer.SGD(learning_rate=0.1,parameters=linear.parameters()) >>> sgd = paddle.optimizer.SGD(learning_rate=0.1,parameters=linear.parameters())
lookahead = paddle.incubate.LookAhead(sgd, alpha=0.2, k=5) >>> lookahead = paddle.incubate.LookAhead(sgd, alpha=0.2, k=5)
loss.backward() >>> loss.backward()
lookahead.step() >>> lookahead.step()
lookahead.clear_grad() >>> lookahead.clear_grad()
""" """
self.inner_optimizer.step() self.inner_optimizer.step()
...@@ -274,17 +271,17 @@ class LookAhead(Optimizer): ...@@ -274,17 +271,17 @@ class LookAhead(Optimizer):
.. code-block:: python .. code-block:: python
import paddle >>> import paddle
inp = paddle.rand([1, 10], dtype="float32") >>> inp = paddle.rand([1, 10], dtype="float32")
linear = paddle.nn.Linear(10, 1) >>> linear = paddle.nn.Linear(10, 1)
out = linear(inp) >>> out = linear(inp)
loss = paddle.mean(out) >>> loss = paddle.mean(out)
sgd = paddle.optimizer.SGD(learning_rate=0.1,parameters=linear.parameters()) >>> sgd = paddle.optimizer.SGD(learning_rate=0.1,parameters=linear.parameters())
lookahead = paddle.incubate.LookAhead(sgd, alpha=0.2, k=5) >>> lookahead = paddle.incubate.LookAhead(sgd, alpha=0.2, k=5)
loss.backward() >>> loss.backward()
lookahead.minimize(loss) >>> lookahead.minimize(loss)
lookahead.clear_grad() >>> lookahead.clear_grad()
""" """
assert isinstance(loss, Variable), "The loss should be an Tensor." assert isinstance(loss, Variable), "The loss should be an Tensor."
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册