(三)了解和运行简单的深度学习模型

1、发展历程

1、TensorFlow

TensorFlow是一个端到端开源机器学习平台,使用数据流图进行数值计算,图中的节点代表数学运算,而图中的边则代表在这些节点之间传递的张量。TensorFlowi支持oythonJavaScript、C++、Java和Go, C#和julia等多种编程语言,让用户可以快速设计深度学习网络,将底层细节进行抽象;灵活的架构支持多GPU、分布式训练,跨平台运行能力强。

2、PyTorch

PyTorch: 在2017年,Torch的幕后团队推出了PyTorch。PyTorch不是简单地封装Lua Torch提供Python接口,而是对Tensor之上的所有模块进行了重构,并新增了最先进的自动求导系统,成为当下最流行的动态图框架之一。

PyTorch是与Python相融合的具有强大的GPU支持的张量计算和动态神经网络的框架。它由Facebook创建,目前被广泛应用于学术界和工业界。Pytorch可以与NumPy,SciPy等可以无缝连接。

3、Apache MXnet

Apache MXnet是为了提高效率和灵活性而设计的深度学习框架。它允许使用者将符号编程和命令式编程混合使用,从而最大限度地提高效率和生产力。它拥有类似于Theano和TensorFlow的数据流图,为多GPU配置提供了良好的配置。

同样的模型,MXNt往往占用更小的内存和显存,并且在分布式环境下扩展性能出色,可有效扩展到多个GPU和多台机器。

4、PaddlePaddle

PaddlePaddle(平行分布式深度学习)是一个易于使用的高效、灵活、可扩展的深度学习平台。

它最初是由百度科学家和工程师们开发的。

 功能上,PaddlePaddle同时支持动态图和静态图,能方便地调试模型,方便地部署,非常适合业

务应用的落地实现。在图像识别、语音识别、自然语言处理、机器人、网络广告投放、医学自动诊

断和金融等领域有着广泛应用

5、Caffe(Convolutional Architecture for Fast Feature Embedding)

Caffe是一个流行的深度学习框架。
最初由加州大学伯克利分校开发,专注于卷积神经网络(CNN)在计算机视觉任务中的应用。Caffe以速度和效率为特点,适用于图像分类、目标检测、分割等视觉任务。
主要特点包括:
1.卷积优化:Caff®专门优化了卷积操作,使其在图像处理任务中表现出色,尤其在大规模图像数据集上的训练效率高。
2.静态计算图:类似于TensorFlow,Caffe使用静态计算图来定义模型结构和操作,有助于优化计算流程,但也限制了一些灵活性。
3.模型库:Caffe提供了预训川练模型库,如Caffe Model Zoo,方便开发者使用已训练好的模型,加速任务的实现。
4.多平台支持:Caffe支持CPU和GPU加速,并且能够在Linuxa和Windows等多种操作系统上运行。

常用的深度学习框架 / 不同框架的特点:

 
2、深度学习框架中的基本概念

1、层

在深度学习框架中,层(Layers))是模型的基本组成单元,用于实现特定的操作和功能。每个层都执行一些数学运算,将输入数据转换为输出,构建出整个神经网络的架构。不同类型的层用于不同的任务和模型架构。
全连接层:全连接层也称为密集层,将输入的所有节点连接到输出的每个节点,常用于图像分类、回归等任务。
卷积层:卷积层在输入数据上应用卷积操作,用于图像处理和计算机视觉任务。它可以捕获图像中的局部特征。
池化层:池化层用于减少图像尺寸,从而降低计算复杂度,同时保留关键特征。最大池化和平均池化是常见的池化方法。
循环层:循环层用于处理序列数据,如文本、时间序列。它们具有循环结构,能够在不同时间步共享参数,如循环神经网络(RNN)和长短时记忆网络(LSTM)。
嵌入层:嵌入层将高维离散数据(如单词)映射到低维连续向量空间,常用于自然语言处理任务中的词嵌入。

正则化层:正则化层用于提高网络的稳定性和收敛速度,如批正则化(BatchNormalization)和层正则化(Layer Normalization)。


2、深度学习框架中的CUDA核函数

        在深度学习框架中,CUDA核函数是指在使用NVIDIA的GPU进行计算时,通过CUDA(Compute Unified Device Architecture)技术编写的并在GPU上执行的函数。CUDA核函数允许开发者利用GPU的并行计算能力来加速深度学习模型的训练和推理。
        在使用深度学习框架时,开发者通常无需直接编写CUDA核函数,因为框架会提供高级的API和抽象来利用GPU加速。例如,TensorFlow:提供了tf.device0来指定在GPU上运行的操作,而PyTorch则支持.to0函数将张量移动到GPU上。

3、前后端

前端指的是框架的Python接口,它为用户提供了一组用于构建、训练和评估深度学习模型的工具。
前端接口使用Python编写,因此可以轻松与其他Python库集成(如numpys等)。

后端指的是框架的底层C++引擎,它负责执行前端指定的计算。后端引擎使用张量表示计算图的节点和边,并使用高效的线性代数运算和卷积运算来执行计算。
后端引擎也负责与底层平台(如GPU和CPU)进行交互,并将计算转换为底层平台能够执行的指令。

4、代码架构

​​​​​​​

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wmpreturn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值