{
  "id": 667004,
  "title": "Compiling all strategies in the PyTorch only Training NB",
  "url": "/competitions/deep-past-initiative-machine-translation/discussion/667004",
  "author_name": "",
  "post_date": "2026-01-10T12:15:41.686439Z",
  "votes": 10,
  "comment_count": 2,
  "views": 0,
  "content": "<p>I am posting a helper training notebook, which is built purely on PyTorch, offering greater customizability. It employs multiple data strategies, including bidirectional training data, ASCII to diacritics normalisation, gap normalisation, and sentence-level alignments. I have also added Gradient Accumulation, Early Stopping and WandB logging for convenience, and most of the hyperparameters can be set from the CONFIG class. Feel free to use it, and do let me know if I am missing out on anything. Link to the reference notebook: <a href=\"https://www.kaggle.com/code/shrenzypanda/pytorch-training-nb\" target=\"_blank\">https://www.kaggle.com/code/shrenzypanda/pytorch-training-nb</a></p>",
  "messages": [
    {
      "id": "3389168",
      "postDate": "01/10/2026 12:15:41",
      "content": "<p>I am posting a helper training notebook, which is built purely on PyTorch, offering greater customizability. It employs multiple data strategies, including bidirectional training data, ASCII to diacritics normalisation, gap normalisation, and sentence-level alignments. I have also added Gradient Accumulation, Early Stopping and WandB logging for convenience, and most of the hyperparameters can be set from the CONFIG class. Feel free to use it, and do let me know if I am missing out on anything. Link to the reference notebook: <a href=\"https://www.kaggle.com/code/shrenzypanda/pytorch-training-nb\" target=\"_blank\">https://www.kaggle.com/code/shrenzypanda/pytorch-training-nb</a></p>",
      "rawMarkdown": "I am posting a helper training notebook, which is built purely on PyTorch, offering greater customizability. It employs multiple data strategies, including bidirectional training data, ASCII to diacritics normalisation, gap normalisation, and sentence-level alignments. I have also added Gradient Accumulation, Early Stopping and WandB logging for convenience, and most of the hyperparameters can be set from the CONFIG class. Feel free to use it, and do let me know if I am missing out on anything. Link to the reference notebook: https://www.kaggle.com/code/shrenzypanda/pytorch-training-nb",
      "votes": null
    },
    {
      "id": "3390144",
      "postDate": "01/12/2026 16:38:02",
      "content": "<p>Hi there, I looked through your code and noticed a couple things worth mentioning:</p>\n<ol>\n<li>There are no ẓ characters in the test set, so the substitution of ( \"z,\": \"ẓ\", \"Z,\": \"Ẓ\",  \".z\": \"ẓ\", \".Z\": \"Ẓ\") could be problematic, as there are only standard \"z, Z\" characters in the test set.</li>\n<li>There are no ḫ Ḫ characters in the test set, so # H variants (\"h,\": \"ḫ\", \"H,\": \"Ḫ\", \".h\": \"ḫ\", \".H\": \"Ḫ\", \"hh\": \"ḫ\", \"HH\": \"Ḫ\") could be problematic, as there are only standard \"h, H\" characters in the test set.</li>\n<li>Subscripted numbers for accents only apply for vowels, so   # Subscript numbers (common ASCII alternatives) (\"s2\": \"š\", \"S2\": \"Š\", \"s3\": \"ś\", \"S3\": \"Ś\") could be problematic, as there are only the following sibilants: s, S, ṣ, Ṣ, š, Š, in the test set.</li>\n<li>Vowel conversion: your methodology for converting diacritics could be problematic. You have: VOWEL_SUBSCRIPTS = (    \"a2\": \"á\",    \"a3\": \"à\",    \"e2\": \"é\",    \"e3\": \"è\",    \"i2\": \"í\",    \"i3\": \"ì\",    \"u2\": \"ú\",    \"u3\": \"ù\",    \"A2\": \"Á\",    \"A3\": \"À\",    \"E2\": \"É\",    \"E3\": \"È\",    \"I2\": \"Í\",    \"I3\": \"Ì\",    \"U2\": \"Ú\",     \"U3\": \"Ù\",). If these are your only conversion you will end up with errors for the vowel-consonant (VC#), and consonant-vowel-consonant-number (CVC#): (ul3 = ùl, un3 = ùn, šam2 = šám, gan2 = gán, nam2 = nám, muš3 = mùš, tur3 = tùr, gub3 = gùb, aya₂ = áya, etc.)</li>\n</ol>\n<p>Those are the outstanding formatting issues that I can see from your code. For the list of characters in translations and transliterations (in the test) see: <a href=\"https://www.kaggle.com/competitions/deep-past-initiative-machine-translation/discussion/665209#3384200\" target=\"_blank\">https://www.kaggle.com/competitions/deep-past-initiative-machine-translation/discussion/665209#3384200</a></p>",
      "rawMarkdown": "Hi there, I looked through your code and noticed a couple things worth mentioning:\n\n1. There are no ẓ characters in the test set, so the substitution of ( \"z,\": \"ẓ\", \"Z,\": \"Ẓ\",  \".z\": \"ẓ\", \".Z\": \"Ẓ\") could be problematic, as there are only standard \"z, Z\" characters in the test set.\n2. There are no ḫ Ḫ characters in the test set, so # H variants (\"h,\": \"ḫ\", \"H,\": \"Ḫ\", \".h\": \"ḫ\", \".H\": \"Ḫ\", \"hh\": \"ḫ\", \"HH\": \"Ḫ\") could be problematic, as there are only standard \"h, H\" characters in the test set.\n3. Subscripted numbers for accents only apply for vowels, so   # Subscript numbers (common ASCII alternatives) (\"s2\": \"š\", \"S2\": \"Š\", \"s3\": \"ś\", \"S3\": \"Ś\") could be problematic, as there are only the following sibilants: s, S, ṣ, Ṣ, š, Š, in the test set.\n4. Vowel conversion: your methodology for converting diacritics could be problematic. You have: VOWEL_SUBSCRIPTS = (    \"a2\": \"á\",    \"a3\": \"à\",    \"e2\": \"é\",    \"e3\": \"è\",    \"i2\": \"í\",    \"i3\": \"ì\",    \"u2\": \"ú\",    \"u3\": \"ù\",    \"A2\": \"Á\",    \"A3\": \"À\",    \"E2\": \"É\",    \"E3\": \"È\",    \"I2\": \"Í\",    \"I3\": \"Ì\",    \"U2\": \"Ú\",     \"U3\": \"Ù\",). If these are your only conversion you will end up with errors for the vowel-consonant (VC#), and consonant-vowel-consonant-number (CVC#): (ul3 = ùl, un3 = ùn, šam2 = šám, gan2 = gán, nam2 = nám, muš3 = mùš, tur3 = tùr, gub3 = gùb, aya₂ = áya, etc.)\n\nThose are the outstanding formatting issues that I can see from your code. For the list of characters in translations and transliterations (in the test) see: https://www.kaggle.com/competitions/deep-past-initiative-machine-translation/discussion/665209#3384200",
      "votes": null
    },
    {
      "id": "3390991",
      "postDate": "01/14/2026 08:57:31",
      "content": "<p>Thank you <a href=\"https://www.kaggle.com/deeppast\" target=\"_blank\">@deeppast</a>! I guess fixing these issues might help me get a bump on the public LB.</p>",
      "rawMarkdown": "Thank you @deeppast! I guess fixing these issues might help me get a bump on the public LB.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 3390144,
      "author_name": "deeppast",
      "author_url": "",
      "post_date": "01/12/2026 16:38:02",
      "content": "<p>Hi there, I looked through your code and noticed a couple things worth mentioning:</p>\n<ol>\n<li>There are no ẓ characters in the test set, so the substitution of ( \"z,\": \"ẓ\", \"Z,\": \"Ẓ\",  \".z\": \"ẓ\", \".Z\": \"Ẓ\") could be problematic, as there are only standard \"z, Z\" characters in the test set.</li>\n<li>There are no ḫ Ḫ characters in the test set, so # H variants (\"h,\": \"ḫ\", \"H,\": \"Ḫ\", \".h\": \"ḫ\", \".H\": \"Ḫ\", \"hh\": \"ḫ\", \"HH\": \"Ḫ\") could be problematic, as there are only standard \"h, H\" characters in the test set.</li>\n<li>Subscripted numbers for accents only apply for vowels, so   # Subscript numbers (common ASCII alternatives) (\"s2\": \"š\", \"S2\": \"Š\", \"s3\": \"ś\", \"S3\": \"Ś\") could be problematic, as there are only the following sibilants: s, S, ṣ, Ṣ, š, Š, in the test set.</li>\n<li>Vowel conversion: your methodology for converting diacritics could be problematic. You have: VOWEL_SUBSCRIPTS = (    \"a2\": \"á\",    \"a3\": \"à\",    \"e2\": \"é\",    \"e3\": \"è\",    \"i2\": \"í\",    \"i3\": \"ì\",    \"u2\": \"ú\",    \"u3\": \"ù\",    \"A2\": \"Á\",    \"A3\": \"À\",    \"E2\": \"É\",    \"E3\": \"È\",    \"I2\": \"Í\",    \"I3\": \"Ì\",    \"U2\": \"Ú\",     \"U3\": \"Ù\",). If these are your only conversion you will end up with errors for the vowel-consonant (VC#), and consonant-vowel-consonant-number (CVC#): (ul3 = ùl, un3 = ùn, šam2 = šám, gan2 = gán, nam2 = nám, muš3 = mùš, tur3 = tùr, gub3 = gùb, aya₂ = áya, etc.)</li>\n</ol>\n<p>Those are the outstanding formatting issues that I can see from your code. For the list of characters in translations and transliterations (in the test) see: <a href=\"https://www.kaggle.com/competitions/deep-past-initiative-machine-translation/discussion/665209#3384200\" target=\"_blank\">https://www.kaggle.com/competitions/deep-past-initiative-machine-translation/discussion/665209#3384200</a></p>",
      "votes": null,
      "replies": [
        {
          "id": 3390991,
          "author_name": "shrenzypanda",
          "author_url": "",
          "post_date": "01/14/2026 08:57:31",
          "content": "<p>Thank you <a href=\"https://www.kaggle.com/deeppast\" target=\"_blank\">@deeppast</a>! I guess fixing these issues might help me get a bump on the public LB.</p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "3389168": "I am posting a helper training notebook, which is built purely on PyTorch, offering greater customizability. It employs multiple data strategies, including bidirectional training data, ASCII to diacritics normalisation, gap normalisation, and sentence-level alignments. I have also added Gradient Accumulation, Early Stopping and WandB logging for convenience, and most of the hyperparameters can be set from the CONFIG class. Feel free to use it, and do let me know if I am missing out on anything. Link to the reference notebook: https://www.kaggle.com/code/shrenzypanda/pytorch-training-nb",
    "3390144": "Hi there, I looked through your code and noticed a couple things worth mentioning:\n\n1. There are no ẓ characters in the test set, so the substitution of ( \"z,\": \"ẓ\", \"Z,\": \"Ẓ\",  \".z\": \"ẓ\", \".Z\": \"Ẓ\") could be problematic, as there are only standard \"z, Z\" characters in the test set.\n2. There are no ḫ Ḫ characters in the test set, so # H variants (\"h,\": \"ḫ\", \"H,\": \"Ḫ\", \".h\": \"ḫ\", \".H\": \"Ḫ\", \"hh\": \"ḫ\", \"HH\": \"Ḫ\") could be problematic, as there are only standard \"h, H\" characters in the test set.\n3. Subscripted numbers for accents only apply for vowels, so   # Subscript numbers (common ASCII alternatives) (\"s2\": \"š\", \"S2\": \"Š\", \"s3\": \"ś\", \"S3\": \"Ś\") could be problematic, as there are only the following sibilants: s, S, ṣ, Ṣ, š, Š, in the test set.\n4. Vowel conversion: your methodology for converting diacritics could be problematic. You have: VOWEL_SUBSCRIPTS = (    \"a2\": \"á\",    \"a3\": \"à\",    \"e2\": \"é\",    \"e3\": \"è\",    \"i2\": \"í\",    \"i3\": \"ì\",    \"u2\": \"ú\",    \"u3\": \"ù\",    \"A2\": \"Á\",    \"A3\": \"À\",    \"E2\": \"É\",    \"E3\": \"È\",    \"I2\": \"Í\",    \"I3\": \"Ì\",    \"U2\": \"Ú\",     \"U3\": \"Ù\",). If these are your only conversion you will end up with errors for the vowel-consonant (VC#), and consonant-vowel-consonant-number (CVC#): (ul3 = ùl, un3 = ùn, šam2 = šám, gan2 = gán, nam2 = nám, muš3 = mùš, tur3 = tùr, gub3 = gùb, aya₂ = áya, etc.)\n\nThose are the outstanding formatting issues that I can see from your code. For the list of characters in translations and transliterations (in the test) see: https://www.kaggle.com/competitions/deep-past-initiative-machine-translation/discussion/665209#3384200",
    "3390991": "Thank you @deeppast! I guess fixing these issues might help me get a bump on the public LB."
  },
  "source": "meta"
}