From 29bb2ce68924de2313c96c8ad2c5143e29e40681 Mon Sep 17 00:00:00 2001 From: Yuichiro Ueno Date: Wed, 6 Nov 2019 16:19:12 +0900 Subject: [PATCH] Fix fp32 Update on ChainerX --- chainer/optimizer.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/chainer/optimizer.py b/chainer/optimizer.py index bdd839768af7..b3e6a0e4606a 100644 --- a/chainer/optimizer.py +++ b/chainer/optimizer.py @@ -295,7 +295,10 @@ def __update(self, param): # Convert back to the original dtype if fp32_converted: if is_initialized: - param.array = fp32_param.array.astype(param.dtype) + if isinstance(param.array, chainerx.ndarray): + param.array[:] = fp32_param.array.astype(param.dtype) + else: + param.array = fp32_param.array.astype(param.dtype) fp32_param.grad = None def _create_uninitialized_parameter(self, dtype, name):