查看NNI 官网

这里,我们只用到了超参数调优功能,通过搜索,查询到相关应用资料:
微软自动调参工具—NNI—安装与使用教程_nni安装-CSDN博客
第一、总体介绍:
通过对NNI官网及上述资料的阅读,整理快速上手NNI 进行深度学习调参步骤:
1、已经完成训练模型代码的编写model.py,即可以手动给定超参数,进行模型训练;
2、下载nni库,pip install nni;
3. 添加配置文件,search_space.json;
4. 编写主文件 main.py。
因此整体代码包括:数据集、main.py 、model.py 、search_space.json(nni 是自动生成的)

第二、每块部分介绍:
model.py
我们只需要在开始训练前,插入
params = nni.get_next_parameter()
params 去配置模型
同时在训练过程中,引入 中间报告 nni.report_intermediate_result(val_loss)
最终报告 nni.report_final_result(rmse)
具体代码如下:
import torch
import torch.nn as nn
import torch.optim as optim
from torch.utils.data import TensorDataset, DataLoader
from sklearn.model_selection import train_test_split
import numpy as np
import pandas as pd
import random
import nni
# 设置随机种子
def set_seed(seed=42):
random.seed(seed)
np.random.seed(seed)
torch.manual_seed(seed)
torch.cuda.manual_seed_all(seed)
torch.backends.cudnn.deterministic = True
torch.backends.cudnn.benchmark = False
# # 超参数列表
# lr_list = [0.001, 0.01, 0.1]
# num_epochs_list = [200, 300, 500]
# batch_size_list = [12, 24, 36]
# hidden_size_list = [16, 32, 64]
# l1_reg_

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



