Giter VIP home page Giter VIP logo

sn-spotting's Introduction

Python Pypi Downloads Downloads License

SoccerNet package

conda create -n SoccerNet python pip
conda activate SoccerNet
pip install SoccerNet
# pip install -e https://github.com/SoccerNet/SoccerNet
# pip install -e .

Structure of the data data for each game

  • SoccerNet main folder
    • Leagues (england_epl/europe_uefa-champions-league/france_ligue-1/...)
      • Seasons (2014-2015/2015-2016/2016-2017)
        • Games (format: "{Date} - {Time} - {HomeTeam} {Score} {AwayTeam}")
          • SoccerNet-v2 - Labels / Manual Annotations

            • video.ini: information on start/duration for each half of the game in the HQ video, in second
            • Labels-v2.json: Labels from SoccerNet-v2 - action spotting
            • Labels-cameras.json: Labels from SoccerNet-v1 - camera shot segmentation
          • SoccerNet-v2 - Videos / Automatically Extracted Features

            • 1_224p.mkv: 224p video 1st half - timmed with start/duration from HQ video - resolution 224*398 - 25 fps
            • 2_224p.mkv: 224p video 2nd half - timmed with start/duration from HQ video - resolution 224*398 - 25 fps
            • 1_720p.mkv: 720p video 1st half - timmed with start/duration from HQ video - resolution 720*1280 - 25 fps
            • 2_720p.mkv: 720p video 2nd half - timmed with start/duration from HQ video - resolution 720*1280 - 25 fps
            • 1_ResNET_TF2.npy: ResNET features @2fps for 1st half from SoccerNet-v2, extracted using TF2
            • 2_ResNET_TF2.npy: ResNET features @2fps for 2nd half from SoccerNet-v2, extracted using TF2
            • 1_ResNET_TF2_PCA512.npy: ResNET features @2fps for 1st half from SoccerNet-v2, extracted using TF2, with dimensionality reduced to 512 using PCA
            • 2_ResNET_TF2_PCA512.npy: ResNET features @2fps for 2nd half from SoccerNet-v2, extracted using TF2, with dimensionality reduced to 512 using PCA
            • 1_ResNET_5fps_TF2.npy: ResNET features @5fps for 1st half from SoccerNet-v2, extracted using TF2
            • 2_ResNET_5fps_TF2.npy: ResNET features @5fps for 2nd half from SoccerNet-v2, extracted using TF2
            • 1_ResNET_5fps_TF2_PCA512.npy: ResNET features @5fps for 1st half from SoccerNet-v2, extracted using TF2, with dimensionality reduced to 512 using PCA
            • 2_ResNET_5fps_TF2_PCA512.npy: ResNET features @5fps for 2nd half from SoccerNet-v2, extracted using TF2, with dimensionality reduced to 512 using PCA
            • 1_ResNET_25fps_TF2.npy: ResNET features @25fps for 1st half from SoccerNet-v2, extracted using TF2
            • 2_ResNET_25fps_TF2.npy: ResNET features @25fps for 2nd half from SoccerNet-v2, extracted using TF2
            • 1_player_boundingbox_maskrcnn.json: Player Bounding Boxes @2fps for 1st half, extracted with MaskRCNN
            • 2_player_boundingbox_maskrcnn.json: Player Bounding Boxes @2fps for 2nd half, extracted with MaskRCNN
            • 1_field_calib_ccbv.json: Field Camera Calibration @2fps for 1st half, extracted with CCBV
            • 2_field_calib_ccbv.json: Field Camera Calibration @2fps for 2nd half, extracted with CCBV
            • 1_baidu_soccer_embeddings.npy: Frame Embeddings for 1st half from https://github.com/baidu-research/vidpress-sports
            • 2_baidu_soccer_embeddings.npy: Frame Embeddings for 2nd half from https://github.com/baidu-research/vidpress-sports
          • Legacy from SoccerNet-v1

            • Labels.json: Labels from SoccerNet-v1 - action spotting for goals/cards/subs only
            • 1_C3D.npy: C3D features @2fps for 1st half from SoccerNet-v1
            • 2_C3D.npy: C3D features @2fps for 2nd half from SoccerNet-v1
            • 1_C3D_PCA512.npy: C3D features @2fps for 1st half from SoccerNet-v1, with dimensionality reduced to 512 using PCA
            • 2_C3D_PCA512.npy: C3D features @2fps for 2nd half from SoccerNet-v1, with dimensionality reduced to 512 using PCA
            • 1_I3D.npy: I3D features @2fps for 1st half from SoccerNet-v1
            • 2_I3D.npy: I3D features @2fps for 2nd half from SoccerNet-v1
            • 1_I3D_PCA512.npy: I3D features @2fps for 1st half from SoccerNet-v1, with dimensionality reduced to 512 using PCA
            • 2_I3D_PCA512.npy: I3D features @2fps for 2nd half from SoccerNet-v1, with dimensionality reduced to 512 using PCA
            • 1_ResNET.npy: ResNET features @2fps for 1st half from SoccerNet-v1
            • 2_ResNET.npy: ResNET features @2fps for 2nd half from SoccerNet-v1
            • 1_ResNET_PCA512.npy: ResNET features @2fps for 1st half from SoccerNet-v1, with dimensionality reduced to 512 using PCA
            • 2_ResNET_PCA512.npy: ResNET features @2fps for 2nd half from SoccerNet-v1, with dimensionality reduced to 512 using PCA

How to Download Games (Python)

from SoccerNet.Downloader import SoccerNetDownloader

mySoccerNetDownloader = SoccerNetDownloader(LocalDirectory="path/to/soccernet")

# Download SoccerNet labels
mySoccerNetDownloader.downloadGames(files=["Labels.json"], split=["train", "valid", "test"]) # download labels
mySoccerNetDownloader.downloadGames(files=["Labels-v2.json"], split=["train", "valid", "test"]) # download labels SN v2
mySoccerNetDownloader.downloadGames(files=["Labels-cameras.json"], split=["train", "valid", "test"]) # download labels for camera shot

# Download SoccerNet features
mySoccerNetDownloader.downloadGames(files=["1_ResNET_TF2.npy", "2_ResNET_TF2.npy"], split=["train", "valid", "test"]) # download Features
mySoccerNetDownloader.downloadGames(files=["1_ResNET_TF2_PCA512.npy", "2_ResNET_TF2_PCA512.npy"], split=["train", "valid", "test"]) # download Features reduced with PCA
mySoccerNetDownloader.downloadGames(files=["1_player_boundingbox_maskrcnn.json", "2_player_boundingbox_maskrcnn.json"], split=["train", "valid", "test"]) # download Player Bounding Boxes inferred with MaskRCNN
mySoccerNetDownloader.downloadGames(files=["1_field_calib_ccbv.json", "2_field_calib_ccbv.json"], split=["train", "valid", "test"]) # download Field Calibration inferred with CCBV
mySoccerNetDownloader.downloadGames(files=["1_baidu_soccer_embeddings.npy", "2_baidu_soccer_embeddings.npy"], split=["train", "valid", "test"]) # download Frame Embeddings from https://github.com/baidu-research/vidpress-sports

# Download SoccerNet Challenge set (require password from NDA to download videos)
mySoccerNetDownloader.downloadGames(files=["1_ResNET_TF2.npy", "2_ResNET_TF2.npy"], split=["challenge"]) # download ResNET Features
mySoccerNetDownloader.downloadGames(files=["1_ResNET_TF2_PCA512.npy", "2_ResNET_TF2_PCA512.npy"], split=["challenge"]) # download ResNET Features reduced with PCA
mySoccerNetDownloader.downloadGames(files=["1_224p.mkv", "2_224p.mkv"], split=["challenge"]) # download 224p Videos (require password from NDA)
mySoccerNetDownloader.downloadGames(files=["1_720p.mkv", "2_720p.mkv"], split=["challenge"]) # download 720p Videos (require password from NDA)
mySoccerNetDownloader.downloadGames(files=["1_player_boundingbox_maskrcnn.json", "2_player_boundingbox_maskrcnn.json"], split=["challenge"]) # download Player Bounding Boxes inferred with MaskRCNN 
mySoccerNetDownloader.downloadGames(files=["1_field_calib_ccbv.json", "2_field_calib_ccbv.json"], split=["challenge"]) # download Field Calibration inferred with CCBV 
mySoccerNetDownloader.downloadGames(files=["1_baidu_soccer_embeddings.npy", "2_baidu_soccer_embeddings.npy"], split=["challenge"]) # download Frame Embeddings from https://github.com/baidu-research/vidpress-sports

# Download development kit per task
mySoccerNetDownloader.downloadDataTask(task="calibration-2023", split=["train", "valid", "test", "challenge"])
mySoccerNetDownloader.downloadDataTask(task="caption-2023", split=["train", "valid", "test", "challenge"])
mySoccerNetDownloader.downloadDataTask(task="jersey-2023", split=["train", "test", "challenge"])
mySoccerNetDownloader.downloadDataTask(task="reid-2023", split=["train", "valid", "test", "challenge"])
mySoccerNetDownloader.downloadDataTask(task="spotting-2023", split=["train", "valid", "test", "challenge"])
mySoccerNetDownloader.downloadDataTask(task="spotting-ball-2023", split=["train", "valid", "test", "challenge"], password=<PW_FROM_NDA>)
mySoccerNetDownloader.downloadDataTask(task="tracking-2023", split=["train", "test", "challenge"])

# Download SoccerNet videos (require password from NDA to download videos)
mySoccerNetDownloader.password = "Password for videos? (contact the author)"
mySoccerNetDownloader.downloadGames(files=["1_224p.mkv", "2_224p.mkv"], split=["train", "valid", "test"]) # download 224p Videos
mySoccerNetDownloader.downloadGames(files=["1_720p.mkv", "2_720p.mkv"], split=["train", "valid", "test"]) # download 720p Videos 
mySoccerNetDownloader.downloadRAWVideo(dataset="SoccerNet") # download 720p Videos 
mySoccerNetDownloader.downloadRAWVideo(dataset="SoccerNet-Tracking") # download single camera RAW Videos 

# Download SoccerNet in OSL ActionSpotting format
mySoccerNetDownloader.downloadDataTask(task="spotting-OSL", split=["train", "valid", "test", "challenge"], version="ResNET_PCA512")
mySoccerNetDownloader.downloadDataTask(task="spotting-OSL", split=["train", "valid", "test", "challenge"], version="baidu_soccer_embeddings")
mySoccerNetDownloader.downloadDataTask(task="spotting-OSL", split=["train", "valid", "test", "challenge"], version="224p", password=<PW_FROM_NDA>)

How to read the list Games (Python)

from SoccerNet.utils import getListGames
print(getListGames(split="train")) # return list of games recommended for training
print(getListGames(split="valid")) # return list of games recommended for validation
print(getListGames(split="test")) # return list of games recommended for testing
print(getListGames(split="challenge")) # return list of games recommended for challenge
print(getListGames(split=["train", "valid", "test", "challenge"])) # return list of games for training, validation and testing
print(getListGames(split="v1")) # return list of games from SoccerNetv1 (train/valid/test)

sn-spotting's People

Contributors

cioppaanthony avatar silviogiancola avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

sn-spotting's Issues

Meaning of "confidence" field in prediction file for evaluation

Hi,

It is quite an interesting soccer challenge. Though I would like to understand one small point about "confidence" field in prediction files.

During evaluation, there is a necessity to provide a confidence of the predicted event. I was wondering how this value affect the evaluation results - Average-mAP (e.g. whether the predicted events are thresholded in "evaluate" method or something else)?

Thank you.

Cannot download data for spotting-ball-2024 (HTTP Error 401: Unauthorized)

As suggested in the title, I am unable to download the action spotting dataset for the 2024 challenge. I get a 'HTTP Error 401: Unauthorized'. I tried using the 'download_ball_data.py' from the official repo, inputting the password provided after signing the NDA, using both python 3.9 and 3.10.

