Open yonikremer opened 3 years ago
@yoni12345678 Hey, it sounds great, however I'm not sure it fits all scenarios since not all ml libraries have this feature and the manual API certainly can't get it.
Do you think we should implement a best-effort estimation?
In my experience with TensorFlow, the time estimation is pretty accurate, so I think best effort estimation should give accurate results.
Would love to have this feature. Another use case example:
Let's say we need to run a long for loop for some purpose. Other than just knowing it is completed, it is also good to know the expected ETA. The 'tqdm' library does provide the second functionality of displaying the ETA but does not notice as we have in MLNotify. So a merger of these functionalities will be great.
Yeah, there is no ML happening here, but will be useful for a general Python programmer too... If possible it can be included in the manual API.
One API usage example would be
a_long_list = [...]
mlnotify.start(total=len(a_long_list))
for i in a_long_list:
# do something time consuming
mlnotify.update(1) # update by 1 after every iteration
mlnotify.end()
If there is already some library supporting such a feature, please do let me know.
When I'm training a model using keras, I always calculate the runtime by hand (Using the estimated time per epoch) It would be great if when I use mlnotify the estimated runtime will appear too (next to the time since the start of training) You can do that using the ETA provided by keras times the number of epochs.