code: def pygpu_parse_version(version_string):
      from collections import namedtuple
  
      version_type = namedtuple(
          "version_type", ("major", "minor", "patch", "fullversion")
      )
      pieces = version_string.split(".", 2)
      assert len(pieces) == 3, version_string
      major = int(pieces[0])
      minor = int(pieces[1])
      if "+" in pieces[2]:  # It contain a git commit.
          patch = int(pieces[2].split("+", 1)[0])
      else:  # Maybe it end with .devN
          patch = int(pieces[2].split(".", 1)[0])
      fullversion = "%d.%d.%s" % (major, minor, pieces[2])
      return version_type(
          major=major, minor=minor, patch=patch, fullversion=fullversion
      )
  
file_path: Theano/theano/gpuarray/__init__.py
imports: from __future__ import absolute_import, print_function, division
  import sys
  import os
  import logging
  import warnings
  import theano
  from theano import config
  from theano.compile import optdb
  from theano.tensor.basic import register_transfer
  from .type import GpuArrayType, GpuArrayVariable, GpuArrayConstant, GpuArraySharedVariable, gpuarray_shared_constructor, reg_context, get_context, ContextNotDefined
  from .basic_ops import as_gpuarray_variable
  from .None import fft, dnn, opt, extra_ops, multinomial, reduction, sort, rng_mrg, ctc
label_desc: Use image node_id 2 for calling a global function with example usage: pygpu_parse_version(version_string) and returns: version_type