code: def test_conv_free_static_with_sequence_unpack(
      num_features,
      sequence_len,
      filter_size,
      num_output_channels,
      batch_size,
      device_id,
      precision,
  ):
      dt = PRECISION_TO_TYPE[precision]
      dev = cntk_device(device_id)
  
      x_ref = C.input_variable(
          (1, sequence_len, num_features), dtype=dt
      )
      conv_map_ref = C.constant(
          np.random.randn(
              num_output_channels, 1, filter_size[0], filter_size[1]
          ).astype(dt),
          device=dev,
      )
      w2_ref = C.convolution(conv_map_ref, x_ref, auto_padding=[False])
      x0_ref = (
          np.arange(batch_size * 1 * sequence_len * num_features)
          .astype(dt)
          .reshape(batch_size, 1, sequence_len, num_features)
      )
      output_ref = w2_ref.eval({x_ref: x0_ref}, device=dev)
  
      x_test = C.sequence.input_variable(num_features, dtype=dt)
      y_test, mask_test = C.sequence.unpack(x_test, 0).outputs
      z_test = C.reshape(y_test, (1,), 0, 0)
      w2_test = C.convolution(
          conv_map_ref, z_test, auto_padding=[False]
      )
      output_test = w2_test.eval(
          {x_test: np.squeeze(x0_ref)}, device=dev
      )
  
      assert np.allclose(output_test, output_ref, atol=1e-4)
  
imports: from __future__ import division
  import numpy
  import pytest
  import cntk
  from .ops_test_utils import unittest_helper, _test_unary_op, AA, precision, PRECISION_TO_TYPE, constant, cntk_device
  from cntk.ops import AVG_POOLING, MAX_POOLING, MAX_UNPOOLING
  from cntk.internal import sanitize_dtype_cntk
  from cntk.cntk_py import should_force_deterministic_algorithms
label_desc: Use image node_id 22 for calling a global function with example usage: test_conv_free_static_with_sequence_unpack(num_features, sequence_len, filter_size, num_output_channels, batch_size, device_id, precision) without return types