Пакет tvmc не найден в контейнере TVM Docker

Я новичок в Apache TVM.

Я попытался создать и запустить образ докера с именем tvm.ci_cpu:latest , как описано в следующем руководстве:

https://tvm.apache.org/docs/install/docker.html#docker-источник

Я попытался использовать приложение Python tvmc внутри контейнера докеров, как описано в руководстве ниже:

https://tvm.apache.org/docs/tutorial/tvmc_command_line_driver.html#using-tvmc

Затем я получил следующую ошибку:

      $ tvmc --help

bash: tvmc: command not found

Я попытался использовать другой метод, упомянутый в статье выше, но получил следующую новую ошибку:

      $ python3 -m tvm.driver.tvmc --help

Traceback (most recent call last):
  File "/usr/lib/python3.6/runpy.py", line 183, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/usr/lib/python3.6/runpy.py", line 109, in _get_module_details
    __import__(pkg_name)
  File "/opt/share0/bob/project/tvm/python/tvm/__init__.py", line 26, in <module>
    from ._ffi.base import TVMError, __version__, _RUNTIME_ONLY
  File "/opt/share0/bob/project/tvm/python/tvm/_ffi/__init__.py", line 28, in <module>
    from .base import register_error
  File "/opt/share0/bob/project/tvm/python/tvm/_ffi/base.py", line 71, in <module>
    _LIB, _LIB_NAME = _load_lib()
  File "/opt/share0/bob/project/tvm/python/tvm/_ffi/base.py", line 51, in _load_lib
    lib_path = libinfo.find_lib_path()
  File "/opt/share0/bob/project/tvm/python/tvm/_ffi/libinfo.py", line 146, in find_lib_path
    raise RuntimeError(message)
RuntimeError: Cannot find libraries: ['libtvm.so', 'libtvm_runtime.so']
List of candidates:
/opt/sgxsdk/lib64/libtvm.so
/opt/share0/bob/project/tvm/libtvm.so
/usr/local/sbin/libtvm.so
/usr/local/bin/libtvm.so
/usr/sbin/libtvm.so
/usr/bin/libtvm.so
/sbin/libtvm.so
/bin/libtvm.so
/opt/rust/bin/libtvm.so
/usr/lib/go-1.10/bin/libtvm.so
/opt/share0/bob/project/tvm/python/tvm/libtvm.so
/opt/share0/bob/project/libtvm.so
/opt/sgxsdk/lib64/libtvm_runtime.so
/opt/share0/bob/project/tvm/libtvm_runtime.so
/usr/local/sbin/libtvm_runtime.so
/usr/local/bin/libtvm_runtime.so
/usr/sbin/libtvm_runtime.so
/usr/bin/libtvm_runtime.so
/sbin/libtvm_runtime.so
/bin/libtvm_runtime.so
/opt/rust/bin/libtvm_runtime.so
/usr/lib/go-1.10/bin/libtvm_runtime.so
/opt/share0/bob/project/tvm/python/tvm/libtvm_runtime.so
/opt/share0/bob/project/libtvm_runtime.so

Я попытался получить и использовать следующие сторонние образы докеров вместо тех, которые я создал сам:

Тем не менее, я все еще встречал те же проблемы, что и раньше.

ЗАЧЕМ? Я вообще понятия не имел.

Буду признателен за вашу помощь.

1 ответ

Я нашел ответ pingsutw в https://discuss.tvm.apache.org/t/import-tvm-returns-runtime-error-cant-find-libtvm-so-when-using-docker-demo-cpu-image . /5110 . Ссылаясь на его совет, попробовал пересобрать tvm в контейнере, запускаемом из образа tvm.ci_cpu:latestкоторый построил сам.

      pushd path/to/tvm && \
    chmod +x 3rdparty/libbacktrace/configure && \
    mkdir -p cmake-build && \
    cmake -H. -Bcmake-build -DUSE_LLVM=ON && \
    cmake --build cmake-build --target all -- -j 4 && \
    mv cmake-build build && \
    popd

После вышеизложенного я попытался ввести команду python3 -m tvm.driver.tvmc --helpи получил следующий вывод.

      usage: tvmc [-v] [--version] [-h] {run,tune,compile} ...

TVM compiler driver

optional arguments:
  -v, --verbose       increase verbosity
  --version           print the version and exit
  -h, --help          show this help message and exit.

commands:
  {run,tune,compile}
    run               run a compiled module
    tune              auto-tune a model
    compile           compile a model.

TVMC - TVM driver command-line interface

Как видите, теперь это работает.

Удивительно, libtvm.soа также libtvm_runtime.soне встроены в образ докера tvm. Возможно, образ докера стороннего tvm не работает. Возможно, следует обновить файл Dockerfile для создания образа докера tvm. Может быть, он предназначен для гибкой компиляции для удовлетворения различных потребностей.

Другие вопросы по тегам