Jika Anda membuat perubahan pada paket pip TensorFlow Hub, Anda mungkin ingin membuat ulang paket pip dari sumber untuk mencoba perubahan Anda.
Ini membutuhkan:
- ular piton
- Aliran Tensor
- Git
- Bazel
Alternatifnya, jika Anda menginstal kompiler protobuf Anda dapat mencoba perubahan Anda tanpa menggunakan bazel .
Siapkan virtualenv
Aktifkan virtualenv
Instal virtualenv jika belum diinstal:
~$ sudo apt-get install python-virtualenv
Buat lingkungan virtual untuk pembuatan paket:
~$ virtualenv --system-site-packages tensorflow_hub_env
Dan aktifkan:
~$ source ~/tensorflow_hub_env/bin/activate # bash, sh, ksh, or zsh
~$ source ~/tensorflow_hub_env/bin/activate.csh # csh or tcsh
Kloning repositori TensorFlow Hub.
(tensorflow_hub_env)~/$ git clone https://github.com/tensorflow/hub
(tensorflow_hub_env)~/$ cd hub
Uji perubahan Anda
Jalankan pengujian TensorFlow Hub
(tensorflow_hub_env)~/hub/$ bazel test tensorflow_hub:all
Bangun dan instal paket
Buat skrip pengemasan pip TensorFlow Hub
Untuk membuat paket pip untuk TensorFlow Hub:
(tensorflow_hub_env)~/hub/$ bazel build tensorflow_hub/pip_package:build_pip_package
Buat paket pip TensorFlow Hub
(tensorflow_hub_env)~/hub/$ bazel-bin/tensorflow_hub/pip_package/build_pip_package \
/tmp/tensorflow_hub_pkg
Instal dan uji paket pip (opsional)
Jalankan perintah berikut untuk menginstal paket pip.
(tensorflow_hub_env)~/hub/$ pip install /tmp/tensorflow_hub_pkg/*.whl
Uji impor TensorFlow Hub:
(tensorflow_hub_env)~/hub/$ cd .. # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Instalasi "Pengembang" (eksperimental)
Membangun paket dengan bazel adalah satu-satunya metode yang didukung secara resmi. Namun jika Anda tidak terbiasa dengan bazel, lebih mudah bekerja dengan alat sumber terbuka. Untuk itu Anda dapat melakukan "instalasi pengembang" pada paket tersebut.
Metode instalasi ini memungkinkan Anda untuk menginstal direktori kerja ke dalam lingkungan python Anda, sehingga perubahan yang sedang berlangsung akan terlihat saat Anda mengimpor paket.
Siapkan repositori
Pertama-tama siapkan virtualenv dan repositori, seperti dijelaskan di atas .
Instal protoc
Karena TensorFlow Hub menggunakan protobuf, Anda memerlukan kompiler protobuf untuk membuat file python _pb2.py
yang diperlukan dari file .proto
.
Di Mac:
(tensorflow_hub_env)~/hub/$ brew install protobuf
Di Linux
(tensorflow_hub_env)~/hub/$ sudo apt install protobuf-compiler
Kompilasi file .proto
Awalnya tidak ada file _pb2.py
di direktori:
(tensorflow_hub_env)~/hub/$ ls -1 tensorflow_hub/*_pb2.py
Jalankan protoc
untuk membuatnya:
(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
Impor langsung dari repositori
Dengan file _pb2.py
yang ada, Anda dapat mencoba modifikasi langsung dari direktori TensorFlow Hub:
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Instal dalam mode "pengembang".
Atau untuk menggunakan ini dari luar root repositori, Anda dapat menggunakan instalasi setup.py develop
:
(tensorflow_hub_env)~/hub/$ python tensorflow_hub/pip_package/setup.py develop
Sekarang Anda dapat menggunakan perubahan lokal di virtualenv python biasa, tanpa perlu membangun kembali dan menginstal paket pip untuk setiap perubahan baru:
(tensorflow_hub_env)~/hub/$ cd .. # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Nonaktifkan virtualenv
(tensorflow_hub_env)~/hub/$ deactivate