diff --git a/python/paddle/hapi/model.py b/python/paddle/hapi/model.py index d41852c9d7f4f5..82ae908e2b10cc 100644 --- a/python/paddle/hapi/model.py +++ b/python/paddle/hapi/model.py @@ -822,7 +822,6 @@ class Model(object): nn.Tanh(), nn.Linear(200, 10)) - # inputs and labels are not required for dynamic graph. input = InputSpec([None, 784], 'float32', 'x') label = InputSpec([None, 1], 'int64', 'label') @@ -970,6 +969,7 @@ def test_batch(self, inputs): import numpy as np import paddle import paddle.nn as nn + from paddle.static import InputSpec device = paddle.set_device('cpu') # or 'gpu' paddle.disable_static(device) @@ -980,7 +980,9 @@ def test_batch(self, inputs): nn.Linear(200, 10), nn.Softmax()) - model = paddle.Model(net) + input = InputSpec([None, 784], 'float32', 'x') + label = InputSpec([None, 1], 'int64', 'label') + model = paddle.Model(net, input, label) model.prepare() data = np.random.random(size=(4,784)).astype(np.float32) out = model.test_batch([data]) @@ -1092,15 +1094,20 @@ def load(self, path, skip_mismatch=False, reset_optimizer=False): import paddle import paddle.nn as nn + from paddle.static import InputSpec device = paddle.set_device('cpu') paddle.disable_static(device) + input = InputSpec([None, 784], 'float32', 'x') + label = InputSpec([None, 1], 'int64', 'label') model = paddle.Model(nn.Sequential( nn.Linear(784, 200), nn.Tanh(), nn.Linear(200, 10), - nn.Softmax())) + nn.Softmax()), + input, + label) model.save('checkpoint/test') model.load('checkpoint/test') """ @@ -1165,13 +1172,18 @@ def parameters(self, *args, **kwargs): import paddle import paddle.nn as nn + from paddle.static import InputSpec paddle.disable_static() + input = InputSpec([None, 784], 'float32', 'x') + label = InputSpec([None, 1], 'int64', 'label') model = paddle.Model(nn.Sequential( nn.Linear(784, 200), nn.Tanh(), - nn.Linear(200, 10))) + nn.Linear(200, 10)), + input, + label) params = model.parameters() """ return self._adapter.parameters() @@ -1483,7 +1495,7 @@ def evaluate( # imperative mode paddle.disable_static() - model = paddle.Model(paddle.vision.models.LeNet()) + model = paddle.Model(paddle.vision.models.LeNet(), input, label) model.prepare(metrics=paddle.metric.Accuracy()) result = model.evaluate(val_dataset, batch_size=64) print(result) @@ -1591,7 +1603,7 @@ def __len__(self): # imperative mode device = paddle.set_device('cpu') paddle.disable_static(device) - model = paddle.Model(paddle.vision.models.LeNet()) + model = paddle.Model(paddle.vision.models.LeNet(), input) model.prepare() result = model.predict(test_dataset, batch_size=64) print(len(result[0]), result[0][0].shape)