Views
No views yet
CrossEncoder(
(0): Transformer({'transformer_task': 'feature-extraction', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'last_hidden_state'}, 'image': {'method': 'forward', 'method_output_name': 'last_hidden_state'}, 'video': {'method': 'forward', 'method_output_name': 'last_hidden_state'}, 'message': {'method': 'forward', 'method_output_name': 'last_hidden_state'}}, 'module_output_name': 'token_embeddings', 'message_format': 'auto', 'processing_kwargs': {'chat_template': {'add_generation_prompt': True}}, 'architecture': 'Qwen3_5Model'})
(1): Pooling({'embedding_dimension': 1024, 'pooling_mode': 'lasttoken', 'include_prompt': True})
(2): Dense({'in_features': 1024, 'out_features': 1, 'bias': False, 'activation_function': 'torch.nn.modules.linear.Identity', 'module_input_name': 'sentence_embedding', 'module_output_name': 'scores'})
)pip install -U sentence-transformers1from sentence_transformers import CrossEncoder
2
3# Download from the 🤗 Hub
4model = CrossEncoder("tomaarsen/reranker-Qwen3.5-0.8B-doodles-image-text-to-text-pooling-dense")
5# Get scores for pairs of inputs
6pairs = [
7 ['https://huggingface.co/tomaarsen/reranker-Qwen3.5-0.8B-doodles-image-text-to-text-pooling-dense/resolve/main/assets/image_0.jpg', 'a content character with a tan head and purple puffballs hair wearing a blue fleece, green background'],
8 ['https://huggingface.co/tomaarsen/reranker-Qwen3.5-0.8B-doodles-image-text-to-text-pooling-dense/resolve/main/assets/image_0.jpg', 'a grumpy character with a green head and pink hair wearing a light blue puffer, iridescent background'],
9 ['https://huggingface.co/tomaarsen/reranker-Qwen3.5-0.8B-doodles-image-text-to-text-pooling-dense/resolve/main/assets/image_0.jpg', 'a surprised character with a pale head and green mullet hair wearing a blue backpack, purple background'],
10 ['https://huggingface.co/tomaarsen/reranker-Qwen3.5-0.8B-doodles-image-text-to-text-pooling-dense/resolve/main/assets/image_0.jpg', 'a default character with a med head and green brushcut hair wearing a holographic sweater, gradient 4 background'],
11 ['https://huggingface.co/tomaarsen/reranker-Qwen3.5-0.8B-doodles-image-text-to-text-pooling-dense/resolve/main/assets/image_0.jpg', 'a sunglasses character with a orange head and pink hair wearing a green hoodie, grey background'],
12]
13scores = model.predict(pairs)
14print(scores)
15# [0.7607 0.4866 0.5265 0.5412 0.4776]doodles-image-to-text-eval and doodles-text-to-image-evalCrossEncoderRerankingEvaluator with these parameters:
1{
2 "at_k": 10
3}| Metric | doodles-image-to-text-eval | doodles-text-to-image-eval |
|---|---|---|
| map | 0.9933 | 0.9175 |
| mrr@10 | 0.9933 | 0.9175 |
| ndcg@10 | 0.995 | 0.9386 |
image, text, and label| image | text | label | |
|---|---|---|---|
| type | image | string | int |
| details |
|
|
|
| image | text | label |
|---|---|---|
![]() | a cobain glasses character with a gradient 2 head and purple puffballs hair wearing a white sweater, gradient 4 background | 1 |
![]() | a content character with a orange head and purple long hair wearing a striped sweater, yellow background | 0 |
![]() | a neutral note character with a orange head and green puffballs hair wearing a combo 2 puffer, light blue background | 0 |
BinaryCrossEntropyLoss with these parameters:
1{
2 "activation_fn": "torch.nn.modules.linear.Identity",
3 "pos_weight": null
4}text, image, and label| text | image | label | |
|---|---|---|---|
| type | string | image | int |
| details |
|
|
|
| text | image | label |
|---|---|---|
a cobain glasses character with a gradient 2 head and purple puffballs hair wearing a white sweater, gradient 4 background | ![]() | 1 |
a cobain glasses character with a gradient 2 head and purple puffballs hair wearing a white sweater, gradient 4 background | ![]() | 0 |
a cobain glasses character with a gradient 2 head and purple puffballs hair wearing a white sweater, gradient 4 background | ![]() | 0 |
BinaryCrossEntropyLoss with these parameters:
1{
2 "activation_fn": "torch.nn.modules.linear.Identity",
3 "pos_weight": null
4}image, text, and label| image | text | label | |
|---|---|---|---|
| type | image | string | int |
| details |
|
|
|
| image | text | label |
|---|---|---|
![]() | a content character with a tan head and purple puffballs hair wearing a blue fleece, green background | 1 |
![]() | a grumpy character with a green head and pink hair wearing a light blue puffer, iridescent background | 0 |
![]() | a surprised character with a pale head and green mullet hair wearing a blue backpack, purple background | 0 |
BinaryCrossEntropyLoss with these parameters:
1{
2 "activation_fn": "torch.nn.modules.linear.Identity",
3 "pos_weight": null
4}text, image, and label| text | image | label | |
|---|---|---|---|
| type | string | image | int |
| details |
|
|
|
| text | image | label |
|---|---|---|
a content character with a tan head and purple puffballs hair wearing a blue fleece, green background | ![]() | 1 |
a content character with a tan head and purple puffballs hair wearing a blue fleece, green background | ![]() | 0 |
a content character with a tan head and purple puffballs hair wearing a blue fleece, green background | ![]() | 0 |
BinaryCrossEntropyLoss with these parameters:
1{
2 "activation_fn": "torch.nn.modules.linear.Identity",
3 "pos_weight": null
4}num_train_epochs: 1learning_rate: 5e-06warmup_steps: 0.1gradient_accumulation_steps: 4bf16: Trueeval_strategy: stepsper_device_eval_batch_size: 32prompts: {'image_to_text': "Given the image, judge whether the text matches it. Respond with 1 if they match, 0 if they don't.", 'text_to_image': "Given the text, judge whether the image matches it. Respond with 1 if they match, 0 if they don't."}per_device_train_batch_size: 8num_train_epochs: 1max_steps: -1learning_rate: 5e-06lr_scheduler_type: linearlr_scheduler_kwargs: Nonewarmup_steps: 0.1optim: adamw_torch_fusedoptim_args: Noneweight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08optim_target_modules: Nonegradient_accumulation_steps: 4average_tokens_across_devices: Truemax_grad_norm: 1.0label_smoothing_factor: 0.0bf16: Truefp16: Falsebf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonegradient_checkpointing: Falsegradient_checkpointing_kwargs: Nonetorch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneuse_liger_kernel: Falseliger_kernel_config: Noneuse_cache: Falseneftune_noise_alpha: Nonetorch_empty_cache_steps: Noneauto_find_batch_size: Falselog_on_each_node: Truelogging_nan_inf_filter: Trueinclude_num_input_tokens_seen: nolog_level: passivelog_level_replica: warningdisable_tqdm: Falseproject: huggingfacetrackio_space_id: trackioeval_strategy: stepsper_device_eval_batch_size: 32prediction_loss_only: Trueeval_on_start: Falseeval_do_concat_batches: Trueeval_use_gather_object: Falseeval_accumulation_steps: Noneinclude_for_metrics: []batch_eval_metrics: Falsesave_only_model: Falsesave_on_each_node: Falseenable_jit_checkpoint: Falsepush_to_hub: Falsehub_private_repo: Nonehub_model_id: Nonehub_strategy: every_savehub_always_push: Falsehub_revision: Noneload_best_model_at_end: Falseignore_data_skip: Falserestore_callback_states_from_checkpoint: Falsefull_determinism: Falseseed: 42data_seed: Noneuse_cpu: Falseaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}parallelism_config: Nonedataloader_drop_last: Falsedataloader_num_workers: 0dataloader_pin_memory: Truedataloader_persistent_workers: Falsedataloader_prefetch_factor: Noneremove_unused_columns: Truelabel_names: Nonetrain_sampling_strategy: randomlength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falseddp_backend: Noneddp_timeout: 1800fsdp: []fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}deepspeed: Nonedebug: []skip_memory_metrics: Truedo_predict: Falseresume_from_checkpoint: Nonewarmup_ratio: Nonelocal_rank: -1prompts: {'image_to_text': "Given the image, judge whether the text matches it. Respond with 1 if they match, 0 if they don't.", 'text_to_image': "Given the text, judge whether the image matches it. Respond with 1 if they match, 0 if they don't."}batch_sampler: batch_samplermulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss | image to text loss | text to image loss | doodles-image-to-text-eval_ndcg@10 | doodles-text-to-image-eval_ndcg@10 |
|---|---|---|---|---|---|---|
| -1 | -1 | - | - | - | 0.8248 | 0.4728 |
| 0.1030 | 29 | 0.2942 | - | - | - | - |
| 0.2060 | 58 | 0.2192 | - | - | - | - |
| 0.2522 | 71 | - | 0.1373 | 0.1687 | 0.9457 | 0.8544 |
| 0.3091 | 87 | 0.1332 | - | - | - | - |
| 0.4121 | 116 | 0.0915 | - | - | - | - |
| 0.5044 | 142 | - | 0.0587 | 0.0508 | 0.995 | 0.9221 |
| 0.5151 | 145 | 0.0537 | - | - | - | - |
| 0.6181 | 174 | 0.0560 | - | - | - | - |
| 0.7211 | 203 | 0.0803 | - | - | - | - |
| 0.7567 | 213 | - | 0.0408 | 0.0427 | 0.995 | 0.9432 |
| 0.8242 | 232 | 0.0628 | - | - | - | - |
| 0.9272 | 261 | 0.0656 | - | - | - | - |
| -1 | -1 | - | - | - | 0.995 | 0.9386 |
1@inproceedings{reimers-2019-sentence-bert,
2 title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
3 author = "Reimers, Nils and Gurevych, Iryna",
4 booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
5 month = "11",
6 year = "2019",
7 publisher = "Association for Computational Linguistics",
8 url = "https://arxiv.org/abs/1908.10084",
9}