安装 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 和 pull request 工作流 来进行贡献。在从 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