Hello everyone, hope you can help me with this issue.
I am very new to the W&B interface and python library. I am tryingo to incorporate the dataset versioning and experiment tracking issues into my training procedure for now.
In the dataset versioning section of my code, I am logging the raw dataset and the cleaned ones via wandb.Artifact → wandb.add_file → wandb.log_artifact workflow, as show in documentation.
The problem is that a simple upload and syncing takes around 10 minutes to finish! The datasets sizes are small (approx. 2MB) and I don’t have any connection constraints or issues that I’m aware of.
I’m using a JupyterNotebook in a WSL2 environment (distro Ubuntu 20.04)
The output of code shows: Wating for W&B process to finish (sucess) ...
for the whole time, and the upload and syncing bar stucks during the whole time of waiting.
The debug log for the latest-run
show this over and over:
2022-09-05 01:29:54.344 INFO MainThread:10293 [jupyter.py:save_history():447] not saving jupyter history
2022-09-05 01:29:54.344 INFO MainThread:10293 [jupyter.py:save_ipynb():377] not saving jupyter notebook
2022-09-05 01:29:54.344 INFO MainThread:10293 [wandb_init.py:_jupyter_teardown():393] cleaning up jupyter logic
2022-09-05 01:29:54.344 INFO MainThread:10293 [wandb_run.py:_atexit_cleanup():1931] got exitcode: 0
2022-09-05 01:29:54.344 INFO MainThread:10293 [wandb_run.py:_restore():1914] restore
2022-09-05 01:29:54.345 INFO MainThread:10293 [wandb_run.py:_restore():1920] restore done
...
2022-09-05 01:29:57.481 INFO MainThread:10293 [wandb_run.py:_on_finish():2221] got exit ret: file_counts {
wandb_count: 5
}
pusher_stats {
uploaded_bytes: 397
total_bytes: 4431
}
And the debug-intenal
log shows the following:
2022-09-05 01:29:57.789 DEBUG SenderThread:10324 [sender.py:send_request():316] send_request: poll_exit
2022-09-05 01:29:57.892 DEBUG HandlerThread:10324 [handler.py:handle_request():141] handle_request: poll_exit
2022-09-05 01:29:57.892 DEBUG SenderThread:10324 [sender.py:send_request():316] send_request: poll_exit
2022-09-05 01:29:57.993 DEBUG HandlerThread:10324 [handler.py:handle_request():141] handle_request: poll_exit
2022-09-05 01:29:57.994 DEBUG SenderThread:10324 [sender.py:send_request():316] send_request: poll_exit
And in the end of the running cell, the debug-internal
log shows (sensible info omitted):
2022-09-05 01:33:09,176 DEBUG HandlerThread:10324 [handler.py:handle_request():141] handle_request: poll_exit
2022-09-05 01:33:09,176 DEBUG SenderThread:10324 [sender.py:send_request():316] send_request: poll_exit
2022-09-05 01:33:10,268 INFO WriterThread:10324 [datastore.py:close():279] close [...]
2022-09-05 01:33:11,177 INFO SenderThread:10324 [sender.py:finish():1312] shutting down sender
2022-09-05 01:33:11,177 INFO SenderThread:10324 [file_pusher.py:finish():171] shutting down file pusher
2022-09-05 01:33:11,177 INFO SenderThread:10324 [file_pusher.py:join():176] waiting for file pusher
I tried setting WANDB_START_METHOD=thread
as mentioned in a Github issue, but didn’t reduce overall time that the cell takes to finish. I have made the login through CLI and the cell recognizes my user.
The raw data are in JSON format, and the cleaned data is a Pandas dataframe where of 30-60 rows, where each row contains an array of data (temporal analysis) around 2000 items.
Is there something I forgot to setup? Is this the average time taken to upload files, even when they are small? I am missing something in the code workflow?
Any help would be much appreciated!
Regards