27 Ekim 2018 Cumartesi

Dlib (Python) Kütüphanesinin Windows'a Kurulumu

Dlib (Python) Kütüphanesinin Windows'a Kurulumu


Dlib yapay öğrenme - makine öğrenmesi (machine learning) algoritmalarını içeren C++ kütüphanesidir ve günlük hayatımızda karşılaştığımız problemleri çözmek için kullanabileceğimiz kompleks yazılımlar geliştirebileceğimiz bir araçtır. Yüz tanıma (face recognition), yüz tespiti (face detection), yüz modelleme (facial landmarks) gibi uygulamaları Dlib kütüphanesi ile kolayca geliştirebilirsiniz. Dlib C++ programlama dili ile kullanılan bir araç olmasının yanında Python programlama dili ile de kullanılabilmektedir. Python ile kullanmak için kurulumunuzu ona göre yapmanız gerekmektedir. Bu yazımda Python dili için kurulum yapılacaktır. Dlib kütüphanesinin C++ programlama dili için Windows'a kurulumu ve Ubuntu'ya kurulumu yazılarımı takip edebilirsiniz. Ayrıca Dlib kütüphanesinin Python programlama dili için Ubuntuya Kurulumu yazımı da inceleyebilirsiniz. Linux işletim sistemlerinde, Python kurulu gelmektedir ancak Windows için Python kurulumunu sizin yapmanız gerekmektedir. Python Windows Kurulumu yaptıktan sonra Python programlama dili için Dlib kurulumuna geçebilirsiniz. Burada 2 farklı kurulum yapacağız. Siz uygun olanını seçerek istediğiniz yöntem ile kurulumu gerçekleştirebilirsiniz.
Kurulumu Python Sanal ortamına virtualenvwrapper kullanarak yapacağız. Neden sanal ortama ihtiyaç duyduğumuzu ve sanal ortam (virtualenv-virtualenvwrapper) kurulumu için ilgili yazıma bakabilirsiniz. Python Sanal Ortam (virtualenv-virtualenvwrapper) Kurulumu
Aşağıdaki adımları takip ederek Windows işletim sisteminize Python programlama dili için Dlib kurulumunu yapabilir ve uygulama geliştirebilirsiniz.



1. pip Komutu ile Kurulum


Adım 1.1.
PyPI sitesinden dlib kütüphanesi için hangi Python kütüphaneleri ile uyumlu olduğunu kontrol ettikten sonra yeni bir terminal açıp aşağıdaki komutu çalıştırarak yeni bir Python3 sanal ortamı oluşturuyoruz.


mkvirtualenv dlib_1 -p python




Burada sanal ortamınıza istediğiniz ismi verebilirsiniz, ben dlib_1 ismini kullandım. Oluşturduğunuz sanal ortamdan deactivate komutuyla çıkabilir ve workon komutuyla tekrar oluşturduğunuz sanal ortama giriş yapabilirsiniz.


Adım 1.2.
Dlib için oluşturduğumuz yeni ortam içerisindeyken aşağıdaki komut çalıştırılarak Python programlama dili için Dlib kurulumu gerçekleştirilir.


pip install dlib




Adım 1.3.
Son aşamada kurulumun başarılı olup olmadığının test edilmesi var. Sanal ortamınıza kurulan paketleri lssitepackages komutunu çalıştırarak görebilirsiniz. Bu komutu çalıştırdığımızda dlib kütüphanesinin kurulu olduğunu görüyoruz. Ancak emin olmak için Python ortamına geçiş yapıp dlib kütüphanesini koda eklemek (import etmek) gerekiyor. Eğer hata almıyorsak kurulum başarılıdır. Ayrıca aşağıdaki komutu çalıştırarak hangi dlib versiyonunu kullandığınızı öğrenebilirsiniz.


1
2
import dlib
dlib.__version__



2. Kaynak Kodlarından cmake ile Kurulum


Adım 2.1.
Kurulum için cmake-gui'den faydalanacağız. Öncelikle sitesinden işletim sisteminizin 32 bit ya da 64 bit olmasına göre .zip uzantılı cmake dosyası indirilir. İndirilen skıştırılmış dosya çıkarılır ve klasörün bulunduğu yolu Ortam değişkenlerine (Environmental Variables) eklenir. Cmake için kurulum gerekmez. Tek yapmanız gereken ilgili dosyayı indirip, çıkartmak ve dosya yolunu ortam değişkenlerine eklemek.




Adım 2.2.
Dlib kütüphanesinin en son yayınlanan versiyonu sitesinden indirilir (Bu yazıda 19.16 versiyonu indirildi). Dlib, hızlı gelişim gösteren bir kütüphane olduğunda sürekli yeni versiyonları çıkmaktadır.


Adım 2.3.
İndirilen sıkıştırılmış dosya (dlib-19.16.zip) çıkarılır.


Adım 2.4.
İlk yöntemde olduğu gibi yine kurulumu Python sanal ortama yapacağız. Adım 1.1'e bakabilirsiniz. Aşağıdaki komutu çalıştırarak yeni sanal ortam oluşturuyoruz.


