Hi @Laxma_Reddy_Patlolla

After doing some more research, I find out that both `data_augmentation`

and `preprocessing`

step are being triggered, which means that `model(images)`

will activate each layer of the model whereas `model.predict(images)`

will only activate those which are supposed to be active during inference. So, `model.predict`

is the correct way to get predictions during inference if data_augmentation & preprocessing are integrated as model layers as stated in **TF Learn** (TransferĂȘncia de aprendizado e ajuste fino Â |Â TensorFlow Core)

**Reasoning**

`model(images)`

gives different result on each run (which means `data_augmentation`

is also active)

```
model(tf.expand_dims(img_tensors, 0))
## Output:
<tf.Tensor: shape=(1, 7), dtype=float32, numpy=
array([[0.01726468, 0.02960926, 0.89761806, 0.01863422, 0.00520058,
0.01019412, 0.02147901]], dtype=float32)>
model(tf.expand_dims(img_tensors, 0))
## Output:
<tf.Tensor: shape=(1, 7), dtype=float32, numpy=
array([[0.03177946, 0.01744751, 0.88826525, 0.01340565, 0.00696777,
0.0177426 , 0.02439182]], dtype=float32)>
```

whereas model.predict is always the same

```
model.predict(tf.expand_dims(img_tensors, 0))
## Output:
array([[0.11547963, 0.04055786, 0.67642653, 0.02366884, 0.02861447,
0.07121295, 0.04403977]], dtype=float32)
model.predict(tf.expand_dims(img_tensors, 0))
## Output:
array([[0.11547963, 0.04055786, 0.67642653, 0.02366884, 0.02861447,
0.07121295, 0.04403977]], dtype=float32)
```

I also found out the results based only on actual model (last layer: EfficientNetV2S). Here `model(images)`

and `model.predict`

both results are same and also equal to `model.predict`

in above block

```
model.layers[2](tf.expand_dims(img_tensors, 0))
## Output:
<tf.Tensor: shape=(1, 7), dtype=float32, numpy=
array([[0.11547963, 0.04055786, 0.67642653, 0.02366884, 0.02861447,
0.07121295, 0.04403977]], dtype=float32)>
model.layers[2].predict(tf.expand_dims(img_tensors, 0))
## Output:
array([[0.11547963, 0.04055786, 0.67642653, 0.02366884, 0.02861447,
0.07121295, 0.04403977]], dtype=float32)
```

**Conclusion**

`model(images)`

and `model.predict(images)`

are not the same and hence works differently

Thanks