As per the definition from documentation :
Batch size : Number of samples per gradient update.
Steps per epoch : Total number of steps (batches of samples) before declaring one epoch finished and starting the next epoch
How are they any different and how are they dependent on each other, if they are?