code: def _rnn_setter(f, raw_value, attr):
      if not attr.bidirectional:
          raise NotImplementedError()
      use_cudnn = len(f.parameters) == 1
      if use_cudnn:
          gates = _get_rnn_gates(attr.op_type)
          _parameter_setter(
              f.parameters[0],
              np.concatenate(
                  (
                      _adjust_lstm_gate_order(raw_value.fw_W)
                      .transpose()
                      .reshape(-1),
                      _adjust_lstm_gate_order(raw_value.fw_H)
                      .transpose()
                      .reshape(-1),
                      _adjust_lstm_gate_order(raw_value.bw_W)
                      .transpose()
                      .reshape(-1),
                      _adjust_lstm_gate_order(raw_value.bw_H)
                      .transpose()
                      .reshape(-1),
                      _adjust_lstm_gate_order(raw_value.fw_b).reshape(
                          -1
                      ),
                      np.zeros_like(raw_value.fw_b).reshape(-1),
                      _adjust_lstm_gate_order(raw_value.bw_b).reshape(
                          -1
                      ),
                      np.zeros_like(raw_value.bw_b).reshape(-1),
                  )
              ).reshape(f.parameters[0].shape),
          )
      else:
          param = _get_birnn_param(f)
          _parameter_setter(param.fw_W, raw_value.fw_W)
          _parameter_setter(param.fw_H, raw_value.fw_H)
          _parameter_setter(param.fw_b, raw_value.fw_b)
          _parameter_setter(param.bw_W, raw_value.bw_W)
          _parameter_setter(param.bw_H, raw_value.bw_H)
          _parameter_setter(param.bw_b, raw_value.bw_b)
  
imports: import cntk
  import numpy
  from cntk.contrib import crosstalk
label_desc: Use image node_id 15 for calling a global function with example usage: _rnn_setter(f, raw_value, attr) without return types