SOREL-20M 开源项目使用教程
1. 项目的目录结构及介绍
SOREL-20M 项目的目录结构如下:
SOREL-20M/
├── LICENSE.md
├── README.md
├── Terms and Conditions of Use.pdf
├── build_numpy_arrays_for_lightgbm.py
├── config.py
├── dataset.py
├── environment.yml
├── evaluate.py
├── generators.py
├── lightgbm_config.json
├── nets.py
├── plot.py
├── shas_missing_ember_features.json
├── train.py
├── pe_full_metadata_example/
│ └── 32c37c352802fb20004fa14053ac13134f31aff747dc0a2962da2ea1ea894d74.json
└── baselines/
├── checkpoints/
│ ├── FFNN/
│ └── lightGBM/
└── results/
├── ffnn_results.json
└── lgbm_results.json
目录结构介绍
- LICENSE.md: 项目许可证文件。
- README.md: 项目介绍和使用说明。
- Terms and Conditions of Use.pdf: 使用该数据集和代码的条款和条件。
- build_numpy_arrays_for_lightgbm.py: 用于构建 LightGBM 模型的 NumPy 数组的脚本。
- config.py: 项目的配置文件。
- dataset.py: 数据集处理脚本。
- environment.yml: 项目依赖的环境配置文件。
- evaluate.py: 用于评估模型的脚本。
- generators.py: 数据生成器脚本。
- lightgbm_config.json: LightGBM 模型的配置文件。
- nets.py: 神经网络模型定义脚本。
- plot.py: 用于绘制结果的脚本。
- shas_missing_ember_features.json: 包含缺失 Ember 特征的样本列表。
- train.py: 用于训练模型的脚本。
- pe_full_metadata_example/: 包含 PE 文件完整元数据的示例文件。
- baselines/: 包含基准模型的检查点和结果文件。
2. 项目的启动文件介绍
train.py
train.py
是用于训练模型的启动文件。它支持训练深度学习模型和 LightGBM 模型。可以通过以下命令启动训练:
python train.py train_network --remove_missing_features=shas_missing_ember_features.json
evaluate.py
evaluate.py
是用于评估模型的启动文件。可以通过以下命令启动评估:
python evaluate.py evaluate_network /home/ubuntu/results/0 /home/ubuntu/checkpoints/epoch_9.pt
plot.py
plot.py
是用于绘制模型评估结果的启动文件。可以通过以下命令启动绘图:
python plot.py plot_roc_distribution_for_tag /baselines/results/ffnn_results.json /ffnn_results.png
3. 项目的配置文件介绍
config.py
config.py
是项目的配置文件,包含了训练和评估过程中需要使用的各种参数。以下是一些关键配置项的介绍:
- device: 指定训练和评估使用的设备(CPU 或 CUDA)。
- dataset_location: 指定数据集的存储路径。
- checkpoint_directory: 指定模型检查点的存储路径。
- remove_missing_features: 指定是否移除缺失特征的样本。
配置文件可以通过命令行参数进行覆盖,例如:
python train.py train_network --device=cuda --dataset_location=/path/to/dataset
通过以上配置,可以灵活地调整训练和评估过程中的各种参数,以适应不同的需求和环境。