HyperVolume函数在Python 3中不起作用

西尔维·托凡(Silviu Tofan)

基于此处找到的HyperVolume函数(直接下载链接),我试图返回算法的超量度指标。但是,即使测试代码也不起作用:

from hv import HyperVolume
referencePoint = [2, 2, 2]
hyperVolume = HyperVolume(referencePoint)
front = [[1, 0, 1], [0, 1, 0]]
result = hyperVolume.compute(front)

我收到的错误似乎与我使用Python 3以及该函数本身使用Python 2有关。Python 3是否实现了类似的功能?

我也曾经看过这个,但是似乎有同样的问题。

LE:有人要求我提供特定的错误,因此在解决这些错误时,我会记录下来

  1. 未定义名称xrange-通过替换为range进行修复
  2. TypeError:不可排序的类型:Node()<Node()
大卫·卡伦

使用2to3将hv.py转换为hv3.py:

$ 2to3 hv.py > hv3.py.patch
$ cp hv.py hv3.py
$ patch < hv3.py.patch

然后将您的导入行更改为

from hv3 import HyperVolume

如果要2to3更改修改原始文件,则需要传递-w选项,如文档所示

$ 2to3 -w hv.py

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章