“来自mxnet导入nd”会导致SyntaxError:列表理解内产生“ yield”

时间:2019-12-28 01:54:31

标签: python generator yield mxnet

我想从Mathematica切换到Python和MxNet,以继续开发基于反向传播/回归神经网络的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

我发现一个StackOverflow question,其中的答案表明,在这种情况下使用yield现在在3.8中是一个错误,但在3.7中只是一个警告。

是否可以快速解决此问题,还是应该卸载3.8并安装3.7?

1 个答案:

答案 0 :(得分:1)

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

我亲自使用anaconda和环境,无论您使用的是哪种操作系统,实际上它都具有相似的步骤(使用anaconda提示)。但这一切都可以在没有anaconda以及如上所述的virtualenv的情况下完成。