簡體   English   中英

graph-tools ValueError with graph_union for filtered graphs

[英]graph-tools ValueError with graph_union for filtered graphs

這是我的代碼:

import graph_tool.all as gt
print gt.__version__
g1 = gt.Graph()
g1.add_vertex(5)
g1.add_edge_list([(0,1),(1,2),(2,3),(3,4)])
g2 = gt.Graph()
#g2.add_vertex(3)
#g2.add_edge_list([(0,1),(1,2)])
g1.vp['prop'] = g1.new_vp('int', 1)
g1.ep['eprop'] = g1.new_ep('bool', False)
g1.ep['eprop'][list(g1.edges())[0]]=True

g1.set_edge_filter(g1.ep['eprop'], inverted=True)
#g2.vp['prop'] = g2.new_vp('int', 2)
ug = gt.graph_union(g1, g2, intersection = None, include = True, internal_props=True)
print ug
ug.list_properties()
for e in ug.edges():
    print e, ug.ep['eprop'][e]

我得到以下輸出:

2.20(提交f6ef9990,星期五1月27日16:40:08 2017 +0000)
Traceback(最近一次調用最后一次):
文件“Untitled.py”,第17行,in
ug = gt.graph_union(g1,g2,intersection = None,include = True,internal_props = True)
文件“/usr/local/lib/python2.7/site-packages/graph_tool/generation/ 初始化的.py”,線1192,在graph_union vmask.a =不vmask.a
ValueError:具有多個元素的數組的真值是不明確的。 使用a.any()或a.all()

我認為這可能是一個類似於這個bug的bug ,特別是因為在gt.generation__init__.py第1185行修復了錯誤: emask.a = numpy.logical_not(emask.a) ,而第1192行有舊的vmask.a = not vmask.a 任何人都可以確認這是一個錯誤還是我做錯了什么?

是的,這是一個錯誤,並已在git中修復。

順便說一句,最好將此類問題報告給https://graph-tool.skewed.de/issues或圖表工具郵件列表中的問題跟蹤器,而不是堆棧溢出,以保證更快速的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM