2025-06-26 16:41:47.199241: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:477] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1750956107.222767 89844 cuda_dnn.cc:8310] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
E0000 00:00:1750956107.229954 89844 cuda_blas.cc:1418] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
ifnot (artifacts_path/artifacts_name).exists(): mega_results = mega_extractor(mega_dataset) miewid_results = miewid_extractor(miewid_dataset) mega_results_cropped = mega_extractor(mega_cropping_dataset) miewid_results_cropped = miewid_extractor(miewid_cropping_dataset) mega_results_cropped_rotated = mega_extractor(mega_cropping_dataset_rotated) miewid_results_cropped_rotated = miewid_extractor(miewid_cropping_dataset_rotated) mega_results_rotated = mega_extractor(mega_dataset_rotated) miewid_results_rotated = miewid_extractor(miewid_dataset_rotated) df['mega_features'] = [features.tolist() for features in mega_results.features] df['miewid_features'] = [features.tolist() for features in miewid_results.features] df['mega_features_cropped'] = [features.tolist() for features in mega_results_cropped.features] df['miewid_features_cropped'] = [features.tolist() for features in miewid_results_cropped.features] df['mega_features_cropped_rotated'] = [features.tolist() for features in mega_results_cropped_rotated.features] df['miewid_features_cropped_rotated'] = [features.tolist() for features in miewid_results_cropped_rotated.features] df['mega_features_rotated'] = [features.tolist() for features in mega_results_rotated.features] df['miewid_features_rotated'] = [features.tolist() for features in miewid_results_rotated.features] df.to_csv(artifacts_path/artifacts_name, index=False)else: df = pd.read_csv(artifacts_path/artifacts_name) df['mega_features'] = df['mega_features'].apply(eval) df['miewid_features'] = df['miewid_features'].apply(eval) df['mega_features_cropped'] = df['mega_features_cropped'].apply(eval) df['miewid_features_cropped'] = df['miewid_features_cropped'].apply(eval) df['mega_features_cropped_rotated'] = df['mega_features_cropped_rotated'].apply(eval) df['miewid_features_cropped_rotated'] = df['miewid_features_cropped_rotated'].apply(eval) df['mega_features_rotated'] = df['mega_features_rotated'].apply(eval) df['miewid_features_rotated'] = df['miewid_features_rotated'].apply(eval)
def calculate_map(df, query_col, feature_col, database_feature_col=None):""" Calculate mean Average Precision (mAP) for retrieval task. Args: df: DataFrame containing features and metadata query_col: Column name indicating query samples (boolean) feature_col: Column name containing features for queries database_feature_col: Column name containing features for database (if different from feature_col) Returns: mAP: Mean Average Precision score """from sklearn.metrics import average_precision_score query_df = df[df[query_col] ==True].reset_index(drop=True) database_df = df[df[query_col] !=True].reset_index(drop=True) query_dataset = FeatureDataset(features=query_df[feature_col].tolist(), metadata=query_df) database_dataset = FeatureDataset(features=database_df[database_feature_col if database_feature_col else feature_col].tolist(), metadata=database_df) similarity = similarity_function(query_dataset, database_dataset) aps = []for i, query_label inenumerate(query_dataset.labels_string):# Get similarity scores for this query scores = similarity[i]# Create binary relevance labels (1 if same identity, 0 otherwise) relevance = (database_dataset.labels_string == query_label).astype(int)# Calculate Average Precision for this queryif np.sum(relevance) >0: # Only if there are relevant items ap = average_precision_score(relevance, scores) aps.append(ap)return np.mean(aps) if aps else0.0
/tmp/ipykernel_89844/3094507868.py:1: PerformanceWarning: dropping on a non-lexsorted multi-index without a level parameter may impact performance.
all_results_df.groupby(['model', 'split', 'debiasing']).first()[[['query', 'identity'], ['query', 'image_name']]]