一、随机数种子(Seed)
由于每次训练结果都有微小的误差,故在train.py文件添加:
import torch
import numpy as np
import random
def set_seed(seed):
torch.manual_seed(seed)
torch.cuda.manual_seed(seed)
torch.cuda.manual_seed_all(seed) # 如果你使用多个GPU
np.random.seed(seed)
random.seed(seed)
torch.backends.cudnn.deterministic = True # 确保每次卷积操作的结果是确定性的
torch.backends.cudnn.benchmark = False # 使用确定性的算法
# 设置随机种子
set_seed(42)
# 后续的深度学习代码
# 初始化模型、数据集等
二、设置进程名字
只显示python,不知道是哪个进程。故在main()函数内加入:
import os
import setproctitle
setproctitle.setproctitle(os.getcwd())