1 系统环境
硬件环境(Ascend/GPU/CPU): Ascend/GPU/CPU
MindSpore版本: mindspore=2.0.0
执行模式(PyNative/ Graph):不限
Python版本: Python=3.9.13
操作系统平台: 不限
2 报错信息
2.1 问题描述
程序在计算梯度的时候出现报错,根据提示可能是ops.Bucketize算子的问题。
2.2 脚本代码(代码格式,可上传附件)
3 根因分析

4 解决方案
******此处由用户填写******
包含文字方案和最终脚本代码
请将正确的脚本打包并上传附件
1 系统环境
硬件环境(Ascend/GPU/CPU): Ascend/GPU/CPU
MindSpore版本: mindspore=2.0.0
执行模式(PyNative/ Graph):不限
Python版本: Python=3.9.13
操作系统平台: 不限
2 报错信息
2.1 问题描述
程序在计算梯度的时候出现报错,根据提示可能是ops.Bucketize算子的问题。
2.2 脚本代码(代码格式,可上传附件)
self._optimizer = nn.Adam(self._model.trainable_params(),learning_rate=self._exp_conf.learning_rate) self.grad_fn = mindspore.value_and_grad(self.loss_fn, None, self._optimizer.parameters) def update_fn(self, data): """Updates the state using some data and returns metrics.""" #loss, aux_data = self.loss_fn(data) (loss, aux_data), grads = self.grad_fn(data) loss = ops.depend(loss, optimizer(grads)) return loss, aux_data def torch_score( self, vec: mindspore.Tensor, t: mindspore.Tensor, eps: mindspore.float32=1e-6 ): omega = ops.norm(vec, dim=-1) score_norms_t = self._score_norms[self.t_to_idx(du.move_to_np(t))] score_norms_t = mindspore.Tensor(score_norms_t,mindspore.float32) omega_idx = ops.Bucketize(list(self.discrete_omega[:-1]))(omega) omega_score_t = ops.gather_elements( score_norms_t, 1, omega_idx) return omega_score_t[..., None] * vec / (omega[..., None] + eps)3 根因分析
4 解决方案
******此处由用户填写******
包含文字方案和最终脚本代码
请将正确的脚本打包并上传附件