Как обновить библиотеку времени выполнения Protocol Buffer на Jetson TX1?
Я пытаюсь получить API обнаружения объектов TensorFlow для обучения модели RCNN маски. Так как я использую Nvidia Jetson TX1, я установил TensorFlow 1.4, используя предварительно собранное колесо из этого репозитория github.
Пытаясь бежать
cd <tensorflow>/models/research
python object_detection/model_main.py \
--pipeline_config_path=${PIPELINE_CONFIG_PATH} \
--model_dir=${MODEL_DIR} \
--num_train_steps=${NUM_TRAIN_STEPS} \
--num_eval_steps=${NUM_EVAL_STEPS} \
--alsologtostderr
Я попал в следующую ошибку:
[libprotobuf FATAL google/protobuf/stubs/common.cc:61]
This program requires version 3.4.0 of the Protocol Buffer runtime library,
but the installed version is 2.6.1.
Please update your library. If you compiled the program yourself,
make sure that your headers are from the same version of Protocol Buffers
as your link-time library.
(Version verification failed in
"external/protobuf_archive/src/google/protobuf/any.pb.cc".)
terminate called after throwing an instance of 'google::protobuf::FatalException'
Это говорит мне, чтобы обновить protobuf
библиотека, но я понятия не имею, как это сделать, потому что я уже пытался установить самую новую версию (см. ниже). На самом деле я даже не знаю, кто именно выдает эту ошибку. Надеюсь, кто-то может помочь мне в этом. Заранее спасибо!
Я установил Object Detection API, следуя официальному руководству, особенно я установил более новую версию protobuf
с помощью
# remove old version
sudo apt purge protobuf-compiler
# download prebuilt protoc
cd ~/protobuf
wget https://github.com/google/protobuf/releases/download/v3.6.0/protoc-3.6.0-linux-aarch_64.zip
unzip protobuf-python*.zip
export PATH=$PATH:~/protobuf/bin
Я думаю, что эта установка работает, потому что я получаю желаемый результат:
$ protoc --version
libprotoc 3.6.0
$ which protoc
/home/<username>/protobuf/bin/protoc
Но также, если я наберу
$ sudo find . -name "*libprotobuf*"
/usr/lib/aarch64-linux-gnu/libprotobuf-lite.so.9.0.1
/usr/lib/aarch64-linux-gnu/libprotobuf.so.9
/usr/lib/aarch64-linux-gnu/libprotobuf.so.9.0.1
/usr/lib/aarch64-linux-gnu/libprotobuf-lite.so.9
там что-то установлено apt
, Не уверен, что это как-то связано с ошибкой.
Работает на:
- Ubuntu 16.04
- Python 3.5
- TensorFlow 1.4