骨干网使用Alexnet和VGG,针对rcs数据分别有2通道,4通道和ifft的识别模型,其中ifft识别效果最佳。
存放1~10个类别的rcs数据,每个文件夹存放250帧的mat文件,每帧包含Ev,Eh两种极化接收方式,两种接收数据大小均为401x512,401对应8G到10GHz的采样点数, 512对应不同方位角俯仰角的接收位置。
存放训练集、验证集、测试集文件路径与类别的txt文件
生成txt格式的标签文件
观察转换后数据情况
直接abs接收数据的dataset,送入网络时是2x401x512
分开使用接收数据实部虚部的dataset,送入网络时是4x401x512
对频谱数据做ifft到时域后取abs的dataset,送入网络时是2x401x512
存放Alexnet,VGG网络及各种trick.
存放网络模型的与训练权重,加速网络训练速度,优化训练效果。Alexnet的预训练权值文件原链接丢失,目前方便获取的只有VGG权值。
存放test的预测结果
存放训练结果,包括.pth文件和训练损失记录
准确率测试
损失函数,采用交叉熵损失函数
生成预测结果
训练文件
主文件,train,eval,test均在通过主文件完成
注:batch_size根据电脑配置和模型大小调整,一般取2的次幂数
Alexnet:
python main.py --phase train --channel 2 --model Alexnet --ifft True --batch_size 16
VGG:
python main.py --phase train --channel 2 --model vgg --ifft True --batch_size 16
Alexnet:
python main.py --phase eval --channel 2 --model Alexnet --ifft True --batch_size 16 --resume path(比如model_24.pth)
--test_txt test.txt
VGG:
python main.py --phase eval --channel 2 --model vgg --ifft True --batch_size 16 --resume path(比如model_24.pth)
--test_txt test.txt
python main.py --phase train --channel 2 --model Alexnet --ifft False --batch_size 16
python main.py --phase eval --channel 2 --model Alexnet --ifft False --batch_size 16 --resume path(比如model_24.pth) --test_txt test.txt
python main.py --phase train --channel 4 --model Alexnet --ifft True --batch_size 8
python main.py --phase eval --channel 4 --model Alexnet --ifft True --batch_size 8 --resume path(比如model_24.pth) --test_txt test.txt
python main.py --phase train --channel 4 --model Alexnet --ifft False --batch_size 8
python main.py --phase eval --channel 4 --model Alexnet --ifft False --batch_size 8 --resume path(比如model_24.pth) --test_txt test.txt