安裝 TensorFlow Quantum

有幾種方法可以設定環境來使用 TensorFlow Quantum (TFQ)

  • 學習和使用 TFQ 最簡單的方式不需要安裝任何東西,直接在瀏覽器中使用 Google Colab 執行 TensorFlow Quantum 教學課程
  • 若要在本機上使用 TensorFlow Quantum,請使用 Python 的 pip 套件管理員安裝 TFQ 套件。
  • 或從原始碼建構 TensorFlow Quantum。

TensorFlow Quantum 支援 Python 3.9、3.10 和 3.11,並直接依賴 Cirq

Pip 套件

需求條件

請參閱 TensorFlow 安裝指南,以設定您的 Python 開發環境和 (選用) 虛擬環境。

升級 pip 並安裝 TensorFlow

  pip3 install --upgrade pip
  pip3 install tensorflow==2.15.0

安裝套件

安裝 TensorFlow Quantum 的最新穩定版本

  pip3 install -U tensorflow-quantum

可能會依賴較新 TensorFlow 版本的每晚建構版本可以使用以下指令安裝

  pip3 install -U tfq-nightly

從原始碼建構

以下步驟已在類似 Ubuntu 的系統上測試過。

1. 設定 Python 3 開發環境

首先,我們需要 Python 3.10 開發工具。

  sudo apt update
  sudo apt-get install pkg-config zip g++ zlib1g-dev unzip python3.10
  sudo apt install python3.10 python3.10-dev python3.10-venv python3-pip
  python3.10 -m pip install --upgrade pip

2. 建立虛擬環境

前往您的工作區目錄,並為 TFQ 開發建立虛擬環境。

  python3.10 -m venv quantum_env
  source quantum_env/bin/activate

3. 安裝 Bazel

如 TensorFlow 從原始碼建構 指南中所述,將需要 Bazel 建構系統。

我們最新的原始碼建構使用 TensorFlow 2.15.0。為了確保相容性,我們使用 bazel 6.5.0 版。若要移除任何現有的 Bazel 版本

  sudo apt-get remove bazel

下載並安裝 bazel 6.5.0 版

  wget https://github.com/bazelbuild/bazel/releases/download/6.5.0/bazel_6.5.0-linux-x86_64.deb

  sudo dpkg -i bazel_6.5.0-linux-x86_64.deb

為了防止 bazel 自動更新為不相容的版本,請執行以下指令

  sudo apt-mark hold bazel

最後,確認正確的 bazel 版本已安裝

  bazel --version

4. 從原始碼建構 TensorFlow

在此,我們採用 TensorFlow 從原始碼建構 指南中的指示,如需更多詳細資訊,請參閱連結。TensorFlow Quantum 與 TensorFlow 2.15.0 版相容。

下載 TensorFlow 原始碼

  git clone https://github.com/tensorflow/tensorflow.git
  cd tensorflow
  git checkout v2.15.0

請務必啟動您在步驟 2 中建立的虛擬環境。然後,安裝 TensorFlow 依附元件

  pip install -U pip six numpy wheel setuptools mock 'future>=0.17.1'
  pip install -U keras_applications --no-deps
  pip install -U keras_preprocessing --no-deps
  pip install numpy==1.23.5
  pip install packaging requests

設定 TensorFlow 建構。當系統詢問 Python 直譯器和程式庫位置時,請務必指定虛擬環境資料夾內的位置。其餘選項可以保留預設值。

  ./configure

建構 TensorFlow 套件 (自 TF v2.8 起,_GLIBCXX_USE_CXX11_ABI 設定為 1,且 c++ 程式碼均使用 -std=c++17 編譯)

  bazel build -c opt --cxxopt="-O3" --cxxopt="-march=native" --cxxopt="-std=c++17" --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=1" //tensorflow/tools/pip_package:build_pip_package

建構完成後,安裝套件並離開 TensorFlow 目錄

  ./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
  pip install /tmp/tensorflow_pkg/name_of_generated_wheel.whl
  cd ..

5. 下載 TensorFlow Quantum

我們使用標準的 fork 和提取請求工作流程 進行貢獻。從 TensorFlow Quantum GitHub 頁面 fork 後,下載您 fork 的原始碼並安裝需求條件

  git clone https://github.com/username/quantum.git
  cd quantum
  pip install -r requirements.txt

6. 建構 TensorFlow Quantum pip 套件

建構 TensorFlow Quantum pip 套件並安裝

  ./configure.sh
  bazel build -c opt --cxxopt="-O3" --cxxopt="-march=native" --cxxopt="-std=c++17" --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=1" release:build_pip_package
  bazel-bin/release/build_pip_package /tmp/tfquantum/
  python3 -m pip install /tmp/tfquantum/name_of_generated_wheel.whl

若要確認 TensorFlow Quantum 已成功安裝,您可以執行測試

  ./scripts/test_all.sh