项目简介
本项目聚焦于无线信号分类与多核任务调度系统的实现,旨在优化任务在多核上的分配,保障任务在截止时间前完成,同时兼顾任务执行时间和预测准确率。项目运用PCA降维、卷积神经网络(CNN)以及多种任务调度策略(如贪心算法、遗传算法等),达成高效的信号分类与任务调度。
项目的主要特性和功能
- 无线信号分类
- 运用PCA降维方法,把30720维度的帧信号降维至9600维度。
- 借助卷积神经网络(CNN)模型对降维后的信号分类,分为11个场景。
- 采用集成学习方法,结合多个CNN模型预测结果,提高分类准确率。
- 多核任务调度
- 实现贪心算法、遗传算法、亲和度优先策略等多种任务调度策略。
- 依据任务截止时间和类型,将任务分配到不同核心执行,提升系统效率。
- 利用小根堆等数据结构,优化任务分配和执行顺序,确保任务按时完成。
- 性能评估
- 通过计算任务完成率和核的效率等指标评估调度策略效果。
- 提供得分函数,综合考量任务亲和性和执行时间,评估调度策略优劣。
安装使用步骤
环境准备
确保已安装Python 3.x版本,并安装所需Python库,可通过以下命令安装:
bash
pip install numpy torch scikit-learn
数据准备
准备好二进制格式的训练和测试数据集,确保数据路径正确。
模型训练
运行train_cnn1.py
和train_cnn3.py
脚本,训练CNN1和CNN3模型:
bash
python train_cnn1.py
python train_cnn3.py
训练完成后,模型将保存到指定路径。
模型预测
使用predict.py
脚本对测试集进行预测,并将预测结果保存到CSV文件中:
bash
python predict.py
任务调度
使用greedy_schedule.py
、genetic_algorithm.py
等脚本,根据任务调度策略将任务分配到不同的核心上执行:
bash
python greedy_schedule.py
python genetic_algorithm.py
结果分析
根据输出的任务分配结果,分析调度策略的效果,优化调度参数。
注意:运行脚本前,请确保已正确设置文件路径和参数,并根据实际情况调整模型结构和训练参数。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】