code: def test_is_pickleable(
      self, output_dim, filters, strides, padding, hidden_sizes
  ):
      model = CategoricalCNNModel(
          input_dim=self._input_dim,
          output_dim=output_dim,
          filters=filters,
          strides=strides,
          padding=padding,
          hidden_sizes=hidden_sizes,
          hidden_nonlinearity=None,
          hidden_w_init=tf.ones_initializer(),
          output_w_init=tf.ones_initializer(),
      )
      dist = model.build(self._input_ph).dist
      # assign bias to all one
      with tf.compat.v1.variable_scope(
          "CategoricalCNNModel", reuse=True
      ):
          cnn_bias = tf.compat.v1.get_variable("CNNModel/cnn/h0/bias")
          bias = tf.compat.v1.get_variable("MLPModel/mlp/hidden_0/bias")
  
      bias.load(tf.ones_like(bias).eval())
      cnn_bias.load(tf.ones_like(cnn_bias).eval())
  
      output1 = self.sess.run(
          dist.probs, feed_dict={self._input_ph: self._obs_input}
      )
  
      h = pickle.dumps(model)
      with tf.compat.v1.Session(graph=tf.Graph()) as sess:
          input_var = tf.compat.v1.placeholder(
              tf.float32, shape=(None, None) + self._input_shape
          )
          model_pickled = pickle.loads(h)
          dist2 = model_pickled.build(input_var).dist
          output2 = sess.run(
              dist2.probs, feed_dict={input_var: self._obs_input}
          )
  
          assert np.array_equal(output1, output2)
  
file_path: garage/tests/garage/tf/models/test_categorical_cnn_model.py
imports: import pickle
  import numpy
  import pytest
  import tensorflow
  import tensorflow_probability
  from garage.tf.models import CategoricalCNNModel
  from tests.fixtures import TfGraphTestCase
label_desc: Use image node_id 4 for calling the TestCategoricalMLPModel obj's underlying member method code with example usage: obj.test_is_pickleable(output_dim, filters, strides, padding, hidden_sizes) without return types