Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error building extension 'inplace_abn' #78

Open
Saba-Heidari opened this issue Nov 15, 2019 · 8 comments
Open

Error building extension 'inplace_abn' #78

Saba-Heidari opened this issue Nov 15, 2019 · 8 comments

Comments

@Saba-Heidari
Copy link

I try to run the code, and I get the following error :( Anybody knows how to solve it?
Traceback (most recent call last):
File "/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 949, in _build_extension_module
check=True)
File "/home/exx/anaconda3/envs/myenv/lib/python3.7/subprocess.py", line 512, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/exx/Desktop/AutoML-new_master_N_2/train_autodeeplab.py", line 9, in
from modeling.deeplab import *
File "/home/exx/Desktop/AutoML-new_master_N_2/modeling/deeplab.py", line 5, in
from modeling.aspp import build_aspp
File "/home/exx/Desktop/AutoML-new_master_N_2/modeling/aspp.py", line 6, in
from operations import ABN
File "/home/exx/Desktop/AutoML-new_master_N_2/operations.py", line 21, in
from modeling.modules import InPlaceABNSync as ABN
File "/home/exx/Desktop/AutoML-new_master_N_2/modeling/modules/init.py", line 1, in
from .bn import ABN, InPlaceABN, InPlaceABNSync
File "/home/exx/Desktop/AutoML-new_master_N_2/modeling/modules/bn.py", line 10, in
from .functions import *
File "/home/exx/Desktop/AutoML-new_master_N_2/modeling/modules/functions.py", line 18, in
extra_cuda_cflags=["--expt-extended-lambda"])
File "/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 644, in load
is_python_module)
File "/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 813, in jit_compile
with_cuda=with_cuda)
File "/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 866, in write_ninja_file_and_build
build_extension_module(name, build_directory, verbose)
File "/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 962, in build_extension_module
raise RuntimeError(message)
RuntimeError: Error building extension 'inplace_abn': b"[1/3] /usr/bin/nvcc -DTORCH_EXTENSION_NAME=inplace_abn -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include -isystem /home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/TH -isystem /home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/THC -isystem /home/exx/anaconda3/envs/myenv/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=1 -D__CUDA_NO_HALF_OPERATORS
-D__CUDA_NO_HALF_CONVERSIONS
-D__CUDA_NO_HALF2_OPERATORS__ --compiler-options '-fPIC' --expt-extended-lambda -std=c++11 -c /home/exx/Desktop/AutoML-new_master_N_2/modeling/modules/src/inplace_abn_cuda_half.cu -o inplace_abn_cuda_half.cuda.o\nFAILED: inplace_abn_cuda_half.cuda.o \n/usr/bin/nvcc -DTORCH_EXTENSION_NAME=inplace_abn -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include -isystem /home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/TH -isystem /home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/THC -isystem /home/exx/anaconda3/envs/myenv/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=1 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --compiler-options '-fPIC' --expt-extended-lambda -std=c++11 -c /home/exx/Desktop/AutoML-new_master_N_2/modeling/modules/src/inplace_abn_cuda_half.cu -o inplace_abn_cuda_half.cuda.o\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:626:248: required by substitution of \xe2\x80\x98template<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 > constexpr std::tuple< >::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 = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/core/TensorMethods.h:1181:57: required from here\n/usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding \xe2\x80\x98std::is_constructible<_Elements, _UElements&&>\xe2\x80\x99\n return _and<is_constructible<_Elements, _UElements&&>...>::value;\n ^~~~~\n/usr/include/c++/6/tuple:484:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:626:362: required by substitution of \xe2\x80\x98template<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 > constexpr std::tuple< >::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 = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/core/TensorMethods.h:1181:57: required from here\n/usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding \xe2\x80\x98std::is_convertible<_UElements&&, _Elements>\xe2\x80\x99\n return _and<is_convertible<_UElements&&, _Elements>...>::value;\n ^~~~~\n/usr/include/c++/6/tuple:490:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor>&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:662:419: required by substitution of \xe2\x80\x98template<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 > constexpr std::tuple< >::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 = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/core/TensorMethods.h:1181:57: required from here\n/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (4, should be 2)\n return _and<_not<is_same<tuple<_Elements...>,\n ^ \n/usr/include/c++/6/type_traits:1558:8: note: provided for \xe2\x80\x98template<class _From, class _To> struct std::is_convertible\xe2\x80\x99\n struct is_convertible\n ^~~~~~~~~~~~~~\n/usr/include/c++/6/tuple:502:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor>&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor>&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:686:422: required by substitution of \xe2\x80\x98template<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 > constexpr std::tuple< >::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 = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/core/TensorMethods.h:1181:57: required from here\n/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (4, should be 2)\n return _and<_not<is_same<tuple<_Elements...>,\n ^ \n/usr/include/c++/6/type_traits:1558:8: note: provided for \xe2\x80\x98template<class _From, class _To> struct std::is_convertible\xe2\x80\x99\n struct is_convertible\n ^~~~~~~~~~~~~~\n/usr/include/c++/6/tuple:502:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor>&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>}; bool = true; _Elements = {at::Tensor&, at::Tensor&, at::Tensor&}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:626:248: required by substitution of \xe2\x80\x98template<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 > constexpr std::tuple< >::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 = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/Functions.h:2426:85: required from here\n/usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding \xe2\x80\x98std::is_constructible<_Elements, _UElements&&>\xe2\x80\x99\n return _and<is_constructible<_Elements, _UElements&&>...>::value;\n ^~~~~\n/usr/include/c++/6/tuple:484:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>}; bool = true; _Elements = {at::Tensor&, at::Tensor&, at::Tensor&}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>}; bool = true; _Elements = {at::Tensor&, at::Tensor&, at::Tensor&}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:626:362: required by substitution of \xe2\x80\x98template<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 > constexpr std::tuple< >::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 = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/Functions.h:2426:85: required from here\n/usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding \xe2\x80\x98std::is_convertible<_UElements&&, _Elements>\xe2\x80\x99\n return _and<is_convertible<_UElements&&, _Elements>...>::value;\n ^~~~~\n/usr/include/c++/6/tuple:490:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>}; bool = true; _Elements = {at::Tensor&, at::Tensor&, at::Tensor&}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>&; bool = true; _Elements = {at::Tensor&, at::Tensor&, at::Tensor&}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:662:419: required by substitution of \xe2\x80\x98template<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 > constexpr std::tuple< >::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 = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/Functions.h:2426:85: required from here\n/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (4, should be 2)\n return _and<_not<is_same<tuple<_Elements...>,\n ^ \n/usr/include/c++/6/type_traits:1558:8: note: provided for \xe2\x80\x98template<class _From, class _To> struct std::is_convertible\xe2\x80\x99\n struct is_convertible\n ^~~~~~~~~~~~~~\n/usr/include/c++/6/tuple:502:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>&; bool = true; _Elements = {at::Tensor&, at::Tensor&, at::Tensor&}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>&&; bool = true; _Elements = {at::Tensor&, at::Tensor&, at::Tensor&}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:686:422: required by substitution of \xe2\x80\x98template<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 > constexpr std::tuple< >::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 = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/Functions.h:2426:85: required from here\n/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (4, should be 2)\n return _and<_not<is_same<tuple<_Elements...>,\n ^ \n/usr/include/c++/6/type_traits:1558:8: note: provided for \xe2\x80\x98template<class _From, class _To> struct std::is_convertible\xe2\x80\x99\n struct is_convertible\n ^~~~~~~~~~~~~~\n/usr/include/c++/6/tuple:502:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor&, at::Tensor&, at::Tensor&>&&; bool = true; _Elements = {at::Tensor&, at::Tensor&, at::Tensor&}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:626:248: required by substitution of \xe2\x80\x98template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/Functions.h:3119:197: required from here\n/usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding \xe2\x80\x98std::is_constructible<_Elements, _UElements&&>\xe2\x80\x99\n return _and<is_constructible<_Elements, _UElements&&>...>::value;\n ^~~~~\n/usr/include/c++/6/tuple:484:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:626:362: required by substitution of \xe2\x80\x98template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (5ul >= 1)), bool>::type = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/Functions.h:3119:197: required from here\n/usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding \xe2\x80\x98std::is_convertible<_UElements&&, _Elements>\xe2\x80\x99\n return _and<is_convertible<_UElements&&, _Elements>...>::value;\n ^~~~~\n/usr/include/c++/6/tuple:490:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:662:419: required by substitution of \xe2\x80\x98template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type > constexpr std::tuple< >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/Functions.h:3119:197: required from here\n/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (6, should be 2)\n return _and<_not<is_same<tuple<_Elements...>,\n ^ \n/usr/include/c++/6/type_traits:1558:8: note: provided for \xe2\x80\x98template<class _From, class _To> struct std::is_convertible\xe2\x80\x99\n struct is_convertible\n ^~~~~~~~~~~~~~\n/usr/include/c++/6/tuple:502:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:686:422: required by substitution of \xe2\x80\x98template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type > constexpr std::tuple< >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/Functions.h:3119:197: required from here\n/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (6, should be 2)\n return _and<_not<is_same<tuple<_Elements...>,\n ^ \n/usr/include/c++/6/type_traits:1558:8: note: provided for \xe2\x80\x98template<class _From, class _To> struct std::is_convertible\xe2\x80\x99\n struct is_convertible\n ^~~~~~~~~~~~~~\n/usr/include/c++/6/tuple:502:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor>&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:626:248: required by substitution of \xe2\x80\x98template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/Functions.h:3122:267: required from here\n/usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding \xe2\x80\x98std::is_constructible<_Elements, _UElements&&>\xe2\x80\x99\n return _and<is_constructible<_Elements, _UElements&&>...>::value;\n ^~~~~\n/usr/include/c++/6/tuple:484:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:626:362: required by substitution of \xe2\x80\x98template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/Functions.h:3122:267: required from here\n/usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding \xe2\x80\x98std::is_convertible<_UElements&&, _Elements>\xe2\x80\x99\n return _and<is_convertible<_UElements&&, _Elements>...>::value;\n ^~~~~\n/usr/include/c++/6/tuple:490:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:662:419: required by substitution of \xe2\x80\x98template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type > constexpr std::tuple< >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/Functions.h:3122:267: required from here\n/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (5, should be 2)\n return _and<_not<is_same<tuple<_Elements...>,\n ^ \n/usr/include/c++/6/type_traits:1558:8: note: provided for \xe2\x80\x98template<class _From, class _To> struct std::is_convertible\xe2\x80\x99\n struct is_convertible\n ^~~~~~~~~~~~~~\n/usr/include/c++/6/tuple:502:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:686:422: required by substitution of \xe2\x80\x98template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type > constexpr std::tuple< >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/Functions.h:3122:267: required from here\n/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (5, should be 2)\n return _and<_not<is_same<tuple<_Elements...>,\n ^ \n/usr/include/c++/6/type_traits:1558:8: note: provided for \xe2\x80\x98template<class _From, class _To> struct std::is_convertible\xe2\x80\x99\n struct is_convertible\n ^~~~~~~~~~~~~~\n/usr/include/c++/6/tuple:502:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor > >&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, std::vector<at::Tensor, std::allocatorat::Tensor >}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, long int>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, long int}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:626:248: required by substitution of \xe2\x80\x98template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, long int>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, long int>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, long int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, long int>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, long int>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, long int>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, long int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/Functions.h:3317:143: required from here\n/usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding \xe2\x80\x98std::is_constructible<_Elements, _UElements&&>\xe2\x80\x99\n return _and<is_constructible<_Elements, _UElements&&>...>::value;\n ^~~~~\n/usr/include/c++/6/tuple:484:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, long int>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, long int}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, long int>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, long int}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:626:362: required by substitution of \xe2\x80\x98template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, long int>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, long int>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, long int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, long int>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, long int>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, long int>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, long int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/Functions.h:3317:143: required from here\n/usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding \xe2\x80\x98std::is_convertible<_UElements&&, _Elements>\xe2\x80\x99\n return _and<is_convertible<_UElements&&, _Elements>...>::value;\n ^~~~~\n/usr/include/c++/6/tuple:490:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, long int>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, long int}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor, long int>&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, long int}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:662:419: required by substitution of \xe2\x80\x98template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, long int>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, long int>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, long int>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type > constexpr std::tuple< >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor, long int}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, long int>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, long int>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, long int>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/Functions.h:3317:143: required from here\n/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (5, should be 2)\n return _and<_not<is_same<tuple<_Elements...>,\n ^ \n/usr/include/c++/6/type_traits:1558:8: note: provided for \xe2\x80\x98template<class _From, class _To> struct std::is_convertible\xe2\x80\x99\n struct is_convertible\n ^~~~~~~~~~~~~~\n/usr/include/c++/6/tuple:502:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor, long int>&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, long int}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor, long int>&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, long int}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:686:422: required by substitution of \xe2\x80\x98template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, long int>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, long int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, long int>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type > constexpr std::tuple< >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor, long int}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, long int>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, long int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, long int>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/Functions.h:3317:143: required from here\n/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (5, should be 2)\n return _and<_not<is_same<tuple<_Elements...>,\n ^ \n/usr/include/c++/6/type_traits:1558:8: note: provided for \xe2\x80\x98template<class _From, class _To> struct std::is_convertible\xe2\x80\x99\n struct is_convertible\n ^~~~~~~~~~~~~~\n/usr/include/c++/6/tuple:502:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor, long int>&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, long int}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:626:248: required by substitution of \xe2\x80\x98template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/Functions.h:3608:127: required from here\n/usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding \xe2\x80\x98std::is_constructible<_Elements, _UElements&&>\xe2\x80\x99\n return _and<is_constructible<_Elements, _UElements&&>...>::value;\n ^~~~~\n/usr/include/c++/6/tuple:484:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:626:362: required by substitution of \xe2\x80\x98template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/Functions.h:3608:127: required from here\n/usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding \xe2\x80\x98std::is_convertible<_UElements&&, _Elements>\xe2\x80\x99\n return _and<is_convertible<_UElements&&, _Elements>...>::value;\n ^~~~~\n/usr/include/c++/6/tuple:490:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:662:419: required by substitution of \xe2\x80\x98template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type > constexpr std::tuple< >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/Functions.h:3608:127: required from here\n/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (5, should be 2)\n return _and<_not<is_same<tuple<_Elements...>,\n ^ \n/usr/include/c++/6/type_traits:1558:8: note: provided for \xe2\x80\x98template<class _From, class _To> struct std::is_convertible\xe2\x80\x99\n struct is_convertible\n ^~~~~~~~~~~~~~\n/usr/include/c++/6/tuple:502:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:686:422: required by substitution of \xe2\x80\x98template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type > constexpr std::tuple< >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, at::Tensor, at::Tensor>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/Functions.h:3608:127: required from here\n/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (5, should be 2)\n return _and<_not<is_same<tuple<_Elements...>,\n ^ \n/usr/include/c++/6/type_traits:1558:8: note: provided for \xe2\x80\x98template<class _From, class _To> struct std::is_convertible\xe2\x80\x99\n struct is_convertible\n ^~~~~~~~~~~~~~\n/usr/include/c++/6/tuple:502:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, at::Tensor, at::Tensor>&&; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, double, long int>}; bool = true; _Elements = {at::Tensor, at::Tensor, double, long int}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:626:248: required by substitution of \xe2\x80\x98template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, double, long int>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, double, long int>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, double, long int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, double, long int>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, double, long int>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, double, long int>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, double, long int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/Functions.h:3878:69: required from here\n/usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding \xe2\x80\x98std::is_constructible<_Elements, _UElements&&>\xe2\x80\x99\n return _and<is_constructible<_Elements, _UElements&&>...>::value;\n ^~~~~\n/usr/include/c++/6/tuple:484:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, double, long int>}; bool = true; _Elements = {at::Tensor, at::Tensor, double, long int}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, double, long int>}; bool = true; _Elements = {at::Tensor, at::Tensor, double, long int}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:626:362: required by substitution of \xe2\x80\x98template<class ... _UElements, typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, double, long int>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, double, long int>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, double, long int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type > constexpr std::tuple< >::tuple(_UElements&& ...) [with _UElements = {std::tuple<at::Tensor, at::Tensor, double, long int>}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), at::Tensor, at::Tensor, double, long int>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, double, long int>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, double, long int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (4ul >= 1)), bool>::type = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/Functions.h:3878:69: required from here\n/usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding \xe2\x80\x98std::is_convertible<_UElements&&, _Elements>\xe2\x80\x99\n return _and<is_convertible<_UElements&&, _Elements>...>::value;\n ^~~~~\n/usr/include/c++/6/tuple:490:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, double, long int>}; bool = true; _Elements = {at::Tensor, at::Tensor, double, long int}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, double, long int>&; bool = true; _Elements = {at::Tensor, at::Tensor, double, long int}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:662:419: required by substitution of \xe2\x80\x98template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, double, long int>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, double, long int>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, double, long int>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type > constexpr std::tuple< >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {at::Tensor, at::Tensor, double, long int}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, double, long int>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, double, long int>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, double, long int>::_NonNestedTuple<const tuple<_Elements ...>&>()), bool>::type = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/Functions.h:3878:69: required from here\n/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (5, should be 2)\n return _and<_not<is_same<tuple<_Elements...>,\n ^ \n/usr/include/c++/6/type_traits:1558:8: note: provided for \xe2\x80\x98template<class _From, class _To> struct std::is_convertible\xe2\x80\x99\n struct is_convertible\n ^~~~~~~~~~~~~~\n/usr/include/c++/6/tuple:502:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<at::Tensor, at::Tensor, double, long int>&; bool = true; _Elements = {at::Tensor, at::Tensor, double, long int}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<at::Tensor, at::Tensor, double, long int>&&; bool = true; _Elements = {at::Tensor, at::Tensor, double, long int}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:686:422: required by substitution of \xe2\x80\x98template<class ... _UElements, class _Dummy, typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, double, long int>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, double, long int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, double, long int>::_NonNestedTuple<tuple<_Elements ...>&&>()), bool>::type > constexpr std::tuple< >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {at::Tensor, at::Tensor, double, long int}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, double, long int>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), at::Tensor, at::Tensor, double, long int>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), at::Tensor, at::Tensor, double, long int>::NonNestedTuple<tuple<Elements ...>&&>()), bool>::type = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/Functions.h:3878:69: required from here\n/usr/include/c++/6/tuple:495:244: error: wrong number of template arguments (5, should be 2)\n return and<not<is_same<tuple<Elements...>,\n ^ \n/usr/include/c++/6/type_traits:1558:8: note: provided for \xe2\x80\x98template<class From, class To> struct std::is_convertible\xe2\x80\x99\n struct is_convertible\n ^~~~~~~~~~~~~~\n/usr/include/c++/6/tuple:502:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::TC<, Elements>::NonNestedTuple() [with SrcTuple = std::tuple<at::Tensor, at::Tensor, double, long int>&&; bool = true; Elements = {at::Tensor, at::Tensor, double, long int}]\xe2\x80\x99 not a return-statement\n }\n ^\n[2/3] /usr/bin/nvcc -DTORCH_EXTENSION_NAME=inplace_abn -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include -isystem /home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/TH -isystem /home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/THC -isystem /home/exx/anaconda3/envs/myenv/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=1 -D__CUDA_NO_HALF_OPERATORS -D__CUDA_NO_HALF_CONVERSIONS -D__CUDA_NO_HALF2_OPERATORS --compiler-options '-fPIC' --expt-extended-lambda -std=c++11 -c /home/exx/Desktop/AutoML-new_master_N_2/modeling/modules/src/inplace_abn_cuda.cu -o inplace_abn_cuda.cuda.o\nFAILED: inplace_abn_cuda.cuda.o \n/usr/bin/nvcc -DTORCH_EXTENSION_NAME=inplace_abn -DTORCH_API_INCLUDE_EXTENSION_H -isystem /home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include -isystem /home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/TH -isystem /home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/THC -isystem /home/exx/anaconda3/envs/myenv/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=1 -D__CUDA_NO_HALF_OPERATORS -D__CUDA_NO_HALF_CONVERSIONS -D__CUDA_NO_HALF2_OPERATORS --compiler-options '-fPIC' --expt-extended-lambda -std=c++11 -c /home/exx/Desktop/AutoML-new_master_N_2/modeling/modules/src/inplace_abn_cuda.cu -o inplace_abn_cuda.cuda.o\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:626:248: required by substitution of \xe2\x80\x98template<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 > constexpr std::tuple< >::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 = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/core/TensorMethods.h:1181:57: required from here\n/usr/include/c++/6/tuple:483:67: error: mismatched argument pack lengths while expanding \xe2\x80\x98std::is_constructible<_Elements, _UElements&&>\xe2\x80\x99\n return _and<is_constructible<_Elements, _UElements&&>...>::value;\n ^~~~~\n/usr/include/c++/6/tuple:484:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99:\n/usr/include/c++/6/tuple:626:362: required by substitution of \xe2\x80\x98template<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 > constexpr std::tuple< >::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 = ]\xe2\x80\x99\n/home/exx/anaconda3/envs/myenv/lib/python3.7/site-packages/torch/include/ATen/core/TensorMethods.h:1181:57: required from here\n/usr/include/c++/6/tuple:489:65: error: mismatched argument pack lengths while expanding \xe2\x80\x98std::is_convertible<_UElements&&, _Elements>\xe2\x80\x99\n return _and<is_convertible<_UElements&&, _Elements>...>::value;\n ^~~~~\n/usr/include/c++/6/tuple:490:1: error: body of constexpr function \xe2\x80\x98static constexpr bool std::_TC<, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<at::Tensor, at::Tensor, at::Tensor>}; bool = true; _Elements = {at::Tensor, at::Tensor, at::Tensor}]\xe2\x80\x99 not a return-statement\n }\n ^\n/usr/include/c++/6/tuple: In instantiation of \xe2\x80\x98static constexpr bool std::_TC<

