未验证 提交 f616d9a7 编写于 作者: Y YuanRisheng 提交者: GitHub

Fix bugs in Translated Layer when change mode from train/eval to eval/train (#38141)

* fix bugs in Translated layer when change train/eval

* fix python converage
上级 50822491
......@@ -1286,9 +1286,11 @@ class TranslatedLayer(layers.Layer):
def train(self):
self._is_test = False
self.training = True
def eval(self):
self._is_test = True
self.training = False
def program(self, method_name='forward'):
"""
......
......@@ -48,6 +48,7 @@ class LinearNet(nn.Layer):
def __init__(self):
super(LinearNet, self).__init__()
self._linear = nn.Linear(IMAGE_SIZE, CLASS_NUM)
self._dropout = paddle.nn.Dropout(p=0.5)
@paddle.jit.to_static(input_spec=[
paddle.static.InputSpec(
......@@ -183,6 +184,20 @@ class TestTranslatedLayer(unittest.TestCase):
for spec_x, spec_y in zip(expect_spec, actual_spec):
self.assertEqual(spec_x, spec_y)
def test_layer_state(self):
# load
translated_layer = paddle.jit.load(self.model_path)
translated_layer.eval()
self.assertEqual(translated_layer.training, False)
for layer in translated_layer.sublayers():
print("123")
self.assertEqual(layer.training, False)
translated_layer.train()
self.assertEqual(translated_layer.training, True)
for layer in translated_layer.sublayers():
self.assertEqual(layer.training, True)
if __name__ == '__main__':
unittest.main()
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册