Git Product home page Git Product logo

Comments (3)

ellisdg avatar ellisdg commented on August 21, 2024

Hi @shu-hai,

I trained it for a week or so and I was able to get up to 0.8, I believe. If the validation score doesn't seem to be improving, you could try increasing the learning rate. You could also try turning off the data augmentation. This was a setting I experimented with to try and prevent the network from over-fitting to the small dataset. Also, 15 epochs isn't very much since the dataset is so small. You could also just wait a bit longer and see if the validation score improves.

Since the model and training/validation splits are all saved to file, you can start and restart the training as much as you like while playing around with the settings.

I got busy, so I haven't looked at it for a couple months. I was hoping to revisit it later as 0.8 isn't very good. From the papers that I have read, the people who are most successful with the brain image segmentation seem to do the training/segmentation in patches. That is they will split up the image into smaller images so that the CNN can then use a smaller amount of memory and train quicker on a graphics card. This allows them to tweak the settings and get feedback a lot quicker than training on a CPU. So splitting up the dataset into patches might be something to try.

Let me know what changes and settings work best for you. If you are able to get stellar scores using any part of this code, be sure to include a link to the code in the submission.

from 3dunetcnn.

shu-hai avatar shu-hai commented on August 21, 2024

Hi, @ellisdg,
I am a little confused about the "dice_coef" function. The label for the infant segmentation has three labels {10,150,250}. Is the function OK for multiple labels? I think the dice_coef is for binary labels.

from 3dunetcnn.

ellisdg avatar ellisdg commented on August 21, 2024

The labels (10, 150, 250) are binary labels. Each of the labels represents a different type of tissue. Any type of label is by definition a binary label. Either it has that label or it does not.

A 1X5 image with labels:
[ 250 250 10 150 150 ]

Could also be represented as a 3X5 binary matrix:
[ 0 0 1 0 0 ]
[ 0 0 0 1 1 ]
[ 1 1 0 0 0 ]

By feeding the above matrix into the training, we are teaching the CNN to detect each label.

from 3dunetcnn.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.