Если вы вносите изменения в пакет pip для TensorFlow Hub, вам, вероятно, потребуется пересобрать пакет pip из исходного кода, чтобы проверить действие ваших изменений.
Для этого требуется:
- Python
- TensorFlow
- Гит
- Базель
В качестве альтернативы, если вы установите компилятор protobuf, вы сможете протестировать свои изменения без использования Bazel .
Настройте виртуальное окружение
Активировать виртуальное окружение
Установите virtualenv, если он еще не установлен:
~$ sudo apt-get install python-virtualenv
Создайте виртуальную среду для создания пакетов:
~$ virtualenv --system-site-packages tensorflow_hub_env
И активируйте его:
~$ source ~/tensorflow_hub_env/bin/activate # bash, sh, ksh, or zsh
~$ source ~/tensorflow_hub_env/bin/activate.csh # csh or tcsh
Клонируйте репозиторий TensorFlow Hub.
(tensorflow_hub_env)~/$ git clone https://github.com/tensorflow/hub
(tensorflow_hub_env)~/$ cd hub
Проверьте внесенные изменения.
Запустите тесты TensorFlow Hub
(tensorflow_hub_env)~/hub/$ bazel test tensorflow_hub:all
Соберите и установите пакет.
Сборка скрипта pip для TensorFlow Hub
Чтобы собрать пакет pip для TensorFlow Hub:
(tensorflow_hub_env)~/hub/$ bazel build tensorflow_hub/pip_package:build_pip_package
Создайте пакет pip для TensorFlow Hub.
(tensorflow_hub_env)~/hub/$ bazel-bin/tensorflow_hub/pip_package/build_pip_package \
/tmp/tensorflow_hub_pkg
Установите и протестируйте пакет pip (необязательно).
Выполните следующие команды для установки пакета pip.
(tensorflow_hub_env)~/hub/$ pip install /tmp/tensorflow_hub_pkg/*.whl
Проверьте импорт TensorFlow Hub:
(tensorflow_hub_env)~/hub/$ cd .. # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Установка для разработчиков (экспериментальная версия)
Сборка пакета с помощью Bazel — единственный официально поддерживаемый метод. Однако, если вы не знакомы с Bazel, проще работать с инструментами с открытым исходным кодом. Для этого можно выполнить "установку для разработчиков" пакета.
Этот способ установки позволяет установить рабочую директорию в вашу среду Python, так что текущие изменения будут отражаться при импорте пакета.
Настройка репозитория
Сначала настройте виртуальное окружение и репозиторий, как описано выше .
Установите protoc
Поскольку TensorFlow Hub использует protobuf, вам потребуется компилятор protobuf для создания необходимых файлов python _pb2.py из файлов .proto .
На Mac:
(tensorflow_hub_env)~/hub/$ brew install protobuf
В Linux
(tensorflow_hub_env)~/hub/$ sudo apt install protobuf-compiler
Скомпилируйте файлы .proto
Изначально в каталоге отсутствуют файлы _pb2.py :
(tensorflow_hub_env)~/hub/$ ls -1 tensorflow_hub/*_pb2.py
Запустите protoc , чтобы создать их:
(tensorflow_hub_env)~/hub/$ protoc -I=tensorflow_hub --python_out=tensorflow_hub tensorflow_hub/*.proto
(tensorflow_hub_env)~/hub/$ ls -1 tensorflow_hub/*_pb2.py
tensorflow_hub/image_module_info_pb2.py tensorflow_hub/module_attachment_pb2.py tensorflow_hub/module_def_pb2.py
Импортируйте напрямую из репозитория.
После установки файлов _pb2.py вы можете протестировать свои изменения непосредственно из каталога TensorFlow Hub:
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Установка в режиме "разработчика".
Или же, чтобы использовать это вне корневой директории репозитория, вы можете использовать установку setup.py develop :
(tensorflow_hub_env)~/hub/$ python tensorflow_hub/pip_package/setup.py develop
Теперь вы можете использовать локальные изменения в обычной виртуальной среде Python без необходимости пересобирать и устанавливать пакет pip для каждого нового изменения:
(tensorflow_hub_env)~/hub/$ cd .. # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Отключите виртуальное окружение.
(tensorflow_hub_env)~/hub/$ deactivate
Если вы вносите изменения в пакет pip TensorFlow Hub, вам, вероятно, потребуется пересобрать пакет pip из исходного кода, чтобы проверить действие ваших изменений.
Для этого требуется:
- Python
- TensorFlow
- Гит
- Базель
В качестве альтернативы, если вы установите компилятор protobuf, вы сможете протестировать свои изменения без использования Bazel .
Настройте виртуальное окружение
Активировать виртуальное окружение
Установите virtualenv, если он еще не установлен:
~$ sudo apt-get install python-virtualenv
Создайте виртуальную среду для создания пакетов:
~$ virtualenv --system-site-packages tensorflow_hub_env
И активируйте его:
~$ source ~/tensorflow_hub_env/bin/activate # bash, sh, ksh, or zsh
~$ source ~/tensorflow_hub_env/bin/activate.csh # csh or tcsh
Клонируйте репозиторий TensorFlow Hub.
(tensorflow_hub_env)~/$ git clone https://github.com/tensorflow/hub
(tensorflow_hub_env)~/$ cd hub
Проверьте внесенные изменения.
Запустите тесты TensorFlow Hub
(tensorflow_hub_env)~/hub/$ bazel test tensorflow_hub:all
Соберите и установите пакет.
Сборка скрипта pip для TensorFlow Hub
Чтобы собрать пакет pip для TensorFlow Hub:
(tensorflow_hub_env)~/hub/$ bazel build tensorflow_hub/pip_package:build_pip_package
Создайте пакет pip для TensorFlow Hub.
(tensorflow_hub_env)~/hub/$ bazel-bin/tensorflow_hub/pip_package/build_pip_package \
/tmp/tensorflow_hub_pkg
Установите и протестируйте пакет pip (необязательно).
Выполните следующие команды для установки пакета pip.
(tensorflow_hub_env)~/hub/$ pip install /tmp/tensorflow_hub_pkg/*.whl
Проверьте импорт TensorFlow Hub:
(tensorflow_hub_env)~/hub/$ cd .. # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Установка для разработчиков (экспериментальная версия)
Сборка пакета с помощью Bazel — единственный официально поддерживаемый метод. Однако, если вы не знакомы с Bazel, проще работать с инструментами с открытым исходным кодом. Для этого можно выполнить "установку для разработчиков" пакета.
Этот способ установки позволяет установить рабочую директорию в вашу среду Python, так что текущие изменения будут отражаться при импорте пакета.
Настройка репозитория
Сначала настройте виртуальное окружение и репозиторий, как описано выше .
Установите protoc
Поскольку TensorFlow Hub использует protobuf, вам потребуется компилятор protobuf для создания необходимых файлов python _pb2.py из файлов .proto .
На Mac:
(tensorflow_hub_env)~/hub/$ brew install protobuf
В Linux
(tensorflow_hub_env)~/hub/$ sudo apt install protobuf-compiler
Скомпилируйте файлы .proto
Изначально в каталоге отсутствуют файлы _pb2.py :
(tensorflow_hub_env)~/hub/$ ls -1 tensorflow_hub/*_pb2.py
Запустите protoc , чтобы создать их:
(tensorflow_hub_env)~/hub/$ protoc -I=tensorflow_hub --python_out=tensorflow_hub tensorflow_hub/*.proto
(tensorflow_hub_env)~/hub/$ ls -1 tensorflow_hub/*_pb2.py
tensorflow_hub/image_module_info_pb2.py tensorflow_hub/module_attachment_pb2.py tensorflow_hub/module_def_pb2.py
Импортируйте напрямую из репозитория.
После установки файлов _pb2.py вы можете протестировать свои изменения непосредственно из каталога TensorFlow Hub:
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Установка в режиме "разработчика".
Или же, чтобы использовать это вне корневой директории репозитория, вы можете использовать установку setup.py develop :
(tensorflow_hub_env)~/hub/$ python tensorflow_hub/pip_package/setup.py develop
Теперь вы можете использовать локальные изменения в обычной виртуальной среде Python без необходимости пересобирать и устанавливать пакет pip для каждого нового изменения:
(tensorflow_hub_env)~/hub/$ cd .. # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Отключите виртуальное окружение.
(tensorflow_hub_env)~/hub/$ deactivate