,python,image,numpy,image-processing,numpy-ndarray"/>

首页 > 解决方案 > AssertionError: HybridBlock 要求转发的第一个参数是 Symbol 或 NDArray,但是得到了

问题描述

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

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

任何人都知道如何破译这个?当我在网上查看时,它说 a NDArrayIS a numpy.ndarray,所以我不确定它为什么抱怨。非常感谢!

标签: pythonimagenumpyimage-processingnumpy-ndarray

解决方案


您必须将 numpy 数组转换为 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

推荐阅读