【问题标题】:What output on this code means?这段代码的输出是什么意思?
【发布时间】:2015-11-25 17:18:02
【问题描述】:

我以this tutorial 为例来构建我的 caffe 自定义训练函数。在第 15 节有以下代码:

def train():
    niter = 200
    test_interval = 25 
    train_loss = zeros(niter)
    test_acc = zeros(int(np.ceil(niter / test_interval)))

    ### HERE ###
    output = zeros((niter, 8, 10))
    ###      ###

在第 8 行有一个ndarray(输出),这段代码是什么意思和它的描述。 (niter, 8, 10) 是什么意思。为什么是niter,为什么是 8,为什么是 10?我应该根据自己的数据集更改此数组吗?如果是,我应该使用什么尺寸?谁能给我解释一下?

【问题讨论】:

  • 请修复您的代码样式,尤其是。缩进并提供一个最小的工作示例。

标签: python deep-learning caffe conv-neural-network pycaffe


【解决方案1】:

如果您仔细阅读本教程,您会发现它处理数字分类,因此有 10 类。此外,他们使用一种技巧将 8 个示例拼接在一起(第 11 节,靠近In [11]:):

#我们使用一个小技巧来平铺前八张图片

因此是 8 维度。

第 15 节显示了跟踪网络进度的示例。它保存每次迭代的输出预测概率。每次迭代有 10 个类乘以 8 个示例,并且有 niter 个迭代需要跟踪。所有这些信息都存储在 3D output 数组中。

【讨论】:

    【解决方案2】:

    它看起来像是对 numpy.zeros 的调用,其中 shape = (niter, 8, 10) 创建了一个 200 * 8 * 10 浮点 0 数组。

    【讨论】:

    • 是的,我明白了。我不知道为什么,为什么这个 ndarray 有这个维度?是不是应该根据自己的数据集来改?
    猜你喜欢
    • 2016-03-28
    • 1970-01-01
    • 1970-01-01
    • 2016-12-16
    相关资源
    最近更新 更多