https://github.com/link89/dflow-samples
evaluate dflow from deepmodeling
https://github.com/link89/dflow-samples
Last synced: over 1 year ago
JSON representation
evaluate dflow from deepmodeling
- Host: GitHub
- URL: https://github.com/link89/dflow-samples
- Owner: link89
- Created: 2022-11-18T02:52:28.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-11-30T01:57:21.000Z (over 3 years ago)
- Last Synced: 2025-02-02T00:47:51.557Z (over 1 year ago)
- Language: Python
- Size: 130 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# dflow-samples
基于 dflow 和 Bohrium 的工作流项目示例。
## 使用
### 在本地执行
使用前需安装依赖如下:
```bash
poetry install
pip install tensorflow==2.10.1 # 如已通过conda或其它途径安装可省略此步
```
然后即可通过以下命令调用实现的方法 (其中训练所用的 outcar 文件和预测所用的轨迹文件均为预先生成)
```bash
python -m dflow_samples.main train_model --elements=[Na] --outcar_folders="['./data/nmr/p6322', './nmr/data/train/p63mcm']"
python -m dflow_samples.main predict --elements=[Na] --traj_path=./data/nmr/predict_fcshifts_example.xyz --model=./out/model
```
### 通过 Docker 执行
为支持在 dflow 执行,该项目提供了Dockerfile用于构建用于代码执行的容器,使用前先使用以下命令确保容器被正确构建
```bash
docker build -t dflow-nmr .
```
构建完成后可通过以下命令执行(注意需要将外部数据目录挂载到内部, 输出模型也需指定到挂载目录上)
```bash
docker run -v $PWD/data/nmr:/data dflow-nmr python -m dflow_samples.main train_model --elements=[Na] --outcar_folders="['/data/train/p6322', '/data/train/p63mcm']" --out_dir /data/out
docker run -v $PWD/data/nmr:/data dflow-nmr python -m dflow_samples.main predict --elements=[Na] --traj_path=/data/predict_fcshifts_example.xyz --model=/data/out/model
```
### 通过 Singularity 执行
为支持在 Bohrium 平台运行,首先需要将 docker 镜像转换为 singularity 镜像并上传到嘉庚超算的容器目录中。
在本地构建镜像可以使用 conda 安装 singularity的运行时:
```bash
conda install -c conda-forge singularity
```
singularity镜像可直接从 docker 镜像中转化
```bash
singularity build dflow_nmr.sif docker-daemon://dflow-nmr:latest
```
构建完成后可使用以下命令执行
```bash
singularity exec --bind ./data/nmr:/data dflow_nmr.sif python -m dflow_samples.main train_model --elements=[Na] --outcar_folders="['/data/train/p6322', '/data/train/p63mcm']" --out_dir /data/out
singularity exec --bind ./data/nmr:/data dflow_nmr.sif python -m dflow_samples.main predict --elements=[Na] --traj_path=/data/predict_fcshifts_example.xyz --model=/data/out/model
```
### 在 Bohrium 平台上执行
为了能够在 Bohrium 平台上使用嘉庚超算执行相关代码,需要将上一步生成的 sif 镜像部署到超算上的指定位置。
部署完成后可参考此 [教程](./docs/tutorial.md) 去使用。