code: def _cudnn_convolution_algo_count(direction):
      try:
          if direction == "fwd":
              return st.integers(
                  0, C.cudnn_convolution_fwd_algo_count - 1
              )
          elif direction == "dgrad":
              return st.integers(
                  0, C.cudnn_convolution_bwd_data_algo_count - 1
              )
          elif direction == "wgrad":
              return st.integers(
                  0, C.cudnn_convolution_bwd_filter_algo_count - 1
              )
          else:
              assert False
      except Exception:
          return st.sampled_from([-1])
  
imports: import collections
  import functools
  import unittest
  import caffe2.python._import_c_extension
  import caffe2.python.hip_test_util
  import caffe2.python.hypothesis_test_util
  import caffe2.python.serialized_test.serialized_test_util
  import hypothesis.strategies
  import numpy
  from caffe2.proto import caffe2_pb2
  from caffe2.python import brew, core, utils, workspace
  from caffe2.python.model_helper import ModelHelper
  from hypothesis import assume, given, settings
label_desc: Use image node_id 2 for calling a global function with example usage: _cudnn_convolution_algo_count(direction) and returns: st, st, st, st