I am trying to build a cattle identification model from muzzle images. I have a dataset of 4923 images of 268 cows. I have used ResNet50 model as below.
Hyper Parameters: Batch size: 16 Learning rate: 0.0002 Epoch: 100 Iteration per Epoch: 150
base_model = ResNet50(include_top=False, weights='imagenet')
for layer in base_model.layers:
layer.trainable = True
x = base_model.output
x = GlobalAveragePooling2D()(x)
x=Dense(512,activation='relu')(x)
predictions = Dense(268, activation='softmax')(x)
model = Model(inputs=base_model.input, outputs=predictions)
My problem is that the accuracy is low and fluctuates across each epoch.
Update: The research paper presents this accuracy:

