Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

电磁信号识别的深度学习框架

Notifications You must be signed in to change notification settings

cuit149/RadioFrame

Repository files navigation

项目框架

.
├── checkpoint
│  └── Mnist_LeNet_V1				#dir,存储Mnist数据集下LeNet的模型和日志文件
├── dataLoader						#dir,存储数据集处理函数
│  ├── __init__.py
│  ├── MNIST.py					#Mnist数据及文件
├── metric							#dir,存储各类的metric
│  ├── classifyMetric.py			#分类有关的metric
│  ├── __init__.py
├── model							#dir,存储各类model
│  ├── __init__.py
│  ├── lenet.py					#LeNet模型,用于Mnist训练
├── trainer							#dir,模型训练器
│  ├── BaseTrainer.py				#所有训练器的父类,存储一些共同操作
│  ├── __init__.py
│  ├── LeNetTrainer.py				#LeNet该网络对应的训练器
├── train.py						#用于模型的训练
├── test.py							#用于模型的测试
├── config.py						#配置文件
└── utils.py						#功能函数

Train

train之前,要依次对GPU、数据集、训练模型、损失函数、优化方法、metrics、tricks进行设置

1) GPU

config.GPU中进行设置`

  • use_gpu: True表示采用GPU
  • device_id:所采用的GPU的设备号

2) 数据集

以Mnist为例

选择框架存在的数据集

  1. config.CONFIG['dataset_name']中设置数据集名称

添加框架之外的数据集

  1. dataLoader文件夹中写好数据加载函数,MnistTrainSet、MnistTestSet
  2. config中添加数据集参数(数据加载函数所需要的参数)
self.Mnist = dict(dirname='',) ##注意config中的数据集名称要与dataLoader的数据类名称相同
  1. config.CONFIG['dataset_name']中设置所选的数据集名称

3) 训练模型

以LeNet为例

  1. model文件夹中添加模型类LeNet
  2. config中添加模型类参数(loadLeNet所需要的参数)
self.LeNet = dict() ##注意config中的模型类名称要与model的模型类名称相同
  1. config.CONFIG['model_name']中设置所选的模型名称

4) 损失函数

选择torch.nn中的损失函数

  1. config.CONFIG['criterion_name']中设置所选的损失函数名称CrossEntropyLoss

5) 优化方法

选择torch.nn中的优化方法

  1. config.CONFIG['optimizer_name']中设置所选的损失函数名称Adam
  2. config中添加优化方法参数(优化方法所需要的参数)
self.Adam = dict(
 lr = 0.01, #学习率
 weight_decay = 5e-4, #权重衰减
 )

6) Metrics

  1. metric文件夹中写好相应的metric
  2. self.config.CONFIG['metrics']中添加所需要的metric,注意:这里metircs为列表,可以选择多个metirc,而且metric函数的输入目前只支持两个参数logitstarget

7) 自适应修改学习率

  1. self.config.CONFIG['adjust_lr']中设置,True 代表采用自适应修改学习率
  2. 目前支持的修改学习率方法只有随epoch变更学习率的方法
  3. self.LRAdjust中设置相应的参数

8) 加载预训练模型

注意:该选项也应用在test.py的应用中

  1. self.config.CONFIG['load_model']中设置,True 代表加载预训练模型
  2. self.config.LoadModel中设置预训练模型的位置(注意:预训练模型所采用的模型要与self.config.CONFIG['model_name']是一样的)

9) 开始训练

python train.py

Test

test之前,要依次对GPU、数据集、训练模型、metrics进行设置

1) GPU

config.GPU中进行设置`

  • use_gpu: True表示采用GPU
  • device_id:所采用的GPU的设备号

2) 数据集

以Mnist为例

选择框架存在的数据集

  1. config.CONFIG['dataset_name']中设置数据集名称

添加框架之外的数据集

  1. dataLoader文件夹中写好数据加载函数,MnistTrainSet、MnistTestSet
  2. config中添加数据集参数(数据加载函数所需要的参数)
self.Mnist = dict(dirname='',) ##注意config中的数据集名称要与dataLoader的数据类名称相同
  1. config.CONFIG['dataset_name']中设置所选的数据集名称

3) 训练模型

以LeNet为例

  1. model文件夹中添加模型类LeNet
  2. config中添加模型类参数(loadLeNet所需要的参数)
self.LeNet = dict() ##注意config中的模型类名称要与model的模型类名称相同
  1. config.CONFIG['model_name']中设置所选的模型名称

4) Metrics

  1. metric文件夹中写好相应的metric
  2. self.config.CONFIG['metrics']中添加所需要的metric,注意:这里metircs为列表,可以选择多个metirc,而且metric函数的输入目前只支持两个参数logitstarget

5) 加载预训练模型

注意:该选项也应用在test.py的应用中

  1. self.config.CONFIG['load_model']中设置,True 代表加载预训练模型
  2. self.config.LoadModel中设置预训练模型的位置(注意:预训练模型所采用的模型要与self.config.CONFIG['model_name']是一样的)

9) 开始测试

python test.py

About

电磁信号识别的深度学习框架

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%

AltStyle によって変換されたページ (->オリジナル) /