Upload folder using huggingface_hub
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .gitattributes +4 -0
- .gitignore +2 -0
- 1.log +3 -0
- 2.log +3 -0
- 3.log +56 -0
- 8.log +110 -0
- 81917.error +0 -0
- 81917.log +0 -0
- 82889.log +7 -0
- 83062.log +441 -0
- 83501.log +0 -0
- 9.log +530 -0
- README.md +14 -0
- correspondence/README.md +17 -0
- correspondence/SegSwap/README.md +89 -0
- correspondence/SegSwap/data/correspondence_takes.txt +1334 -0
- correspondence/SegSwap/data/create_pairs.py +75 -0
- correspondence/SegSwap/data/download_uids.sh +1 -0
- correspondence/SegSwap/data/input2.mp4 +3 -0
- correspondence/SegSwap/data/only_extract_frames.py +177 -0
- correspondence/SegSwap/data/only_extract_frames_optimized.py +284 -0
- correspondence/SegSwap/data/optimization_summary.py +83 -0
- correspondence/SegSwap/data/process_data.py +177 -0
- correspondence/SegSwap/data/process_data2.py +175 -0
- correspondence/SegSwap/data/process_data_batch.py +271 -0
- correspondence/SegSwap/data/process_data_new.py +176 -0
- correspondence/SegSwap/data/process_data_new_chunk.py +198 -0
- correspondence/SegSwap/data/split.json +1 -0
- correspondence/SegSwap/data/video2img.py +54 -0
- correspondence/SegSwap/data/video_extract.sh +16 -0
- correspondence/SegSwap/environment.yml +145 -0
- correspondence/SegSwap/eval_handal.py +252 -0
- correspondence/SegSwap/eval_segswap.py +287 -0
- correspondence/SegSwap/eval_segswap_new.py +292 -0
- correspondence/SegSwap/input.mp4 +3 -0
- correspondence/SegSwap/model/=12 +0 -0
- correspondence/SegSwap/model/convert_torchvision.py +25 -0
- correspondence/SegSwap/model/download_model.sh +6 -0
- correspondence/SegSwap/model/environment.yml +145 -0
- correspondence/SegSwap/model/moco_v2_800ep_pretrain_torchvision.pth.tar +3 -0
- correspondence/SegSwap/model/model.pth +3 -0
- correspondence/SegSwap/model/transformer.py +355 -0
- correspondence/SegSwap/process_data.sh +24 -0
- correspondence/SegSwap/process_test_data_20250507.log +3 -0
- correspondence/SegSwap/process_test_data_20250508_new.log +3 -0
- correspondence/SegSwap/process_test_data_20250508_new666.log +3 -0
- correspondence/SegSwap/process_test_data_20250508_new888.log +6 -0
- correspondence/SegSwap/process_test_data_20250508_new999.log +3 -0
- correspondence/SegSwap/process_test_data_20250511_new.log +3 -0
- correspondence/SegSwap/process_test_data_20250512.log +795 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,7 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
correspondence/SegSwap/data/input2.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
correspondence/SegSwap/input.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
correspondence/XMem/PSALM/images/teaser.png filter=lfs diff=lfs merge=lfs -text
|
| 39 |
+
seg_dis_new.log filter=lfs diff=lfs merge=lfs -text
|
.gitignore
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
.vim-arsync
|
| 2 |
+
*.pyc
|
1.log
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
820
|
| 2 |
+
65
|
| 3 |
+
['f2f93854-2634-449c-b68e-aebf4743ac9f', '7d59164c-e0bc-4ae0-95c9-733e4c8b0d6a', 'cace80a1-42df-4cf4-a1ec-80647638a443', '8fa671be-2624-4783-8572-5f4b7722b6c0', 'ca1434ea-b787-44ad-a9da-e0f7d5167a35', 'cfd2c825-45d1-4e59-b33f-b6dff8c174c8', '39d48b6a-66e8-4bbb-a596-4461b601cabc', 'f4dead01-fa3d-4aa5-8b59-13a0d9186dd2', '4cf43506-d0a6-4c42-9136-adb2ecd57411', '89815623-8ece-4e3c-8879-f1f32b299527', '5fd383f1-c8bb-42d7-b98b-7418d99d9bb4', 'b1b794e8-7839-46ab-b05f-f4b1c16d5420', 'b7dbb47c-d850-4853-b434-7b20519ea9e5', '636eaa0b-d65d-4b25-bbdd-1065f84ef89e', 'd2b0ee95-2a76-4b69-aebf-3c7e553f8e2b', 'cea1b20b-6e18-4bb6-87e0-164a2b8c3dc0', 'fba2c124-99ec-40ed-8d6a-46808afe6d98', '549e5b97-f93a-4500-8f02-5be13017dce5', '6cbfa460-72a7-4038-b6af-4305a1cc05dd', '319a9983-f70c-4224-a3a7-33338c8a9f35', 'bcfb6839-3c09-4d42-9d9c-59042f6ab721', '3ca2798d-cfe3-46c6-a8bc-cc4689bd6d75', 'aa40670e-4487-4f60-a27b-26f7372ef8e7', '389cfa3f-3a4c-4b8f-9535-d7c95ffd594c', '214bdc0d-fa50-4a84-b771-c0a7bdeafadc', '08504348-4f72-477e-a08f-1050204ae55e', 'd35a162e-c38e-4017-94d1-539f26651115', '925ebe22-f97a-4e79-aed3-9873cf461c3c', 'c0b7d130-2004-4450-ad94-ea3167bd9fab', 'f1ce9be1-b623-4ce4-84e2-37e9f88eea86', 'c288cb15-81c7-4463-814f-959c12740499', 'b69de073-c157-4cff-8eba-97bfc7baa012', '289c4873-5bf9-41b9-b784-aba52b54cd4d', '0bcb8b46-cc45-4bcb-a627-85633e54e060', '819780c3-97c0-4ac6-b37f-8c66abf8167d', '9512a137-40b6-49c6-a03d-a3340b9dd277', '393e9b60-504c-4cc7-a90b-eb78dd62d5ff', 'fb09baec-1a5a-40b4-8d72-e581c93fbd77', '3042b472-99cc-4407-a79e-f76916b95737', '4939903a-2c73-4633-ae15-618be39990e7', 'ced0e340-b958-4505-badc-c8c2f256c145', 'e53ae33b-61b6-4c3e-8be0-5696f961704b', '759aa03c-c8e1-4fcb-8817-85948100ed33', '31df8578-1fd0-4406-9008-900a88f7990a', '9506c70a-1639-42ea-bbfc-2b9c0f8c9394', 'e46f9a53-7625-4827-8b92-79c958d3524e', '3125dca7-b99e-4b2b-8844-2d912619b353', 'b65a60e0-f224-4b3d-bf78-ba44e12c4ac1', 'c53daadd-09f0-485b-a51c-1d5679f5fb09', 'b378d186-0587-40ed-afdf-875e6dfb5876', '8000dfb2-accb-4bb8-abfb-cc2d677d0b2f', 'ff93ae48-0daa-418c-9d5c-b5b0b6d23efb', '6d0a7c80-ae8c-4673-8f70-c09fd6fbebe8', 'f0cd03a5-9cd8-4510-87c1-a5c493197b75', 'c16175f5-f990-48a1-9dcc-6a385f108687', '816dd81e-93b1-433c-83ff-264ae404a3bf', 'f8bed5fe-3e09-4885-9539-edb4d5b2279a', '601c9c61-fc2b-4ac2-b3c4-dda557c2563b', '56c35d79-acb1-47a1-8590-7e5cb2585ee5', 'd5193bae-a7f5-4e8a-9c96-09f557c7ea9d', '8d7646a3-ce7b-425d-b16e-9a63a1166576', '0b89efcd-59bf-4f0b-a81a-50dee0b79982', '9681b4c6-9713-4bb3-aa9a-7df7daa4e74d', '69fac17f-6527-493d-8dac-cd3bb61ce23e', '5ee00a17-171f-46a4-927b-3aa9d0fe176e']
|
2.log
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
201
|
| 2 |
+
0
|
| 3 |
+
[]
|
3.log
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 0 |
0%| | 0/1000 [00:00<?, ?it/s]
|
| 1 |
0%| | 0/1000 [00:07<?, ?it/s]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
2024-09-02 06:43:53,395 INFO Namespace(n_epoch=250, lr_schedule=[50], lr=0.0002, gpu='0', out_dir='/data/work-gcp-europe-west4-a/yuqian_fu/Ego/checkpoints/egoexo_v2_480x480', train_dir=['/data/work-gcp-europe-west4-a/yuqian_fu/Ego/data_segswap'], prob_dir=[0.5, 0.5], batch_pos=32, batch_neg=15, feat_pth='../evalBrueghel/Moco_resnet50_feat_1Scale_640p.pkl', warp_mask=False, warmUpIter=1000, resume_pth=None, resume_epoch=0, mode='small', pos_weight=0.1, feat_weight=1, dropout=0.1, activation='relu', prob_style=0.5, layer_type=['I', 'C', 'I', 'C', 'I', 'N'], drop_feat=0.1, tps_grid=[4, 6], eta_corr=8, iter_epoch=1000, iter_epoch_val=100, weight_decay=0, reverse=False)
|
| 2 |
+
2024-09-02 06:43:53,396 INFO Load MocoV2 pre-trained ResNet-50 feature...
|
| 3 |
+
LOADING: train_egoexo_pairs.json
|
| 4 |
+
LOADING: val_egoexo_pairs.json
|
| 5 |
+
|
| 6 |
0%| | 0/1000 [00:00<?, ?it/s]
|
| 7 |
0%| | 0/1000 [00:07<?, ?it/s]
|
| 8 |
+
Traceback (most recent call last):
|
| 9 |
+
File "/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/SegSwap/train/Main.py", line 188, in <module>
|
| 10 |
+
backbone, netEncoder, optimizer, history = Train.trainEpoch(trainLoader, backbone, netEncoder, optimizer, history, Loss, ClsLoss, args.batch_pos, args.batch_neg, args.warp_mask, logger, args.eta_corr, args.warmUpIter, 0, args.lr, writer, warmup=True)
|
| 11 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 12 |
+
File "/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/SegSwap/train/Train.py", line 80, in trainEpoch
|
| 13 |
+
O1, O2, O3 = netEncoder(X, Y, FMTX, RS, RT)
|
| 14 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 15 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-zap7rdp2jlp7/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
|
| 16 |
+
return forward_call(*args, **kwargs)
|
| 17 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 18 |
+
File "/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/SegSwap/model/transformer.py", line 342, in forward
|
| 19 |
+
outx, outy, out_cls = self.net(x, y, fmask, x_mask, y_mask)
|
| 20 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 21 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-zap7rdp2jlp7/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
|
| 22 |
+
return forward_call(*args, **kwargs)
|
| 23 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 24 |
+
File "/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/SegSwap/model/transformer.py", line 291, in forward
|
| 25 |
+
featx, featy, x_mask, y_mask = self.encoder_blocks[i](featx, featy, featmask, x_mask, y_mask)
|
| 26 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 27 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-zap7rdp2jlp7/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
|
| 28 |
+
return forward_call(*args, **kwargs)
|
| 29 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 30 |
+
File "/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/SegSwap/model/transformer.py", line 205, in forward
|
| 31 |
+
featx, featy, x_mask, y_mask = self.layer1(featx, featy, featmask, x_mask, y_mask)
|
| 32 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 33 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-zap7rdp2jlp7/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
|
| 34 |
+
return forward_call(*args, **kwargs)
|
| 35 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 36 |
+
File "/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/SegSwap/model/transformer.py", line 105, in forward
|
| 37 |
+
output = self.inner_encoder_layer(output, src_mask=src_mask, src_key_padding_mask=src_key_padding_mask)
|
| 38 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 39 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-zap7rdp2jlp7/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
|
| 40 |
+
return forward_call(*args, **kwargs)
|
| 41 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 42 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-zap7rdp2jlp7/lib/python3.11/site-packages/torch/nn/modules/transformer.py", line 591, in forward
|
| 43 |
+
x = self.norm1(x + self._sa_block(x, src_mask, src_key_padding_mask, is_causal=is_causal))
|
| 44 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 45 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-zap7rdp2jlp7/lib/python3.11/site-packages/torch/nn/modules/transformer.py", line 599, in _sa_block
|
| 46 |
+
x = self.self_attn(x, x, x,
|
| 47 |
+
^^^^^^^^^^^^^^^^^^^^^^^
|
| 48 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-zap7rdp2jlp7/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
|
| 49 |
+
return forward_call(*args, **kwargs)
|
| 50 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 51 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-zap7rdp2jlp7/lib/python3.11/site-packages/torch/nn/modules/activation.py", line 1205, in forward
|
| 52 |
+
attn_output, attn_output_weights = F.multi_head_attention_forward(
|
| 53 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 54 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-zap7rdp2jlp7/lib/python3.11/site-packages/torch/nn/functional.py", line 5373, in multi_head_attention_forward
|
| 55 |
+
attn_output = scaled_dot_product_attention(q, k, v, attn_mask, dropout_p, is_causal)
|
| 56 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 57 |
+
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 792.00 MiB (GPU 0; 21.95 GiB total capacity; 20.03 GiB already allocated; 790.12 MiB free; 20.94 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
|
| 58 |
+
srun: error: gcpl4-eu-0: task 0: Exited with exit code 1
|
8.log
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WARNING:torch.distributed.run:
|
| 2 |
+
*****************************************
|
| 3 |
+
Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed.
|
| 4 |
+
*****************************************
|
| 5 |
+
WARNING:torch.distributed.run:
|
| 6 |
+
*****************************************
|
| 7 |
+
Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed.
|
| 8 |
+
*****************************************
|
| 9 |
+
[W socket.cpp:426] [c10d] The server socket has failed to bind to [::]:12345 (errno: 98 - Address already in use).
|
| 10 |
+
[W socket.cpp:426] [c10d] The server socket has failed to bind to 0.0.0.0:12345 (errno: 98 - Address already in use).
|
| 11 |
+
[E socket.cpp:462] [c10d] The server socket has failed to listen on any local network address.
|
| 12 |
+
Traceback (most recent call last):
|
| 13 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/bin/torchrun", line 8, in <module>
|
| 14 |
+
sys.exit(main())
|
| 15 |
+
^^^^^^
|
| 16 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/distributed/elastic/multiprocessing/errors/__init__.py", line 346, in wrapper
|
| 17 |
+
return f(*args, **kwargs)
|
| 18 |
+
^^^^^^^^^^^^^^^^^^
|
| 19 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/distributed/run.py", line 794, in main
|
| 20 |
+
run(args)
|
| 21 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/distributed/run.py", line 785, in run
|
| 22 |
+
elastic_launch(
|
| 23 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/distributed/launcher/api.py", line 134, in __call__
|
| 24 |
+
return launch_agent(self._config, self._entrypoint, list(args))
|
| 25 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 26 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/distributed/launcher/api.py", line 241, in launch_agent
|
| 27 |
+
result = agent.run()
|
| 28 |
+
^^^^^^^^^^^
|
| 29 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/distributed/elastic/metrics/api.py", line 129, in wrapper
|
| 30 |
+
result = f(*args, **kwargs)
|
| 31 |
+
^^^^^^^^^^^^^^^^^^
|
| 32 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/distributed/elastic/agent/server/api.py", line 723, in run
|
| 33 |
+
result = self._invoke_run(role)
|
| 34 |
+
^^^^^^^^^^^^^^^^^^^^^^
|
| 35 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/distributed/elastic/agent/server/api.py", line 858, in _invoke_run
|
| 36 |
+
self._initialize_workers(self._worker_group)
|
| 37 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/distributed/elastic/metrics/api.py", line 129, in wrapper
|
| 38 |
+
result = f(*args, **kwargs)
|
| 39 |
+
^^^^^^^^^^^^^^^^^^
|
| 40 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/distributed/elastic/agent/server/api.py", line 692, in _initialize_workers
|
| 41 |
+
self._rendezvous(worker_group)
|
| 42 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/distributed/elastic/metrics/api.py", line 129, in wrapper
|
| 43 |
+
result = f(*args, **kwargs)
|
| 44 |
+
^^^^^^^^^^^^^^^^^^
|
| 45 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/distributed/elastic/agent/server/api.py", line 546, in _rendezvous
|
| 46 |
+
store, group_rank, group_world_size = spec.rdzv_handler.next_rendezvous()
|
| 47 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 48 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/distributed/elastic/rendezvous/static_tcp_rendezvous.py", line 55, in next_rendezvous
|
| 49 |
+
self._store = TCPStore( # type: ignore[call-arg]
|
| 50 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 51 |
+
RuntimeError: The server socket has failed to listen on any local network address. The server socket has failed to bind to [::]:12345 (errno: 98 - Address already in use). The server socket has failed to bind to 0.0.0.0:12345 (errno: 98 - Address already in use).
|
| 52 |
+
srun: error: gcpl4-eu-0: task 0: Exited with exit code 1
|
| 53 |
+
2024-09-04 08:00:56,890 INFO Namespace(n_epoch=250, lr_schedule=[50], lr=0.0002, gpu='0', out_dir='/data/work-gcp-europe-west4-a/yuqian_fu/Ego/checkpoints/egoexo_v2_480x480', train_dir=['/data/work-gcp-europe-west4-a/yuqian_fu/Ego/data_segswap'], prob_dir=[0.5, 0.5], batch_pos=32, batch_neg=15, feat_pth='../evalBrueghel/Moco_resnet50_feat_1Scale_640p.pkl', warp_mask=False, warmUpIter=1000, resume_pth='/data/work-gcp-europe-west4-a/yuqian_fu/Ego/checkpoints/egoexo_v2_480x480/netLast.pth', resume_epoch=0, mode='small', pos_weight=0.1, feat_weight=1, dropout=0.1, activation='relu', prob_style=0.5, layer_type=['I', 'C', 'I', 'C', 'I', 'N'], drop_feat=0.1, tps_grid=[4, 6], eta_corr=8, iter_epoch=1000, iter_epoch_val=100, weight_decay=0, reverse=False)
|
| 54 |
+
2024-09-04 08:00:56,890 INFO Load MocoV2 pre-trained ResNet-50 feature...
|
| 55 |
+
2024-09-04 08:00:56,892 INFO Namespace(n_epoch=250, lr_schedule=[50], lr=0.0002, gpu='0', out_dir='/data/work-gcp-europe-west4-a/yuqian_fu/Ego/checkpoints/egoexo_v2_480x480', train_dir=['/data/work-gcp-europe-west4-a/yuqian_fu/Ego/data_segswap'], prob_dir=[0.5, 0.5], batch_pos=32, batch_neg=15, feat_pth='../evalBrueghel/Moco_resnet50_feat_1Scale_640p.pkl', warp_mask=False, warmUpIter=1000, resume_pth='/data/work-gcp-europe-west4-a/yuqian_fu/Ego/checkpoints/egoexo_v2_480x480/netLast.pth', resume_epoch=0, mode='small', pos_weight=0.1, feat_weight=1, dropout=0.1, activation='relu', prob_style=0.5, layer_type=['I', 'C', 'I', 'C', 'I', 'N'], drop_feat=0.1, tps_grid=[4, 6], eta_corr=8, iter_epoch=1000, iter_epoch_val=100, weight_decay=0, reverse=False)
|
| 56 |
+
2024-09-04 08:00:56,892 INFO Load MocoV2 pre-trained ResNet-50 feature...
|
| 57 |
+
LOADING: train_egoexo_pairs.json
|
| 58 |
+
LOADING: train_egoexo_pairs.json
|
| 59 |
+
LOADING: LOADING: val_egoexo_pairs.jsonval_egoexo_pairs.json
|
| 60 |
+
|
| 61 |
+
Traceback (most recent call last):
|
| 62 |
+
Traceback (most recent call last):
|
| 63 |
+
File "/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/SegSwap/train/Main_dis.py", line 186, in <module>
|
| 64 |
+
File "/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/SegSwap/train/Main_dis.py", line 186, in <module>
|
| 65 |
+
trainLoader.sampler = DistributedSampler(trainLoader.dataset, num_replicas=world_size, rank=rank)
|
| 66 |
+
^^^^^^^^^^^^^^^^^^
|
| 67 |
+
NameError: name 'DistributedSampler' is not defined
|
| 68 |
+
trainLoader.sampler = DistributedSampler(trainLoader.dataset, num_replicas=world_size, rank=rank)
|
| 69 |
+
^^^^^^^^^^^^^^^^^^
|
| 70 |
+
NameError: name 'DistributedSampler' is not defined
|
| 71 |
+
ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 0 (pid: 766624) of binary: /scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/bin/python3.11
|
| 72 |
+
Traceback (most recent call last):
|
| 73 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/bin/torchrun", line 8, in <module>
|
| 74 |
+
sys.exit(main())
|
| 75 |
+
^^^^^^
|
| 76 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/distributed/elastic/multiprocessing/errors/__init__.py", line 346, in wrapper
|
| 77 |
+
return f(*args, **kwargs)
|
| 78 |
+
^^^^^^^^^^^^^^^^^^
|
| 79 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/distributed/run.py", line 794, in main
|
| 80 |
+
run(args)
|
| 81 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/distributed/run.py", line 785, in run
|
| 82 |
+
elastic_launch(
|
| 83 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/distributed/launcher/api.py", line 134, in __call__
|
| 84 |
+
return launch_agent(self._config, self._entrypoint, list(args))
|
| 85 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 86 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/distributed/launcher/api.py", line 250, in launch_agent
|
| 87 |
+
raise ChildFailedError(
|
| 88 |
+
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
|
| 89 |
+
============================================================
|
| 90 |
+
/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/SegSwap/train/Main_dis.py FAILED
|
| 91 |
+
------------------------------------------------------------
|
| 92 |
+
Failures:
|
| 93 |
+
[1]:
|
| 94 |
+
time : 2024-09-04_08:02:09
|
| 95 |
+
host : gcpl4-eu-0.slurm.insait.ai
|
| 96 |
+
rank : 1 (local_rank: 1)
|
| 97 |
+
exitcode : 1 (pid: 766625)
|
| 98 |
+
error_file: <N/A>
|
| 99 |
+
traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html
|
| 100 |
+
------------------------------------------------------------
|
| 101 |
+
Root Cause (first observed failure):
|
| 102 |
+
[0]:
|
| 103 |
+
time : 2024-09-04_08:02:09
|
| 104 |
+
host : gcpl4-eu-0.slurm.insait.ai
|
| 105 |
+
rank : 0 (local_rank: 0)
|
| 106 |
+
exitcode : 1 (pid: 766624)
|
| 107 |
+
error_file: <N/A>
|
| 108 |
+
traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html
|
| 109 |
+
============================================================
|
| 110 |
+
srun: error: gcpl4-eu-0: task 1: Exited with exit code 1
|
81917.error
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
81917.log
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
82889.log
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
| 0 |
0%| | 0/201 [00:00<?, ?it/s]
|
| 1 |
0%| | 1/201 [01:06<3:41:53, 66.57s/it]
|
| 2 |
1%| | 2/201 [02:21<3:57:05, 71.48s/it]
|
| 3 |
1%|▏ | 3/201 [02:24<2:12:16, 40.08s/it]
|
| 4 |
2%|▏ | 4/201 [02:26<1:22:10, 25.03s/it]
|
| 5 |
2%|▏ | 5/201 [02:39<1:07:30, 20.66s/it]
|
| 6 |
3%|▎ | 6/201 [02:39<45:10, 13.90s/it]
|
| 7 |
3%|▎ | 7/201 [02:41<31:51, 9.85s/it]
|
| 8 |
4%|▍ | 8/201 [02:44<24:19, 7.56s/it]
|
| 9 |
4%|▍ | 9/201 [02:51<24:27, 7.64s/it]
|
| 10 |
5%|▍ | 10/201 [02:54<19:20, 6.07s/it]
|
| 11 |
5%|▌ | 11/201 [03:50<1:07:21, 21.27s/it]
|
| 12 |
6%|▌ | 12/201 [03:50<47:12, 14.99s/it]
|
| 13 |
6%|▋ | 13/201 [04:29<1:09:40, 22.24s/it]
|
| 14 |
7%|▋ | 14/201 [04:31<50:22, 16.16s/it]
|
| 15 |
7%|▋ | 15/201 [04:34<37:50, 12.21s/it]
|
| 16 |
8%|▊ | 16/201 [04:49<40:20, 13.08s/it]
|
| 17 |
8%|▊ | 17/201 [05:27<1:02:56, 20.52s/it]
|
| 18 |
9%|▉ | 18/201 [05:56<1:10:29, 23.11s/it]
|
| 19 |
9%|▉ | 19/201 [06:58<1:44:51, 34.57s/it]
|
| 20 |
10%|▉ | 20/201 [07:48<1:58:38, 39.33s/it]
|
| 21 |
10%|█ | 21/201 [07:50<1:23:58, 27.99s/it]
|
| 22 |
11%|█ | 22/201 [07:51<59:12, 19.85s/it]
|
| 23 |
11%|█▏ | 23/201 [08:16<1:03:56, 21.56s/it]
|
| 24 |
12%|█▏ | 24/201 [08:17<45:19, 15.36s/it]
|
| 25 |
12%|█▏ | 25/201 [08:18<32:23, 11.04s/it]
|
| 26 |
13%|█▎ | 26/201 [08:44<45:28, 15.59s/it]
|
| 27 |
13%|█▎ | 27/201 [09:01<46:39, 16.09s/it]
|
| 28 |
14%|█▍ | 28/201 [09:52<1:16:36, 26.57s/it]
|
| 29 |
14%|█▍ | 29/201 [10:45<1:38:21, 34.31s/it]
|
| 30 |
15%|█▍ | 30/201 [10:47<1:10:01, 24.57s/it]
|
| 31 |
15%|█▌ | 31/201 [10:50<51:46, 18.27s/it]
|
| 32 |
16%|█▌ | 32/201 [11:22<1:02:49, 22.31s/it]
|
| 33 |
16%|█▋ | 33/201 [11:43<1:01:24, 21.93s/it]
|
| 34 |
17%|█▋ | 34/201 [12:28<1:20:32, 28.94s/it]
|
| 35 |
17%|█▋ | 35/201 [12:30<57:05, 20.63s/it]
|
| 36 |
18%|█▊ | 36/201 [12:30<40:16, 14.65s/it]
|
| 37 |
18%|█▊ | 37/201 [12:44<39:09, 14.33s/it]
|
| 38 |
19%|█▉ | 38/201 [12:46<29:20, 10.80s/it]
|
| 39 |
19%|█▉ | 39/201 [12:58<29:55, 11.08s/it]/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/evaluation/metrics.py:36: RuntimeWarning: invalid value encountered in scalar divide
|
|
|
|
|
|
|
| 40 |
20%|█▉ | 40/201 [14:28<1:33:18, 34.78s/it]
|
| 41 |
20%|██ | 41/201 [15:52<2:11:40, 49.38s/it]
|
| 42 |
21%|██ | 42/201 [17:02<2:27:23, 55.62s/it]
|
| 43 |
21%|██▏ | 43/201 [17:05<1:45:23, 40.02s/it]
|
| 44 |
22%|██▏ | 44/201 [17:10<1:16:36, 29.28s/it]
|
| 45 |
22%|██▏ | 45/201 [17:11<54:36, 21.00s/it]
|
| 46 |
23%|██▎ | 46/201 [17:17<42:34, 16.48s/it]
|
| 47 |
23%|██▎ | 47/201 [17:47<52:22, 20.41s/it]
|
| 48 |
24%|██▍ | 48/201 [17:50<38:54, 15.26s/it]
|
| 49 |
24%|██▍ | 49/201 [18:24<52:52, 20.87s/it]
|
| 50 |
25%|██▍ | 50/201 [18:33<43:55, 17.45s/it]
|
| 51 |
25%|██▌ | 51/201 [18:45<39:31, 15.81s/it]
|
| 52 |
26%|██▌ | 52/201 [19:52<1:17:08, 31.06s/it]
|
| 53 |
26%|██▋ | 53/201 [19:58<58:01, 23.52s/it]
|
| 54 |
27%|██▋ | 54/201 [20:21<57:02, 23.29s/it]
|
| 55 |
27%|██▋ | 55/201 [21:00<1:08:07, 27.99s/it]
|
| 56 |
28%|██▊ | 56/201 [21:02<49:19, 20.41s/it]
|
| 57 |
28%|██▊ | 57/201 [21:15<43:32, 18.14s/it]
|
| 58 |
29%|██▉ | 58/201 [21:19<33:06, 13.89s/it]
|
| 59 |
29%|██▉ | 59/201 [21:34<33:10, 14.02s/it]
|
| 60 |
30%|██▉ | 60/201 [21:44<30:39, 13.05s/it]
|
| 61 |
30%|███ | 61/201 [21:45<21:58, 9.42s/it]
|
| 62 |
31%|███ | 62/201 [21:59<24:25, 10.54s/it]
|
| 63 |
31%|███▏ | 63/201 [22:01<18:41, 8.12s/it]
|
| 64 |
32%|███▏ | 64/201 [22:02<13:55, 6.10s/it]
|
| 65 |
32%|███▏ | 65/201 [22:16<19:14, 8.49s/it]
|
| 66 |
33%|███▎ | 66/201 [24:15<1:33:19, 41.48s/it]
|
| 67 |
33%|███▎ | 67/201 [24:34<1:17:26, 34.67s/it]
|
| 68 |
34%|███▍ | 68/201 [24:49<1:04:01, 28.89s/it]
|
| 69 |
34%|███▍ | 69/201 [24:54<47:37, 21.65s/it]
|
| 70 |
35%|███▍ | 70/201 [25:39<1:02:34, 28.66s/it]
|
| 71 |
35%|███▌ | 71/201 [25:40<44:29, 20.53s/it]
|
| 72 |
36%|███▌ | 72/201 [26:16<53:58, 25.10s/it]
|
| 73 |
36%|███▋ | 73/201 [26:25<43:17, 20.29s/it]
|
| 74 |
37%|███▋ | 74/201 [26:29<32:26, 15.33s/it]
|
| 75 |
37%|███▋ | 75/201 [26:33<25:04, 11.94s/it]
|
| 76 |
38%|███▊ | 76/201 [27:21<47:11, 22.65s/it]
|
| 77 |
38%|███▊ | 77/201 [27:22<33:50, 16.38s/it]
|
| 78 |
39%|███▉ | 78/201 [27:25<25:00, 12.20s/it]
|
| 79 |
39%|███▉ | 79/201 [27:47<30:54, 15.20s/it]
|
| 80 |
40%|███▉ | 80/201 [27:49<22:49, 11.32s/it]
|
| 81 |
40%|████ | 81/201 [27:57<20:19, 10.16s/it]
|
| 82 |
41%|████ | 82/201 [28:09<21:08, 10.66s/it]
|
| 83 |
41%|████▏ | 83/201 [28:16<18:55, 9.62s/it]
|
| 84 |
42%|████▏ | 84/201 [28:26<19:14, 9.86s/it]
|
| 85 |
42%|████▏ | 85/201 [28:38<20:04, 10.39s/it]
|
| 86 |
43%|████▎ | 86/201 [28:40<15:04, 7.87s/it]
|
| 87 |
43%|████▎ | 87/201 [29:36<42:11, 22.21s/it]
|
| 88 |
44%|████▍ | 88/201 [29:37<30:12, 16.04s/it]
|
| 89 |
44%|████▍ | 89/201 [30:06<37:07, 19.89s/it]
|
| 90 |
45%|████▍ | 90/201 [30:25<36:12, 19.57s/it]
|
| 91 |
45%|████▌ | 91/201 [30:38<32:09, 17.54s/it]
|
| 92 |
46%|████▌ | 92/201 [31:04<36:56, 20.33s/it]
|
| 93 |
46%|████▋ | 93/201 [31:06<26:15, 14.59s/it]
|
| 94 |
47%|████▋ | 94/201 [31:58<45:57, 25.77s/it]
|
| 95 |
47%|████▋ | 95/201 [31:58<32:13, 18.24s/it]
|
| 96 |
48%|████▊ | 96/201 [32:01<23:37, 13.50s/it]
|
| 97 |
48%|████▊ | 97/201 [32:02<16:58, 9.79s/it]
|
| 98 |
49%|████▉ | 98/201 [32:40<31:20, 18.26s/it]
|
| 99 |
49%|████▉ | 99/201 [32:41<22:17, 13.11s/it]
|
| 100 |
50%|████▉ | 100/201 [32:45<17:36, 10.46s/it]
|
| 101 |
50%|█████ | 101/201 [32:49<14:04, 8.45s/it]
|
| 102 |
51%|█████ | 102/201 [32:52<11:12, 6.80s/it]
|
| 103 |
51%|█████ | 103/201 [32:54<08:51, 5.42s/it]
|
| 104 |
52%|█████▏ | 104/201 [34:37<56:07, 34.72s/it]
|
| 105 |
52%|█████▏ | 105/201 [34:55<47:29, 29.68s/it]
|
| 106 |
53%|█████▎ | 106/201 [35:05<37:48, 23.88s/it]
|
| 107 |
53%|█████▎ | 107/201 [35:07<27:00, 17.24s/it]
|
| 108 |
54%|█████▎ | 108/201 [35:09<19:27, 12.56s/it]
|
| 109 |
54%|█████▍ | 109/201 [35:14<15:46, 10.29s/it]
|
| 110 |
55%|█████▍ | 110/201 [35:15<11:17, 7.45s/it]
|
| 111 |
55%|█████▌ | 111/201 [35:17<08:40, 5.79s/it]
|
| 112 |
56%|█████▌ | 112/201 [35:48<19:49, 13.36s/it]
|
| 113 |
56%|█████▌ | 113/201 [36:00<19:04, 13.01s/it]
|
| 114 |
57%|█████▋ | 114/201 [36:01<13:55, 9.61s/it]
|
| 115 |
57%|█████▋ | 115/201 [36:04<10:38, 7.42s/it]
|
| 116 |
58%|█████▊ | 116/201 [36:04<07:32, 5.32s/it]
|
| 117 |
58%|█████▊ | 117/201 [36:07<06:26, 4.60s/it]
|
| 118 |
59%|█████▊ | 118/201 [36:16<08:06, 5.86s/it]
|
| 119 |
59%|█████▉ | 119/201 [36:18<06:24, 4.69s/it]
|
| 120 |
60%|█████▉ | 120/201 [36:27<08:02, 5.96s/it]
|
| 121 |
60%|██████ | 121/201 [36:29<06:19, 4.74s/it]
|
| 122 |
61%|██████ | 122/201 [36:48<12:04, 9.16s/it]
|
| 123 |
61%|██████ | 123/201 [37:02<13:52, 10.67s/it]
|
| 124 |
62%|██████▏ | 124/201 [37:38<23:17, 18.15s/it]
|
| 125 |
62%|██████▏ | 125/201 [37:40<16:56, 13.37s/it]
|
| 126 |
63%|██████▎ | 126/201 [37:46<14:00, 11.21s/it]
|
| 127 |
63%|██████▎ | 127/201 [38:41<29:48, 24.16s/it]
|
| 128 |
64%|██████▎ | 128/201 [40:40<1:04:08, 52.72s/it]
|
| 129 |
64%|██████▍ | 129/201 [41:00<51:20, 42.79s/it]
|
| 130 |
65%|██████▍ | 130/201 [41:01<35:48, 30.26s/it]
|
| 131 |
65%|██████▌ | 131/201 [41:38<37:39, 32.28s/it]
|
| 132 |
66%|██████▌ | 132/201 [41:51<30:27, 26.49s/it]
|
| 133 |
66%|██████▌ | 133/201 [41:54<22:00, 19.42s/it]
|
| 134 |
67%|██████▋ | 134/201 [42:02<18:02, 16.16s/it]
|
| 135 |
67%|██████▋ | 135/201 [42:04<12:55, 11.76s/it]
|
| 136 |
68%|██████▊ | 136/201 [42:06<09:32, 8.80s/it]
|
| 137 |
68%|██████▊ | 137/201 [42:14<09:21, 8.77s/it]
|
| 138 |
69%|██████▊ | 138/201 [42:39<14:18, 13.63s/it]
|
| 139 |
69%|██████▉ | 139/201 [43:40<28:49, 27.89s/it]
|
| 140 |
70%|██████▉ | 140/201 [43:45<21:07, 20.78s/it]
|
| 141 |
70%|███████ | 141/201 [44:29<28:01, 28.02s/it]
|
| 142 |
71%|███████ | 142/201 [45:00<28:16, 28.75s/it]
|
| 143 |
71%|███████ | 143/201 [45:27<27:25, 28.37s/it]
|
| 144 |
72%|███████▏ | 144/201 [45:59<27:50, 29.31s/it]
|
| 145 |
72%|███████▏ | 145/201 [46:01<19:36, 21.00s/it]
|
| 146 |
73%|███████▎ | 146/201 [46:04<14:28, 15.79s/it]
|
| 147 |
73%|███████▎ | 147/201 [46:14<12:38, 14.05s/it]
|
| 148 |
74%|███████▎ | 148/201 [46:20<10:14, 11.59s/it]
|
| 149 |
74%|███████▍ | 149/201 [47:17<21:46, 25.12s/it]
|
| 150 |
75%|███████▍ | 150/201 [47:18<15:21, 18.06s/it]
|
| 151 |
75%|███████▌ | 151/201 [47:36<14:57, 17.95s/it]
|
| 152 |
76%|███████▌ | 152/201 [47:39<10:55, 13.38s/it]
|
| 153 |
76%|███████▌ | 153/201 [47:45<09:03, 11.33s/it]
|
| 154 |
77%|███████▋ | 154/201 [48:33<17:26, 22.27s/it]
|
| 155 |
77%|███████▋ | 155/201 [48:36<12:44, 16.62s/it]
|
| 156 |
78%|███████▊ | 156/201 [48:41<09:49, 13.10s/it]
|
| 157 |
78%|███████▊ | 157/201 [49:33<18:07, 24.70s/it]
|
| 158 |
79%|███████▊ | 158/201 [49:36<12:55, 18.03s/it]
|
| 159 |
79%|███████▉ | 159/201 [50:40<22:26, 32.06s/it]
|
| 160 |
80%|███████▉ | 160/201 [50:42<15:35, 22.81s/it]
|
| 161 |
80%|████████ | 161/201 [51:17<17:46, 26.67s/it]
|
| 162 |
81%|████████ | 162/201 [51:21<12:52, 19.81s/it]
|
| 163 |
81%|████████ | 163/201 [52:29<21:36, 34.12s/it]
|
| 164 |
82%|████████▏ | 164/201 [52:50<18:40, 30.28s/it]
|
| 165 |
82%|████████▏ | 165/201 [52:51<12:58, 21.63s/it]
|
| 166 |
83%|████████▎ | 166/201 [52:54<09:18, 15.95s/it]
|
| 167 |
83%|████████▎ | 167/201 [52:58<07:01, 12.41s/it]
|
| 168 |
84%|████████▎ | 168/201 [55:09<26:22, 47.94s/it]
|
| 169 |
84%|████████▍ | 169/201 [55:16<18:56, 35.51s/it]
|
| 170 |
85%|███████���▍ | 170/201 [55:18<13:11, 25.52s/it]
|
| 171 |
85%|████████▌ | 171/201 [55:25<10:03, 20.10s/it]
|
| 172 |
86%|████████▌ | 172/201 [56:30<16:09, 33.43s/it]
|
| 173 |
86%|████████▌ | 173/201 [56:36<11:43, 25.14s/it]
|
| 174 |
87%|████████▋ | 174/201 [56:37<08:03, 17.91s/it]
|
| 175 |
87%|████████▋ | 175/201 [56:47<06:48, 15.72s/it]
|
| 176 |
88%|████████▊ | 176/201 [56:50<04:53, 11.72s/it]
|
| 177 |
88%|████████▊ | 177/201 [57:13<06:04, 15.19s/it]
|
| 178 |
89%|████████▊ | 178/201 [57:15<04:22, 11.40s/it]
|
| 179 |
89%|████████▉ | 179/201 [57:39<05:31, 15.05s/it]
|
| 180 |
90%|████████▉ | 180/201 [58:00<05:54, 16.90s/it]
|
| 181 |
90%|█████████ | 181/201 [59:28<12:42, 38.12s/it]
|
| 182 |
91%|█████████ | 182/201 [1:01:19<19:01, 60.07s/it]
|
| 183 |
91%|█████████ | 183/201 [1:01:45<14:57, 49.86s/it]
|
| 184 |
92%|█████████▏| 184/201 [1:02:28<13:31, 47.73s/it]
|
| 185 |
92%|█████████▏| 185/201 [1:02:30<09:04, 34.04s/it]
|
| 186 |
93%|█████████▎| 186/201 [1:02:35<06:17, 25.20s/it]
|
| 187 |
93%|█████████▎| 187/201 [1:02:43<04:41, 20.08s/it]
|
| 188 |
94%|█████████▎| 188/201 [1:02:47<03:18, 15.28s/it]
|
| 189 |
94%|█████████▍| 189/201 [1:03:21<04:11, 20.97s/it]
|
| 190 |
95%|█████████▍| 190/201 [1:03:59<04:47, 26.13s/it]
|
| 191 |
95%|█████████▌| 191/201 [1:04:47<05:26, 32.61s/it]
|
| 192 |
96%|█████████▌| 192/201 [1:04:48<03:28, 23.20s/it]
|
| 193 |
96%|█████████▌| 193/201 [1:05:06<02:52, 21.60s/it]
|
| 194 |
97%|█████████▋| 194/201 [1:05:15<02:05, 17.89s/it]
|
| 195 |
97%|█████████▋| 195/201 [1:05:49<02:14, 22.48s/it]
|
| 196 |
98%|█████████▊| 196/201 [1:05:50<01:20, 16.04s/it]
|
| 197 |
98%|█████████▊| 197/201 [1:06:14<01:14, 18.55s/it]
|
| 198 |
99%|█████████▊| 198/201 [1:06:41<01:03, 21.24s/it]
|
| 199 |
99%|█████████▉| 199/201 [1:07:16<00:50, 25.11s/it]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
0%| | 0/201 [00:00<?, ?it/s]
|
| 3 |
0%| | 1/201 [01:06<3:41:53, 66.57s/it]
|
| 4 |
1%| | 2/201 [02:21<3:57:05, 71.48s/it]
|
| 5 |
1%|▏ | 3/201 [02:24<2:12:16, 40.08s/it]
|
| 6 |
2%|▏ | 4/201 [02:26<1:22:10, 25.03s/it]
|
| 7 |
2%|▏ | 5/201 [02:39<1:07:30, 20.66s/it]
|
| 8 |
3%|▎ | 6/201 [02:39<45:10, 13.90s/it]
|
| 9 |
3%|▎ | 7/201 [02:41<31:51, 9.85s/it]
|
| 10 |
4%|▍ | 8/201 [02:44<24:19, 7.56s/it]
|
| 11 |
4%|▍ | 9/201 [02:51<24:27, 7.64s/it]
|
| 12 |
5%|▍ | 10/201 [02:54<19:20, 6.07s/it]
|
| 13 |
5%|▌ | 11/201 [03:50<1:07:21, 21.27s/it]
|
| 14 |
6%|▌ | 12/201 [03:50<47:12, 14.99s/it]
|
| 15 |
6%|▋ | 13/201 [04:29<1:09:40, 22.24s/it]
|
| 16 |
7%|▋ | 14/201 [04:31<50:22, 16.16s/it]
|
| 17 |
7%|▋ | 15/201 [04:34<37:50, 12.21s/it]
|
| 18 |
8%|▊ | 16/201 [04:49<40:20, 13.08s/it]
|
| 19 |
8%|▊ | 17/201 [05:27<1:02:56, 20.52s/it]
|
| 20 |
9%|▉ | 18/201 [05:56<1:10:29, 23.11s/it]
|
| 21 |
9%|▉ | 19/201 [06:58<1:44:51, 34.57s/it]
|
| 22 |
10%|▉ | 20/201 [07:48<1:58:38, 39.33s/it]
|
| 23 |
10%|█ | 21/201 [07:50<1:23:58, 27.99s/it]
|
| 24 |
11%|█ | 22/201 [07:51<59:12, 19.85s/it]
|
| 25 |
11%|█▏ | 23/201 [08:16<1:03:56, 21.56s/it]
|
| 26 |
12%|█▏ | 24/201 [08:17<45:19, 15.36s/it]
|
| 27 |
12%|█▏ | 25/201 [08:18<32:23, 11.04s/it]
|
| 28 |
13%|█▎ | 26/201 [08:44<45:28, 15.59s/it]
|
| 29 |
13%|█▎ | 27/201 [09:01<46:39, 16.09s/it]
|
| 30 |
14%|█▍ | 28/201 [09:52<1:16:36, 26.57s/it]
|
| 31 |
14%|█▍ | 29/201 [10:45<1:38:21, 34.31s/it]
|
| 32 |
15%|█▍ | 30/201 [10:47<1:10:01, 24.57s/it]
|
| 33 |
15%|█▌ | 31/201 [10:50<51:46, 18.27s/it]
|
| 34 |
16%|█▌ | 32/201 [11:22<1:02:49, 22.31s/it]
|
| 35 |
16%|█▋ | 33/201 [11:43<1:01:24, 21.93s/it]
|
| 36 |
17%|█▋ | 34/201 [12:28<1:20:32, 28.94s/it]
|
| 37 |
17%|█▋ | 35/201 [12:30<57:05, 20.63s/it]
|
| 38 |
18%|█▊ | 36/201 [12:30<40:16, 14.65s/it]
|
| 39 |
18%|█▊ | 37/201 [12:44<39:09, 14.33s/it]
|
| 40 |
19%|█▉ | 38/201 [12:46<29:20, 10.80s/it]
|
| 41 |
19%|█▉ | 39/201 [12:58<29:55, 11.08s/it]/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/evaluation/metrics.py:36: RuntimeWarning: invalid value encountered in scalar divide
|
| 42 |
+
j = inters / union
|
| 43 |
+
|
| 44 |
20%|█▉ | 40/201 [14:28<1:33:18, 34.78s/it]
|
| 45 |
20%|██ | 41/201 [15:52<2:11:40, 49.38s/it]
|
| 46 |
21%|██ | 42/201 [17:02<2:27:23, 55.62s/it]
|
| 47 |
21%|██▏ | 43/201 [17:05<1:45:23, 40.02s/it]
|
| 48 |
22%|██▏ | 44/201 [17:10<1:16:36, 29.28s/it]
|
| 49 |
22%|██▏ | 45/201 [17:11<54:36, 21.00s/it]
|
| 50 |
23%|██▎ | 46/201 [17:17<42:34, 16.48s/it]
|
| 51 |
23%|██▎ | 47/201 [17:47<52:22, 20.41s/it]
|
| 52 |
24%|██▍ | 48/201 [17:50<38:54, 15.26s/it]
|
| 53 |
24%|██▍ | 49/201 [18:24<52:52, 20.87s/it]
|
| 54 |
25%|██▍ | 50/201 [18:33<43:55, 17.45s/it]
|
| 55 |
25%|██▌ | 51/201 [18:45<39:31, 15.81s/it]
|
| 56 |
26%|██▌ | 52/201 [19:52<1:17:08, 31.06s/it]
|
| 57 |
26%|██▋ | 53/201 [19:58<58:01, 23.52s/it]
|
| 58 |
27%|██▋ | 54/201 [20:21<57:02, 23.29s/it]
|
| 59 |
27%|██▋ | 55/201 [21:00<1:08:07, 27.99s/it]
|
| 60 |
28%|██▊ | 56/201 [21:02<49:19, 20.41s/it]
|
| 61 |
28%|██▊ | 57/201 [21:15<43:32, 18.14s/it]
|
| 62 |
29%|██▉ | 58/201 [21:19<33:06, 13.89s/it]
|
| 63 |
29%|██▉ | 59/201 [21:34<33:10, 14.02s/it]
|
| 64 |
30%|██▉ | 60/201 [21:44<30:39, 13.05s/it]
|
| 65 |
30%|███ | 61/201 [21:45<21:58, 9.42s/it]
|
| 66 |
31%|███ | 62/201 [21:59<24:25, 10.54s/it]
|
| 67 |
31%|███▏ | 63/201 [22:01<18:41, 8.12s/it]
|
| 68 |
32%|███▏ | 64/201 [22:02<13:55, 6.10s/it]
|
| 69 |
32%|███▏ | 65/201 [22:16<19:14, 8.49s/it]
|
| 70 |
33%|███▎ | 66/201 [24:15<1:33:19, 41.48s/it]
|
| 71 |
33%|███▎ | 67/201 [24:34<1:17:26, 34.67s/it]
|
| 72 |
34%|███▍ | 68/201 [24:49<1:04:01, 28.89s/it]
|
| 73 |
34%|███▍ | 69/201 [24:54<47:37, 21.65s/it]
|
| 74 |
35%|███▍ | 70/201 [25:39<1:02:34, 28.66s/it]
|
| 75 |
35%|███▌ | 71/201 [25:40<44:29, 20.53s/it]
|
| 76 |
36%|███▌ | 72/201 [26:16<53:58, 25.10s/it]
|
| 77 |
36%|███▋ | 73/201 [26:25<43:17, 20.29s/it]
|
| 78 |
37%|███▋ | 74/201 [26:29<32:26, 15.33s/it]
|
| 79 |
37%|███▋ | 75/201 [26:33<25:04, 11.94s/it]
|
| 80 |
38%|███▊ | 76/201 [27:21<47:11, 22.65s/it]
|
| 81 |
38%|███▊ | 77/201 [27:22<33:50, 16.38s/it]
|
| 82 |
39%|███▉ | 78/201 [27:25<25:00, 12.20s/it]
|
| 83 |
39%|███▉ | 79/201 [27:47<30:54, 15.20s/it]
|
| 84 |
40%|███▉ | 80/201 [27:49<22:49, 11.32s/it]
|
| 85 |
40%|████ | 81/201 [27:57<20:19, 10.16s/it]
|
| 86 |
41%|████ | 82/201 [28:09<21:08, 10.66s/it]
|
| 87 |
41%|████▏ | 83/201 [28:16<18:55, 9.62s/it]
|
| 88 |
42%|████▏ | 84/201 [28:26<19:14, 9.86s/it]
|
| 89 |
42%|████▏ | 85/201 [28:38<20:04, 10.39s/it]
|
| 90 |
43%|████▎ | 86/201 [28:40<15:04, 7.87s/it]
|
| 91 |
43%|████▎ | 87/201 [29:36<42:11, 22.21s/it]
|
| 92 |
44%|████▍ | 88/201 [29:37<30:12, 16.04s/it]
|
| 93 |
44%|████▍ | 89/201 [30:06<37:07, 19.89s/it]
|
| 94 |
45%|████▍ | 90/201 [30:25<36:12, 19.57s/it]
|
| 95 |
45%|████▌ | 91/201 [30:38<32:09, 17.54s/it]
|
| 96 |
46%|████▌ | 92/201 [31:04<36:56, 20.33s/it]
|
| 97 |
46%|████▋ | 93/201 [31:06<26:15, 14.59s/it]
|
| 98 |
47%|████▋ | 94/201 [31:58<45:57, 25.77s/it]
|
| 99 |
47%|████▋ | 95/201 [31:58<32:13, 18.24s/it]
|
| 100 |
48%|████▊ | 96/201 [32:01<23:37, 13.50s/it]
|
| 101 |
48%|████▊ | 97/201 [32:02<16:58, 9.79s/it]
|
| 102 |
49%|████▉ | 98/201 [32:40<31:20, 18.26s/it]
|
| 103 |
49%|████▉ | 99/201 [32:41<22:17, 13.11s/it]
|
| 104 |
50%|████▉ | 100/201 [32:45<17:36, 10.46s/it]
|
| 105 |
50%|█████ | 101/201 [32:49<14:04, 8.45s/it]
|
| 106 |
51%|█████ | 102/201 [32:52<11:12, 6.80s/it]
|
| 107 |
51%|█████ | 103/201 [32:54<08:51, 5.42s/it]
|
| 108 |
52%|█████▏ | 104/201 [34:37<56:07, 34.72s/it]
|
| 109 |
52%|█████▏ | 105/201 [34:55<47:29, 29.68s/it]
|
| 110 |
53%|█████▎ | 106/201 [35:05<37:48, 23.88s/it]
|
| 111 |
53%|█████▎ | 107/201 [35:07<27:00, 17.24s/it]
|
| 112 |
54%|█████▎ | 108/201 [35:09<19:27, 12.56s/it]
|
| 113 |
54%|█████▍ | 109/201 [35:14<15:46, 10.29s/it]
|
| 114 |
55%|█████▍ | 110/201 [35:15<11:17, 7.45s/it]
|
| 115 |
55%|█████▌ | 111/201 [35:17<08:40, 5.79s/it]
|
| 116 |
56%|█████▌ | 112/201 [35:48<19:49, 13.36s/it]
|
| 117 |
56%|█████▌ | 113/201 [36:00<19:04, 13.01s/it]
|
| 118 |
57%|█████▋ | 114/201 [36:01<13:55, 9.61s/it]
|
| 119 |
57%|█████▋ | 115/201 [36:04<10:38, 7.42s/it]
|
| 120 |
58%|█████▊ | 116/201 [36:04<07:32, 5.32s/it]
|
| 121 |
58%|█████▊ | 117/201 [36:07<06:26, 4.60s/it]
|
| 122 |
59%|█████▊ | 118/201 [36:16<08:06, 5.86s/it]
|
| 123 |
59%|█████▉ | 119/201 [36:18<06:24, 4.69s/it]
|
| 124 |
60%|█████▉ | 120/201 [36:27<08:02, 5.96s/it]
|
| 125 |
60%|██████ | 121/201 [36:29<06:19, 4.74s/it]
|
| 126 |
61%|██████ | 122/201 [36:48<12:04, 9.16s/it]
|
| 127 |
61%|██████ | 123/201 [37:02<13:52, 10.67s/it]
|
| 128 |
62%|██████▏ | 124/201 [37:38<23:17, 18.15s/it]
|
| 129 |
62%|██████▏ | 125/201 [37:40<16:56, 13.37s/it]
|
| 130 |
63%|██████▎ | 126/201 [37:46<14:00, 11.21s/it]
|
| 131 |
63%|██████▎ | 127/201 [38:41<29:48, 24.16s/it]
|
| 132 |
64%|██████▎ | 128/201 [40:40<1:04:08, 52.72s/it]
|
| 133 |
64%|██████▍ | 129/201 [41:00<51:20, 42.79s/it]
|
| 134 |
65%|██████▍ | 130/201 [41:01<35:48, 30.26s/it]
|
| 135 |
65%|██████▌ | 131/201 [41:38<37:39, 32.28s/it]
|
| 136 |
66%|██████▌ | 132/201 [41:51<30:27, 26.49s/it]
|
| 137 |
66%|██████▌ | 133/201 [41:54<22:00, 19.42s/it]
|
| 138 |
67%|██████▋ | 134/201 [42:02<18:02, 16.16s/it]
|
| 139 |
67%|██████▋ | 135/201 [42:04<12:55, 11.76s/it]
|
| 140 |
68%|██████▊ | 136/201 [42:06<09:32, 8.80s/it]
|
| 141 |
68%|██████▊ | 137/201 [42:14<09:21, 8.77s/it]
|
| 142 |
69%|██████▊ | 138/201 [42:39<14:18, 13.63s/it]
|
| 143 |
69%|██████▉ | 139/201 [43:40<28:49, 27.89s/it]
|
| 144 |
70%|██████▉ | 140/201 [43:45<21:07, 20.78s/it]
|
| 145 |
70%|███████ | 141/201 [44:29<28:01, 28.02s/it]
|
| 146 |
71%|███████ | 142/201 [45:00<28:16, 28.75s/it]
|
| 147 |
71%|███████ | 143/201 [45:27<27:25, 28.37s/it]
|
| 148 |
72%|███████▏ | 144/201 [45:59<27:50, 29.31s/it]
|
| 149 |
72%|███████▏ | 145/201 [46:01<19:36, 21.00s/it]
|
| 150 |
73%|███████▎ | 146/201 [46:04<14:28, 15.79s/it]
|
| 151 |
73%|███████▎ | 147/201 [46:14<12:38, 14.05s/it]
|
| 152 |
74%|███████▎ | 148/201 [46:20<10:14, 11.59s/it]
|
| 153 |
74%|███████▍ | 149/201 [47:17<21:46, 25.12s/it]
|
| 154 |
75%|███████▍ | 150/201 [47:18<15:21, 18.06s/it]
|
| 155 |
75%|███████▌ | 151/201 [47:36<14:57, 17.95s/it]
|
| 156 |
76%|███████▌ | 152/201 [47:39<10:55, 13.38s/it]
|
| 157 |
76%|███████▌ | 153/201 [47:45<09:03, 11.33s/it]
|
| 158 |
77%|███████▋ | 154/201 [48:33<17:26, 22.27s/it]
|
| 159 |
77%|███████▋ | 155/201 [48:36<12:44, 16.62s/it]
|
| 160 |
78%|███████▊ | 156/201 [48:41<09:49, 13.10s/it]
|
| 161 |
78%|███████▊ | 157/201 [49:33<18:07, 24.70s/it]
|
| 162 |
79%|███████▊ | 158/201 [49:36<12:55, 18.03s/it]
|
| 163 |
79%|███████▉ | 159/201 [50:40<22:26, 32.06s/it]
|
| 164 |
80%|███████▉ | 160/201 [50:42<15:35, 22.81s/it]
|
| 165 |
80%|████████ | 161/201 [51:17<17:46, 26.67s/it]
|
| 166 |
81%|████████ | 162/201 [51:21<12:52, 19.81s/it]
|
| 167 |
81%|████████ | 163/201 [52:29<21:36, 34.12s/it]
|
| 168 |
82%|████████▏ | 164/201 [52:50<18:40, 30.28s/it]
|
| 169 |
82%|████████▏ | 165/201 [52:51<12:58, 21.63s/it]
|
| 170 |
83%|████████▎ | 166/201 [52:54<09:18, 15.95s/it]
|
| 171 |
83%|████████▎ | 167/201 [52:58<07:01, 12.41s/it]
|
| 172 |
84%|████████▎ | 168/201 [55:09<26:22, 47.94s/it]
|
| 173 |
84%|████████▍ | 169/201 [55:16<18:56, 35.51s/it]
|
| 174 |
85%|███████���▍ | 170/201 [55:18<13:11, 25.52s/it]
|
| 175 |
85%|████████▌ | 171/201 [55:25<10:03, 20.10s/it]
|
| 176 |
86%|████████▌ | 172/201 [56:30<16:09, 33.43s/it]
|
| 177 |
86%|████████▌ | 173/201 [56:36<11:43, 25.14s/it]
|
| 178 |
87%|████████▋ | 174/201 [56:37<08:03, 17.91s/it]
|
| 179 |
87%|████████▋ | 175/201 [56:47<06:48, 15.72s/it]
|
| 180 |
88%|████████▊ | 176/201 [56:50<04:53, 11.72s/it]
|
| 181 |
88%|████████▊ | 177/201 [57:13<06:04, 15.19s/it]
|
| 182 |
89%|████████▊ | 178/201 [57:15<04:22, 11.40s/it]
|
| 183 |
89%|████████▉ | 179/201 [57:39<05:31, 15.05s/it]
|
| 184 |
90%|████████▉ | 180/201 [58:00<05:54, 16.90s/it]
|
| 185 |
90%|█████████ | 181/201 [59:28<12:42, 38.12s/it]
|
| 186 |
91%|█████████ | 182/201 [1:01:19<19:01, 60.07s/it]
|
| 187 |
91%|█████████ | 183/201 [1:01:45<14:57, 49.86s/it]
|
| 188 |
92%|█████████▏| 184/201 [1:02:28<13:31, 47.73s/it]
|
| 189 |
92%|█████████▏| 185/201 [1:02:30<09:04, 34.04s/it]
|
| 190 |
93%|█████████▎| 186/201 [1:02:35<06:17, 25.20s/it]
|
| 191 |
93%|█████████▎| 187/201 [1:02:43<04:41, 20.08s/it]
|
| 192 |
94%|█████████▎| 188/201 [1:02:47<03:18, 15.28s/it]
|
| 193 |
94%|█████████▍| 189/201 [1:03:21<04:11, 20.97s/it]
|
| 194 |
95%|█████████▍| 190/201 [1:03:59<04:47, 26.13s/it]
|
| 195 |
95%|█████████▌| 191/201 [1:04:47<05:26, 32.61s/it]
|
| 196 |
96%|█████████▌| 192/201 [1:04:48<03:28, 23.20s/it]
|
| 197 |
96%|█████████▌| 193/201 [1:05:06<02:52, 21.60s/it]
|
| 198 |
97%|█████████▋| 194/201 [1:05:15<02:05, 17.89s/it]
|
| 199 |
97%|█████████▋| 195/201 [1:05:49<02:14, 22.48s/it]
|
| 200 |
98%|█████████▊| 196/201 [1:05:50<01:20, 16.04s/it]
|
| 201 |
98%|█████████▊| 197/201 [1:06:14<01:14, 18.55s/it]
|
| 202 |
99%|█████████▊| 198/201 [1:06:41<01:03, 21.24s/it]
|
| 203 |
99%|█████████▉| 199/201 [1:07:16<00:50, 25.11s/it]
|
| 204 |
+
TOTAL EXISTENCE BALANCED ACC: 0.6156669615094792
|
| 205 |
+
TOTAL IOU: 0.05312182000938763
|
| 206 |
+
TOTAL LOCATION SCORE: 0.11091002580370038
|
| 207 |
+
TOTAL SHAPE ACC: 0.1461757670000539
|
83062.log
ADDED
|
@@ -0,0 +1,441 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Solving dependencies
|
| 2 |
+
Installing conda packages
|
| 3 |
+
Empty environment created at prefix: /scratch/yuqian_fu/micromamba/envs/auto-z4wmiwft6kwh
|
| 4 |
+
Transaction
|
| 5 |
+
|
| 6 |
+
Prefix: /scratch/yuqian_fu/micromamba/envs/auto-z4wmiwft6kwh
|
| 7 |
+
|
| 8 |
+
|
| 9 |
+
|
| 10 |
+
No specs added or removed.
|
| 11 |
+
|
| 12 |
+
Package Version Build Channel Size
|
| 13 |
+
─────────────────────────────────────────────────────────────────────────────────────────────
|
| 14 |
+
Install:
|
| 15 |
+
─────────────────────────────────────────────────────────────────────────────────────────────
|
| 16 |
+
|
| 17 |
+
+ _libgcc_mutex 0.1 conda_forge conda-forge
|
| 18 |
+
+ _openmp_mutex 4.5 2_gnu conda-forge
|
| 19 |
+
+ bzip2 1.0.8 h4bc722e_7 conda-forge
|
| 20 |
+
+ ca-certificates 2024.8.30 hbcca054_0 conda-forge
|
| 21 |
+
+ ld_impl_linux-64 2.40 hf3520f5_7 conda-forge
|
| 22 |
+
+ libexpat 2.6.3 h5888daf_0 conda-forge
|
| 23 |
+
+ libffi 3.4.2 h7f98852_5 conda-forge
|
| 24 |
+
+ libgcc 14.1.0 h77fa898_1 conda-forge
|
| 25 |
+
+ libgcc-ng 14.1.0 h69a702a_1 conda-forge
|
| 26 |
+
+ libgomp 14.1.0 h77fa898_1 conda-forge
|
| 27 |
+
+ libnsl 2.0.1 hd590300_0 conda-forge
|
| 28 |
+
+ libsqlite 3.46.1 hadc24fc_0 conda-forge
|
| 29 |
+
+ libuuid 2.38.1 h0b41bf4_0 conda-forge
|
| 30 |
+
+ libxcrypt 4.4.36 hd590300_1 conda-forge
|
| 31 |
+
+ libzlib 1.3.1 h4ab18f5_1 conda-forge
|
| 32 |
+
+ ncurses 6.5 he02047a_1 conda-forge
|
| 33 |
+
+ openssl 3.3.2 hb9d3cd8_0 conda-forge
|
| 34 |
+
+ pip 24.2 pyh8b19718_1 conda-forge
|
| 35 |
+
+ python 3.11.10 hc5c86c4_0_cpython conda-forge
|
| 36 |
+
+ readline 8.2 h8228510_1 conda-forge
|
| 37 |
+
+ setuptools 73.0.1 pyhd8ed1ab_0 conda-forge
|
| 38 |
+
+ tk 8.6.13 noxft_h4845f30_101 /work/conda/cache/conda-forge
|
| 39 |
+
+ tzdata 2024a h8827d51_1 conda-forge
|
| 40 |
+
+ wheel 0.44.0 pyhd8ed1ab_0 conda-forge
|
| 41 |
+
+ xz 5.2.6 h166bdaf_0 conda-forge
|
| 42 |
+
|
| 43 |
+
Summary:
|
| 44 |
+
|
| 45 |
+
Install: 25 packages
|
| 46 |
+
|
| 47 |
+
Total download: 0 B
|
| 48 |
+
|
| 49 |
+
─────────────────────────────────────────────────────────────────────────────────────────────
|
| 50 |
+
|
| 51 |
+
|
| 52 |
+
|
| 53 |
+
Transaction starting
|
| 54 |
+
Linking _libgcc_mutex-0.1-conda_forge
|
| 55 |
+
Linking ld_impl_linux-64-2.40-hf3520f5_7
|
| 56 |
+
Linking ca-certificates-2024.8.30-hbcca054_0
|
| 57 |
+
Linking libgomp-14.1.0-h77fa898_1
|
| 58 |
+
Linking _openmp_mutex-4.5-2_gnu
|
| 59 |
+
Linking libgcc-14.1.0-h77fa898_1
|
| 60 |
+
Linking libgcc-ng-14.1.0-h69a702a_1
|
| 61 |
+
Linking openssl-3.3.2-hb9d3cd8_0
|
| 62 |
+
Linking libexpat-2.6.3-h5888daf_0
|
| 63 |
+
Linking libffi-3.4.2-h7f98852_5
|
| 64 |
+
Linking libzlib-1.3.1-h4ab18f5_1
|
| 65 |
+
Linking libxcrypt-4.4.36-hd590300_1
|
| 66 |
+
Linking bzip2-1.0.8-h4bc722e_7
|
| 67 |
+
Linking ncurses-6.5-he02047a_1
|
| 68 |
+
Linking xz-5.2.6-h166bdaf_0
|
| 69 |
+
Linking libuuid-2.38.1-h0b41bf4_0
|
| 70 |
+
Linking libnsl-2.0.1-hd590300_0
|
| 71 |
+
Linking tk-8.6.13-noxft_h4845f30_101
|
| 72 |
+
Linking libsqlite-3.46.1-hadc24fc_0
|
| 73 |
+
Linking readline-8.2-h8228510_1
|
| 74 |
+
Linking tzdata-2024a-h8827d51_1
|
| 75 |
+
Linking python-3.11.10-hc5c86c4_0_cpython
|
| 76 |
+
Linking pip-24.2-pyh8b19718_1
|
| 77 |
+
Linking setuptools-73.0.1-pyhd8ed1ab_0
|
| 78 |
+
Linking wheel-0.44.0-pyhd8ed1ab_0
|
| 79 |
+
|
| 80 |
+
Transaction finished
|
| 81 |
+
|
| 82 |
+
To activate this environment, use:
|
| 83 |
+
|
| 84 |
+
mamba activate auto-z4wmiwft6kwh
|
| 85 |
+
|
| 86 |
+
Or to execute a single command in this environment, use:
|
| 87 |
+
|
| 88 |
+
mamba run -n auto-z4wmiwft6kwh mycommand
|
| 89 |
+
|
| 90 |
+
Installing pip packages
|
| 91 |
+
Collecting git+https://github.com/cheind/py-thin-plate-spline
|
| 92 |
+
Cloning https://github.com/cheind/py-thin-plate-spline to /tmp/pip-req-build-a_rro282
|
| 93 |
+
Running command git clone --filter=blob:none --quiet https://github.com/cheind/py-thin-plate-spline /tmp/pip-req-build-a_rro282
|
| 94 |
+
Resolved https://github.com/cheind/py-thin-plate-spline to commit f6995795397118b7d0ac01aecd3f39ffbfad9dee
|
| 95 |
+
Preparing metadata (setup.py): started
|
| 96 |
+
Preparing metadata (setup.py): finished with status 'done'
|
| 97 |
+
Collecting absl-py==1.4.0
|
| 98 |
+
Using cached absl_py-1.4.0-py3-none-any.whl.metadata (2.3 kB)
|
| 99 |
+
Collecting appdirs==1.4.4
|
| 100 |
+
Using cached appdirs-1.4.4-py2.py3-none-any.whl.metadata (9.0 kB)
|
| 101 |
+
Collecting cachetools==5.3.1
|
| 102 |
+
Using cached cachetools-5.3.1-py3-none-any.whl.metadata (5.2 kB)
|
| 103 |
+
Collecting certifi==2023.5.7
|
| 104 |
+
Using cached certifi-2023.5.7-py3-none-any.whl.metadata (2.2 kB)
|
| 105 |
+
Collecting charset-normalizer==3.1.0
|
| 106 |
+
Using cached charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (30 kB)
|
| 107 |
+
Collecting click==8.1.4
|
| 108 |
+
Using cached click-8.1.4-py3-none-any.whl.metadata (3.0 kB)
|
| 109 |
+
Collecting cmake==3.26.4
|
| 110 |
+
Using cached cmake-3.26.4-py2.py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (6.7 kB)
|
| 111 |
+
Collecting contourpy==1.1.0
|
| 112 |
+
Using cached contourpy-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.7 kB)
|
| 113 |
+
Collecting cycler==0.11.0
|
| 114 |
+
Using cached cycler-0.11.0-py3-none-any.whl.metadata (785 bytes)
|
| 115 |
+
Collecting debugpy==1.5.1
|
| 116 |
+
Using cached debugpy-1.5.1-py2.py3-none-any.whl.metadata (1.2 kB)
|
| 117 |
+
Collecting decord==0.6.0
|
| 118 |
+
Using cached decord-0.6.0-py3-none-manylinux2010_x86_64.whl.metadata (422 bytes)
|
| 119 |
+
Collecting docker-pycreds==0.4.0
|
| 120 |
+
Using cached docker_pycreds-0.4.0-py2.py3-none-any.whl.metadata (1.8 kB)
|
| 121 |
+
Collecting filelock==3.12.2
|
| 122 |
+
Using cached filelock-3.12.2-py3-none-any.whl.metadata (2.7 kB)
|
| 123 |
+
Collecting fonttools==4.40.0
|
| 124 |
+
Using cached fonttools-4.40.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (148 kB)
|
| 125 |
+
Collecting gdown
|
| 126 |
+
Downloading gdown-5.2.0-py3-none-any.whl.metadata (5.8 kB)
|
| 127 |
+
Collecting gitdb==4.0.10
|
| 128 |
+
Using cached gitdb-4.0.10-py3-none-any.whl.metadata (1.1 kB)
|
| 129 |
+
Collecting gitpython==3.1.31
|
| 130 |
+
Using cached GitPython-3.1.31-py3-none-any.whl.metadata (1.3 kB)
|
| 131 |
+
Collecting google-auth-oauthlib==1.0.0
|
| 132 |
+
Using cached google_auth_oauthlib-1.0.0-py2.py3-none-any.whl.metadata (2.7 kB)
|
| 133 |
+
Collecting google-auth==2.22.0
|
| 134 |
+
Using cached google_auth-2.22.0-py2.py3-none-any.whl.metadata (4.2 kB)
|
| 135 |
+
Collecting grpcio==1.56.2
|
| 136 |
+
Using cached grpcio-1.56.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)
|
| 137 |
+
Collecting hickle
|
| 138 |
+
Downloading hickle-5.0.3-py3-none-any.whl.metadata (22 kB)
|
| 139 |
+
Collecting idna==3.4
|
| 140 |
+
Using cached idna-3.4-py3-none-any.whl.metadata (9.8 kB)
|
| 141 |
+
Collecting imageio==2.31.5
|
| 142 |
+
Using cached imageio-2.31.5-py3-none-any.whl.metadata (4.6 kB)
|
| 143 |
+
Collecting jinja2==3.1.2
|
| 144 |
+
Using cached Jinja2-3.1.2-py3-none-any.whl.metadata (3.5 kB)
|
| 145 |
+
Collecting joblib==1.2.0
|
| 146 |
+
Using cached joblib-1.2.0-py3-none-any.whl.metadata (5.3 kB)
|
| 147 |
+
Collecting jupyter-core==5.3.1
|
| 148 |
+
Using cached jupyter_core-5.3.1-py3-none-any.whl.metadata (3.4 kB)
|
| 149 |
+
Collecting kiwisolver==1.4.4
|
| 150 |
+
Using cached kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.3 kB)
|
| 151 |
+
Collecting kornia==0.6.12
|
| 152 |
+
Using cached kornia-0.6.12-py2.py3-none-any.whl.metadata (12 kB)
|
| 153 |
+
Collecting lazy-loader==0.3
|
| 154 |
+
Using cached lazy_loader-0.3-py3-none-any.whl.metadata (4.3 kB)
|
| 155 |
+
Collecting lit==16.0.6
|
| 156 |
+
Using cached lit-16.0.6-py3-none-any.whl
|
| 157 |
+
Collecting lzstring
|
| 158 |
+
Using cached lzstring-1.0.4-py2.py3-none-any.whl
|
| 159 |
+
Collecting markdown==3.4.3
|
| 160 |
+
Using cached Markdown-3.4.3-py3-none-any.whl.metadata (6.7 kB)
|
| 161 |
+
Collecting markupsafe==2.1.3
|
| 162 |
+
Using cached MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.0 kB)
|
| 163 |
+
Collecting matplotlib==3.7.1
|
| 164 |
+
Using cached matplotlib-3.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.6 kB)
|
| 165 |
+
Collecting mpmath==1.3.0
|
| 166 |
+
Using cached mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)
|
| 167 |
+
Collecting natsort==8.4.0
|
| 168 |
+
Using cached natsort-8.4.0-py3-none-any.whl.metadata (21 kB)
|
| 169 |
+
Collecting networkx==3.1
|
| 170 |
+
Using cached networkx-3.1-py3-none-any.whl.metadata (5.3 kB)
|
| 171 |
+
Collecting numpy==1.25.0
|
| 172 |
+
Using cached numpy-1.25.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.6 kB)
|
| 173 |
+
Collecting nvidia-cublas-cu11==11.10.3.66
|
| 174 |
+
Using cached nvidia_cublas_cu11-11.10.3.66-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
|
| 175 |
+
Collecting nvidia-cuda-cupti-cu11==11.7.101
|
| 176 |
+
Using cached nvidia_cuda_cupti_cu11-11.7.101-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
|
| 177 |
+
Collecting nvidia-cuda-nvrtc-cu11==11.7.99
|
| 178 |
+
Using cached nvidia_cuda_nvrtc_cu11-11.7.99-2-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)
|
| 179 |
+
Collecting nvidia-cuda-runtime-cu11==11.7.99
|
| 180 |
+
Using cached nvidia_cuda_runtime_cu11-11.7.99-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
|
| 181 |
+
Collecting nvidia-cudnn-cu11==8.5.0.96
|
| 182 |
+
Using cached nvidia_cudnn_cu11-8.5.0.96-2-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
|
| 183 |
+
Collecting nvidia-cufft-cu11==10.9.0.58
|
| 184 |
+
Using cached nvidia_cufft_cu11-10.9.0.58-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
|
| 185 |
+
Collecting nvidia-curand-cu11==10.2.10.91
|
| 186 |
+
Using cached nvidia_curand_cu11-10.2.10.91-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
|
| 187 |
+
Collecting nvidia-cusolver-cu11==11.4.0.1
|
| 188 |
+
Using cached nvidia_cusolver_cu11-11.4.0.1-2-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
|
| 189 |
+
Collecting nvidia-cusparse-cu11==11.7.4.91
|
| 190 |
+
Using cached nvidia_cusparse_cu11-11.7.4.91-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
|
| 191 |
+
Collecting nvidia-nccl-cu11==2.14.3
|
| 192 |
+
Using cached nvidia_nccl_cu11-2.14.3-py3-none-manylinux1_x86_64.whl.metadata (1.8 kB)
|
| 193 |
+
Collecting nvidia-nvtx-cu11==11.7.91
|
| 194 |
+
Using cached nvidia_nvtx_cu11-11.7.91-py3-none-manylinux1_x86_64.whl.metadata (1.7 kB)
|
| 195 |
+
Collecting oauthlib==3.2.2
|
| 196 |
+
Using cached oauthlib-3.2.2-py3-none-any.whl.metadata (7.5 kB)
|
| 197 |
+
Collecting opencv-python-headless
|
| 198 |
+
Downloading opencv_python_headless-4.10.0.84-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (20 kB)
|
| 199 |
+
Collecting opencv-python==4.7.0.72
|
| 200 |
+
Using cached opencv_python-4.7.0.72-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (18 kB)
|
| 201 |
+
Collecting pandas==2.0.3
|
| 202 |
+
Using cached pandas-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (18 kB)
|
| 203 |
+
Collecting pathtools==0.1.2
|
| 204 |
+
Using cached pathtools-0.1.2-py3-none-any.whl
|
| 205 |
+
Collecting pillow==9.5.0
|
| 206 |
+
Using cached Pillow-9.5.0-cp311-cp311-manylinux_2_28_x86_64.whl.metadata (9.5 kB)
|
| 207 |
+
Collecting pip==23.1.2
|
| 208 |
+
Using cached pip-23.1.2-py3-none-any.whl.metadata (4.1 kB)
|
| 209 |
+
Collecting progressbar2
|
| 210 |
+
Downloading progressbar2-4.5.0-py3-none-any.whl.metadata (16 kB)
|
| 211 |
+
Collecting protobuf==4.23.4
|
| 212 |
+
Using cached protobuf-4.23.4-cp37-abi3-manylinux2014_x86_64.whl.metadata (540 bytes)
|
| 213 |
+
Collecting psutil==5.9.0
|
| 214 |
+
Using cached psutil-5.9.0-cp311-cp311-linux_x86_64.whl
|
| 215 |
+
Collecting pyasn1-modules==0.3.0
|
| 216 |
+
Using cached pyasn1_modules-0.3.0-py2.py3-none-any.whl.metadata (3.6 kB)
|
| 217 |
+
Collecting pyasn1==0.5.0
|
| 218 |
+
Using cached pyasn1-0.5.0-py2.py3-none-any.whl.metadata (8.5 kB)
|
| 219 |
+
Collecting pycocotools==2.0.6
|
| 220 |
+
Using cached pycocotools-2.0.6-cp311-cp311-linux_x86_64.whl
|
| 221 |
+
Collecting pyparsing==3.1.0
|
| 222 |
+
Using cached pyparsing-3.1.0-py3-none-any.whl.metadata (4.9 kB)
|
| 223 |
+
Collecting pytz==2023.3
|
| 224 |
+
Using cached pytz-2023.3-py2.py3-none-any.whl.metadata (22 kB)
|
| 225 |
+
Collecting pyyaml==6.0
|
| 226 |
+
Using cached PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)
|
| 227 |
+
Collecting pyzmq==25.1.0
|
| 228 |
+
Using cached pyzmq-25.1.0-cp311-cp311-manylinux_2_28_x86_64.whl.metadata (4.8 kB)
|
| 229 |
+
Collecting requests-oauthlib==1.3.1
|
| 230 |
+
Using cached requests_oauthlib-1.3.1-py2.py3-none-any.whl.metadata (10 kB)
|
| 231 |
+
Collecting requests==2.31.0
|
| 232 |
+
Using cached requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)
|
| 233 |
+
Collecting rsa==4.9
|
| 234 |
+
Using cached rsa-4.9-py3-none-any.whl.metadata (4.2 kB)
|
| 235 |
+
Collecting scikit-image==0.22.0
|
| 236 |
+
Using cached scikit_image-0.22.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (13 kB)
|
| 237 |
+
Collecting scikit-learn==1.2.2
|
| 238 |
+
Using cached scikit_learn-1.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)
|
| 239 |
+
Collecting scipy==1.11.0
|
| 240 |
+
Using cached scipy-1.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (59 kB)
|
| 241 |
+
Collecting sentry-sdk==1.27.1
|
| 242 |
+
Using cached sentry_sdk-1.27.1-py2.py3-none-any.whl.metadata (8.8 kB)
|
| 243 |
+
Collecting setproctitle==1.3.2
|
| 244 |
+
Using cached setproctitle-1.3.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (9.8 kB)
|
| 245 |
+
Collecting setuptools==67.8.0
|
| 246 |
+
Using cached setuptools-67.8.0-py3-none-any.whl.metadata (6.2 kB)
|
| 247 |
+
Collecting smmap==5.0.0
|
| 248 |
+
Using cached smmap-5.0.0-py3-none-any.whl.metadata (4.2 kB)
|
| 249 |
+
Collecting sympy==1.12
|
| 250 |
+
Using cached sympy-1.12-py3-none-any.whl.metadata (12 kB)
|
| 251 |
+
Collecting tensorboard-data-server==0.7.1
|
| 252 |
+
Using cached tensorboard_data_server-0.7.1-py3-none-manylinux2014_x86_64.whl.metadata (1.1 kB)
|
| 253 |
+
Collecting tensorboard==2.13.0
|
| 254 |
+
Using cached tensorboard-2.13.0-py3-none-any.whl.metadata (1.8 kB)
|
| 255 |
+
Collecting tensorboardx==2.6.1
|
| 256 |
+
Using cached tensorboardX-2.6.1-py2.py3-none-any.whl.metadata (5.6 kB)
|
| 257 |
+
Collecting threadpoolctl==3.1.0
|
| 258 |
+
Using cached threadpoolctl-3.1.0-py3-none-any.whl.metadata (9.2 kB)
|
| 259 |
+
Collecting tifffile==2023.9.26
|
| 260 |
+
Using cached tifffile-2023.9.26-py3-none-any.whl.metadata (30 kB)
|
| 261 |
+
Collecting torch==2.0.1
|
| 262 |
+
Using cached torch-2.0.1-cp311-cp311-manylinux1_x86_64.whl.metadata (24 kB)
|
| 263 |
+
Collecting torchvision==0.15.2
|
| 264 |
+
Using cached torchvision-0.15.2-cp311-cp311-manylinux1_x86_64.whl.metadata (11 kB)
|
| 265 |
+
Collecting tornado==6.1
|
| 266 |
+
Using cached tornado-6.1-cp311-cp311-linux_x86_64.whl
|
| 267 |
+
Collecting tqdm==4.65.0
|
| 268 |
+
Using cached tqdm-4.65.0-py3-none-any.whl.metadata (56 kB)
|
| 269 |
+
Collecting triton==2.0.0
|
| 270 |
+
Using cached triton-2.0.0-1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.0 kB)
|
| 271 |
+
Collecting tzdata==2023.3
|
| 272 |
+
Using cached tzdata-2023.3-py2.py3-none-any.whl.metadata (1.4 kB)
|
| 273 |
+
Collecting urllib3==1.26.16
|
| 274 |
+
Using cached urllib3-1.26.16-py2.py3-none-any.whl.metadata (48 kB)
|
| 275 |
+
Collecting wandb==0.15.5
|
| 276 |
+
Using cached wandb-0.15.5-py3-none-any.whl.metadata (8.2 kB)
|
| 277 |
+
Collecting werkzeug==2.3.6
|
| 278 |
+
Using cached Werkzeug-2.3.6-py3-none-any.whl.metadata (4.1 kB)
|
| 279 |
+
Collecting wheel==0.38.4
|
| 280 |
+
Using cached wheel-0.38.4-py3-none-any.whl.metadata (2.1 kB)
|
| 281 |
+
Collecting six>=1.4.0 (from docker-pycreds==0.4.0)
|
| 282 |
+
Using cached six-1.16.0-py2.py3-none-any.whl.metadata (1.8 kB)
|
| 283 |
+
Collecting platformdirs>=2.5 (from jupyter-core==5.3.1)
|
| 284 |
+
Using cached platformdirs-4.3.2-py3-none-any.whl.metadata (11 kB)
|
| 285 |
+
Collecting traitlets>=5.3 (from jupyter-core==5.3.1)
|
| 286 |
+
Using cached traitlets-5.14.3-py3-none-any.whl.metadata (10 kB)
|
| 287 |
+
Collecting packaging (from kornia==0.6.12)
|
| 288 |
+
Using cached packaging-24.1-py3-none-any.whl.metadata (3.2 kB)
|
| 289 |
+
Collecting python-dateutil>=2.7 (from matplotlib==3.7.1)
|
| 290 |
+
Using cached python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)
|
| 291 |
+
Collecting typing-extensions (from torch==2.0.1)
|
| 292 |
+
Using cached typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)
|
| 293 |
+
Collecting beautifulsoup4 (from gdown)
|
| 294 |
+
Downloading beautifulsoup4-4.12.3-py3-none-any.whl.metadata (3.8 kB)
|
| 295 |
+
Collecting h5py>=2.10.0 (from hickle)
|
| 296 |
+
Downloading h5py-3.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.5 kB)
|
| 297 |
+
Collecting future>=0.14.0 (from lzstring)
|
| 298 |
+
Using cached future-1.0.0-py3-none-any.whl.metadata (4.0 kB)
|
| 299 |
+
Collecting python-utils>=3.8.1 (from progressbar2)
|
| 300 |
+
Downloading python_utils-3.8.2-py2.py3-none-any.whl.metadata (9.7 kB)
|
| 301 |
+
Collecting soupsieve>1.2 (from beautifulsoup4->gdown)
|
| 302 |
+
Downloading soupsieve-2.6-py3-none-any.whl.metadata (4.6 kB)
|
| 303 |
+
Collecting PySocks!=1.5.7,>=1.5.6 (from requests[socks]->gdown)
|
| 304 |
+
Downloading PySocks-1.7.1-py3-none-any.whl.metadata (13 kB)
|
| 305 |
+
WARNING: The candidate selected for download or install is a yanked version: 'scipy' candidate (version 1.11.0 at https://files.pythonhosted.org/packages/27/10/985c0902929a424c8e0483f16ee54f92fc5e4fa07fbd83a36f3aa469b3fe/scipy-1.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/scipy/) (requires-python:<3.13,>=3.9))
|
| 306 |
+
Reason for being yanked: License Violation
|
| 307 |
+
Using cached absl_py-1.4.0-py3-none-any.whl (126 kB)
|
| 308 |
+
Using cached appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
|
| 309 |
+
Using cached cachetools-5.3.1-py3-none-any.whl (9.3 kB)
|
| 310 |
+
Using cached certifi-2023.5.7-py3-none-any.whl (156 kB)
|
| 311 |
+
Using cached charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (197 kB)
|
| 312 |
+
Using cached click-8.1.4-py3-none-any.whl (98 kB)
|
| 313 |
+
Using cached cmake-3.26.4-py2.py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (24.0 MB)
|
| 314 |
+
Using cached contourpy-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (300 kB)
|
| 315 |
+
Using cached cycler-0.11.0-py3-none-any.whl (6.4 kB)
|
| 316 |
+
Using cached debugpy-1.5.1-py2.py3-none-any.whl (4.1 MB)
|
| 317 |
+
Using cached decord-0.6.0-py3-none-manylinux2010_x86_64.whl (13.6 MB)
|
| 318 |
+
Using cached docker_pycreds-0.4.0-py2.py3-none-any.whl (9.0 kB)
|
| 319 |
+
Using cached filelock-3.12.2-py3-none-any.whl (10 kB)
|
| 320 |
+
Using cached fonttools-4.40.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB)
|
| 321 |
+
Using cached gitdb-4.0.10-py3-none-any.whl (62 kB)
|
| 322 |
+
Using cached GitPython-3.1.31-py3-none-any.whl (184 kB)
|
| 323 |
+
Using cached google_auth_oauthlib-1.0.0-py2.py3-none-any.whl (18 kB)
|
| 324 |
+
Using cached google_auth-2.22.0-py2.py3-none-any.whl (181 kB)
|
| 325 |
+
Using cached grpcio-1.56.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.2 MB)
|
| 326 |
+
Using cached idna-3.4-py3-none-any.whl (61 kB)
|
| 327 |
+
Using cached imageio-2.31.5-py3-none-any.whl (313 kB)
|
| 328 |
+
Using cached Jinja2-3.1.2-py3-none-any.whl (133 kB)
|
| 329 |
+
Using cached joblib-1.2.0-py3-none-any.whl (297 kB)
|
| 330 |
+
Using cached jupyter_core-5.3.1-py3-none-any.whl (93 kB)
|
| 331 |
+
Using cached kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB)
|
| 332 |
+
Using cached kornia-0.6.12-py2.py3-none-any.whl (653 kB)
|
| 333 |
+
Using cached lazy_loader-0.3-py3-none-any.whl (9.1 kB)
|
| 334 |
+
Using cached Markdown-3.4.3-py3-none-any.whl (93 kB)
|
| 335 |
+
Using cached MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (28 kB)
|
| 336 |
+
Using cached matplotlib-3.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.6 MB)
|
| 337 |
+
Using cached mpmath-1.3.0-py3-none-any.whl (536 kB)
|
| 338 |
+
Using cached natsort-8.4.0-py3-none-any.whl (38 kB)
|
| 339 |
+
Using cached networkx-3.1-py3-none-any.whl (2.1 MB)
|
| 340 |
+
Using cached numpy-1.25.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.6 MB)
|
| 341 |
+
Using cached nvidia_cublas_cu11-11.10.3.66-py3-none-manylinux1_x86_64.whl (317.1 MB)
|
| 342 |
+
Using cached nvidia_cuda_cupti_cu11-11.7.101-py3-none-manylinux1_x86_64.whl (11.8 MB)
|
| 343 |
+
Using cached nvidia_cuda_nvrtc_cu11-11.7.99-2-py3-none-manylinux1_x86_64.whl (21.0 MB)
|
| 344 |
+
Using cached nvidia_cuda_runtime_cu11-11.7.99-py3-none-manylinux1_x86_64.whl (849 kB)
|
| 345 |
+
Using cached nvidia_cudnn_cu11-8.5.0.96-2-py3-none-manylinux1_x86_64.whl (557.1 MB)
|
| 346 |
+
Using cached nvidia_cufft_cu11-10.9.0.58-py3-none-manylinux2014_x86_64.whl (168.4 MB)
|
| 347 |
+
Using cached nvidia_curand_cu11-10.2.10.91-py3-none-manylinux1_x86_64.whl (54.6 MB)
|
| 348 |
+
Using cached nvidia_cusolver_cu11-11.4.0.1-2-py3-none-manylinux1_x86_64.whl (102.6 MB)
|
| 349 |
+
Using cached nvidia_cusparse_cu11-11.7.4.91-py3-none-manylinux1_x86_64.whl (173.2 MB)
|
| 350 |
+
Using cached nvidia_nccl_cu11-2.14.3-py3-none-manylinux1_x86_64.whl (177.1 MB)
|
| 351 |
+
Using cached nvidia_nvtx_cu11-11.7.91-py3-none-manylinux1_x86_64.whl (98 kB)
|
| 352 |
+
Using cached oauthlib-3.2.2-py3-none-any.whl (151 kB)
|
| 353 |
+
Using cached opencv_python-4.7.0.72-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (61.8 MB)
|
| 354 |
+
Using cached pandas-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.2 MB)
|
| 355 |
+
Using cached Pillow-9.5.0-cp311-cp311-manylinux_2_28_x86_64.whl (3.4 MB)
|
| 356 |
+
Using cached pip-23.1.2-py3-none-any.whl (2.1 MB)
|
| 357 |
+
Using cached protobuf-4.23.4-cp37-abi3-manylinux2014_x86_64.whl (304 kB)
|
| 358 |
+
Using cached pyasn1_modules-0.3.0-py2.py3-none-any.whl (181 kB)
|
| 359 |
+
Using cached pyasn1-0.5.0-py2.py3-none-any.whl (83 kB)
|
| 360 |
+
Using cached pyparsing-3.1.0-py3-none-any.whl (102 kB)
|
| 361 |
+
Using cached pytz-2023.3-py2.py3-none-any.whl (502 kB)
|
| 362 |
+
Using cached PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (757 kB)
|
| 363 |
+
Using cached pyzmq-25.1.0-cp311-cp311-manylinux_2_28_x86_64.whl (1.1 MB)
|
| 364 |
+
Using cached requests_oauthlib-1.3.1-py2.py3-none-any.whl (23 kB)
|
| 365 |
+
Using cached requests-2.31.0-py3-none-any.whl (62 kB)
|
| 366 |
+
Using cached rsa-4.9-py3-none-any.whl (34 kB)
|
| 367 |
+
Using cached scikit_image-0.22.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.7 MB)
|
| 368 |
+
Using cached scikit_learn-1.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.6 MB)
|
| 369 |
+
Using cached scipy-1.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (36.2 MB)
|
| 370 |
+
Using cached sentry_sdk-1.27.1-py2.py3-none-any.whl (211 kB)
|
| 371 |
+
Using cached setproctitle-1.3.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (31 kB)
|
| 372 |
+
Using cached setuptools-67.8.0-py3-none-any.whl (1.1 MB)
|
| 373 |
+
Using cached smmap-5.0.0-py3-none-any.whl (24 kB)
|
| 374 |
+
Using cached sympy-1.12-py3-none-any.whl (5.7 MB)
|
| 375 |
+
Using cached tensorboard_data_server-0.7.1-py3-none-manylinux2014_x86_64.whl (6.6 MB)
|
| 376 |
+
Using cached tensorboard-2.13.0-py3-none-any.whl (5.6 MB)
|
| 377 |
+
Using cached tensorboardX-2.6.1-py2.py3-none-any.whl (101 kB)
|
| 378 |
+
Using cached threadpoolctl-3.1.0-py3-none-any.whl (14 kB)
|
| 379 |
+
Using cached tifffile-2023.9.26-py3-none-any.whl (222 kB)
|
| 380 |
+
Using cached torch-2.0.1-cp311-cp311-manylinux1_x86_64.whl (619.9 MB)
|
| 381 |
+
Using cached torchvision-0.15.2-cp311-cp311-manylinux1_x86_64.whl (6.0 MB)
|
| 382 |
+
Using cached tqdm-4.65.0-py3-none-any.whl (77 kB)
|
| 383 |
+
Using cached triton-2.0.0-1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (63.3 MB)
|
| 384 |
+
Using cached tzdata-2023.3-py2.py3-none-any.whl (341 kB)
|
| 385 |
+
Using cached urllib3-1.26.16-py2.py3-none-any.whl (143 kB)
|
| 386 |
+
Using cached wandb-0.15.5-py3-none-any.whl (2.1 MB)
|
| 387 |
+
Using cached Werkzeug-2.3.6-py3-none-any.whl (242 kB)
|
| 388 |
+
Using cached wheel-0.38.4-py3-none-any.whl (36 kB)
|
| 389 |
+
Downloading gdown-5.2.0-py3-none-any.whl (18 kB)
|
| 390 |
+
Downloading hickle-5.0.3-py3-none-any.whl (107 kB)
|
| 391 |
+
Downloading opencv_python_headless-4.10.0.84-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (49.9 MB)
|
| 392 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 49.9/49.9 MB 188.3 MB/s eta 0:00:00
|
| 393 |
+
Downloading progressbar2-4.5.0-py3-none-any.whl (57 kB)
|
| 394 |
+
Using cached future-1.0.0-py3-none-any.whl (491 kB)
|
| 395 |
+
Downloading h5py-3.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.4 MB)
|
| 396 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.4/5.4 MB 185.1 MB/s eta 0:00:00
|
| 397 |
+
Using cached packaging-24.1-py3-none-any.whl (53 kB)
|
| 398 |
+
Using cached platformdirs-4.3.2-py3-none-any.whl (18 kB)
|
| 399 |
+
Using cached python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
|
| 400 |
+
Downloading python_utils-3.8.2-py2.py3-none-any.whl (27 kB)
|
| 401 |
+
Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
|
| 402 |
+
Using cached traitlets-5.14.3-py3-none-any.whl (85 kB)
|
| 403 |
+
Using cached typing_extensions-4.12.2-py3-none-any.whl (37 kB)
|
| 404 |
+
Downloading beautifulsoup4-4.12.3-py3-none-any.whl (147 kB)
|
| 405 |
+
Downloading PySocks-1.7.1-py3-none-any.whl (16 kB)
|
| 406 |
+
Downloading soupsieve-2.6-py3-none-any.whl (36 kB)
|
| 407 |
+
Building wheels for collected packages: thinplate
|
| 408 |
+
Building wheel for thinplate (setup.py): started
|
| 409 |
+
Building wheel for thinplate (setup.py): finished with status 'done'
|
| 410 |
+
Created wheel for thinplate: filename=thinplate-1.0.0-py3-none-any.whl size=6699 sha256=d4ffda8c168d40baa5ef3b0079bb50fbb08378232c5c286c1cfe14228a4fadb8
|
| 411 |
+
Stored in directory: /tmp/pip-ephem-wheel-cache-9hm560_h/wheels/8d/a9/10/26074e234ee6057094ebcf080ff2f898ab16f418672fab12ad
|
| 412 |
+
Successfully built thinplate
|
| 413 |
+
Installing collected packages: pytz, pathtools, mpmath, lit, cmake, appdirs, wheel, urllib3, tzdata, typing-extensions, traitlets, tqdm, tornado, threadpoolctl, tensorboard-data-server, sympy, soupsieve, smmap, six, setuptools, setproctitle, pyzmq, pyyaml, PySocks, pyparsing, pyasn1, psutil, protobuf, platformdirs, pip, pillow, packaging, oauthlib, nvidia-nccl-cu11, nvidia-cufft-cu11, nvidia-cuda-nvrtc-cu11, numpy, networkx, natsort, markupsafe, markdown, lazy-loader, kiwisolver, joblib, idna, grpcio, future, fonttools, filelock, debugpy, cycler, click, charset-normalizer, certifi, cachetools, absl-py, werkzeug, tifffile, tensorboardx, sentry-sdk, scipy, rsa, requests, python-utils, python-dateutil, pyasn1-modules, opencv-python-headless, opencv-python, nvidia-nvtx-cu11, nvidia-cusparse-cu11, nvidia-curand-cu11, nvidia-cuda-runtime-cu11, nvidia-cuda-cupti-cu11, nvidia-cublas-cu11, lzstring, jupyter-core, jinja2, imageio, h5py, gitdb, docker-pycreds, decord, contourpy, beautifulsoup4, scikit-learn, scikit-image, requests-oauthlib, progressbar2, pandas, nvidia-cusolver-cu11, nvidia-cudnn-cu11, matplotlib, hickle, google-auth, gitpython, wandb, pycocotools, google-auth-oauthlib, gdown, tensorboard, triton, torch, torchvision, thinplate, kornia
|
| 414 |
+
Attempting uninstall: wheel
|
| 415 |
+
Found existing installation: wheel 0.44.0
|
| 416 |
+
Uninstalling wheel-0.44.0:
|
| 417 |
+
Successfully uninstalled wheel-0.44.0
|
| 418 |
+
Attempting uninstall: setuptools
|
| 419 |
+
Found existing installation: setuptools 73.0.1
|
| 420 |
+
Uninstalling setuptools-73.0.1:
|
| 421 |
+
Successfully uninstalled setuptools-73.0.1
|
| 422 |
+
Attempting uninstall: pip
|
| 423 |
+
Found existing installation: pip 24.2
|
| 424 |
+
Uninstalling pip-24.2:
|
| 425 |
+
Successfully uninstalled pip-24.2
|
| 426 |
+
Successfully installed PySocks-1.7.1 absl-py-1.4.0 appdirs-1.4.4 beautifulsoup4-4.12.3 cachetools-5.3.1 certifi-2023.5.7 charset-normalizer-3.1.0 click-8.1.4 cmake-3.26.4 contourpy-1.1.0 cycler-0.11.0 debugpy-1.5.1 decord-0.6.0 docker-pycreds-0.4.0 filelock-3.12.2 fonttools-4.40.0 future-1.0.0 gdown-5.2.0 gitdb-4.0.10 gitpython-3.1.31 google-auth-2.22.0 google-auth-oauthlib-1.0.0 grpcio-1.56.2 h5py-3.11.0 hickle-5.0.3 idna-3.4 imageio-2.31.5 jinja2-3.1.2 joblib-1.2.0 jupyter-core-5.3.1 kiwisolver-1.4.4 kornia-0.6.12 lazy-loader-0.3 lit-16.0.6 lzstring-1.0.4 markdown-3.4.3 markupsafe-2.1.3 matplotlib-3.7.1 mpmath-1.3.0 natsort-8.4.0 networkx-3.1 numpy-1.25.0 nvidia-cublas-cu11-11.10.3.66 nvidia-cuda-cupti-cu11-11.7.101 nvidia-cuda-nvrtc-cu11-11.7.99 nvidia-cuda-runtime-cu11-11.7.99 nvidia-cudnn-cu11-8.5.0.96 nvidia-cufft-cu11-10.9.0.58 nvidia-curand-cu11-10.2.10.91 nvidia-cusolver-cu11-11.4.0.1 nvidia-cusparse-cu11-11.7.4.91 nvidia-nccl-cu11-2.14.3 nvidia-nvtx-cu11-11.7.91 oauthlib-3.2.2 opencv-python-4.7.0.72 opencv-python-headless-4.10.0.84 packaging-24.1 pandas-2.0.3 pathtools-0.1.2 pillow-9.5.0 pip-23.1.2 platformdirs-4.3.2 progressbar2-4.5.0 protobuf-4.23.4 psutil-5.9.0 pyasn1-0.5.0 pyasn1-modules-0.3.0 pycocotools-2.0.6 pyparsing-3.1.0 python-dateutil-2.9.0.post0 python-utils-3.8.2 pytz-2023.3 pyyaml-6.0 pyzmq-25.1.0 requests-2.31.0 requests-oauthlib-1.3.1 rsa-4.9 scikit-image-0.22.0 scikit-learn-1.2.2 scipy-1.11.0 sentry-sdk-1.27.1 setproctitle-1.3.2 setuptools-67.8.0 six-1.16.0 smmap-5.0.0 soupsieve-2.6 sympy-1.12 tensorboard-2.13.0 tensorboard-data-server-0.7.1 tensorboardx-2.6.1 thinplate-1.0.0 threadpoolctl-3.1.0 tifffile-2023.9.26 torch-2.0.1 torchvision-0.15.2 tornado-6.1 tqdm-4.65.0 traitlets-5.14.3 triton-2.0.0 typing-extensions-4.12.2 tzdata-2023.3 urllib3-1.26.16 wandb-0.15.5 werkzeug-2.3.6 wheel-0.38.4
|
| 427 |
+
|
| 428 |
+
[notice] A new release of pip is available: 23.1.2 -> 24.2
|
| 429 |
+
[notice] To update, run: pip install --upgrade pip
|
| 430 |
+
Traceback (most recent call last):
|
| 431 |
+
File "/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/XMem/eval.py", line 147, in <module>
|
| 432 |
+
network = XMem(config, args.model, enable_segswap=args.enable_segswap).cuda().eval()
|
| 433 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 434 |
+
File "/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/XMem/model/network.py", line 25, in __init__
|
| 435 |
+
model_weights = self.init_hyperparameters(config, model_path, map_location)
|
| 436 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 437 |
+
File "/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/XMem/model/network.py", line 231, in init_hyperparameters
|
| 438 |
+
self.key_dim = model_weights["key_proj.key_proj.weight"].shape[0]
|
| 439 |
+
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 440 |
+
KeyError: 'key_proj.key_proj.weight'
|
| 441 |
+
srun: error: gcp-us-1: task 0: Exited with exit code 1
|
83501.log
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
9.log
ADDED
|
@@ -0,0 +1,530 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 0 |
0%| | 0/1000 [00:00<?, ?it/s]
|
| 1 |
0%| | 0/1000 [00:07<?, ?it/s]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Solving dependencies
|
| 2 |
+
Installing conda packages
|
| 3 |
+
Empty environment created at prefix: /scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd
|
| 4 |
+
error libmamba Could not lock non-existing path '/scratch/yuqian_fu/micromamba/pkgs'
|
| 5 |
+
Transaction
|
| 6 |
+
|
| 7 |
+
Prefix: /scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd
|
| 8 |
+
|
| 9 |
+
|
| 10 |
+
|
| 11 |
+
No specs added or removed.
|
| 12 |
+
|
| 13 |
+
Package Version Build Channel Size
|
| 14 |
+
─────────────────────────────────────────────────────────────────────────────────────────────
|
| 15 |
+
Install:
|
| 16 |
+
─────────────────────────────────────────────────────────────────────────────────────────────
|
| 17 |
+
|
| 18 |
+
+ _libgcc_mutex 0.1 conda_forge conda-forge
|
| 19 |
+
+ _openmp_mutex 4.5 2_gnu conda-forge
|
| 20 |
+
+ bzip2 1.0.8 h4bc722e_7 conda-forge
|
| 21 |
+
+ ca-certificates 2024.8.30 hbcca054_0 conda-forge
|
| 22 |
+
+ ld_impl_linux-64 2.40 hf3520f5_7 conda-forge
|
| 23 |
+
+ libexpat 2.6.2 h59595ed_0 conda-forge
|
| 24 |
+
+ libffi 3.4.2 h7f98852_5 conda-forge
|
| 25 |
+
+ libgcc 14.1.0 h77fa898_1 conda-forge
|
| 26 |
+
+ libgcc-ng 14.1.0 h69a702a_1 conda-forge
|
| 27 |
+
+ libgomp 14.1.0 h77fa898_1 conda-forge
|
| 28 |
+
+ libnsl 2.0.1 hd590300_0 conda-forge
|
| 29 |
+
+ libsqlite 3.46.1 hadc24fc_0 conda-forge
|
| 30 |
+
+ libuuid 2.38.1 h0b41bf4_0 conda-forge
|
| 31 |
+
+ libxcrypt 4.4.36 hd590300_1 conda-forge
|
| 32 |
+
+ libzlib 1.3.1 h4ab18f5_1 conda-forge
|
| 33 |
+
+ ncurses 6.5 he02047a_1 conda-forge
|
| 34 |
+
+ openssl 3.3.2 hb9d3cd8_0 conda-forge
|
| 35 |
+
+ pip 24.2 pyh8b19718_1 conda-forge
|
| 36 |
+
+ python 3.11.9 hb806964_0_cpython /work/conda/cache/conda-forge
|
| 37 |
+
+ readline 8.2 h8228510_1 conda-forge
|
| 38 |
+
+ setuptools 73.0.1 pyhd8ed1ab_0 conda-forge
|
| 39 |
+
+ tk 8.6.13 noxft_h4845f30_101 /work/conda/cache/conda-forge
|
| 40 |
+
+ tzdata 2024a h8827d51_1 conda-forge
|
| 41 |
+
+ wheel 0.44.0 pyhd8ed1ab_0 conda-forge
|
| 42 |
+
+ xz 5.2.6 h166bdaf_0 conda-forge
|
| 43 |
+
|
| 44 |
+
Summary:
|
| 45 |
+
|
| 46 |
+
Install: 25 packages
|
| 47 |
+
|
| 48 |
+
Total download: 0 B
|
| 49 |
+
|
| 50 |
+
─────────────────────────────────────────────────────────────────────────────────────────────
|
| 51 |
+
|
| 52 |
+
|
| 53 |
+
|
| 54 |
+
Transaction starting
|
| 55 |
+
Linking _libgcc_mutex-0.1-conda_forge
|
| 56 |
+
Linking ld_impl_linux-64-2.40-hf3520f5_7
|
| 57 |
+
Linking ca-certificates-2024.8.30-hbcca054_0
|
| 58 |
+
Linking libgomp-14.1.0-h77fa898_1
|
| 59 |
+
Linking _openmp_mutex-4.5-2_gnu
|
| 60 |
+
Linking libgcc-14.1.0-h77fa898_1
|
| 61 |
+
Linking openssl-3.3.2-hb9d3cd8_0
|
| 62 |
+
Linking libgcc-ng-14.1.0-h69a702a_1
|
| 63 |
+
Linking libffi-3.4.2-h7f98852_5
|
| 64 |
+
Linking libzlib-1.3.1-h4ab18f5_1
|
| 65 |
+
Linking libxcrypt-4.4.36-hd590300_1
|
| 66 |
+
Linking bzip2-1.0.8-h4bc722e_7
|
| 67 |
+
Linking ncurses-6.5-he02047a_1
|
| 68 |
+
Linking xz-5.2.6-h166bdaf_0
|
| 69 |
+
Linking libuuid-2.38.1-h0b41bf4_0
|
| 70 |
+
Linking libnsl-2.0.1-hd590300_0
|
| 71 |
+
Linking libexpat-2.6.2-h59595ed_0
|
| 72 |
+
Linking tk-8.6.13-noxft_h4845f30_101
|
| 73 |
+
Linking libsqlite-3.46.1-hadc24fc_0
|
| 74 |
+
Linking readline-8.2-h8228510_1
|
| 75 |
+
Linking tzdata-2024a-h8827d51_1
|
| 76 |
+
Linking python-3.11.9-hb806964_0_cpython
|
| 77 |
+
Linking pip-24.2-pyh8b19718_1
|
| 78 |
+
Linking setuptools-73.0.1-pyhd8ed1ab_0
|
| 79 |
+
Linking wheel-0.44.0-pyhd8ed1ab_0
|
| 80 |
+
|
| 81 |
+
Transaction finished
|
| 82 |
+
|
| 83 |
+
To activate this environment, use:
|
| 84 |
+
|
| 85 |
+
mamba activate auto-gfmiyxa3evbd
|
| 86 |
+
|
| 87 |
+
Or to execute a single command in this environment, use:
|
| 88 |
+
|
| 89 |
+
mamba run -n auto-gfmiyxa3evbd mycommand
|
| 90 |
+
|
| 91 |
+
Installing pip packages
|
| 92 |
+
Collecting absl-py==1.4.0
|
| 93 |
+
Downloading absl_py-1.4.0-py3-none-any.whl.metadata (2.3 kB)
|
| 94 |
+
Collecting appdirs==1.4.4
|
| 95 |
+
Downloading appdirs-1.4.4-py2.py3-none-any.whl.metadata (9.0 kB)
|
| 96 |
+
Collecting cachetools==5.3.1
|
| 97 |
+
Downloading cachetools-5.3.1-py3-none-any.whl.metadata (5.2 kB)
|
| 98 |
+
Collecting certifi==2023.5.7
|
| 99 |
+
Downloading certifi-2023.5.7-py3-none-any.whl.metadata (2.2 kB)
|
| 100 |
+
Collecting charset-normalizer==3.1.0
|
| 101 |
+
Downloading charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (30 kB)
|
| 102 |
+
Collecting click==8.1.4
|
| 103 |
+
Downloading click-8.1.4-py3-none-any.whl.metadata (3.0 kB)
|
| 104 |
+
Collecting cmake==3.26.4
|
| 105 |
+
Downloading cmake-3.26.4-py2.py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (6.7 kB)
|
| 106 |
+
Collecting contourpy==1.1.0
|
| 107 |
+
Downloading contourpy-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.7 kB)
|
| 108 |
+
Collecting cycler==0.11.0
|
| 109 |
+
Downloading cycler-0.11.0-py3-none-any.whl.metadata (785 bytes)
|
| 110 |
+
Collecting debugpy==1.5.1
|
| 111 |
+
Downloading debugpy-1.5.1-py2.py3-none-any.whl.metadata (1.2 kB)
|
| 112 |
+
Collecting decord==0.6.0
|
| 113 |
+
Downloading decord-0.6.0-py3-none-manylinux2010_x86_64.whl.metadata (422 bytes)
|
| 114 |
+
Collecting docker-pycreds==0.4.0
|
| 115 |
+
Downloading docker_pycreds-0.4.0-py2.py3-none-any.whl.metadata (1.8 kB)
|
| 116 |
+
Collecting filelock==3.12.2
|
| 117 |
+
Downloading filelock-3.12.2-py3-none-any.whl.metadata (2.7 kB)
|
| 118 |
+
Collecting fonttools==4.40.0
|
| 119 |
+
Downloading fonttools-4.40.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (148 kB)
|
| 120 |
+
Collecting gitdb==4.0.10
|
| 121 |
+
Downloading gitdb-4.0.10-py3-none-any.whl.metadata (1.1 kB)
|
| 122 |
+
Collecting gitpython==3.1.31
|
| 123 |
+
Downloading GitPython-3.1.31-py3-none-any.whl.metadata (1.3 kB)
|
| 124 |
+
Collecting google-auth-oauthlib==1.0.0
|
| 125 |
+
Downloading google_auth_oauthlib-1.0.0-py2.py3-none-any.whl.metadata (2.7 kB)
|
| 126 |
+
Collecting google-auth==2.22.0
|
| 127 |
+
Downloading google_auth-2.22.0-py2.py3-none-any.whl.metadata (4.2 kB)
|
| 128 |
+
Collecting grpcio==1.56.2
|
| 129 |
+
Downloading grpcio-1.56.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)
|
| 130 |
+
Collecting idna==3.4
|
| 131 |
+
Downloading idna-3.4-py3-none-any.whl.metadata (9.8 kB)
|
| 132 |
+
Collecting imageio==2.31.5
|
| 133 |
+
Downloading imageio-2.31.5-py3-none-any.whl.metadata (4.6 kB)
|
| 134 |
+
Collecting jinja2==3.1.2
|
| 135 |
+
Downloading Jinja2-3.1.2-py3-none-any.whl.metadata (3.5 kB)
|
| 136 |
+
Collecting joblib==1.2.0
|
| 137 |
+
Downloading joblib-1.2.0-py3-none-any.whl.metadata (5.3 kB)
|
| 138 |
+
Collecting jupyter-core==5.3.1
|
| 139 |
+
Downloading jupyter_core-5.3.1-py3-none-any.whl.metadata (3.4 kB)
|
| 140 |
+
Collecting kiwisolver==1.4.4
|
| 141 |
+
Downloading kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.3 kB)
|
| 142 |
+
Collecting kornia==0.6.12
|
| 143 |
+
Downloading kornia-0.6.12-py2.py3-none-any.whl.metadata (12 kB)
|
| 144 |
+
Collecting lazy-loader==0.3
|
| 145 |
+
Downloading lazy_loader-0.3-py3-none-any.whl.metadata (4.3 kB)
|
| 146 |
+
Collecting lit==16.0.6
|
| 147 |
+
Downloading lit-16.0.6.tar.gz (153 kB)
|
| 148 |
+
Installing build dependencies: started
|
| 149 |
+
Installing build dependencies: finished with status 'done'
|
| 150 |
+
Getting requirements to build wheel: started
|
| 151 |
+
Getting requirements to build wheel: finished with status 'done'
|
| 152 |
+
Preparing metadata (pyproject.toml): started
|
| 153 |
+
Preparing metadata (pyproject.toml): finished with status 'done'
|
| 154 |
+
Collecting lzstring
|
| 155 |
+
Downloading lzstring-1.0.4.tar.gz (4.3 kB)
|
| 156 |
+
Preparing metadata (setup.py): started
|
| 157 |
+
Preparing metadata (setup.py): finished with status 'done'
|
| 158 |
+
Collecting markdown==3.4.3
|
| 159 |
+
Downloading Markdown-3.4.3-py3-none-any.whl.metadata (6.7 kB)
|
| 160 |
+
Collecting markupsafe==2.1.3
|
| 161 |
+
Downloading MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.0 kB)
|
| 162 |
+
Collecting matplotlib==3.7.1
|
| 163 |
+
Downloading matplotlib-3.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.6 kB)
|
| 164 |
+
Collecting mpmath==1.3.0
|
| 165 |
+
Downloading mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)
|
| 166 |
+
Collecting natsort==8.4.0
|
| 167 |
+
Downloading natsort-8.4.0-py3-none-any.whl.metadata (21 kB)
|
| 168 |
+
Collecting networkx==3.1
|
| 169 |
+
Downloading networkx-3.1-py3-none-any.whl.metadata (5.3 kB)
|
| 170 |
+
Collecting numpy==1.25.0
|
| 171 |
+
Downloading numpy-1.25.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.6 kB)
|
| 172 |
+
Collecting nvidia-cublas-cu11==11.10.3.66
|
| 173 |
+
Downloading nvidia_cublas_cu11-11.10.3.66-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
|
| 174 |
+
Collecting nvidia-cuda-cupti-cu11==11.7.101
|
| 175 |
+
Downloading nvidia_cuda_cupti_cu11-11.7.101-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
|
| 176 |
+
Collecting nvidia-cuda-nvrtc-cu11==11.7.99
|
| 177 |
+
Downloading nvidia_cuda_nvrtc_cu11-11.7.99-2-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)
|
| 178 |
+
Collecting nvidia-cuda-runtime-cu11==11.7.99
|
| 179 |
+
Downloading nvidia_cuda_runtime_cu11-11.7.99-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
|
| 180 |
+
Collecting nvidia-cudnn-cu11==8.5.0.96
|
| 181 |
+
Downloading nvidia_cudnn_cu11-8.5.0.96-2-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
|
| 182 |
+
Collecting nvidia-cufft-cu11==10.9.0.58
|
| 183 |
+
Downloading nvidia_cufft_cu11-10.9.0.58-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
|
| 184 |
+
Collecting nvidia-curand-cu11==10.2.10.91
|
| 185 |
+
Downloading nvidia_curand_cu11-10.2.10.91-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
|
| 186 |
+
Collecting nvidia-cusolver-cu11==11.4.0.1
|
| 187 |
+
Downloading nvidia_cusolver_cu11-11.4.0.1-2-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
|
| 188 |
+
Collecting nvidia-cusparse-cu11==11.7.4.91
|
| 189 |
+
Downloading nvidia_cusparse_cu11-11.7.4.91-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
|
| 190 |
+
Collecting nvidia-nccl-cu11==2.14.3
|
| 191 |
+
Downloading nvidia_nccl_cu11-2.14.3-py3-none-manylinux1_x86_64.whl.metadata (1.8 kB)
|
| 192 |
+
Collecting nvidia-nvtx-cu11==11.7.91
|
| 193 |
+
Downloading nvidia_nvtx_cu11-11.7.91-py3-none-manylinux1_x86_64.whl.metadata (1.7 kB)
|
| 194 |
+
Collecting oauthlib==3.2.2
|
| 195 |
+
Downloading oauthlib-3.2.2-py3-none-any.whl.metadata (7.5 kB)
|
| 196 |
+
Collecting opencv-python==4.7.0.72
|
| 197 |
+
Downloading opencv_python-4.7.0.72-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (18 kB)
|
| 198 |
+
Collecting pandas==2.0.3
|
| 199 |
+
Downloading pandas-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (18 kB)
|
| 200 |
+
Collecting pathtools==0.1.2
|
| 201 |
+
Downloading pathtools-0.1.2.tar.gz (11 kB)
|
| 202 |
+
Preparing metadata (setup.py): started
|
| 203 |
+
Preparing metadata (setup.py): finished with status 'done'
|
| 204 |
+
Collecting pillow==9.5.0
|
| 205 |
+
Downloading Pillow-9.5.0-cp311-cp311-manylinux_2_28_x86_64.whl.metadata (9.5 kB)
|
| 206 |
+
Collecting pip==23.1.2
|
| 207 |
+
Downloading pip-23.1.2-py3-none-any.whl.metadata (4.1 kB)
|
| 208 |
+
Collecting protobuf==4.23.4
|
| 209 |
+
Downloading protobuf-4.23.4-cp37-abi3-manylinux2014_x86_64.whl.metadata (540 bytes)
|
| 210 |
+
Collecting psutil==5.9.0
|
| 211 |
+
Downloading psutil-5.9.0.tar.gz (478 kB)
|
| 212 |
+
Preparing metadata (setup.py): started
|
| 213 |
+
Preparing metadata (setup.py): finished with status 'done'
|
| 214 |
+
Collecting pyasn1-modules==0.3.0
|
| 215 |
+
Downloading pyasn1_modules-0.3.0-py2.py3-none-any.whl.metadata (3.6 kB)
|
| 216 |
+
Collecting pyasn1==0.5.0
|
| 217 |
+
Downloading pyasn1-0.5.0-py2.py3-none-any.whl.metadata (8.5 kB)
|
| 218 |
+
Collecting pycocotools==2.0.6
|
| 219 |
+
Downloading pycocotools-2.0.6.tar.gz (24 kB)
|
| 220 |
+
Installing build dependencies: started
|
| 221 |
+
Installing build dependencies: finished with status 'done'
|
| 222 |
+
Getting requirements to build wheel: started
|
| 223 |
+
Getting requirements to build wheel: finished with status 'done'
|
| 224 |
+
Preparing metadata (pyproject.toml): started
|
| 225 |
+
Preparing metadata (pyproject.toml): finished with status 'done'
|
| 226 |
+
Collecting pyparsing==3.1.0
|
| 227 |
+
Downloading pyparsing-3.1.0-py3-none-any.whl.metadata (4.9 kB)
|
| 228 |
+
Collecting pytz==2023.3
|
| 229 |
+
Downloading pytz-2023.3-py2.py3-none-any.whl.metadata (22 kB)
|
| 230 |
+
Collecting pyyaml==6.0
|
| 231 |
+
Downloading PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)
|
| 232 |
+
Collecting pyzmq==25.1.0
|
| 233 |
+
Downloading pyzmq-25.1.0-cp311-cp311-manylinux_2_28_x86_64.whl.metadata (4.8 kB)
|
| 234 |
+
Collecting requests-oauthlib==1.3.1
|
| 235 |
+
Downloading requests_oauthlib-1.3.1-py2.py3-none-any.whl.metadata (10 kB)
|
| 236 |
+
Collecting requests==2.31.0
|
| 237 |
+
Downloading requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)
|
| 238 |
+
Collecting rsa==4.9
|
| 239 |
+
Downloading rsa-4.9-py3-none-any.whl.metadata (4.2 kB)
|
| 240 |
+
Collecting scikit-image==0.22.0
|
| 241 |
+
Downloading scikit_image-0.22.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (13 kB)
|
| 242 |
+
Collecting scikit-learn==1.2.2
|
| 243 |
+
Downloading scikit_learn-1.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)
|
| 244 |
+
Collecting scipy==1.11.0
|
| 245 |
+
Downloading scipy-1.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (59 kB)
|
| 246 |
+
Collecting sentry-sdk==1.27.1
|
| 247 |
+
Downloading sentry_sdk-1.27.1-py2.py3-none-any.whl.metadata (8.8 kB)
|
| 248 |
+
Collecting setproctitle==1.3.2
|
| 249 |
+
Downloading setproctitle-1.3.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (9.8 kB)
|
| 250 |
+
Collecting setuptools==67.8.0
|
| 251 |
+
Downloading setuptools-67.8.0-py3-none-any.whl.metadata (6.2 kB)
|
| 252 |
+
Collecting smmap==5.0.0
|
| 253 |
+
Downloading smmap-5.0.0-py3-none-any.whl.metadata (4.2 kB)
|
| 254 |
+
Collecting sympy==1.12
|
| 255 |
+
Downloading sympy-1.12-py3-none-any.whl.metadata (12 kB)
|
| 256 |
+
Collecting tensorboard-data-server==0.7.1
|
| 257 |
+
Downloading tensorboard_data_server-0.7.1-py3-none-manylinux2014_x86_64.whl.metadata (1.1 kB)
|
| 258 |
+
Collecting tensorboard==2.13.0
|
| 259 |
+
Downloading tensorboard-2.13.0-py3-none-any.whl.metadata (1.8 kB)
|
| 260 |
+
Collecting tensorboardx==2.6.1
|
| 261 |
+
Downloading tensorboardX-2.6.1-py2.py3-none-any.whl.metadata (5.6 kB)
|
| 262 |
+
Collecting threadpoolctl==3.1.0
|
| 263 |
+
Downloading threadpoolctl-3.1.0-py3-none-any.whl.metadata (9.2 kB)
|
| 264 |
+
Collecting tifffile==2023.9.26
|
| 265 |
+
Downloading tifffile-2023.9.26-py3-none-any.whl.metadata (30 kB)
|
| 266 |
+
Collecting torch==2.0.1
|
| 267 |
+
Downloading torch-2.0.1-cp311-cp311-manylinux1_x86_64.whl.metadata (24 kB)
|
| 268 |
+
Collecting torchvision==0.15.2
|
| 269 |
+
Downloading torchvision-0.15.2-cp311-cp311-manylinux1_x86_64.whl.metadata (11 kB)
|
| 270 |
+
Collecting tornado==6.1
|
| 271 |
+
Downloading tornado-6.1.tar.gz (497 kB)
|
| 272 |
+
Preparing metadata (setup.py): started
|
| 273 |
+
Preparing metadata (setup.py): finished with status 'done'
|
| 274 |
+
Collecting tqdm==4.65.0
|
| 275 |
+
Downloading tqdm-4.65.0-py3-none-any.whl.metadata (56 kB)
|
| 276 |
+
Collecting triton==2.0.0
|
| 277 |
+
Downloading triton-2.0.0-1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.0 kB)
|
| 278 |
+
Collecting tzdata==2023.3
|
| 279 |
+
Downloading tzdata-2023.3-py2.py3-none-any.whl.metadata (1.4 kB)
|
| 280 |
+
Collecting urllib3==1.26.16
|
| 281 |
+
Downloading urllib3-1.26.16-py2.py3-none-any.whl.metadata (48 kB)
|
| 282 |
+
Collecting wandb==0.15.5
|
| 283 |
+
Downloading wandb-0.15.5-py3-none-any.whl.metadata (8.2 kB)
|
| 284 |
+
Collecting werkzeug==2.3.6
|
| 285 |
+
Downloading Werkzeug-2.3.6-py3-none-any.whl.metadata (4.1 kB)
|
| 286 |
+
Collecting wheel==0.38.4
|
| 287 |
+
Downloading wheel-0.38.4-py3-none-any.whl.metadata (2.1 kB)
|
| 288 |
+
Collecting six>=1.4.0 (from docker-pycreds==0.4.0)
|
| 289 |
+
Downloading six-1.16.0-py2.py3-none-any.whl.metadata (1.8 kB)
|
| 290 |
+
Collecting platformdirs>=2.5 (from jupyter-core==5.3.1)
|
| 291 |
+
Downloading platformdirs-4.2.2-py3-none-any.whl.metadata (11 kB)
|
| 292 |
+
Collecting traitlets>=5.3 (from jupyter-core==5.3.1)
|
| 293 |
+
Downloading traitlets-5.14.3-py3-none-any.whl.metadata (10 kB)
|
| 294 |
+
Collecting packaging (from kornia==0.6.12)
|
| 295 |
+
Downloading packaging-24.1-py3-none-any.whl.metadata (3.2 kB)
|
| 296 |
+
Collecting python-dateutil>=2.7 (from matplotlib==3.7.1)
|
| 297 |
+
Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)
|
| 298 |
+
Collecting typing-extensions (from torch==2.0.1)
|
| 299 |
+
Downloading typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)
|
| 300 |
+
Collecting future>=0.14.0 (from lzstring)
|
| 301 |
+
Downloading future-1.0.0-py3-none-any.whl.metadata (4.0 kB)
|
| 302 |
+
WARNING: The candidate selected for download or install is a yanked version: 'scipy' candidate (version 1.11.0 at https://files.pythonhosted.org/packages/27/10/985c0902929a424c8e0483f16ee54f92fc5e4fa07fbd83a36f3aa469b3fe/scipy-1.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/scipy/) (requires-python:<3.13,>=3.9))
|
| 303 |
+
Reason for being yanked: License Violation
|
| 304 |
+
Downloading absl_py-1.4.0-py3-none-any.whl (126 kB)
|
| 305 |
+
Downloading appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
|
| 306 |
+
Downloading cachetools-5.3.1-py3-none-any.whl (9.3 kB)
|
| 307 |
+
Downloading certifi-2023.5.7-py3-none-any.whl (156 kB)
|
| 308 |
+
Downloading charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (197 kB)
|
| 309 |
+
Downloading click-8.1.4-py3-none-any.whl (98 kB)
|
| 310 |
+
Downloading cmake-3.26.4-py2.py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (24.0 MB)
|
| 311 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.0/24.0 MB 201.3 MB/s eta 0:00:00
|
| 312 |
+
Downloading contourpy-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (300 kB)
|
| 313 |
+
Downloading cycler-0.11.0-py3-none-any.whl (6.4 kB)
|
| 314 |
+
Downloading debugpy-1.5.1-py2.py3-none-any.whl (4.1 MB)
|
| 315 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.1/4.1 MB 223.4 MB/s eta 0:00:00
|
| 316 |
+
Downloading decord-0.6.0-py3-none-manylinux2010_x86_64.whl (13.6 MB)
|
| 317 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.6/13.6 MB 298.9 MB/s eta 0:00:00
|
| 318 |
+
Downloading docker_pycreds-0.4.0-py2.py3-none-any.whl (9.0 kB)
|
| 319 |
+
Downloading filelock-3.12.2-py3-none-any.whl (10 kB)
|
| 320 |
+
Downloading fonttools-4.40.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB)
|
| 321 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.3/4.3 MB 11.5 MB/s eta 0:00:00
|
| 322 |
+
Downloading gitdb-4.0.10-py3-none-any.whl (62 kB)
|
| 323 |
+
Downloading GitPython-3.1.31-py3-none-any.whl (184 kB)
|
| 324 |
+
Downloading google_auth_oauthlib-1.0.0-py2.py3-none-any.whl (18 kB)
|
| 325 |
+
Downloading google_auth-2.22.0-py2.py3-none-any.whl (181 kB)
|
| 326 |
+
Downloading grpcio-1.56.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.2 MB)
|
| 327 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.2/5.2 MB 44.5 MB/s eta 0:00:00
|
| 328 |
+
Downloading idna-3.4-py3-none-any.whl (61 kB)
|
| 329 |
+
Downloading imageio-2.31.5-py3-none-any.whl (313 kB)
|
| 330 |
+
Downloading Jinja2-3.1.2-py3-none-any.whl (133 kB)
|
| 331 |
+
Downloading joblib-1.2.0-py3-none-any.whl (297 kB)
|
| 332 |
+
Downloading jupyter_core-5.3.1-py3-none-any.whl (93 kB)
|
| 333 |
+
Downloading kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB)
|
| 334 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.4/1.4 MB 172.0 MB/s eta 0:00:00
|
| 335 |
+
Downloading kornia-0.6.12-py2.py3-none-any.whl (653 kB)
|
| 336 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 653.4/653.4 kB 62.5 MB/s eta 0:00:00
|
| 337 |
+
Downloading lazy_loader-0.3-py3-none-any.whl (9.1 kB)
|
| 338 |
+
Downloading Markdown-3.4.3-py3-none-any.whl (93 kB)
|
| 339 |
+
Downloading MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (28 kB)
|
| 340 |
+
Downloading matplotlib-3.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.6 MB)
|
| 341 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.6/11.6 MB 104.5 MB/s eta 0:00:00
|
| 342 |
+
Downloading mpmath-1.3.0-py3-none-any.whl (536 kB)
|
| 343 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 536.2/536.2 kB 100.7 MB/s eta 0:00:00
|
| 344 |
+
Downloading natsort-8.4.0-py3-none-any.whl (38 kB)
|
| 345 |
+
Downloading networkx-3.1-py3-none-any.whl (2.1 MB)
|
| 346 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 199.2 MB/s eta 0:00:00
|
| 347 |
+
Downloading numpy-1.25.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.6 MB)
|
| 348 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 17.6/17.6 MB 106.4 MB/s eta 0:00:00
|
| 349 |
+
Downloading nvidia_cublas_cu11-11.10.3.66-py3-none-manylinux1_x86_64.whl (317.1 MB)
|
| 350 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 317.1/317.1 MB 160.2 MB/s eta 0:00:00
|
| 351 |
+
Downloading nvidia_cuda_cupti_cu11-11.7.101-py3-none-manylinux1_x86_64.whl (11.8 MB)
|
| 352 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.8/11.8 MB 70.9 MB/s eta 0:00:00
|
| 353 |
+
Downloading nvidia_cuda_nvrtc_cu11-11.7.99-2-py3-none-manylinux1_x86_64.whl (21.0 MB)
|
| 354 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 21.0/21.0 MB 269.9 MB/s eta 0:00:00
|
| 355 |
+
Downloading nvidia_cuda_runtime_cu11-11.7.99-py3-none-manylinux1_x86_64.whl (849 kB)
|
| 356 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 849.3/849.3 kB 156.8 MB/s eta 0:00:00
|
| 357 |
+
Downloading nvidia_cudnn_cu11-8.5.0.96-2-py3-none-manylinux1_x86_64.whl (557.1 MB)
|
| 358 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 557.1/557.1 MB 117.8 MB/s eta 0:00:00
|
| 359 |
+
Downloading nvidia_cufft_cu11-10.9.0.58-py3-none-manylinux2014_x86_64.whl (168.4 MB)
|
| 360 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 168.4/168.4 MB 152.6 MB/s eta 0:00:00
|
| 361 |
+
Downloading nvidia_curand_cu11-10.2.10.91-py3-none-manylinux1_x86_64.whl (54.6 MB)
|
| 362 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 54.6/54.6 MB 278.2 MB/s eta 0:00:00
|
| 363 |
+
Downloading nvidia_cusolver_cu11-11.4.0.1-2-py3-none-manylinux1_x86_64.whl (102.6 MB)
|
| 364 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 102.6/102.6 MB 144.2 MB/s eta 0:00:00
|
| 365 |
+
Downloading nvidia_cusparse_cu11-11.7.4.91-py3-none-manylinux1_x86_64.whl (173.2 MB)
|
| 366 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 173.2/173.2 MB 167.0 MB/s eta 0:00:00
|
| 367 |
+
Downloading nvidia_nccl_cu11-2.14.3-py3-none-manylinux1_x86_64.whl (177.1 MB)
|
| 368 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 177.1/177.1 MB 278.1 MB/s eta 0:00:00
|
| 369 |
+
Downloading nvidia_nvtx_cu11-11.7.91-py3-none-manylinux1_x86_64.whl (98 kB)
|
| 370 |
+
Downloading oauthlib-3.2.2-py3-none-any.whl (151 kB)
|
| 371 |
+
Downloading opencv_python-4.7.0.72-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (61.8 MB)
|
| 372 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.8/61.8 MB 137.4 MB/s eta 0:00:00
|
| 373 |
+
Downloading pandas-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.2 MB)
|
| 374 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.2/12.2 MB 299.1 MB/s eta 0:00:00
|
| 375 |
+
Downloading Pillow-9.5.0-cp311-cp311-manylinux_2_28_x86_64.whl (3.4 MB)
|
| 376 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.4/3.4 MB 188.0 MB/s eta 0:00:00
|
| 377 |
+
Downloading pip-23.1.2-py3-none-any.whl (2.1 MB)
|
| 378 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 184.7 MB/s eta 0:00:00
|
| 379 |
+
Downloading protobuf-4.23.4-cp37-abi3-manylinux2014_x86_64.whl (304 kB)
|
| 380 |
+
Downloading pyasn1_modules-0.3.0-py2.py3-none-any.whl (181 kB)
|
| 381 |
+
Downloading pyasn1-0.5.0-py2.py3-none-any.whl (83 kB)
|
| 382 |
+
Downloading pyparsing-3.1.0-py3-none-any.whl (102 kB)
|
| 383 |
+
Downloading pytz-2023.3-py2.py3-none-any.whl (502 kB)
|
| 384 |
+
Downloading PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (757 kB)
|
| 385 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 757.9/757.9 kB 152.1 MB/s eta 0:00:00
|
| 386 |
+
Downloading pyzmq-25.1.0-cp311-cp311-manylinux_2_28_x86_64.whl (1.1 MB)
|
| 387 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 180.9 MB/s eta 0:00:00
|
| 388 |
+
Downloading requests_oauthlib-1.3.1-py2.py3-none-any.whl (23 kB)
|
| 389 |
+
Downloading requests-2.31.0-py3-none-any.whl (62 kB)
|
| 390 |
+
Downloading rsa-4.9-py3-none-any.whl (34 kB)
|
| 391 |
+
Downloading scikit_image-0.22.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.7 MB)
|
| 392 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 14.7/14.7 MB 282.4 MB/s eta 0:00:00
|
| 393 |
+
Downloading scikit_learn-1.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.6 MB)
|
| 394 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.6/9.6 MB 96.8 MB/s eta 0:00:00
|
| 395 |
+
Downloading scipy-1.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (36.2 MB)
|
| 396 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 36.2/36.2 MB 24.4 MB/s eta 0:00:00
|
| 397 |
+
Downloading sentry_sdk-1.27.1-py2.py3-none-any.whl (211 kB)
|
| 398 |
+
Downloading setproctitle-1.3.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (31 kB)
|
| 399 |
+
Downloading setuptools-67.8.0-py3-none-any.whl (1.1 MB)
|
| 400 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 152.8 MB/s eta 0:00:00
|
| 401 |
+
Downloading smmap-5.0.0-py3-none-any.whl (24 kB)
|
| 402 |
+
Downloading sympy-1.12-py3-none-any.whl (5.7 MB)
|
| 403 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.7/5.7 MB 126.3 MB/s eta 0:00:00
|
| 404 |
+
Downloading tensorboard_data_server-0.7.1-py3-none-manylinux2014_x86_64.whl (6.6 MB)
|
| 405 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.6/6.6 MB 282.9 MB/s eta 0:00:00
|
| 406 |
+
Downloading tensorboard-2.13.0-py3-none-any.whl (5.6 MB)
|
| 407 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.6/5.6 MB 211.9 MB/s eta 0:00:00
|
| 408 |
+
Downloading tensorboardX-2.6.1-py2.py3-none-any.whl (101 kB)
|
| 409 |
+
Downloading threadpoolctl-3.1.0-py3-none-any.whl (14 kB)
|
| 410 |
+
Downloading tifffile-2023.9.26-py3-none-any.whl (222 kB)
|
| 411 |
+
Downloading torch-2.0.1-cp311-cp311-manylinux1_x86_64.whl (619.9 MB)
|
| 412 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 619.9/619.9 MB 60.2 MB/s eta 0:00:00
|
| 413 |
+
Downloading torchvision-0.15.2-cp311-cp311-manylinux1_x86_64.whl (6.0 MB)
|
| 414 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.0/6.0 MB 65.2 MB/s eta 0:00:00
|
| 415 |
+
Downloading tqdm-4.65.0-py3-none-any.whl (77 kB)
|
| 416 |
+
Downloading triton-2.0.0-1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (63.3 MB)
|
| 417 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.3/63.3 MB 104.8 MB/s eta 0:00:00
|
| 418 |
+
Downloading tzdata-2023.3-py2.py3-none-any.whl (341 kB)
|
| 419 |
+
Downloading urllib3-1.26.16-py2.py3-none-any.whl (143 kB)
|
| 420 |
+
Downloading wandb-0.15.5-py3-none-any.whl (2.1 MB)
|
| 421 |
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 265.9 MB/s eta 0:00:00
|
| 422 |
+
Downloading Werkzeug-2.3.6-py3-none-any.whl (242 kB)
|
| 423 |
+
Downloading wheel-0.38.4-py3-none-any.whl (36 kB)
|
| 424 |
+
Downloading future-1.0.0-py3-none-any.whl (491 kB)
|
| 425 |
+
Downloading packaging-24.1-py3-none-any.whl (53 kB)
|
| 426 |
+
Downloading platformdirs-4.2.2-py3-none-any.whl (18 kB)
|
| 427 |
+
Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
|
| 428 |
+
Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
|
| 429 |
+
Downloading traitlets-5.14.3-py3-none-any.whl (85 kB)
|
| 430 |
+
Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)
|
| 431 |
+
Building wheels for collected packages: lit, pathtools, psutil, pycocotools, tornado, lzstring
|
| 432 |
+
Building wheel for lit (pyproject.toml): started
|
| 433 |
+
Building wheel for lit (pyproject.toml): finished with status 'done'
|
| 434 |
+
Created wheel for lit: filename=lit-16.0.6-py3-none-any.whl size=93586 sha256=2fc0f4da9619296241c3540c311e37bbc1817c9a3733bf3a6a0fef272f60939a
|
| 435 |
+
Stored in directory: /scratch/yuqian_fu/.cache/pip/wheels/ab/84/e4/5af8c76af9e5bee472e825f1451c18bb3b261d80a7b3ec7f8a
|
| 436 |
+
Building wheel for pathtools (setup.py): started
|
| 437 |
+
Building wheel for pathtools (setup.py): finished with status 'done'
|
| 438 |
+
Created wheel for pathtools: filename=pathtools-0.1.2-py3-none-any.whl size=8791 sha256=c159257a6daf4d9c9a17d19386e0faaa5dc7753be7c0ef36e1434f17b0957fe7
|
| 439 |
+
Stored in directory: /scratch/yuqian_fu/.cache/pip/wheels/ea/b7/8b/84e94095ea418b9442f5abeba4ca7b0ad52d3fe7b69d6238a6
|
| 440 |
+
Building wheel for psutil (setup.py): started
|
| 441 |
+
Building wheel for psutil (setup.py): finished with status 'done'
|
| 442 |
+
Created wheel for psutil: filename=psutil-5.9.0-cp311-cp311-linux_x86_64.whl size=230265 sha256=b88ee6fba7b6d6be83ff34993629c84da6c6611417aa3214429079a872287eed
|
| 443 |
+
Stored in directory: /scratch/yuqian_fu/.cache/pip/wheels/b7/3f/a5/6da60cf045cc7d875f3f6746c27e9afa159642fc5acaa5ae08
|
| 444 |
+
Building wheel for pycocotools (pyproject.toml): started
|
| 445 |
+
Building wheel for pycocotools (pyproject.toml): finished with status 'done'
|
| 446 |
+
Created wheel for pycocotools: filename=pycocotools-2.0.6-cp311-cp311-linux_x86_64.whl size=104816 sha256=72aac5487d6718737633f38298519705c39e716d4efff67132801dcd2dd1159a
|
| 447 |
+
Stored in directory: /scratch/yuqian_fu/.cache/pip/wheels/ad/ca/ea/fb115e04c841c3f71fd369b7d9805a43a5193f4f9251bed0ec
|
| 448 |
+
Building wheel for tornado (setup.py): started
|
| 449 |
+
Building wheel for tornado (setup.py): finished with status 'done'
|
| 450 |
+
Created wheel for tornado: filename=tornado-6.1-cp311-cp311-linux_x86_64.whl size=416969 sha256=3d6b1c8473d83655df9c18572a71fc93230c8907cd00a1a497dcb690e7e4ed6c
|
| 451 |
+
Stored in directory: /scratch/yuqian_fu/.cache/pip/wheels/f2/59/06/a9c85c7b17ec0fc9b1e2ae0c59e3d39255d5c0a38492e33fea
|
| 452 |
+
Building wheel for lzstring (setup.py): started
|
| 453 |
+
Building wheel for lzstring (setup.py): finished with status 'done'
|
| 454 |
+
Created wheel for lzstring: filename=lzstring-1.0.4-py2.py3-none-any.whl size=4568 sha256=6055ffda849cd05b517aeff466d1110f2cc7133b4267a764ba2685fed07b971f
|
| 455 |
+
Stored in directory: /scratch/yuqian_fu/.cache/pip/wheels/a2/68/ae/ab2520f1ce001476a22df0405a1066359d6c4f14aad5f6aae1
|
| 456 |
+
Successfully built lit pathtools psutil pycocotools tornado lzstring
|
| 457 |
+
Installing collected packages: pytz, pathtools, mpmath, lit, cmake, appdirs, wheel, urllib3, tzdata, typing-extensions, traitlets, tqdm, tornado, threadpoolctl, tensorboard-data-server, sympy, smmap, six, setuptools, setproctitle, pyzmq, pyyaml, pyparsing, pyasn1, psutil, protobuf, platformdirs, pip, pillow, packaging, oauthlib, nvidia-nccl-cu11, nvidia-cufft-cu11, nvidia-cuda-nvrtc-cu11, numpy, networkx, natsort, markupsafe, markdown, lazy-loader, kiwisolver, joblib, idna, grpcio, future, fonttools, filelock, debugpy, cycler, click, charset-normalizer, certifi, cachetools, absl-py, werkzeug, tifffile, tensorboardx, sentry-sdk, scipy, rsa, requests, python-dateutil, pyasn1-modules, opencv-python, nvidia-nvtx-cu11, nvidia-cusparse-cu11, nvidia-curand-cu11, nvidia-cuda-runtime-cu11, nvidia-cuda-cupti-cu11, nvidia-cublas-cu11, lzstring, jupyter-core, jinja2, imageio, gitdb, docker-pycreds, decord, contourpy, scikit-learn, scikit-image, requests-oauthlib, pandas, nvidia-cusolver-cu11, nvidia-cudnn-cu11, matplotlib, google-auth, gitpython, wandb, pycocotools, google-auth-oauthlib, tensorboard, triton, torch, torchvision, kornia
|
| 458 |
+
Attempting uninstall: wheel
|
| 459 |
+
Found existing installation: wheel 0.44.0
|
| 460 |
+
Uninstalling wheel-0.44.0:
|
| 461 |
+
Successfully uninstalled wheel-0.44.0
|
| 462 |
+
Attempting uninstall: setuptools
|
| 463 |
+
Found existing installation: setuptools 73.0.1
|
| 464 |
+
Uninstalling setuptools-73.0.1:
|
| 465 |
+
Successfully uninstalled setuptools-73.0.1
|
| 466 |
+
Attempting uninstall: pip
|
| 467 |
+
Found existing installation: pip 24.2
|
| 468 |
+
Uninstalling pip-24.2:
|
| 469 |
+
Successfully uninstalled pip-24.2
|
| 470 |
+
Successfully installed absl-py-1.4.0 appdirs-1.4.4 cachetools-5.3.1 certifi-2023.5.7 charset-normalizer-3.1.0 click-8.1.4 cmake-3.26.4 contourpy-1.1.0 cycler-0.11.0 debugpy-1.5.1 decord-0.6.0 docker-pycreds-0.4.0 filelock-3.12.2 fonttools-4.40.0 future-1.0.0 gitdb-4.0.10 gitpython-3.1.31 google-auth-2.22.0 google-auth-oauthlib-1.0.0 grpcio-1.56.2 idna-3.4 imageio-2.31.5 jinja2-3.1.2 joblib-1.2.0 jupyter-core-5.3.1 kiwisolver-1.4.4 kornia-0.6.12 lazy-loader-0.3 lit-16.0.6 lzstring-1.0.4 markdown-3.4.3 markupsafe-2.1.3 matplotlib-3.7.1 mpmath-1.3.0 natsort-8.4.0 networkx-3.1 numpy-1.25.0 nvidia-cublas-cu11-11.10.3.66 nvidia-cuda-cupti-cu11-11.7.101 nvidia-cuda-nvrtc-cu11-11.7.99 nvidia-cuda-runtime-cu11-11.7.99 nvidia-cudnn-cu11-8.5.0.96 nvidia-cufft-cu11-10.9.0.58 nvidia-curand-cu11-10.2.10.91 nvidia-cusolver-cu11-11.4.0.1 nvidia-cusparse-cu11-11.7.4.91 nvidia-nccl-cu11-2.14.3 nvidia-nvtx-cu11-11.7.91 oauthlib-3.2.2 opencv-python-4.7.0.72 packaging-24.1 pandas-2.0.3 pathtools-0.1.2 pillow-9.5.0 pip-23.1.2 platformdirs-4.2.2 protobuf-4.23.4 psutil-5.9.0 pyasn1-0.5.0 pyasn1-modules-0.3.0 pycocotools-2.0.6 pyparsing-3.1.0 python-dateutil-2.9.0.post0 pytz-2023.3 pyyaml-6.0 pyzmq-25.1.0 requests-2.31.0 requests-oauthlib-1.3.1 rsa-4.9 scikit-image-0.22.0 scikit-learn-1.2.2 scipy-1.11.0 sentry-sdk-1.27.1 setproctitle-1.3.2 setuptools-67.8.0 six-1.16.0 smmap-5.0.0 sympy-1.12 tensorboard-2.13.0 tensorboard-data-server-0.7.1 tensorboardx-2.6.1 threadpoolctl-3.1.0 tifffile-2023.9.26 torch-2.0.1 torchvision-0.15.2 tornado-6.1 tqdm-4.65.0 traitlets-5.14.3 triton-2.0.0 typing-extensions-4.12.2 tzdata-2023.3 urllib3-1.26.16 wandb-0.15.5 werkzeug-2.3.6 wheel-0.38.4
|
| 471 |
+
|
| 472 |
+
[notice] A new release of pip is available: 23.1.2 -> 24.2
|
| 473 |
+
[notice] To update, run: pip install --upgrade pip
|
| 474 |
+
2024-09-04 01:49:17,020 INFO Namespace(n_epoch=250, lr_schedule=[50], lr=0.0002, out_dir='/data/work-gcp-europe-west4-a/yuqian_fu/Ego/checkpoints/egoexo_v2_480x480', train_dir=['/data/work-gcp-europe-west4-a/yuqian_fu/Ego/data_segswap'], prob_dir=[0.5, 0.5], batch_pos=32, batch_neg=15, feat_pth='../evalBrueghel/Moco_resnet50_feat_1Scale_640p.pkl', warp_mask=False, warmUpIter=1000, resume_pth=None, resume_epoch=0, mode='small', pos_weight=0.1, feat_weight=1, dropout=0.1, activation='relu', prob_style=0.5, layer_type=['I', 'C', 'I', 'C', 'I', 'N'], drop_feat=0.1, tps_grid=[4, 6], eta_corr=8, iter_epoch=1000, iter_epoch_val=100, weight_decay=0, reverse=False)
|
| 475 |
+
2024-09-04 01:49:17,021 INFO Load MocoV2 pre-trained ResNet-50 feature...
|
| 476 |
+
LOADING: train_egoexo_pairs.json
|
| 477 |
+
LOADING: val_egoexo_pairs.json
|
| 478 |
+
|
| 479 |
0%| | 0/1000 [00:00<?, ?it/s]
|
| 480 |
0%| | 0/1000 [00:07<?, ?it/s]
|
| 481 |
+
Traceback (most recent call last):
|
| 482 |
+
File "/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/SegSwap/train/Main.py", line 195, in <module>
|
| 483 |
+
backbone, netEncoder, optimizer, history = Train.trainEpoch(trainLoader, backbone, netEncoder, optimizer, history,
|
| 484 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 485 |
+
File "/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/SegSwap/train/Train.py", line 80, in trainEpoch
|
| 486 |
+
O1, O2, O3 = netEncoder(X, Y, FMTX, RS, RT)
|
| 487 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 488 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
|
| 489 |
+
return forward_call(*args, **kwargs)
|
| 490 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 491 |
+
File "/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/SegSwap/model/transformer.py", line 342, in forward
|
| 492 |
+
outx, outy, out_cls = self.net(x, y, fmask, x_mask, y_mask)
|
| 493 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 494 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
|
| 495 |
+
return forward_call(*args, **kwargs)
|
| 496 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 497 |
+
File "/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/SegSwap/model/transformer.py", line 291, in forward
|
| 498 |
+
featx, featy, x_mask, y_mask = self.encoder_blocks[i](featx, featy, featmask, x_mask, y_mask)
|
| 499 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 500 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
|
| 501 |
+
return forward_call(*args, **kwargs)
|
| 502 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 503 |
+
File "/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/SegSwap/model/transformer.py", line 205, in forward
|
| 504 |
+
featx, featy, x_mask, y_mask = self.layer1(featx, featy, featmask, x_mask, y_mask)
|
| 505 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 506 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
|
| 507 |
+
return forward_call(*args, **kwargs)
|
| 508 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 509 |
+
File "/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/SegSwap/model/transformer.py", line 105, in forward
|
| 510 |
+
output = self.inner_encoder_layer(output, src_mask=src_mask, src_key_padding_mask=src_key_padding_mask)
|
| 511 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 512 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
|
| 513 |
+
return forward_call(*args, **kwargs)
|
| 514 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 515 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/nn/modules/transformer.py", line 591, in forward
|
| 516 |
+
x = self.norm1(x + self._sa_block(x, src_mask, src_key_padding_mask, is_causal=is_causal))
|
| 517 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 518 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/nn/modules/transformer.py", line 599, in _sa_block
|
| 519 |
+
x = self.self_attn(x, x, x,
|
| 520 |
+
^^^^^^^^^^^^^^^^^^^^^^^
|
| 521 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
|
| 522 |
+
return forward_call(*args, **kwargs)
|
| 523 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 524 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/nn/modules/activation.py", line 1205, in forward
|
| 525 |
+
attn_output, attn_output_weights = F.multi_head_attention_forward(
|
| 526 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 527 |
+
File "/scratch/yuqian_fu/micromamba/envs/auto-gfmiyxa3evbd/lib/python3.11/site-packages/torch/nn/functional.py", line 5373, in multi_head_attention_forward
|
| 528 |
+
attn_output = scaled_dot_product_attention(q, k, v, attn_mask, dropout_p, is_causal)
|
| 529 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 530 |
+
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 792.00 MiB (GPU 0; 21.95 GiB total capacity; 20.03 GiB already allocated; 790.12 MiB free; 20.94 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
|
| 531 |
+
sh: 3: --resume_path: not found
|
| 532 |
+
srun: error: gcpl4-eu-3: task 0: Exited with exit code 127
|
README.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
## Ego-Exo4D Relation Benchmark
|
| 2 |
+
|
| 3 |
+
The goal of the Ego-Exo4D relation benchmark is to relate the video content between ego and exo views. Check the [Ego-Exo4D paper](https://arxiv.org/abs/2311.18259) for further information.
|
| 4 |
+
|
| 5 |
+
## [Correspondence](https://github.com/EGO4D/ego-exo4d-relation/tree/main/correspondence)
|
| 6 |
+
In this task, we aim at establishing object-level correspondences across ego and exo viewpoints.
|
| 7 |
+
|
| 8 |
+
- [Annotations](https://docs.ego-exo4d-data.org/annotations/relations/)
|
| 9 |
+
- [Task description](https://docs.ego-exo4d-data.org/benchmarks/relations/correspondence/)
|
| 10 |
+
- [Baseline Code](correspondence/)
|
| 11 |
+
- [Challenge (Evaluation Server)](https://eval.ai/web/challenges/challenge-page/2288/overview)
|
| 12 |
+
|
| 13 |
+
## [Translation](https://github.com/EGO4D/ego-exo4d-relation/tree/main/translation)
|
| 14 |
+
### Coming Soon
|
correspondence/README.md
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Ego-Exo4D Correspondence Baselines
|
| 2 |
+
|
| 3 |
+
This repo includes implementation of two baselines for the Correspondence task.
|
| 4 |
+
|
| 5 |
+
### [XSegTx](SegSwap/)
|
| 6 |
+
|
| 7 |
+
A SegSwap based "spatial" (frame-level) baseline.
|
| 8 |
+
|
| 9 |
+
- [Data preparation & Baseline code](SegSwap/)
|
| 10 |
+
|
| 11 |
+
### [XMem](XMem/)
|
| 12 |
+
|
| 13 |
+
An XMem based "spatio-temporal" (video-level) baseline.
|
| 14 |
+
|
| 15 |
+
- [Data preparation & Baseline code](XMem/)
|
| 16 |
+
|
| 17 |
+
For evaluation code and protocol, check the [evaluation](evaluation/) directory.
|
correspondence/SegSwap/README.md
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Ego-Exo4D Correspondence (xSeg-Tx) Baseline Model
|
| 2 |
+
|
| 3 |
+
Implementation of a correspondence baseline model in [Ego-Exo4D](https://ego-exo4d-data.org/) based on [SegSwap](https://github.com/XiSHEN0220/SegSwap).
|
| 4 |
+
|
| 5 |
+
## 1. Installation
|
| 6 |
+
|
| 7 |
+
```
|
| 8 |
+
conda env create -f environment.yaml
|
| 9 |
+
```
|
| 10 |
+
|
| 11 |
+
### 1.2. Pre-trained MocoV2-resnet50 + cross-transformer (~300M) from SegSwap
|
| 12 |
+
|
| 13 |
+
Quick download :
|
| 14 |
+
|
| 15 |
+
``` Bash
|
| 16 |
+
cd model/pretrained
|
| 17 |
+
bash download_model.sh
|
| 18 |
+
```
|
| 19 |
+
|
| 20 |
+
|
| 21 |
+
## 2. Data preparation
|
| 22 |
+
|
| 23 |
+
Follow the instructions to first install the [Ego-Exo4D CLI Downloader](https://github.com/facebookresearch/Ego4d/blob/main/ego4d/egoexo/download/README.md).
|
| 24 |
+
|
| 25 |
+
Download the takes and annotations for the correspondence benchmark.
|
| 26 |
+
|
| 27 |
+
```
|
| 28 |
+
egoexo -o /path/to/data/dir/ --parts annotations
|
| 29 |
+
|
| 30 |
+
egoexo -o /path/to/data/dir/ --parts takes --benchmarks correspondence -y
|
| 31 |
+
```
|
| 32 |
+
|
| 33 |
+
You may also use this [script](data/download_uids.sh) to download only the takes for version v2 of data used in the paper.
|
| 34 |
+
|
| 35 |
+
Once the data has been downloaded, use the following command to pre-process the data for each train, val and test splits,
|
| 36 |
+
```
|
| 37 |
+
python data/process_data.py --takepath /path/to/data/dir/takes/ --annotationpath /path/to/data/dir/annotations/relations_{split}.json --split_path data/split.json --split {split} --outputpath /path/to/output/dir/
|
| 38 |
+
```
|
| 39 |
+
|
| 40 |
+
Since, SegSwap based baseline (XSeg-Tx) is trained on pairs of ego->exo / exo->ego images, use the [create_pairs.py](data/create_pairs.py) script to generate the pairs.
|
| 41 |
+
```
|
| 42 |
+
python data/create_pairs.py --data_dir /path/to/output/dir/
|
| 43 |
+
```
|
| 44 |
+
|
| 45 |
+
If not already present, also copy the [split.json](data/split.json) to the data directory.
|
| 46 |
+
|
| 47 |
+
## 3. Training
|
| 48 |
+
|
| 49 |
+
We provide the scripts to train both ego->exo and exo->ego models,
|
| 50 |
+
|
| 51 |
+
``` Bash
|
| 52 |
+
cd train
|
| 53 |
+
bash run_ego.sh
|
| 54 |
+
```
|
| 55 |
+
|
| 56 |
+
``` Bash
|
| 57 |
+
cd train
|
| 58 |
+
bash run_exo.sh
|
| 59 |
+
```
|
| 60 |
+
|
| 61 |
+
## 4. Inference
|
| 62 |
+
|
| 63 |
+
We can then run inference on a specific split as follows,
|
| 64 |
+
|
| 65 |
+
for ego->exo,
|
| 66 |
+
```
|
| 67 |
+
python eval_segswap.py --ckpt_path /path/to/checkpoint.pth --data_path /path/to/data --splits_path /path/to/data/split.json --split test --out_path /path/to/output/ --setting ego-exo
|
| 68 |
+
```
|
| 69 |
+
|
| 70 |
+
for exo->ego,
|
| 71 |
+
```
|
| 72 |
+
python eval_segswap.py --ckpt_path /path/to/checkpoint.pth --data_path /path/to/data --splits_path /path/to/data/split.json --split test --out_path /path/to/output/ --setting exo-ego
|
| 73 |
+
```
|
| 74 |
+
|
| 75 |
+
the above command with produce a `ego-exo_test_results.json`/`exo-ego_test_results.json` file which can be then be used to run evaluation as described [here](../final_evaluation/).
|
| 76 |
+
|
| 77 |
+
## 5. Acknowledgement
|
| 78 |
+
|
| 79 |
+
If you use the code base, consider citing
|
| 80 |
+
```
|
| 81 |
+
@article{grauman2023ego,
|
| 82 |
+
title={Ego-exo4d: Understanding skilled human activity from first-and third-person perspectives},
|
| 83 |
+
author={Grauman, Kristen and Westbury, Andrew and Torresani, Lorenzo and Kitani, Kris and Malik, Jitendra and Afouras, Triantafyllos and Ashutosh, Kumar and Baiyya, Vijay and Bansal, Siddhant and Boote, Bikram and others},
|
| 84 |
+
journal={arXiv preprint arXiv:2311.18259},
|
| 85 |
+
year={2023}
|
| 86 |
+
}
|
| 87 |
+
```
|
| 88 |
+
|
| 89 |
+
The code in this repo is heavily based on [SegSwap](https://github.com/XiSHEN0220/SegSwap).
|
correspondence/SegSwap/data/correspondence_takes.txt
ADDED
|
@@ -0,0 +1,1334 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
7d6fa5c7-a206-4b36-889b-44bed72b0cc8
|
| 2 |
+
f9dbdf83-0135-4fdd-973a-f207c79b3453
|
| 3 |
+
2941605e-7cfb-441f-92b7-b4ee187edeb6
|
| 4 |
+
1f56f60f-9b36-493f-902f-a3bba0fb1b84
|
| 5 |
+
f1c3d2f5-e6bf-4899-a40d-12489d1ebb11
|
| 6 |
+
b054a313-c2e5-495f-add2-d3c265a030e8
|
| 7 |
+
9a6dd2f3-8c46-44da-b424-cb3442be0f00
|
| 8 |
+
9759968e-f72c-43b4-950e-3f715fdcd4ee
|
| 9 |
+
095f8e44-e72c-41b1-b8b7-e967bb389f82
|
| 10 |
+
dd0539a4-6c12-4ae9-987b-d41351d874a9
|
| 11 |
+
66fbbbae-c740-40d1-ab71-1f882453f2c5
|
| 12 |
+
819523fa-f601-4ed3-aa1f-b1df5f0482bf
|
| 13 |
+
ce914bec-f8c1-46ef-ae28-f1ff030801d1
|
| 14 |
+
45dd51ae-9049-4cf0-9366-8d0094791f0b
|
| 15 |
+
2d146c0f-88df-483d-8a26-efb052b9a8ac
|
| 16 |
+
bafe400a-8433-4f69-8989-fabd82276b15
|
| 17 |
+
8bb19b57-b9bf-4287-beaf-6a6d625712b6
|
| 18 |
+
27eb4f84-28e8-46f7-9263-ff15fa9b894f
|
| 19 |
+
ded8219c-999b-4fb3-9d62-448d0e4ed0e0
|
| 20 |
+
1c9a978e-3921-44e5-8eab-f9e5401822cf
|
| 21 |
+
f2f93854-2634-449c-b68e-aebf4743ac9f
|
| 22 |
+
99820fc1-ce50-41ea-bc8d-37b563f9743b
|
| 23 |
+
f85ff6cc-b530-49fe-89e4-ae8533a4d47e
|
| 24 |
+
1f34bb6a-70ba-4e7c-ae19-b5086fc1176a
|
| 25 |
+
15a055d2-a5e1-4ba9-9e2b-5a6282fc7f32
|
| 26 |
+
57dee964-b77f-430b-8f37-fa4e5ba5c6a3
|
| 27 |
+
0eac0520-a5d8-4a45-bf08-112f5f472850
|
| 28 |
+
abcd9473-0885-43cc-9e4e-f632f36871d2
|
| 29 |
+
d8967e18-31e6-49ec-b00b-00250320ee18
|
| 30 |
+
27cf1b12-9114-46b5-b1fb-66fcef4294f6
|
| 31 |
+
9c0fe0eb-064b-4393-bd60-55be9d0de7b0
|
| 32 |
+
8a0ea233-beeb-42cf-84b8-d25bda4ad967
|
| 33 |
+
975b64c9-60e8-426e-9d55-2323a2505b12
|
| 34 |
+
eccc2a61-a64b-4a53-af79-e432406d9062
|
| 35 |
+
fa984bda-fd07-4de9-9720-f4f0af8c5f96
|
| 36 |
+
4af687ac-9602-48b9-acaf-c0085bc2fe53
|
| 37 |
+
1e0d9cb9-849f-4ca7-beeb-b13a5d4c6668
|
| 38 |
+
424d48e3-b2cc-4558-b9e8-f954f3a61f7a
|
| 39 |
+
72fa7531-64a3-45fe-8e50-80906ffeb40a
|
| 40 |
+
c79a0feb-6eb8-4eef-82c0-08f0d672cc79
|
| 41 |
+
f69df63c-9cd3-442f-bc9b-5ba64b988da4
|
| 42 |
+
4641c429-4150-415c-a824-bf42a22d1dbf
|
| 43 |
+
7d59164c-e0bc-4ae0-95c9-733e4c8b0d6a
|
| 44 |
+
cace80a1-42df-4cf4-a1ec-80647638a443
|
| 45 |
+
1e15d070-a035-41a4-b37a-d82da76cd915
|
| 46 |
+
2fbd4068-86e0-4893-b9c6-10c88fa8275c
|
| 47 |
+
fa0e1a71-2174-43ef-a694-a4af360573a4
|
| 48 |
+
a127cf90-51bf-46af-b0ee-ec932ed0b110
|
| 49 |
+
a1471bf1-1727-49e9-9fd6-58a35da6e367
|
| 50 |
+
c11735ca-6d22-4d16-972b-f55f8271f373
|
| 51 |
+
3f6a08d0-b2fe-4625-9cb1-531622f76128
|
| 52 |
+
6023b80a-a1af-405b-ae86-6613452a1512
|
| 53 |
+
8ee798db-d02b-46ab-86f9-2091da1fb85e
|
| 54 |
+
c922cd8a-192b-4b1c-b574-7a6bc1b89383
|
| 55 |
+
0b05324a-47a2-456a-9f7a-1c36519d86e0
|
| 56 |
+
d430ec80-4f9e-4ee8-82ba-b66f4a794289
|
| 57 |
+
03bfe7f8-23b1-440a-bab5-45eed703d08d
|
| 58 |
+
8fa671be-2624-4783-8572-5f4b7722b6c0
|
| 59 |
+
2336980a-6599-4f18-8a4c-6f2aa92ed536
|
| 60 |
+
cc0a8c8c-f9c6-4173-ad44-f04e7b8f2f46
|
| 61 |
+
a91ef958-df79-4905-8469-37c552c11441
|
| 62 |
+
98f58f0f-53d6-4e41-bf41-d8d74ccbc37c
|
| 63 |
+
ca5b4327-9454-49db-b37b-7bf8b13784dd
|
| 64 |
+
42214e49-7e6b-4164-9fd1-315e3ac8fe40
|
| 65 |
+
de9efe94-a548-4e07-8a37-7a60abb40dac
|
| 66 |
+
09ca3310-232c-4f3f-b201-3632ea8c6b75
|
| 67 |
+
ca1434ea-b787-44ad-a9da-e0f7d5167a35
|
| 68 |
+
3566c03b-5c4d-4fb8-b73c-0117a95cafb5
|
| 69 |
+
127941e8-52d5-494f-901b-af3521a67ae3
|
| 70 |
+
93a6cc04-f932-4555-93de-bf55a089ac80
|
| 71 |
+
49127749-c922-40a0-8eb8-a689a11a68cf
|
| 72 |
+
3690fee2-48d4-48f5-9985-9bf771ac3975
|
| 73 |
+
629a4ed5-9d3f-4a61-b699-99e77a03b449
|
| 74 |
+
648ae12c-91f5-4a72-b6a3-d233b83ef654
|
| 75 |
+
0872b2cd-933d-4a0d-8561-9b3d60361203
|
| 76 |
+
a993f2d4-bed8-47aa-8ce2-7a08b9785b24
|
| 77 |
+
8ee393cb-d4b3-47ae-a3d0-0e9f8bb912d1
|
| 78 |
+
8634c58a-95ee-4aed-aa80-9392073815cf
|
| 79 |
+
bbc13004-11f9-4a73-ab06-3fa3836d518f
|
| 80 |
+
a2fc6bb5-ad56-460e-a8ae-64db8080d5ae
|
| 81 |
+
1ec1409c-a3fd-46ab-8698-99f9317e9f13
|
| 82 |
+
505d3491-c597-4622-96cf-123a30dfb2db
|
| 83 |
+
cfd2c825-45d1-4e59-b33f-b6dff8c174c8
|
| 84 |
+
a261cc1d-7a45-479f-81a9-7c73eb379e6c
|
| 85 |
+
b63da48d-f6a2-4b94-a9af-3e694ca549f2
|
| 86 |
+
de438b6d-8692-44ea-a6a3-0fbcc459a525
|
| 87 |
+
126eb2a4-4d4f-4d35-b390-7d9550b54c60
|
| 88 |
+
1c73aa9f-c23a-479f-9980-3cba6792f27c
|
| 89 |
+
a4b63d2e-e149-4256-b951-eb9947420030
|
| 90 |
+
d03179da-1fd6-40f1-9ed2-8c2681ca2a0c
|
| 91 |
+
853d087c-f00d-4659-8d63-f5052fb465a6
|
| 92 |
+
44e3a281-953f-439b-aa58-01a5a362a31f
|
| 93 |
+
b4298585-d4af-48ef-b59b-8e878f66bff3
|
| 94 |
+
39d48b6a-66e8-4bbb-a596-4461b601cabc
|
| 95 |
+
6ba1dc31-7a08-4e92-aaad-5954bce6a7da
|
| 96 |
+
8ad67099-9fd2-40aa-868c-3c458d238dbb
|
| 97 |
+
b09efa75-5692-4490-bdf1-b3b2c0fed141
|
| 98 |
+
c9230a3e-6f26-4f2f-bbfa-9daedb658568
|
| 99 |
+
9a7c75f7-c02a-441e-ad6d-e9d413bb5861
|
| 100 |
+
29f2335b-f53d-4329-ad26-25f2ae7d4e6e
|
| 101 |
+
794b3bd3-eac9-4d0d-9789-bd068bff3944
|
| 102 |
+
87531064-1b80-40c5-896c-344cb3200d5a
|
| 103 |
+
38246505-8781-46e8-bbe6-838a3d7df20c
|
| 104 |
+
45199fd8-dfda-446d-b1c3-f5e4deadc441
|
| 105 |
+
16b05645-80cd-45e6-ad95-c9a9cc035d6d
|
| 106 |
+
f4dead01-fa3d-4aa5-8b59-13a0d9186dd2
|
| 107 |
+
86771809-b5aa-49dd-8c94-16d145f4819e
|
| 108 |
+
717a56dc-5151-4ad9-88fd-8ac4aa3589a9
|
| 109 |
+
a8d04142-fc0b-4ad4-acaa-8c17424411ff
|
| 110 |
+
519a22f6-92df-4b85-b0cf-3c19bb311a1a
|
| 111 |
+
b9519252-bc68-4d3f-9781-81426234e671
|
| 112 |
+
74a85d9d-234c-40f8-b15d-03f222a4db19
|
| 113 |
+
ab52c59f-e6ee-4f3f-92ac-5a6db630f8fd
|
| 114 |
+
478b347f-98de-4953-bf9f-56b2ec386f81
|
| 115 |
+
114984e0-4de8-4db7-afc8-0c66926f65f4
|
| 116 |
+
4cf43506-d0a6-4c42-9136-adb2ecd57411
|
| 117 |
+
d47c1c99-2df4-4ea4-8259-4952960d5129
|
| 118 |
+
aef3aa96-9883-4119-9ae8-c8b921a98918
|
| 119 |
+
2e10a473-32d3-4b73-99f9-d35717ccab91
|
| 120 |
+
89815623-8ece-4e3c-8879-f1f32b299527
|
| 121 |
+
b199d52d-4fc7-4ac3-b9c4-b5c84014dc1b
|
| 122 |
+
e6bbb6dc-94c1-4e80-9e46-2b25f40e0c1c
|
| 123 |
+
2a160c63-2acd-463a-8431-3dbf77d6de8e
|
| 124 |
+
410ccf87-4217-4d87-836b-4af20b355d87
|
| 125 |
+
b9bad7dc-c6f5-4488-b9d0-b787625b674f
|
| 126 |
+
5df0a1b2-0240-4ddb-a6a8-2c48c80d7427
|
| 127 |
+
4c08e855-f8ad-4c27-8ae7-116eb13f1309
|
| 128 |
+
23ad5c7b-7413-4614-846a-976c120d8bcd
|
| 129 |
+
b68f9254-913a-4aee-9ae8-29d1121dd892
|
| 130 |
+
5fd383f1-c8bb-42d7-b98b-7418d99d9bb4
|
| 131 |
+
407f60e4-68b2-42df-84a9-3160398aaf10
|
| 132 |
+
46018fc1-21a0-4c62-b009-ad420b731686
|
| 133 |
+
b1b794e8-7839-46ab-b05f-f4b1c16d5420
|
| 134 |
+
525cad2c-6c31-4a4a-aca2-a46279e51bc4
|
| 135 |
+
a5b0f86c-5449-4c10-8366-e9d74662faf3
|
| 136 |
+
58004f8a-fd60-4db6-8145-5125a4cd346f
|
| 137 |
+
896b4340-c573-4454-a26f-b0a7159da732
|
| 138 |
+
0583b07f-6e72-456c-8934-397927455be9
|
| 139 |
+
fce7bb0b-b284-4a7d-869a-3c9cae440679
|
| 140 |
+
cc27074c-f97d-486d-9d70-20c8a0df2f8a
|
| 141 |
+
d9e1f18e-63a8-4923-8b91-8d992cf76776
|
| 142 |
+
515ec288-a236-4a94-9b3d-449667088c82
|
| 143 |
+
a4988227-0d23-4ee5-b106-981690dcfad3
|
| 144 |
+
da227d63-a07c-471e-9130-07a8a492d654
|
| 145 |
+
ca6bb6c4-1bf4-4253-926c-803881a165be
|
| 146 |
+
3c56b1ee-b11f-4aeb-a6ab-359fc1bbea3b
|
| 147 |
+
f6c800a6-e14c-472f-ba06-e4bf0f187e5e
|
| 148 |
+
01c31ac7-3885-46ff-9af5-9e1d0910dce5
|
| 149 |
+
823affad-e570-4091-a85f-da7aed524500
|
| 150 |
+
20557049-ca20-4539-9e34-76031fce30e8
|
| 151 |
+
54d00238-c1e4-4b2b-8870-2cbd442cd81f
|
| 152 |
+
d9ce9305-d24f-4127-9d6d-e4d89e43f44b
|
| 153 |
+
4fc454d5-6acb-4197-8014-a5216ee7ba80
|
| 154 |
+
b7dbb47c-d850-4853-b434-7b20519ea9e5
|
| 155 |
+
636eaa0b-d65d-4b25-bbdd-1065f84ef89e
|
| 156 |
+
13786d88-76d1-4ecb-b74b-4600727c9ada
|
| 157 |
+
4bb9382b-ca84-4635-9626-f4aa949747f5
|
| 158 |
+
82e854f5-b603-409b-821d-3e4f19b030b0
|
| 159 |
+
b4b83178-90f5-4ca8-9862-224d5044b0c4
|
| 160 |
+
f702f8fd-a664-40f9-b71e-5fd647fa226e
|
| 161 |
+
a69a5919-7b9d-4724-9b26-46dea6fa0c87
|
| 162 |
+
b418cefc-12f5-4800-b9f0-a90541c4bea0
|
| 163 |
+
f01b21c4-8023-4800-b3b2-3326a3c164f2
|
| 164 |
+
c112d4da-5120-47d7-9b05-a4ef68baa226
|
| 165 |
+
554bdf0b-2239-4c83-ae2c-38907ca0bfc3
|
| 166 |
+
bd409a14-0392-447c-87ce-e7d44d0cf3c8
|
| 167 |
+
d2b0ee95-2a76-4b69-aebf-3c7e553f8e2b
|
| 168 |
+
6dd93969-2dff-4546-bac6-a435698eb14a
|
| 169 |
+
d07f8138-ccbc-4c09-b9b7-05918088bfed
|
| 170 |
+
30e473a6-4746-4fc6-8b2a-37f179eaae53
|
| 171 |
+
dcc39981-04fc-4dfc-9bc4-53699496af39
|
| 172 |
+
9275d1b4-7238-43fd-ad7d-1d1ee60de569
|
| 173 |
+
7130970c-73d9-413d-964e-167696280422
|
| 174 |
+
04a3ba43-44b0-4fd8-8a23-82d235085599
|
| 175 |
+
9da3d7c3-42aa-447a-9080-98c703d49c25
|
| 176 |
+
734c53c6-a781-41b4-ac79-22a196353fde
|
| 177 |
+
f6cd28c0-570f-4048-a684-bb4f0b055adb
|
| 178 |
+
e24f2e2d-bc8f-4039-b617-b48bc45659bb
|
| 179 |
+
b8b06b02-51fd-4a0f-9d64-9257be8c7df2
|
| 180 |
+
a58f7f81-1ca2-4f98-bae4-2afce688c685
|
| 181 |
+
fe9c727d-dac3-4efe-9906-b268991547cf
|
| 182 |
+
ee2c4d41-d7f7-4b85-9f4f-cc1da654cd40
|
| 183 |
+
d1888843-9fb6-4a0b-a732-978d03786ae6
|
| 184 |
+
e8cf53f3-a9e3-45b6-a313-10765ae183e2
|
| 185 |
+
d6ab4bdc-52c8-4398-ac3a-aff30f66260c
|
| 186 |
+
2cc1db50-e1ca-4bc5-9066-4adc98b27df4
|
| 187 |
+
3d41b047-b3c7-43b0-8663-daddc3e7d32c
|
| 188 |
+
145bc22e-b966-4778-a082-8ec5f94e3626
|
| 189 |
+
37365e38-41ce-423a-b9d8-05d946535768
|
| 190 |
+
3eaf67f2-6d43-4b99-99a9-d591796fc73b
|
| 191 |
+
103fc8a3-0e82-43a3-adf8-96bc8b3ac4ef
|
| 192 |
+
d2a578c6-c2e8-4a03-a809-ecb29e0c8859
|
| 193 |
+
4862eb13-2289-4745-a908-e6aa7f6ab829
|
| 194 |
+
aa445893-9c9f-402a-a646-a8dacc34ebc1
|
| 195 |
+
4a3c1bbe-b22a-41b0-b02b-23c1de785ea4
|
| 196 |
+
cea1b20b-6e18-4bb6-87e0-164a2b8c3dc0
|
| 197 |
+
5dc6b68f-c360-4519-8b45-1d9ba21dbeed
|
| 198 |
+
062ed386-05a4-4ff5-a8ff-2235045349d7
|
| 199 |
+
1789c39f-b302-48b4-9fa5-8716cfbfd43f
|
| 200 |
+
cef2f19f-ec48-410c-8205-4572cc8706d9
|
| 201 |
+
c69ac66e-fe72-4923-bccf-5674bded8f89
|
| 202 |
+
783ea71f-5f82-41da-986f-b69025680e27
|
| 203 |
+
9105418d-9a1b-445b-a77e-108d22530a8c
|
| 204 |
+
fba2c124-99ec-40ed-8d6a-46808afe6d98
|
| 205 |
+
7b138731-a8f3-4938-be1b-22599df07d39
|
| 206 |
+
8dbcefd0-a7af-44f2-ab5b-49b5c11b0e56
|
| 207 |
+
b5793959-4dbe-4d2c-b036-47e4be38743a
|
| 208 |
+
2de0896b-df6d-4687-bbff-f700d675e385
|
| 209 |
+
9ae1d6ae-8175-43ed-b5b0-afacabeddbd1
|
| 210 |
+
e929ea2f-f2a6-4823-a201-5810f976c963
|
| 211 |
+
8f3668cf-d6c8-4e50-bcaf-f5d994ee62cf
|
| 212 |
+
46deacb7-2d19-4b18-b440-170f9ea7f28a
|
| 213 |
+
99969e76-0172-4a07-b890-73848b97e0fe
|
| 214 |
+
cac56c11-1de1-476f-a05d-f43c0cf99893
|
| 215 |
+
c65220c8-1e12-4f2f-a87e-4d217eacca9c
|
| 216 |
+
4be6b7e6-b07b-405a-b384-ccf8dc9391f2
|
| 217 |
+
952ca52f-91d7-40a8-b254-affcc831112a
|
| 218 |
+
1c504968-4f68-48dc-bee3-159fa197af65
|
| 219 |
+
18e1e279-78e1-4c10-97a7-42dace59267b
|
| 220 |
+
a548b784-dfd2-458f-8131-b36020906d32
|
| 221 |
+
3467af8b-50c5-486e-8ff8-6a1401849bb9
|
| 222 |
+
7b078956-9843-49dd-be3c-39591bde70fe
|
| 223 |
+
dd77aa6d-cbf6-4883-9bc5-bd6d7e0dcf91
|
| 224 |
+
6a3376a7-949e-4385-b16e-076dfb8c3f5a
|
| 225 |
+
0d7dc221-d9dd-401a-acb8-b6e76e458300
|
| 226 |
+
549e5b97-f93a-4500-8f02-5be13017dce5
|
| 227 |
+
91317e63-1393-4776-a201-d5158cb2d9bd
|
| 228 |
+
db0dab21-696f-42ac-befa-0a7af0dfa4b2
|
| 229 |
+
0efd9fc1-0f49-403d-9252-93f119a3ea3c
|
| 230 |
+
5f8792b1-0ab2-4484-a591-962fa3c93881
|
| 231 |
+
3b345db3-d57e-4b6e-a4da-13bea50631e0
|
| 232 |
+
699dde3f-cd23-4674-939e-42438faeb0da
|
| 233 |
+
6cbfa460-72a7-4038-b6af-4305a1cc05dd
|
| 234 |
+
f2ed808f-dd7b-4be9-ab72-dc6c9e0853e5
|
| 235 |
+
edfd7e49-1765-43e5-ac74-00e1d36b54ad
|
| 236 |
+
c97bfa47-1ca4-40f6-a463-b4f25c8b127d
|
| 237 |
+
c7c5fe65-f694-4ff1-b51d-ee8059143f51
|
| 238 |
+
f982aad4-3315-4c23-80fa-eb91fc5cb686
|
| 239 |
+
bf1126a4-6276-4cc8-bec1-4879a2562ce5
|
| 240 |
+
ce9bec98-3ec5-4189-8f9d-03e3ff3cddda
|
| 241 |
+
7ab371e9-704d-42d0-a130-217260e169ec
|
| 242 |
+
99c10780-e9a9-431a-af53-fda0b4fae201
|
| 243 |
+
22f0fe6e-c298-4478-a15a-1541ba2434b4
|
| 244 |
+
e3e33fdf-d781-4bac-9d7b-4545975d48fa
|
| 245 |
+
769c8fe5-3f64-4b55-894b-8e6b7e8aa683
|
| 246 |
+
cdb39869-48e6-43fc-b036-a4c22d14cdb2
|
| 247 |
+
efacaa24-2dd2-45f2-a316-414f2e2cddc6
|
| 248 |
+
a5e81f20-ea35-4f63-a908-11d89fc1294c
|
| 249 |
+
6e252fac-4cec-4abe-bc4c-72b56b44fbcb
|
| 250 |
+
f206f522-f635-49c6-8dc4-563199704bb8
|
| 251 |
+
bb09460a-19d5-4dcb-867f-3d670d06bcfa
|
| 252 |
+
4794b8f9-75b7-4eec-81b4-da8c5177ecb7
|
| 253 |
+
783505c4-4ca5-4bee-a572-9e214115e035
|
| 254 |
+
be266e24-9627-4b79-84cb-1606b5743f0b
|
| 255 |
+
c7f81b64-f398-4b75-ad96-de62f2a31ec6
|
| 256 |
+
3cf6545b-6476-41f4-a526-6d1da55588e3
|
| 257 |
+
75f558ea-bd55-4882-9142-edbeab8d94bb
|
| 258 |
+
cf7eede9-1550-44fd-a1b7-b25a02ba1d9a
|
| 259 |
+
319a9983-f70c-4224-a3a7-33338c8a9f35
|
| 260 |
+
b4544164-6ead-4efa-a629-7fdf472f91f4
|
| 261 |
+
aa461c0c-d577-4667-b3df-157207b11063
|
| 262 |
+
05db9b5f-6904-43d2-99f8-62e6d3353afb
|
| 263 |
+
2f61dd27-2ad2-4029-b36d-19a02ae8feec
|
| 264 |
+
5f4f823c-082e-487d-acac-1e6ef80a9857
|
| 265 |
+
87adac1b-2895-4cc0-9ebd-218bc9d1e8ff
|
| 266 |
+
ef3879f9-2159-41d8-bef2-e7b746e6673a
|
| 267 |
+
42e4f58c-bdc8-4294-966a-240a6367428a
|
| 268 |
+
281b1c72-71be-4745-9a21-3a24a02e3c6f
|
| 269 |
+
cb4dce4d-001f-4c5c-adcb-fd882ec09517
|
| 270 |
+
f54df2fb-065d-4c1c-874d-ae06e7837c8f
|
| 271 |
+
e5beffc8-2cc5-4cc5-9e0e-b22b843aaa4c
|
| 272 |
+
38bb5f61-707d-4cf3-b1d1-a8260b7dfadc
|
| 273 |
+
1b8601c0-ca65-4b4a-9ed4-0248d9539257
|
| 274 |
+
5c322676-611b-424f-b00b-e825807dd1fc
|
| 275 |
+
bcfb6839-3c09-4d42-9d9c-59042f6ab721
|
| 276 |
+
cbc1a7bf-ba96-41d2-a6ec-42f9db7852f0
|
| 277 |
+
831704c0-37fc-47aa-9ac0-3681ee652690
|
| 278 |
+
d44116b4-c888-4be4-b5dc-b5bd628cea95
|
| 279 |
+
66a58e88-a8a3-49c8-94db-949274cb5be0
|
| 280 |
+
6790fe08-7a63-4925-a60f-dd78bf9944ff
|
| 281 |
+
50bf0d2d-3bf3-4369-b72a-935561926195
|
| 282 |
+
a0748518-35d6-459a-a7b6-5dbe88147d7b
|
| 283 |
+
5d98d741-a4b9-42ac-8ffe-0960260a9f57
|
| 284 |
+
71892035-0e6d-49a0-ae65-c30a76b0af79
|
| 285 |
+
3ca2798d-cfe3-46c6-a8bc-cc4689bd6d75
|
| 286 |
+
eaa6d996-c634-4488-9f7b-fe5487202f63
|
| 287 |
+
097e886c-442e-4426-a19b-798d09e8e0f2
|
| 288 |
+
4099f58d-1cc7-4368-990d-dcff3f5aa220
|
| 289 |
+
aa40670e-4487-4f60-a27b-26f7372ef8e7
|
| 290 |
+
961375e7-69e7-4bac-b61c-9dfd6a80c197
|
| 291 |
+
9de1e91d-4331-43ac-813a-318b02732d7f
|
| 292 |
+
bde0f2f1-a83e-4c29-b182-502ce6d94e21
|
| 293 |
+
b07855a6-9582-44d2-be98-47daadda043a
|
| 294 |
+
4ad70302-a794-40ae-ba8f-248296fb2809
|
| 295 |
+
389cfa3f-3a4c-4b8f-9535-d7c95ffd594c
|
| 296 |
+
658a6c36-f169-4d0c-9811-cbbc76393e07
|
| 297 |
+
cb327cb5-3ad5-4f47-9cfa-29b4e7cc2836
|
| 298 |
+
214bdc0d-fa50-4a84-b771-c0a7bdeafadc
|
| 299 |
+
f1f1c625-48c9-4e7f-b3b8-f384f5cf2442
|
| 300 |
+
c2374b84-5d13-4bcb-a320-b375851245e4
|
| 301 |
+
e6f04a5d-0da7-42c9-8b27-4e240319047e
|
| 302 |
+
08504348-4f72-477e-a08f-1050204ae55e
|
| 303 |
+
708eb73a-1e98-419f-823c-2e6e96e8d81b
|
| 304 |
+
76311964-abcc-4d73-b84b-241e9c782850
|
| 305 |
+
d35a162e-c38e-4017-94d1-539f26651115
|
| 306 |
+
e102ad52-d3a9-405b-a5a2-9a77a1a9922d
|
| 307 |
+
e846fd07-a298-4313-a591-04292b5c5097
|
| 308 |
+
23d1dc00-55f7-454e-b388-264ee6240527
|
| 309 |
+
ffe64b82-6751-400a-9d64-5f4952017234
|
| 310 |
+
1bd5a43c-9476-4491-b82e-6b02aeee2231
|
| 311 |
+
20bc64ed-0612-4f59-9822-7ef409c7fdd4
|
| 312 |
+
8dec5000-77af-4a40-b180-858057fff7e8
|
| 313 |
+
4d6e4368-543b-4b69-a261-e8c01401ee8c
|
| 314 |
+
cc93caa4-3f2e-48fb-95d6-fdfc0e45db01
|
| 315 |
+
21141700-c64c-4fd7-9b36-c69e30fea1ad
|
| 316 |
+
989ffb65-7466-49fd-94cb-6d3d4d528a8b
|
| 317 |
+
ea17b93e-a687-4aae-8514-657f4bcae20d
|
| 318 |
+
925ebe22-f97a-4e79-aed3-9873cf461c3c
|
| 319 |
+
c0b7d130-2004-4450-ad94-ea3167bd9fab
|
| 320 |
+
8c917b9b-6eb4-46e0-864a-364656907738
|
| 321 |
+
b2db39d4-cc06-4821-8545-e22c3ab67eab
|
| 322 |
+
024a7ee5-df4d-4dd0-a890-b13adc8ed431
|
| 323 |
+
6e0bfa70-e88e-487d-9698-d16afbdb3e56
|
| 324 |
+
96de3c01-236e-4fd5-b81a-76e9c5456a15
|
| 325 |
+
090c8638-3464-45f9-a76a-a45432c2faa7
|
| 326 |
+
afcff62a-3615-4afd-a08b-7bb6ade86a2e
|
| 327 |
+
7ec750d7-fc17-41dc-b627-be30b2682c7a
|
| 328 |
+
2c17b3a3-aecf-4a18-82f4-4094b7ac166c
|
| 329 |
+
661178ca-8174-4469-bf18-ca8d40c4d7b9
|
| 330 |
+
79450571-16f3-463b-a0b5-a5ede1d3966b
|
| 331 |
+
55c665d1-8310-40b2-92d3-0e6b7a47ce22
|
| 332 |
+
c8a70210-89d2-4b7e-bea7-5a79712fe631
|
| 333 |
+
3540ae4e-89f8-4f61-8606-3492031c35fe
|
| 334 |
+
3b6e9197-fbe8-48cf-891f-16ca9ebbc6aa
|
| 335 |
+
f1ce9be1-b623-4ce4-84e2-37e9f88eea86
|
| 336 |
+
e9bceaa5-6e5a-4dd6-b206-079fdfce0d74
|
| 337 |
+
988baaa6-a361-4b33-8fa5-1eecf2ebaa22
|
| 338 |
+
b1494499-048c-4be5-9595-7d664956a02d
|
| 339 |
+
b8fa25b5-6185-474f-a092-e14d494901ad
|
| 340 |
+
dc8cdafd-9424-49b5-a78c-a88ae6d2cd54
|
| 341 |
+
aef08b40-a12b-42e8-b69a-9ba14c270b7c
|
| 342 |
+
dcca4382-3494-4bb2-b79a-0e514513895e
|
| 343 |
+
01d7a29d-f1a2-44d6-8871-178f26233d32
|
| 344 |
+
0f9842a7-512f-4c04-9254-b810129f52b3
|
| 345 |
+
ea0b620a-6077-4e53-911b-34aa55ca6eeb
|
| 346 |
+
c09185f6-a5d6-43ce-950f-be3cd7ba7d2f
|
| 347 |
+
a9c72abf-f710-4854-8d9a-9ef98950eb24
|
| 348 |
+
1f22e560-2372-43b2-83c4-e452c3287fc1
|
| 349 |
+
68e393fc-d1e9-411c-898b-6d2f2f495249
|
| 350 |
+
7c0a813b-dce3-4ba0-92cc-a8e0a6f87581
|
| 351 |
+
c9506871-9f9c-4e84-90f6-be2df27e9c14
|
| 352 |
+
173f3262-9a30-4c0b-95ce-c9ab11b4068d
|
| 353 |
+
38422f88-2862-4202-8d4c-9fe0ef1e021f
|
| 354 |
+
8c6578a1-4f98-4bdb-861e-64b321b32c9f
|
| 355 |
+
ed83020f-c9cd-4d9d-8420-c69c74b1643e
|
| 356 |
+
fb5c9f40-538f-4301-856a-ff89eab592e4
|
| 357 |
+
39feb026-bcf8-4a61-89ad-9f5566c2c7bf
|
| 358 |
+
44896f15-3bb6-4358-a042-2c59140dc7a6
|
| 359 |
+
e68d09a0-fe18-483c-8a7d-24b32f9baa9e
|
| 360 |
+
f7d3a129-4548-41d6-b675-0e85c4d4e324
|
| 361 |
+
0254b6c0-4d78-471e-b3cf-07bb1e133f96
|
| 362 |
+
c4dbfed6-f922-4213-a574-da37c7afd61c
|
| 363 |
+
52b94833-ab64-4cfd-86fd-77ece1ece3ea
|
| 364 |
+
448f59b5-2f28-4013-a96a-6f3fa5bb2252
|
| 365 |
+
63156ba0-fabc-49e2-bb93-a8a0c5028ad0
|
| 366 |
+
0bc47e29-e086-4726-b874-f89671366f06
|
| 367 |
+
b0b09c9e-014c-4674-a86c-1b2af2175573
|
| 368 |
+
83167883-277a-4720-accb-4aeb0253e60e
|
| 369 |
+
52ca795f-e4d5-4b02-a9e9-8a3d964154f4
|
| 370 |
+
919b7ecf-b37e-4dd2-9fac-4f04b80fbeb8
|
| 371 |
+
327a76ce-f777-4ea8-b5c1-1108ca87c14f
|
| 372 |
+
5e4d0439-eaea-463b-963b-e6ae2459f874
|
| 373 |
+
b0e040f9-a84d-47cb-b6aa-64a85607b698
|
| 374 |
+
9bd3f0f1-531c-47e1-be1c-2b4eae001bd5
|
| 375 |
+
7c308b3c-8637-4e8c-b7a6-daf487c26f2d
|
| 376 |
+
7aa2e880-6e88-4ed4-809a-48535714252f
|
| 377 |
+
462c11bc-8dd2-440f-acbe-95ca177187c2
|
| 378 |
+
72cfc694-5d6f-42cc-918a-eb1ec0086896
|
| 379 |
+
c288cb15-81c7-4463-814f-959c12740499
|
| 380 |
+
976e486c-0292-4ee1-bed4-05a3e5b0d6cd
|
| 381 |
+
7f57b437-75b9-4cff-a260-28dba2ffaacd
|
| 382 |
+
71fbd6f0-2df6-4823-9d73-b3fdd3e824e8
|
| 383 |
+
f70d0d3c-3591-4328-bc27-776da2dd55fd
|
| 384 |
+
a50dba7f-0df5-48b9-bbd7-071ffef04953
|
| 385 |
+
62d59872-7198-4df5-a1e8-56b1136f6952
|
| 386 |
+
a9902d89-3aab-4bce-aa07-720cf12523f6
|
| 387 |
+
18e2cf60-65f4-4715-91e0-3917deb5daa8
|
| 388 |
+
3ac49447-8437-4e1a-b772-06f4c79afe96
|
| 389 |
+
e14d5116-b488-4a4f-acb9-d8cb6c1b5853
|
| 390 |
+
eba56e4f-7ec8-4d47-9380-e69928323e94
|
| 391 |
+
4c3ee253-c4a5-4d56-b990-600b132e0b43
|
| 392 |
+
95f2d2b4-c5de-4620-9d6a-3dd6e1cb7264
|
| 393 |
+
664e91a2-642d-47c2-9e89-44090af6af92
|
| 394 |
+
5f153be3-ed11-470c-b032-e779d7a88180
|
| 395 |
+
f72deca0-a765-46d3-abcd-9e4a0f7575d9
|
| 396 |
+
e7ea8821-753a-4723-9ac3-a5aeb7b1f373
|
| 397 |
+
b69de073-c157-4cff-8eba-97bfc7baa012
|
| 398 |
+
289c4873-5bf9-41b9-b784-aba52b54cd4d
|
| 399 |
+
f7011ab9-4260-4fd3-a218-36263fabb1f0
|
| 400 |
+
dcce3d79-a8b7-4a0d-8614-94dee726663f
|
| 401 |
+
804258d5-2fb7-4816-a09f-2becaed7e9a5
|
| 402 |
+
0bcb8b46-cc45-4bcb-a627-85633e54e060
|
| 403 |
+
b6cb97cf-d85c-4e1e-916c-869c39f7d52b
|
| 404 |
+
d7b30d31-1614-4089-a26a-7e9557265ab4
|
| 405 |
+
5ab8958c-7f0f-4580-8de4-edd20a839c49
|
| 406 |
+
48c5e2ce-5249-402e-b198-35240beefb88
|
| 407 |
+
819780c3-97c0-4ac6-b37f-8c66abf8167d
|
| 408 |
+
375f6d12-23dd-4ad1-b02a-9fd9f7a8c991
|
| 409 |
+
ff29aa81-555c-4eb2-a79f-10e27e7f09c7
|
| 410 |
+
7fb68600-a998-46ae-b2b0-72fd1978b8fd
|
| 411 |
+
656e26d7-ef8f-4f98-b7bf-1058e0c287bf
|
| 412 |
+
63ab82bb-2d28-440f-814c-1fc0d06b89d0
|
| 413 |
+
e1475f87-0c9d-4884-b932-140c2a0de3c3
|
| 414 |
+
0e4c18eb-22d9-4c41-a4b1-e02e574be20d
|
| 415 |
+
43b6b938-dc04-4e86-9165-e4f011aa7344
|
| 416 |
+
b918c9ce-f1ad-4fb2-9569-3726685517ee
|
| 417 |
+
87a63705-c609-49cd-9605-0117ad0b0526
|
| 418 |
+
90e697a5-2cff-4ecc-a580-f4c230a5488c
|
| 419 |
+
c9322347-29d7-4ab8-ae9f-5f0acdc095c9
|
| 420 |
+
712a77c1-6a02-4bfd-bbdb-06fa8b1e8b1e
|
| 421 |
+
1964ed60-addc-4452-89fc-d1a696540345
|
| 422 |
+
6a90f588-8a69-4d1c-b071-85527fc98042
|
| 423 |
+
7d33f6b7-46c0-4087-97e5-100c369ffe45
|
| 424 |
+
55a996a2-cdf3-4976-b475-a7c4c6a008a8
|
| 425 |
+
83d9f439-642d-47b8-bc95-1a9442a0f4f6
|
| 426 |
+
9512a137-40b6-49c6-a03d-a3340b9dd277
|
| 427 |
+
5ad8e62d-726c-430a-9849-6f5d3ba3704c
|
| 428 |
+
642c0099-f952-4be6-83b8-cb8bfd94f7bb
|
| 429 |
+
96816348-c93b-4b46-b4e9-2f53d96f9f88
|
| 430 |
+
726a93e4-ec22-4373-8cac-c333e459abd5
|
| 431 |
+
d6706cac-3a65-411f-b9e2-cf7245305fbe
|
| 432 |
+
02417aaf-e818-4ec9-8731-abddcd9ac466
|
| 433 |
+
bf74fe65-12af-4d4e-a7a6-7885c854ae49
|
| 434 |
+
d1eb9ed3-c414-4e5e-aa70-37e73dde1802
|
| 435 |
+
77cd56fc-6b68-4c7f-814b-81545484dd2d
|
| 436 |
+
ff22eeaa-b5e4-48f7-8a48-50bb368ec289
|
| 437 |
+
7014a547-6f84-48cb-bc91-28012c4cce06
|
| 438 |
+
73251f3a-238e-4dd8-8297-6fe9893239e0
|
| 439 |
+
a3fc32b8-24d8-4d77-bc3c-8dbd70284a5c
|
| 440 |
+
fd053d4b-ae66-4b8d-880a-bdf1cebc7257
|
| 441 |
+
51fc36b3-e769-4617-b087-3826b280cad3
|
| 442 |
+
393e9b60-504c-4cc7-a90b-eb78dd62d5ff
|
| 443 |
+
e43a918c-4518-4c49-b57a-ca9b259a85eb
|
| 444 |
+
55b40961-8713-45e2-8c5e-30857a723c4a
|
| 445 |
+
4da9f6d7-08e8-4c2a-9224-0f2cece08780
|
| 446 |
+
a3214a2b-be14-44fe-b4b4-791beb788b77
|
| 447 |
+
9ed23abc-0a73-4f1a-b1be-3d94cf71b8d8
|
| 448 |
+
528408d0-3098-4ab8-840c-7ee95869880b
|
| 449 |
+
5d4abe32-590d-470d-8fd1-4585833afaad
|
| 450 |
+
072f6ab6-a3c2-4e86-84ef-0b32d60d5555
|
| 451 |
+
581de43e-f659-498b-a8e5-25647be63f41
|
| 452 |
+
a875caeb-6b2d-4499-9d7e-74252b8f877c
|
| 453 |
+
70fb86ec-39ef-418f-8f9e-c95e6aab3255
|
| 454 |
+
fb09baec-1a5a-40b4-8d72-e581c93fbd77
|
| 455 |
+
9d436b0e-2839-4519-a41d-189e1b1a4816
|
| 456 |
+
8a81ba3d-61f4-4b6b-a0a3-e1463a226985
|
| 457 |
+
4a628bb6-49fa-4cfa-ae74-2b3beac2b095
|
| 458 |
+
54da69f2-4e4d-4b65-820c-46fdcb38d097
|
| 459 |
+
3042b472-99cc-4407-a79e-f76916b95737
|
| 460 |
+
adb82b37-8e0c-423a-9016-4a17ae673b75
|
| 461 |
+
0b771d9f-7bab-4023-ac08-e56c06505946
|
| 462 |
+
2558806a-cf6c-42dd-8323-ab80e7b7dc75
|
| 463 |
+
4939903a-2c73-4633-ae15-618be39990e7
|
| 464 |
+
644022d7-8e50-4bb2-bab8-f7ffbfdc7d17
|
| 465 |
+
971bf500-87fe-41a1-8ede-5b2eb1e87711
|
| 466 |
+
cda6c810-63a5-455e-b92c-f288e26c72e1
|
| 467 |
+
705d49e6-20f4-4c32-ae7d-dfa50abfe7fc
|
| 468 |
+
ced0e340-b958-4505-badc-c8c2f256c145
|
| 469 |
+
9bc33576-bcb6-42a5-b040-3220456f268f
|
| 470 |
+
44b51e21-176a-4f20-a61c-1117696ca084
|
| 471 |
+
ccec2129-83b1-47cc-b179-fc165ac12f25
|
| 472 |
+
e53ae33b-61b6-4c3e-8be0-5696f961704b
|
| 473 |
+
dd23d126-e63d-4df0-ba1e-2c0c137d5bb2
|
| 474 |
+
4d250ada-e17a-4385-a08c-88b645cfe872
|
| 475 |
+
60475f06-2613-4496-939a-5381e7807349
|
| 476 |
+
2429d435-c4fd-4e57-a25c-d2badd786e60
|
| 477 |
+
35e4a30c-bd1b-4b46-aab2-2b49adcc4b7c
|
| 478 |
+
d2e07def-3ea4-4c31-b20c-5f5a7ed52fb9
|
| 479 |
+
9abb07b4-f708-4571-8a82-d5baf748980d
|
| 480 |
+
2423c2ff-c85d-4998-afab-29de8d26d263
|
| 481 |
+
97584eeb-d107-40e6-9a14-767ca29b22b1
|
| 482 |
+
fb626925-969e-48ea-aeda-ef99300fb8f7
|
| 483 |
+
0be9bbb7-ab8c-4134-8886-178e31ab34be
|
| 484 |
+
64636876-638e-4f1d-9301-3bb4cb9b391a
|
| 485 |
+
7683f1f1-f84d-4ecd-ae0a-7ba6ee2f8cdb
|
| 486 |
+
a6c76788-37ca-4005-9e7e-cf5ecb00d8cf
|
| 487 |
+
8e40c272-9469-4077-bece-0268040b79ad
|
| 488 |
+
4ff4e3e6-53ff-4827-ad51-b35594910af9
|
| 489 |
+
f3bfdad9-5ed0-49a0-b70c-aa1ee79a3bbf
|
| 490 |
+
cadd4f9c-0957-4404-980b-2c5718734a3f
|
| 491 |
+
4f1a4a10-b34c-41a3-9544-86622f7881ab
|
| 492 |
+
ad758298-5b6a-4e49-bda3-5d254a5f54c7
|
| 493 |
+
2059dde7-ecdd-4bfe-90ca-5f482b44fe47
|
| 494 |
+
a1b56b36-68f6-4238-b5bf-a830dc8758bf
|
| 495 |
+
08abcbb4-9277-4154-94d8-9e36b750fed8
|
| 496 |
+
ecb9c4c1-214c-4bfa-a9f3-371b85267113
|
| 497 |
+
a2526805-27bd-4d17-9325-d3bd1e291f91
|
| 498 |
+
d8f1f126-5984-43c3-8774-45c6d6ac447c
|
| 499 |
+
8e5d6ad7-f48c-40e8-bf02-05ac74c2d844
|
| 500 |
+
f717f240-edd7-42ad-901f-d3dbc465140f
|
| 501 |
+
e246e05c-cc49-4d05-98ba-de2542e42c3f
|
| 502 |
+
8abc5f81-9c0f-4174-9b3b-c5d7dba53efa
|
| 503 |
+
75c8af15-2c63-4024-ab24-db3ec0569207
|
| 504 |
+
1e457d17-85cd-44b2-9c60-84304b07282d
|
| 505 |
+
eac4b49b-cf4f-4925-bdbe-5ab98d0bae74
|
| 506 |
+
40cc96d8-a05c-451c-aca8-442f39e1c14b
|
| 507 |
+
a0179553-bc47-441f-a83e-ae6e021032e0
|
| 508 |
+
bee03368-c65a-4b24-a572-5e799a8baa2c
|
| 509 |
+
f7203ed6-eb12-4aeb-ba99-f60e700b5412
|
| 510 |
+
3655a8a0-38fc-4be9-ab20-32448b48abb1
|
| 511 |
+
3817cb6b-8b20-4f6f-a8a1-d0943d491656
|
| 512 |
+
ea9149f5-4953-4f44-9712-e45ccb976568
|
| 513 |
+
e354f40c-75e9-4064-a911-850988e9ab9a
|
| 514 |
+
696b1917-383c-4fb9-a954-aff632d35d4e
|
| 515 |
+
0aed7ffd-224d-4f50-94eb-9d54fd4a1521
|
| 516 |
+
f8142a51-7b40-4852-97d5-62b307ddb7e7
|
| 517 |
+
f132578d-b65b-43d0-8a78-870c3638d029
|
| 518 |
+
15b70076-fe8e-4e72-a2cf-0004798c7280
|
| 519 |
+
ef31e3a5-a004-4fc8-8d05-8475afa2602a
|
| 520 |
+
05e5f359-526d-4914-a86b-5a56cfcc0274
|
| 521 |
+
6835b48d-ce8e-474d-b589-86d023628792
|
| 522 |
+
11b8d7e3-9c5e-4652-84ef-91504a07f332
|
| 523 |
+
aceb9ba2-bcd0-4249-baaf-12cd03e14aaa
|
| 524 |
+
d0109704-c19c-444a-890f-5796742434a8
|
| 525 |
+
a268acaf-1493-43ed-b368-346aa9a0f09f
|
| 526 |
+
207ae687-de62-4b01-b26f-fb66fd167884
|
| 527 |
+
876aae71-1ed8-4648-bd13-bce01b18698d
|
| 528 |
+
759aa03c-c8e1-4fcb-8817-85948100ed33
|
| 529 |
+
e52bd93e-021f-4208-aa02-ad1e64c03399
|
| 530 |
+
bd58f048-87aa-4b40-97ee-17bdb2dd947e
|
| 531 |
+
c65b2012-329e-4c9c-8847-0c80b86f23bd
|
| 532 |
+
287c0ec5-8e84-4a21-8b18-a1e34f336187
|
| 533 |
+
6d571173-653c-400f-99cc-14111f8657aa
|
| 534 |
+
31df8578-1fd0-4406-9008-900a88f7990a
|
| 535 |
+
cf11c037-3a43-43a8-b9ca-b3c457d31535
|
| 536 |
+
404cf466-ff98-41e4-b73a-6829f6d29005
|
| 537 |
+
ed064e3d-b2e1-4103-b955-3d720460d89b
|
| 538 |
+
a94c3d1b-69c5-4c8f-8840-ec5c37630965
|
| 539 |
+
29a96621-394a-4411-8404-cae4400df95e
|
| 540 |
+
10114022-4de6-43cd-af19-b3bc5cbeae31
|
| 541 |
+
b0844d48-90da-4073-9e03-fb8aef700f40
|
| 542 |
+
81342757-adb9-4df2-af73-6ac28136f4ad
|
| 543 |
+
01d41c37-4de8-4a56-94a2-df57a1bc5c95
|
| 544 |
+
17fc7017-4b64-4adb-b55f-10ca76476366
|
| 545 |
+
36821f68-75ce-4784-930d-d341e340e9bd
|
| 546 |
+
655b89a8-9725-4756-9fc0-db01a580d88a
|
| 547 |
+
02715c86-e30c-4791-92b7-38b488e51aba
|
| 548 |
+
354f076e-079f-440d-bd38-97ddfcd19002
|
| 549 |
+
12513260-bc8d-4cc5-a14b-c7a9012bf7d5
|
| 550 |
+
76de6c17-2b61-494b-ab32-39e97e1b40ed
|
| 551 |
+
5d45ec21-c866-4f24-b037-9fa5d25c78ee
|
| 552 |
+
fb733912-4a66-4821-9313-344628fd1154
|
| 553 |
+
9fe91f54-5d6c-43ba-aed0-cd8b1aae5d98
|
| 554 |
+
08e08417-f43b-4870-8a26-3f3350bb6197
|
| 555 |
+
1a3108ed-4c32-4ee4-9506-80d26589d4ea
|
| 556 |
+
c339d326-2e69-40f9-88f3-caa5c80ff3be
|
| 557 |
+
3db860b7-a23a-4d9b-a988-4b656a608122
|
| 558 |
+
d6817560-492c-4de8-93e9-56df0c3b4ddc
|
| 559 |
+
de3728ca-fdeb-4591-80ab-cb2b32182a50
|
| 560 |
+
34ad059f-5b0c-41e0-8aaf-096d3f4482b8
|
| 561 |
+
77d985cb-eff9-43ca-b5e2-e2d1433d0d4b
|
| 562 |
+
c3bb6a9f-fa27-4be2-a368-9fd694fc4231
|
| 563 |
+
9ff58052-a000-4423-bed0-43ed44f2ce74
|
| 564 |
+
35823fca-da54-49a2-8d4c-365046031e2c
|
| 565 |
+
2a6617b5-ce8f-4234-a128-829b639df186
|
| 566 |
+
91bb7bcf-7498-4611-a3bd-41869be84ef8
|
| 567 |
+
70b452ff-ae15-4177-98ee-9cb8389e8f79
|
| 568 |
+
21e09276-debf-49dc-8e6b-da8660308766
|
| 569 |
+
06c44d8c-98e6-4204-bb90-edfa26f8ab33
|
| 570 |
+
1032ae70-ce9b-4e6e-8b59-52a19b1f5b52
|
| 571 |
+
80f65504-a37a-4c84-8a19-df3bba123326
|
| 572 |
+
6b17a7d8-6454-44f4-aa50-32256f4cce73
|
| 573 |
+
faf039a2-d360-4e8c-b5fc-a5f80e24c819
|
| 574 |
+
f8412ce8-fd3e-4aa9-94b5-a625293dc8a3
|
| 575 |
+
9506c70a-1639-42ea-bbfc-2b9c0f8c9394
|
| 576 |
+
be3ba254-9db0-4fa9-91ed-c9e7117f8d83
|
| 577 |
+
49944f64-4fc9-44b8-bba2-7d6720c3186f
|
| 578 |
+
181c0eb5-22da-4a00-ad59-37b67622012e
|
| 579 |
+
4535b913-a861-4a1a-b75f-5718ad3a5361
|
| 580 |
+
dd09ac20-b7ae-48e0-a0c1-69f49f541ac4
|
| 581 |
+
f7919017-3bd3-4c92-8f7f-ce9b33f07353
|
| 582 |
+
c95ba288-2cca-46f2-b606-f4e4d145d40e
|
| 583 |
+
9f3efff7-1aee-4a53-93cd-8b4ab0360d0a
|
| 584 |
+
5b4fcf58-6bdc-41e4-b7e0-739abc35e7e8
|
| 585 |
+
dc3e63c1-5b14-46f3-8230-5c93249e9469
|
| 586 |
+
e46f9a53-7625-4827-8b92-79c958d3524e
|
| 587 |
+
9d1b7889-ffd2-4bf6-962c-10b4cce60c6c
|
| 588 |
+
b7c782b1-9688-4b19-8f88-003fed1d0e61
|
| 589 |
+
aa079c80-4193-457d-86c0-80f13d2f94c0
|
| 590 |
+
109db476-2edd-4968-b2da-6abec1a199da
|
| 591 |
+
ae8c1f26-ae3c-4df9-841c-ee364f0e4fc6
|
| 592 |
+
f55771c6-9192-4a78-a48f-16c926c44023
|
| 593 |
+
93693881-02eb-404e-b42c-74aeed11e46b
|
| 594 |
+
828f456b-54af-4a84-aea5-a8071fd1cae8
|
| 595 |
+
a46d15b2-5c90-4938-bdca-40b87f51bec1
|
| 596 |
+
93dee400-712b-4491-9d4a-7b4bf21f4f92
|
| 597 |
+
9365a457-db04-4e11-981f-92a95cda4ce4
|
| 598 |
+
ac259bd8-f9a1-4456-99b3-610f80351c06
|
| 599 |
+
ede28f52-3ab0-4da8-808e-33ba5a1fae28
|
| 600 |
+
aca145aa-6d73-4bc7-81bb-2d303e3a6199
|
| 601 |
+
084fe4d0-b55d-4de4-a26d-32d7735e9621
|
| 602 |
+
2182758f-49b8-4a13-b691-b9671ef20c4d
|
| 603 |
+
3125dca7-b99e-4b2b-8844-2d912619b353
|
| 604 |
+
e3b4afb7-d65c-4185-a038-9b9235caf342
|
| 605 |
+
101a2de8-7c4a-46c8-aa4a-25ff4c7bddc0
|
| 606 |
+
6abf4872-3bc1-4e63-8fb6-90f796505e31
|
| 607 |
+
b65a60e0-f224-4b3d-bf78-ba44e12c4ac1
|
| 608 |
+
10fbe798-2bdb-4d5b-8bbd-00a5f49fd391
|
| 609 |
+
88c1166a-2e6b-43de-ac57-b2d736c41946
|
| 610 |
+
9d6dd55f-1735-4d5f-8cac-92e04c9c896f
|
| 611 |
+
1856e7d9-d45a-4909-9206-a3d6921ec6bd
|
| 612 |
+
9a8dc147-818a-4f38-97c0-12b924033ba5
|
| 613 |
+
bd0f3e9d-185d-43c2-96c2-34b8eb11e6a9
|
| 614 |
+
6ec6a770-8e10-4cae-a06b-328852838ec6
|
| 615 |
+
aaea78b8-f839-42af-af65-0cc3f7fb2897
|
| 616 |
+
445a97bd-eccb-43e2-9fc0-2468cf0b2954
|
| 617 |
+
b24dbfff-1a6f-4649-b60b-35ae8c7aec80
|
| 618 |
+
ca01f52d-5afb-49a6-9b5f-ed0770fdf84b
|
| 619 |
+
74f5cad4-2391-4ca2-adab-659f54c1a61f
|
| 620 |
+
11bf68ee-12f0-435d-98eb-925c158ac705
|
| 621 |
+
c9f0ec0e-2c5f-4350-a2f2-27877b56225f
|
| 622 |
+
f7b3e85b-7681-48b3-97cb-6b0a5705022e
|
| 623 |
+
8acb2112-465c-4088-b502-65fd9704dd77
|
| 624 |
+
b069e23f-1a22-4920-879a-80616b098e60
|
| 625 |
+
3c99493b-a76f-4934-b444-c8dcb68b17d3
|
| 626 |
+
82587f1a-a75d-4462-8971-b62b5c3a633e
|
| 627 |
+
3f477d02-124d-436c-b77a-f5ad63c21289
|
| 628 |
+
811ad284-702f-4d38-af99-a2c4006fa298
|
| 629 |
+
a6500813-e923-44e8-9876-b8f6f2fc15b2
|
| 630 |
+
2cb8af8a-952e-40b7-ba48-b56f875d8826
|
| 631 |
+
829fdfa1-1192-4611-977b-2736d7123f5e
|
| 632 |
+
2e53bfbb-2476-48c8-8dbb-668071453cc2
|
| 633 |
+
5ff5bfd3-3c44-4af2-a500-65cb13be7c3d
|
| 634 |
+
3866da3e-e88b-4c69-9534-d097b315efc2
|
| 635 |
+
87b87124-24b7-4098-9c28-21545a981768
|
| 636 |
+
ae67738a-b251-4d6a-993e-4750a43cfc1c
|
| 637 |
+
62bbef54-0ba2-4990-a9e3-3dea114fa9cd
|
| 638 |
+
c53daadd-09f0-485b-a51c-1d5679f5fb09
|
| 639 |
+
0c604e7f-1f5d-46ee-8e92-509411b10def
|
| 640 |
+
b378d186-0587-40ed-afdf-875e6dfb5876
|
| 641 |
+
77521486-6690-4374-abc2-0d9bc491af0c
|
| 642 |
+
9fb66dfd-8e79-4cc8-83f2-bf9384b80fe2
|
| 643 |
+
df02e9d2-edcd-4015-829a-81cb6067d6fa
|
| 644 |
+
eec66a33-ddbf-4eac-9024-fddc99ef5fdd
|
| 645 |
+
ce509e21-ca1a-45a9-b150-3263640c9c47
|
| 646 |
+
0ccfd492-8880-4ef2-90f5-e9f54f2cd080
|
| 647 |
+
32d54e67-68d7-4b94-a953-fc3b56a1eb94
|
| 648 |
+
d13960ea-0503-4cfb-b700-8bd006544dd5
|
| 649 |
+
03167c74-f240-488c-bc6c-39ea803ec943
|
| 650 |
+
6497079c-6ac3-4c80-9d4c-f7c37a196f11
|
| 651 |
+
98c6b563-61dd-46fd-a66e-351664092e4c
|
| 652 |
+
aab43780-401b-4673-b2c2-fc3521e98bea
|
| 653 |
+
1215d140-b34c-43f3-82dc-c3f102bbf1e4
|
| 654 |
+
24647f6e-29ca-4d93-99bb-2df97043c4fc
|
| 655 |
+
6e3f9f1d-2942-4de1-b071-bf8a205d28c4
|
| 656 |
+
b008edb1-b0ab-4d8a-a303-5c09a6ecc790
|
| 657 |
+
23ff1c48-01ea-4d34-a38b-bc96e767b9b9
|
| 658 |
+
55d2990a-537b-429d-9da9-388283b9555e
|
| 659 |
+
83b377ef-967a-4380-b3ac-321dbf79f72a
|
| 660 |
+
5a7bab1e-a30b-4001-a5aa-2e8a6601315b
|
| 661 |
+
975bbcd5-fbb3-4323-b9a8-a9b476887c18
|
| 662 |
+
7ec264c5-0029-4b84-81ea-c3b24a059ae4
|
| 663 |
+
3cbd7070-7c55-4b15-ac31-100ab8c7298a
|
| 664 |
+
e94bf2b2-13f2-4b88-93ca-37da00d7c58e
|
| 665 |
+
5b4cc5cb-22f0-4814-aa24-8d51ba50000a
|
| 666 |
+
43d60820-1daa-472f-be4d-6802746df7d8
|
| 667 |
+
dcfbcea7-821d-4f06-9ecd-95f4b99a9b4b
|
| 668 |
+
b64755de-fc1c-4e36-a862-04e4c34a2dfa
|
| 669 |
+
d1563ead-9c4a-443d-8f28-515100c0b909
|
| 670 |
+
ba2086b2-f43f-4096-8b84-e9a3bfc0020b
|
| 671 |
+
8000dfb2-accb-4bb8-abfb-cc2d677d0b2f
|
| 672 |
+
0315b91a-b56f-4fc5-87f5-28c33c3fffab
|
| 673 |
+
7ec74e0a-e711-4955-9e66-b4ea17fd439f
|
| 674 |
+
ff93ae48-0daa-418c-9d5c-b5b0b6d23efb
|
| 675 |
+
0a715ea3-5aa9-427f-86b3-12190c557905
|
| 676 |
+
60a5958c-4530-4eba-886a-a3474ab1fc7a
|
| 677 |
+
d6e80361-e429-4491-a08a-ed33c7ceecd5
|
| 678 |
+
adf67490-c9f0-4771-810a-3c6b4007b3c8
|
| 679 |
+
83783976-189a-460f-9068-7ad5b17dd815
|
| 680 |
+
3382c19f-4a93-4247-9a7c-11f4f72959a0
|
| 681 |
+
6d0a7c80-ae8c-4673-8f70-c09fd6fbebe8
|
| 682 |
+
574adb34-f42d-494b-8ccf-a62922bb5299
|
| 683 |
+
2bc8abe8-e4d1-46e2-8aa0-134e30674456
|
| 684 |
+
f0cd03a5-9cd8-4510-87c1-a5c493197b75
|
| 685 |
+
b4c2bba9-fd6e-4736-a071-811734d1234c
|
| 686 |
+
7407b714-f7ec-4472-8e4d-e7eb0f037728
|
| 687 |
+
e353042a-42b6-44fc-b825-3017f274de96
|
| 688 |
+
6b90b173-de80-4a88-b52c-7eec42fd372b
|
| 689 |
+
c16175f5-f990-48a1-9dcc-6a385f108687
|
| 690 |
+
30f03e63-10bf-4d6d-8d58-fc944469c66c
|
| 691 |
+
c8749317-8f4c-443a-9f82-6b18edbcac23
|
| 692 |
+
f2628332-1196-47b2-a17a-6670055babb0
|
| 693 |
+
c529c120-c1fb-4504-97c7-52912c2aa3c0
|
| 694 |
+
c9143d68-f3aa-4214-8ce7-f490f88cbacf
|
| 695 |
+
783c918b-1473-4b72-b106-cb2718c46af8
|
| 696 |
+
d821248a-f894-47f8-9c60-02ca799fef24
|
| 697 |
+
41e70872-13dc-45e3-82b4-4cbe58d952da
|
| 698 |
+
e4b464a4-45ff-452b-a744-142d22b32ec1
|
| 699 |
+
bbd4bbea-bb25-4a7e-ba2d-3a3e6eb003c9
|
| 700 |
+
09992555-13bf-4056-a0c8-b5058853b778
|
| 701 |
+
3eb5e1c2-4c98-4637-9a28-726396ab5005
|
| 702 |
+
19326fcc-4b0f-403e-a7f5-ffb836449d45
|
| 703 |
+
77e3b40d-7693-49f1-b480-d33fd798f870
|
| 704 |
+
d246c660-2b59-445e-a618-dd86137c20a5
|
| 705 |
+
e4ddbe51-37d0-4937-816a-2508b20f2b63
|
| 706 |
+
e1df2957-a10c-4bc0-ac91-4014551287f0
|
| 707 |
+
cc5a6be4-d030-4057-9ed5-1f895c6c9274
|
| 708 |
+
b7542f4c-19e9-4061-87be-5a6d3d95de88
|
| 709 |
+
8fc1c385-7529-47ce-a2de-fc42f6e44303
|
| 710 |
+
261f6455-c60e-4fe4-8eca-6bb8fbb18ff9
|
| 711 |
+
c2145013-09e6-47a4-8c6f-bf3366b8fad3
|
| 712 |
+
816dd81e-93b1-433c-83ff-264ae404a3bf
|
| 713 |
+
aaa7e120-2224-4a5b-96ef-4a4b054a6ccd
|
| 714 |
+
198138f0-ce5d-4d91-9d68-bf3a09d9df74
|
| 715 |
+
f8bed5fe-3e09-4885-9539-edb4d5b2279a
|
| 716 |
+
29f5c00a-4562-45e4-8365-5f9413cf3e26
|
| 717 |
+
6ee078a7-6e88-416b-bbff-0b1a5cddd254
|
| 718 |
+
a57a2fd6-18dd-446e-b11c-fe8b127ebb5b
|
| 719 |
+
601c9c61-fc2b-4ac2-b3c4-dda557c2563b
|
| 720 |
+
196ecf05-aecd-4f42-8321-67300d8bb6cd
|
| 721 |
+
a3d933a1-26b2-4025-b136-3a9c2d40db4c
|
| 722 |
+
56c35d79-acb1-47a1-8590-7e5cb2585ee5
|
| 723 |
+
9fea55ae-307f-43ab-97f6-91ee6d1b25b7
|
| 724 |
+
0bfb43c8-96d4-4b2e-b8bd-f0db30421823
|
| 725 |
+
59de58da-2f1a-4ce5-9ccc-ba9e4b114779
|
| 726 |
+
19653b56-4c16-407d-999b-8bae93fce633
|
| 727 |
+
373478a3-4b72-44f9-bcda-fea08828c52a
|
| 728 |
+
020ae1ca-02ad-49c8-9056-87ad6bdcb8bd
|
| 729 |
+
45cc8340-5101-424d-8530-d93d1e7083ca
|
| 730 |
+
719fe670-72a7-4da9-be7d-0bd2afb742ae
|
| 731 |
+
34ba42af-5c77-434e-a8c4-cf745bcaaf0d
|
| 732 |
+
978cd92e-8766-4c68-9d06-8a1a19ff1dc1
|
| 733 |
+
c608817e-4a3e-4c3c-a87c-7d02e1e601da
|
| 734 |
+
46988f5c-86df-4bb3-bf4c-aca0e044bce0
|
| 735 |
+
6bc7a29f-3397-4549-9ee2-d98fa93da873
|
| 736 |
+
1377b49e-4a24-4e91-9fdb-709911b72f9a
|
| 737 |
+
01b0a6e3-04ce-4f0d-8df4-b3d3c1508780
|
| 738 |
+
c8501280-9342-4776-b5cf-79e2e02fea1e
|
| 739 |
+
b22e7d54-2198-4ff8-9ba4-bf444bf4a787
|
| 740 |
+
ba46c08b-3b5a-46f2-b77d-4a296f45c042
|
| 741 |
+
d5193bae-a7f5-4e8a-9c96-09f557c7ea9d
|
| 742 |
+
1ec6c280-a6df-4666-87ef-9da5a57e2925
|
| 743 |
+
526fb4ce-d45c-40e9-912b-7cc076081d65
|
| 744 |
+
b6dd512b-7800-4cdf-b7ec-d0d784a493c2
|
| 745 |
+
7bc50150-a73a-4d6a-97a9-ca9f8b4800ef
|
| 746 |
+
32b43fd9-a01d-4657-899a-7ea2200da27a
|
| 747 |
+
154d1224-d0c0-45f9-8e89-33f1ffa04606
|
| 748 |
+
2c9c701c-08f8-4217-88da-f0b46886ee5c
|
| 749 |
+
9aca257b-e95d-45b1-aa6b-e2abfb400fa4
|
| 750 |
+
eb428228-3267-4f31-bceb-6370d66afcdb
|
| 751 |
+
609123eb-8e83-41f9-9cd5-524fc01f3ea9
|
| 752 |
+
64b60273-e935-4161-9300-2879b46f5785
|
| 753 |
+
6fee2c75-fded-4e56-850f-0c29c809c1ee
|
| 754 |
+
a0bbdb8e-077b-4881-bbec-30331068a3a7
|
| 755 |
+
ff468baf-2313-4b39-8dc3-a1d1b6f71a5d
|
| 756 |
+
c01e470f-b07e-4730-b3ef-6cb8cdfa5b4c
|
| 757 |
+
c01e068d-c018-4a07-9a64-e7004fca335c
|
| 758 |
+
516e461f-d51a-459f-9cfa-8864bda4c06e
|
| 759 |
+
d4af8cd9-4115-4439-b7e9-77507f553418
|
| 760 |
+
8d7646a3-ce7b-425d-b16e-9a63a1166576
|
| 761 |
+
be1eb1c1-a45f-4e8b-9ae2-3d8db0af7e59
|
| 762 |
+
d89ee354-ee08-4dd0-bd7b-75db5e3ab7de
|
| 763 |
+
8623740d-86a1-4b83-82a0-c99923ce6bdb
|
| 764 |
+
afeedc0f-f962-4136-8a66-223a77ebe2e6
|
| 765 |
+
fa1b7aec-f252-42c7-b362-443f11e87fdf
|
| 766 |
+
847fbeab-dd68-4852-95f3-3a09f754f3b7
|
| 767 |
+
0b89efcd-59bf-4f0b-a81a-50dee0b79982
|
| 768 |
+
63062ad7-ac80-40df-b40d-16edfa17bad2
|
| 769 |
+
014e2850-9927-441a-8c3f-9e58012359e3
|
| 770 |
+
af02982c-8ae9-424c-9f35-6f18763a49e1
|
| 771 |
+
ee8b963a-28a3-4772-a2bb-a68732b603bb
|
| 772 |
+
027d6141-8cf8-4cd6-b250-6f1ac4f6afcf
|
| 773 |
+
0c49cda5-7e55-46d8-8f1f-522ed1924a79
|
| 774 |
+
43dcdaaf-746e-4665-88a3-adbe7351c9b1
|
| 775 |
+
53ee9e25-ba9b-429e-9cad-70c223a2f881
|
| 776 |
+
9681b4c6-9713-4bb3-aa9a-7df7daa4e74d
|
| 777 |
+
e3fd2775-90a8-4f9e-bfad-8bfae2519e3b
|
| 778 |
+
d8a7872e-aa42-4296-a4b8-53b72f3c8b19
|
| 779 |
+
f3f87687-6c1d-415f-9fe0-5f0bdb031371
|
| 780 |
+
46e0152d-45be-46a4-a44a-c1967f89d3aa
|
| 781 |
+
bf53c470-f60b-4f93-bb97-9b2a61a5ab89
|
| 782 |
+
86578abf-a15e-44f0-9ea8-3019578c8d19
|
| 783 |
+
2d60dbfc-61dd-468b-b30a-c63b9d29c9bb
|
| 784 |
+
8671219e-79fe-487b-b62e-0bc080088127
|
| 785 |
+
69fac17f-6527-493d-8dac-cd3bb61ce23e
|
| 786 |
+
b7b0e245-e49e-432f-bad9-53e4a0bf0019
|
| 787 |
+
ad14de7c-ea6f-4811-a590-1ee8a65275e4
|
| 788 |
+
4bc2e040-3193-40ad-ae69-d75f9fa4e5a4
|
| 789 |
+
4edfe85e-b734-4b53-a38a-737e283d102a
|
| 790 |
+
6a364c3b-2d86-4fd0-ad7f-228438ed6609
|
| 791 |
+
b2a184be-1b3c-4e0e-b297-d2a3a95e3e43
|
| 792 |
+
ab4b4145-563f-42f9-bfb6-97b48bdaa2c7
|
| 793 |
+
5ee00a17-171f-46a4-927b-3aa9d0fe176e
|
| 794 |
+
e26a1515-2609-42c3-a2d2-68b37cc0b4d6
|
| 795 |
+
ef1aee4b-5b24-454e-8c17-ea886f1dbdeb
|
| 796 |
+
587eca14-1115-4a97-aff1-664de9e3415f
|
| 797 |
+
2e3ac19b-c10a-4fc1-a812-ef2cf0956fb9
|
| 798 |
+
d2382b43-4a91-4d6f-ab61-1c23f34d3d16
|
| 799 |
+
8a3b29d6-b9a0-40a8-88db-f2bd904636a6
|
| 800 |
+
0015e453-3227-41b0-bd64-03c134abe054
|
| 801 |
+
24aeba39-9b30-4533-9d28-39b50c6ce3c4
|
| 802 |
+
975b2d0f-fcf7-4521-b129-7c65a3268609
|
| 803 |
+
abf00ef3-e9f2-491a-9692-114c4885298c
|
| 804 |
+
20987121-dccd-4bb8-b3f7-8536e639c4a9
|
| 805 |
+
5f981cb7-60ba-4bdd-92d3-853bbaeff7f8
|
| 806 |
+
76a7ea80-0a81-4b4f-983e-a7e36fa26685
|
| 807 |
+
beb7196e-c020-4224-b5c4-e431ad9f143e
|
| 808 |
+
ced785aa-d2db-4518-846c-d5b5549c2c49
|
| 809 |
+
441b84fd-19e9-4413-949a-c3bbb6a3b16e
|
| 810 |
+
bb0cce4d-4433-4e2b-9d73-be77918f2069
|
| 811 |
+
e08db0a4-e257-46e0-8880-640415b05976
|
| 812 |
+
311b89d8-9dbb-4602-8656-5b4151ad19f1
|
| 813 |
+
0827f0fc-4f33-4a6e-b7b3-89165585d79f
|
| 814 |
+
41006de0-560c-4e27-8dab-08e711a9bf7f
|
| 815 |
+
b2c1c748-58cf-4efb-ba53-d79361f2b0f2
|
| 816 |
+
c170d13a-68ab-43be-a31d-70abd821436b
|
| 817 |
+
b19462f1-e7fa-4b90-83da-931b1e9d50e2
|
| 818 |
+
c8b331da-1756-4836-acc5-f3d1c2142339
|
| 819 |
+
a914f836-eb7d-4ebc-a537-e8d7dbb39429
|
| 820 |
+
e02bcacc-92af-4fe0-8c57-e42ff3f74dcf
|
| 821 |
+
130f8ebc-c88a-4ae2-8e2c-b9935cd3accd
|
| 822 |
+
39d5e4c4-993f-46ad-979b-3daa146e4d53
|
| 823 |
+
e076b7e5-e67e-4452-8b00-83046dd85c62
|
| 824 |
+
6ddd7cf1-02f0-4d46-837f-8aaddd1236c7
|
| 825 |
+
a8b81a1a-5ab7-41c0-9189-a808bfb97b6b
|
| 826 |
+
6bf869e6-32ac-4558-ac54-f78a5ad1e918
|
| 827 |
+
3059469a-03fc-4ae0-bbf7-b08187d1b290
|
| 828 |
+
204dea41-2a6d-42d9-ac91-aae4f773ed36
|
| 829 |
+
e257e982-fb75-4d98-9e15-228bd18c33f4
|
| 830 |
+
6badc0af-4a97-4dd4-b89d-b540f6f34002
|
| 831 |
+
52bf867c-68c2-40f0-a195-c4795ec13517
|
| 832 |
+
6743f09b-846b-4d85-95c8-30212fd779cb
|
| 833 |
+
e0b36364-fbdc-4878-8dca-9a448856f79f
|
| 834 |
+
c30c1104-b238-4dcf-891b-1160ede92723
|
| 835 |
+
9d7d1acd-671f-4662-9c30-6ec10abd219a
|
| 836 |
+
4a10d608-6712-4f08-aa69-1cfd4541dd6c
|
| 837 |
+
1b755d8c-7351-4ad3-aff3-affe95fb1737
|
| 838 |
+
b22fea1c-b117-49e1-9d69-470aa8dd3fad
|
| 839 |
+
3528e260-6a6d-46d7-b97d-b6c029ec7304
|
| 840 |
+
6eb10b39-5171-4293-afba-4084f5825748
|
| 841 |
+
79a728ac-d543-4a7a-bf6d-132a676ca685
|
| 842 |
+
0669b09c-fda3-4fbb-9c41-b9b1fd3ff31e
|
| 843 |
+
3c744ca5-c64a-4de3-8235-c2f542ac5056
|
| 844 |
+
1247a29c-9fda-47ac-8b9c-78b1e76e977e
|
| 845 |
+
4b42679d-718e-4eb9-977e-8922b38ac46f
|
| 846 |
+
725b6b84-0a79-4053-b581-828a5da77753
|
| 847 |
+
2e00eb80-4fd0-4ba5-bcbb-5e671d7f3627
|
| 848 |
+
5f00af1e-d17d-461c-878b-1b3211c95fea
|
| 849 |
+
c8b9dc5b-8467-40d2-ab27-27923abcb054
|
| 850 |
+
1ba0388f-aeb4-4dc2-8c3c-9c0fe63f282c
|
| 851 |
+
d4c27ee9-443b-4ebf-a3ef-57829e24d991
|
| 852 |
+
bf6cb63d-ff78-4186-b55d-6aaf2e210ab1
|
| 853 |
+
a0f2b3d8-95f9-4ade-81c1-e17fcefa75d6
|
| 854 |
+
99a39dee-cd6d-4a27-b32e-bc2dee856c02
|
| 855 |
+
3499e612-8ded-4c5d-a36e-c00111b2f417
|
| 856 |
+
5c12c6e3-d34e-4e9a-bd7f-74aed58427a7
|
| 857 |
+
44d647ce-72d2-4312-b80c-99faea2d017d
|
| 858 |
+
e09f97c8-0493-4d0a-98a6-e678d4c7dc00
|
| 859 |
+
f78ad5b9-8960-493e-8c8a-ce19a53c12f7
|
| 860 |
+
7c341853-eea3-4243-ab99-e11919aefa4c
|
| 861 |
+
c4c0e97d-135b-4dec-b736-e184442bd42e
|
| 862 |
+
7aaa0ec1-297e-43e6-9381-36d332bb21a5
|
| 863 |
+
f291d174-596d-471f-836b-993315197824
|
| 864 |
+
8011f715-1132-4cdf-ad47-146bc1759f21
|
| 865 |
+
c692c40e-f2ca-4338-bb9e-1c779a7288a2
|
| 866 |
+
99052842-9369-415d-b87b-1bf756ab13dd
|
| 867 |
+
26065a7c-c2dc-475d-acff-6b5b9cb94469
|
| 868 |
+
524596ee-0f80-4086-8b7a-248258864978
|
| 869 |
+
6449cb24-e14c-4238-9d57-2e0efc4794ba
|
| 870 |
+
4356d71a-56a5-413b-a407-14f144112d91
|
| 871 |
+
bbfcc023-558a-4396-8560-d683c2407180
|
| 872 |
+
f1bdf9f3-4f65-4c70-b8ba-b3d4607c0cff
|
| 873 |
+
0fe5b647-cdd0-43e9-8710-b33a2e0f83ef
|
| 874 |
+
1bc1334f-2546-4175-a9f4-b4338f46a246
|
| 875 |
+
96d772ac-01e0-4e53-85e5-4ce45e58b6f1
|
| 876 |
+
2f53a0ce-246d-4bb3-adea-37db80c45688
|
| 877 |
+
96e117f2-984a-42fe-ad83-23857e27ae45
|
| 878 |
+
5b225fd3-e57a-446e-b228-dd452c17a235
|
| 879 |
+
5670a1c7-d4ac-4d05-bbf0-6c8161f02824
|
| 880 |
+
b5f62731-3deb-4bac-b00c-fe96e57d86b3
|
| 881 |
+
85b4c3c3-6486-43bd-b5b6-7cae6ffd4c9f
|
| 882 |
+
b63d213f-25ae-41bb-8719-01efd84dbe17
|
| 883 |
+
01a5aa96-29c3-4f4c-9f03-4404a4a260ef
|
| 884 |
+
6101e4e5-a889-45c5-ab66-e9125d2138bf
|
| 885 |
+
526b8408-7edc-4390-a1cc-44512faaa432
|
| 886 |
+
c216e68c-7483-41d3-b862-d7319b90038e
|
| 887 |
+
af277c0a-fa1c-4d8c-9f7a-a6a4d23b1796
|
| 888 |
+
dfe05c45-851b-4a94-9c22-05aca881fda6
|
| 889 |
+
c9e0bbae-4092-4ab1-95cd-16b905709a0e
|
| 890 |
+
31c74ac0-8c3d-4d5e-b577-4e54f16fb52d
|
| 891 |
+
2da6c2ce-a88f-4790-9642-8dfa810ae91b
|
| 892 |
+
fcf26143-bd53-49f7-a876-78829e4faf71
|
| 893 |
+
4d799166-0362-4daa-9f26-72e27a4feb31
|
| 894 |
+
3a1b3ec6-13fd-43f4-8af6-f943953e01e4
|
| 895 |
+
350002f0-3d78-477e-9c33-80a2cc16f29e
|
| 896 |
+
96abbf92-97cf-406b-910d-59d139c9da79
|
| 897 |
+
fea0ace3-1be2-46dd-ae8d-ae35a9f13b77
|
| 898 |
+
09acf615-b967-4c6b-b48b-53640e7be030
|
| 899 |
+
411408c0-8f5f-4698-a9c5-5e491ecba021
|
| 900 |
+
73420725-69c3-4392-81ae-539f7e4112b2
|
| 901 |
+
dd20e1de-2636-44a7-8e8b-a73571c375ef
|
| 902 |
+
6aaed5b3-1cbf-4cd9-82b0-43f626135641
|
| 903 |
+
09262ab7-05ea-43d3-8965-c9ebabdbd85c
|
| 904 |
+
2df948cb-cc89-432c-842f-2419f7cf5fff
|
| 905 |
+
8caf94c0-835e-48cd-9e7c-fa6bfddc0d5c
|
| 906 |
+
a95f74b8-d2af-496b-b40d-21db0afa2f5d
|
| 907 |
+
c8d61c25-2e15-4fb3-a522-abb11a36d404
|
| 908 |
+
6ded8a71-6cca-4514-bbe0-6a5f028262c9
|
| 909 |
+
1b4585b3-3717-4b1c-bacc-a8240ac91926
|
| 910 |
+
cc8bfc86-777e-4537-b207-9c599e9a1f40
|
| 911 |
+
a347a301-3d4f-4e2a-9fab-4f0229e48db7
|
| 912 |
+
0f43bce7-5cd0-4ff2-8eae-466257d552b6
|
| 913 |
+
f926d185-62b9-4838-9269-d7f4ac776f2a
|
| 914 |
+
eafee432-77a1-4f9c-949e-aea614671b1c
|
| 915 |
+
4cd84861-928c-4fb2-a261-2db2994959a4
|
| 916 |
+
0c01e8ef-5dfc-469d-beb9-5ff051c3b384
|
| 917 |
+
2d042a82-6409-4986-8bfb-af031f5e061e
|
| 918 |
+
6fcb3904-2aee-41e7-a45f-4f498c8e1e82
|
| 919 |
+
fdee7835-5174-4915-b13a-74ec4f33ad95
|
| 920 |
+
09e9fcd9-cdd2-4ef3-956c-5a6b96d715d9
|
| 921 |
+
091d8f3a-27d4-4dd0-8434-5b4d572e48e9
|
| 922 |
+
f8e15a05-f5b1-48e7-8751-6fbeb8acad38
|
| 923 |
+
168d649c-bb35-4401-9373-225f0731b508
|
| 924 |
+
053fcb5e-1f33-493f-88c2-f61df147b4e5
|
| 925 |
+
b50aba6e-2a45-4df2-9d07-8aaa993862ae
|
| 926 |
+
67e74067-407f-4aa9-b8d9-dbac6ea2464f
|
| 927 |
+
af464855-f44f-41ce-9f31-5d579cf00fbd
|
| 928 |
+
a628ce61-dbd9-428e-ad72-106c9aa8af3f
|
| 929 |
+
a89215f1-92fe-4207-9293-62ce108171da
|
| 930 |
+
87a09132-b107-40bf-aca0-1ae6e5dc46cd
|
| 931 |
+
f7805c2d-d9bf-44ed-9ad3-34145286f2d7
|
| 932 |
+
b511dfed-58f4-4c91-bf0a-f8ce9d47aea9
|
| 933 |
+
5d25cc61-f04d-47e3-9f0e-dbbf7707f0a0
|
| 934 |
+
92b2221b-ae92-44f0-bb31-e2d27cb736d6
|
| 935 |
+
c53a1199-5ca1-4aa8-ac4e-38227ff44689
|
| 936 |
+
b26b4d93-0364-4333-8d4d-38ca1a6a4dfa
|
| 937 |
+
b5f8232e-5686-43ba-8e7a-ffeadb232444
|
| 938 |
+
a8f7a36a-28da-4b81-83b1-be21dc4c7f8a
|
| 939 |
+
645a45ce-c993-4f67-b136-fe8c3bad9b6b
|
| 940 |
+
058f9a7e-d7e8-415e-9827-272245422543
|
| 941 |
+
9ebe4ac3-1472-4094-9e73-6014e78e0539
|
| 942 |
+
a56ce926-8c85-4883-9ff5-dd7779d71b64
|
| 943 |
+
01f3ef42-91ea-4561-a26a-aad776212c98
|
| 944 |
+
8ad335cf-c9c5-412f-9347-53867db66ee0
|
| 945 |
+
2fe390a8-1506-4420-9008-74199f92797b
|
| 946 |
+
f5ced826-d8ef-42c6-8e6e-2ba287da99d4
|
| 947 |
+
2ceb8750-40dc-4639-bf49-e19566df83d4
|
| 948 |
+
d8db054f-b5ee-41c3-ba66-cb84ed2d286e
|
| 949 |
+
3d4aa037-1253-4641-af4b-7d49dd8986e3
|
| 950 |
+
ede7b9c1-c501-40b3-bc6d-205ea142366c
|
| 951 |
+
896805f2-f741-40ae-87a0-16e520c12ada
|
| 952 |
+
f2934ab9-bcfd-42fa-a329-7d0fc28818aa
|
| 953 |
+
95db7d4c-8a4a-43cc-ac59-973e76ed4177
|
| 954 |
+
1abe2e26-f6fb-4909-a4b0-824fb2f0676a
|
| 955 |
+
47850a65-9719-4770-92e4-e428953addb3
|
| 956 |
+
047a4e6e-97a9-4202-918c-9460bf89bdbe
|
| 957 |
+
066cccd7-d7ca-4ce3-a80e-90ce9013c1ab
|
| 958 |
+
6264ea0f-2023-4fbf-b898-5f7a13834be1
|
| 959 |
+
b74169ba-77b0-447d-aeff-cb7934ff6711
|
| 960 |
+
7b819974-3c39-440c-bccd-d74fdd3fc9d1
|
| 961 |
+
0733d5bc-b1a8-40c3-98de-9585e23eb2d9
|
| 962 |
+
6f5df748-4371-4fcd-b6c4-f776051b447a
|
| 963 |
+
2ec7440e-5e29-410b-a5f6-40e3a2e45a31
|
| 964 |
+
812bb3bb-217a-454c-995c-d3e995576b81
|
| 965 |
+
7abe1f04-6712-4325-b49d-4bb65bd30eec
|
| 966 |
+
e2b190bb-f8b2-43a7-b2da-b80f3708dcf3
|
| 967 |
+
aa6257e0-001a-422b-9935-2f9c2b5973e6
|
| 968 |
+
6e5211e1-72d8-4032-ba56-b4095c0f2b36
|
| 969 |
+
4c075527-7526-4c00-9681-53258fe70881
|
| 970 |
+
2ca53d8d-0120-4dad-a856-c8f20aaa2cc4
|
| 971 |
+
6ca51642-c089-4989-b5a3-07977ec927d7
|
| 972 |
+
76ec56ea-a516-4988-a516-40d04a5b21de
|
| 973 |
+
6c4e2422-e83b-4ae5-8b9f-7bfdf3f2d3f7
|
| 974 |
+
936e7e6e-aa06-4aca-b877-8d5f3c59ecc1
|
| 975 |
+
8e3034fa-7bf6-4716-bfcf-b22a64c08d23
|
| 976 |
+
47da5a64-aaff-45f4-8ed8-b7ab64b2d851
|
| 977 |
+
d77bb04d-c881-48be-9cc2-d781c69207cd
|
| 978 |
+
caa16834-c43b-44a0-b251-9b465533df5e
|
| 979 |
+
3ca3a186-a650-4f8b-a9d0-f0bdb19bd860
|
| 980 |
+
622995a4-01fb-478e-a33d-7eef6e8b370d
|
| 981 |
+
ac5bc1ee-b7d5-4948-90aa-8f418ca4c0fa
|
| 982 |
+
c785b2ec-1efd-4135-9707-d54386109075
|
| 983 |
+
d300ece0-41a7-4707-a08b-2f48aedeb75f
|
| 984 |
+
dc1600e9-dd79-4700-882a-9f53cdd29d20
|
| 985 |
+
32dfc6fe-c801-4ce5-bb39-8841fca7a075
|
| 986 |
+
c935b13b-462a-4ced-a041-f06592dff0e5
|
| 987 |
+
360be2ce-99dd-424e-a7c6-a5908c7aa2f3
|
| 988 |
+
ae2207b2-9b33-4f6a-aeb5-e2718a253c3b
|
| 989 |
+
57efe7a9-0685-40b8-b076-51e59542c5d9
|
| 990 |
+
1d0f3c10-ed0a-4f60-b0d2-a516690ff1cf
|
| 991 |
+
af96da5b-4005-4aaa-a8d0-e2a97b471090
|
| 992 |
+
13b85191-0a2c-4d0f-a54c-3118f5a96cbb
|
| 993 |
+
c05e7fd5-d5f1-4949-872b-2dce2fe88c48
|
| 994 |
+
71b8a896-84d6-4da6-97ab-78cfee6cd5da
|
| 995 |
+
42e5adb6-6557-4a87-a575-0b84150e573c
|
| 996 |
+
9feb55a1-b244-4323-b4d9-fa1af2893864
|
| 997 |
+
d0df0e37-f7f3-4b38-8b80-36b4a14af68a
|
| 998 |
+
58e5920e-e71c-4184-a0ae-a5f1f6ac3294
|
| 999 |
+
5bd830a8-5752-4aab-bd01-e9fb518864fe
|
| 1000 |
+
09417ca4-3572-4ba1-a1db-7eaf3bd0b1c8
|
| 1001 |
+
fac6316e-d141-4bbd-b88b-a624491acb30
|
| 1002 |
+
9273e1ed-05a9-447a-9de4-dc6ac3580c47
|
| 1003 |
+
9e08e1e7-179a-4dac-bd0e-6e98e47407d2
|
| 1004 |
+
7a0757f4-8ada-424a-b4fb-81fac89c7259
|
| 1005 |
+
6effa4db-4cf2-4de5-8295-59366ede9ca4
|
| 1006 |
+
f76f2040-989c-42df-b2fb-e0903165443d
|
| 1007 |
+
6fbe4821-85ec-4834-80bb-0a214fa80893
|
| 1008 |
+
4411ea13-81b3-4682-99a1-500a3ed3beef
|
| 1009 |
+
8711980a-b71f-46d6-86c8-1607a5478dd0
|
| 1010 |
+
6bd00296-7ae3-41c9-89fd-52ba9410018f
|
| 1011 |
+
2dc49d13-5347-4d4b-8506-5510f2ae0b84
|
| 1012 |
+
853cdf8c-e669-40f3-95bf-1ed7cd2bbb75
|
| 1013 |
+
cd3aff9e-a017-4841-b61f-06790d271334
|
| 1014 |
+
d4a8fe94-6f62-42cb-aaaa-c2f9a056620e
|
| 1015 |
+
8eb9612b-7b52-4f0c-a72f-dd7f3c54bf2e
|
| 1016 |
+
349a435d-c2ad-4c64-9067-8733e7cd5ec9
|
| 1017 |
+
b60db7b1-c623-4f04-8c63-695c24b4648b
|
| 1018 |
+
f2653b13-757b-456b-9000-67275edadb5f
|
| 1019 |
+
967fcfb9-76a6-4f09-b218-16558dbbc98b
|
| 1020 |
+
c7d8eaab-dfb5-45ce-a152-d9f79c60fcca
|
| 1021 |
+
e5bfb696-72d8-4005-9a49-442579352db8
|
| 1022 |
+
140253fd-9258-483a-9bf1-5426d91a05dd
|
| 1023 |
+
27369696-d356-4d1b-8a22-be8bd4442150
|
| 1024 |
+
e6d8c6ad-31b2-4684-9762-2af1e6709611
|
| 1025 |
+
7785da94-b19b-491c-94dc-89106e095f79
|
| 1026 |
+
1c9dae64-e7d0-415b-ae95-99ee78eaae90
|
| 1027 |
+
d494760b-e16d-4e5c-880f-b7ad598056a7
|
| 1028 |
+
e420250d-b67f-4c46-bc40-31b8c9003d7e
|
| 1029 |
+
517207e4-cbae-4e58-81b4-cc8936dcefdf
|
| 1030 |
+
627bb538-91da-45fc-80ca-799c4a869858
|
| 1031 |
+
21aa9035-e825-436f-8021-fa802dda3602
|
| 1032 |
+
2bb5152e-cab4-46dc-9aa6-e73007f7df8b
|
| 1033 |
+
35bfade9-8ead-46a4-b2f0-cdcfb86df1d6
|
| 1034 |
+
454e2413-2b82-4aa2-b37f-b6422a861179
|
| 1035 |
+
f03b7f2c-2ac1-42db-ba61-c0f9c5be9dc3
|
| 1036 |
+
2041eb29-6086-4e5e-9881-0f14d9e6a8d8
|
| 1037 |
+
d6f0adfc-5c66-4c3e-95b0-902d12d7bb86
|
| 1038 |
+
cda93e67-c411-48cd-83f0-d7aafc6e4b3f
|
| 1039 |
+
5c3e7989-9b64-42dd-af7c-274ce12619bd
|
| 1040 |
+
b5d293bf-2d0a-43be-8a7b-4b66ba9b6835
|
| 1041 |
+
849aaee0-866d-4b85-9775-39360e27fa90
|
| 1042 |
+
aa736cb2-7e37-4715-862a-bfc1edefcb06
|
| 1043 |
+
ce536dc7-6296-49d5-86da-49267edb3de8
|
| 1044 |
+
1dbad365-237b-45e5-acef-e52931b21c07
|
| 1045 |
+
a0f55b7e-5fd7-42cf-8a1b-90afb712a502
|
| 1046 |
+
bfea0427-fae0-452d-9824-16e44dd0be5d
|
| 1047 |
+
7112613f-9315-4da7-b741-1fb18f07f497
|
| 1048 |
+
954769e4-29ff-48a6-a870-38866a9cd7ad
|
| 1049 |
+
3c21c496-e352-4b71-a3fb-307e134e9fdd
|
| 1050 |
+
8c952699-0c25-453b-92dd-52b0580248db
|
| 1051 |
+
7bd4e6e0-93a0-4717-9666-266a2c29638d
|
| 1052 |
+
d94171f5-85c1-4dd5-9230-40187d4daab5
|
| 1053 |
+
989b038e-d46c-4433-b968-87b58a4c7037
|
| 1054 |
+
4764e94b-9132-4e65-996c-bc2bc67e17a2
|
| 1055 |
+
071edc40-b64c-4e94-aeed-d523ed4a2794
|
| 1056 |
+
aeec58e3-fbc9-467c-acda-6c92b45de1ab
|
| 1057 |
+
4fbac7f7-f8f0-40c6-9f73-7279fcc077b1
|
| 1058 |
+
d2218738-2af2-4585-bd1c-af8ad10d7827
|
| 1059 |
+
245c5620-481a-477c-be6d-07e02073eb4b
|
| 1060 |
+
2a8f7d15-4821-422b-a34d-e7ff2937f2e2
|
| 1061 |
+
4767e91a-8687-4992-8d6e-f0ddf0043300
|
| 1062 |
+
c43d0f58-9349-4d92-b358-d1a11070b1d1
|
| 1063 |
+
3be02e64-5a3b-4022-9643-69c0eaf34ac0
|
| 1064 |
+
1410e2ce-a62c-4a2c-8453-6eb172a58965
|
| 1065 |
+
acc8a39f-06f5-4792-8387-984ea6ae859c
|
| 1066 |
+
c507b073-7bf9-40db-8537-de599b6f6565
|
| 1067 |
+
6d1847fe-d2d2-4a11-80fb-1cf5ff6d965a
|
| 1068 |
+
6b2b8702-0f2a-4dac-bc2f-bfb981b69e28
|
| 1069 |
+
18b18195-afdb-429e-8250-42d25e882ba9
|
| 1070 |
+
47e06650-7973-4dd9-a509-a7425fecac19
|
| 1071 |
+
691b6dff-620e-4aab-8302-3a9045be33da
|
| 1072 |
+
33b0f445-e852-4533-87a2-daa650113a80
|
| 1073 |
+
4fd05061-02cd-4bf6-9191-02ff8303ca40
|
| 1074 |
+
2cba50be-6d39-4f53-b9cc-cb520a588443
|
| 1075 |
+
04f20e56-c4da-4775-93de-71a8ffd9ab48
|
| 1076 |
+
46cc2fa4-bfb1-4a4a-beba-e157254be154
|
| 1077 |
+
eaa2ec3e-8c2b-47f5-8b63-8d64c6672d0b
|
| 1078 |
+
3b213b67-8a20-4447-9c25-9fdbd3a4aed5
|
| 1079 |
+
3dda64b1-9a7c-47dc-8f64-c29b608addbe
|
| 1080 |
+
87b2f72d-e899-4700-9b91-61ebe228e2cf
|
| 1081 |
+
7ba244fc-6b1f-4c4a-abea-bef004a9ea95
|
| 1082 |
+
d2addf5b-75c2-41ef-a68e-738229940a0c
|
| 1083 |
+
e2e24a61-148a-46b4-b9a2-d164359e3554
|
| 1084 |
+
9cbede95-3edd-40eb-b9ea-483f85aaee5b
|
| 1085 |
+
b5de2666-ed5f-48ef-a278-78016630a53e
|
| 1086 |
+
678bfebf-6819-4659-8c0f-1bc71438863c
|
| 1087 |
+
806b80b5-7963-482a-a5b5-82b95bfdd8b3
|
| 1088 |
+
6e427eaa-66a3-4eb2-8e2a-9f4ec4f012bf
|
| 1089 |
+
ac5041d2-af23-4b3c-9150-247142ade9fe
|
| 1090 |
+
f36be1f1-491e-4d78-9ce6-d00c4590868b
|
| 1091 |
+
632755de-f080-4057-8626-6c402a6129c9
|
| 1092 |
+
506a2aab-775c-435c-8006-918d8fdd997a
|
| 1093 |
+
7d83d5fb-1039-444c-83fb-bcc2f4a7dcf2
|
| 1094 |
+
efa3ae42-f12a-45d6-8c02-93c9b77e9809
|
| 1095 |
+
abfb0e8e-4351-4086-b7ca-f84785d768d0
|
| 1096 |
+
ea6a008f-c171-43e0-97fa-647658352f77
|
| 1097 |
+
8192f44c-6159-473e-9885-704e7975830c
|
| 1098 |
+
215844c3-63d3-4c8c-86f7-aeff2cf79764
|
| 1099 |
+
42b14a01-28c8-42a5-8981-b8a026f8dc18
|
| 1100 |
+
d2d758c8-ca3c-48f3-bebd-cef5e2a6d5b7
|
| 1101 |
+
c083db28-d790-4602-915d-d7e5df588ef6
|
| 1102 |
+
d04754aa-9310-43b2-9a10-07019d498abe
|
| 1103 |
+
decfd1c6-c12d-4b22-adcf-afe640485ec5
|
| 1104 |
+
667851b8-c0b6-4073-94ae-07efe816234c
|
| 1105 |
+
0aebd388-55a4-4425-a9ee-f09b64d94a00
|
| 1106 |
+
7dafc952-ef17-4105-a2b4-e2da46b9d0a4
|
| 1107 |
+
69cd4cbf-f1f1-4b92-ae7d-85d85e144554
|
| 1108 |
+
bf0a2ea8-b7be-4e55-aab9-4c9e222a4568
|
| 1109 |
+
aa6c180d-b00f-4f23-b800-8c93eade3eec
|
| 1110 |
+
80523ee9-f498-4102-85fa-362ae8150d70
|
| 1111 |
+
1c7e5c46-d4cf-4ba5-9b4c-03379881c2a1
|
| 1112 |
+
0f6bce99-6334-4f0a-b466-59808c1661ba
|
| 1113 |
+
78727816-4b9b-4616-97ea-46cfe0ecbe7a
|
| 1114 |
+
7c1e3829-4687-4f8e-b254-1a186fe05ecb
|
| 1115 |
+
ea7225fd-0a63-4f21-aae6-7651e4d7d538
|
| 1116 |
+
ad8ef724-84cd-403a-934d-9690f7cb96b8
|
| 1117 |
+
6245b4c7-b1e5-4118-ab4f-ee0bbd613592
|
| 1118 |
+
961e4bc4-8a41-4f0c-ba12-bc198b9b15f2
|
| 1119 |
+
c68f8dd1-3fea-49e6-934b-7ed7a6b12aeb
|
| 1120 |
+
0a3868ef-fdba-4aba-bc02-5028d1ed26f4
|
| 1121 |
+
916d656b-c2a0-4147-bd73-bc4050285591
|
| 1122 |
+
96baac26-c261-4836-81c7-fae46778f91a
|
| 1123 |
+
5e71014b-9709-4bc0-b0e7-3402be4a1f5a
|
| 1124 |
+
0df55687-74be-4dbf-aebe-fe0951b17ecf
|
| 1125 |
+
14216890-51bb-4300-8893-bf29a39b69b9
|
| 1126 |
+
20161581-ec53-4508-a21c-328ed66b78f9
|
| 1127 |
+
563d1c9a-a639-4027-939c-7bc6b792b6b2
|
| 1128 |
+
90c0f824-6970-46fe-bb24-053fed422366
|
| 1129 |
+
231d228c-352f-45d7-a395-3af1f69899a4
|
| 1130 |
+
cfac1e14-8ed8-4143-b69c-e1399ee06914
|
| 1131 |
+
c24336fd-f974-42c6-82c8-e20e5054ab8f
|
| 1132 |
+
0bacb5bb-591d-4756-a2cf-ed90793e65bb
|
| 1133 |
+
d8452234-3ca0-483d-9077-9c1ec8a59668
|
| 1134 |
+
83b0fc4f-9a36-4dd7-9495-a68c9f82defe
|
| 1135 |
+
8e3c3065-f05d-4ce2-af8e-f6bbd58d4383
|
| 1136 |
+
86d8d4ac-a4b1-4574-8979-0457af8c34a6
|
| 1137 |
+
8b1d8ba4-1ce1-41f3-ab9f-483567e05cd8
|
| 1138 |
+
70f729ca-b1a2-428f-875c-edbbd988a4b5
|
| 1139 |
+
0b82763e-b9ee-40e5-8dd5-b8da7e862662
|
| 1140 |
+
f06d7f9b-0da8-4406-b3d3-06cd70de0e0f
|
| 1141 |
+
fc9da694-2604-4bd7-a1ac-215ace732e85
|
| 1142 |
+
e287f510-8de4-40d7-b127-4f793e3d46ac
|
| 1143 |
+
97e4e710-7348-4e79-b80b-244a6b64ebdd
|
| 1144 |
+
7b839fc9-8b7c-47f1-b55e-2247dfd8eb41
|
| 1145 |
+
cec24cad-0c95-49a2-bdd3-5635e4b88149
|
| 1146 |
+
3b86adc3-0a22-4d29-82a9-e02c90471f82
|
| 1147 |
+
56acc1be-a6cc-479c-9ba1-ee49fcf71f8b
|
| 1148 |
+
069048a8-3eff-4841-9f81-a3422edea6e3
|
| 1149 |
+
02def476-33eb-4895-a448-a4398d44e16b
|
| 1150 |
+
661003f4-0223-4cb5-bb3f-d92ca5d8354d
|
| 1151 |
+
4168725e-870e-4e1c-be99-1e1a6193d094
|
| 1152 |
+
8cd9020c-eaba-402f-87b5-f7c5422a49b4
|
| 1153 |
+
f3287a55-a424-4011-a38e-c73700829576
|
| 1154 |
+
c792ef5b-1479-4336-b57c-6d4ee1e4d336
|
| 1155 |
+
2def272d-f803-4feb-95a9-63409b333fd2
|
| 1156 |
+
4cd8094f-4300-469d-9523-3ee0f43d1259
|
| 1157 |
+
66824dc1-5e9d-4997-a2d6-482d3c920b5e
|
| 1158 |
+
2227ff92-8645-479e-a099-bd8025080e62
|
| 1159 |
+
7c187ae5-b793-42c2-abca-54e1d0822a32
|
| 1160 |
+
73736c6c-2654-4ef8-939d-9c4a23eed5d7
|
| 1161 |
+
22568049-4087-4ca2-8857-a834a9fc7f28
|
| 1162 |
+
b0589218-e06e-4767-9bb4-1ef59f935bdc
|
| 1163 |
+
45450839-a979-4c26-8b35-9111bafa5731
|
| 1164 |
+
0d172781-f22a-476f-b0c6-6f0ae6b928c9
|
| 1165 |
+
8f379213-9adf-40d8-9482-3eed6b03b83b
|
| 1166 |
+
9de15300-fbcb-4838-be91-6b646be2646e
|
| 1167 |
+
10c9cece-4f33-4fa9-8c1a-5974d16c1c0a
|
| 1168 |
+
6afade94-d8e7-4b29-be3e-9373d0d2d634
|
| 1169 |
+
3745bd24-ceb7-4760-98ea-68b54de2141c
|
| 1170 |
+
66f0c633-292e-44b2-ad78-7ec57a8507e6
|
| 1171 |
+
f0ebc587-3687-494d-a707-2a5d52b64719
|
| 1172 |
+
36dcdc61-378f-4087-a43f-659e58eb6440
|
| 1173 |
+
5b982afa-3c1b-49e1-9508-77d0f396c3f6
|
| 1174 |
+
77f71fa8-7ddc-430a-8f66-4af710903388
|
| 1175 |
+
cada8157-091c-491d-96b8-9da4dbf1c973
|
| 1176 |
+
b1b83ddb-38ca-48d2-9142-dbc8240c2067
|
| 1177 |
+
92c76cdf-8b91-4a05-806d-121429534d8f
|
| 1178 |
+
4403cf98-cd76-4233-b92f-585665ccbe7e
|
| 1179 |
+
00cad7aa-fd92-486d-b309-59d03fa51dfa
|
| 1180 |
+
1f541cce-f10b-4cd3-814f-8e2d527df8f5
|
| 1181 |
+
464c4a51-a74f-4ff4-9ece-8d38b9c22bfc
|
| 1182 |
+
a20923c1-a2d6-40ce-b7ce-f23ce249f460
|
| 1183 |
+
42efe6bf-aeff-4777-a189-d2872be008b5
|
| 1184 |
+
01ad22c9-6626-46cf-b5e2-a316faacfb99
|
| 1185 |
+
6f0b44c4-0067-4677-a775-53181d9b0457
|
| 1186 |
+
40dc3bbc-c8c4-4e6d-a2a5-32a357f3c291
|
| 1187 |
+
b2fea2b1-2404-4cf2-9be3-79879011cba6
|
| 1188 |
+
e71c943b-75c0-4055-92fc-115d1c8f6d8a
|
| 1189 |
+
073bdef7-e4cb-49ea-b006-b3d6f53f34b3
|
| 1190 |
+
fe0f7a34-97d0-4817-b608-210d2aa0bce9
|
| 1191 |
+
d67e303e-9309-473f-8857-1cc3ad78983b
|
| 1192 |
+
cef7bc84-112c-4133-9fa5-2a046c2b903a
|
| 1193 |
+
2f820d40-743f-49a8-b289-55276960970e
|
| 1194 |
+
fa08ac41-74ca-42d3-80e6-6728cc3c1854
|
| 1195 |
+
ee1020b8-2dca-4ea2-92de-5f6a56ea332f
|
| 1196 |
+
97ecbdcf-f044-4d75-9b46-b7ba0f35ef19
|
| 1197 |
+
262871b5-eee7-4e65-9532-9a219b5aa52b
|
| 1198 |
+
32805896-b265-4445-8992-ab30e98415f8
|
| 1199 |
+
5ccd281c-9ede-49d8-9f61-f8f228565472
|
| 1200 |
+
4773786c-6320-4a24-81e9-d735dbf9476b
|
| 1201 |
+
a3b39b50-809e-45bd-87d9-de565461645b
|
| 1202 |
+
91d27f06-a756-45d4-9547-673a9ef0a05f
|
| 1203 |
+
79fb81e5-7025-46c7-9e0c-e9d97658929b
|
| 1204 |
+
afe5310d-200e-4444-ad2d-9fb34fee5230
|
| 1205 |
+
cdd0ce74-4698-4394-aaf2-00e159577d3f
|
| 1206 |
+
59cb65bb-7d1e-4bd9-9468-a76658b4b50f
|
| 1207 |
+
e83b0f8c-e9e5-4b38-ad3a-3906a3bb296a
|
| 1208 |
+
92cd0d7e-2465-46fa-be63-30cfadc347e3
|
| 1209 |
+
cfff9bb7-a95c-446f-84f6-27fa997b4ce2
|
| 1210 |
+
3bc38ebc-8109-4b4d-b43c-aad3bd0dfed2
|
| 1211 |
+
ac651c92-0938-4258-8c22-a8d1e881af61
|
| 1212 |
+
6a1dac0d-5945-4a81-9259-ce49de3ecf79
|
| 1213 |
+
00a6dd13-d5b0-4743-b252-ed61e61f1d49
|
| 1214 |
+
cb55bedd-c5ff-4bbb-83a9-b8287d3bb77c
|
| 1215 |
+
45f15f81-ec4e-4db4-b42d-4121a564d485
|
| 1216 |
+
de5ca2af-8e72-4fa4-92d2-65295781654e
|
| 1217 |
+
0d26fb16-d4ba-4c47-9c32-5f8f052e7396
|
| 1218 |
+
77814f97-e0c5-40dc-91ff-3e0fc5003d0d
|
| 1219 |
+
e8a5f8a4-d01c-4599-bc3b-980157bf14ed
|
| 1220 |
+
b9643892-d3dc-4dba-a18f-b9f8e44cbcb4
|
| 1221 |
+
934c8086-19a8-4aac-aae9-c02a912cbf9e
|
| 1222 |
+
c70e2763-0e1b-4c8b-b056-ecbe28831b22
|
| 1223 |
+
ad9c8e7b-a290-4c64-8c41-972dfc201055
|
| 1224 |
+
f3a8d0f5-ac34-4732-858a-39162f491f4b
|
| 1225 |
+
8bb82e72-b893-467a-8844-f3a1010548ef
|
| 1226 |
+
3cbf69e4-1c29-4515-9a03-67c3526e91e1
|
| 1227 |
+
2bb3f8db-a6b0-49b8-8c0f-686774acf00a
|
| 1228 |
+
4df80aae-3500-463b-884d-63d034e6414f
|
| 1229 |
+
dde3ddc3-403e-4935-a7f7-eca575e05b99
|
| 1230 |
+
1bf59cee-8985-4d84-a34f-e7c35e492900
|
| 1231 |
+
9a533209-1d5e-4382-a2f8-c109605845e3
|
| 1232 |
+
ef2cad65-06b2-4b1a-8956-c387721d2051
|
| 1233 |
+
0a22a1c1-844c-4f62-8eeb-f16eee62357f
|
| 1234 |
+
77b1cae6-7e57-47f9-83ae-c68243792d36
|
| 1235 |
+
a4b3be28-cc60-43f9-8158-0e098eb5aa82
|
| 1236 |
+
9706857d-4232-4f55-9873-871da2906f3a
|
| 1237 |
+
eb151659-2bf2-4682-899b-73f2ba10d179
|
| 1238 |
+
8162166b-41c8-4b1a-baf2-14df7feddd83
|
| 1239 |
+
ec6885cb-287c-421e-b16d-e63a59c21d80
|
| 1240 |
+
0e31e520-9d8f-4373-bd95-058d316902ad
|
| 1241 |
+
04d87074-8116-4f09-b6e5-10670c9e772d
|
| 1242 |
+
a759a24a-3447-4554-99df-9dc1b647eb8d
|
| 1243 |
+
3054ec91-4ea2-4612-8b0e-8f3ba0c6b981
|
| 1244 |
+
fea8a839-1976-4457-b8c7-c722e63faea9
|
| 1245 |
+
98895ed3-7fc5-4dc0-ae9b-d808971e9334
|
| 1246 |
+
e469c7e2-bcbd-4cf6-97d7-3f3562e5c1a9
|
| 1247 |
+
3c3266b2-ecb8-4d81-8693-bc2caa4b1409
|
| 1248 |
+
f7d5c603-29d6-4800-a4fa-768819f52a84
|
| 1249 |
+
74593ce4-28eb-42e6-8ee0-02f16e704788
|
| 1250 |
+
3940a14c-f0ae-4636-8f03-52daa071f084
|
| 1251 |
+
71d1fd0e-6665-4b45-8b2a-3460d36e368a
|
| 1252 |
+
ab1786c9-b44c-40e2-8d59-5f7ddf06dceb
|
| 1253 |
+
b7501cba-7399-4e36-9ee4-38308487395f
|
| 1254 |
+
9357c6f2-9c17-4259-a4bd-7a715e7331e4
|
| 1255 |
+
3ce1d69f-2a22-434d-8902-86ff4acb155b
|
| 1256 |
+
45cb84f9-a925-43f8-aa7e-0fba6e23a86e
|
| 1257 |
+
0822b710-baa5-4b66-b0da-96b72c15f846
|
| 1258 |
+
196a6da7-56bc-443c-ad04-d80a0bbf31fa
|
| 1259 |
+
95fa7feb-562e-4085-bc83-4dd14bd9862b
|
| 1260 |
+
6b93427f-465c-436b-a841-78424da94581
|
| 1261 |
+
333e7b03-d350-4bea-b980-f1bd217bd164
|
| 1262 |
+
561e7156-f761-4509-a714-e8b2b8e754a4
|
| 1263 |
+
6d766fcc-76f7-4942-bb40-1aa9c8b2020b
|
| 1264 |
+
4c1ce02e-53fd-4b0d-b895-14f5e2fbc78f
|
| 1265 |
+
f807401e-bd24-4d51-a0e3-40d20fd5e670
|
| 1266 |
+
e3cb859e-73ca-4cef-8c08-296bafdb43cd
|
| 1267 |
+
ba599750-543d-4b8f-bf65-da170082a25e
|
| 1268 |
+
2f5e3fbf-bd7a-4b11-b75d-ef62aa2f622d
|
| 1269 |
+
72df40a1-9bf5-4e49-86f5-5db56639de05
|
| 1270 |
+
2f6dc326-3689-4190-a8f8-674a5e6d688b
|
| 1271 |
+
d744484b-0012-4882-8532-14adc4fc0907
|
| 1272 |
+
6f408dd3-343d-49cc-846b-103660ab5275
|
| 1273 |
+
41424c96-9d0a-43b0-895c-7383261e6337
|
| 1274 |
+
c2ebdf8c-3990-4d02-9760-41dc1f131419
|
| 1275 |
+
ce433b23-9913-4265-a1ed-7a0c24e54384
|
| 1276 |
+
3512c265-1506-47ad-8ade-aa8891f65ced
|
| 1277 |
+
a7ea76ee-1479-4b88-91db-35124d52a989
|
| 1278 |
+
ecf4c73a-1b9d-492a-b18a-6a3276e163b1
|
| 1279 |
+
f8b4b1a2-c85f-4595-8680-67ecf53d3dc4
|
| 1280 |
+
2eff9418-fd22-4cec-854a-ccc1ba2681bc
|
| 1281 |
+
abc64c60-1cc8-49c1-8489-79592aafdf8a
|
| 1282 |
+
f3566beb-664b-4df0-8a83-140ae9c2952e
|
| 1283 |
+
c9f4c6e1-4fd2-453e-acb8-590e7ba5c8ee
|
| 1284 |
+
280ab94b-ebd0-4245-85a1-4cacd670588f
|
| 1285 |
+
23c5bf8a-7781-42d4-b6d8-2ab6025157c7
|
| 1286 |
+
96bee032-4903-4d47-ade4-6535f0590fe2
|
| 1287 |
+
f4a17391-0f26-448d-831a-7f69e22d3414
|
| 1288 |
+
32bd2d54-16a9-4b34-aff8-daefce73b626
|
| 1289 |
+
d990a808-367c-415f-8e3a-8eac6c950e72
|
| 1290 |
+
7f534830-cde5-45ff-87fc-d2072a584cae
|
| 1291 |
+
fd1b1d67-ac78-43a5-9924-b12157d72cb6
|
| 1292 |
+
8ef56f71-6d85-4ff4-949e-2c386d99a38e
|
| 1293 |
+
6ede3c7d-44fd-4bc9-85fb-7ccb75d7d731
|
| 1294 |
+
fcb6b025-6e41-4e97-b4b5-d5fdf0ebd3cb
|
| 1295 |
+
150e45fa-eb77-4a8b-bd60-d4801dff8c9f
|
| 1296 |
+
30a2a49c-ea8a-4199-a9e2-7b21515d3483
|
| 1297 |
+
9e3cebb7-8a16-471a-9b32-d9b4e294896e
|
| 1298 |
+
1c761444-ece6-46c0-8b95-427f2aa8f405
|
| 1299 |
+
b9e252ee-51c4-480d-8dc0-6a0a6022fa0f
|
| 1300 |
+
7be57a0b-9f5a-4682-a18b-1998d938451e
|
| 1301 |
+
570b3b00-ff83-4eff-9313-9c0ef967d9b6
|
| 1302 |
+
1c4c0679-9b40-4624-8e8d-b688a3a69929
|
| 1303 |
+
d39e0bcf-5f2c-4468-abe6-ae18b3c407cb
|
| 1304 |
+
09950cc3-4936-4385-8fff-48e5c042595b
|
| 1305 |
+
d85733f6-51c4-4046-b51c-73894f5aa621
|
| 1306 |
+
2f86293e-823d-4e2d-8c54-2f888e2639ed
|
| 1307 |
+
19c3829d-7af3-4cb6-878c-7d29d565edef
|
| 1308 |
+
9c50296b-217b-4e84-aaae-9015daee59a9
|
| 1309 |
+
247cde12-df65-4d59-ac01-449680e83871
|
| 1310 |
+
bd322fcd-9b14-4ce8-999d-d4ef896c8363
|
| 1311 |
+
d1586c7d-29ba-4060-a828-02c162ba812d
|
| 1312 |
+
61b218b2-52fb-465f-855f-41e5164d7998
|
| 1313 |
+
901cebcb-d84b-43ed-a80f-719e62561b82
|
| 1314 |
+
73d9fbc1-b6b3-4b3e-89db-3a4de56b924c
|
| 1315 |
+
23c5085a-8ead-4f74-be3b-9287e4019e98
|
| 1316 |
+
8bb95fbe-efa4-416b-9558-a0301b846f25
|
| 1317 |
+
0099226c-9bec-44aa-ba43-2b90eb7b8379
|
| 1318 |
+
b1ff7a1d-74e0-4bbb-a047-2f70eb1bc568
|
| 1319 |
+
c47b2e19-8a8f-4594-9144-8b7be780ab74
|
| 1320 |
+
a2527385-d99e-4cc8-a407-250da018a3c9
|
| 1321 |
+
edad0957-8423-4647-bdd2-c6f4c1d15f38
|
| 1322 |
+
602a2ac1-280b-46b6-bf3c-1191cb2fc224
|
| 1323 |
+
534f433c-14c2-4eb7-851a-a23a8b2ee340
|
| 1324 |
+
136cd3d8-5eff-44a2-b761-dcd0c190c71b
|
| 1325 |
+
5e3c697c-9aef-4686-9055-b34185b21a75
|
| 1326 |
+
f4e73920-1679-43d6-a307-4b6672811e46
|
| 1327 |
+
673f2b3e-413a-4450-aca8-ffbfb56db7be
|
| 1328 |
+
83decc40-f9da-469a-9ce2-1d173b06e5b3
|
| 1329 |
+
e14c702f-a451-46e6-ab31-c1213ec2f1be
|
| 1330 |
+
75cc6a20-2451-4922-844b-3e376e095657
|
| 1331 |
+
a50d179d-4dc4-4cf4-afb3-0c43cf86d44c
|
| 1332 |
+
ef2d0ea2-a3aa-45ef-83e3-6d8b0d863dc5
|
| 1333 |
+
af223382-86df-43f7-989b-331fe0436810
|
| 1334 |
+
1876d795-0c6f-4e0e-8165-e7a0c8a6e77f
|
correspondence/SegSwap/data/create_pairs.py
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import glob, os
|
| 2 |
+
|
| 3 |
+
import numpy as np
|
| 4 |
+
import json
|
| 5 |
+
|
| 6 |
+
from collections import defaultdict
|
| 7 |
+
import argparse
|
| 8 |
+
|
| 9 |
+
# out = ['f2f93854-2634-449c-b68e-aebf4743ac9f', '7d59164c-e0bc-4ae0-95c9-733e4c8b0d6a', 'cace80a1-42df-4cf4-a1ec-80647638a443', '8fa671be-2624-4783-8572-5f4b7722b6c0', 'ca1434ea-b787-44ad-a9da-e0f7d5167a35', 'cfd2c825-45d1-4e59-b33f-b6dff8c174c8', '39d48b6a-66e8-4bbb-a596-4461b601cabc', 'f4dead01-fa3d-4aa5-8b59-13a0d9186dd2', '4cf43506-d0a6-4c42-9136-adb2ecd57411', '89815623-8ece-4e3c-8879-f1f32b299527', '5fd383f1-c8bb-42d7-b98b-7418d99d9bb4', 'b1b794e8-7839-46ab-b05f-f4b1c16d5420', 'b7dbb47c-d850-4853-b434-7b20519ea9e5', '636eaa0b-d65d-4b25-bbdd-1065f84ef89e', 'd2b0ee95-2a76-4b69-aebf-3c7e553f8e2b', 'cea1b20b-6e18-4bb6-87e0-164a2b8c3dc0', 'fba2c124-99ec-40ed-8d6a-46808afe6d98', '549e5b97-f93a-4500-8f02-5be13017dce5', '6cbfa460-72a7-4038-b6af-4305a1cc05dd', '319a9983-f70c-4224-a3a7-33338c8a9f35', 'bcfb6839-3c09-4d42-9d9c-59042f6ab721', '3ca2798d-cfe3-46c6-a8bc-cc4689bd6d75', 'aa40670e-4487-4f60-a27b-26f7372ef8e7', '389cfa3f-3a4c-4b8f-9535-d7c95ffd594c', '214bdc0d-fa50-4a84-b771-c0a7bdeafadc', '08504348-4f72-477e-a08f-1050204ae55e', 'd35a162e-c38e-4017-94d1-539f26651115', '925ebe22-f97a-4e79-aed3-9873cf461c3c', 'c0b7d130-2004-4450-ad94-ea3167bd9fab', 'f1ce9be1-b623-4ce4-84e2-37e9f88eea86', 'c288cb15-81c7-4463-814f-959c12740499', 'b69de073-c157-4cff-8eba-97bfc7baa012', '289c4873-5bf9-41b9-b784-aba52b54cd4d', '0bcb8b46-cc45-4bcb-a627-85633e54e060', '819780c3-97c0-4ac6-b37f-8c66abf8167d', '9512a137-40b6-49c6-a03d-a3340b9dd277', '393e9b60-504c-4cc7-a90b-eb78dd62d5ff', 'fb09baec-1a5a-40b4-8d72-e581c93fbd77', '3042b472-99cc-4407-a79e-f76916b95737', '4939903a-2c73-4633-ae15-618be39990e7', 'ced0e340-b958-4505-badc-c8c2f256c145', 'e53ae33b-61b6-4c3e-8be0-5696f961704b', '759aa03c-c8e1-4fcb-8817-85948100ed33', '31df8578-1fd0-4406-9008-900a88f7990a', '9506c70a-1639-42ea-bbfc-2b9c0f8c9394', 'e46f9a53-7625-4827-8b92-79c958d3524e', '3125dca7-b99e-4b2b-8844-2d912619b353', 'b65a60e0-f224-4b3d-bf78-ba44e12c4ac1', 'c53daadd-09f0-485b-a51c-1d5679f5fb09', 'b378d186-0587-40ed-afdf-875e6dfb5876', '8000dfb2-accb-4bb8-abfb-cc2d677d0b2f', 'ff93ae48-0daa-418c-9d5c-b5b0b6d23efb', '6d0a7c80-ae8c-4673-8f70-c09fd6fbebe8', 'f0cd03a5-9cd8-4510-87c1-a5c493197b75', 'c16175f5-f990-48a1-9dcc-6a385f108687', '816dd81e-93b1-433c-83ff-264ae404a3bf', 'f8bed5fe-3e09-4885-9539-edb4d5b2279a', '601c9c61-fc2b-4ac2-b3c4-dda557c2563b', '56c35d79-acb1-47a1-8590-7e5cb2585ee5', 'd5193bae-a7f5-4e8a-9c96-09f557c7ea9d', '8d7646a3-ce7b-425d-b16e-9a63a1166576', '0b89efcd-59bf-4f0b-a81a-50dee0b79982', '9681b4c6-9713-4bb3-aa9a-7df7daa4e74d', '69fac17f-6527-493d-8dac-cd3bb61ce23e', '5ee00a17-171f-46a4-927b-3aa9d0fe176e', 'ce914bec-f8c1-46ef-ae28-f1ff030801d1']
|
| 10 |
+
# out = ['5b225fd3-e57a-446e-b228-dd452c17a235', '5670a1c7-d4ac-4d05-bbf0-6c8161f02824', '6fcb3904-2aee-41e7-a45f-4f498c8e1e82', '01f3ef42-91ea-4561-a26a-aad776212c98', '4c075527-7526-4c00-9681-53258fe70881', 'af96da5b-4005-4aaa-a8d0-e2a97b471090']
|
| 11 |
+
|
| 12 |
+
def make_pairs(data_dir, split='train', setting='egoexo'):
|
| 13 |
+
|
| 14 |
+
with open(f'{data_dir}/split.json', 'r') as fp:
|
| 15 |
+
splits = json.load(fp)
|
| 16 |
+
|
| 17 |
+
split_takes = splits[split]
|
| 18 |
+
|
| 19 |
+
pairs = []
|
| 20 |
+
for take in split_takes:
|
| 21 |
+
|
| 22 |
+
# take = take[0]
|
| 23 |
+
# clear missing takes
|
| 24 |
+
# if take in out:
|
| 25 |
+
# continue
|
| 26 |
+
|
| 27 |
+
with open(f'{data_dir}/{take}/annotation.json', 'r') as fp:
|
| 28 |
+
annotation = json.load(fp)
|
| 29 |
+
|
| 30 |
+
for obj_name in annotation['masks']:
|
| 31 |
+
|
| 32 |
+
ego_cam = None
|
| 33 |
+
for cam in annotation['masks'][obj_name]:
|
| 34 |
+
if 'aria' in cam:
|
| 35 |
+
ego_cam = cam
|
| 36 |
+
|
| 37 |
+
if ego_cam is None:
|
| 38 |
+
continue
|
| 39 |
+
|
| 40 |
+
for cam in annotation['masks'][obj_name]:
|
| 41 |
+
|
| 42 |
+
if 'aria' in cam:
|
| 43 |
+
continue
|
| 44 |
+
|
| 45 |
+
if setting == 'egoexo':
|
| 46 |
+
dcam = ego_cam
|
| 47 |
+
elif setting == 'exoego':
|
| 48 |
+
dcam = cam
|
| 49 |
+
else:
|
| 50 |
+
raise Exception(f"Setting {setting} not recognized.")
|
| 51 |
+
|
| 52 |
+
for idx in annotation['masks'][obj_name][dcam]:
|
| 53 |
+
cam_rgb_path = f'{data_dir}//{take}//{cam}//{obj_name}//rgb//{idx}'
|
| 54 |
+
cam_mask_path = f'{data_dir}//{take}//{cam}//{obj_name}//mask//{idx}'
|
| 55 |
+
|
| 56 |
+
aria_rgb_path = f'{data_dir}//{take}//{ego_cam}//{obj_name}//rgb//{idx}'
|
| 57 |
+
aria_mask_path = f'{data_dir}//{take}//{ego_cam}//{obj_name}//mask//{idx}'
|
| 58 |
+
|
| 59 |
+
pairs.append( (aria_rgb_path, aria_mask_path, cam_rgb_path, cam_mask_path) )
|
| 60 |
+
|
| 61 |
+
print(f'{split} - pairs: ', len(pairs))
|
| 62 |
+
with open(f'{data_dir}/{split}_{setting}_pairs.json', 'w') as fp:
|
| 63 |
+
json.dump(pairs, fp)
|
| 64 |
+
|
| 65 |
+
|
| 66 |
+
if __name__ == '__main__':
|
| 67 |
+
parser = argparse.ArgumentParser()
|
| 68 |
+
parser.add_argument('--data_dir', type=str, required=True)
|
| 69 |
+
args = parser.parse_args()
|
| 70 |
+
|
| 71 |
+
# make_pairs(args.data_dir, 'train', 'egoexo')
|
| 72 |
+
make_pairs(args.data_dir, 'val', 'egoexo')
|
| 73 |
+
|
| 74 |
+
# make_pairs(args.data_dir, 'train', 'exoego')
|
| 75 |
+
make_pairs(args.data_dir, 'val', 'exoego')
|
correspondence/SegSwap/data/download_uids.sh
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
for x in `cat data/correspondence_takes.txt`; do egoexo -o /path/to/data/dir/ --parts takes --uid $x -y; done
|
correspondence/SegSwap/data/input2.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a1e4ec30776b144371295db7e142e53b94d8f57a3793644bbea0ae01f9b359e4
|
| 3 |
+
size 70657908
|
correspondence/SegSwap/data/only_extract_frames.py
ADDED
|
@@ -0,0 +1,177 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os
|
| 2 |
+
import json
|
| 3 |
+
from lzstring import LZString
|
| 4 |
+
from pycocotools import mask as mask_utils
|
| 5 |
+
import numpy as np
|
| 6 |
+
from PIL import Image
|
| 7 |
+
from decord import VideoReader
|
| 8 |
+
from decord import cpu
|
| 9 |
+
import argparse
|
| 10 |
+
import cv2
|
| 11 |
+
from time import time
|
| 12 |
+
|
| 13 |
+
def save_frames(frames, frame_idxes, output_folder, is_aria=False):
|
| 14 |
+
# resize and save frames
|
| 15 |
+
scale = 4
|
| 16 |
+
if is_aria:
|
| 17 |
+
scale = 2
|
| 18 |
+
|
| 19 |
+
for img, fidx in zip(frames, frame_idxes):
|
| 20 |
+
H, W, C = img.shape
|
| 21 |
+
if H < 1408:
|
| 22 |
+
break
|
| 23 |
+
img2 = cv2.resize(img, (W//scale, H//scale))
|
| 24 |
+
cv2.imwrite(os.path.join(output_folder, f'{fidx}.jpg'), img2)
|
| 25 |
+
|
| 26 |
+
def processVideo(takepath, take_name, ego_cam, exo_cams, outputpath, take_id):
|
| 27 |
+
|
| 28 |
+
if not os.path.exists(f"{takepath}/{take_name}/frame_aligned_videos/{ego_cam}.mp4"):
|
| 29 |
+
return -1
|
| 30 |
+
print("take_name:", take_name) # debug
|
| 31 |
+
|
| 32 |
+
# Subsample the ego video
|
| 33 |
+
vr = VideoReader(
|
| 34 |
+
f"{takepath}/{take_name}/frame_aligned_videos/{ego_cam}.mp4", ctx=cpu(0)
|
| 35 |
+
)
|
| 36 |
+
len_video = len(vr)
|
| 37 |
+
# subsampling at 1fps -- none of the videos are annotated at more than 1 fps
|
| 38 |
+
# subsample_idx = np.arange(0, len_video, 1) # debug
|
| 39 |
+
subsample_idx = np.arange(3300, 3901, 1) # debug
|
| 40 |
+
|
| 41 |
+
if not os.path.exists(f"{outputpath}/{take_id}/{ego_cam}"):
|
| 42 |
+
os.makedirs(f"{outputpath}/{take_id}/{ego_cam}")
|
| 43 |
+
frames = vr.get_batch(subsample_idx).asnumpy()[...,::-1]
|
| 44 |
+
save_frames(frames=frames, frame_idxes=subsample_idx, output_folder=f"{outputpath}/{take_id}/{ego_cam}", is_aria=True)
|
| 45 |
+
|
| 46 |
+
# Subsample the exo videos
|
| 47 |
+
for exo_cam in exo_cams:
|
| 48 |
+
if not os.path.isfile(f"{outputpath}/{take_id}/{exo_cam}.mp4"):
|
| 49 |
+
try:
|
| 50 |
+
vr = VideoReader(
|
| 51 |
+
f"{takepath}/{take_name}/frame_aligned_videos/{exo_cam}.mp4", ctx=cpu(0)
|
| 52 |
+
)
|
| 53 |
+
except:
|
| 54 |
+
print(f"{exo_cam} not available")
|
| 55 |
+
continue
|
| 56 |
+
os.makedirs(f"{outputpath}/{take_id}/{exo_cam}")
|
| 57 |
+
frames = vr.get_batch(subsample_idx).asnumpy()[...,::-1]
|
| 58 |
+
|
| 59 |
+
save_frames(frames=frames, frame_idxes=subsample_idx, output_folder=f"{outputpath}/{take_id}/{exo_cam}", is_aria=False)
|
| 60 |
+
|
| 61 |
+
return subsample_idx.tolist()
|
| 62 |
+
|
| 63 |
+
def decode_mask(width, height, encoded_mask):
|
| 64 |
+
try:
|
| 65 |
+
decomp_string = LZString.decompressFromEncodedURIComponent(encoded_mask)
|
| 66 |
+
except:
|
| 67 |
+
return None
|
| 68 |
+
decomp_encoded = decomp_string.encode()
|
| 69 |
+
rle_obj = {
|
| 70 |
+
"size": [height, width],
|
| 71 |
+
"counts": decomp_encoded,
|
| 72 |
+
}
|
| 73 |
+
rle_obj['counts'] = rle_obj['counts'].decode('ascii')
|
| 74 |
+
return rle_obj
|
| 75 |
+
|
| 76 |
+
def processMask(anno, new_anno):
|
| 77 |
+
for object_id in anno.keys():
|
| 78 |
+
new_anno[object_id] = {}
|
| 79 |
+
for cam_id in anno[object_id].keys():
|
| 80 |
+
new_anno[object_id][cam_id] = {}
|
| 81 |
+
for frame_id in anno[object_id][cam_id]["annotation"].keys():
|
| 82 |
+
width = anno[object_id][cam_id]["annotation"][frame_id]["width"]
|
| 83 |
+
height = anno[object_id][cam_id]["annotation"][frame_id]["height"]
|
| 84 |
+
encoded_mask = anno[object_id][cam_id]["annotation"][frame_id]["encodedMask"]
|
| 85 |
+
coco_mask = decode_mask(width, height, encoded_mask)
|
| 86 |
+
new_anno[object_id][cam_id][frame_id] = coco_mask
|
| 87 |
+
|
| 88 |
+
if __name__ == "__main__":
|
| 89 |
+
parser = argparse.ArgumentParser()
|
| 90 |
+
parser.add_argument(
|
| 91 |
+
"--takepath",
|
| 92 |
+
help="EgoExo take data root",
|
| 93 |
+
required=True
|
| 94 |
+
)
|
| 95 |
+
parser.add_argument(
|
| 96 |
+
"--annotationpath",
|
| 97 |
+
help="Annotations json file path",
|
| 98 |
+
required=True
|
| 99 |
+
)
|
| 100 |
+
parser.add_argument(
|
| 101 |
+
"--split_path",
|
| 102 |
+
help="path to split.json",
|
| 103 |
+
required=True
|
| 104 |
+
)
|
| 105 |
+
parser.add_argument(
|
| 106 |
+
"--split",
|
| 107 |
+
help="train/val/test split to process",
|
| 108 |
+
required=True
|
| 109 |
+
)
|
| 110 |
+
parser.add_argument(
|
| 111 |
+
"--outputpath",
|
| 112 |
+
help="Output data root",
|
| 113 |
+
required=True
|
| 114 |
+
)
|
| 115 |
+
args = parser.parse_args()
|
| 116 |
+
|
| 117 |
+
with open(args.split_path, "r") as fp:
|
| 118 |
+
data_split = json.load(fp)
|
| 119 |
+
# take_list = data_split[args.split]
|
| 120 |
+
take_list = ['b511dfed-58f4-4c91-bf0a-f8ce9d47aea9'] # debug
|
| 121 |
+
|
| 122 |
+
os.makedirs(args.outputpath, exist_ok=True)
|
| 123 |
+
# Read the annotation file
|
| 124 |
+
with open(args.annotationpath, "r") as f:
|
| 125 |
+
annos = json.load(f)
|
| 126 |
+
annos = annos['annotations']
|
| 127 |
+
|
| 128 |
+
start = time()
|
| 129 |
+
|
| 130 |
+
for take_id in take_list:
|
| 131 |
+
if os.path.exists(f"{args.outputpath}/{take_id}"):
|
| 132 |
+
print(f"{take_id} already done!")
|
| 133 |
+
continue
|
| 134 |
+
|
| 135 |
+
# Create the output folder
|
| 136 |
+
os.makedirs(f"{args.outputpath}/{take_id}", exist_ok=True)
|
| 137 |
+
new_anno = {}
|
| 138 |
+
# Get the corresponding take name
|
| 139 |
+
anno = annos[take_id]
|
| 140 |
+
take_name = anno["take_name"]
|
| 141 |
+
|
| 142 |
+
valid_cams = set()
|
| 143 |
+
for x in anno['object_masks'].keys():
|
| 144 |
+
valid_cams.update(set(anno['object_masks'][x].keys()))
|
| 145 |
+
|
| 146 |
+
ego_cams = []
|
| 147 |
+
exo_cams = []
|
| 148 |
+
for vc in valid_cams:
|
| 149 |
+
if 'aria' in vc:
|
| 150 |
+
ego_cams.append(vc)
|
| 151 |
+
else:
|
| 152 |
+
exo_cams.append(vc)
|
| 153 |
+
exo_cams = ["cam01"]
|
| 154 |
+
if len(ego_cams) > 1:
|
| 155 |
+
print(take_id, 'HAS MORE THAN ONE EGO')
|
| 156 |
+
breakpoint()
|
| 157 |
+
print(f"Processing take {take_id} {take_name}")
|
| 158 |
+
|
| 159 |
+
# Process the masks
|
| 160 |
+
print("Start processing masks")
|
| 161 |
+
# new_anno["masks"] = {} # debug
|
| 162 |
+
# processMask(anno['object_masks'], new_anno["masks"])
|
| 163 |
+
|
| 164 |
+
# # Process the videos
|
| 165 |
+
print("Start processing Videos")
|
| 166 |
+
subsample_idx = processVideo(args.takepath, take_name, ego_cam=ego_cams[0], exo_cams=exo_cams, outputpath=args.outputpath, take_id=take_id)
|
| 167 |
+
if subsample_idx == -1:
|
| 168 |
+
print(f"{args.takepath}/{take_name}/frame_aligned_videos/{ego_cams[0]}.mp4 does not exist")
|
| 169 |
+
continue
|
| 170 |
+
# new_anno["subsample_idx"] = subsample_idx # debug
|
| 171 |
+
|
| 172 |
+
# Save the annotation
|
| 173 |
+
# with open(f"{args.outputpath}/{take_id}/annotation.json", "w") as f: # debug
|
| 174 |
+
# json.dump(new_anno, f)
|
| 175 |
+
|
| 176 |
+
end = time()
|
| 177 |
+
print(f"Total time: {end-start} seconds")
|
correspondence/SegSwap/data/only_extract_frames_optimized.py
ADDED
|
@@ -0,0 +1,284 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os
|
| 2 |
+
import json
|
| 3 |
+
from lzstring import LZString
|
| 4 |
+
from pycocotools import mask as mask_utils
|
| 5 |
+
import numpy as np
|
| 6 |
+
from PIL import Image
|
| 7 |
+
from decord import VideoReader, gpu, cpu
|
| 8 |
+
import argparse
|
| 9 |
+
import cv2
|
| 10 |
+
from time import time
|
| 11 |
+
from concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutor
|
| 12 |
+
from multiprocessing import cpu_count
|
| 13 |
+
import functools
|
| 14 |
+
from pathlib import Path
|
| 15 |
+
|
| 16 |
+
def save_frames_batch(frames, frame_idxes, output_folder, is_aria=False, quality=95):
|
| 17 |
+
"""Optimized batch frame saving with reduced resize operations"""
|
| 18 |
+
scale = 2 if is_aria else 4
|
| 19 |
+
os.makedirs(output_folder, exist_ok=True)
|
| 20 |
+
|
| 21 |
+
# Check dimensions once for the entire batch
|
| 22 |
+
if len(frames) > 0:
|
| 23 |
+
H, W, C = frames[0].shape
|
| 24 |
+
if H < 1408:
|
| 25 |
+
return
|
| 26 |
+
|
| 27 |
+
# Batch resize and save
|
| 28 |
+
for img, fidx in zip(frames, frame_idxes):
|
| 29 |
+
# Use INTER_AREA for better quality when downsampling
|
| 30 |
+
img_resized = cv2.resize(img, (W//scale, H//scale), interpolation=cv2.INTER_AREA)
|
| 31 |
+
output_path = os.path.join(output_folder, f'{fidx}.jpg')
|
| 32 |
+
# Use optimized JPEG parameters
|
| 33 |
+
cv2.imwrite(output_path, img_resized, [cv2.IMWRITE_JPEG_QUALITY, quality])
|
| 34 |
+
|
| 35 |
+
def process_single_camera(args_tuple):
|
| 36 |
+
"""Process a single camera video - designed for parallel execution"""
|
| 37 |
+
takepath, take_name, cam_id, subsample_idx, outputpath, take_id, is_ego = args_tuple
|
| 38 |
+
|
| 39 |
+
video_path = f"{takepath}/{take_name}/frame_aligned_videos/{cam_id}.mp4"
|
| 40 |
+
output_dir = f"{outputpath}/{take_id}/{cam_id}"
|
| 41 |
+
|
| 42 |
+
# Skip if already processed
|
| 43 |
+
if os.path.exists(output_dir) and len(os.listdir(output_dir)) > 0:
|
| 44 |
+
return f"{cam_id}: Already processed"
|
| 45 |
+
|
| 46 |
+
if not os.path.exists(video_path):
|
| 47 |
+
return f"{cam_id}: Video file not found"
|
| 48 |
+
|
| 49 |
+
try:
|
| 50 |
+
# Try GPU first, fallback to CPU
|
| 51 |
+
try:
|
| 52 |
+
vr = VideoReader(video_path, ctx=gpu(0))
|
| 53 |
+
except:
|
| 54 |
+
vr = VideoReader(video_path, ctx=cpu(0))
|
| 55 |
+
|
| 56 |
+
# Get frames in batch - this is more efficient than individual reads
|
| 57 |
+
frames = vr.get_batch(subsample_idx).asnumpy()
|
| 58 |
+
|
| 59 |
+
# Convert BGR to RGB more efficiently
|
| 60 |
+
frames = frames[..., ::-1]
|
| 61 |
+
|
| 62 |
+
save_frames_batch(
|
| 63 |
+
frames=frames,
|
| 64 |
+
frame_idxes=subsample_idx,
|
| 65 |
+
output_folder=output_dir,
|
| 66 |
+
is_aria=is_ego
|
| 67 |
+
)
|
| 68 |
+
|
| 69 |
+
return f"{cam_id}: Successfully processed {len(frames)} frames"
|
| 70 |
+
|
| 71 |
+
except Exception as e:
|
| 72 |
+
return f"{cam_id}: Error - {str(e)}"
|
| 73 |
+
|
| 74 |
+
def processVideo_parallel(takepath, take_name, ego_cam, exo_cams, outputpath, take_id, max_workers=None):
|
| 75 |
+
"""Parallel video processing for all cameras"""
|
| 76 |
+
|
| 77 |
+
ego_video_path = f"{takepath}/{take_name}/frame_aligned_videos/{ego_cam}.mp4"
|
| 78 |
+
if not os.path.exists(ego_video_path):
|
| 79 |
+
return -1
|
| 80 |
+
|
| 81 |
+
# Get video length from ego camera to determine subsample indices
|
| 82 |
+
try:
|
| 83 |
+
vr = VideoReader(ego_video_path, ctx=cpu(0))
|
| 84 |
+
len_video = len(vr)
|
| 85 |
+
# subsample_idx = np.arange(0, len_video, 1) # Original: every frame
|
| 86 |
+
subsample_idx = np.arange(3510, 4111, 1) # Debug range
|
| 87 |
+
except Exception as e:
|
| 88 |
+
print(f"Error reading ego video: {e}")
|
| 89 |
+
return -1
|
| 90 |
+
|
| 91 |
+
# Prepare arguments for parallel processing
|
| 92 |
+
camera_args = []
|
| 93 |
+
|
| 94 |
+
# Add ego camera
|
| 95 |
+
camera_args.append((
|
| 96 |
+
takepath, take_name, ego_cam, subsample_idx,
|
| 97 |
+
outputpath, take_id, True
|
| 98 |
+
))
|
| 99 |
+
|
| 100 |
+
# Add exo cameras
|
| 101 |
+
for exo_cam in exo_cams:
|
| 102 |
+
camera_args.append((
|
| 103 |
+
takepath, take_name, exo_cam, subsample_idx,
|
| 104 |
+
outputpath, take_id, False
|
| 105 |
+
))
|
| 106 |
+
|
| 107 |
+
# Process cameras in parallel
|
| 108 |
+
if max_workers is None:
|
| 109 |
+
max_workers = min(len(camera_args), cpu_count())
|
| 110 |
+
|
| 111 |
+
with ThreadPoolExecutor(max_workers=max_workers) as executor:
|
| 112 |
+
results = list(executor.map(process_single_camera, camera_args))
|
| 113 |
+
|
| 114 |
+
# Print results
|
| 115 |
+
for result in results:
|
| 116 |
+
print(f" {result}")
|
| 117 |
+
|
| 118 |
+
return subsample_idx.tolist()
|
| 119 |
+
|
| 120 |
+
def process_single_take(args_tuple):
|
| 121 |
+
"""Process a single take - designed for parallel execution"""
|
| 122 |
+
take_id, annos, takepath, outputpath = args_tuple
|
| 123 |
+
|
| 124 |
+
if os.path.exists(f"{outputpath}/{take_id}"):
|
| 125 |
+
return f"{take_id}: Already done!"
|
| 126 |
+
|
| 127 |
+
try:
|
| 128 |
+
# Create output folder
|
| 129 |
+
os.makedirs(f"{outputpath}/{take_id}", exist_ok=True)
|
| 130 |
+
|
| 131 |
+
# Get annotation info
|
| 132 |
+
anno = annos[take_id]
|
| 133 |
+
take_name = anno["take_name"]
|
| 134 |
+
|
| 135 |
+
# Find valid cameras
|
| 136 |
+
valid_cams = set()
|
| 137 |
+
for x in anno['object_masks'].keys():
|
| 138 |
+
valid_cams.update(set(anno['object_masks'][x].keys()))
|
| 139 |
+
|
| 140 |
+
ego_cams = [vc for vc in valid_cams if 'aria' in vc]
|
| 141 |
+
# exo_cams = [vc for vc in valid_cams if 'aria' not in vc]
|
| 142 |
+
exo_cams = ["cam03"] # debug
|
| 143 |
+
|
| 144 |
+
if len(ego_cams) > 1:
|
| 145 |
+
return f"{take_id}: ERROR - Multiple ego cameras found"
|
| 146 |
+
|
| 147 |
+
if len(ego_cams) == 0:
|
| 148 |
+
return f"{take_id}: ERROR - No ego camera found"
|
| 149 |
+
|
| 150 |
+
print(f"Processing take {take_id} {take_name}")
|
| 151 |
+
print(f" Ego cameras: {ego_cams}")
|
| 152 |
+
print(f" Exo cameras: {exo_cams[:5]}...") # Show first 5 only
|
| 153 |
+
|
| 154 |
+
# Process videos with parallel camera processing
|
| 155 |
+
subsample_idx = processVideo_parallel(
|
| 156 |
+
takepath, take_name, ego_cam=ego_cams[0],
|
| 157 |
+
exo_cams=exo_cams, outputpath=outputpath, take_id=take_id
|
| 158 |
+
)
|
| 159 |
+
|
| 160 |
+
if subsample_idx == -1:
|
| 161 |
+
return f"{take_id}: ERROR - Ego video not found"
|
| 162 |
+
|
| 163 |
+
return f"{take_id}: Successfully processed {len(subsample_idx)} frames across {len(ego_cams) + len(exo_cams)} cameras"
|
| 164 |
+
|
| 165 |
+
except Exception as e:
|
| 166 |
+
return f"{take_id}: ERROR - {str(e)}"
|
| 167 |
+
|
| 168 |
+
def decode_mask(width, height, encoded_mask):
|
| 169 |
+
"""Optimized mask decoding with better error handling"""
|
| 170 |
+
try:
|
| 171 |
+
decomp_string = LZString.decompressFromEncodedURIComponent(encoded_mask)
|
| 172 |
+
if decomp_string is None:
|
| 173 |
+
return None
|
| 174 |
+
except:
|
| 175 |
+
return None
|
| 176 |
+
|
| 177 |
+
try:
|
| 178 |
+
decomp_encoded = decomp_string.encode()
|
| 179 |
+
rle_obj = {
|
| 180 |
+
"size": [height, width],
|
| 181 |
+
"counts": decomp_encoded.decode('ascii'),
|
| 182 |
+
}
|
| 183 |
+
return rle_obj
|
| 184 |
+
except:
|
| 185 |
+
return None
|
| 186 |
+
|
| 187 |
+
def processMask(anno, new_anno):
|
| 188 |
+
"""Original mask processing function - kept for compatibility"""
|
| 189 |
+
for object_id in anno.keys():
|
| 190 |
+
new_anno[object_id] = {}
|
| 191 |
+
for cam_id in anno[object_id].keys():
|
| 192 |
+
new_anno[object_id][cam_id] = {}
|
| 193 |
+
for frame_id in anno[object_id][cam_id]["annotation"].keys():
|
| 194 |
+
width = anno[object_id][cam_id]["annotation"][frame_id]["width"]
|
| 195 |
+
height = anno[object_id][cam_id]["annotation"][frame_id]["height"]
|
| 196 |
+
encoded_mask = anno[object_id][cam_id]["annotation"][frame_id]["encodedMask"]
|
| 197 |
+
coco_mask = decode_mask(width, height, encoded_mask)
|
| 198 |
+
new_anno[object_id][cam_id][frame_id] = coco_mask
|
| 199 |
+
|
| 200 |
+
if __name__ == "__main__":
|
| 201 |
+
parser = argparse.ArgumentParser()
|
| 202 |
+
parser.add_argument(
|
| 203 |
+
"--takepath",
|
| 204 |
+
help="EgoExo take data root",
|
| 205 |
+
required=True
|
| 206 |
+
)
|
| 207 |
+
parser.add_argument(
|
| 208 |
+
"--annotationpath",
|
| 209 |
+
help="Annotations json file path",
|
| 210 |
+
required=True
|
| 211 |
+
)
|
| 212 |
+
parser.add_argument(
|
| 213 |
+
"--split_path",
|
| 214 |
+
help="path to split.json",
|
| 215 |
+
required=True
|
| 216 |
+
)
|
| 217 |
+
parser.add_argument(
|
| 218 |
+
"--split",
|
| 219 |
+
help="train/val/test split to process",
|
| 220 |
+
required=True
|
| 221 |
+
)
|
| 222 |
+
parser.add_argument(
|
| 223 |
+
"--outputpath",
|
| 224 |
+
help="Output data root",
|
| 225 |
+
required=True
|
| 226 |
+
)
|
| 227 |
+
parser.add_argument(
|
| 228 |
+
"--max_workers",
|
| 229 |
+
help="Maximum number of parallel workers for take processing",
|
| 230 |
+
type=int,
|
| 231 |
+
default=None
|
| 232 |
+
)
|
| 233 |
+
parser.add_argument(
|
| 234 |
+
"--camera_workers",
|
| 235 |
+
help="Maximum number of parallel workers for camera processing within each take",
|
| 236 |
+
type=int,
|
| 237 |
+
default=None
|
| 238 |
+
)
|
| 239 |
+
args = parser.parse_args()
|
| 240 |
+
|
| 241 |
+
# Load data splits
|
| 242 |
+
with open(args.split_path, "r") as fp:
|
| 243 |
+
data_split = json.load(fp)
|
| 244 |
+
|
| 245 |
+
# take_list = data_split[args.split] # Original
|
| 246 |
+
take_list = ['3c744ca5-c64a-4de3-8235-c2f542ac5056'] # Debug
|
| 247 |
+
|
| 248 |
+
os.makedirs(args.outputpath, exist_ok=True)
|
| 249 |
+
|
| 250 |
+
# Load annotations
|
| 251 |
+
print("Loading annotations...")
|
| 252 |
+
with open(args.annotationpath, "r") as f:
|
| 253 |
+
annos = json.load(f)
|
| 254 |
+
annos = annos['annotations']
|
| 255 |
+
|
| 256 |
+
start = time()
|
| 257 |
+
|
| 258 |
+
# Determine optimal number of workers
|
| 259 |
+
if args.max_workers is None:
|
| 260 |
+
max_workers = min(len(take_list), max(1, cpu_count() // 2))
|
| 261 |
+
else:
|
| 262 |
+
max_workers = args.max_workers
|
| 263 |
+
|
| 264 |
+
print(f"Processing {len(take_list)} takes with {max_workers} workers")
|
| 265 |
+
|
| 266 |
+
# Prepare arguments for parallel take processing
|
| 267 |
+
take_args = [(take_id, annos, args.takepath, args.outputpath) for take_id in take_list]
|
| 268 |
+
|
| 269 |
+
if len(take_list) == 1:
|
| 270 |
+
# For single take, don't use process parallelization to avoid overhead
|
| 271 |
+
results = [process_single_take(take_args[0])]
|
| 272 |
+
else:
|
| 273 |
+
# Process takes in parallel
|
| 274 |
+
with ProcessPoolExecutor(max_workers=max_workers) as executor:
|
| 275 |
+
results = list(executor.map(process_single_take, take_args))
|
| 276 |
+
|
| 277 |
+
# Print results
|
| 278 |
+
print("\n=== Processing Results ===")
|
| 279 |
+
for result in results:
|
| 280 |
+
print(result)
|
| 281 |
+
|
| 282 |
+
end = time()
|
| 283 |
+
print(f"\nTotal time: {end-start:.2f} seconds")
|
| 284 |
+
print(f"Average time per take: {(end-start)/len(take_list):.2f} seconds")
|
correspondence/SegSwap/data/optimization_summary.py
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env python3
|
| 2 |
+
"""
|
| 3 |
+
优化版本的关键改进总结:
|
| 4 |
+
|
| 5 |
+
1. 并行处理优化 (最重要的性能提升)
|
| 6 |
+
- ProcessPoolExecutor: 并行处理多个take_id
|
| 7 |
+
- ThreadPoolExecutor: 在每个take内并行处理多个相机
|
| 8 |
+
- 可以实现显著的速度提升,特别是在多核CPU上
|
| 9 |
+
|
| 10 |
+
2. 图片保存优化
|
| 11 |
+
- 批量处理帧而不是逐个处理
|
| 12 |
+
- 使用cv2.INTER_AREA进行更高效的下采样
|
| 13 |
+
- 优化的JPEG压缩参数
|
| 14 |
+
- 减少重复的尺寸检查
|
| 15 |
+
|
| 16 |
+
3. VideoReader优化
|
| 17 |
+
- 自动尝试GPU加速,失败时回退到CPU
|
| 18 |
+
- 更有效的批量帧读取
|
| 19 |
+
- 减少重复的VideoReader实例创建
|
| 20 |
+
|
| 21 |
+
4. 文件IO优化
|
| 22 |
+
- 提前检查输出目录是否已存在
|
| 23 |
+
- 减少重复的os.path.exists调用
|
| 24 |
+
- 使用pathlib.Path进行更高效的路径操作
|
| 25 |
+
|
| 26 |
+
5. 内存和数组操作优化
|
| 27 |
+
- 更高效的BGR到RGB转换
|
| 28 |
+
- 减少不必要的数组复制
|
| 29 |
+
- 优化的错误处理避免异常开销
|
| 30 |
+
|
| 31 |
+
预期性能提升:
|
| 32 |
+
- 在多核系统上可能有2-8倍的速度提升
|
| 33 |
+
- GPU加速可以进一步提升性能
|
| 34 |
+
- 减少IO等待时间
|
| 35 |
+
- 更好的资源利用率
|
| 36 |
+
|
| 37 |
+
使用方法:
|
| 38 |
+
python only_extract_frames_optimized.py \\
|
| 39 |
+
--takepath /path/to/takes \\
|
| 40 |
+
--annotationpath /path/to/annotations.json \\
|
| 41 |
+
--split_path /path/to/split.json \\
|
| 42 |
+
--split train \\
|
| 43 |
+
--outputpath /path/to/output \\
|
| 44 |
+
--max_workers 4 \\
|
| 45 |
+
--camera_workers 8
|
| 46 |
+
"""
|
| 47 |
+
|
| 48 |
+
# 关键性能对比测试代码
|
| 49 |
+
import time
|
| 50 |
+
import os
|
| 51 |
+
|
| 52 |
+
def benchmark_comparison():
|
| 53 |
+
"""简单的性能对比测试"""
|
| 54 |
+
print("性能优化对比:")
|
| 55 |
+
print("=" * 50)
|
| 56 |
+
|
| 57 |
+
# 原始方法模拟
|
| 58 |
+
start = time.time()
|
| 59 |
+
# 模拟串行处理
|
| 60 |
+
for i in range(10):
|
| 61 |
+
time.sleep(0.1) # 模拟IO操作
|
| 62 |
+
original_time = time.time() - start
|
| 63 |
+
|
| 64 |
+
# 优化方法模拟
|
| 65 |
+
from concurrent.futures import ThreadPoolExecutor
|
| 66 |
+
start = time.time()
|
| 67 |
+
|
| 68 |
+
def mock_process(x):
|
| 69 |
+
time.sleep(0.1)
|
| 70 |
+
return x
|
| 71 |
+
|
| 72 |
+
with ThreadPoolExecutor(max_workers=4) as executor:
|
| 73 |
+
results = list(executor.map(mock_process, range(10)))
|
| 74 |
+
|
| 75 |
+
optimized_time = time.time() - start
|
| 76 |
+
|
| 77 |
+
print(f"原始串行方法时间: {original_time:.2f}秒")
|
| 78 |
+
print(f"优化并行方法时间: {optimized_time:.2f}秒")
|
| 79 |
+
print(f"速度提升: {original_time/optimized_time:.1f}倍")
|
| 80 |
+
print("=" * 50)
|
| 81 |
+
|
| 82 |
+
if __name__ == "__main__":
|
| 83 |
+
benchmark_comparison()
|
correspondence/SegSwap/data/process_data.py
ADDED
|
@@ -0,0 +1,177 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os
|
| 2 |
+
import json
|
| 3 |
+
from lzstring import LZString
|
| 4 |
+
from pycocotools import mask as mask_utils
|
| 5 |
+
import numpy as np
|
| 6 |
+
from PIL import Image
|
| 7 |
+
from decord import VideoReader
|
| 8 |
+
from decord import cpu
|
| 9 |
+
import argparse
|
| 10 |
+
import cv2
|
| 11 |
+
from time import time
|
| 12 |
+
|
| 13 |
+
def save_frames(frames, frame_idxes, output_folder, is_aria=False):
|
| 14 |
+
# resize and save frames
|
| 15 |
+
scale = 4
|
| 16 |
+
if is_aria:
|
| 17 |
+
scale = 2
|
| 18 |
+
|
| 19 |
+
for img, fidx in zip(frames, frame_idxes):
|
| 20 |
+
H, W, C = img.shape
|
| 21 |
+
if H < 1408:
|
| 22 |
+
break
|
| 23 |
+
img2 = cv2.resize(img, (W//scale, H//scale))
|
| 24 |
+
cv2.imwrite(os.path.join(output_folder, f'{fidx}.jpg'), img2)
|
| 25 |
+
|
| 26 |
+
def processVideo(takepath, take_name, ego_cam, exo_cams, outputpath, take_id):
|
| 27 |
+
|
| 28 |
+
if not os.path.exists(f"{takepath}/{take_name}/frame_aligned_videos/{ego_cam}.mp4"):
|
| 29 |
+
return -1
|
| 30 |
+
print("take_name:", take_name) # debug
|
| 31 |
+
|
| 32 |
+
# Subsample the ego video
|
| 33 |
+
vr = VideoReader(
|
| 34 |
+
f"{takepath}/{take_name}/frame_aligned_videos/{ego_cam}.mp4", ctx=cpu(0)
|
| 35 |
+
)
|
| 36 |
+
len_video = len(vr)
|
| 37 |
+
# subsampling at 1fps -- none of the videos are annotated at more than 1 fps
|
| 38 |
+
# subsample_idx = np.arange(0, len_video, 1) # debug
|
| 39 |
+
subsample_idx = np.arange(1020, 1621, 1) # debug
|
| 40 |
+
|
| 41 |
+
if not os.path.exists(f"{outputpath}/{take_id}/{ego_cam}"):
|
| 42 |
+
os.makedirs(f"{outputpath}/{take_id}/{ego_cam}")
|
| 43 |
+
frames = vr.get_batch(subsample_idx).asnumpy()[...,::-1]
|
| 44 |
+
save_frames(frames=frames, frame_idxes=subsample_idx, output_folder=f"{outputpath}/{take_id}/{ego_cam}", is_aria=True)
|
| 45 |
+
|
| 46 |
+
# Subsample the exo videos
|
| 47 |
+
for exo_cam in exo_cams:
|
| 48 |
+
if not os.path.isfile(f"{outputpath}/{take_id}/{exo_cam}.mp4"):
|
| 49 |
+
try:
|
| 50 |
+
vr = VideoReader(
|
| 51 |
+
f"{takepath}/{take_name}/frame_aligned_videos/{exo_cam}.mp4", ctx=cpu(0)
|
| 52 |
+
)
|
| 53 |
+
except:
|
| 54 |
+
print(f"{exo_cam} not available")
|
| 55 |
+
continue
|
| 56 |
+
os.makedirs(f"{outputpath}/{take_id}/{exo_cam}")
|
| 57 |
+
frames = vr.get_batch(subsample_idx).asnumpy()[...,::-1]
|
| 58 |
+
|
| 59 |
+
save_frames(frames=frames, frame_idxes=subsample_idx, output_folder=f"{outputpath}/{take_id}/{exo_cam}", is_aria=False)
|
| 60 |
+
|
| 61 |
+
return subsample_idx.tolist()
|
| 62 |
+
|
| 63 |
+
def decode_mask(width, height, encoded_mask):
|
| 64 |
+
try:
|
| 65 |
+
decomp_string = LZString.decompressFromEncodedURIComponent(encoded_mask)
|
| 66 |
+
except:
|
| 67 |
+
return None
|
| 68 |
+
decomp_encoded = decomp_string.encode()
|
| 69 |
+
rle_obj = {
|
| 70 |
+
"size": [height, width],
|
| 71 |
+
"counts": decomp_encoded,
|
| 72 |
+
}
|
| 73 |
+
rle_obj['counts'] = rle_obj['counts'].decode('ascii')
|
| 74 |
+
return rle_obj
|
| 75 |
+
|
| 76 |
+
def processMask(anno, new_anno):
|
| 77 |
+
for object_id in anno.keys():
|
| 78 |
+
new_anno[object_id] = {}
|
| 79 |
+
for cam_id in anno[object_id].keys():
|
| 80 |
+
new_anno[object_id][cam_id] = {}
|
| 81 |
+
for frame_id in anno[object_id][cam_id]["annotation"].keys():
|
| 82 |
+
width = anno[object_id][cam_id]["annotation"][frame_id]["width"]
|
| 83 |
+
height = anno[object_id][cam_id]["annotation"][frame_id]["height"]
|
| 84 |
+
encoded_mask = anno[object_id][cam_id]["annotation"][frame_id]["encodedMask"]
|
| 85 |
+
coco_mask = decode_mask(width, height, encoded_mask)
|
| 86 |
+
new_anno[object_id][cam_id][frame_id] = coco_mask
|
| 87 |
+
|
| 88 |
+
if __name__ == "__main__":
|
| 89 |
+
parser = argparse.ArgumentParser()
|
| 90 |
+
parser.add_argument(
|
| 91 |
+
"--takepath",
|
| 92 |
+
help="EgoExo take data root",
|
| 93 |
+
required=True
|
| 94 |
+
)
|
| 95 |
+
parser.add_argument(
|
| 96 |
+
"--annotationpath",
|
| 97 |
+
help="Annotations json file path",
|
| 98 |
+
required=True
|
| 99 |
+
)
|
| 100 |
+
parser.add_argument(
|
| 101 |
+
"--split_path",
|
| 102 |
+
help="path to split.json",
|
| 103 |
+
required=True
|
| 104 |
+
)
|
| 105 |
+
parser.add_argument(
|
| 106 |
+
"--split",
|
| 107 |
+
help="train/val/test split to process",
|
| 108 |
+
required=True
|
| 109 |
+
)
|
| 110 |
+
parser.add_argument(
|
| 111 |
+
"--outputpath",
|
| 112 |
+
help="Output data root",
|
| 113 |
+
required=True
|
| 114 |
+
)
|
| 115 |
+
args = parser.parse_args()
|
| 116 |
+
|
| 117 |
+
with open(args.split_path, "r") as fp:
|
| 118 |
+
data_split = json.load(fp)
|
| 119 |
+
# take_list = data_split[args.split]
|
| 120 |
+
take_list = ['09417ca4-3572-4ba1-a1db-7eaf3bd0b1c8'] # debug
|
| 121 |
+
|
| 122 |
+
os.makedirs(args.outputpath, exist_ok=True)
|
| 123 |
+
# Read the annotation file
|
| 124 |
+
with open(args.annotationpath, "r") as f:
|
| 125 |
+
annos = json.load(f)
|
| 126 |
+
annos = annos['annotations']
|
| 127 |
+
|
| 128 |
+
start = time()
|
| 129 |
+
|
| 130 |
+
for take_id in take_list:
|
| 131 |
+
if os.path.exists(f"{args.outputpath}/{take_id}"):
|
| 132 |
+
print(f"{take_id} already done!")
|
| 133 |
+
continue
|
| 134 |
+
|
| 135 |
+
# Create the output folder
|
| 136 |
+
os.makedirs(f"{args.outputpath}/{take_id}", exist_ok=True)
|
| 137 |
+
new_anno = {}
|
| 138 |
+
# Get the corresponding take name
|
| 139 |
+
anno = annos[take_id]
|
| 140 |
+
take_name = anno["take_name"]
|
| 141 |
+
|
| 142 |
+
valid_cams = set()
|
| 143 |
+
for x in anno['object_masks'].keys():
|
| 144 |
+
valid_cams.update(set(anno['object_masks'][x].keys()))
|
| 145 |
+
|
| 146 |
+
ego_cams = []
|
| 147 |
+
exo_cams = []
|
| 148 |
+
for vc in valid_cams:
|
| 149 |
+
if 'aria' in vc:
|
| 150 |
+
ego_cams.append(vc)
|
| 151 |
+
else:
|
| 152 |
+
exo_cams.append(vc)
|
| 153 |
+
|
| 154 |
+
if len(ego_cams) > 1:
|
| 155 |
+
print(take_id, 'HAS MORE THAN ONE EGO')
|
| 156 |
+
breakpoint()
|
| 157 |
+
print(f"Processing take {take_id} {take_name}")
|
| 158 |
+
|
| 159 |
+
# Process the masks
|
| 160 |
+
print("Start processing masks")
|
| 161 |
+
# new_anno["masks"] = {} # debug
|
| 162 |
+
# processMask(anno['object_masks'], new_anno["masks"])
|
| 163 |
+
|
| 164 |
+
# # Process the videos
|
| 165 |
+
print("Start processing Videos")
|
| 166 |
+
subsample_idx = processVideo(args.takepath, take_name, ego_cam=ego_cams[0], exo_cams=exo_cams, outputpath=args.outputpath, take_id=take_id)
|
| 167 |
+
if subsample_idx == -1:
|
| 168 |
+
print(f"{args.takepath}/{take_name}/frame_aligned_videos/{ego_cams[0]}.mp4 does not exist")
|
| 169 |
+
continue
|
| 170 |
+
# new_anno["subsample_idx"] = subsample_idx # debug
|
| 171 |
+
|
| 172 |
+
# Save the annotation
|
| 173 |
+
# with open(f"{args.outputpath}/{take_id}/annotation.json", "w") as f: # debug
|
| 174 |
+
# json.dump(new_anno, f)
|
| 175 |
+
|
| 176 |
+
end = time()
|
| 177 |
+
print(f"Total time: {end-start} seconds")
|
correspondence/SegSwap/data/process_data2.py
ADDED
|
@@ -0,0 +1,175 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os
|
| 2 |
+
import json
|
| 3 |
+
from lzstring import LZString
|
| 4 |
+
from pycocotools import mask as mask_utils
|
| 5 |
+
import numpy as np
|
| 6 |
+
from PIL import Image
|
| 7 |
+
from decord import VideoReader
|
| 8 |
+
from decord import cpu
|
| 9 |
+
import argparse
|
| 10 |
+
import cv2
|
| 11 |
+
from time import time
|
| 12 |
+
|
| 13 |
+
def save_frames(frames, frame_idxes, output_folder, is_aria=False):
|
| 14 |
+
# resize and save frames
|
| 15 |
+
scale = 4
|
| 16 |
+
if is_aria:
|
| 17 |
+
scale = 2
|
| 18 |
+
|
| 19 |
+
for img, fidx in zip(frames, frame_idxes):
|
| 20 |
+
H, W, C = img.shape
|
| 21 |
+
if H < 1408:
|
| 22 |
+
break
|
| 23 |
+
img2 = cv2.resize(img, (W//scale, H//scale))
|
| 24 |
+
cv2.imwrite(os.path.join(output_folder, f'{fidx}.jpg'), img2)
|
| 25 |
+
|
| 26 |
+
def processVideo(takepath, take_name, ego_cam, exo_cams, outputpath, take_id):
|
| 27 |
+
|
| 28 |
+
# if not os.path.exists(f"{takepath}/{take_name}/frame_aligned_videos/{ego_cam}.mp4"):
|
| 29 |
+
# return -1
|
| 30 |
+
print("take_name:", take_name) # debug
|
| 31 |
+
|
| 32 |
+
# Subsample the ego video
|
| 33 |
+
# vr = VideoReader(
|
| 34 |
+
# f"{takepath}/{take_name}/frame_aligned_videos/{ego_cam}.mp4", ctx=cpu(0)
|
| 35 |
+
# )
|
| 36 |
+
# len_video = len(vr)
|
| 37 |
+
# subsampling at 1fps -- none of the videos are annotated at more than 1 fps
|
| 38 |
+
# subsample_idx = np.arange(0, len_video, 1) # debug
|
| 39 |
+
subsample_idx = np.arange(3510, 4111, 1) # debug
|
| 40 |
+
|
| 41 |
+
# if not os.path.exists(f"{outputpath}/{take_id}/{ego_cam}"):
|
| 42 |
+
# os.makedirs(f"{outputpath}/{take_id}/{ego_cam}")
|
| 43 |
+
# frames = vr.get_batch(subsample_idx).asnumpy()[...,::-1]
|
| 44 |
+
# save_frames(frames=frames, frame_idxes=subsample_idx, output_folder=f"{outputpath}/{take_id}/{ego_cam}", is_aria=True)
|
| 45 |
+
|
| 46 |
+
# Subsample the exo videos
|
| 47 |
+
for exo_cam in ["cam03"]:
|
| 48 |
+
vr = VideoReader(
|
| 49 |
+
f"{takepath}/{take_name}/frame_aligned_videos/{exo_cam}.mp4", ctx=cpu(0)
|
| 50 |
+
)
|
| 51 |
+
|
| 52 |
+
os.makedirs(f"{outputpath}/{take_id}/{exo_cam}", exist_ok=True)
|
| 53 |
+
frames = vr.get_batch(subsample_idx).asnumpy()[...,::-1]
|
| 54 |
+
|
| 55 |
+
save_frames(frames=frames, frame_idxes=subsample_idx, output_folder=f"{outputpath}/{take_id}/{exo_cam}", is_aria=False)
|
| 56 |
+
|
| 57 |
+
return subsample_idx.tolist()
|
| 58 |
+
|
| 59 |
+
# def decode_mask(width, height, encoded_mask):
|
| 60 |
+
# try:
|
| 61 |
+
# decomp_string = LZString.decompressFromEncodedURIComponent(encoded_mask)
|
| 62 |
+
# except:
|
| 63 |
+
# return None
|
| 64 |
+
# decomp_encoded = decomp_string.encode()
|
| 65 |
+
# rle_obj = {
|
| 66 |
+
# "size": [height, width],
|
| 67 |
+
# "counts": decomp_encoded,
|
| 68 |
+
# }
|
| 69 |
+
# rle_obj['counts'] = rle_obj['counts'].decode('ascii')
|
| 70 |
+
# return rle_obj
|
| 71 |
+
|
| 72 |
+
# def processMask(anno, new_anno):
|
| 73 |
+
# for object_id in anno.keys():
|
| 74 |
+
# new_anno[object_id] = {}
|
| 75 |
+
# for cam_id in anno[object_id].keys():
|
| 76 |
+
# new_anno[object_id][cam_id] = {}
|
| 77 |
+
# for frame_id in anno[object_id][cam_id]["annotation"].keys():
|
| 78 |
+
# width = anno[object_id][cam_id]["annotation"][frame_id]["width"]
|
| 79 |
+
# height = anno[object_id][cam_id]["annotation"][frame_id]["height"]
|
| 80 |
+
# encoded_mask = anno[object_id][cam_id]["annotation"][frame_id]["encodedMask"]
|
| 81 |
+
# coco_mask = decode_mask(width, height, encoded_mask)
|
| 82 |
+
# new_anno[object_id][cam_id][frame_id] = coco_mask
|
| 83 |
+
|
| 84 |
+
if __name__ == "__main__":
|
| 85 |
+
parser = argparse.ArgumentParser()
|
| 86 |
+
parser.add_argument(
|
| 87 |
+
"--takepath",
|
| 88 |
+
help="EgoExo take data root",
|
| 89 |
+
required=True
|
| 90 |
+
)
|
| 91 |
+
parser.add_argument(
|
| 92 |
+
"--annotationpath",
|
| 93 |
+
help="Annotations json file path",
|
| 94 |
+
required=True
|
| 95 |
+
)
|
| 96 |
+
parser.add_argument(
|
| 97 |
+
"--split_path",
|
| 98 |
+
help="path to split.json",
|
| 99 |
+
required=True
|
| 100 |
+
)
|
| 101 |
+
parser.add_argument(
|
| 102 |
+
"--split",
|
| 103 |
+
help="train/val/test split to process",
|
| 104 |
+
required=True
|
| 105 |
+
)
|
| 106 |
+
parser.add_argument(
|
| 107 |
+
"--outputpath",
|
| 108 |
+
help="Output data root",
|
| 109 |
+
required=True
|
| 110 |
+
)
|
| 111 |
+
args = parser.parse_args()
|
| 112 |
+
|
| 113 |
+
with open(args.split_path, "r") as fp:
|
| 114 |
+
data_split = json.load(fp)
|
| 115 |
+
# take_list = data_split[args.split]
|
| 116 |
+
take_list = ['3c744ca5-c64a-4de3-8235-c2f542ac5056'] # debug
|
| 117 |
+
|
| 118 |
+
os.makedirs(args.outputpath, exist_ok=True)
|
| 119 |
+
# Read the annotation file
|
| 120 |
+
# with open(args.annotationpath, "r") as f:
|
| 121 |
+
# annos = json.load(f)
|
| 122 |
+
# annos = annos['annotations']
|
| 123 |
+
|
| 124 |
+
start = time()
|
| 125 |
+
|
| 126 |
+
for take_id in take_list:
|
| 127 |
+
# if os.path.exists(f"{args.outputpath}/{take_id}"):
|
| 128 |
+
# print(f"{take_id} already done!")
|
| 129 |
+
# continue
|
| 130 |
+
|
| 131 |
+
# Create the output folder
|
| 132 |
+
os.makedirs(f"{args.outputpath}/{take_id}", exist_ok=True)
|
| 133 |
+
new_anno = {}
|
| 134 |
+
# Get the corresponding take name
|
| 135 |
+
# anno = annos[take_id]
|
| 136 |
+
# take_name = anno["take_name"]
|
| 137 |
+
take_name = "sfu_cooking022_2"
|
| 138 |
+
|
| 139 |
+
# valid_cams = set()
|
| 140 |
+
# for x in anno['object_masks'].keys():
|
| 141 |
+
# valid_cams.update(set(anno['object_masks'][x].keys()))
|
| 142 |
+
|
| 143 |
+
# ego_cams = []
|
| 144 |
+
# exo_cams = []
|
| 145 |
+
# for vc in valid_cams:
|
| 146 |
+
# if 'aria' in vc:
|
| 147 |
+
# ego_cams.append(vc)
|
| 148 |
+
# else:
|
| 149 |
+
# exo_cams.append(vc)
|
| 150 |
+
ego_cams = ["aria"]
|
| 151 |
+
exo_cams = ["cam03"] # debug
|
| 152 |
+
# if len(ego_cams) > 1:
|
| 153 |
+
# print(take_id, 'HAS MORE THAN ONE EGO')
|
| 154 |
+
# breakpoint()
|
| 155 |
+
print(f"Processing take {take_id} {take_name}")
|
| 156 |
+
|
| 157 |
+
# Process the masks
|
| 158 |
+
print("Start processing masks")
|
| 159 |
+
# new_anno["masks"] = {} # debug
|
| 160 |
+
# processMask(anno['object_masks'], new_anno["masks"])
|
| 161 |
+
|
| 162 |
+
# # Process the videos
|
| 163 |
+
print("Start processing Videos")
|
| 164 |
+
subsample_idx = processVideo(args.takepath, take_name, ego_cam=ego_cams[0], exo_cams=exo_cams, outputpath=args.outputpath, take_id=take_id)
|
| 165 |
+
if subsample_idx == -1:
|
| 166 |
+
print(f"{args.takepath}/{take_name}/frame_aligned_videos/{ego_cams[0]}.mp4 does not exist")
|
| 167 |
+
continue
|
| 168 |
+
# new_anno["subsample_idx"] = subsample_idx # debug
|
| 169 |
+
|
| 170 |
+
# Save the annotation
|
| 171 |
+
# with open(f"{args.outputpath}/{take_id}/annotation.json", "w") as f: # debug
|
| 172 |
+
# json.dump(new_anno, f)
|
| 173 |
+
|
| 174 |
+
end = time()
|
| 175 |
+
print(f"Total time: {end-start} seconds")
|
correspondence/SegSwap/data/process_data_batch.py
ADDED
|
@@ -0,0 +1,271 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os
|
| 2 |
+
import json
|
| 3 |
+
from lzstring import LZString
|
| 4 |
+
from pycocotools import mask as mask_utils
|
| 5 |
+
import numpy as np
|
| 6 |
+
from PIL import Image
|
| 7 |
+
from decord import VideoReader
|
| 8 |
+
from decord import cpu
|
| 9 |
+
import argparse
|
| 10 |
+
import cv2
|
| 11 |
+
from time import time
|
| 12 |
+
|
| 13 |
+
def save_frames(frames, frame_idxes, output_folder, is_aria=False):
|
| 14 |
+
# resize and save frames
|
| 15 |
+
scale = 4
|
| 16 |
+
if is_aria:
|
| 17 |
+
scale = 2
|
| 18 |
+
|
| 19 |
+
for img, fidx in zip(frames, frame_idxes):
|
| 20 |
+
H, W, C = img.shape
|
| 21 |
+
if H < 1408:
|
| 22 |
+
break
|
| 23 |
+
img2 = cv2.resize(img, (W//scale, H//scale))
|
| 24 |
+
cv2.imwrite(os.path.join(output_folder, f'{fidx}.jpg'), img2)
|
| 25 |
+
|
| 26 |
+
def processVideo(takepath, take_name, ego_cam, exo_cams, outputpath, take_id, fps=1, batch_size=1000):
|
| 27 |
+
"""
|
| 28 |
+
处理视频并抽帧
|
| 29 |
+
|
| 30 |
+
Args:
|
| 31 |
+
takepath: 输入视频路径
|
| 32 |
+
take_name: take名称
|
| 33 |
+
ego_cam: ego相机名称
|
| 34 |
+
exo_cams: exo相机列表
|
| 35 |
+
outputpath: 输出路径
|
| 36 |
+
take_id: take ID
|
| 37 |
+
fps: 采样帧率,1表示1fps,30表示30fps(每帧都采样)
|
| 38 |
+
batch_size: 批处理大小,避免内存问题
|
| 39 |
+
"""
|
| 40 |
+
if not os.path.exists(f"{takepath}/{take_name}/frame_aligned_videos/{ego_cam}.mp4"):
|
| 41 |
+
return -1
|
| 42 |
+
|
| 43 |
+
# Subsample the ego video
|
| 44 |
+
vr = VideoReader(
|
| 45 |
+
f"{takepath}/{take_name}/frame_aligned_videos/{ego_cam}.mp4", ctx=cpu(0)
|
| 46 |
+
)
|
| 47 |
+
len_video = len(vr)
|
| 48 |
+
|
| 49 |
+
# 根据fps设置采样间隔
|
| 50 |
+
if fps == 30:
|
| 51 |
+
# 30fps:每帧都采样
|
| 52 |
+
sample_interval = 1
|
| 53 |
+
elif fps == 1:
|
| 54 |
+
# 1fps:假设原视频是30fps,每30帧采样一次
|
| 55 |
+
sample_interval = 30
|
| 56 |
+
else:
|
| 57 |
+
# 其他fps:计算采样间隔
|
| 58 |
+
sample_interval = max(1, 30 // fps)
|
| 59 |
+
|
| 60 |
+
subsample_idx = np.arange(0, len_video, sample_interval)
|
| 61 |
+
print(f"Video length: {len_video}, Sample interval: {sample_interval}, Total frames to extract: {len(subsample_idx)}")
|
| 62 |
+
|
| 63 |
+
# 处理ego视频
|
| 64 |
+
if not os.path.exists(f"{outputpath}/{take_id}/{ego_cam}"):
|
| 65 |
+
os.makedirs(f"{outputpath}/{take_id}/{ego_cam}")
|
| 66 |
+
|
| 67 |
+
# 分批处理以避免内存问题
|
| 68 |
+
for i in range(0, len(subsample_idx), batch_size):
|
| 69 |
+
batch_idx = subsample_idx[i:i+batch_size]
|
| 70 |
+
print(f"Processing ego cam batch {i//batch_size + 1}/{(len(subsample_idx) + batch_size - 1)//batch_size}")
|
| 71 |
+
|
| 72 |
+
try:
|
| 73 |
+
frames = vr.get_batch(batch_idx).asnumpy()[...,::-1]
|
| 74 |
+
save_frames(frames=frames, frame_idxes=batch_idx,
|
| 75 |
+
output_folder=f"{outputpath}/{take_id}/{ego_cam}", is_aria=True)
|
| 76 |
+
except Exception as e:
|
| 77 |
+
print(f"Error processing ego cam batch: {e}")
|
| 78 |
+
continue
|
| 79 |
+
|
| 80 |
+
# Subsample the exo videos
|
| 81 |
+
for exo_cam in exo_cams:
|
| 82 |
+
if not os.path.isdir(f"{outputpath}/{take_id}/{exo_cam}"):
|
| 83 |
+
try:
|
| 84 |
+
vr_exo = VideoReader(
|
| 85 |
+
f"{takepath}/{take_name}/frame_aligned_videos/{exo_cam}.mp4", ctx=cpu(0)
|
| 86 |
+
)
|
| 87 |
+
except Exception as e:
|
| 88 |
+
print(f"{exo_cam} not available: {e}")
|
| 89 |
+
continue
|
| 90 |
+
|
| 91 |
+
os.makedirs(f"{outputpath}/{take_id}/{exo_cam}")
|
| 92 |
+
|
| 93 |
+
# 分批处理exo视频
|
| 94 |
+
for i in range(0, len(subsample_idx), batch_size):
|
| 95 |
+
batch_idx = subsample_idx[i:i+batch_size]
|
| 96 |
+
print(f"Processing {exo_cam} batch {i//batch_size + 1}/{(len(subsample_idx) + batch_size - 1)//batch_size}")
|
| 97 |
+
|
| 98 |
+
try:
|
| 99 |
+
frames = vr_exo.get_batch(batch_idx).asnumpy()[...,::-1]
|
| 100 |
+
save_frames(frames=frames, frame_idxes=batch_idx,
|
| 101 |
+
output_folder=f"{outputpath}/{take_id}/{exo_cam}", is_aria=False)
|
| 102 |
+
except Exception as e:
|
| 103 |
+
print(f"Error processing {exo_cam} batch: {e}")
|
| 104 |
+
continue
|
| 105 |
+
|
| 106 |
+
return subsample_idx.tolist()
|
| 107 |
+
|
| 108 |
+
def decode_mask(width, height, encoded_mask):
|
| 109 |
+
try:
|
| 110 |
+
decomp_string = LZString.decompressFromEncodedURIComponent(encoded_mask)
|
| 111 |
+
except:
|
| 112 |
+
return None
|
| 113 |
+
decomp_encoded = decomp_string.encode()
|
| 114 |
+
rle_obj = {
|
| 115 |
+
"size": [height, width],
|
| 116 |
+
"counts": decomp_encoded,
|
| 117 |
+
}
|
| 118 |
+
rle_obj['counts'] = rle_obj['counts'].decode('ascii')
|
| 119 |
+
return rle_obj
|
| 120 |
+
|
| 121 |
+
def processMask(anno, new_anno):
|
| 122 |
+
for object_id in anno.keys():
|
| 123 |
+
new_anno[object_id] = {}
|
| 124 |
+
for cam_id in anno[object_id].keys():
|
| 125 |
+
new_anno[object_id][cam_id] = {}
|
| 126 |
+
for frame_id in anno[object_id][cam_id]["annotation"].keys():
|
| 127 |
+
width = anno[object_id][cam_id]["annotation"][frame_id]["width"]
|
| 128 |
+
height = anno[object_id][cam_id]["annotation"][frame_id]["height"]
|
| 129 |
+
encoded_mask = anno[object_id][cam_id]["annotation"][frame_id]["encodedMask"]
|
| 130 |
+
coco_mask = decode_mask(width, height, encoded_mask)
|
| 131 |
+
new_anno[object_id][cam_id][frame_id] = coco_mask
|
| 132 |
+
|
| 133 |
+
if __name__ == "__main__":
|
| 134 |
+
parser = argparse.ArgumentParser()
|
| 135 |
+
parser.add_argument(
|
| 136 |
+
"--takepath",
|
| 137 |
+
help="EgoExo take data root",
|
| 138 |
+
required=True
|
| 139 |
+
)
|
| 140 |
+
parser.add_argument(
|
| 141 |
+
"--annotationpath",
|
| 142 |
+
help="Annotations json file path",
|
| 143 |
+
required=True
|
| 144 |
+
)
|
| 145 |
+
parser.add_argument(
|
| 146 |
+
"--split_path",
|
| 147 |
+
help="path to split.json",
|
| 148 |
+
required=True
|
| 149 |
+
)
|
| 150 |
+
parser.add_argument(
|
| 151 |
+
"--split",
|
| 152 |
+
help="train/val/test split to process",
|
| 153 |
+
required=True
|
| 154 |
+
)
|
| 155 |
+
parser.add_argument(
|
| 156 |
+
"--outputpath",
|
| 157 |
+
help="Output data root",
|
| 158 |
+
required=True
|
| 159 |
+
)
|
| 160 |
+
parser.add_argument(
|
| 161 |
+
"--fps",
|
| 162 |
+
type=int,
|
| 163 |
+
default=1,
|
| 164 |
+
help="Sampling frame rate (1 for 1fps, 30 for 30fps)"
|
| 165 |
+
)
|
| 166 |
+
parser.add_argument(
|
| 167 |
+
"--batch_size",
|
| 168 |
+
type=int,
|
| 169 |
+
default=1000,
|
| 170 |
+
help="Batch size for processing frames to avoid memory issues"
|
| 171 |
+
)
|
| 172 |
+
args = parser.parse_args()
|
| 173 |
+
|
| 174 |
+
with open(args.split_path, "r") as fp:
|
| 175 |
+
data_split = json.load(fp)
|
| 176 |
+
|
| 177 |
+
# 使用指定的split或调试用的单个take
|
| 178 |
+
if args.split in data_split:
|
| 179 |
+
take_list = data_split[args.split]
|
| 180 |
+
else:
|
| 181 |
+
# 调试模式
|
| 182 |
+
take_list = ['6ca51642-c089-4989-b5a3-07977ec927d7']
|
| 183 |
+
print(f"Debug mode: processing only {take_list}")
|
| 184 |
+
|
| 185 |
+
os.makedirs(args.outputpath, exist_ok=True)
|
| 186 |
+
|
| 187 |
+
# Read the annotation file
|
| 188 |
+
with open(args.annotationpath, "r") as f:
|
| 189 |
+
annos = json.load(f)
|
| 190 |
+
annos = annos['annotations']
|
| 191 |
+
|
| 192 |
+
print(f"Processing {len(take_list)} takes at {args.fps}fps with batch size {args.batch_size}")
|
| 193 |
+
start = time()
|
| 194 |
+
|
| 195 |
+
for idx, take_id in enumerate(take_list):
|
| 196 |
+
print(f"\n=== Processing take {idx+1}/{len(take_list)}: {take_id} ===")
|
| 197 |
+
|
| 198 |
+
if os.path.exists(f"{args.outputpath}/{take_id}"):
|
| 199 |
+
print(f"{take_id} already done!")
|
| 200 |
+
continue
|
| 201 |
+
|
| 202 |
+
# Create the output folder
|
| 203 |
+
os.makedirs(f"{args.outputpath}/{take_id}", exist_ok=True)
|
| 204 |
+
new_anno = {}
|
| 205 |
+
|
| 206 |
+
# Get the corresponding take name
|
| 207 |
+
if take_id not in annos:
|
| 208 |
+
print(f"Take {take_id} not found in annotations!")
|
| 209 |
+
continue
|
| 210 |
+
|
| 211 |
+
anno = annos[take_id]
|
| 212 |
+
take_name = anno["take_name"]
|
| 213 |
+
|
| 214 |
+
valid_cams = set()
|
| 215 |
+
for x in anno['object_masks'].keys():
|
| 216 |
+
valid_cams.update(set(anno['object_masks'][x].keys()))
|
| 217 |
+
|
| 218 |
+
ego_cams = []
|
| 219 |
+
exo_cams = []
|
| 220 |
+
for vc in valid_cams:
|
| 221 |
+
if 'aria' in vc:
|
| 222 |
+
ego_cams.append(vc)
|
| 223 |
+
else:
|
| 224 |
+
exo_cams.append(vc)
|
| 225 |
+
|
| 226 |
+
if len(ego_cams) == 0:
|
| 227 |
+
print(f"No ego camera found for take {take_id}")
|
| 228 |
+
continue
|
| 229 |
+
|
| 230 |
+
if len(ego_cams) > 1:
|
| 231 |
+
print(f"{take_id} HAS MORE THAN ONE EGO: {ego_cams}")
|
| 232 |
+
# 使用第一个ego相机
|
| 233 |
+
|
| 234 |
+
print(f"Processing take {take_id} {take_name}")
|
| 235 |
+
print(f"Ego cams: {ego_cams}")
|
| 236 |
+
print(f"Exo cams: {exo_cams}")
|
| 237 |
+
|
| 238 |
+
# Process the masks
|
| 239 |
+
print("Start processing masks")
|
| 240 |
+
new_anno["masks"] = {}
|
| 241 |
+
processMask(anno['object_masks'], new_anno["masks"])
|
| 242 |
+
|
| 243 |
+
# Process the videos
|
| 244 |
+
print("Start processing Videos")
|
| 245 |
+
subsample_idx = processVideo(
|
| 246 |
+
args.takepath,
|
| 247 |
+
take_name,
|
| 248 |
+
ego_cam=ego_cams[0],
|
| 249 |
+
exo_cams=exo_cams,
|
| 250 |
+
outputpath=args.outputpath,
|
| 251 |
+
take_id=take_id,
|
| 252 |
+
fps=args.fps,
|
| 253 |
+
batch_size=args.batch_size
|
| 254 |
+
)
|
| 255 |
+
|
| 256 |
+
if subsample_idx == -1:
|
| 257 |
+
print(f"{args.takepath}/{take_name}/frame_aligned_videos/{ego_cams[0]}.mp4 does not exist")
|
| 258 |
+
continue
|
| 259 |
+
|
| 260 |
+
new_anno["subsample_idx"] = subsample_idx
|
| 261 |
+
new_anno["fps"] = args.fps
|
| 262 |
+
|
| 263 |
+
# Save the annotation
|
| 264 |
+
with open(f"{args.outputpath}/{take_id}/annotation.json", "w") as f:
|
| 265 |
+
json.dump(new_anno, f)
|
| 266 |
+
|
| 267 |
+
print(f"Completed take {take_id}, extracted {len(subsample_idx)} frames")
|
| 268 |
+
|
| 269 |
+
end = time()
|
| 270 |
+
print(f"\nTotal processing time: {end-start:.2f} seconds")
|
| 271 |
+
print(f"Average time per take: {(end-start)/len(take_list):.2f} seconds")
|
correspondence/SegSwap/data/process_data_new.py
ADDED
|
@@ -0,0 +1,176 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os
|
| 2 |
+
import json
|
| 3 |
+
from lzstring import LZString
|
| 4 |
+
from pycocotools import mask as mask_utils
|
| 5 |
+
import numpy as np
|
| 6 |
+
from PIL import Image
|
| 7 |
+
from decord import VideoReader
|
| 8 |
+
from decord import cpu
|
| 9 |
+
import argparse
|
| 10 |
+
import cv2
|
| 11 |
+
from time import time
|
| 12 |
+
from tqdm import tqdm
|
| 13 |
+
|
| 14 |
+
|
| 15 |
+
def save_frames(frames, frame_idxes, output_folder, is_aria=False):
|
| 16 |
+
# resize and save frames
|
| 17 |
+
scale = 4
|
| 18 |
+
if is_aria:
|
| 19 |
+
scale = 2
|
| 20 |
+
|
| 21 |
+
for img, fidx in zip(frames, frame_idxes):
|
| 22 |
+
H, W, C = img.shape
|
| 23 |
+
if H < 1408:
|
| 24 |
+
break
|
| 25 |
+
img2 = cv2.resize(img, (W//scale, H//scale))
|
| 26 |
+
cv2.imwrite(os.path.join(output_folder, f'{fidx}.jpg'), img2)
|
| 27 |
+
|
| 28 |
+
def processVideo(takepath, take_name, ego_cam, exo_cams, outputpath, take_id):
|
| 29 |
+
|
| 30 |
+
if not os.path.exists(f"{takepath}/{take_name}/frame_aligned_videos/{ego_cam}.mp4"):
|
| 31 |
+
return -1
|
| 32 |
+
|
| 33 |
+
# Subsample the ego video
|
| 34 |
+
vr = VideoReader(
|
| 35 |
+
f"{takepath}/{take_name}/frame_aligned_videos/{ego_cam}.mp4", ctx=cpu(0)
|
| 36 |
+
)
|
| 37 |
+
len_video = len(vr)
|
| 38 |
+
# subsampling at 1fps -- none of the videos are annotated at more than 1 fps
|
| 39 |
+
subsample_idx = np.arange(0, len_video, 30)
|
| 40 |
+
|
| 41 |
+
if not os.path.exists(f"{outputpath}/{take_id}/{ego_cam}"):
|
| 42 |
+
os.makedirs(f"{outputpath}/{take_id}/{ego_cam}")
|
| 43 |
+
frames = vr.get_batch(subsample_idx).asnumpy()[...,::-1]
|
| 44 |
+
save_frames(frames=frames, frame_idxes=subsample_idx, output_folder=f"{outputpath}/{take_id}/{ego_cam}", is_aria=True)
|
| 45 |
+
|
| 46 |
+
# Subsample the exo videos
|
| 47 |
+
for exo_cam in exo_cams:
|
| 48 |
+
if not os.path.isfile(f"{outputpath}/{take_id}/{exo_cam}.mp4"):
|
| 49 |
+
try:
|
| 50 |
+
vr = VideoReader(
|
| 51 |
+
f"{takepath}/{take_name}/frame_aligned_videos/{exo_cam}.mp4", ctx=cpu(0)
|
| 52 |
+
)
|
| 53 |
+
except:
|
| 54 |
+
print(f"{exo_cam} not available")
|
| 55 |
+
continue
|
| 56 |
+
os.makedirs(f"{outputpath}/{take_id}/{exo_cam}")
|
| 57 |
+
frames = vr.get_batch(subsample_idx).asnumpy()[...,::-1]
|
| 58 |
+
|
| 59 |
+
save_frames(frames=frames, frame_idxes=subsample_idx, output_folder=f"{outputpath}/{take_id}/{exo_cam}", is_aria=False)
|
| 60 |
+
|
| 61 |
+
return subsample_idx.tolist()
|
| 62 |
+
|
| 63 |
+
def decode_mask(width, height, encoded_mask):
|
| 64 |
+
try:
|
| 65 |
+
decomp_string = LZString.decompressFromEncodedURIComponent(encoded_mask)
|
| 66 |
+
except:
|
| 67 |
+
return None
|
| 68 |
+
decomp_encoded = decomp_string.encode()
|
| 69 |
+
rle_obj = {
|
| 70 |
+
"size": [height, width],
|
| 71 |
+
"counts": decomp_encoded,
|
| 72 |
+
}
|
| 73 |
+
rle_obj['counts'] = rle_obj['counts'].decode('ascii')
|
| 74 |
+
return rle_obj
|
| 75 |
+
|
| 76 |
+
def processMask(anno, new_anno):
|
| 77 |
+
for object_id in anno.keys():
|
| 78 |
+
new_anno[object_id] = {}
|
| 79 |
+
for cam_id in anno[object_id].keys():
|
| 80 |
+
new_anno[object_id][cam_id] = {}
|
| 81 |
+
for frame_id in anno[object_id][cam_id]["annotation"].keys():
|
| 82 |
+
width = anno[object_id][cam_id]["annotation"][frame_id]["width"]
|
| 83 |
+
height = anno[object_id][cam_id]["annotation"][frame_id]["height"]
|
| 84 |
+
encoded_mask = anno[object_id][cam_id]["annotation"][frame_id]["encodedMask"]
|
| 85 |
+
coco_mask = decode_mask(width, height, encoded_mask)
|
| 86 |
+
new_anno[object_id][cam_id][frame_id] = coco_mask
|
| 87 |
+
|
| 88 |
+
if __name__ == "__main__":
|
| 89 |
+
parser = argparse.ArgumentParser()
|
| 90 |
+
parser.add_argument(
|
| 91 |
+
"--takepath",
|
| 92 |
+
help="EgoExo take data root",
|
| 93 |
+
required=True
|
| 94 |
+
)
|
| 95 |
+
parser.add_argument(
|
| 96 |
+
"--annotationpath",
|
| 97 |
+
help="Annotations json file path",
|
| 98 |
+
required=True
|
| 99 |
+
)
|
| 100 |
+
parser.add_argument(
|
| 101 |
+
"--split_path",
|
| 102 |
+
help="path to split.json",
|
| 103 |
+
required=True
|
| 104 |
+
)
|
| 105 |
+
parser.add_argument(
|
| 106 |
+
"--split",
|
| 107 |
+
help="train/val/test split to process",
|
| 108 |
+
required=True
|
| 109 |
+
)
|
| 110 |
+
parser.add_argument(
|
| 111 |
+
"--outputpath",
|
| 112 |
+
help="Output data root",
|
| 113 |
+
required=True
|
| 114 |
+
)
|
| 115 |
+
args = parser.parse_args()
|
| 116 |
+
|
| 117 |
+
with open(args.split_path, "r") as fp:
|
| 118 |
+
data_split = json.load(fp)
|
| 119 |
+
take_list = data_split[args.split]
|
| 120 |
+
|
| 121 |
+
os.makedirs(args.outputpath, exist_ok=True)
|
| 122 |
+
# Read the annotation file
|
| 123 |
+
with open(args.annotationpath, "r") as f:
|
| 124 |
+
annos = json.load(f)
|
| 125 |
+
annos = annos['annotations']
|
| 126 |
+
|
| 127 |
+
start = time()
|
| 128 |
+
|
| 129 |
+
for take_id in tqdm(take_list):
|
| 130 |
+
if os.path.exists(f"{args.outputpath}/{take_id}"):
|
| 131 |
+
print(f"{take_id} already done!")
|
| 132 |
+
continue
|
| 133 |
+
|
| 134 |
+
# Create the output folder
|
| 135 |
+
os.makedirs(f"{args.outputpath}/{take_id}", exist_ok=True)
|
| 136 |
+
new_anno = {}
|
| 137 |
+
# Get the corresponding take name
|
| 138 |
+
anno = annos[take_id]
|
| 139 |
+
take_name = anno["take_name"]
|
| 140 |
+
|
| 141 |
+
valid_cams = set()
|
| 142 |
+
for x in anno['object_masks'].keys():
|
| 143 |
+
valid_cams.update(set(anno['object_masks'][x].keys()))
|
| 144 |
+
|
| 145 |
+
ego_cams = []
|
| 146 |
+
exo_cams = []
|
| 147 |
+
for vc in valid_cams:
|
| 148 |
+
if 'aria' in vc:
|
| 149 |
+
ego_cams.append(vc)
|
| 150 |
+
else:
|
| 151 |
+
exo_cams.append(vc)
|
| 152 |
+
|
| 153 |
+
if len(ego_cams) > 1:
|
| 154 |
+
print(take_id, 'HAS MORE THAN ONE EGO')
|
| 155 |
+
breakpoint()
|
| 156 |
+
print(f"Processing take {take_id} {take_name}")
|
| 157 |
+
|
| 158 |
+
# Process the masks
|
| 159 |
+
print("Start processing masks")
|
| 160 |
+
new_anno["masks"] = {}
|
| 161 |
+
processMask(anno['object_masks'], new_anno["masks"])
|
| 162 |
+
|
| 163 |
+
# # Process the videos
|
| 164 |
+
print("Start processing Videos")
|
| 165 |
+
subsample_idx = processVideo(args.takepath, take_name, ego_cam=ego_cams[0], exo_cams=exo_cams, outputpath=args.outputpath, take_id=take_id)
|
| 166 |
+
if subsample_idx == -1:
|
| 167 |
+
print(f"{args.takepath}/{take_name}/frame_aligned_videos/{ego_cams[0]}.mp4 does not exist")
|
| 168 |
+
continue
|
| 169 |
+
new_anno["subsample_idx"] = subsample_idx
|
| 170 |
+
|
| 171 |
+
# Save the annotation
|
| 172 |
+
with open(f"{args.outputpath}/{take_id}/annotation.json", "w") as f:
|
| 173 |
+
json.dump(new_anno, f)
|
| 174 |
+
|
| 175 |
+
end = time()
|
| 176 |
+
print(f"Total time: {end-start} seconds")
|
correspondence/SegSwap/data/process_data_new_chunk.py
ADDED
|
@@ -0,0 +1,198 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os
|
| 2 |
+
import json
|
| 3 |
+
from lzstring import LZString
|
| 4 |
+
from pycocotools import mask as mask_utils
|
| 5 |
+
import numpy as np
|
| 6 |
+
from PIL import Image
|
| 7 |
+
from decord import VideoReader
|
| 8 |
+
from decord import cpu
|
| 9 |
+
import argparse
|
| 10 |
+
import cv2
|
| 11 |
+
from time import time
|
| 12 |
+
from tqdm import tqdm
|
| 13 |
+
|
| 14 |
+
|
| 15 |
+
chunk_size = 1000 # 超参数:一次读取的frames数目
|
| 16 |
+
|
| 17 |
+
def save_frames(frames, frame_idxes, output_folder, is_aria=False):
|
| 18 |
+
# resize and save frames
|
| 19 |
+
scale = 4
|
| 20 |
+
if is_aria:
|
| 21 |
+
scale = 2
|
| 22 |
+
|
| 23 |
+
for img, fidx in zip(frames, frame_idxes):
|
| 24 |
+
H, W, C = img.shape
|
| 25 |
+
if H < 1408:
|
| 26 |
+
break
|
| 27 |
+
img2 = cv2.resize(img, (W//scale, H//scale))
|
| 28 |
+
cv2.imwrite(os.path.join(output_folder, f'{fidx}.jpg'), img2)
|
| 29 |
+
|
| 30 |
+
def processVideo(takepath, take_name, ego_cam, exo_cams, outputpath, take_id):
|
| 31 |
+
|
| 32 |
+
if not os.path.exists(f"{takepath}/{take_name}/frame_aligned_videos/{ego_cam}.mp4"):
|
| 33 |
+
return -1
|
| 34 |
+
|
| 35 |
+
# Subsample the ego video
|
| 36 |
+
vr = VideoReader(
|
| 37 |
+
f"{takepath}/{take_name}/frame_aligned_videos/{ego_cam}.mp4", ctx=cpu(0)
|
| 38 |
+
)
|
| 39 |
+
len_video = len(vr)
|
| 40 |
+
# subsampling at 1fps -- none of the videos are annotated at more than 1 fps
|
| 41 |
+
subsample_idx = np.arange(0, len_video, 30)
|
| 42 |
+
|
| 43 |
+
|
| 44 |
+
if not os.path.exists(f"{outputpath}/{take_id}/{ego_cam}"):
|
| 45 |
+
os.makedirs(f"{outputpath}/{take_id}/{ego_cam}")
|
| 46 |
+
if len(subsample_idx) > chunk_size:
|
| 47 |
+
frames = []
|
| 48 |
+
for i in range(0, len(subsample_idx), chunk_size):
|
| 49 |
+
batch_idx = subsample_idx[i:i+chunk_size]
|
| 50 |
+
batch_frames = vr.get_batch(batch_idx).asnumpy()[..., ::-1]
|
| 51 |
+
frames.extend(batch_frames)
|
| 52 |
+
frames = np.array(frames)
|
| 53 |
+
save_frames(frames=frames, frame_idxes=subsample_idx, output_folder=f"{outputpath}/{take_id}/{ego_cam}", is_aria=True)
|
| 54 |
+
else:
|
| 55 |
+
frames = vr.get_batch(subsample_idx).asnumpy()[...,::-1]
|
| 56 |
+
save_frames(frames=frames, frame_idxes=subsample_idx, output_folder=f"{outputpath}/{take_id}/{ego_cam}", is_aria=True)
|
| 57 |
+
|
| 58 |
+
|
| 59 |
+
|
| 60 |
+
# Subsample the exo videos
|
| 61 |
+
for exo_cam in exo_cams:
|
| 62 |
+
if not os.path.isfile(f"{outputpath}/{take_id}/{exo_cam}.mp4"):
|
| 63 |
+
try:
|
| 64 |
+
vr = VideoReader(
|
| 65 |
+
f"{takepath}/{take_name}/frame_aligned_videos/{exo_cam}.mp4", ctx=cpu(0)
|
| 66 |
+
)
|
| 67 |
+
except:
|
| 68 |
+
print(f"{exo_cam} not available")
|
| 69 |
+
continue
|
| 70 |
+
os.makedirs(f"{outputpath}/{take_id}/{exo_cam}")
|
| 71 |
+
if len(subsample_idx) > chunk_size:
|
| 72 |
+
frames = []
|
| 73 |
+
for i in range(0, len(subsample_idx), chunk_size):
|
| 74 |
+
batch_idx = subsample_idx[i:i+chunk_size]
|
| 75 |
+
batch_frames = vr.get_batch(batch_idx).asnumpy()[..., ::-1]
|
| 76 |
+
frames.extend(batch_frames)
|
| 77 |
+
frames = np.array(frames)
|
| 78 |
+
save_frames(frames=frames, frame_idxes=subsample_idx, output_folder=f"{outputpath}/{take_id}/{exo_cam}", is_aria=False)
|
| 79 |
+
else:
|
| 80 |
+
frames = vr.get_batch(subsample_idx).asnumpy()[...,::-1]
|
| 81 |
+
save_frames(frames=frames, frame_idxes=subsample_idx, output_folder=f"{outputpath}/{take_id}/{exo_cam}", is_aria=False)
|
| 82 |
+
|
| 83 |
+
return subsample_idx.tolist()
|
| 84 |
+
|
| 85 |
+
def decode_mask(width, height, encoded_mask):
|
| 86 |
+
try:
|
| 87 |
+
decomp_string = LZString.decompressFromEncodedURIComponent(encoded_mask)
|
| 88 |
+
except:
|
| 89 |
+
return None
|
| 90 |
+
decomp_encoded = decomp_string.encode()
|
| 91 |
+
rle_obj = {
|
| 92 |
+
"size": [height, width],
|
| 93 |
+
"counts": decomp_encoded,
|
| 94 |
+
}
|
| 95 |
+
rle_obj['counts'] = rle_obj['counts'].decode('ascii')
|
| 96 |
+
return rle_obj
|
| 97 |
+
|
| 98 |
+
def processMask(anno, new_anno):
|
| 99 |
+
for object_id in anno.keys():
|
| 100 |
+
new_anno[object_id] = {}
|
| 101 |
+
for cam_id in anno[object_id].keys():
|
| 102 |
+
new_anno[object_id][cam_id] = {}
|
| 103 |
+
for frame_id in anno[object_id][cam_id]["annotation"].keys():
|
| 104 |
+
width = anno[object_id][cam_id]["annotation"][frame_id]["width"]
|
| 105 |
+
height = anno[object_id][cam_id]["annotation"][frame_id]["height"]
|
| 106 |
+
encoded_mask = anno[object_id][cam_id]["annotation"][frame_id]["encodedMask"]
|
| 107 |
+
coco_mask = decode_mask(width, height, encoded_mask)
|
| 108 |
+
new_anno[object_id][cam_id][frame_id] = coco_mask
|
| 109 |
+
|
| 110 |
+
if __name__ == "__main__":
|
| 111 |
+
parser = argparse.ArgumentParser()
|
| 112 |
+
parser.add_argument(
|
| 113 |
+
"--takepath",
|
| 114 |
+
help="EgoExo take data root",
|
| 115 |
+
required=True
|
| 116 |
+
)
|
| 117 |
+
parser.add_argument(
|
| 118 |
+
"--annotationpath",
|
| 119 |
+
help="Annotations json file path",
|
| 120 |
+
required=True
|
| 121 |
+
)
|
| 122 |
+
parser.add_argument(
|
| 123 |
+
"--split_path",
|
| 124 |
+
help="path to split.json",
|
| 125 |
+
required=True
|
| 126 |
+
)
|
| 127 |
+
parser.add_argument(
|
| 128 |
+
"--split",
|
| 129 |
+
help="train/val/test split to process",
|
| 130 |
+
required=True
|
| 131 |
+
)
|
| 132 |
+
parser.add_argument(
|
| 133 |
+
"--outputpath",
|
| 134 |
+
help="Output data root",
|
| 135 |
+
required=True
|
| 136 |
+
)
|
| 137 |
+
args = parser.parse_args()
|
| 138 |
+
|
| 139 |
+
with open(args.split_path, "r") as fp:
|
| 140 |
+
data_split = json.load(fp)
|
| 141 |
+
take_list = data_split[args.split]
|
| 142 |
+
|
| 143 |
+
os.makedirs(args.outputpath, exist_ok=True)
|
| 144 |
+
# Read the annotation file
|
| 145 |
+
with open(args.annotationpath, "r") as f:
|
| 146 |
+
annos = json.load(f)
|
| 147 |
+
annos = annos['annotations']
|
| 148 |
+
|
| 149 |
+
start = time()
|
| 150 |
+
|
| 151 |
+
for take_id in tqdm(take_list):
|
| 152 |
+
if os.path.exists(f"{args.outputpath}/{take_id}"):
|
| 153 |
+
print(f"{take_id} already done!")
|
| 154 |
+
continue
|
| 155 |
+
|
| 156 |
+
# Create the output folder
|
| 157 |
+
os.makedirs(f"{args.outputpath}/{take_id}", exist_ok=True)
|
| 158 |
+
new_anno = {}
|
| 159 |
+
# Get the corresponding take name
|
| 160 |
+
anno = annos[take_id]
|
| 161 |
+
take_name = anno["take_name"]
|
| 162 |
+
|
| 163 |
+
valid_cams = set()
|
| 164 |
+
for x in anno['object_masks'].keys():
|
| 165 |
+
valid_cams.update(set(anno['object_masks'][x].keys()))
|
| 166 |
+
|
| 167 |
+
ego_cams = []
|
| 168 |
+
exo_cams = []
|
| 169 |
+
for vc in valid_cams:
|
| 170 |
+
if 'aria' in vc:
|
| 171 |
+
ego_cams.append(vc)
|
| 172 |
+
else:
|
| 173 |
+
exo_cams.append(vc)
|
| 174 |
+
|
| 175 |
+
if len(ego_cams) > 1:
|
| 176 |
+
print(take_id, 'HAS MORE THAN ONE EGO')
|
| 177 |
+
breakpoint()
|
| 178 |
+
print(f"Processing take {take_id} {take_name}")
|
| 179 |
+
|
| 180 |
+
# Process the masks
|
| 181 |
+
print("Start processing masks")
|
| 182 |
+
new_anno["masks"] = {}
|
| 183 |
+
processMask(anno['object_masks'], new_anno["masks"])
|
| 184 |
+
|
| 185 |
+
# # Process the videos
|
| 186 |
+
print("Start processing Videos")
|
| 187 |
+
subsample_idx = processVideo(args.takepath, take_name, ego_cam=ego_cams[0], exo_cams=exo_cams, outputpath=args.outputpath, take_id=take_id)
|
| 188 |
+
if subsample_idx == -1:
|
| 189 |
+
print(f"{args.takepath}/{take_name}/frame_aligned_videos/{ego_cams[0]}.mp4 does not exist")
|
| 190 |
+
continue
|
| 191 |
+
new_anno["subsample_idx"] = subsample_idx
|
| 192 |
+
|
| 193 |
+
# Save the annotation
|
| 194 |
+
with open(f"{args.outputpath}/{take_id}/annotation.json", "w") as f:
|
| 195 |
+
json.dump(new_anno, f)
|
| 196 |
+
|
| 197 |
+
end = time()
|
| 198 |
+
print(f"Total time: {end-start} seconds")
|
correspondence/SegSwap/data/split.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"train": ["7d6fa5c7-a206-4b36-889b-44bed72b0cc8", "f9dbdf83-0135-4fdd-973a-f207c79b3453", "2941605e-7cfb-441f-92b7-b4ee187edeb6", "1f56f60f-9b36-493f-902f-a3bba0fb1b84", "f1c3d2f5-e6bf-4899-a40d-12489d1ebb11", "b054a313-c2e5-495f-add2-d3c265a030e8", "9a6dd2f3-8c46-44da-b424-cb3442be0f00", "9759968e-f72c-43b4-950e-3f715fdcd4ee", "095f8e44-e72c-41b1-b8b7-e967bb389f82", "dd0539a4-6c12-4ae9-987b-d41351d874a9", "66fbbbae-c740-40d1-ab71-1f882453f2c5", "819523fa-f601-4ed3-aa1f-b1df5f0482bf", "45dd51ae-9049-4cf0-9366-8d0094791f0b", "2d146c0f-88df-483d-8a26-efb052b9a8ac", "bafe400a-8433-4f69-8989-fabd82276b15", "8bb19b57-b9bf-4287-beaf-6a6d625712b6", "27eb4f84-28e8-46f7-9263-ff15fa9b894f", "1c9a978e-3921-44e5-8eab-f9e5401822cf", "f2f93854-2634-449c-b68e-aebf4743ac9f", "99820fc1-ce50-41ea-bc8d-37b563f9743b", "f85ff6cc-b530-49fe-89e4-ae8533a4d47e", "1f34bb6a-70ba-4e7c-ae19-b5086fc1176a", "15a055d2-a5e1-4ba9-9e2b-5a6282fc7f32", "57dee964-b77f-430b-8f37-fa4e5ba5c6a3", "0eac0520-a5d8-4a45-bf08-112f5f472850", "abcd9473-0885-43cc-9e4e-f632f36871d2", "d8967e18-31e6-49ec-b00b-00250320ee18", "27cf1b12-9114-46b5-b1fb-66fcef4294f6", "9c0fe0eb-064b-4393-bd60-55be9d0de7b0", "8a0ea233-beeb-42cf-84b8-d25bda4ad967", "975b64c9-60e8-426e-9d55-2323a2505b12", "eccc2a61-a64b-4a53-af79-e432406d9062", "fa984bda-fd07-4de9-9720-f4f0af8c5f96", "4af687ac-9602-48b9-acaf-c0085bc2fe53", "1e0d9cb9-849f-4ca7-beeb-b13a5d4c6668", "424d48e3-b2cc-4558-b9e8-f954f3a61f7a", "72fa7531-64a3-45fe-8e50-80906ffeb40a", "c79a0feb-6eb8-4eef-82c0-08f0d672cc79", "f69df63c-9cd3-442f-bc9b-5ba64b988da4", "4641c429-4150-415c-a824-bf42a22d1dbf", "7d59164c-e0bc-4ae0-95c9-733e4c8b0d6a", "cace80a1-42df-4cf4-a1ec-80647638a443", "1e15d070-a035-41a4-b37a-d82da76cd915", "2fbd4068-86e0-4893-b9c6-10c88fa8275c", "fa0e1a71-2174-43ef-a694-a4af360573a4", "a127cf90-51bf-46af-b0ee-ec932ed0b110", "c11735ca-6d22-4d16-972b-f55f8271f373", "3f6a08d0-b2fe-4625-9cb1-531622f76128", "6023b80a-a1af-405b-ae86-6613452a1512", "8ee798db-d02b-46ab-86f9-2091da1fb85e", "c922cd8a-192b-4b1c-b574-7a6bc1b89383", "0b05324a-47a2-456a-9f7a-1c36519d86e0", "d430ec80-4f9e-4ee8-82ba-b66f4a794289", "03bfe7f8-23b1-440a-bab5-45eed703d08d", "8fa671be-2624-4783-8572-5f4b7722b6c0", "2336980a-6599-4f18-8a4c-6f2aa92ed536", "cc0a8c8c-f9c6-4173-ad44-f04e7b8f2f46", "a91ef958-df79-4905-8469-37c552c11441", "98f58f0f-53d6-4e41-bf41-d8d74ccbc37c", "ca5b4327-9454-49db-b37b-7bf8b13784dd", "42214e49-7e6b-4164-9fd1-315e3ac8fe40", "de9efe94-a548-4e07-8a37-7a60abb40dac", "09ca3310-232c-4f3f-b201-3632ea8c6b75", "ca1434ea-b787-44ad-a9da-e0f7d5167a35", "3566c03b-5c4d-4fb8-b73c-0117a95cafb5", "127941e8-52d5-494f-901b-af3521a67ae3", "93a6cc04-f932-4555-93de-bf55a089ac80", "49127749-c922-40a0-8eb8-a689a11a68cf", "629a4ed5-9d3f-4a61-b699-99e77a03b449", "648ae12c-91f5-4a72-b6a3-d233b83ef654", "0872b2cd-933d-4a0d-8561-9b3d60361203", "a993f2d4-bed8-47aa-8ce2-7a08b9785b24", "8ee393cb-d4b3-47ae-a3d0-0e9f8bb912d1", "8634c58a-95ee-4aed-aa80-9392073815cf", "bbc13004-11f9-4a73-ab06-3fa3836d518f", "a2fc6bb5-ad56-460e-a8ae-64db8080d5ae", "1ec1409c-a3fd-46ab-8698-99f9317e9f13", "505d3491-c597-4622-96cf-123a30dfb2db", "cfd2c825-45d1-4e59-b33f-b6dff8c174c8", "a261cc1d-7a45-479f-81a9-7c73eb379e6c", "b63da48d-f6a2-4b94-a9af-3e694ca549f2", "de438b6d-8692-44ea-a6a3-0fbcc459a525", "126eb2a4-4d4f-4d35-b390-7d9550b54c60", "1c73aa9f-c23a-479f-9980-3cba6792f27c", "a4b63d2e-e149-4256-b951-eb9947420030", "d03179da-1fd6-40f1-9ed2-8c2681ca2a0c", "853d087c-f00d-4659-8d63-f5052fb465a6", "44e3a281-953f-439b-aa58-01a5a362a31f", "b4298585-d4af-48ef-b59b-8e878f66bff3", "39d48b6a-66e8-4bbb-a596-4461b601cabc", "6ba1dc31-7a08-4e92-aaad-5954bce6a7da", "8ad67099-9fd2-40aa-868c-3c458d238dbb", "b09efa75-5692-4490-bdf1-b3b2c0fed141", "c9230a3e-6f26-4f2f-bbfa-9daedb658568", "9a7c75f7-c02a-441e-ad6d-e9d413bb5861", "29f2335b-f53d-4329-ad26-25f2ae7d4e6e", "794b3bd3-eac9-4d0d-9789-bd068bff3944", "87531064-1b80-40c5-896c-344cb3200d5a", "38246505-8781-46e8-bbe6-838a3d7df20c", "45199fd8-dfda-446d-b1c3-f5e4deadc441", "16b05645-80cd-45e6-ad95-c9a9cc035d6d", "f4dead01-fa3d-4aa5-8b59-13a0d9186dd2", "86771809-b5aa-49dd-8c94-16d145f4819e", "717a56dc-5151-4ad9-88fd-8ac4aa3589a9", "a8d04142-fc0b-4ad4-acaa-8c17424411ff", "519a22f6-92df-4b85-b0cf-3c19bb311a1a", "b9519252-bc68-4d3f-9781-81426234e671", "74a85d9d-234c-40f8-b15d-03f222a4db19", "ab52c59f-e6ee-4f3f-92ac-5a6db630f8fd", "478b347f-98de-4953-bf9f-56b2ec386f81", "114984e0-4de8-4db7-afc8-0c66926f65f4", "4cf43506-d0a6-4c42-9136-adb2ecd57411", "d47c1c99-2df4-4ea4-8259-4952960d5129", "aef3aa96-9883-4119-9ae8-c8b921a98918", "2e10a473-32d3-4b73-99f9-d35717ccab91", "89815623-8ece-4e3c-8879-f1f32b299527", "b199d52d-4fc7-4ac3-b9c4-b5c84014dc1b", "e6bbb6dc-94c1-4e80-9e46-2b25f40e0c1c", "2a160c63-2acd-463a-8431-3dbf77d6de8e", "410ccf87-4217-4d87-836b-4af20b355d87", "b9bad7dc-c6f5-4488-b9d0-b787625b674f", "5df0a1b2-0240-4ddb-a6a8-2c48c80d7427", "4c08e855-f8ad-4c27-8ae7-116eb13f1309", "23ad5c7b-7413-4614-846a-976c120d8bcd", "b68f9254-913a-4aee-9ae8-29d1121dd892", "5fd383f1-c8bb-42d7-b98b-7418d99d9bb4", "407f60e4-68b2-42df-84a9-3160398aaf10", "46018fc1-21a0-4c62-b009-ad420b731686", "b1b794e8-7839-46ab-b05f-f4b1c16d5420", "525cad2c-6c31-4a4a-aca2-a46279e51bc4", "a5b0f86c-5449-4c10-8366-e9d74662faf3", "58004f8a-fd60-4db6-8145-5125a4cd346f", "896b4340-c573-4454-a26f-b0a7159da732", "0583b07f-6e72-456c-8934-397927455be9", "fce7bb0b-b284-4a7d-869a-3c9cae440679", "cc27074c-f97d-486d-9d70-20c8a0df2f8a", "d9e1f18e-63a8-4923-8b91-8d992cf76776", "515ec288-a236-4a94-9b3d-449667088c82", "a4988227-0d23-4ee5-b106-981690dcfad3", "da227d63-a07c-471e-9130-07a8a492d654", "ca6bb6c4-1bf4-4253-926c-803881a165be", "3c56b1ee-b11f-4aeb-a6ab-359fc1bbea3b", "f6c800a6-e14c-472f-ba06-e4bf0f187e5e", "01c31ac7-3885-46ff-9af5-9e1d0910dce5", "823affad-e570-4091-a85f-da7aed524500", "20557049-ca20-4539-9e34-76031fce30e8", "54d00238-c1e4-4b2b-8870-2cbd442cd81f", "d9ce9305-d24f-4127-9d6d-e4d89e43f44b", "4fc454d5-6acb-4197-8014-a5216ee7ba80", "b7dbb47c-d850-4853-b434-7b20519ea9e5", "636eaa0b-d65d-4b25-bbdd-1065f84ef89e", "13786d88-76d1-4ecb-b74b-4600727c9ada", "4bb9382b-ca84-4635-9626-f4aa949747f5", "82e854f5-b603-409b-821d-3e4f19b030b0", "b4b83178-90f5-4ca8-9862-224d5044b0c4", "f702f8fd-a664-40f9-b71e-5fd647fa226e", "a69a5919-7b9d-4724-9b26-46dea6fa0c87", "b418cefc-12f5-4800-b9f0-a90541c4bea0", "f01b21c4-8023-4800-b3b2-3326a3c164f2", "c112d4da-5120-47d7-9b05-a4ef68baa226", "554bdf0b-2239-4c83-ae2c-38907ca0bfc3", "bd409a14-0392-447c-87ce-e7d44d0cf3c8", "d2b0ee95-2a76-4b69-aebf-3c7e553f8e2b", "6dd93969-2dff-4546-bac6-a435698eb14a", "d07f8138-ccbc-4c09-b9b7-05918088bfed", "30e473a6-4746-4fc6-8b2a-37f179eaae53", "dcc39981-04fc-4dfc-9bc4-53699496af39", "9275d1b4-7238-43fd-ad7d-1d1ee60de569", "7130970c-73d9-413d-964e-167696280422", "9da3d7c3-42aa-447a-9080-98c703d49c25", "734c53c6-a781-41b4-ac79-22a196353fde", "f6cd28c0-570f-4048-a684-bb4f0b055adb", "e24f2e2d-bc8f-4039-b617-b48bc45659bb", "b8b06b02-51fd-4a0f-9d64-9257be8c7df2", "a58f7f81-1ca2-4f98-bae4-2afce688c685", "fe9c727d-dac3-4efe-9906-b268991547cf", "ee2c4d41-d7f7-4b85-9f4f-cc1da654cd40", "d1888843-9fb6-4a0b-a732-978d03786ae6", "e8cf53f3-a9e3-45b6-a313-10765ae183e2", "d6ab4bdc-52c8-4398-ac3a-aff30f66260c", "2cc1db50-e1ca-4bc5-9066-4adc98b27df4", "3d41b047-b3c7-43b0-8663-daddc3e7d32c", "145bc22e-b966-4778-a082-8ec5f94e3626", "37365e38-41ce-423a-b9d8-05d946535768", "3eaf67f2-6d43-4b99-99a9-d591796fc73b", "103fc8a3-0e82-43a3-adf8-96bc8b3ac4ef", "d2a578c6-c2e8-4a03-a809-ecb29e0c8859", "4862eb13-2289-4745-a908-e6aa7f6ab829", "aa445893-9c9f-402a-a646-a8dacc34ebc1", "4a3c1bbe-b22a-41b0-b02b-23c1de785ea4", "cea1b20b-6e18-4bb6-87e0-164a2b8c3dc0", "5dc6b68f-c360-4519-8b45-1d9ba21dbeed", "062ed386-05a4-4ff5-a8ff-2235045349d7", "1789c39f-b302-48b4-9fa5-8716cfbfd43f", "cef2f19f-ec48-410c-8205-4572cc8706d9", "c69ac66e-fe72-4923-bccf-5674bded8f89", "783ea71f-5f82-41da-986f-b69025680e27", "9105418d-9a1b-445b-a77e-108d22530a8c", "fba2c124-99ec-40ed-8d6a-46808afe6d98", "7b138731-a8f3-4938-be1b-22599df07d39", "8dbcefd0-a7af-44f2-ab5b-49b5c11b0e56", "b5793959-4dbe-4d2c-b036-47e4be38743a", "2de0896b-df6d-4687-bbff-f700d675e385", "9ae1d6ae-8175-43ed-b5b0-afacabeddbd1", "e929ea2f-f2a6-4823-a201-5810f976c963", "8f3668cf-d6c8-4e50-bcaf-f5d994ee62cf", "46deacb7-2d19-4b18-b440-170f9ea7f28a", "99969e76-0172-4a07-b890-73848b97e0fe", "cac56c11-1de1-476f-a05d-f43c0cf99893", "c65220c8-1e12-4f2f-a87e-4d217eacca9c", "4be6b7e6-b07b-405a-b384-ccf8dc9391f2", "952ca52f-91d7-40a8-b254-affcc831112a", "1c504968-4f68-48dc-bee3-159fa197af65", "18e1e279-78e1-4c10-97a7-42dace59267b", "a548b784-dfd2-458f-8131-b36020906d32", "3467af8b-50c5-486e-8ff8-6a1401849bb9", "7b078956-9843-49dd-be3c-39591bde70fe", "dd77aa6d-cbf6-4883-9bc5-bd6d7e0dcf91", "6a3376a7-949e-4385-b16e-076dfb8c3f5a", "0d7dc221-d9dd-401a-acb8-b6e76e458300", "549e5b97-f93a-4500-8f02-5be13017dce5", "91317e63-1393-4776-a201-d5158cb2d9bd", "db0dab21-696f-42ac-befa-0a7af0dfa4b2", "0efd9fc1-0f49-403d-9252-93f119a3ea3c", "5f8792b1-0ab2-4484-a591-962fa3c93881", "699dde3f-cd23-4674-939e-42438faeb0da", "6cbfa460-72a7-4038-b6af-4305a1cc05dd", "edfd7e49-1765-43e5-ac74-00e1d36b54ad", "c97bfa47-1ca4-40f6-a463-b4f25c8b127d", "c7c5fe65-f694-4ff1-b51d-ee8059143f51", "f982aad4-3315-4c23-80fa-eb91fc5cb686", "bf1126a4-6276-4cc8-bec1-4879a2562ce5", "ce9bec98-3ec5-4189-8f9d-03e3ff3cddda", "7ab371e9-704d-42d0-a130-217260e169ec", "99c10780-e9a9-431a-af53-fda0b4fae201", "22f0fe6e-c298-4478-a15a-1541ba2434b4", "e3e33fdf-d781-4bac-9d7b-4545975d48fa", "769c8fe5-3f64-4b55-894b-8e6b7e8aa683", "cdb39869-48e6-43fc-b036-a4c22d14cdb2", "efacaa24-2dd2-45f2-a316-414f2e2cddc6", "a5e81f20-ea35-4f63-a908-11d89fc1294c", "6e252fac-4cec-4abe-bc4c-72b56b44fbcb", "f206f522-f635-49c6-8dc4-563199704bb8", "bb09460a-19d5-4dcb-867f-3d670d06bcfa", "4794b8f9-75b7-4eec-81b4-da8c5177ecb7", "783505c4-4ca5-4bee-a572-9e214115e035", "be266e24-9627-4b79-84cb-1606b5743f0b", "c7f81b64-f398-4b75-ad96-de62f2a31ec6", "3cf6545b-6476-41f4-a526-6d1da55588e3", "75f558ea-bd55-4882-9142-edbeab8d94bb", "cf7eede9-1550-44fd-a1b7-b25a02ba1d9a", "319a9983-f70c-4224-a3a7-33338c8a9f35", "aa461c0c-d577-4667-b3df-157207b11063", "05db9b5f-6904-43d2-99f8-62e6d3353afb", "2f61dd27-2ad2-4029-b36d-19a02ae8feec", "5f4f823c-082e-487d-acac-1e6ef80a9857", "87adac1b-2895-4cc0-9ebd-218bc9d1e8ff", "ef3879f9-2159-41d8-bef2-e7b746e6673a", "42e4f58c-bdc8-4294-966a-240a6367428a", "281b1c72-71be-4745-9a21-3a24a02e3c6f", "cb4dce4d-001f-4c5c-adcb-fd882ec09517", "f54df2fb-065d-4c1c-874d-ae06e7837c8f", "e5beffc8-2cc5-4cc5-9e0e-b22b843aaa4c", "38bb5f61-707d-4cf3-b1d1-a8260b7dfadc", "1b8601c0-ca65-4b4a-9ed4-0248d9539257", "5c322676-611b-424f-b00b-e825807dd1fc", "bcfb6839-3c09-4d42-9d9c-59042f6ab721", "cbc1a7bf-ba96-41d2-a6ec-42f9db7852f0", "831704c0-37fc-47aa-9ac0-3681ee652690", "d44116b4-c888-4be4-b5dc-b5bd628cea95", "66a58e88-a8a3-49c8-94db-949274cb5be0", "6790fe08-7a63-4925-a60f-dd78bf9944ff", "50bf0d2d-3bf3-4369-b72a-935561926195", "a0748518-35d6-459a-a7b6-5dbe88147d7b", "5d98d741-a4b9-42ac-8ffe-0960260a9f57", "71892035-0e6d-49a0-ae65-c30a76b0af79", "3ca2798d-cfe3-46c6-a8bc-cc4689bd6d75", "eaa6d996-c634-4488-9f7b-fe5487202f63", "097e886c-442e-4426-a19b-798d09e8e0f2", "4099f58d-1cc7-4368-990d-dcff3f5aa220", "aa40670e-4487-4f60-a27b-26f7372ef8e7", "961375e7-69e7-4bac-b61c-9dfd6a80c197", "9de1e91d-4331-43ac-813a-318b02732d7f", "bde0f2f1-a83e-4c29-b182-502ce6d94e21", "b07855a6-9582-44d2-be98-47daadda043a", "4ad70302-a794-40ae-ba8f-248296fb2809", "389cfa3f-3a4c-4b8f-9535-d7c95ffd594c", "658a6c36-f169-4d0c-9811-cbbc76393e07", "cb327cb5-3ad5-4f47-9cfa-29b4e7cc2836", "214bdc0d-fa50-4a84-b771-c0a7bdeafadc", "f1f1c625-48c9-4e7f-b3b8-f384f5cf2442", "c2374b84-5d13-4bcb-a320-b375851245e4", "e6f04a5d-0da7-42c9-8b27-4e240319047e", "08504348-4f72-477e-a08f-1050204ae55e", "708eb73a-1e98-419f-823c-2e6e96e8d81b", "76311964-abcc-4d73-b84b-241e9c782850", "d35a162e-c38e-4017-94d1-539f26651115", "e102ad52-d3a9-405b-a5a2-9a77a1a9922d", "e846fd07-a298-4313-a591-04292b5c5097", "23d1dc00-55f7-454e-b388-264ee6240527", "ffe64b82-6751-400a-9d64-5f4952017234", "1bd5a43c-9476-4491-b82e-6b02aeee2231", "20bc64ed-0612-4f59-9822-7ef409c7fdd4", "8dec5000-77af-4a40-b180-858057fff7e8", "4d6e4368-543b-4b69-a261-e8c01401ee8c", "cc93caa4-3f2e-48fb-95d6-fdfc0e45db01", "21141700-c64c-4fd7-9b36-c69e30fea1ad", "989ffb65-7466-49fd-94cb-6d3d4d528a8b", "ea17b93e-a687-4aae-8514-657f4bcae20d", "925ebe22-f97a-4e79-aed3-9873cf461c3c", "c0b7d130-2004-4450-ad94-ea3167bd9fab", "8c917b9b-6eb4-46e0-864a-364656907738", "b2db39d4-cc06-4821-8545-e22c3ab67eab", "024a7ee5-df4d-4dd0-a890-b13adc8ed431", "6e0bfa70-e88e-487d-9698-d16afbdb3e56", "96de3c01-236e-4fd5-b81a-76e9c5456a15", "090c8638-3464-45f9-a76a-a45432c2faa7", "afcff62a-3615-4afd-a08b-7bb6ade86a2e", "7ec750d7-fc17-41dc-b627-be30b2682c7a", "2c17b3a3-aecf-4a18-82f4-4094b7ac166c", "661178ca-8174-4469-bf18-ca8d40c4d7b9", "79450571-16f3-463b-a0b5-a5ede1d3966b", "55c665d1-8310-40b2-92d3-0e6b7a47ce22", "c8a70210-89d2-4b7e-bea7-5a79712fe631", "3540ae4e-89f8-4f61-8606-3492031c35fe", "f1ce9be1-b623-4ce4-84e2-37e9f88eea86", "e9bceaa5-6e5a-4dd6-b206-079fdfce0d74", "988baaa6-a361-4b33-8fa5-1eecf2ebaa22", "b1494499-048c-4be5-9595-7d664956a02d", "b8fa25b5-6185-474f-a092-e14d494901ad", "dc8cdafd-9424-49b5-a78c-a88ae6d2cd54", "aef08b40-a12b-42e8-b69a-9ba14c270b7c", "dcca4382-3494-4bb2-b79a-0e514513895e", "01d7a29d-f1a2-44d6-8871-178f26233d32", "0f9842a7-512f-4c04-9254-b810129f52b3", "ea0b620a-6077-4e53-911b-34aa55ca6eeb", "c09185f6-a5d6-43ce-950f-be3cd7ba7d2f", "a9c72abf-f710-4854-8d9a-9ef98950eb24", "1f22e560-2372-43b2-83c4-e452c3287fc1", "68e393fc-d1e9-411c-898b-6d2f2f495249", "7c0a813b-dce3-4ba0-92cc-a8e0a6f87581", "c9506871-9f9c-4e84-90f6-be2df27e9c14", "173f3262-9a30-4c0b-95ce-c9ab11b4068d", "38422f88-2862-4202-8d4c-9fe0ef1e021f", "8c6578a1-4f98-4bdb-861e-64b321b32c9f", "ed83020f-c9cd-4d9d-8420-c69c74b1643e", "39feb026-bcf8-4a61-89ad-9f5566c2c7bf", "44896f15-3bb6-4358-a042-2c59140dc7a6", "e68d09a0-fe18-483c-8a7d-24b32f9baa9e", "f7d3a129-4548-41d6-b675-0e85c4d4e324", "0254b6c0-4d78-471e-b3cf-07bb1e133f96", "c4dbfed6-f922-4213-a574-da37c7afd61c", "52b94833-ab64-4cfd-86fd-77ece1ece3ea", "448f59b5-2f28-4013-a96a-6f3fa5bb2252", "63156ba0-fabc-49e2-bb93-a8a0c5028ad0", "0bc47e29-e086-4726-b874-f89671366f06", "b0b09c9e-014c-4674-a86c-1b2af2175573", "83167883-277a-4720-accb-4aeb0253e60e", "52ca795f-e4d5-4b02-a9e9-8a3d964154f4", "919b7ecf-b37e-4dd2-9fac-4f04b80fbeb8", "327a76ce-f777-4ea8-b5c1-1108ca87c14f", "5e4d0439-eaea-463b-963b-e6ae2459f874", "b0e040f9-a84d-47cb-b6aa-64a85607b698", "9bd3f0f1-531c-47e1-be1c-2b4eae001bd5", "7c308b3c-8637-4e8c-b7a6-daf487c26f2d", "7aa2e880-6e88-4ed4-809a-48535714252f", "462c11bc-8dd2-440f-acbe-95ca177187c2", "72cfc694-5d6f-42cc-918a-eb1ec0086896", "c288cb15-81c7-4463-814f-959c12740499", "976e486c-0292-4ee1-bed4-05a3e5b0d6cd", "7f57b437-75b9-4cff-a260-28dba2ffaacd", "71fbd6f0-2df6-4823-9d73-b3fdd3e824e8", "f70d0d3c-3591-4328-bc27-776da2dd55fd", "a50dba7f-0df5-48b9-bbd7-071ffef04953", "62d59872-7198-4df5-a1e8-56b1136f6952", "a9902d89-3aab-4bce-aa07-720cf12523f6", "18e2cf60-65f4-4715-91e0-3917deb5daa8", "3ac49447-8437-4e1a-b772-06f4c79afe96", "e14d5116-b488-4a4f-acb9-d8cb6c1b5853", "eba56e4f-7ec8-4d47-9380-e69928323e94", "4c3ee253-c4a5-4d56-b990-600b132e0b43", "95f2d2b4-c5de-4620-9d6a-3dd6e1cb7264", "664e91a2-642d-47c2-9e89-44090af6af92", "5f153be3-ed11-470c-b032-e779d7a88180", "f72deca0-a765-46d3-abcd-9e4a0f7575d9", "e7ea8821-753a-4723-9ac3-a5aeb7b1f373", "b69de073-c157-4cff-8eba-97bfc7baa012", "289c4873-5bf9-41b9-b784-aba52b54cd4d", "f7011ab9-4260-4fd3-a218-36263fabb1f0", "dcce3d79-a8b7-4a0d-8614-94dee726663f", "804258d5-2fb7-4816-a09f-2becaed7e9a5", "0bcb8b46-cc45-4bcb-a627-85633e54e060", "b6cb97cf-d85c-4e1e-916c-869c39f7d52b", "d7b30d31-1614-4089-a26a-7e9557265ab4", "5ab8958c-7f0f-4580-8de4-edd20a839c49", "48c5e2ce-5249-402e-b198-35240beefb88", "819780c3-97c0-4ac6-b37f-8c66abf8167d", "375f6d12-23dd-4ad1-b02a-9fd9f7a8c991", "ff29aa81-555c-4eb2-a79f-10e27e7f09c7", "7fb68600-a998-46ae-b2b0-72fd1978b8fd", "63ab82bb-2d28-440f-814c-1fc0d06b89d0", "e1475f87-0c9d-4884-b932-140c2a0de3c3", "0e4c18eb-22d9-4c41-a4b1-e02e574be20d", "43b6b938-dc04-4e86-9165-e4f011aa7344", "b918c9ce-f1ad-4fb2-9569-3726685517ee", "87a63705-c609-49cd-9605-0117ad0b0526", "90e697a5-2cff-4ecc-a580-f4c230a5488c", "c9322347-29d7-4ab8-ae9f-5f0acdc095c9", "712a77c1-6a02-4bfd-bbdb-06fa8b1e8b1e", "1964ed60-addc-4452-89fc-d1a696540345", "6a90f588-8a69-4d1c-b071-85527fc98042", "7d33f6b7-46c0-4087-97e5-100c369ffe45", "55a996a2-cdf3-4976-b475-a7c4c6a008a8", "83d9f439-642d-47b8-bc95-1a9442a0f4f6", "9512a137-40b6-49c6-a03d-a3340b9dd277", "5ad8e62d-726c-430a-9849-6f5d3ba3704c", "642c0099-f952-4be6-83b8-cb8bfd94f7bb", "96816348-c93b-4b46-b4e9-2f53d96f9f88", "726a93e4-ec22-4373-8cac-c333e459abd5", "d6706cac-3a65-411f-b9e2-cf7245305fbe", "02417aaf-e818-4ec9-8731-abddcd9ac466", "bf74fe65-12af-4d4e-a7a6-7885c854ae49", "d1eb9ed3-c414-4e5e-aa70-37e73dde1802", "77cd56fc-6b68-4c7f-814b-81545484dd2d", "ff22eeaa-b5e4-48f7-8a48-50bb368ec289", "7014a547-6f84-48cb-bc91-28012c4cce06", "73251f3a-238e-4dd8-8297-6fe9893239e0", "a3fc32b8-24d8-4d77-bc3c-8dbd70284a5c", "fd053d4b-ae66-4b8d-880a-bdf1cebc7257", "51fc36b3-e769-4617-b087-3826b280cad3", "393e9b60-504c-4cc7-a90b-eb78dd62d5ff", "e43a918c-4518-4c49-b57a-ca9b259a85eb", "55b40961-8713-45e2-8c5e-30857a723c4a", "4da9f6d7-08e8-4c2a-9224-0f2cece08780", "a3214a2b-be14-44fe-b4b4-791beb788b77", "9ed23abc-0a73-4f1a-b1be-3d94cf71b8d8", "528408d0-3098-4ab8-840c-7ee95869880b", "5d4abe32-590d-470d-8fd1-4585833afaad", "072f6ab6-a3c2-4e86-84ef-0b32d60d5555", "581de43e-f659-498b-a8e5-25647be63f41", "a875caeb-6b2d-4499-9d7e-74252b8f877c", "70fb86ec-39ef-418f-8f9e-c95e6aab3255", "fb09baec-1a5a-40b4-8d72-e581c93fbd77", "9d436b0e-2839-4519-a41d-189e1b1a4816", "8a81ba3d-61f4-4b6b-a0a3-e1463a226985", "4a628bb6-49fa-4cfa-ae74-2b3beac2b095", "54da69f2-4e4d-4b65-820c-46fdcb38d097", "3042b472-99cc-4407-a79e-f76916b95737", "adb82b37-8e0c-423a-9016-4a17ae673b75", "0b771d9f-7bab-4023-ac08-e56c06505946", "2558806a-cf6c-42dd-8323-ab80e7b7dc75", "4939903a-2c73-4633-ae15-618be39990e7", "644022d7-8e50-4bb2-bab8-f7ffbfdc7d17", "971bf500-87fe-41a1-8ede-5b2eb1e87711", "cda6c810-63a5-455e-b92c-f288e26c72e1", "705d49e6-20f4-4c32-ae7d-dfa50abfe7fc", "ced0e340-b958-4505-badc-c8c2f256c145", "9bc33576-bcb6-42a5-b040-3220456f268f", "44b51e21-176a-4f20-a61c-1117696ca084", "ccec2129-83b1-47cc-b179-fc165ac12f25", "e53ae33b-61b6-4c3e-8be0-5696f961704b", "dd23d126-e63d-4df0-ba1e-2c0c137d5bb2", "4d250ada-e17a-4385-a08c-88b645cfe872", "60475f06-2613-4496-939a-5381e7807349", "2429d435-c4fd-4e57-a25c-d2badd786e60", "35e4a30c-bd1b-4b46-aab2-2b49adcc4b7c", "d2e07def-3ea4-4c31-b20c-5f5a7ed52fb9", "9abb07b4-f708-4571-8a82-d5baf748980d", "2423c2ff-c85d-4998-afab-29de8d26d263", "97584eeb-d107-40e6-9a14-767ca29b22b1", "fb626925-969e-48ea-aeda-ef99300fb8f7", "0be9bbb7-ab8c-4134-8886-178e31ab34be", "64636876-638e-4f1d-9301-3bb4cb9b391a", "7683f1f1-f84d-4ecd-ae0a-7ba6ee2f8cdb", "a6c76788-37ca-4005-9e7e-cf5ecb00d8cf", "8e40c272-9469-4077-bece-0268040b79ad", "4ff4e3e6-53ff-4827-ad51-b35594910af9", "f3bfdad9-5ed0-49a0-b70c-aa1ee79a3bbf", "cadd4f9c-0957-4404-980b-2c5718734a3f", "4f1a4a10-b34c-41a3-9544-86622f7881ab", "ad758298-5b6a-4e49-bda3-5d254a5f54c7", "2059dde7-ecdd-4bfe-90ca-5f482b44fe47", "a1b56b36-68f6-4238-b5bf-a830dc8758bf", "08abcbb4-9277-4154-94d8-9e36b750fed8", "ecb9c4c1-214c-4bfa-a9f3-371b85267113", "a2526805-27bd-4d17-9325-d3bd1e291f91", "d8f1f126-5984-43c3-8774-45c6d6ac447c", "8e5d6ad7-f48c-40e8-bf02-05ac74c2d844", "e246e05c-cc49-4d05-98ba-de2542e42c3f", "8abc5f81-9c0f-4174-9b3b-c5d7dba53efa", "75c8af15-2c63-4024-ab24-db3ec0569207", "1e457d17-85cd-44b2-9c60-84304b07282d", "eac4b49b-cf4f-4925-bdbe-5ab98d0bae74", "40cc96d8-a05c-451c-aca8-442f39e1c14b", "a0179553-bc47-441f-a83e-ae6e021032e0", "bee03368-c65a-4b24-a572-5e799a8baa2c", "f7203ed6-eb12-4aeb-ba99-f60e700b5412", "3655a8a0-38fc-4be9-ab20-32448b48abb1", "3817cb6b-8b20-4f6f-a8a1-d0943d491656", "ea9149f5-4953-4f44-9712-e45ccb976568", "e354f40c-75e9-4064-a911-850988e9ab9a", "696b1917-383c-4fb9-a954-aff632d35d4e", "0aed7ffd-224d-4f50-94eb-9d54fd4a1521", "f8142a51-7b40-4852-97d5-62b307ddb7e7", "f132578d-b65b-43d0-8a78-870c3638d029", "15b70076-fe8e-4e72-a2cf-0004798c7280", "ef31e3a5-a004-4fc8-8d05-8475afa2602a", "05e5f359-526d-4914-a86b-5a56cfcc0274", "6835b48d-ce8e-474d-b589-86d023628792", "11b8d7e3-9c5e-4652-84ef-91504a07f332", "aceb9ba2-bcd0-4249-baaf-12cd03e14aaa", "d0109704-c19c-444a-890f-5796742434a8", "a268acaf-1493-43ed-b368-346aa9a0f09f", "207ae687-de62-4b01-b26f-fb66fd167884", "876aae71-1ed8-4648-bd13-bce01b18698d", "759aa03c-c8e1-4fcb-8817-85948100ed33", "e52bd93e-021f-4208-aa02-ad1e64c03399", "bd58f048-87aa-4b40-97ee-17bdb2dd947e", "c65b2012-329e-4c9c-8847-0c80b86f23bd", "287c0ec5-8e84-4a21-8b18-a1e34f336187", "6d571173-653c-400f-99cc-14111f8657aa", "31df8578-1fd0-4406-9008-900a88f7990a", "cf11c037-3a43-43a8-b9ca-b3c457d31535", "404cf466-ff98-41e4-b73a-6829f6d29005", "ed064e3d-b2e1-4103-b955-3d720460d89b", "a94c3d1b-69c5-4c8f-8840-ec5c37630965", "29a96621-394a-4411-8404-cae4400df95e", "10114022-4de6-43cd-af19-b3bc5cbeae31", "b0844d48-90da-4073-9e03-fb8aef700f40", "81342757-adb9-4df2-af73-6ac28136f4ad", "01d41c37-4de8-4a56-94a2-df57a1bc5c95", "17fc7017-4b64-4adb-b55f-10ca76476366", "36821f68-75ce-4784-930d-d341e340e9bd", "655b89a8-9725-4756-9fc0-db01a580d88a", "02715c86-e30c-4791-92b7-38b488e51aba", "354f076e-079f-440d-bd38-97ddfcd19002", "12513260-bc8d-4cc5-a14b-c7a9012bf7d5", "76de6c17-2b61-494b-ab32-39e97e1b40ed", "5d45ec21-c866-4f24-b037-9fa5d25c78ee", "fb733912-4a66-4821-9313-344628fd1154", "9fe91f54-5d6c-43ba-aed0-cd8b1aae5d98", "08e08417-f43b-4870-8a26-3f3350bb6197", "c339d326-2e69-40f9-88f3-caa5c80ff3be", "3db860b7-a23a-4d9b-a988-4b656a608122", "d6817560-492c-4de8-93e9-56df0c3b4ddc", "de3728ca-fdeb-4591-80ab-cb2b32182a50", "34ad059f-5b0c-41e0-8aaf-096d3f4482b8", "77d985cb-eff9-43ca-b5e2-e2d1433d0d4b", "c3bb6a9f-fa27-4be2-a368-9fd694fc4231", "9ff58052-a000-4423-bed0-43ed44f2ce74", "35823fca-da54-49a2-8d4c-365046031e2c", "2a6617b5-ce8f-4234-a128-829b639df186", "91bb7bcf-7498-4611-a3bd-41869be84ef8", "70b452ff-ae15-4177-98ee-9cb8389e8f79", "21e09276-debf-49dc-8e6b-da8660308766", "06c44d8c-98e6-4204-bb90-edfa26f8ab33", "1032ae70-ce9b-4e6e-8b59-52a19b1f5b52", "80f65504-a37a-4c84-8a19-df3bba123326", "6b17a7d8-6454-44f4-aa50-32256f4cce73", "faf039a2-d360-4e8c-b5fc-a5f80e24c819", "f8412ce8-fd3e-4aa9-94b5-a625293dc8a3", "9506c70a-1639-42ea-bbfc-2b9c0f8c9394", "be3ba254-9db0-4fa9-91ed-c9e7117f8d83", "49944f64-4fc9-44b8-bba2-7d6720c3186f", "181c0eb5-22da-4a00-ad59-37b67622012e", "4535b913-a861-4a1a-b75f-5718ad3a5361", "dd09ac20-b7ae-48e0-a0c1-69f49f541ac4", "f7919017-3bd3-4c92-8f7f-ce9b33f07353", "c95ba288-2cca-46f2-b606-f4e4d145d40e", "9f3efff7-1aee-4a53-93cd-8b4ab0360d0a", "5b4fcf58-6bdc-41e4-b7e0-739abc35e7e8", "dc3e63c1-5b14-46f3-8230-5c93249e9469", "e46f9a53-7625-4827-8b92-79c958d3524e", "9d1b7889-ffd2-4bf6-962c-10b4cce60c6c", "b7c782b1-9688-4b19-8f88-003fed1d0e61", "aa079c80-4193-457d-86c0-80f13d2f94c0", "109db476-2edd-4968-b2da-6abec1a199da", "ae8c1f26-ae3c-4df9-841c-ee364f0e4fc6", "f55771c6-9192-4a78-a48f-16c926c44023", "93693881-02eb-404e-b42c-74aeed11e46b", "828f456b-54af-4a84-aea5-a8071fd1cae8", "a46d15b2-5c90-4938-bdca-40b87f51bec1", "93dee400-712b-4491-9d4a-7b4bf21f4f92", "9365a457-db04-4e11-981f-92a95cda4ce4", "ac259bd8-f9a1-4456-99b3-610f80351c06", "ede28f52-3ab0-4da8-808e-33ba5a1fae28", "aca145aa-6d73-4bc7-81bb-2d303e3a6199", "084fe4d0-b55d-4de4-a26d-32d7735e9621", "2182758f-49b8-4a13-b691-b9671ef20c4d", "3125dca7-b99e-4b2b-8844-2d912619b353", "e3b4afb7-d65c-4185-a038-9b9235caf342", "101a2de8-7c4a-46c8-aa4a-25ff4c7bddc0", "6abf4872-3bc1-4e63-8fb6-90f796505e31", "b65a60e0-f224-4b3d-bf78-ba44e12c4ac1", "10fbe798-2bdb-4d5b-8bbd-00a5f49fd391", "88c1166a-2e6b-43de-ac57-b2d736c41946", "9d6dd55f-1735-4d5f-8cac-92e04c9c896f", "1856e7d9-d45a-4909-9206-a3d6921ec6bd", "9a8dc147-818a-4f38-97c0-12b924033ba5", "bd0f3e9d-185d-43c2-96c2-34b8eb11e6a9", "6ec6a770-8e10-4cae-a06b-328852838ec6", "aaea78b8-f839-42af-af65-0cc3f7fb2897", "445a97bd-eccb-43e2-9fc0-2468cf0b2954", "b24dbfff-1a6f-4649-b60b-35ae8c7aec80", "ca01f52d-5afb-49a6-9b5f-ed0770fdf84b", "74f5cad4-2391-4ca2-adab-659f54c1a61f", "11bf68ee-12f0-435d-98eb-925c158ac705", "c9f0ec0e-2c5f-4350-a2f2-27877b56225f", "f7b3e85b-7681-48b3-97cb-6b0a5705022e", "8acb2112-465c-4088-b502-65fd9704dd77", "b069e23f-1a22-4920-879a-80616b098e60", "3c99493b-a76f-4934-b444-c8dcb68b17d3", "82587f1a-a75d-4462-8971-b62b5c3a633e", "3f477d02-124d-436c-b77a-f5ad63c21289", "811ad284-702f-4d38-af99-a2c4006fa298", "a6500813-e923-44e8-9876-b8f6f2fc15b2", "2cb8af8a-952e-40b7-ba48-b56f875d8826", "829fdfa1-1192-4611-977b-2736d7123f5e", "2e53bfbb-2476-48c8-8dbb-668071453cc2", "5ff5bfd3-3c44-4af2-a500-65cb13be7c3d", "3866da3e-e88b-4c69-9534-d097b315efc2", "87b87124-24b7-4098-9c28-21545a981768", "ae67738a-b251-4d6a-993e-4750a43cfc1c", "62bbef54-0ba2-4990-a9e3-3dea114fa9cd", "c53daadd-09f0-485b-a51c-1d5679f5fb09", "0c604e7f-1f5d-46ee-8e92-509411b10def", "b378d186-0587-40ed-afdf-875e6dfb5876", "77521486-6690-4374-abc2-0d9bc491af0c", "9fb66dfd-8e79-4cc8-83f2-bf9384b80fe2", "df02e9d2-edcd-4015-829a-81cb6067d6fa", "eec66a33-ddbf-4eac-9024-fddc99ef5fdd", "ce509e21-ca1a-45a9-b150-3263640c9c47", "0ccfd492-8880-4ef2-90f5-e9f54f2cd080", "32d54e67-68d7-4b94-a953-fc3b56a1eb94", "d13960ea-0503-4cfb-b700-8bd006544dd5", "03167c74-f240-488c-bc6c-39ea803ec943", "6497079c-6ac3-4c80-9d4c-f7c37a196f11", "98c6b563-61dd-46fd-a66e-351664092e4c", "aab43780-401b-4673-b2c2-fc3521e98bea", "1215d140-b34c-43f3-82dc-c3f102bbf1e4", "24647f6e-29ca-4d93-99bb-2df97043c4fc", "6e3f9f1d-2942-4de1-b071-bf8a205d28c4", "b008edb1-b0ab-4d8a-a303-5c09a6ecc790", "23ff1c48-01ea-4d34-a38b-bc96e767b9b9", "55d2990a-537b-429d-9da9-388283b9555e", "83b377ef-967a-4380-b3ac-321dbf79f72a", "5a7bab1e-a30b-4001-a5aa-2e8a6601315b", "975bbcd5-fbb3-4323-b9a8-a9b476887c18", "7ec264c5-0029-4b84-81ea-c3b24a059ae4", "3cbd7070-7c55-4b15-ac31-100ab8c7298a", "e94bf2b2-13f2-4b88-93ca-37da00d7c58e", "5b4cc5cb-22f0-4814-aa24-8d51ba50000a", "43d60820-1daa-472f-be4d-6802746df7d8", "dcfbcea7-821d-4f06-9ecd-95f4b99a9b4b", "b64755de-fc1c-4e36-a862-04e4c34a2dfa", "d1563ead-9c4a-443d-8f28-515100c0b909", "ba2086b2-f43f-4096-8b84-e9a3bfc0020b", "8000dfb2-accb-4bb8-abfb-cc2d677d0b2f", "0315b91a-b56f-4fc5-87f5-28c33c3fffab", "7ec74e0a-e711-4955-9e66-b4ea17fd439f", "ff93ae48-0daa-418c-9d5c-b5b0b6d23efb", "0a715ea3-5aa9-427f-86b3-12190c557905", "60a5958c-4530-4eba-886a-a3474ab1fc7a", "d6e80361-e429-4491-a08a-ed33c7ceecd5", "adf67490-c9f0-4771-810a-3c6b4007b3c8", "83783976-189a-460f-9068-7ad5b17dd815", "3382c19f-4a93-4247-9a7c-11f4f72959a0", "6d0a7c80-ae8c-4673-8f70-c09fd6fbebe8", "574adb34-f42d-494b-8ccf-a62922bb5299", "2bc8abe8-e4d1-46e2-8aa0-134e30674456", "f0cd03a5-9cd8-4510-87c1-a5c493197b75", "b4c2bba9-fd6e-4736-a071-811734d1234c", "7407b714-f7ec-4472-8e4d-e7eb0f037728", "e353042a-42b6-44fc-b825-3017f274de96", "6b90b173-de80-4a88-b52c-7eec42fd372b", "c16175f5-f990-48a1-9dcc-6a385f108687", "30f03e63-10bf-4d6d-8d58-fc944469c66c", "c8749317-8f4c-443a-9f82-6b18edbcac23", "f2628332-1196-47b2-a17a-6670055babb0", "c529c120-c1fb-4504-97c7-52912c2aa3c0", "c9143d68-f3aa-4214-8ce7-f490f88cbacf", "783c918b-1473-4b72-b106-cb2718c46af8", "d821248a-f894-47f8-9c60-02ca799fef24", "41e70872-13dc-45e3-82b4-4cbe58d952da", "e4b464a4-45ff-452b-a744-142d22b32ec1", "bbd4bbea-bb25-4a7e-ba2d-3a3e6eb003c9", "09992555-13bf-4056-a0c8-b5058853b778", "3eb5e1c2-4c98-4637-9a28-726396ab5005", "19326fcc-4b0f-403e-a7f5-ffb836449d45", "77e3b40d-7693-49f1-b480-d33fd798f870", "d246c660-2b59-445e-a618-dd86137c20a5", "e4ddbe51-37d0-4937-816a-2508b20f2b63", "e1df2957-a10c-4bc0-ac91-4014551287f0", "cc5a6be4-d030-4057-9ed5-1f895c6c9274", "b7542f4c-19e9-4061-87be-5a6d3d95de88", "8fc1c385-7529-47ce-a2de-fc42f6e44303", "261f6455-c60e-4fe4-8eca-6bb8fbb18ff9", "c2145013-09e6-47a4-8c6f-bf3366b8fad3", "816dd81e-93b1-433c-83ff-264ae404a3bf", "aaa7e120-2224-4a5b-96ef-4a4b054a6ccd", "f8bed5fe-3e09-4885-9539-edb4d5b2279a", "29f5c00a-4562-45e4-8365-5f9413cf3e26", "6ee078a7-6e88-416b-bbff-0b1a5cddd254", "a57a2fd6-18dd-446e-b11c-fe8b127ebb5b", "601c9c61-fc2b-4ac2-b3c4-dda557c2563b", "196ecf05-aecd-4f42-8321-67300d8bb6cd", "a3d933a1-26b2-4025-b136-3a9c2d40db4c", "56c35d79-acb1-47a1-8590-7e5cb2585ee5", "9fea55ae-307f-43ab-97f6-91ee6d1b25b7", "0bfb43c8-96d4-4b2e-b8bd-f0db30421823", "59de58da-2f1a-4ce5-9ccc-ba9e4b114779", "19653b56-4c16-407d-999b-8bae93fce633", "373478a3-4b72-44f9-bcda-fea08828c52a", "020ae1ca-02ad-49c8-9056-87ad6bdcb8bd", "719fe670-72a7-4da9-be7d-0bd2afb742ae", "34ba42af-5c77-434e-a8c4-cf745bcaaf0d", "978cd92e-8766-4c68-9d06-8a1a19ff1dc1", "c608817e-4a3e-4c3c-a87c-7d02e1e601da", "46988f5c-86df-4bb3-bf4c-aca0e044bce0", "6bc7a29f-3397-4549-9ee2-d98fa93da873", "1377b49e-4a24-4e91-9fdb-709911b72f9a", "01b0a6e3-04ce-4f0d-8df4-b3d3c1508780", "c8501280-9342-4776-b5cf-79e2e02fea1e", "b22e7d54-2198-4ff8-9ba4-bf444bf4a787", "ba46c08b-3b5a-46f2-b77d-4a296f45c042", "d5193bae-a7f5-4e8a-9c96-09f557c7ea9d", "1ec6c280-a6df-4666-87ef-9da5a57e2925", "526fb4ce-d45c-40e9-912b-7cc076081d65", "b6dd512b-7800-4cdf-b7ec-d0d784a493c2", "7bc50150-a73a-4d6a-97a9-ca9f8b4800ef", "32b43fd9-a01d-4657-899a-7ea2200da27a", "154d1224-d0c0-45f9-8e89-33f1ffa04606", "2c9c701c-08f8-4217-88da-f0b46886ee5c", "9aca257b-e95d-45b1-aa6b-e2abfb400fa4", "609123eb-8e83-41f9-9cd5-524fc01f3ea9", "64b60273-e935-4161-9300-2879b46f5785", "6fee2c75-fded-4e56-850f-0c29c809c1ee", "a0bbdb8e-077b-4881-bbec-30331068a3a7", "ff468baf-2313-4b39-8dc3-a1d1b6f71a5d", "c01e470f-b07e-4730-b3ef-6cb8cdfa5b4c", "c01e068d-c018-4a07-9a64-e7004fca335c", "516e461f-d51a-459f-9cfa-8864bda4c06e", "d4af8cd9-4115-4439-b7e9-77507f553418", "8d7646a3-ce7b-425d-b16e-9a63a1166576", "be1eb1c1-a45f-4e8b-9ae2-3d8db0af7e59", "d89ee354-ee08-4dd0-bd7b-75db5e3ab7de", "8623740d-86a1-4b83-82a0-c99923ce6bdb", "afeedc0f-f962-4136-8a66-223a77ebe2e6", "fa1b7aec-f252-42c7-b362-443f11e87fdf", "847fbeab-dd68-4852-95f3-3a09f754f3b7", "0b89efcd-59bf-4f0b-a81a-50dee0b79982", "63062ad7-ac80-40df-b40d-16edfa17bad2", "014e2850-9927-441a-8c3f-9e58012359e3", "af02982c-8ae9-424c-9f35-6f18763a49e1", "ee8b963a-28a3-4772-a2bb-a68732b603bb", "027d6141-8cf8-4cd6-b250-6f1ac4f6afcf", "0c49cda5-7e55-46d8-8f1f-522ed1924a79", "43dcdaaf-746e-4665-88a3-adbe7351c9b1", "53ee9e25-ba9b-429e-9cad-70c223a2f881", "9681b4c6-9713-4bb3-aa9a-7df7daa4e74d", "e3fd2775-90a8-4f9e-bfad-8bfae2519e3b", "d8a7872e-aa42-4296-a4b8-53b72f3c8b19", "f3f87687-6c1d-415f-9fe0-5f0bdb031371", "46e0152d-45be-46a4-a44a-c1967f89d3aa", "bf53c470-f60b-4f93-bb97-9b2a61a5ab89", "86578abf-a15e-44f0-9ea8-3019578c8d19", "2d60dbfc-61dd-468b-b30a-c63b9d29c9bb", "8671219e-79fe-487b-b62e-0bc080088127", "69fac17f-6527-493d-8dac-cd3bb61ce23e", "b7b0e245-e49e-432f-bad9-53e4a0bf0019", "ad14de7c-ea6f-4811-a590-1ee8a65275e4", "4bc2e040-3193-40ad-ae69-d75f9fa4e5a4", "6a364c3b-2d86-4fd0-ad7f-228438ed6609", "b2a184be-1b3c-4e0e-b297-d2a3a95e3e43", "ab4b4145-563f-42f9-bfb6-97b48bdaa2c7", "5ee00a17-171f-46a4-927b-3aa9d0fe176e", "e26a1515-2609-42c3-a2d2-68b37cc0b4d6", "ef1aee4b-5b24-454e-8c17-ea886f1dbdeb", "587eca14-1115-4a97-aff1-664de9e3415f", "2e3ac19b-c10a-4fc1-a812-ef2cf0956fb9", "d2382b43-4a91-4d6f-ab61-1c23f34d3d16", "0015e453-3227-41b0-bd64-03c134abe054", "24aeba39-9b30-4533-9d28-39b50c6ce3c4", "975b2d0f-fcf7-4521-b129-7c65a3268609", "abf00ef3-e9f2-491a-9692-114c4885298c", "20987121-dccd-4bb8-b3f7-8536e639c4a9", "5f981cb7-60ba-4bdd-92d3-853bbaeff7f8", "76a7ea80-0a81-4b4f-983e-a7e36fa26685", "beb7196e-c020-4224-b5c4-e431ad9f143e", "ced785aa-d2db-4518-846c-d5b5549c2c49", "441b84fd-19e9-4413-949a-c3bbb6a3b16e", "bb0cce4d-4433-4e2b-9d73-be77918f2069", "e08db0a4-e257-46e0-8880-640415b05976", "311b89d8-9dbb-4602-8656-5b4151ad19f1", "0827f0fc-4f33-4a6e-b7b3-89165585d79f", "41006de0-560c-4e27-8dab-08e711a9bf7f", "b2c1c748-58cf-4efb-ba53-d79361f2b0f2", "c170d13a-68ab-43be-a31d-70abd821436b", "b19462f1-e7fa-4b90-83da-931b1e9d50e2", "c8b331da-1756-4836-acc5-f3d1c2142339", "a914f836-eb7d-4ebc-a537-e8d7dbb39429", "e02bcacc-92af-4fe0-8c57-e42ff3f74dcf", "130f8ebc-c88a-4ae2-8e2c-b9935cd3accd", "39d5e4c4-993f-46ad-979b-3daa146e4d53", "e076b7e5-e67e-4452-8b00-83046dd85c62", "6ddd7cf1-02f0-4d46-837f-8aaddd1236c7", "a8b81a1a-5ab7-41c0-9189-a808bfb97b6b", "6bf869e6-32ac-4558-ac54-f78a5ad1e918", "3059469a-03fc-4ae0-bbf7-b08187d1b290", "204dea41-2a6d-42d9-ac91-aae4f773ed36", "e257e982-fb75-4d98-9e15-228bd18c33f4", "6badc0af-4a97-4dd4-b89d-b540f6f34002", "52bf867c-68c2-40f0-a195-c4795ec13517", "6743f09b-846b-4d85-95c8-30212fd779cb", "e0b36364-fbdc-4878-8dca-9a448856f79f", "c30c1104-b238-4dcf-891b-1160ede92723", "9d7d1acd-671f-4662-9c30-6ec10abd219a", "4a10d608-6712-4f08-aa69-1cfd4541dd6c", "1b755d8c-7351-4ad3-aff3-affe95fb1737", "b22fea1c-b117-49e1-9d69-470aa8dd3fad"], "val": ["3528e260-6a6d-46d7-b97d-b6c029ec7304", "6eb10b39-5171-4293-afba-4084f5825748", "79a728ac-d543-4a7a-bf6d-132a676ca685", "0669b09c-fda3-4fbb-9c41-b9b1fd3ff31e", "3c744ca5-c64a-4de3-8235-c2f542ac5056", "1247a29c-9fda-47ac-8b9c-78b1e76e977e", "4b42679d-718e-4eb9-977e-8922b38ac46f", "725b6b84-0a79-4053-b581-828a5da77753", "2e00eb80-4fd0-4ba5-bcbb-5e671d7f3627", "5f00af1e-d17d-461c-878b-1b3211c95fea", "c8b9dc5b-8467-40d2-ab27-27923abcb054", "1ba0388f-aeb4-4dc2-8c3c-9c0fe63f282c", "d4c27ee9-443b-4ebf-a3ef-57829e24d991", "bf6cb63d-ff78-4186-b55d-6aaf2e210ab1", "a0f2b3d8-95f9-4ade-81c1-e17fcefa75d6", "99a39dee-cd6d-4a27-b32e-bc2dee856c02", "3499e612-8ded-4c5d-a36e-c00111b2f417", "5c12c6e3-d34e-4e9a-bd7f-74aed58427a7", "44d647ce-72d2-4312-b80c-99faea2d017d", "e09f97c8-0493-4d0a-98a6-e678d4c7dc00", "f78ad5b9-8960-493e-8c8a-ce19a53c12f7", "7c341853-eea3-4243-ab99-e11919aefa4c", "c4c0e97d-135b-4dec-b736-e184442bd42e", "7aaa0ec1-297e-43e6-9381-36d332bb21a5", "f291d174-596d-471f-836b-993315197824", "8011f715-1132-4cdf-ad47-146bc1759f21", "c692c40e-f2ca-4338-bb9e-1c779a7288a2", "99052842-9369-415d-b87b-1bf756ab13dd", "26065a7c-c2dc-475d-acff-6b5b9cb94469", "524596ee-0f80-4086-8b7a-248258864978", "6449cb24-e14c-4238-9d57-2e0efc4794ba", "4356d71a-56a5-413b-a407-14f144112d91", "bbfcc023-558a-4396-8560-d683c2407180", "f1bdf9f3-4f65-4c70-b8ba-b3d4607c0cff", "0fe5b647-cdd0-43e9-8710-b33a2e0f83ef", "1bc1334f-2546-4175-a9f4-b4338f46a246", "96d772ac-01e0-4e53-85e5-4ce45e58b6f1", "2f53a0ce-246d-4bb3-adea-37db80c45688", "96e117f2-984a-42fe-ad83-23857e27ae45", "5b225fd3-e57a-446e-b228-dd452c17a235", "5670a1c7-d4ac-4d05-bbf0-6c8161f02824", "b5f62731-3deb-4bac-b00c-fe96e57d86b3", "85b4c3c3-6486-43bd-b5b6-7cae6ffd4c9f", "b63d213f-25ae-41bb-8719-01efd84dbe17", "01a5aa96-29c3-4f4c-9f03-4404a4a260ef", "6101e4e5-a889-45c5-ab66-e9125d2138bf", "526b8408-7edc-4390-a1cc-44512faaa432", "c216e68c-7483-41d3-b862-d7319b90038e", "af277c0a-fa1c-4d8c-9f7a-a6a4d23b1796", "dfe05c45-851b-4a94-9c22-05aca881fda6", "c9e0bbae-4092-4ab1-95cd-16b905709a0e", "31c74ac0-8c3d-4d5e-b577-4e54f16fb52d", "2da6c2ce-a88f-4790-9642-8dfa810ae91b", "fcf26143-bd53-49f7-a876-78829e4faf71", "4d799166-0362-4daa-9f26-72e27a4feb31", "3a1b3ec6-13fd-43f4-8af6-f943953e01e4", "350002f0-3d78-477e-9c33-80a2cc16f29e", "96abbf92-97cf-406b-910d-59d139c9da79", "fea0ace3-1be2-46dd-ae8d-ae35a9f13b77", "09acf615-b967-4c6b-b48b-53640e7be030", "411408c0-8f5f-4698-a9c5-5e491ecba021", "73420725-69c3-4392-81ae-539f7e4112b2", "dd20e1de-2636-44a7-8e8b-a73571c375ef", "6aaed5b3-1cbf-4cd9-82b0-43f626135641", "09262ab7-05ea-43d3-8965-c9ebabdbd85c", "2df948cb-cc89-432c-842f-2419f7cf5fff", "8caf94c0-835e-48cd-9e7c-fa6bfddc0d5c", "a95f74b8-d2af-496b-b40d-21db0afa2f5d", "c8d61c25-2e15-4fb3-a522-abb11a36d404", "6ded8a71-6cca-4514-bbe0-6a5f028262c9", "1b4585b3-3717-4b1c-bacc-a8240ac91926", "cc8bfc86-777e-4537-b207-9c599e9a1f40", "a347a301-3d4f-4e2a-9fab-4f0229e48db7", "0f43bce7-5cd0-4ff2-8eae-466257d552b6", "f926d185-62b9-4838-9269-d7f4ac776f2a", "eafee432-77a1-4f9c-949e-aea614671b1c", "4cd84861-928c-4fb2-a261-2db2994959a4", "0c01e8ef-5dfc-469d-beb9-5ff051c3b384", "2d042a82-6409-4986-8bfb-af031f5e061e", "6fcb3904-2aee-41e7-a45f-4f498c8e1e82", "fdee7835-5174-4915-b13a-74ec4f33ad95", "09e9fcd9-cdd2-4ef3-956c-5a6b96d715d9", "091d8f3a-27d4-4dd0-8434-5b4d572e48e9", "f8e15a05-f5b1-48e7-8751-6fbeb8acad38", "168d649c-bb35-4401-9373-225f0731b508", "053fcb5e-1f33-493f-88c2-f61df147b4e5", "b50aba6e-2a45-4df2-9d07-8aaa993862ae", "67e74067-407f-4aa9-b8d9-dbac6ea2464f", "af464855-f44f-41ce-9f31-5d579cf00fbd", "a628ce61-dbd9-428e-ad72-106c9aa8af3f", "a89215f1-92fe-4207-9293-62ce108171da", "87a09132-b107-40bf-aca0-1ae6e5dc46cd", "f7805c2d-d9bf-44ed-9ad3-34145286f2d7", "b511dfed-58f4-4c91-bf0a-f8ce9d47aea9", "5d25cc61-f04d-47e3-9f0e-dbbf7707f0a0", "92b2221b-ae92-44f0-bb31-e2d27cb736d6", "c53a1199-5ca1-4aa8-ac4e-38227ff44689", "b26b4d93-0364-4333-8d4d-38ca1a6a4dfa", "b5f8232e-5686-43ba-8e7a-ffeadb232444", "a8f7a36a-28da-4b81-83b1-be21dc4c7f8a", "645a45ce-c993-4f67-b136-fe8c3bad9b6b", "058f9a7e-d7e8-415e-9827-272245422543", "9ebe4ac3-1472-4094-9e73-6014e78e0539", "a56ce926-8c85-4883-9ff5-dd7779d71b64", "01f3ef42-91ea-4561-a26a-aad776212c98", "8ad335cf-c9c5-412f-9347-53867db66ee0", "2fe390a8-1506-4420-9008-74199f92797b", "f5ced826-d8ef-42c6-8e6e-2ba287da99d4", "2ceb8750-40dc-4639-bf49-e19566df83d4", "d8db054f-b5ee-41c3-ba66-cb84ed2d286e", "3d4aa037-1253-4641-af4b-7d49dd8986e3", "ede7b9c1-c501-40b3-bc6d-205ea142366c", "896805f2-f741-40ae-87a0-16e520c12ada", "f2934ab9-bcfd-42fa-a329-7d0fc28818aa", "95db7d4c-8a4a-43cc-ac59-973e76ed4177", "1abe2e26-f6fb-4909-a4b0-824fb2f0676a", "47850a65-9719-4770-92e4-e428953addb3", "047a4e6e-97a9-4202-918c-9460bf89bdbe", "066cccd7-d7ca-4ce3-a80e-90ce9013c1ab", "6264ea0f-2023-4fbf-b898-5f7a13834be1", "b74169ba-77b0-447d-aeff-cb7934ff6711", "7b819974-3c39-440c-bccd-d74fdd3fc9d1", "0733d5bc-b1a8-40c3-98de-9585e23eb2d9", "6f5df748-4371-4fcd-b6c4-f776051b447a", "2ec7440e-5e29-410b-a5f6-40e3a2e45a31", "812bb3bb-217a-454c-995c-d3e995576b81", "7abe1f04-6712-4325-b49d-4bb65bd30eec", "e2b190bb-f8b2-43a7-b2da-b80f3708dcf3", "aa6257e0-001a-422b-9935-2f9c2b5973e6", "6e5211e1-72d8-4032-ba56-b4095c0f2b36", "4c075527-7526-4c00-9681-53258fe70881", "2ca53d8d-0120-4dad-a856-c8f20aaa2cc4", "6ca51642-c089-4989-b5a3-07977ec927d7", "76ec56ea-a516-4988-a516-40d04a5b21de", "6c4e2422-e83b-4ae5-8b9f-7bfdf3f2d3f7", "936e7e6e-aa06-4aca-b877-8d5f3c59ecc1", "8e3034fa-7bf6-4716-bfcf-b22a64c08d23", "47da5a64-aaff-45f4-8ed8-b7ab64b2d851", "d77bb04d-c881-48be-9cc2-d781c69207cd", "caa16834-c43b-44a0-b251-9b465533df5e", "3ca3a186-a650-4f8b-a9d0-f0bdb19bd860", "622995a4-01fb-478e-a33d-7eef6e8b370d", "ac5bc1ee-b7d5-4948-90aa-8f418ca4c0fa", "c785b2ec-1efd-4135-9707-d54386109075", "d300ece0-41a7-4707-a08b-2f48aedeb75f", "dc1600e9-dd79-4700-882a-9f53cdd29d20", "32dfc6fe-c801-4ce5-bb39-8841fca7a075", "c935b13b-462a-4ced-a041-f06592dff0e5", "360be2ce-99dd-424e-a7c6-a5908c7aa2f3", "ae2207b2-9b33-4f6a-aeb5-e2718a253c3b", "57efe7a9-0685-40b8-b076-51e59542c5d9", "1d0f3c10-ed0a-4f60-b0d2-a516690ff1cf", "af96da5b-4005-4aaa-a8d0-e2a97b471090", "13b85191-0a2c-4d0f-a54c-3118f5a96cbb", "c05e7fd5-d5f1-4949-872b-2dce2fe88c48", "71b8a896-84d6-4da6-97ab-78cfee6cd5da", "42e5adb6-6557-4a87-a575-0b84150e573c", "9feb55a1-b244-4323-b4d9-fa1af2893864", "d0df0e37-f7f3-4b38-8b80-36b4a14af68a", "58e5920e-e71c-4184-a0ae-a5f1f6ac3294", "5bd830a8-5752-4aab-bd01-e9fb518864fe", "09417ca4-3572-4ba1-a1db-7eaf3bd0b1c8", "fac6316e-d141-4bbd-b88b-a624491acb30", "9273e1ed-05a9-447a-9de4-dc6ac3580c47", "9e08e1e7-179a-4dac-bd0e-6e98e47407d2", "7a0757f4-8ada-424a-b4fb-81fac89c7259", "6effa4db-4cf2-4de5-8295-59366ede9ca4", "f76f2040-989c-42df-b2fb-e0903165443d", "6fbe4821-85ec-4834-80bb-0a214fa80893", "4411ea13-81b3-4682-99a1-500a3ed3beef", "8711980a-b71f-46d6-86c8-1607a5478dd0", "6bd00296-7ae3-41c9-89fd-52ba9410018f", "2dc49d13-5347-4d4b-8506-5510f2ae0b84", "853cdf8c-e669-40f3-95bf-1ed7cd2bbb75", "cd3aff9e-a017-4841-b61f-06790d271334", "d4a8fe94-6f62-42cb-aaaa-c2f9a056620e", "8eb9612b-7b52-4f0c-a72f-dd7f3c54bf2e", "349a435d-c2ad-4c64-9067-8733e7cd5ec9", "b60db7b1-c623-4f04-8c63-695c24b4648b", "f2653b13-757b-456b-9000-67275edadb5f", "967fcfb9-76a6-4f09-b218-16558dbbc98b", "c7d8eaab-dfb5-45ce-a152-d9f79c60fcca", "e5bfb696-72d8-4005-9a49-442579352db8", "140253fd-9258-483a-9bf1-5426d91a05dd", "27369696-d356-4d1b-8a22-be8bd4442150", "e6d8c6ad-31b2-4684-9762-2af1e6709611", "7785da94-b19b-491c-94dc-89106e095f79", "1c9dae64-e7d0-415b-ae95-99ee78eaae90", "d494760b-e16d-4e5c-880f-b7ad598056a7", "e420250d-b67f-4c46-bc40-31b8c9003d7e", "517207e4-cbae-4e58-81b4-cc8936dcefdf", "627bb538-91da-45fc-80ca-799c4a869858", "21aa9035-e825-436f-8021-fa802dda3602", "2bb5152e-cab4-46dc-9aa6-e73007f7df8b", "35bfade9-8ead-46a4-b2f0-cdcfb86df1d6", "454e2413-2b82-4aa2-b37f-b6422a861179", "f03b7f2c-2ac1-42db-ba61-c0f9c5be9dc3", "2041eb29-6086-4e5e-9881-0f14d9e6a8d8", "d6f0adfc-5c66-4c3e-95b0-902d12d7bb86", "cda93e67-c411-48cd-83f0-d7aafc6e4b3f", "5c3e7989-9b64-42dd-af7c-274ce12619bd"], "test": ["b5d293bf-2d0a-43be-8a7b-4b66ba9b6835", "849aaee0-866d-4b85-9775-39360e27fa90", "aa736cb2-7e37-4715-862a-bfc1edefcb06", "ce536dc7-6296-49d5-86da-49267edb3de8", "1dbad365-237b-45e5-acef-e52931b21c07", "a0f55b7e-5fd7-42cf-8a1b-90afb712a502", "bfea0427-fae0-452d-9824-16e44dd0be5d", "7112613f-9315-4da7-b741-1fb18f07f497", "954769e4-29ff-48a6-a870-38866a9cd7ad", "3c21c496-e352-4b71-a3fb-307e134e9fdd", "8c952699-0c25-453b-92dd-52b0580248db", "7bd4e6e0-93a0-4717-9666-266a2c29638d", "d94171f5-85c1-4dd5-9230-40187d4daab5", "989b038e-d46c-4433-b968-87b58a4c7037", "4764e94b-9132-4e65-996c-bc2bc67e17a2", "071edc40-b64c-4e94-aeed-d523ed4a2794", "aeec58e3-fbc9-467c-acda-6c92b45de1ab", "4fbac7f7-f8f0-40c6-9f73-7279fcc077b1", "d2218738-2af2-4585-bd1c-af8ad10d7827", "245c5620-481a-477c-be6d-07e02073eb4b", "2a8f7d15-4821-422b-a34d-e7ff2937f2e2", "4767e91a-8687-4992-8d6e-f0ddf0043300", "c43d0f58-9349-4d92-b358-d1a11070b1d1", "3be02e64-5a3b-4022-9643-69c0eaf34ac0", "1410e2ce-a62c-4a2c-8453-6eb172a58965", "acc8a39f-06f5-4792-8387-984ea6ae859c", "c507b073-7bf9-40db-8537-de599b6f6565", "6d1847fe-d2d2-4a11-80fb-1cf5ff6d965a", "6b2b8702-0f2a-4dac-bc2f-bfb981b69e28", "18b18195-afdb-429e-8250-42d25e882ba9", "47e06650-7973-4dd9-a509-a7425fecac19", "691b6dff-620e-4aab-8302-3a9045be33da", "33b0f445-e852-4533-87a2-daa650113a80", "4fd05061-02cd-4bf6-9191-02ff8303ca40", "2cba50be-6d39-4f53-b9cc-cb520a588443", "04f20e56-c4da-4775-93de-71a8ffd9ab48", "46cc2fa4-bfb1-4a4a-beba-e157254be154", "eaa2ec3e-8c2b-47f5-8b63-8d64c6672d0b", "3b213b67-8a20-4447-9c25-9fdbd3a4aed5", "3dda64b1-9a7c-47dc-8f64-c29b608addbe", "87b2f72d-e899-4700-9b91-61ebe228e2cf", "7ba244fc-6b1f-4c4a-abea-bef004a9ea95", "d2addf5b-75c2-41ef-a68e-738229940a0c", "e2e24a61-148a-46b4-b9a2-d164359e3554", "9cbede95-3edd-40eb-b9ea-483f85aaee5b", "b5de2666-ed5f-48ef-a278-78016630a53e", "678bfebf-6819-4659-8c0f-1bc71438863c", "806b80b5-7963-482a-a5b5-82b95bfdd8b3", "6e427eaa-66a3-4eb2-8e2a-9f4ec4f012bf", "ac5041d2-af23-4b3c-9150-247142ade9fe", "f36be1f1-491e-4d78-9ce6-d00c4590868b", "632755de-f080-4057-8626-6c402a6129c9", "506a2aab-775c-435c-8006-918d8fdd997a", "7d83d5fb-1039-444c-83fb-bcc2f4a7dcf2", "efa3ae42-f12a-45d6-8c02-93c9b77e9809", "abfb0e8e-4351-4086-b7ca-f84785d768d0", "ea6a008f-c171-43e0-97fa-647658352f77", "8192f44c-6159-473e-9885-704e7975830c", "215844c3-63d3-4c8c-86f7-aeff2cf79764", "42b14a01-28c8-42a5-8981-b8a026f8dc18", "d2d758c8-ca3c-48f3-bebd-cef5e2a6d5b7", "c083db28-d790-4602-915d-d7e5df588ef6", "d04754aa-9310-43b2-9a10-07019d498abe", "decfd1c6-c12d-4b22-adcf-afe640485ec5", "667851b8-c0b6-4073-94ae-07efe816234c", "0aebd388-55a4-4425-a9ee-f09b64d94a00", "7dafc952-ef17-4105-a2b4-e2da46b9d0a4", "69cd4cbf-f1f1-4b92-ae7d-85d85e144554", "bf0a2ea8-b7be-4e55-aab9-4c9e222a4568", "aa6c180d-b00f-4f23-b800-8c93eade3eec", "80523ee9-f498-4102-85fa-362ae8150d70", "1c7e5c46-d4cf-4ba5-9b4c-03379881c2a1", "0f6bce99-6334-4f0a-b466-59808c1661ba", "78727816-4b9b-4616-97ea-46cfe0ecbe7a", "7c1e3829-4687-4f8e-b254-1a186fe05ecb", "ea7225fd-0a63-4f21-aae6-7651e4d7d538", "ad8ef724-84cd-403a-934d-9690f7cb96b8", "6245b4c7-b1e5-4118-ab4f-ee0bbd613592", "961e4bc4-8a41-4f0c-ba12-bc198b9b15f2", "c68f8dd1-3fea-49e6-934b-7ed7a6b12aeb", "0a3868ef-fdba-4aba-bc02-5028d1ed26f4", "916d656b-c2a0-4147-bd73-bc4050285591", "96baac26-c261-4836-81c7-fae46778f91a", "5e71014b-9709-4bc0-b0e7-3402be4a1f5a", "0df55687-74be-4dbf-aebe-fe0951b17ecf", "14216890-51bb-4300-8893-bf29a39b69b9", "20161581-ec53-4508-a21c-328ed66b78f9", "563d1c9a-a639-4027-939c-7bc6b792b6b2", "90c0f824-6970-46fe-bb24-053fed422366", "231d228c-352f-45d7-a395-3af1f69899a4", "cfac1e14-8ed8-4143-b69c-e1399ee06914", "c24336fd-f974-42c6-82c8-e20e5054ab8f", "0bacb5bb-591d-4756-a2cf-ed90793e65bb", "d8452234-3ca0-483d-9077-9c1ec8a59668", "83b0fc4f-9a36-4dd7-9495-a68c9f82defe", "8e3c3065-f05d-4ce2-af8e-f6bbd58d4383", "86d8d4ac-a4b1-4574-8979-0457af8c34a6", "8b1d8ba4-1ce1-41f3-ab9f-483567e05cd8", "70f729ca-b1a2-428f-875c-edbbd988a4b5", "0b82763e-b9ee-40e5-8dd5-b8da7e862662", "f06d7f9b-0da8-4406-b3d3-06cd70de0e0f", "fc9da694-2604-4bd7-a1ac-215ace732e85", "e287f510-8de4-40d7-b127-4f793e3d46ac", "97e4e710-7348-4e79-b80b-244a6b64ebdd", "7b839fc9-8b7c-47f1-b55e-2247dfd8eb41", "cec24cad-0c95-49a2-bdd3-5635e4b88149", "3b86adc3-0a22-4d29-82a9-e02c90471f82", "56acc1be-a6cc-479c-9ba1-ee49fcf71f8b", "069048a8-3eff-4841-9f81-a3422edea6e3", "02def476-33eb-4895-a448-a4398d44e16b", "661003f4-0223-4cb5-bb3f-d92ca5d8354d", "4168725e-870e-4e1c-be99-1e1a6193d094", "8cd9020c-eaba-402f-87b5-f7c5422a49b4", "f3287a55-a424-4011-a38e-c73700829576", "c792ef5b-1479-4336-b57c-6d4ee1e4d336", "2def272d-f803-4feb-95a9-63409b333fd2", "4cd8094f-4300-469d-9523-3ee0f43d1259", "66824dc1-5e9d-4997-a2d6-482d3c920b5e", "2227ff92-8645-479e-a099-bd8025080e62", "7c187ae5-b793-42c2-abca-54e1d0822a32", "73736c6c-2654-4ef8-939d-9c4a23eed5d7", "22568049-4087-4ca2-8857-a834a9fc7f28", "b0589218-e06e-4767-9bb4-1ef59f935bdc", "45450839-a979-4c26-8b35-9111bafa5731", "0d172781-f22a-476f-b0c6-6f0ae6b928c9", "8f379213-9adf-40d8-9482-3eed6b03b83b", "9de15300-fbcb-4838-be91-6b646be2646e", "10c9cece-4f33-4fa9-8c1a-5974d16c1c0a", "6afade94-d8e7-4b29-be3e-9373d0d2d634", "3745bd24-ceb7-4760-98ea-68b54de2141c", "66f0c633-292e-44b2-ad78-7ec57a8507e6", "f0ebc587-3687-494d-a707-2a5d52b64719", "36dcdc61-378f-4087-a43f-659e58eb6440", "5b982afa-3c1b-49e1-9508-77d0f396c3f6", "77f71fa8-7ddc-430a-8f66-4af710903388", "cada8157-091c-491d-96b8-9da4dbf1c973", "b1b83ddb-38ca-48d2-9142-dbc8240c2067", "92c76cdf-8b91-4a05-806d-121429534d8f", "4403cf98-cd76-4233-b92f-585665ccbe7e", "00cad7aa-fd92-486d-b309-59d03fa51dfa", "1f541cce-f10b-4cd3-814f-8e2d527df8f5", "464c4a51-a74f-4ff4-9ece-8d38b9c22bfc", "a20923c1-a2d6-40ce-b7ce-f23ce249f460", "42efe6bf-aeff-4777-a189-d2872be008b5", "01ad22c9-6626-46cf-b5e2-a316faacfb99", "6f0b44c4-0067-4677-a775-53181d9b0457", "40dc3bbc-c8c4-4e6d-a2a5-32a357f3c291", "b2fea2b1-2404-4cf2-9be3-79879011cba6", "e71c943b-75c0-4055-92fc-115d1c8f6d8a", "073bdef7-e4cb-49ea-b006-b3d6f53f34b3", "fe0f7a34-97d0-4817-b608-210d2aa0bce9", "d67e303e-9309-473f-8857-1cc3ad78983b", "cef7bc84-112c-4133-9fa5-2a046c2b903a", "2f820d40-743f-49a8-b289-55276960970e", "fa08ac41-74ca-42d3-80e6-6728cc3c1854", "ee1020b8-2dca-4ea2-92de-5f6a56ea332f", "97ecbdcf-f044-4d75-9b46-b7ba0f35ef19", "262871b5-eee7-4e65-9532-9a219b5aa52b", "32805896-b265-4445-8992-ab30e98415f8", "5ccd281c-9ede-49d8-9f61-f8f228565472", "4773786c-6320-4a24-81e9-d735dbf9476b", "a3b39b50-809e-45bd-87d9-de565461645b", "91d27f06-a756-45d4-9547-673a9ef0a05f", "79fb81e5-7025-46c7-9e0c-e9d97658929b", "afe5310d-200e-4444-ad2d-9fb34fee5230", "cdd0ce74-4698-4394-aaf2-00e159577d3f", "59cb65bb-7d1e-4bd9-9468-a76658b4b50f", "e83b0f8c-e9e5-4b38-ad3a-3906a3bb296a", "92cd0d7e-2465-46fa-be63-30cfadc347e3", "cfff9bb7-a95c-446f-84f6-27fa997b4ce2", "3bc38ebc-8109-4b4d-b43c-aad3bd0dfed2", "ac651c92-0938-4258-8c22-a8d1e881af61", "6a1dac0d-5945-4a81-9259-ce49de3ecf79", "00a6dd13-d5b0-4743-b252-ed61e61f1d49", "cb55bedd-c5ff-4bbb-83a9-b8287d3bb77c", "45f15f81-ec4e-4db4-b42d-4121a564d485", "de5ca2af-8e72-4fa4-92d2-65295781654e", "0d26fb16-d4ba-4c47-9c32-5f8f052e7396", "77814f97-e0c5-40dc-91ff-3e0fc5003d0d", "e8a5f8a4-d01c-4599-bc3b-980157bf14ed", "b9643892-d3dc-4dba-a18f-b9f8e44cbcb4", "934c8086-19a8-4aac-aae9-c02a912cbf9e", "c70e2763-0e1b-4c8b-b056-ecbe28831b22", "ad9c8e7b-a290-4c64-8c41-972dfc201055", "f3a8d0f5-ac34-4732-858a-39162f491f4b", "8bb82e72-b893-467a-8844-f3a1010548ef", "3cbf69e4-1c29-4515-9a03-67c3526e91e1", "2bb3f8db-a6b0-49b8-8c0f-686774acf00a", "4df80aae-3500-463b-884d-63d034e6414f", "dde3ddc3-403e-4935-a7f7-eca575e05b99", "1bf59cee-8985-4d84-a34f-e7c35e492900", "9a533209-1d5e-4382-a2f8-c109605845e3", "ef2cad65-06b2-4b1a-8956-c387721d2051", "0a22a1c1-844c-4f62-8eeb-f16eee62357f", "77b1cae6-7e57-47f9-83ae-c68243792d36", "a4b3be28-cc60-43f9-8158-0e098eb5aa82", "9706857d-4232-4f55-9873-871da2906f3a", "eb151659-2bf2-4682-899b-73f2ba10d179", "8162166b-41c8-4b1a-baf2-14df7feddd83", "ec6885cb-287c-421e-b16d-e63a59c21d80", "0e31e520-9d8f-4373-bd95-058d316902ad", "04d87074-8116-4f09-b6e5-10670c9e772d", "a759a24a-3447-4554-99df-9dc1b647eb8d", "3054ec91-4ea2-4612-8b0e-8f3ba0c6b981", "fea8a839-1976-4457-b8c7-c722e63faea9", "98895ed3-7fc5-4dc0-ae9b-d808971e9334", "e469c7e2-bcbd-4cf6-97d7-3f3562e5c1a9", "3c3266b2-ecb8-4d81-8693-bc2caa4b1409", "f7d5c603-29d6-4800-a4fa-768819f52a84", "74593ce4-28eb-42e6-8ee0-02f16e704788", "3940a14c-f0ae-4636-8f03-52daa071f084", "71d1fd0e-6665-4b45-8b2a-3460d36e368a", "ab1786c9-b44c-40e2-8d59-5f7ddf06dceb", "b7501cba-7399-4e36-9ee4-38308487395f", "9357c6f2-9c17-4259-a4bd-7a715e7331e4", "3ce1d69f-2a22-434d-8902-86ff4acb155b", "45cb84f9-a925-43f8-aa7e-0fba6e23a86e", "0822b710-baa5-4b66-b0da-96b72c15f846", "196a6da7-56bc-443c-ad04-d80a0bbf31fa", "95fa7feb-562e-4085-bc83-4dd14bd9862b", "6b93427f-465c-436b-a841-78424da94581", "333e7b03-d350-4bea-b980-f1bd217bd164", "561e7156-f761-4509-a714-e8b2b8e754a4", "6d766fcc-76f7-4942-bb40-1aa9c8b2020b", "4c1ce02e-53fd-4b0d-b895-14f5e2fbc78f", "f807401e-bd24-4d51-a0e3-40d20fd5e670", "e3cb859e-73ca-4cef-8c08-296bafdb43cd", "ba599750-543d-4b8f-bf65-da170082a25e", "2f5e3fbf-bd7a-4b11-b75d-ef62aa2f622d", "72df40a1-9bf5-4e49-86f5-5db56639de05", "2f6dc326-3689-4190-a8f8-674a5e6d688b", "d744484b-0012-4882-8532-14adc4fc0907", "6f408dd3-343d-49cc-846b-103660ab5275", "41424c96-9d0a-43b0-895c-7383261e6337", "c2ebdf8c-3990-4d02-9760-41dc1f131419", "ce433b23-9913-4265-a1ed-7a0c24e54384", "3512c265-1506-47ad-8ade-aa8891f65ced", "a7ea76ee-1479-4b88-91db-35124d52a989", "ecf4c73a-1b9d-492a-b18a-6a3276e163b1", "f8b4b1a2-c85f-4595-8680-67ecf53d3dc4", "2eff9418-fd22-4cec-854a-ccc1ba2681bc", "abc64c60-1cc8-49c1-8489-79592aafdf8a", "f3566beb-664b-4df0-8a83-140ae9c2952e", "c9f4c6e1-4fd2-453e-acb8-590e7ba5c8ee", "280ab94b-ebd0-4245-85a1-4cacd670588f", "23c5bf8a-7781-42d4-b6d8-2ab6025157c7", "96bee032-4903-4d47-ade4-6535f0590fe2", "f4a17391-0f26-448d-831a-7f69e22d3414", "32bd2d54-16a9-4b34-aff8-daefce73b626", "d990a808-367c-415f-8e3a-8eac6c950e72", "7f534830-cde5-45ff-87fc-d2072a584cae", "fd1b1d67-ac78-43a5-9924-b12157d72cb6", "8ef56f71-6d85-4ff4-949e-2c386d99a38e", "6ede3c7d-44fd-4bc9-85fb-7ccb75d7d731", "fcb6b025-6e41-4e97-b4b5-d5fdf0ebd3cb", "150e45fa-eb77-4a8b-bd60-d4801dff8c9f", "30a2a49c-ea8a-4199-a9e2-7b21515d3483", "9e3cebb7-8a16-471a-9b32-d9b4e294896e", "1c761444-ece6-46c0-8b95-427f2aa8f405", "b9e252ee-51c4-480d-8dc0-6a0a6022fa0f", "7be57a0b-9f5a-4682-a18b-1998d938451e", "570b3b00-ff83-4eff-9313-9c0ef967d9b6", "1c4c0679-9b40-4624-8e8d-b688a3a69929", "d39e0bcf-5f2c-4468-abe6-ae18b3c407cb", "09950cc3-4936-4385-8fff-48e5c042595b", "d85733f6-51c4-4046-b51c-73894f5aa621", "2f86293e-823d-4e2d-8c54-2f888e2639ed", "19c3829d-7af3-4cb6-878c-7d29d565edef", "9c50296b-217b-4e84-aaae-9015daee59a9", "247cde12-df65-4d59-ac01-449680e83871", "bd322fcd-9b14-4ce8-999d-d4ef896c8363", "d1586c7d-29ba-4060-a828-02c162ba812d", "61b218b2-52fb-465f-855f-41e5164d7998", "901cebcb-d84b-43ed-a80f-719e62561b82", "73d9fbc1-b6b3-4b3e-89db-3a4de56b924c", "23c5085a-8ead-4f74-be3b-9287e4019e98", "8bb95fbe-efa4-416b-9558-a0301b846f25", "0099226c-9bec-44aa-ba43-2b90eb7b8379", "b1ff7a1d-74e0-4bbb-a047-2f70eb1bc568", "c47b2e19-8a8f-4594-9144-8b7be780ab74", "a2527385-d99e-4cc8-a407-250da018a3c9", "edad0957-8423-4647-bdd2-c6f4c1d15f38", "602a2ac1-280b-46b6-bf3c-1191cb2fc224", "534f433c-14c2-4eb7-851a-a23a8b2ee340", "136cd3d8-5eff-44a2-b761-dcd0c190c71b", "5e3c697c-9aef-4686-9055-b34185b21a75", "f4e73920-1679-43d6-a307-4b6672811e46", "673f2b3e-413a-4450-aca8-ffbfb56db7be", "83decc40-f9da-469a-9ce2-1d173b06e5b3", "e14c702f-a451-46e6-ab31-c1213ec2f1be", "75cc6a20-2451-4922-844b-3e376e095657", "a50d179d-4dc4-4cf4-afb3-0c43cf86d44c", "ef2d0ea2-a3aa-45ef-83e3-6d8b0d863dc5", "af223382-86df-43f7-989b-331fe0436810", "1876d795-0c6f-4e0e-8165-e7a0c8a6e77f"]}
|
correspondence/SegSwap/data/video2img.py
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import cv2
|
| 2 |
+
import os
|
| 3 |
+
|
| 4 |
+
def save_video_frames(video_path, output_dir, prefix="frame", start_frame=0, step=1):
|
| 5 |
+
"""
|
| 6 |
+
将MP4视频逐帧提取并保存为图片。
|
| 7 |
+
|
| 8 |
+
Args:
|
| 9 |
+
video_path (str): 输入视频的路径(MP4格式)。
|
| 10 |
+
output_dir (str): 输出图片文件夹路径。
|
| 11 |
+
prefix (str): 保存图片的文件名前缀。
|
| 12 |
+
start_frame (int): 从第几帧开始提取。
|
| 13 |
+
step (int): 提取帧的间隔(默认为1,即每帧保存)。
|
| 14 |
+
"""
|
| 15 |
+
# 检查视频文件是否存在
|
| 16 |
+
if not os.path.isfile(video_path):
|
| 17 |
+
print(f"视频文件 {video_path} 不存在!")
|
| 18 |
+
return
|
| 19 |
+
|
| 20 |
+
# 创建输出目录
|
| 21 |
+
os.makedirs(output_dir, exist_ok=True)
|
| 22 |
+
|
| 23 |
+
# 打开视频文件
|
| 24 |
+
video_capture = cv2.VideoCapture(video_path)
|
| 25 |
+
|
| 26 |
+
# 获取视频的总帧数
|
| 27 |
+
total_frames = int(video_capture.get(cv2.CAP_PROP_FRAME_COUNT))
|
| 28 |
+
print(f"视频总帧数: {total_frames}")
|
| 29 |
+
|
| 30 |
+
# 从指定的起始帧开始读取
|
| 31 |
+
frame_idx = 0
|
| 32 |
+
saved_frame_count = 0
|
| 33 |
+
|
| 34 |
+
while True:
|
| 35 |
+
success, frame = video_capture.read()
|
| 36 |
+
if not success: # 读取失败或到达视频末尾
|
| 37 |
+
break
|
| 38 |
+
|
| 39 |
+
if frame_idx >= start_frame and (frame_idx - start_frame) % step == 0:
|
| 40 |
+
output_filename = os.path.join(output_dir, f"{prefix}_{frame_idx:06d}.jpg")
|
| 41 |
+
cv2.imwrite(output_filename, frame)
|
| 42 |
+
saved_frame_count += 1
|
| 43 |
+
print(f"保存帧 {frame_idx} 到 {output_filename}")
|
| 44 |
+
|
| 45 |
+
frame_idx += 1
|
| 46 |
+
|
| 47 |
+
video_capture.release()
|
| 48 |
+
print(f"完成!共保存 {saved_frame_count} 帧到 {output_dir}")
|
| 49 |
+
|
| 50 |
+
|
| 51 |
+
# 使用示例
|
| 52 |
+
video_path = "/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/SegSwap/data/input2.mp4" # 替换为您的MP4视频路径
|
| 53 |
+
output_dir = "/data/work-gcp-europe-west4-a/yuqian_fu/Ego/multi_view_data_2" # 替换为您希望保存图片的文件夹
|
| 54 |
+
save_video_frames(video_path, output_dir, prefix="video_frame", start_frame=0, step=30)
|
correspondence/SegSwap/data/video_extract.sh
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/bin/bash
|
| 2 |
+
|
| 3 |
+
# 定义路径变量,方便修改
|
| 4 |
+
TAKE_PATH="/work/yuqian_fu/Ego/egoexo4d_keystep/takes"
|
| 5 |
+
ANNOTATION_PATH="/work/yuqian_fu/Ego/egoexo4d_relations/annotations/relations_val.json"
|
| 6 |
+
SPLIT_PATH="/work/yuqian_fu/Ego/data_segswap/split.json"
|
| 7 |
+
SPLIT="val"
|
| 8 |
+
OUTPUT_PATH="/work/yuqian_fu/Ego/camera_ready_iccv_0923"
|
| 9 |
+
|
| 10 |
+
# 顺序执行三条命令,前一个成功才执行下一个
|
| 11 |
+
python process_data.py --takepath $TAKE_PATH --annotationpath $ANNOTATION_PATH --split_path $SPLIT_PATH --split $SPLIT --outputpath $OUTPUT_PATH && \
|
| 12 |
+
python process_data2.py --takepath $TAKE_PATH --annotationpath $ANNOTATION_PATH --split_path $SPLIT_PATH --split $SPLIT --outputpath $OUTPUT_PATH && \
|
| 13 |
+
python only_extract_frames.py --takepath $TAKE_PATH --annotationpath $ANNOTATION_PATH --split_path $SPLIT_PATH --split $SPLIT --outputpath $OUTPUT_PATH
|
| 14 |
+
|
| 15 |
+
echo "All commands executed successfully."
|
| 16 |
+
|
correspondence/SegSwap/environment.yml
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
name: segswap
|
| 2 |
+
channels:
|
| 3 |
+
- conda-forge
|
| 4 |
+
- defaults
|
| 5 |
+
dependencies:
|
| 6 |
+
- _libgcc_mutex=0.1
|
| 7 |
+
- _openmp_mutex=5.1
|
| 8 |
+
- asttokens=2.2.1
|
| 9 |
+
- backcall=0.2.0
|
| 10 |
+
- backports=1.0
|
| 11 |
+
- backports.functools_lru_cache=1.6.5
|
| 12 |
+
- bzip2=1.0.8
|
| 13 |
+
- ca-certificates=2023.5.7
|
| 14 |
+
- decorator=5.1.1
|
| 15 |
+
- entrypoints=0.4
|
| 16 |
+
- executing=1.2.0
|
| 17 |
+
- ipykernel=6.15.0
|
| 18 |
+
- ipython=8.14.0
|
| 19 |
+
- jedi=0.18.2
|
| 20 |
+
- jupyter_client=7.3.4
|
| 21 |
+
- jupyter_core=5.3.1
|
| 22 |
+
- ld_impl_linux-64=2.38
|
| 23 |
+
- libffi=3.4.4
|
| 24 |
+
- libgcc-ng=11.2.0
|
| 25 |
+
- libgomp=11.2.0
|
| 26 |
+
- libsodium=1.0.18
|
| 27 |
+
- libstdcxx-ng=11.2.0
|
| 28 |
+
- libuuid=1.41.5
|
| 29 |
+
- matplotlib-inline=0.1.6
|
| 30 |
+
- ncurses=6.4
|
| 31 |
+
- nest-asyncio=1.5.6
|
| 32 |
+
- openssl=3.0.9
|
| 33 |
+
- packaging=23.1
|
| 34 |
+
- parso=0.8.3
|
| 35 |
+
- pexpect=4.8.0
|
| 36 |
+
- pickleshare=0.7.5
|
| 37 |
+
- platformdirs=3.8.0
|
| 38 |
+
- prompt-toolkit=3.0.38
|
| 39 |
+
- prompt_toolkit=3.0.38
|
| 40 |
+
- ptyprocess=0.7.0
|
| 41 |
+
- pure_eval=0.2.2
|
| 42 |
+
- pygments=2.15.1
|
| 43 |
+
- python=3.10.11
|
| 44 |
+
- python-dateutil=2.8.2
|
| 45 |
+
- python_abi=3.10
|
| 46 |
+
- readline=8.2
|
| 47 |
+
- six=1.16.0
|
| 48 |
+
- sqlite=3.41.2
|
| 49 |
+
- stack_data=0.6.2
|
| 50 |
+
- tk=8.6.12
|
| 51 |
+
- traitlets=5.9.0
|
| 52 |
+
- typing-extensions=4.6.3
|
| 53 |
+
- typing_extensions=4.6.3
|
| 54 |
+
- wcwidth=0.2.6
|
| 55 |
+
- xz=5.4.2
|
| 56 |
+
- zeromq=4.3.4
|
| 57 |
+
- zlib=1.2.13
|
| 58 |
+
- pip:
|
| 59 |
+
- absl-py==1.4.0
|
| 60 |
+
- appdirs==1.4.4
|
| 61 |
+
- cachetools==5.3.1
|
| 62 |
+
- certifi==2023.5.7
|
| 63 |
+
- charset-normalizer==3.1.0
|
| 64 |
+
- click==8.1.4
|
| 65 |
+
- cmake==3.26.4
|
| 66 |
+
- contourpy==1.1.0
|
| 67 |
+
- cycler==0.11.0
|
| 68 |
+
- debugpy==1.5.1
|
| 69 |
+
- decord==0.6.0
|
| 70 |
+
- docker-pycreds==0.4.0
|
| 71 |
+
- filelock==3.12.2
|
| 72 |
+
- fonttools==4.40.0
|
| 73 |
+
- gitdb==4.0.10
|
| 74 |
+
- gitpython==3.1.31
|
| 75 |
+
- google-auth==2.22.0
|
| 76 |
+
- google-auth-oauthlib==1.0.0
|
| 77 |
+
- grpcio==1.56.2
|
| 78 |
+
- idna==3.4
|
| 79 |
+
- imageio==2.31.5
|
| 80 |
+
- jinja2==3.1.2
|
| 81 |
+
- joblib==1.2.0
|
| 82 |
+
- jupyter-core==5.3.1
|
| 83 |
+
- kiwisolver==1.4.4
|
| 84 |
+
- kornia==0.6.12
|
| 85 |
+
- lazy-loader==0.3
|
| 86 |
+
- lit==16.0.6
|
| 87 |
+
- markdown==3.4.3
|
| 88 |
+
- markupsafe==2.1.3
|
| 89 |
+
- matplotlib==3.7.1
|
| 90 |
+
- mpmath==1.3.0
|
| 91 |
+
- natsort==8.4.0
|
| 92 |
+
- networkx==3.1
|
| 93 |
+
- numpy==1.25.0
|
| 94 |
+
- nvidia-cublas-cu11==11.10.3.66
|
| 95 |
+
- nvidia-cuda-cupti-cu11==11.7.101
|
| 96 |
+
- nvidia-cuda-nvrtc-cu11==11.7.99
|
| 97 |
+
- nvidia-cuda-runtime-cu11==11.7.99
|
| 98 |
+
- nvidia-cudnn-cu11==8.5.0.96
|
| 99 |
+
- nvidia-cufft-cu11==10.9.0.58
|
| 100 |
+
- nvidia-curand-cu11==10.2.10.91
|
| 101 |
+
- nvidia-cusolver-cu11==11.4.0.1
|
| 102 |
+
- nvidia-cusparse-cu11==11.7.4.91
|
| 103 |
+
- nvidia-nccl-cu11==2.14.3
|
| 104 |
+
- nvidia-nvtx-cu11==11.7.91
|
| 105 |
+
- oauthlib==3.2.2
|
| 106 |
+
- opencv-python==4.7.0.72
|
| 107 |
+
- pandas==2.0.3
|
| 108 |
+
- pathtools==0.1.2
|
| 109 |
+
- pillow==9.5.0
|
| 110 |
+
- pip==23.1.2
|
| 111 |
+
- protobuf==4.23.4
|
| 112 |
+
- psutil==5.9.0
|
| 113 |
+
- pyasn1==0.5.0
|
| 114 |
+
- pyasn1-modules==0.3.0
|
| 115 |
+
- pycocotools==2.0.6
|
| 116 |
+
- pyparsing==3.1.0
|
| 117 |
+
- pytz==2023.3
|
| 118 |
+
- pyyaml==6.0
|
| 119 |
+
- pyzmq==25.1.0
|
| 120 |
+
- requests==2.31.0
|
| 121 |
+
- requests-oauthlib==1.3.1
|
| 122 |
+
- rsa==4.9
|
| 123 |
+
- scikit-image==0.22.0
|
| 124 |
+
- scikit-learn==1.2.2
|
| 125 |
+
- scipy==1.11.0
|
| 126 |
+
- sentry-sdk==1.27.1
|
| 127 |
+
- setproctitle==1.3.2
|
| 128 |
+
- setuptools==67.8.0
|
| 129 |
+
- smmap==5.0.0
|
| 130 |
+
- sympy==1.12
|
| 131 |
+
- tensorboard==2.13.0
|
| 132 |
+
- tensorboard-data-server==0.7.1
|
| 133 |
+
- tensorboardx==2.6.1
|
| 134 |
+
- threadpoolctl==3.1.0
|
| 135 |
+
- tifffile==2023.9.26
|
| 136 |
+
- torch==2.0.1
|
| 137 |
+
- torchvision==0.15.2
|
| 138 |
+
- tornado==6.1
|
| 139 |
+
- tqdm==4.65.0
|
| 140 |
+
- triton==2.0.0
|
| 141 |
+
- tzdata==2023.3
|
| 142 |
+
- urllib3==1.26.16
|
| 143 |
+
- wandb==0.15.5
|
| 144 |
+
- werkzeug==2.3.6
|
| 145 |
+
- wheel==0.38.4
|
correspondence/SegSwap/eval_handal.py
ADDED
|
@@ -0,0 +1,252 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# coding=utf-8
|
| 2 |
+
import os
|
| 3 |
+
import sys
|
| 4 |
+
sys.path.append('/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/SegSwap/model')
|
| 5 |
+
import numpy as np
|
| 6 |
+
from PIL import Image
|
| 7 |
+
import cv2
|
| 8 |
+
import json
|
| 9 |
+
import random
|
| 10 |
+
import torch
|
| 11 |
+
import torch.nn.functional as F
|
| 12 |
+
import torchvision.models as models
|
| 13 |
+
import torchvision.transforms as transforms
|
| 14 |
+
|
| 15 |
+
import transformer # model
|
| 16 |
+
|
| 17 |
+
import tqdm
|
| 18 |
+
|
| 19 |
+
from pycocotools import mask as mask_utils
|
| 20 |
+
from torch.cuda.amp import autocast
|
| 21 |
+
|
| 22 |
+
|
| 23 |
+
MASKThresh = 0.5
|
| 24 |
+
root_path = "/data/work-gcp-europe-west4-a/yuqian_fu/datasets/HANDAL"
|
| 25 |
+
json_path = "/data/work-gcp-europe-west4-a/yuqian_fu/datasets/HANDAL/handal_test_all.json"
|
| 26 |
+
with open(json_path, "r") as fp:
|
| 27 |
+
datas = json.load(fp)
|
| 28 |
+
|
| 29 |
+
|
| 30 |
+
def reshape_img_war(img, size=(480, 480)):
|
| 31 |
+
C = 1
|
| 32 |
+
if len(img.shape) == 2:
|
| 33 |
+
H, W = img.shape
|
| 34 |
+
img = img[..., None]
|
| 35 |
+
else:
|
| 36 |
+
H, W, C = img.shape
|
| 37 |
+
|
| 38 |
+
temp = np.zeros((max(H, W), max(H, W), C), dtype=np.uint8)
|
| 39 |
+
|
| 40 |
+
if H > W:
|
| 41 |
+
L = (H - W) // 2
|
| 42 |
+
temp[:, L:-L] = img
|
| 43 |
+
elif W > H:
|
| 44 |
+
L = (W - H) // 2
|
| 45 |
+
temp[L:-L] = img
|
| 46 |
+
else:
|
| 47 |
+
temp = img
|
| 48 |
+
|
| 49 |
+
temp = cv2.resize(temp, size, interpolation=cv2.INTER_NEAREST)
|
| 50 |
+
|
| 51 |
+
return temp
|
| 52 |
+
|
| 53 |
+
def get_model(model_path):
|
| 54 |
+
## set gpu
|
| 55 |
+
device = torch.device('cuda')
|
| 56 |
+
|
| 57 |
+
backbone = models.resnet50(pretrained=False)
|
| 58 |
+
resnet_feature_layers = ['conv1','bn1','relu','maxpool','layer1','layer2','layer3']
|
| 59 |
+
resnet_module_list = [getattr(backbone,l) for l in resnet_feature_layers]
|
| 60 |
+
last_layer_idx = resnet_feature_layers.index('layer3')
|
| 61 |
+
backbone = torch.nn.Sequential(*resnet_module_list[:last_layer_idx+1])
|
| 62 |
+
|
| 63 |
+
## load pre-trained weight
|
| 64 |
+
pos_weight = 0.1
|
| 65 |
+
feat_weight = 1
|
| 66 |
+
dropout = 0.1
|
| 67 |
+
activation = 'relu'
|
| 68 |
+
mode = 'small'
|
| 69 |
+
layer_type = ['I', 'C', 'I', 'C', 'I', 'N']
|
| 70 |
+
drop_feat = 0.1
|
| 71 |
+
feat_dim=1024
|
| 72 |
+
|
| 73 |
+
## model
|
| 74 |
+
netEncoder = transformer.TransEncoder(feat_dim,
|
| 75 |
+
pos_weight = pos_weight,
|
| 76 |
+
feat_weight = feat_weight,
|
| 77 |
+
dropout = dropout,
|
| 78 |
+
activation = activation,
|
| 79 |
+
mode = mode,
|
| 80 |
+
layer_type = layer_type,
|
| 81 |
+
drop_feat = drop_feat)
|
| 82 |
+
|
| 83 |
+
netEncoder.to(device)
|
| 84 |
+
|
| 85 |
+
print ('Loading net weight from {}'.format(model_path))
|
| 86 |
+
param = torch.load(model_path)
|
| 87 |
+
backbone.load_state_dict(param['backbone'])
|
| 88 |
+
netEncoder.load_state_dict(param['encoder'])
|
| 89 |
+
backbone.eval()
|
| 90 |
+
netEncoder.eval()
|
| 91 |
+
backbone.to(device)
|
| 92 |
+
netEncoder.to(device)
|
| 93 |
+
|
| 94 |
+
return backbone, netEncoder
|
| 95 |
+
|
| 96 |
+
def get_tensors(I1np, I2np, M1np):
|
| 97 |
+
|
| 98 |
+
# masking Image1
|
| 99 |
+
I1np = I1np
|
| 100 |
+
|
| 101 |
+
I1 = I1np
|
| 102 |
+
I2 = I2np
|
| 103 |
+
|
| 104 |
+
norm_mean, norm_std = (0.485, 0.456, 0.406), (0.229, 0.224, 0.225)
|
| 105 |
+
transformINet = transforms.Compose([transforms.ToTensor(),
|
| 106 |
+
transforms.Normalize(norm_mean, norm_std)])
|
| 107 |
+
tensor1 = I1
|
| 108 |
+
tensor2 = I2
|
| 109 |
+
tensor3 = M1np
|
| 110 |
+
|
| 111 |
+
|
| 112 |
+
tensor1 = transformINet(tensor1).unsqueeze(0).cuda()
|
| 113 |
+
tensor2 = transformINet(tensor2).unsqueeze(0).cuda()
|
| 114 |
+
tensor3 = torch.from_numpy(tensor3).unsqueeze(0).type(torch.FloatTensor).cuda()
|
| 115 |
+
|
| 116 |
+
return I1, I2, tensor1, tensor2, tensor3
|
| 117 |
+
|
| 118 |
+
def forward_pass(backbone, netEncoder, tensor1, tensor2, tensor3):
|
| 119 |
+
with torch.no_grad():
|
| 120 |
+
with autocast():
|
| 121 |
+
feat1 = backbone( tensor1 ) ## feature
|
| 122 |
+
feat1 = F.normalize(feat1, dim=1) ## l2 normalization
|
| 123 |
+
feat2 = backbone( tensor2 ) ## features
|
| 124 |
+
feat2 = F.normalize(feat2, dim=1) ## l2 normalization
|
| 125 |
+
|
| 126 |
+
fmask = backbone(tensor3.unsqueeze(0).repeat(1, 3, 1, 1))
|
| 127 |
+
fmask = F.normalize(fmask, dim=1)
|
| 128 |
+
|
| 129 |
+
out1, out2, out3 = netEncoder(feat1, feat2, fmask) ## predictions
|
| 130 |
+
m1_final, m2_final, m3_final = out1[0, 2].cpu().numpy(), out2[0, 2].cpu().numpy(), out3.item()
|
| 131 |
+
|
| 132 |
+
return m1_final, m2_final, m3_final
|
| 133 |
+
|
| 134 |
+
|
| 135 |
+
# ego2exo
|
| 136 |
+
def egoexo(backbone, netEncoder, ego, exo, obj, pred_json):
|
| 137 |
+
|
| 138 |
+
pred_json['masks'][obj][f'{ego}_{exo}'] = {}
|
| 139 |
+
data_list = []
|
| 140 |
+
for data in datas:
|
| 141 |
+
if data["image"].split('/')[0] == obj:
|
| 142 |
+
data_list.append(data)
|
| 143 |
+
for idx, data in enumerate(data_list):
|
| 144 |
+
query_frame_tmp = cv2.imread(os.path.join(root_path, data["first_frame_image"]))[..., ::-1]
|
| 145 |
+
query_frame = Image.fromarray(reshape_img_war(query_frame_tmp))
|
| 146 |
+
ann_query = data["first_frame_anns"][0]
|
| 147 |
+
query_mask = mask_utils.decode(ann_query["segmentation"])
|
| 148 |
+
query_mask = reshape_img_war(query_mask)
|
| 149 |
+
|
| 150 |
+
target_frame_tmp = cv2.imread(os.path.join(root_path, data["image"]))[..., ::-1]
|
| 151 |
+
target_frame = Image.fromarray(reshape_img_war(target_frame_tmp))
|
| 152 |
+
|
| 153 |
+
Ix, Iy, tensor1, tensor2, tensor3 = get_tensors(query_frame, target_frame, query_mask)
|
| 154 |
+
mx, my, confidence = forward_pass(backbone, netEncoder, tensor1, tensor2, tensor3)
|
| 155 |
+
|
| 156 |
+
y_step = (my > MASKThresh)
|
| 157 |
+
|
| 158 |
+
target_pred = mask_utils.encode(np.asfortranarray(y_step.astype(np.uint8)))
|
| 159 |
+
target_pred['counts'] = target_pred['counts'].decode('ascii')
|
| 160 |
+
idx = str(idx)
|
| 161 |
+
pred_json['masks'][obj][f'{ego}_{exo}'][idx] = {'pred_mask': target_pred, 'confidence': confidence}
|
| 162 |
+
|
| 163 |
+
|
| 164 |
+
def evaluate_ours(backbone, netEncoder):
|
| 165 |
+
result_list = []
|
| 166 |
+
for data in tqdm.tqdm(datas):
|
| 167 |
+
query_frame_tmp = cv2.imread(os.path.join(root_path, data["first_frame_image"]))[..., ::-1]
|
| 168 |
+
query_frame = Image.fromarray(reshape_img_war(query_frame_tmp))
|
| 169 |
+
ann_query = data["first_frame_anns"][0]
|
| 170 |
+
query_mask = mask_utils.decode(ann_query["segmentation"])
|
| 171 |
+
query_mask = reshape_img_war(query_mask)
|
| 172 |
+
|
| 173 |
+
target_frame_tmp = cv2.imread(os.path.join(root_path, data["image"]))[..., ::-1]
|
| 174 |
+
target_frame = Image.fromarray(reshape_img_war(target_frame_tmp))
|
| 175 |
+
|
| 176 |
+
Ix, Iy, tensor1, tensor2, tensor3 = get_tensors(query_frame, target_frame, query_mask)
|
| 177 |
+
mx, my, confidence = forward_pass(backbone, netEncoder, tensor1, tensor2, tensor3)
|
| 178 |
+
|
| 179 |
+
y_step = (my > MASKThresh)
|
| 180 |
+
|
| 181 |
+
target_pred = mask_utils.encode(np.asfortranarray(y_step.astype(np.uint8)))
|
| 182 |
+
target_pred['counts'] = target_pred['counts'].decode('ascii')
|
| 183 |
+
sample = {
|
| 184 |
+
'image': data["image"],
|
| 185 |
+
'anns': data["anns"],
|
| 186 |
+
'new_img_id': data["new_img_id"],
|
| 187 |
+
'pred_mask': target_pred
|
| 188 |
+
}
|
| 189 |
+
result_list.append(sample)
|
| 190 |
+
return result_list
|
| 191 |
+
|
| 192 |
+
|
| 193 |
+
|
| 194 |
+
|
| 195 |
+
def main():
|
| 196 |
+
|
| 197 |
+
resume_path = '/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/SegSwap/model/moco_v2_800ep_pretrain_torchvision.pth.tar'
|
| 198 |
+
param = torch.load(resume_path)['model']
|
| 199 |
+
new_param = {}
|
| 200 |
+
for key in param.keys():
|
| 201 |
+
if 'fc' in key:
|
| 202 |
+
continue
|
| 203 |
+
new_param[key] = param[key]
|
| 204 |
+
|
| 205 |
+
backbone = models.resnet50(pretrained=False)
|
| 206 |
+
backbone.load_state_dict(new_param, strict=False)
|
| 207 |
+
resnet_feature_layers = ['conv1', 'bn1', 'relu', 'maxpool', 'layer1', 'layer2', 'layer3']
|
| 208 |
+
resnet_module_list = [getattr(backbone, l) for l in resnet_feature_layers]
|
| 209 |
+
last_layer_idx = resnet_feature_layers.index('layer3')
|
| 210 |
+
backbone = torch.nn.Sequential(*resnet_module_list[:last_layer_idx + 1])
|
| 211 |
+
feat_dim = 1024
|
| 212 |
+
backbone.cuda()
|
| 213 |
+
|
| 214 |
+
## model
|
| 215 |
+
netEncoder = transformer.TransEncoder(feat_dim,
|
| 216 |
+
pos_weight=0.1,
|
| 217 |
+
feat_weight=1,
|
| 218 |
+
dropout=0.1,
|
| 219 |
+
activation="relu",
|
| 220 |
+
mode="small",
|
| 221 |
+
layer_type=['I', 'C', 'I', 'C', 'I', 'N'],
|
| 222 |
+
drop_feat=0.1)
|
| 223 |
+
|
| 224 |
+
netEncoder.cuda()
|
| 225 |
+
|
| 226 |
+
result_list = evaluate_ours(backbone, netEncoder)
|
| 227 |
+
|
| 228 |
+
return result_list
|
| 229 |
+
|
| 230 |
+
if __name__ == '__main__':
|
| 231 |
+
|
| 232 |
+
import argparse
|
| 233 |
+
|
| 234 |
+
parser = argparse.ArgumentParser()
|
| 235 |
+
parser.add_argument('--out_path', type=str, required=True)
|
| 236 |
+
|
| 237 |
+
args = parser.parse_args()
|
| 238 |
+
|
| 239 |
+
# objs = os.listdir(root_path)
|
| 240 |
+
# objs.remove("vis_rondom_check")
|
| 241 |
+
# objs = [file for file in objs if not file.endswith('.json')]
|
| 242 |
+
# objs = objs[:2]
|
| 243 |
+
# debug
|
| 244 |
+
# print(len(objs))
|
| 245 |
+
|
| 246 |
+
results = main()
|
| 247 |
+
print("data_num:", len(results))
|
| 248 |
+
|
| 249 |
+
os.makedirs(args.out_path, exist_ok=True)
|
| 250 |
+
with open(f"{args.out_path}/segswap_handal_pred_1.json", "w") as fp:
|
| 251 |
+
json.dump(results, fp)
|
| 252 |
+
|
correspondence/SegSwap/eval_segswap.py
ADDED
|
@@ -0,0 +1,287 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# coding=utf-8
|
| 2 |
+
import os
|
| 3 |
+
import sys
|
| 4 |
+
sys.path.append('/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/SegSwap/model')
|
| 5 |
+
import numpy as np
|
| 6 |
+
from PIL import Image
|
| 7 |
+
import cv2
|
| 8 |
+
import json
|
| 9 |
+
import random
|
| 10 |
+
import torch
|
| 11 |
+
import torch.nn.functional as F
|
| 12 |
+
import torchvision.models as models
|
| 13 |
+
import torchvision.transforms as transforms
|
| 14 |
+
|
| 15 |
+
import transformer # model
|
| 16 |
+
|
| 17 |
+
import tqdm
|
| 18 |
+
|
| 19 |
+
from pycocotools import mask as mask_utils
|
| 20 |
+
from torch.cuda.amp import autocast
|
| 21 |
+
|
| 22 |
+
|
| 23 |
+
MASKThresh = 0.5
|
| 24 |
+
#out = ['f2f93854-2634-449c-b68e-aebf4743ac9f', '7d59164c-e0bc-4ae0-95c9-733e4c8b0d6a', 'cace80a1-42df-4cf4-a1ec-80647638a443', '8fa671be-2624-4783-8572-5f4b7722b6c0', 'ca1434ea-b787-44ad-a9da-e0f7d5167a35', 'cfd2c825-45d1-4e59-b33f-b6dff8c174c8', '39d48b6a-66e8-4bbb-a596-4461b601cabc', 'f4dead01-fa3d-4aa5-8b59-13a0d9186dd2', '4cf43506-d0a6-4c42-9136-adb2ecd57411', '89815623-8ece-4e3c-8879-f1f32b299527', '5fd383f1-c8bb-42d7-b98b-7418d99d9bb4', 'b1b794e8-7839-46ab-b05f-f4b1c16d5420', 'b7dbb47c-d850-4853-b434-7b20519ea9e5', '636eaa0b-d65d-4b25-bbdd-1065f84ef89e', 'd2b0ee95-2a76-4b69-aebf-3c7e553f8e2b', 'cea1b20b-6e18-4bb6-87e0-164a2b8c3dc0', 'fba2c124-99ec-40ed-8d6a-46808afe6d98', '549e5b97-f93a-4500-8f02-5be13017dce5', '6cbfa460-72a7-4038-b6af-4305a1cc05dd', '319a9983-f70c-4224-a3a7-33338c8a9f35', 'bcfb6839-3c09-4d42-9d9c-59042f6ab721', '3ca2798d-cfe3-46c6-a8bc-cc4689bd6d75', 'aa40670e-4487-4f60-a27b-26f7372ef8e7', '389cfa3f-3a4c-4b8f-9535-d7c95ffd594c', '214bdc0d-fa50-4a84-b771-c0a7bdeafadc', '08504348-4f72-477e-a08f-1050204ae55e', 'd35a162e-c38e-4017-94d1-539f26651115', '925ebe22-f97a-4e79-aed3-9873cf461c3c', 'c0b7d130-2004-4450-ad94-ea3167bd9fab', 'f1ce9be1-b623-4ce4-84e2-37e9f88eea86', 'c288cb15-81c7-4463-814f-959c12740499', 'b69de073-c157-4cff-8eba-97bfc7baa012', '289c4873-5bf9-41b9-b784-aba52b54cd4d', '0bcb8b46-cc45-4bcb-a627-85633e54e060', '819780c3-97c0-4ac6-b37f-8c66abf8167d', '9512a137-40b6-49c6-a03d-a3340b9dd277', '393e9b60-504c-4cc7-a90b-eb78dd62d5ff', 'fb09baec-1a5a-40b4-8d72-e581c93fbd77', '3042b472-99cc-4407-a79e-f76916b95737', '4939903a-2c73-4633-ae15-618be39990e7', 'ced0e340-b958-4505-badc-c8c2f256c145', 'e53ae33b-61b6-4c3e-8be0-5696f961704b', '759aa03c-c8e1-4fcb-8817-85948100ed33', '31df8578-1fd0-4406-9008-900a88f7990a', '9506c70a-1639-42ea-bbfc-2b9c0f8c9394', 'e46f9a53-7625-4827-8b92-79c958d3524e', '3125dca7-b99e-4b2b-8844-2d912619b353', 'b65a60e0-f224-4b3d-bf78-ba44e12c4ac1', 'c53daadd-09f0-485b-a51c-1d5679f5fb09', 'b378d186-0587-40ed-afdf-875e6dfb5876', '8000dfb2-accb-4bb8-abfb-cc2d677d0b2f', 'ff93ae48-0daa-418c-9d5c-b5b0b6d23efb', '6d0a7c80-ae8c-4673-8f70-c09fd6fbebe8', 'f0cd03a5-9cd8-4510-87c1-a5c493197b75', 'c16175f5-f990-48a1-9dcc-6a385f108687', '816dd81e-93b1-433c-83ff-264ae404a3bf', 'f8bed5fe-3e09-4885-9539-edb4d5b2279a', '601c9c61-fc2b-4ac2-b3c4-dda557c2563b', '56c35d79-acb1-47a1-8590-7e5cb2585ee5', 'd5193bae-a7f5-4e8a-9c96-09f557c7ea9d', '8d7646a3-ce7b-425d-b16e-9a63a1166576', '0b89efcd-59bf-4f0b-a81a-50dee0b79982', '9681b4c6-9713-4bb3-aa9a-7df7daa4e74d', '69fac17f-6527-493d-8dac-cd3bb61ce23e', '5ee00a17-171f-46a4-927b-3aa9d0fe176e']
|
| 25 |
+
|
| 26 |
+
|
| 27 |
+
def reshape_img_war(img, size=(480, 480)):
|
| 28 |
+
C = 1
|
| 29 |
+
if len(img.shape) == 2:
|
| 30 |
+
H, W = img.shape
|
| 31 |
+
img = img[..., None]
|
| 32 |
+
else:
|
| 33 |
+
H, W, C = img.shape
|
| 34 |
+
|
| 35 |
+
temp = np.zeros((max(H, W), max(H, W), C), dtype=np.uint8)
|
| 36 |
+
|
| 37 |
+
if H > W:
|
| 38 |
+
L = (H - W) // 2
|
| 39 |
+
temp[:, L:-L] = img
|
| 40 |
+
elif W > H:
|
| 41 |
+
L = (W - H) // 2
|
| 42 |
+
temp[L:-L] = img
|
| 43 |
+
else:
|
| 44 |
+
temp = img
|
| 45 |
+
|
| 46 |
+
temp = cv2.resize(temp, size, interpolation=cv2.INTER_NEAREST)
|
| 47 |
+
|
| 48 |
+
return temp
|
| 49 |
+
|
| 50 |
+
def get_model(model_path):
|
| 51 |
+
## set gpu
|
| 52 |
+
device = torch.device('cuda')
|
| 53 |
+
|
| 54 |
+
backbone = models.resnet50(pretrained=False)
|
| 55 |
+
resnet_feature_layers = ['conv1','bn1','relu','maxpool','layer1','layer2','layer3']
|
| 56 |
+
resnet_module_list = [getattr(backbone,l) for l in resnet_feature_layers]
|
| 57 |
+
last_layer_idx = resnet_feature_layers.index('layer3')
|
| 58 |
+
backbone = torch.nn.Sequential(*resnet_module_list[:last_layer_idx+1])
|
| 59 |
+
|
| 60 |
+
## load pre-trained weight
|
| 61 |
+
pos_weight = 0.1
|
| 62 |
+
feat_weight = 1
|
| 63 |
+
dropout = 0.1
|
| 64 |
+
activation = 'relu'
|
| 65 |
+
mode = 'small'
|
| 66 |
+
layer_type = ['I', 'C', 'I', 'C', 'I', 'N']
|
| 67 |
+
drop_feat = 0.1
|
| 68 |
+
feat_dim=1024
|
| 69 |
+
|
| 70 |
+
## model
|
| 71 |
+
netEncoder = transformer.TransEncoder(feat_dim,
|
| 72 |
+
pos_weight = pos_weight,
|
| 73 |
+
feat_weight = feat_weight,
|
| 74 |
+
dropout = dropout,
|
| 75 |
+
activation = activation,
|
| 76 |
+
mode = mode,
|
| 77 |
+
layer_type = layer_type,
|
| 78 |
+
drop_feat = drop_feat)
|
| 79 |
+
|
| 80 |
+
netEncoder.to(device)
|
| 81 |
+
|
| 82 |
+
print ('Loading net weight from {}'.format(model_path))
|
| 83 |
+
param = torch.load(model_path)
|
| 84 |
+
backbone.load_state_dict(param['backbone'])
|
| 85 |
+
netEncoder.load_state_dict(param['encoder'])
|
| 86 |
+
backbone.eval()
|
| 87 |
+
netEncoder.eval()
|
| 88 |
+
backbone.to(device)
|
| 89 |
+
netEncoder.to(device)
|
| 90 |
+
|
| 91 |
+
return backbone, netEncoder
|
| 92 |
+
|
| 93 |
+
def get_tensors(I1np, I2np, M1np):
|
| 94 |
+
|
| 95 |
+
# masking Image1
|
| 96 |
+
I1np = I1np
|
| 97 |
+
|
| 98 |
+
I1 = I1np
|
| 99 |
+
I2 = I2np
|
| 100 |
+
|
| 101 |
+
norm_mean, norm_std = (0.485, 0.456, 0.406), (0.229, 0.224, 0.225)
|
| 102 |
+
transformINet = transforms.Compose([transforms.ToTensor(),
|
| 103 |
+
transforms.Normalize(norm_mean, norm_std)])
|
| 104 |
+
tensor1 = I1
|
| 105 |
+
tensor2 = I2
|
| 106 |
+
tensor3 = M1np
|
| 107 |
+
|
| 108 |
+
|
| 109 |
+
tensor1 = transformINet(tensor1).unsqueeze(0).cuda()
|
| 110 |
+
tensor2 = transformINet(tensor2).unsqueeze(0).cuda()
|
| 111 |
+
tensor3 = torch.from_numpy(tensor3).unsqueeze(0).type(torch.FloatTensor).cuda()
|
| 112 |
+
|
| 113 |
+
return I1, I2, tensor1, tensor2, tensor3
|
| 114 |
+
|
| 115 |
+
def forward_pass(backbone, netEncoder, tensor1, tensor2, tensor3):
|
| 116 |
+
with torch.no_grad():
|
| 117 |
+
with autocast():
|
| 118 |
+
feat1 = backbone( tensor1 ) ## feature
|
| 119 |
+
feat1 = F.normalize(feat1, dim=1) ## l2 normalization
|
| 120 |
+
feat2 = backbone( tensor2 ) ## features
|
| 121 |
+
feat2 = F.normalize(feat2, dim=1) ## l2 normalization
|
| 122 |
+
|
| 123 |
+
fmask = backbone(tensor3.unsqueeze(0).repeat(1, 3, 1, 1))
|
| 124 |
+
fmask = F.normalize(fmask, dim=1)
|
| 125 |
+
|
| 126 |
+
out1, out2, out3 = netEncoder(feat1, feat2, fmask) ## predictions
|
| 127 |
+
m1_final, m2_final, m3_final = out1[0, 2].cpu().numpy(), out2[0, 2].cpu().numpy(), out3.item()
|
| 128 |
+
|
| 129 |
+
return m1_final, m2_final, m3_final
|
| 130 |
+
|
| 131 |
+
|
| 132 |
+
def load_frame(path, frame_idx):
|
| 133 |
+
img = cv2.imread(os.path.join(path, f'{frame_idx}.jpg'))[..., ::-1]
|
| 134 |
+
img = Image.fromarray(reshape_img_war(img))
|
| 135 |
+
return img
|
| 136 |
+
|
| 137 |
+
def egoexo(backbone, netEncoder, annotations, ego, exo, obj, take, anno_path, pred_json):
|
| 138 |
+
|
| 139 |
+
pred_json['masks'][obj][f'{ego}_{exo}'] = {}
|
| 140 |
+
for idx in annotations['masks'][obj][ego].keys():
|
| 141 |
+
|
| 142 |
+
ego_frame = load_frame(path=f'{anno_path}/{take}/{ego}/', frame_idx=idx)
|
| 143 |
+
ego_mask = mask_utils.decode(annotations['masks'][obj][ego][idx])
|
| 144 |
+
ego_mask = reshape_img_war(ego_mask)
|
| 145 |
+
|
| 146 |
+
exo_frame = load_frame(path=f'{anno_path}/{take}/{exo}/', frame_idx=idx)
|
| 147 |
+
|
| 148 |
+
Ix, Iy, tensor1, tensor2, tensor3 = get_tensors(ego_frame, exo_frame, ego_mask)
|
| 149 |
+
mx, my, confidence = forward_pass(backbone, netEncoder, tensor1, tensor2, tensor3)
|
| 150 |
+
|
| 151 |
+
y_step = (my > MASKThresh)
|
| 152 |
+
|
| 153 |
+
|
| 154 |
+
exo_pred = mask_utils.encode(np.asfortranarray(y_step.astype(np.uint8)))
|
| 155 |
+
exo_pred['counts'] = exo_pred['counts'].decode('ascii')
|
| 156 |
+
pred_json['masks'][obj][f'{ego}_{exo}'][idx] = {'pred_mask': exo_pred, 'confidence': confidence}
|
| 157 |
+
|
| 158 |
+
def exoego(backbone, netEncoder, annotations, ego, exo, obj, take, anno_path, pred_json):
|
| 159 |
+
|
| 160 |
+
pred_json['masks'][obj][f'{exo}_{ego}'] = {}
|
| 161 |
+
for idx in annotations['masks'][obj][exo].keys():
|
| 162 |
+
|
| 163 |
+
exo_frame = load_frame(path=f'{anno_path}/{take}/{exo}/', frame_idx=idx)
|
| 164 |
+
exo_mask = mask_utils.decode(annotations['masks'][obj][exo][idx])
|
| 165 |
+
exo_mask = reshape_img_war(exo_mask)
|
| 166 |
+
|
| 167 |
+
ego_frame = load_frame(path=f'{anno_path}/{take}/{ego}/', frame_idx=idx)
|
| 168 |
+
|
| 169 |
+
Ix, Iy, tensor1, tensor2, tensor3 = get_tensors(exo_frame, ego_frame, exo_mask)
|
| 170 |
+
mx, my, confidence = forward_pass(backbone, netEncoder, tensor1, tensor2, tensor3)
|
| 171 |
+
|
| 172 |
+
y_step = (my > MASKThresh)
|
| 173 |
+
|
| 174 |
+
ego_pred = mask_utils.encode(np.asfortranarray(y_step.astype(np.uint8)))
|
| 175 |
+
ego_pred['counts'] = ego_pred['counts'].decode('ascii')
|
| 176 |
+
pred_json['masks'][obj][f'{exo}_{ego}'][idx] = {'pred_mask': ego_pred, 'confidence': confidence}
|
| 177 |
+
|
| 178 |
+
def main(model_path, takes, anno_path, out_path, setting='ego-exo', save_inter=False):
|
| 179 |
+
|
| 180 |
+
print('TOTAL TAKES: ', len(takes))
|
| 181 |
+
|
| 182 |
+
resume_path = '/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/SegSwap/model/moco_v2_800ep_pretrain_torchvision.pth.tar'
|
| 183 |
+
param = torch.load(resume_path)['model']
|
| 184 |
+
new_param = {}
|
| 185 |
+
for key in param.keys():
|
| 186 |
+
if 'fc' in key:
|
| 187 |
+
continue
|
| 188 |
+
new_param[key] = param[key]
|
| 189 |
+
|
| 190 |
+
backbone = models.resnet50(pretrained=False)
|
| 191 |
+
backbone.load_state_dict(new_param, strict=False)
|
| 192 |
+
resnet_feature_layers = ['conv1', 'bn1', 'relu', 'maxpool', 'layer1', 'layer2', 'layer3']
|
| 193 |
+
resnet_module_list = [getattr(backbone, l) for l in resnet_feature_layers]
|
| 194 |
+
last_layer_idx = resnet_feature_layers.index('layer3')
|
| 195 |
+
backbone = torch.nn.Sequential(*resnet_module_list[:last_layer_idx + 1])
|
| 196 |
+
feat_dim = 1024
|
| 197 |
+
backbone.cuda()
|
| 198 |
+
|
| 199 |
+
## model
|
| 200 |
+
netEncoder = transformer.TransEncoder(feat_dim,
|
| 201 |
+
pos_weight=0.1,
|
| 202 |
+
feat_weight=1,
|
| 203 |
+
dropout=0.1,
|
| 204 |
+
activation="relu",
|
| 205 |
+
mode="small",
|
| 206 |
+
layer_type=['I', 'C', 'I', 'C', 'I', 'N'],
|
| 207 |
+
drop_feat=0.1)
|
| 208 |
+
|
| 209 |
+
netEncoder.cuda()
|
| 210 |
+
|
| 211 |
+
results = {}
|
| 212 |
+
for take in tqdm.tqdm(takes):
|
| 213 |
+
#修改
|
| 214 |
+
# if take in out:
|
| 215 |
+
# continue
|
| 216 |
+
|
| 217 |
+
#resume机制
|
| 218 |
+
if os.path.exists(f'{out_path}/{take}'):
|
| 219 |
+
print("already done!")
|
| 220 |
+
continue
|
| 221 |
+
|
| 222 |
+
with open(f'{anno_path}/{take}/annotation.json', 'r') as fp:
|
| 223 |
+
annotations = json.load(fp)
|
| 224 |
+
|
| 225 |
+
pred_json = {'masks': {}, 'subsample_idx': annotations['subsample_idx']}
|
| 226 |
+
|
| 227 |
+
for obj in annotations['masks']:
|
| 228 |
+
|
| 229 |
+
pred_json['masks'][obj] = {}
|
| 230 |
+
|
| 231 |
+
cams = annotations['masks'][obj].keys()
|
| 232 |
+
|
| 233 |
+
exo_cams = [x for x in cams if 'aria' not in x]
|
| 234 |
+
ego_cams = [x for x in cams if 'aria' in x]
|
| 235 |
+
|
| 236 |
+
for ego in ego_cams:
|
| 237 |
+
for exo in exo_cams:
|
| 238 |
+
# ego -> exo
|
| 239 |
+
if setting == 'ego-exo':
|
| 240 |
+
egoexo(backbone=backbone, netEncoder=netEncoder, annotations=annotations,
|
| 241 |
+
ego=ego, exo=exo, obj=obj, take=take, anno_path=anno_path, pred_json=pred_json)
|
| 242 |
+
elif setting == 'exo-ego':
|
| 243 |
+
exoego(backbone=backbone, netEncoder=netEncoder, annotations=annotations,
|
| 244 |
+
ego=ego, exo=exo, obj=obj, take=take, anno_path=anno_path, pred_json=pred_json)
|
| 245 |
+
else:
|
| 246 |
+
raise Exception(f"Setting {setting} not recognized.")
|
| 247 |
+
|
| 248 |
+
results[take] = pred_json
|
| 249 |
+
|
| 250 |
+
if save_inter:
|
| 251 |
+
os.makedirs(f'{out_path}/{take}', exist_ok=True)
|
| 252 |
+
with open(f'{out_path}/{take}/pred_annotations.json', 'w') as fp:
|
| 253 |
+
json.dump(pred_json, fp)
|
| 254 |
+
|
| 255 |
+
return results
|
| 256 |
+
|
| 257 |
+
if __name__ == '__main__':
|
| 258 |
+
|
| 259 |
+
import argparse
|
| 260 |
+
|
| 261 |
+
parser = argparse.ArgumentParser()
|
| 262 |
+
parser.add_argument('--ckpt_path', type=str, required=True)
|
| 263 |
+
parser.add_argument('--data_path', type=str, required=True)
|
| 264 |
+
parser.add_argument('--splits_path', type=str, required=True, help="Path to json of take splits")
|
| 265 |
+
parser.add_argument('--split', type=str, required=True, help="Split to evaluate on")
|
| 266 |
+
parser.add_argument('--out_path', type=str, required=True)
|
| 267 |
+
parser.add_argument('--setting', required=True, choices=['ego-exo', 'exo-ego'], help="ego-exo or exo-ego")
|
| 268 |
+
parser.add_argument('--save_inter', action='store_true', help="Store intermediate take wise results")
|
| 269 |
+
|
| 270 |
+
args = parser.parse_args()
|
| 271 |
+
|
| 272 |
+
with open(args.splits_path, "r") as fp:
|
| 273 |
+
splits = json.load(fp)
|
| 274 |
+
|
| 275 |
+
takes = splits[args.split]
|
| 276 |
+
takes = random.sample(takes, 20)
|
| 277 |
+
results = main(args.ckpt_path,
|
| 278 |
+
takes,
|
| 279 |
+
args.data_path,
|
| 280 |
+
args.out_path,
|
| 281 |
+
setting=args.setting,
|
| 282 |
+
save_inter=args.save_inter)
|
| 283 |
+
|
| 284 |
+
os.makedirs(args.out_path, exist_ok=True)
|
| 285 |
+
with open(f"{args.out_path}/{args.setting}_{args.split}_results.json", "w") as fp:
|
| 286 |
+
json.dump({args.setting: {'results': results}}, fp)
|
| 287 |
+
|
correspondence/SegSwap/eval_segswap_new.py
ADDED
|
@@ -0,0 +1,292 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# coding=utf-8
|
| 2 |
+
import os
|
| 3 |
+
import sys
|
| 4 |
+
sys.path.append('model/')
|
| 5 |
+
import numpy as np
|
| 6 |
+
from PIL import Image
|
| 7 |
+
import cv2
|
| 8 |
+
import json
|
| 9 |
+
|
| 10 |
+
import torch
|
| 11 |
+
import torch.nn.functional as F
|
| 12 |
+
import torchvision.models as models
|
| 13 |
+
import torchvision.transforms as transforms
|
| 14 |
+
|
| 15 |
+
import transformer # model
|
| 16 |
+
import random
|
| 17 |
+
|
| 18 |
+
import tqdm
|
| 19 |
+
|
| 20 |
+
from pycocotools import mask as mask_utils
|
| 21 |
+
import utils_new
|
| 22 |
+
|
| 23 |
+
# json_path = "/home/yuqian_fu/Projects/PSALM/filter_takes_byname_test.json"
|
| 24 |
+
# with open(json_path, "r") as fp:
|
| 25 |
+
# datas = json.load(fp)
|
| 26 |
+
# takes_filter = datas['soccer']
|
| 27 |
+
splits_path = '/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/split.json'
|
| 28 |
+
with open(splits_path, "r") as fp:
|
| 29 |
+
splits = json.load(fp)
|
| 30 |
+
takes_filter = splits['test'] # ['ego-exo', 'exo-ego']
|
| 31 |
+
np.random.seed(0)
|
| 32 |
+
takes_filter = np.random.choice(takes_filter, 20, replace=False) # debug
|
| 33 |
+
print("takes_filter:", takes_filter)
|
| 34 |
+
MASKThresh = 0.5
|
| 35 |
+
|
| 36 |
+
def reshape_img_war(img, size=(480, 480)):
|
| 37 |
+
C = 1
|
| 38 |
+
if len(img.shape) == 2:
|
| 39 |
+
H, W = img.shape
|
| 40 |
+
img = img[..., None]
|
| 41 |
+
else:
|
| 42 |
+
H, W, C = img.shape
|
| 43 |
+
|
| 44 |
+
temp = np.zeros((max(H, W), max(H, W), C), dtype=np.uint8)
|
| 45 |
+
|
| 46 |
+
if H > W:
|
| 47 |
+
L = (H - W) // 2
|
| 48 |
+
temp[:, L:-L] = img
|
| 49 |
+
elif W > H:
|
| 50 |
+
L = (W - H) // 2
|
| 51 |
+
temp[L:-L] = img
|
| 52 |
+
else:
|
| 53 |
+
temp = img
|
| 54 |
+
|
| 55 |
+
temp = cv2.resize(temp, size, interpolation=cv2.INTER_NEAREST)
|
| 56 |
+
|
| 57 |
+
return temp
|
| 58 |
+
|
| 59 |
+
def get_model(model_path):
|
| 60 |
+
## set gpu
|
| 61 |
+
device = torch.device('cuda')
|
| 62 |
+
|
| 63 |
+
backbone = models.resnet50(pretrained=False)
|
| 64 |
+
resnet_feature_layers = ['conv1','bn1','relu','maxpool','layer1','layer2','layer3']
|
| 65 |
+
resnet_module_list = [getattr(backbone,l) for l in resnet_feature_layers]
|
| 66 |
+
last_layer_idx = resnet_feature_layers.index('layer3')
|
| 67 |
+
backbone = torch.nn.Sequential(*resnet_module_list[:last_layer_idx+1])
|
| 68 |
+
|
| 69 |
+
## load pre-trained weight
|
| 70 |
+
pos_weight = 0.1
|
| 71 |
+
feat_weight = 1
|
| 72 |
+
dropout = 0.1
|
| 73 |
+
activation = 'relu'
|
| 74 |
+
mode = 'small'
|
| 75 |
+
layer_type = ['I', 'C', 'I', 'C', 'I', 'N']
|
| 76 |
+
drop_feat = 0.1
|
| 77 |
+
feat_dim=1024
|
| 78 |
+
|
| 79 |
+
## model
|
| 80 |
+
netEncoder = transformer.TransEncoder(feat_dim,
|
| 81 |
+
pos_weight = pos_weight,
|
| 82 |
+
feat_weight = feat_weight,
|
| 83 |
+
dropout = dropout,
|
| 84 |
+
activation = activation,
|
| 85 |
+
mode = mode,
|
| 86 |
+
layer_type = layer_type,
|
| 87 |
+
drop_feat = drop_feat)
|
| 88 |
+
|
| 89 |
+
netEncoder.to(device)
|
| 90 |
+
|
| 91 |
+
print ('Loading net weight from {}'.format(model_path))
|
| 92 |
+
param = torch.load(model_path)
|
| 93 |
+
backbone.load_state_dict(param['backbone'])
|
| 94 |
+
netEncoder.load_state_dict(param['encoder'])
|
| 95 |
+
backbone.eval()
|
| 96 |
+
netEncoder.eval()
|
| 97 |
+
backbone.to(device)
|
| 98 |
+
netEncoder.to(device)
|
| 99 |
+
|
| 100 |
+
return backbone, netEncoder
|
| 101 |
+
|
| 102 |
+
def get_tensors(I1np, I2np, M1np):
|
| 103 |
+
|
| 104 |
+
# masking Image1
|
| 105 |
+
I1np = I1np
|
| 106 |
+
|
| 107 |
+
I1 = I1np
|
| 108 |
+
I2 = I2np
|
| 109 |
+
|
| 110 |
+
norm_mean, norm_std = (0.485, 0.456, 0.406), (0.229, 0.224, 0.225)
|
| 111 |
+
transformINet = transforms.Compose([transforms.ToTensor(),
|
| 112 |
+
transforms.Normalize(norm_mean, norm_std)])
|
| 113 |
+
tensor1 = I1
|
| 114 |
+
tensor2 = I2
|
| 115 |
+
tensor3 = M1np
|
| 116 |
+
|
| 117 |
+
|
| 118 |
+
tensor1 = transformINet(tensor1).unsqueeze(0).cuda()
|
| 119 |
+
tensor2 = transformINet(tensor2).unsqueeze(0).cuda()
|
| 120 |
+
tensor3 = torch.from_numpy(tensor3).unsqueeze(0).type(torch.FloatTensor).cuda()
|
| 121 |
+
|
| 122 |
+
return I1, I2, tensor1, tensor2, tensor3
|
| 123 |
+
|
| 124 |
+
def forward_pass(backbone, netEncoder, tensor1, tensor2, tensor3):
|
| 125 |
+
with torch.no_grad() :
|
| 126 |
+
feat1 = backbone( tensor1 ) ## feature
|
| 127 |
+
feat1 = F.normalize(feat1, dim=1) ## l2 normalization
|
| 128 |
+
feat2 = backbone( tensor2 ) ## features
|
| 129 |
+
feat2 = F.normalize(feat2, dim=1) ## l2 normalization
|
| 130 |
+
|
| 131 |
+
fmask = backbone(tensor3.unsqueeze(0).repeat(1, 3, 1, 1))
|
| 132 |
+
fmask = F.normalize(fmask, dim=1)
|
| 133 |
+
|
| 134 |
+
out1, out2, out3 = netEncoder(feat1, feat2, fmask) ## predictions
|
| 135 |
+
m1_final, m2_final, m3_final = out1[0, 2].cpu().numpy(), out2[0, 2].cpu().numpy(), out3.item()
|
| 136 |
+
|
| 137 |
+
return m1_final, m2_final, m3_final
|
| 138 |
+
|
| 139 |
+
|
| 140 |
+
def load_frame(path, frame_idx, ret_size=False):
|
| 141 |
+
img = cv2.imread(os.path.join(path, f'{frame_idx}.jpg'))[..., ::-1]
|
| 142 |
+
orig_size = img.shape[:-1]
|
| 143 |
+
#print(orig_size)
|
| 144 |
+
img = Image.fromarray(reshape_img_war(img))
|
| 145 |
+
if ret_size:
|
| 146 |
+
return img, orig_size
|
| 147 |
+
return img
|
| 148 |
+
|
| 149 |
+
def egoexo(backbone, netEncoder, annotations, ego, exo, obj, take, anno_path, pred_json):
|
| 150 |
+
|
| 151 |
+
pred_json['masks'][obj][f'{ego}_{exo}'] = {}
|
| 152 |
+
for idx in annotations['masks'][obj][ego].keys():
|
| 153 |
+
|
| 154 |
+
ego_frame = load_frame(path=f'{anno_path}/{take}/{ego}/', frame_idx=idx)
|
| 155 |
+
ego_mask = mask_utils.decode(annotations['masks'][obj][ego][idx])
|
| 156 |
+
ego_mask = reshape_img_war(ego_mask)
|
| 157 |
+
|
| 158 |
+
exo_frame, exo_size = load_frame(path=f'{anno_path}/{take}/{exo}/', frame_idx=idx, ret_size=True)
|
| 159 |
+
|
| 160 |
+
Ix, Iy, tensor1, tensor2, tensor3 = get_tensors(ego_frame, exo_frame, ego_mask)
|
| 161 |
+
mx, my, confidence = forward_pass(backbone, netEncoder, tensor1, tensor2, tensor3)
|
| 162 |
+
|
| 163 |
+
y_step = (my > MASKThresh)
|
| 164 |
+
y_step = utils_new.remove_pad(y_step, orig_size=exo_size)
|
| 165 |
+
#print(y_step.shape)
|
| 166 |
+
|
| 167 |
+
exo_pred = mask_utils.encode(np.asfortranarray(y_step.astype(np.uint8)))
|
| 168 |
+
exo_pred['counts'] = exo_pred['counts'].decode('ascii')
|
| 169 |
+
pred_json['masks'][obj][f'{ego}_{exo}'][idx] = {'pred_mask': exo_pred, 'confidence': confidence}
|
| 170 |
+
|
| 171 |
+
def exoego(backbone, netEncoder, annotations, ego, exo, obj, take, anno_path, pred_json):
|
| 172 |
+
|
| 173 |
+
pred_json['masks'][obj][f'{exo}_{ego}'] = {}
|
| 174 |
+
for idx in annotations['masks'][obj][exo].keys():
|
| 175 |
+
|
| 176 |
+
exo_frame = load_frame(path=f'{anno_path}/{take}/{exo}/', frame_idx=idx)
|
| 177 |
+
exo_mask = mask_utils.decode(annotations['masks'][obj][exo][idx])
|
| 178 |
+
exo_mask = reshape_img_war(exo_mask)
|
| 179 |
+
|
| 180 |
+
ego_frame = load_frame(path=f'{anno_path}/{take}/{ego}/', frame_idx=idx)
|
| 181 |
+
# print(ego_frame.size)
|
| 182 |
+
if ego_frame.size != (480, 480):
|
| 183 |
+
continue
|
| 184 |
+
|
| 185 |
+
Ix, Iy, tensor1, tensor2, tensor3 = get_tensors(exo_frame, ego_frame, exo_mask)
|
| 186 |
+
mx, my, confidence = forward_pass(backbone, netEncoder, tensor1, tensor2, tensor3)
|
| 187 |
+
|
| 188 |
+
y_step = (my > MASKThresh)
|
| 189 |
+
|
| 190 |
+
ego_pred = mask_utils.encode(np.asfortranarray(y_step.astype(np.uint8)))
|
| 191 |
+
ego_pred['counts'] = ego_pred['counts'].decode('ascii')
|
| 192 |
+
pred_json['masks'][obj][f'{exo}_{ego}'][idx] = {'pred_mask': ego_pred, 'confidence': confidence}
|
| 193 |
+
|
| 194 |
+
def main(model_path, takes, anno_path, out_path, setting='ego-exo', save_inter=False):
|
| 195 |
+
|
| 196 |
+
print('TOTAL TAKES: ', len(takes))
|
| 197 |
+
|
| 198 |
+
resume_path = '/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/SegSwap/model/moco_v2_800ep_pretrain_torchvision.pth.tar'
|
| 199 |
+
param = torch.load(resume_path)['model']
|
| 200 |
+
new_param = {}
|
| 201 |
+
for key in param.keys():
|
| 202 |
+
if 'fc' in key:
|
| 203 |
+
continue
|
| 204 |
+
new_param[key] = param[key]
|
| 205 |
+
|
| 206 |
+
backbone = models.resnet50(pretrained=False)
|
| 207 |
+
backbone.load_state_dict(new_param, strict=False)
|
| 208 |
+
resnet_feature_layers = ['conv1', 'bn1', 'relu', 'maxpool', 'layer1', 'layer2', 'layer3']
|
| 209 |
+
resnet_module_list = [getattr(backbone, l) for l in resnet_feature_layers]
|
| 210 |
+
last_layer_idx = resnet_feature_layers.index('layer3')
|
| 211 |
+
backbone = torch.nn.Sequential(*resnet_module_list[:last_layer_idx + 1])
|
| 212 |
+
feat_dim = 1024
|
| 213 |
+
backbone.cuda()
|
| 214 |
+
|
| 215 |
+
## model
|
| 216 |
+
netEncoder = transformer.TransEncoder(feat_dim,
|
| 217 |
+
pos_weight=0.1,
|
| 218 |
+
feat_weight=1,
|
| 219 |
+
dropout=0.1,
|
| 220 |
+
activation="relu",
|
| 221 |
+
mode="small",
|
| 222 |
+
layer_type=['I', 'C', 'I', 'C', 'I', 'N'],
|
| 223 |
+
drop_feat=0.1)
|
| 224 |
+
|
| 225 |
+
netEncoder.cuda()
|
| 226 |
+
|
| 227 |
+
results = {}
|
| 228 |
+
for take in tqdm.tqdm(takes_filter):
|
| 229 |
+
|
| 230 |
+
with open(f'{anno_path}/{take}/annotation.json', 'r') as fp:
|
| 231 |
+
annotations = json.load(fp)
|
| 232 |
+
|
| 233 |
+
pred_json = {'masks': {}, 'subsample_idx': annotations['subsample_idx']}
|
| 234 |
+
|
| 235 |
+
for obj in annotations['masks']:
|
| 236 |
+
|
| 237 |
+
pred_json['masks'][obj] = {}
|
| 238 |
+
|
| 239 |
+
cams = annotations['masks'][obj].keys()
|
| 240 |
+
|
| 241 |
+
exo_cams = [x for x in cams if 'aria' not in x]
|
| 242 |
+
ego_cams = [x for x in cams if 'aria' in x]
|
| 243 |
+
|
| 244 |
+
for ego in ego_cams:
|
| 245 |
+
for exo in exo_cams:
|
| 246 |
+
# ego -> exo
|
| 247 |
+
if setting == 'ego-exo':
|
| 248 |
+
egoexo(backbone=backbone, netEncoder=netEncoder, annotations=annotations,
|
| 249 |
+
ego=ego, exo=exo, obj=obj, take=take, anno_path=anno_path, pred_json=pred_json)
|
| 250 |
+
elif setting == 'exo-ego':
|
| 251 |
+
exoego(backbone=backbone, netEncoder=netEncoder, annotations=annotations,
|
| 252 |
+
ego=ego, exo=exo, obj=obj, take=take, anno_path=anno_path, pred_json=pred_json)
|
| 253 |
+
else:
|
| 254 |
+
raise Exception(f"Setting {setting} not recognized.")
|
| 255 |
+
|
| 256 |
+
results[take] = pred_json
|
| 257 |
+
|
| 258 |
+
if save_inter:
|
| 259 |
+
os.makedirs(f'{out_path}/{take}', exist_ok=True)
|
| 260 |
+
with open(f'{out_path}/{take}/pred_annotations.json', 'w') as fp:
|
| 261 |
+
json.dump(pred_json, fp)
|
| 262 |
+
|
| 263 |
+
return results
|
| 264 |
+
|
| 265 |
+
if __name__ == '__main__':
|
| 266 |
+
|
| 267 |
+
import argparse
|
| 268 |
+
|
| 269 |
+
parser = argparse.ArgumentParser()
|
| 270 |
+
parser.add_argument('--ckpt_path', type=str, required=True)
|
| 271 |
+
parser.add_argument('--data_path', type=str, required=True)
|
| 272 |
+
parser.add_argument('--splits_path', type=str, required=True, help="Path to json of take splits")
|
| 273 |
+
parser.add_argument('--split', type=str, required=True, help="Split to evaluate on")
|
| 274 |
+
parser.add_argument('--out_path', type=str, required=True)
|
| 275 |
+
parser.add_argument('--setting', required=True, choices=['ego-exo', 'exo-ego'], help="ego-exo or exo-ego")
|
| 276 |
+
parser.add_argument('--save_inter', action='store_true', help="Store intermediate take wise results")
|
| 277 |
+
|
| 278 |
+
args = parser.parse_args()
|
| 279 |
+
|
| 280 |
+
with open(args.splits_path, "r") as fp:
|
| 281 |
+
splits = json.load(fp)
|
| 282 |
+
|
| 283 |
+
results = main(args.ckpt_path,
|
| 284 |
+
splits[args.split],
|
| 285 |
+
args.data_path,
|
| 286 |
+
args.out_path,
|
| 287 |
+
setting=args.setting,
|
| 288 |
+
save_inter=args.save_inter)
|
| 289 |
+
|
| 290 |
+
os.makedirs(args.out_path, exist_ok=True)
|
| 291 |
+
with open(f"{args.out_path}/{args.setting}_{args.split}_results.json", "w") as fp:
|
| 292 |
+
json.dump({args.setting: {'results': results}}, fp)
|
correspondence/SegSwap/input.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:009a7db960194af52e44f75b7812baf1525386628acd763adbefa980d1937070
|
| 3 |
+
size 75670357
|
correspondence/SegSwap/model/=12
ADDED
|
File without changes
|
correspondence/SegSwap/model/convert_torchvision.py
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import sys
|
| 2 |
+
import torch
|
| 3 |
+
if __name__ == "__main__":
|
| 4 |
+
input = sys.argv[1]
|
| 5 |
+
output = sys.argv[2]
|
| 6 |
+
obj = torch.load(input, map_location="cpu")
|
| 7 |
+
obj = obj["state_dict"]
|
| 8 |
+
newmodel = {}
|
| 9 |
+
for k, v in obj.items():
|
| 10 |
+
if not k.startswith("module.encoder_q."):
|
| 11 |
+
continue
|
| 12 |
+
old_k = k
|
| 13 |
+
k = k.replace("module.encoder_q.", "")
|
| 14 |
+
# if "layer" not in k:
|
| 15 |
+
# k = "stem." + k
|
| 16 |
+
# for t in [1, 2, 3, 4]:
|
| 17 |
+
# k = k.replace("layer{}".format(t), "res{}".format(t + 1))
|
| 18 |
+
# for t in [1, 2, 3]:
|
| 19 |
+
# k = k.replace("bn{}".format(t), "conv{}.norm".format(t))
|
| 20 |
+
# k = k.replace("downsample.0", "shortcut")
|
| 21 |
+
# k = k.replace("downsample.1", "shortcut.norm")
|
| 22 |
+
print(old_k, "->", k)
|
| 23 |
+
newmodel[k] = v
|
| 24 |
+
state = {"model": newmodel, "__author__": "MOCO"}
|
| 25 |
+
torch.save(state, output)
|
correspondence/SegSwap/model/download_model.sh
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
wget https://dl.fbaipublicfiles.com/moco/moco_checkpoints/moco_v2_800ep/moco_v2_800ep_pretrain.pth.tar
|
| 2 |
+
|
| 3 |
+
python convert_torchvision.py moco_v2_800ep_pretrain.pth.tar moco_v2_800ep_pretrain_torchvision.pth.tar
|
| 4 |
+
|
| 5 |
+
rm moco_v2_800ep_pretrain.pth.tar
|
| 6 |
+
|
correspondence/SegSwap/model/environment.yml
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
name: segswap
|
| 2 |
+
channels:
|
| 3 |
+
- conda-forge
|
| 4 |
+
- defaults
|
| 5 |
+
dependencies:
|
| 6 |
+
- _libgcc_mutex=0.1
|
| 7 |
+
- _openmp_mutex=5.1
|
| 8 |
+
- asttokens=2.2.1
|
| 9 |
+
- backcall=0.2.0
|
| 10 |
+
- backports=1.0
|
| 11 |
+
- backports.functools_lru_cache=1.6.5
|
| 12 |
+
- bzip2=1.0.8
|
| 13 |
+
- ca-certificates=2023.5.7
|
| 14 |
+
- decorator=5.1.1
|
| 15 |
+
- entrypoints=0.4
|
| 16 |
+
- executing=1.2.0
|
| 17 |
+
- ipykernel=6.15.0
|
| 18 |
+
- ipython=8.14.0
|
| 19 |
+
- jedi=0.18.2
|
| 20 |
+
- jupyter_client=7.3.4
|
| 21 |
+
- jupyter_core=5.3.1
|
| 22 |
+
- ld_impl_linux-64=2.38
|
| 23 |
+
- libffi=3.4.4
|
| 24 |
+
- libgcc-ng=11.2.0
|
| 25 |
+
- libgomp=11.2.0
|
| 26 |
+
- libsodium=1.0.18
|
| 27 |
+
- libstdcxx-ng=11.2.0
|
| 28 |
+
- libuuid=1.41.5
|
| 29 |
+
- matplotlib-inline=0.1.6
|
| 30 |
+
- ncurses=6.4
|
| 31 |
+
- nest-asyncio=1.5.6
|
| 32 |
+
- openssl=3.0.9
|
| 33 |
+
- packaging=23.1
|
| 34 |
+
- parso=0.8.3
|
| 35 |
+
- pexpect=4.8.0
|
| 36 |
+
- pickleshare=0.7.5
|
| 37 |
+
- platformdirs=3.8.0
|
| 38 |
+
- prompt-toolkit=3.0.38
|
| 39 |
+
- prompt_toolkit=3.0.38
|
| 40 |
+
- ptyprocess=0.7.0
|
| 41 |
+
- pure_eval=0.2.2
|
| 42 |
+
- pygments=2.15.1
|
| 43 |
+
- python=3.10.11
|
| 44 |
+
- python-dateutil=2.8.2
|
| 45 |
+
- python_abi=3.10
|
| 46 |
+
- readline=8.2
|
| 47 |
+
- six=1.16.0
|
| 48 |
+
- sqlite=3.41.2
|
| 49 |
+
- stack_data=0.6.2
|
| 50 |
+
- tk=8.6.12
|
| 51 |
+
- traitlets=5.9.0
|
| 52 |
+
- typing-extensions=4.6.3
|
| 53 |
+
- typing_extensions=4.6.3
|
| 54 |
+
- wcwidth=0.2.6
|
| 55 |
+
- xz=5.4.2
|
| 56 |
+
- zeromq=4.3.4
|
| 57 |
+
- zlib=1.2.13
|
| 58 |
+
- pip:
|
| 59 |
+
- absl-py==1.4.0
|
| 60 |
+
- appdirs==1.4.4
|
| 61 |
+
- cachetools==5.3.1
|
| 62 |
+
- certifi==2023.5.7
|
| 63 |
+
- charset-normalizer==3.1.0
|
| 64 |
+
- click==8.1.4
|
| 65 |
+
- cmake==3.26.4
|
| 66 |
+
- contourpy==1.1.0
|
| 67 |
+
- cycler==0.11.0
|
| 68 |
+
- debugpy==1.5.1
|
| 69 |
+
- decord==0.6.0
|
| 70 |
+
- docker-pycreds==0.4.0
|
| 71 |
+
- filelock==3.12.2
|
| 72 |
+
- fonttools==4.40.0
|
| 73 |
+
- gitdb==4.0.10
|
| 74 |
+
- gitpython==3.1.31
|
| 75 |
+
- google-auth==2.22.0
|
| 76 |
+
- google-auth-oauthlib==1.0.0
|
| 77 |
+
- grpcio==1.56.2
|
| 78 |
+
- idna==3.4
|
| 79 |
+
- imageio==2.31.5
|
| 80 |
+
- jinja2==3.1.2
|
| 81 |
+
- joblib==1.2.0
|
| 82 |
+
- jupyter-core==5.3.1
|
| 83 |
+
- kiwisolver==1.4.4
|
| 84 |
+
- kornia==0.6.12
|
| 85 |
+
- lazy-loader==0.3
|
| 86 |
+
- lit==16.0.6
|
| 87 |
+
- markdown==3.4.3
|
| 88 |
+
- markupsafe==2.1.3
|
| 89 |
+
- matplotlib==3.7.1
|
| 90 |
+
- mpmath==1.3.0
|
| 91 |
+
- natsort==8.4.0
|
| 92 |
+
- networkx==3.1
|
| 93 |
+
- numpy==1.25.0
|
| 94 |
+
- nvidia-cublas-cu11==11.10.3.66
|
| 95 |
+
- nvidia-cuda-cupti-cu11==11.7.101
|
| 96 |
+
- nvidia-cuda-nvrtc-cu11==11.7.99
|
| 97 |
+
- nvidia-cuda-runtime-cu11==11.7.99
|
| 98 |
+
- nvidia-cudnn-cu11==8.5.0.96
|
| 99 |
+
- nvidia-cufft-cu11==10.9.0.58
|
| 100 |
+
- nvidia-curand-cu11==10.2.10.91
|
| 101 |
+
- nvidia-cusolver-cu11==11.4.0.1
|
| 102 |
+
- nvidia-cusparse-cu11==11.7.4.91
|
| 103 |
+
- nvidia-nccl-cu11==2.14.3
|
| 104 |
+
- nvidia-nvtx-cu11==11.7.91
|
| 105 |
+
- oauthlib==3.2.2
|
| 106 |
+
- opencv-python==4.7.0.72
|
| 107 |
+
- pandas==2.0.3
|
| 108 |
+
- pathtools==0.1.2
|
| 109 |
+
- pillow==9.5.0
|
| 110 |
+
- pip==23.1.2
|
| 111 |
+
- protobuf==4.23.4
|
| 112 |
+
- psutil==5.9.0
|
| 113 |
+
- pyasn1==0.5.0
|
| 114 |
+
- pyasn1-modules==0.3.0
|
| 115 |
+
- pycocotools==2.0.6
|
| 116 |
+
- pyparsing==3.1.0
|
| 117 |
+
- pytz==2023.3
|
| 118 |
+
- pyyaml==6.0
|
| 119 |
+
- pyzmq==25.1.0
|
| 120 |
+
- requests==2.31.0
|
| 121 |
+
- requests-oauthlib==1.3.1
|
| 122 |
+
- rsa==4.9
|
| 123 |
+
- scikit-image==0.22.0
|
| 124 |
+
- scikit-learn==1.2.2
|
| 125 |
+
- scipy==1.11.0
|
| 126 |
+
- sentry-sdk==1.27.1
|
| 127 |
+
- setproctitle==1.3.2
|
| 128 |
+
- setuptools==67.8.0
|
| 129 |
+
- smmap==5.0.0
|
| 130 |
+
- sympy==1.12
|
| 131 |
+
- tensorboard==2.13.0
|
| 132 |
+
- tensorboard-data-server==0.7.1
|
| 133 |
+
- tensorboardx==2.6.1
|
| 134 |
+
- threadpoolctl==3.1.0
|
| 135 |
+
- tifffile==2023.9.26
|
| 136 |
+
- torch==2.0.1
|
| 137 |
+
- torchvision==0.15.2
|
| 138 |
+
- tornado==6.1
|
| 139 |
+
- tqdm==4.65.0
|
| 140 |
+
- triton==2.0.0
|
| 141 |
+
- tzdata==2023.3
|
| 142 |
+
- urllib3==1.26.16
|
| 143 |
+
- wandb==0.15.5
|
| 144 |
+
- werkzeug==2.3.6
|
| 145 |
+
- wheel==0.38.4
|
correspondence/SegSwap/model/moco_v2_800ep_pretrain_torchvision.pth.tar
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:d0a05442306e2a62f5dd0a00cf7cf8ed18121de291c89e255820c5f55f0c94d7
|
| 3 |
+
size 112184505
|
correspondence/SegSwap/model/model.pth
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:299e98583ff885764bdeebb388f8402736a0d552c7e0997a57012dcced3c6e11
|
| 3 |
+
size 77583173
|
correspondence/SegSwap/model/transformer.py
ADDED
|
@@ -0,0 +1,355 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from torch import nn
|
| 3 |
+
import torch.nn.functional as F
|
| 4 |
+
import math
|
| 5 |
+
|
| 6 |
+
### --- Positional encoding--- ###
|
| 7 |
+
### --- Borrowed from Detr--- ###
|
| 8 |
+
class PositionEncodingSine2D(nn.Module):
|
| 9 |
+
"""
|
| 10 |
+
This is a more standard version of the position embedding, very similar to the one
|
| 11 |
+
used by the Attention is all you need paper, generalized to work on images.
|
| 12 |
+
"""
|
| 13 |
+
def __init__(self, num_pos_feats=64, temperature=10000, normalize=True, scale=None):
|
| 14 |
+
super(PositionEncodingSine2D, self).__init__()
|
| 15 |
+
self.num_pos_feats = num_pos_feats
|
| 16 |
+
self.temperature = temperature
|
| 17 |
+
self.normalize = normalize
|
| 18 |
+
if scale is not None and normalize is False:
|
| 19 |
+
raise ValueError("normalize should be True if scale is passed")
|
| 20 |
+
if scale is None:
|
| 21 |
+
scale = 2 * math.pi
|
| 22 |
+
self.scale = scale
|
| 23 |
+
|
| 24 |
+
def forward(self, x, isTarget = False):
|
| 25 |
+
'''
|
| 26 |
+
input x: B, C, H, W
|
| 27 |
+
return pos: B, C, H, W
|
| 28 |
+
|
| 29 |
+
'''
|
| 30 |
+
not_mask = torch.ones(x.size()[0], x.size()[2], x.size()[3]).to(x.device)
|
| 31 |
+
y_embed = not_mask.cumsum(1, dtype=torch.float32)
|
| 32 |
+
x_embed = not_mask.cumsum(2, dtype=torch.float32)
|
| 33 |
+
|
| 34 |
+
if self.normalize:
|
| 35 |
+
eps = 1e-6
|
| 36 |
+
## no diff between source and target
|
| 37 |
+
y_embed = y_embed / (y_embed[:, -1:, :] + eps) * self.scale
|
| 38 |
+
x_embed = x_embed / (x_embed[:, :, -1:] + eps) * self.scale
|
| 39 |
+
|
| 40 |
+
dim_t = torch.arange(self.num_pos_feats, dtype=torch.float32, device=x.device)
|
| 41 |
+
dim_t = self.temperature ** (2 * (dim_t // 2) / self.num_pos_feats)
|
| 42 |
+
|
| 43 |
+
pos_x = x_embed[:, :, :, None] / dim_t
|
| 44 |
+
pos_y = y_embed[:, :, :, None] / dim_t
|
| 45 |
+
pos_x = torch.stack((pos_x[:, :, :, 0::2].sin(), pos_x[:, :, :, 1::2].cos()), dim=4).flatten(3)
|
| 46 |
+
pos_y = torch.stack((pos_y[:, :, :, 0::2].sin(), pos_y[:, :, :, 1::2].cos()), dim=4).flatten(3)
|
| 47 |
+
pos = torch.cat((pos_y, pos_x), dim=3).permute(0, 3, 1, 2)
|
| 48 |
+
return pos
|
| 49 |
+
|
| 50 |
+
class EncoderLayerInnerAttention(nn.Module):
|
| 51 |
+
"""
|
| 52 |
+
Transformer encoder with all paramters
|
| 53 |
+
"""
|
| 54 |
+
def __init__(self, d_model, nhead, dim_feedforward, dropout, activation, pos_weight, feat_weight):
|
| 55 |
+
super(EncoderLayerInnerAttention, self).__init__()
|
| 56 |
+
|
| 57 |
+
|
| 58 |
+
self.pos_weight = pos_weight
|
| 59 |
+
self.feat_weight = feat_weight
|
| 60 |
+
self.inner_encoder_layer = nn.TransformerEncoderLayer(d_model=d_model, nhead=nhead, dim_feedforward=dim_feedforward, dropout=dropout, activation = activation)
|
| 61 |
+
self.posEncoder = PositionEncodingSine2D(d_model // 2)
|
| 62 |
+
|
| 63 |
+
self.cross_encoder_layer = EncoderLayerCrossAttention(d_model=d_model, nhead=nhead, dim_feedforward=dim_feedforward,
|
| 64 |
+
dropout=dropout, activation=activation)
|
| 65 |
+
|
| 66 |
+
def forward(self, x, y, featmask, x_mask = None, y_mask = None):
|
| 67 |
+
'''
|
| 68 |
+
input x: B, C, H, W
|
| 69 |
+
input y: B, C, H, W
|
| 70 |
+
input x_mask: B, 1, H, W, mask == True will be ignored
|
| 71 |
+
input y_mask: B, 1, H, W, mask == True will be ignored
|
| 72 |
+
'''
|
| 73 |
+
|
| 74 |
+
# do cross attention on x and featmask
|
| 75 |
+
x = self.cross_encoder_layer(x, featmask, None)[0]
|
| 76 |
+
|
| 77 |
+
bx, cx, hx, wx = x.size()
|
| 78 |
+
|
| 79 |
+
by, cy, hy, wy = y.size()
|
| 80 |
+
|
| 81 |
+
posx = self.posEncoder(x)
|
| 82 |
+
posy = self.posEncoder(y)
|
| 83 |
+
|
| 84 |
+
|
| 85 |
+
featx = self.feat_weight * x + self.pos_weight * posx
|
| 86 |
+
featy = self.feat_weight * y + self.pos_weight * posy
|
| 87 |
+
|
| 88 |
+
|
| 89 |
+
## input of transformer should be : seq_len * batch_size * feat_dim
|
| 90 |
+
featx = featx.flatten(2).permute(2, 0, 1)
|
| 91 |
+
featy = featy.flatten(2).permute(2, 0, 1)
|
| 92 |
+
x_mask = x_mask.flatten(2).squeeze(1) if x_mask is not None else torch.cuda.BoolTensor(bx, hx * wx).fill_(False)
|
| 93 |
+
y_mask = y_mask.flatten(2).squeeze(1) if y_mask is not None else torch.cuda.BoolTensor(by, hy * wy).fill_(False)
|
| 94 |
+
|
| 95 |
+
## input of transformer: (seq_len*2) * batch_size * feat_dim
|
| 96 |
+
len_seq_x, len_seq_y = featx.size()[0], featy.size()[0]
|
| 97 |
+
|
| 98 |
+
output = torch.cat([featx, featy], dim=0)
|
| 99 |
+
src_key_padding_mask = torch.cat((x_mask, y_mask), dim=1)
|
| 100 |
+
with torch.no_grad() :
|
| 101 |
+
src_mask = torch.cuda.BoolTensor(hx * wx + hy * wy, hx * wx + hy * wy).fill_(True)
|
| 102 |
+
src_mask[:hx * wx, :hx * wx] = False
|
| 103 |
+
src_mask[hx * wx :, hx * wx:] = False
|
| 104 |
+
|
| 105 |
+
output = self.inner_encoder_layer(output, src_mask=src_mask, src_key_padding_mask=src_key_padding_mask)
|
| 106 |
+
|
| 107 |
+
outx, outy = output.narrow(0, 0, len_seq_x), output.narrow(0, len_seq_x, len_seq_y)
|
| 108 |
+
outx, outy = outx.permute(1, 2, 0).view(bx, cx, hx, wx), outy.permute(1, 2, 0).view(by, cy, hy, wy)
|
| 109 |
+
x_mask, y_mask = x_mask.view(bx, 1, hx, wx), y_mask.view(bx, 1, hy, wy)
|
| 110 |
+
|
| 111 |
+
return outx, outy, x_mask, y_mask
|
| 112 |
+
|
| 113 |
+
class EncoderLayerCrossAttention(nn.Module):
|
| 114 |
+
"""
|
| 115 |
+
Transformer encoder with all paramters
|
| 116 |
+
"""
|
| 117 |
+
def __init__(self, d_model, nhead, dim_feedforward, dropout, activation):
|
| 118 |
+
super(EncoderLayerCrossAttention, self).__init__()
|
| 119 |
+
|
| 120 |
+
self.cross_encoder_layer = nn.TransformerEncoderLayer(d_model=d_model, nhead=nhead, dim_feedforward=dim_feedforward, dropout=dropout, activation = activation)
|
| 121 |
+
|
| 122 |
+
def forward(self, featx, featy, featmask, x_mask = None, y_mask = None):
|
| 123 |
+
'''
|
| 124 |
+
input x: B, C, H, W
|
| 125 |
+
input y: B, C, H, W
|
| 126 |
+
input x_mask: B, 1, H, W, mask == True will be ignored
|
| 127 |
+
input y_mask: B, 1, H, W, mask == True will be ignored
|
| 128 |
+
'''
|
| 129 |
+
|
| 130 |
+
bx, cx, hx, wx = featx.size()
|
| 131 |
+
by, cy, hy, wy = featy.size()
|
| 132 |
+
|
| 133 |
+
## input of transformer should be : seq_len * batch_size * feat_dim
|
| 134 |
+
featx = featx.flatten(2).permute(2, 0, 1)
|
| 135 |
+
featy = featy.flatten(2).permute(2, 0, 1)
|
| 136 |
+
x_mask = x_mask.flatten(2).squeeze(1) if x_mask is not None else torch.cuda.BoolTensor(bx, hx * wx).fill_(False)
|
| 137 |
+
y_mask = y_mask.flatten(2).squeeze(1) if y_mask is not None else torch.cuda.BoolTensor(by, hy * wy).fill_(False)
|
| 138 |
+
|
| 139 |
+
## input of transformer: (seq_len*2) * batch_size * feat_dim
|
| 140 |
+
len_seq_x, len_seq_y = featx.size()[0], featy.size()[0]
|
| 141 |
+
|
| 142 |
+
output = torch.cat([featx, featy], dim=0)
|
| 143 |
+
src_key_padding_mask = torch.cat((x_mask, y_mask), dim=1)
|
| 144 |
+
with torch.no_grad() :
|
| 145 |
+
src_mask = torch.cuda.BoolTensor(hx * wx + hy * wy, hx * wx + hy * wy).fill_(False)
|
| 146 |
+
src_mask[:hx * wx, :hx * wx] = True
|
| 147 |
+
src_mask[hx * wx :, hx * wx:] = True
|
| 148 |
+
|
| 149 |
+
output = self.cross_encoder_layer(output, src_mask=src_mask, src_key_padding_mask=src_key_padding_mask)
|
| 150 |
+
|
| 151 |
+
outx, outy = output.narrow(0, 0, len_seq_x), output.narrow(0, len_seq_x, len_seq_y)
|
| 152 |
+
outx, outy = outx.permute(1, 2, 0).view(bx, cx, hx, wx), outy.permute(1, 2, 0).view(by, cy, hy, wy)
|
| 153 |
+
x_mask, y_mask = x_mask.view(bx, 1, hx, wx), y_mask.view(bx, 1, hy, wy)
|
| 154 |
+
|
| 155 |
+
return outx, outy, x_mask, y_mask
|
| 156 |
+
|
| 157 |
+
class EncoderLayerEmpty(nn.Module):
|
| 158 |
+
"""
|
| 159 |
+
Transformer encoder with all paramters
|
| 160 |
+
"""
|
| 161 |
+
def __init__(self):
|
| 162 |
+
super(EncoderLayerEmpty, self).__init__()
|
| 163 |
+
|
| 164 |
+
def forward(self, featx, featy, featmask, x_mask = None, y_mask = None):
|
| 165 |
+
'''
|
| 166 |
+
input x: B, C, H, W
|
| 167 |
+
input y: B, C, H, W
|
| 168 |
+
input x_mask: B, 1, H, W, mask == True will be ignored
|
| 169 |
+
input y_mask: B, 1, H, W, mask == True will be ignored
|
| 170 |
+
'''
|
| 171 |
+
return featx, featy, x_mask, y_mask
|
| 172 |
+
|
| 173 |
+
class EncoderLayerBlock(nn.Module):
|
| 174 |
+
"""
|
| 175 |
+
Transformer encoder with all paramters
|
| 176 |
+
"""
|
| 177 |
+
def __init__(self, d_model, nhead, dim_feedforward, dropout, activation, pos_weight, feat_weight, layer_type) :
|
| 178 |
+
super(EncoderLayerBlock, self).__init__()
|
| 179 |
+
|
| 180 |
+
cross_encoder_layer = EncoderLayerCrossAttention(d_model, nhead, dim_feedforward, dropout, activation)
|
| 181 |
+
att_encoder_layer = EncoderLayerInnerAttention(d_model, nhead, dim_feedforward, dropout, activation, pos_weight, feat_weight)
|
| 182 |
+
|
| 183 |
+
if layer_type[0] == 'C' :
|
| 184 |
+
self.layer1 = cross_encoder_layer
|
| 185 |
+
elif layer_type[0] == 'I' :
|
| 186 |
+
self.layer1 = att_encoder_layer
|
| 187 |
+
elif layer_type[0] == 'N' :
|
| 188 |
+
self.layer1 = EncoderLayerEmpty()
|
| 189 |
+
|
| 190 |
+
if layer_type[1] == 'C' :
|
| 191 |
+
self.layer2 = cross_encoder_layer
|
| 192 |
+
elif layer_type[1] == 'I' :
|
| 193 |
+
self.layer2 = att_encoder_layer
|
| 194 |
+
elif layer_type[1] == 'N' :
|
| 195 |
+
self.layer2 = EncoderLayerEmpty()
|
| 196 |
+
|
| 197 |
+
def forward(self, featx, featy, featmask, x_mask = None, y_mask = None):
|
| 198 |
+
'''
|
| 199 |
+
input x: B, C, H, W
|
| 200 |
+
input y: B, C, H, W
|
| 201 |
+
input x_mask: B, 1, H, W, mask == True will be ignored
|
| 202 |
+
input y_mask: B, 1, H, W, mask == True will be ignored
|
| 203 |
+
'''
|
| 204 |
+
|
| 205 |
+
featx, featy, x_mask, y_mask = self.layer1(featx, featy, featmask, x_mask, y_mask)
|
| 206 |
+
featx, featy, x_mask, y_mask = self.layer2(featx, featy, featmask, x_mask, y_mask)
|
| 207 |
+
|
| 208 |
+
return featx, featy, x_mask, y_mask
|
| 209 |
+
|
| 210 |
+
### --- Transformer Encoder --- ###
|
| 211 |
+
class Decoder(nn.Module):
|
| 212 |
+
|
| 213 |
+
def __init__(self, in_channels=256, out_channels=3):
|
| 214 |
+
super(Decoder, self).__init__()
|
| 215 |
+
|
| 216 |
+
self.deconv1 = nn.ConvTranspose2d(in_channels, 128, 2, stride=2) # 60
|
| 217 |
+
self.relu1 = nn.ReLU()
|
| 218 |
+
|
| 219 |
+
self.deconv2 = nn.ConvTranspose2d(128, out_channels, 2, stride=2) # 120
|
| 220 |
+
|
| 221 |
+
def forward(self, x):
|
| 222 |
+
|
| 223 |
+
x = self.deconv1(x)
|
| 224 |
+
x = self.relu1(x)
|
| 225 |
+
|
| 226 |
+
x = self.deconv2(x)
|
| 227 |
+
|
| 228 |
+
x = F.interpolate(x, scale_factor=4, mode='bilinear', align_corners=False)
|
| 229 |
+
|
| 230 |
+
return x
|
| 231 |
+
|
| 232 |
+
class ClsBranch(nn.Module):
|
| 233 |
+
# branch to predict if the object exists or not.
|
| 234 |
+
def __init__(self, in_dim):
|
| 235 |
+
super(ClsBranch, self).__init__()
|
| 236 |
+
|
| 237 |
+
self.conv = nn.Conv2d(in_dim, 1, 3)
|
| 238 |
+
self.relu = nn.ReLU()
|
| 239 |
+
|
| 240 |
+
self.mlp = nn.Sequential(*[nn.Linear(28*28, 32),
|
| 241 |
+
nn.ReLU(),
|
| 242 |
+
nn.Linear(32, 1),
|
| 243 |
+
nn.Sigmoid()])
|
| 244 |
+
|
| 245 |
+
def forward(self, x):
|
| 246 |
+
|
| 247 |
+
x = self.conv(x)
|
| 248 |
+
x = self.relu(x)
|
| 249 |
+
x = torch.flatten(x, start_dim=1)
|
| 250 |
+
x = self.mlp(x)
|
| 251 |
+
return x
|
| 252 |
+
|
| 253 |
+
class Encoder(nn.Module):
|
| 254 |
+
"""
|
| 255 |
+
Transformer encoder with all paramters
|
| 256 |
+
"""
|
| 257 |
+
def __init__(self, feat_dim, pos_weight = 0.1, feat_weight=1, d_model=512, nhead=8, num_layers=6, dim_feedforward=2048, dropout=0.1, activation='relu', layer_type = ['I', 'C', 'I', 'C', 'I', 'C'], drop_feat = 0.1):
|
| 258 |
+
super(Encoder, self).__init__()
|
| 259 |
+
|
| 260 |
+
self.num_layers = num_layers
|
| 261 |
+
self.feat_proj = nn.Conv2d(feat_dim, d_model, kernel_size=1)
|
| 262 |
+
self.drop_feat = nn.Dropout2d(p=drop_feat)
|
| 263 |
+
self.encoder_blocks = nn.ModuleList([EncoderLayerBlock(d_model, nhead, dim_feedforward, dropout, activation, pos_weight, feat_weight, layer_type[i * 2 : i * 2 + 2]) for i in range(num_layers)])
|
| 264 |
+
|
| 265 |
+
self.decoder = Decoder(d_model, 3)
|
| 266 |
+
self.cls_branch = ClsBranch(in_dim=256)
|
| 267 |
+
self.sigmoid = nn.Sigmoid()
|
| 268 |
+
self.eps = 1e-7
|
| 269 |
+
|
| 270 |
+
|
| 271 |
+
def forward(self, x, y, fmask, x_mask = None, y_mask = None):
|
| 272 |
+
'''
|
| 273 |
+
input x: B, C, H, W
|
| 274 |
+
input y: B, C, H, W
|
| 275 |
+
input x_mask: B, 1, H, W, mask == True will be ignored
|
| 276 |
+
input y_mask: B, 1, H, W, mask == True will be ignored
|
| 277 |
+
'''
|
| 278 |
+
featx = self.feat_proj (x)
|
| 279 |
+
featx = self.drop_feat(featx)
|
| 280 |
+
|
| 281 |
+
bx, cx, hx, wx = featx.size()
|
| 282 |
+
|
| 283 |
+
featy = self.feat_proj (y)
|
| 284 |
+
featy = self.drop_feat(featy)
|
| 285 |
+
|
| 286 |
+
by, cy, hy, wy = featy.size()
|
| 287 |
+
|
| 288 |
+
featmask = self.feat_proj(fmask)
|
| 289 |
+
|
| 290 |
+
for i in range(self.num_layers) :
|
| 291 |
+
featx, featy, x_mask, y_mask = self.encoder_blocks[i](featx, featy, featmask, x_mask, y_mask)
|
| 292 |
+
|
| 293 |
+
out_cls = self.cls_branch(featy)
|
| 294 |
+
outx = self.sigmoid(self.decoder(featx))
|
| 295 |
+
outy = self.sigmoid(self.decoder(featy))
|
| 296 |
+
|
| 297 |
+
outx = torch.clamp(outx, min=self.eps, max=1-self.eps)
|
| 298 |
+
outy = torch.clamp(outy, min=self.eps, max=1-self.eps)
|
| 299 |
+
|
| 300 |
+
return outx, outy, out_cls
|
| 301 |
+
|
| 302 |
+
### --- Transformer Encoder --- ###
|
| 303 |
+
class TransEncoder(nn.Module):
|
| 304 |
+
"""
|
| 305 |
+
Transformer encoder: small and large variants
|
| 306 |
+
"""
|
| 307 |
+
def __init__(self, feat_dim=1024, pos_weight = 0.1, feat_weight = 1, dropout=0.1, activation='relu', mode='small', layer_type=['I', 'C', 'I', 'C', 'I', 'N'], drop_feat=0.1):
|
| 308 |
+
super(TransEncoder, self).__init__()
|
| 309 |
+
|
| 310 |
+
if mode == 'tiny' :
|
| 311 |
+
d_model=128
|
| 312 |
+
nhead=2
|
| 313 |
+
num_layers=3
|
| 314 |
+
dim_feedforward=256
|
| 315 |
+
|
| 316 |
+
elif mode == 'small' :
|
| 317 |
+
d_model=256
|
| 318 |
+
nhead=2
|
| 319 |
+
num_layers=3
|
| 320 |
+
dim_feedforward=256
|
| 321 |
+
|
| 322 |
+
elif mode == 'base' :
|
| 323 |
+
d_model=512
|
| 324 |
+
nhead=8
|
| 325 |
+
num_layers=3
|
| 326 |
+
dim_feedforward=2048
|
| 327 |
+
|
| 328 |
+
elif mode == 'large' :
|
| 329 |
+
d_model=512
|
| 330 |
+
nhead=8
|
| 331 |
+
num_layers=6
|
| 332 |
+
dim_feedforward=2048
|
| 333 |
+
|
| 334 |
+
self.net = Encoder(feat_dim, pos_weight, feat_weight, d_model, nhead, num_layers, dim_feedforward, dropout, activation, layer_type, drop_feat)
|
| 335 |
+
|
| 336 |
+
def forward(self, x, y, fmask, x_mask = None, y_mask = None):
|
| 337 |
+
'''
|
| 338 |
+
input x: B, C, H, W
|
| 339 |
+
input y: B, C, H, W
|
| 340 |
+
|
| 341 |
+
'''
|
| 342 |
+
outx, outy, out_cls = self.net(x, y, fmask, x_mask, y_mask)
|
| 343 |
+
|
| 344 |
+
return outx, outy, out_cls
|
| 345 |
+
|
| 346 |
+
if __name__ == '__main__' :
|
| 347 |
+
|
| 348 |
+
feat_dim = 256
|
| 349 |
+
mode = 'small'
|
| 350 |
+
x = torch.cuda.FloatTensor(2, feat_dim, 10, 10)
|
| 351 |
+
x_mask = torch.cuda.BoolTensor(2, 1, 10, 10)
|
| 352 |
+
|
| 353 |
+
net = TransEncoder()
|
| 354 |
+
|
| 355 |
+
print (net)
|
correspondence/SegSwap/process_data.sh
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/bin/bash
|
| 2 |
+
#SBATCH --job-name=process_data13 # Job name
|
| 3 |
+
#SBATCH --nodes=1 # Request 1 node
|
| 4 |
+
#SBATCH --ntasks-per-node=1
|
| 5 |
+
#SBATCH --cpus-per-task=16
|
| 6 |
+
#SBATCH --mem-per-cpu=8G
|
| 7 |
+
#SBATCH --time=24:00:00 # Job timeout
|
| 8 |
+
#SBATCH --output=process_test_data_20250512_check.log # Redirect stdout to a log file
|
| 9 |
+
#SBATCH --nodelist=gcpcpu-eu-1
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
|
| 13 |
+
cd /home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/SegSwap
|
| 14 |
+
|
| 15 |
+
srun --nodes "$SLURM_NNODES" --ntasks-per-node 1 -- \
|
| 16 |
+
mkenv -f /home/yuqian_fu/environment.yml -- \
|
| 17 |
+
sh -c "
|
| 18 |
+
|
| 19 |
+
python data/process_data_new.py --takepath /work/yuqian_fu/Ego/egoexo4d_keystep/takes --annotationpath /work/yuqian_fu/Ego/New_annotations/annotations/relations_test.json --split_path /home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/split.json --split test --outputpath /work/yuqian_fu/Ego/data_segswap_test_20250512
|
| 20 |
+
|
| 21 |
+
"
|
| 22 |
+
|
| 23 |
+
|
| 24 |
+
|
correspondence/SegSwap/process_test_data_20250507.log
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
| 0 |
0%| | 0/295 [00:00<?, ?it/s]
|
| 1 |
0%| | 1/295 [02:02<10:01:18, 122.72s/it]Killed
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
0%| | 0/295 [00:00<?, ?it/s]
|
| 3 |
0%| | 1/295 [02:02<10:01:18, 122.72s/it]Killed
|
| 4 |
+
slurmstepd: error: Detected 1 oom_kill event in StepId=221267.0. Some of the step tasks have been OOM Killed.
|
| 5 |
+
srun: error: gcpl4-eu-0: task 0: Out Of Memory
|
correspondence/SegSwap/process_test_data_20250508_new.log
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
| 0 |
0%| | 0/295 [00:00<?, ?it/s]
|
| 1 |
0%| | 1/295 [01:23<6:49:06, 83.49s/it]
|
| 2 |
1%| | 2/295 [05:30<14:37:59, 179.79s/it]
|
| 3 |
1%| | 3/295 [06:07<9:16:38, 114.38s/it]
|
| 4 |
1%|▏ | 4/295 [06:19<5:59:30, 74.12s/it]
|
| 5 |
2%|▏ | 5/295 [06:32<4:11:20, 52.00s/it]
|
| 6 |
2%|▏ | 6/295 [07:56<5:03:31, 63.02s/it]
|
| 7 |
2%|▏ | 7/295 [23:20<27:32:50, 344.34s/it]
|
| 8 |
3%|▎ | 8/295 [27:08<24:29:52, 307.29s/it]
|
| 9 |
3%|▎ | 9/295 [27:39<17:33:31, 221.02s/it]
|
| 10 |
3%|▎ | 10/295 [29:27<14:43:17, 185.96s/it]
|
| 11 |
4%|▎ | 11/295 [30:21<11:29:21, 145.64s/it]
|
| 12 |
4%|▍ | 12/295 [30:40<8:25:56, 107.27s/it]
|
| 13 |
4%|▍ | 13/295 [31:15<6:40:31, 85.22s/it]
|
| 14 |
5%|▍ | 14/295 [35:09<10:09:43, 130.19s/it]
|
| 15 |
5%|▌ | 15/295 [37:33<10:27:48, 134.53s/it]
|
| 16 |
5%|▌ | 16/295 [46:20<19:33:39, 252.40s/it]
|
| 17 |
6%|▌ | 17/295 [48:44<16:59:06, 219.95s/it]
|
| 18 |
6%|▌ | 18/295 [49:08<12:22:51, 160.91s/it]
|
| 19 |
6%|▋ slurmstepd: error: *** JOB 221511 ON gcpl4-eu-0 CANCELLED AT 2025-05-08T09:51:37 ***
|
|
|
|
| 20 |
7%|▋ | 20/295 [52:44<9:50:48, 128.90s/it]
|
| 21 |
7%|▋ | 21/295 [53:12<7:31:08, 98.79s/it]
|
| 22 |
7%|▋ | 22/295 [53:40<5:52:30, 77.48s/it]
|
| 23 |
8%|▊ | 23/295 [55:02<5:57:20, 78.82s/it]
|
| 24 |
8%|▊ | 24/295 [1:00:08<11:03:51, 146.98s/it]
|
| 25 |
8%|▊ | 25/295 [1:00:17<7:56:00, 105.78s/it]
|
| 26 |
9%|▉ | 26/295 [1:04:41<11:26:12, 153.06s/it]
|
| 27 |
9%|▉ | 27/295 [1:06:26<10:18:58, 138.58s/it]slurmstepd: error: *** STEP 221511.0 ON gcpl4-eu-0 CANCELLED AT 2025-05-08T09:51:37 ***
|
|
|
|
|
|
| 1 |
+
|
| 2 |
0%| | 0/295 [00:00<?, ?it/s]
|
| 3 |
0%| | 1/295 [01:23<6:49:06, 83.49s/it]
|
| 4 |
1%| | 2/295 [05:30<14:37:59, 179.79s/it]
|
| 5 |
1%| | 3/295 [06:07<9:16:38, 114.38s/it]
|
| 6 |
1%|▏ | 4/295 [06:19<5:59:30, 74.12s/it]
|
| 7 |
2%|▏ | 5/295 [06:32<4:11:20, 52.00s/it]
|
| 8 |
2%|▏ | 6/295 [07:56<5:03:31, 63.02s/it]
|
| 9 |
2%|▏ | 7/295 [23:20<27:32:50, 344.34s/it]
|
| 10 |
3%|▎ | 8/295 [27:08<24:29:52, 307.29s/it]
|
| 11 |
3%|▎ | 9/295 [27:39<17:33:31, 221.02s/it]
|
| 12 |
3%|▎ | 10/295 [29:27<14:43:17, 185.96s/it]
|
| 13 |
4%|▎ | 11/295 [30:21<11:29:21, 145.64s/it]
|
| 14 |
4%|▍ | 12/295 [30:40<8:25:56, 107.27s/it]
|
| 15 |
4%|▍ | 13/295 [31:15<6:40:31, 85.22s/it]
|
| 16 |
5%|▍ | 14/295 [35:09<10:09:43, 130.19s/it]
|
| 17 |
5%|▌ | 15/295 [37:33<10:27:48, 134.53s/it]
|
| 18 |
5%|▌ | 16/295 [46:20<19:33:39, 252.40s/it]
|
| 19 |
6%|▌ | 17/295 [48:44<16:59:06, 219.95s/it]
|
| 20 |
6%|▌ | 18/295 [49:08<12:22:51, 160.91s/it]
|
| 21 |
6%|▋ slurmstepd: error: *** JOB 221511 ON gcpl4-eu-0 CANCELLED AT 2025-05-08T09:51:37 ***
|
| 22 |
+
| 19/295 [51:51<12:23:35, 161.65s/it]
|
| 23 |
7%|▋ | 20/295 [52:44<9:50:48, 128.90s/it]
|
| 24 |
7%|▋ | 21/295 [53:12<7:31:08, 98.79s/it]
|
| 25 |
7%|▋ | 22/295 [53:40<5:52:30, 77.48s/it]
|
| 26 |
8%|▊ | 23/295 [55:02<5:57:20, 78.82s/it]
|
| 27 |
8%|▊ | 24/295 [1:00:08<11:03:51, 146.98s/it]
|
| 28 |
8%|▊ | 25/295 [1:00:17<7:56:00, 105.78s/it]
|
| 29 |
9%|▉ | 26/295 [1:04:41<11:26:12, 153.06s/it]
|
| 30 |
9%|▉ | 27/295 [1:06:26<10:18:58, 138.58s/it]slurmstepd: error: *** STEP 221511.0 ON gcpl4-eu-0 CANCELLED AT 2025-05-08T09:51:37 ***
|
| 31 |
+
srun: Job step aborted: Waiting up to 32 seconds for job step to finish.
|
correspondence/SegSwap/process_test_data_20250508_new666.log
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
| 0 |
0%| | 0/295 [00:00<?, ?it/s]
|
| 1 |
0%| | 1/295 [01:24<6:53:06, 84.31s/it]
|
| 2 |
1%| | 2/295 [05:25<14:20:59, 176.31s/it]
|
| 3 |
1%| | 3/295 [06:01<9:06:54, 112.38s/it]
|
| 4 |
1%|▏ | 4/295 [06:13<5:53:22, 72.86s/it]
|
| 5 |
2%|▏ | 5/295 [06:26<4:07:12, 51.15s/it]
|
| 6 |
2%|▏ | 6/295 [07:50<5:00:56, 62.48s/it]
|
| 7 |
2%|▏ | 7/295 [23:31<27:58:14, 349.63s/it]
|
| 8 |
3%|▎ | 8/295 [27:15<24:40:31, 309.52s/it]
|
| 9 |
3%|▎ | 9/295 [27:46<17:41:18, 222.65s/it]
|
| 10 |
3%|▎ | 10/295 [29:33<14:47:38, 186.87s/it]
|
| 11 |
4%|▎ | 11/295 [30:27<11:31:47, 146.15s/it]
|
| 12 |
4%|▍ | 12/295 [30:46<8:27:29, 107.59s/it]
|
| 13 |
4%|▍ | 13/295 [31:20<6:40:50, 85.29s/it]
|
| 14 |
5%|▍ | 14/295 [35:15<10:10:33, 130.37s/it]
|
| 15 |
5%|▌ | 15/295 [37:40<10:29:53, 134.98s/it]
|
| 16 |
5%|▌ | 16/295 [46:29<19:39:09, 253.58s/it]
|
| 17 |
6%|▌ | 17/295 [48:53<17:01:34, 220.48s/it]
|
| 18 |
6%|▌ | 18/295 [49:16<12:24:03, 161.17s/it]
|
| 19 |
6%|▋ slurmstepd: error: *** JOB 221542 ON gcpl4-eu-0 CANCELLED AT 2025-05-08T12:04:17 ***
|
|
|
|
| 20 |
7%|▋ | 20/295 [52:51<9:50:17, 128.79s/it]
|
| 21 |
7%|▋ | 21/295 [53:19<7:30:31, 98.66s/it]
|
| 22 |
7%|▋ | 22/295 [53:47<5:51:41, 77.29s/it]
|
| 23 |
8%|▊ | 23/295 [55:09<5:56:37, 78.67s/it]
|
| 24 |
8%|▊ | 24/295 [1:00:15<11:03:42, 146.95s/it]
|
| 25 |
8%|▊ | 25/295 [1:00:25<7:55:41, 105.71s/it] slurmstepd: error: *** STEP 221542.0 ON gcpl4-eu-0 CANCELLED AT 2025-05-08T12:04:17 ***
|
|
|
|
|
|
| 1 |
+
|
| 2 |
0%| | 0/295 [00:00<?, ?it/s]
|
| 3 |
0%| | 1/295 [01:24<6:53:06, 84.31s/it]
|
| 4 |
1%| | 2/295 [05:25<14:20:59, 176.31s/it]
|
| 5 |
1%| | 3/295 [06:01<9:06:54, 112.38s/it]
|
| 6 |
1%|▏ | 4/295 [06:13<5:53:22, 72.86s/it]
|
| 7 |
2%|▏ | 5/295 [06:26<4:07:12, 51.15s/it]
|
| 8 |
2%|▏ | 6/295 [07:50<5:00:56, 62.48s/it]
|
| 9 |
2%|▏ | 7/295 [23:31<27:58:14, 349.63s/it]
|
| 10 |
3%|▎ | 8/295 [27:15<24:40:31, 309.52s/it]
|
| 11 |
3%|▎ | 9/295 [27:46<17:41:18, 222.65s/it]
|
| 12 |
3%|▎ | 10/295 [29:33<14:47:38, 186.87s/it]
|
| 13 |
4%|▎ | 11/295 [30:27<11:31:47, 146.15s/it]
|
| 14 |
4%|▍ | 12/295 [30:46<8:27:29, 107.59s/it]
|
| 15 |
4%|▍ | 13/295 [31:20<6:40:50, 85.29s/it]
|
| 16 |
5%|▍ | 14/295 [35:15<10:10:33, 130.37s/it]
|
| 17 |
5%|▌ | 15/295 [37:40<10:29:53, 134.98s/it]
|
| 18 |
5%|▌ | 16/295 [46:29<19:39:09, 253.58s/it]
|
| 19 |
6%|▌ | 17/295 [48:53<17:01:34, 220.48s/it]
|
| 20 |
6%|▌ | 18/295 [49:16<12:24:03, 161.17s/it]
|
| 21 |
6%|▋ slurmstepd: error: *** JOB 221542 ON gcpl4-eu-0 CANCELLED AT 2025-05-08T12:04:17 ***
|
| 22 |
+
| 19/295 [51:59<12:23:46, 161.69s/it]
|
| 23 |
7%|▋ | 20/295 [52:51<9:50:17, 128.79s/it]
|
| 24 |
7%|▋ | 21/295 [53:19<7:30:31, 98.66s/it]
|
| 25 |
7%|▋ | 22/295 [53:47<5:51:41, 77.29s/it]
|
| 26 |
8%|▊ | 23/295 [55:09<5:56:37, 78.67s/it]
|
| 27 |
8%|▊ | 24/295 [1:00:15<11:03:42, 146.95s/it]
|
| 28 |
8%|▊ | 25/295 [1:00:25<7:55:41, 105.71s/it] slurmstepd: error: *** STEP 221542.0 ON gcpl4-eu-0 CANCELLED AT 2025-05-08T12:04:17 ***
|
| 29 |
+
srun: Job step aborted: Waiting up to 32 seconds for job step to finish.
|
correspondence/SegSwap/process_test_data_20250508_new888.log
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Traceback (most recent call last):
|
| 2 |
+
File "/home/yuqian_fu/Projects/ego-exo4d-relation/correspondence/SegSwap/data/process_data_new.py", line 123, in <module>
|
| 3 |
+
with open(args.annotationpath, "r") as f:
|
| 4 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 5 |
+
FileNotFoundError: [Errno 2] No such file or directory: '/work/yuqian_fu/Ego/New_annotations/annotations/relations_test.json'
|
| 6 |
+
srun: error: msp3-1: task 0: Exited with exit code 1
|
correspondence/SegSwap/process_test_data_20250508_new999.log
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
| 0 |
0%| | 0/295 [00:00<?, ?it/s]
|
| 1 |
0%| | 1/295 [01:18<6:25:37, 78.70s/it]
|
| 2 |
1%| | 2/295 [05:22<14:17:58, 175.70s/it]
|
| 3 |
1%| | 3/295 [05:57<9:02:29, 111.47s/it]
|
| 4 |
1%|▏ | 4/295 [06:09<5:49:56, 72.15s/it]
|
| 5 |
2%|▏ | 5/295 [06:21<4:04:52, 50.66s/it]
|
| 6 |
2%|▏ | 6/295 [07:45<4:57:35, 61.78s/it]
|
| 7 |
2%|▏ | 7/295 [22:26<26:23:20, 329.86s/it]
|
| 8 |
3%|▎ | 8/295 [26:06<23:30:18, 294.84s/it]
|
| 9 |
3%|▎ | 9/295 [26:37<16:52:04, 212.32s/it]
|
| 10 |
3%|▎ | 10/295 [28:22<14:10:32, 179.06s/it]
|
| 11 |
4%|▎ | 11/295 [29:15<11:05:45, 140.65s/it]
|
| 12 |
4%|▍ | 12/295 [29:35<8:09:13, 103.72s/it]
|
| 13 |
4%|▍ | 13/295 [30:08<6:27:08, 82.37s/it]
|
| 14 |
5%|▍ | 14/295 [33:47<9:38:40, 123.56s/it]
|
| 15 |
5%|▌ | 15/295 [36:10<10:04:22, 129.51s/it]
|
| 16 |
5%|▌ | 16/295 [44:35<18:48:26, 242.67s/it]
|
| 17 |
6%|▌ | 17/295 [46:51<16:15:51, 210.62s/it]
|
| 18 |
6%|▌ | 18/295 [47:14<11:51:50, 154.19s/it]
|
| 19 |
6%|▋ | 19/295 [49:49<11:50:26, 154.45s/it]
|
| 20 |
7%|▋ | 20/295 [50:41<9:26:04, 123.51s/it]
|
| 21 |
7%|▋ | 21/295 [51:09<7:13:14, 94.87s/it]
|
| 22 |
7%|▋ | 22/295 [51:36<5:38:38, 74.43s/it]
|
| 23 |
8%|▊ | 23/295 [52:55<5:43:37, 75.80s/it]
|
| 24 |
8%|▊ | 24/295 [57:44<10:32:30, 140.04s/it]
|
| 25 |
8%|▊ | 25/295 [57:54<7:33:50, 100.85s/it]
|
| 26 |
9%|▉ | 26/295 [1:02:09<10:59:39, 147.14s/it]
|
| 27 |
9%|▉ | 27/295 [1:03:48<9:52:42, 132.70s/it] slurmstepd: error: *** STEP 221704.0 ON gcpl4-eu-0 CANCELLED AT 2025-05-08T14:25:01 ***
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
0%| | 0/295 [00:00<?, ?it/s]
|
| 3 |
0%| | 1/295 [01:18<6:25:37, 78.70s/it]
|
| 4 |
1%| | 2/295 [05:22<14:17:58, 175.70s/it]
|
| 5 |
1%| | 3/295 [05:57<9:02:29, 111.47s/it]
|
| 6 |
1%|▏ | 4/295 [06:09<5:49:56, 72.15s/it]
|
| 7 |
2%|▏ | 5/295 [06:21<4:04:52, 50.66s/it]
|
| 8 |
2%|▏ | 6/295 [07:45<4:57:35, 61.78s/it]
|
| 9 |
2%|▏ | 7/295 [22:26<26:23:20, 329.86s/it]
|
| 10 |
3%|▎ | 8/295 [26:06<23:30:18, 294.84s/it]
|
| 11 |
3%|▎ | 9/295 [26:37<16:52:04, 212.32s/it]
|
| 12 |
3%|▎ | 10/295 [28:22<14:10:32, 179.06s/it]
|
| 13 |
4%|▎ | 11/295 [29:15<11:05:45, 140.65s/it]
|
| 14 |
4%|▍ | 12/295 [29:35<8:09:13, 103.72s/it]
|
| 15 |
4%|▍ | 13/295 [30:08<6:27:08, 82.37s/it]
|
| 16 |
5%|▍ | 14/295 [33:47<9:38:40, 123.56s/it]
|
| 17 |
5%|▌ | 15/295 [36:10<10:04:22, 129.51s/it]
|
| 18 |
5%|▌ | 16/295 [44:35<18:48:26, 242.67s/it]
|
| 19 |
6%|▌ | 17/295 [46:51<16:15:51, 210.62s/it]
|
| 20 |
6%|▌ | 18/295 [47:14<11:51:50, 154.19s/it]
|
| 21 |
6%|▋ | 19/295 [49:49<11:50:26, 154.45s/it]
|
| 22 |
7%|▋ | 20/295 [50:41<9:26:04, 123.51s/it]
|
| 23 |
7%|▋ | 21/295 [51:09<7:13:14, 94.87s/it]
|
| 24 |
7%|▋ | 22/295 [51:36<5:38:38, 74.43s/it]
|
| 25 |
8%|▊ | 23/295 [52:55<5:43:37, 75.80s/it]
|
| 26 |
8%|▊ | 24/295 [57:44<10:32:30, 140.04s/it]
|
| 27 |
8%|▊ | 25/295 [57:54<7:33:50, 100.85s/it]
|
| 28 |
9%|▉ | 26/295 [1:02:09<10:59:39, 147.14s/it]
|
| 29 |
9%|▉ | 27/295 [1:03:48<9:52:42, 132.70s/it] slurmstepd: error: *** STEP 221704.0 ON gcpl4-eu-0 CANCELLED AT 2025-05-08T14:25:01 ***
|
| 30 |
+
slurmstepd: error: *** JOB 221704 ON gcpl4-eu-0 CANCELLED AT 2025-05-08T14:25:01 ***
|
| 31 |
+
srun: Job step aborted: Waiting up to 32 seconds for job step to finish.
|
correspondence/SegSwap/process_test_data_20250511_new.log
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
| 0 |
0%| | 0/295 [00:00<?, ?it/s]
|
| 1 |
9%|▉ | 28/295 [05:41<54:16, 12.20s/it]
|
| 2 |
10%|▉ | 29/295 [06:04<56:17, 12.70s/it]
|
| 3 |
10%|█ | 30/295 [06:21<57:32, 13.03s/it]
|
| 4 |
11%|█ | 31/295 [06:55<1:04:58, 14.77s/it]
|
| 5 |
11%|█ | 32/295 [07:11<1:05:12, 14.88s/it]
|
| 6 |
11%|█ | 33/295 [07:23<1:03:29, 14.54s/it]
|
| 7 |
12%|█▏ | 34/295 [14:42<5:59:29, 82.64s/it]
|
| 8 |
12%|█▏ | 35/295 [39:31<24:53:50, 344.73s/it]
|
| 9 |
12%|█▏ | 36/295 [40:32<20:30:13, 285.00s/it]
|
| 10 |
13%|█▎ | 37/295 [42:49<17:58:38, 250.85s/it]
|
| 11 |
13%|█▎ | 38/295 [52:40<23:56:35, 335.39s/it]
|
| 12 |
13%|█▎ | 39/295 [52:54<17:52:18, 251.32s/it]
|
| 13 |
14%|█▎ | 40/295 [57:27<18:12:54, 257.15s/it]
|
| 14 |
14%|█▍ | 41/295 [57:54<13:35:57, 192.75s/it]
|
| 15 |
14%|█▍ | 42/295 [58:16<10:06:45, 143.90s/it]
|
| 16 |
15%|█▍ | 43/295 [59:59<9:15:00, 132.14s/it]
|
| 17 |
15%|█▍ | 44/295 [1:02:34<9:40:32, 138.78s/it]
|
| 18 |
15%|█▌ | 45/295 [1:03:00<7:19:50,slurmstepd: error: *** JOB 227599 ON gcp-eu-1 CANCELLED AT 2025-05-11T16:37:21 ***
|
|
|
|
| 19 |
16%|█▌ | 46/295 [1:03:21<5:33:59, 80.48s/it]
|
| 20 |
16%|█▌ | 47/295 [1:03:41<4:18:35, 62.56s/it]slurmstepd: error: *** STEP 227599.0 ON gcp-eu-1 CANCELLED AT 2025-05-11T16:37:21 ***
|
|
|
|
|
|
| 1 |
+
|
| 2 |
0%| | 0/295 [00:00<?, ?it/s]
|
| 3 |
9%|▉ | 28/295 [05:41<54:16, 12.20s/it]
|
| 4 |
10%|▉ | 29/295 [06:04<56:17, 12.70s/it]
|
| 5 |
10%|█ | 30/295 [06:21<57:32, 13.03s/it]
|
| 6 |
11%|█ | 31/295 [06:55<1:04:58, 14.77s/it]
|
| 7 |
11%|█ | 32/295 [07:11<1:05:12, 14.88s/it]
|
| 8 |
11%|█ | 33/295 [07:23<1:03:29, 14.54s/it]
|
| 9 |
12%|█▏ | 34/295 [14:42<5:59:29, 82.64s/it]
|
| 10 |
12%|█▏ | 35/295 [39:31<24:53:50, 344.73s/it]
|
| 11 |
12%|█▏ | 36/295 [40:32<20:30:13, 285.00s/it]
|
| 12 |
13%|█▎ | 37/295 [42:49<17:58:38, 250.85s/it]
|
| 13 |
13%|█▎ | 38/295 [52:40<23:56:35, 335.39s/it]
|
| 14 |
13%|█▎ | 39/295 [52:54<17:52:18, 251.32s/it]
|
| 15 |
14%|█▎ | 40/295 [57:27<18:12:54, 257.15s/it]
|
| 16 |
14%|█▍ | 41/295 [57:54<13:35:57, 192.75s/it]
|
| 17 |
14%|█▍ | 42/295 [58:16<10:06:45, 143.90s/it]
|
| 18 |
15%|█▍ | 43/295 [59:59<9:15:00, 132.14s/it]
|
| 19 |
15%|█▍ | 44/295 [1:02:34<9:40:32, 138.78s/it]
|
| 20 |
15%|█▌ | 45/295 [1:03:00<7:19:50,slurmstepd: error: *** JOB 227599 ON gcp-eu-1 CANCELLED AT 2025-05-11T16:37:21 ***
|
| 21 |
+
105.56s/it]
|
| 22 |
16%|█▌ | 46/295 [1:03:21<5:33:59, 80.48s/it]
|
| 23 |
16%|█▌ | 47/295 [1:03:41<4:18:35, 62.56s/it]slurmstepd: error: *** STEP 227599.0 ON gcp-eu-1 CANCELLED AT 2025-05-11T16:37:21 ***
|
| 24 |
+
srun: Job step aborted: Waiting up to 32 seconds for job step to finish.
|
correspondence/SegSwap/process_test_data_20250512.log
ADDED
|
@@ -0,0 +1,795 @@
|
|
|
|
|
| 0 |
0%| | 0/295 [00:00<?, ?it/s]
|
| 1 |
16%|█▌ | 47/295 [00:20<01:49, 2.27it/s]
|
| 2 |
16%|█▋ | 48/295 [01:13<08:12, 1.99s/it]
|
| 3 |
17%|█▋ | 49/295 [01:32<10:52, 2.65s/it]
|
| 4 |
17%|█▋ | 50/295 [06:04<1:11:02, 17.40s/it]
|
| 5 |
17%|█▋ | 51/295 [06:13<1:08:07, 16.75s/it]
|
| 6 |
18%|█▊ | 52/295 [11:04<2:52:01, 42.48s/it]
|
| 7 |
18%|█▊ | 53/295 [11:16<2:37:00, 38.93s/it]
|
| 8 |
18%|█▊ | 54/295 [11:36<2:25:23, 36.20s/it]
|
| 9 |
19%|█▊ | 55/295 [11:55<2:12:53, 33.22s/it]
|
| 10 |
19%|█▉ | 56/295 [13:39<3:07:25, 47.05s/it]
|
| 11 |
19%|█▉ | 57/295 [13:51<2:36:08, 39.36s/it]
|
| 12 |
20%|█▉ | 58/295 [18:23<6:14:53, 94.91s/it]
|
| 13 |
20%|██ | 59/295 [18:51<5:06:26, 77.91s/it]
|
| 14 |
20%|██ | 60/295 [20:54<5:51:36, 89.77s/it]
|
| 15 |
21%|██ | 61/295 [21:20<4:41:51, 72.27s/it]
|
| 16 |
21%|██ | 62/295 [30:01<12:52:50, 199.01s/it]
|
| 17 |
21%|██▏ | 63/295 [32:29<11:52:43, 184.33s/it]
|
| 18 |
22%|██▏ | 64/295 [44:37<21:59:24, 342.71s/it]
|
| 19 |
22%|██▏ | 65/295 [45:08<16:02:54, 251.20s/it]
|
| 20 |
22%|██▏ | 66/295 [48:53<15:28:10, 243.19s/it]
|
| 21 |
23%|██▎ | 67/295 [51:36<13:54:08, 219.51s/it]
|
| 22 |
23%|██▎ | 68/295 [54:03<12:28:37, 197.87s/it]
|
| 23 |
23%|██▎ | 69/295 [54:26<9:08:19, 145.57s/it]
|
| 24 |
24%|██▎ | 70/295 [54:49<6:48:35, 108.96s/it]
|
| 25 |
24%|██▍ | 71/295 [55:02<5:00:13, 80.42s/it]
|
| 26 |
24%|██▍ | 72/295 [56:23<4:59:01, 80.46s/it]
|
| 27 |
25%|██▍ | 73/295 [58:07<5:23:35, 87.46s/it]
|
| 28 |
25%|██▌ | 74/295 [58:30<4:11:50, 68.37s/it]
|
| 29 |
25%|██▌ | 75/295 [59:04<3:32:20, 57.91s/it]
|
| 30 |
26%|██▌ | 76/295 [59:26<2:51:58, 47.12s/it]
|
| 31 |
26%|██▌ | 77/295 [1:02:37<5:28:07, 90.31s/it]
|
| 32 |
26%|██▋ | 78/295 [1:03:12<4:26:53, 73.79s/it]
|
| 33 |
27%|██▋ | 79/295 [1:03:28<3:23:01, 56.40s/it]
|
| 34 |
27%|██▋ | 80/295 [1:04:16<3:13:32, 54.01s/it]
|
| 35 |
27%|██▋ | 81/295 [1:05:02<3:04:09, 51.64s/it]
|
| 36 |
28%|██▊ |b5d293bf-2d0a-43be-8a7b-4b66ba9b6835 already done!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
28%|██▊ | 83/295 [1:17:27<11:02:40, 187.55s/it]
|
| 38 |
28%|██▊ | 84/295 [1:17:45<8:00:17, 136.58s/it]
|
| 39 |
29%|██▉ | 85/295 [1:19:15<7:09:07, 122.61s/it]
|
| 40 |
29%|██▉ | 86/295 [1:20:35<6:23:19, 110.04s/it]
|
| 41 |
29%|██▉ | 87/295 [1:21:13<5:06:20, 88.37s/it]
|
| 42 |
30%|██▉ | 88/295 [1:21:31<3:52:23, 67.36s/it]
|
| 43 |
30%|███ | 89/295 [1:22:04<3:15:47, 57.03s/it]
|
| 44 |
31%|███ | 90/295 [1:22:34<2:47:04, 48.90s/it]
|
| 45 |
31%|███ | 91/295 [1:23:11<2:33:26, 45.13s/it]
|
| 46 |
31%|███ | 92/295 [1:24:15<2:52:23, 50.95s/it]
|
| 47 |
32%|███▏ | 93/295 [1:26:24<4:10:28, 74.40s/it]
|
| 48 |
32%|███▏ | 94/295 [1:26:36<3:06:40, 55.72s/it]
|
| 49 |
32%|███▏ | 95/295 [1:27:46<3:19:58, 59.99s/it]
|
| 50 |
33%|███▎ | 96/295 [1:30:08<4:40:09, 84.47s/it]
|
| 51 |
33%|███▎ | 97/295 [1:34:04<7:08:41, 129.91s/it]
|
| 52 |
33%|███▎ | 98/295 [1:34:23<5:17:24, 96.67s/it]
|
| 53 |
34%|███▎ | 99/295 [1:37:51<7:05:15, 130.18s/it]
|
| 54 |
34%|███▍ | 100/295 [1:46:21<13:13:17, 244.09s/it]
|
| 55 |
34%|███▍ | 101/295 [1:49:12<11:57:51, 222.02s/it]
|
| 56 |
35%|███▍ | 102/295 [1:49:25<8:32:38, 159.37s/it]
|
| 57 |
35%|███▍ | 103/295 [1:49:33<6:04:40, 113.96s/it]
|
| 58 |
35%|███▌ | 104/295 [1:57:29<11:48:26, 222.55s/it]
|
| 59 |
36%|███▌ | 105/295 [1:58:16<8:58:20, 170.00s/it]
|
| 60 |
36%|███▌ | 106/295 [1:58:52<6:48:40, 129.74s/it]
|
| 61 |
36%|███▋ | 107/295 [1:59:27<5:17:50, 101.44s/it]
|
| 62 |
37%|███▋ | 108/295 [1:59:50<4:02:46, 77.89s/it]
|
| 63 |
37%|███▋ | 109/295 [2:01:13<4:05:58, 79.35s/it]
|
| 64 |
37%|███▋ | 110/295 [2:01:32<3:08:42, 61.20s/it]
|
| 65 |
38%|███▊ | 111/295 [2:04:41<5:05:31, 99.63s/it]
|
| 66 |
38%|███▊ | 112/295 [2:04:56<3:46:28, 74.25s/it]
|
| 67 |
38%|███▊ | 113/295 [2:08:51<6:10:51, 122.26s/it]
|
| 68 |
39%|███▊ | 114/295 [2:09:42<5:04:37, 100.98s/it]
|
| 69 |
39%|███▉ | 115/295 [2:11:31<5:10:34, 103.52s/it]
|
| 70 |
39%|███▉ | 116/295 [2:11:41<3:44:49, 75.36s/it]
|
| 71 |
40%|███▉ | 117/295 [2:13:06<3:51:53, 78.17s/it]
|
| 72 |
40%|████ | 118/295 [2:13:22<2:55:22, 59.45s/it]
|
| 73 |
40%|████ | 119/295 [2:13:57<2:33:26, 52.31s/it]
|
| 74 |
41%|████ | 120/295 [2:15:57<3:31:54, 72.65s/it]
|
| 75 |
41%|████ | 121/295 [2:17:01<3:23:06, 70.04s/it]
|
| 76 |
41%|████▏ | 122/295 [2:19:37<4:35:38, 95.60s/it]
|
| 77 |
42%|████▏ | 123/295 [2:23:44<6:44:49, 141.22s/it]
|
| 78 |
42%|████▏ | 124/295 [2:30:53<10:48:13, 227.45s/it]
|
| 79 |
42%|████▏ | 125/295 [2:31:22<7:55:37, 167.87s/it]
|
| 80 |
43%|████▎ | 126/295 [2:32:56<6:50:40, 145.80s/it]
|
| 81 |
43%|████▎ | 127/295 [2:33:01<4:50:20, 103.69s/it]
|
| 82 |
43%|████▎ | 128/295 [2:33:39<3:53:10, 83.78s/it]
|
| 83 |
44%|████▎ | 129/295 [2:38:51<7:01:41, 152.42s/it]
|
| 84 |
44%|████▍ | 130/295 [2:52:27<16:06:16, 351.38s/it]
|
| 85 |
44%|████▍ | 131/295 [2:53:42<12:13:28, 268.34s/it]
|
| 86 |
45%|████▍ | 132/295 [2:54:50<9:25:51, 208.29s/it]
|
| 87 |
45%|████▌ | 133/295 [3:00:00<10:45:10, 238.95s/it]
|
| 88 |
45%|████▌ | 134/295 [3:00:31<7:54:01, 176.65s/it]
|
| 89 |
46%|████▌ | 135/295 [3:02:25<7:00:29, 157.68s/it]
|
| 90 |
46%|████▌ | 136/295 [3:04:34<6:35:13, 149.14s/it]
|
| 91 |
46%|████▋ | 137/295 [3:05:09<5:02:35, 114.91s/it]
|
| 92 |
47%|████▋ | 138/295 [3:05:40<3:54:45, 89.71s/it]
|
| 93 |
47%|████▋ | 139/295 [3:06:06<3:03:37, 70.63s/it]
|
| 94 |
47%|████▋ | 140/295 [3:06:45<2:37:49, 61.09s/it]
|
| 95 |
48%|████▊ | 141/295 [3:08:49<3:25:19, 80.00s/it]
|
| 96 |
48%|████▊ | 142/295 [3:09:48<3:07:53, 73.68s/it]
|
| 97 |
48%|████▊ | 143/295 [3:10:09<2:26:54, 57.99s/it]
|
| 98 |
49%|████▉ | 144/295 [3:14:17<4:48:46, 114.74s/it]
|
| 99 |
49%|████▉ | 145/295 [3:16:20<4:53:24, 117.36s/it]
|
| 100 |
49%|████▉ | 146/295 [3:16:31<3:31:50, 85.31s/it]
|
| 101 |
50%|████▉ Start processing Videos
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 102 |
50%|█████ | 148/295 [3:24:08<7:07:26, 174.47s/it]
|
| 103 |
51%|█████ | 149/295 [3:26:53<6:57:55, 171.75s/it]
|
| 104 |
51%|█████ | 150/295 [3:27:41<5:25:39, 134.76s/it]
|
| 105 |
51%|█████ | 151/295 [3:27:51<3:52:56, 97.06s/it]
|
| 106 |
52%|█████▏ | 152/295 [3:34:38<7:33:11, 190.15s/it]
|
| 107 |
52%|█████▏ | 153/295 [3:42:20<10:43:08, 271.75s/it]
|
| 108 |
52%|█████▏ | 154/295 [3:46:57<10:42:08, 273.25s/it]
|
| 109 |
53%|█████▎ | 155/295 [3:47:21<7:43:16, 198.55s/it]
|
| 110 |
53%|█████▎ | 156/295 [3:53:28<9:37:08, 249.13s/it]
|
| 111 |
53%|█████▎ | 157/295 [3:54:20<7:16:30, 189.78s/it]
|
| 112 |
54%|█████▎ | 158/295 [3:55:51<6:05:59, 160.29s/it]
|
| 113 |
54%|█████▍ | 159/295 [4:11:54<15:08:54, 400.99s/it]
|
| 114 |
54%|█████▍ | 160/295 [4:13:22<11:30:59, 307.10s/it]
|
| 115 |
55%|█████▍ | 161/295 [4:16:59<10:25:47, 280.21s/it]
|
| 116 |
55%|█████▍ | 162/295 [4:17:47<7:46:19, 210.38s/it]
|
| 117 |
55%|█████▌ | 163/295 [4:20:06<6:56:15, 189.21s/it]
|
| 118 |
56%|█████▌ | 164/295 [4:21:34<5:46:15, 158.60s/it]
|
| 119 |
56%|█████▌ | 165/295 [4:21:58<4:16:19, 118.31s/it]
|
| 120 |
56%|█████▋ | 166/295 [4:22:20<3:12:33, 89.56s/it]
|
| 121 |
57%|█████▋ | 167/295 [4:22:34<2:22:48, 66.94s/it]
|
| 122 |
57%|█████▋ | 168/295 [4:27:10<4:34:24, 129.64s/it]
|
| 123 |
57%|█████▋ | 169/295 [4:29:21<4:33:08, 130.07s/it]
|
| 124 |
58%|█████▊ | 170/295 [4:32:24<5:03:38, 145.75s/it]
|
| 125 |
58%|█████▊ | 171/295 [4:33:47<4:22:23, 126.96s/it]
|
| 126 |
58%|█████▊ | 172/295 [4:35:11<3:54:00, 114.15s/it]
|
| 127 |
59%|█████▊ | 173/295 [4:39:49<5:32:01, 163.29s/it]
|
| 128 |
59%|█████▉ | 174/295 [4:43:05<5:49:15, 173.18s/it]
|
| 129 |
59%|█████▉ | 175/295 [4:45:57<5:45:34, 172.79s/it]
|
| 130 |
60%|█████▉ | 176/295 [4:46:11<4:07:53, 124.99s/it]
|
| 131 |
60%|██████ | 177/295 [4:46:21<2:57:50, 90.43s/it]
|
| 132 |
60%|██████ | 178/295 [5:00:30<10:20:31, 318.22s/it]
|
| 133 |
61%|██████ | 179/295 [5:00:38<7:14:58, 224.99s/it]
|
| 134 |
61%|██████ | 180/295 [5:03:41<6:47:07, 212.41s/it]
|
| 135 |
61%|██████▏ | 181/295 [5:03:57<4:52:01, 153.70s/it]
|
| 136 |
62%|██████▏ | 182/295 [5:05:09<4:03:00, 129.03s/it]
|
| 137 |
62%|██████▏ | 183/295 [5:05:16<2:52:23, 92.35s/it]
|
| 138 |
62%|██████▏ | 184/295 [5:05:22<2:03:21, 66.68s/it]
|
| 139 |
63%|██████▎ | 185/295 [5:09:10<3:30:42, 114.93s/it]
|
| 140 |
63%|██████▎ | 186/295 [5:10:23<3:05:53, 102.32s/it]
|
| 141 |
63%|██████▎ | 187/295 [5:10:49<2:23:13, 79.57s/it]
|
| 142 |
64%|██████▎ | 188/295 [5:14:11<3:27:03, 116.11s/it]
|
| 143 |
64%|██████▍ | 189/295 [5:14:24<2:30:41, 85.30s/it]
|
| 144 |
64%|██████▍ | 190/295 [5:15:25<2:16:31, 78.01s/it]
|
| 145 |
65%|██████▍ | 191/295 [5:15:33<1:38:33, 56.86s/it]
|
| 146 |
65%|██████▌ | 192/295 [5:15:40<1:12:02, 41.96s/it]
|
| 147 |
65%|██████▌ | 193/295 [5:15:45<52:40, 30.99s/it]
|
| 148 |
66%|██████▌ | 194/295 [5:16:03<45:16, 26.89s/it]
|
| 149 |
66%|██████▌ | 195/295 [5:16:30<44:54, 26.94s/it]
|
| 150 |
66%|██████▋ | 196/295 [5:17:12<52:17, 31.69s/it]
|
| 151 |
67%|██████▋ | 197/295 [5:19:22<1:39:47, 61.10s/it]
|
| 152 |
67%|██████▋ | 198/295 [5:20:16<1:35:27, 59.04s/it]
|
| 153 |
67%|██████▋ | 199/295 [5:20:24<1:09:44, 43.59s/it]
|
| 154 |
68%|██████▊ | 200/295 [5:20:32<51:57, 32.81s/it]
|
| 155 |
68%|██████▊ | 201/295 [5:20:38<38:56, 24.86s/it]
|
| 156 |
68%|██████▊ | 202/295 [5:20:57<35:43, 23.05s/it]
|
| 157 |
69%|██████▉ | 203/295 [5:21:48<48:12, 31.44s/it]
|
| 158 |
69%|██████▉ | 204/295 [5:23:02<1:07:20, 44.40s/it]
|
| 159 |
69%|██████▉ | 205/295 [5:23:11<50:43, 33.81s/it]
|
| 160 |
70%|██████▉ | 206/295 [5:23:17<37:44, 25.44s/it]
|
| 161 |
70%|███████ | 207/295 [5:25:38<1:27:51, 59.90s/it]
|
| 162 |
71%|███████ | 208/295 [5:26:19<1:18:45, 54.32s/it]
|
| 163 |
71%|███████ | 209/295 [5:27:40<1:29:24, 62.38s/it]
|
| 164 |
71%|███████ | 210/295 [5:27:50<1:05:57, 46.55s/it]
|
| 165 |
72%|███████▏ | 211/295 [5:34:22<3:30:10, 150.12s/it]
|
| 166 |
72%|███████▏ | 212/295 [5:35:47<3:00:59, 130.84s/it]
|
| 167 |
72%|███████▏ | 213/295 [5:36:51<2:31:05, 110.56s/it]
|
| 168 |
73%|███████▎ | 214/295 [5:41:41<3:42:12, 164.60s/it]
|
| 169 |
73%|███████▎ | 215/295 [5:41:59<2:40:35, 120.44s/it]
|
| 170 |
73%|███████▎ | 216/295 [5:42:29<2:03:07, 93.51s/it]
|
| 171 |
74%|███████▎ | 217/295 [5:43:28<1:47:56, 83.03s/it]
|
| 172 |
74%|███████▍ | 218/295 [5:44:18<1:33:59, 73.25s/it]
|
| 173 |
74%|███████▍ | 219/295 [5:44:37<1:12:02, 56.88s/it]
|
| 174 |
75%|███████▍ | 220/295 [5:44:57<57:04, 45.66s/it]
|
| 175 |
75%|███████▍ | 221/295 [5:45:39<55:04, 44.66s/it]
|
| 176 |
75%|███████▌ | 222/295 [5:45:56<44:17, 36Start processing masks
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 177 |
76%|███████▌ | 223/295 [5:48:12<1:19:31, 66.27s/it]
|
| 178 |
76%|███████▌ | 224/295 [5:48:28<1:00:43, 51.31s/it]
|
| 179 |
76%|███████▋ | 225/295 [5:49:28<1:02:51, 53.88s/it]
|
| 180 |
77%|███████▋ | 226/295 [5:49:54<52:04, 45.29s/it]
|
| 181 |
77%|███████▋ | 227/295 [5:50:50<55:13, 48.73s/it]
|
| 182 |
77%|███████▋ | 228/295 [5:52:21<1:08:36, 61.44s/it]
|
| 183 |
78%|███████▊ | 229/295 [5:55:38<1:52:20, 102.13s/it]
|
| 184 |
78%|███████▊ | 230/295 [5:57:21<1:50:41, 102.17s/it]
|
| 185 |
78%|███████▊ | 231/295 [5:59:02<1:48:38, 101.85s/it]
|
| 186 |
79%|███████▊ | 232/295 [5:59:16<1:19:20, 75.56s/it]
|
| 187 |
79%|███████▉ | 233/295 [5:59:35<1:00:28, 58.52s/it]
|
| 188 |
79%|███████▉ | 234/295 [6:02:36<1:36:47, 95.20s/it]
|
| 189 |
80%|███████▉ | 235/295 [6:03:09<1:16:37, 76.62s/it]
|
| 190 |
80%|████████ | 236/295 [6:04:37<1:18:43, 80.06s/it]
|
| 191 |
80%|████████ | 237/295 [6:05:28<1:09:04, 71.46s/it]
|
| 192 |
81%|████████ | 238/295 [6:05:50<53:43, 56.55s/it]
|
| 193 |
81%|████████ | 239/295 [6:05:58<39:11, 42.00s/it]
|
| 194 |
81%|████████▏ | 240/295 [6:06:35<37:07, 40.50s/it]
|
| 195 |
82%|████████▏ | 241/295 [6:07:08<34:21, 38.18s/it]
|
| 196 |
82%|████████▏ | 242/295 [6:08:27<44:40, 50.57s/it]
|
| 197 |
82%|████████▏ | 243/295 [6:15:44<2:24:16, 166.47s/it]
|
| 198 |
83%|████████▎ | 244/295 [6:16:07<1:44:54, 123.42s/it]
|
| 199 |
83%|████████▎ | 245/295 [6:31:04<4:56:12, 355.45s/it]
|
| 200 |
83%|████████▎ | 246/295 [6:31:37<3:31:18, 258.74s/it]
|
| 201 |
84%|████████▎ | 247/295 [6:31:47<2:27:19, 184.15s/it]
|
| 202 |
84%|████████▍ | 248/295 [6:49:57<5:57:04, 455.85s/it]
|
| 203 |
84%|████████▍ | 249/295 [6:51:41<4:28:27, 350.16s/it]
|
| 204 |
85%|████████▍ | 250/295 [6:52:56<3:20:47, 267.73s/it]
|
| 205 |
85%|████████▌ | 251/295 [6:56:17<3:01:40, 247.74s/it]
|
| 206 |
85%|████████▌ | 252/295 [7:00:14<2:55:14, 244.53s/it]
|
| 207 |
86%|████████▌ | 253/295 [7:03:13<2:37:23, 224.85s/it]
|
| 208 |
86%|████████▌ | 254/295 [7:03:28<1:50:38, 161.92s/it]
|
| 209 |
86%|████████▋ | 255/295 [7:03:41<1:18:09, 117.25s/it]
|
| 210 |
87%|████████▋ | 256/295 [7:07:22<1:36:24, 148.33s/it]
|
| 211 |
87%|████████▋ | 257/295 [7:07:46<1:10:12, 110.86s/it]
|
| 212 |
87%|████████▋ | 258/295 [7:08:40<57:55, 93.94s/it]
|
| 213 |
88%|████████▊ | 259/295 [7:08:45<40:25, 67.37s/it]
|
| 214 |
88%|████████▊ | 260/295 [7:11:59<1:01:21, 105.19s/it]
|
| 215 |
88%|████████▊ | 261/295 [7:14:28<1:07:05, 118.39s/it]
|
| 216 |
89%|████████▉ | 262/295 [7:20:04<1:41:06, 183.83s/it]
|
| 217 |
89%|████████▉ | 263/295 [7:23:14<1:39:01, 185.66s/it]
|
| 218 |
89%|████████▉ | 264/295 [7:24:05<1:14:55, 145.01s/it]
|
| 219 |
90%|████████▉ | 265/295 [7:24:22<53:22, 106.77s/it]
|
| 220 |
90%|█████████ | 266/295 [7:25:27<45:33, 94.25s/it]
|
| 221 |
91%|█████████ | 267/295 [7:25:36<32:03, 68.71s/it]
|
| 222 |
91%|█████████ | 268/295 [7:27:18<35:20, 78.55s/it]
|
| 223 |
91%|█████████ | 269/295 [7:27:53<28:20, 65.40s/it]
|
| 224 |
92%|█████████▏| 270/295 [7:40:17<1:52:07, 269.12s/it]
|
| 225 |
92%|█████████▏| 271/295 [7:40:43<1:18:28, 196.18s/it]
|
| 226 |
92%|█████████▏| 272/295 [7:45:05<1:22:46, 215.92s/it]
|
| 227 |
93%|█████████▎| 273/295 [7:46:15<1:03:04, 172.04s/it]
|
| 228 |
93%|█████████▎| 274/295 [7:46:29<43:41, 124.82s/it]
|
| 229 |
93%|█████████▎| 275/295 [7:46:39<30:07, 90.38s/it]
|
| 230 |
94%|█████████▎| 276/295 [7:46:49<20:56, 66.13s/it]
|
| 231 |
94%|█████████▍| 277/295 [7:47:58<20:09, 67.17s/it]
|
| 232 |
94%|█████████▍| 278/295 [7:48:38<16:40, 58.85s/it]
|
| 233 |
95%|█████████▍| 279/295 [7:57:07<51:43, 193.95s/it]
|
| 234 |
95%|█████████▍| 280/295 [8:05:08<1:10:02, 280.13s/it]
|
| 235 |
95%|█████████▌| 281/295 [8:05:29<47:13, 202.36s/it]
|
| 236 |
96%|█████████▌| 282/295 [8:14:03<1:04:06, 295.91s/it]
|
| 237 |
96%|█████████▌| 283/295 [8:22:58<1:13:30, 367.52s/it]
|
| 238 |
96%|█████████▋| 284/295 [8:23:22<48:30, 264.61s/it]
|
| 239 |
97%|████████��▋| 285/295 [8:23:37<31:37, 189.74s/it]
|
| 240 |
97%|█████████▋| 286/295 [8:23:50<20:29, 136.59s/it]
|
| 241 |
97%|█████████▋| 287/295 [8:26:05<18:08, 136.04s/it]
|
| 242 |
98%|█████████▊| 288/295 [8:26:51<12:43, 109.08s/it]
|
| 243 |
98%|█████████▊| 289/295 [8:28:15<10:09, 101.64s/it]
|
| 244 |
98%|█████████▊| 290/295 [8:33:37<13:57, 167.53s/it]
|
| 245 |
99%|█████████▊| 291/295 [8:37:29<12:27, 186.97s/it]
|
| 246 |
99%|█████████▉| 292/295 [8:37:59<06:59, 139.95s/it]
|
| 247 |
99%|█████████▉| 293/295 [8:51:48<11:33, 346.77s/it]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
0%| | 0/295 [00:00<?, ?it/s]
|
| 3 |
16%|█▌ | 47/295 [00:20<01:49, 2.27it/s]
|
| 4 |
16%|█▋ | 48/295 [01:13<08:12, 1.99s/it]
|
| 5 |
17%|█▋ | 49/295 [01:32<10:52, 2.65s/it]
|
| 6 |
17%|█▋ | 50/295 [06:04<1:11:02, 17.40s/it]
|
| 7 |
17%|█▋ | 51/295 [06:13<1:08:07, 16.75s/it]
|
| 8 |
18%|█▊ | 52/295 [11:04<2:52:01, 42.48s/it]
|
| 9 |
18%|█▊ | 53/295 [11:16<2:37:00, 38.93s/it]
|
| 10 |
18%|█▊ | 54/295 [11:36<2:25:23, 36.20s/it]
|
| 11 |
19%|█▊ | 55/295 [11:55<2:12:53, 33.22s/it]
|
| 12 |
19%|█▉ | 56/295 [13:39<3:07:25, 47.05s/it]
|
| 13 |
19%|█▉ | 57/295 [13:51<2:36:08, 39.36s/it]
|
| 14 |
20%|█▉ | 58/295 [18:23<6:14:53, 94.91s/it]
|
| 15 |
20%|██ | 59/295 [18:51<5:06:26, 77.91s/it]
|
| 16 |
20%|██ | 60/295 [20:54<5:51:36, 89.77s/it]
|
| 17 |
21%|██ | 61/295 [21:20<4:41:51, 72.27s/it]
|
| 18 |
21%|██ | 62/295 [30:01<12:52:50, 199.01s/it]
|
| 19 |
21%|██▏ | 63/295 [32:29<11:52:43, 184.33s/it]
|
| 20 |
22%|██▏ | 64/295 [44:37<21:59:24, 342.71s/it]
|
| 21 |
22%|██▏ | 65/295 [45:08<16:02:54, 251.20s/it]
|
| 22 |
22%|██▏ | 66/295 [48:53<15:28:10, 243.19s/it]
|
| 23 |
23%|██▎ | 67/295 [51:36<13:54:08, 219.51s/it]
|
| 24 |
23%|██▎ | 68/295 [54:03<12:28:37, 197.87s/it]
|
| 25 |
23%|██▎ | 69/295 [54:26<9:08:19, 145.57s/it]
|
| 26 |
24%|██▎ | 70/295 [54:49<6:48:35, 108.96s/it]
|
| 27 |
24%|██▍ | 71/295 [55:02<5:00:13, 80.42s/it]
|
| 28 |
24%|██▍ | 72/295 [56:23<4:59:01, 80.46s/it]
|
| 29 |
25%|██▍ | 73/295 [58:07<5:23:35, 87.46s/it]
|
| 30 |
25%|██▌ | 74/295 [58:30<4:11:50, 68.37s/it]
|
| 31 |
25%|██▌ | 75/295 [59:04<3:32:20, 57.91s/it]
|
| 32 |
26%|██▌ | 76/295 [59:26<2:51:58, 47.12s/it]
|
| 33 |
26%|██▌ | 77/295 [1:02:37<5:28:07, 90.31s/it]
|
| 34 |
26%|██▋ | 78/295 [1:03:12<4:26:53, 73.79s/it]
|
| 35 |
27%|██▋ | 79/295 [1:03:28<3:23:01, 56.40s/it]
|
| 36 |
27%|██▋ | 80/295 [1:04:16<3:13:32, 54.01s/it]
|
| 37 |
27%|██▋ | 81/295 [1:05:02<3:04:09, 51.64s/it]
|
| 38 |
28%|██▊ |b5d293bf-2d0a-43be-8a7b-4b66ba9b6835 already done!
|
| 39 |
+
849aaee0-866d-4b85-9775-39360e27fa90 already done!
|
| 40 |
+
aa736cb2-7e37-4715-862a-bfc1edefcb06 already done!
|
| 41 |
+
ce536dc7-6296-49d5-86da-49267edb3de8 already done!
|
| 42 |
+
1dbad365-237b-45e5-acef-e52931b21c07 already done!
|
| 43 |
+
a0f55b7e-5fd7-42cf-8a1b-90afb712a502 already done!
|
| 44 |
+
bfea0427-fae0-452d-9824-16e44dd0be5d already done!
|
| 45 |
+
7112613f-9315-4da7-b741-1fb18f07f497 already done!
|
| 46 |
+
954769e4-29ff-48a6-a870-38866a9cd7ad already done!
|
| 47 |
+
3c21c496-e352-4b71-a3fb-307e134e9fdd already done!
|
| 48 |
+
8c952699-0c25-453b-92dd-52b0580248db already done!
|
| 49 |
+
7bd4e6e0-93a0-4717-9666-266a2c29638d already done!
|
| 50 |
+
d94171f5-85c1-4dd5-9230-40187d4daab5 already done!
|
| 51 |
+
989b038e-d46c-4433-b968-87b58a4c7037 already done!
|
| 52 |
+
4764e94b-9132-4e65-996c-bc2bc67e17a2 already done!
|
| 53 |
+
071edc40-b64c-4e94-aeed-d523ed4a2794 already done!
|
| 54 |
+
aeec58e3-fbc9-467c-acda-6c92b45de1ab already done!
|
| 55 |
+
4fbac7f7-f8f0-40c6-9f73-7279fcc077b1 already done!
|
| 56 |
+
d2218738-2af2-4585-bd1c-af8ad10d7827 already done!
|
| 57 |
+
245c5620-481a-477c-be6d-07e02073eb4b already done!
|
| 58 |
+
2a8f7d15-4821-422b-a34d-e7ff2937f2e2 already done!
|
| 59 |
+
4767e91a-8687-4992-8d6e-f0ddf0043300 already done!
|
| 60 |
+
c43d0f58-9349-4d92-b358-d1a11070b1d1 already done!
|
| 61 |
+
3be02e64-5a3b-4022-9643-69c0eaf34ac0 already done!
|
| 62 |
+
1410e2ce-a62c-4a2c-8453-6eb172a58965 already done!
|
| 63 |
+
acc8a39f-06f5-4792-8387-984ea6ae859c already done!
|
| 64 |
+
c507b073-7bf9-40db-8537-de599b6f6565 already done!
|
| 65 |
+
6d1847fe-d2d2-4a11-80fb-1cf5ff6d965a already done!
|
| 66 |
+
6b2b8702-0f2a-4dac-bc2f-bfb981b69e28 already done!
|
| 67 |
+
18b18195-afdb-429e-8250-42d25e882ba9 already done!
|
| 68 |
+
47e06650-7973-4dd9-a509-a7425fecac19 already done!
|
| 69 |
+
691b6dff-620e-4aab-8302-3a9045be33da already done!
|
| 70 |
+
33b0f445-e852-4533-87a2-daa650113a80 already done!
|
| 71 |
+
4fd05061-02cd-4bf6-9191-02ff8303ca40 already done!
|
| 72 |
+
2cba50be-6d39-4f53-b9cc-cb520a588443 already done!
|
| 73 |
+
04f20e56-c4da-4775-93de-71a8ffd9ab48 already done!
|
| 74 |
+
46cc2fa4-bfb1-4a4a-beba-e157254be154 already done!
|
| 75 |
+
eaa2ec3e-8c2b-47f5-8b63-8d64c6672d0b already done!
|
| 76 |
+
3b213b67-8a20-4447-9c25-9fdbd3a4aed5 already done!
|
| 77 |
+
3dda64b1-9a7c-47dc-8f64-c29b608addbe already done!
|
| 78 |
+
87b2f72d-e899-4700-9b91-61ebe228e2cf already done!
|
| 79 |
+
7ba244fc-6b1f-4c4a-abea-bef004a9ea95 already done!
|
| 80 |
+
d2addf5b-75c2-41ef-a68e-738229940a0c already done!
|
| 81 |
+
e2e24a61-148a-46b4-b9a2-d164359e3554 already done!
|
| 82 |
+
9cbede95-3edd-40eb-b9ea-483f85aaee5b already done!
|
| 83 |
+
b5de2666-ed5f-48ef-a278-78016630a53e already done!
|
| 84 |
+
Processing take 678bfebf-6819-4659-8c0f-1bc71438863c unc_basketball_02-24-23_02_7
|
| 85 |
+
Start processing masks
|
| 86 |
+
Start processing Videos
|
| 87 |
+
Processing take 806b80b5-7963-482a-a5b5-82b95bfdd8b3 indiana_bike_01_1
|
| 88 |
+
Start processing masks
|
| 89 |
+
Start processing Videos
|
| 90 |
+
Processing take 6e427eaa-66a3-4eb2-8e2a-9f4ec4f012bf unc_basketball_03-31-23_01_34
|
| 91 |
+
Start processing masks
|
| 92 |
+
Start processing Videos
|
| 93 |
+
Processing take ac5041d2-af23-4b3c-9150-247142ade9fe georgiatech_cooking_03_01_4
|
| 94 |
+
Start processing masks
|
| 95 |
+
Start processing Videos
|
| 96 |
+
Processing take f36be1f1-491e-4d78-9ce6-d00c4590868b sfu_basketball_01_16
|
| 97 |
+
Start processing masks
|
| 98 |
+
Start processing Videos
|
| 99 |
+
Processing take 632755de-f080-4057-8626-6c402a6129c9 indiana_cooking_07_2
|
| 100 |
+
Start processing masks
|
| 101 |
+
Start processing Videos
|
| 102 |
+
Processing take 506a2aab-775c-435c-8006-918d8fdd997a sfu_basketball_01_19
|
| 103 |
+
Start processing masks
|
| 104 |
+
Start processing Videos
|
| 105 |
+
Processing take 7d83d5fb-1039-444c-83fb-bcc2f4a7dcf2 sfu_basketball_01_4
|
| 106 |
+
Start processing masks
|
| 107 |
+
Start processing Videos
|
| 108 |
+
Processing take efa3ae42-f12a-45d6-8c02-93c9b77e9809 uniandes_basketball_003_53
|
| 109 |
+
Start processing masks
|
| 110 |
+
Start processing Videos
|
| 111 |
+
Processing take abfb0e8e-4351-4086-b7ca-f84785d768d0 georgiatech_covid_17_2
|
| 112 |
+
Start processing masks
|
| 113 |
+
Start processing Videos
|
| 114 |
+
Processing take ea6a008f-c171-43e0-97fa-647658352f77 uniandes_basketball_001_19
|
| 115 |
+
Start processing masks
|
| 116 |
+
Start processing Videos
|
| 117 |
+
Processing take 8192f44c-6159-473e-9885-704e7975830c upenn_0711_Cooking_5_5
|
| 118 |
+
Start processing masks
|
| 119 |
+
Start processing Videos
|
| 120 |
+
Processing take 215844c3-63d3-4c8c-86f7-aeff2cf79764 uniandes_basketball_001_17
|
| 121 |
+
Start processing masks
|
| 122 |
+
Start processing Videos
|
| 123 |
+
Processing take 42b14a01-28c8-42a5-8981-b8a026f8dc18 iiith_cooking_36_1
|
| 124 |
+
Start processing masks
|
| 125 |
+
Start processing Videos
|
| 126 |
+
Processing take d2d758c8-ca3c-48f3-bebd-cef5e2a6d5b7 nus_cpr_01_1
|
| 127 |
+
Start processing masks
|
| 128 |
+
Start processing Videos
|
| 129 |
+
Processing take c083db28-d790-4602-915d-d7e5df588ef6 indiana_cooking_17_4
|
| 130 |
+
Start processing masks
|
| 131 |
+
Start processing Videos
|
| 132 |
+
Processing take d04754aa-9310-43b2-9a10-07019d498abe fair_cooking_09_4
|
| 133 |
+
Start processing masks
|
| 134 |
+
Start processing Videos
|
| 135 |
+
Processing take decfd1c6-c12d-4b22-adcf-afe640485ec5 minnesota_cooking_040_4
|
| 136 |
+
Start processing masks
|
| 137 |
+
Start processing Videos
|
| 138 |
+
Processing take 667851b8-c0b6-4073-94ae-07efe816234c indiana_bike_11_13
|
| 139 |
+
Start processing masks
|
| 140 |
+
Start processing Videos
|
| 141 |
+
Processing take 0aebd388-55a4-4425-a9ee-f09b64d94a00 uniandes_cooking_004_4
|
| 142 |
+
Start processing masks
|
| 143 |
+
Start processing Videos
|
| 144 |
+
Processing take 7dafc952-ef17-4105-a2b4-e2da46b9d0a4 upenn_0710_Violin_1_2
|
| 145 |
+
Start processing masks
|
| 146 |
+
Start processing Videos
|
| 147 |
+
Processing take 69cd4cbf-f1f1-4b92-ae7d-85d85e144554 georgiatech_covid_11_9
|
| 148 |
+
Start processing masks
|
| 149 |
+
Start processing Videos
|
| 150 |
+
Processing take bf0a2ea8-b7be-4e55-aab9-4c9e222a4568 iiith_cooking_63_6
|
| 151 |
+
Start processing masks
|
| 152 |
+
Start processing Videos
|
| 153 |
+
Processing take aa6c180d-b00f-4f23-b800-8c93eade3eec iiith_cooking_68_4
|
| 154 |
+
Start processing masks
|
| 155 |
+
Start processing Videos
|
| 156 |
+
Processing take 80523ee9-f498-4102-85fa-362ae8150d70 sfu_basketball_10_7
|
| 157 |
+
Start processing masks
|
| 158 |
+
Start processing Videos
|
| 159 |
+
Processing take 1c7e5c46-d4cf-4ba5-9b4c-03379881c2a1 nus_cooking_09_3
|
| 160 |
+
Start processing masks
|
| 161 |
+
Start processing Videos
|
| 162 |
+
Processing take 0f6bce99-6334-4f0a-b466-59808c1661ba iiith_cooking_53_2
|
| 163 |
+
Start processing masks
|
| 164 |
+
Start processing Videos
|
| 165 |
+
Processing take 78727816-4b9b-4616-97ea-46cfe0ecbe7a unc_basketball_02-24-23_02_8
|
| 166 |
+
Start processing masks
|
| 167 |
+
Start processing Videos
|
| 168 |
+
Processing take 7c1e3829-4687-4f8e-b254-1a186fe05ecb iiith_cooking_54_2
|
| 169 |
+
Start processing masks
|
| 170 |
+
Start processing Videos
|
| 171 |
+
Processing take ea7225fd-0a63-4f21-aae6-7651e4d7d538 unc_basketball_03-16-23_01_2
|
| 172 |
+
Start processing masks
|
| 173 |
+
Start processing Videos
|
| 174 |
+
Processing take ad8ef724-84cd-403a-934d-9690f7cb96b8 indiana_bike_08_3
|
| 175 |
+
Start processing masks
|
| 176 |
+
Start processing Videos
|
| 177 |
+
Processing take 6245b4c7-b1e5-4118-ab4f-ee0bbd613592 indiana_bike_11_3
|
| 178 |
+
Start processing masks
|
| 179 |
+
Start processing Videos
|
| 180 |
+
Processing take 961e4bc4-8a41-4f0c-ba12-bc198b9b15f2 iiith_cooking_67_4
|
| 181 |
+
Start processing masks
|
| 182 |
+
Start processing Videos
|
| 183 |
+
Processing take c68f8dd1-3fea-49e6-934b-7ed7a6b12aeb iiith_cooking_39_3
|
| 184 |
+
Start processing masks
|
| 185 |
+
Start processing Videos
|
| 186 |
+
Processing take 0a3868ef-fdba-4aba-bc02-5028d1ed26f4 cmu_bike10_4
|
| 187 |
+
Start processing masks
|
| 188 |
+
Start processing Videos
|
| 189 |
+
Processing take 916d656b-c2a0-4147-bd73-bc4050285591 georgiatech_cooking_03_05_4
|
| 190 |
+
Start processing masks
|
| 191 |
+
Start processing Videos
|
| 192 |
+
Processing take 96baac26-c261-4836-81c7-fae46778f91a iiith_cooking_129_2
|
| 193 |
+
Start processing masks
|
| 194 |
+
Start processing Videos
|
| 195 |
+
Processing take 5e71014b-9709-4bc0-b0e7-3402be4a1f5a uniandes_basketball_004_20
|
| 196 |
+
Start processing masks
|
| 197 |
+
Start processing Videos
|
| 198 |
+
Processing take 0df55687-74be-4dbf-aebe-fe0951b17ecf upenn_0710_Guitar_1_6
|
| 199 |
+
Start processing masks
|
| 200 |
+
Start processing Videos
|
| 201 |
+
Processing take 14216890-51bb-4300-8893-bf29a39b69b9 iiith_soccer_008_5
|
| 202 |
+
Start processing masks
|
| 203 |
+
Start processing Videos
|
| 204 |
+
Processing take 20161581-ec53-4508-a21c-328ed66b78f9 indiana_bike_08_8
|
| 205 |
+
Start processing masks
|
| 206 |
+
Start processing Videos
|
| 207 |
+
Processing take 563d1c9a-a639-4027-939c-7bc6b792b6b2 unc_basketball_02-24-23_01_31
|
| 208 |
+
Start processing masks
|
| 209 |
+
Start processing Videos
|
| 210 |
+
Processing take 90c0f824-6970-46fe-bb24-053fed422366 utokyo_cpr_2005_24_2
|
| 211 |
+
Start processing masks
|
| 212 |
+
Start processing Videos
|
| 213 |
+
Processing take 231d228c-352f-45d7-a395-3af1f69899a4 unc_basketball_03-31-23_01_25
|
| 214 |
+
Start processing masks
|
| 215 |
+
Start processing Videos
|
| 216 |
+
Processing take cfac1e14-8ed8-4143-b69c-e1399ee06914 iiith_cooking_63_4
|
| 217 |
+
Start processing masks
|
| 218 |
+
Start processing Videos
|
| 219 |
+
Processing take c24336fd-f974-42c6-82c8-e20e5054ab8f georgiatech_covid_15_4
|
| 220 |
+
Start processing masks
|
| 221 |
+
Start processing Videos
|
| 222 |
+
Processing take 0bacb5bb-591d-4756-a2cf-ed90793e65bb iiith_cooking_48_2
|
| 223 |
+
Start processing masks
|
| 224 |
+
Start processing Videos
|
| 225 |
+
Processing take d8452234-3ca0-483d-9077-9c1ec8a59668 unc_basketball_03-31-23_01_24
|
| 226 |
+
Start processing masks
|
| 227 |
+
82/295 [1:16:21<14:11:13, 239.78s/it]
|
| 228 |
28%|██▊ | 83/295 [1:17:27<11:02:40, 187.55s/it]
|
| 229 |
28%|██▊ | 84/295 [1:17:45<8:00:17, 136.58s/it]
|
| 230 |
29%|██▉ | 85/295 [1:19:15<7:09:07, 122.61s/it]
|
| 231 |
29%|██▉ | 86/295 [1:20:35<6:23:19, 110.04s/it]
|
| 232 |
29%|██▉ | 87/295 [1:21:13<5:06:20, 88.37s/it]
|
| 233 |
30%|██▉ | 88/295 [1:21:31<3:52:23, 67.36s/it]
|
| 234 |
30%|███ | 89/295 [1:22:04<3:15:47, 57.03s/it]
|
| 235 |
31%|███ | 90/295 [1:22:34<2:47:04, 48.90s/it]
|
| 236 |
31%|███ | 91/295 [1:23:11<2:33:26, 45.13s/it]
|
| 237 |
31%|███ | 92/295 [1:24:15<2:52:23, 50.95s/it]
|
| 238 |
32%|███▏ | 93/295 [1:26:24<4:10:28, 74.40s/it]
|
| 239 |
32%|███▏ | 94/295 [1:26:36<3:06:40, 55.72s/it]
|
| 240 |
32%|███▏ | 95/295 [1:27:46<3:19:58, 59.99s/it]
|
| 241 |
33%|███▎ | 96/295 [1:30:08<4:40:09, 84.47s/it]
|
| 242 |
33%|███▎ | 97/295 [1:34:04<7:08:41, 129.91s/it]
|
| 243 |
33%|███▎ | 98/295 [1:34:23<5:17:24, 96.67s/it]
|
| 244 |
34%|███▎ | 99/295 [1:37:51<7:05:15, 130.18s/it]
|
| 245 |
34%|███▍ | 100/295 [1:46:21<13:13:17, 244.09s/it]
|
| 246 |
34%|███▍ | 101/295 [1:49:12<11:57:51, 222.02s/it]
|
| 247 |
35%|███▍ | 102/295 [1:49:25<8:32:38, 159.37s/it]
|
| 248 |
35%|███▍ | 103/295 [1:49:33<6:04:40, 113.96s/it]
|
| 249 |
35%|███▌ | 104/295 [1:57:29<11:48:26, 222.55s/it]
|
| 250 |
36%|███▌ | 105/295 [1:58:16<8:58:20, 170.00s/it]
|
| 251 |
36%|███▌ | 106/295 [1:58:52<6:48:40, 129.74s/it]
|
| 252 |
36%|███▋ | 107/295 [1:59:27<5:17:50, 101.44s/it]
|
| 253 |
37%|███▋ | 108/295 [1:59:50<4:02:46, 77.89s/it]
|
| 254 |
37%|███▋ | 109/295 [2:01:13<4:05:58, 79.35s/it]
|
| 255 |
37%|███▋ | 110/295 [2:01:32<3:08:42, 61.20s/it]
|
| 256 |
38%|███▊ | 111/295 [2:04:41<5:05:31, 99.63s/it]
|
| 257 |
38%|███▊ | 112/295 [2:04:56<3:46:28, 74.25s/it]
|
| 258 |
38%|███▊ | 113/295 [2:08:51<6:10:51, 122.26s/it]
|
| 259 |
39%|███▊ | 114/295 [2:09:42<5:04:37, 100.98s/it]
|
| 260 |
39%|███▉ | 115/295 [2:11:31<5:10:34, 103.52s/it]
|
| 261 |
39%|███▉ | 116/295 [2:11:41<3:44:49, 75.36s/it]
|
| 262 |
40%|███▉ | 117/295 [2:13:06<3:51:53, 78.17s/it]
|
| 263 |
40%|████ | 118/295 [2:13:22<2:55:22, 59.45s/it]
|
| 264 |
40%|████ | 119/295 [2:13:57<2:33:26, 52.31s/it]
|
| 265 |
41%|████ | 120/295 [2:15:57<3:31:54, 72.65s/it]
|
| 266 |
41%|████ | 121/295 [2:17:01<3:23:06, 70.04s/it]
|
| 267 |
41%|████▏ | 122/295 [2:19:37<4:35:38, 95.60s/it]
|
| 268 |
42%|████▏ | 123/295 [2:23:44<6:44:49, 141.22s/it]
|
| 269 |
42%|████▏ | 124/295 [2:30:53<10:48:13, 227.45s/it]
|
| 270 |
42%|████▏ | 125/295 [2:31:22<7:55:37, 167.87s/it]
|
| 271 |
43%|████▎ | 126/295 [2:32:56<6:50:40, 145.80s/it]
|
| 272 |
43%|████▎ | 127/295 [2:33:01<4:50:20, 103.69s/it]
|
| 273 |
43%|████▎ | 128/295 [2:33:39<3:53:10, 83.78s/it]
|
| 274 |
44%|████▎ | 129/295 [2:38:51<7:01:41, 152.42s/it]
|
| 275 |
44%|████▍ | 130/295 [2:52:27<16:06:16, 351.38s/it]
|
| 276 |
44%|████▍ | 131/295 [2:53:42<12:13:28, 268.34s/it]
|
| 277 |
45%|████▍ | 132/295 [2:54:50<9:25:51, 208.29s/it]
|
| 278 |
45%|████▌ | 133/295 [3:00:00<10:45:10, 238.95s/it]
|
| 279 |
45%|████▌ | 134/295 [3:00:31<7:54:01, 176.65s/it]
|
| 280 |
46%|████▌ | 135/295 [3:02:25<7:00:29, 157.68s/it]
|
| 281 |
46%|████▌ | 136/295 [3:04:34<6:35:13, 149.14s/it]
|
| 282 |
46%|████▋ | 137/295 [3:05:09<5:02:35, 114.91s/it]
|
| 283 |
47%|████▋ | 138/295 [3:05:40<3:54:45, 89.71s/it]
|
| 284 |
47%|████▋ | 139/295 [3:06:06<3:03:37, 70.63s/it]
|
| 285 |
47%|████▋ | 140/295 [3:06:45<2:37:49, 61.09s/it]
|
| 286 |
48%|████▊ | 141/295 [3:08:49<3:25:19, 80.00s/it]
|
| 287 |
48%|████▊ | 142/295 [3:09:48<3:07:53, 73.68s/it]
|
| 288 |
48%|████▊ | 143/295 [3:10:09<2:26:54, 57.99s/it]
|
| 289 |
49%|████▉ | 144/295 [3:14:17<4:48:46, 114.74s/it]
|
| 290 |
49%|████▉ | 145/295 [3:16:20<4:53:24, 117.36s/it]
|
| 291 |
49%|████▉ | 146/295 [3:16:31<3:31:50, 85.31s/it]
|
| 292 |
50%|████▉ Start processing Videos
|
| 293 |
+
Processing take 83b0fc4f-9a36-4dd7-9495-a68c9f82defe unc_basketball_02-24-23_01_33
|
| 294 |
+
Start processing masks
|
| 295 |
+
Start processing Videos
|
| 296 |
+
Processing take 8e3c3065-f05d-4ce2-af8e-f6bbd58d4383 georgiatech_covid_08_10
|
| 297 |
+
Start processing masks
|
| 298 |
+
Start processing Videos
|
| 299 |
+
Processing take 86d8d4ac-a4b1-4574-8979-0457af8c34a6 nus_cooking_15_3
|
| 300 |
+
Start processing masks
|
| 301 |
+
Start processing Videos
|
| 302 |
+
Processing take 8b1d8ba4-1ce1-41f3-ab9f-483567e05cd8 unc_basketball_03-31-23_01_37
|
| 303 |
+
Start processing masks
|
| 304 |
+
Start processing Videos
|
| 305 |
+
Processing take 70f729ca-b1a2-428f-875c-edbbd988a4b5 upenn_0722_Guitar_2_4
|
| 306 |
+
Start processing masks
|
| 307 |
+
Start processing Videos
|
| 308 |
+
Processing take 0b82763e-b9ee-40e5-8dd5-b8da7e862662 georgiatech_cooking_03_03_4
|
| 309 |
+
Start processing masks
|
| 310 |
+
Start processing Videos
|
| 311 |
+
Processing take f06d7f9b-0da8-4406-b3d3-06cd70de0e0f nus_cooking_12_4
|
| 312 |
+
Start processing masks
|
| 313 |
+
Start processing Videos
|
| 314 |
+
Processing take fc9da694-2604-4bd7-a1ac-215ace732e85 unc_basketball_03-31-23_01_32
|
| 315 |
+
Start processing masks
|
| 316 |
+
Start processing Videos
|
| 317 |
+
Processing take e287f510-8de4-40d7-b127-4f793e3d46ac uniandes_basketball_004_19
|
| 318 |
+
Start processing masks
|
| 319 |
+
Start processing Videos
|
| 320 |
+
Processing take 97e4e710-7348-4e79-b80b-244a6b64ebdd georgiatech_cooking_03_02_4
|
| 321 |
+
Start processing masks
|
| 322 |
+
Start processing Videos
|
| 323 |
+
Processing take 7b839fc9-8b7c-47f1-b55e-2247dfd8eb41 nus_covidtest_24_2
|
| 324 |
+
Start processing masks
|
| 325 |
+
Start processing Videos
|
| 326 |
+
Processing take cec24cad-0c95-49a2-bdd3-5635e4b88149 iiith_cooking_67_6
|
| 327 |
+
Start processing masks
|
| 328 |
+
Start processing Videos
|
| 329 |
+
Processing take 3b86adc3-0a22-4d29-82a9-e02c90471f82 uniandes_basketball_004_34
|
| 330 |
+
Start processing masks
|
| 331 |
+
Start processing Videos
|
| 332 |
+
Processing take 56acc1be-a6cc-479c-9ba1-ee49fcf71f8b nus_cpr_23_2
|
| 333 |
+
Start processing masks
|
| 334 |
+
Start processing Videos
|
| 335 |
+
Processing take 069048a8-3eff-4841-9f81-a3422edea6e3 upenn_0701_Piano_1_7
|
| 336 |
+
Start processing masks
|
| 337 |
+
Start processing Videos
|
| 338 |
+
Processing take 02def476-33eb-4895-a448-a4398d44e16b iiith_cooking_54_4
|
| 339 |
+
Start processing masks
|
| 340 |
+
Start processing Videos
|
| 341 |
+
Processing take 661003f4-0223-4cb5-bb3f-d92ca5d8354d upenn_0719_Piano_1_4
|
| 342 |
+
Start processing masks
|
| 343 |
+
Start processing Videos
|
| 344 |
+
Processing take 4168725e-870e-4e1c-be99-1e1a6193d094 uniandes_basketball_001_40
|
| 345 |
+
Start processing masks
|
| 346 |
+
Start processing Videos
|
| 347 |
+
Processing take 8cd9020c-eaba-402f-87b5-f7c5422a49b4 iiith_cooking_46_2
|
| 348 |
+
Start processing masks
|
| 349 |
+
Start processing Videos
|
| 350 |
+
Processing take f3287a55-a424-4011-a38e-c73700829576 iiith_cooking_35_1
|
| 351 |
+
Start processing masks
|
| 352 |
+
Start processing Videos
|
| 353 |
+
Processing take c792ef5b-1479-4336-b57c-6d4ee1e4d336 iiith_cooking_38_1
|
| 354 |
+
Start processing masks
|
| 355 |
+
Start processing Videos
|
| 356 |
+
Processing take 2def272d-f803-4feb-95a9-63409b333fd2 sfu_basketball_01_20
|
| 357 |
+
Start processing masks
|
| 358 |
+
Start processing Videos
|
| 359 |
+
Processing take 4cd8094f-4300-469d-9523-3ee0f43d1259 upenn_0719_Piano_1_3
|
| 360 |
+
Start processing masks
|
| 361 |
+
Start processing Videos
|
| 362 |
+
Processing take 66824dc1-5e9d-4997-a2d6-482d3c920b5e nus_cpr_06_2
|
| 363 |
+
Start processing masks
|
| 364 |
+
Start processing Videos
|
| 365 |
+
Processing take 2227ff92-8645-479e-a099-bd8025080e62 unc_basketball_02-24-23_01_15
|
| 366 |
+
Start processing masks
|
| 367 |
+
Start processing Videos
|
| 368 |
+
Processing take 7c187ae5-b793-42c2-abca-54e1d0822a32 indiana_bike_11_7
|
| 369 |
+
Start processing masks
|
| 370 |
+
Start processing Videos
|
| 371 |
+
Processing take 73736c6c-2654-4ef8-939d-9c4a23eed5d7 upenn_0715_Piano_1_2
|
| 372 |
+
Start processing masks
|
| 373 |
+
Start processing Videos
|
| 374 |
+
Processing take 22568049-4087-4ca2-8857-a834a9fc7f28 upenn_0710_Violin_1_5
|
| 375 |
+
Start processing masks
|
| 376 |
+
Start processing Videos
|
| 377 |
+
Processing take b0589218-e06e-4767-9bb4-1ef59f935bdc indiana_cooking_24_2
|
| 378 |
+
Start processing masks
|
| 379 |
+
Start processing Videos
|
| 380 |
+
Processing take 45450839-a979-4c26-8b35-9111bafa5731 georgiatech_cooking_03_05_2
|
| 381 |
+
Start processing masks
|
| 382 |
+
Start processing Videos
|
| 383 |
+
Processing take 0d172781-f22a-476f-b0c6-6f0ae6b928c9 unc_basketball_03-16-23_01_3
|
| 384 |
+
Start processing masks
|
| 385 |
+
Start processing Videos
|
| 386 |
+
Processing take 8f379213-9adf-40d8-9482-3eed6b03b83b georgiatech_covid_08_4
|
| 387 |
+
Start processing masks
|
| 388 |
+
Start processing Videos
|
| 389 |
+
Processing take 9de15300-fbcb-4838-be91-6b646be2646e sfu_basketball_01_8
|
| 390 |
+
Start processing masks
|
| 391 |
+
Start processing Videos
|
| 392 |
+
Processing take 10c9cece-4f33-4fa9-8c1a-5974d16c1c0a indiana_bike_11_9
|
| 393 |
+
Start processing masks
|
| 394 |
+
Start processing Videos
|
| 395 |
+
Processing take 6afade94-d8e7-4b29-be3e-9373d0d2d634 indiana_cooking_25_3
|
| 396 |
+
Start processing masks
|
| 397 |
+
Start processing Videos
|
| 398 |
+
Processing take 3745bd24-ceb7-4760-98ea-68b54de2141c upenn_0713_Cooking_2_2
|
| 399 |
+
Start processing masks
|
| 400 |
+
Start processing Videos
|
| 401 |
+
Processing take 66f0c633-292e-44b2-ad78-7ec57a8507e6 indiana_bike_14_8
|
| 402 |
+
Start processing masks
|
| 403 |
+
Start processing Videos
|
| 404 |
+
Processing take f0ebc587-3687-494d-a707-2a5d52b64719 upenn_0717_Piano_2_2
|
| 405 |
+
Start processing masks
|
| 406 |
+
Start processing Videos
|
| 407 |
+
Processing take 36dcdc61-378f-4087-a43f-659e58eb6440 georgiatech_cooking_05_01_2
|
| 408 |
+
Start processing masks
|
| 409 |
+
Start processing Videos
|
| 410 |
+
Processing take 5b982afa-3c1b-49e1-9508-77d0f396c3f6 uniandes_basketball_001_18
|
| 411 |
+
Start processing masks
|
| 412 |
+
Start processing Videos
|
| 413 |
+
Processing take 77f71fa8-7ddc-430a-8f66-4af710903388 upenn_0717_Piano_2_5
|
| 414 |
+
Start processing masks
|
| 415 |
+
Start processing Videos
|
| 416 |
+
Processing take cada8157-091c-491d-96b8-9da4dbf1c973 upenn_0701_Piano_1_4
|
| 417 |
+
Start processing masks
|
| 418 |
+
Start processing Videos
|
| 419 |
+
Processing take b1b83ddb-38ca-48d2-9142-dbc8240c2067 nus_cpr_23_1
|
| 420 |
+
Start processing masks
|
| 421 |
+
Start processing Videos
|
| 422 |
+
Processing take 92c76cdf-8b91-4a05-806d-121429534d8f uniandes_basketball_001_42
|
| 423 |
+
Start processing masks
|
| 424 |
+
Start processing Videos
|
| 425 |
+
Processing take 4403cf98-cd76-4233-b92f-585665ccbe7e unc_basketball_03-31-23_01_28
|
| 426 |
+
Start processing masks
|
| 427 |
+
Start processing Videos
|
| 428 |
+
Processing take 00cad7aa-fd92-486d-b309-59d03fa51dfa georgiatech_covid_15_10
|
| 429 |
+
Start processing masks
|
| 430 |
+
Start processing Videos
|
| 431 |
+
Processing take 1f541cce-f10b-4cd3-814f-8e2d527df8f5 iiith_cooking_33_1
|
| 432 |
+
Start processing masks
|
| 433 |
+
Start processing Videos
|
| 434 |
+
Processing take 464c4a51-a74f-4ff4-9ece-8d38b9c22bfc upenn_0722_Guitar_2_3
|
| 435 |
+
Start processing masks
|
| 436 |
+
Start processing Videos
|
| 437 |
+
Processing take a20923c1-a2d6-40ce-b7ce-f23ce249f460 unc_basketball_03-16-23_01_4
|
| 438 |
+
Start processing masks
|
| 439 |
+
Start processing Videos
|
| 440 |
+
Processing take 42efe6bf-aeff-4777-a189-d2872be008b5 sfu_cooking_012_1
|
| 441 |
+
Start processing masks
|
| 442 |
+
Start processing Videos
|
| 443 |
+
Processing take 01ad22c9-6626-46cf-b5e2-a316faacfb99 georgiatech_covid_08_12
|
| 444 |
+
Start processing masks
|
| 445 |
+
Start processing Videos
|
| 446 |
+
Processing take 6f0b44c4-0067-4677-a775-53181d9b0457 uniandes_basketball_004_10
|
| 447 |
+
Start processing masks
|
| 448 |
+
Start processing Videos
|
| 449 |
+
Processing take 40dc3bbc-c8c4-4e6d-a2a5-32a357f3c291 nus_covidtest_23_2
|
| 450 |
+
Start processing masks
|
| 451 |
+
Start processing Videos
|
| 452 |
+
Processing take b2fea2b1-2404-4cf2-9be3-79879011cba6 sfu_cooking_004_1
|
| 453 |
+
Start processing masks
|
| 454 |
+
Start processing Videos
|
| 455 |
+
Processing take e71c943b-75c0-4055-92fc-115d1c8f6d8a georgiatech_bike_12_10
|
| 456 |
+
Start processing masks
|
| 457 |
+
Start processing Videos
|
| 458 |
+
Processing take 073bdef7-e4cb-49ea-b006-b3d6f53f34b3 iiith_cooking_68_6
|
| 459 |
+
Start processing masks
|
| 460 |
+
Start processing Videos
|
| 461 |
+
Processing take fe0f7a34-97d0-4817-b608-210d2aa0bce9 unc_basketball_03-31-23_01_21
|
| 462 |
+
Start processing masks
|
| 463 |
+
Start processing Videos
|
| 464 |
+
Processing take d67e303e-9309-473f-8857-1cc3ad78983b indiana_cooking_06_2
|
| 465 |
+
Start processing masks
|
| 466 |
+
Start processing Videos
|
| 467 |
+
Processing take cef7bc84-112c-4133-9fa5-2a046c2b903a georgiatech_cooking_03_04_2
|
| 468 |
+
Start processing masks
|
| 469 |
+
Start processing Videos
|
| 470 |
+
Processing take 2f820d40-743f-49a8-b289-55276960970e georgiatech_cooking_03_01_2
|
| 471 |
+
Start processing masks
|
| 472 |
+
Start processing Videos
|
| 473 |
+
Processing take fa08ac41-74ca-42d3-80e6-6728cc3c1854 uniandes_basketball_004_29
|
| 474 |
+
Start processing masks
|
| 475 |
+
Start processing Videos
|
| 476 |
+
Processing take ee1020b8-2dca-4ea2-92de-5f6a56ea332f upenn_0630_Cooking_2_2
|
| 477 |
+
Start processing masks
|
| 478 |
+
Start processing Videos
|
| 479 |
+
Processing take 97ecbdcf-f044-4d75-9b46-b7ba0f35ef19 iiith_cooking_37_1
|
| 480 |
+
Start processing masks
|
| 481 |
+
Start processing Videos
|
| 482 |
+
Processing take 262871b5-eee7-4e65-9532-9a219b5aa52b iiith_cooking_34_1
|
| 483 |
+
Start processing masks
|
| 484 |
+
Start processing Videos
|
| 485 |
+
Processing take 32805896-b265-4445-8992-ab30e98415f8 indiana_cooking_18_3
|
| 486 |
+
Start processing masks
|
| 487 |
+
Start processing Videos
|
| 488 |
+
Processing take 5ccd281c-9ede-49d8-9f61-f8f228565472 georgiatech_covid_11_13
|
| 489 |
+
Start processing masks
|
| 490 |
+
Start processing Videos
|
| 491 |
+
Processing take 4773786c-6320-4a24-81e9-d735dbf9476b minnesota_cooking_040_6
|
| 492 |
+
| 147/295 [3:17:20<3:03:44, 74.49s/it]
|
| 493 |
50%|█████ | 148/295 [3:24:08<7:07:26, 174.47s/it]
|
| 494 |
51%|█████ | 149/295 [3:26:53<6:57:55, 171.75s/it]
|
| 495 |
51%|█████ | 150/295 [3:27:41<5:25:39, 134.76s/it]
|
| 496 |
51%|█████ | 151/295 [3:27:51<3:52:56, 97.06s/it]
|
| 497 |
52%|█████▏ | 152/295 [3:34:38<7:33:11, 190.15s/it]
|
| 498 |
52%|█████▏ | 153/295 [3:42:20<10:43:08, 271.75s/it]
|
| 499 |
52%|█████▏ | 154/295 [3:46:57<10:42:08, 273.25s/it]
|
| 500 |
53%|█████▎ | 155/295 [3:47:21<7:43:16, 198.55s/it]
|
| 501 |
53%|█████▎ | 156/295 [3:53:28<9:37:08, 249.13s/it]
|
| 502 |
53%|█████▎ | 157/295 [3:54:20<7:16:30, 189.78s/it]
|
| 503 |
54%|█████▎ | 158/295 [3:55:51<6:05:59, 160.29s/it]
|
| 504 |
54%|█████▍ | 159/295 [4:11:54<15:08:54, 400.99s/it]
|
| 505 |
54%|█████▍ | 160/295 [4:13:22<11:30:59, 307.10s/it]
|
| 506 |
55%|█████▍ | 161/295 [4:16:59<10:25:47, 280.21s/it]
|
| 507 |
55%|█████▍ | 162/295 [4:17:47<7:46:19, 210.38s/it]
|
| 508 |
55%|█████▌ | 163/295 [4:20:06<6:56:15, 189.21s/it]
|
| 509 |
56%|█████▌ | 164/295 [4:21:34<5:46:15, 158.60s/it]
|
| 510 |
56%|█████▌ | 165/295 [4:21:58<4:16:19, 118.31s/it]
|
| 511 |
56%|█████▋ | 166/295 [4:22:20<3:12:33, 89.56s/it]
|
| 512 |
57%|█████▋ | 167/295 [4:22:34<2:22:48, 66.94s/it]
|
| 513 |
57%|█████▋ | 168/295 [4:27:10<4:34:24, 129.64s/it]
|
| 514 |
57%|█████▋ | 169/295 [4:29:21<4:33:08, 130.07s/it]
|
| 515 |
58%|█████▊ | 170/295 [4:32:24<5:03:38, 145.75s/it]
|
| 516 |
58%|█████▊ | 171/295 [4:33:47<4:22:23, 126.96s/it]
|
| 517 |
58%|█████▊ | 172/295 [4:35:11<3:54:00, 114.15s/it]
|
| 518 |
59%|█████▊ | 173/295 [4:39:49<5:32:01, 163.29s/it]
|
| 519 |
59%|█████▉ | 174/295 [4:43:05<5:49:15, 173.18s/it]
|
| 520 |
59%|█████▉ | 175/295 [4:45:57<5:45:34, 172.79s/it]
|
| 521 |
60%|█████▉ | 176/295 [4:46:11<4:07:53, 124.99s/it]
|
| 522 |
60%|██████ | 177/295 [4:46:21<2:57:50, 90.43s/it]
|
| 523 |
60%|██████ | 178/295 [5:00:30<10:20:31, 318.22s/it]
|
| 524 |
61%|██████ | 179/295 [5:00:38<7:14:58, 224.99s/it]
|
| 525 |
61%|██████ | 180/295 [5:03:41<6:47:07, 212.41s/it]
|
| 526 |
61%|██████▏ | 181/295 [5:03:57<4:52:01, 153.70s/it]
|
| 527 |
62%|██████▏ | 182/295 [5:05:09<4:03:00, 129.03s/it]
|
| 528 |
62%|██████▏ | 183/295 [5:05:16<2:52:23, 92.35s/it]
|
| 529 |
62%|██████▏ | 184/295 [5:05:22<2:03:21, 66.68s/it]
|
| 530 |
63%|██████▎ | 185/295 [5:09:10<3:30:42, 114.93s/it]
|
| 531 |
63%|██████▎ | 186/295 [5:10:23<3:05:53, 102.32s/it]
|
| 532 |
63%|██████▎ | 187/295 [5:10:49<2:23:13, 79.57s/it]
|
| 533 |
64%|██████▎ | 188/295 [5:14:11<3:27:03, 116.11s/it]
|
| 534 |
64%|██████▍ | 189/295 [5:14:24<2:30:41, 85.30s/it]
|
| 535 |
64%|██████▍ | 190/295 [5:15:25<2:16:31, 78.01s/it]
|
| 536 |
65%|██████▍ | 191/295 [5:15:33<1:38:33, 56.86s/it]
|
| 537 |
65%|██████▌ | 192/295 [5:15:40<1:12:02, 41.96s/it]
|
| 538 |
65%|██████▌ | 193/295 [5:15:45<52:40, 30.99s/it]
|
| 539 |
66%|██████▌ | 194/295 [5:16:03<45:16, 26.89s/it]
|
| 540 |
66%|██████▌ | 195/295 [5:16:30<44:54, 26.94s/it]
|
| 541 |
66%|██████▋ | 196/295 [5:17:12<52:17, 31.69s/it]
|
| 542 |
67%|██████▋ | 197/295 [5:19:22<1:39:47, 61.10s/it]
|
| 543 |
67%|██████▋ | 198/295 [5:20:16<1:35:27, 59.04s/it]
|
| 544 |
67%|██████▋ | 199/295 [5:20:24<1:09:44, 43.59s/it]
|
| 545 |
68%|██████▊ | 200/295 [5:20:32<51:57, 32.81s/it]
|
| 546 |
68%|██████▊ | 201/295 [5:20:38<38:56, 24.86s/it]
|
| 547 |
68%|██████▊ | 202/295 [5:20:57<35:43, 23.05s/it]
|
| 548 |
69%|██████▉ | 203/295 [5:21:48<48:12, 31.44s/it]
|
| 549 |
69%|██████▉ | 204/295 [5:23:02<1:07:20, 44.40s/it]
|
| 550 |
69%|██████▉ | 205/295 [5:23:11<50:43, 33.81s/it]
|
| 551 |
70%|██████▉ | 206/295 [5:23:17<37:44, 25.44s/it]
|
| 552 |
70%|███████ | 207/295 [5:25:38<1:27:51, 59.90s/it]
|
| 553 |
71%|███████ | 208/295 [5:26:19<1:18:45, 54.32s/it]
|
| 554 |
71%|███████ | 209/295 [5:27:40<1:29:24, 62.38s/it]
|
| 555 |
71%|███████ | 210/295 [5:27:50<1:05:57, 46.55s/it]
|
| 556 |
72%|███████▏ | 211/295 [5:34:22<3:30:10, 150.12s/it]
|
| 557 |
72%|███████▏ | 212/295 [5:35:47<3:00:59, 130.84s/it]
|
| 558 |
72%|███████▏ | 213/295 [5:36:51<2:31:05, 110.56s/it]
|
| 559 |
73%|███████▎ | 214/295 [5:41:41<3:42:12, 164.60s/it]
|
| 560 |
73%|███████▎ | 215/295 [5:41:59<2:40:35, 120.44s/it]
|
| 561 |
73%|███████▎ | 216/295 [5:42:29<2:03:07, 93.51s/it]
|
| 562 |
74%|███████▎ | 217/295 [5:43:28<1:47:56, 83.03s/it]
|
| 563 |
74%|███████▍ | 218/295 [5:44:18<1:33:59, 73.25s/it]
|
| 564 |
74%|███████▍ | 219/295 [5:44:37<1:12:02, 56.88s/it]
|
| 565 |
75%|███████▍ | 220/295 [5:44:57<57:04, 45.66s/it]
|
| 566 |
75%|███████▍ | 221/295 [5:45:39<55:04, 44.66s/it]
|
| 567 |
75%|███████▌ | 222/295 [5:45:56<44:17, 36Start processing masks
|
| 568 |
+
Start processing Videos
|
| 569 |
+
Processing take a3b39b50-809e-45bd-87d9-de565461645b iiith_cooking_69_2
|
| 570 |
+
Start processing masks
|
| 571 |
+
Start processing Videos
|
| 572 |
+
Processing take 91d27f06-a756-45d4-9547-673a9ef0a05f fair_cooking_09_6
|
| 573 |
+
Start processing masks
|
| 574 |
+
Start processing Videos
|
| 575 |
+
Processing take 79fb81e5-7025-46c7-9e0c-e9d97658929b iiith_cooking_39_1
|
| 576 |
+
Start processing masks
|
| 577 |
+
Start processing Videos
|
| 578 |
+
Processing take afe5310d-200e-4444-ad2d-9fb34fee5230 unc_basketball_03-16-23_01_8
|
| 579 |
+
Start processing masks
|
| 580 |
+
Start processing Videos
|
| 581 |
+
Processing take cdd0ce74-4698-4394-aaf2-00e159577d3f unc_basketball_02-24-23_01_13
|
| 582 |
+
Start processing masks
|
| 583 |
+
Start processing Videos
|
| 584 |
+
Processing take 59cb65bb-7d1e-4bd9-9468-a76658b4b50f unc_basketball_03-31-23_01_35
|
| 585 |
+
Start processing masks
|
| 586 |
+
Start processing Videos
|
| 587 |
+
Processing take e83b0f8c-e9e5-4b38-ad3a-3906a3bb296a indiana_cooking_19_2
|
| 588 |
+
Start processing masks
|
| 589 |
+
Start processing Videos
|
| 590 |
+
Processing take 92cd0d7e-2465-46fa-be63-30cfadc347e3 upenn_0630_Cooking_4_3
|
| 591 |
+
Start processing masks
|
| 592 |
+
Start processing Videos
|
| 593 |
+
Processing take cfff9bb7-a95c-446f-84f6-27fa997b4ce2 upenn_0722_Guitar_2_6
|
| 594 |
+
Start processing masks
|
| 595 |
+
Start processing Videos
|
| 596 |
+
Processing take 3bc38ebc-8109-4b4d-b43c-aad3bd0dfed2 iiith_soccer_008_2
|
| 597 |
+
Start processing masks
|
| 598 |
+
Start processing Videos
|
| 599 |
+
Processing take ac651c92-0938-4258-8c22-a8d1e881af61 iiith_cooking_113_2
|
| 600 |
+
Start processing masks
|
| 601 |
+
Start processing Videos
|
| 602 |
+
Processing take 6a1dac0d-5945-4a81-9259-ce49de3ecf79 upenn_0630_Cooking_4_4
|
| 603 |
+
Start processing masks
|
| 604 |
+
Start processing Videos
|
| 605 |
+
Processing take 00a6dd13-d5b0-4743-b252-ed61e61f1d49 georgiatech_cooking_08_01_4
|
| 606 |
+
Start processing masks
|
| 607 |
+
Start processing Videos
|
| 608 |
+
Processing take cb55bedd-c5ff-4bbb-83a9-b8287d3bb77c indiana_cooking_17_2
|
| 609 |
+
Start processing masks
|
| 610 |
+
Start processing Videos
|
| 611 |
+
Processing take 45f15f81-ec4e-4db4-b42d-4121a564d485 indiana_bike_11_2
|
| 612 |
+
Start processing masks
|
| 613 |
+
Start processing Videos
|
| 614 |
+
Processing take de5ca2af-8e72-4fa4-92d2-65295781654e uniandes_basketball_003_55
|
| 615 |
+
Start processing masks
|
| 616 |
+
Start processing Videos
|
| 617 |
+
Processing take 0d26fb16-d4ba-4c47-9c32-5f8f052e7396 upenn_0711_Cooking_5_2
|
| 618 |
+
Start processing masks
|
| 619 |
+
Start processing Videos
|
| 620 |
+
Processing take 77814f97-e0c5-40dc-91ff-3e0fc5003d0d unc_basketball_03-31-23_01_27
|
| 621 |
+
Start processing masks
|
| 622 |
+
Start processing Videos
|
| 623 |
+
Processing take e8a5f8a4-d01c-4599-bc3b-980157bf14ed minnesota_cooking_040_2
|
| 624 |
+
Start processing masks
|
| 625 |
+
Start processing Videos
|
| 626 |
+
Processing take b9643892-d3dc-4dba-a18f-b9f8e44cbcb4 sfu_cooking027_2
|
| 627 |
+
Start processing masks
|
| 628 |
+
Start processing Videos
|
| 629 |
+
Processing take 934c8086-19a8-4aac-aae9-c02a912cbf9e nus_cooking_15_5
|
| 630 |
+
Start processing masks
|
| 631 |
+
Start processing Videos
|
| 632 |
+
Processing take c70e2763-0e1b-4c8b-b056-ecbe28831b22 unc_basketball_03-31-23_01_33
|
| 633 |
+
Start processing masks
|
| 634 |
+
Start processing Videos
|
| 635 |
+
Processing take ad9c8e7b-a290-4c64-8c41-972dfc201055 unc_basketball_03-31-23_01_36
|
| 636 |
+
Start processing masks
|
| 637 |
+
Start processing Videos
|
| 638 |
+
Processing take f3a8d0f5-ac34-4732-858a-39162f491f4b uniandes_cooking_003_2
|
| 639 |
+
Start processing masks
|
| 640 |
+
Start processing Videos
|
| 641 |
+
Processing take 8bb82e72-b893-467a-8844-f3a1010548ef upenn_0715_Piano_1_3
|
| 642 |
+
Start processing masks
|
| 643 |
+
Start processing Videos
|
| 644 |
+
Processing take 3cbf69e4-1c29-4515-9a03-67c3526e91e1 georgiatech_covid_08_2
|
| 645 |
+
Start processing masks
|
| 646 |
+
Start processing Videos
|
| 647 |
+
Processing take 2bb3f8db-a6b0-49b8-8c0f-686774acf00a upenn_0710_Violin_1_3
|
| 648 |
+
Start processing masks
|
| 649 |
+
Start processing Videos
|
| 650 |
+
Processing take 4df80aae-3500-463b-884d-63d034e6414f georgiatech_bike_12_8
|
| 651 |
+
Start processing masks
|
| 652 |
+
Start processing Videos
|
| 653 |
+
Processing take dde3ddc3-403e-4935-a7f7-eca575e05b99 upenn_0720_Piano_1_6
|
| 654 |
+
Start processing masks
|
| 655 |
+
Start processing Videos
|
| 656 |
+
Processing take 1bf59cee-8985-4d84-a34f-e7c35e492900 sfu_basketball_10_9
|
| 657 |
+
Start processing masks
|
| 658 |
+
Start processing Videos
|
| 659 |
+
Processing take 9a533209-1d5e-4382-a2f8-c109605845e3 sfu_basketball_10_20
|
| 660 |
+
Start processing masks
|
| 661 |
+
Start processing Videos
|
| 662 |
+
Processing take ef2cad65-06b2-4b1a-8956-c387721d2051 sfu_basketball_01_18
|
| 663 |
+
Start processing masks
|
| 664 |
+
Start processing Videos
|
| 665 |
+
Processing take 0a22a1c1-844c-4f62-8eeb-f16eee62357f nus_cpr_03_1
|
| 666 |
+
Start processing masks
|
| 667 |
+
Start processing Videos
|
| 668 |
+
Processing take 77b1cae6-7e57-47f9-83ae-c68243792d36 utokyo_cpr_2005_27_2
|
| 669 |
+
Start processing masks
|
| 670 |
+
Start processing Videos
|
| 671 |
+
Processing take a4b3be28-cc60-43f9-8158-0e098eb5aa82 indiana_bike_08_5
|
| 672 |
+
Start processing masks
|
| 673 |
+
Start processing Videos
|
| 674 |
+
Processing take 9706857d-4232-4f55-9873-871da2906f3a nus_cooking_12_3
|
| 675 |
+
Start processing masks
|
| 676 |
+
Start processing Videos
|
| 677 |
+
Processing take eb151659-2bf2-4682-899b-73f2ba10d179 upenn_0701_Piano_1_2
|
| 678 |
+
Start processing masks
|
| 679 |
+
Start processing Videos
|
| 680 |
+
Processing take 8162166b-41c8-4b1a-baf2-14df7feddd83 cmu_bike09_2
|
| 681 |
+
Start processing masks
|
| 682 |
+
Start processing Videos
|
| 683 |
+
Processing take ec6885cb-287c-421e-b16d-e63a59c21d80 georgiatech_covid_17_12
|
| 684 |
+
Start processing masks
|
| 685 |
+
Start processing Videos
|
| 686 |
+
Processing take 0e31e520-9d8f-4373-bd95-058d316902ad uniandes_basketball_004_52
|
| 687 |
+
Start processing masks
|
| 688 |
+
Start processing Videos
|
| 689 |
+
Processing take 04d87074-8116-4f09-b6e5-10670c9e772d nus_cpr_03_2
|
| 690 |
+
Start processing masks
|
| 691 |
+
Start processing Videos
|
| 692 |
+
Processing take a759a24a-3447-4554-99df-9dc1b647eb8d nus_cooking_12_5
|
| 693 |
+
Start processing masks
|
| 694 |
+
Start processing Videos
|
| 695 |
+
Processing take 3054ec91-4ea2-4612-8b0e-8f3ba0c6b981 iiith_cooking_37_3
|
| 696 |
+
Start processing masks
|
| 697 |
+
Start processing Videos
|
| 698 |
+
Processing take fea8a839-1976-4457-b8c7-c722e63faea9 sfu_basketball_01_2
|
| 699 |
+
Start processing masks
|
| 700 |
+
Start processing Videos
|
| 701 |
+
Processing take 98895ed3-7fc5-4dc0-ae9b-d808971e9334 sfu_basketball_01_22
|
| 702 |
+
Start processing masks
|
| 703 |
+
Start processing Videos
|
| 704 |
+
Processing take e469c7e2-bcbd-4cf6-97d7-3f3562e5c1a9 georgiatech_covid_11_7
|
| 705 |
+
Start processing masks
|
| 706 |
+
Start processing Videos
|
| 707 |
+
Processing take 3c3266b2-ecb8-4d81-8693-bc2caa4b1409 iiith_cooking_67_2
|
| 708 |
+
Start processing masks
|
| 709 |
+
Start processing Videos
|
| 710 |
+
Processing take f7d5c603-29d6-4800-a4fa-768819f52a84 georgiatech_bike_12_4
|
| 711 |
+
Start processing masks
|
| 712 |
+
Start processing Videos
|
| 713 |
+
Processing take 74593ce4-28eb-42e6-8ee0-02f16e704788 sfu_basketball_01_11
|
| 714 |
+
Start processing masks
|
| 715 |
+
Start processing Videos
|
| 716 |
+
Processing take 3940a14c-f0ae-4636-8f03-52daa071f084 upenn_0710_Guitar_1_5
|
| 717 |
+
Start processing masks
|
| 718 |
+
Start processing Videos
|
| 719 |
+
Processing take 71d1fd0e-6665-4b45-8b2a-3460d36e368a georgiatech_covid_08_8
|
| 720 |
+
Start processing masks
|
| 721 |
+
Start processing Videos
|
| 722 |
+
Processing take ab1786c9-b44c-40e2-8d59-5f7ddf06dceb iiith_cooking_50_4
|
| 723 |
+
Start processing masks
|
| 724 |
+
Start processing Videos
|
| 725 |
+
Processing take b7501cba-7399-4e36-9ee4-38308487395f georgiatech_cooking_12_01_4
|
| 726 |
+
Start processing masks
|
| 727 |
+
Start processing Videos
|
| 728 |
+
Processing take 9357c6f2-9c17-4259-a4bd-7a715e7331e4 sfu_basketball_01_14
|
| 729 |
+
Start processing masks
|
| 730 |
+
Start processing Videos
|
| 731 |
+
Processing take 3ce1d69f-2a22-434d-8902-86ff4acb155b nus_cooking_09_5
|
| 732 |
+
Start processing masks
|
| 733 |
+
Start processing Videos
|
| 734 |
+
Processing take 45cb84f9-a925-43f8-aa7e-0fba6e23a86e nus_covidtest_04_2
|
| 735 |
+
Start processing masks
|
| 736 |
+
Start processing Videos
|
| 737 |
+
Processing take 0822b710-baa5-4b66-b0da-96b72c15f846 iiith_cooking_63_2
|
| 738 |
+
Start processing masks
|
| 739 |
+
Start processing Videos
|
| 740 |
+
Processing take 196a6da7-56bc-443c-ad04-d80a0bbf31fa uniandes_basketball_004_12
|
| 741 |
+
Start processing masks
|
| 742 |
+
Start processing Videos
|
| 743 |
+
Processing take 95fa7feb-562e-4085-bc83-4dd14bd9862b georgiatech_bike_12_2
|
| 744 |
+
Start processing masks
|
| 745 |
+
Start processing Videos
|
| 746 |
+
Processing take 6b93427f-465c-436b-a841-78424da94581 indiana_bike_08_2
|
| 747 |
+
Start processing masks
|
| 748 |
+
Start processing Videos
|
| 749 |
+
Processing take 333e7b03-d350-4bea-b980-f1bd217bd164 indiana_bike_11_11
|
| 750 |
+
Start processing masks
|
| 751 |
+
Start processing Videos
|
| 752 |
+
Processing take 561e7156-f761-4509-a714-e8b2b8e754a4 nus_cooking_09_4
|
| 753 |
+
Start processing masks
|
| 754 |
+
Start processing Videos
|
| 755 |
+
Processing take 6d766fcc-76f7-4942-bb40-1aa9c8b2020b unc_basketball_03-31-23_01_29
|
| 756 |
+
Start processing masks
|
| 757 |
+
Start processing Videos
|
| 758 |
+
Processing take 4c1ce02e-53fd-4b0d-b895-14f5e2fbc78f indiana_bike_14_4
|
| 759 |
+
Start processing masks
|
| 760 |
+
Start processing Videos
|
| 761 |
+
Processing take f807401e-bd24-4d51-a0e3-40d20fd5e670 uniandes_basketball_001_39
|
| 762 |
+
Start processing masks
|
| 763 |
+
Start processing Videos
|
| 764 |
+
Processing take e3cb859e-73ca-4cef-8c08-296bafdb43cd upenn_0710_Guitar_1_3
|
| 765 |
+
Start processing masks
|
| 766 |
+
Start processing Videos
|
| 767 |
+
Processing take ba599750-543d-4b8f-bf65-da170082a25e georgiatech_covid_08_6
|
| 768 |
+
Start processing masks
|
| 769 |
+
Start processing Videos
|
| 770 |
+
.41s/it]
|
| 771 |
76%|███████▌ | 223/295 [5:48:12<1:19:31, 66.27s/it]
|
| 772 |
76%|███████▌ | 224/295 [5:48:28<1:00:43, 51.31s/it]
|
| 773 |
76%|███████▋ | 225/295 [5:49:28<1:02:51, 53.88s/it]
|
| 774 |
77%|███████▋ | 226/295 [5:49:54<52:04, 45.29s/it]
|
| 775 |
77%|███████▋ | 227/295 [5:50:50<55:13, 48.73s/it]
|
| 776 |
77%|███████▋ | 228/295 [5:52:21<1:08:36, 61.44s/it]
|
| 777 |
78%|███████▊ | 229/295 [5:55:38<1:52:20, 102.13s/it]
|
| 778 |
78%|███████▊ | 230/295 [5:57:21<1:50:41, 102.17s/it]
|
| 779 |
78%|███████▊ | 231/295 [5:59:02<1:48:38, 101.85s/it]
|
| 780 |
79%|███████▊ | 232/295 [5:59:16<1:19:20, 75.56s/it]
|
| 781 |
79%|███████▉ | 233/295 [5:59:35<1:00:28, 58.52s/it]
|
| 782 |
79%|███████▉ | 234/295 [6:02:36<1:36:47, 95.20s/it]
|
| 783 |
80%|███████▉ | 235/295 [6:03:09<1:16:37, 76.62s/it]
|
| 784 |
80%|████████ | 236/295 [6:04:37<1:18:43, 80.06s/it]
|
| 785 |
80%|████████ | 237/295 [6:05:28<1:09:04, 71.46s/it]
|
| 786 |
81%|████████ | 238/295 [6:05:50<53:43, 56.55s/it]
|
| 787 |
81%|████████ | 239/295 [6:05:58<39:11, 42.00s/it]
|
| 788 |
81%|████████▏ | 240/295 [6:06:35<37:07, 40.50s/it]
|
| 789 |
82%|████████▏ | 241/295 [6:07:08<34:21, 38.18s/it]
|
| 790 |
82%|████████▏ | 242/295 [6:08:27<44:40, 50.57s/it]
|
| 791 |
82%|████████▏ | 243/295 [6:15:44<2:24:16, 166.47s/it]
|
| 792 |
83%|████████▎ | 244/295 [6:16:07<1:44:54, 123.42s/it]
|
| 793 |
83%|████████▎ | 245/295 [6:31:04<4:56:12, 355.45s/it]
|
| 794 |
83%|████████▎ | 246/295 [6:31:37<3:31:18, 258.74s/it]
|
| 795 |
84%|████████▎ | 247/295 [6:31:47<2:27:19, 184.15s/it]
|
| 796 |
84%|████████▍ | 248/295 [6:49:57<5:57:04, 455.85s/it]
|
| 797 |
84%|████████▍ | 249/295 [6:51:41<4:28:27, 350.16s/it]
|
| 798 |
85%|████████▍ | 250/295 [6:52:56<3:20:47, 267.73s/it]
|
| 799 |
85%|████████▌ | 251/295 [6:56:17<3:01:40, 247.74s/it]
|
| 800 |
85%|████████▌ | 252/295 [7:00:14<2:55:14, 244.53s/it]
|
| 801 |
86%|████████▌ | 253/295 [7:03:13<2:37:23, 224.85s/it]
|
| 802 |
86%|████████▌ | 254/295 [7:03:28<1:50:38, 161.92s/it]
|
| 803 |
86%|████████▋ | 255/295 [7:03:41<1:18:09, 117.25s/it]
|
| 804 |
87%|████████▋ | 256/295 [7:07:22<1:36:24, 148.33s/it]
|
| 805 |
87%|████████▋ | 257/295 [7:07:46<1:10:12, 110.86s/it]
|
| 806 |
87%|████████▋ | 258/295 [7:08:40<57:55, 93.94s/it]
|
| 807 |
88%|████████▊ | 259/295 [7:08:45<40:25, 67.37s/it]
|
| 808 |
88%|████████▊ | 260/295 [7:11:59<1:01:21, 105.19s/it]
|
| 809 |
88%|████████▊ | 261/295 [7:14:28<1:07:05, 118.39s/it]
|
| 810 |
89%|████████▉ | 262/295 [7:20:04<1:41:06, 183.83s/it]
|
| 811 |
89%|████████▉ | 263/295 [7:23:14<1:39:01, 185.66s/it]
|
| 812 |
89%|████████▉ | 264/295 [7:24:05<1:14:55, 145.01s/it]
|
| 813 |
90%|████████▉ | 265/295 [7:24:22<53:22, 106.77s/it]
|
| 814 |
90%|█████████ | 266/295 [7:25:27<45:33, 94.25s/it]
|
| 815 |
91%|█████████ | 267/295 [7:25:36<32:03, 68.71s/it]
|
| 816 |
91%|█████████ | 268/295 [7:27:18<35:20, 78.55s/it]
|
| 817 |
91%|█████████ | 269/295 [7:27:53<28:20, 65.40s/it]
|
| 818 |
92%|█████████▏| 270/295 [7:40:17<1:52:07, 269.12s/it]
|
| 819 |
92%|█████████▏| 271/295 [7:40:43<1:18:28, 196.18s/it]
|
| 820 |
92%|█████████▏| 272/295 [7:45:05<1:22:46, 215.92s/it]
|
| 821 |
93%|█████████▎| 273/295 [7:46:15<1:03:04, 172.04s/it]
|
| 822 |
93%|█████████▎| 274/295 [7:46:29<43:41, 124.82s/it]
|
| 823 |
93%|█████████▎| 275/295 [7:46:39<30:07, 90.38s/it]
|
| 824 |
94%|█████████▎| 276/295 [7:46:49<20:56, 66.13s/it]
|
| 825 |
94%|█████████▍| 277/295 [7:47:58<20:09, 67.17s/it]
|
| 826 |
94%|█████████▍| 278/295 [7:48:38<16:40, 58.85s/it]
|
| 827 |
95%|█████████▍| 279/295 [7:57:07<51:43, 193.95s/it]
|
| 828 |
95%|█████████▍| 280/295 [8:05:08<1:10:02, 280.13s/it]
|
| 829 |
95%|█████████▌| 281/295 [8:05:29<47:13, 202.36s/it]
|
| 830 |
96%|█████████▌| 282/295 [8:14:03<1:04:06, 295.91s/it]
|
| 831 |
96%|█████████▌| 283/295 [8:22:58<1:13:30, 367.52s/it]
|
| 832 |
96%|█████████▋| 284/295 [8:23:22<48:30, 264.61s/it]
|
| 833 |
97%|████████��▋| 285/295 [8:23:37<31:37, 189.74s/it]
|
| 834 |
97%|█████████▋| 286/295 [8:23:50<20:29, 136.59s/it]
|
| 835 |
97%|█████████▋| 287/295 [8:26:05<18:08, 136.04s/it]
|
| 836 |
98%|█████████▊| 288/295 [8:26:51<12:43, 109.08s/it]
|
| 837 |
98%|█████████▊| 289/295 [8:28:15<10:09, 101.64s/it]
|
| 838 |
98%|█████████▊| 290/295 [8:33:37<13:57, 167.53s/it]
|
| 839 |
99%|█████████▊| 291/295 [8:37:29<12:27, 186.97s/it]
|
| 840 |
99%|█████████▉| 292/295 [8:37:59<06:59, 139.95s/it]
|
| 841 |
99%|█████████▉| 293/295 [8:51:48<11:33, 346.77s/it]
|
| 842 |
+
Processing take 2f5e3fbf-bd7a-4b11-b75d-ef62aa2f622d georgiatech_cooking_03_01_6
|
| 843 |
+
Start processing masks
|
| 844 |
+
Start processing Videos
|
| 845 |
+
Processing take 72df40a1-9bf5-4e49-86f5-5db56639de05 upenn_0715_Piano_1_5
|
| 846 |
+
Start processing masks
|
| 847 |
+
Start processing Videos
|
| 848 |
+
Processing take 2f6dc326-3689-4190-a8f8-674a5e6d688b upenn_0719_Piano_1_5
|
| 849 |
+
Start processing masks
|
| 850 |
+
Start processing Videos
|
| 851 |
+
Processing take d744484b-0012-4882-8532-14adc4fc0907 uniandes_basketball_001_16
|
| 852 |
+
Start processing masks
|
| 853 |
+
Start processing Videos
|
| 854 |
+
Processing take 6f408dd3-343d-49cc-846b-103660ab5275 georgiatech_bike_12_6
|
| 855 |
+
Start processing masks
|
| 856 |
+
Start processing Videos
|
| 857 |
+
Processing take 41424c96-9d0a-43b0-895c-7383261e6337 upenn_0717_Piano_2_4
|
| 858 |
+
Start processing masks
|
| 859 |
+
Start processing Videos
|
| 860 |
+
Processing take c2ebdf8c-3990-4d02-9760-41dc1f131419 indiana_bike_11_8
|
| 861 |
+
Start processing masks
|
| 862 |
+
Start processing Videos
|
| 863 |
+
Processing take ce433b23-9913-4265-a1ed-7a0c24e54384 sfu_cooking_012_3
|
| 864 |
+
Start processing masks
|
| 865 |
+
Start processing Videos
|
| 866 |
+
Processing take 3512c265-1506-47ad-8ade-aa8891f65ced nus_cooking_09_2
|
| 867 |
+
Start processing masks
|
| 868 |
+
Start processing Videos
|
| 869 |
+
Processing take a7ea76ee-1479-4b88-91db-35124d52a989 uniandes_basketball_001_20
|
| 870 |
+
Start processing masks
|
| 871 |
+
Start processing Videos
|
| 872 |
+
Processing take ecf4c73a-1b9d-492a-b18a-6a3276e163b1 uniandes_basketball_004_27
|
| 873 |
+
Start processing masks
|
| 874 |
+
Start processing Videos
|
| 875 |
+
Processing take f8b4b1a2-c85f-4595-8680-67ecf53d3dc4 indiana_bike_12_6
|
| 876 |
+
Start processing masks
|
| 877 |
+
Start processing Videos
|
| 878 |
+
Processing take 2eff9418-fd22-4cec-854a-ccc1ba2681bc iiith_cooking_70_6
|
| 879 |
+
Start processing masks
|
| 880 |
+
Start processing Videos
|
| 881 |
+
Processing take abc64c60-1cc8-49c1-8489-79592aafdf8a indiana_bike_01_2
|
| 882 |
+
Start processing masks
|
| 883 |
+
Start processing Videos
|
| 884 |
+
Processing take f3566beb-664b-4df0-8a83-140ae9c2952e uniandes_cooking_003_4
|
| 885 |
+
Start processing masks
|
| 886 |
+
Start processing Videos
|
| 887 |
+
Processing take c9f4c6e1-4fd2-453e-acb8-590e7ba5c8ee uniandes_basketball_004_21
|
| 888 |
+
Start processing masks
|
| 889 |
+
Start processing Videos
|
| 890 |
+
Processing take 280ab94b-ebd0-4245-85a1-4cacd670588f upenn_0713_Cooking_1_3
|
| 891 |
+
Start processing masks
|
| 892 |
+
Start processing Videos
|
| 893 |
+
Processing take 23c5bf8a-7781-42d4-b6d8-2ab6025157c7 georgiatech_covid_15_6
|
| 894 |
+
Start processing masks
|
| 895 |
+
Start processing Videos
|
| 896 |
+
Processing take 96bee032-4903-4d47-ade4-6535f0590fe2 sfu_basketball_01_10
|
| 897 |
+
Start processing masks
|
| 898 |
+
Start processing Videos
|
| 899 |
+
Processing take f4a17391-0f26-448d-831a-7f69e22d3414 sfu_cooking_012_5
|
| 900 |
+
Start processing masks
|
| 901 |
+
Start processing Videos
|
| 902 |
+
Processing take 32bd2d54-16a9-4b34-aff8-daefce73b626 sfu_cooking_004_3
|
| 903 |
+
Start processing masks
|
| 904 |
+
Start processing Videos
|
| 905 |
+
Processing take d990a808-367c-415f-8e3a-8eac6c950e72 upenn_0701_Piano_1_3
|
| 906 |
+
Start processing masks
|
| 907 |
+
Start processing Videos
|
| 908 |
+
Processing take 7f534830-cde5-45ff-87fc-d2072a584cae georgiatech_covid_11_4
|
| 909 |
+
Start processing masks
|
| 910 |
+
Start processing Videos
|
| 911 |
+
Processing take fd1b1d67-ac78-43a5-9924-b12157d72cb6 indiana_cooking_19_3
|
| 912 |
+
Start processing masks
|
| 913 |
+
Start processing Videos
|
| 914 |
+
Processing take 8ef56f71-6d85-4ff4-949e-2c386d99a38e uniandes_cooking_002_2
|
| 915 |
+
Start processing masks
|
| 916 |
+
Start processing Videos
|
| 917 |
+
Processing take 6ede3c7d-44fd-4bc9-85fb-7ccb75d7d731 unc_basketball_03-31-23_01_31
|
| 918 |
+
Start processing masks
|
| 919 |
+
Start processing Videos
|
| 920 |
+
Processing take fcb6b025-6e41-4e97-b4b5-d5fdf0ebd3cb unc_basketball_03-31-23_01_26
|
| 921 |
+
Start processing masks
|
| 922 |
+
Start processing Videos
|
| 923 |
+
Processing take 150e45fa-eb77-4a8b-bd60-d4801dff8c9f uniandes_cooking_004_2
|
| 924 |
+
Start processing masks
|
| 925 |
+
Start processing Videos
|
| 926 |
+
Processing take 30a2a49c-ea8a-4199-a9e2-7b21515d3483 cmu_bike10_2
|
| 927 |
+
Start processing masks
|
| 928 |
+
Start processing Videos
|
| 929 |
+
Processing take 9e3cebb7-8a16-471a-9b32-d9b4e294896e georgiatech_covid_11_11
|
| 930 |
+
Start processing masks
|
| 931 |
+
Start processing Videos
|
| 932 |
+
Processing take 1c761444-ece6-46c0-8b95-427f2aa8f405 sfu_basketball_01_13
|
| 933 |
+
Start processing masks
|
| 934 |
+
Start processing Videos
|
| 935 |
+
Processing take b9e252ee-51c4-480d-8dc0-6a0a6022fa0f indiana_cooking_17_5
|
| 936 |
+
Start processing masks
|
| 937 |
+
Start processing Videos
|
| 938 |
+
Processing take 7be57a0b-9f5a-4682-a18b-1998d938451e nus_cooking_15_2
|
| 939 |
+
Start processing masks
|
| 940 |
+
Start processing Videos
|
| 941 |
+
Processing take 570b3b00-ff83-4eff-9313-9c0ef967d9b6 georgiatech_cooking_12_02_2
|
| 942 |
+
Start processing masks
|
| 943 |
+
Start processing Videos
|
| 944 |
+
Processing take 1c4c0679-9b40-4624-8e8d-b688a3a69929 indiana_cooking_07_3
|
| 945 |
+
Start processing masks
|
| 946 |
+
Start processing Videos
|
| 947 |
+
Processing take d39e0bcf-5f2c-4468-abe6-ae18b3c407cb iiith_cooking_70_2
|
| 948 |
+
Start processing masks
|
| 949 |
+
Start processing Videos
|
| 950 |
+
Processing take 09950cc3-4936-4385-8fff-48e5c042595b uniandes_basketball_003_56
|
| 951 |
+
Start processing masks
|
| 952 |
+
Start processing Videos
|
| 953 |
+
Processing take d85733f6-51c4-4046-b51c-73894f5aa621 iiith_soccer_008_7
|
| 954 |
+
Start processing masks
|
| 955 |
+
Start processing Videos
|
| 956 |
+
Processing take 2f86293e-823d-4e2d-8c54-2f888e2639ed uniandes_basketball_001_37
|
| 957 |
+
Start processing masks
|
| 958 |
+
Start processing Videos
|
| 959 |
+
Processing take 19c3829d-7af3-4cb6-878c-7d29d565edef fair_cooking_09_8
|
| 960 |
+
Start processing masks
|
| 961 |
+
Start processing Videos
|
| 962 |
+
Processing take 9c50296b-217b-4e84-aaae-9015daee59a9 indiana_bike_11_14
|
| 963 |
+
Start processing masks
|
| 964 |
+
Start processing Videos
|
| 965 |
+
Processing take 247cde12-df65-4d59-ac01-449680e83871 upenn_0712_Cooking_2_3
|
| 966 |
+
Start processing masks
|
| 967 |
+
Start processing Videos
|
| 968 |
+
Processing take bd322fcd-9b14-4ce8-999d-d4ef896c8363 nus_cpr_01_2
|
| 969 |
+
Start processing masks
|
| 970 |
+
Start processing Videos
|
| 971 |
+
Processing take d1586c7d-29ba-4060-a828-02c162ba812d upenn_0713_Cooking_2_3
|
| 972 |
+
Start processing masks
|
| 973 |
+
Start processing Videos
|
| 974 |
+
Processing take 61b218b2-52fb-465f-855f-41e5164d7998 indiana_bike_11_12
|
| 975 |
+
Start processing masks
|
| 976 |
+
Start processing Videos
|
| 977 |
+
Processing take 901cebcb-d84b-43ed-a80f-719e62561b82 unc_basketball_03-31-23_01_23
|
| 978 |
+
Start processing masks
|
| 979 |
+
Start processing Videos
|
| 980 |
+
Processing take 73d9fbc1-b6b3-4b3e-89db-3a4de56b924c sfu_basketball_01_27
|
| 981 |
+
Start processing masks
|
| 982 |
+
Start processing Videos
|
| 983 |
+
Processing take 23c5085a-8ead-4f74-be3b-9287e4019e98 georgiatech_covid_17_6
|
| 984 |
+
Start processing masks
|
| 985 |
+
Start processing Videos
|
| 986 |
+
Processing take 8bb95fbe-efa4-416b-9558-a0301b846f25 georgiatech_covid_15_8
|
| 987 |
+
Start processing masks
|
| 988 |
+
Start processing Videos
|
| 989 |
+
Processing take 0099226c-9bec-44aa-ba43-2b90eb7b8379 iiith_cooking_50_2
|
| 990 |
+
Start processing masks
|
| 991 |
+
Start processing Videos
|
| 992 |
+
Processing take b1ff7a1d-74e0-4bbb-a047-2f70eb1bc568 indiana_cooking_11_3
|
| 993 |
+
Start processing masks
|
| 994 |
+
Start processing Videos
|
| 995 |
+
Processing take c47b2e19-8a8f-4594-9144-8b7be780ab74 upenn_0722_Guitar_2_5
|
| 996 |
+
Start processing masks
|
| 997 |
+
Start processing Videos
|
| 998 |
+
Processing take a2527385-d99e-4cc8-a407-250da018a3c9 iiith_cooking_70_4
|
| 999 |
+
Start processing masks
|
| 1000 |
+
Start processing Videos
|
| 1001 |
+
Processing take edad0957-8423-4647-bdd2-c6f4c1d15f38 indiana_cooking_24_3
|
| 1002 |
+
Start processing masks
|
| 1003 |
+
Start processing Videos
|
| 1004 |
+
Processing take 602a2ac1-280b-46b6-bf3c-1191cb2fc224 georgiatech_cooking_03_02_2
|
| 1005 |
+
Start processing masks
|
| 1006 |
+
Start processing Videos
|
| 1007 |
+
Processing take 534f433c-14c2-4eb7-851a-a23a8b2ee340 cmu_bike06_2
|
| 1008 |
+
Start processing masks
|
| 1009 |
+
Start processing Videos
|
| 1010 |
+
Processing take 136cd3d8-5eff-44a2-b761-dcd0c190c71b nus_cpr_06_1
|
| 1011 |
+
Start processing masks
|
| 1012 |
+
Start processing Videos
|
| 1013 |
+
Processing take 5e3c697c-9aef-4686-9055-b34185b21a75 sfu_basketball_10_21
|
| 1014 |
+
Start processing masks
|
| 1015 |
+
Start processing Videos
|
| 1016 |
+
Processing take f4e73920-1679-43d6-a307-4b6672811e46 indiana_cooking_17_3
|
| 1017 |
+
Start processing masks
|
| 1018 |
+
Start processing Videos
|
| 1019 |
+
Processing take 673f2b3e-413a-4450-aca8-ffbfb56db7be cmu_bike09_4
|
| 1020 |
+
Start processing masks
|
| 1021 |
+
Start processing Videos
|
| 1022 |
+
Processing take 83decc40-f9da-469a-9ce2-1d173b06e5b3 indiana_bike_14_6
|
| 1023 |
+
Start processing masks
|
| 1024 |
+
Start processing Videos
|
| 1025 |
+
Processing take e14c702f-a451-46e6-ab31-c1213ec2f1be indiana_cooking_25_2
|
| 1026 |
+
Start processing masks
|
| 1027 |
+
Start processing Videos
|
| 1028 |
+
Processing take 75cc6a20-2451-4922-844b-3e376e095657 indiana_cooking_11_2
|
| 1029 |
+
Start processing masks
|
| 1030 |
+
Start processing Videos
|
| 1031 |
+
Processing take a50d179d-4dc4-4cf4-afb3-0c43cf86d44c uniandes_basketball_004_30
|
| 1032 |
+
Start processing masks
|
| 1033 |
+
Start processing Videos
|
| 1034 |
+
Processing take ef2d0ea2-a3aa-45ef-83e3-6d8b0d863dc5 indiana_cooking_11_4
|
| 1035 |
+
Start processing masks
|
| 1036 |
+
Start processing Videos
|
| 1037 |
+
Processing take af223382-86df-43f7-989b-331fe0436810 sfu_basketball_01_26
|
| 1038 |
+
Start processing masks
|
| 1039 |
+
Start processing Videos
|
| 1040 |
+
Processing take 1876d795-0c6f-4e0e-8165-e7a0c8a6e77f sfu_basketball_10_11
|
| 1041 |
+
Start processing masks
|
| 1042 |
+
Start processing Videos
|
| 1043 |
+
Total time: 31935.866154909134 seconds
|