can i apply gabor filter to tensorflow like code below for CNN Tensorflow python

89 Views Asked by At

i'm trying to use gabor filter for my tensorflow image classification. i'm getting this value error when trying to run it.

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

num_classes = len(class_names)

# Create a 3x3 Gabor filter
params = {'ksize':(32, 32), 'sigma':3.0, 'theta': 1*np.pi/2, 'lambd':1*np.pi /4, 'gamma':0.3}
filters = cv2.getGaborKernel(**params)
# make the filter to have 4 dimensions.
filters = tf.expand_dims(filters, 2)
filters = tf.expand_dims(filters, 3)

# Apply the filter on `image`
#answer = tf.conv2d(image, filter, strides=[1, 1, 1, 1], padding='SAME')

model = Sequential([
  layers.Rescaling(1./255, input_shape=(img_height, img_width, 3)),
  layers.Conv2D(filters, kernel_size = (32,32), strides = (1, 1), padding='same', activation='relu'),
  layers.MaxPooling2D(pool_size= (3, 3), strides = (1, 1)),
  layers.Conv2D(filters, kernel_size = (32,32), strides = (1, 1), padding='same', activation='relu'),
  layers.MaxPooling2D(pool_size= (3, 3), strides = (1, 1)),
  layers.Flatten(),
  layers.Dense(128, activation='relu'),
  layers.Dense(num_classes)
])
0

There are 0 best solutions below