Edge TPU compiler `sudo` fix (#6531)
Browse files* Edge TPU compiler sudo fix
Allows for auto-install of Edge TPU compiler on non-sudo systems like the YOLOv5 Docker image.
@kalenmike
* Update export.py
* Update export.py
* Update export.py
export.py
CHANGED
@@ -315,16 +315,17 @@ def export_tflite(keras_model, im, file, int8, data, ncalib, prefix=colorstr('Te
|
|
315 |
def export_edgetpu(keras_model, im, file, prefix=colorstr('Edge TPU:')):
|
316 |
# YOLOv5 Edge TPU export https://coral.ai/docs/edgetpu/models-intro/
|
317 |
try:
|
318 |
-
cmd = 'edgetpu_compiler --version'
|
319 |
help_url = 'https://coral.ai/docs/edgetpu/compiler/'
|
320 |
assert platform.system() == 'Linux', f'export only supported on Linux. See {help_url}'
|
321 |
if subprocess.run(cmd, shell=True).returncode != 0:
|
322 |
LOGGER.info(f'\n{prefix} export requires Edge TPU compiler. Attempting install from {help_url}')
|
|
|
323 |
for c in ['curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -',
|
324 |
'echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" | sudo tee /etc/apt/sources.list.d/coral-edgetpu.list',
|
325 |
'sudo apt-get update',
|
326 |
'sudo apt-get install edgetpu-compiler']:
|
327 |
-
subprocess.run(c, shell=True, check=True)
|
328 |
ver = subprocess.run(cmd, shell=True, capture_output=True, check=True).stdout.decode().split()[-1]
|
329 |
|
330 |
LOGGER.info(f'\n{prefix} starting export with Edge TPU compiler {ver}...')
|
|
|
315 |
def export_edgetpu(keras_model, im, file, prefix=colorstr('Edge TPU:')):
|
316 |
# YOLOv5 Edge TPU export https://coral.ai/docs/edgetpu/models-intro/
|
317 |
try:
|
318 |
+
cmd = 'edgetpu_compiler --version >/dev/null'
|
319 |
help_url = 'https://coral.ai/docs/edgetpu/compiler/'
|
320 |
assert platform.system() == 'Linux', f'export only supported on Linux. See {help_url}'
|
321 |
if subprocess.run(cmd, shell=True).returncode != 0:
|
322 |
LOGGER.info(f'\n{prefix} export requires Edge TPU compiler. Attempting install from {help_url}')
|
323 |
+
sudo = subprocess.run('sudo --version >/dev/null', shell=True).returncode == 0 # sudo installed on system
|
324 |
for c in ['curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -',
|
325 |
'echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" | sudo tee /etc/apt/sources.list.d/coral-edgetpu.list',
|
326 |
'sudo apt-get update',
|
327 |
'sudo apt-get install edgetpu-compiler']:
|
328 |
+
subprocess.run(c if sudo else c.replace('sudo ', ''), shell=True, check=True)
|
329 |
ver = subprocess.run(cmd, shell=True, capture_output=True, check=True).stdout.decode().split()[-1]
|
330 |
|
331 |
LOGGER.info(f'\n{prefix} starting export with Edge TPU compiler {ver}...')
|