'Add a single standard convolutional layer.
Args:
prev_layer: Input tensor.
index:      Position in model_str to start parsing
Returns:
Output tensor, end index in model_str.'

def AddConvLayer(self, prev_layer, index):

    pattern = re.compile('(C)(s|t|r|l|m)({\\w+})?(\\d+),(\\d+),(\\d+)')
    m = pattern.match(self.model_str, index)
    if (m is None):
        return (None, None)
    name = self._GetLayerName(m.group(0), index, m.group(3))
    width = int(m.group(4))
    height = int(m.group(5))
    depth = int(m.group(6))
    fn = self._NonLinearity(m.group(2))
    return (slim.conv2d(prev_layer, depth, [height, width], activation_fn=fn, scope=name), m.end())
