当前位置: 首页 > article >正文

深度学习-02 Pytorch

torchvision是一个用于计算机视觉任务的Python包,它是PyTorch的一个扩展库。它提供了一些流行的数据集、模型架构和图像转换函数,以方便用户进行计算机视觉任务的开发和研究。
1.torchvision中包含了许多常用的计算机视觉数据集,如MNIST、CIFAR10、CIFAR100和ImageNet等。用户可以通过简单的接口加载这些数据集,并进行数据预处理、数据增强和数据加载等操作。

2.此外,torchvision还提供了一些常用的计算机视觉模型架构,如AlexNet、VGG、ResNet和DenseNet等。用户可以使用这些预训练的模型,或者根据自己的需求进行微调。

3.在图像转换方面,torchvision提供了一系列的图像预处理和数据增强函数,如裁剪、缩放、翻转、旋转、亮度调整和颜色增强等。这些函数可以用来对图像进行预处理,以提高模型的训练效果。

import torchvision
from torch.utils.tensorboard import SummaryWriter

dataset_transform=torchvision.transforms.Compose([
    torchvision.transforms.ToTensor()
])


# train_set=torchvision.datasets.CIFAR10("./dataset",train=True,download=True)
# test_set=torchvision.datasets.CIFAR10("./dataset",train=False,download=True)

# print(test_set[0])
# print(test_set.classes)
#
# img,target=test_set[0]
# print(img)
# print(target)
# print(test_set.classes(target))
# img.show()

# 把所有图片转换为tensor类型
train_set=torchvision.datasets.CIFAR10("./dataset",train=True,transform=dataset_transform,download=True)
test_set=torchvision.datasets.CIFAR10("./dataset",train=False,transform=dataset_transform,download=True)
print(test_set[0])

writer=SummaryWriter("p10")
for i in range(10):
    img,target=test_set[i]
    writer.add_image("test_set",img,i)

writer.close()

DataLoader是PyTorch库中的一个实用工具,用于加载和预处理数据,以供训练和测试深度学习模型使用。它提供了许多功能,使数据加载变得更加高效和灵活。DataLoader的主要功能包括:
1.数据加载和预处理:DataLoader能够自动加载数据,并在需要时进行预处理。它可以从本地磁盘、网络或其他数据源中加载数据,并将其转换为PyTorch张量格式。它还支持数据增强操作,例如随机裁剪、翻转和旋转,以增加训练数据的多样性。

2.批处理和并行处理:DataLoader能够将数据分成小批量进行处理,以加快训练过程。它还支持使用多个CPU核心或GPU对数据进行并行处理,以提高训练的效率。

3.数据打乱和重复:DataLoader能够自动打乱数据的顺序,并可以设置数据的重复次数,以增加训练的随机性和多样性。

4.数据加载器的配置和使用:DataLoader提供了丰富的配置选项,可以根据具体需求进行调整。它还提供了简单易用的API,使得数据加载和使用变得更加方便。

卷积层(Convolutional Layer)是神经网络中的核心层级,它能够对输入数据进行特征提取。它通过使用一系列的卷积核(也称为过滤器)对输入数据进行卷积操作,从而生成一系列的特征图。卷积操作实际上是通过卷积核与输入数据的局部区域进行点乘运算,并将结果求和得到一个特征元素。通过在不同的位置应用不同的卷积核,卷积层能够提取出不同的特征,例如边缘、纹理等。卷积层的输出通常会经过非线性激活函数(如ReLU)进行激活。

池化层(Pooling Layer)是用于降低卷积层输出数据的空间维度的层级。它通过对输入数据的局部区域进行池化运算,生成一个池化特征。池化操作通常有两种方式:最大池化和平均池化。最大池化选取局部区域中的最大值作为池化特征,而平均池化则是取局部区域的平均值。池化层的作用是减小特征图的尺寸,同时保留重要的特征。这样可以减少网络的参数数量,加快计算速度,并且能够提高模型的鲁棒性。

卷积层和池化层通常会交替使用,构成深度卷积神经网络。通过多层的特征提取,网络能够逐渐学习到更加抽象和高级的特征,从而提高模型的性能。

在深度学习中,非线性是指输入和输出之间存在复杂的关系,无法用简单的线性方程来描述。这种非线性关系常常出现在图像、语音和自然语言处理等领域中,因为这些领域的数据具有高度的复杂性和多样性。
PyTorch提供了许多非线性函数,如激活函数和损失函数,以帮助我们建立非线性的神经网络模型。


http://www.kler.cn/a/302166.html

相关文章:

  • 二分查找--快速地将搜索空间减半
  • 嵌入式硬件实战基础篇(一)-STM32+DAC0832 可调信号发生器-产生方波-三角波-正弦波
  • HarmonyOS NEXT应用开发实战 ( 应用的签名、打包上架,各种证书详解)
  • unity 一个物体随键盘上下左右旋转和前进的脚本
  • 【云原生系列--Longhorn的部署】
  • leetcode-位运算题型
  • 安卓显示驱动
  • Flutter 响应式框架
  • Ubuntu20如何设置网络
  • 监控系统添加vcenter上的esxi主机
  • Kafka高吞吐量的原因
  • 苹果的“AI茅”之路只走了一半
  • Unity3D 自定义Debug双击溯源问题详解
  • 何为信创?信创有哪些?
  • FPGA技术赋能云数据中心:提高性能与效率
  • DevOps -分布式追踪与监控
  • 自定义Spring-start学习笔记
  • php转职golang第二期
  • 9.13学习记录
  • 分布式本地缓存 ehcache 缓存同步复制
  • Javaweb项目实现文件导出功能
  • 服务器数据恢复—Linux操作系统环境下网站数据的恢复案例
  • Java、python、php、node.js版 铁路售票自动选座系统 高铁购票系统 火车订票平台(源码、调试、LW、开题、PPT)
  • Android Graphics 显示系统 - VirtualDisplay的初印象 - 简单示例
  • .Net 中各种线程同步锁
  • Gitea Action 简单配置(CI/CD)