'from mxnet import nd' results in SyntaxError: 'yield' inside list comprehension

'from mxnet import nd' results in SyntaxError: 'yield' inside list comprehension

我想从 Mathematica 切换到 Python 和 MxNet,以继续开发基于 backpropagation/regression 神经网络的 Munsell 颜色规范应用程序。我是 Python 和 MxNet 的新手,所以我有点迷失在这个宇宙中。但是,我对神经网络、C++ 和 Mathematica 很熟悉。

我在 Windows 10。我安装了 Python 3.8.1,然后安装了 MxNet。然后我想学习 MxNet 教程“Manipulate data with ndarray”。输入第一个命令行 "from mxnet import nd",我得到以下错误:

generator = lambda: [(yield self._batchify_fn([self._dataset[idx] for idx in batch]))
                        ^
SyntaxError: 'yield' inside list comprehension

我发现了一个 ,其中的答案表明在此上下文中使用 yield 现在在 3.8 中是一个错误,但在 3.7 中只是一个警告。

是否有快速解决此问题的方法,或者我应该卸载 3.8 并安装 3.7?

除非您准备好自己修复 MxNet 并提交拉取请求,否则最好的解决方案是切换 python 的版本。 3.7 仍然是最新的,应该不会给您可能使用的任何其他库带来任何麻烦。我建议您安装 3.7,但在您的计算机上保留 3.8 并使用 virtualenv 为每个创建自定义库安装环境...例如,我刚刚找到这个 link 来指导您完成这些步骤... https://www.freecodecamp.org/news/installing-multiple-python-versions-on-windows-using-virtualenv/

我个人通过它使用 anaconda 和环境,无论您使用哪个 OS,它实际上都有相似的步骤(使用 anaconda 提示符)。但这一切都可以在没有 anaconda 和 virtualenv 的情况下完成。