零基础学习深度学习以及模块缝合总结

Python基础知识

  • 工具和资源:PyTorch、Zotero、谷歌学术、Github、B站、ChatGPT等。

深度学习基本知识

张量维度表示

  • (N, C, H, W):表示数据张量的形状,其中N是批量大小,C是通道数(如RGB图像中的3个通道),H是高度,W是宽度。
  • (h, w, c):表示图像数据的形状,h是高度,w是宽度,c是通道数。
  • (B, N, C):表示批量处理的数据,其中B是批量大小,N是样本数量,C是通道数。

张量维度转换

  • 如何在3D和4D张量之间进行转换。通过rearrange函数可以实现这种转换。
  • 例如,将形状为(B, H*W, C)的3D张量转换为(B, C, H, W)的4D张量时,需要提供高度H和宽度W的信息。

torch.shape和torch.size()

  • output.shape返回张量的形状元组。
  • output.size()返回一个torch.Size对象,可以用于类似的操作。

np.reshape和torch.reshape

  • np.reshape用于改变NumPy数组的形状。
  • torch.reshape用于改变PyTorch张量的形状,类似于NumPy的用法。

torch.rand()和torch.randn()的区别

  • torch.rand()生成从均匀分布[0, 1)中抽取的随机数。
  • torch.randn()生成从标准正态分布中抽取的随机数。

模型训练与评估

训练模型

  • 训练过程中详细的步骤,如数据预处理、模型定义、损失函数计算、反向传播和参数更新。
  • 损失函数:以交叉熵损失为例,如何计算模型的损失。
  • 反向传播:通过链式法则计算损失对模型参数的梯度,并更新参数以最小化损失。

评估指标

  • TP(True Positive):正确预测为正类的样本数。
  • FP(False Positive):错误预测为正类的样本数。
  • TN(True Negative):正确预测为负类的样本数。
  • FN(False Negative):错误预测为负类的样本数。
  • Recall(召回率):TP / (TP + FN)。
  • IoU(Intersection over Union):用于目标检测,表示预测框与实际框的交集与并集的比例。
  • Accuracy(准确率):正确预测样本数 / 总样本数。
  • F1 Score:精确率和召回率的调和平均数。

训练可视化

  • 使用TensorBoardX记录和可视化训练过程中的损失、准确率等指标。

数据预处理

reshape()、resize()和squeeze()

  • reshape():用于改变张量的形状。
  • resize():用于调整张量的大小。
  • squeeze():用于删除张量中大小为1的维度。

unsqueeze()

  • 用于在指定位置增加一个新的维度。例如x.unsqueeze(0)会在第0维前增加一个新维度。

transforms.Compose()

  • 用于将多个数据变换操作组合在一起。例如,将图像缩放、裁剪、转换为张量等操作组合。

模型结构和模块缝合

U-Net、ResNet、ResNeXt、ResNeSt

  • 这些网络结构的组成部分及其在实际中的应用。
  • U-Net:用于图像分割,包含卷积层、上采样和跳跃连接。
  • ResNet:引入了残差块,以解决深层网络的梯度消失问题。
  • ResNeXt和ResNeSt:在ResNet的基础上进一步改进,引入了更多的并行卷积路径和注意力机制。

Transformer

  • 编码器(Encoder)解码器(Decoder)的结构及其工作原理。
  • 注意力机制:包括自注意力和多头注意力。
  • Vision Transformer (ViT):将Transformer应用于计算机视觉任务的结构和示例。

其他实用技巧

优化器

  • 不同优化器的使用,如SGD和Adam。
  • SGD(随机梯度下降):适用于简单的优化任务。
  • Adam(自适应矩估计):结合了动量和自适应学习率的优势,适用于更复杂的优化任务。

超参数调整

  • 学习率迭代次数批量大小等参数的设置和调整方法。
  • 正则化参数:如L1和L2正则化,用于防止模型过拟合。

设备选择

  • 使用torch.device选择在GPU或CPU上执行操作,通过torch.cuda.is_available()检查CUDA是否可用。
相关推荐
老鱼说AI13 分钟前
论文精读第七期:告别昂贵的人工标注!Math-Shepherd:如何用“零成本”自动化过程监督,让大模型数学能力暴涨?
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理·boosting
抠头专注python环境配置29 分钟前
基于Python与深度学习的智能垃圾分类系统设计与实现
pytorch·python·深度学习·分类·垃圾分类·vgg·densenet
梦想是成为算法高手1 小时前
带你从入门到精通——知识图谱(一. 知识图谱入门)
人工智能·pytorch·python·深度学习·神经网络·知识图谱
棒棒的皮皮2 小时前
【深度学习】YOLO学习教程汇总
深度学习·学习·yolo·计算机视觉
地理探险家3 小时前
【YOLOv8 农业实战】11 组大豆 + 棉花深度学习数据集分享|附格式转换 + 加载代码
人工智能·深度学习·yolo·计算机视觉·目标跟踪·农业·大豆
TonyLee0173 小时前
半监督学习介绍
人工智能·python·深度学习·机器学习
DashVector3 小时前
通义深度搜索-上传文件
人工智能·深度学习·阿里云·ai·深度优先
龙山云仓3 小时前
No131:AI中国故事-对话荀子——性恶论与AI约束:礼法并用、化性起伪与算法治理
大数据·人工智能·深度学习·算法·机器学习
Ly.Leo3 小时前
时序预测开源项目TimeMachine的布署教程
深度学习·神经网络·ubuntu·开源
WJSKad12353 小时前
【深度学习】向日葵目标检测模型优化_1
深度学习·目标检测·目标跟踪