Fix paddle.where (#9652)
This commit is contained in:
@@ -1593,13 +1593,16 @@ class LlamaModel(LlamaPretrainedModel):
|
||||
if get_env_device() in ["npu", "mlu", "intel_hpu"]:
|
||||
x = paddle.to_tensor(0.0, dtype="float32")
|
||||
y = paddle.to_tensor(paddle.finfo(dtype).min, dtype="float32")
|
||||
expanded_attn_mask = paddle.where(expanded_attn_mask, x, y).astype(dtype)
|
||||
elif get_env_device() in ["xpu", "gcu"]:
|
||||
min_val = paddle.finfo(dtype).min if get_env_device() == "gcu" else -1e37 # mask value for xpu
|
||||
expanded_attn_mask = paddle.where(expanded_attn_mask.cast("bool"), x, y).astype(dtype)
|
||||
elif get_env_device() == "xpu":
|
||||
x = paddle.to_tensor(0.0, dtype="float32")
|
||||
y = paddle.to_tensor(-1.7005809656952787e38, dtype="float32")
|
||||
expanded_attn_mask = paddle.where(expanded_attn_mask.cast("bool"), x, y)
|
||||
elif get_env_device() == "gcu":
|
||||
min_val = paddle.finfo(dtype).min
|
||||
x = paddle.to_tensor(0.0, dtype=dtype)
|
||||
y = paddle.to_tensor(min_val, dtype=dtype)
|
||||
expanded_attn_mask = expanded_attn_mask.astype(dtype)
|
||||
expanded_attn_mask = paddle.where(expanded_attn_mask, x, y).astype(dtype)
|
||||
expanded_attn_mask = paddle.where(expanded_attn_mask.cast("bool"), x, y).astype(dtype)
|
||||
else:
|
||||
expanded_attn_mask = paddle.where(expanded_attn_mask.cast("bool"), 0.0, paddle.finfo(dtype).min)
|
||||
expanded_attn_mask = expanded_attn_mask.astype(dtype)
|
||||
|
||||
Reference in New Issue
Block a user