mkvirtualenv dlib_2 -p python



Adım 2.5.
Sanal ortam içerisindeyken indirmiş olduğumuz dlib klasörüne (dlib-19.16) geçiş yapılır ve aşağıdaki komut çalıştırılır.


python setup.py install





Adım 2.6.
Bu komutu çalıştırdıktan sonra konfigürasyon işlemi başlayacaktır. Konfigurasyon işlemi sırasında Dlib kütüphanesi ile kullanılabilecek diğer araçların bilgisayarınızda kurulu olup olmadığına bakılır ve sonunda size bunlar hakkında bilgiler verir. Bu kısım aslında çok detaylı bilgiler içermektedir ve hepsini tek tek açıklamak mümkün değildir. Şu an konfigurasyona dahil edilmeyen ancak ileride Dlib kütüphanesinin bir modülünü kullanmak istediğinizde bir takım eksik araçlardan kaynaklanan hatalar aldıkça hangi araçlara nerede ne zaman ihtiyaç duyacağınızı daha iyi anlayacaksınız. pip ile kurulum yaptığımızda kurulumun detaylarına hakim değildik. Ancak bu yöntem ile kurulumun hangi araçları kullanarak yaptığı hakkında detaylı bilgiler elimizde mevcut. Aşağıdaki ekran görüntülerini inceleyebilirsiniz. Kurulum hakkında detaylı bilgi içerdiği için ben bu yöntemi tercih ediyorum.




Adım 2.7.
Son aşamada Adım 1.3'de yaptığımız gibi kurulumun başarılı olup olmadığının test edilmesi var. Sanal ortamınıza kurulan paketleri lssitepackages komutunu çalıştırarak görebilirsiniz. Bu komutu çalıştırdığımızda dlib kütüphanesinin kurulu olduğunu görüyoruz. Ancak emin olmak için Python ortamına geçiş yapıp dlib kütüphanesini koda eklemek (import etmek) gerekiyor. Eğer hata almıyorsak kurulum başarılıdır. Ayrıca aşağıdaki komutu çalıştırarak hangi dlib versiyonunu kullandığınızı öğrenebilirsiniz.


1
2
import dlib
dlib.__version__


Python programlama dili için Dlib kütüphanesinin kurulumunu Windows işletim sistemine 2 farklı yöntemle gerçekleştirmiş olduk.


