ihollywhy / SPAGAN

PyTorch Implement for Path Attention Graph Network
43 stars 10 forks source link

Error while running test #4

Open scarletocean opened 3 years ago

scarletocean commented 3 years ago

Traceback (most recent call last): e_rowsum = spmm(edge, edge_e, N, torch.ones(size=(N,1)).cuda()) # e_rowsum: N x 1 TypeError: spmm() missing 1 required positional argument: 'matrix'

scarletocean commented 3 years ago

ok I fixed this problem already, it's because of the version change However, other errors rise...

scarletocean commented 3 years ago

error:

self._PropertyMap__map[k] = v Boost.Python.ArgumentError: Python argument types in EdgePropertyMap<double>.__setitem__(EdgePropertyMap<double>, tuple, numpy.float32) did not match C++ signature: __setitem__(graph_tool::PythonPropertyMap<boost::checked_vector_property_map<double, boost::adj_edge_index_property_map<unsigned long> > > {lvalue}, graph_tool::PythonEdge<boost::filt_graph<boost::undirected_adaptor<boost::adj_list<unsigned long> >, graph_tool::detail::MaskFilter<boost::unchecked_vector_property_map<unsigned char, boost::adj_edge_index_property_map<unsigned long> > >, graph_tool::detail::MaskFilter<boost::unchecked_vector_property_map<unsigned char, boost::typed_identity_property_map<unsigned long> > > > const>, double) During handling of the above exception, another exception occurred:

self._PropertyMap__map[k] = self._PropertyMap__convert(v) Boost.Python.ArgumentError: Python argument types in EdgePropertyMap<double>.__setitem__(EdgePropertyMap<double>, tuple, float) did not match C++ signature: __setitem__(graph_tool::PythonPropertyMap<boost::checked_vector_property_map<double, boost::adj_edge_index_property_map<unsigned long> > > {lvalue}, graph_tool::PythonEdge<boost::filt_graph<boost::undirected_adaptor<boost::adj_list<unsigned long> >, graph_tool::detail::MaskFilter<boost::unchecked_vector_property_map<unsigned char, boost::adj_edge_index_property_map<unsigned long> > >, graph_tool::detail::MaskFilter<boost::unchecked_vector_property_map<unsigned char, boost::typed_identity_property_map<unsigned long> > > > const>, double)

@ihollywhy Could you help me with this? thank you so much! I'm not so sure if it's a 'version' problem again but I do believe if I can have some information about the exact packages' version you used would be helpful Thanks again

Ericcsr commented 3 years ago

I met the same problem TypeError: spmm() missing 1 required positional argument: 'matrix' during running the code of the training could you please explain how did you resolve it in detail?

scarletocean commented 3 years ago

I met the same problem TypeError: spmm() missing 1 required positional argument: 'matrix' during running the code of the training could you please explain how did you resolve it in detail?

@Ericcsr It's due to the version change, you can find traces of the update here [https://github.com/rusty1s/pytorch_sparse/commit/6244606f9ab6dea8d1cc7de15d1e7ba22db7f670#diff-4a4972a7297d35e70c252897b2f92c8102ef117ec507bd98c2f87c14b60b6292]

You can choose to revert back to the old version, or you can add the n argument yourself to match the new version of the function

After solving this problem, if you encounter the second problem like mine and solve it, thank you for sharing

see pic: image