| @@ -198,15 +198,15 @@ class StackLSTMAscend(nn.Cell): | |||||
| # forward weight init | # forward weight init | ||||
| w_np_fw = np.random.uniform(-stdv, | w_np_fw = np.random.uniform(-stdv, | ||||
| stdv, | stdv, | ||||
| (input_size_list[i] + hidden_size, hidden_size * 4)).astype(np.float16) | |||||
| (input_size_list[i] + hidden_size, hidden_size * 4)).astype(np.float32) | |||||
| w_fw = Parameter(initializer(Tensor(w_np_fw), w_np_fw.shape), name="w_fw_layer" + str(i)) | w_fw = Parameter(initializer(Tensor(w_np_fw), w_np_fw.shape), name="w_fw_layer" + str(i)) | ||||
| weights_fw.append(w_fw) | weights_fw.append(w_fw) | ||||
| # forward bias init | # forward bias init | ||||
| if has_bias: | if has_bias: | ||||
| b_fw = np.random.uniform(-stdv, stdv, (hidden_size * 4)).astype(np.float16) | |||||
| b_fw = np.random.uniform(-stdv, stdv, (hidden_size * 4)).astype(np.float32) | |||||
| b_fw = Parameter(initializer(Tensor(b_fw), b_fw.shape), name="b_fw_layer" + str(i)) | b_fw = Parameter(initializer(Tensor(b_fw), b_fw.shape), name="b_fw_layer" + str(i)) | ||||
| else: | else: | ||||
| b_fw = np.zeros((hidden_size * 4)).astype(np.float16) | |||||
| b_fw = np.zeros((hidden_size * 4)).astype(np.float32) | |||||
| b_fw = Parameter(initializer(Tensor(b_fw), b_fw.shape), name="b_fw_layer" + str(i)) | b_fw = Parameter(initializer(Tensor(b_fw), b_fw.shape), name="b_fw_layer" + str(i)) | ||||
| bias_fw.append(b_fw) | bias_fw.append(b_fw) | ||||
| @@ -214,21 +214,21 @@ class StackLSTMAscend(nn.Cell): | |||||
| # backward weight init | # backward weight init | ||||
| w_np_bw = np.random.uniform(-stdv, | w_np_bw = np.random.uniform(-stdv, | ||||
| stdv, | stdv, | ||||
| (input_size_list[i] + hidden_size, hidden_size * 4)).astype(np.float16) | |||||
| (input_size_list[i] + hidden_size, hidden_size * 4)).astype(np.float32) | |||||
| w_bw = Parameter(initializer(Tensor(w_np_bw), w_np_bw.shape), name="w_bw_layer" + str(i)) | w_bw = Parameter(initializer(Tensor(w_np_bw), w_np_bw.shape), name="w_bw_layer" + str(i)) | ||||
| weights_bw.append(w_bw) | weights_bw.append(w_bw) | ||||
| # backward bias init | # backward bias init | ||||
| if has_bias: | if has_bias: | ||||
| b_bw = np.random.uniform(-stdv, stdv, (hidden_size * 4)).astype(np.float16) | |||||
| b_bw = np.random.uniform(-stdv, stdv, (hidden_size * 4)).astype(np.float32) | |||||
| b_bw = Parameter(initializer(Tensor(b_bw), b_bw.shape), name="b_bw_layer" + str(i)) | b_bw = Parameter(initializer(Tensor(b_bw), b_bw.shape), name="b_bw_layer" + str(i)) | ||||
| else: | else: | ||||
| b_bw = np.zeros((hidden_size * 4)).astype(np.float16) | |||||
| b_bw = np.zeros((hidden_size * 4)).astype(np.float32) | |||||
| b_bw = Parameter(initializer(Tensor(b_bw), b_bw.shape), name="b_bw_layer" + str(i)) | b_bw = Parameter(initializer(Tensor(b_bw), b_bw.shape), name="b_bw_layer" + str(i)) | ||||
| bias_bw.append(b_bw) | bias_bw.append(b_bw) | ||||
| # layer init | # layer init | ||||
| self.lstm = LSTM_Ascend(bidirectional=bidirectional) | |||||
| self.lstm = LSTM_Ascend(bidirectional=bidirectional).to_float(mstype.float16) | |||||
| self.weight_fw = ParameterTuple(tuple(weights_fw)) | self.weight_fw = ParameterTuple(tuple(weights_fw)) | ||||
| self.weight_bw = ParameterTuple(tuple(weights_bw)) | self.weight_bw = ParameterTuple(tuple(weights_bw)) | ||||