tiny-dnn icon indicating copy to clipboard operation
tiny-dnn copied to clipboard

how to use tiny-dnn in my project? (ubuntu 16.04) - error

Open ghimiredhikura opened this issue 8 years ago • 9 comments

while i try to compile mnist train.cpp file given in tiny-dnn example. i got following errors!

/Project/tiny-dnn/mnist$ g++ -std=c++11 -I /home/anudee/tiny-dnn/ -O3 train.cpp -o mnist-train
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xstorage.hpp:19:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuffer_adaptor.hpp:18,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:16,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:52:24: error: expected primary-expression before ‘auto’
     constexpr decltype(auto) argument(Args&&... args) noexcept;
                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:52:24: error: expected ‘)’ before ‘auto’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:52:15: error: expected unqualified-id before ‘decltype’
     constexpr decltype(auto) argument(Args&&... args) noexcept;
               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:82:14: error: expected primary-expression before ‘auto’
     decltype(auto) forward_sequence(A&& s);
              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:82:14: error: expected ‘)’ before ‘auto’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:82:5: error: expected unqualified-id before ‘decltype’
     decltype(auto) forward_sequence(A&& s);
     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:150:21: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type
         inline std::enable_if_t<I == sizeof...(T), R>
                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:157:21: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type
         inline std::enable_if_t<I < sizeof...(T), R>
                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp: In function ‘R xt::accumulate(F&&, R, const std::tuple<_Tail ...>&)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:168:16: error: ‘accumulate_impl’ is not a member of ‘xt::detail’
         return detail::accumulate_impl<0, F, R, T...>(f, init, t);
                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:168:44: error: expected primary-expression before ‘,’ token
         return detail::accumulate_impl<0, F, R, T...>(f, init, t);
                                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:168:47: error: expected primary-expression before ‘,’ token
         return detail::accumulate_impl<0, F, R, T...>(f, init, t);
                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:168:50: error: expected primary-expression before ‘...’ token
         return detail::accumulate_impl<0, F, R, T...>(f, init, t);
                                                  ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:168:50: error: expected ‘;’ before ‘...’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:168:50: error: expected primary-expression before ‘...’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:225:39: error: expected primary-expression before ‘auto’
             static constexpr decltype(auto) get(Arg&& /*arg*/, Args&&... args) 
                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:225:39: error: expected ‘)’ before ‘auto’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:225:30: error: expected unqualified-id before ‘decltype’
             static constexpr decltype(auto) get(Arg&& /*arg*/, Args&&... args) 
                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:243:24: error: expected primary-expression before ‘auto’
     constexpr decltype(auto) argument(Args&&... args) noexcept
                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:243:24: error: expected ‘)’ before ‘auto’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:243:15: error: expected unqualified-id before ‘decltype’
     constexpr decltype(auto) argument(Args&&... args) noexcept
               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:262:51: error: ‘std::index_sequence’ has not been declared
         R apply(std::size_t index, F&& func, std::index_sequence<I...> /*seq*/,
                                                   ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:262:65: error: expected ‘,’ or ‘...’ before ‘<’ token
         R apply(std::size_t index, F&& func, std::index_sequence<I...> /*seq*/,
                                                                 ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xstorage.hpp:19:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuffer_adaptor.hpp:18,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:16,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp: In function ‘R xt::detail::apply(std::size_t, F&&, int)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:264:29: error: ‘add_pointer_t’ in namespace ‘std’ does not name a template type
             using FT = std::add_pointer_t<R(F&&, const std::tuple<S...>&)>;
                             ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:265:37: error: ‘FT’ was not declared in this scope
             static const std::array<FT, sizeof...(I)> ar = {{&apply_one<R, F, I
                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:265:53: error: template argument 1 is invalid
             static const std::array<FT, sizeof...(I)> ar = {{&apply_one<R, F, I
                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:266:28: error: invalid types ‘const int[std::size_t {aka long unsigned int}]’ for array subscript
             return ar[index](std::forward<F>(func), s);
                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:266:53: error: ‘s’ was not declared in this scope
             return ar[index](std::forward<F>(func), s);
                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp: In function ‘R xt::apply(std::size_t, F&&, const std::tuple<_Tail ...>&)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:273:63: error: ‘make_index_sequence’ is not a member of ‘std’
         return detail::apply<R>(index, std::forward<F>(func), std::make_index_s
                                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:273:102: error: expected primary-expression before ‘)’ token
 <R>(index, std::forward<F>(func), std::make_index_sequence<sizeof...(S)>(), s);
                                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:366:49: error: ‘std::index_sequence’ has not been declared
         constexpr R initializer_shape(U t, std::index_sequence<I...>)
                                                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:366:63: error: expected ‘,’ or ‘...’ before ‘<’ token
         constexpr R initializer_shape(U t, std::index_sequence<I...>)
                                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp: In function ‘constexpr R xt::shape(T)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:376:61: error: ‘make_index_sequence’ is not a member of ‘std’
         return detail::initializer_shape<R, decltype(t)>(t, std::make_index_seq
                                                             ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:376:129: error: expected primary-expression before ‘)’ token
 (t)>(t, std::make_index_sequence<initializer_dimension<decltype(t)>::value>());
                                                                             ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:501:35: error: ‘enable_if_t’ is not a member of ‘std’
                                   std::enable_if_t<!std::is_same<std::array<I, 
                                   ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:501:35: error: ‘enable_if_t’ is not a member of ‘std’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:501:88: error: type/value mismatch at argument 3 in template parameter list for ‘template<class R, class A, class E> struct xt::detail::sequence_forwarder’
                    std::enable_if_t<!std::is_same<std::array<I, L>, A>::value>>
                                                                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:501:88: note:   expected a type, got ‘(<expression error> < (! std::is_same<std::array<_Tp, _Nm>, A>::value))’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:501:93: error: expected unqualified-id before ‘>’ token
                    std::enable_if_t<!std::is_same<std::array<I, L>, A>::value>>
                                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:532:21: error: expected primary-expression before ‘auto’
     inline decltype(auto) forward_sequence(A&& s)
                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:532:21: error: expected ‘)’ before ‘auto’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:532:12: error: expected unqualified-id before ‘decltype’
     inline decltype(auto) forward_sequence(A&& s)
            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:548:24: error: ‘common_type_t’ in namespace ‘std’ does not name a template type
         constexpr std::common_type_t<T1, T2> imax(const T1& a, const T2& b)
                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:630:38: error: ‘conditional_t’ in namespace ‘std’ does not name a template type
         using underlying_type = std::conditional_t<std::is_const<std::remove_re
                                      ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:634:48: error: ‘underlying_type’ was not declared in this scope
                                                underlying_type&,
                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:634:48: note: suggested alternative:
In file included from /usr/include/c++/5/bits/move.h:57:0,
                 from /usr/include/c++/5/bits/stl_pair.h:59,
                 from /usr/include/c++/5/bits/stl_algobase.h:64,
                 from /usr/include/c++/5/bits/char_traits.h:39,
                 from /usr/include/c++/5/ios:40,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iostream:39,
                 from train.cpp:8:
/usr/include/c++/5/type_traits:2188:12: note:   ‘std::underlying_type’
     struct underlying_type
            ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xstorage.hpp:19:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuffer_adaptor.hpp:18,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:16,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:635:48: error: ‘underlying_type’ was not declared in this scope
                                                underlying_type>::type;
                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:635:48: note: suggested alternative:
In file included from /usr/include/c++/5/bits/move.h:57:0,
                 from /usr/include/c++/5/bits/stl_pair.h:59,
                 from /usr/include/c++/5/bits/stl_algobase.h:64,
                 from /usr/include/c++/5/bits/char_traits.h:39,
                 from /usr/include/c++/5/ios:40,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iostream:39,
                 from train.cpp:8:
/usr/include/c++/5/type_traits:2188:12: note:   ‘std::underlying_type’
     struct underlying_type
            ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xstorage.hpp:19:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuffer_adaptor.hpp:18,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:16,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:635:63: error: template argument 2 is invalid
                                                underlying_type>::type;
                                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:635:63: error: template argument 3 is invalid
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:635:64: error: expected identifier before ‘::’ token
                                                underlying_type>::type;
                                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:644:44: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
         using underlying_type = const std::decay_t<S>;
                                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:644:39: error: expected ‘;’
         using underlying_type = const std::decay_t<S>;
                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:646:48: error: ‘underlying_type’ was not declared in this scope
                                                underlying_type&,
                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:646:48: note: suggested alternative:
In file included from /usr/include/c++/5/bits/move.h:57:0,
                 from /usr/include/c++/5/bits/stl_pair.h:59,
                 from /usr/include/c++/5/bits/stl_algobase.h:64,
                 from /usr/include/c++/5/bits/char_traits.h:39,
                 from /usr/include/c++/5/ios:40,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iostream:39,
                 from train.cpp:8:
/usr/include/c++/5/type_traits:2188:12: note:   ‘std::underlying_type’
     struct underlying_type
            ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xstorage.hpp:19:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuffer_adaptor.hpp:18,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:16,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:647:48: error: ‘underlying_type’ was not declared in this scope
                                                underlying_type>::type;
                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:647:48: note: suggested alternative:
In file included from /usr/include/c++/5/bits/move.h:57:0,
                 from /usr/include/c++/5/bits/stl_pair.h:59,
                 from /usr/include/c++/5/bits/stl_algobase.h:64,
                 from /usr/include/c++/5/bits/char_traits.h:39,
                 from /usr/include/c++/5/ios:40,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iostream:39,
                 from train.cpp:8:
/usr/include/c++/5/type_traits:2188:12: note:   ‘std::underlying_type’
     struct underlying_type
            ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xstorage.hpp:19:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuffer_adaptor.hpp:18,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:16,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:647:63: error: template argument 2 is invalid
                                                underlying_type>::type;
                                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:647:63: error: template argument 3 is invalid
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:647:64: error: expected identifier before ‘::’ token
                                                underlying_type>::type;
                                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:660:38: error: ‘conditional_t’ in namespace ‘std’ does not name a template type
         using underlying_type = std::conditional_t<std::is_const<std::remove_re
                                      ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:663:27: error: ‘conditional_t’ in namespace ‘std’ does not name a template type
         using type = std::conditional_t<std::is_lvalue_reference<S>::value,
                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:674:44: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
         using underlying_type = const std::decay_t<S>;
                                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:674:39: error: expected ‘;’
         using underlying_type = const std::decay_t<S>;
                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:675:27: error: ‘conditional_t’ in namespace ‘std’ does not name a template type
         using type = std::conditional_t<std::is_lvalue_reference<S>::value,
                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:689:58: error: ‘remove_reference_t’ is not a member of ‘std’
         template <class T, class U, bool = std::is_const<std::remove_reference_
                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:689:58: error: ‘remove_reference_t’ is not a member of ‘std’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:689:82: error: template argument 1 is invalid
 ate <class T, class U, bool = std::is_const<std::remove_reference_t<T>>::value,
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:689:87: error: ‘value’ in namespace ‘::’ does not name a type
 ate <class T, class U, bool = std::is_const<std::remove_reference_t<T>>::value,
                                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:697:16: error: ‘apply_cv_impl’ is not a class template
         struct apply_cv_impl<T, U, true, false>
                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:703:47: error: wrong number of template arguments (4, should be 2)
         struct apply_cv_impl<T, U, false, true>
                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:697:47: note: provided for ‘template<class T, class U> struct xt::detail::apply_cv_impl’
         struct apply_cv_impl<T, U, true, false>
                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:709:46: error: wrong number of template arguments (4, should be 2)
         struct apply_cv_impl<T, U, true, true>
                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:697:47: note: provided for ‘template<class T, class U> struct xt::detail::apply_cv_impl’
         struct apply_cv_impl<T, U, true, false>
                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:715:49: error: wrong number of template arguments (4, should be 2)
         struct apply_cv_impl<T&, U, false, false>
                                                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:697:47: note: provided for ‘template<class T, class U> struct xt::detail::apply_cv_impl’
         struct apply_cv_impl<T, U, true, false>
                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:721:48: error: wrong number of template arguments (4, should be 2)
         struct apply_cv_impl<T&, U, true, false>
                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:697:47: note: provided for ‘template<class T, class U> struct xt::detail::apply_cv_impl’
         struct apply_cv_impl<T, U, true, false>
                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:727:48: error: wrong number of template arguments (4, should be 2)
         struct apply_cv_impl<T&, U, false, true>
                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:697:47: note: provided for ‘template<class T, class U> struct xt::detail::apply_cv_impl’
         struct apply_cv_impl<T, U, true, false>
                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:733:47: error: wrong number of template arguments (4, should be 2)
         struct apply_cv_impl<T&, U, true, true>
                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:697:47: note: provided for ‘template<class T, class U> struct xt::detail::apply_cv_impl’
         struct apply_cv_impl<T, U, true, false>
                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:768:58: error: ‘decay_t’ is not a member of ‘std’
         static constexpr bool value = detail::is_complex<std::decay_t<T>>::valu
                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:768:58: error: ‘decay_t’ is not a member of ‘std’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:768:71: error: template argument 1 is invalid
       static constexpr bool value = detail::is_complex<std::decay_t<T>>::value;
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:768:74: error: ‘::value’ has not been declared
       static constexpr bool value = detail::is_complex<std::decay_t<T>>::value;
                                                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp: In function ‘constexpr xt::detail::forward_type_t<T, M> xt::forward_offset(T&&)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:817:36: error: ‘remove_reference_t’ in namespace ‘std’ does not name a template type
         using cv_value_type = std::remove_reference_t<forward_type>;
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:818:38: error: ‘remove_reference_t’ is not a member of ‘std’
         using byte_type = apply_cv_t<std::remove_reference_t<T>, char>;
                                      ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:818:38: error: ‘remove_reference_t’ is not a member of ‘std’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:818:63: error: wrong number of template arguments (1, should be 2)
         using byte_type = apply_cv_t<std::remove_reference_t<T>, char>;
                                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:746:53: note: provided for ‘template<class T, class U> using apply_cv_t = typename xt::apply_cv::type’
     using apply_cv_t = typename apply_cv<T, U>::type;
                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:821:31: error: ‘cv_value_type’ does not name a type
             *reinterpret_cast<cv_value_type*>(
                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:821:44: error: expected ‘>’ before ‘*’ token
             *reinterpret_cast<cv_value_type*>(
                                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:821:44: error: expected ‘(’ before ‘*’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:821:45: error: expected primary-expression before ‘>’ token
             *reinterpret_cast<cv_value_type*>(
                                             ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:822:34: error: ‘byte_type’ does not name a type
                 reinterpret_cast<byte_type*>(&v) + I
                                  ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:822:43: error: expected ‘>’ before ‘*’ token
                 reinterpret_cast<byte_type*>(&v) + I
                                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:822:43: error: expected ‘(’ before ‘*’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:822:44: error: expected primary-expression before ‘>’ token
                 reinterpret_cast<byte_type*>(&v) + I
                                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:824:10: error: expected ‘)’ before ‘;’ token
         );
          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:824:10: error: expected ‘)’ before ‘;’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:835:17: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type
         -> std::enable_if_t<!is_complex<T>::value, detail::forward_type_t<T, T>
                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:835:28: error: expected initializer before ‘<’ token
         -> std::enable_if_t<!is_complex<T>::value, detail::forward_type_t<T, T>
                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:842:17: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type
         -> std::enable_if_t<is_complex<T>::value, detail::forward_type_t<T, typ
                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:842:28: error: expected initializer before ‘<’ token
         -> std::enable_if_t<is_complex<T>::value, detail::forward_type_t<T, typ
                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:851:17: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type
         -> std::enable_if_t<!is_complex<T>::value, std::decay_t<T>>  // real ca
                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:851:28: error: expected initializer before ‘<’ token
         -> std::enable_if_t<!is_complex<T>::value, std::decay_t<T>>  // real ca
                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:858:17: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type
         -> std::enable_if_t<is_complex<T>::value, detail::forward_type_t<T, typ
                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:858:28: error: expected initializer before ‘<’ token
         -> std::enable_if_t<is_complex<T>::value, detail::forward_type_t<T, typ
                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:871:30: error: ‘remove_cv_t’ is not a member of ‘std’
         constexpr std::array<std::remove_cv_t<T>, N> to_array_impl(T (&a)[N], s
                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:871:30: error: ‘remove_cv_t’ is not a member of ‘std’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:871:48: error: wrong number of template arguments (1, should be 2)
         constexpr std::array<std::remove_cv_t<T>, N> to_array_impl(T (&a)[N], s
                                                ^
In file included from /usr/include/c++/5/tuple:39:0,
                 from /usr/include/c++/5/bits/unique_ptr.h:37,
                 from /usr/include/c++/5/bits/locale_conv.h:41,
                 from /usr/include/c++/5/locale:43,
                 from /usr/include/c++/5/iomanip:43,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:14,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/usr/include/c++/5/array:89:12: note: provided for ‘template<class _Tp, long unsigned int _Nm> struct std::array’
     struct array
            ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xstorage.hpp:19:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuffer_adaptor.hpp:18,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:16,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:871:49: error: expected unqualified-id before ‘,’ token
         constexpr std::array<std::remove_cv_t<T>, N> to_array_impl(T (&a)[N], s
                                                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:878:26: error: ‘remove_cv_t’ is not a member of ‘std’
     constexpr std::array<std::remove_cv_t<T>, N> to_array(T (&a)[N])
                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:878:26: error: ‘remove_cv_t’ is not a member of ‘std’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:878:44: error: wrong number of template arguments (1, should be 2)
     constexpr std::array<std::remove_cv_t<T>, N> to_array(T (&a)[N])
                                            ^
In file included from /usr/include/c++/5/tuple:39:0,
                 from /usr/include/c++/5/bits/unique_ptr.h:37,
                 from /usr/include/c++/5/bits/locale_conv.h:41,
                 from /usr/include/c++/5/locale:43,
                 from /usr/include/c++/5/iomanip:43,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:14,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/usr/include/c++/5/array:89:12: note: provided for ‘template<class _Tp, long unsigned int _Nm> struct std::array’
     struct array
            ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xstorage.hpp:19:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuffer_adaptor.hpp:18,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:16,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xutils.hpp:878:45: error: expected unqualified-id before ‘,’ token
     constexpr std::array<std::remove_cv_t<T>, N> to_array(T (&a)[N])
                                             ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:16:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuffer_adaptor.hpp:146:46: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type
         template <class OW = O, class = std::enable_if_t<std::is_same<OW, acqui
                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuffer_adaptor.hpp:146:57: error: expected ‘>’ before ‘<’ token
         template <class OW = O, class = std::enable_if_t<std::is_same<OW, acqui
                                                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuffer_adaptor.hpp:149:46: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type
         template <class OW = O, class = std::enable_if_t<std::is_same<OW, no_ow
                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuffer_adaptor.hpp:149:57: error: expected ‘>’ before ‘<’ token
         template <class OW = O, class = std::enable_if_t<std::is_same<OW, no_ow
                                                         ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:19:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterable.hpp:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xlayout.hpp: In function ‘constexpr xt::layout_type xt::detail::compute_layout_impl(xt::layout_type, xt::layout_type)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xlayout.hpp:67:31: error: ‘underlying_type_t’ in namespace ‘std’ does not name a template type
             using type = std::underlying_type_t<layout_type>;
                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xlayout.hpp:68:44: error: ‘type’ was not declared in this scope
             return layout_type(static_cast<type>(lhs) & static_cast<type>(rhs))
                                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xlayout.hpp:68:31: error: expected primary-expression before ‘(’ token
             return layout_type(static_cast<type>(lhs) & static_cast<type>(rhs))
                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xlayout.hpp:68:44: error: ‘type’ does not name a type
             return layout_type(static_cast<type>(lhs) & static_cast<type>(rhs))
                                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xlayout.hpp:68:69: error: ‘type’ does not name a type
             return layout_type(static_cast<type>(lhs) & static_cast<type>(rhs))
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xlayout.hpp:69:9: error: body of constexpr function ‘constexpr xt::layout_type xt::detail::compute_layout_impl(xt::layout_type, xt::layout_type)’ not a return-statement
         }
         ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterable.hpp:12:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:154:39: error: ‘conditional_t’ in namespace ‘std’ does not name a template type
         using xexpression_type = std::conditional_t<is_const, const E, E>;
                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:156:37: error: ‘xexpression_type’ has not been declared
         using value_type = typename xexpression_type::value_type;
                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:157:32: error: ‘conditional_t’ in namespace ‘std’ does not name a template type
         using reference = std::conditional_t<is_const,
                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:160:30: error: ‘conditional_t’ in namespace ‘std’ does not name a template type
         using pointer = std::conditional_t<is_const,
                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:163:36: error: ‘xexpression_type’ has not been declared
         using size_type = typename xexpression_type::size_type;
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:164:42: error: ‘xexpression_type’ has not been declared
         using difference_type = typename xexpression_type::difference_type;
                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:166:37: error: ‘xexpression_type’ has not been declared
         using shape_type = typename xexpression_type::shape_type;
                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:167:42: error: ‘shape_type’ was not declared in this scope
         using index_type = xindex_type_t<shape_type>;
                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:167:52: error: template argument 1 is invalid
         using index_type = xindex_type_t<shape_type>;
                                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:170:42: error: expected ‘)’ before ‘*’ token
         xindexed_stepper(xexpression_type* e, size_type offset, bool end = fals
                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:172:9: error: ‘reference’ does not name a type
         reference operator*() const;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:174:19: error: ‘size_type’ has not been declared
         void step(size_type dim, size_type n = 1);
                   ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:174:34: error: ‘size_type’ has not been declared
         void step(size_type dim, size_type n = 1);
                                  ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:175:24: error: ‘size_type’ has not been declared
         void step_back(size_type dim, size_type n = 1);
                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:175:39: error: ‘size_type’ has not been declared
         void step_back(size_type dim, size_type n = 1);
                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:176:20: error: ‘size_type’ has not been declared
         void reset(size_type dim);
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:177:25: error: ‘size_type’ has not been declared
         void reset_back(size_type dim);
                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:186:9: error: ‘xexpression_type’ does not name a type
         xexpression_type* p_e;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:187:9: error: ‘index_type’ does not name a type
         index_type m_index;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:188:9: error: ‘size_type’ does not name a type
         size_type m_offset;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:534:60: error: ISO C++ forbids declaration of ‘xindexed_stepper’ with no type [-fpermissive]
     inline xindexed_stepper<C, is_const>::xindexed_stepper(xexpression_type* e,
                                                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:534:60: error: ‘xt::xindexed_stepper<E, is_const>::xindexed_stepper’ declared as an ‘inline’ variable
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:534:60: error: ‘int xt::xindexed_stepper<E, is_const>::xindexed_stepper’ is not a static data member of ‘class xt::xindexed_stepper<E, is_const>’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:534:60: error: template definition of non-template ‘int xt::xindexed_stepper<E, is_const>::xindexed_stepper’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:534:60: error: ‘xexpression_type’ was not declared in this scope
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:534:78: error: ‘e’ was not declared in this scope
 e xindexed_stepper<C, is_const>::xindexed_stepper(xexpression_type* e, size_typ
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:534:81: error: ‘size_type’ was not declared in this scope
 indexed_stepper<C, is_const>::xindexed_stepper(xexpression_type* e, size_type o
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:534:99: error: expected primary-expression before ‘bool’
  is_const>::xindexed_stepper(xexpression_type* e, size_type offset, bool end) n
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:542:69: error: ‘reference’ does not name a type
     inline auto xindexed_stepper<C, is_const>::operator*() const -> reference
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:548:53: error: variable or field ‘step’ declared void
     inline void xindexed_stepper<C, is_const>::step(size_type dim, size_type n)
                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:548:53: error: ‘size_type’ was not declared in this scope
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:548:68: error: ‘size_type’ was not declared in this scope
     inline void xindexed_stepper<C, is_const>::step(size_type dim, size_type n)
                                                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:555:58: error: variable or field ‘step_back’ declared void
     inline void xindexed_stepper<C, is_const>::step_back(size_type dim, size_ty
                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:555:58: error: ‘size_type’ was not declared in this scope
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:555:73: error: ‘size_type’ was not declared in this scope
 inline void xindexed_stepper<C, is_const>::step_back(size_type dim, size_type n
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:562:54: error: variable or field ‘reset’ declared void
     inline void xindexed_stepper<C, is_const>::reset(size_type dim)
                                                      ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:562:54: error: ‘size_type’ was not declared in this scope
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:569:59: error: variable or field ‘reset_back’ declared void
     inline void xindexed_stepper<C, is_const>::reset_back(size_type dim)
                                                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:569:59: error: ‘size_type’ was not declared in this scope
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp: In member function ‘void xt::xindexed_stepper<E, is_const>::to_begin()’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:578:19: error: ‘m_index’ was not declared in this scope
         std::fill(m_index.begin(), m_index.end(), size_type(0));
                   ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:578:62: error: there are no arguments to ‘size_type’ that depend on a template parameter, so a declaration of ‘size_type’ must be available [-fpermissive]
         std::fill(m_index.begin(), m_index.end(), size_type(0));
                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:578:62: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp: In member function ‘void xt::xindexed_stepper<E, is_const>::to_end(xt::layout_type)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:584:9: error: ‘m_index’ was not declared in this scope
         m_index = p_e->shape();
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:584:19: error: ‘p_e’ was not declared in this scope
         m_index = p_e->shape();
                   ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp: In member function ‘bool xt::xindexed_stepper<E, is_const>::equal(const self_type&) const’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:590:16: error: ‘p_e’ was not declared in this scope
         return p_e == rhs.p_e && m_index == rhs.m_index && m_offset == rhs.m_of
                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:590:34: error: ‘m_index’ was not declared in this scope
         return p_e == rhs.p_e && m_index == rhs.m_index && m_offset == rhs.m_of
                                  ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:590:60: error: ‘m_offset’ was not declared in this scope
         return p_e == rhs.p_e && m_index == rhs.m_index && m_offset == rhs.m_of
                                                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp: In constructor ‘xt::xiterator<It, S, L>::xiterator(It, xt::xiterator<It, S, L>::shape_param_type, bool)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:653:29: error: ‘forward_sequence’ was not declared in this scope
           m_index(reverse ? forward_sequence<index_type, const shape_type&>(thi
                             ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:653:56: error: expected primary-expression before ‘,’ token
           m_index(reverse ? forward_sequence<index_type, const shape_type&>(thi
                                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:653:58: error: expected primary-expression before ‘const’
           m_index(reverse ? forward_sequence<index_type, const shape_type&>(thi
                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:653:58: error: expected ‘:’ before ‘const’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:653:58: error: expected primary-expression before ‘const’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:660:71: error: use of ‘auto’ in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
           std::transform(iter_begin, iter_end, iter_begin, [](const auto& v) { 
                                                                     ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:20:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:16,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:20,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xexpression.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xexpression.hpp:134:44: error: ‘decay_t’ is not a member of ‘std’
     struct xclosure<E, disable_xexpression<std::decay_t<E>>>
                                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xexpression.hpp:134:44: error: ‘decay_t’ is not a member of ‘std’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xexpression.hpp:134:57: error: template argument 1 is invalid
     struct xclosure<E, disable_xexpression<std::decay_t<E>>>
                                                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xexpression.hpp:134:58: error: template argument 2 is invalid
     struct xclosure<E, disable_xexpression<std::decay_t<E>>>
                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xexpression.hpp:134:60: error: expected unqualified-id before ‘>’ token
     struct xclosure<E, disable_xexpression<std::decay_t<E>>>
                                                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xexpression.hpp:149:50: error: ‘decay_t’ is not a member of ‘std’
     struct const_xclosure<E, disable_xexpression<std::decay_t<E>>>
                                                  ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xexpression.hpp:149:50: error: ‘decay_t’ is not a member of ‘std’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xexpression.hpp:149:63: error: template argument 1 is invalid
     struct const_xclosure<E, disable_xexpression<std::decay_t<E>>>
                                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xexpression.hpp:149:64: error: template argument 2 is invalid
     struct const_xclosure<E, disable_xexpression<std::decay_t<E>>>
                                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xexpression.hpp:149:66: error: expected unqualified-id before ‘>’ token
     struct const_xclosure<E, disable_xexpression<std::decay_t<E>>>
                                                                  ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xexpression.hpp:170:36: error: ‘enable_if_t’ is not a member of ‘std’
         struct xvalue_type_impl<E, std::enable_if_t<is_xexpression<E>::value>>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xexpression.hpp:170:36: error: ‘enable_if_t’ is not a member of ‘std’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xexpression.hpp:170:72: error: type/value mismatch at argument 2 in template parameter list for ‘template<class E, class enable> struct xt::detail::xvalue_type_impl’
         struct xvalue_type_impl<E, std::enable_if_t<is_xexpression<E>::value>>
                                                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xexpression.hpp:170:72: note:   expected a type, got ‘(<expression error> < xt::is_xexpression<E>::value)’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xexpression.hpp:170:77: error: expected unqualified-id before ‘>’ token
         struct xvalue_type_impl<E, std::enable_if_t<is_xexpression<E>::value>>
                                                                             ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:23:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:16,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:20,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:41:33: error: ‘decay_t’ in namespace ‘std’ does not name a template type
         using value_type = std::decay_t<CT>;
                                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:43:26: error: ‘value_type’ does not name a type
         using iterator = value_type*;
                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:44:38: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
         using const_iterator = const value_type*;
                                      ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:44:38: error: expected ‘;’ before ‘value_type’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:47:56: error: ‘iterator’ was not declared in this scope
         using reverse_iterator = std::reverse_iterator<iterator>;
                                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:47:56: note: suggested alternatives:
In file included from /usr/include/c++/5/bits/stl_algobase.h:65:0,
                 from /usr/include/c++/5/bits/char_traits.h:39,
                 from /usr/include/c++/5/ios:40,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iostream:39,
                 from train.cpp:8:
/usr/include/c++/5/bits/stl_iterator_base_types.h:118:12: note:   ‘std::iterator’
     struct iterator
            ^
/usr/include/c++/5/bits/stl_iterator_base_types.h:118:12: note:   ‘std::iterator’
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:23:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:16,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:20,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:47:64: error: template argument 1 is invalid
         using reverse_iterator = std::reverse_iterator<iterator>;
                                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:48:62: error: ‘const_iterator’ was not declared in this scope
         using const_reverse_iterator = std::reverse_iterator<const_iterator>;
                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:48:76: error: template argument 1 is invalid
         using const_reverse_iterator = std::reverse_iterator<const_iterator>;
                                                                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:59:33: error: ‘decay_t’ in namespace ‘std’ does not name a template type
         using value_type = std::decay_t<CT>;
                                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:60:27: error: ‘value_type’ does not name a type
         using reference = value_type&;
                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:61:39: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
         using const_reference = const value_type&;
                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:61:39: error: expected ‘;’ before ‘value_type’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:62:25: error: ‘value_type’ does not name a type
         using pointer = value_type*;
                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:63:37: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
         using const_pointer = const value_type*;
                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:63:37: error: expected ‘;’ before ‘value_type’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:91:9: error: ‘reference’ does not name a type
         reference operator()(Args...) noexcept;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:92:9: error: ‘reference’ does not name a type
         reference operator[](const xindex&) noexcept;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:93:9: error: ‘reference’ does not name a type
         reference operator[](size_type) noexcept;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:96:9: error: ‘const_reference’ does not name a type
         const_reference operator()(Args...) const noexcept;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:97:9: error: ‘const_reference’ does not name a type
         const_reference operator[](const xindex&) const noexcept;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:98:9: error: ‘const_reference’ does not name a type
         const_reference operator[](size_type) const noexcept;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:101:9: error: ‘reference’ does not name a type
         reference element(It, It) noexcept;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:104:9: error: ‘const_reference’ does not name a type
         const_reference element(It, It) const noexcept;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:136:9: error: ‘reference’ does not name a type
         reference data_element(size_type i) noexcept;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:137:9: error: ‘const_reference’ does not name a type
         const_reference data_element(size_type i) const noexcept;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:160:37: error: ‘conditional_t’ in namespace ‘std’ does not name a template type
         using container_type = std::conditional_t<is_const,
                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:164:37: error: ‘container_type’ has not been declared
         using value_type = typename container_type::value_type;
                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:165:32: error: ‘conditional_t’ in namespace ‘std’ does not name a template type
         using reference = std::conditional_t<is_const,
                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:168:30: error: ‘conditional_t’ in namespace ‘std’ does not name a template type
         using pointer = std::conditional_t<is_const,
                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:171:36: error: ‘container_type’ has not been declared
         using size_type = typename container_type::size_type;
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:172:42: error: ‘container_type’ has not been declared
         using difference_type = typename container_type::difference_type;
                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:174:39: error: expected ‘)’ before ‘*’ token
         xscalar_stepper(container_type* c) noexcept;
                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:176:9: error: ‘reference’ does not name a type
         reference operator*() const noexcept;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:178:19: error: ‘size_type’ has not been declared
         void step(size_type dim, size_type n = 1) noexcept;
                   ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:178:34: error: ‘size_type’ has not been declared
         void step(size_type dim, size_type n = 1) noexcept;
                                  ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:179:24: error: ‘size_type’ has not been declared
         void step_back(size_type dim, size_type n = 1) noexcept;
                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:179:39: error: ‘size_type’ has not been declared
         void step_back(size_type dim, size_type n = 1) noexcept;
                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:180:20: error: ‘size_type’ has not been declared
         void reset(size_type dim) noexcept;
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:181:25: error: ‘size_type’ has not been declared
         void reset_back(size_type dim) noexcept;
                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:190:9: error: ‘container_type’ does not name a type
         container_type* p_c;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:211:37: error: ‘conditional_t’ in namespace ‘std’ does not name a template type
         using container_type = std::conditional_t<is_const,
                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:215:37: error: ‘container_type’ has not been declared
         using value_type = typename container_type::value_type;
                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:216:32: error: ‘conditional_t’ in namespace ‘std’ does not name a template type
         using reference = std::conditional_t<is_const,
                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:219:30: error: ‘conditional_t’ in namespace ‘std’ does not name a template type
         using pointer = std::conditional_t<is_const,
                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:222:42: error: ‘container_type’ has not been declared
         using difference_type = typename container_type::difference_type;
                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:225:48: error: expected ‘)’ before ‘*’ token
         explicit xdummy_iterator(container_type* c) noexcept;
                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:230:9: error: ‘reference’ does not name a type
         reference operator*() const noexcept;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:236:9: error: ‘container_type’ does not name a type
         container_type* p_c;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:315:62: error: ‘reference’ does not name a type
     inline auto xscalar<CT>::operator()(Args...) noexcept -> reference
                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:321:68: error: ‘reference’ does not name a type
     inline auto xscalar<CT>::operator[](const xindex&) noexcept -> reference
                                                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:327:64: error: ‘reference’ does not name a type
     inline auto xscalar<CT>::operator[](size_type) noexcept -> reference
                                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:334:68: error: ‘const_reference’ does not name a type
     inline auto xscalar<CT>::operator()(Args...) const noexcept -> const_refere
                                                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:340:74: error: ‘const_reference’ does not name a type
 nline auto xscalar<CT>::operator[](const xindex&) const noexcept -> const_refer
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:346:70: error: ‘const_reference’ does not name a type
    inline auto xscalar<CT>::operator[](size_type) const noexcept -> const_refer
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:353:58: error: ‘reference’ does not name a type
     inline auto xscalar<CT>::element(It, It) noexcept -> reference
                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:360:64: error: ‘const_reference’ does not name a type
     inline auto xscalar<CT>::element(It, It) const noexcept -> const_reference
                                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:468:64: error: ‘reference’ does not name a type
     inline auto xscalar<CT>::data_element(size_type) noexcept->reference
                                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:474:70: error: ‘const_reference’ does not name a type
    inline auto xscalar<CT>::data_element(size_type) const noexcept->const_refer
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:496:59: error: ISO C++ forbids declaration of ‘xscalar_stepper’ with no type [-fpermissive]
     inline xscalar_stepper<is_const, CT>::xscalar_stepper(container_type* c) no
                                                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:496:59: error: ‘xt::xscalar_stepper<is_const, CT>::xscalar_stepper’ declared as an ‘inline’ variable
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:496:59: error: ‘int xt::xscalar_stepper<is_const, CT>::xscalar_stepper’ is not a static data member of ‘class xt::xscalar_stepper<is_const, CT>’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:496:59: error: template definition of non-template ‘int xt::xscalar_stepper<is_const, CT>::xscalar_stepper’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:496:59: error: ‘container_type’ was not declared in this scope
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:496:75: error: ‘c’ was not declared in this scope
 line xscalar_stepper<is_const, CT>::xscalar_stepper(container_type* c) noexcept
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:502:78: error: ‘reference’ does not name a type
 ine auto xscalar_stepper<is_const, CT>::operator*() const noexcept -> reference
                                                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:508:53: error: variable or field ‘step’ declared void
     inline void xscalar_stepper<is_const, CT>::step(size_type /*dim*/, size_typ
                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:508:53: error: ‘size_type’ was not declared in this scope
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:508:72: error: ‘size_type’ was not declared in this scope
  inline void xscalar_stepper<is_const, CT>::step(size_type /*dim*/, size_type /
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:513:58: error: variable or field ‘step_back’ declared void
     inline void xscalar_stepper<is_const, CT>::step_back(size_type /*dim*/, siz
                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:513:58: error: ‘size_type’ was not declared in this scope
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:513:77: error: ‘size_type’ was not declared in this scope
 ne void xscalar_stepper<is_const, CT>::step_back(size_type /*dim*/, size_type /
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:518:71: error: variable or field ‘reset’ declared void
    inline void xscalar_stepper<is_const, CT>::reset(size_type /*dim*/) noexcept
                                                                      ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:518:54: error: ‘size_type’ was not declared in this scope
     inline void xscalar_stepper<is_const, CT>::reset(size_type /*dim*/) noexcep
                                                      ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:523:76: error: variable or field ‘reset_back’ declared void
 line void xscalar_stepper<is_const, CT>::reset_back(size_type /*dim*/) noexcept
                                                                      ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:523:59: error: ‘size_type’ was not declared in this scope
     inline void xscalar_stepper<is_const, CT>::reset_back(size_type /*dim*/) no
                                                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp: In member function ‘void xt::xscalar_stepper<is_const, CT>::to_begin()’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:530:9: error: ‘p_c’ was not declared in this scope
         p_c = p_c->stepper_begin(p_c->shap()).pc;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp: In member function ‘void xt::xscalar_stepper<is_const, CT>::to_end(xt::layout_type)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:536:9: error: ‘p_c’ was not declared in this scope
         p_c = p_c->stepper_end(p_c->shape(), l).p_c;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp: In member function ‘bool xt::xscalar_stepper<is_const, CT>::equal(const self_type&) const’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:542:17: error: ‘p_c’ was not declared in this scope
         return (p_c == rhs.p_c);
                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:564:59: error: ISO C++ forbids declaration of ‘xdummy_iterator’ with no type [-fpermissive]
     inline xdummy_iterator<is_const, CT>::xdummy_iterator(container_type* c) no
                                                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:564:59: error: ‘xt::xdummy_iterator<is_const, CT>::xdummy_iterator’ declared as an ‘inline’ variable
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:564:59: error: ‘int xt::xdummy_iterator<is_const, CT>::xdummy_iterator’ is not a static data member of ‘class xt::xdummy_iterator<is_const, CT>’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:564:59: error: template definition of non-template ‘int xt::xdummy_iterator<is_const, CT>::xdummy_iterator’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:564:59: error: ‘container_type’ was not declared in this scope
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:564:75: error: ‘c’ was not declared in this scope
 line xdummy_iterator<is_const, CT>::xdummy_iterator(container_type* c) noexcept
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:584:78: error: ‘reference’ does not name a type
 ine auto xdummy_iterator<is_const, CT>::operator*() const noexcept -> reference
                                                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp: In member function ‘bool xt::xdummy_iterator<is_const, CT>::equal(const self_type&) const’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:592:16: error: ‘p_c’ was not declared in this scope
         return p_c == rhs.p_c;
                ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:16:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:20,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:39:31: error: ‘common_type_t’ in namespace ‘std’ does not name a template type
             using type = std::common_type_t<typename Args::size_type...>;
                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:58:31: error: ‘common_type_t’ in namespace ‘std’ does not name a template type
             using type = std::common_type_t<typename Args::difference_type...>;
                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:77:31: error: ‘common_type_t’ in namespace ‘std’ does not name a template type
             using type = std::common_type_t<xvalue_type_t<Args>...>;
                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:96:64: error: ‘decay_t’ in namespace ‘std’ does not name a template type
         using inner_shape_type = promote_shape_t<typename std::decay_t<CT>::sha
                                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:96:71: error: expected template-argument before ‘<’ token
       using inner_shape_type = promote_shape_t<typename std::decay_t<CT>::shape
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:96:71: error: expected ‘>’ before ‘<’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:96:90: error: template argument 1 is invalid
 g inner_shape_type = promote_shape_t<typename std::decay_t<CT>::shape_type...>;
                                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:96:91: error: expected ‘::’ before ‘;’ token
 g inner_shape_type = promote_shape_t<typename std::decay_t<CT>::shape_type...>;
                                                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:96:91: error: expected identifier before ‘;’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:134:54: error: ‘decay_t’ is not a member of ‘std’
         using size_type = detail::common_size_type_t<std::decay_t<CT>...>;
                                                      ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:134:54: error: ‘decay_t’ is not a member of ‘std’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:134:69: error: template argument 1 is invalid
         using size_type = detail::common_size_type_t<std::decay_t<CT>...>;
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:135:66: error: ‘decay_t’ is not a member of ‘std’
         using difference_type = detail::common_difference_type_t<std::decay_t<C
                                                                  ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:135:66: error: ‘decay_t’ is not a member of ‘std’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:135:81: error: template argument 1 is invalid
  using difference_type = detail::common_difference_type_t<std::decay_t<CT>...>;
                                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:150:69: error: ‘decay_t’ is not a member of ‘std’
         static constexpr layout_type static_layout = compute_layout(std::decay_
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:150:84: error: expected primary-expression before ‘>’ token
 constexpr layout_type static_layout = compute_layout(std::decay_t<CT>::static_l
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:150:85: error: ‘::static_layout’ has not been declared
 onstexpr layout_type static_layout = compute_layout(std::decay_t<CT>::static_la
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:151:57: error: ‘decay_t’ is not a member of ‘std’
         static constexpr bool contiguous_layout = and_c<std::decay_t<CT>::conti
                                                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:151:57: error: ‘decay_t’ is not a member of ‘std’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:151:72: error: template argument 1 is invalid
      static constexpr bool contiguous_layout = and_c<std::decay_t<CT>::contiguo
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:151:75: error: expected ‘;’ at end of member declaration
   static constexpr bool contiguous_layout = and_c<std::decay_t<CT>::contiguous_
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:151:92: error: expected unqualified-id before ‘...’ token
 r bool contiguous_layout = and_c<std::decay_t<CT>::contiguous_layout...>::value
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:156:9: error: ‘size_type’ does not name a type
         size_type size() const noexcept;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:157:9: error: ‘size_type’ does not name a type
         size_type dimension() const noexcept;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:165:36: error: ‘size_type’ has not been declared
         const_reference operator[](size_type i) const;
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:191:38: error: ‘size_type’ has not been declared
         const_reference data_element(size_type i) const;
                                      ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:196:38: error: ‘std::index_sequence’ has not been declared
         layout_type layout_impl(std::index_sequence<I...>) const noexcept;
                                      ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:196:52: error: expected ‘,’ or ‘...’ before ‘<’ token
         layout_type layout_impl(std::index_sequence<I...>) const noexcept;
                                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:199:42: error: ‘std::index_sequence’ has not been declared
         const_reference access_impl(std::index_sequence<I...>, Args... args) co
                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:199:56: error: expected ‘,’ or ‘...’ before ‘<’ token
         const_reference access_impl(std::index_sequence<I...>, Args... args) co
                                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:202:50: error: ‘std::index_sequence’ has not been declared
         const_reference element_access_impl(std::index_sequence<I...>, It first
                                                  ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:202:64: error: expected ‘,’ or ‘...’ before ‘<’ token
         const_reference element_access_impl(std::index_sequence<I...>, It first
                                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:205:48: error: ‘std::index_sequence’ has not been declared
         const_reference data_element_impl(std::index_sequence<I...>, size_type 
                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:205:62: error: expected ‘,’ or ‘...’ before ‘<’ token
         const_reference data_element_impl(std::index_sequence<I...>, size_type 
                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:208:52: error: ‘std::index_sequence’ has not been declared
         const_stepper build_stepper(Func&& f, std::index_sequence<I...>) const 
                                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:208:66: error: expected ‘,’ or ‘...’ before ‘<’ token
         const_stepper build_stepper(Func&& f, std::index_sequence<I...>) const 
                                                                  ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:211:54: error: ‘std::index_sequence’ has not been declared
         const_iterator build_iterator(Func&& f, std::index_sequence<I...>) cons
                                                      ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:211:68: error: expected ‘,’ or ‘...’ before ‘<’ token
         const_iterator build_iterator(Func&& f, std::index_sequence<I...>) cons
                                                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:213:9: error: ‘size_type’ does not name a type
         size_type compute_dimension() const noexcept;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:292:35: error: ‘std::index_sequence’ has not been declared
         reference deref_impl(std::index_sequence<I...>) const;
                                   ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:292:49: error: expected ‘,’ or ‘...’ before ‘<’ token
         reference deref_impl(std::index_sequence<I...>) const;
                                                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:295:44: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
         std::tuple<get_iterator<const std::decay_t<CT>>...> m_it;
                                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:295:54: error: template argument 1 is invalid
         std::tuple<get_iterator<const std::decay_t<CT>>...> m_it;
                                                      ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:295:56: error: expected parameter pack before ‘...’
         std::tuple<get_iterator<const std::decay_t<CT>>...> m_it;
                                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:295:59: error: template argument 1 is invalid
         std::tuple<get_iterator<const std::decay_t<CT>>...> m_it;
                                                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:345:35: error: ‘std::index_sequence’ has not been declared
         reference deref_impl(std::index_sequence<I...>) const;
                                   ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:345:49: error: expected ‘,’ or ‘...’ before ‘<’ token
         reference deref_impl(std::index_sequence<I...>) const;
                                                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:348:34: error: ‘decay_t’ in namespace ‘std’ does not name a template type
         std::tuple<typename std::decay_t<CT>::const_stepper...> m_it;
                                  ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:348:41: error: expected template-argument before ‘<’ token
         std::tuple<typename std::decay_t<CT>::const_stepper...> m_it;
                                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:348:41: error: expected ‘>’ before ‘<’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:348:63: error: template argument 1 is invalid
         std::tuple<typename std::decay_t<CT>::const_stepper...> m_it;
                                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:348:65: error: expected ‘::’ before ‘m_it’
         std::tuple<typename std::decay_t<CT>::const_stepper...> m_it;
                                                                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In constructor ‘xt::xfunction<F, R, CT>::xfunction(Func&&, CT ...)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:376:98: error: there are no arguments to ‘size_type’ that depend on a template parameter, so a declaration of ‘size_type’ must be available [-fpermissive]
 _f(std::forward<Func>(f)), m_shape(make_sequence<shape_type>(0, size_type(1))),
                                                                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:390:66: error: ‘size_type’ does not name a type
     inline auto xfunction<F, R, CT...>::size() const noexcept -> size_type
                                                                  ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:399:71: error: ‘size_type’ does not name a type
     inline auto xfunction<F, R, CT...>::dimension() const noexcept -> size_type
                                                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘const shape_type& xt::xfunction<F, R, CT>::shape() const’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:413:67: error: there are no arguments to ‘compute_dimension’ that depend on a template parameter, so a declaration of ‘compute_dimension’ must be available [-fpermissive]
             m_shape = make_sequence<shape_type>(compute_dimension(), size_type(
                                                                   ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:413:81: error: there are no arguments to ‘size_type’ that depend on a template parameter, so a declaration of ‘size_type’ must be available [-fpermissive]
         m_shape = make_sequence<shape_type>(compute_dimension(), size_type(1));
                                                                             ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘xt::layout_type xt::xfunction<F, R, CT>::layout() const’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:426:28: error: ‘make_index_sequence’ is not a member of ‘std’
         return layout_impl(std::make_index_sequence<sizeof...(CT)>());
                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:426:68: error: expected primary-expression before ‘)’ token
         return layout_impl(std::make_index_sequence<sizeof...(CT)>());
                                                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘xt::xfunction<F, R, CT>::const_reference xt::xfunction<F, R, CT>::operator()(Args ...) const’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:443:28: error: ‘make_index_sequence’ is not a member of ‘std’
         return access_impl(std::make_index_sequence<sizeof...(CT)>(), args...);
                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:443:68: error: expected primary-expression before ‘)’ token
         return access_impl(std::make_index_sequence<sizeof...(CT)>(), args...);
                                                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:453:52: error: declaration of ‘operator[]’ as non-function
     inline auto xfunction<F, R, CT...>::operator[](size_type i) const -> const_
                                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:453:52: error: ‘size_type’ was not declared in this scope
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘xt::xfunction<F, R, CT>::const_reference xt::xfunction<F, R, CT>::element(It, It) const’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:469:36: error: ‘make_index_sequence’ is not a member of ‘std’
         return element_access_impl(std::make_index_sequence<sizeof...(CT)>(), f
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:469:76: error: expected primary-expression before ‘)’ token
  return element_access_impl(std::make_index_sequence<sizeof...(CT)>(), first, l
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘bool xt::xfunction<F, R, CT>::broadcast_shape(S&) const’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:487:38: error: use of ‘auto’ in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto func = [&shape](bool b, auto&& e) { return e.broadcast_shape(shape
                                      ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In lambda function:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:487:59: error: request for member ‘broadcast_shape’ in ‘e’, which is of non-class type ‘int’
         auto func = [&shape](bool b, auto&& e) { return e.broadcast_shape(shape
                                                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘bool xt::xfunction<F, R, CT>::is_trivial_broadcast(const S&) const’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:500:40: error: use of ‘auto’ in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto func = [&strides](bool b, auto&& e) { return b && e.is_trivial_bro
                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In lambda function:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:500:66: error: request for member ‘is_trivial_broadcast’ in ‘e’, which is of non-class type ‘int’
         auto func = [&strides](bool b, auto&& e) { return b && e.is_trivial_bro
                                                                  ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘xt::xfunction<F, R, CT>::const_iterator xt::xfunction<F, R, CT>::begin() const’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:515:27: error: use of ‘auto’ in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto f = [](const auto& e) noexcept { return detail::trivial_begin(e); 
                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In lambda function:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:515:77: error: no matching function for call to ‘trivial_begin(const int&)’
       auto f = [](const auto& e) noexcept { return detail::trivial_begin(e); };
                                                                           ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterable.hpp:12:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:299:24: note: candidate: template<class C> constexpr decltype (c.begin()) xt::detail::trivial_begin(C&)
         constexpr auto trivial_begin(C& c) -> decltype(c.begin())
                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:299:24: note:   template argument deduction/substitution failed:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp: In substitution of ‘template<class C> constexpr decltype (c.begin()) xt::detail::trivial_begin(C&) [with C = const int]’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:515:77:   required from here
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:299:24: error: request for member ‘begin’ in ‘c’, which is of non-class type ‘const int’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:311:24: note: candidate: template<class C> constexpr decltype (c.begin()) xt::detail::trivial_begin(const C&)
         constexpr auto trivial_begin(const C& c) -> decltype(c.begin())
                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:311:24: note:   template argument deduction/substitution failed:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp: In substitution of ‘template<class C> constexpr decltype (c.begin()) xt::detail::trivial_begin(const C&) [with C = int]’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:515:77:   required from here
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:311:24: error: request for member ‘begin’ in ‘c’, which is of non-class type ‘const int’
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:23:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:16,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:20,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:254:24: note: candidate: template<class CT> constexpr decltype (c.dummy_begin()) xt::detail::trivial_begin(xt::xscalar<CT>&)
         constexpr auto trivial_begin(xscalar<CT>& c) -> decltype(c.dummy_begin(
                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:254:24: note:   template argument deduction/substitution failed:
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:16:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:20,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:515:77: note:   mismatched types ‘xt::xscalar<CT>’ and ‘const int’
       auto f = [](const auto& e) noexcept { return detail::trivial_begin(e); };
                                                                           ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:23:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:16,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:20,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:266:24: note: candidate: template<class CT> constexpr decltype (c.dummy_begin()) xt::detail::trivial_begin(const xt::xscalar<CT>&)
         constexpr auto trivial_begin(const xscalar<CT>& c) -> decltype(c.dummy_
                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:266:24: note:   template argument deduction/substitution failed:
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:16:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:20,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:515:77: note:   mismatched types ‘const xt::xscalar<CT>’ and ‘const int’
       auto f = [](const auto& e) noexcept { return detail::trivial_begin(e); };
                                                                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘xt::xfunction<F, R, CT>::const_iterator xt::xfunction<F, R, CT>::begin() const’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:516:34: error: ‘make_index_sequence’ is not a member of ‘std’
         return build_iterator(f, std::make_index_sequence<sizeof...(CT)>());
                                  ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:516:74: error: expected primary-expression before ‘)’ token
         return build_iterator(f, std::make_index_sequence<sizeof...(CT)>());
                                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘xt::xfunction<F, R, CT>::const_iterator xt::xfunction<F, R, CT>::end() const’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:526:27: error: use of ‘auto’ in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto f = [](const auto& e) noexcept { return detail::trivial_end(e); };
                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In lambda function:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:526:75: error: no matching function for call to ‘trivial_end(const int&)’
         auto f = [](const auto& e) noexcept { return detail::trivial_end(e); };
                                                                           ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterable.hpp:12:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:305:24: note: candidate: template<class C> constexpr decltype (c.end()) xt::detail::trivial_end(C&)
         constexpr auto trivial_end(C& c) -> decltype(c.end())
                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:305:24: note:   template argument deduction/substitution failed:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp: In substitution of ‘template<class C> constexpr decltype (c.end()) xt::detail::trivial_end(C&) [with C = const int]’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:526:75:   required from here
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:305:24: error: request for member ‘end’ in ‘c’, which is of non-class type ‘const int’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:317:24: note: candidate: template<class C> constexpr decltype (c.end()) xt::detail::trivial_end(const C&)
         constexpr auto trivial_end(const C& c) -> decltype(c.end())
                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:317:24: note:   template argument deduction/substitution failed:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp: In substitution of ‘template<class C> constexpr decltype (c.end()) xt::detail::trivial_end(const C&) [with C = int]’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:526:75:   required from here
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xiterator.hpp:317:24: error: request for member ‘end’ in ‘c’, which is of non-class type ‘const int’
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:23:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:16,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:20,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:260:24: note: candidate: template<class CT> constexpr decltype (c.dummy_end()) xt::detail::trivial_end(xt::xscalar<CT>&)
         constexpr auto trivial_end(xscalar<CT>& c) -> decltype(c.dummy_end())
                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:260:24: note:   template argument deduction/substitution failed:
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:16:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:20,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:526:75: note:   mismatched types ‘xt::xscalar<CT>’ and ‘const int’
         auto f = [](const auto& e) noexcept { return detail::trivial_end(e); };
                                                                           ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:23:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:16,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:20,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:272:24: note: candidate: template<class CT> constexpr decltype (c.dummy_end()) xt::detail::trivial_end(const xt::xscalar<CT>&)
         constexpr auto trivial_end(const xscalar<CT>& c) -> decltype(c.dummy_en
                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xscalar.hpp:272:24: note:   template argument deduction/substitution failed:
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:16:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:20,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:526:75: note:   mismatched types ‘const xt::xscalar<CT>’ and ‘const int’
         auto f = [](const auto& e) noexcept { return detail::trivial_end(e); };
                                                                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘xt::xfunction<F, R, CT>::const_iterator xt::xfunction<F, R, CT>::end() const’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:527:34: error: ‘make_index_sequence’ is not a member of ‘std’
         return build_iterator(f, std::make_index_sequence<sizeof...(CT)>());
                                  ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:527:74: error: expected primary-expression before ‘)’ token
         return build_iterator(f, std::make_index_sequence<sizeof...(CT)>());
                                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘xt::xfunction<F, R, CT>::const_stepper xt::xfunction<F, R, CT>::stepper_begin(const S&) const’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:600:33: error: use of ‘auto’ in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto f = [&shape](const auto& e) noexcept { return e.stepper_begin(shap
                                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In lambda function:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:600:62: error: request for member ‘stepper_begin’ in ‘e’, which is of non-class type ‘const int’
         auto f = [&shape](const auto& e) noexcept { return e.stepper_begin(shap
                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘xt::xfunction<F, R, CT>::const_stepper xt::xfunction<F, R, CT>::stepper_begin(const S&) const’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:601:33: error: ‘make_index_sequence’ is not a member of ‘std’
         return build_stepper(f, std::make_index_sequence<sizeof...(CT)>());
                                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:601:73: error: expected primary-expression before ‘)’ token
         return build_stepper(f, std::make_index_sequence<sizeof...(CT)>());
                                                                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘xt::xfunction<F, R, CT>::const_stepper xt::xfunction<F, R, CT>::stepper_end(const S&, xt::layout_type) const’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:608:36: error: use of ‘auto’ in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto f = [&shape, l](const auto& e) noexcept { return e.stepper_end(sha
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In lambda function:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:608:65: error: request for member ‘stepper_end’ in ‘e’, which is of non-class type ‘const int’
         auto f = [&shape, l](const auto& e) noexcept { return e.stepper_end(sha
                                                                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘xt::xfunction<F, R, CT>::const_stepper xt::xfunction<F, R, CT>::stepper_end(const S&, xt::layout_type) const’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:609:33: error: ‘make_index_sequence’ is not a member of ‘std’
         return build_stepper(f, std::make_index_sequence<sizeof...(CT)>());
                                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:609:73: error: expected primary-expression before ‘)’ token
         return build_stepper(f, std::make_index_sequence<sizeof...(CT)>());
                                                                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:613:54: error: ‘xt::xfunction<F, R, CT>::data_element’ declared as an ‘inline’ variable
     inline auto xfunction<F, R, CT...>::data_element(size_type i) const -> cons
                                                      ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:613:54: error: ‘auto xt::xfunction<F, R, CT>::data_element’ is not a static data member of ‘class xt::xfunction<F, R, CT>’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:613:54: error: template definition of non-template ‘auto xt::xfunction<F, R, CT>::data_element’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:613:54: error: ‘size_type’ was not declared in this scope
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:620:65: error: ‘xt::xfunction<F, R, CT>::layout_impl’ declared as an ‘inline’ variable
     inline layout_type xfunction<F, R, CT...>::layout_impl(std::index_sequence<
                                                                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:620:65: error: ‘xt::layout_type xt::xfunction<F, R, CT>::layout_impl’ is not a static data member of ‘class xt::xfunction<F, R, CT>’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:620:65: error: template definition of non-template ‘xt::layout_type xt::xfunction<F, R, CT>::layout_impl’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:620:60: error: ‘index_sequence’ is not a member of ‘std’
     inline layout_type xfunction<F, R, CT...>::layout_impl(std::index_sequence<
                                                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:627:58: error: ‘xt::xfunction<F, R, CT>::access_impl’ declared as an ‘inline’ variable
     inline auto xfunction<F, R, CT...>::access_impl(std::index_sequence<I...>, 
                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:627:58: error: ‘auto xt::xfunction<F, R, CT>::access_impl’ is not a static data member of ‘class xt::xfunction<F, R, CT>’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:627:58: error: template definition of non-template ‘auto xt::xfunction<F, R, CT>::access_impl’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:627:53: error: ‘index_sequence’ is not a member of ‘std’
     inline auto xfunction<F, R, CT...>::access_impl(std::index_sequence<I...>, 
                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:627:84: error: expected primary-expression before ‘...’ token
  xfunction<F, R, CT...>::access_impl(std::index_sequence<I...>, Args... args) c
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:634:66: error: ‘xt::xfunction<F, R, CT>::element_access_impl’ declared as an ‘inline’ variable
     inline auto xfunction<F, R, CT...>::element_access_impl(std::index_sequence
                                                                  ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:634:66: error: ‘auto xt::xfunction<F, R, CT>::element_access_impl’ is not a static data member of ‘class xt::xfunction<F, R, CT>’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:634:66: error: template definition of non-template ‘auto xt::xfunction<F, R, CT>::element_access_impl’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:634:61: error: ‘index_sequence’ is not a member of ‘std’
     inline auto xfunction<F, R, CT...>::element_access_impl(std::index_sequence
                                                             ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:634:91: error: expected primary-expression before ‘first’
 ion<F, R, CT...>::element_access_impl(std::index_sequence<I...>, It first, It l
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:634:101: error: expected primary-expression before ‘last’
 CT...>::element_access_impl(std::index_sequence<I...>, It first, It last) const
                                                                     ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:16:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:20,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:641:64: error: ‘xt::xfunction<F, R, CT>::data_element_impl’ declared as an ‘inline’ variable
     inline auto xfunction<F, R, CT...>::data_element_impl(std::index_sequence<I
                                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:641:64: error: ‘auto xt::xfunction<F, R, CT>::data_element_impl’ is not a static data member of ‘class xt::xfunction<F, R, CT>’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:641:64: error: template definition of non-template ‘auto xt::xfunction<F, R, CT>::data_element_impl’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:641:59: error: ‘index_sequence’ is not a member of ‘std’
     inline auto xfunction<F, R, CT...>::data_element_impl(std::index_sequence<I
                                                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:641:86: error: ‘size_type’ was not declared in this scope
 function<F, R, CT...>::data_element_impl(std::index_sequence<I...>, size_type i
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:648:70: error: ‘std::index_sequence’ has not been declared
    inline auto xfunction<F, R, CT...>::build_stepper(Func&& f, std::index_seque
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:648:84: error: expected ‘,’ or ‘...’ before ‘<’ token
  xfunction<F, R, CT...>::build_stepper(Func&& f, std::index_sequence<I...>) con
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:655:71: error: ‘std::index_sequence’ has not been declared
   inline auto xfunction<F, R, CT...>::build_iterator(Func&& f, std::index_seque
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:655:85: error: expected ‘,’ or ‘...’ before ‘<’ token
 xfunction<F, R, CT...>::build_iterator(Func&& f, std::index_sequence<I...>) con
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:661:79: error: ‘size_type’ does not name a type
 ne auto xfunction<F, R, CT...>::compute_dimension() const noexcept -> size_type
                                                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘xt::xfunction_iterator<F, R, CT>::self_type& xt::xfunction_iterator<F, R, CT>::operator++()’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:681:21: error: use of ‘auto’ in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto f = [](auto& it) { ++it; };
                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘xt::xfunction_iterator<F, R, CT>::self_type& xt::xfunction_iterator<F, R, CT>::operator--()’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:697:21: error: use of ‘auto’ in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto f = [](auto& it) { return --it; };
                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘xt::xfunction_iterator<F, R, CT>::reference xt::xfunction_iterator<F, R, CT>::operator*() const’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:713:27: error: ‘make_index_sequence’ is not a member of ‘std’
         return deref_impl(std::make_index_sequence<sizeof...(CT)>());
                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:713:67: error: expected primary-expression before ‘)’ token
         return deref_impl(std::make_index_sequence<sizeof...(CT)>());
                                                                   ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:724:66: error: ‘xt::xfunction_iterator<F, R, CT>::deref_impl’ declared as an ‘inline’ variable
     inline auto xfunction_iterator<F, R, CT...>::deref_impl(std::index_sequence
                                                                  ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:724:66: error: ‘auto xt::xfunction_iterator<F, R, CT>::deref_impl’ is not a static data member of ‘class xt::xfunction_iterator<F, R, CT>’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:724:66: error: template definition of non-template ‘auto xt::xfunction_iterator<F, R, CT>::deref_impl’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:724:61: error: ‘index_sequence’ is not a member of ‘std’
     inline auto xfunction_iterator<F, R, CT...>::deref_impl(std::index_sequence
                                                             ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In constructor ‘xt::xfunction_stepper<F, R, CT>::xfunction_stepper(const xfunction_type*, It&& ...)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:750:22: error: class ‘xt::xfunction_stepper<F, R, CT>’ does not have any field named ‘m_it’
         : p_f(func), m_it(std::forward<It>(it)...)
                      ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘void xt::xfunction_stepper<F, R, CT>::step(xt::xfunction_stepper<F, R, CT>::size_type, xt::xfunction_stepper<F, R, CT>::size_type)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:757:27: error: use of ‘auto’ in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto f = [dim, n](auto& it) { it.step(dim, n); };
                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In lambda function:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:757:42: error: request for member ‘step’ in ‘it’, which is of non-class type ‘int’
         auto f = [dim, n](auto& it) { it.step(dim, n); };
                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘void xt::xfunction_stepper<F, R, CT>::step(xt::xfunction_stepper<F, R, CT>::size_type, xt::xfunction_stepper<F, R, CT>::size_type)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:758:21: error: ‘m_it’ was not declared in this scope
         for_each(f, m_it);
                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘void xt::xfunction_stepper<F, R, CT>::step_back(xt::xfunction_stepper<F, R, CT>::size_type, xt::xfunction_stepper<F, R, CT>::size_type)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:764:27: error: use of ‘auto’ in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto f = [dim, n](auto& it) { it.step_back(dim, n); };
                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In lambda function:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:764:42: error: request for member ‘step_back’ in ‘it’, which is of non-class type ‘int’
         auto f = [dim, n](auto& it) { it.step_back(dim, n); };
                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘void xt::xfunction_stepper<F, R, CT>::step_back(xt::xfunction_stepper<F, R, CT>::size_type, xt::xfunction_stepper<F, R, CT>::size_type)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:765:21: error: ‘m_it’ was not declared in this scope
         for_each(f, m_it);
                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘void xt::xfunction_stepper<F, R, CT>::reset(xt::xfunction_stepper<F, R, CT>::size_type)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:771:24: error: use of ‘auto’ in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto f = [dim](auto& it) { it.reset(dim); };
                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In lambda function:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:771:39: error: request for member ‘reset’ in ‘it’, which is of non-class type ‘int’
         auto f = [dim](auto& it) { it.reset(dim); };
                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘void xt::xfunction_stepper<F, R, CT>::reset(xt::xfunction_stepper<F, R, CT>::size_type)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:772:21: error: ‘m_it’ was not declared in this scope
         for_each(f, m_it);
                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘void xt::xfunction_stepper<F, R, CT>::reset_back(xt::xfunction_stepper<F, R, CT>::size_type)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:778:24: error: use of ‘auto’ in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto f = [dim](auto& it) { it.reset_back(dim); };
                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In lambda function:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:778:39: error: request for member ‘reset_back’ in ‘it’, which is of non-class type ‘int’
         auto f = [dim](auto& it) { it.reset_back(dim); };
                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘void xt::xfunction_stepper<F, R, CT>::reset_back(xt::xfunction_stepper<F, R, CT>::size_type)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:779:21: error: ‘m_it’ was not declared in this scope
         for_each(f, m_it);
                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘void xt::xfunction_stepper<F, R, CT>::to_begin()’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:785:21: error: use of ‘auto’ in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto f = [](auto& it) { it.to_begin(); };
                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In lambda function:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:785:36: error: request for member ‘to_begin’ in ‘it’, which is of non-class type ‘int’
         auto f = [](auto& it) { it.to_begin(); };
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘void xt::xfunction_stepper<F, R, CT>::to_begin()’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:786:21: error: ‘m_it’ was not declared in this scope
         for_each(f, m_it);
                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘void xt::xfunction_stepper<F, R, CT>::to_end(xt::layout_type)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:792:22: error: use of ‘auto’ in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto f = [l](auto& it) { it.to_end(l); };
                      ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In lambda function:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:792:37: error: request for member ‘to_end’ in ‘it’, which is of non-class type ‘int’
         auto f = [l](auto& it) { it.to_end(l); };
                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘void xt::xfunction_stepper<F, R, CT>::to_end(xt::layout_type)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:793:21: error: ‘m_it’ was not declared in this scope
         for_each(f, m_it);
                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘xt::xfunction_stepper<F, R, CT>::reference xt::xfunction_stepper<F, R, CT>::operator*() const’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:799:27: error: ‘make_index_sequence’ is not a member of ‘std’
         return deref_impl(std::make_index_sequence<sizeof...(CT)>());
                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:799:67: error: expected primary-expression before ‘)’ token
         return deref_impl(std::make_index_sequence<sizeof...(CT)>());
                                                                   ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: In member function ‘bool xt::xfunction_stepper<F, R, CT>::equal(const self_type&) const’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:805:34: error: ‘m_it’ was not declared in this scope
         return p_f == rhs.p_f && m_it == rhs.m_it;
                                  ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:810:65: error: ‘xt::xfunction_stepper<F, R, CT>::deref_impl’ declared as an ‘inline’ variable
     inline auto xfunction_stepper<F, R, CT...>::deref_impl(std::index_sequence<
                                                                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:810:65: error: ‘auto xt::xfunction_stepper<F, R, CT>::deref_impl’ is not a static data member of ‘class xt::xfunction_stepper<F, R, CT>’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:810:65: error: template definition of non-template ‘auto xt::xfunction_stepper<F, R, CT>::deref_impl’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:810:60: error: ‘index_sequence’ is not a member of ‘std’
     inline auto xfunction_stepper<F, R, CT...>::deref_impl(std::index_sequence<
                                                            ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:18:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:20,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xstrides.hpp:23:48: error: ‘compute_size’ function uses ‘auto’ type specifier without trailing return type
     auto compute_size(const shape_type& shape) noexcept;
                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xstrides.hpp:23:48: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xstrides.hpp:71:55: error: ‘compute_size’ function uses ‘auto’ type specifier without trailing return type
     inline auto compute_size(const shape_type& shape) noexcept
                                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xstrides.hpp:71:55: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xstrides.hpp: In function ‘auto xt::compute_size(const shape_type&)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xstrides.hpp:73:32: error: ‘decay_t’ in namespace ‘std’ does not name a template type
         using size_type = std::decay_t<typename shape_type::value_type>;
                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xstrides.hpp:74:73: error: there are no arguments to ‘size_type’ that depend on a template parameter, so a declaration of ‘size_type’ must be available [-fpermissive]
     return std::accumulate(shape.cbegin(), shape.cend(), size_type(1), std::mul
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xstrides.hpp:74:92: error: ‘size_type’ was not declared in this scope
 umulate(shape.cbegin(), shape.cend(), size_type(1), std::multiplies<size_type>(
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xstrides.hpp:74:101: error: template argument 1 is invalid
 late(shape.cbegin(), shape.cend(), size_type(1), std::multiplies<size_type>());
                                                                           ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:20:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:53:46: error: ‘make_xfunction’ function uses ‘auto’ type specifier without trailing return type
         inline auto make_xfunction(E&&... e) noexcept
                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:53:46: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp: In function ‘auto xt::detail::make_xfunction(E&& ...)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:55:56: error: ‘decay_t’ is not a member of ‘std’
             using functor_type = F<common_value_type_t<std::decay_t<E>...>>;
                                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:55:56: error: ‘decay_t’ is not a member of ‘std’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:55:70: error: template argument 1 is invalid
             using functor_type = F<common_value_type_t<std::decay_t<E>...>>;
                                                                      ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:55:71: error: expected parameter pack before ‘...’
             using functor_type = F<common_value_type_t<std::decay_t<E>...>>;
                                                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:55:71: error: template argument 1 is invalid
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:56:42: error: ‘functor_type’ has not been declared
             using result_type = typename functor_type::result_type;
                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:57:36: error: ‘functor_type’ was not declared in this scope
             using type = xfunction<functor_type, result_type, const_xclosure_t<
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:57:50: error: ‘result_type’ was not declared in this scope
             using type = xfunction<functor_type, result_type, const_xclosure_t<
                                                  ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:57:85: error: template argument 1 is invalid
      using type = xfunction<functor_type, result_type, const_xclosure_t<E>...>;
                                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:57:85: error: template argument 2 is invalid
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:64:58: error: ‘decay_t’ is not a member of ‘std’
             using type = xfunction<F<common_value_type_t<std::decay_t<E>...>>,
                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:64:58: error: ‘decay_t’ is not a member of ‘std’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:64:72: error: template argument 1 is invalid
             using type = xfunction<F<common_value_type_t<std::decay_t<E>...>>,
                                                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:64:73: error: expected parameter pack before ‘...’
             using type = xfunction<F<common_value_type_t<std::decay_t<E>...>>,
                                                                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:64:73: error: template argument 1 is invalid
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:64:76: error: wrong number of template arguments (1, should be at least 2)
             using type = xfunction<F<common_value_type_t<std::decay_t<E>...>>,
                                                                            ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:16:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:20,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xfunction.hpp:91:11: note: provided for ‘template<class F, class R, class ... CT> class xt::xfunction’
     class xfunction;
           ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:20:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:74:48: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type
         using xfunction_type_t = typename std::enable_if_t<has_xexpression<std:
                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:97:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<detail::identity, E>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:97:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<detail::identity, E>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:113:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<std::negate, E>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:113:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<std::negate, E>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:130:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<std::plus, E1, E2>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:130:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<std::plus, E1, E2>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:147:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<std::minus, E1, E2>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:147:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<std::minus, E1, E2>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:164:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<std::multiplies, E1, E2>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:164:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<std::multiplies, E1, E2>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:181:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<std::divides, E1, E2>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:181:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<std::divides, E1, E2>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:202:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<std::logical_or, E1, E2>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:202:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<std::logical_or, E1, E2>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:219:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<std::logical_and, E1, E2>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:219:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<std::logical_and, E1, E2>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:235:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<std::logical_not, E>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:235:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<std::logical_not, E>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:256:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<std::less, E1, E2>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:256:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<std::less, E1, E2>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:273:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<std::less_equal, E1, E2>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:273:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<std::less_equal, E1, E2>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:290:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<std::greater, E1, E2>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:290:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<std::greater, E1, E2>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:307:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<std::greater_equal, E1, E2>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:307:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<std::greater_equal, E1, E2>
                                    ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:20:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:368:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<std::equal_to, E1, E2>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:368:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<std::equal_to, E1, E2>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:385:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<std::not_equal_to, E1, E2>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:385:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<std::not_equal_to, E1, E2>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:404:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<detail::conditional_ternary, E1, E2, E3>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:404:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<detail::conditional_ternary, E1, E2, E3>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp: In function ‘bool xt::any(E&&)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:483:28: error: ‘decay_t’ in namespace ‘std’ does not name a template type
         using xtype = std::decay_t<E>;
                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:484:13: error: ‘xtype’ has not been declared
         if (xtype::static_layout == layout_type::row_major || xtype::static_lay
             ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:484:63: error: ‘xtype’ has not been declared
         if (xtype::static_layout == layout_type::row_major || xtype::static_lay
                                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:487:55: error: ‘decay_t’ in namespace ‘std’ does not name a template type
                                [](const typename std::decay_t<E>::value_type& e
                                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:487:62: error: expected ‘,’ or ‘...’ before ‘<’ token
                                [](const typename std::decay_t<E>::value_type& e
                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp: In lambda function:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:487:92: error: ‘el’ was not declared in this scope
             [](const typename std::decay_t<E>::value_type& el) { return el; });
                                                                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp: In function ‘bool xt::any(E&&)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:492:55: error: ‘decay_t’ in namespace ‘std’ does not name a template type
                                [](const typename std::decay_t<E>::value_type& e
                                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:492:62: error: expected ‘,’ or ‘...’ before ‘<’ token
                                [](const typename std::decay_t<E>::value_type& e
                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp: In lambda function:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:492:92: error: ‘el’ was not declared in this scope
             [](const typename std::decay_t<E>::value_type& el) { return el; });
                                                                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp: In function ‘bool xt::all(E&&)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:508:28: error: ‘decay_t’ in namespace ‘std’ does not name a template type
         using xtype = std::decay_t<E>;
                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:509:13: error: ‘xtype’ has not been declared
         if (xtype::static_layout == layout_type::row_major || xtype::static_lay
             ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:509:63: error: ‘xtype’ has not been declared
         if (xtype::static_layout == layout_type::row_major || xtype::static_lay
                                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:512:55: error: ‘decay_t’ in namespace ‘std’ does not name a template type
                                [](const typename std::decay_t<E>::value_type& e
                                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:512:62: error: expected ‘,’ or ‘...’ before ‘<’ token
                                [](const typename std::decay_t<E>::value_type& e
                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp: In lambda function:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:512:92: error: ‘el’ was not declared in this scope
             [](const typename std::decay_t<E>::value_type& el) { return el; });
                                                                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp: In function ‘bool xt::all(E&&)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:517:55: error: ‘decay_t’ in namespace ‘std’ does not name a template type
                                [](const typename std::decay_t<E>::value_type& e
                                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:517:62: error: expected ‘,’ or ‘...’ before ‘<’ token
                                [](const typename std::decay_t<E>::value_type& e
                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp: In lambda function:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xoperation.hpp:517:92: error: ‘el’ was not declared in this scope
             [](const typename std::decay_t<E>::value_type& el) { return el; });
                                                                         ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:23:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:23,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:21,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:33:39: error: ‘broadcast’ function uses ‘auto’ type specifier without trailing return type
     auto broadcast(E&& e, const S& s) noexcept;
                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:33:39: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:40:44: error: ‘broadcast’ function uses ‘auto’ type specifier without trailing return type
     auto broadcast(E&& e, const I (&s)[L]) noexcept;
                                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:40:44: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:53:39: error: ‘decay_t’ in namespace ‘std’ does not name a template type
         using xexpression_type = std::decay_t<CT>;
                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:54:90: error: template argument 1 is invalid
 g inner_shape_type = promote_shape_t<typename xexpression_type::shape_type, X>;
                                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:55:40: error: ‘xexpression_type’ has not been declared
         using const_stepper = typename xexpression_type::const_stepper;
                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:56:25: error: ‘const_stepper’ does not name a type
         using stepper = const_stepper;
                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:57:42: error: ‘const_stepper’ was not declared in this scope
         using const_iterator = xiterator<const_stepper, inner_shape_type*, DEFA
                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:57:57: error: ‘inner_shape_type’ was not declared in this scope
         using const_iterator = xiterator<const_stepper, inner_shape_type*, DEFA
                                                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:57:90: error: template argument 1 is invalid
 g const_iterator = xiterator<const_stepper, inner_shape_type*, DEFAULT_LAYOUT>;
                                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:57:90: error: template argument 2 is invalid
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:57:90: error: template argument 3 is invalid
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:58:26: error: ‘const_iterator’ does not name a type
         using iterator = const_iterator;
                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:59:62: error: ‘const_iterator’ was not declared in this scope
         using const_reverse_iterator = std::reverse_iterator<const_iterator>;
                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:59:76: error: template argument 1 is invalid
         using const_reverse_iterator = std::reverse_iterator<const_iterator>;
                                                                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:60:56: error: ‘iterator’ was not declared in this scope
         using reverse_iterator = std::reverse_iterator<iterator>;
                                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:60:56: note: suggested alternatives:
In file included from /usr/include/c++/5/bits/stl_algobase.h:65:0,
                 from /usr/include/c++/5/bits/char_traits.h:39,
                 from /usr/include/c++/5/ios:40,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iostream:39,
                 from train.cpp:8:
/usr/include/c++/5/bits/stl_iterator_base_types.h:118:12: note:   ‘std::iterator’
     struct iterator
            ^
/usr/include/c++/5/bits/stl_iterator_base_types.h:118:12: note:   ‘std::iterator’
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:23:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:23,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:21,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:60:64: error: template argument 1 is invalid
         using reverse_iterator = std::reverse_iterator<iterator>;
                                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:83:39: error: ‘decay_t’ in namespace ‘std’ does not name a template type
         using xexpression_type = std::decay_t<CT>;
                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:85:37: error: ‘xexpression_type’ has not been declared
         using value_type = typename xexpression_type::value_type;
                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:86:36: error: ‘xexpression_type’ has not been declared
         using reference = typename xexpression_type::reference;
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:87:42: error: ‘xexpression_type’ has not been declared
         using const_reference = typename xexpression_type::const_reference;
                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:88:34: error: ‘xexpression_type’ has not been declared
         using pointer = typename xexpression_type::pointer;
                                  ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:89:40: error: ‘xexpression_type’ has not been declared
         using const_pointer = typename xexpression_type::const_pointer;
                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:90:36: error: ‘xexpression_type’ has not been declared
         using size_type = typename xexpression_type::size_type;
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:91:42: error: ‘xexpression_type’ has not been declared
         using difference_type = typename xexpression_type::difference_type;
                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:100:54: error: ‘xexpression_type’ has not been declared
         static constexpr layout_type static_layout = xexpression_type::static_l
                                                      ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:107:9: error: ‘size_type’ does not name a type
         size_type size() const noexcept;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:108:9: error: ‘size_type’ does not name a type
         size_type dimension() const noexcept;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:113:9: error: ‘const_reference’ does not name a type
         const_reference operator()(Args... args) const;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:114:9: error: ‘const_reference’ does not name a type
         const_reference operator[](const xindex& index) const;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:115:9: error: ‘const_reference’ does not name a type
         const_reference operator[](size_type i) const;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:118:9: error: ‘const_reference’ does not name a type
         const_reference element(It, It last) const;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:151:46: error: ‘broadcast’ function uses ‘auto’ type specifier without trailing return type
     inline auto broadcast(E&& e, const S& s) noexcept
                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:151:46: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp: In function ‘auto xt::broadcast(E&&, const S&)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:155:51: error: ‘forward_sequence’ was not declared in this scope
         return broadcast_type(std::forward<E>(e), forward_sequence<shape_type>(
                                                   ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:155:30: error: expected primary-expression before ‘(’ token
         return broadcast_type(std::forward<E>(e), forward_sequence<shape_type>(
                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:155:78: error: expected primary-expression before ‘>’ token
     return broadcast_type(std::forward<E>(e), forward_sequence<shape_type>(s));
                                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:168:51: error: ‘broadcast’ function uses ‘auto’ type specifier without trailing return type
     inline auto broadcast(E&& e, const I (&s)[L]) noexcept
                                                   ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:168:51: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp: In function ‘auto xt::broadcast(E&&, const I (&)[L])’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:172:51: error: ‘forward_sequence’ was not declared in this scope
         return broadcast_type(std::forward<E>(e), forward_sequence<shape_type>(
                                                   ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:172:30: error: expected primary-expression before ‘(’ token
         return broadcast_type(std::forward<E>(e), forward_sequence<shape_type>(
                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:172:78: error: expected primary-expression before ‘>’ token
     return broadcast_type(std::forward<E>(e), forward_sequence<shape_type>(s));
                                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:207:61: error: ‘size_type’ does not name a type
     inline auto xbroadcast<CT, X>::size() const noexcept -> size_type
                                                             ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:216:66: error: ‘size_type’ does not name a type
     inline auto xbroadcast<CT, X>::dimension() const noexcept -> size_type
                                                                  ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:251:70: error: ‘const_reference’ does not name a type
    inline auto xbroadcast<CT, X>::operator()(Args... args) const -> const_refer
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:263:77: error: ‘const_reference’ does not name a type
 ne auto xbroadcast<CT, X>::operator[](const xindex& index) const -> const_refer
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:269:47: error: declaration of ‘operator[]’ as non-function
     inline auto xbroadcast<CT, X>::operator[](size_type i) const -> const_refer
                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:269:47: error: ‘size_type’ was not declared in this scope
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:283:66: error: ‘const_reference’ does not name a type
     inline auto xbroadcast<CT, X>::element(It, It last) const -> const_referenc
                                                                  ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp: In member function ‘bool xt::xbroadcast<CT, X>::is_trivial_broadcast(const S&) const’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbroadcast.hpp:314:26: error: there are no arguments to ‘dimension’ that depend on a template parameter, so a declaration of ‘dimension’ must be available [-fpermissive]
         return dimension() == m_e.dimension() &&
                          ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:25:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:23,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:21,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xgenerator.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xgenerator.hpp:281:71: error: ‘make_xgenerator’ function uses ‘auto’ type specifier without trailing return type
         inline auto make_xgenerator(Functor&& f, const I (&shape)[L]) noexcept
                                                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xgenerator.hpp:281:71: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xgenerator.hpp: In function ‘auto xt::detail::make_xgenerator(Functor&&, const I (&)[L])’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xgenerator.hpp:285:51: error: ‘forward_sequence’ was not declared in this scope
             return type(std::forward<Functor>(f), forward_sequence<shape_type>(
                                                   ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xgenerator.hpp:285:24: error: expected primary-expression before ‘(’ token
             return type(std::forward<Functor>(f), forward_sequence<shape_type>(
                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xgenerator.hpp:285:78: error: expected primary-expression before ‘>’ token
     return type(std::forward<Functor>(f), forward_sequence<shape_type>(shape));
                                                                      ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xgenerator.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xgenerator.hpp:290:61: error: ‘make_xgenerator’ function uses ‘auto’ type specifier without trailing return type
         inline auto make_xgenerator(Functor&& f, S&& shape) noexcept
                                                             ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xgenerator.hpp:290:61: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xgenerator.hpp: In function ‘auto xt::detail::make_xgenerator(Functor&&, S&&)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xgenerator.hpp:292:76: error: ‘decay_t’ is not a member of ‘std’
      using type = xgenerator<Functor, typename Functor::value_type, std::decay_
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xgenerator.hpp:292:76: error: ‘decay_t’ is not a member of ‘std’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xgenerator.hpp:292:89: error: template argument 3 is invalid
 sing type = xgenerator<Functor, typename Functor::value_type, std::decay_t<S>>;
                                                                            ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:23:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:21,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:43:31: error: ‘ones’ function uses ‘auto’ type specifier without trailing return type
     inline auto ones(S shape) noexcept
                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:43:31: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:56:43: error: ‘ones’ function uses ‘auto’ type specifier without trailing return type
     inline auto ones(const I (&shape)[L]) noexcept
                                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:56:43: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:71:32: error: ‘zeros’ function uses ‘auto’ type specifier without trailing return type
     inline auto zeros(S shape) noexcept
                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:71:32: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:84:44: error: ‘zeros’ function uses ‘auto’ type specifier without trailing return type
     inline auto zeros(const I (&shape)[L]) noexcept
                                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:84:44: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:210:69: error: ‘eye’ function uses ‘auto’ type specifier without trailing return type
     inline auto eye(const std::vector<std::size_t>& shape, int k = 0)
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:210:69: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:225:45: error: ‘eye’ function uses ‘auto’ type specifier without trailing return type
     inline auto eye(std::size_t n, int k = 0)
                                             ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:225:45: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:239:53: error: ‘arange’ function uses ‘auto’ type specifier without trailing return type
     inline auto arange(T start, T stop, T step = 1) noexcept
                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:239:53: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:253:32: error: ‘arange’ function uses ‘auto’ type specifier without trailing return type
     inline auto arange(T stop) noexcept
                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:253:32: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:268:95: error: ‘linspace’ function uses ‘auto’ type specifier without trailing return type
 e(T start, T stop, std::size_t num_samples = 50, bool endpoint = true) noexcept
                                                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:268:95: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:285:103: error: ‘logspace’ function uses ‘auto’ type specifier without trailing return type
 t, T stop, std::size_t num_samples, T base = 10, bool endpoint = true) noexcept
                                                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:285:103: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:298:37: error: ‘common_type_t’ in namespace ‘std’ does not name a template type
             using value_type = std::common_type_t<typename std::decay_t<CT>::va
                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:306:20: error: ‘value_type’ does not name a type
             inline value_type operator()(Args... args) const
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:313:20: error: ‘value_type’ does not name a type
             inline value_type element(It first, It last) const
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:321:20: error: ‘value_type’ does not name a type
             inline value_type access_impl(xindex idx) const
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:359:37: error: ‘common_type_t’ in namespace ‘std’ does not name a template type
             using value_type = std::common_type_t<typename std::decay_t<CT>::va
                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:367:20: error: ‘value_type’ does not name a type
             inline value_type operator()(Args... args) const
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:374:20: error: ‘value_type’ does not name a type
             inline value_type element(It first, It last) const
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:382:20: error: ‘value_type’ does not name a type
             inline value_type access_impl(xindex idx) const
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:402:43: error: ‘decay_t’ in namespace ‘std’ does not name a template type
             using xexpression_type = std::decay_t<CT>;
                                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:403:40: error: ‘xexpression_type’ has not been declared
             using size_type = typename xexpression_type::size_type;
                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:404:41: error: ‘xexpression_type’ has not been declared
             using value_type = typename xexpression_type::value_type;
                                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:407:39: error: ‘size_type’ has not been declared
             repeat_impl(CTA&& source, size_type axis)
                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:413:13: error: ‘value_type’ does not name a type
             value_type operator()(Args... args) const
             ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:420:20: error: ‘value_type’ does not name a type
             inline value_type element(It first, It) const
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:428:13: error: ‘size_type’ does not name a type
             size_type m_axis;
             ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp: In constructor ‘xt::detail::repeat_impl<CT>::repeat_impl(CTA&&, int)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:408:56: error: class ‘xt::detail::repeat_impl<CT>’ does not have any field named ‘m_axis’
                 : m_source(std::forward<CTA>(source)), m_axis(axis)
                                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:437:39: error: ‘xtuple’ function uses ‘auto’ type specifier without trailing return type
     inline auto xtuple(Types&&... args)
                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:437:39: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:458:72: error: ‘concatenate’ function uses ‘auto’ type specifier without trailing return type
     inline auto concatenate(std::tuple<CT...>&& t, std::size_t axis = 0)
                                                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:458:72: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp: In function ‘auto xt::concatenate(std::tuple<_Elements ...>&&, std::size_t)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:460:58: error: ‘decay_t’ in namespace ‘std’ does not name a template type
         using shape_type = promote_shape_t<typename std::decay_t<CT>::shape_typ
                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:460:65: error: expected template-argument before ‘<’ token
         using shape_type = promote_shape_t<typename std::decay_t<CT>::shape_typ
                                                                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:460:65: error: expected ‘>’ before ‘<’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:460:84: error: template argument 1 is invalid
   using shape_type = promote_shape_t<typename std::decay_t<CT>::shape_type...>;
                                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:460:85: error: expected ‘::’ before ‘;’ token
   using shape_type = promote_shape_t<typename std::decay_t<CT>::shape_type...>;
                                                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:460:85: error: expected identifier before ‘;’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:461:9: error: ‘shape_type’ was not declared in this scope
         shape_type new_shape = forward_sequence<shape_type>(std::get<0>(t).shap
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:462:56: error: use of ‘auto’ in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
         auto shape_at_axis = [&axis](std::size_t prev, auto& arr) -> std::size_
                                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp: In lambda function:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:463:31: error: request for member ‘shape’ in ‘arr’, which is of non-class type ‘int’
             return prev + arr.shape()[axis];
                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp: In function ‘auto xt::concatenate(std::tuple<_Elements ...>&&, std::size_t)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:465:9: error: ‘new_shape’ was not declared in this scope
         new_shape[axis] += accumulate(shape_at_axis, std::size_t(0), t) - new_s
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:509:66: error: ‘stack’ function uses ‘auto’ type specifier without trailing return type
     inline auto stack(std::tuple<CT...>&& t, std::size_t axis = 0)
                                                                  ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:509:66: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp: In function ‘auto xt::stack(std::tuple<_Elements ...>&&, std::size_t)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:511:58: error: ‘decay_t’ in namespace ‘std’ does not name a template type
         using shape_type = promote_shape_t<typename std::decay_t<CT>::shape_typ
                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:511:65: error: expected template-argument before ‘<’ token
         using shape_type = promote_shape_t<typename std::decay_t<CT>::shape_typ
                                                                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:511:65: error: expected ‘>’ before ‘<’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:511:84: error: template argument 1 is invalid
   using shape_type = promote_shape_t<typename std::decay_t<CT>::shape_type...>;
                                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:511:85: error: expected ‘::’ before ‘;’ token
   using shape_type = promote_shape_t<typename std::decay_t<CT>::shape_type...>;
                                                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:511:85: error: expected identifier before ‘;’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:512:43: error: ‘forward_sequence’ was not declared in this scope
         auto new_shape = detail::add_axis(forward_sequence<shape_type>(std::get
                                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:512:60: error: ‘shape_type’ was not declared in this scope
         auto new_shape = detail::add_axis(forward_sequence<shape_type>(std::get
                                                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:520:40: error: ‘xt::detail::meshgrid_impl’ declared as an ‘inline’ variable
         inline auto meshgrid_impl(std::index_sequence<I...>, E&&... e) noexcept
                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:520:35: error: ‘index_sequence’ is not a member of ‘std’
         inline auto meshgrid_impl(std::index_sequence<I...>, E&&... e) noexcept
                                   ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:520:63: error: expected primary-expression before ‘&&’ token
         inline auto meshgrid_impl(std::index_sequence<I...>, E&&... e) noexcept
                                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:520:65: error: expected primary-expression before ‘...’ token
         inline auto meshgrid_impl(std::index_sequence<I...>, E&&... e) noexcept
                                                                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:520:70: error: expression list treated as compound expression in initializer [-fpermissive]
         inline auto meshgrid_impl(std::index_sequence<I...>, E&&... e) noexcept
                                                                      ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:520:21: warning: variable templates only available with -std=c++14 or -std=gnu++14
         inline auto meshgrid_impl(std::index_sequence<I...>, E&&... e) noexcept
                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:520:72: error: expected ‘;’ before ‘noexcept’
         inline auto meshgrid_impl(std::index_sequence<I...>, E&&... e) noexcept
                                                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:550:36: error: ‘meshgrid’ function uses ‘auto’ type specifier without trailing return type
     inline auto meshgrid(E&&... e) noexcept
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:550:36: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp: In function ‘auto xt::meshgrid(E&& ...)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:552:37: error: missing template arguments before ‘(’ token
         return detail::meshgrid_impl(std::make_index_sequence<sizeof...(E)>(), 
                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:552:38: error: ‘make_index_sequence’ is not a member of ‘std’
         return detail::meshgrid_impl(std::make_index_sequence<sizeof...(E)>(), 
                                      ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:552:77: error: expected primary-expression before ‘)’ token
 return detail::meshgrid_impl(std::make_index_sequence<sizeof...(E)>(), std::for
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:562:43: error: ‘decay_t’ in namespace ‘std’ does not name a template type
             using xexpression_type = std::decay_t<CT>;
                                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:563:41: error: ‘xexpression_type’ has not been declared
             using value_type = typename xexpression_type::value_type;
                                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:572:20: error: ‘value_type’ does not name a type
             inline value_type operator()(It begin, It) const
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:609:43: error: ‘decay_t’ in namespace ‘std’ does not name a template type
             using xexpression_type = std::decay_t<CT>;
                                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:610:41: error: ‘xexpression_type’ has not been declared
             using value_type = typename xexpression_type::value_type;
                                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:619:20: error: ‘value_type’ does not name a type
             inline value_type operator()(It begin, It) const
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:642:43: error: ‘decay_t’ in namespace ‘std’ does not name a template type
             using xexpression_type = std::decay_t<CT>;
                                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:643:41: error: ‘xexpression_type’ has not been declared
             using value_type = typename xexpression_type::value_type;
                                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:644:40: error: ‘xexpression_type’ has not been declared
             using size_type = typename xexpression_type::size_type;
                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:653:20: error: ‘value_type’ does not name a type
             inline value_type operator()(Args... args) const
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:660:20: error: ‘value_type’ does not name a type
             inline value_type element(It first, It last) const
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:670:20: error: ‘value_type’ does not name a type
             inline value_type access_impl(It begin, It end) const
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:678:19: error: ‘size_type’ does not name a type
             const size_type m_axis;
                   ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:679:19: error: ‘size_type’ does not name a type
             const size_type m_shape_at_axis;
                   ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp: In constructor ‘xt::detail::flip_impl<CT>::flip_impl(CTA&&, std::size_t)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:648:56: error: class ‘xt::detail::flip_impl<CT>’ does not have any field named ‘m_axis’
                 : m_source(std::forward<CTA>(source)), m_axis(axis), m_shape_at
                                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:648:70: error: class ‘xt::detail::flip_impl<CT>’ does not have any field named ‘m_shape_at_axis’
                : m_source(std::forward<CTA>(source)), m_axis(axis), m_shape_at_
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:648:103: error: ‘m_axis’ was not declared in this scope
 rward<CTA>(source)), m_axis(axis), m_shape_at_axis(m_source.shape()[m_axis] - 1
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:687:43: error: ‘decay_t’ in namespace ‘std’ does not name a template type
             using xexpression_type = std::decay_t<CT>;
                                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:688:41: error: ‘xexpression_type’ has not been declared
             using value_type = typename xexpression_type::value_type;
                                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:698:20: error: ‘value_type’ does not name a type
             inline value_type operator()(It begin, It end) const
                    ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:23:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:21,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:753:97: error: ‘diagonal’ function uses ‘auto’ type specifier without trailing return type
 agonal(E&& arr, int offset = 0, std::size_t axis_1 = 0, std::size_t axis_2 = 1)
                                                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:753:97: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp: In function ‘auto xt::diagonal(E&&, int, std::size_t, std::size_t)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:756:79: error: ‘decay_t’ in namespace ‘std’ does not name a template type
 ing shape_type = typename detail::diagonal_shape_type<typename std::decay_t<E>:
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:756:86: error: expected template-argument before ‘<’ token
 pe_type = typename detail::diagonal_shape_type<typename std::decay_t<E>::shape_
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:756:86: error: expected ‘>’ before ‘<’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:756:101: error: template argument 1 is invalid
 pename detail::diagonal_shape_type<typename std::decay_t<E>::shape_type>::type;
                                                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:763:40: error: ‘shape_type’ was not declared in this scope
         auto ret_shape = make_sequence<shape_type>(dimension - 1, 0);
                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:801:40: error: ‘diag’ function uses ‘auto’ type specifier without trailing return type
     inline auto diag(E&& arr, int k = 0)
                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:801:40: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:820:47: error: ‘flip’ function uses ‘auto’ type specifier without trailing return type
     inline auto flip(E&& arr, std::size_t axis)
                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:820:47: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:838:40: error: ‘tril’ function uses ‘auto’ type specifier without trailing return type
     inline auto tril(E&& arr, int k = 0)
                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:838:40: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:857:40: error: ‘triu’ function uses ‘auto’ type specifier without trailing return type
     inline auto triu(E&& arr, int k = 0)
                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xbuilder.hpp:857:40: note: deduced return type only available with -std=c++14 or -std=gnu++14
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:21:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:38:41: error: ‘reduce’ function uses ‘auto’ type specifier without trailing return type
     auto reduce(F&& f, E&& e, X&& axes) noexcept;
                                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:38:41: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:41:31: error: ‘reduce’ function uses ‘auto’ type specifier without trailing return type
     auto reduce(F&& f, E&& e) noexcept;
                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:41:31: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:48:51: error: ‘reduce’ function uses ‘auto’ type specifier without trailing return type
     auto reduce(F&& f, E&& e, const I (&axes)[N]) noexcept;
                                                   ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:48:51: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:67:39: error: ‘decay_t’ in namespace ‘std’ does not name a template type
         using xexpression_type = std::decay_t<CT>;
                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:68:103: error: wrong number of template arguments (1, should be 2)
 = typename xreducer_shape_type<typename xexpression_type::shape_type, X>::type;
                                                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:56:12: note: provided for ‘template<class ST, class X> struct xt::xreducer_shape_type’
     struct xreducer_shape_type;
            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:68:43: error: expected nested-name-specifier
         using inner_shape_type = typename xreducer_shape_type<typename xexpress
                                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:71:57: error: ‘inner_shape_type’ was not declared in this scope
         using const_iterator = xiterator<const_stepper, inner_shape_type*, DEFA
                                                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:71:90: error: template argument 2 is invalid
 g const_iterator = xiterator<const_stepper, inner_shape_type*, DEFAULT_LAYOUT>;
                                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:71:90: error: template argument 3 is invalid
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:72:26: error: ‘const_iterator’ does not name a type
         using iterator = const_iterator;
                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:73:62: error: ‘const_iterator’ was not declared in this scope
         using const_reverse_iterator = std::reverse_iterator<const_iterator>;
                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:73:76: error: template argument 1 is invalid
         using const_reverse_iterator = std::reverse_iterator<const_iterator>;
                                                                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:74:56: error: ‘iterator’ was not declared in this scope
         using reverse_iterator = std::reverse_iterator<iterator>;
                                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:74:56: note: suggested alternatives:
In file included from /usr/include/c++/5/bits/stl_algobase.h:65:0,
                 from /usr/include/c++/5/bits/char_traits.h:39,
                 from /usr/include/c++/5/ios:40,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iostream:39,
                 from train.cpp:8:
/usr/include/c++/5/bits/stl_iterator_base_types.h:118:12: note:   ‘std::iterator’
     struct iterator
            ^
/usr/include/c++/5/bits/stl_iterator_base_types.h:118:12: note:   ‘std::iterator’
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:21:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:74:64: error: template argument 1 is invalid
         using reverse_iterator = std::reverse_iterator<iterator>;
                                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:99:39: error: ‘decay_t’ in namespace ‘std’ does not name a template type
         using xexpression_type = std::decay_t<CT>;
                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:102:37: error: ‘xexpression_type’ has not been declared
         using value_type = typename xexpression_type::value_type;
                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:103:27: error: ‘value_type’ does not name a type
         using reference = value_type;
                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:104:33: error: ‘value_type’ does not name a type
         using const_reference = value_type;
                                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:105:25: error: ‘value_type’ does not name a type
         using pointer = value_type*;
                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:106:37: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
         using const_pointer = const value_type*;
                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:106:37: error: expected ‘;’ before ‘value_type’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:108:36: error: ‘xexpression_type’ has not been declared
         using size_type = typename xexpression_type::size_type;
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:109:42: error: ‘xexpression_type’ has not been declared
         using difference_type = typename xexpression_type::difference_type;
                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:124:9: error: ‘size_type’ does not name a type
         size_type size() const noexcept;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:125:9: error: ‘size_type’ does not name a type
         size_type dimension() const noexcept;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:130:9: error: ‘const_reference’ does not name a type
         const_reference operator()(Args... args) const;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:131:9: error: ‘const_reference’ does not name a type
         const_reference operator[](const xindex& index) const;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:132:9: error: ‘const_reference’ does not name a type
         const_reference operator[](size_type i) const;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:135:9: error: ‘const_reference’ does not name a type
         const_reference element(It first, It last) const;
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:176:48: error: ‘reduce’ function uses ‘auto’ type specifier without trailing return type
     inline auto reduce(F&& f, E&& e, X&& axes) noexcept
                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:176:48: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:183:38: error: ‘reduce’ function uses ‘auto’ type specifier without trailing return type
     inline auto reduce(F&& f, E&& e) noexcept
                                      ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:183:38: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:201:58: error: ‘reduce’ function uses ‘auto’ type specifier without trailing return type
     inline auto reduce(F&& f, E&& e, const I (&axes)[N]) noexcept
                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:201:58: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp: In function ‘auto xt::reduce(F&&, E&&, const I (&)[N])’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:203:52: error: ‘decay_t’ in namespace ‘std’ does not name a template type
         using axes_type = std::array<typename std::decay_t<E>::size_type, N>;
                                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:203:59: error: expected template-argument before ‘<’ token
         using axes_type = std::array<typename std::decay_t<E>::size_type, N>;
                                                           ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:203:59: error: expected ‘>’ before ‘<’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:203:76: error: wrong number of template arguments (1, should be 2)
         using axes_type = std::array<typename std::decay_t<E>::size_type, N>;
                                                                            ^
In file included from /usr/include/c++/5/tuple:39:0,
                 from /usr/include/c++/5/bits/unique_ptr.h:37,
                 from /usr/include/c++/5/bits/locale_conv.h:41,
                 from /usr/include/c++/5/locale:43,
                 from /usr/include/c++/5/iomanip:43,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:14,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/usr/include/c++/5/array:89:12: note: provided for ‘template<class _Tp, long unsigned int _Nm> struct std::array’
     struct array
            ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:21:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:203:77: error: expected ‘::’ before ‘;’ token
         using axes_type = std::array<typename std::decay_t<E>::size_type, N>;
                                                                             ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:203:77: error: expected identifier before ‘;’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:204:63: error: ‘axes_type’ was not declared in this scope
         using reducer_type = xreducer<F, const_xclosure_t<E>, axes_type>;
                                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:204:72: error: template argument 3 is invalid
         using reducer_type = xreducer<F, const_xclosure_t<E>, axes_type>;
                                                                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:205:69: error: ‘forward_sequence’ was not declared in this scope
         return reducer_type(std::forward<F>(f), std::forward<E>(e), forward_seq
                                                                     ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:21:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:275:42: error: ‘decay_t’ is not a member of ‘std’
         using type = promote_shape_t<ST, std::decay_t<X>>;
                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:275:42: error: ‘decay_t’ is not a member of ‘std’
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:275:55: error: template argument 2 is invalid
         using type = promote_shape_t<ST, std::decay_t<X>>;
                                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:354:62: error: ‘size_type’ does not name a type
     inline auto xreducer<F, CT, X>::size() const noexcept -> size_type
                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:363:67: error: ‘size_type’ does not name a type
     inline auto xreducer<F, CT, X>::dimension() const noexcept -> size_type
                                                                   ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:398:71: error: ‘const_reference’ does not name a type
   inline auto xreducer<F, CT, X>::operator()(Args... args) const -> const_refer
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:411:78: error: ‘const_reference’ does not name a type
 e auto xreducer<F, CT, X>::operator[](const xindex& index) const -> const_refer
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:417:48: error: declaration of ‘operator[]’ as non-function
     inline auto xreducer<F, CT, X>::operator[](size_type i) const -> const_refe
                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:417:48: error: ‘size_type’ was not declared in this scope
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:431:73: error: ‘const_reference’ does not name a type
 inline auto xreducer<F, CT, X>::element(It first, It last) const -> const_refer
                                                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp: In member function ‘xt::xreducer<F, CT, X>::const_stepper xt::xreducer<F, CT, X>::stepper_begin(const S&) const’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:476:9: error: ‘size_type’ was not declared in this scope
         size_type offset = shape.size() - dimension();
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:477:37: error: ‘offset’ was not declared in this scope
         return const_stepper(*this, offset);
                                     ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp: In member function ‘xt::xreducer<F, CT, X>::const_stepper xt::xreducer<F, CT, X>::stepper_end(const S&, xt::layout_type) const’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:484:9: error: ‘size_type’ was not declared in this scope
         size_type offset = shape.size() - dimension();
         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xreducer.hpp:485:37: error: ‘offset’ was not declared in this scope
         return const_stepper(*this, offset, true, l);
                                     ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:196:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<math::abs_fun, E>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:196:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<math::abs_fun, E>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:212:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<math::fabs_fun, E>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:212:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<math::fabs_fun, E>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:230:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<math::fmod_fun, E1, E2>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:230:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<math::fmod_fun, E1, E2>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:248:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<math::remainder_fun, E1, E2>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:248:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<math::remainder_fun, E1, E2>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:267:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<math::fma_fun, E1, E2, E3>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:267:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<math::fma_fun, E1, E2, E3>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:285:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<math::fmax_fun, E1, E2>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:285:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<math::fmax_fun, E1, E2>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:303:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<math::fmin_fun, E1, E2>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:303:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<math::fmin_fun, E1, E2>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:321:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<math::fdim_fun, E1, E2>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:321:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<math::fdim_fun, E1, E2>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:376:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<math::maximum, E1, E2>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:376:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<math::maximum, E1, E2>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:393:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<math::minimum, E1, E2>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:393:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<math::minimum, E1, E2>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:409:39: error: ‘amax’ function uses ‘auto’ type specifier without trailing return type
     inline auto amax(E&& e, X&& axes) noexcept
                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:409:39: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp: In function ‘auto xt::amax(E&&, X&&)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:411:58: error: ‘decay_t’ in namespace ‘std’ does not name a template type
         using functor_type = math::maximum<typename std::decay_t<E>::value_type
                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:411:65: error: expected template-argument before ‘<’ token
         using functor_type = math::maximum<typename std::decay_t<E>::value_type
                                                                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:411:65: error: expected ‘>’ before ‘<’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:411:80: error: template argument 1 is invalid
       using functor_type = math::maximum<typename std::decay_t<E>::value_type>;
                                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:411:81: error: expected ‘::’ before ‘;’ token
       using functor_type = math::maximum<typename std::decay_t<E>::value_type>;
                                                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:411:81: error: expected identifier before ‘;’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:412:36: error: there are no arguments to ‘functor_type’ that depend on a template parameter, so a declaration of ‘functor_type’ must be available [-fpermissive]
         return reduce(functor_type(), std::forward<E>(e), std::forward<X>(axes)
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:416:29: error: ‘amax’ function uses ‘auto’ type specifier without trailing return type
     inline auto amax(E&& e) noexcept
                             ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:416:29: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp: In function ‘auto xt::amax(E&&)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:418:58: error: ‘decay_t’ in namespace ‘std’ does not name a template type
         using functor_type = math::maximum<typename std::decay_t<E>::value_type
                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:418:65: error: expected template-argument before ‘<’ token
         using functor_type = math::maximum<typename std::decay_t<E>::value_type
                                                                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:418:65: error: expected ‘>’ before ‘<’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:418:80: error: template argument 1 is invalid
       using functor_type = math::maximum<typename std::decay_t<E>::value_type>;
                                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:418:81: error: expected ‘::’ before ‘;’ token
       using functor_type = math::maximum<typename std::decay_t<E>::value_type>;
                                                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:418:81: error: expected identifier before ‘;’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:419:36: error: there are no arguments to ‘functor_type’ that depend on a template parameter, so a declaration of ‘functor_type’ must be available [-fpermissive]
         return reduce(functor_type(), std::forward<E>(e));
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:431:48: error: ‘amax’ function uses ‘auto’ type specifier without trailing return type
     inline auto amax(E&& e, const I(&axes)[N]) noexcept
                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:431:48: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp: In function ‘auto xt::amax(E&&, const I (&)[N])’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:433:58: error: ‘decay_t’ in namespace ‘std’ does not name a template type
         using functor_type = math::maximum<typename std::decay_t<E>::value_type
                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:433:65: error: expected template-argument before ‘<’ token
         using functor_type = math::maximum<typename std::decay_t<E>::value_type
                                                                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:433:65: error: expected ‘>’ before ‘<’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:433:80: error: template argument 1 is invalid
       using functor_type = math::maximum<typename std::decay_t<E>::value_type>;
                                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:433:81: error: expected ‘::’ before ‘;’ token
       using functor_type = math::maximum<typename std::decay_t<E>::value_type>;
                                                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:433:81: error: expected identifier before ‘;’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:434:36: error: there are no arguments to ‘functor_type’ that depend on a template parameter, so a declaration of ‘functor_type’ must be available [-fpermissive]
         return reduce(functor_type(), std::forward<E>(e), axes);
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:449:39: error: ‘amin’ function uses ‘auto’ type specifier without trailing return type
     inline auto amin(E&& e, X&& axes) noexcept
                                       ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:449:39: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp: In function ‘auto xt::amin(E&&, X&&)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:451:58: error: ‘decay_t’ in namespace ‘std’ does not name a template type
         using functor_type = math::minimum<typename std::decay_t<E>::value_type
                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:451:65: error: expected template-argument before ‘<’ token
         using functor_type = math::minimum<typename std::decay_t<E>::value_type
                                                                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:451:65: error: expected ‘>’ before ‘<’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:451:80: error: template argument 1 is invalid
       using functor_type = math::minimum<typename std::decay_t<E>::value_type>;
                                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:451:81: error: expected ‘::’ before ‘;’ token
       using functor_type = math::minimum<typename std::decay_t<E>::value_type>;
                                                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:451:81: error: expected identifier before ‘;’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:452:36: error: there are no arguments to ‘functor_type’ that depend on a template parameter, so a declaration of ‘functor_type’ must be available [-fpermissive]
         return reduce(functor_type(), std::forward<E>(e), std::forward<X>(axes)
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:456:29: error: ‘amin’ function uses ‘auto’ type specifier without trailing return type
     inline auto amin(E&& e) noexcept
                             ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:456:29: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp: In function ‘auto xt::amin(E&&)’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:458:58: error: ‘decay_t’ in namespace ‘std’ does not name a template type
         using functor_type = math::minimum<typename std::decay_t<E>::value_type
                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:458:65: error: expected template-argument before ‘<’ token
         using functor_type = math::minimum<typename std::decay_t<E>::value_type
                                                                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:458:65: error: expected ‘>’ before ‘<’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:458:80: error: template argument 1 is invalid
       using functor_type = math::minimum<typename std::decay_t<E>::value_type>;
                                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:458:81: error: expected ‘::’ before ‘;’ token
       using functor_type = math::minimum<typename std::decay_t<E>::value_type>;
                                                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:458:81: error: expected identifier before ‘;’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:459:36: error: there are no arguments to ‘functor_type’ that depend on a template parameter, so a declaration of ‘functor_type’ must be available [-fpermissive]
         return reduce(functor_type(), std::forward<E>(e));
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:471:48: error: ‘amin’ function uses ‘auto’ type specifier without trailing return type
     inline auto amin(E&& e, const I(&axes)[N]) noexcept
                                                ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:471:48: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp: In function ‘auto xt::amin(E&&, const I (&)[N])’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:473:58: error: ‘decay_t’ in namespace ‘std’ does not name a template type
         using functor_type = math::minimum<typename std::decay_t<E>::value_type
                                                          ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:473:65: error: expected template-argument before ‘<’ token
         using functor_type = math::minimum<typename std::decay_t<E>::value_type
                                                                 ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:473:65: error: expected ‘>’ before ‘<’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:473:80: error: template argument 1 is invalid
       using functor_type = math::minimum<typename std::decay_t<E>::value_type>;
                                                                              ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:473:81: error: expected ‘::’ before ‘;’ token
       using functor_type = math::minimum<typename std::decay_t<E>::value_type>;
                                                                               ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:473:81: error: expected identifier before ‘;’ token
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:474:36: error: there are no arguments to ‘functor_type’ that depend on a template parameter, so a declaration of ‘functor_type’ must be available [-fpermissive]
         return reduce(functor_type(), std::forward<E>(e), axes);
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:492:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<math::clamp_fun, E1, E2, E3>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:492:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<math::clamp_fun, E1, E2, E3>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:502:28: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type
             constexpr std::enable_if_t<std::is_signed<T>::value, T>
                            ^
In file included from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xcontainer.hpp:19:0,
                 from /home/anudee/tiny-dnn/tiny_dnn/xtensor/xarray.hpp:17,
                 from /home/anudee/tiny-dnn/tiny_dnn/util/util.h:24,
                 from /home/anudee/tiny-dnn/tiny_dnn/lossfunctions/loss_function.h:12,
                 from /home/anudee/tiny-dnn/tiny_dnn/network.h:26,
                 from /home/anudee/tiny-dnn/tiny_dnn/tiny_dnn.h:11,
                 from train.cpp:10:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:509:25: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type
             inline std::enable_if_t<xt::detail::is_complex<T>::value, T>
                         ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:517:28: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type
             constexpr std::enable_if_t<std::is_unsigned<T>::value, T>
                            ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp: In member function ‘constexpr T xt::math::sign_fun<T>::operator()(const T&) const’:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:532:24: error: ‘sign_impl’ is not a member of ‘xt::math::detail’
                 return detail::sign_impl(x);
                        ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp: At global scope:
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:549:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<math::sign_fun, E>
                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:549:36: error: expected initializer before ‘<’ token
         -> detail::xfunction_type_t<math::sign_fun, E>
                                    ^
/home/anudee/tiny-dnn/tiny_dnn/xtensor/xmath.hpp:573:20: error: ‘xfunction_type_t’ in namespace ‘xt::detail’ does not name a template type
         -> detail::xfunction_type_t<math::exp_fun, E>
                    ^

ghimiredhikura avatar Dec 17 '17 04:12 ghimiredhikura

@ghimiredhikura try to use CMake for compiling first

edgarriba avatar Dec 17 '17 11:12 edgarriba

I think a lot of people try to use the library without relying on CMake...

beru avatar Feb 11 '18 12:02 beru

Use cmake to compile what? I thought the whole things are header-only and we just need to include the .h files?

JiazhengSun avatar Jun 04 '18 16:06 JiazhengSun

CMake is not used for compilation only, but also for packaging and installing. This way you can define compile options and many other properties associated to a target, that can be automatically propagated when you link with that target. Notice that you can create target even for header-only libraries.

The issue encountered here can be solved by enabling c++14 instead of c++11, however I'm pretty sure that other issues will appear after that.

JohanMabille avatar Jun 05 '18 02:06 JohanMabille

@JohanMabille May I know from which commit tiny-dnn started supporting c++14?

shridharkini avatar Jun 17 '18 16:06 shridharkini

I have this issue as well. C++14 support has been enabled by default.. Using gcc version 4.8.4 on Ubuntu 14.04.

Update: This problem is alleviated when switching to a newer compiler (for me, g++7 is available in ubuntu repositories). The main CMakeLists.txt file mentions that usage of cxx compiler supporting c++14 is assumed. I suspect that those who are having trouble are using compilers without c++14 support. I suggest @shridharkini @ghimiredhikura confirm this behavior. Issue may be more pertinently stated as: rework CMakeLists.txt to not assume c++14 support or may be appropriately closed. if this fix is reproducible.

To upgrade gcc on ubuntu14: install new compiler and overwrite default symlinks /usr/bin<gcc/gcc-ranlib/gcc-ar/gcc-nm/g++>

han-so1omon avatar Jun 21 '18 23:06 han-so1omon

@shridharkini well I'm not a tiny-dnn core developer, so I don't really know when it started requiring C++14.

JohanMabille avatar Jun 22 '18 03:06 JohanMabille

xtensor library requires C++ 14 support. So does tiny-dnn after adopting it.

https://github.com/tiny-dnn/tiny-dnn/commit/7d5ce1307a38da18641ee51dba72ecdaba0da4cf#diff-04c6e90faac2675aa89e2176d2eec7d8

beru avatar Aug 29 '18 21:08 beru