I'll make a pr for this today. There is an inconsitency where logging is done in epochs and saving is done in steps in the textual inversion script like so
if args.validation_prompt is not None and epoch % args.validation_epochs == 0:
for logging and
if global_step % args.save_steps == 0:
for saving. I think both should use steps