parameters: (self, bgr, train=False, num_classes=20, random_init_fc8=False,
                debug=False)
docstring: Build the VGG model using loaded weights
          Parameters
          ----------
          rgb: image batch tensor
              Image in rgb shap. Scaled to Intervall [0, 255]
          train: bool
              Whether to build train or inference graph
          num_classes: int
              How many classes should be predicted (by fc8)
          random_init_fc8 : bool
              Whether to initialize fc8 layer randomly.
              Finetuning is required in this case.
          debug: bool
              Whether to print additional Debug Information.
docstring_summary: Build the VGG model using loaded weights
          Parameters
          ----------
          rgb: image batch tensor
              Image in rgb shap. Scaled to Intervall [0, 255]
          train: bool
              Whether to build train or inference graph
          num_classes: int
              How many classes should be predicted (by fc8)
          random_init_fc8 : bool
              Whether to initialize fc8 layer randomly.
              Finetuning is required in this case.
          debug: bool
              Whether to print additional Debug Information.
docstring_tokens: Build the VGG model using loaded weights Parameters ---------- rgb : image batch tensor Image in rgb shap . Scaled to Intervall [ 0 255 ] train : bool Whether to build train or inference graph num_classes : int How many classes should be predicted ( by fc8 ) random_init_fc8 : bool Whether to initialize fc8 layer randomly . Finetuning is required in this case . debug : bool Whether to print additional Debug Information .
function: def build(self, bgr, train=False, num_classes=20, random_init_fc8=False,
                debug=False):
          """
          Build the VGG model using loaded weights
          Parameters
          ----------
          rgb: image batch tensor
              Image in rgb shap. Scaled to Intervall [0, 255]
          train: bool
              Whether to build train or inference graph
          num_classes: int
              How many classes should be predicted (by fc8)
          random_init_fc8 : bool
              Whether to initialize fc8 layer randomly.
              Finetuning is required in this case.
          debug: bool
              Whether to print additional Debug Information.
          """
  
          self.conv1_1 = self._conv_layer(bgr, "conv1_1")
          self.conv1_2 = self._conv_layer(self.conv1_1, "conv1_2")
          self.pool1 = self._max_pool(self.conv1_2, 'pool1', debug)
  
          self.conv2_1 = self._conv_layer(self.pool1, "conv2_1")
          self.conv2_2 = self._conv_layer(self.conv2_1, "conv2_2")
          self.pool2 = self._max_pool(self.conv2_2, 'pool2', debug)
  
          self.conv3_1 = self._conv_layer(self.pool2, "conv3_1")
          self.conv3_2 = self._conv_layer(self.conv3_1, "conv3_2")
          self.conv3_3 = self._conv_layer(self.conv3_2, "conv3_3")
          self.pool3 = self._max_pool(self.conv3_3, 'pool3', debug)
  
          self.conv4_1 = self._conv_layer(self.pool3, "conv4_1")
          self.conv4_2 = self._conv_layer(self.conv4_1, "conv4_2")
          self.conv4_3 = self._conv_layer(self.conv4_2, "conv4_3")
          self.pool4 = self._max_pool(self.conv4_3, 'pool4', debug)
  
          self.conv5_1 = self._conv_layer(self.pool4, "conv5_1")
          self.conv5_2 = self._conv_layer(self.conv5_1, "conv5_2")
          self.conv5_3 = self._conv_layer(self.conv5_2, "conv5_3")
          self.pool5 = self._max_pool(self.conv5_3, 'pool5', debug)
  
          self.fc6 = self._fc_layer(self.pool5, "fc6")
  
          if train:
              self.fc6 = tf.nn.dropout(self.fc6, 0.5)
  
          self.fc7 = self._fc_layer(self.fc6, "fc7")
          if train:
              self.fc7 = tf.nn.dropout(self.fc7, 0.5)
  
          if random_init_fc8:
              self.score_fr = self._score_layer(self.fc7, "score_fr",
                                                num_classes)
          else:
              self.score_fr = self._fc_layer(self.fc7, "score_fr",
                                             num_classes=num_classes,
                                             relu=False)
  
          self.pred = tf.argmax(self.score_fr, dimension=3)
  
          self.upscore2 = self._upscore_layer(self.score_fr,
                                              shape=tf.shape(self.pool4),
                                              num_classes=num_classes,
                                              debug=debug, name='upscore2',
                                              ksize=4, stride=2)
          self.score_pool4 = self._score_layer(self.pool4, "score_pool4",
                                               num_classes=num_classes)
          self.fuse_pool4 = tf.add(self.upscore2, self.score_pool4)
  
          self.upscore4 = self._upscore_layer(self.fuse_pool4,
                                              shape=tf.shape(self.pool3),
                                              num_classes=num_classes,
                                              debug=debug, name='upscore4',
                                              ksize=4, stride=2)
          self.score_pool3 = self._score_layer(self.pool3, "score_pool3",
                                               num_classes=num_classes)
          self.fuse_pool3 = tf.add(self.upscore4, self.score_pool3)
  
          self.upscore32 = self._upscore_layer(self.fuse_pool3,
                                               shape=tf.shape(bgr),
                                               num_classes=num_classes,
                                               debug=debug, name='upscore32',
                                               ksize=16, stride=8)
  
          self.prob = self._log_softmax_high_dimension(self.upscore32, num_classes, name='prob')
  
          self.label_2d = tf.argmax(self.prob, dimension=3)
