Linux kullanarak TensorFlow Hub pip paketini oluşturma

TensorFlow Hub pip paketinde değişiklik yaparsanız değişikliklerinizi denemek için muhtemelen pip paketini kaynaktan yeniden oluşturmak isteyeceksiniz.

Bu şunları gerektirir:

  • Piton
  • TensorFlow
  • Git
  • bazel

Alternatif olarak, protobuf derleyicisini yüklerseniz değişikliklerinizi bazel kullanmadan deneyebilirsiniz .

Bir sanalenv kurun

Virtualenv'i etkinleştir

Henüz kurulu değilse virtualenv'i kurun:

~$ sudo apt-get install python-virtualenv

Paket oluşturmak için sanal bir ortam oluşturun:

~$ virtualenv --system-site-packages tensorflow_hub_env

Ve etkinleştirin:

~$ source ~/tensorflow_hub_env/bin/activate  # bash, sh, ksh, or zsh
~$ source ~/tensorflow_hub_env/bin/activate.csh  # csh or tcsh

TensorFlow Hub deposunu klonlayın.

(tensorflow_hub_env)~/$ git clone https://github.com/tensorflow/hub
(tensorflow_hub_env)~/$ cd hub

Değişikliklerinizi test edin

TensorFlow Hub'ın testlerini çalıştırın

(tensorflow_hub_env)~/hub/$ bazel test tensorflow_hub:all

Paketi oluşturun ve yükleyin

TensorFlow Hub pip paketleme komut dosyasını oluşturun

TensorFlow Hub'a yönelik bir pip paketi oluşturmak için:

(tensorflow_hub_env)~/hub/$ bazel build tensorflow_hub/pip_package:build_pip_package

TensorFlow Hub pip paketini oluşturun

(tensorflow_hub_env)~/hub/$ bazel-bin/tensorflow_hub/pip_package/build_pip_package \
/tmp/tensorflow_hub_pkg

Pip paketini kurun ve test edin (isteğe bağlı)

Pip paketini kurmak için aşağıdaki komutları çalıştırın.

(tensorflow_hub_env)~/hub/$ pip install /tmp/tensorflow_hub_pkg/*.whl

TensorFlow Hub'ı içe aktarmayı test edin:

(tensorflow_hub_env)~/hub/$ cd ..  # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"

"Geliştirici" kurulumu (deneysel)

Paketi bazel ile oluşturmak resmi olarak desteklenen tek yöntemdir. Ancak bazel'e aşina değilseniz açık kaynaklı araçlarla çalışmak daha kolaydır. Bunun için paketin "geliştirici kurulumunu" yapabilirsiniz.

Bu kurulum yöntemi, çalışma dizinini python ortamınıza kurmanıza olanak tanır, böylece devam eden değişiklikler paketi içe aktardığınızda yansıtılır.

Depoyu kurun

Öncelikle yukarıda anlatıldığı gibi virtualenv'i ve repository'yi kurun.

protoc yükle

TensorFlow Hub protobuf'ları kullandığından, .proto dosyalarından gerekli python _pb2.py dosyalarını oluşturmak için protobuf derleyicisine ihtiyacınız olacaktır.

Mac'te:

(tensorflow_hub_env)~/hub/$ brew install protobuf

Linux'ta

(tensorflow_hub_env)~/hub/$ sudo apt install protobuf-compiler

.proto dosyalarını derleyin

Başlangıçta dizinde _pb2.py dosyası yok:

(tensorflow_hub_env)~/hub/$ ls -1 tensorflow_hub/*_pb2.py

Bunları oluşturmak için protoc çalıştırın:

(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

Doğrudan depodan içe aktarın

_pb2.py dosyaları mevcut olduğunda değişikliklerinizi doğrudan TensorFlow Hub dizininden deneyebilirsiniz:

(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"

"Geliştirici" modunda yükleyin

Veya bunu depo kökünün dışından kullanmak için setup.py develop kurulumunu kullanabilirsiniz:

(tensorflow_hub_env)~/hub/$ python tensorflow_hub/pip_package/setup.py develop

Artık yerel değişikliklerinizi, her yeni değişiklik için pip paketini yeniden oluşturmaya ve yüklemeye gerek kalmadan normal bir python virtualenv'de kullanabilirsiniz:

(tensorflow_hub_env)~/hub/$ cd ..  # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"

Virtualenv'i devre dışı bırakın

(tensorflow_hub_env)~/hub/$ deactivate