网站建设优化服务公司,手机算命网站建设,网络架构和管理,大数据营销深度学习中常用包
import os
import numpy as np
import torch
import torch.nn as nn
from torch.utils.data import Dataset, DataLoader
import torch.optim as optimizer超参数设置 2种设置方式#xff1a;将超参数直接设置在训练的代码中#xff1b;用yaml、json将超参数直接设置在训练的代码中用yaml、jsondict等文件来存储超参数
# 批次的大小
batch_size 16
# 优化器的学习率
lr 1e-4
# 训练次数
max_epochs 100GPU设置
# 方案一使用os.environ这种情况如果使用GPU不需要设置
import os
os.environ[CUDA_VISIBLE_DEVICES] 0,1 # 指明调用的GPU为0,1号# 方案二使用“device”后续对要使用GPU的变量用.to(device)即可
device torch.device(cuda:1 if torch.cuda.is_available() else cpu) # 指明调用的GPU为1号使用argparse和yaml文件
argparse的使用
import argparse
argparse.ArgumentParser()创建了一个对象add_argument()添加参数parse_args()将参数封装在opt内各个参数通过.运算符调用
def main(opt):print(opt.num_batches)if __name__ __main__:parse argparse.ArgumentParser()parse.add_argument(--num_batches, typeint, default50, helpthe num of batch)parse.add_argument(--num_window, typeint, default5, helpthe num of window)parse.add_argument(--weight, typestr, default ../pretrain.pth, helpthe path of pretrained model)opt parse.parse_args()main(opt)yaml文件的使用 下面是一个yaml文件的例子参数呈现层级结构
device: cpudata:train_path: data/traintest_path: test/trainnum: 1000读取yaml文件
def read_yaml(path):
read()读入yaml文件中的内容safe_load()加载yaml格式的内容并转换为字典
file open(path, r, encodingutf-8)string file.read()file.close()dict yaml.safe_load(string)return dictpath config.yaml
Dict read_yaml(path)
device Dict[device]
print(device)
train_path Dict[data][train_path]
print(train_path)使用方法 在yaml文件中给全部参数设置默认值使用argparse库设置待调参数的值
参考资料
深度学习代码中的argparse以及yaml文件的使用datawhale的thorough-pytorch repo