README.md 2.71 KB
Newer Older
maming's avatar
maming committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# KamNet_pytorch

## 项目简介

KamNet 是一种面向球形液体闪烁体探测器的前沿神经网络模型。它利用 S² 和 SO(3) 群上的等变卷积操作,使模型对三维旋转具有不变性,适用于几何深度学习和非欧数据建模研究。

---

## 环境部署

### 1. 拉取镜像

```bash
docker pull harbor.sourcefind.cn:5443/dcu/admin/base/pytorch:2.5.1-ubuntu22.04-dtk25.04.2-py3.10
```

### 2. 创建容器

```bash
docker run -it \
--network=host \
--hostname=localhost \
--name=kamnet \
-v /opt/hyhal:/opt/hyhal:ro \
-v $PWD:/workspace \
--ipc=host \
--device=/dev/kfd \
--device=/dev/mkfd \
--device=/dev/dri \
--shm-size=512G \
--privileged \
--group-add video \
--cap-add=SYS_PTRACE \
-u root \
--security-opt seccomp=unconfined \
harbor.sourcefind.cn:5443/dcu/admin/base/pytorch:2.5.1-ubuntu22.04-dtk25.04.2-py3.10 \
/bin/bash
```

---

## 测试步骤

### 1. 拉取代码

```bash
git remote add origin http://developer.sourcefind.cn/codes/bw-bestperf/kamnet_pytorch.git
cd kamnet_pytorch/
```

### 2. 安装依赖

```bash
pip install joblib cython rtree shapely pyembree "trimesh[easy]" -i https://mirrors.aliyun.com/pypi/simple/  --trusted-host mirrors.aliyun.com

cd KamNet/lie_learn && pip install e .   #可能耗时较长
cd ../ && cd s2cnn && python setup.py install
```

### 3、获取优化包

```
curl -f -C - -o rocblas-install-1117-bug110157.tar.gz https://wuzh01.hpccube.com:65015/efile/s/d/bWFtaW5nMTAx/75c4336061c1be03  
#设置环境变量
CURRENT_DIR=$(pwd)
export LD_LIBRARY_PATH=$CURRENT_DIR/rocblas-install/lib:$LD_LIBRARY_PATH
#验证环境变量设置
echo $LD_LIBRARY_PATH | tr ':' '\n' | head -3
```

## 训练脚本(8卡)

```bash
cd KamNet_pytorch/s2cnn/examples/mnist
#生成球面MNIST数据集
python3 gendata.py
# 进入缺失文件的目录
cd /usr/local/lib/python3.10/dist-packages/lie_learn/representations/SO3/pinchon_hoggan/
# 从官方仓库手动下载缺失的矩阵文件
wget https://raw.githubusercontent.com/AMLab-Amsterdam/lie_learn/master/lie_learn/representations/SO3/pinchon_hoggan/J_dense_0-150.npy
#numa绑定,查看机器numa亲和度
export HIP_VISIBLE_DEVICES=0
numactl --cpunodebind=3 python run_new.py --network original
```

---

## 贡献指南

欢迎对KamNet项目进行贡献!请遵循以下步骤:

1. Fork 本仓库,并新建分支进行功能开发或问题修复。
2. 提交规范的 commit 信息,描述清晰。
3. 提交 Pull Request,简述修改内容及目的。
4. 遵守项目代码规范和测试标准。
5. 参与代码评审,积极沟通改进方案。

---

## 许可证

本项目遵循 MIT 许可证,详见 [LICENSE](./LICENSE) 文件。

---

感谢您的关注与支持!如有问题,欢迎提交 Issue 或联系维护团队。