Can you please advise what to do here?

Using a different version of libraries

Running pip3 install torch==1.6.0 torchvision==0.7.0 -f https://download.pytorch.org/whl/cu101/torch_stable.html

Gives.................

Looking in links: https://download.pytorch.org/whl/cu101/torch_stable.html
ERROR: Could not find a version that satisfies the requirement torch==1.6.0 (from versions: 1.8.0, 1.8.1, 1.9.0, 1.10.0, 1.10.1, 1.10.2, 1.11.0, 1.12.0, 1.12.1, 1.13.0, 1.13.1, 2.0.0)
ERROR: No matching distribution found for torch==1.6.0

Running conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.1 -c pytorch

Gives....................

Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.

PackagesNotFoundError: The following packages are not available from current channels:

  • cudatoolkit=10.1
  • pytorch==1.6.0
  • torchvision==0.7.0

Current channels:

To search for alternate channels that may provide the conda package you're
looking for, navigate to

https://anaconda.org

and use the search bar at the top of the page.

Since I cannot install the required versions, will installing higher versions break the code?

Thanks for your amazing work.

CALF model training error !

@SilvioGiancola I want to ask that the CALF model training is throwing error with


RuntimeError: CUDA out of memory. Tried to allocate 7.38 GiB (GPU 0; 10.76 GiB total capacity; 7.45 GiB already allocated; 2.19 GiB free; 7.45 GiB reserved in total by PyTorch)
Exception in thread Thread-2:

while there is no any of error with Temporary pooling model NetVLAD++

Can you or any friend guide me why is it so. I tried to free cache but didn't work. I used smaller batch_size and also failed to resolve so. If you can kindly help.

Baidu feats extractor

Is there any feature extractor routine available for baidu embeddings ? How these features are extracted?

ABOUT CVPR22 SUBMISSION

Hi, i am wondering when will the cvpr22 evaluation server be ready.

I have just participated in this challenge and I find that there is no submission page on EvalAI.

By the way, are challenge set games included in Baidu features? Thx.

Possible OOM issue in training for NetVLAD++ (Linux Ubuntu 18.04)

Hello!
Thank you so much for providing this open repository for everyone!

I would like to ask about my issue running training for the Benchmark model.
I tried training for the NetVLAD++ benchmark model in my system and ran into this issue:
Screenshot from 2023-08-04 11-37-33

This is the parameters for the training:

2023-08-04 11:16:14,511 [MainThread ] [INFO ] Parameters:
2023-08-04 11:16:14,511 [MainThread ] [INFO ] SoccerNet_path : /media/ogatalab/SSD-PGU3C/SoccerNet
2023-08-04 11:16:14,511 [MainThread ] [INFO ] features : ResNET_TF2.npy
2023-08-04 11:16:14,511 [MainThread ] [INFO ] max_epochs : 1000
2023-08-04 11:16:14,511 [MainThread ] [INFO ] load_weights : None
2023-08-04 11:16:14,511 [MainThread ] [INFO ] model_name : NetVLAD++
2023-08-04 11:16:14,511 [MainThread ] [INFO ] test_only : False
2023-08-04 11:16:14,511 [MainThread ] [INFO ] split_train : ['train']
2023-08-04 11:16:14,511 [MainThread ] [INFO ] split_valid : ['valid']
2023-08-04 11:16:14,511 [MainThread ] [INFO ] split_test : ['test', 'challenge']
2023-08-04 11:16:14,511 [MainThread ] [INFO ] version : 2
2023-08-04 11:16:14,511 [MainThread ] [INFO ] feature_dim : None
2023-08-04 11:16:14,511 [MainThread ] [INFO ] evaluation_frequency : 10
2023-08-04 11:16:14,511 [MainThread ] [INFO ] framerate : 2
2023-08-04 11:16:14,511 [MainThread ] [INFO ] window_size : 15
2023-08-04 11:16:14,511 [MainThread ] [INFO ] pool : NetVLAD++
2023-08-04 11:16:14,511 [MainThread ] [INFO ] vocab_size : 64
2023-08-04 11:16:14,511 [MainThread ] [INFO ] NMS_window : 30
2023-08-04 11:16:14,511 [MainThread ] [INFO ] NMS_threshold : 0.0
2023-08-04 11:16:14,511 [MainThread ] [INFO ] batch_size : 256
2023-08-04 11:16:14,511 [MainThread ] [INFO ] LR : 0.001
2023-08-04 11:16:14,511 [MainThread ] [INFO ] LRe : 1e-06
2023-08-04 11:16:14,511 [MainThread ] [INFO ] patience : 10
2023-08-04 11:16:14,511 [MainThread ] [INFO ] GPU : 0
2023-08-04 11:16:14,511 [MainThread ] [INFO ] max_num_worker : 4
2023-08-04 11:16:14,511 [MainThread ] [INFO ] seed : 0
2023-08-04 11:16:14,511 [MainThread ] [INFO ] loglevel : INFO