11 yorum:

  1. Hi Is it necessary to install C++ Compiler(like Visual Studio for Dlib)?

    I am using python 3.6 on windows10.
    Pls tell me if any other thing is to be installed before all these steps.

    YanıtlaSil
    Yanıtlar
    1. if u want to use dlib with python, it is not necessary. please watch following video
      https://www.youtube.com/watch?v=vtnVe-wxjmw

      Sil
    2. the following error is shown:

      running install
      running bdist_egg
      running egg_info
      writing dlib.egg-info\PKG-INFO
      writing dependency_links to dlib.egg-info\dependency_links.txt
      writing top-level names to dlib.egg-info\top_level.txt
      package init file 'dlib\__init__.py' not found (or not a regular file)
      reading manifest file 'dlib.egg-info\SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      writing manifest file 'dlib.egg-info\SOURCES.txt'
      installing library code to build\bdist.win32\egg
      running install_lib
      running build_py
      running build_ext
      Building extension for Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 07:18:10) [MSC v.1900 32 bit (Intel)]
      Invoking CMake setup: 'cmake C:\Users\guptaa82\Desktop\dlib-19.16\tools\python -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\Users\guptaa82\Desktop\dlib-19.16\build\lib.win32-3.6 -DPYTHON_EXECUTABLE=C:\Users\guptaa82\AppData\Local\Programs\Python\Python36-32\python3.exe -DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\Users\guptaa82\Desktop\dlib-19.16\build\lib.win32-3.6'
      -- The C compiler identification is unknown
      -- The CXX compiler identification is unknown
      CMake Error in CMakeLists.txt:
      The CMAKE_C_COMPILER:

      cl

      is not a full path and was not found in the PATH.

      To use the NMake generator with Visual C++, cmake must be run from a shell
      that can use the compiler cl from the command line. This environment is
      unable to invoke the cl compiler. To fix this problem, run cmake from the
      Visual Studio Command Prompt (vcvarsall.bat).

      Tell CMake where to find the compiler by setting either the environment
      variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
      the compiler, or to the compiler name if it is in the PATH.


      CMake Error in CMakeLists.txt:
      The CMAKE_CXX_COMPILER:

      cl

      is not a full path and was not found in the PATH.

      To use the NMake generator with Visual C++, cmake must be run from a shell
      that can use the compiler cl from the command line. This environment is
      unable to invoke the cl compiler. To fix this problem, run cmake from the
      Visual Studio Command Prompt (vcvarsall.bat).

      Tell CMake where to find the compiler by setting either the environment
      variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
      to the compiler, or to the compiler name if it is in the PATH.




      Sil
    3. Continued...

      -- Configuring incomplete, errors occurred!
      See also "C:/Users/guptaa82/Desktop/dlib-19.16/build/temp.win32-3.6/Release/CMakeFiles/CMakeOutput.log".
      See also "C:/Users/guptaa82/Desktop/dlib-19.16/build/temp.win32-3.6/Release/CMakeFiles/CMakeError.log".
      Traceback (most recent call last):
      File "setup.py", line 257, in
      'Topic :: Software Development',
      File "C:\Users\guptaa82\AppData\Local\Programs\Python\Python36-32\lib\distutils\core.py", line 148, in setup
      dist.run_commands()
      File "C:\Users\guptaa82\AppData\Local\Programs\Python\Python36-32\lib\distutils\dist.py", line 955, in run_commands
      self.run_command(cmd)
      File "C:\Users\guptaa82\AppData\Local\Programs\Python\Python36-32\lib\distutils\dist.py", line 974, in run_command
      cmd_obj.run()
      File "C:\Users\guptaa82\AppData\Local\Programs\Python\Python36-32\lib\site-packages\setuptools\command\install.py", line 67, in run
      self.do_egg_install()
      File "C:\Users\guptaa82\AppData\Local\Programs\Python\Python36-32\lib\site-packages\setuptools\command\install.py", line 109, in do_egg_install
      self.run_command('bdist_egg')
      File "C:\Users\guptaa82\AppData\Local\Programs\Python\Python36-32\lib\distutils\cmd.py", line 313, in run_command
      self.distribution.run_command(command)
      File "C:\Users\guptaa82\AppData\Local\Programs\Python\Python36-32\lib\distutils\dist.py", line 974, in run_command
      cmd_obj.run()
      File "C:\Users\guptaa82\AppData\Local\Programs\Python\Python36-32\lib\site-packages\setuptools\command\bdist_egg.py", line 161, in run
      cmd = self.call_command('install_lib', warn_dir=0)
      File "C:\Users\guptaa82\AppData\Local\Programs\Python\Python36-32\lib\site-packages\setuptools\command\bdist_egg.py", line 147, in call_command
      self.run_command(cmdname)
      File "C:\Users\guptaa82\AppData\Local\Programs\Python\Python36-32\lib\distutils\cmd.py", line 313, in run_command
      self.distribution.run_command(command)
      File "C:\Users\guptaa82\AppData\Local\Programs\Python\Python36-32\lib\distutils\dist.py", line 974, in run_command
      cmd_obj.run()
      File "C:\Users\guptaa82\AppData\Local\Programs\Python\Python36-32\lib\site-packages\setuptools\command\install_lib.py", line 11, in run
      self.build()
      File "C:\Users\guptaa82\AppData\Local\Programs\Python\Python36-32\lib\distutils\command\install_lib.py", line 107, in build
      self.run_command('build_ext')
      File "C:\Users\guptaa82\AppData\Local\Programs\Python\Python36-32\lib\distutils\cmd.py", line 313, in run_command
      self.distribution.run_command(command)
      File "C:\Users\guptaa82\AppData\Local\Programs\Python\Python36-32\lib\distutils\dist.py", line 974, in run_command
      cmd_obj.run()
      File "setup.py", line 133, in run
      self.build_extension(ext)
      File "setup.py", line 170, in build_extension
      subprocess.check_call(cmake_setup, cwd=build_folder)
      File "C:\Users\guptaa82\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py", line 291, in check_call
      raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '['cmake', 'C:\\Users\\guptaa82\\Desktop\\dlib-19.16\\tools\\python', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\\Users\\guptaa82\\Desktop\\dlib-19.16\\build\\lib.win32-3.6', '-DPYTHON_EXECUTABLE=C:\\Users\\guptaa82\\AppData\\Local\\Programs\\Python\\Python36-32\\python3.exe', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=C:\\Users\\guptaa82\\Desktop\\dlib-19.16\\build\\lib.win32-3.6']' returned non-zero exit status 1.

      Sil
    4. Unfortunately the youtube link you have sent is showing video unavailable!
      Now, i have installed Visual Studio 2017, and while running the command:
      ..\Desktop\dlib-19.16>python3 setup.py install



      I have set the path for CMake in environmntal variables :

      C:\Python27\Lib\site-packages\cmake\data\bin

      Please brief me about the setup.

      Sil
    5. error is related to your compiler. There are 2 ways to install Dlib. One method is running pip install dlib. Another is using cmake. Did u try to install dlib via pip?

      Sil
    6. U can find video at the end of this blog post.

      Sil
  2. Please also tell how to setup Visual Studio for dlib...

    YanıtlaSil
  3. Hocam ben win10 için kurulum yaptım fakat python setup.py install komutunu cmd yazdıktan sonra bana ERROR: CMake must be installed to build dlib bu eroru veriyor fakat cmake i indirmiş vaziyetdeyim

    YanıtlaSil
    Yanıtlar
    1. Ortam değişkenlerinde olmadığı için sistem görmüyor olabilir.

      Sil