Closed RayJkl closed 6 years ago
Hi @RayJkl. I allow to include the GT when testing to automatically report the metrics from the results(in this case DICE). This GT is therefore only used once the segmentation is done, it has nothing to do with sampling during testing. If you want to use a trained model in an image without corresponding GT, a straightforward solution would be to include a fake GT, with all its values to 0, for example,and ignore the metrics.
Jose
Hi @josedolz , thanks for the reply! I also keep getting this TypeError issue which prevents me from using GPU for training. Even when I solved one another one shows up. Thanks!
THEANO_FLAGS='floatX=float32' python ./networkTraining.py ./LiviaNET_Config.ini 0
Yes I've also run this script but everything seemed to run on CPU since then (GPU is not used at all).
Hi @josedolz , another questions is that the model doesn't seem to generalize well on other similar datasets (even if I have got around 90% on the training set). Do you think that the absence of pooling layers caused such overfitting issue? (since there may be too many parameters involved)
Hi, sorry for my late answer, I am quite busy these days.
Let's see. For the TypeError problem I experienced it when running on CPU and in some computers, but it never happened to me in GPU. I will investigate it a bit, but I think this has more to do with your local configuration of Theano.
The second question is more difficult to answer without having more details. I think that generalization problem is more a general problem rather than a specific model-related issue, particularly if testing data varies a lot from training data. Adding pooling layers will simply allow you to increase the receptive field, but there will not be more parameters involved, unless you change the conv kernels. With that you simply reduce the dimensionality of the feature maps, not the number of trainable parameters. Can you give me more details about the data used for training and testing? From our experience we see that the model generalizes well and on different applications. In the paper included in this repository we were able to segment images from 17 different hospitals with different MRIs, only training with subjects from few sites. Furthermore, we have made some modifications to this network and successfully participated in some challenges involving other segmentation problems (such as brain tissue segmentation).
Jose.
Hi @josedolz , thanks very much for the help! I have sent one image from my testing set and one from the training set to your email address. I very much hope to put this model into practice. Thank you!
For running on GPU, did you set something like this? THEANO_FLAGS=device=cuda0 python XXXX.py
Hi @josedolz , thanks for the nice work. I don't understand why the ground truth has to also be provided when testing (not validating) a model (in LiviaNET_Segmentation.ini). It looks like that they are used for obtaining coordinates for sampling but is that necessary (in sampling.py)? How can I use the trained model to segment an unseen image without ground truth?