【Datawhale AI 2024 topic:CV】

task1:

代码跑的时候没出现任何问题就是认证的时候有一点麻烦换了几个账号搞定的。

对任务基本了解,是对图片数据集做一个二分类内容,然后参数调优,将性能最大化。

task2

part1:深度学习

从大量数据自动学习提取特征,进行预测和决策。依赖神经网络进行计算。

机器学习&深度学习

前者使用简单的算法,需要人工设计特征工程来提高模型的性能;后者通过深层神经网络自动学习特征,能够处理和学习高维度和复杂的数据模式。

传统的机器学习算法需人工设计,称为特征工程;而深度学习能够自动从原始数据学习特征,可实现端到端的学习,直接从原始输入数据到最终输出结果。

经典机器学习算法:线性回归,决策树,随机森林,SVM,KNN等

线性回归

决策树

随机森林

SVM

KNN

要了解神经网络结构,神经元、层、向前传播和反向传播等概念。如何使用深度学习框架tensor flow或pytorch,它们提供了构建和训练深度学习模型所需的工具和API。掌握CNN、RNN、LSTM和Transformer模型

深度学习通常需要大量的数据来训练模型,对于某些领域或问题,获取足够的高质量数据可能是不现实的。

深度学习,这个网络的最底层接收输入数据,比如图片或文本,然后通过每一层的处理,逐渐提取出更高级别的特征,最后在顶层输出结果,比如识别图片中的物体或理解文本的含义。将基本的神经元模型组合起来就是神经网络

为了进一步提高模型的准确性和泛化能力,引入优化技术,激活函数的改进,权重初始化方法,正则化技术以及梯度下降的变种,等等。

Part2:深度学习如何训练

梯度下降是一种优化算法,用于最小化函数。梯度下降:损失函数的梯度指向函数增长最快的方向。因此,如果希望减少损失函数的值,就沿着梯度的反方向调整模型参数;训练时,先加载一小批量的数据,将其输入到神经网络,计算网络的输出。然后,使用损失函数来计算当前批次的损失,并通过反向传播计算损失函数关于每个参数的梯度,这些梯度告诉我们如何调整权重和偏置以减少损失。、

当数据集非常大时,一次性处理可能导致内存不足或计算过于缓慢。通过将数据分成小批量,可以频繁更新参数。

pytorch训练

准备一批图片数据(通过train_loader)和这些图片对应的正确标签(target)。

在开始训练之前,将模型设置为训练模式( model.train()

然后看学习后的预测结果output

预测结果和实际标签的loss

使用模型,让他自己指出错误,并更新他的内部参数减少这些错误(通过loss.backward()optimizer.step()

def train(train_loader, model, criterion, optimizer, epoch):

    # switch to train mode
    model.train()

    end = time.time()
    for i, (input, target) in enumerate(train_loader):
        input = input.cuda(non_blocking=True)
        target = target.cuda(non_blocking=True)

        # compute output
        output = model(input)
        loss = criterion(output, target)

        optimizer.zero_grad()
        loss.backward()
        optimizer.step()

训练代码包括前向传播、计算损失、反向传播和参数更新。这个过程会重复进行多轮(epoch),直到模型性能达到预期目标。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值