We would like to evaluate how the model is doing once we have trained the model. We can validate the captions generated for a test dataset against the content of the videos in the test set. The train test set data sets can be created by using the following function. We can create the test dataset during training and use it for evaluation once the model has been trained:
def train_test_split(self,data,test_frac=0.2):
indices = np.arange(len(data))
np.random.shuffle(indices)
train_indices_rec = int((1 - test_frac)*len(data))
indices_train = indices[:train_indices_rec]
indices_test = indices[train_indices_rec:]
data_train, data_test =
data.iloc[indices_train],data.iloc[indices_test]
data_train.reset_index(inplace=True)
data_test.reset_index(inplace=True)
return data_train...