@zzx-zhangxian
Copy link
Collaborator

in pytorch1.1 we dont come across this error

@zzx-zhangxian
Copy link
Collaborator

Hey, maybe you can find something help in the origin reposibility , or you can directly use the abn in this instead of our modules, it is an old version , we will update it in next version, Thanks

@Saba-Heidari
Copy link
Author

I change the pytorch to version 1.1 and the error changed to "AttributeError: 'Namespace' object has no attribute 'dist'":
do you know how to solve it?

PyDev console: starting.
Python 3.6.9 |Anaconda, Inc.| (default, Jul 30 2019, 19:07:31)
[GCC 7.3.0] on linux
runfile('/home/saba/Desktop/AutoML-new_master/train_autodeeplab.py', wdir='/home/saba/Desktop/AutoML-new_master')
Backend Qt5Agg is interactive backend. Turning interactive mode on.
working with pytorch version 1.1.0
with cuda version 10.0.130
cudnn enabled: True
cudnn version: 7501
Namespace(affine=False, alpha_epoch=20, arch_lr=0.003, arch_weight_decay=0.001, autodeeplab='search', backbone='resnet', base_size=320, batch_size=2, block_multiplier=5, checkname='deeplab-resnet', clean_module=0, crop_size=321, cuda=True, dataset='cityscapes', epochs=40, eval_interval=1, filter_multiplier=8, freeze_bn=False, ft=False, gpu_ids=[0], load_parallel=0, loss_type='ce', lr=0.025, lr_scheduler='cos', min_lr=0.001, momentum=0.9, multi_scale=(0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0), nesterov=False, no_cuda=False, no_val=False, opt_level='O0', out_stride=16, resize=512, resume=None, seed=1, start_epoch=0, step=5, sync_bn=False, test_batch_size=2, use_amp=False, use_balanced_weights=False, use_sbd=False, weight_decay=0.0003, workers=0)
Traceback (most recent call last):
File "", line 1, in
File "/snap/pycharm-community/167/helpers/pydev/_pydev_bundle/pydev_umd.py", line 197, in runfile
pydev_imports.execfile(filename, global_vars, local_vars) # execute the script
File "/snap/pycharm-community/167/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "/home/saba/Desktop/AutoML-new_master/train_autodeeplab.py", line 332, in
main()
File "/home/saba/Desktop/AutoML-new_master/train_autodeeplab.py", line 321, in main
trainer = Trainer(args)
File "/home/saba/Desktop/AutoML-new_master/train_autodeeplab.py", line 47, in init
self.train_loaderA, self.train_loaderB, self.val_loader, self.test_loader, self.nclass = make_data_loader(args, **kwargs)
File "/home/saba/Desktop/AutoML-new_master/dataloaders/init.py", line 7, in make_data_loader
if args.dist:
AttributeError: 'Namespace' object has no attribute 'dist'

@zzx-zhangxian
Copy link
Collaborator

Haha, looks like I forgot the variable "dist" in the args, maybe you can now add it in the obtain_args in config_utils/, dist is a bool variable that determines whether use distributed train...

@Saba-Heidari
Copy link
Author

I add it but it still has the same error :(

@juven817
Copy link

I add it but it still has the same error :(

you should add it in search_args.py

@kukby
Copy link

kukby commented Mar 11, 2020

I add it but it still has the same error :(

you should add it in search_args.py

Thank to your suggest! But i am still not understand where can i add it in search_args.py

@kaishijeng
Copy link

I have the same issue. My pytorch is 1.4.0 and it is difficult for me to roll back to 1.1.0
How can use the abn as you suggest below?

you can directly use the abn in this instead of our modules,

Thanks,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants