• 深度学习网路模型


    1.深度学习网络模型

    (1)DNN(Deep Neural Network,深度神经网络)

    (2)RNN(Recurrent Neural Network,循环神经网络)

    (3)CNN(Convolution Neural Network,卷积神经网络)

    在这里插入图片描述

    在这里插入图片描述
    主要应用于:语音识别,机器翻译,生成图像描述;

    在这里插入图片描述
    主要你应用于:图像分类,检索;目标检测;目标分割;人脸识别;


    2.现在主流的深度学习框架

    (1)Google的开源框架TensorFlow:使用C++语言开发的开源数学计算软件,使用数据流图的形式进行计算。并且现在TensorFlow还集成了Keras框架,搭建框架效率较高;

    (2)Caffe框架:由贾扬清开发的,Convolutional Architecturefor Fast Feature Embedding,是一个清晰而高效的开源深度学习框架。

    (3)Theano:Theano的核心是一个数学表达式的编译器,它知道如何获取你的结构,并使之成为一个使用numpy、高效本地库的高效代码,如BLAS和本地代码(C++)在CPU或GPU上尽可能快地运行.

    (4)MXNet:MXNet的主要作者是李沐,如今成了亚马逊的官方框架,有着非常好的分布式支持,而且性能特别好,占用显存低,同时其开发的语言接口不仅仅有Python和C++,还有R,Matlab,Scala,JavaScript,等等.

    (5)Torch:Torch是一个有大量机器学习算法支持的科学计算框架,Facebook开源了大量Torch的深度学习模块和扩展。Torch的特点在于特别灵活,但是另一个特殊之处是采用了编程语言Lua,在深度学习大部分以Python为编程语言的大环境之下.

    (6)Pytorch:PyTorch的前身便是Torch,其底层和Torch框架一样,但是使用Python重新写了很多内容,不仅更加灵活,支持动态图,而且提供了Python接口。它是由Torch7团队开发,是一个以Python优先的深度学习框架,不仅能够实现强大的GPU加速,同时还支持动态神经网络.

    3.训练模型保存的文件名格式

    神经网络、深度学习和机器学习模型文件后缀名:

    ONNX (.onnx, .pb, .pbtxt)
    Keras (.h5, .keras)
    CoreML (.mlmodel)
    Caffe2 (predict_net.pb, predict_net.pbtxt)
    MXNet (.model, -symbol.json)
    TensorFlow Lite (.tflite)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    深度学习框架文件后缀名:

    Caffe (.caffemodel, .prototxt)
    PyTorch (.pth)
    Torch (.t7)
    CNTK (.model, .cntk)
    PaddlePaddle(__model__)
    Darknet (.cfg)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    https://blog.csdn.net/qq_53016081/article/details/119766560


    4.Opencv支持的框架

    Tensorflow,Pytorch/torch,Caffe,DarkNet

    (1)DNN的使用步骤

    (1)读取模型;
    (2)读取图片或者视频;
    (3)将图片转换为张量;
    (4)进行分析,最终得到结果;

    (2)导入模型的种类

    Dnn1=readNetFromTensorflow(model,config);
    Dnn2=readNetFromCaffe(config,model);
    Dnn3=readNetDarknet,(config,model)YOLO;
    Dnn4=readNet(model,[config,[framework]])

    将图片转换为张量
    blobFromImage(image,scalefactor=1.0,size=Size(),mean=Scale(),swapRB=False,crop=False,ddepth=CV_32F)
    
    • 1
    • 2

    Image:输入的图片
    Scalefactor:缩放图片大小;当我们将图片减去平均值之后,还可以对剩下的像素值进行一定的尺度缩放,它的默认值是1,如果希望减去平均像素之后的值,全部缩小一半,那么可以将scalefactor设为1/2
    Size:指定图片的大小
    Mean:需要将图片整体减去的平均值,如果我们需要对RGB图片的三个通道分别减去不同的值,那么可以使用3组平均值,如果只使用一组,那么就默认对三个通道减去一样的值。减去平均值(mean):为了消除同一场景下不同光照的图片,对我们最终的分类或者神经网络的影响,我们常常对图片的R、G、B通道的像素求一个平均值,然后将每个像素值减去我们的平均值,这样就可以得到像素之间的相对值,就可以排除光照的影响
    swapRB:R和B是否进行交换,默认值为false
    Crop:对图像是否进行裁剪,默认值为false
    Ddepth:图像的位深

    将图像送入网络执行并得到结果
    Net.setInput(blob);
    Net.forward();

  • 相关阅读:
    TypeScript基础入门
    leetcodetop100(28) 两两交换链表中的节点
    数据库调优:性能分析工具EXPLAIN的使用
    [鹏程杯2023]复现
    SHT31/85温湿度传感器驱动代码(基于GD32F103)
    Apache Doris 巨大飞跃:存算分离新架构
    安装Android SDK点击SDK Manager.exe一闪而退完美解决方案
    Vue3 —— 常用 Composition API(二)(hook 函数、toRef 和 toRefs)
    PHP 排序函数使用方法,按照字母排序等操作
    SpringBoot项目创建
  • 原文地址:https://blog.csdn.net/Keep_Trying_Go/article/details/125459959