Using Keras CV within Keras Core

Skip to first unread message

Fadi Badine

Aug 12, 2023, 8:24:22 AM8/12/23
to Keras-users

I was trying to convert an example that I have from tf.keras to Keras_core. It's a CV example where I use VGG19 as a base model and then some Dense layers.

I am using Keras CV RandAugment Layer along with other Keras layers for Resizing and Rescaling.
In Keras Core (TF backend), for RandAugment, I am getting the following error:

A KerasTensor cannot be used as input to a TensorFlow function. A KerasTensor is a symbolic placeholder for a shape and dtype, used when constructing Keras Functional models or Keras Functions. You can only use it as input to a Keras layer or a Keras operation (from the namespaces `keras_core.layers` and `keras_core.operations`). You are likely doing something like:

x = Input(...)
tf_fn(x) # Invalid.

What you should do instead is wrap `tf_fn` in a layer:

class MyLayer(Layer):
def call(self, x):
return tf_fn(x)

x = MyLayer()(x)

Call arguments received by layer 'rand_augment_4' (type RandAugment):
• inputs=<KerasTensor shape=(None, None, None, 3), dtype=float32, name=keras_tensor_196>

Do we always have to wrap Keras CV layers with a Keras layer?


Fadi Badine
Reply all
Reply to author
0 new messages