Code Monkey home page Code Monkey logo

rmnet's Introduction

Hi there 👋

Counter

  • 🧑‍💻 I am a Research Fellow at MMLab@NTU, Nanyang Technological University (NTU).
  • 🕵️ My research interests include computer vision and deep learning with a focus on 3D generation and reconstruction.
  • 🦸 I thoroughly enjoy creating awesome projects and aspire for them to have a positive impact on society, even if it is a small one.
  • 👀 Most of my projects are open-sourced at GitHub and Gitlab.
  • 🌐 Checkout my homepage and Google Scholar for more information.

rmnet's People

Contributors

hzxie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

rmnet's Issues

About RegionalAttentionMapGenerator()

Hi, thank you for your great work. I have some questions about the class RegionalAttentionMapGenerator().

class RegionalAttentionMapGenerator(torch.nn.Module):
    def __init__(self):
        super(RegionalAttentionMapGenerator, self).__init__()

    def forward(self, mask, prob_threshold=0.5, n_pts_threshold=10, n_bbox_loose_pixels=64):
        return RegionalAttentionMapGeneratorFunction.apply(mask, prob_threshold, n_pts_threshold,
                                                           n_bbox_loose_pixels)

https://github.com/hzxie/RMNet/blob/master/extensions/reg_att_map_generator/__init__.py
what does the parameters n_pts_threshold and n_bbox_loose_pixelsmean?

光流 .flo 文件

请问准备数据集的配置文件显示,需要数据集DAVIS的光流文件.flo。
这是需要我们自己去预先估计光流吗?

"RuntimeError: Error compiling objects for extension" when compiling reg_att_map_generator

I'm running python setup.py install with : pytorch 1.7.1, cuda 10.2 and gcc 7.5.0, but it failed with :

python setup.py install
running install
running bdist_egg
running egg_info
writing reg_att_map_generator.egg-info/PKG-INFO
writing dependency_links to reg_att_map_generator.egg-info/dependency_links.txt
writing top-level names to reg_att_map_generator.egg-info/top_level.txt
reading manifest file 'reg_att_map_generator.egg-info/SOURCES.txt'
writing manifest file 'reg_att_map_generator.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_ext
building 'reg_att_map_generator' extension
Emitting ninja build file /home/v-zhaojia/aml_project/DCVOS_rm/RMNet/extensions/reg_att_map_generator/build/temp.linux-x86_64-3.6/build.ninja...
Compiling objects...
Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
[1/1] /usr/bin/nvcc -I/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include -I/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/TH -I/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/THC -I/home/v-zhaojia/.conda/envs/RMNet/include/python3.6m -c -c /home/v-zhaojia/aml_project/DCVOS_rm/RMNet/extensions/reg_att_map_generator/reg_att_map_generator.cu -o /home/v-zhaojia/aml_project/DCVOS_rm/RMNet/extensions/reg_att_map_generator/build/temp.linux-x86_64-3.6/reg_att_map_generator.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=reg_att_map_generator -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_60,code=sm_60 -std=c++14
FAILED: /home/v-zhaojia/aml_project/DCVOS_rm/RMNet/extensions/reg_att_map_generator/build/temp.linux-x86_64-3.6/reg_att_map_generator.o
/usr/bin/nvcc -I/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include -I/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/TH -I/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/THC -I/home/v-zhaojia/.conda/envs/RMNet/include/python3.6m -c -c /home/v-zhaojia/aml_project/DCVOS_rm/RMNet/extensions/reg_att_map_generator/reg_att_map_generator.cu -o /home/v-zhaojia/aml_project/DCVOS_rm/RMNet/extensions/reg_att_map_generator/build/temp.linux-x86_64-3.6/reg_att_map_generator.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=reg_att_map_generator -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_60,code=sm_60 -std=c++14
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/ATen/core/boxing/impl/boxing.h(100): warning: integer conversion resulted in a change of sign

/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/ATen/core/op_registration/op_whitelist.h(39): warning: integer conversion resulted in a change of sign

/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/ATen/core/builtin_function.h(97): warning: statement is unreachable

/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/ATen/core/boxing/impl/boxing.h(100): warning: integer conversion resulted in a change of sign

/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/ATen/core/op_registration/op_whitelist.h(39): warning: integer conversion resulted in a change of sign

/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/ATen/core/builtin_function.h(97): warning: statement is unreachable

/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; bool <anonymous> = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]’:
/usr/include/c++/6/tuple:626:248:   required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> = <missing>]’
/usr/include/c++/6/tuple:1396:58:   required from ‘constexpr std::tuple<typename std::__decay_and_strip<_Elements>::__type ...> std::make_tuple(_Elements&& ...) [with _Elements = {const at::Tensor&, const at::Tensor&, const at::Tensor&}]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/ATen/ExpandUtils.h:93:58:   required from here
/usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’
       return __and_<is_constructible<_Elements, _UElements&&>...>::value;
                                                                   ^~~~~
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; bool <anonymous> = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]’:
/usr/include/c++/6/tuple:626:362:   required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> = <missing>]’
/usr/include/c++/6/tuple:1396:58:   required from ‘constexpr std::tuple<typename std::__decay_and_strip<_Elements>::__type ...> std::make_tuple(_Elements&& ...) [with _Elements = {const at::Tensor&, const at::Tensor&, const at::Tensor&}]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/ATen/ExpandUtils.h:93:58:   required from here
/usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding ‘std::is_convertible<_UElements&&, _Elements>’
       return __and_<is_convertible<_UElements&&, _Elements>...>::value;
                                                                 ^~~~~
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor>&; bool <anonymous> = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]’:
/usr/include/c++/6/tuple:662:419:   required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type <anonymous> = <missing>]’
/usr/include/c++/6/tuple:1396:58:   required from ‘constexpr std::tuple<typename std::__decay_and_strip<_Elements>::__type ...> std::make_tuple(_Elements&& ...) [with _Elements = {const at::Tensor&, const at::Tensor&, const at::Tensor&}]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/ATen/ExpandUtils.h:93:58:   required from here
/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (4, should be 2)
       return  __and_<__not_<is_same<tuple<_Elements...>,
                                                                                                                                                                                                                                                    ^
/usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
     struct is_convertible
        ^~~~~~~~~~~~~~
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor>&&; bool <anonymous> = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]’:
/usr/include/c++/6/tuple:686:422:   required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type <anonymous> = <missing>]’
/usr/include/c++/6/tuple:1396:58:   required from ‘constexpr std::tuple<typename std::__decay_and_strip<_Elements>::__type ...> std::make_tuple(_Elements&& ...) [with _Elements = {const at::Tensor&, const at::Tensor&, const at::Tensor&}]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/ATen/ExpandUtils.h:93:58:   required from here
/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (4, should be 2)
       return  __and_<__not_<is_same<tuple<_Elements...>,
                                                                                                                                                                                                                                                    ^
/usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
     struct is_convertible
        ^~~~~~~~~~~~~~
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_MoveConstructibleTuple() [with _UElements = {const c10::nullopt_t&}; bool <anonymous> = true; _Elements = {std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int}]’:
/usr/include/c++/6/tuple:626:248:   required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {const c10::nullopt_t&}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> = <missing>]’
/usr/include/c++/6/type_traits:970:16:   required by substitution of ‘template<class _Tp, class _Arg, class> static std::true_type std::__do_is_direct_constructible_impl::__test(int) [with _Tp = std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>; _Arg = const c10::nullopt_t&; <template-parameter-1-3> = <missing>]’
/usr/include/c++/6/type_traits:981:40:   required from ‘struct std::__is_direct_constructible_impl<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, const c10::nullopt_t&>’
/usr/include/c++/6/type_traits:143:8:   required from ‘struct std::__and_<std::is_destructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >, std::__is_direct_constructible_impl<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, const c10::nullopt_t&> >’
/usr/include/c++/6/type_traits:985:8:   required from ‘struct std::__is_direct_constructible_new_safe<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, const c10::nullopt_t&>’
/usr/include/c++/6/type_traits:1067:8:   required from ‘struct std::__is_direct_constructible_new<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, const c10::nullopt_t&>’
/usr/include/c++/6/type_traits:1075:8:   required from ‘struct std::__is_direct_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, const c10::nullopt_t&>’
/usr/include/c++/6/type_traits:1115:8:   required from ‘struct std::__is_constructible_impl<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, const c10::nullopt_t&>’
/usr/include/c++/6/type_traits:1126:8:   required from ‘struct std::is_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, const c10::nullopt_t&>’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/c10/util/Optional.h:339:77:   required by substitution of ‘template<class U, typename std::enable_if<(((std::is_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, U&&>::value && (! std::is_same<typename std::decay<_Tp>::type, c10::in_place_t>::value)) && (! std::is_same<typename std::decay<_Tp>::type, c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> > >::value)) && std::is_convertible<U&&, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >::value), bool>::type <anonymous> > constexpr c10::optional<T>::optional(U&&) [with U = const c10::nullopt_t&; typename std::enable_if<(((std::is_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, U&&>::value && (! std::is_same<typename std::decay<_Tp>::type, c10::in_place_t>::value)) && (! std::is_same<typename std::decay<_Tp>::type, c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> > >::value)) && std::is_convertible<U&&, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >::value), bool>::type <anonymous> = <missing>]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/torch/csrc/jit/frontend/source_range.h:147:13:   required from here
/usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’
       return __and_<is_constructible<_Elements, _UElements&&>...>::value;
                                                                   ^~~~~
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {const c10::nullopt_t&}; bool <anonymous> = true; _Elements = {std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int}]’:
/usr/include/c++/6/tuple:626:362:   required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {const c10::nullopt_t&}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> = <missing>]’
/usr/include/c++/6/type_traits:970:16:   required by substitution of ‘template<class _Tp, class _Arg, class> static std::true_type std::__do_is_direct_constructible_impl::__test(int) [with _Tp = std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>; _Arg = const c10::nullopt_t&; <template-parameter-1-3> = <missing>]’
/usr/include/c++/6/type_traits:981:40:   required from ‘struct std::__is_direct_constructible_impl<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, const c10::nullopt_t&>’
/usr/include/c++/6/type_traits:143:8:   required from ‘struct std::__and_<std::is_destructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >, std::__is_direct_constructible_impl<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, const c10::nullopt_t&> >’
/usr/include/c++/6/type_traits:985:8:   required from ‘struct std::__is_direct_constructible_new_safe<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, const c10::nullopt_t&>’
/usr/include/c++/6/type_traits:1067:8:   required from ‘struct std::__is_direct_constructible_new<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, const c10::nullopt_t&>’
/usr/include/c++/6/type_traits:1075:8:   required from ‘struct std::__is_direct_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, const c10::nullopt_t&>’
/usr/include/c++/6/type_traits:1115:8:   required from ‘struct std::__is_constructible_impl<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, const c10::nullopt_t&>’
/usr/include/c++/6/type_traits:1126:8:   required from ‘struct std::is_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, const c10::nullopt_t&>’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/c10/util/Optional.h:339:77:   required by substitution of ‘template<class U, typename std::enable_if<(((std::is_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, U&&>::value && (! std::is_same<typename std::decay<_Tp>::type, c10::in_place_t>::value)) && (! std::is_same<typename std::decay<_Tp>::type, c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> > >::value)) && std::is_convertible<U&&, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >::value), bool>::type <anonymous> > constexpr c10::optional<T>::optional(U&&) [with U = const c10::nullopt_t&; typename std::enable_if<(((std::is_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, U&&>::value && (! std::is_same<typename std::decay<_Tp>::type, c10::in_place_t>::value)) && (! std::is_same<typename std::decay<_Tp>::type, c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> > >::value)) && std::is_convertible<U&&, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >::value), bool>::type <anonymous> = <missing>]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/torch/csrc/jit/frontend/source_range.h:147:13:   required from here
/usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding ‘std::is_convertible<_UElements&&, _Elements>’
       return __and_<is_convertible<_UElements&&, _Elements>...>::value;
                                                                 ^~~~~
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_MoveConstructibleTuple() [with _UElements = {const std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&}; bool <anonymous> = true; _Elements = {std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int}]’:
/usr/include/c++/6/tuple:626:248:   required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {const std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> = <missing>]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/c10/util/Optional.h:314:67:   required from ‘constexpr c10::optional<T>::optional(c10::nullopt_t) [with T = std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/torch/csrc/jit/frontend/source_range.h:147:13:   required from here
/usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’
       return __and_<is_constructible<_Elements, _UElements&&>...>::value;
                                                                   ^~~~~
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {const std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&}; bool <anonymous> = true; _Elements = {std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int}]’:
/usr/include/c++/6/tuple:626:362:   required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {const std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> = <missing>]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/c10/util/Optional.h:314:67:   required from ‘constexpr c10::optional<T>::optional(c10::nullopt_t) [with T = std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/torch/csrc/jit/frontend/source_range.h:147:13:   required from here
/usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding ‘std::is_convertible<_UElements&&, _Elements>’
       return __and_<is_convertible<_UElements&&, _Elements>...>::value;
                                                                 ^~~~~
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&; bool <anonymous> = true; _Elements = {std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int}]’:
/usr/include/c++/6/tuple:662:419:   required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type <anonymous> = <missing>]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/c10/util/Optional.h:314:67:   required from ‘constexpr c10::optional<T>::optional(c10::nullopt_t) [with T = std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/torch/csrc/jit/frontend/source_range.h:147:13:   required from here
/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (4, should be 2)
       return  __and_<__not_<is_same<tuple<_Elements...>,
                                                                                                                                                                                                                                                    ^
/usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
     struct is_convertible
        ^~~~~~~~~~~~~~
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_MoveConstructibleTuple() [with _UElements = {c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >}; bool <anonymous> = true; _Elements = {std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int}]’:
/usr/include/c++/6/tuple:626:248:   required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> = <missing>]’
/usr/include/c++/6/type_traits:970:16:   required by substitution of ‘template<class _Tp, class _Arg, class> static std::true_type std::__do_is_direct_constructible_impl::__test(int) [with _Tp = std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>; _Arg = c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >&&; <template-parameter-1-3> = <missing>]’
/usr/include/c++/6/type_traits:981:40:   required from ‘struct std::__is_direct_constructible_impl<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >&&>’
/usr/include/c++/6/type_traits:143:8:   required from ‘struct std::__and_<std::is_destructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >, std::__is_direct_constructible_impl<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >&&> >’
/usr/include/c++/6/type_traits:985:8:   required from ‘struct std::__is_direct_constructible_new_safe<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >&&>’
/usr/include/c++/6/type_traits:1067:8:   required from ‘struct std::__is_direct_constructible_new<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >&&>’
/usr/include/c++/6/type_traits:1075:8:   required from ‘struct std::__is_direct_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >&&>’
/usr/include/c++/6/type_traits:1115:8:   required from ‘struct std::__is_constructible_impl<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >&&>’
/usr/include/c++/6/type_traits:1126:8:   required from ‘struct std::is_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >&&>’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/c10/util/Optional.h:339:77:   required by substitution of ‘template<class U, typename std::enable_if<(((std::is_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, U&&>::value && (! std::is_same<typename std::decay<_Tp>::type, c10::in_place_t>::value)) && (! std::is_same<typename std::decay<_Tp>::type, c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> > >::value)) && std::is_convertible<U&&, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >::value), bool>::type <anonymous> > constexpr c10::optional<T>::optional(U&&) [with U = c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >; typename std::enable_if<(((std::is_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, U&&>::value && (! std::is_same<typename std::decay<_Tp>::type, c10::in_place_t>::value)) && (! std::is_same<typename std::decay<_Tp>::type, c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> > >::value)) && std::is_convertible<U&&, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >::value), bool>::type <anonymous> = <missing>]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/torch/csrc/jit/frontend/source_range.h:147:13:   required from here
/usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’
       return __and_<is_constructible<_Elements, _UElements&&>...>::value;
                                                                   ^~~~~
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >}; bool <anonymous> = true; _Elements = {std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int}]’:
/usr/include/c++/6/tuple:626:362:   required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> = <missing>]’
/usr/include/c++/6/type_traits:970:16:   required by substitution of ‘template<class _Tp, class _Arg, class> static std::true_type std::__do_is_direct_constructible_impl::__test(int) [with _Tp = std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>; _Arg = c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >&&; <template-parameter-1-3> = <missing>]’
/usr/include/c++/6/type_traits:981:40:   required from ‘struct std::__is_direct_constructible_impl<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >&&>’
/usr/include/c++/6/type_traits:143:8:   required from ‘struct std::__and_<std::is_destructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >, std::__is_direct_constructible_impl<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >&&> >’
/usr/include/c++/6/type_traits:985:8:   required from ‘struct std::__is_direct_constructible_new_safe<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >&&>’
/usr/include/c++/6/type_traits:1067:8:   required from ‘struct std::__is_direct_constructible_new<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >&&>’
/usr/include/c++/6/type_traits:1075:8:   required from ‘struct std::__is_direct_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >&&>’
/usr/include/c++/6/type_traits:1115:8:   required from ‘struct std::__is_constructible_impl<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >&&>’
/usr/include/c++/6/type_traits:1126:8:   required from ‘struct std::is_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >&&>’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/c10/util/Optional.h:339:77:   required by substitution of ‘template<class U, typename std::enable_if<(((std::is_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, U&&>::value && (! std::is_same<typename std::decay<_Tp>::type, c10::in_place_t>::value)) && (! std::is_same<typename std::decay<_Tp>::type, c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> > >::value)) && std::is_convertible<U&&, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >::value), bool>::type <anonymous> > constexpr c10::optional<T>::optional(U&&) [with U = c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >; typename std::enable_if<(((std::is_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, U&&>::value && (! std::is_same<typename std::decay<_Tp>::type, c10::in_place_t>::value)) && (! std::is_same<typename std::decay<_Tp>::type, c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> > >::value)) && std::is_convertible<U&&, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >::value), bool>::type <anonymous> = <missing>]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/torch/csrc/jit/frontend/source_range.h:147:13:   required from here
/usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding ‘std::is_convertible<_UElements&&, _Elements>’
       return __and_<is_convertible<_UElements&&, _Elements>...>::value;
                                                                 ^~~~~
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>}; bool <anonymous> = true; _Elements = {std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int}]’:
/usr/include/c++/6/tuple:626:248:   required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> = <missing>]’
/usr/include/c++/6/type_traits:970:16:   required by substitution of ‘template<class _Tp, class _Arg, class> static std::true_type std::__do_is_direct_constructible_impl::__test(int) [with _Tp = std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>; _Arg = std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&&; <template-parameter-1-3> = <missing>]’
/usr/include/c++/6/type_traits:981:40:   required from ‘struct std::__is_direct_constructible_impl<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&&>’
/usr/include/c++/6/type_traits:143:8:   required from ‘struct std::__and_<std::is_destructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >, std::__is_direct_constructible_impl<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&&> >’
/usr/include/c++/6/type_traits:985:8:   required from ‘struct std::__is_direct_constructible_new_safe<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&&>’
/usr/include/c++/6/type_traits:1067:8:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/6/type_traits:143:8:   required from ‘struct std::__and_<std::is_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&&>, std::__is_nt_constructible_impl<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&&> >’
/usr/include/c++/6/type_traits:1211:8:   required from ‘struct std::is_nothrow_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&&>’
/usr/include/c++/6/type_traits:1242:8:   required from ‘struct std::__is_nothrow_move_constructible_impl<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, true>’
/usr/include/c++/6/type_traits:1248:8:   required from ‘struct std::is_nothrow_move_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/c10/util/Optional.h:323:1:   required from ‘c10::optional<T>::optional(c10::optional<T>&&) [with T = std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/torch/csrc/jit/frontend/source_range.h:147:13:   required from here
/usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’
       return __and_<is_constructible<_Elements, _UElements&&>...>::value;
                                                                   ^~~~~
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>}; bool <anonymous> = true; _Elements = {std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int}]’:
/usr/include/c++/6/tuple:626:362:   required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> = <missing>]’
/usr/include/c++/6/type_traits:970:16:   required by substitution of ‘template<class _Tp, class _Arg, class> static std::true_type std::__do_is_direct_constructible_impl::__test(int) [with _Tp = std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>; _Arg = std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&&; <template-parameter-1-3> = <missing>]’
/usr/include/c++/6/type_traits:981:40:   required from ‘struct std::__is_direct_constructible_impl<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&&>’
/usr/include/c++/6/type_traits:143:8:   required from ‘struct std::__and_<std::is_destructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >, std::__is_direct_constructible_impl<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&&> >’
/usr/include/c++/6/type_traits:985:8:   required from ‘struct std::__is_direct_constructible_new_safe<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&&>’
/usr/include/c++/6/type_traits:1067:8:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/6/type_traits:143:8:   required from ‘struct std::__and_<std::is_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&&>, std::__is_nt_constructible_impl<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&&> >’
/usr/include/c++/6/type_traits:1211:8:   required from ‘struct std::is_nothrow_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&&>’
/usr/include/c++/6/type_traits:1242:8:   required from ‘struct std::__is_nothrow_move_constructible_impl<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, true>’
/usr/include/c++/6/type_traits:1248:8:   required from ‘struct std::is_nothrow_move_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/c10/util/Optional.h:323:1:   required from ‘c10::optional<T>::optional(c10::optional<T>&&) [with T = std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/torch/csrc/jit/frontend/source_range.h:147:13:   required from here
/usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding ‘std::is_convertible<_UElements&&, _Elements>’
       return __and_<is_convertible<_UElements&&, _Elements>...>::value;
                                                                 ^~~~~
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&&; bool <anonymous> = true; _Elements = {std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int}]’:
/usr/include/c++/6/tuple:686:422:   required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type <anonymous> = <missing>]’
/usr/include/c++/6/type_traits:970:16:   required by substitution of ‘template<class _Tp, class _Arg, class> static std::true_type std::__do_is_direct_constructible_impl::__test(int) [with _Tp = std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>; _Arg = std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&&; <template-parameter-1-3> = <missing>]’
/usr/include/c++/6/type_traits:981:40:   required from ‘struct std::__is_direct_constructible_impl<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&&>’
/usr/include/c++/6/type_traits:143:8:   required from ‘struct std::__and_<std::is_destructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >, std::__is_direct_constructible_impl<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&&> >’
/usr/include/c++/6/type_traits:985:8:   required from ‘struct std::__is_direct_constructible_new_safe<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&&>’
/usr/include/c++/6/type_traits:1067:8:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/6/type_traits:143:8:   required from ‘struct std::__and_<std::is_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&&>, std::__is_nt_constructible_impl<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&&> >’
/usr/include/c++/6/type_traits:1211:8:   required from ‘struct std::is_nothrow_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>&&>’
/usr/include/c++/6/type_traits:1242:8:   required from ‘struct std::__is_nothrow_move_constructible_impl<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>, true>’
/usr/include/c++/6/type_traits:1248:8:   required from ‘struct std::is_nothrow_move_constructible<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> >’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/c10/util/Optional.h:323:1:   required from ‘c10::optional<T>::optional(c10::optional<T>&&) [with T = std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/torch/csrc/jit/frontend/source_range.h:147:13:   required from here
/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (4, should be 2)
       return  __and_<__not_<is_same<tuple<_Elements...>,
                                                                                                                                                                                                                                                    ^
/usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
     struct is_convertible
        ^~~~~~~~~~~~~~
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/c10/util/Optional.h: In member function ‘c10::optional<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int> > torch::jit::SourceRange::file_line_col() const’:
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/c10/util/Optional.h:314:11: note:   after user-defined conversion: constexpr c10::optional<T>::optional(c10::nullopt_t) [with T = std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long unsigned int>]
   constexpr optional(nullopt_t) noexcept : OptionalBase<T>(){};
           ^~~~~~~~
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>}; bool <anonymous> = true; _Elements = {const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&}]’:
/usr/include/c++/6/tuple:626:248:   required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {std::tuple<const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type <anonymous> = <missing>]’
/usr/include/c++/6/tuple:1545:43:   required from ‘constexpr std::tuple<_Elements& ...> std::tie(_Elements& ...) [with _Elements = {const c10::optional<signed char>, const c10::VaryingShape<long int>, const c10::VaryingShape<long int>, const c10::optional<bool>}]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/c10/util/hash.h:139:58:   required from ‘size_t c10::get_hash(const Types& ...) [with Types = {c10::optional<signed char>, c10::VaryingShape<long int>, c10::VaryingShape<long int>, c10::optional<bool>}; size_t = long unsigned int]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/torch/csrc/jit/runtime/argument_spec.h:458:238:   required from here
/usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’
       return __and_<is_constructible<_Elements, _UElements&&>...>::value;
                                                                   ^~~~~
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>}; bool <anonymous> = true; _Elements = {const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&}]’:
/usr/include/c++/6/tuple:626:362:   required by substitution of ‘template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {std::tuple<const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type <anonymous> = <missing>]’
/usr/include/c++/6/tuple:1545:43:   required from ‘constexpr std::tuple<_Elements& ...> std::tie(_Elements& ...) [with _Elements = {const c10::optional<signed char>, const c10::VaryingShape<long int>, const c10::VaryingShape<long int>, const c10::optional<bool>}]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/c10/util/hash.h:139:58:   required from ‘size_t c10::get_hash(const Types& ...) [with Types = {c10::optional<signed char>, c10::VaryingShape<long int>, c10::VaryingShape<long int>, c10::optional<bool>}; size_t = long unsigned int]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/torch/csrc/jit/runtime/argument_spec.h:458:238:   required from here
/usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding ‘std::is_convertible<_UElements&&, _Elements>’
       return __and_<is_convertible<_UElements&&, _Elements>...>::value;
                                                                 ^~~~~
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>&; bool <anonymous> = true; _Elements = {const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&}]’:
/usr/include/c++/6/tuple:662:419:   required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type <anonymous> = <missing>]’
/usr/include/c++/6/tuple:1545:43:   required from ‘constexpr std::tuple<_Elements& ...> std::tie(_Elements& ...) [with _Elements = {const c10::optional<signed char>, const c10::VaryingShape<long int>, const c10::VaryingShape<long int>, const c10::optional<bool>}]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/c10/util/hash.h:139:58:   required from ‘size_t c10::get_hash(const Types& ...) [with Types = {c10::optional<signed char>, c10::VaryingShape<long int>, c10::VaryingShape<long int>, c10::optional<bool>}; size_t = long unsigned int]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/torch/csrc/jit/runtime/argument_spec.h:458:238:   required from here
/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (5, should be 2)
       return  __and_<__not_<is_same<tuple<_Elements...>,
                                                                                                                                                                                                                                                    ^
/usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
     struct is_convertible
        ^~~~~~~~~~~~~~
/usr/include/c++/6/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>&&; bool <anonymous> = true; _Elements = {const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&}]’:
/usr/include/c++/6/tuple:686:422:   required by substitution of ‘template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), const c10::optional<signed char>&, const c10::VaryingShape<long int>&, const c10::VaryingShape<long int>&, const c10::optional<bool>&>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type <anonymous> = <missing>]’
/usr/include/c++/6/tuple:1545:43:   required from ‘constexpr std::tuple<_Elements& ...> std::tie(_Elements& ...) [with _Elements = {const c10::optional<signed char>, const c10::VaryingShape<long int>, const c10::VaryingShape<long int>, const c10::optional<bool>}]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/c10/util/hash.h:139:58:   required from ‘size_t c10::get_hash(const Types& ...) [with Types = {c10::optional<signed char>, c10::VaryingShape<long int>, c10::VaryingShape<long int>, c10::optional<bool>}; size_t = long unsigned int]’
/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/include/torch/csrc/jit/runtime/argument_spec.h:458:238:   required from here
/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (5, should be 2)
       return  __and_<__not_<is_same<tuple<_Elements...>,
                                                                                                                                                                                                                                                    ^
/usr/include/c++/6/type_traits:1558:8: note: provided for ‘template<class _From, class _To> struct std::is_convertible’
     struct is_convertible
        ^~~~~~~~~~~~~~
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 1539, in _run_ninja_build
    env=env)
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/subprocess.py", line 438, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "setup.py", line 17, in <module>
    cmdclass={'build_ext': BuildExtension})
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/setuptools/__init__.py", line 153, in setup
    return distutils.core.setup(**attrs)
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/distutils/dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/setuptools/command/install.py", line 67, in run
    self.do_egg_install()
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/setuptools/command/install.py", line 109, in do_egg_install
    self.run_command('bdist_egg')
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/setuptools/command/bdist_egg.py", line 164, in run
    cmd = self.call_command('install_lib', warn_dir=0)
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/setuptools/command/bdist_egg.py", line 150, in call_command
    self.run_command(cmdname)
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/setuptools/command/install_lib.py", line 11, in run
    self.build()
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/distutils/command/install_lib.py", line 107, in build
    self.run_command('build_ext')
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/setuptools/command/build_ext.py", line 79, in run
    _build_ext.run(self)
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/distutils/command/build_ext.py", line 339, in run
    self.build_extensions()
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 670, in build_extensions
    build_ext.build_extensions(self)
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/distutils/command/build_ext.py", line 448, in build_extensions
    self._build_extensions_serial()
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/distutils/command/build_ext.py", line 473, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/setuptools/command/build_ext.py", line 202, in build_extension
    _build_ext.build_extension(self, ext)
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/distutils/command/build_ext.py", line 533, in build_extension
    depends=ext.depends)
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 500, in unix_wrap_ninja_compile
    with_cuda=with_cuda)
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 1255, in _write_ninja_file_and_compile_objects
    error_prefix='Error compiling objects for extension')
  File "/home/v-zhaojia/.conda/envs/RMNet/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 1555, in _run_ninja_build
    raise RuntimeError(message) from e
