logo
0
0
WeChat Login

SAISfold Protenix

文件结构

.
├── .cnb.yml
├── Dockerfile
├── README.md
├── scripts/
│   ├── check_project_files.sh
│   └── run_protenix_inference.sh
└── 赛题/

CNB 使用方式

1. 第一次构建镜像

把代码推到 CNB 后,打一个 tag 来触发镜像构建:

git tag protenix-v1
git push origin protenix-v1

.cnb.ymltag_push 会执行:

docker build -t ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:latest .
docker push ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:latest

也就是用当前这个 Dockerfile 构建镜像,并推送到 CNB Docker 制品库。

2. 启动云原生开发

镜像构建成功后,点击 CNB 页面里的「云原生开发」或 VS Code 工作区入口。

.cnb.yml 会直接拉取:

${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:latest

这样就不用每次打开工作区都重新安装 Protenix。

3. 放入赛题 JSON

在工作区终端里:

mkdir -p 赛题
ls -lah 赛题

把比赛 .json 文件上传到:

./赛题/

4. 执行推理

推荐先用一个采样,省显存:

SAMPLE_NUM=1 /opt/saisfold/run_protenix_inference.sh

也可以执行仓库里的脚本:

SAMPLE_NUM=1 bash scripts/run_protenix_inference.sh

输出文件:

protenix_outputs/output.zip

本地 Docker 使用方式

本地机器需要 NVIDIA GPU、Docker、NVIDIA Container Toolkit。

docker build -t saisfold-protenix .

docker run --rm -it --gpus all \
  -v "$PWD:/workspace" \
  -w /workspace \
  saisfold-protenix \
  bash -lc 'SAMPLE_NUM=1 /opt/saisfold/run_protenix_inference.sh'

常见问题

为什么第一次构建还是慢?

因为 Dockerfile 里要安装 CUDA 基础环境、Python 依赖和 Protenix。慢的是构建镜像这一步。构建并推送到 CNB 制品库以后,后续云原生开发直接拉镜像,启动会快很多。

什么时候需要重新打 tag?

当你修改了 Dockerfile、Protenix 版本、脚本逻辑,或者想重新生成镜像时,重新打 tag:

git tag protenix-v2
git push origin protenix-v2

About

No description, topics, or website provided.
Protenixrepo-named
Language
Shell85.6%
Dockerfile14.5%