Inconsistent header keys are handled. When a new key is introduced, the previous data is augmented line by line. In the logger, if data is a TabularInput instance, then it has its values emptied, with its keys remaining so that there is no data bleed when a key is omitted in the future. Tensorboard incompatibility is an issue as tensorboard does not accept the empty character (or string) as a legal numpy scalar.
Nine tests have been provided to cover the various circumstances:
No change in keys
Single increase in keys with consistent future usage
Multiple increase in keys with consistent future usage
Single increase in keys with inconsistent future usage
Multiple increase in keys with inconsistent future usage
Overlapping increase in keys with immediate inconsistency
Static keys - tensorboard incompatibility test
Dynamic keys - tensorboard incompatibility test
Empty tabulation test
Note: I have left the comment structure to be consistent with the preexisting code.
Inconsistent header keys are handled. When a new key is introduced, the previous data is augmented line by line. In the logger, if data is a TabularInput instance, then it has its values emptied, with its keys remaining so that there is no data bleed when a key is omitted in the future. Tensorboard incompatibility is an issue as tensorboard does not accept the empty character (or string) as a legal numpy scalar.
Nine tests have been provided to cover the various circumstances:
Note: I have left the comment structure to be consistent with the preexisting code.