I have tried to reduce the batch_size and max_num_workers as well, but the problem persists.
Also, not sure if it is needed, but it seems it only happens after it runs the test() procedure.

I found no trouble training with PCA512 features, so I figure there must be some resource issues.
When I look at the System Monitor and GPU usage, this is the reading of the result.
Screenshot from 2023-08-03 16-18-17

I have tried increasing the swap file to more than 64GB, but it only results in my system freezing and crashing.
Are you familiar with this issue? Is there any way for me to bypass this?
Or, if it is no trouble, can you tell me the recommended specification to run this training?
Thank you!

My system specs (RAM 16GB, SSD 2TB):

  1. CPU

Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 6
On-line CPU(s) list: 0-5
Thread(s) per core: 1
Core(s) per socket: 6
Socket(s): 1
NUMA node(s): 1
Vendor ID: AuthenticAMD
CPU family: 23
Model: 113
Model name: AMD Ryzen 5 3500 6-Core Processor
Stepping: 0
CPU MHz: 3266.777
CPU max MHz: 3600.0000
CPU min MHz: 2200.0000
BogoMIPS: 7186.49
Virtualization: AMD-V
L1d cache: 32K
L1i cache: 32K
L2 cache: 512K
L3 cache: 8192K
NUMA node0 CPU(s): 0-5

  1. GPU (NVIDIA GeForce RTX 3060 Ti)

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.182.03 Driver Version: 470.182.03 CUDA Version: 11.4 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:06:00.0 On | N/A |
| 30% 51C P2 57W / 200W | 2270MiB / 7973MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1067 G /usr/bin/gnome-shell 87MiB |
| 0 N/A N/A 1431 G /usr/lib/xorg/Xorg 146MiB |
| 0 N/A N/A 1546 G /usr/bin/gnome-shell 46MiB |
| 0 N/A N/A 2130 G ...RendererForSitePerProcess 87MiB |
| 0 N/A N/A 2754 G /usr/bin/nvidia-settings 0MiB |
| 0 N/A N/A 5116 C python 1809MiB |
| 0 N/A N/A 23313 G ...464382835143902905,262144 77MiB |
+-----------------------------------------------------------------------------+

Evaluation Code

Hi,

Thanks for this awesome dataset!

I would like to go through the evaluation code. However, I am unable to find it. Can you please point me out the location where I can find the code to calculate Average-mAP?

Wrong Interpretation

I have to ask one question. I used NetVlad++ model and TempPooling inference results on my own data video test is that accuracy is less than CALF model json. All the events are less than value 0,25 in visibility. Could you give any hint why it could be. I guess that I need correct K_V2 values

Test on external video

I clone repo and I run

user@PC MINGW64 ~
$ cd GitProjects/sn-spotting/Benchmarks/CALF/

user@PC MINGW64 ~/GitProjects/sn-spotting/Benchmarks/CALF (main)
$ ls
AUTHORS  LICENSE  README.md  img  inference  models  outputs  src

