diff --git a/README.md b/README.md index cc560f0ad70a6d74e6175302350f6fb349e16734..8e0e8d9ad21ac742676af1cca6a285d9572db827 100644 --- a/README.md +++ b/README.md @@ -13,11 +13,7 @@ The required Python modules are listed in the 'requirement.txt' file. Beware tha The 'creation_datasets' folder can be used to create the datasets to train and test the AI To use the AI : -put in the input folder : -an "audio_files" folder with the audios and a csv file containing the audios you want to test. The format of the csv is : -audio_id -audio1 -audio2 +put in the input folder a csv file with a column audio_id containing the list of the link to the file you want to test the model on ... no extension on the audio_id column diff --git a/README.txt b/README.txt deleted file mode 100644 index 3d6133f1485b9e85e8055549a5ddb55a1068af8e..0000000000000000000000000000000000000000 --- a/README.txt +++ /dev/null @@ -1,30 +0,0 @@ -To use the ia : -put in the input folder : -an audio_files with the audios and a csv file containing the audios you want to test. The format is : -audio_id -audio1 -audio2 -... - -no extension on the audio_id column -Note : the csv can have multiple columns, but only the audio_id is considered - - -To make the training : -download and preprocess the dataset : in Terminal, put yourself in the "birdcall-detection" folder. Then type "make prepare" -Wait the download end. Then you can launch the training with "make train". -If you have not enough RAM, you'd better train models one by one. To do so, write (still in the "birdcall-detection" folder) : -python train -m 1 -python train -m 2 -python train -m 3 -python train -m 4 - -Note : If you want to make your own dataset, in the train/data_training folder, put an audio_files folder and a csv with the adequate format : -cnt,en,id,length -**,class1,audio1.mp3,** -**,class1,audio2.mp3,** -... -**,class2,audio4.wav,** -... - -where audio.* is just the name of the corresponding audio file and *** are characters that needs to be there but are not important diff --git a/creation_datasets/audio_files_birds_america/601776.mp3 b/creation_datasets/audio_files_birds_america/601776.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..867547a81ac66ad68c88d4d6c164e325a4475757 Binary files /dev/null and b/creation_datasets/audio_files_birds_america/601776.mp3 differ diff --git a/creation_datasets/audio_files_birds_america/618567.mp3 b/creation_datasets/audio_files_birds_america/618567.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..bd6924fc7d17c087d3a7813590fa7a2fa3d64149 Binary files /dev/null and b/creation_datasets/audio_files_birds_america/618567.mp3 differ diff --git a/creation_datasets/audio_files_birds_america/681816.mp3 b/creation_datasets/audio_files_birds_america/681816.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..851b48afacf55ce797bb60991f73554c54b67c9b Binary files /dev/null and b/creation_datasets/audio_files_birds_america/681816.mp3 differ diff --git a/creation_datasets/audio_files_birds_america/681907.mp3 b/creation_datasets/audio_files_birds_america/681907.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..4d542f733d8e22ccb52b84cdd870489732360e5e Binary files /dev/null and b/creation_datasets/audio_files_birds_america/681907.mp3 differ diff --git a/creation_datasets/audio_files_birds_america/690946.mp3 b/creation_datasets/audio_files_birds_america/690946.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..d45942861199e68130dc745c810dd445afa031ad Binary files /dev/null and b/creation_datasets/audio_files_birds_america/690946.mp3 differ diff --git a/creation_datasets/audio_files_birds_america/705383.mp3 b/creation_datasets/audio_files_birds_america/705383.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..9688af90d897b3f523ba97bcffe559f58379a825 Binary files /dev/null and b/creation_datasets/audio_files_birds_america/705383.mp3 differ diff --git a/creation_datasets/audio_files_birds_america/720038.mp3 b/creation_datasets/audio_files_birds_america/720038.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..1263a1c09819bbcb5167ebe9b40074f2b3a5d67d Binary files /dev/null and b/creation_datasets/audio_files_birds_america/720038.mp3 differ diff --git a/creation_datasets/audio_files_birds_america/720284.mp3 b/creation_datasets/audio_files_birds_america/720284.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..d400cc098291747faa46105b31829052177955ad Binary files /dev/null and b/creation_datasets/audio_files_birds_america/720284.mp3 differ diff --git a/creation_datasets/audio_files_birds_america/723797.mp3 b/creation_datasets/audio_files_birds_america/723797.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..7e7c32e8342a0c557424e06efdbc2a32596b512b Binary files /dev/null and b/creation_datasets/audio_files_birds_america/723797.mp3 differ diff --git a/creation_datasets/audio_files_birds_america/726547.mp3 b/creation_datasets/audio_files_birds_america/726547.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..e93b88c4d44f45a20822d8725f286c9e1929c751 Binary files /dev/null and b/creation_datasets/audio_files_birds_america/726547.mp3 differ diff --git a/creation_datasets/audio_files_birds_america/734890.mp3 b/creation_datasets/audio_files_birds_america/734890.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..67adb7ce0b89c1aeffbe30f22bb070c5c1d82c1b Binary files /dev/null and b/creation_datasets/audio_files_birds_america/734890.mp3 differ diff --git a/creation_datasets/audio_files_birds_america/739245.mp3 b/creation_datasets/audio_files_birds_america/739245.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..f63c3c92438e869c8f3635e1792da136468d3288 Binary files /dev/null and b/creation_datasets/audio_files_birds_america/739245.mp3 differ diff --git a/creation_datasets/audio_files_birds_america/753154.mp3 b/creation_datasets/audio_files_birds_america/753154.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..e148c0abb16b68981df5ba47bcfc311b5d301ad7 Binary files /dev/null and b/creation_datasets/audio_files_birds_america/753154.mp3 differ diff --git a/creation_datasets/audio_files_birds_america/756861.mp3 b/creation_datasets/audio_files_birds_america/756861.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..ed8c4168c0c808f323e838d3ccd899d2efc2f10d Binary files /dev/null and b/creation_datasets/audio_files_birds_america/756861.mp3 differ diff --git a/creation_datasets/audio_files_birds_america/756999.mp3 b/creation_datasets/audio_files_birds_america/756999.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..d9892f40d6945e130cac5a197137a08ace1b8c4e Binary files /dev/null and b/creation_datasets/audio_files_birds_america/756999.mp3 differ diff --git a/creation_datasets/audio_files_birds_america/762166.wav b/creation_datasets/audio_files_birds_america/762166.wav new file mode 100644 index 0000000000000000000000000000000000000000..680b8ac00a53d7d6d16df0012b2276e2900562d0 Binary files /dev/null and b/creation_datasets/audio_files_birds_america/762166.wav differ diff --git a/creation_datasets/audio_files_birds_america/762167.wav b/creation_datasets/audio_files_birds_america/762167.wav new file mode 100644 index 0000000000000000000000000000000000000000..3f7ea385b3fb8315ffe4f09db7062ff1157765ae Binary files /dev/null and b/creation_datasets/audio_files_birds_america/762167.wav differ diff --git a/creation_datasets/audio_files_birds_america/772374.mp3 b/creation_datasets/audio_files_birds_america/772374.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..c404b9452eafb97083715130d8b6cf2d12947d00 Binary files /dev/null and b/creation_datasets/audio_files_birds_america/772374.mp3 differ diff --git a/creation_datasets/audio_files_birds_america/779660.wav b/creation_datasets/audio_files_birds_america/779660.wav new file mode 100644 index 0000000000000000000000000000000000000000..1cdbd06bafae285eb34a865658ca42b61389cc10 Binary files /dev/null and b/creation_datasets/audio_files_birds_america/779660.wav differ diff --git a/creation_datasets/audio_files_birds_america/779663.wav b/creation_datasets/audio_files_birds_america/779663.wav new file mode 100644 index 0000000000000000000000000000000000000000..311ccd346ad93a918ace831a0949835693130299 Binary files /dev/null and b/creation_datasets/audio_files_birds_america/779663.wav differ diff --git a/creation_datasets/audio_files_birds_america/780537.wav b/creation_datasets/audio_files_birds_america/780537.wav new file mode 100644 index 0000000000000000000000000000000000000000..1b42b7c8b563400eb5864cc65b99d03c1bf9c686 Binary files /dev/null and b/creation_datasets/audio_files_birds_america/780537.wav differ diff --git a/creation_datasets/audio_files_birds_america/792018.wav b/creation_datasets/audio_files_birds_america/792018.wav new file mode 100644 index 0000000000000000000000000000000000000000..cfab2da7122f180e77549d0dcb0f0ee0fdbff416 Binary files /dev/null and b/creation_datasets/audio_files_birds_america/792018.wav differ diff --git a/detection.py b/detection.py index a38cd649cfc5e4a90d6639b6827f58710b4e0afb..befb4b41d7994ec45444e5944b972a8c24ec4c7c 100644 --- a/detection.py +++ b/detection.py @@ -109,14 +109,13 @@ def prediction_for_clip(test_df: pd.DataFrame, def prediction(test_df: pd.DataFrame, - test_audio: Path, models): """"given the pass of a folder containing audios and a csv corresponding, it returns a prediction for each audio which need a postprocess""" unique_audio_id = test_df.audio_id.unique() warnings.filterwarnings("ignore") prediction_dfs = [] for audio_id in unique_audio_id: - clip_path = test_audio + audio_id + clip_path = audio_id test_df_for_audio_id = test_df.query( f"audio_id == '{audio_id}'").reset_index(drop=True) with timer(f"Prediction & load on {audio_id}"): @@ -168,12 +167,11 @@ if __name__ == '__main__': 'weights_trained/'+model+'.pth')) models[model].to(device) - test = pd.read_csv("input/test.csv") - test_audio = "input/audio_files/" + test = pd.read_csv("input/test.csv",encoding="utf-8") test["audio_id"] = test["audio_id"].map(str) prediction_df = prediction( - test_df=test, test_audio=test_audio, models=models) + test_df=test, models=models) post_processed = prediction_df if not prediction_df.empty: diff --git a/input/audio_files/.placeholder b/input/audio_files/.placeholder deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/requirement.txt b/requirement.txt index 31022b72b3a9693f064d56be71084bae7532d800..a76c96cf71f94f1cb619ff8ee7356f00abd22ace 100644 --- a/requirement.txt +++ b/requirement.txt @@ -1,5 +1,4 @@ -anaconda-client==1.11.1 -anaconda-project==0.11.1 +anaconda-client==1.1.1 appdirs==1.4.4 astroid==2.15.3 asttokens==2.2.1 @@ -18,15 +17,12 @@ cffi==1.15.1 chardet==4.0.0 charset-normalizer==2.0.4 click==8.0.4 -clyent==1.2.2 +clyent==1.2.1 colorama==0.4.6 comm==0.1.3 -conda-content-trust==0.1.3 +conda-content-trust==0.1.2 conda-pack==0.6.0 -conda-package-handling==2.0.2 conda_package_streaming==0.7.0 -conda-repo-cli==1.0.41 -conda-verify==3.4.2 contourpy==1.0.7 cryptography==39.0.1 cycler==0.11.0 @@ -64,7 +60,6 @@ MarkupSafe==2.1.1 matplotlib==3.7.1 matplotlib-inline==0.1.6 mccabe==0.7.0 -menuinst==1.4.19 mkl-fft==1.3.1 mkl-random==1.2.2 mkl-service==2.4.0 @@ -92,7 +87,7 @@ pooch==1.6.0 prompt-toolkit==3.0.38 psutil==5.9.0 pure-eval==0.2.2 -pycosat==0.6.4 +pycosat==0.6.3 pycparser==2.21 Pygments==2.14.0 PyJWT==2.4.0 @@ -112,9 +107,7 @@ pyzmq==25.0.2 QtPy==2.2.0 requests==2.28.1 resampy==0.4.2 -ruamel.yaml==0.17.21 -ruamel.yaml.clib==0.2.6 -ruamel-yaml-conda==0.17.21 + scikit-learn==1.2.2 scipy==1.10.1 setuptools==65.6.3 @@ -146,4 +139,9 @@ win-inet-pton==1.1.0 wincertstore==0.2 wrapt==1.15.0 zipp==3.15.0 -zstandard==0.19.0 \ No newline at end of file +zstandard==0.19.0 +Cython==0.29.35 +opencv-python +resampy +ruamel.yaml==0.17.21 +ruamel.yaml.clib==0.2.6 \ No newline at end of file diff --git a/src/models.py b/src/models.py index 443a00ab79c3978600069fa849f7b686b0b7c748..978201a0659979b37e87ca76bc00d1ef00eaa9ab 100644 --- a/src/models.py +++ b/src/models.py @@ -1629,7 +1629,7 @@ def get_model(resnest_config: dict, effnet_config: dict, weights_path: dict): model = ResNestSED(**resnest_config) else: model = EfficientNetSED(**effnet_config) - checkpoint = torch.load(path_dict[path_key]) + checkpoint = torch.load(path_dict[path_key],map_location="cuda" if torch.cuda.is_available() else "cpu") model_state_dict = {} for key in checkpoint["model_state_dict"]: if key == "n_averaged":