{
  "id": 603774,
  "title": "What’s Your Best Single Model?",
  "url": "/competitions/grand-xray-slam-division-a/discussion/603774",
  "author_name": "AnnieGo",
  "post_date": "2025-09-04T10:08:29.321000",
  "votes": 5,
  "comment_count": 36,
  "views": 0,
  "content": "<p>I’ll keep updating this thread with my latest experimental results, and I hope they provide useful insights to help you achieve better performance.</p>\n<table>\n<thead>\n<tr>\n<th>model</th>\n<th>cv (5-fold avg)</th>\n<th>lb</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>convnext_tiny</td>\n<td>0.9280</td>\n<td>0.9355</td>\n</tr>\n<tr>\n<td>eva_small</td>\n<td>0.9295</td>\n<td>0.9362</td>\n</tr>\n</tbody>\n</table>",
  "messages": [
    {
      "id": 3281448,
      "postDate": "2025-09-04T10:08:29.320Z",
      "content": "<p>I’ll keep updating this thread with my latest experimental results, and I hope they provide useful insights to help you achieve better performance.</p>\n<table>\n<thead>\n<tr>\n<th>model</th>\n<th>cv (5-fold avg)</th>\n<th>lb</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>convnext_tiny</td>\n<td>0.9280</td>\n<td>0.9355</td>\n</tr>\n<tr>\n<td>eva_small</td>\n<td>0.9295</td>\n<td>0.9362</td>\n</tr>\n</tbody>\n</table>",
      "rawMarkdown": "I’ll keep updating this thread with my latest experimental results, and I hope they provide useful insights to help you achieve better performance.\n\n| model | cv (5-fold avg) | lb |\n| --- | --- | --- |\n| convnext_tiny | 0.9280 | 0.9355|\n| eva_small | 0.9295 | 0.9362 |",
      "votes": 5
    },
    {
      "id": 3284340,
      "postDate": "2025-09-08T07:08:24.760Z",
      "content": "<p>Updated: Below are my latest experimental results. Some hyper-parameters are hidden. Hopefully, this helps you build a model with good alignment between local CV and LB.</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F5483160%2F4a74496977bd1bf91f1903034480d410%2F52a2d4c8-24a6-44d3-b6d4-221a93ade583.png?generation=1757317852835980&amp;alt=media\" alt=\"\"></p>",
      "rawMarkdown": "Updated: Below are my latest experimental results. Some hyper-parameters are hidden. Hopefully, this helps you build a model with good alignment between local CV and LB.\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F5483160%2F4a74496977bd1bf91f1903034480d410%2F52a2d4c8-24a6-44d3-b6d4-221a93ade583.png?generation=1757317852835980&alt=media)",
      "votes": 2,
      "replies": [
        {
          "id": 3284363,
          "postDate": "2025-09-08T07:22:52Z",
          "content": "<p><a href=\"https://www.kaggle.com/sjtuwangshuo\" target=\"_blank\">@sjtuwangshuo</a> could I ask about the meaning of MAP@3</p>",
          "rawMarkdown": "@sjtuwangshuo could I ask about the meaning of MAP@3",
          "replies": [
            {
              "id": 3284367,
              "postDate": "2025-09-08T07:25:20.810Z",
              "content": "<p>Sorry, that's a typo. I will update the new sheet soon. </p>",
              "rawMarkdown": "Sorry, that's a typo. I will update the new sheet soon. "
            },
            {
              "id": 3284661,
              "postDate": "2025-09-08T13:05:10.880Z",
              "content": "<p><a href=\"https://www.kaggle.com/sjtuwangshuo\" target=\"_blank\">@sjtuwangshuo</a> After both grand slam, could you share your notebook or write-up? I just want to learn how to train an efficient model. Your Eva-X-Small has only 22M parameters but performs better than my 98M model :&lt;</p>",
              "rawMarkdown": "@sjtuwangshuo After both grand slam, could you share your notebook or write-up? I just want to learn how to train an efficient model. Your Eva-X-Small has only 22M parameters but performs better than my 98M model :<"
            },
            {
              "id": 3284684,
              "postDate": "2025-09-08T13:37:46.473Z",
              "content": "<p>Of course. I will share my code after the competition. </p>",
              "rawMarkdown": "Of course. I will share my code after the competition. "
            },
            {
              "id": 3303271,
              "postDate": "2025-10-17T14:29:12.177Z",
              "content": "<p><a href=\"https://www.kaggle.com/sjtuwangshuo\" target=\"_blank\">@sjtuwangshuo</a> , could you please share how you trained your model? I’m very curious about your training techniques.</p>",
              "rawMarkdown": "@sjtuwangshuo , could you please share how you trained your model? I’m very curious about your training techniques."
            },
            {
              "id": 3303327,
              "postDate": "2025-10-17T17:15:19.647Z",
              "content": "<p>Me too — I’m very curious about how the fine-tuning of this EVA_X was done.<br>\nIn my experiments, after 5-fold OOF validation, the ceiling was an AUROC of 0.926.<br>\nIt worked well as part of an ensemble together with ConvNeXt, but I’m still intrigued about how to reach an AUROC greater than 0.93 with EVA_X.</p>",
              "rawMarkdown": "Me too — I’m very curious about how the fine-tuning of this EVA_X was done.\nIn my experiments, after 5-fold OOF validation, the ceiling was an AUROC of 0.926.\nIt worked well as part of an ensemble together with ConvNeXt, but I’m still intrigued about how to reach an AUROC greater than 0.93 with EVA_X.\n"
            },
            {
              "id": 3303572,
              "postDate": "2025-10-18T13:00:34.173Z",
              "content": "<p>I have reached 0.93 with EVA-X-Small using the frontal/lateral trick, but I can’t surpass 0.935 even when using EVA-X-Base.</p>",
              "rawMarkdown": "I have reached 0.93 with EVA-X-Small using the frontal/lateral trick, but I can’t surpass 0.935 even when using EVA-X-Base."
            },
            {
              "id": 3307203,
              "postDate": "2025-10-26T12:57:08.980Z",
              "rawMarkdown": "",
              "isDeleted": true
            },
            {
              "id": 3307509,
              "postDate": "2025-10-27T07:06:57.323Z",
              "content": "<p><a href=\"https://www.kaggle.com/nguyncdngs\" target=\"_blank\">@nguyncdngs</a> Can you share with me the notebook using eva_x. I tried it with 10 epochs but only achieved 0.85</p>",
              "rawMarkdown": "@nguyncdngs Can you share with me the notebook using eva_x. I tried it with 10 epochs but only achieved 0.85"
            }
          ]
        }
      ]
    },
    {
      "id": 3281933,
      "postDate": "2025-09-05T09:20:19.893Z",
      "content": "<p>Thanks for sharing your results, AnnieGo! </p>\n<p>For anyone looking to experiment with metadata, I’ve published a couple of baseline notebooks:  </p>\n<ul>\n<li>CNN Baseline Model (no metadata)  </li>\n<li>EfficientNetB0 Model (with metadata)</li>\n</ul>\n<p>These could serve as starting points for testing different architectures or incorporating metadata features. Happy experimenting!</p>",
      "rawMarkdown": "Thanks for sharing your results, AnnieGo! \n\nFor anyone looking to experiment with metadata, I’ve published a couple of baseline notebooks:  \n\n- CNN Baseline Model (no metadata)  \n- EfficientNetB0 Model (with metadata)\n\nThese could serve as starting points for testing different architectures or incorporating metadata features. Happy experimenting!\n"
    },
    {
      "id": 3289070,
      "postDate": "2025-09-15T11:29:17.750Z",
      "content": "<p>If the model were trained using only AP or PA images, would this score be higher?</p>",
      "rawMarkdown": "If the model were trained using only AP or PA images, would this score be higher?",
      "replies": [
        {
          "id": 3289073,
          "postDate": "2025-09-15T11:36:08.707Z",
          "content": "<p>Not necessarily. Since the hidden test set may include X-ray images from different views, training the model using only AP or PA images might not generalize well and could lead to lower performance.</p>",
          "rawMarkdown": "Not necessarily. Since the hidden test set may include X-ray images from different views, training the model using only AP or PA images might not generalize well and could lead to lower performance.",
          "replies": [
            {
              "id": 3289100,
              "postDate": "2025-09-15T12:30:02.330Z",
              "content": "<p>Thank you for your reply! I might not have been clear enough. What I meant was: if during the training process, we extract only the AP or PA images from the dataset and use them for stratified validation, would the final AUC score of the validation set be higher than training with all images from various shooting positions?</p>",
              "rawMarkdown": "Thank you for your reply! I might not have been clear enough. What I meant was: if during the training process, we extract only the AP or PA images from the dataset and use them for stratified validation, would the final AUC score of the validation set be higher than training with all images from various shooting positions?"
            },
            {
              "id": 3289568,
              "postDate": "2025-09-16T08:44:10.753Z",
              "content": "<p><a href=\"https://www.kaggle.com/xh12345\" target=\"_blank\">@xh12345</a> Since the dataset has both frontal (PA/AP) and lateral views, if you restrict training/validation to only PA or AP images you’ll usually see a higher validation AUC, mainly because the data is more homogeneous and frontal images are the majority. But the hidden test set still includes lateral cases, so the gain in validation won’t necessarily translate to leaderboard performance.</p>",
              "rawMarkdown": "@xh12345 Since the dataset has both frontal (PA/AP) and lateral views, if you restrict training/validation to only PA or AP images you’ll usually see a higher validation AUC, mainly because the data is more homogeneous and frontal images are the majority. But the hidden test set still includes lateral cases, so the gain in validation won’t necessarily translate to leaderboard performance."
            }
          ]
        }
      ]
    },
    {
      "id": 3281859,
      "postDate": "2025-09-05T05:23:17.897Z",
      "content": "<p>Are you using metadata as features for model </p>",
      "rawMarkdown": "Are you using metadata as features for model ",
      "replies": [
        {
          "id": 3281885,
          "postDate": "2025-09-05T06:43:10.347Z",
          "content": "<p>No metadata was incorporated; the analysis relied solely on the X-ray images.</p>",
          "rawMarkdown": "No metadata was incorporated; the analysis relied solely on the X-ray images."
        }
      ]
    },
    {
      "id": 3281719,
      "postDate": "2025-09-04T18:36:31.740Z",
      "content": "<p>I have train one fold with CaFormer ~ 98M and achieve 0.9275 on val_auc, I think next week I will try EMA + ensemble 5 fold</p>",
      "rawMarkdown": "I have train one fold with CaFormer ~ 98M and achieve 0.9275 on val_auc, I think next week I will try EMA + ensemble 5 fold",
      "replies": [
        {
          "id": 3284596,
          "postDate": "2025-09-08T12:30:58.837Z",
          "content": "<p>Did you train all 98M parameters or freeze some stages . Also Can I know your Image size ?</p>",
          "rawMarkdown": "Did you train all 98M parameters or freeze some stages . Also Can I know your Image size ?",
          "isDeleted": true,
          "replies": [
            {
              "id": 3284654,
              "postDate": "2025-09-08T12:59:13.257Z",
              "content": "<p>224x224 image size, I finetune all 98M parameters</p>",
              "rawMarkdown": "224x224 image size, I finetune all 98M parameters"
            },
            {
              "id": 3285885,
              "postDate": "2025-09-08T20:42:42.320Z",
              "content": "<p><a href=\"https://www.kaggle.com/nguyncdngs\" target=\"_blank\">@nguyncdngs</a> I am trying to train caFormer on kaggle GPU but it takes huge amount of time even for 2-3 epochs. Are you using external gpu?</p>",
              "rawMarkdown": "@nguyncdngs I am trying to train caFormer on kaggle GPU but it takes huge amount of time even for 2-3 epochs. Are you using external gpu?\n",
              "isDeleted": true
            },
            {
              "id": 3285949,
              "postDate": "2025-09-09T00:31:52.313Z",
              "content": "<p>You should convert all PNG files to NPY format. This will reduce training time by about 40% training time, 2xT4 can train up to 11 epoch</p>",
              "rawMarkdown": "You should convert all PNG files to NPY format. This will reduce training time by about 40% training time, 2xT4 can train up to 11 epoch"
            },
            {
              "id": 3287282,
              "postDate": "2025-09-11T09:21:04.430Z",
              "content": "<p>Can you give me code to convert all PNG files to NPY format </p>",
              "rawMarkdown": "Can you give me code to convert all PNG files to NPY format "
            },
            {
              "id": 3287290,
              "postDate": "2025-09-11T09:40:07.820Z",
              "content": "<p>`train_image_files = [f for f in os.listdir(CFG.train_path) if f.lower().endswith((\".jpg\", \".jpeg\", \".png\"))]<br>\ntest_image_files = [f for f in os.listdir(CFG.test_path) if f.lower().endswith((\".jpg\", \".jpeg\", \".png\"))]</p>\n<p>print(f'Number {len(train_image_files)} Train Files')<br>\nprint(f'Number {len(test_image_files)} Test Files')</p>\n<p>def make(image_files , input_path , save_path):<br>\n    for img_name in tqdm(image_files, desc=\"Converting images\"):<br>\n        img_path = os.path.join(input_path, img_name)<br>\n        img = Image.open(img_path).convert(\"RGB\")<br>\n        img = img.resize(CFG.size)<br>\n        img_array = np.array(img, dtype=np.uint8)<br>\n        base_name = os.path.splitext(img_name)[0]<br>\n        np.save(os.path.join(save_path, base_name + \".npy\"), img_array)`</p>",
              "rawMarkdown": "`train_image_files = [f for f in os.listdir(CFG.train_path) if f.lower().endswith((\".jpg\", \".jpeg\", \".png\"))]\ntest_image_files = [f for f in os.listdir(CFG.test_path) if f.lower().endswith((\".jpg\", \".jpeg\", \".png\"))]\n\nprint(f'Number {len(train_image_files)} Train Files')\nprint(f'Number {len(test_image_files)} Test Files')\n\n\ndef make(image_files , input_path , save_path):\n    for img_name in tqdm(image_files, desc=\"Converting images\"):\n        img_path = os.path.join(input_path, img_name)\n        img = Image.open(img_path).convert(\"RGB\")\n        img = img.resize(CFG.size)\n        img_array = np.array(img, dtype=np.uint8)\n        base_name = os.path.splitext(img_name)[0]\n        np.save(os.path.join(save_path, base_name + \".npy\"), img_array)`",
              "isDeleted": true
            },
            {
              "id": 3287358,
              "postDate": "2025-09-11T13:16:22.033Z",
              "content": "<p>Thanks very much</p>",
              "rawMarkdown": "Thanks very much"
            },
            {
              "id": 3287704,
              "postDate": "2025-09-12T04:21:25.867Z",
              "content": "<p><a href=\"https://www.kaggle.com/asteyagaur\" target=\"_blank\">@asteyagaur</a> Maybe you misunderstood my idea — you should create only one .npy file to reduce I/O overhead.</p>",
              "rawMarkdown": "@asteyagaur Maybe you misunderstood my idea — you should create only one .npy file to reduce I/O overhead."
            },
            {
              "id": 3287730,
              "postDate": "2025-09-12T05:50:01.697Z",
              "content": "<p>Thanks <a href=\"https://www.kaggle.com/nguyncdngs\" target=\"_blank\">@nguyncdngs</a> I will create single file . As you mean to say that if dataset consists 1000 images we will create single file of 224x224 the single .npy will be 1000x224x224 where 1000 is number of images.</p>",
              "rawMarkdown": "Thanks @nguyncdngs I will create single file . As you mean to say that if dataset consists 1000 images we will create single file of 224x224 the single .npy will be 1000x224x224 where 1000 is number of images.",
              "isDeleted": true
            },
            {
              "id": 3287742,
              "postDate": "2025-09-12T06:35:52.593Z",
              "content": "<p><a href=\"https://www.kaggle.com/nguyncdngs\" target=\"_blank\">@nguyncdngs</a> can you give me the correct code </p>",
              "rawMarkdown": "@nguyncdngs can you give me the correct code "
            },
            {
              "id": 3287780,
              "postDate": "2025-09-12T08:47:02.707Z",
              "content": "<p>Of course, I will public it, currently I have some work deadline</p>",
              "rawMarkdown": "Of course, I will public it, currently I have some work deadline"
            },
            {
              "id": 3287783,
              "postDate": "2025-09-12T08:49:50.167Z",
              "content": "<p><a href=\"https://www.kaggle.com/asteyagaur\" target=\"_blank\">@asteyagaur</a> Yes, that’s correct.</p>",
              "rawMarkdown": "@asteyagaur Yes, that’s correct."
            },
            {
              "id": 3290807,
              "postDate": "2025-09-18T13:09:22.547Z",
              "content": "<p>may I ask if there were any memory-related errors? I tried caformer base with 98M but it returned missing 20MiB of GPU to run so I have to switch to caformer small with less parameters. <a href=\"https://www.kaggle.com/nguyncdngs\" target=\"_blank\">@nguyncdngs</a> </p>",
              "rawMarkdown": "may I ask if there were any memory-related errors? I tried caformer base with 98M but it returned missing 20MiB of GPU to run so I have to switch to caformer small with less parameters. @nguyncdngs "
            },
            {
              "id": 3290931,
              "postDate": "2025-09-18T16:54:51.180Z",
              "content": "<p>I use this config: mixed precision, batch size 16, running on 2×T4 GPUs. Each GPU uses ~11/16gb vram</p>",
              "rawMarkdown": "I use this config: mixed precision, batch size 16, running on 2×T4 GPUs. Each GPU uses ~11/16gb vram"
            }
          ]
        }
      ]
    },
    {
      "id": 3286655,
      "postDate": "2025-09-10T07:46:38.237Z",
      "rawMarkdown": "",
      "isDeleted": true
    },
    {
      "id": 3282544,
      "postDate": "2025-09-06T12:50:29.327Z",
      "content": "<p><a href=\"https://www.kaggle.com/sjtuwangshuo\" target=\"_blank\">@sjtuwangshuo</a> eva02_small with 336x336 image size ? , I am trying with eva02_tiny with 224x224 getting same performance as effnet-b0 with 224x224 .</p>",
      "rawMarkdown": "@sjtuwangshuo eva02_small with 336x336 image size ? , I am trying with eva02_tiny with 224x224 getting same performance as effnet-b0 with 224x224 .",
      "isDeleted": true,
      "replies": [
        {
          "id": 3283845,
          "postDate": "2025-09-08T01:11:02.097Z",
          "content": "<p>I am using the chest X-ray foundation model available at <a href=\"https://github.com/hustvl/EVA-X\" target=\"_blank\">EVA-X</a>.</p>",
          "rawMarkdown": "I am using the chest X-ray foundation model available at [EVA-X](https://github.com/hustvl/EVA-X).",
          "replies": [
            {
              "id": 3284014,
              "postDate": "2025-09-08T04:38:43.213Z",
              "content": "<p>Thanks I will definitely try this .</p>",
              "rawMarkdown": "Thanks I will definitely try this .",
              "isDeleted": true
            }
          ]
        }
      ]
    }
  ],
  "comments": [
    {
      "id": 3284340,
      "author_name": "AnnieGo",
      "author_url": "",
      "post_date": "2025-09-08T07:08:24.760000",
      "content": "<p>Updated: Below are my latest experimental results. Some hyper-parameters are hidden. Hopefully, this helps you build a model with good alignment between local CV and LB.</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F5483160%2F4a74496977bd1bf91f1903034480d410%2F52a2d4c8-24a6-44d3-b6d4-221a93ade583.png?generation=1757317852835980&amp;alt=media\" alt=\"\"></p>",
      "votes": 2,
      "replies": [
        {
          "id": 3284363,
          "author_name": "Duong Nguyen",
          "author_url": "",
          "post_date": "2025-09-08T07:22:52",
          "content": "<p><a href=\"https://www.kaggle.com/sjtuwangshuo\" target=\"_blank\">@sjtuwangshuo</a> could I ask about the meaning of MAP@3</p>",
          "votes": 0,
          "replies": [
            {
              "id": 3284367,
              "author_name": "AnnieGo",
              "author_url": "",
              "post_date": "2025-09-08T07:25:20.810000",
              "content": "<p>Sorry, that's a typo. I will update the new sheet soon. </p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3284661,
              "author_name": "Duong Nguyen",
              "author_url": "",
              "post_date": "2025-09-08T13:05:10.880000",
              "content": "<p><a href=\"https://www.kaggle.com/sjtuwangshuo\" target=\"_blank\">@sjtuwangshuo</a> After both grand slam, could you share your notebook or write-up? I just want to learn how to train an efficient model. Your Eva-X-Small has only 22M parameters but performs better than my 98M model :&lt;</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3284684,
              "author_name": "AnnieGo",
              "author_url": "",
              "post_date": "2025-09-08T13:37:46.473000",
              "content": "<p>Of course. I will share my code after the competition. </p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3303271,
              "author_name": "Duong Nguyen",
              "author_url": "",
              "post_date": "2025-10-17T14:29:12.177000",
              "content": "<p><a href=\"https://www.kaggle.com/sjtuwangshuo\" target=\"_blank\">@sjtuwangshuo</a> , could you please share how you trained your model? I’m very curious about your training techniques.</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3303327,
              "author_name": "Franklin Gois",
              "author_url": "",
              "post_date": "2025-10-17T17:15:19.647000",
              "content": "<p>Me too — I’m very curious about how the fine-tuning of this EVA_X was done.<br>\nIn my experiments, after 5-fold OOF validation, the ceiling was an AUROC of 0.926.<br>\nIt worked well as part of an ensemble together with ConvNeXt, but I’m still intrigued about how to reach an AUROC greater than 0.93 with EVA_X.</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3303572,
              "author_name": "Duong Nguyen",
              "author_url": "",
              "post_date": "2025-10-18T13:00:34.173000",
              "content": "<p>I have reached 0.93 with EVA-X-Small using the frontal/lateral trick, but I can’t surpass 0.935 even when using EVA-X-Base.</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3307203,
              "author_name": "",
              "author_url": "",
              "post_date": "2025-10-26T12:57:08.980000",
              "content": "",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3307509,
              "author_name": "c3152023",
              "author_url": "",
              "post_date": "2025-10-27T07:06:57.323000",
              "content": "<p><a href=\"https://www.kaggle.com/nguyncdngs\" target=\"_blank\">@nguyncdngs</a> Can you share with me the notebook using eva_x. I tried it with 10 epochs but only achieved 0.85</p>",
              "votes": 0,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 3281933,
      "author_name": "Guntas Dhanjal",
      "author_url": "",
      "post_date": "2025-09-05T09:20:19.893000",
      "content": "<p>Thanks for sharing your results, AnnieGo! </p>\n<p>For anyone looking to experiment with metadata, I’ve published a couple of baseline notebooks:  </p>\n<ul>\n<li>CNN Baseline Model (no metadata)  </li>\n<li>EfficientNetB0 Model (with metadata)</li>\n</ul>\n<p>These could serve as starting points for testing different architectures or incorporating metadata features. Happy experimenting!</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 3289070,
      "author_name": "hui xiong",
      "author_url": "",
      "post_date": "2025-09-15T11:29:17.750000",
      "content": "<p>If the model were trained using only AP or PA images, would this score be higher?</p>",
      "votes": 0,
      "replies": [
        {
          "id": 3289073,
          "author_name": "AnnieGo",
          "author_url": "",
          "post_date": "2025-09-15T11:36:08.707000",
          "content": "<p>Not necessarily. Since the hidden test set may include X-ray images from different views, training the model using only AP or PA images might not generalize well and could lead to lower performance.</p>",
          "votes": 0,
          "replies": [
            {
              "id": 3289100,
              "author_name": "hui xiong",
              "author_url": "",
              "post_date": "2025-09-15T12:30:02.330000",
              "content": "<p>Thank you for your reply! I might not have been clear enough. What I meant was: if during the training process, we extract only the AP or PA images from the dataset and use them for stratified validation, would the final AUC score of the validation set be higher than training with all images from various shooting positions?</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3289568,
              "author_name": "Alpha",
              "author_url": "",
              "post_date": "2025-09-16T08:44:10.753000",
              "content": "<p><a href=\"https://www.kaggle.com/xh12345\" target=\"_blank\">@xh12345</a> Since the dataset has both frontal (PA/AP) and lateral views, if you restrict training/validation to only PA or AP images you’ll usually see a higher validation AUC, mainly because the data is more homogeneous and frontal images are the majority. But the hidden test set still includes lateral cases, so the gain in validation won’t necessarily translate to leaderboard performance.</p>",
              "votes": 0,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 3281859,
      "author_name": "Sarthak",
      "author_url": "",
      "post_date": "2025-09-05T05:23:17.897000",
      "content": "<p>Are you using metadata as features for model </p>",
      "votes": 0,
      "replies": [
        {
          "id": 3281885,
          "author_name": "AnnieGo",
          "author_url": "",
          "post_date": "2025-09-05T06:43:10.347000",
          "content": "<p>No metadata was incorporated; the analysis relied solely on the X-ray images.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 3281719,
      "author_name": "Duong Nguyen",
      "author_url": "",
      "post_date": "2025-09-04T18:36:31.740000",
      "content": "<p>I have train one fold with CaFormer ~ 98M and achieve 0.9275 on val_auc, I think next week I will try EMA + ensemble 5 fold</p>",
      "votes": 0,
      "replies": [
        {
          "id": 3284596,
          "author_name": "",
          "author_url": "",
          "post_date": "2025-09-08T12:30:58.837000",
          "content": "<p>Did you train all 98M parameters or freeze some stages . Also Can I know your Image size ?</p>",
          "votes": 0,
          "replies": [
            {
              "id": 3284654,
              "author_name": "Duong Nguyen",
              "author_url": "",
              "post_date": "2025-09-08T12:59:13.257000",
              "content": "<p>224x224 image size, I finetune all 98M parameters</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3285885,
              "author_name": "",
              "author_url": "",
              "post_date": "2025-09-08T20:42:42.320000",
              "content": "<p><a href=\"https://www.kaggle.com/nguyncdngs\" target=\"_blank\">@nguyncdngs</a> I am trying to train caFormer on kaggle GPU but it takes huge amount of time even for 2-3 epochs. Are you using external gpu?</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3285949,
              "author_name": "Duong Nguyen",
              "author_url": "",
              "post_date": "2025-09-09T00:31:52.313000",
              "content": "<p>You should convert all PNG files to NPY format. This will reduce training time by about 40% training time, 2xT4 can train up to 11 epoch</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3287282,
              "author_name": "Sarthak",
              "author_url": "",
              "post_date": "2025-09-11T09:21:04.430000",
              "content": "<p>Can you give me code to convert all PNG files to NPY format </p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3287290,
              "author_name": "",
              "author_url": "",
              "post_date": "2025-09-11T09:40:07.820000",
              "content": "<p>`train_image_files = [f for f in os.listdir(CFG.train_path) if f.lower().endswith((\".jpg\", \".jpeg\", \".png\"))]<br>\ntest_image_files = [f for f in os.listdir(CFG.test_path) if f.lower().endswith((\".jpg\", \".jpeg\", \".png\"))]</p>\n<p>print(f'Number {len(train_image_files)} Train Files')<br>\nprint(f'Number {len(test_image_files)} Test Files')</p>\n<p>def make(image_files , input_path , save_path):<br>\n    for img_name in tqdm(image_files, desc=\"Converting images\"):<br>\n        img_path = os.path.join(input_path, img_name)<br>\n        img = Image.open(img_path).convert(\"RGB\")<br>\n        img = img.resize(CFG.size)<br>\n        img_array = np.array(img, dtype=np.uint8)<br>\n        base_name = os.path.splitext(img_name)[0]<br>\n        np.save(os.path.join(save_path, base_name + \".npy\"), img_array)`</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3287358,
              "author_name": "Sarthak",
              "author_url": "",
              "post_date": "2025-09-11T13:16:22.033000",
              "content": "<p>Thanks very much</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3287704,
              "author_name": "Duong Nguyen",
              "author_url": "",
              "post_date": "2025-09-12T04:21:25.867000",
              "content": "<p><a href=\"https://www.kaggle.com/asteyagaur\" target=\"_blank\">@asteyagaur</a> Maybe you misunderstood my idea — you should create only one .npy file to reduce I/O overhead.</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3287730,
              "author_name": "",
              "author_url": "",
              "post_date": "2025-09-12T05:50:01.697000",
              "content": "<p>Thanks <a href=\"https://www.kaggle.com/nguyncdngs\" target=\"_blank\">@nguyncdngs</a> I will create single file . As you mean to say that if dataset consists 1000 images we will create single file of 224x224 the single .npy will be 1000x224x224 where 1000 is number of images.</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3287742,
              "author_name": "Sarthak",
              "author_url": "",
              "post_date": "2025-09-12T06:35:52.593000",
              "content": "<p><a href=\"https://www.kaggle.com/nguyncdngs\" target=\"_blank\">@nguyncdngs</a> can you give me the correct code </p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3287780,
              "author_name": "Duong Nguyen",
              "author_url": "",
              "post_date": "2025-09-12T08:47:02.707000",
              "content": "<p>Of course, I will public it, currently I have some work deadline</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3287783,
              "author_name": "Duong Nguyen",
              "author_url": "",
              "post_date": "2025-09-12T08:49:50.167000",
              "content": "<p><a href=\"https://www.kaggle.com/asteyagaur\" target=\"_blank\">@asteyagaur</a> Yes, that’s correct.</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3290807,
              "author_name": "Hiếu Lê Ngọc",
              "author_url": "",
              "post_date": "2025-09-18T13:09:22.547000",
              "content": "<p>may I ask if there were any memory-related errors? I tried caformer base with 98M but it returned missing 20MiB of GPU to run so I have to switch to caformer small with less parameters. <a href=\"https://www.kaggle.com/nguyncdngs\" target=\"_blank\">@nguyncdngs</a> </p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3290931,
              "author_name": "Duong Nguyen",
              "author_url": "",
              "post_date": "2025-09-18T16:54:51.180000",
              "content": "<p>I use this config: mixed precision, batch size 16, running on 2×T4 GPUs. Each GPU uses ~11/16gb vram</p>",
              "votes": 0,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 3286655,
      "author_name": "",
      "author_url": "",
      "post_date": "2025-09-10T07:46:38.237000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 3282544,
      "author_name": "",
      "author_url": "",
      "post_date": "2025-09-06T12:50:29.327000",
      "content": "<p><a href=\"https://www.kaggle.com/sjtuwangshuo\" target=\"_blank\">@sjtuwangshuo</a> eva02_small with 336x336 image size ? , I am trying with eva02_tiny with 224x224 getting same performance as effnet-b0 with 224x224 .</p>",
      "votes": 0,
      "replies": [
        {
          "id": 3283845,
          "author_name": "AnnieGo",
          "author_url": "",
          "post_date": "2025-09-08T01:11:02.097000",
          "content": "<p>I am using the chest X-ray foundation model available at <a href=\"https://github.com/hustvl/EVA-X\" target=\"_blank\">EVA-X</a>.</p>",
          "votes": 0,
          "replies": [
            {
              "id": 3284014,
              "author_name": "",
              "author_url": "",
              "post_date": "2025-09-08T04:38:43.213000",
              "content": "<p>Thanks I will definitely try this .</p>",
              "votes": 0,
              "replies": []
            }
          ]
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "3281448": "I’ll keep updating this thread with my latest experimental results, and I hope they provide useful insights to help you achieve better performance.\n\n| model | cv (5-fold avg) | lb |\n| --- | --- | --- |\n| convnext_tiny | 0.9280 | 0.9355|\n| eva_small | 0.9295 | 0.9362 |",
    "3284340": "Updated: Below are my latest experimental results. Some hyper-parameters are hidden. Hopefully, this helps you build a model with good alignment between local CV and LB.\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F5483160%2F4a74496977bd1bf91f1903034480d410%2F52a2d4c8-24a6-44d3-b6d4-221a93ade583.png?generation=1757317852835980&alt=media)",
    "3281933": "Thanks for sharing your results, AnnieGo! \n\nFor anyone looking to experiment with metadata, I’ve published a couple of baseline notebooks:  \n\n- CNN Baseline Model (no metadata)  \n- EfficientNetB0 Model (with metadata)\n\nThese could serve as starting points for testing different architectures or incorporating metadata features. Happy experimenting!\n",
    "3289070": "If the model were trained using only AP or PA images, would this score be higher?",
    "3281859": "Are you using metadata as features for model ",
    "3281719": "I have train one fold with CaFormer ~ 98M and achieve 0.9275 on val_auc, I think next week I will try EMA + ensemble 5 fold",
    "3286655": "",
    "3282544": "@sjtuwangshuo eva02_small with 336x336 image size ? , I am trying with eva02_tiny with 224x224 getting same performance as effnet-b0 with 224x224 ."
  }
}