版本问题¶
PyTorch 版本¶
此问题与 https://github.com/pytorch/rl/issues/689 相关。使用 PyTorch 版本 <2.0 并安装稳定版软件包会导致未定义符号错误。例如:
ImportError: /usr/local/lib/python3.7/dist-packages/torchrl/_torchrl.so: undefined symbol: _ZN8pybind116detail11type_casterIN2at6TensorEvE4loadENS_6handleEb
如何重现¶
创建一个 Colab Notebook(截至 2022 年 11 月 24 日,Colab 环境默认安装了 Python 3.7 和 PyTorch 1.12)。
!pip install torchrl
import torchrl
在 Colab 中,您可以通过运行以下命令解决此问题:
!pip3 install torch --extra-index-url https://download.pytorch.org/whl/cpu -U
在 !pip install torchrl
命令之前运行。这将安装最新的 PyTorch。说明可以在这里找到。
变通方法¶
解决此问题有两种变通方法:
在安装 torchrl 之前,安装或升级到最新的 PyTorch 版本。
如果您需要使用之前的 PyTorch 版本:安装与您的 PyTorch 分发版相关的 functorch 版本,例如
pip install functorch==0.2.0
,并从源代码安装库pip install git+https://github.com/pytorch/rl@<lib_version_here>
。