user@PC MINGW64 ~/GitProjects/sn-spotting/Benchmarks/CALF (main)
$ python inference/main.py --video_path="test.mp4" --model_name CALF_benchmark
Traceback (most recent call last):
  File "~\GitProjects\sn-spotting\Benchmarks\CALF\inference\main.py", line 10, in <module>
    from dataset import SoccerNetClipsTesting
  File "~\GitProjects\sn-spotting\Benchmarks\CALF\inference\dataset.py", line 21, in <module>
    from Features.VideoFeatureExtractor import VideoFeatureExtractor, PCAReducer
ModuleNotFoundError: No module named 'Features'

Error while training!

I have just tried to reproduce the code and I faced this issue. Can you guess what could be the reason? Is there something in download of the dataset? Or?

Train 79: Time 0.043s (it:0.011s) Data:0.027s (it:0.000s) Loss 7.8882e-02 : 100%|███████████████████████████████████████| 431/431 [00:18<00:00, 23.24it/s]
Evaluate 79: Time 0.042s (it:0.005s) Data:0.033s (it:0.001s) Loss 1.0849e-01 : 100%|████████████████████████████████████| 144/144 [00:05<00:00, 24.48it/s]
2022-04-01 12:20:21,465 [MainThread ] [INFO ] Plateau Reached and no more reduction -> Exiting Loop
2022-04-01 12:20:21,487 [MainThread ] [INFO ] Checking/Download features and labels locally
Test (spot.): Time 2.487s (it:2.519s) Data:2.111s (it:2.149s) : 67%|██████████████████████████████████▊ | 67/100 [02:46<01:22, 2.49s/it]
Traceback (most recent call last):
File "/home/main/Desktop/soccer/SoccerNetv2-DevKit/Task1-ActionSpotting/TemporallyAwarePooling/src/main.py", line 174, in
main(args)
File "/home/main/Desktop/soccer/SoccerNetv2-DevKit/Task1-ActionSpotting/TemporallyAwarePooling/src/main.py", line 86, in main
results = testSpotting(test_loader, model=model, model_name=args.model_name, NMS_window=args.NMS_window, NMS_threshold=args.NMS_threshold)
File "/home/main/Desktop/soccer/SoccerNetv2-DevKit/Task1-ActionSpotting/TemporallyAwarePooling/src/train.py", line 218, in testSpotting
for i, (game_ID, feat_half1, feat_half2, label_half1, label_half2) in t:
File "/home/main/anaconda3/envs/soccer/lib/python3.9/site-packages/tqdm/std.py", line 1180, in iter
for obj in iterable:
File "/home/main/anaconda3/envs/soccer/lib/python3.9/site-packages/torch/utils/data/dataloader.py", line 521, in next
data = self._next_data()
File "/home/main/anaconda3/envs/soccer/lib/python3.9/site-packages/torch/utils/data/dataloader.py", line 1203, in _next_data
return self._process_data(data)
File "/home/main/anaconda3/envs/soccer/lib/python3.9/site-packages/torch/utils/data/dataloader.py", line 1229, in _process_data
data.reraise()
File "/home/main/anaconda3/envs/soccer/lib/python3.9/site-packages/torch/_utils.py", line 434, in reraise
raise exception
ValueError: Caught ValueError in DataLoader worker process 0.
Original Traceback (most recent call last):
File "/home/main/anaconda3/envs/soccer/lib/python3.9/site-packages/torch/utils/data/_utils/worker.py", line 287, in _worker_loop
data = fetcher.fetch(index)
File "/home/main/anaconda3/envs/soccer/lib/python3.9/site-packages/torch/utils/data/_utils/fetch.py", line 49, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/home/main/anaconda3/envs/soccer/lib/python3.9/site-packages/torch/utils/data/utils/fetch.py", line 49, in
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/home/main/Desktop/soccer/SoccerNetv2-DevKit/Task1-ActionSpotting/TemporallyAwarePooling/src/dataset.py", line 190, in getitem
feat_half1 = np.load(os.path.join(self.path, self.listGames[index], "1
" + self.features))
File "/home/main/anaconda3/envs/soccer/lib/python3.9/site-packages/numpy/lib/npyio.py", line 430, in load
return format.read_array(fid, allow_pickle=allow_pickle,
File "/home/main/anaconda3/envs/soccer/lib/python3.9/site-packages/numpy/lib/format.py", line 786, in read_array
array.shape = shape
ValueError: cannot reshape array of size 989152 into shape (5400,2048)

CALF_Calibration_GCN: Code & RuntimeError

I am trying to run CALF_Calibration_GCN https://github.com/SoccerNet/sn-spotting/tree/main/Benchmarks/CALF_Calibration_GCN to replicate the Benchmark results.
In your code to run this model, model_name is specified twice. I presume the second, --model_name=calib_GCN_run_${i}, is redundant here?:

python src/main.py \
--SoccerNet_path=path/to/SoccerNet/ \
--features=ResNET_TF2_PCA512.npy \
--num_features=512 \
--model_name=calib_GCN \
--batch_size 32 \
--evaluation_frequency 20 \
--chunks_per_epoch 18000 \
--model_name=calib_GCN_run_${i}  \
--backbone_feature=2DConv \
--backbone_player=resGCN-14 \
--dist_graph_player=25 \
--calibration \
--feature_multiplier 2 \
--class_split visual 

Also, even if this line is removed, I keep getting RuntimeError: CUDA out of memory.
I have tried reducing batch_size from 32 to 16 and running the model on a server node with a greater number of GPUs, but without success.
Do you have any suggestions as to how I can prevent this error?

DISCORD INVITE INVALID

Hi! I fail to join the SoccerNet discord and it seems that the invitation URL is expired. Could you send me a new invite link? I wonder the final results on the challenge set. Thank you!

CALF Calibration & CALF Calibration GCN Benchmark code error

While trying to run the benchmark CALF_Calibration_GCN code as per the instructions in this repository, I receive the following error:

Traceback (most recent call last):
  File "src/main.py", line 10, in <module>
    from dataset import SoccerNetClips, SoccerNetClipsTesting, collateGCN, collateGCNTesting
  File "/work2/b_rory/work/SoccerNet/sn-spotting/Benchmarks/CALF_Calibration_GCN/src/dataset.py", line 24, in <module>
    from torch_geometric.data import Data
  File "/home/b_rory/workspace2/virtualenvs/venv/envs/CALF-pytorch/lib/python3.8/site-packages/torch_geometric/__init__.py", line 4, in <module>
    import torch_geometric.data
  File "/home/b_rory/workspace2/virtualenvs/venv/envs/CALF-pytorch/lib/python3.8/site-packages/torch_geometric/data/__init__.py", line 7, in <module>
    from .lightning_datamodule import (
  File "/home/b_rory/workspace2/virtualenvs/venv/envs/CALF-pytorch/lib/python3.8/site-packages/torch_geometric/data/lightning_datamodule.py", line 8, in <module>
    from torch_geometric.loader.dataloader import DataLoader
  File "/home/b_rory/workspace2/virtualenvs/venv/envs/CALF-pytorch/lib/python3.8/site-packages/torch_geometric/loader/__init__.py", line 15, in <module>
    from .dynamic_batch_sampler import DynamicBatchSampler
  File "/home/b_rory/workspace2/virtualenvs/venv/envs/CALF-pytorch/lib/python3.8/site-packages/torch_geometric/loader/dynamic_batch_sampler.py", line 9, in <module>
    class DynamicBatchSampler(torch.utils.data.sampler.Sampler[List[int]]):
TypeError: 'type' object is not subscriptable

Could you please advise how I can resolve this?

Multiple GPU usage

Is it possible to use the multi GPU with the routine available? with shared memory ?

Features extraction

I have to ask one question. How to extract from any soccer match the metadata in json with the features npy file with the time and its spotting feature info? like label_camera json files are from any of the trained engine CALF? The routine is available in the list_management.py in utilities. Is this possible while extracting features?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.