{
  "id": 395948,
  "title": "ink-id repo",
  "url": "/competitions/vesuvius-challenge-ink-detection/discussion/395948",
  "author_name": "JP Posma",
  "post_date": "2023-03-19T16:54:28.671000",
  "votes": 32,
  "comment_count": 17,
  "views": 0,
  "content": "<p>The original research by Dr Brent Seales' team into ink detection, in particular the work by Stephen Parsons (@stephenrparsons) has led to a program called <a href=\"https://github.com/educelab/ink-id\" target=\"_blank\">ink-id</a>. This might be useful to play around with. We haven't included tutorials for this, since it's a bit involved to set up, but I'll explain the basics here, and perhaps people can contribute notebooks or Pull Requests to the repo to make it easier to set up with Kaggle.</p>\n<ol>\n<li>You first have to turn the surface volume data from Kaggle into a .volpkg (see <a href=\"https://scrollprize.org/tutorial3\" target=\"_blank\">Tutorial 3</a> on our main site).</li>\n<li>You then have to create some .txt and .json files indicating what you're training and predicting on. E.g. see <a href=\"https://github.com/educelab/ink-id/blob/b5dee91d0bb81b15d475a5dd226d42ef908cbc1d/inkid/examples/DummyTest.volpkg/working/DummyTest_grid1x2.txt\" target=\"_blank\">this file</a> and the JSON files it refers to.</li>\n<li>You need a dummy .ppm file that is an identity transformation. You can generate this using a <a href=\"https://github.com/educelab/ink-id/blob/b5dee91d0bb81b15d475a5dd226d42ef908cbc1d/inkid/scripts/generate_surface_volume_ppm.py\" target=\"_blank\">script in the repo</a>.</li>\n</ol>\n<p>I hope this is somewhat useful, and perhaps we can together make it possible to run ink-id in Kaggle. :)</p>",
  "messages": [
    {
      "id": 2188470,
      "postDate": "2023-03-19T16:54:28.670Z",
      "content": "<p>The original research by Dr Brent Seales' team into ink detection, in particular the work by Stephen Parsons (@stephenrparsons) has led to a program called <a href=\"https://github.com/educelab/ink-id\" target=\"_blank\">ink-id</a>. This might be useful to play around with. We haven't included tutorials for this, since it's a bit involved to set up, but I'll explain the basics here, and perhaps people can contribute notebooks or Pull Requests to the repo to make it easier to set up with Kaggle.</p>\n<ol>\n<li>You first have to turn the surface volume data from Kaggle into a .volpkg (see <a href=\"https://scrollprize.org/tutorial3\" target=\"_blank\">Tutorial 3</a> on our main site).</li>\n<li>You then have to create some .txt and .json files indicating what you're training and predicting on. E.g. see <a href=\"https://github.com/educelab/ink-id/blob/b5dee91d0bb81b15d475a5dd226d42ef908cbc1d/inkid/examples/DummyTest.volpkg/working/DummyTest_grid1x2.txt\" target=\"_blank\">this file</a> and the JSON files it refers to.</li>\n<li>You need a dummy .ppm file that is an identity transformation. You can generate this using a <a href=\"https://github.com/educelab/ink-id/blob/b5dee91d0bb81b15d475a5dd226d42ef908cbc1d/inkid/scripts/generate_surface_volume_ppm.py\" target=\"_blank\">script in the repo</a>.</li>\n</ol>\n<p>I hope this is somewhat useful, and perhaps we can together make it possible to run ink-id in Kaggle. :)</p>",
      "rawMarkdown": "The original research by Dr Brent Seales' team into ink detection, in particular the work by Stephen Parsons (@stephenrparsons) has led to a program called [ink-id](https://github.com/educelab/ink-id). This might be useful to play around with. We haven't included tutorials for this, since it's a bit involved to set up, but I'll explain the basics here, and perhaps people can contribute notebooks or Pull Requests to the repo to make it easier to set up with Kaggle.\n\n1. You first have to turn the surface volume data from Kaggle into a .volpkg (see [Tutorial 3](https://scrollprize.org/tutorial3) on our main site).\n2. You then have to create some .txt and .json files indicating what you're training and predicting on. E.g. see [this file](https://github.com/educelab/ink-id/blob/b5dee91d0bb81b15d475a5dd226d42ef908cbc1d/inkid/examples/DummyTest.volpkg/working/DummyTest_grid1x2.txt) and the JSON files it refers to.\n3. You need a dummy .ppm file that is an identity transformation. You can generate this using a [script in the repo](https://github.com/educelab/ink-id/blob/b5dee91d0bb81b15d475a5dd226d42ef908cbc1d/inkid/scripts/generate_surface_volume_ppm.py).\n\nI hope this is somewhat useful, and perhaps we can together make it possible to run ink-id in Kaggle. :)",
      "votes": 32
    },
    {
      "id": 2189943,
      "postDate": "2023-03-20T22:50:14.473Z",
      "content": "<p>Does this repo relate to the LB team <code>ink-id.csv</code>? What is the baseline <code>ink-id.csv</code>? </p>",
      "rawMarkdown": "Does this repo relate to the LB team `ink-id.csv`? What is the baseline `ink-id.csv`? ",
      "votes": 3,
      "replies": [
        {
          "id": 2189948,
          "postDate": "2023-03-20T23:03:13.217Z",
          "content": "<p>Yeah, ink-id.csv is the baseline produced by the ink-id repo.</p>",
          "rawMarkdown": "Yeah, ink-id.csv is the baseline produced by the ink-id repo.",
          "votes": 3,
          "replies": [
            {
              "id": 2196160,
              "postDate": "2023-03-25T07:23:34.783Z",
              "content": "<p>Can you share which ink-id model was used for the baseline?</p>",
              "rawMarkdown": "Can you share which ink-id model was used for the baseline?"
            },
            {
              "id": 2196471,
              "postDate": "2023-03-25T12:43:39.957Z",
              "content": "<p>It's the InkClassifier3DCNN <a href=\"https://github.com/educelab/ink-id/blob/develop/inkid/model/model.py#L536\" target=\"_blank\">https://github.com/educelab/ink-id/blob/develop/inkid/model/model.py#L536</a></p>",
              "rawMarkdown": "It's the InkClassifier3DCNN https://github.com/educelab/ink-id/blob/develop/inkid/model/model.py#L536",
              "votes": 2
            },
            {
              "id": 2208409,
              "postDate": "2023-04-04T03:27:26.200Z",
              "content": "<p>Hi Stephen Parsons, If I only use the model structure InkClassifier3DCNN in ink-id repo with data preprocessing method offered by kaggle notebook, but not create something like .volpkg or .ppm, can I get the baseline score about 0.48 in LB? Thanks !</p>",
              "rawMarkdown": "Hi Stephen Parsons, If I only use the model structure InkClassifier3DCNN in ink-id repo with data preprocessing method offered by kaggle notebook, but not create something like .volpkg or .ppm, can I get the baseline score about 0.48 in LB? Thanks !"
            },
            {
              "id": 2208411,
              "postDate": "2023-04-04T03:29:30.717Z",
              "content": "<p>Now I can only get about 0.2 score using only train/1 dataset.</p>",
              "rawMarkdown": "Now I can only get about 0.2 score using only train/1 dataset."
            }
          ]
        }
      ]
    },
    {
      "id": 2190823,
      "postDate": "2023-03-21T14:11:13.433Z",
      "content": "<p>Thank you for sharing this! Does ink-id give the baseline score of 0.51 when trained and tested on the same data as here on Kaggle? For me, the interpretation of this value depends a lot on whether or not the testing set is contained within the training set (as is the case with the public leaderboard), so I am wondering what is the case for the benchmark result.</p>",
      "rawMarkdown": "Thank you for sharing this! Does ink-id give the baseline score of 0.51 when trained and tested on the same data as here on Kaggle? For me, the interpretation of this value depends a lot on whether or not the testing set is contained within the training set (as is the case with the public leaderboard), so I am wondering what is the case for the benchmark result.",
      "votes": 2,
      "replies": [
        {
          "id": 2191047,
          "postDate": "2023-03-21T16:55:43.667Z",
          "content": "<p>Yes exactly, it gives that result when trained on the same data as here on Kaggle. The test set was not included in the training (that would be cheating 😁).</p>",
          "rawMarkdown": "Yes exactly, it gives that result when trained on the same data as here on Kaggle. The test set was not included in the training (that would be cheating 😁).",
          "replies": [
            {
              "id": 2191427,
              "postDate": "2023-03-22T01:02:21.607Z",
              "content": "<p>Can test data be used for unsupervised/self-supervised pre-training?</p>",
              "rawMarkdown": "Can test data be used for unsupervised/self-supervised pre-training?"
            },
            {
              "id": 2191447,
              "postDate": "2023-03-22T01:30:53.660Z",
              "content": "<p>Yes, but to win we have to be able to reproduce your methods.</p>",
              "rawMarkdown": "Yes, but to win we have to be able to reproduce your methods.",
              "votes": 2
            }
          ]
        }
      ]
    },
    {
      "id": 2190182,
      "postDate": "2023-03-21T05:04:35.680Z",
      "content": "<p>A healthy competition to start with. Thanks <a href=\"https://www.kaggle.com/jpposma\" target=\"_blank\">@jpposma</a> </p>",
      "rawMarkdown": "A healthy competition to start with. Thanks @jpposma ",
      "votes": 2
    },
    {
      "id": 2205127,
      "postDate": "2023-04-01T09:10:53.800Z",
      "content": "<p>I am setting up an environment on Kaggle, but I cannot run the Ink-id program because I cannot change the Python version to 3.8 on Kaggle Notebook. Do you know how to change the Python version to 3.8 on Kaggle Notebook?</p>",
      "rawMarkdown": "I am setting up an environment on Kaggle, but I cannot run the Ink-id program because I cannot change the Python version to 3.8 on Kaggle Notebook. Do you know how to change the Python version to 3.8 on Kaggle Notebook?",
      "replies": [
        {
          "id": 2205478,
          "postDate": "2023-04-01T15:49:03.417Z",
          "content": "<p>I'm not sure, perhaps someone else knows.</p>\n<p>But since we haven't spent time trying to get ink-id to run in a Kaggle notebook, there's a good chance you'll have to make modifications to the program to make it compatible.</p>",
          "rawMarkdown": "I'm not sure, perhaps someone else knows.\n\nBut since we haven't spent time trying to get ink-id to run in a Kaggle notebook, there's a good chance you'll have to make modifications to the program to make it compatible.",
          "votes": 1,
          "replies": [
            {
              "id": 2206255,
              "postDate": "2023-04-02T12:43:50.533Z",
              "rawMarkdown": "",
              "isDeleted": true
            }
          ]
        },
        {
          "id": 2206257,
          "postDate": "2023-04-02T12:44:18.477Z",
          "content": "<p>How about this notebook?<br>\n<a href=\"https://www.kaggle.com/code/taylorsamarel/change-python-version-on-kaggle-taylor-amarel/notebook\" target=\"_blank\">https://www.kaggle.com/code/taylorsamarel/change-python-version-on-kaggle-taylor-amarel/notebook</a></p>",
          "rawMarkdown": "How about this notebook?\nhttps://www.kaggle.com/code/taylorsamarel/change-python-version-on-kaggle-taylor-amarel/notebook",
          "votes": 1
        },
        {
          "id": 2209256,
          "postDate": "2023-04-04T15:18:04.313Z",
          "content": "<p>you can fork the ink-id github repo and change the file <strong>setup.cfg</strong> from <code>python_requires = &gt;=3.8</code> to <code>python_requires = &gt;=3.7</code></p>",
          "rawMarkdown": "you can fork the ink-id github repo and change the file **setup.cfg** from `python_requires = >=3.8` to `python_requires = >=3.7`",
          "votes": 1
        }
      ]
    },
    {
      "id": 2205298,
      "postDate": "2023-04-01T12:09:44.783Z",
      "rawMarkdown": "",
      "isDeleted": true
    }
  ],
  "comments": [
    {
      "id": 2189943,
      "author_name": "Chris Deotte",
      "author_url": "",
      "post_date": "2023-03-20T22:50:14.473000",
      "content": "<p>Does this repo relate to the LB team <code>ink-id.csv</code>? What is the baseline <code>ink-id.csv</code>? </p>",
      "votes": 3,
      "replies": [
        {
          "id": 2189948,
          "author_name": "JP Posma",
          "author_url": "",
          "post_date": "2023-03-20T23:03:13.217000",
          "content": "<p>Yeah, ink-id.csv is the baseline produced by the ink-id repo.</p>",
          "votes": 3,
          "replies": [
            {
              "id": 2196160,
              "author_name": "Peleg Shilo",
              "author_url": "",
              "post_date": "2023-03-25T07:23:34.783000",
              "content": "<p>Can you share which ink-id model was used for the baseline?</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 2196471,
              "author_name": "Stephen Parsons",
              "author_url": "",
              "post_date": "2023-03-25T12:43:39.957000",
              "content": "<p>It's the InkClassifier3DCNN <a href=\"https://github.com/educelab/ink-id/blob/develop/inkid/model/model.py#L536\" target=\"_blank\">https://github.com/educelab/ink-id/blob/develop/inkid/model/model.py#L536</a></p>",
              "votes": 2,
              "replies": []
            },
            {
              "id": 2208409,
              "author_name": "clwclw",
              "author_url": "",
              "post_date": "2023-04-04T03:27:26.200000",
              "content": "<p>Hi Stephen Parsons, If I only use the model structure InkClassifier3DCNN in ink-id repo with data preprocessing method offered by kaggle notebook, but not create something like .volpkg or .ppm, can I get the baseline score about 0.48 in LB? Thanks !</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 2208411,
              "author_name": "clwclw",
              "author_url": "",
              "post_date": "2023-04-04T03:29:30.717000",
              "content": "<p>Now I can only get about 0.2 score using only train/1 dataset.</p>",
              "votes": 0,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 2190823,
      "author_name": "Sasha Fedchin",
      "author_url": "",
      "post_date": "2023-03-21T14:11:13.433000",
      "content": "<p>Thank you for sharing this! Does ink-id give the baseline score of 0.51 when trained and tested on the same data as here on Kaggle? For me, the interpretation of this value depends a lot on whether or not the testing set is contained within the training set (as is the case with the public leaderboard), so I am wondering what is the case for the benchmark result.</p>",
      "votes": 2,
      "replies": [
        {
          "id": 2191047,
          "author_name": "JP Posma",
          "author_url": "",
          "post_date": "2023-03-21T16:55:43.667000",
          "content": "<p>Yes exactly, it gives that result when trained on the same data as here on Kaggle. The test set was not included in the training (that would be cheating 😁).</p>",
          "votes": 0,
          "replies": [
            {
              "id": 2191427,
              "author_name": "Sid",
              "author_url": "",
              "post_date": "2023-03-22T01:02:21.607000",
              "content": "<p>Can test data be used for unsupervised/self-supervised pre-training?</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 2191447,
              "author_name": "JP Posma",
              "author_url": "",
              "post_date": "2023-03-22T01:30:53.660000",
              "content": "<p>Yes, but to win we have to be able to reproduce your methods.</p>",
              "votes": 2,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 2190182,
      "author_name": "Tariq Mahmood",
      "author_url": "",
      "post_date": "2023-03-21T05:04:35.680000",
      "content": "<p>A healthy competition to start with. Thanks <a href=\"https://www.kaggle.com/jpposma\" target=\"_blank\">@jpposma</a> </p>",
      "votes": 2,
      "replies": []
    },
    {
      "id": 2205127,
      "author_name": "Muj!rush!",
      "author_url": "",
      "post_date": "2023-04-01T09:10:53.800000",
      "content": "<p>I am setting up an environment on Kaggle, but I cannot run the Ink-id program because I cannot change the Python version to 3.8 on Kaggle Notebook. Do you know how to change the Python version to 3.8 on Kaggle Notebook?</p>",
      "votes": 0,
      "replies": [
        {
          "id": 2205478,
          "author_name": "JP Posma",
          "author_url": "",
          "post_date": "2023-04-01T15:49:03.417000",
          "content": "<p>I'm not sure, perhaps someone else knows.</p>\n<p>But since we haven't spent time trying to get ink-id to run in a Kaggle notebook, there's a good chance you'll have to make modifications to the program to make it compatible.</p>",
          "votes": 1,
          "replies": [
            {
              "id": 2206255,
              "author_name": "",
              "author_url": "",
              "post_date": "2023-04-02T12:43:50.533000",
              "content": "",
              "votes": 0,
              "replies": []
            }
          ]
        },
        {
          "id": 2206257,
          "author_name": "tbt",
          "author_url": "",
          "post_date": "2023-04-02T12:44:18.477000",
          "content": "<p>How about this notebook?<br>\n<a href=\"https://www.kaggle.com/code/taylorsamarel/change-python-version-on-kaggle-taylor-amarel/notebook\" target=\"_blank\">https://www.kaggle.com/code/taylorsamarel/change-python-version-on-kaggle-taylor-amarel/notebook</a></p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 2209256,
          "author_name": "ZILALI Anas",
          "author_url": "",
          "post_date": "2023-04-04T15:18:04.313000",
          "content": "<p>you can fork the ink-id github repo and change the file <strong>setup.cfg</strong> from <code>python_requires = &gt;=3.8</code> to <code>python_requires = &gt;=3.7</code></p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 2205298,
      "author_name": "",
      "author_url": "",
      "post_date": "2023-04-01T12:09:44.783000",
      "content": "",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "2188470": "The original research by Dr Brent Seales' team into ink detection, in particular the work by Stephen Parsons (@stephenrparsons) has led to a program called [ink-id](https://github.com/educelab/ink-id). This might be useful to play around with. We haven't included tutorials for this, since it's a bit involved to set up, but I'll explain the basics here, and perhaps people can contribute notebooks or Pull Requests to the repo to make it easier to set up with Kaggle.\n\n1. You first have to turn the surface volume data from Kaggle into a .volpkg (see [Tutorial 3](https://scrollprize.org/tutorial3) on our main site).\n2. You then have to create some .txt and .json files indicating what you're training and predicting on. E.g. see [this file](https://github.com/educelab/ink-id/blob/b5dee91d0bb81b15d475a5dd226d42ef908cbc1d/inkid/examples/DummyTest.volpkg/working/DummyTest_grid1x2.txt) and the JSON files it refers to.\n3. You need a dummy .ppm file that is an identity transformation. You can generate this using a [script in the repo](https://github.com/educelab/ink-id/blob/b5dee91d0bb81b15d475a5dd226d42ef908cbc1d/inkid/scripts/generate_surface_volume_ppm.py).\n\nI hope this is somewhat useful, and perhaps we can together make it possible to run ink-id in Kaggle. :)",
    "2189943": "Does this repo relate to the LB team `ink-id.csv`? What is the baseline `ink-id.csv`? ",
    "2190823": "Thank you for sharing this! Does ink-id give the baseline score of 0.51 when trained and tested on the same data as here on Kaggle? For me, the interpretation of this value depends a lot on whether or not the testing set is contained within the training set (as is the case with the public leaderboard), so I am wondering what is the case for the benchmark result.",
    "2190182": "A healthy competition to start with. Thanks @jpposma ",
    "2205127": "I am setting up an environment on Kaggle, but I cannot run the Ink-id program because I cannot change the Python version to 3.8 on Kaggle Notebook. Do you know how to change the Python version to 3.8 on Kaggle Notebook?",
    "2205298": ""
  }
}