【问题标题】:AssertionError: HybridBlock requires the first argument to forward be either Symbol or NDArray, but got <class 'numpy.ndarray'>AssertionError: HybridBlock 要求转发的第一个参数是 Symbol 或 NDArray,但得到了 <class 'numpy.ndarray'>
【发布时间】:2019-12-02 01:37:00
【问题描述】:

我正在尝试在我的图像上运行一个预制程序,并且图像类型是一个 numpy 数组。当我按回车时,我收到此错误:

AssertionError: HybridBlock requires the first argument to forward be
                either Symbol or NDArray, but got < class 'numpy.ndarray' >

有人知道如何破译吗?当我在网上查看时,它说NDArraynumpy.ndarray,所以我不确定它为什么抱怨。非常感谢!

【问题讨论】:

    标签: python image numpy image-processing numpy-ndarray


    【解决方案1】:

    你必须convert your numpy array to an mxnet NDArray:

    In [11]: import numpy as np
    
    In [12]: import mxnet as mx
    
    In [13]: a = np.array([1, 2, 3])
    
    In [14]: b = mx.ndarray.array(a)
    
    In [15]: b
    Out[15]:
    
    [1. 2. 3.]
    <NDArray 3 @cpu(0)>
    
    In [16]: type(b)
    Out[16]: mxnet.ndarray.ndarray.NDArray
    

    【讨论】:

    • 我试过了,它将该错误转移到另一个错误中: raise MXNetError(py_str(_LIB.MXGetLastError())) mxnet.base.MXNetError: [17:40:02] src/operator/nn/ convolution.cc:152: 检查失败:dshp.ndim() == 4U (3 vs. 4) : 输入数据在 batch-num_filter-yx 中应该是 4D ....有什么想法吗?谢谢!
    • @cbnnbc 和这个问题一样吗? github.com/Microsoft/MMdnn/issues/311
    猜你喜欢
    • 2019-11-06
    • 2022-01-26
    • 2021-11-04
    • 2021-06-24
    • 2021-07-06
    • 1970-01-01
    • 1970-01-01
    • 2020-11-05
    • 2022-01-18
    相关资源
    最近更新 更多