मैं अजगर 3.7.6 का उपयोग कर एक चेहरा पहचान प्रणाली बना रहा हूँ। उसके लिए, निर्भरताएँ हैं:

  1. ओपनसीवी-पायथन

  2. सेमेक

  3. डीएलआईबी

मैंने opencv-python, cmake को सफलतापूर्वक स्थापित कर लिया है

लेकिन Python 3.7.6 के लिए dlib लाइब्रेरी स्थापित करते समय। मुझे एक त्रुटि मिली:

Collecting
https: // files.pythonhosted.org / packages / 1
e / 62 / aacb236d21fbd08148b1d517d58a9d80ea31bdcd386d26f21f8b23b1eb28 / dlib - 19.18
.0.tar.gz
Using
cached
dlib - 19.18
.0.tar.gz(3.1
MB)
Using
legacy
'setup.py install'
for dlib, since package 'wheel' is not installed.
Installing
collected
packages: dlib
Running
setup.py
install
for dlib...error
    ERROR: Command
    errored
    out
    with exit status 1:
        command: 'C:\Users\hp\PycharmProjects\Face-Attendance\venv\Scripts\python.exe' - u - c
    'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\hp
\\AppData\\Local\\Temp\\pip - req - build - s30f1uyb\\setup.py
'"'"'; __file__='"'"'
C:\\Users\\hp\\AppData\\Local\\Temp\\pip - req - build - s30f1uyb\\setup.py
'"'"';f = getattr(t
okenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO(
    '"'"'from setuptools import setup; setup()'"'"');
code = f.read().replace('"'"'\
r\n'"'"', '"'"'\n'"'"');
f.close();
exec(compile(code, __file__, '"'"'exec'"'"'))
' install --record '
C:\Users\hp\AppData\Local\Temp\pip - record - gf1sikyf\install - record.
    txt
' --single-version-externally-managed --compile --install-headers '
C:\Users\hp\PycharmProjects\Face - Attendance\venv\include\site\python3
.7\dlib
'
cwd: C:\Users\hp\AppData\Local\Temp\pip - req - build - s30f1uyb \
    Complete
output(57
lines):
running
install
running
build
running
build_py
package
init
file
'dlib\__init__.py'
not found( or not a
regular
file)
running
build_ext
Building
extension
for Python 3.7.6 (tags / v3.7.6:43364
a7ae0, Dec
19
2019, 00: 42:30) [MSC v.1916 64 bit(AMD64)]
Invoking
CMake
setup: 'cmake C:\Users\hp\AppData\Local\Temp\pip-req-build-s30f1uyb\tools\python -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\Users\hp\AppData\Local\Temp\p
ip - req - build - s30f1uyb\build\lib.win - amd64 - 3.7 - DPYTHON_EXECUTABLE = C:\Users\hp\PycharmProjects\Face - Attendance\venv\Scripts\python.exe - DCMAKE_LIBRARY_OUTPUT_DIRECTOR
Y_RELEASE = C:\Users\hp\AppData\Local\Temp\pip - req - build - s30f1uyb\build\lib.win - amd64 - 3.7 - A
x64
'
- - Building
for: NMake
Makefiles
CMake
Error
at
CMakeLists.txt: 3(project):
Generator

NMake
Makefiles

does
not support
platform
specification, but
platform

x64

was
specified.

    CMake
Error: CMAKE_C_COMPILER
not set, after
EnableLanguage
CMake
Error: CMAKE_CXX_COMPILER
not set, after
EnableLanguage
- - Configuring
incomplete, errors
occurred!
See
also
"C:/Users/hp/AppData/Local/Temp/pip-req-build-s30f1uyb/build/temp.win-amd64-3.7/Release/CMakeFiles/CMakeOutput.log".
    Traceback(most
recent
call
last):
File
"<string>", line
1, in < module >
        File
"C:\Users\hp\AppData\Local\Temp\pip-req-build-s30f1uyb\setup.py", line
261, in < module >
          'Topic :: Software Development',
          File
