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

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是否可用。
相关推荐
张登杰踩3 小时前
工业产品表面缺陷检测方法综述:从传统视觉到深度学习
人工智能·深度学习
DKunYu4 小时前
2.1线性回归
pytorch·python·深度学习·1024程序员节
大象耶6 小时前
计算机视觉六大前沿创新方向
论文阅读·人工智能·深度学习·计算机网络·机器学习
hour_go6 小时前
【知识图谱】图神经网络(GNN)核心概念详解:从消息传递到实战应用
笔记·深度学习·神经网络·1024程序员节
学术头条7 小时前
用视觉压缩文本!清华、智谱推出Glyph框架:通过视觉-文本压缩扩展上下文窗口
人工智能·深度学习·计算机视觉
B站_计算机毕业设计之家9 小时前
基于python人脸识别系统 人脸检测 实时检测 深度学习 Dlib库 ResNet深度卷积神经网络 pyqt设计 大数据(源码)✅
python·深度学习·目标检测·计算机视觉·信息可视化·人脸识别·1024程序员节
Theodore_102210 小时前
机器学习(9)正则化
人工智能·深度学习·机器学习·计算机视觉·线性回归·1024程序员节
Theodore_102210 小时前
机器学习(10)L1 与 L2 正则化详解
人工智能·深度学习·机器学习·梯度下降·1024程序员节
盼小辉丶11 小时前
视觉Transformer实战 | Transformer详解与实现
pytorch·深度学习·transformer·1024程序员节
千禧皓月11 小时前
【Diffusion Model】发展历程
人工智能·深度学习·diffusion model·1024程序员节