Merging deeplabcut training sets

I trained some videos in one workspace, then trained with different frames of those same videos in a different workspace. How can I go about merging their data sets before evaluating, just so that I have more labelled frames when evaluating?

To clarify, the new data set is NOT a refinement of the first one- I have two different iteration0 files in different workspaces of the same videos- they are due to separate trainings of the same videos.

Dear corrinerybarski,

You can just copy the folders under /labeled-data into the joined project and then also update the variable “video-sets” in the config.yaml file of the joined project (see for an example: https://github.com/AlexEMG/DeepLabCut/blob/master/examples/openfield-Pranav-2018-10-30/config.yaml#L10)

The new video-set variable should have all the videos corresponding to the folders in /labeled-data… so image you have 3 folders in labeled-data called video1, video33 and video 5 then the video_sets should look something like this (of course paths, video type, crops etc will be different in your case)

video_sets:
/home/alex/video1.avi
crop: 0, 640, 0, 480
/home/alex/video33_a.avi
crop: 0, 640, 0, 480
/home/alex/video33.avi
crop: 0, 640, 0, 480

You can check whether the video_sets and labeled-data folder agree by running the following funciton the new joint project:

In [2]: deeplabcut.comparevideolistsanddatafolders?
Signature: deeplabcut.comparevideolistsanddatafolders(config)
Docstring:
Auxiliary function that compares the folders in labeled-data and the ones listed under video_sets (in the config file).

Cheers,
Alexander

1 Like

thank you! will try this shortly.

Btw, iif the the frames are from the same video – then the merging is more intricate (because you need to concatenate the .h5 files). However, you can also just rename the folders…

Yes, they are from the same video. Thanks again!