开发者社区> 问答> 正文

python星号语法错误。不知道怎么了

所以我试图使用scipy.optimize,minimize在本地最小化一个复杂的函数。由于我需要良好的渐变才能顺利执行局部优化,但是为了手动编写导数,函数非常复杂,因此我决定使用Autoptim作为中间人来使用自动微分软件包Autograd来获取梯度。

安装软件包(以及Autograd)之后,我打开了python终端,以运行一些初步测试,以检查scipy,autograd和autoptim之间的安装以及软件包集成是否顺利进行。然后,Autoptim会在导入后立即引发错误(在“ import autoptim`”行)。由于解释器给出了所提出的全部异常,因此我进入了更深的层次,看看是哪条线启动了停止解释器的级联。

我发现的行是autoptim.py的第88行:

87. optim_vars = _convert_to_tuple(optim_vars)
88. precon_optim_vars = precon_fwd(\*ptim_vars,\*rgs)
89. n_args = len(args)

Python解释器引发了一个无效的语法异常,这意味着该行中的某些内容不是用“ Python”编写的。我检查是否有一些未封闭的括号,事实并非如此。我正在使用Python3,因此我发现该行上的某些内容是使用Python2语法编写的,并且它为Python3解释器注册了错误,但是据我了解,这两个版本之间的差异很小,并且存在一些差异(尽管不完整)两者之间具有逆向兼容性。

那有什么呢?我在这里想念什么?

那条线怎么了?

编辑1

这是python解释器中导入行的回溯

>>> import autoptim
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.4/dist-packages/autoptim/__init__.py", line 6, in <module>
    from .autoptim import minimize  # noqa
  File "/usr/local/lib/python3.4/dist-packages/autoptim/autoptim.py", line 95
    return objective_function(\*ptim_vars, \*rgs)
                                           ^
SyntaxError: invalid syntax

问题来源:stackoverflow

展开
收起
is大龙 2020-03-23 17:22:33 871 0
1 条回答
写回答
取消 提交回答
  • 直到Python 3.5才引入使用的语法(请参阅PEP 448)。您正在使用Python 3.4。

    解决方法是,您可以显式构建所需的列表以进行解压缩:

    return objective_function(\*ist(optim_vars + args))
    

    回答来源:stackoverflow

    2020-03-23 17:22:39
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载