我试图从一个dask_cudf DataFrame创建一个图形,但是这个图形没有错误信息。我用同样的数据集也用熊猫的数据做了试验。然后我尝试了三个样本边缘。每次都有一个NoneType对象。但是,如果我使用空手道数据集,一切都正常。我做了三次完全相同的动作。列类型也是相同的。
From_dask_edgelist
cluster = LocalCUDACluster()
client = Client(cluster)
Comms.comms.initialize(p2p=True)
edges = dask.read_csv('.csv')
edges = edges.groupby(['Source','Target'])['retweet_from'].count()
edges = edges.to_frame(name="weight").reset_index()
edges = edges.map_partitions(cudf.DataFrame.from_pandas)
G = cugraph.Graph().from_dask_cudf_edgelist(edges,
source = 'Source',
destination = 'Target',
edge_attr = 'weight')
G.__class__
NoneTypeFrom_Pandas_edgelist空手道数据集
url = 'https://raw.githubusercontent.com/rapidsai/cugraph/branch-22.10/datasets/karate.csv'
df = pd.read_csv(url,delimiter=' ', header=None, names=["0", "1", "2"],
dtype={"0": "int32", "1": "int32","2": "float32"})
G = cugraph.Graph()
G.from_pandas_edgelist(df, source='0', destination='1',edge_attr='2', renumber=False)
G.__class__
cugraph.structure.graph_classes.GraphFrom_Pandas_edgelist
edges = pd.read_csv('.csv')
edges = edges.groupby(['Source','Target'])['retweet_from'].count()
edges = edges.to_frame(name="weight").reset_index()
edges['Source'] = edges['Source'].astype("int32")
edges['Target'] = edges['Target'].astype("int32")
edges['weight'] = edges['weight'].astype("float32")
edges.dtypes
Source int32
Target int32
weight float32
dtype: object
G = cugraph.Graph()
G = G.from_pandas_edgelist(edges,source = 'Source',destination = 'Target',edge_attr = 'weight', renumber=False)
G.__class__
NoneType三边From_Pandas_edgelist
data = [[1, 3,3], [2, 1,1], [3, 1, 7]]
edges = pd.DataFrame(data, columns=['Source', 'Target', 'weight'])
edges['Source'] = edges['Source'].astype("int32")
edges['Target'] = edges['Target'].astype("int32")
edges['weight'] = edges['weight'].astype("float32")
G = cugraph.Graph()
G = G.from_pandas_edgelist(edges,source = 'Source',
destination='Target',edge_attr = 'weight', renumber=False)
G.__class__
NoneType发布于 2022-09-27 18:44:50
示例1: From_dask_edgelist
您需要添加“边缘‘权重’=边‘权重’..astype(”float32“)”,这样重量的d类型才是正确的。否则,from_dask_cudf_edgelist将抛出和错误,并返回None
示例3: From_Pandas_edgelist
示例4:三边From_Pandas_edgelist
由于'from_pandas_edgelist‘不返回任何内容(上面提到的PR修复),这将无法工作。如果你改变了
G = G.from_pandas_edgelist(edges,source = 'Source',destination = 'Target',edge_attr = 'weight', renumber=False)
公正
G.from_pandas_edgelist(edges,source = 'Source',destination = 'Target',edge_attr = 'weight', renumber=False)
然后它就能工作了
发布于 2022-09-23 17:05:01
并不是所有的cuGraph函数都可以流水线化。
调用from_dask_cudf_edgelist返回None
推断的方式是:
G = cugraph.Graph()
G.from_dask_cudf_edgelist(edges,
source = 'Source',
destination = 'Target',
edge_attr = 'weight')然后G.类就可以工作了
https://stackoverflow.com/questions/73826904
复制相似问题