diff --git a/src/core/models/media_factory.py b/src/core/models/media_factory.py index 52b3cea9..a7ef4bd1 100644 --- a/src/core/models/media_factory.py +++ b/src/core/models/media_factory.py @@ -83,7 +83,7 @@ def make_from_url(video_url): try: print("Downloading video from URL") wget.download(video_url, out=file_path) - print("Video downloaded") + print("\nVideo downloaded") except Exception as e: print("Error downloading video:", e) raise Exception("Error Downloading Video") @@ -95,7 +95,7 @@ def make_from_url(video_url): try: print("Downloading video from S3") AWSS3Utils.download_file_from_s3(bucket_name, file_key, file_path) - print("Video downloaded") + print("\nVideo downloaded") except Exception as e: print("Error downloading video from S3:", e) raise Exception("Error Downloading Video") @@ -126,7 +126,7 @@ def make_from_url(audio_url): try: print("Downloading audio from URL") wget.download(audio_url, out=file_path) - print("Audio downloaded") + print("\nAudio downloaded") except Exception as e: print("Error downloading audio:", e) raise Exception("Error Downloading audio") @@ -138,13 +138,13 @@ def make_from_url(audio_url): try: print("Downloading audio from S3") AWSS3Utils.download_file_from_s3(bucket_name, file_key, file_path) - print("Audio downloaded") + print("\nAudio downloaded") except Exception as e: print("Error downloading audio from S3:", e) raise Exception("Error Downloading audio") return {"path": file_path} - + @staticmethod def make_from_url_to_wav(audio_url): temp_dir = tempfile.gettempdir() @@ -156,7 +156,7 @@ def make_from_url_to_wav(audio_url): print("Downloading audio from URL") wget.download(audio_url, out=audio_file) print("\naudio downloaded") - + _, file_extension = os.path.splitext(file_name) if file_extension != '.wav': audio = AudioSegment.from_file(audio_file, format=file_extension[1:]) @@ -172,7 +172,7 @@ def make_from_url_to_wav(audio_url): @staticmethod def make_from_file_on_disk(audio_path): return {"path": audio_path} - + media_factory = { diff --git a/src/core/operators/audio_vec_embedding_clap.py b/src/core/operators/audio_vec_embedding_clap.py index c8db3750..d11ca1f8 100644 --- a/src/core/operators/audio_vec_embedding_clap.py +++ b/src/core/operators/audio_vec_embedding_clap.py @@ -1,45 +1,58 @@ -"""Operator to get audio representation using LAION-CLAP - https://github.com/LAION-AI/CLAP. """ +""" +Operator to get audio representation using LAION-CLAP - https://huggingface.co/laion/larger_clap_general +""" def initialize(param): """ Initializes the operator. Args: - param (dict): A dict to initialize and load the the model. + param (dict): A dict to initialize and load the model. """ - global model - global librosa - global np - global contextmanager - global os + global model, processor, librosa, contextmanager, os, torch, device - import numpy as np import librosa from contextlib import contextmanager import os - import laion_clap + from transformers import ClapModel, ClapProcessor + import torch + + # Load the model and processor + model = ClapModel.from_pretrained("laion/larger_clap_general") + processor = ClapProcessor.from_pretrained("laion/larger_clap_general") - model = laion_clap.CLAP_Module() - model.load_ckpt() # load the best checkpoint (HTSAT model) in the paper. - print("model successfully downloaded") + # Set the device + device = torch.device("cuda" if torch.cuda.is_available() else "cpu") + model.to(device) + + print("audio CLAP Model successfully initialized and loaded onto", device) def run(audio_file): """ - Runs the operator and compute inference on the audio file. + Runs the operator and computes inference on the audio file. Args: audio_file (dict): `AudioFactory` file object. Returns: - audio_emb (numpy.ndarray): A 512-length vector embedding representing the audio. + audio_emb (list): A 512-length vector embedding representing the audio. """ audio = audio_file["path"] @contextmanager def audio_load(fname): + """ + Loads audio and removes the file after use. + + Args: + fname (str): Path to the audio file. + + Yields: + numpy.ndarray: Loaded audio data. + """ a, _ = librosa.load(fname, sr=48000) try: yield a @@ -47,7 +60,9 @@ def audio_load(fname): os.remove(fname) with audio_load(audio) as audio_var: - query_audio = audio_var.reshape(1, -1) - audio_emb = model.get_audio_embedding_from_data(x = query_audio, use_tensor=False) - audio_emb = audio_emb.reshape(-1) + inputs = processor(audios=audio_var, return_tensors="pt") + inputs = {k: v.to(device) for k, v in inputs.items()} + with torch.no_grad(): + audio_emb = model.get_audio_features(**inputs) + audio_emb = audio_emb.squeeze(0).tolist() return audio_emb diff --git a/src/core/operators/audio_vec_embedding_clap_requirements.in b/src/core/operators/audio_vec_embedding_clap_requirements.in index e9a652c6..d8a0270a 100644 --- a/src/core/operators/audio_vec_embedding_clap_requirements.in +++ b/src/core/operators/audio_vec_embedding_clap_requirements.in @@ -1,3 +1,3 @@ -laion-clap==1.1.6 librosa==0.10.2.post1 -torchvision==0.19.0 +transformers==4.44.0 +torch==2.4.0 \ No newline at end of file diff --git a/src/core/operators/audio_vec_embedding_clap_requirements.txt b/src/core/operators/audio_vec_embedding_clap_requirements.txt index ea2cf847..ae521de5 100644 --- a/src/core/operators/audio_vec_embedding_clap_requirements.txt +++ b/src/core/operators/audio_vec_embedding_clap_requirements.txt @@ -8,18 +8,10 @@ audioread==3.0.1 \ --hash=sha256:4cdce70b8adc0da0a3c9e0d85fb10b3ace30fbdf8d1670fd443929b61d117c33 \ --hash=sha256:ac5460a5498c48bdf2e8e767402583a4dcd13f4414d286f42ce4379e8b35066d # via librosa -braceexpand==0.1.7 \ - --hash=sha256:91332d53de7828103dcae5773fb43bc34950b0c8160e35e0f44c4427a3b85014 \ - --hash=sha256:e6e539bd20eaea53547472ff94f4fb5c3d3bf9d0a89388c4b56663aba765f705 - # via - # laion-clap - # webdataset certifi==2024.7.4 \ --hash=sha256:5a1e7645bc0ec61a09e26c36f6106dd4cf40c6db3a1fb6352b0244e7fb057c7b \ --hash=sha256:c198e21b1289c2ab85ee4e67bb4b4ef3ead0892059901a8d5b622f24a1101e90 - # via - # requests - # sentry-sdk + # via requests cffi==1.17.0 \ --hash=sha256:011aff3524d578a9412c8b3cfaa50f2c0bd78e03eb7af7aa5e0df59b158efb2f \ --hash=sha256:0a048d4f6630113e54bb4b77e315e1ba32a5a31512c31a273807d0027a7e69ab \ @@ -181,18 +173,10 @@ charset-normalizer==3.3.2 \ --hash=sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519 \ --hash=sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561 # via requests -click==8.1.7 \ - --hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 \ - --hash=sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de - # via wandb decorator==5.1.1 \ --hash=sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330 \ --hash=sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186 # via librosa -docker-pycreds==0.4.0 \ - --hash=sha256:6ce3270bcaf404cc4c3e27e4b6c70d3521deae82fb508767870fdbf772d584d4 \ - --hash=sha256:7266112468627868005106ec19cd0d722702d2b7d5912a28e19b826c3d37af49 - # via wandb filelock==3.15.4 \ --hash=sha256:2207938cbc1844345cb01a5a95524dae30f0ce089eba5b00378295a17e3e90cb \ --hash=sha256:6ca1fffae96225dab4c6eaf1c4f4f28cd2568d3ec2a44e15a08520504de468e7 @@ -207,41 +191,6 @@ fsspec==2024.6.1 \ # via # huggingface-hub # torch -ftfy==6.2.3 \ - --hash=sha256:79b505988f29d577a58a9069afe75553a02a46e42de6091c0660cdc67812badc \ - --hash=sha256:f15761b023f3061a66207d33f0c0149ad40a8319fd16da91796363e2c049fdf8 - # via laion-clap -gitdb==4.0.11 \ - --hash=sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4 \ - --hash=sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b - # via gitpython -gitpython==3.1.43 \ - --hash=sha256:35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c \ - --hash=sha256:eec7ec56b92aad751f9912a73404bc02ba212a23adb2c7098ee668417051a1ff - # via wandb -h5py==3.11.0 \ - --hash=sha256:083e0329ae534a264940d6513f47f5ada617da536d8dccbafc3026aefc33c90e \ - --hash=sha256:1625fd24ad6cfc9c1ccd44a66dac2396e7ee74940776792772819fc69f3a3731 \ - --hash=sha256:21dbdc5343f53b2e25404673c4f00a3335aef25521bd5fa8c707ec3833934892 \ - --hash=sha256:52c416f8eb0daae39dabe71415cb531f95dce2d81e1f61a74537a50c63b28ab3 \ - --hash=sha256:55106b04e2c83dfb73dc8732e9abad69d83a436b5b82b773481d95d17b9685e1 \ - --hash=sha256:67462d0669f8f5459529de179f7771bd697389fcb3faab54d63bf788599a48ea \ - --hash=sha256:6c4b760082626120031d7902cd983d8c1f424cdba2809f1067511ef283629d4b \ - --hash=sha256:731839240c59ba219d4cb3bc5880d438248533366f102402cfa0621b71796b62 \ - --hash=sha256:754c0c2e373d13d6309f408325343b642eb0f40f1a6ad21779cfa9502209e150 \ - --hash=sha256:75bd7b3d93fbeee40860fd70cdc88df4464e06b70a5ad9ce1446f5f32eb84007 \ - --hash=sha256:77b19a40788e3e362b54af4dcf9e6fde59ca016db2c61360aa30b47c7b7cef00 \ - --hash=sha256:7b7e8f78072a2edec87c9836f25f34203fd492a4475709a18b417a33cfb21fa9 \ - --hash=sha256:8ec9df3dd2018904c4cc06331951e274f3f3fd091e6d6cc350aaa90fa9b42a76 \ - --hash=sha256:a76cae64080210389a571c7d13c94a1a6cf8cb75153044fd1f822a962c97aeab \ - --hash=sha256:aa6ae84a14103e8dc19266ef4c3e5d7c00b68f21d07f2966f0ca7bdb6c2761fb \ - --hash=sha256:bbd732a08187a9e2a6ecf9e8af713f1d68256ee0f7c8b652a32795670fb481ba \ - --hash=sha256:c072655ad1d5fe9ef462445d3e77a8166cbfa5e599045f8aa3c19b75315f10e5 \ - --hash=sha256:d9c944d364688f827dc889cf83f1fca311caf4fa50b19f009d1f2b525edd33a3 \ - --hash=sha256:ef4e2f338fc763f50a8113890f455e1a70acd42a4d083370ceb80c463d803972 \ - --hash=sha256:f3736fe21da2b7d8a13fe8fe415f1272d2a1ccdeff4849c1421d2fb30fd533bc \ - --hash=sha256:f4e025e852754ca833401777c25888acb96889ee2c27e7e629a19aee288833f0 - # via laion-clap huggingface-hub==0.24.6 \ --hash=sha256:a990f3232aa985fe749bc9474060cbad75e8b2f115f6665a9fda5b9c97818970 \ --hash=sha256:cc2579e761d070713eaa9c323e3debe39d5b464ae3a7261c39a9195b27bb8000 @@ -262,10 +211,6 @@ joblib==1.4.2 \ # via # librosa # scikit-learn -laion-clap==1.1.6 \ - --hash=sha256:8bfdad75cd13d900b229e9d7a918f1f0aa5f027b6dfdec58b94508a49ce892fc \ - --hash=sha256:a98f51cae7d5428f6f346a8b6bc078a7ca2b5f61feba2272eb919b7b7e9f0dee - # via -r audio_vec_embedding_clap_requirements.in lazy-loader==0.4 \ --hash=sha256:342aa8e14d543a154047afb4ba8ef17f5563baad3fc610d7b15b213b0f119efc \ --hash=sha256:47c75182589b91a4e1a85a136c074285a5ad4d9f39c63e0d7fb76391c4574cd1 @@ -273,10 +218,7 @@ lazy-loader==0.4 \ librosa==0.10.2.post1 \ --hash=sha256:cd99f16717cbcd1e0983e37308d1db46a6f7dfc2e396e5a9e61e6821e44bd2e7 \ --hash=sha256:dc882750e8b577a63039f25661b7e39ec4cfbacc99c1cffba666cd664fb0a7a0 - # via - # -r audio_vec_embedding_clap_requirements.in - # laion-clap - # torchlibrosa + # via -r audio_vec_embedding_clap_requirements.in llvmlite==0.43.0 \ --hash=sha256:14f0e4bf2fd2d9a75a3534111e8ebeb08eda2f33e9bdd6dfa13282afacdde0ed \ --hash=sha256:18e9953c748b105668487b7c81a3e97b046d8abf95c4ddc0cd3c94f4e4651ae8 \ @@ -299,9 +241,7 @@ llvmlite==0.43.0 \ --hash=sha256:e0a9a1a39d4bf3517f2af9d23d479b4175ead205c592ceeb8b89af48a327ea57 \ --hash=sha256:eccce86bba940bae0d8d48ed925f21dbb813519169246e2ab292b5092aba121f \ --hash=sha256:f99b600aa7f65235a5a05d0b9a9f31150c390f31261f2a0ba678e26823ec38f7 - # via - # laion-clap - # numba + # via numba markupsafe==2.1.5 \ --hash=sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf \ --hash=sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff \ @@ -453,48 +393,59 @@ numba==0.60.0 \ --hash=sha256:f75262e8fe7fa96db1dca93d53a194a38c46da28b112b8a4aca168f0df860347 \ --hash=sha256:fe0b28abb8d70f8160798f4de9d486143200f34458d34c4a214114e445d7124e # via librosa -numpy==1.23.5 \ - --hash=sha256:01dd17cbb340bf0fc23981e52e1d18a9d4050792e8fb8363cecbf066a84b827d \ - --hash=sha256:06005a2ef6014e9956c09ba07654f9837d9e26696a0470e42beedadb78c11b07 \ - --hash=sha256:09b7847f7e83ca37c6e627682f145856de331049013853f344f37b0c9690e3df \ - --hash=sha256:0aaee12d8883552fadfc41e96b4c82ee7d794949e2a7c3b3a7201e968c7ecab9 \ - --hash=sha256:0cbe9848fad08baf71de1a39e12d1b6310f1d5b2d0ea4de051058e6e1076852d \ - --hash=sha256:1b1766d6f397c18153d40015ddfc79ddb715cabadc04d2d228d4e5a8bc4ded1a \ - --hash=sha256:33161613d2269025873025b33e879825ec7b1d831317e68f4f2f0f84ed14c719 \ - --hash=sha256:5039f55555e1eab31124a5768898c9e22c25a65c1e0037f4d7c495a45778c9f2 \ - --hash=sha256:522e26bbf6377e4d76403826ed689c295b0b238f46c28a7251ab94716da0b280 \ - --hash=sha256:56e454c7833e94ec9769fa0f86e6ff8e42ee38ce0ce1fa4cbb747ea7e06d56aa \ - --hash=sha256:58f545efd1108e647604a1b5aa809591ccd2540f468a880bedb97247e72db387 \ - --hash=sha256:5e05b1c973a9f858c74367553e236f287e749465f773328c8ef31abe18f691e1 \ - --hash=sha256:7903ba8ab592b82014713c491f6c5d3a1cde5b4a3bf116404e08f5b52f6daf43 \ - --hash=sha256:8969bfd28e85c81f3f94eb4a66bc2cf1dbdc5c18efc320af34bffc54d6b1e38f \ - --hash=sha256:92c8c1e89a1f5028a4c6d9e3ccbe311b6ba53694811269b992c0b224269e2398 \ - --hash=sha256:9c88793f78fca17da0145455f0d7826bcb9f37da4764af27ac945488116efe63 \ - --hash=sha256:a7ac231a08bb37f852849bbb387a20a57574a97cfc7b6cabb488a4fc8be176de \ - --hash=sha256:abdde9f795cf292fb9651ed48185503a2ff29be87770c3b8e2a14b0cd7aa16f8 \ - --hash=sha256:af1da88f6bc3d2338ebbf0e22fe487821ea4d8e89053e25fa59d1d79786e7481 \ - --hash=sha256:b2a9ab7c279c91974f756c84c365a669a887efa287365a8e2c418f8b3ba73fb0 \ - --hash=sha256:bf837dc63ba5c06dc8797c398db1e223a466c7ece27a1f7b5232ba3466aafe3d \ - --hash=sha256:ca51fcfcc5f9354c45f400059e88bc09215fb71a48d3768fb80e357f3b457e1e \ - --hash=sha256:ce571367b6dfe60af04e04a1834ca2dc5f46004ac1cc756fb95319f64c095a96 \ - --hash=sha256:d208a0f8729f3fb790ed18a003f3a57895b989b40ea4dce4717e9cf4af62c6bb \ - --hash=sha256:dbee87b469018961d1ad79b1a5d50c0ae850000b639bcb1b694e9981083243b6 \ - --hash=sha256:e9f4c4e51567b616be64e05d517c79a8a22f3606499941d97bb76f2ca59f982d \ - --hash=sha256:f063b69b090c9d918f9df0a12116029e274daf0181df392839661c4c7ec9018a \ - --hash=sha256:f9a909a8bae284d46bbfdefbdd4a262ba19d3bc9921b1e76126b1d21c3c34135 +numpy==2.0.0 \ + --hash=sha256:04494f6ec467ccb5369d1808570ae55f6ed9b5809d7f035059000a37b8d7e86f \ + --hash=sha256:0a43f0974d501842866cc83471bdb0116ba0dffdbaac33ec05e6afed5b615238 \ + --hash=sha256:0e50842b2295ba8414c8c1d9d957083d5dfe9e16828b37de883f51fc53c4016f \ + --hash=sha256:0ec84b9ba0654f3b962802edc91424331f423dcf5d5f926676e0150789cb3d95 \ + --hash=sha256:17067d097ed036636fa79f6a869ac26df7db1ba22039d962422506640314933a \ + --hash=sha256:1cde1753efe513705a0c6d28f5884e22bdc30438bf0085c5c486cdaff40cd67a \ + --hash=sha256:1e72728e7501a450288fc8e1f9ebc73d90cfd4671ebbd631f3e7857c39bd16f2 \ + --hash=sha256:2635dbd200c2d6faf2ef9a0d04f0ecc6b13b3cad54f7c67c61155138835515d2 \ + --hash=sha256:2ce46fd0b8a0c947ae047d222f7136fc4d55538741373107574271bc00e20e8f \ + --hash=sha256:34f003cb88b1ba38cb9a9a4a3161c1604973d7f9d5552c38bc2f04f829536609 \ + --hash=sha256:354f373279768fa5a584bac997de6a6c9bc535c482592d7a813bb0c09be6c76f \ + --hash=sha256:38ecb5b0582cd125f67a629072fed6f83562d9dd04d7e03256c9829bdec027ad \ + --hash=sha256:3e8e01233d57639b2e30966c63d36fcea099d17c53bf424d77f088b0f4babd86 \ + --hash=sha256:3f6bed7f840d44c08ebdb73b1825282b801799e325bcbdfa6bc5c370e5aecc65 \ + --hash=sha256:4554eb96f0fd263041baf16cf0881b3f5dafae7a59b1049acb9540c4d57bc8cb \ + --hash=sha256:46e161722e0f619749d1cd892167039015b2c2817296104487cd03ed4a955995 \ + --hash=sha256:49d9f7d256fbc804391a7f72d4a617302b1afac1112fac19b6c6cec63fe7fe8a \ + --hash=sha256:4d2f62e55a4cd9c58c1d9a1c9edaedcd857a73cb6fda875bf79093f9d9086f85 \ + --hash=sha256:5f64641b42b2429f56ee08b4f427a4d2daf916ec59686061de751a55aafa22e4 \ + --hash=sha256:63b92c512d9dbcc37f9d81b123dec99fdb318ba38c8059afc78086fe73820275 \ + --hash=sha256:6d7696c615765091cc5093f76fd1fa069870304beaccfd58b5dcc69e55ef49c1 \ + --hash=sha256:79e843d186c8fb1b102bef3e2bc35ef81160ffef3194646a7fdd6a73c6b97196 \ + --hash=sha256:821eedb7165ead9eebdb569986968b541f9908979c2da8a4967ecac4439bae3d \ + --hash=sha256:84554fc53daa8f6abf8e8a66e076aff6ece62de68523d9f665f32d2fc50fd66e \ + --hash=sha256:8d83bb187fb647643bd56e1ae43f273c7f4dbcdf94550d7938cfc32566756514 \ + --hash=sha256:903703372d46bce88b6920a0cd86c3ad82dae2dbef157b5fc01b70ea1cfc430f \ + --hash=sha256:9416a5c2e92ace094e9f0082c5fd473502c91651fb896bc17690d6fc475128d6 \ + --hash=sha256:9a1712c015831da583b21c5bfe15e8684137097969c6d22e8316ba66b5baabe4 \ + --hash=sha256:9c27f0946a3536403efb0e1c28def1ae6730a72cd0d5878db38824855e3afc44 \ + --hash=sha256:a356364941fb0593bb899a1076b92dfa2029f6f5b8ba88a14fd0984aaf76d0df \ + --hash=sha256:a7039a136017eaa92c1848152827e1424701532ca8e8967fe480fe1569dae581 \ + --hash=sha256:acd3a644e4807e73b4e1867b769fbf1ce8c5d80e7caaef0d90dcdc640dfc9787 \ + --hash=sha256:ad0c86f3455fbd0de6c31a3056eb822fc939f81b1618f10ff3406971893b62a5 \ + --hash=sha256:b4c76e3d4c56f145d41b7b6751255feefae92edbc9a61e1758a98204200f30fc \ + --hash=sha256:b6f6a8f45d0313db07d6d1d37bd0b112f887e1369758a5419c0370ba915b3871 \ + --hash=sha256:c5a59996dc61835133b56a32ebe4ef3740ea5bc19b3983ac60cc32be5a665d54 \ + --hash=sha256:c73aafd1afca80afecb22718f8700b40ac7cab927b8abab3c3e337d70e10e5a2 \ + --hash=sha256:cee6cc0584f71adefe2c908856ccc98702baf95ff80092e4ca46061538a2ba98 \ + --hash=sha256:cef04d068f5fb0518a77857953193b6bb94809a806bd0a14983a8f12ada060c9 \ + --hash=sha256:cf5d1c9e6837f8af9f92b6bd3e86d513cdc11f60fd62185cc49ec7d1aba34864 \ + --hash=sha256:e61155fae27570692ad1d327e81c6cf27d535a5d7ef97648a17d922224b216de \ + --hash=sha256:e7f387600d424f91576af20518334df3d97bc76a300a755f9a8d6e4f5cadd289 \ + --hash=sha256:ed08d2703b5972ec736451b818c2eb9da80d66c3e84aed1deeb0c345fefe461b \ + --hash=sha256:fbd6acc766814ea6443628f4e6751d0da6593dae29c08c0b2606164db026970c \ + --hash=sha256:feff59f27338135776f6d4e2ec7aeeac5d5f7a08a83e80869121ef8164b74af9 # via - # h5py - # laion-clap # librosa # numba - # pandas # scikit-learn # scipy # soxr - # torchlibrosa - # torchvision # transformers - # webdataset nvidia-cublas-cu12==12.1.3.1 \ --hash=sha256:2b964d60e8cf11b5e1073d179d85fa340c120e99b3067558f3cf98dd69d02906 \ --hash=sha256:ee53ccca76a6fc08fb9701aa95b6ceb242cdaab118c3bb152af4e579af792728 @@ -559,176 +510,18 @@ packaging==24.1 \ # lazy-loader # pooch # transformers -pandas==2.2.2 \ - --hash=sha256:001910ad31abc7bf06f49dcc903755d2f7f3a9186c0c040b827e522e9cef0863 \ - --hash=sha256:0ca6377b8fca51815f382bd0b697a0814c8bda55115678cbc94c30aacbb6eff2 \ - --hash=sha256:0cace394b6ea70c01ca1595f839cf193df35d1575986e484ad35c4aeae7266c1 \ - --hash=sha256:1cb51fe389360f3b5a4d57dbd2848a5f033350336ca3b340d1c53a1fad33bcad \ - --hash=sha256:2925720037f06e89af896c70bca73459d7e6a4be96f9de79e2d440bd499fe0db \ - --hash=sha256:3e374f59e440d4ab45ca2fffde54b81ac3834cf5ae2cdfa69c90bc03bde04d76 \ - --hash=sha256:40ae1dffb3967a52203105a077415a86044a2bea011b5f321c6aa64b379a3f51 \ - --hash=sha256:43498c0bdb43d55cb162cdc8c06fac328ccb5d2eabe3cadeb3529ae6f0517c32 \ - --hash=sha256:4abfe0be0d7221be4f12552995e58723c7422c80a659da13ca382697de830c08 \ - --hash=sha256:58b84b91b0b9f4bafac2a0ac55002280c094dfc6402402332c0913a59654ab2b \ - --hash=sha256:640cef9aa381b60e296db324337a554aeeb883ead99dc8f6c18e81a93942f5f4 \ - --hash=sha256:66b479b0bd07204e37583c191535505410daa8df638fd8e75ae1b383851fe921 \ - --hash=sha256:696039430f7a562b74fa45f540aca068ea85fa34c244d0deee539cb6d70aa288 \ - --hash=sha256:6d2123dc9ad6a814bcdea0f099885276b31b24f7edf40f6cdbc0912672e22eee \ - --hash=sha256:8635c16bf3d99040fdf3ca3db669a7250ddf49c55dc4aa8fe0ae0fa8d6dcc1f0 \ - --hash=sha256:873d13d177501a28b2756375d59816c365e42ed8417b41665f346289adc68d24 \ - --hash=sha256:8e5a0b00e1e56a842f922e7fae8ae4077aee4af0acb5ae3622bd4b4c30aedf99 \ - --hash=sha256:8e90497254aacacbc4ea6ae5e7a8cd75629d6ad2b30025a4a8b09aa4faf55151 \ - --hash=sha256:9057e6aa78a584bc93a13f0a9bf7e753a5e9770a30b4d758b8d5f2a62a9433cd \ - --hash=sha256:90c6fca2acf139569e74e8781709dccb6fe25940488755716d1d354d6bc58bce \ - --hash=sha256:92fd6b027924a7e178ac202cfbe25e53368db90d56872d20ffae94b96c7acc57 \ - --hash=sha256:9dfde2a0ddef507a631dc9dc4af6a9489d5e2e740e226ad426a05cabfbd7c8ef \ - --hash=sha256:9e79019aba43cb4fda9e4d983f8e88ca0373adbb697ae9c6c43093218de28b54 \ - --hash=sha256:a77e9d1c386196879aa5eb712e77461aaee433e54c68cf253053a73b7e49c33a \ - --hash=sha256:c7adfc142dac335d8c1e0dcbd37eb8617eac386596eb9e1a1b77791cf2498238 \ - --hash=sha256:d187d355ecec3629624fccb01d104da7d7f391db0311145817525281e2804d23 \ - --hash=sha256:ddf818e4e6c7c6f4f7c8a12709696d193976b591cc7dc50588d3d1a6b5dc8772 \ - --hash=sha256:e9b79011ff7a0f4b1d6da6a61aa1aa604fb312d6647de5bad20013682d1429ce \ - --hash=sha256:eee3a87076c0756de40b05c5e9a6069c035ba43e8dd71c379e68cab2c20f16ad - # via laion-clap -pillow==10.4.0 \ - --hash=sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885 \ - --hash=sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea \ - --hash=sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df \ - --hash=sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5 \ - --hash=sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c \ - --hash=sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d \ - --hash=sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd \ - --hash=sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06 \ - --hash=sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908 \ - --hash=sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a \ - --hash=sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be \ - --hash=sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0 \ - --hash=sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b \ - --hash=sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80 \ - --hash=sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a \ - --hash=sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e \ - --hash=sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9 \ - --hash=sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696 \ - --hash=sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b \ - --hash=sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309 \ - --hash=sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e \ - --hash=sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab \ - --hash=sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d \ - --hash=sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060 \ - --hash=sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d \ - --hash=sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d \ - --hash=sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4 \ - --hash=sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3 \ - --hash=sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6 \ - --hash=sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb \ - --hash=sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94 \ - --hash=sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b \ - --hash=sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496 \ - --hash=sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0 \ - --hash=sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319 \ - --hash=sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b \ - --hash=sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856 \ - --hash=sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef \ - --hash=sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680 \ - --hash=sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b \ - --hash=sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42 \ - --hash=sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e \ - --hash=sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597 \ - --hash=sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a \ - --hash=sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8 \ - --hash=sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3 \ - --hash=sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736 \ - --hash=sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da \ - --hash=sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126 \ - --hash=sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd \ - --hash=sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5 \ - --hash=sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b \ - --hash=sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026 \ - --hash=sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b \ - --hash=sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc \ - --hash=sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46 \ - --hash=sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2 \ - --hash=sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c \ - --hash=sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe \ - --hash=sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984 \ - --hash=sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a \ - --hash=sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70 \ - --hash=sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca \ - --hash=sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b \ - --hash=sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91 \ - --hash=sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3 \ - --hash=sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84 \ - --hash=sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1 \ - --hash=sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5 \ - --hash=sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be \ - --hash=sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f \ - --hash=sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc \ - --hash=sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9 \ - --hash=sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e \ - --hash=sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141 \ - --hash=sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef \ - --hash=sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22 \ - --hash=sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27 \ - --hash=sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e \ - --hash=sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1 - # via torchvision platformdirs==4.2.2 \ --hash=sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee \ --hash=sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3 - # via - # pooch - # wandb + # via pooch pooch==1.8.2 \ --hash=sha256:3529a57096f7198778a5ceefd5ac3ef0e4d06a6ddaf9fc2d609b806f25302c47 \ --hash=sha256:76561f0de68a01da4df6af38e9955c4c9d1a5c90da73f7e40276a5728ec83d10 # via librosa -progressbar==2.5 \ - --hash=sha256:5d81cb529da2e223b53962afd6c8ca0f05c6670e40309a7219eacc36af9b6c63 - # via laion-clap -protobuf==5.27.3 \ - --hash=sha256:043853dcb55cc262bf2e116215ad43fa0859caab79bb0b2d31b708f128ece035 \ - --hash=sha256:16ddf3f8c6c41e1e803da7abea17b1793a97ef079a912e42351eabb19b2cffe7 \ - --hash=sha256:68248c60d53f6168f565a8c76dc58ba4fa2ade31c2d1ebdae6d80f969cdc2d4f \ - --hash=sha256:82460903e640f2b7e34ee81a947fdaad89de796d324bcbc38ff5430bcdead82c \ - --hash=sha256:8572c6533e544ebf6899c360e91d6bcbbee2549251643d32c52cf8a5de295ba5 \ - --hash=sha256:a55c48f2a2092d8e213bd143474df33a6ae751b781dd1d1f4d953c128a415b25 \ - --hash=sha256:af7c0b7cfbbb649ad26132e53faa348580f844d9ca46fd3ec7ca48a1ea5db8a1 \ - --hash=sha256:b8a994fb3d1c11156e7d1e427186662b64694a62b55936b2b9348f0a7c6625ce \ - --hash=sha256:c2a105c24f08b1e53d6c7ffe69cb09d0031512f0b72f812dd4005b8112dbe91e \ - --hash=sha256:c84eee2c71ed83704f1afbf1a85c3171eab0fd1ade3b399b3fad0884cbcca8bf \ - --hash=sha256:dcb307cd4ef8fec0cf52cb9105a03d06fbb5275ce6d84a6ae33bc6cf84e0a07b - # via wandb -psutil==6.0.0 \ - --hash=sha256:02b69001f44cc73c1c5279d02b30a817e339ceb258ad75997325e0e6169d8b35 \ - --hash=sha256:1287c2b95f1c0a364d23bc6f2ea2365a8d4d9b726a3be7294296ff7ba97c17f0 \ - --hash=sha256:1e7c870afcb7d91fdea2b37c24aeb08f98b6d67257a5cb0a8bc3ac68d0f1a68c \ - --hash=sha256:21f1fb635deccd510f69f485b87433460a603919b45e2a324ad65b0cc74f8fb1 \ - --hash=sha256:33ea5e1c975250a720b3a6609c490db40dae5d83a4eb315170c4fe0d8b1f34b3 \ - --hash=sha256:34859b8d8f423b86e4385ff3665d3f4d94be3cdf48221fbe476e883514fdb71c \ - --hash=sha256:5fd9a97c8e94059b0ef54a7d4baf13b405011176c3b6ff257c247cae0d560ecd \ - --hash=sha256:6ec7588fb3ddaec7344a825afe298db83fe01bfaaab39155fa84cf1c0d6b13c3 \ - --hash=sha256:6ed2440ada7ef7d0d608f20ad89a04ec47d2d3ab7190896cd62ca5fc4fe08bf0 \ - --hash=sha256:8faae4f310b6d969fa26ca0545338b21f73c6b15db7c4a8d934a5482faa818f2 \ - --hash=sha256:a021da3e881cd935e64a3d0a20983bda0bb4cf80e4f74fa9bfcb1bc5785360c6 \ - --hash=sha256:a495580d6bae27291324fe60cea0b5a7c23fa36a7cd35035a16d93bdcf076b9d \ - --hash=sha256:a9a3dbfb4de4f18174528d87cc352d1f788b7496991cca33c6996f40c9e3c92c \ - --hash=sha256:c588a7e9b1173b6e866756dde596fd4cad94f9399daf99ad8c3258b3cb2b47a0 \ - --hash=sha256:e2e8d0054fc88153ca0544f5c4d554d42e33df2e009c4ff42284ac9ebdef4132 \ - --hash=sha256:fc8c9510cde0146432bbdb433322861ee8c3efbf8589865c8bf8d21cb30c4d14 \ - --hash=sha256:ffe7fc9b6b36beadc8c322f84e1caff51e8703b88eee1da46d1e3a6ae11b4fd0 - # via wandb pycparser==2.22 \ --hash=sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6 \ --hash=sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc # via cffi -python-dateutil==2.9.0.post0 \ - --hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \ - --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427 - # via pandas -pytz==2024.1 \ - --hash=sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812 \ - --hash=sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319 - # via pandas pyyaml==6.0.2 \ --hash=sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff \ --hash=sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48 \ @@ -786,8 +579,6 @@ pyyaml==6.0.2 \ # via # huggingface-hub # transformers - # wandb - # webdataset regex==2024.7.24 \ --hash=sha256:01b689e887f612610c869421241e075c02f2e3d1ae93a037cb14f88ab6a8934c \ --hash=sha256:04ce29e2c5fedf296b1a1b0acc1724ba93a36fb14031f3abfb7abda2806c1535 \ @@ -868,9 +659,7 @@ regex==2024.7.24 \ --hash=sha256:fb168b5924bef397b5ba13aabd8cf5df7d3d93f10218d7b925e360d436863f66 \ --hash=sha256:fbf8c2f00904eaf63ff37718eb13acf8e178cb940520e47b2f05027f5bb34ce3 \ --hash=sha256:fe4ebef608553aff8deb845c7f4f1d0740ff76fa672c011cc0bacb2a00fbde86 - # via - # laion-clap - # transformers + # via transformers requests==2.32.3 \ --hash=sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760 \ --hash=sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6 @@ -878,7 +667,6 @@ requests==2.32.3 \ # huggingface-hub # pooch # transformers - # wandb safetensors==0.4.4 \ --hash=sha256:005ef9fc0f47cb9821c40793eb029f712e97278dae84de91cb2b4809b856685d \ --hash=sha256:00eea99ae422fbfa0b46065acbc58b46bfafadfcec179d4b4a32d5c45006af6c \ @@ -1013,9 +801,7 @@ scikit-learn==1.5.1 \ --hash=sha256:b5e865e9bd59396220de49cb4a57b17016256637c61b4c5cc81aaf16bc123bbe \ --hash=sha256:da3f404e9e284d2b0a157e1b56b6566a34eb2798205cba35a211df3296ab7a74 \ --hash=sha256:f5b213bc29cc30a89a3130393b0e39c847a15d769d6e59539cd86b75d276b1a7 - # via - # laion-clap - # librosa + # via librosa scipy==1.14.1 \ --hash=sha256:0c2f95de3b04e26f5f3ad5bb05e74ba7f68b837133a4492414b3afd79dfe540e \ --hash=sha256:1729560c906963fc8389f6aac023739ff3983e727b1a4d87696b7bf108316a79 \ @@ -1051,113 +837,8 @@ scipy==1.14.1 \ --hash=sha256:edaf02b82cd7639db00dbff629995ef185c8df4c3ffa71a5562a595765a06ce1 \ --hash=sha256:fef8c87f8abfb884dac04e97824b61299880c43f4ce675dd2cbeadd3c9b466d2 # via - # laion-clap # librosa # scikit-learn -sentry-sdk==2.13.0 \ - --hash=sha256:6beede8fc2ab4043da7f69d95534e320944690680dd9a963178a49de71d726c6 \ - --hash=sha256:8d4a576f7a98eb2fdb40e13106e41f330e5c79d72a68be1316e7852cf4995260 - # via wandb -setproctitle==1.3.3 \ - --hash=sha256:00e6e7adff74796ef12753ff399491b8827f84f6c77659d71bd0b35870a17d8f \ - --hash=sha256:059f4ce86f8cc92e5860abfc43a1dceb21137b26a02373618d88f6b4b86ba9b2 \ - --hash=sha256:088b9efc62d5aa5d6edf6cba1cf0c81f4488b5ce1c0342a8b67ae39d64001120 \ - --hash=sha256:0d3a953c50776751e80fe755a380a64cb14d61e8762bd43041ab3f8cc436092f \ - --hash=sha256:1342f4fdb37f89d3e3c1c0a59d6ddbedbde838fff5c51178a7982993d238fe4f \ - --hash=sha256:184239903bbc6b813b1a8fc86394dc6ca7d20e2ebe6f69f716bec301e4b0199d \ - --hash=sha256:195c961f54a09eb2acabbfc90c413955cf16c6e2f8caa2adbf2237d1019c7dd8 \ - --hash=sha256:1f5d9027eeda64d353cf21a3ceb74bb1760bd534526c9214e19f052424b37e42 \ - --hash=sha256:200620c3b15388d7f3f97e0ae26599c0c378fdf07ae9ac5a13616e933cbd2086 \ - --hash=sha256:200ede6fd11233085ba9b764eb055a2a191fb4ffb950c68675ac53c874c22e20 \ - --hash=sha256:21112fcd2195d48f25760f0eafa7a76510871bbb3b750219310cf88b04456ae3 \ - --hash=sha256:224602f0939e6fb9d5dd881be1229d485f3257b540f8a900d4271a2c2aa4e5f4 \ - --hash=sha256:287490eb90e7a0ddd22e74c89a92cc922389daa95babc833c08cf80c84c4df0a \ - --hash=sha256:2982efe7640c4835f7355fdb4da313ad37fb3b40f5c69069912f8048f77b28c8 \ - --hash=sha256:2df2b67e4b1d7498632e18c56722851ba4db5d6a0c91aaf0fd395111e51cdcf4 \ - --hash=sha256:2e4a8104db15d3462e29d9946f26bed817a5b1d7a47eabca2d9dc2b995991503 \ - --hash=sha256:2e71f6365744bf53714e8bd2522b3c9c1d83f52ffa6324bd7cbb4da707312cd8 \ - --hash=sha256:334f7ed39895d692f753a443102dd5fed180c571eb6a48b2a5b7f5b3564908c8 \ - --hash=sha256:33c5609ad51cd99d388e55651b19148ea99727516132fb44680e1f28dd0d1de9 \ - --hash=sha256:37a62cbe16d4c6294e84670b59cf7adcc73faafe6af07f8cb9adaf1f0e775b19 \ - --hash=sha256:38ae9a02766dad331deb06855fb7a6ca15daea333b3967e214de12cfae8f0ef5 \ - --hash=sha256:38da436a0aaace9add67b999eb6abe4b84397edf4a78ec28f264e5b4c9d53cd5 \ - --hash=sha256:415bfcfd01d1fbf5cbd75004599ef167a533395955305f42220a585f64036081 \ - --hash=sha256:417de6b2e214e837827067048f61841f5d7fc27926f2e43954567094051aff18 \ - --hash=sha256:477d3da48e216d7fc04bddab67b0dcde633e19f484a146fd2a34bb0e9dbb4a1e \ - --hash=sha256:4a6ba2494a6449b1f477bd3e67935c2b7b0274f2f6dcd0f7c6aceae10c6c6ba3 \ - --hash=sha256:4fe1c49486109f72d502f8be569972e27f385fe632bd8895f4730df3c87d5ac8 \ - --hash=sha256:507e8dc2891021350eaea40a44ddd887c9f006e6b599af8d64a505c0f718f170 \ - --hash=sha256:53bc0d2358507596c22b02db079618451f3bd720755d88e3cccd840bafb4c41c \ - --hash=sha256:554eae5a5b28f02705b83a230e9d163d645c9a08914c0ad921df363a07cf39b1 \ - --hash=sha256:59335d000c6250c35989394661eb6287187854e94ac79ea22315469ee4f4c244 \ - --hash=sha256:5a740f05d0968a5a17da3d676ce6afefebeeeb5ce137510901bf6306ba8ee002 \ - --hash=sha256:5bc94cf128676e8fac6503b37763adb378e2b6be1249d207630f83fc325d9b11 \ - --hash=sha256:64286f8a995f2cd934082b398fc63fca7d5ffe31f0e27e75b3ca6b4efda4e353 \ - --hash=sha256:664698ae0013f986118064b6676d7dcd28fefd0d7d5a5ae9497cbc10cba48fa5 \ - --hash=sha256:68f960bc22d8d8e4ac886d1e2e21ccbd283adcf3c43136161c1ba0fa509088e0 \ - --hash=sha256:69d565d20efe527bd8a9b92e7f299ae5e73b6c0470f3719bd66f3cd821e0d5bd \ - --hash=sha256:6a143b31d758296dc2f440175f6c8e0b5301ced3b0f477b84ca43cdcf7f2f476 \ - --hash=sha256:6a249415f5bb88b5e9e8c4db47f609e0bf0e20a75e8d744ea787f3092ba1f2d0 \ - --hash=sha256:6b9e62ddb3db4b5205c0321dd69a406d8af9ee1693529d144e86bd43bcb4b6c0 \ - --hash=sha256:7f1d36a1e15a46e8ede4e953abb104fdbc0845a266ec0e99cc0492a4364f8c44 \ - --hash=sha256:816330675e3504ae4d9a2185c46b573105d2310c20b19ea2b4596a9460a4f674 \ - --hash=sha256:87e668f9561fd3a457ba189edfc9e37709261287b52293c115ae3487a24b92f6 \ - --hash=sha256:897a73208da48db41e687225f355ce993167079eda1260ba5e13c4e53be7f754 \ - --hash=sha256:8c331e91a14ba4076f88c29c777ad6b58639530ed5b24b5564b5ed2fd7a95452 \ - --hash=sha256:950f6476d56ff7817a8fed4ab207727fc5260af83481b2a4b125f32844df513a \ - --hash=sha256:9617b676b95adb412bb69645d5b077d664b6882bb0d37bfdafbbb1b999568d85 \ - --hash=sha256:9e3b99b338598de0bd6b2643bf8c343cf5ff70db3627af3ca427a5e1a1a90dd9 \ - --hash=sha256:a1fcac43918b836ace25f69b1dca8c9395253ad8152b625064415b1d2f9be4fb \ - --hash=sha256:a680d62c399fa4b44899094027ec9a1bdaf6f31c650e44183b50d4c4d0ccc085 \ - --hash=sha256:a6d50252377db62d6a0bb82cc898089916457f2db2041e1d03ce7fadd4a07381 \ - --hash=sha256:a83ca086fbb017f0d87f240a8f9bbcf0809f3b754ee01cec928fff926542c450 \ - --hash=sha256:a911b26264dbe9e8066c7531c0591cfab27b464459c74385b276fe487ca91c12 \ - --hash=sha256:ab2900d111e93aff5df9fddc64cf51ca4ef2c9f98702ce26524f1acc5a786ae7 \ - --hash=sha256:ab92e51cd4a218208efee4c6d37db7368fdf182f6e7ff148fb295ecddf264287 \ - --hash=sha256:accb66d7b3ccb00d5cd11d8c6e07055a4568a24c95cf86109894dcc0c134cc89 \ - --hash=sha256:ad6d20f9541f5f6ac63df553b6d7a04f313947f550eab6a61aa758b45f0d5657 \ - --hash=sha256:aeaa71fb9568ebe9b911ddb490c644fbd2006e8c940f21cb9a1e9425bd709574 \ - --hash=sha256:af2c67ae4c795d1674a8d3ac1988676fa306bcfa1e23fddb5e0bd5f5635309ca \ - --hash=sha256:af4061f67fd7ec01624c5e3c21f6b7af2ef0e6bab7fbb43f209e6506c9ce0092 \ - --hash=sha256:b1067647ac7aba0b44b591936118a22847bda3c507b0a42d74272256a7a798e9 \ - --hash=sha256:b5901a31012a40ec913265b64e48c2a4059278d9f4e6be628441482dd13fb8b5 \ - --hash=sha256:bbbd6c7de0771c84b4aa30e70b409565eb1fc13627a723ca6be774ed6b9d9fa3 \ - --hash=sha256:bdfd7254745bb737ca1384dee57e6523651892f0ea2a7344490e9caefcc35e64 \ - --hash=sha256:c05ac48ef16ee013b8a326c63e4610e2430dbec037ec5c5b58fcced550382b74 \ - --hash=sha256:c1c84beab776b0becaa368254801e57692ed749d935469ac10e2b9b825dbdd8e \ - --hash=sha256:c32c41ace41f344d317399efff4cffb133e709cec2ef09c99e7a13e9f3b9483c \ - --hash=sha256:c3ba57029c9c50ecaf0c92bb127224cc2ea9fda057b5d99d3f348c9ec2855ad3 \ - --hash=sha256:c7951820b77abe03d88b114b998867c0f99da03859e5ab2623d94690848d3e45 \ - --hash=sha256:c913e151e7ea01567837ff037a23ca8740192880198b7fbb90b16d181607caae \ - --hash=sha256:c9a402881ec269d0cc9c354b149fc29f9ec1a1939a777f1c858cdb09c7a261df \ - --hash=sha256:cbf16381c7bf7f963b58fb4daaa65684e10966ee14d26f5cc90f07049bfd8c1e \ - --hash=sha256:d4460795a8a7a391e3567b902ec5bdf6c60a47d791c3b1d27080fc203d11c9dc \ - --hash=sha256:d7f27e0268af2d7503386e0e6be87fb9b6657afd96f5726b733837121146750d \ - --hash=sha256:d876d355c53d975c2ef9c4f2487c8f83dad6aeaaee1b6571453cb0ee992f55f6 \ - --hash=sha256:da0d57edd4c95bf221b2ebbaa061e65b1788f1544977288bdf95831b6e44e44d \ - --hash=sha256:ddedd300cd690a3b06e7eac90ed4452348b1348635777ce23d460d913b5b63c3 \ - --hash=sha256:df3f4274b80709d8bcab2f9a862973d453b308b97a0b423a501bcd93582852e3 \ - --hash=sha256:e18b7bd0898398cc97ce2dfc83bb192a13a087ef6b2d5a8a36460311cb09e775 \ - --hash=sha256:e5119a211c2e98ff18b9908ba62a3bd0e3fabb02a29277a7232a6fb4b2560aa0 \ - --hash=sha256:e5e08e232b78ba3ac6bc0d23ce9e2bee8fad2be391b7e2da834fc9a45129eb87 \ - --hash=sha256:eae8988e78192fd1a3245a6f4f382390b61bce6cfcc93f3809726e4c885fa68d \ - --hash=sha256:f05e66746bf9fe6a3397ec246fe481096664a9c97eb3fea6004735a4daf867fd \ - --hash=sha256:f1da82c3e11284da4fcbf54957dafbf0655d2389cd3d54e4eaba636faf6d117a \ - --hash=sha256:f38d48abc121263f3b62943f84cbaede05749047e428409c2c199664feb6abc7 \ - --hash=sha256:f5e7266498cd31a4572378c61920af9f6b4676a73c299fce8ba93afd694f8ae7 \ - --hash=sha256:fc74e84fdfa96821580fb5e9c0b0777c1c4779434ce16d3d62a9c4d8c710df39 \ - --hash=sha256:ff814dea1e5c492a4980e3e7d094286077054e7ea116cbeda138819db194b2cd - # via wandb -six==1.16.0 \ - --hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \ - --hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254 - # via - # docker-pycreds - # python-dateutil -smmap==5.0.1 \ - --hash=sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62 \ - --hash=sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da - # via gitdb soundfile==0.12.1 \ --hash=sha256:074247b771a181859d2bc1f98b5ebf6d5153d2c397b86ee9e29ba602a8dfe2a6 \ --hash=sha256:0d86924c00b62552b650ddd28af426e3ff2d4dc2e9047dae5b3d8452e0a49a77 \ @@ -1167,9 +848,7 @@ soundfile==0.12.1 \ --hash=sha256:bceaab5c4febb11ea0554566784bcf4bc2e3977b53946dda2b12804b4fe524a8 \ --hash=sha256:d922be1563ce17a69582a352a86f28ed8c9f6a8bc951df63476ffc310c064bfa \ --hash=sha256:e8e1017b2cf1dda767aef19d2fd9ee5ebe07e050d430f77a0a7c66ba08b8cdae - # via - # laion-clap - # librosa + # via librosa soxr==0.4.0 \ --hash=sha256:02385e3de07e28ddbc19ab41216075d889575895e778ce2ada950d5f46cf6a52 \ --hash=sha256:12a0e460f1199aaed544a30c67f5df7a452b0647b63e0df706a17577e963e38b \ @@ -1324,49 +1003,17 @@ torch==2.4.0 \ --hash=sha256:e743adadd8c8152bb8373543964551a7cb7cc20ba898dc8f9c0cdbe47c283de0 \ --hash=sha256:ed765d232d23566052ba83632ec73a4fccde00b4c94ad45d63b471b09d63b7a7 \ --hash=sha256:f169b4ea6dc93b3a33319611fcc47dc1406e4dd539844dcbd2dec4c1b96e166d - # via torchvision -torchlibrosa==0.1.0 \ - --hash=sha256:62a8beedf9c9b4141a06234df3f10229f7ba86e67678ccee02489ec4ef044028 \ - --hash=sha256:89b65fd28b833ceb6bc74a3d0d87e2924ddc5a845d0a246b194952a4e12a38cb - # via laion-clap -torchvision==0.19.0 \ - --hash=sha256:02f1dd5cfc897957535b41b0258ec452d30de044e20c2de2c75869f7708e7656 \ - --hash=sha256:079a696e0b2cb52e4be30afa8e9b3d7d280f02a2b5ffedd7e821fa1efd1a5a8d \ - --hash=sha256:106842b1e475b14d9a04ee0d6f5477d43100e3bb78e9d31e37422384d0d84179 \ - --hash=sha256:13aee7a46e049c8c1e7d35a0394b0587a7e62ff3d1a822cd2bbbacb675ac4a09 \ - --hash=sha256:2acc436d043d4f81b3bc6929cbfa4ef1cdae4d8a0b04ec72ec30a497e9a38179 \ - --hash=sha256:4d54b5e19b7ebebca7d0b08497b4c6335264cad04c94c05fa35988d9e9eed0c4 \ - --hash=sha256:4e6aa4fa3f0bc3599fa071c149e651a3e6bdd67c9161794478f9f91471c406a2 \ - --hash=sha256:5f9a598dcf82bdfc8e4436ce74763b3877dabec3b33f94613b94ede13e3e4dee \ - --hash=sha256:6b1bce2e4c003d890a18f14ff289528707d918e38539ff890ef02aa31dae1b56 \ - --hash=sha256:6ed066aae5c50465d7c4761357aefe5dbd2eb7075a33ab8c14b352fc2353ad4c \ - --hash=sha256:854e967a16a9409e941b5bbe5aa357b23f7158bccb9de35ae20fd4945f05ecd1 \ - --hash=sha256:a6ba7756f75c80212e51d3576f85ea204589e0c16efdb9b835dd677bc8929a67 \ - --hash=sha256:aaa338ff3a55a8c0f94e0e64eff6fe2af1fc933a95fd43812760e72ea66e986b \ - --hash=sha256:ac5525d5cc09e425b5cf5752ecf66eefbbbd8c8cd945198ce35eb01a694e6069 \ - --hash=sha256:b5f70f5a8bd9c8b00a076bf466b39b5cd679ef62587c47cc048adb04d9c5f155 \ - --hash=sha256:be0f27a28b8e9f2ae98a31af34a4bdd2a5bf154d92bd73a5797c8d2156fb3ab6 \ - --hash=sha256:c09ef8ed184fa877f6251b620226e74f682b8f1d6b341456428d4955b8d9c670 \ - --hash=sha256:d467d434005fd05a227a2ba7af4c591bb67e6d4a97bbd06eda8da83f43e9fd07 \ - --hash=sha256:d9afb8a3c3ce99a161a64c2a3b91cb545632a72118053cbfb84e87a02a8dcd02 \ - --hash=sha256:dbf3aa71a3899244fc884303ed3c4604a160824fefac77e82317a5463efc1d9b \ - --hash=sha256:dd1279571d4b68d5a53d9b7a35aedf91c4cb1e0b08099f6a1effa7b25b8c95e7 \ - --hash=sha256:ec1281c10402234d470bfd4d53663d81f4364f293b2f8fe24d4a7a1adc78c90c \ - --hash=sha256:ec4162dc71d9db7f0b51d0f92491929c1419605ff436e1305e50de13504a1c30 \ - --hash=sha256:ec874ef85dcb24c69e600f6e276af892c80cde3ffdaeb7275efda463242bc2a8 \ - --hash=sha256:f77ac31f7337d0f6f4b58e65582c6c93b9d9eeec7dfd7478896b5cdc19a2d60d # via -r audio_vec_embedding_clap_requirements.in tqdm==4.66.5 \ --hash=sha256:90279a3770753eafc9194a0364852159802111925aa30eb3f9d85b0e805ac7cd \ --hash=sha256:e1020aef2e5096702d8a025ac7d16b1577279c9d63f8375b63083e9a5f0fcbad # via # huggingface-hub - # laion-clap # transformers -transformers==4.44.1 \ - --hash=sha256:3b9a1a07ca65c665c7bf6109b7da76182184d10bb58d9ab14e6892e7b9e073a2 \ - --hash=sha256:bd2642da18b4e6d29b135c17650cd7ca8e874f2d092d2eddd3ed6b71a93a155c - # via laion-clap +transformers==4.44.0 \ + --hash=sha256:75699495e30b7635ca444d8d372e138c687ab51a875b387e33f1fb759c37f196 \ + --hash=sha256:ea0ff72def71e9f4812d9414d4803b22681b1617aa6f511bd51cfff2b44a6fca + # via -r audio_vec_embedding_clap_requirements.in triton==3.0.0 \ --hash=sha256:0d5e10de8c011adeb7c878c6ce0dd6073b14367749e34467f1cff2bde1b78253 \ --hash=sha256:34e509deb77f1c067d8640725ef00c5cbfcb2052a1a3cb6a6d343841f92624eb \ @@ -1386,40 +1033,7 @@ typing-extensions==4.12.2 \ # huggingface-hub # librosa # torch -tzdata==2024.1 \ - --hash=sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd \ - --hash=sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252 - # via pandas urllib3==2.2.2 \ --hash=sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472 \ --hash=sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168 - # via - # requests - # sentry-sdk -wandb==0.17.7 \ - --hash=sha256:011cca25b2ca57956d1ff2c84e31c903058cc8f552ecc1d0450ffad34c8a59bd \ - --hash=sha256:42f37d7d4f1934fc5a33233be1de0f0c8e3bbff04a4403b3ac6030e577cc84e1 \ - --hash=sha256:4623fb7618ff094ebab91101b8b5dcef5b3513d35e867a10f64021ca427bb38d \ - --hash=sha256:c81be25cb1a5322aff95f66a89ca4abcb2a8e98ee09b8938f123a536b967a235 \ - --hash=sha256:de7e040fe553e149926437ea2d24a20c6b563092e5a17709c4b99dff8a38470c \ - --hash=sha256:df335a67d3fff9299d915c127ad476cdf9e3f2b1d86e025f54ed63c7dab62d72 \ - --hash=sha256:ed3fcf51b533249db306a9dd41893d671eb936f64b8837ffc504dba56609ff47 \ - --hash=sha256:f21183b74ed05744b274c7d876d473ae14a985becfbabd005104ce7e78200cf8 - # via laion-clap -wcwidth==0.2.13 \ - --hash=sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859 \ - --hash=sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5 - # via ftfy -webdataset==0.2.96 \ - --hash=sha256:ae5ef6a41fb202509def739e514d4d61256afe0c72ed8032d6c7c2bfd3df9f93 \ - --hash=sha256:d10df0dd1acda980a9cef5a7e2e0ae0011e450b6aa9f04928cddd5d6205db652 - # via laion-clap -wget==3.2 \ - --hash=sha256:35e630eca2aa50ce998b9b1a127bb26b30dfee573702782aa982f875e3f16061 - # via laion-clap - -# The following packages are considered to be unsafe in a requirements file: -setuptools==73.0.1 \ - --hash=sha256:b208925fcb9f7af924ed2dc04708ea89791e24bde0d3020b27df0e116088b34e \ - --hash=sha256:d59a3e788ab7e012ab2c4baed1b376da6366883ee20d7a5fc426816e3d7b1193 - # via wandb + # via requests diff --git a/src/core/operators/dimension_reduction.py b/src/core/operators/dimension_reduction.py index 45ca3f03..1ee85009 100644 --- a/src/core/operators/dimension_reduction.py +++ b/src/core/operators/dimension_reduction.py @@ -31,6 +31,7 @@ def initialize(self, params): - learning_rate (float): Learning rate for t-SNE. Default is 150. - n_iter (int): Number of iterations for optimization. Default is 1000. - random_state (int): Seed for random number generation. Default is 42. + - method (str): Algorithm to use for gradient calculation. Default is barnes_hut Raises: ValueError: If the t-SNE model fails to initialize. @@ -109,26 +110,25 @@ def gen_data(payloads, reduced_embeddings): for payload, reduced_embedding in zip(payloads, reduced_embeddings): tmp_dict = {} tmp_dict['payload'] = payload - tmp_dict['reduced_embedding'] = reduced_embedding + tmp_dict['reduced_embedding'] = reduced_embedding.tolist() out.append(tmp_dict) return out -def setup_reduction(model_type, params): +def initialize(params): """ Initialize the dimension reduction model with provided type and parameters. Args: - model_type (str): String indicating the type of model (e.g., 'tsne'). params (dict): Dictionary of parameters for the model initialization. """ global reduction_model - reduction_model = DimensionReductionFactory.get_reduction_model(model_type) + reduction_model = DimensionReductionFactory.get_reduction_model(params.get('model_type', 'tsne')) reduction_model.initialize(params) -def perform_reduction(input_data): +def run(input_data): """ Reduce the dimensionality of the provided embeddings using the initialized model. diff --git a/src/core/operators/dimension_reduction_requirements.in b/src/core/operators/dimension_reduction_requirements.in index 8dbaebb3..4ed16fc9 100644 --- a/src/core/operators/dimension_reduction_requirements.in +++ b/src/core/operators/dimension_reduction_requirements.in @@ -1,2 +1,2 @@ scikit-learn==1.5.1 -numpy==2.1.0 \ No newline at end of file +numpy==2.0.0 \ No newline at end of file diff --git a/src/core/operators/dimension_reduction_requirements.txt b/src/core/operators/dimension_reduction_requirements.txt index a8192177..b77d5276 100644 --- a/src/core/operators/dimension_reduction_requirements.txt +++ b/src/core/operators/dimension_reduction_requirements.txt @@ -2,67 +2,60 @@ # This file is autogenerated by pip-compile with Python 3.10 # by the following command: # -# pip-compile --allow-unsafe --generate-hashes core/operators/dimension_reduction_requirements.in +# pip-compile --allow-unsafe --generate-hashes dimension_reduction_requirements.in # joblib==1.4.2 \ --hash=sha256:06d478d5674cbc267e7496a410ee875abd68e4340feff4490bcb7afb88060ae6 \ --hash=sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e # via scikit-learn -numpy==2.1.0 \ - --hash=sha256:08801848a40aea24ce16c2ecde3b756f9ad756586fb2d13210939eb69b023f5b \ - --hash=sha256:0937e54c09f7a9a68da6889362ddd2ff584c02d015ec92672c099b61555f8911 \ - --hash=sha256:0ab32eb9170bf8ffcbb14f11613f4a0b108d3ffee0832457c5d4808233ba8977 \ - --hash=sha256:0abb3916a35d9090088a748636b2c06dc9a6542f99cd476979fb156a18192b84 \ - --hash=sha256:0af3a5987f59d9c529c022c8c2a64805b339b7ef506509fba7d0556649b9714b \ - --hash=sha256:10e2350aea18d04832319aac0f887d5fcec1b36abd485d14f173e3e900b83e33 \ - --hash=sha256:15ef8b2177eeb7e37dd5ef4016f30b7659c57c2c0b57a779f1d537ff33a72c7b \ - --hash=sha256:1f817c71683fd1bb5cff1529a1d085a57f02ccd2ebc5cd2c566f9a01118e3b7d \ - --hash=sha256:24003ba8ff22ea29a8c306e61d316ac74111cebf942afbf692df65509a05f111 \ - --hash=sha256:30014b234f07b5fec20f4146f69e13cfb1e33ee9a18a1879a0142fbb00d47673 \ - --hash=sha256:343e3e152bf5a087511cd325e3b7ecfd5b92d369e80e74c12cd87826e263ec06 \ - --hash=sha256:378cb4f24c7d93066ee4103204f73ed046eb88f9ad5bb2275bb9fa0f6a02bd36 \ - --hash=sha256:398049e237d1aae53d82a416dade04defed1a47f87d18d5bd615b6e7d7e41d1f \ - --hash=sha256:3a3336fbfa0d38d3deacd3fe7f3d07e13597f29c13abf4d15c3b6dc2291cbbdd \ - --hash=sha256:442596f01913656d579309edcd179a2a2f9977d9a14ff41d042475280fc7f34e \ - --hash=sha256:44e44973262dc3ae79e9063a1284a73e09d01b894b534a769732ccd46c28cc62 \ - --hash=sha256:54139e0eb219f52f60656d163cbe67c31ede51d13236c950145473504fa208cb \ - --hash=sha256:5474dad8c86ee9ba9bb776f4b99ef2d41b3b8f4e0d199d4f7304728ed34d0300 \ - --hash=sha256:54c6a63e9d81efe64bfb7bcb0ec64332a87d0b87575f6009c8ba67ea6374770b \ - --hash=sha256:624884b572dff8ca8f60fab591413f077471de64e376b17d291b19f56504b2bb \ - --hash=sha256:6326ab99b52fafdcdeccf602d6286191a79fe2fda0ae90573c5814cd2b0bc1b8 \ - --hash=sha256:652e92fc409e278abdd61e9505649e3938f6d04ce7ef1953f2ec598a50e7c195 \ - --hash=sha256:6c1de77ded79fef664d5098a66810d4d27ca0224e9051906e634b3f7ead134c2 \ - --hash=sha256:76368c788ccb4f4782cf9c842b316140142b4cbf22ff8db82724e82fe1205dce \ - --hash=sha256:7a894c51fd8c4e834f00ac742abad73fc485df1062f1b875661a3c1e1fb1c2f6 \ - --hash=sha256:7dc90da0081f7e1da49ec4e398ede6a8e9cc4f5ebe5f9e06b443ed889ee9aaa2 \ - --hash=sha256:848c6b5cad9898e4b9ef251b6f934fa34630371f2e916261070a4eb9092ffd33 \ - --hash=sha256:899da829b362ade41e1e7eccad2cf274035e1cb36ba73034946fccd4afd8606b \ - --hash=sha256:8ab81ccd753859ab89e67199b9da62c543850f819993761c1e94a75a814ed667 \ - --hash=sha256:8fb49a0ba4d8f41198ae2d52118b050fd34dace4b8f3fb0ee34e23eb4ae775b1 \ - --hash=sha256:9156ca1f79fc4acc226696e95bfcc2b486f165a6a59ebe22b2c1f82ab190384a \ - --hash=sha256:9523f8b46485db6939bd069b28b642fec86c30909cea90ef550373787f79530e \ - --hash=sha256:a0756a179afa766ad7cb6f036de622e8a8f16ffdd55aa31f296c870b5679d745 \ - --hash=sha256:a0cdef204199278f5c461a0bed6ed2e052998276e6d8ab2963d5b5c39a0500bc \ - --hash=sha256:ab83adc099ec62e044b1fbb3a05499fa1e99f6d53a1dde102b2d85eff66ed324 \ - --hash=sha256:b34fa5e3b5d6dc7e0a4243fa0f81367027cb6f4a7215a17852979634b5544ee0 \ - --hash=sha256:b47c551c6724960479cefd7353656498b86e7232429e3a41ab83be4da1b109e8 \ - --hash=sha256:c4cd94dfefbefec3f8b544f61286584292d740e6e9d4677769bc76b8f41deb02 \ - --hash=sha256:c4f982715e65036c34897eb598d64aef15150c447be2cfc6643ec7a11af06574 \ - --hash=sha256:d8f699a709120b220dfe173f79c73cb2a2cab2c0b88dd59d7b49407d032b8ebd \ - --hash=sha256:dd94ce596bda40a9618324547cfaaf6650b1a24f5390350142499aa4e34e53d1 \ - --hash=sha256:de844aaa4815b78f6023832590d77da0e3b6805c644c33ce94a1e449f16d6ab5 \ - --hash=sha256:e5f0642cdf4636198a4990de7a71b693d824c56a757862230454629cf62e323d \ - --hash=sha256:f07fa2f15dabe91259828ce7d71b5ca9e2eb7c8c26baa822c825ce43552f4883 \ - --hash=sha256:f15976718c004466406342789f31b6673776360f3b1e3c575f25302d7e789575 \ - --hash=sha256:f358ea9e47eb3c2d6eba121ab512dfff38a88db719c38d1e67349af210bc7529 \ - --hash=sha256:f505264735ee074250a9c78247ee8618292091d9d1fcc023290e9ac67e8f1afa \ - --hash=sha256:f5ebbf9fbdabed208d4ecd2e1dfd2c0741af2f876e7ae522c2537d404ca895c3 \ - --hash=sha256:f6b26e6c3b98adb648243670fddc8cab6ae17473f9dc58c51574af3e64d61211 \ - --hash=sha256:f8e93a01a35be08d31ae33021e5268f157a2d60ebd643cfc15de6ab8e4722eb1 \ - --hash=sha256:fe76d75b345dc045acdbc006adcb197cc680754afd6c259de60d358d60c93736 \ - --hash=sha256:ffbd6faeb190aaf2b5e9024bac9622d2ee549b7ec89ef3a9373fa35313d44e0e +numpy==2.0.0 \ + --hash=sha256:04494f6ec467ccb5369d1808570ae55f6ed9b5809d7f035059000a37b8d7e86f \ + --hash=sha256:0a43f0974d501842866cc83471bdb0116ba0dffdbaac33ec05e6afed5b615238 \ + --hash=sha256:0e50842b2295ba8414c8c1d9d957083d5dfe9e16828b37de883f51fc53c4016f \ + --hash=sha256:0ec84b9ba0654f3b962802edc91424331f423dcf5d5f926676e0150789cb3d95 \ + --hash=sha256:17067d097ed036636fa79f6a869ac26df7db1ba22039d962422506640314933a \ + --hash=sha256:1cde1753efe513705a0c6d28f5884e22bdc30438bf0085c5c486cdaff40cd67a \ + --hash=sha256:1e72728e7501a450288fc8e1f9ebc73d90cfd4671ebbd631f3e7857c39bd16f2 \ + --hash=sha256:2635dbd200c2d6faf2ef9a0d04f0ecc6b13b3cad54f7c67c61155138835515d2 \ + --hash=sha256:2ce46fd0b8a0c947ae047d222f7136fc4d55538741373107574271bc00e20e8f \ + --hash=sha256:34f003cb88b1ba38cb9a9a4a3161c1604973d7f9d5552c38bc2f04f829536609 \ + --hash=sha256:354f373279768fa5a584bac997de6a6c9bc535c482592d7a813bb0c09be6c76f \ + --hash=sha256:38ecb5b0582cd125f67a629072fed6f83562d9dd04d7e03256c9829bdec027ad \ + --hash=sha256:3e8e01233d57639b2e30966c63d36fcea099d17c53bf424d77f088b0f4babd86 \ + --hash=sha256:3f6bed7f840d44c08ebdb73b1825282b801799e325bcbdfa6bc5c370e5aecc65 \ + --hash=sha256:4554eb96f0fd263041baf16cf0881b3f5dafae7a59b1049acb9540c4d57bc8cb \ + --hash=sha256:46e161722e0f619749d1cd892167039015b2c2817296104487cd03ed4a955995 \ + --hash=sha256:49d9f7d256fbc804391a7f72d4a617302b1afac1112fac19b6c6cec63fe7fe8a \ + --hash=sha256:4d2f62e55a4cd9c58c1d9a1c9edaedcd857a73cb6fda875bf79093f9d9086f85 \ + --hash=sha256:5f64641b42b2429f56ee08b4f427a4d2daf916ec59686061de751a55aafa22e4 \ + --hash=sha256:63b92c512d9dbcc37f9d81b123dec99fdb318ba38c8059afc78086fe73820275 \ + --hash=sha256:6d7696c615765091cc5093f76fd1fa069870304beaccfd58b5dcc69e55ef49c1 \ + --hash=sha256:79e843d186c8fb1b102bef3e2bc35ef81160ffef3194646a7fdd6a73c6b97196 \ + --hash=sha256:821eedb7165ead9eebdb569986968b541f9908979c2da8a4967ecac4439bae3d \ + --hash=sha256:84554fc53daa8f6abf8e8a66e076aff6ece62de68523d9f665f32d2fc50fd66e \ + --hash=sha256:8d83bb187fb647643bd56e1ae43f273c7f4dbcdf94550d7938cfc32566756514 \ + --hash=sha256:903703372d46bce88b6920a0cd86c3ad82dae2dbef157b5fc01b70ea1cfc430f \ + --hash=sha256:9416a5c2e92ace094e9f0082c5fd473502c91651fb896bc17690d6fc475128d6 \ + --hash=sha256:9a1712c015831da583b21c5bfe15e8684137097969c6d22e8316ba66b5baabe4 \ + --hash=sha256:9c27f0946a3536403efb0e1c28def1ae6730a72cd0d5878db38824855e3afc44 \ + --hash=sha256:a356364941fb0593bb899a1076b92dfa2029f6f5b8ba88a14fd0984aaf76d0df \ + --hash=sha256:a7039a136017eaa92c1848152827e1424701532ca8e8967fe480fe1569dae581 \ + --hash=sha256:acd3a644e4807e73b4e1867b769fbf1ce8c5d80e7caaef0d90dcdc640dfc9787 \ + --hash=sha256:ad0c86f3455fbd0de6c31a3056eb822fc939f81b1618f10ff3406971893b62a5 \ + --hash=sha256:b4c76e3d4c56f145d41b7b6751255feefae92edbc9a61e1758a98204200f30fc \ + --hash=sha256:b6f6a8f45d0313db07d6d1d37bd0b112f887e1369758a5419c0370ba915b3871 \ + --hash=sha256:c5a59996dc61835133b56a32ebe4ef3740ea5bc19b3983ac60cc32be5a665d54 \ + --hash=sha256:c73aafd1afca80afecb22718f8700b40ac7cab927b8abab3c3e337d70e10e5a2 \ + --hash=sha256:cee6cc0584f71adefe2c908856ccc98702baf95ff80092e4ca46061538a2ba98 \ + --hash=sha256:cef04d068f5fb0518a77857953193b6bb94809a806bd0a14983a8f12ada060c9 \ + --hash=sha256:cf5d1c9e6837f8af9f92b6bd3e86d513cdc11f60fd62185cc49ec7d1aba34864 \ + --hash=sha256:e61155fae27570692ad1d327e81c6cf27d535a5d7ef97648a17d922224b216de \ + --hash=sha256:e7f387600d424f91576af20518334df3d97bc76a300a755f9a8d6e4f5cadd289 \ + --hash=sha256:ed08d2703b5972ec736451b818c2eb9da80d66c3e84aed1deeb0c345fefe461b \ + --hash=sha256:fbd6acc766814ea6443628f4e6751d0da6593dae29c08c0b2606164db026970c \ + --hash=sha256:feff59f27338135776f6d4e2ec7aeeac5d5f7a08a83e80869121ef8164b74af9 # via - # -r core/operators/dimension_reduction_requirements.in + # -r dimension_reduction_requirements.in # scikit-learn # scipy scikit-learn==1.5.1 \ @@ -87,7 +80,7 @@ scikit-learn==1.5.1 \ --hash=sha256:b5e865e9bd59396220de49cb4a57b17016256637c61b4c5cc81aaf16bc123bbe \ --hash=sha256:da3f404e9e284d2b0a157e1b56b6566a34eb2798205cba35a211df3296ab7a74 \ --hash=sha256:f5b213bc29cc30a89a3130393b0e39c847a15d769d6e59539cd86b75d276b1a7 - # via -r core/operators/dimension_reduction_requirements.in + # via -r dimension_reduction_requirements.in scipy==1.14.1 \ --hash=sha256:0c2f95de3b04e26f5f3ad5bb05e74ba7f68b837133a4492414b3afd79dfe540e \ --hash=sha256:1729560c906963fc8389f6aac023739ff3983e727b1a4d87696b7bf108316a79 \ diff --git a/src/core/operators/test_dimension_reduction.py b/src/core/operators/test_dimension_reduction.py index b348062c..783ec7f2 100644 --- a/src/core/operators/test_dimension_reduction.py +++ b/src/core/operators/test_dimension_reduction.py @@ -1,6 +1,6 @@ import unittest import numpy as np -from core.operators.dimension_reduction import setup_reduction, perform_reduction +from core.operators.dimension_reduction import initialize, run class TestDimensionReductionOperator(unittest.TestCase): @@ -8,6 +8,7 @@ class TestDimensionReductionOperator(unittest.TestCase): def setUpClass(cls): # Initialize operator cls.initial_params = { + 'model_type': 'tsne', 'n_components': 2, 'perplexity': 30, 'learning_rate': 200, @@ -15,7 +16,7 @@ def setUpClass(cls): 'random_state': 42, 'method': 'barnes_hut' } - setup_reduction('tsne', cls.initial_params) + initialize(cls.initial_params) @classmethod def tearDownClass(cls): @@ -29,7 +30,7 @@ def test_tsne_reduction(self): input_data = [{'payload': str(i), 'embedding': embedding} for i, embedding in enumerate(sample_embeddings)] # Perform reduction - reduced_data = perform_reduction(input_data) + reduced_data = run(input_data) reduced_embeddings = np.array([d['reduced_embedding'] for d in reduced_data]) # Check output shape @@ -38,12 +39,12 @@ def test_tsne_reduction(self): def test_invalid_input(self): # Test with empty list with self.assertRaises(ValueError): - perform_reduction([]) + run([]) # Test with non-list input with self.assertRaises(ValueError): - perform_reduction("not a list") + run("not a list") # Test with missing keys in input data with self.assertRaises(KeyError): - perform_reduction([{'payload': '123'}]) \ No newline at end of file + run([{'payload': '123'}]) \ No newline at end of file diff --git a/src/worker/clustering_media/Dockerfile.clustering_media_worker b/src/worker/clustering_media/Dockerfile.clustering_media_worker new file mode 100644 index 00000000..5de38bdb --- /dev/null +++ b/src/worker/clustering_media/Dockerfile.clustering_media_worker @@ -0,0 +1,82 @@ +### BUILDER IMAGE ### +FROM --platform=$TARGETPLATFORM python:3.11-slim-bullseye@sha256:47863f26a5f2e0bfa903e7b658355940250979bd555b5e4f9f25da81647daff8 AS builder +ARG UID +ARG GID + +# Fetch OS packages updates, upgrade packages, and install packages required for build +RUN apt-get update \ + && apt-get -y upgrade \ + && apt-get install -y \ + --no-install-recommends gcc build-essential \ + --no-install-recommends libgl1-mesa-glx libglib2.0-0 \ + --no-install-recommends python3-dev + +# Set python user +RUN groupadd -g $GID python \ + && useradd --create-home -r -u $UID -g python python \ + && mkdir /home/python/app \ + && chown -R python:python /home/python/app/ +# Set working dir +WORKDIR /home/python/app + +# Create venv and change ownership recursively +RUN python -m venv /home/python/app/venv \ + && chown -R python:python /home/python/app/venv +# Set venv in path +ENV PATH="/home/python/app/venv/bin:$PATH" + +# Copy base, core and operator requirements +COPY --chown=python:python base_requirements.txt /home/python/app/base_requirements.txt +COPY --chown=python:python requirements.txt /home/python/app/requirements.txt +COPY --chown=python:python ./core/operators/audio_vec_embedding_clap_requirements.txt /home/python/app/core/operators/audio_vec_embedding_clap_requirements.txt +COPY --chown=python:python ./core/operators/vid_vec_rep_clip_requirements.txt /home/python/app/core/operators/vid_vec_rep_clip_requirements.txt +COPY --chown=python:python ./core/operators/classify_video_zero_shot_requirements.txt /home/python/app/core/operators/classify_video_zero_shot_requirements.txt +COPY --chown=python:python ./core/operators/cluster_embeddings_requirements.txt /home/python/app/core/operators/cluster_embeddings_requirements.txt +COPY --chown=python:python ./core/operators/dimension_reduction_requirements.txt /home/python/app/core/operators/dimension_reduction_requirements.txt + +# Run pip install +RUN pip install --no-cache-dir --require-hashes --no-deps -r /home/python/app/base_requirements.txt \ + && pip install --no-cache-dir --require-hashes --no-deps -r /home/python/app/requirements.txt \ + && pip install --no-cache-dir --require-hashes --no-deps -r /home/python/app/core/operators/audio_vec_embedding_clap_requirements.txt \ + && pip install --no-cache-dir --require-hashes --no-deps -r /home/python/app/core/operators/vid_vec_rep_clip_requirements.txt \ + && pip install --no-cache-dir --require-hashes --no-deps -r /home/python/app/core/operators/classify_video_zero_shot_requirements.txt \ + && pip install --no-cache-dir --require-hashes --no-deps -r /home/python/app/core/operators/cluster_embeddings_requirements.txt \ + && pip install --no-cache-dir --require-hashes --no-deps -r /home/python/app/core/operators/dimension_reduction_requirements.txt + +##################################### + + + +### PRODUCTION IMAGE ### +FROM --platform=$TARGETPLATFORM python:3.11-slim-bullseye@sha256:47863f26a5f2e0bfa903e7b658355940250979bd555b5e4f9f25da81647daff8 AS production +ARG UID +ARG GID + +# Update image, install required utils, and remove cache +RUN apt-get update \ + && apt-get -y upgrade \ + && apt-get install -y --no-install-recommends vim zsh curl wget ffmpeg \ + && rm -rf /var/lib/apt/lists/* + +# Set python group and user, create home dir, create app dir, change ownership of app to user +RUN groupadd -g $GID python \ + && useradd --create-home -r -u $UID -g python python \ + && mkdir /home/python/app \ + && chown -R python:python /home/python/app/ + +# Set working dir +WORKDIR /home/python/app + +# Copy output from builder stage +COPY --from=builder /home/python/app /home/python/app + +# Copy all files and change ownership to unprivileged user +COPY --chown=python:python . /home/python/app + +# Set venv path +ENV PATH="/home/python/app/venv/bin:$PATH" + +# Set unprivileged user with group membership +USER python:python + +################################# diff --git a/src/worker/clustering_media/__init__.py b/src/worker/clustering_media/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/src/worker/clustering_media/clustering_media_payload_writer.py b/src/worker/clustering_media/clustering_media_payload_writer.py new file mode 100644 index 00000000..4cf26643 --- /dev/null +++ b/src/worker/clustering_media/clustering_media_payload_writer.py @@ -0,0 +1,23 @@ +from core.feluda import ComponentType, Feluda +from core.logger import Logger +log = Logger(__name__) + +try: + feluda = Feluda("worker/clustering_media/config.yml") + feluda.setup() + clustering_media_index_queue = feluda.config.queue.parameters.queues[0]['name'] + feluda.start_component(ComponentType.QUEUE) + dummy_input = { + "path": "https://raw.githubusercontent.com/aatmanvaidya/audio-files/main/clustering-media/media_payload.json", + "video": { + "n_clusters": 3, + "tsne": True + }, + "audio": { + "n_clusters": 3, + "tsne": True + } + } + feluda.queue.message(clustering_media_index_queue, dummy_input) +except Exception as e: + print("Error Initializing Indexer", e) diff --git a/src/worker/clustering_media/clustering_media_worker.py b/src/worker/clustering_media/clustering_media_worker.py new file mode 100644 index 00000000..0251e83e --- /dev/null +++ b/src/worker/clustering_media/clustering_media_worker.py @@ -0,0 +1,200 @@ +from core.feluda import ComponentType, Feluda +from core.logger import Logger +from core.operators import audio_vec_embedding_clap +from core.operators import vid_vec_rep_clip, classify_video_zero_shot +from core.operators import cluster_embeddings, dimension_reduction +import requests, json +from core.models.media_factory import AudioFactory, VideoFactory +from time import sleep + +log = Logger(__name__) + +def make_report_indexed(clustering_results_json, dim_reduction_results_json, status): + report = {} + report["clustering_results"] = clustering_results_json + report["dim_reduction_results"] = dim_reduction_results_json + report["status"] = status + report["status_code"] = 200 + return json.dumps(report) + +def make_report_failed(media_type, status, file_id=None): + report = {} + report["media_type"] = media_type + report["file_id"] = file_id if file_id else "unknown" + report["status"] = status + report["status_code"] = 400 + return json.dumps(report) + +def handle_exception(feluda, queue_name, worker_func, retries, max_retries): + retry_interval = 60 + if retries < max_retries: + print("Inside Handle Exception") + try: + feluda.start_component(ComponentType.QUEUE) + feluda.queue.listen(queue_name, worker_func) + return + except Exception as e: + print("Error handling exception:", e) + retries = retries + 1 + sleep(retry_interval) + handle_exception(feluda, queue_name, worker_func, retries, max_retries) + else: + print("Failed to re-establish connection after maximum retries.") + +def clustering_worker(feluda): + def worker(ch, method, properties, body): + print("MESSAGE RECEIVED") + + # Parse payload: + input_payload = json.loads(body) + json_path = input_payload["path"] + video_config = input_payload["video"] + audio_config = input_payload["audio"] + + # Fetch the file list: + response = requests.get(json_path) + file_list = response.json() + + audio_embeddings = [] + video_embeddings = [] + video_classifications = {} + + log.info("Processing files") + for file in file_list: + file_id = file["id"] + file_path = file["path"] + media_type = file["media_type"] + + if media_type == "audio": + try: + # download the audio from url (supports s3) + audio_path = AudioFactory.make_from_url(file_path) + # extract audio vectors + audio_vec = audio_vec_embedding_clap.run(audio_path) + audio_embeddings.append({"payload": file_id, "embedding": audio_vec}) + + except Exception as e: + print("Error in generating embeddings", e) + # send failed report to report queue + report = make_report_failed(media_type, "failed", file_id) + feluda.queue.message( + feluda.config.queue.parameters.queues[1]["name"], report + ) + # requeue the media file + ch.basic_ack(delivery_tag=method.delivery_tag) + + elif media_type == "video": + try: + # download the video from url (supports s3) + video_path = VideoFactory.make_from_url(file_path) + if "labels" in video_config: + # run the zero-shot classifier: + pred = classify_video_zero_shot.run(video_path, video_config["labels"])["prediction"] + if pred not in video_classifications: + video_classifications[pred] = [] + video_classifications[pred].append(file_id) + if video_config.get("tsne"): + embedding = vid_vec_rep_clip.run(video_path) + video_embeddings.append({ + "embedding": next(embedding)["vid_vec"], + "payload": file_id + }) + else: + embedding = vid_vec_rep_clip.run(video_path) + video_embeddings.append({ + "embedding": next(embedding)["vid_vec"], + "payload": file_id + }) + + except Exception as e: + print("Error in generating embeddings", e) + # send failed report to report queue + report = make_report_failed(media_type, "failed", file_id) + feluda.queue.message( + feluda.config.queue.parameters.queues[1]["name"], report + ) + # requeue the media file + ch.basic_ack(delivery_tag=method.delivery_tag) + else: + pass + + log.info("Clustering embeddings") + try: + clustering_results_audio = cluster_embeddings.run(input_data=audio_embeddings, n_clusters=audio_config.get("n_clusters"), modality='audio') + if "labels" in video_config: + clustering_results_video = video_classifications + else: + clustering_results_video = cluster_embeddings.run(input_data=video_embeddings, n_clusters=video_config.get("n_clusters"), modality='video') + clustering_results_json = { + "audio": clustering_results_audio, + "video": clustering_results_video + } + except Exception as e: + print("Error in clustering:", e) + report = make_report_failed("clustering", "failed") + feluda.queue.message( + feluda.config.queue.parameters.queues[1]["name"], report + ) + ch.basic_ack(delivery_tag=method.delivery_tag) + + log.info("Calculating t-SNE co-ordinates") + try: + dim_reduction_results_audio = None + dim_reduction_results_video = None + if audio_config.get("tsne"): + dim_reduction_results_audio = dimension_reduction.run(audio_embeddings) + if video_config.get("tsne"): + dim_reduction_results_video = dimension_reduction.run(video_embeddings) + + dim_reduction_results_json = { + "audio": dim_reduction_results_audio, + "video": dim_reduction_results_video + } + except Exception as e: + print("Error in dimension reduction:", e) + report = make_report_failed("dimension reduction", "failed") + feluda.queue.message( + feluda.config.queue.parameters.queues[1]["name"], report + ) + ch.basic_ack(delivery_tag=method.delivery_tag) + + report = make_report_indexed(clustering_results_json, dim_reduction_results_json, "indexed") + log.info("Report generated") + feluda.queue.message( + feluda.config.queue.parameters.queues[1]["name"], report + ) + ch.basic_ack(delivery_tag=method.delivery_tag) + + return worker + +feluda = None +clustering_media_index_queue = None +try: + # Init Feluda and load config + feluda = Feluda("worker/clustering_media/config.yml") + feluda.setup() + clustering_media_index_queue = feluda.config.queue.parameters.queues[0]["name"] + # setup Components + feluda.start_component(ComponentType.QUEUE) + + # init all operators + audio_vec_embedding_clap.initialize(param={}) + vid_vec_rep_clip.initialize(param={}) + classify_video_zero_shot.initialize(param={}) + cluster_embeddings.initialize(param={}) + dimension_reduction.initialize(params={"perplexity": 5}) + + # start listening to the queue + feluda.queue.listen(clustering_media_index_queue, clustering_worker(feluda)) +except Exception as e: + print("Error Initializing Indexer", e) + # Try connecting to Queue again + retries = 0 + max_retries = 10 + handle_exception( + feluda, + clustering_media_index_queue, + clustering_worker(feluda), + retries, + max_retries, + ) \ No newline at end of file diff --git a/src/worker/clustering_media/config.yml b/src/worker/clustering_media/config.yml new file mode 100644 index 00000000..8b9dc102 --- /dev/null +++ b/src/worker/clustering_media/config.yml @@ -0,0 +1,28 @@ +queue : + label : "Queue" + type : "rabbitmq" + parameters: + host_name : "rabbitmq" + queues: + - name : "clustering-media-index-queue" + - name : "clustering-media-report-queue" + +operators : + label : "Operators" + parameters : + - name : "Video embeddings" + type : "vid_vec_rep_clip" + parameters: {} + - name: "Audio embeddings" + type: "audio_vec_embedding_clap" + parameters: {} + - name: "Video classifier" + type: "classify_video_zero_shot" + parameters: {} + - name: "Clustering" + type: "cluster_embeddings" + parameters: {} + - name: "tSNE" + type: "dimension_reduction" + parameters: {} +