1 准备环境
1.1安装argoverse
setup.py中sklearn要改成scikit-learn。
在argoverse-api文件夹下根据setup.py来安装必要依赖。
pip install -i -e .
// 如果上面这个报错,就用下面这个,是因为超时导致的。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -e . .
No module named ensurepip
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 下载安装脚本
python3 get-pip.py
fatal error: Python.h: 没有那个文件或目录
sudo apt-get install python-dev
sudo apt-get install python3.7-dev
1.2安装Anaconda和pytorch
wget https://repo.anaconda.com/archive/Anaconda3-2021.11-Linux-x86_64.sh
bash xx.sh
conda create -n vectornettest python=3.7
conda install pytorch torchvision torchaudio cpuonly -c pytorch
1.3 安装torch-geomtric
在https://data.pyg.org/whl/网址选择你的toch版本的链接,确认torch版本链接可以:
import torch
print(torch.__version__)
我的是1.13的,那么在该网址(https://data.pyg.org/whl/torch-1.13.1%2Bcpu.html)下载如下4个包:
torch_cluster-1.6.1+pt113cpu-cp37-cp37m-linux_x86_64.whl
torch_scatter-2.1.1+pt113cpu-cp37-cp37m-linux_x86_64.whl
torch_sparse-0.6.17+pt113cpu-cp37-cp37m-linux_x86_64.whl
torch_spline_conv-1.2.2+pt113cpu-cp37-cp37m-linux_x86_64.whl
然后在conda的vectornet的环境里,pip install 这些包,再安装torch-
注意,pip install超时时可以 -i https://pypi.tuna.tsinghua.edu.cn/simple
1.3 进入环境与退出环境
conda activate vectornettest
conda deactivate
其中,conda deactivate输入一次退出虚拟环境,再输入一次退出base。
2 源码分析
- SubGraph
- SelfAttentionLayer
- MLP
2.1 SubGraph分析
- GraphLayerProp
- GraphLayerProp
- GraphLayerProp
- max_pool
- norm
2.1.1 GraphLayerProp
- MLP(Linear LayerNorm ReLU Linear)
- Propagate(传递邻居节点;聚合最大值;更新时将原feature和聚合后的feature相连)
2.2 SelfAttentionLayer分析
就是自注意力机制
2.3 MLP分析
就是自注意力机制
8. Linear
9. LayerNorm
10.ReLU
11.Linear