|
|
|
@ -33,6 +33,8 @@ from paddle.nn.layer.loss import CrossEntropyLoss
|
|
|
|
|
from paddle.metric import Accuracy
|
|
|
|
|
from paddle.vision.datasets import MNIST
|
|
|
|
|
from paddle.vision.models import LeNet
|
|
|
|
|
import paddle.vision.models as models
|
|
|
|
|
import paddle.fluid.dygraph.jit as jit
|
|
|
|
|
from paddle.io import DistributedBatchSampler, Dataset
|
|
|
|
|
from paddle.hapi.model import prepare_distributed_context
|
|
|
|
|
from paddle.fluid.dygraph.jit import declarative
|
|
|
|
@ -564,6 +566,24 @@ class TestModelFunction(unittest.TestCase):
|
|
|
|
|
nlp_net = paddle.nn.GRU(input_size=2, hidden_size=3, num_layers=3)
|
|
|
|
|
paddle.summary(nlp_net, (1, 1, 2))
|
|
|
|
|
|
|
|
|
|
def test_static_flops(self):
|
|
|
|
|
paddle.disable_static()
|
|
|
|
|
net = models.__dict__['mobilenet_v2'](pretrained=False)
|
|
|
|
|
inputs = paddle.randn([1, 3, 224, 224])
|
|
|
|
|
static_program = jit._trace(net, inputs=[inputs])[1]
|
|
|
|
|
paddle.flops(static_program, [1, 3, 224, 224], print_detail=True)
|
|
|
|
|
|
|
|
|
|
def test_dynamic_flops(self):
|
|
|
|
|
net = models.__dict__['mobilenet_v2'](pretrained=False)
|
|
|
|
|
|
|
|
|
|
def customize_dropout(m, x, y):
|
|
|
|
|
m.total_ops += 0
|
|
|
|
|
|
|
|
|
|
paddle.flops(
|
|
|
|
|
net, [1, 3, 224, 224],
|
|
|
|
|
custom_ops={paddle.nn.Dropout: customize_dropout},
|
|
|
|
|
print_detail=True)
|
|
|
|
|
|
|
|
|
|
def test_export_deploy_model(self):
|
|
|
|
|
self.set_seed()
|
|
|
|
|
np.random.seed(201)
|
|
|
|
|