文档反馈

问题文档片段

问题文档片段包含公式时,显示为空格。

提交类型
issue

有点复杂...

找人问问吧。

请选择提交类型

问题类型
规范和低错类

- 规范和低错类:

- 错别字或拼写错误,标点符号使用错误、公式错误或显示异常。

- 链接错误、空单元格、格式错误。

- 英文中包含中文字符。

- 界面和描述不一致,但不影响操作。

- 表述不通顺,但不影响理解。

- 版本号不匹配:如软件包名称、界面版本号。

易用性

- 易用性:

- 关键步骤错误或缺失,无法指导用户完成任务。

- 缺少主要功能描述、关键词解释、必要前提条件、注意事项等。

- 描述内容存在歧义指代不明、上下文矛盾。

- 逻辑不清晰,该分类、分项、分步骤的没有给出。

正确性

- 正确性:

- 技术原理、功能、支持平台、参数类型、异常报错等描述和软件实现不一致。

- 原理图、架构图等存在错误。

- 命令、命令参数等错误。

- 代码片段错误。

- 命令无法完成对应功能。

- 界面错误,无法指导操作。

- 代码样例运行报错、运行结果不符。

风险提示

- 风险提示:

- 对重要数据或系统存在风险的操作,缺少安全提示。

内容合规

- 内容合规:

- 违反法律法规,涉及政治、领土主权等敏感词。

- 内容侵权。

请选择问题类型

问题描述

点击输入详细问题描述,以帮助我们快速定位问题。

mindspore.ops.DynamicGRUV2

class mindspore.ops.DynamicGRUV2(direction='UNIDIRECTIONAL', cell_depth=1, keep_prob=1.0, cell_clip=- 1.0, num_proj=0, time_major=True, activation='tanh', gate_order='rzh', reset_after=True, is_training=True)[source]

Applies a single-layer gated recurrent unit (GRU) to an input sequence.

rt+1=σ(Wirxt+1+bir+Whrh(t)+bhr)zt+1=σ(Wizxt+1+biz+Whzh(t)+bhz)nt+1=tanh(Winxt+1+bin+rt+1(Whnh(t)+bhn))ht+1=(1zt+1)nt+1+zt+1h(t)

where ht+1 is the hidden state at time t+1, xt+1 is the input at time t+1, ht is the hidden state of the layer at time t or the initial hidden state at time 0, and rt+1, zt+1, nt+1 are the reset, update, and new gates, respectively. W, b are the weight parameter and the deviation parameter respectively. σ is the sigmoid function, and is the Hadamard product.

Parameters
  • direction (str) – A string identifying the direction in the op. Default: ‘UNIDIRECTIONAL’. Only ‘UNIDIRECTIONAL’ is currently supported.

  • cell_depth (int) – An integer identifying the cell depth in the op. Default: 1.

  • keep_prob (float) – A float identifying the keep prob in the op. Default: 1.0.

  • cell_clip (float) – A float identifying the cell clip in the op. Default: -1.0.

  • num_proj (int) – An integer identifying the num proj in the op. Default: 0.

  • time_major (bool) – A bool identifying the time major in the op. Default: True.

  • activation (str) – A string identifying the type of activation function in the op. Default: ‘tanh’. Only ‘tanh’ is currently supported.

  • gate_order (str) – A string identifying the gate order in weight and bias. Default: ‘rzh. ‘zrh’ is another option.

  • reset_after (bool) – A bool identifying whether to apply reset gate after matrix multiplication. Default: True.

  • is_training (bool) – A bool identifying is training in the op. Default: True.

Inputs:
  • x (Tensor) - Current words. Tensor of shape (num_step,batch_size,input_size). The data type must be float16.

  • weight_input (Tensor) - Input-hidden weight. Tensor of shape (input_size,3×hidden_size). The data type must be float16.

  • weight_hidden (Tensor) - Hidden-hidden weight. Tensor of shape (hidden_size,3×hidden_size). The data type must be float16.

  • init_h (Tensor) - Hidden state of initial time. Tensor of shape (batch_size,hidden_size). The data type must be float16 or float32.

  • bias_input (Tensor) - Input-hidden bias. Tensor of shape (3×hidden_size), or None. Has the same data type with input init_h.

  • bias_hidden (Tensor) - Hidden-hidden bias. Tensor of shape (3×hidden_size), or None. Has the same data type with input init_h.

  • seq_length (Tensor) - The length of each batch. Tensor of shape (batch_size). Only None is currently supported.

Outputs:
  • y (Tensor) - A Tensor of shape:

    • y_shape = (num_step,batch_size,min(hidden_size,num_proj)): If num_proj > 0,

    • y_shape = (num_step,batch_size,hidden_size): If num_proj = 0.

    Has the same data type with input bias_type.

  • output_h (Tensor) - A Tensor of shape (num_step,batch_size,hidden_size). Has the same data type with input bias_type.

  • update (Tensor) - A Tensor of shape (num_step,batch_size,hidden_size). Has the same data type with input bias_type.

  • reset (Tensor) - A Tensor of shape (num_step,batch_size,hidden_size). Has the same data type with input bias_type.

  • new (Tensor) - A Tensor of shape (num_step,batch_size,hidden_size). Has the same data type with input bias_type.

  • hidden_new (Tensor) - A Tensor of shape (num_step,batch_size,hidden_size). Has the same data type with input bias_type.

A note about the bias_type:

  • If bias_input and bias_hidden both are None, bias_type is data type of init_h.

  • If bias_input is not None, bias_type is the data type of bias_input.

  • If bias_input is None and bias_hidden is not None, bias_type is the data type of bias_hidden.

Raises
  • TypeError – If direction, activation or gate_order is not a str.

  • TypeError – If cell_depth or num_proj is not an int.

  • TypeError – If keep_prob or cell_clip is not a float.

  • TypeError – If time_major, reset_after or is_training is not a bool.

  • TypeError – If x, weight_input, weight_hidden, bias_input, bias_hidden, seq_length or ini_h is not a Tensor.

  • TypeError – If dtype of x, weight_input or weight_hidden is not float16.

  • TypeError – If dtype of init_h is neither float16 nor float32.

Supported Platforms:

Ascend

Examples

>>> x = Tensor(np.random.rand(2, 8, 64).astype(np.float16))
>>> weight_i = Tensor(np.random.rand(64, 48).astype(np.float16))
>>> weight_h = Tensor(np.random.rand(16, 48).astype(np.float16))
>>> bias_i = Tensor(np.random.rand(48).astype(np.float16))
>>> bias_h = Tensor(np.random.rand(48).astype(np.float16))
>>> init_h = Tensor(np.random.rand(8, 16).astype(np.float16))
>>> dynamic_gru_v2 = ops.DynamicGRUV2()
>>> output = dynamic_gru_v2(x, weight_i, weight_h, bias_i, bias_h, None, init_h)
>>> print(output[0].shape)
(2, 8, 16)