深度学习笔记(3)读懂代码和小试牛刀
一、如何读代码和读代码
1 下载的代码怎么看
首先找到我们的一个入口函数Train.py运行来debug
训练参数:
--name cifar10-100_500 # 训练名称
--dataset cifar10 # 数据集
--model_type ViT-B_16 # 模型类型
--pretrained_dir checkpoint/ViT-B_16.npz # 预训练模型路径
把上面这些训练参数复制一下
把脚本形参那里展开 复制到那里。
然后去找main函数,按ctrl点进去,去看main函数里面有什么,你会看到一些变量参数。
然后下拉到下面实际执行的第一行代码那里,打个断点。然后去点右上角debug,
下面这段代码是设备的初始化,判断你是否有GPU,如果没有就使用cpu,gpu是几张卡等等。然后就是训练的所有的数据和模型都传到这个设备里面去。
# Setup CUDA, GPU & distributed training
if args.local_rank == -1:#单机训练
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")#判断是否有GPU
args.n_gpu = torch.cuda.device_count()#GPU数量
else: #
torch.cuda.set_device(args.local_rank)#设置GPU
device = torch.device("cuda", args.local_rank)#
torch.distributed.init_process_group(backend='nccl',
timeout=timedelta(minutes=60))
args.n_gpu = 1
args.device = device
这是日志设置,很多代码都是差不多的,用的时候现查就好了。
# Setup logging
logging.basicConfig(format=