欢迎使用 PaddleScience¶
1. 开始安装¶
1.1 从 docker 镜像启动[可选]¶
# pull image
docker pull hydrogensulfate/paddlescience
# create a container named 'paddlescience_container' using the pulled image
## docker version < 19.03
nvidia-docker run --name paddlescience_container --network=host -it --shm-size 64g hydrogensulfate/paddlescience:latest /bin/bash
## docker version >= 19.03
# docker run --name paddlescience_container --gpus all --network=host -it --shm-size 64g hydrogensulfate/paddlescience:latest /bin/bash
Note
Dockerhub 拉取的镜像仅预装了运行 PaddleScience 所需的依赖包,如 pymesh、open3d,并不包含 PaddleScience。 因此请在镜像拉取和容器构建完成后,参考 1.4 安装 PaddleScience 中的步骤,在容器中安装 PaddleScience。
git clone https://github.com/PaddlePaddle/PaddleScience.git
cd PaddleScience/docker/
wget -c https://paddle-org.bj.bcebos.com/paddlescience/docker/pymesh.tar.xz
bash run.sh
如果出现因网络问题导致的 docker 构建时 apt 下载报错,则重复执行 bash run.sh 直至构建完成。
更多关于 Paddle Docker 的安装和使用,请参考 Docker 安装。
1.2 python 环境安装[可选]¶
如果你还没有 python 环境或者 python 版本小于 3.9,则推荐使用 Miniforge 安装并配置 python 环境,否则可以忽略本步骤。
- 根据系统环境,从 Miniforge 中下载对应的 Miniforge 安装包并手动安装。
-
创建 python 3.10 环境,并进入该环境。
1.3 安装 PaddlePaddle¶
请根据您的运行环境,访问 PaddlePaddle 官网,建议安装 PaddlePaddle 3.0 以上稳定版,或最新的 develop 开发版。
安装完毕之后,运行以下命令,验证 Paddle 是否安装成功。
如果出现 PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now. 信息,说明您已成功安装,可以继续安装 PaddleScience。
1.4 安装 PaddleScience¶
1.4.1 安装基础功能¶
从以下三种安装方式中任选一种。
执行以下命令,从 github 上 clone PaddleScience 源代码,并以 editable 的方式安装 PaddleScience。
git clone -b develop https://github.com/PaddlePaddle/PaddleScience.git
# 若 github clone 速度比较慢,可以使用 gitee clone
# git clone -b develop https://gitee.com/paddlepaddle/PaddleScience.git
cd PaddleScience
# install paddlesci with editable mode
python -m pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple
执行以下命令以 pip 的方式安装最新版本的 PaddleScience。
执行以下命令以 conda 的方式安装 release / nightly build 版本的 PaddleScience。
如果在您的环境中,上述两种方式都无法正常安装,则可以选择本方式,在终端内将环境变量 PYTHONPATH 临时设置为 PaddleScience 的绝对路径,如下所示。
上述方式的优点是步骤简单无需安装,缺点是当环境变量生效的终端被关闭后,需要重新执行上述命令设置 PYTHONPATH 才能再次使用 PaddleScience,较为繁琐。
1.4.2 安装Mesh几何[可选]¶
PaddleScience 提供了两种复杂几何类型,如下所示:
| API 名称 | 支持的文件类型 | 安装方式 | 使用方式 |
|---|---|---|---|
ppsci.geometry.Mesh |
.obj, .ply, .off, .stl, .mesh, .node, .poly and .msh |
参考下方的 "PyMesh 安装命令" | ppsci.geometry.Mesh(mesh_path) |
ppsci.geometry.SDFMesh |
.stl |
pip install warp-lang 'numpy-stl>=2.16,<2.17' |
ppsci.geometry.SDFMesh.from_stl(stl_path) |
相关案例运行说明
Bracket、Aneurysm 等个别案例使用了 ppsci.geometry.Mesh 接口构建复杂几何,因此这些案例运行前需要按照下方给出的命令,安装 open3d、
pybind11、pysdf、PyMesh 四个依赖库(上述1.1 从 docker 镜像启动中已安装上述依赖库)。如使用 ppsci.geometry.SDFMesh 接口构建复杂几何,则只需要安装 warp-lang 即可。
python -m pip install open3d pybind11 pysdf-i https://pypi.tuna.tsinghua.edu.cn/simple
# 在安装 PyMesh 之前,首先需通过 `cmake --version` 确认环境中是否已安装 cmake。
# 如果未安装,可以按照下列命令下载并解压 cmake 包,然后将其添加到 PATH 变量中。
wget -c https://paddle-org.bj.bcebos.com/paddlescience/cmake-3.23.0-linux-x86_64.tar.gz
tar -zxvf cmake-3.23.0-linux-x86_64.tar.gz
rm -f cmake-3.23.0-linux-x86_64.tar.gz
export PATH=$PWD/cmake-3.23.0-linux-x86_64/bin:$PATH
# 推荐以 setup 的方式安装 PyMesh 库,命令如下:
wget -c https://paddle-org.bj.bcebos.com/paddlescience/PyMesh.tar.gz
tar -zxvf PyMesh.tar.gz
# 也可以使用 git 命令下载,速度可能会比较慢
# git clone https://github.com/PyMesh/PyMesh.git
# git submodule update --init --recursive --progress
# 安装必要依赖包
apt-get install \
libeigen3-dev \
libgmp-dev \
libgmpxx4ldbl \
libmpfr-dev \
libboost-dev \
libboost-thread-dev \
libtbb-dev \
python3-dev
cd PyMesh
export PYMESH_PATH=`pwd`
python -m pip install -r $PYMESH_PATH/python/requirements.txt
python setup.py build
python setup.py install
安装注意事项
-
由于网络问题,
git submodule update过程中可能某些 submodule 会 clone 失败,此时只需 反复执行git submodule update --init --recursive --progress直到所有库都 clone 成功即可。 -
所有 submodule 都 clone 成功后,请检查
PyMesh/third_party/下是否有空文件夹,若有则需 手动找到并删除这些空文件夹,再执行git submodule update --init --recursive --progress命 令即可恢复这些空文件夹至正常含有文件的状态,此时再继续执行剩余安装命令即可。 -
由于自测工具 nose 未适配 Python>=3.10,因此执行
pymesh.test()会报错,但这不影响 pymesh 正常使用。
1.4.3 安装第三方库[可选]¶
PaddleScience 提供了多种第三方库供用户在开发时使用,这些库位于 ppsci/externals 目录下,可以通过 git submodule 命令进行下载、安装,或者直接安装我们提供的 whl 包。以下是具体操作步骤:
cd PaddleScience
git submodule update --init ppsci/externals/neuraloperator
# install from source(recommended)
python -m pip install -e ppsci/externals/neuraloperator
# install from whl
python -m pip install https://paddle-qa.bj.bcebos.com/neuraloperator/whl/cuda11.8/latest/dist/neuraloperator-0.3.0-py3-none-any.whl
cd PaddleScience
git submodule update --init ppsci/externals/Open3D
# install from whl(cuda 118)(recommended)
python -m pip install https://paddle-qa.bj.bcebos.com/Open3D/whl/cuda11.8/latest/open3d-0.18.0-cp310-cp310-linux_x86_64.whl
# install from whl(cuda 123)(recommended)
python -m pip install https://paddle-qa.bj.bcebos.com/Open3D/whl/cuda12.3/latest/open3d-0.18.0-cp310-cp310-linux_x86_64.whl
# install from source: https://github.com/PFCCLab/Open3D?tab=readme-ov-file#build-and-install
cd PaddleScience
git submodule update --init ppsci/externals/paddle_harmonics
# install from source(recommended)
python -m pip install -e ppsci/externals/paddle_harmonics
# install from whl(cuda 118)
python -m pip install https://paddle-qa.bj.bcebos.com/paddle_harmonics/whl/latest/dist/paddle_harmonics-0.1.0-py3-none-any.whl
以 tensorly 为例,使用方法如下:
>>> from ppsci import externals
>>> print(externals.__all__)
['deepali', 'neuraloperator', 'open3d', 'paddle_harmonics', 'paddle_scatter', 'paddle_sparse', 'paddle_cluster', 'tensorly', 'warp']
>>> tl = externals.tensorly
>>> tl.set_backend("paddle")
>>> x = tl.tensor(np.ones((3, 3)))
Tensor(shape=[3, 3], dtype=float32, place=Place(gpu:0), stop_gradient=True,
[[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]])
请根据以上步骤下载、安装和使用您所需的第三方库。
2. 验证安装¶
-
执行以下代码,验证安装的 PaddleScience 基础功能是否正常。
如果出现
PaddleScience is installed successfully.✨ 🍰 ✨,则说明安装验证成功。 -
[可选]如果已按照 1.4.2 安装Mesh几何 正确安装了 4 个依赖库,则可以执行以下代码, 验证 PaddleScience 的
ppsci.geometry.Mesh模块是否能正常运行。如果出现
ppsci.geometry.Mesh module running successfully.✨ 🍰 ✨,则说明该模块运行正常。