RuntimeError: Error compiling objects for extension

I don't know what's wrong :( , can you help me?

RMNet26?

Hello, I found that you use resnet50. What should I do to use resnet18? I see that rmnet26 is also mentioned in your paper. Do you have the source code?

Flownet2CSS weight mismatch issue

Hello, first of all, thank you very much for your excellent work content.
However, I am having some weight mismatch issues when trying to generate optical flow files using the Flownet2CSS pre-trained weights you provided, the error is reported as follows:

Traceback (most recent call last):
  File "main.py", line 214, in <module>
    model_and_loss.module.model.load_state_dict(checkpoint['state_dict'])
  File "/home/dyq/miniconda3/envs/flownet2/lib/python3.8/site-packages/torch/nn/modules/module.py", line 2041, in load_state_dict
    raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format(
RuntimeError: Error(s) in loading state_dict for FlowNet2CSS:
        Unexpected key(s) in state_dict: "flownets_d.conv0.0.weight", "flownets_d.conv0.0.bias", "flownets_d.conv1.0.weight", "flownets_d.conv1.0.bias", "flownets_d.conv1_1.0.weight", "flownets_d.conv1_1.0.bias", "flownets_d.conv2.0.weight", "flownets_d.conv2.0.bias", "flownets_d.conv2_1.0.weight", "flownets_d.conv2_1.0.bias", "flownets_d.conv3.0.weight", "flownets_d.conv3.0.bias", "flownets_d.conv3_1.0.weight", "flownets_d.conv3_1.0.bias", "flownets_d.conv4.0.weight", "flownets_d.conv4.0.bias", "flownets_d.conv4_1.0.weight", "flownets_d.conv4_1.0.bias", "flownets_d.conv5.0.weight", "flownets_d.conv5.0.bias", "flownets_d.conv5_1.0.weight", "flownets_d.conv5_1.0.bias", "flownets_d.conv6.0.weight", "flownets_d.conv6.0.bias", "flownets_d.conv6_1.0.weight", "flownets_d.conv6_1.0.bias", "flownets_d.deconv5.0.weight", "flownets_d.deconv5.0.bias", "flownets_d.deconv4.0.weight", "flownets_d.deconv4.0.bias", "flownets_d.deconv3.0.weight", "flownets_d.deconv3.0.bias", "flownets_d.deconv2.0.weight", "flownets_d.deconv2.0.bias", "flownets_d.inter_conv5.0.weight", "flownets_d.inter_conv5.0.bias", "flownets_d.inter_conv4.0.weight", "flownets_d.inter_conv4.0.bias", "flownets_d.inter_conv3.0.weight", "flownets_d.inter_conv3.0.bias", "flownets_d.inter_conv2.0.weight", "flownets_d.inter_conv2.0.bias", "flownets_d.predict_flow6.weight", "flownets_d.predict_flow6.bias", "flownets_d.predict_flow5.weight", "flownets_d.predict_flow5.bias", "flownets_d.predict_flow4.weight", "flownets_d.predict_flow4.bias", "flownets_d.predict_flow3.weight", "flownets_d.predict_flow3.bias", "flownets_d.predict_flow2.weight", "flownets_d.predict_flow2.bias", "flownets_d.upsampled_flow6_to_5.weight", "flownets_d.upsampled_flow6_to_5.bias", "flownets_d.upsampled_flow5_to_4.weight", "flownets_d.upsampled_flow5_to_4.bias", "flownets_d.upsampled_flow4_to_3.weight", "flownets_d.upsampled_flow4_to_3.bias", "flownets_d.upsampled_flow3_to_2.weight", "flownets_d.upsampled_flow3_to_2.bias", "flownetfusion.conv0.0.weight", "flownetfusion.conv0.0.bias", "flownetfusion.conv1.0.weight", "flownetfusion.conv1.0.bias", "flownetfusion.conv1_1.0.weight", "flownetfusion.conv1_1.0.bias", "flownetfusion.conv2.0.weight", "flownetfusion.conv2.0.bias", "flownetfusion.conv2_1.0.weight", "flownetfusion.conv2_1.0.bias", "flownetfusion.deconv1.0.weight", "flownetfusion.deconv1.0.bias", "flownetfusion.deconv0.0.weight", "flownetfusion.deconv0.0.bias", "flownetfusion.inter_conv1.0.weight", "flownetfusion.inter_conv1.0.bias", "flownetfusion.inter_conv0.0.weight", "flownetfusion.inter_conv0.0.bias", "flownetfusion.predict_flow2.weight", "flownetfusion.predict_flow2.bias", "flownetfusion.predict_flow1.weight", "flownetfusion.predict_flow1.bias", "flownetfusion.predict_flow0.weight", "flownetfusion.predict_flow0.bias", "flownetfusion.upsampled_flow2_to_1.weight", "flownetfusion.upsampled_flow2_to_1.bias", "flownetfusion.upsampled_flow1_to_0.weight", "flownetfusion.upsampled_flow1_to_0.bias". 

Personally, I think this is because the weights are not the model weights of Flownet2CSS, because after I changed the model to Flownet2, the program ran smoothly to generate the optical flow file.
image
Also in the weights you provided, the name of the weight is written as FlowNet2 instead of FlowNet2CSS
I am confused about this, are you providing the wrong weights? Or I didn't find the right way to use it?

Lastly, I wish you the best of luck with your work and look forward to hearing from you!

reg_att_map_generator.cu(114): error: type name is not allowed

reg_att_map_generator.cu(114): error: a pointer to a bound function may only be used to call the function
reg_att_map_generator.cu(114): error: type name is not allowed

reg_att_map_generator.cu(114): error: expected an expression

reg_att_map_generator.cu(114): error: a pointer to a bound function may only be used to call the function

reg_att_map_generator.cu(114): error: type name is not allowed

reg_att_map_generator.cu(114): error: expected an expression

reg_att_map_generator.cu(115): error: a pointer to a bound function may only be used to call the function

reg_att_map_generator.cu(115): error: type name is not allowed

reg_att_map_generator.cu(115): error: expected an expression

reg_att_map_generator.cu(115): error: a pointer to a bound function may only be used to call the function

reg_att_map_generator.cu(115): error: type name is not allowed

reg_att_map_generator.cu(115): error: expected an expression

12 errors detected in the compilation of "/tmp/tmpxft_000076b2_00000000-6_reg_att_map_generator.cpp1.ii".
error: command '/usr/local/cuda/bin/nvcc' failed with exit status 1

About batchsize

Although your code annotation are very clear,I still don't understand the part about batch size.
How to extend STM to batch size > 1?

Hyperparameters for static image pretraining

I wanted to know what changes are necessary to train the first step on static images.
I commented out the following line from config.yaml:

__C.DATASET.TRAIN_DATASET = ['YOUTUBE_VOS', 'DAVISx5']

So that the image datasets are loaded. Is the number of epochs also different? I'm confirming because the image dataset has 27728 batches per epoch and training this for 200 epochs is extremely lengthy.

Pretrained models for YouTube-VOS dataset

Thanks for sharing such great work about video object segmentation and providing the detailed instructions for the code.

  1. Unfortunately, I find that the link for pretrained YouTube-VOS model is invalid. Have you finished retraining it? I'm looking forward to this model.
  2. A question about the training detail. For the training on the YouTube-VOS dataset, do you use the annotated frames or all the frames in the training set? As we know, the training set of this dataset is annotated every 5 frames, e.g. for the image id from 0 to 9, the No.0 and No.5 images are annotated with segmentation masks.

Thanks!

About training process

Thanks for your job!
I have some problem about the training process.

  1. The training of tiny_flownet. According to the implementation details section in paper, the tiny_flownet and the STM is co-trained during both pretraining on static images and fintuning on video datasets such as DAVIS. But according to the code and other issues, the tiny_flownet and STM is trained separately. And you didn't inform the order of the training of tiny_flownet and STM. I wonder how you train the model. Firstly train the tiny flownet on static images and the train STM on static images, then finetune the STM on video datasets. Or some other order?
  2. For each training period, the hypeparameter and training epoch ?
    I would appreciate it if you could reply.

How can I use .flo file instead of tflownet?!

I've made .flo file with the flownet2.0CSS.
But I cannot find where to fix the code if I want to use .flo file as estimated optical flow
instead of output of the tflownet.

Can you please let me know where to look at?

Thanks in advance,
Joseph

  • Is changing est_flows to optical_flows enough?

Does Table 5 consider the computing time of optical flow?

Hi,

Thank you for your great work.

In table 5, the cross attention computing time is reduced significantly. May I know did you consider the computing time of optical flow in Table 5 since I noticed that tinyflownet also requires 10ms to compute, which is the same as the baseline cross attention computing time?

Thank you.

About network training

Hi, thanks for your great work!

I understand that TinyFlowNet is trained with pre-computed optical flows of FlowNet (for DAVIS) and RAFT (for YouTube-VOS) that are trained from other datasets.
I want to know how TinyFlowNet and RMNet are trained during static image training stage, as there are no pre-computed results for those training samples.

The problem of the precomputed optical flow

感谢开源。有一个问题想请教。
光流如果是precompute的话,应该是frame by frame的,即frame_step == 1。
当训练到后期的时候会动态增加frame_step,即可能输入第10,20,30帧数据送网络,frame_step==10,对应的光流输入的是10->20,20->30,但是此时实际输入的光流是19->20,29->30。
不确定是否您做了对应的处理我没看到相应的代码,还是我理解错了离线做光流数据的方式。

have you implemented KMN?

If you have done, you can provide the KMN code. I remember there were the KMN results in your "README", but now it disappear.

Training protocols for youtube finetuning

Sorry to hear about the loss of the pretrained youtube-vos pretrained model. If you could provide the detailed training protocols for the youtube finetune so I may help you to reproduce the result.

About training schedule

Thank you for your great work and code! I have a question about the training schedule. In the pre-training schedule, is the training protocol exactly identical to the main training stage? For example, the epoch is also 200 epochs for pre-training? Thank you very much!

Problem with building "reg_att_map_generator" extension

I'm running in colab:
%cd /content/RMNet/extensions/reg_att_map_generator
!python setup.py install --user

Help please? what I'm doing wrong?

Env:
GPU runtime
Name: torch Version: 1.8.1+cu101
Cuda compilation tools, release 11.0, V11.0.221
Build cuda_11.0_bu.TC445_37.28845127_0
gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0

got trace:

/content/RMNet/extensions/reg_att_map_generator
No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda'
running install
running bdist_egg
running egg_info
writing reg_att_map_generator.egg-info/PKG-INFO
writing dependency_links to reg_att_map_generator.egg-info/dependency_links.txt
writing top-level names to reg_att_map_generator.egg-info/top_level.txt
/usr/local/lib/python3.7/dist-packages/torch/utils/cpp_extension.py:369: UserWarning: Attempted to use ninja as the BuildExtension backend but we could not find ninja.. Falling back to using the slow distutils backend.
warnings.warn(msg.format('we could not find ninja.'))
writing manifest file 'reg_att_map_generator.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_ext
building 'reg_att_map_generator' extension
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fdebug-prefix-map=/build/python3.7-OGiuun/python3.7-3.7.10=. -fstack-protector-strong -Wformat -Werror=format-security -g -fdebug-prefix-map=/build/python3.7-OGiuun/python3.7-3.7.10=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/local/lib/python3.7/dist-packages/torch/include -I/usr/local/lib/python3.7/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/lib/python3.7/dist-packages/torch/include/TH -I/usr/local/lib/python3.7/dist-packages/torch/include/THC -I/usr/local/cuda/include -I/usr/include/python3.7m -c reg_att_map_generator_cuda.cpp -o build/temp.linux-x86_64-3.7/reg_att_map_generator_cuda.o -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE="_gcc" -DPYBIND11_STDLIB="_libstdcpp" -DPYBIND11_BUILD_ABI="_cxxabi1011" -DTORCH_EXTENSION_NAME=reg_att_map_generator -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
In file included from /usr/local/lib/python3.7/dist-packages/torch/include/ATen/Parallel.h:140:0,
from /usr/local/lib/python3.7/dist-packages/torch/include/torch/csrc/api/include/torch/utils.h:3,
from /usr/local/lib/python3.7/dist-packages/torch/include/torch/csrc/api/include/torch/nn/cloneable.h:5,
from /usr/local/lib/python3.7/dist-packages/torch/include/torch/csrc/api/include/torch/nn.h:3,
from /usr/local/lib/python3.7/dist-packages/torch/include/torch/csrc/api/include/torch/all.h:13,
from /usr/local/lib/python3.7/dist-packages/torch/include/torch/extension.h:4,
from reg_att_map_generator_cuda.cpp:10:
/usr/local/lib/python3.7/dist-packages/torch/include/ATen/ParallelOpenMP.h:83:0: warning: ignoring #pragma omp parallel [-Wunknown-pragmas]
#pragma omp parallel for if ((end - begin) >= grain_size)

Traceback (most recent call last):
File "setup.py", line 17, in
cmdclass={'build_ext': BuildExtension})
File "/usr/local/lib/python3.7/dist-packages/setuptools/init.py", line 153, in setup
return distutils.core.setup(**attrs)
File "/usr/lib/python3.7/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/lib/python3.7/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/usr/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/usr/local/lib/python3.7/dist-packages/setuptools/command/install.py", line 67, in run
self.do_egg_install()
File "/usr/local/lib/python3.7/dist-packages/setuptools/command/install.py", line 109, in do_egg_install
self.run_command('bdist_egg')
File "/usr/lib/python3.7/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/usr/local/lib/python3.7/dist-packages/setuptools/command/bdist_egg.py", line 164, in run
cmd = self.call_command('install_lib', warn_dir=0)
File "/usr/local/lib/python3.7/dist-packages/setuptools/command/bdist_egg.py", line 150, in call_command
self.run_command(cmdname)
File "/usr/lib/python3.7/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/usr/local/lib/python3.7/dist-packages/setuptools/command/install_lib.py", line 11, in run
self.build()
File "/usr/lib/python3.7/distutils/command/install_lib.py", line 109, in build
self.run_command('build_ext')
File "/usr/lib/python3.7/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/usr/local/lib/python3.7/dist-packages/setuptools/command/build_ext.py", line 79, in run
_build_ext.run(self)
File "/usr/local/lib/python3.7/dist-packages/Cython/Distutils/old_build_ext.py", line 186, in run
_build_ext.build_ext.run(self)
File "/usr/lib/python3.7/distutils/command/build_ext.py", line 340, in run
self.build_extensions()
File "/usr/local/lib/python3.7/dist-packages/torch/utils/cpp_extension.py", line 708, in build_extensions
build_ext.build_extensions(self)
File "/usr/local/lib/python3.7/dist-packages/Cython/Distutils/old_build_ext.py", line 195, in build_extensions
_build_ext.build_ext.build_extensions(self)
File "/usr/lib/python3.7/distutils/command/build_ext.py", line 449, in build_extensions
self._build_extensions_serial()
File "/usr/lib/python3.7/distutils/command/build_ext.py", line 474, in _build_extensions_serial
self.build_extension(ext)
File "/usr/local/lib/python3.7/dist-packages/setuptools/command/build_ext.py", line 196, in build_extension
_build_ext.build_extension(self, ext)
File "/usr/lib/python3.7/distutils/command/build_ext.py", line 534, in build_extension
depends=ext.depends)
File "/usr/lib/python3.7/distutils/ccompiler.py", line 574, in compile
self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
File "/usr/local/lib/python3.7/dist-packages/torch/utils/cpp_extension.py", line 456, in unix_wrap_single_compile
cflags = unix_cuda_flags(cflags)
File "/usr/local/lib/python3.7/dist-packages/torch/utils/cpp_extension.py", line 423, in unix_cuda_flags
cflags + _get_cuda_arch_flags(cflags))
File "/usr/local/lib/python3.7/dist-packages/torch/utils/cpp_extension.py", line 1561, in _get_cuda_arch_flags
arch_list[-1] += '+PTX'
IndexError: list index out of range

import torch error

image
Thank you for your great work. I found your code stuck on the Import Torch line, but my environment was able to run other code. Do you know why?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.