I can not understand why

training set size is [77,768] but validation set size is [77,1,3]

because the following code  make the shape of the train and valid set the same:
val_range = int(data_x.shape[0]/100) * 15
val_x = data_x[0:val_range, :,:]
train_x = data_x[val_range:None, :,:]