Deep Learning 2023/07/05
读代码
1. 关于argparse包
parser = argparse.ArgumentParser(description='PyTorch CIFAR10 Training')
parser.add_argument('--lr', default=0.1, type=float, help='learning rate')
parser.add_argument('--resume', '-r', action='store_true',help='resume from checkpoint')
parser.add_argument('--epoch', type=int, default=200, help='training epoch')
parser.add_argument('--warm', type=int, default=1, help='warm up training phase')
import argparse
def test():
parser = argparse.ArgumentParser(description="jqh is xxx")
parser.add_argument('name', type=str, help='Your name')
args = parser.parse_args()
name = args.name
print(name)
if __name__ == '__main__':
test()
第一段出现在实验室代码中,在我看来是不太美观的(初学者),但是据传这样写更具有交互性和易用性,自动处理参数解析和验证的细节,提高开发效率和代码可读性。
模型训练流程
-
检测是核显还是独显
-
定义训练集,并对训练集进行预处理
-
定义测试集,并对测试集进行预处理
-
加载训练集
-
加载测试集
-
建立模型
建立模型
1. 损失函数
损失函数,用于评估预测值与真实值的偏离程度。
损失函数的主要分为以下类型:
交叉熵损失函数(Cross-Entropy Loss):适用于分类问题,特别是多类别分类问题。常见的交叉熵损失函数包括softmax 交叉熵损失和稀疏 softmax 交叉熵损失。
均方误差损失函数(Mean Squared Error Loss):适用于回归问题,其中目标值和预测值之间的差异被平方并求取均值。
二进制交叉熵损失函数(Binary Cross-Entropy Loss):适用于二分类问题,常用于逻辑回归任务。
感知损失函数(Hinge Loss):适用于支持向量机(SVM)等模型,在分类问题中用于最大化类别间的间隔。
KL散度损失函数(Kullback-Leibler Divergence Loss):用于衡量两个概率分布之间的差异,常用于生成模型中的对抗训练(如生成对抗网络 GAN)。
平均绝对误差损失函数(Mean Absolute Error Loss):适用于回归问题,将目标值和预测值之间的差异取绝对值并求取均值。