У меня есть несколько внедренных изображений, сохраненных в массиве numpy, и я пытаюсь найти дубликаты или очень похожие изображения с помощью библиотеки fastdup
NoneType: None
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
Cell In[66], line 4
2 import fastdup
3 fd = fastdup.create(work_dir="work_dir/", input_dir="input_dir/")
----> 4 fd.run()
File /opt/conda/lib/python3.10/site-packages/fastdup/engine.py:157, in Fastdup.run(self, input_dir, annotations, embeddings, subset, data_type, overwrite, model_path, distance, nearest_neighbors_k, threshold, outlier_percentile, num_threads, num_images, verbose, license, high_accuracy, cc_threshold, **kwargs)
154 fastdup_func_params['model_path'] = model_path
155 fastdup_func_params.update(kwargs)
--> 157 return super().run(annotations=annotations, input_dir=input_dir, subset=subset, data_type=data_type,
158 overwrite=overwrite, embeddings=embeddings, **fastdup_func_params)
File /opt/conda/lib/python3.10/site-packages/fastdup/sentry.py:146, in v1_sentry_handler..inner_function(*args, **kwargs)
144 else:
145 fastdup_capture_exception(f"V1:{func.__name__}", ex)
--> 146 raise ex
148 except Exception as ex:
149 fastdup_capture_exception(f"V1:{func.__name__}", ex)
File /opt/conda/lib/python3.10/site-packages/fastdup/sentry.py:137, in v1_sentry_handler..inner_function(*args, **kwargs)
135 try:
136 start_time = time.time()
--> 137 ret = func(*args, **kwargs)
138 fastdup_performance_capture(f"V1:{func.__name__}", start_time)
139 return ret
File /opt/conda/lib/python3.10/site-packages/fastdup/fastdup_controller.py:618, in FastdupController.run(self, input_dir, annotations, subset, embeddings, data_type, overwrite, print_summary, print_vl_datasets_ref, run_explore, dataset_name, verbose, run_fast, **fastdup_kwargs)
616 if not run_fast:
617 if fastdup.run(fastdup_input, work_dir=str(self._work_dir), logger=self._logger, **fastdup_kwargs) != 0:
--> 618 raise RuntimeError('Fastdup execution failed')
620 # post process - map fastdup-id to image (for bbox this is done in self._set_fastdup_input)
621 if self._dtype == FD.IMG or self._run_mode == FD.MODE_CROP:
RuntimeError: Fastdup execution failed
Этот код работает отлично, если input_dir содержит изображения в форматах .jpg, .webp и других форматах. И не работает в input_dir, состоит из вложений изображений в формате numpy, например imgs_embedings_np_array.npy
У меня есть несколько внедренных изображений, сохраненных в массиве numpy, и я пытаюсь найти дубликаты или очень похожие изображения с помощью библиотеки fastdup [code]np.save("./input_dir/img_embds_numpy.npy", imgs_embbedings_np_array) import fastdup fd = fastdup.create(work_dir="work_dir/", input_dir="input_dir/") fd.run() [/code] При выполнении приведенного выше кода появляется сообщение об ошибке ниже [code]NoneType: None --------------------------------------------------------------------------- RuntimeError Traceback (most recent call last) Cell In[66], line 4 2 import fastdup 3 fd = fastdup.create(work_dir="work_dir/", input_dir="input_dir/") ----> 4 fd.run()
File /opt/conda/lib/python3.10/site-packages/fastdup/sentry.py:146, in v1_sentry_handler..inner_function(*args, **kwargs) 144 else: 145 fastdup_capture_exception(f"V1:{func.__name__}", ex) --> 146 raise ex 148 except Exception as ex: 149 fastdup_capture_exception(f"V1:{func.__name__}", ex)
File /opt/conda/lib/python3.10/site-packages/fastdup/sentry.py:137, in v1_sentry_handler..inner_function(*args, **kwargs) 135 try: 136 start_time = time.time() --> 137 ret = func(*args, **kwargs) 138 fastdup_performance_capture(f"V1:{func.__name__}", start_time) 139 return ret
File /opt/conda/lib/python3.10/site-packages/fastdup/fastdup_controller.py:618, in FastdupController.run(self, input_dir, annotations, subset, embeddings, data_type, overwrite, print_summary, print_vl_datasets_ref, run_explore, dataset_name, verbose, run_fast, **fastdup_kwargs) 616 if not run_fast: 617 if fastdup.run(fastdup_input, work_dir=str(self._work_dir), logger=self._logger, **fastdup_kwargs) != 0: --> 618 raise RuntimeError('Fastdup execution failed') 620 # post process - map fastdup-id to image (for bbox this is done in self._set_fastdup_input) 621 if self._dtype == FD.IMG or self._run_mode == FD.MODE_CROP:
RuntimeError: Fastdup execution failed [/code] Этот код работает отлично, если input_dir содержит изображения в форматах .jpg, .webp и других форматах. И не работает в input_dir, состоит из вложений изображений в формате numpy, например imgs_embedings_np_array.npy