"C:\Users\hp\PycharmProjects\Face-Attendance\venv\lib\site-packages\setuptools\__init__.py", line
153, in setup
return distutils.core.setup(**attrs)
File
"C:\Users\hp\AppData\Local\Programs\Python\Python37\lib\distutils\core.py", line
148, in setup
dist.run_commands()
File
"C:\Users\hp\AppData\Local\Programs\Python\Python37\lib\distutils\dist.py", line
966, in run_commands
self.run_command(cmd)
File
"C:\Users\hp\AppData\Local\Programs\Python\Python37\lib\distutils\dist.py", line
985, in run_command
cmd_obj.run()
File
"C:\Users\hp\PycharmProjects\Face-Attendance\venv\lib\site-packages\setuptools\command\install.py", line
61, in run
return orig.install.run(self)
File
"C:\Users\hp\AppData\Local\Programs\Python\Python37\lib\distutils\command\install.py", line
545, in run
self.run_command('build')
File
"C:\Users\hp\AppData\Local\Programs\Python\Python37\lib\distutils\cmd.py", line
313, in run_command
self.distribution.run_command(command)
File
"C:\Users\hp\AppData\Local\Programs\Python\Python37\lib\distutils\dist.py", line
985, in run_command
cmd_obj.run()
File
"C:\Users\hp\AppData\Local\Programs\Python\Python37\lib\distutils\command\build.py", line
135, in run
self.run_command(cmd_name)
File
"C:\Users\hp\AppData\Local\Programs\Python\Python37\lib\distutils\cmd.py", line
313, in run_command
self.distribution.run_command(command)
File
"C:\Users\hp\AppData\Local\Programs\Python\Python37\lib\distutils\dist.py", line
985, in run_command
cmd_obj.run()
File
"C:\Users\hp\AppData\Local\Temp\pip-req-build-s30f1uyb\setup.py", line
135, in run
self.build_extension(ext)
File
"C:\Users\hp\AppData\Local\Temp\pip-req-build-s30f1uyb\setup.py", line
172, in build_extension
subprocess.check_call(cmake_setup, cwd=build_folder)
File
"C:\Users\hp\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line
363, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command
'['
cmake
', '
C:\\Users\\hp\\AppData\\Local\\Temp\\pip - req - build - s30f1uyb\\tools\\python
', ' - DCMAKE_LIBRARY_OUTPUT_DIRECTORY
=C:\\Users\\hp\\AppData\\Local\\Temp\\pip - req - build - s30f1uyb\\build\\lib.win - amd64 - 3.7
', ' - DPYTHON_EXECUTABLE = C:\\Users\\hp\\PycharmProjects\\Face - Attendance\\venv\ \
    Scripts\\python.exe
', ' - DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE = C:\\Users\\hp\\AppData\\Local\\Temp\\pip - req - build - s30f1uyb\\build\\lib.win - amd64 - 3.7
', ' - A
', '
x64
']'
returned
non - zero
exit
status
1.
----------------------------------------
ERROR: Command
errored
out
with exit status 1: 'C:\Users\hp\PycharmProjects\Face-Attendance\venv\Scripts\python.exe' - u - c
'import io, os, sys, setuptools, tokenize;
sys.argv[0] = '"'"'C:\\Users\\hp\\AppData\\Local\\Temp\\pip-req-build-s30f1uyb\\setup.py'"'"';
__file__ = '"'"'C:\\Users\\hp\\AppData\\Local\\Temp\\pip-req-build-s30f
1u
yb\\setup.py
'"'"';f = getattr(tokenize, '"'"'
open
'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'
from setuptools import setup;

setup()
'"'"
');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))'
install - -record
'C:\Users\hp\AppData\Local\Temp\pi
p - record - gf1sikyf\install - record.txt
' --single-version-externally-managed --compile --install-headers '
C:\Users\hp\PycharmProjects\Face - Attendance\venv\include\site \
    python3
.7\dlib
' Check the logs for full command output.

लेकिन मेरे पास पहले से ही एक सी ++ कंपाइलर है जिसे मिनजीडब्ल्यू के नाम से जाना जाता है और टर्मिनल में gcc के माध्यम से भी इसे एक्सेस कर सकता है।

लेकिन डीएलआईबी को विजुअल स्टूडियो के बजाय मेरे मिनजीडब्ल्यू कंपाइलर का उपयोग कैसे करें?

1
Spandan Manna 28 जून 2021, 09:58

2 जवाब

सबसे बढ़िया उत्तर

Dlib 19.22 MSYS2 शेल के अंतर्गत MinGW-w64 के साथ जस्ट फाइन बिल्ड।

मैं कॉन्फ़िगर करने के लिए cmake का उपयोग करता हूं और निंजा बनाने के लिए।

MSYS' make का उपयोग करने के लिए -G"MSYS Makefiles" के अलावा किसी विशेष cmake पैरामीटर की आवश्यकता नहीं है। या आप ninja को बिल्ड टूल के रूप में निर्दिष्ट करने के बजाय -GNinja का उपयोग कर सकते हैं, जो बहुत तेज़ है।

रिलीज़ बिल्ड के लिए आप -DCMAKE_BUILD_TYPE:STRING=Release भी जोड़ सकते हैं।

अंत में आप स्थिर निर्माण के लिए -DBUILD_SHARED_LIBS:BOOL=OFF या साझा निर्माण के लिए -DBUILD_SHARED_LIBS:BOOL=ON सेट कर सकते हैं।

तो संक्षेप में, MSYS' के साथ साझा dlib बनाने के लिए आप यह कर सकते हैं (बदलें /path/where/to/install वांछित स्थापित स्थान पर):

cmake.exe -G"MSYS Makefiles" -DCMAKE_INSTALL_PREFIX:PATH=/path/where/to/install -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_SHARED_LIBS:BOOL=ON -S. -Bbuild_shared
make -Cbuild_shared install/strip
0
Brecht Sanders 28 जून 2021, 11:54

Dlib को संकलित करने के लिए कोर c++ निर्भरता की आवश्यकता होती है। मैंने आपको डीपफेस का उपयोग करने की सलाह दी है। यह अधिक हल्का होता है।

#!pip install deepface
from deepface import DeepFace
obj = DeepFace.verify("img1.jpg", "img2.jpg")
0
johncasey 9 जुलाई 2021, 15:24