  cuDNN: https://developer.nvidia.com/rdp/cudnn-download
  """)
  
  # only invoked in linux
  def Check_cuDNN():
      a=os.popen("ldconfig -p | grep -P -o \"libcudnn.so.\d\" | head -n 1")
      libcudnn = a.read()
      if LD_LIBRARY_PATH and not libcudnn:
          paths = LD_LIBRARY_PATH.split(":")
          for path in paths:
              a = os.popen("ls {} | grep -P -o \"libcudnn.so.\d\" | head -n 1".format(path))
              libcudnn = a.read()
 
</s> remove             a = os.popen("ls {} | grep -P -o \"libcudnn.so.\d\" | head -n 1".format(path))
            libcudnn = a.read()
 </s> add             chk = os.popen("ls {} | grep -P -o \"libcudnn.so.\d\" | "
                           "head -n 1".format(path))
            libcudnn = chk.read() </s> remove def Check_CUDA():
    global CUDA_Version
    a=os.popen("ldconfig -p | grep -P -o \"libcudart.so.\d.\d\" | head -n 1")
    libcudart = a.read()
 </s> add def check_cuda():
    """ Check CUDA Version """
    global CUDA_VERSION
    chk = os.popen("ldconfig -p | grep -P -o \"libcudart.so.\d+.\d+\" | "
                   "head -n 1")
    libcudart = chk.read() </s> remove             a = os.popen("ls {} | grep -P -o \"libcudart.so.\d.\d\" | head -n 1".format(path))
            libcudart = a.read()
 </s> add             chk = os.popen("ls {} | grep -P -o \"libcudart.so.\d+.\d+\" | "
                           "head -n 1".format(path))
            libcudart = chk.read() </s> remove         CUDA_Version = libcudart[13:].rstrip()
        if CUDA_Version:
            INFO("CUDA version: " + CUDA_Version)
 </s> add         CUDA_VERSION = libcudart[13:].rstrip()
        if CUDA_VERSION:
            out_info("CUDA version: " + CUDA_VERSION) </s> remove             INFO("cuDNN version: " + cudnn_version)
 </s> add             out_info("cuDNN version: " + cudnn_version)
def check_cudnn():
    """ Check cuDNN Version """
    chk = os.popen("ldconfig -p | grep -P -o \"libcudnn.so.\d\" | head -n 1")
    libcudnn = chk.read()
  cuDNN: https://developer.nvidia.com/rdp/cudnn-download
  """)
  
  # only invoked in linux
def check_cudnn():
    """ Check cuDNN Version """
    chk = os.popen("ldconfig -p | grep -P -o \"libcudnn.so.\d\" | head -n 1")
    libcudnn = chk.read()
def check_cudnn():
    """ Check cuDNN Version """
    chk = os.popen("ldconfig -p | grep -P -o \"libcudnn.so.\d\" | head -n 1")
    libcudnn = chk.read()
def check_cudnn():
    """ Check cuDNN Version """
    chk = os.popen("ldconfig -p | grep -P -o \"libcudnn.so.\d\" | head -n 1")
    libcudnn = chk.read()
      if LD_LIBRARY_PATH and not libcudnn:
          paths = LD_LIBRARY_PATH.split(":")
          for path in paths:
              a = os.popen("ls {} | grep -P -o \"libcudnn.so.\d\" | head -n 1".format(path))
              libcudnn = a.read()
keep keep keep keep replace replace replace keep keep keep keep keep
 Extraction - Speed improvements (#522) (#523)

* Extraction - Speed improvements (#522)

* Initial Plugin restructure

* Detectors to plugins. Detector speed improvements

* Re-implement dlib aligner, remove models, FAN to TF. Parallel processing

* Update manual, update convert, implement parallel/serial switching

* linting + fix cuda check (setup.py). requirements update keras 2.2.4

* Add extract size option. Fix dlib hog init

* GUI: Increase tooltip width

* Update alignment tool to support new DetectedFace

* Add skip existing faces option

* Fix sort tool to new plugin structure

* remove old align plugin

* fix convert -skip faces bug

* Fix convert skipping no faces frames

* Convert - draw onto transparent layer

* Fix blur threshold bug

* fix skip_faces convert bug

* Fix training 
setup.py