Commit 82619d20 authored by zhangwenbo's avatar zhangwenbo 🎨
Browse files

Update README.md

parent bc87eece
# ParticleNet
# 1. 环境准备
docker pull image.sourcefind.cn:5000/dcu/admin/base/tensorflow:2.18.0-ubuntu22.04-dtk25.04.2-py3.10
## 论文
# 2. 创建容器
docker run -it \
--name ParticleNet \
--privileged \
--network=host \
--ipc=host \
--shm-size=64G \
--cap-add=SYS_PTRACE \
--device=/dev/dri:/dev/dri \
-v /opt/hyhal:/opt/hyhal:ro \
-v $PWD:/workspace \
--security-opt seccomp=unconfined \
image.sourcefind.cn:5000/dcu/admin/base/tensorflow:2.18.0-ubuntu22.04-dtk25.04.2-py3.10 \
/bin/bash
`Jet Tagging via Particle Clouds`
* https://arxiv.org/pdf/1902.08570
# 3. 拉取代码&安装依赖
cd /workspace
## 模型结构
git clone http://developer.sourcefind.cn/codes/modelzoo/particlenet_tensorflow.git
本项目使用ParticleNet(Lite),包含 EdgeConv 操作进行卷积,该操作能够利用粒子云的局部空间结构,并保持置换不变性。模型包含多个 EdgeConv 块,每个块使用不同数量的邻居和通道数,以学习不同尺度的特征。
cd particlenet_tensorflow/tf-keras
<img src="readme_imgs/arch.png" style="zoom:70%">
pip install -r requirements.txt
pip install tf_keras==2.18.0 -i https://pypi.tuna.tsinghua.edu.cn/simple --no-deps
## 算法原理
# 4. 下载&预处理数据集
mkdir original
该算法将喷注视为“粒子云”,即无序的粒子集合。 它利用 EdgeConv 操作和动态图更新方法,有效地提取粒子云的局部空间结构和特征,从而实现对喷注的准确分类。
cd original
curl -O -L https://zenodo.org/record/2603256/files/train.h5
curl -O -L https://zenodo.org/record/2603256/files/test.h5
curl -O -L https://zenodo.org/record/2603256/files/val.h5
## 环境配置
cd ..
python convert_dataset.py # 程序结束后生成converted目录
注意:所有文件均在`tf-keras`目录下。
### Docker(方法一)
docker pull image.sourcefind.cn:5000/dcu/admin/base/tensorflow:2.13.1-py3.10-dtk24.04.3-ubuntu20.04
docker run --shm-size 50g --network=host --name=particlenet --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v 项目地址(绝对路径):/home/ -v /opt/hyhal:/opt/hyhal:ro -it <your IMAGE ID> bash
cd tf-keras
pip install -r requirements.txt
### Dockerfile(方法二)
docker build -t <IMAGE_NAME>:<TAG> .
docker run --shm-size 50g --network=host --name=particlenet --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v 项目地址(绝对路径):/home/ -v /opt/hyhal:/opt/hyhal:ro -it <your IMAGE ID> bash
cd tf-keras
pip install -r requirements.txt
## 数据集
仅在tf-keras目录下可用
[zenodo](https://zenodo.org/records/2603256)
数据存储结构:
```
original/
├── test.h5
├── train.h5
└── val.h5
```
运行`convert_dataset.py`对数据进行处理,
```
python convert_dataset.py
```
处理后
```
converted/
├── test_file_0.awkd
├── train_file_0.awkd
└── val_file_0.awkd
```
<!-- 提示:执行下述命令启动服务,`jupyter notebook --no-browser --ip=0.0.0.0 --allow-root` -->
## 训练
```bash
python keras_train.py
```
## 推理
```bash
python predict_demo.py
```
注意:代码仅提供简单的推理测试,需根据需求进行修改。
## result
![alt txt](readme_imgs/r.jpg)
### 精度
所有结果均使用项目中的默认参数训练得到.
||val_acc|
|:---:|:---:|
|k100ai|0.9229|
|gpu|0.9145|
## 应用场景
### 算法类别
`ai for science`
### 热点应用行业
`高能物理,医疗,金融`
## 源码仓库及问题反馈
* https://developer.sourcefind.cn/codes/modelzoo/particlenet_tensorflow
## 参考资料
* https://github.com/hqucms/ParticleNet
# 5. 测试命令
训练:python keras_train.py
推理:python predict_demo.py
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment