@Alexey_Demyanchuk ,
Thank you for your reply!
I did the following test:





num_workers=8
num_workers = 8




CPU
i9-9900K(8 cores 16 threads)
i7-10700K(8scores 16 threads)


GPU
2080Ti(11GB)
3090(24GB)


CPU RAM used
9.5G
unknown


GPU RAM used
17.5G
unknown


epoch
300
300


datasets
COCO
COCO


image count
122218
122218


batch size
8
8


code
yolov3 the same
yolov3 the same



on 2080Ti computer, the code could be correctly trained.
On 3090 computer, once the taining and validation data were loaded, the code doesn’t go forward. I click the “Pause Program” button on Pycharm, and found that the code stops in the following code:
C:\ProgramData\Anaconda3\Lib\multiprocessing\connection.py:
    def _exhaustive_wait(handles, timeout):
        # Return ALL handles which are currently signalled.  (Only
        # returning the first signalled might create starvation issues.)
        L = list(handles)
        ready = []
        while L:
            res = _winapi.WaitForMultipleObjects(L, False, timeout)
            if res == WAIT_TIMEOUT:
                break
            elif WAIT_OBJECT_0 <= res < WAIT_OBJECT_0 + len(L):
                res -= WAIT_OBJECT_0
            elif WAIT_ABANDONED_0 <= res < WAIT_ABANDONED_0 + len(L):
                res -= WAIT_ABANDONED_0
            else:
                raise RuntimeError('Should not get here')
            ready.append(L[res])
            L = L[res+1:]
            timeout = 0
        return ready

It seems that the code is waiting for thread?