Internal change
PiperOrigin-RevId: 540603621
This commit is contained in:
parent
2e48a0bce0
commit
e73ea23261
69
setup.py
69
setup.py
|
@ -20,6 +20,7 @@ import os
|
||||||
import platform
|
import platform
|
||||||
import posixpath
|
import posixpath
|
||||||
import re
|
import re
|
||||||
|
import shlex
|
||||||
import shutil
|
import shutil
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
|
@ -38,6 +39,15 @@ MP_DIR_INIT_PY = os.path.join(MP_ROOT_PATH, 'mediapipe/__init__.py')
|
||||||
MP_THIRD_PARTY_BUILD = os.path.join(MP_ROOT_PATH, 'third_party/BUILD')
|
MP_THIRD_PARTY_BUILD = os.path.join(MP_ROOT_PATH, 'third_party/BUILD')
|
||||||
MP_ROOT_INIT_PY = os.path.join(MP_ROOT_PATH, '__init__.py')
|
MP_ROOT_INIT_PY = os.path.join(MP_ROOT_PATH, '__init__.py')
|
||||||
|
|
||||||
|
GPU_OPTIONS_DISBALED = ['--define=MEDIAPIPE_DISABLE_GPU=1']
|
||||||
|
GPU_OPTIONS_ENBALED = [
|
||||||
|
'--copt=-DTFLITE_GPU_EXTRA_GLES_DEPS',
|
||||||
|
'--copt=-DMEDIAPIPE_OMIT_EGL_WINDOW_BIT',
|
||||||
|
'--copt=-DMESA_EGL_NO_X11_HEADERS',
|
||||||
|
'--copt=-DEGL_NO_X11',
|
||||||
|
]
|
||||||
|
GPU_OPTIONS = GPU_OPTIONS_DISBALED if MP_DISABLE_GPU else GPU_OPTIONS_ENBALED
|
||||||
|
|
||||||
|
|
||||||
def _normalize_path(path):
|
def _normalize_path(path):
|
||||||
return path.replace('\\', '/') if IS_WINDOWS else path
|
return path.replace('\\', '/') if IS_WINDOWS else path
|
||||||
|
@ -140,6 +150,16 @@ def _copy_to_build_lib_dir(build_lib, file):
|
||||||
shutil.copyfile(os.path.join('bazel-bin/', file), dst)
|
shutil.copyfile(os.path.join('bazel-bin/', file), dst)
|
||||||
|
|
||||||
|
|
||||||
|
def _invoke_shell_command(shell_commands):
|
||||||
|
"""Invokes shell command from the list of arguments."""
|
||||||
|
print('Invoking:', shlex.join(shell_commands))
|
||||||
|
try:
|
||||||
|
subprocess.run(shell_commands, check=True)
|
||||||
|
except subprocess.CalledProcessError as e:
|
||||||
|
print(e)
|
||||||
|
sys.exit(e.returncode)
|
||||||
|
|
||||||
|
|
||||||
class GeneratePyProtos(build_ext.build_ext):
|
class GeneratePyProtos(build_ext.build_ext):
|
||||||
"""Generate MediaPipe Python protobuf files by Protocol Compiler."""
|
"""Generate MediaPipe Python protobuf files by Protocol Compiler."""
|
||||||
|
|
||||||
|
@ -204,9 +224,7 @@ class GeneratePyProtos(build_ext.build_ext):
|
||||||
self._protoc, '-I.',
|
self._protoc, '-I.',
|
||||||
'--python_out=' + os.path.abspath(self.build_lib), source
|
'--python_out=' + os.path.abspath(self.build_lib), source
|
||||||
]
|
]
|
||||||
print('Invoking: ', protoc_command)
|
_invoke_shell_command(protoc_command)
|
||||||
if subprocess.call(protoc_command) != 0:
|
|
||||||
sys.exit(-1)
|
|
||||||
|
|
||||||
|
|
||||||
class BuildModules(build_ext.build_ext):
|
class BuildModules(build_ext.build_ext):
|
||||||
|
@ -269,9 +287,7 @@ class BuildModules(build_ext.build_ext):
|
||||||
'build',
|
'build',
|
||||||
external_file,
|
external_file,
|
||||||
]
|
]
|
||||||
print('Invoking: ', fetch_model_command)
|
_invoke_shell_command(fetch_model_command)
|
||||||
if subprocess.call(fetch_model_command) != 0:
|
|
||||||
sys.exit(-1)
|
|
||||||
_copy_to_build_lib_dir(self.build_lib, external_file)
|
_copy_to_build_lib_dir(self.build_lib, external_file)
|
||||||
|
|
||||||
def _generate_binary_graph(self, binary_graph_target):
|
def _generate_binary_graph(self, binary_graph_target):
|
||||||
|
@ -284,20 +300,12 @@ class BuildModules(build_ext.build_ext):
|
||||||
'--copt=-DNDEBUG',
|
'--copt=-DNDEBUG',
|
||||||
'--action_env=PYTHON_BIN_PATH=' + _normalize_path(sys.executable),
|
'--action_env=PYTHON_BIN_PATH=' + _normalize_path(sys.executable),
|
||||||
binary_graph_target,
|
binary_graph_target,
|
||||||
]
|
] + GPU_OPTIONS
|
||||||
|
|
||||||
if MP_DISABLE_GPU:
|
|
||||||
bazel_command.append('--define=MEDIAPIPE_DISABLE_GPU=1')
|
|
||||||
else:
|
|
||||||
bazel_command.append('--copt=-DMESA_EGL_NO_X11_HEADERS')
|
|
||||||
bazel_command.append('--copt=-DEGL_NO_X11')
|
|
||||||
|
|
||||||
if not self.link_opencv and not IS_WINDOWS:
|
if not self.link_opencv and not IS_WINDOWS:
|
||||||
bazel_command.append('--define=OPENCV=source')
|
bazel_command.append('--define=OPENCV=source')
|
||||||
|
|
||||||
print('Invoking: ', bazel_command)
|
_invoke_shell_command(bazel_command)
|
||||||
if subprocess.call(bazel_command) != 0:
|
|
||||||
sys.exit(-1)
|
|
||||||
_copy_to_build_lib_dir(self.build_lib, binary_graph_target + '.binarypb')
|
_copy_to_build_lib_dir(self.build_lib, binary_graph_target + '.binarypb')
|
||||||
|
|
||||||
|
|
||||||
|
@ -318,17 +326,9 @@ class GenerateMetadataSchema(build_ext.build_ext):
|
||||||
'--compilation_mode=opt',
|
'--compilation_mode=opt',
|
||||||
'--action_env=PYTHON_BIN_PATH=' + _normalize_path(sys.executable),
|
'--action_env=PYTHON_BIN_PATH=' + _normalize_path(sys.executable),
|
||||||
'//mediapipe/tasks/metadata:' + target,
|
'//mediapipe/tasks/metadata:' + target,
|
||||||
]
|
] + GPU_OPTIONS
|
||||||
|
|
||||||
if MP_DISABLE_GPU:
|
_invoke_shell_command(bazel_command)
|
||||||
bazel_command.append('--define=MEDIAPIPE_DISABLE_GPU=1')
|
|
||||||
else:
|
|
||||||
bazel_command.append('--copt=-DMESA_EGL_NO_X11_HEADERS')
|
|
||||||
bazel_command.append('--copt=-DEGL_NO_X11')
|
|
||||||
|
|
||||||
print('Invoking: ', bazel_command)
|
|
||||||
if subprocess.call(bazel_command) != 0:
|
|
||||||
sys.exit(-1)
|
|
||||||
_copy_to_build_lib_dir(
|
_copy_to_build_lib_dir(
|
||||||
self.build_lib,
|
self.build_lib,
|
||||||
'mediapipe/tasks/metadata/' + target + '_generated.py')
|
'mediapipe/tasks/metadata/' + target + '_generated.py')
|
||||||
|
@ -397,10 +397,7 @@ class BuildExtension(build_ext.build_ext):
|
||||||
x86_name,
|
x86_name,
|
||||||
arm64_name,
|
arm64_name,
|
||||||
]
|
]
|
||||||
|
_invoke_shell_command(lipo_command)
|
||||||
print('Invoking: ', lipo_command)
|
|
||||||
if subprocess.call(lipo_command) != 0:
|
|
||||||
sys.exit(-1)
|
|
||||||
else:
|
else:
|
||||||
for ext in self.extensions:
|
for ext in self.extensions:
|
||||||
self._build_binary(ext)
|
self._build_binary(ext)
|
||||||
|
@ -416,22 +413,14 @@ class BuildExtension(build_ext.build_ext):
|
||||||
'--copt=-DNDEBUG',
|
'--copt=-DNDEBUG',
|
||||||
'--action_env=PYTHON_BIN_PATH=' + _normalize_path(sys.executable),
|
'--action_env=PYTHON_BIN_PATH=' + _normalize_path(sys.executable),
|
||||||
str(ext.bazel_target + '.so'),
|
str(ext.bazel_target + '.so'),
|
||||||
]
|
] + GPU_OPTIONS
|
||||||
|
|
||||||
if MP_DISABLE_GPU:
|
|
||||||
bazel_command.append('--define=MEDIAPIPE_DISABLE_GPU=1')
|
|
||||||
else:
|
|
||||||
bazel_command.append('--copt=-DMESA_EGL_NO_X11_HEADERS')
|
|
||||||
bazel_command.append('--copt=-DEGL_NO_X11')
|
|
||||||
|
|
||||||
if extra_args:
|
if extra_args:
|
||||||
bazel_command += extra_args
|
bazel_command += extra_args
|
||||||
if not self.link_opencv and not IS_WINDOWS:
|
if not self.link_opencv and not IS_WINDOWS:
|
||||||
bazel_command.append('--define=OPENCV=source')
|
bazel_command.append('--define=OPENCV=source')
|
||||||
|
|
||||||
print('Invoking: ', bazel_command)
|
_invoke_shell_command(bazel_command)
|
||||||
if subprocess.call(bazel_command) != 0:
|
|
||||||
sys.exit(-1)
|
|
||||||
ext_bazel_bin_path = os.path.join('bazel-bin', ext.relpath,
|
ext_bazel_bin_path = os.path.join('bazel-bin', ext.relpath,
|
||||||
ext.target_name + '.so')
|
ext.target_name + '.so')
|
||||||
ext_dest_path = self.get_ext_fullpath(ext.name)
|
ext_dest_path = self.get_ext_fullpath(ext.name)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user