Skip to content

Tutorial: Creating your own Deepgrow App

Vishwesh edited this page Jun 27, 2021 · 19 revisions

The simplest way to start off creating your own app is to clone a copy of any one of the sample-apps and then edit your way through. The below article will cover guidelines on what to modify for a smooth app creation experience.

We will be using the Deepgrow Spleen App as an example.

Line 20-39: These define the network structure and download a set of pre-trained weights for good initialization for training. They can be disabled by commenting out Line 67: resources = [(self.data[k]["path"][0], self.data[k]["url"]) for k in self.data.keys()]

However, we recommend to not disable it as a set of pre-trained weights allows for faster training, quicker convergence and better performance.

DeepGrow specific hyper-parameters

Model Input Size

Both the models Deepgrow 2D & 3D have a specific input model size. For CT, Deepgrow 2D is not known have any effects with the model input size yet if the user wants they can modify it as per their need on Line 57.

For Deepgrow 3D a similar modification can be made at Line 45: model_size=(128, 192, 192). The performance of Deepgrow 3D can moderately depend upon the input size, a smaller size is viable for smaller organs and a larger size for bigger organs such as Liver etc.

Number of Clicks/Guidance points

Deepgrow specific hyper-parameters can be found at Lines 110 and 111: max_train_interactions=15, max_val_interactions=20,

The training process of Deepgrow is dependent upon the number of clicks or positive & negative guidance points that are provided in a training pair sample before the deep learning model takes a complete step of forward-backward pass. Performance of it has been shown to be optimal for 10-20 clicks in Sakinis et. al. We do not recommend manual tuning of this parameter.

Clone this wiki locally