function_tokens: def build ( self , bgr , train = False , num_classes = 20 , random_init_fc8 = False , debug = False ) : self . conv1_1 = self . _conv_layer ( bgr , "conv1_1" ) self . conv1_2 = self . _conv_layer ( self . conv1_1 , "conv1_2" ) self . pool1 = self . _max_pool ( self . conv1_2 , 'pool1' , debug ) self . conv2_1 = self . _conv_layer ( self . pool1 , "conv2_1" ) self . conv2_2 = self . _conv_layer ( self . conv2_1 , "conv2_2" ) self . pool2 = self . _max_pool ( self . conv2_2 , 'pool2' , debug ) self . conv3_1 = self . _conv_layer ( self . pool2 , "conv3_1" ) self . conv3_2 = self . _conv_layer ( self . conv3_1 , "conv3_2" ) self . conv3_3 = self . _conv_layer ( self . conv3_2 , "conv3_3" ) self . pool3 = self . _max_pool ( self . conv3_3 , 'pool3' , debug ) self . conv4_1 = self . _conv_layer ( self . pool3 , "conv4_1" ) self . conv4_2 = self . _conv_layer ( self . conv4_1 , "conv4_2" ) self . conv4_3 = self . _conv_layer ( self . conv4_2 , "conv4_3" ) self . pool4 = self . _max_pool ( self . conv4_3 , 'pool4' , debug ) self . conv5_1 = self . _conv_layer ( self . pool4 , "conv5_1" ) self . conv5_2 = self . _conv_layer ( self . conv5_1 , "conv5_2" ) self . conv5_3 = self . _conv_layer ( self . conv5_2 , "conv5_3" ) self . pool5 = self . _max_pool ( self . conv5_3 , 'pool5' , debug ) self . fc6 = self . _fc_layer ( self . pool5 , "fc6" ) if train : self . fc6 = tf . nn . dropout ( self . fc6 , 0.5 ) self . fc7 = self . _fc_layer ( self . fc6 , "fc7" ) if train : self . fc7 = tf . nn . dropout ( self . fc7 , 0.5 ) if random_init_fc8 : self . score_fr = self . _score_layer ( self . fc7 , "score_fr" , num_classes ) else : self . score_fr = self . _fc_layer ( self . fc7 , "score_fr" , num_classes = num_classes , relu = False ) self . pred = tf . argmax ( self . score_fr , dimension = 3 ) self . upscore2 = self . _upscore_layer ( self . score_fr , shape = tf . shape ( self . pool4 ) , num_classes = num_classes , debug = debug , name = 'upscore2' , ksize = 4 , stride = 2 ) self . score_pool4 = self . _score_layer ( self . pool4 , "score_pool4" , num_classes = num_classes ) self . fuse_pool4 = tf . add ( self . upscore2 , self . score_pool4 ) self . upscore4 = self . _upscore_layer ( self . fuse_pool4 , shape = tf . shape ( self . pool3 ) , num_classes = num_classes , debug = debug , name = 'upscore4' , ksize = 4 , stride = 2 ) self . score_pool3 = self . _score_layer ( self . pool3 , "score_pool3" , num_classes = num_classes ) self . fuse_pool3 = tf . add ( self . upscore4 , self . score_pool3 ) self . upscore32 = self . _upscore_layer ( self . fuse_pool3 , shape = tf . shape ( bgr ) , num_classes = num_classes , debug = debug , name = 'upscore32' , ksize = 16 , stride = 8 ) self . prob = self . _log_softmax_high_dimension ( self . upscore32 , num_classes , name = 'prob' ) self . label_2d = tf . argmax ( self . prob , dimension = 3 )