美文网首页我爱编程
深度学习中一些小问题(python篇)

深度学习中一些小问题(python篇)

作者: 安帅帅 | 来源:发表于2017-07-15 15:02 被阅读150次

    1.验证集,测试集,训练集间的关系?

    训练集:训练模型,或者训练模型参数的

    验证集:做模型的优化及最终确定模型参数的,确定网络结构和确定模型复杂度的参数的;

    测试集:检验最终确定的选择最有模型的性能

    前两者在构建模型时使用,因为构建模型时有时候也需要验证数据,检验模型。在构建模型过程中,用验证集检验可以有效的避免“过拟合”。


    2.用python调用深度学习模型时,此时模型处在什么阶段?输入是什么?输出又是什么?

    此时的模型是最终确定的模型,此时的流入数据是属于测试集的数据。

    对模型输入的是pic类型的文件,输出的是图片的预测概率和预测概率最大的图片;


    3.请简要描述从数据流的角度描述 图片数据在网络结构中的 流动进程,可以吗?

    我能说不可以吗?

    (1)img文件先从数据输入层进入网络结构模型

    (2)python调用分类器,对img文件进行处理(将网络模型封装在一个 分类器类 中)

    (3)网络模型从损失函数层输出图片在各子集的预测概率

    分类器完成的工作:

    初始化网络结构 self.net=caffe.Net(deploy,model,self.Test)

    将图片送入数据输入层的blobs数据结构中

    self.net.blobs['data'】.data[...]=img

    在卷及神经网络结构中执行前向计算,在prob层中输出概率

    Out=Self.net.forward()['prob ']


    4.python与网络模型的关系是什么?

    通过数据集、验证集生成一个最优的模型

    通过python调用这个模型来实现 模型的识别功能

    二者的联系是python api 调用caffe 框架提供的 接口 实现的,所以在使用前要python添加 caffe、sys库


    5.什么是均值文件?问什么要转化均值文件?转化均值文件发生在深度学习的哪一个阶段?

    均值文件是数据缩放过程中产生的,目的是使:通过对数据每一个维度的值进行调节,使最终的数据向量落在0~1之间,这对后面概率化的处理很有帮助。如:图像的像素是在[0,255],常用处理是除以255,使其缩放在[0,1]之间。

    转化均值发生在深度学习的图像预处理阶段。


    6.请用python描述图像的预处理过程。

    tips:目的:将模型训练过程中产生的存储在binaryproto中的均值转化为npy格式,并从中读取均值文件

          网络中的类型:文件在网络结构中存储的类型是blobs,blobs是个四维数组

    声明blobs变量(由caffe框架声明)

    打开.binaryproto文件,存储在某变量中,此处为bin_mean

    将bin_mean转化为string类型,存储在blob变量中

    将blob变量转化为数组,存在数组变量arr中,其中arr[0]为均值(至于为什么是arr[0],我也不晓得)

    将数组均值存储在.npy文件中。


    7..binaryproto中数据的几本书类型是什么呢?

    blobs类型

    相关文章

      网友评论

        本文标题:深度学习中一些小问题(python篇)

        本文链接:https://www.haomeiwen.com/subject/eszahxtx.html