README.md 3.06 KB
Newer Older
zhanggzh's avatar
zhanggzh committed
1
# <div align="center"><strong>SparseConvNet</strong></div>
zhanggzh's avatar
zhanggzh committed
2
## 简介
zhanggzh's avatar
zhanggzh committed
3
4
SparseConvNet 这是用于训练子流形稀疏卷积网络的 PyTorch 库

zhanggzh's avatar
zhanggzh committed
5
## 安装
zhanggzh's avatar
zhanggzh committed
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
组件支持组合

   | PyTorch版本 | fastpt版本  |sparseconvnet版本      | DTK版本                  | Python版本       | 推荐编译方式 |
   | ----------- | ----------- | ----------- | ------------------------ | -----------------| ------------ |
   | 2.5.1       | 2.1.0       |0.2        | >= 25.04                 | 3.8、3.10、3.11  | fastpt不转码 |
   | 2.4.1       | 2.0.1       |0.2        | >= 25.04                 | 3.8、3.10、3.11  | fastpt不转码 |
   

+ pytorch版本大于2.4.1 && dtk版本大于25.04 推荐使用fastpt不转码编译。

### 1、使用pip方式安装
sparseconvnet whl包下载目录:[光和开发者社区](https://download.sourcefind.cn:65024/4/main),选择对应的pytorch版本和python版本下载对应sparseconvnet的whl包
```shell
pip install torch* (下载torch的whl包)
pip install fastpt* --no-deps (下载fastpt的whl包)
source  /usr/local/bin/fastpt -E
pip install sparseconvnet* (下载的sparseconvnet的whl包)
zhanggzh's avatar
zhanggzh committed
23
```
zhanggzh's avatar
zhanggzh committed
24
25
26
27
28
29
30
31
32
33
34
35
36
### 2、使用源码编译方式安装

#### 编译环境准备
提供基于fastpt不转码编译:

1. 基于光源pytorch基础镜像环境:镜像下载地址:[光合开发者社区](https://sourcefind.cn/#/image/dcu/pytorch),根据pytorch、python、dtk及系统下载对应的镜像版本。

2. 基于现有python环境:安装pytorch,fastpt whl包下载目录:[光合开发者社区](https://sourcefind.cn/#/image/dcu/pytorch),根据python、dtk版本,下载对应pytorch的whl包。安装命令如下:
```shell
pip install torch* (下载torch的whl包)
pip install fastpt* --no-deps (下载fastpt的whl包, 安装顺序,先安装torch,后安装fastpt)
pip install pytest
pip install wheel
zhanggzh's avatar
zhanggzh committed
37
```
zhanggzh's avatar
zhanggzh committed
38
39
40
41
42

#### 源码编译安装
- 代码下载
```shell
git clone http://developer.sourcefind.cn/codes/OpenDAS/sparseconvnet.git # 根据编译需要切换分支
zhanggzh's avatar
zhanggzh committed
43
```
zhanggzh's avatar
zhanggzh committed
44
- 提供2种源码编译方式(进入sparseconvnet目录):
Benjamin Thomas Graham's avatar
Benjamin Thomas Graham committed
45
```
zhanggzh's avatar
zhanggzh committed
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
1. 设置不转码编译环境变量
source /usr/local/bin/fastpt -C

2. 编译whl包并安装
python3 setup.py -v bdist_wheel
pip install dist/sparseconvnet*

3. 源码编译安装
sh develop.sh
```
#### 注意事项
+ 若使用pip install下载安装过慢,可添加pypi清华源:-i https://pypi.tuna.tsinghua.edu.cn/simple/
+ ROCM_PATH为dtk的路径,默认为/opt/dtk
+ 在pytorch2.5.1环境下编译需要支持c++17语法,打开setup.py文件,把文件中的 -std=c++14 修改为 -std=c++17

## 验证
```shell
python3
Python 3.10.12 (main, Feb  4 2025, 14:57:36) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sparseconvnetd
>>> sparseconvnet.__version__
'0.2'
>>>
```
版本号与官方版本同步,查询该软件的版本号,例如0.2.

## Known Issue
-

## 参考资料
- [README_ORIGIN](README_ORIGIN.md)
- [README_zh-CN](README_zh-CN.md)
- [https://github.com/facebookresearch/SparseConvNet](https://github.com/facebookresearch/SparseConvNet)