深度学习是啥 深度学习的意思是啥
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习是啥 深度学习的意思是啥相关的知识,希望对你有一定的参考价值。
参考技术A 1、深度学习(Deep Learning,DL)是指多层的人工神经网络和训练它的方法。一层神经网络会把大量矩阵数字作为输入,通过非线性激活方法取权重,再产生另一个数据集合作为输出。这就像生物神经大脑的工作机理一样,通过合适的矩阵数量,多层组织链接一起,形成神经网络“大脑”进行精准复杂的处理,就像人们识别物体标注图片一样。2、深度学习是从机器学习中的人工神经网络发展出来的新领域。早期所谓的“深度”是指超过一层的神经网络。但随着深度学习的快速发展,其内涵已经超出了传统的多层神经网络,甚至机器学习的范畴,逐渐朝着人工智能的方向快速发展。
OpenCV DNN 中 net.forward() 返回的 4D 数组是啥意思?我对深度学习知之甚少
【中文标题】OpenCV DNN 中 net.forward() 返回的 4D 数组是啥意思?我对深度学习知之甚少【英文标题】:What does the 4D array returned by net.forward() in OpenCV DNN means? I have little knowledge about deep learningOpenCV DNN 中 net.forward() 返回的 4D 数组是什么意思?我对深度学习知之甚少 【发布时间】:2021-07-25 02:23:24 【问题描述】:我需要使用人脸检测来完成我的作业,然后我在网上搜索,我认为使用带有 OpenCV 的 DNN 模块的预训练深度学习人脸检测器模型既简单又好,效果很好。我在这里学到的:https://www.pyimagesearch.com/2018/02/26/face-detection-with-opencv-and-deep-learning/,但我真的对 net.forward() 返回的 4D 数组感到困惑:
net = cv2.dnn.readNetFromCaffe("deploy.prototxt", "res10_300x300_ssd_iter_140000_fp16.caffemodel")
def detect_img(net, image):
blob = cv2.dnn.blobFromImage(image, 1.0, (300, 300), (104.0, 177.0, 123.0), False, False)
net.setInput(blob)
detections = net.forward() # Here is the 4D array.
print(detections.shape)
return show_detections(image, detections)
我对深度学习几乎一无所知。我想我通过阅读“deploy.prototxt”猜到了一些东西,我猜这可能是预训练模型的配置文件,但我仍然对此感到非常困惑。请问是否有一种方法可以快速理解4D数组的含义?我能否在一周内了解预训练模型的大致工作原理,以及对深度学习的了解不足?
【问题讨论】:
【参考方案1】:第三维帮助您迭代预测和
在第四维度,有实际结果
class_lable = int(inference_results[0, 0, i,1])
--> 为第 i 个盒子提供一个热编码类标签
conf = inference_results[0, 0, i, 2]
--> 给出第 i 个框预测的置信度
TopLeftX,TopLeftY, BottomRightX, BottomRightY = inference_results[0, 0, i, 3:7]
-->给
调整大小的小图像的坐标边界框
当预测在多个阶段进行时使用第二维,例如在 YOLO 中,预测是在 3 个不同的层中完成的。
你可以使用像[:,i,:,:]
这样的二维来迭代这些预测
【讨论】:
我可以再问一件事吗?第 1 维是什么意思?而且我也很好奇,无论是一种标准还是一种规则,无论你使用什么物体检测系统,比如 SSD 和 YOLO,你总能得到一个 4D 数组?以上是关于深度学习是啥 深度学习的意思是啥的主要内容,如果未能解决你的问题,请参考以下文章